:root{color-scheme:dark;--bg:#090d09;--panel:#111910;--panel2:#182217;--line:#344631;--text:#edf2e8;--muted:#9dab94;--olive:#587044;--gold:#8eae62;--green:#72c477;--red:#d85c4d;--shadow:0 18px 60px #0009;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
[hidden]{display:none!important}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:radial-gradient(circle at 80% -20%,#4a42252b,transparent 36%),linear-gradient(135deg,#090b0a,#11150f 70%,#0b0d0c);color:var(--text);min-height:100vh;overflow-wrap:anywhere}.shell{width:min(1180px,calc(100% - 32px));margin:auto}.hero{padding:72px 0 52px;border-bottom:1px solid var(--line);background:linear-gradient(90deg,#0c0f0dd9,#0c0f0d70),repeating-linear-gradient(115deg,transparent 0 20px,#ffffff06 21px 22px)}.hero-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:end}h1,h2{margin:.2em 0;font-family:Impact,"Arial Narrow",sans-serif;letter-spacing:.035em;text-transform:uppercase}h1{font-size:clamp(2.8rem,7vw,6rem);line-height:.86}h1 span{color:var(--gold)}h2{font-size:1.7rem}.eyebrow{color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.14em;font-size:.78rem}.lead,.muted{color:var(--muted)}.lead{font-size:1.15rem;max-width:620px}.status-card,.panel,.login-card{border:1px solid var(--line);background:linear-gradient(145deg,#1b2019f2,#10130ff2);box-shadow:var(--shadow);border-radius:8px}.status-card{padding:28px}.status-light{display:inline-block;width:11px;height:11px;border-radius:50%;background:#777;margin-right:9px;box-shadow:0 0 16px currentColor}.status-light.online{background:var(--green);color:var(--green)}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px}.metrics div{border-left:2px solid var(--olive);padding-left:12px}.metrics b{display:block;font-size:1.65rem;color:var(--gold)}.metrics span{color:var(--muted);font-size:.78rem;text-transform:uppercase}.page-stack{display:grid;gap:24px;padding-top:28px;padding-bottom:28px}.panel{padding:24px}.ip-panel{display:grid;gap:14px}.copy-row,.section-heading,.admin-header,.header-actions,.server-control{display:flex;align-items:center;justify-content:space-between;gap:16px}.copy-row code{font-size:1.15rem;color:var(--gold)}.button{appearance:none;border:1px solid #59624c;background:#252b22;color:var(--text);font-weight:750;padding:10px 16px;border-radius:4px;cursor:pointer;text-decoration:none;touch-action:manipulation}.button:hover{filter:brightness(1.18)}.button:disabled{opacity:.4;cursor:not-allowed}.button.primary{background:var(--gold);border-color:var(--gold);color:#17140b}.button.danger{background:#521e1a;border-color:#8d3d35}.button.ghost{background:transparent}.code-box{width:100%;min-height:84px;resize:vertical;background:#090b09;border:1px solid var(--line);color:#b9c89c;padding:12px;font:12px ui-monospace,SFMono-Regular,Menlo,monospace;border-radius:4px}.tabs{display:flex;gap:6px;flex-wrap:wrap}.tabs button{border:1px solid var(--line);background:#10130f;color:var(--muted);padding:9px 13px;border-radius:3px;cursor:pointer;touch-action:manipulation}.tabs button.active{color:#15120a;background:var(--gold);border-color:var(--gold);font-weight:800}.table-wrap{width:100%;overflow:auto;-webkit-overflow-scrolling:touch}table{border-collapse:collapse;width:100%;min-width:680px}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line)}th{color:var(--gold);font-size:.78rem;text-transform:uppercase;letter-spacing:.08em}tbody tr:hover{background:#ffffff05}.footer{color:var(--muted);padding:28px 0 calc(44px + env(safe-area-inset-bottom));text-align:center;font-size:.85rem}.admin-shell{padding-top:max(28px,env(safe-area-inset-top));padding-bottom:calc(50px + env(safe-area-inset-bottom))}.login-card{width:min(460px,100%);margin:10vh auto;padding:34px}.login-card h1{font-size:3rem}.form-stack{display:grid;gap:16px}.form-stack label,.editor-grid label{display:grid;gap:7px;color:var(--muted);font-weight:700;font-size:.88rem}input,select,textarea{width:100%;border:1px solid var(--line);background:#0d100d;color:var(--text);padding:10px;border-radius:4px;font:inherit}textarea{resize:vertical}.error{color:#ff8b7c;min-height:1.2em}.admin-header{margin-bottom:20px}.admin-header h1{font-size:3.2rem}.admin-tabs{margin-bottom:24px;border-bottom:1px solid var(--line);padding-bottom:12px}.notice{position:sticky;top:max(12px,env(safe-area-inset-top));z-index:10;margin-bottom:18px;padding:12px 16px;border:1px solid var(--gold);background:#332b16;border-radius:4px}.notice.error-notice{border-color:var(--red);background:#351815}.server-control{min-height:110px}.log-box{margin:0;max-height:360px;overflow:auto;background:#070907;color:#b4c49a;border:1px solid var(--line);padding:15px;white-space:pre-wrap;font:12px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.pill{background:#273421;color:var(--green);padding:6px 10px;border-radius:99px;font-weight:800}.danger-pill{background:#3b1d19;color:#f28b7d}.editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.field-grid{display:grid;gap:14px}.field-grid.four{grid-template-columns:repeat(4,1fr);margin:16px 0}.field-grid.two{grid-template-columns:repeat(2,1fr)}.check-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.check-grid label,.check-line{display:flex;align-items:center;gap:8px}.check-grid input,.check-line input{width:auto}.compact-form{max-width:600px}.admin-body code{color:#d7c78e}.row-button{padding:6px 9px;font-size:.78rem}.rotation-input{min-width:160px}.rule-name{min-width:280px}
@media(max-width:760px){.shell{width:calc(100% - 24px)}.hero-grid,.editor-grid{grid-template-columns:1fr}.hero{padding:calc(36px + env(safe-area-inset-top)) 0 32px}.hero-grid{gap:24px}.page-stack{gap:16px;padding-top:18px}.section-heading,.admin-header,.server-control,.copy-row{align-items:stretch;flex-direction:column}.field-grid.four,.field-grid.two{grid-template-columns:1fr 1fr}.check-grid{grid-template-columns:1fr 1fr}.header-actions{flex-wrap:wrap;width:100%}.header-actions>.button,.header-actions>a.button{flex:1 1 auto;text-align:center}.button,.tabs button,input,select{min-height:44px}.admin-header h1{font-size:2.4rem}.admin-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:10px}.admin-tabs button{flex:0 0 auto}.login-card{margin:4vh auto}.table-wrap{margin-inline:-8px;width:calc(100% + 16px)}}
@media(max-width:480px){.shell{width:calc(100% - 16px)}h1{font-size:clamp(2.45rem,14vw,4rem)}h2{font-size:1.45rem}.field-grid.four,.field-grid.two{grid-template-columns:1fr}.metrics{grid-template-columns:1fr}.check-grid{grid-template-columns:1fr}.panel,.login-card{padding:16px}.status-card{padding:18px}.header-actions{display:grid;grid-template-columns:1fr;width:100%}.copy-row .button,.section-heading .button,.server-control .button{width:100%}input,select,textarea{font-size:16px}.code-box{min-height:112px}.admin-shell{padding-top:max(12px,env(safe-area-inset-top))}.admin-header h1{font-size:2.1rem}.footer{padding-inline:8px}}
@media(pointer:coarse){.button,.tabs button,input,select{min-height:44px}}
body{background:radial-gradient(circle at 80% -20%,#47613b30,transparent 38%),linear-gradient(135deg,#080c08,#10180f 70%,#090d09)}
.hero{background:linear-gradient(90deg,#091008e8,#0d160cba),repeating-linear-gradient(115deg,transparent 0 20px,#91b56a0a 21px 22px)}
