:root{color-scheme:dark;--bg:#09100f;--panel:#101b19;--panel2:#13231f;--line:#244038;--text:#edf9f4;--muted:#8fa79f;--accent:#64f5bd;--danger:#ff7d87;--ok:#75e6a9}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 20% 0,#11261f 0,transparent 36%),var(--bg);color:var(--text);font:15px/1.55 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit;text-decoration:none}.topbar{height:68px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1180px)/2));background:rgba(9,16,15,.9);backdrop-filter:blur(14px);position:sticky;top:0;z-index:2}.brand{font-weight:900;letter-spacing:.12em}.brand span{color:var(--accent)}nav{display:flex;gap:22px;color:var(--muted)}nav a:hover{color:var(--text)}.wrap{width:min(1180px,calc(100% - 32px));margin:34px auto 60px}.page-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;margin-bottom:24px}h1{font-size:clamp(32px,5vw,54px);line-height:1;margin:7px 0}h2{margin:0 0 12px;font-size:21px}.eyebrow{font-size:11px;letter-spacing:.18em;color:var(--accent);font-weight:800}.muted{color:var(--muted)}.balance{text-align:right}.balance span,.balance small{display:block;color:var(--muted)}.balance strong{font-size:30px}.panel,.stat,.component{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:16px}.panel{padding:24px;margin-bottom:20px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:20px}.stat{padding:18px}.stat span{display:block;color:var(--muted);font-size:12px}.stat strong{font-size:22px}.section-title,.upgrade-active{display:flex;justify-content:space-between;align-items:center;gap:16px}.component-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.component{padding:16px}.component>div{display:flex;justify-content:space-between;gap:10px}.component-name{font-weight:700}.component p{color:var(--muted);font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;background:var(--accent);color:#052018;padding:11px 16px;font-weight:800;cursor:pointer}.button.secondary{width:100%;background:#1f3c34;color:var(--text);border:1px solid #31584b}.button:disabled{opacity:.35;cursor:not-allowed}label{display:block;color:var(--muted);margin:16px 0}input{display:block;width:100%;margin-top:7px;background:#091411;border:1px solid var(--line);border-radius:10px;padding:12px 13px;color:var(--text);outline:none}input:focus{border-color:var(--accent)}.notice{padding:12px 15px;border-radius:10px;margin:0 0 16px;border:1px solid}.notice.success{background:#10271f;border-color:#245f48;color:#b7f7d9}.notice.error{background:#2a1518;border-color:#653038;color:#ffc2c7}.grid.two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.log{padding:12px 0;border-bottom:1px solid var(--line)}.log strong,.log span{display:block}.log span{color:var(--muted);font-size:13px}.countdown{font:800 30px ui-monospace,monospace;color:var(--accent)}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:12px;text-transform:uppercase}.auth-card,.install-panel{width:min(460px,100%);margin:9vh auto}.install-wrap{width:min(100% - 32px,760px);margin:auto}footer{text-align:center;color:#657a73;padding:30px;font-size:12px}@media(max-width:760px){.topbar{height:auto;padding:16px;align-items:flex-start}.topbar nav{gap:12px;flex-wrap:wrap;justify-content:flex-end}.page-head{align-items:flex-start;flex-direction:column}.balance{text-align:left}.stats,.component-grid,.grid.two{grid-template-columns:1fr}.section-title,.upgrade-active{align-items:flex-start;flex-direction:column}.wrap{margin-top:24px}}
.button.compact{padding:7px 10px;font-size:12px;width:auto}.inline{display:inline}.inline input{display:none}.table-wrap{overflow:auto}code{background:#08120f;border:1px solid var(--line);padding:2px 6px;border-radius:6px}
.log form.inline{display:inline-block;margin:7px 5px 0 0}.component button[disabled]{opacity:.35}.component p{min-height:42px}

/* NetForge 0.8.1 — Public experience */
.public-body{min-height:100vh;background:#06100e;color:#eef9f5;overflow-x:hidden;position:relative}
.public-body:before{content:"";position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(100,245,189,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(100,245,189,.035) 1px,transparent 1px);background-size:52px 52px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.9),transparent 86%);z-index:0}
.public-body:after{content:"";position:fixed;width:700px;height:700px;border-radius:50%;left:-260px;top:-290px;background:radial-gradient(circle,rgba(70,255,185,.14),rgba(70,255,185,.035) 38%,transparent 70%);filter:blur(2px);pointer-events:none;z-index:0}
.public-wrap{position:relative;z-index:1;width:100%;min-height:calc(100vh - 70px);margin:0;padding:0}
.public-shell{width:min(1380px,calc(100% - 64px));min-height:calc(100vh - 90px);margin:0 auto;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(420px,.72fr);gap:clamp(48px,7vw,110px);align-items:center;padding:64px 0 50px}
.public-hero{min-width:0;position:relative;padding:18px 0}
.public-brand{display:inline-flex;align-items:center;gap:13px;font-size:15px;font-weight:850;letter-spacing:.18em;margin-bottom:clamp(65px,9vh,115px)}
.public-brand strong{color:var(--accent);font-weight:900}
.brand-mark{width:38px;height:38px;display:grid;grid-template-columns:repeat(3,5px);justify-content:center;align-items:center;gap:4px;border:1px solid rgba(100,245,189,.35);border-radius:11px;background:linear-gradient(145deg,rgba(100,245,189,.11),rgba(100,245,189,.015));box-shadow:inset 0 0 18px rgba(100,245,189,.06),0 0 34px rgba(100,245,189,.05)}
.brand-mark i{display:block;width:5px;border-radius:5px;background:var(--accent);box-shadow:0 0 12px rgba(100,245,189,.45)}
.brand-mark i:nth-child(1){height:10px}.brand-mark i:nth-child(2){height:20px}.brand-mark i:nth-child(3){height:14px}
.hero-kicker{display:flex;align-items:center;gap:9px;color:#a9c6bc;font:750 11px/1.2 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.15em;margin-bottom:22px}
.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(100,245,189,.08),0 0 18px rgba(100,245,189,.6);flex:0 0 auto}
.hero-copy h1{max-width:780px;margin:0;font-size:clamp(54px,6.1vw,96px);line-height:.93;letter-spacing:-.055em;font-weight:850;color:#f2fbf8}
.hero-copy h1 span{color:transparent;background:linear-gradient(90deg,#64f5bd 0%,#9fffe0 48%,#5ed6c5 100%);-webkit-background-clip:text;background-clip:text}
.hero-copy>p{max-width:670px;color:#91aaa1;font-size:clamp(16px,1.35vw,20px);line-height:1.75;margin:28px 0 38px}
.hero-features{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;max-width:760px}
.feature{min-height:124px;padding:18px;border:1px solid rgba(121,180,158,.18);background:linear-gradient(155deg,rgba(18,37,32,.7),rgba(7,17,15,.48));border-radius:14px;display:flex;gap:14px;align-items:flex-start;backdrop-filter:blur(10px)}
.feature:hover{border-color:rgba(100,245,189,.35);transform:translateY(-2px);transition:.2s ease}
.feature-icon{display:flex;align-items:center;justify-content:center;min-width:34px;height:34px;border-radius:9px;background:rgba(100,245,189,.08);border:1px solid rgba(100,245,189,.2);color:var(--accent);font:750 10px ui-monospace,monospace;letter-spacing:.06em}
.feature strong{display:block;color:#eaf8f3;font-size:13px;margin:2px 0 6px}.feature small{display:block;color:#7f9a91;font-size:12px;line-height:1.55}
.hero-trust{display:flex;flex-wrap:wrap;gap:24px;margin-top:27px;color:#587068;font:700 9px ui-monospace,monospace;letter-spacing:.12em}.hero-trust span::first-letter{color:var(--accent)}
.auth-stage{position:relative}
.auth-stage:before{content:"";position:absolute;inset:9% -11% 9% -9%;background:radial-gradient(circle at 50% 40%,rgba(100,245,189,.10),transparent 64%);filter:blur(18px);pointer-events:none}
.public-auth-card{position:relative;width:100%;max-width:520px;margin:0 0 0 auto;padding:34px 34px 27px;border-radius:22px;border:1px solid rgba(111,185,159,.25);background:linear-gradient(155deg,rgba(17,34,30,.96),rgba(8,20,17,.96));box-shadow:0 28px 90px rgba(0,0,0,.38),inset 0 1px rgba(255,255,255,.025);overflow:hidden}
.public-auth-card:before{content:"";position:absolute;left:0;top:0;width:92px;height:2px;background:linear-gradient(90deg,var(--accent),transparent);box-shadow:0 0 18px rgba(100,245,189,.5)}
.auth-card-head{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;margin-bottom:24px}.auth-card-head h2{font-size:clamp(27px,2.5vw,36px);letter-spacing:-.035em;line-height:1.1;margin:8px 0 7px}.auth-card-head p{margin:0;color:#7e9b91;font-size:13px;line-height:1.55;max-width:330px}
.auth-node-badge{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:14px;color:#071713;background:var(--accent);font:900 13px ui-monospace,monospace;box-shadow:0 10px 30px rgba(100,245,189,.16)}
.public-auth-card .eyebrow{font:800 10px ui-monospace,monospace;letter-spacing:.14em}
.auth-form label{margin:16px 0 0;color:#9ab4ab;font-size:12px;font-weight:650}
.input-wrap{display:flex;align-items:center;margin-top:7px;height:52px;background:#071411;border:1px solid #23463b;border-radius:11px;overflow:hidden;transition:border-color .18s,box-shadow .18s,background .18s}
.input-wrap:focus-within{border-color:rgba(100,245,189,.8);box-shadow:0 0 0 3px rgba(100,245,189,.07),0 0 25px rgba(100,245,189,.04);background:#081915}
.input-icon{width:45px;text-align:center;color:#50786b;font:700 13px ui-monospace,monospace;border-right:1px solid rgba(78,116,103,.18);flex:0 0 auto}
.input-wrap input{margin:0;height:100%;border:0;border-radius:0;background:transparent;padding:0 14px;color:#eaf8f3;font-size:14px;box-shadow:none}.input-wrap input:focus{border:0}.input-wrap input::placeholder{color:#456159}
.auth-hint{margin-top:15px;padding:11px 13px;border-left:2px solid rgba(100,245,189,.55);background:rgba(100,245,189,.035);color:#749087;font-size:11px;line-height:1.55;border-radius:0 8px 8px 0}
.auth-submit{width:100%;min-height:51px;margin-top:21px;border-radius:11px;justify-content:space-between;padding:0 18px;font-size:13px;box-shadow:0 10px 30px rgba(100,245,189,.12);transition:transform .18s,box-shadow .18s,filter .18s}.auth-submit:hover{transform:translateY(-1px);box-shadow:0 14px 34px rgba(100,245,189,.18);filter:brightness(1.03)}.auth-submit b{font-size:19px;font-weight:500}
.auth-divider{display:flex;align-items:center;gap:13px;margin:23px 0 18px;color:#49645b;font:700 9px ui-monospace,monospace;letter-spacing:.16em}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:#1d3931;flex:1}
.auth-links{text-align:center}.auth-link-primary{display:block;color:#b3cec5;font-size:13px;font-weight:650}.auth-link-primary:hover{color:var(--accent)}.auth-link-row{display:flex;justify-content:center;gap:20px;margin-top:10px}.auth-link-row a{font-size:11px;color:#6e8c82}.auth-link-row a:hover{color:#b4d5ca}
.auth-security{display:flex;align-items:center;justify-content:center;gap:9px;margin:24px -34px -27px;padding:14px 24px;border-top:1px solid rgba(100,245,189,.09);background:rgba(3,11,9,.28);color:#557168;font:650 9px ui-monospace,monospace;letter-spacing:.025em}.auth-security .status-dot{width:5px;height:5px;box-shadow:0 0 10px rgba(100,245,189,.55)}
.public-body footer{position:relative;z-index:1;border-top:1px solid rgba(100,245,189,.06);padding:22px 30px;color:#425c53;font:650 10px ui-monospace,monospace;letter-spacing:.04em;background:rgba(2,9,7,.24)}

/* Secondary public account screens */
.public-wrap>.auth-card.panel{width:min(520px,calc(100% - 32px));margin:10vh auto 40px;padding:34px;border-color:rgba(111,185,159,.24);background:linear-gradient(155deg,rgba(17,34,30,.97),rgba(8,20,17,.97));box-shadow:0 28px 90px rgba(0,0,0,.35);border-radius:22px}
.public-wrap>.auth-card.panel:before{content:"NETFORGE · ACCOUNT SECURITY";display:block;margin-bottom:24px;color:var(--accent);font:800 10px ui-monospace,monospace;letter-spacing:.15em}
.public-wrap>.auth-card.panel h1{font-size:36px;letter-spacing:-.035em}.public-wrap>.auth-card.panel .button{min-height:48px}.public-wrap>.auth-card.panel>p:last-child{margin-bottom:0}

@media(max-width:1060px){.public-shell{grid-template-columns:1fr;gap:44px;width:min(850px,calc(100% - 40px));padding-top:38px}.public-brand{margin-bottom:55px}.hero-copy h1{font-size:clamp(52px,10vw,82px)}.hero-copy>p{max-width:720px}.hero-features{max-width:none}.public-auth-card{margin:0;max-width:none}.auth-stage:before{inset:-10%}}
@media(max-width:680px){.public-shell{width:min(100% - 26px,620px);padding:25px 0 32px;gap:34px}.public-brand{margin-bottom:42px}.brand-mark{width:34px;height:34px}.hero-copy h1{font-size:clamp(46px,14vw,68px)}.hero-copy>p{font-size:15px;margin:22px 0 28px}.hero-features{grid-template-columns:1fr}.feature{min-height:auto}.hero-trust{gap:12px 18px}.public-auth-card{padding:26px 20px 22px;border-radius:18px}.auth-card-head{margin-bottom:19px}.auth-node-badge{width:42px;height:42px}.auth-security{margin:22px -20px -22px;padding:13px 15px;text-align:center}.auth-link-row{flex-direction:column;gap:6px}.public-body footer{padding:18px 20px}.public-wrap>.auth-card.panel{margin-top:5vh;padding:26px 22px}}

.public-wrap>.notice{width:min(520px,calc(100% - 32px));margin:20px auto -12px;position:relative;z-index:4}

/* NetForge 0.8.2 — Command Center dashboard */
.app-body{background:
 radial-gradient(circle at 12% -8%,rgba(57,216,159,.105),transparent 29%),
 radial-gradient(circle at 88% 8%,rgba(34,128,114,.07),transparent 25%),
 #07100e;color:#edf9f4;min-height:100vh}
.app-body:before{content:"";position:fixed;inset:68px 0 0;pointer-events:none;background-image:linear-gradient(rgba(100,245,189,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(100,245,189,.018) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.7),transparent 76%);z-index:-1}
.topbar{height:72px;padding:0;background:rgba(5,14,12,.9);border-bottom:1px solid rgba(94,166,141,.15);backdrop-filter:blur(18px);box-shadow:0 8px 35px rgba(0,0,0,.17)}
.topbar-inner{width:min(1440px,calc(100% - 34px));height:100%;margin:auto;display:flex;align-items:center;gap:28px;min-width:0}
.app-brand{display:flex;align-items:center;gap:10px;flex:0 0 auto;font-size:12px;letter-spacing:.15em}
.app-brand-text strong{color:var(--accent)}
.app-brand-mark{width:30px;height:30px;border:1px solid rgba(100,245,189,.25);border-radius:8px;display:flex;align-items:center;justify-content:center;gap:3px;background:linear-gradient(145deg,rgba(100,245,189,.09),rgba(100,245,189,.015));box-shadow:inset 0 0 14px rgba(100,245,189,.04)}
.app-brand-mark i{width:3px;background:var(--accent);border-radius:3px;display:block}.app-brand-mark i:nth-child(1){height:7px}.app-brand-mark i:nth-child(2){height:14px}.app-brand-mark i:nth-child(3){height:10px}
.app-nav{display:flex;gap:3px;align-items:center;overflow-x:auto;min-width:0;scrollbar-width:none;flex:1}.app-nav::-webkit-scrollbar{display:none}
.app-nav .nav-link{position:relative;white-space:nowrap;padding:10px 9px;border-radius:8px;color:#728b82;font-size:11px;font-weight:650;transition:.18s ease}
.app-nav .nav-link:hover{color:#cbe0d8;background:rgba(100,245,189,.035)}
.app-nav .nav-link.active{color:#eafff6;background:rgba(100,245,189,.07)}
.app-nav .nav-link.active:after{content:"";position:absolute;height:2px;left:10px;right:10px;bottom:-10px;border-radius:2px;background:var(--accent);box-shadow:0 0 12px rgba(100,245,189,.4)}
.topbar-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding-left:8px;border-left:1px solid rgba(111,165,147,.12)}
.utility-link{padding:8px 10px;border-radius:8px;color:#84a198;font-size:11px}.utility-link:hover{color:var(--accent);background:rgba(100,245,189,.05)}
.logout-link{width:34px;height:34px;border:1px solid rgba(120,165,150,.16);border-radius:9px;display:grid;place-items:center;color:#91aaa1;font-size:16px;background:rgba(255,255,255,.015)}.logout-link:hover{border-color:rgba(100,245,189,.32);color:var(--accent)}
.app-body .wrap{width:min(1320px,calc(100% - 48px));margin:0 auto;padding:44px 0 70px}
.dashboard-shell{position:relative}
.dashboard-hero{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,330px);gap:42px;align-items:end;padding:34px 36px 32px;margin-bottom:14px;border:1px solid rgba(99,166,143,.16);border-radius:20px;background:linear-gradient(125deg,rgba(16,33,29,.88),rgba(8,20,17,.82) 60%,rgba(11,29,24,.9));box-shadow:0 24px 70px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.018);overflow:hidden}
.dashboard-hero:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;right:-150px;top:-230px;background:radial-gradient(circle,rgba(100,245,189,.12),transparent 68%);pointer-events:none}
.dashboard-hero:after{content:"";position:absolute;left:0;top:0;width:140px;height:2px;background:linear-gradient(90deg,var(--accent),transparent);box-shadow:0 0 18px rgba(100,245,189,.38)}
.node-identity,.credit-module{position:relative;z-index:1}.dashboard-kicker{display:flex;align-items:center;gap:8px;color:#9bb7ad;font:750 10px ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.14em}.dashboard-kicker span:last-child{color:#466259;letter-spacing:.08em}
.dashboard-hero h1{font-size:clamp(40px,5vw,68px);letter-spacing:-.055em;margin:13px 0 12px;line-height:.94}.node-meta{display:flex;gap:9px;flex-wrap:wrap;align-items:center;color:#6f8c82;font-size:12px}.node-ip{font:700 12px ui-monospace,SFMono-Regular,Menlo,monospace;color:#96b8ac}
.credit-module{text-align:right}.credit-label{display:block;color:#648178;font:750 9px ui-monospace,monospace;letter-spacing:.13em;margin-bottom:4px}.credit-module>strong{display:block;font-size:clamp(30px,3vw,42px);letter-spacing:-.035em;color:#f0fcf7}.credit-rate{font-size:11px;color:#718c82}.credit-rate span{color:var(--accent);font-weight:750}.mini-progress{height:4px;border-radius:4px;background:#0b1714;overflow:hidden;margin:13px 0 7px;border:1px solid rgba(116,162,146,.09)}.mini-progress i{display:block;height:100%;background:linear-gradient(90deg,#43cf9a,var(--accent));border-radius:inherit;box-shadow:0 0 12px rgba(100,245,189,.25)}.credit-module small{color:#516d64;font-size:10px}
.dashboard-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-bottom:14px}.dashboard-actions>a{position:relative;min-height:89px;padding:15px 42px 14px 16px;border:1px solid rgba(98,157,137,.13);border-radius:13px;background:linear-gradient(145deg,rgba(14,29,25,.72),rgba(8,19,16,.67));transition:.18s ease;overflow:hidden}.dashboard-actions>a:hover{transform:translateY(-2px);border-color:rgba(100,245,189,.28);background:linear-gradient(145deg,rgba(17,37,31,.82),rgba(9,22,18,.78))}.dashboard-actions>a>span{display:block;color:#4f7568;font:750 9px ui-monospace,monospace;letter-spacing:.08em}.dashboard-actions>a strong{display:block;margin:5px 0 2px;font-size:13px}.dashboard-actions>a small{display:block;color:#617d73;font-size:10px;line-height:1.4}.dashboard-actions>a b{position:absolute;right:15px;top:50%;transform:translateY(-50%);font-size:18px;color:#496a5e;font-weight:500}.dashboard-actions>a:hover b{color:var(--accent);transform:translate(2px,-50%)}
.protection-banner,.world-event-banner{display:flex;align-items:center;gap:14px;margin:0 0 14px;padding:14px 16px;border-radius:12px;border:1px solid rgba(82,223,166,.2);background:linear-gradient(90deg,rgba(25,79,59,.28),rgba(11,36,29,.34));color:#9fd8c2}.protection-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;border:1px solid rgba(100,245,189,.23);background:rgba(100,245,189,.07);font:800 9px ui-monospace,monospace;color:var(--accent)}.protection-banner>div:nth-child(2){flex:1}.protection-banner strong,.world-event-banner strong{display:block;color:#d9f7eb;font-size:12px}.protection-banner span,.world-event-banner small{display:block;color:#79a393;font-size:10px;margin-top:2px}.protection-state{font:800 9px ui-monospace,monospace;letter-spacing:.1em;padding:6px 9px;border-radius:7px;background:rgba(100,245,189,.08);color:var(--accent)}
.world-event-banner{border-color:rgba(113,183,255,.18);background:linear-gradient(90deg,rgba(36,64,79,.25),rgba(15,34,38,.32));justify-content:space-between}.world-event-banner .eyebrow{font-size:8px;color:#81cbd5}.event-multiplier{font:850 22px ui-monospace,monospace;color:#9dece0}
.dashboard-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.metric-card{position:relative;min-height:178px;padding:17px;border:1px solid rgba(100,158,138,.15);border-radius:14px;background:linear-gradient(155deg,rgba(16,31,27,.86),rgba(8,18,16,.8));overflow:hidden}.metric-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;right:-48px;bottom:-48px;border:1px solid rgba(100,245,189,.06)}.metric-card.has-alert{border-color:rgba(100,245,189,.27);box-shadow:inset 0 0 30px rgba(100,245,189,.025)}.metric-head{display:flex;justify-content:space-between;gap:12px;align-items:center;color:#5c786f;font:750 9px ui-monospace,monospace;letter-spacing:.1em}.metric-head b{font-size:9px;color:#83a79a}.metric-card.has-alert .metric-head b{color:var(--accent)}.metric-value{display:flex;align-items:baseline;margin-top:20px}.metric-value strong{font-size:31px;letter-spacing:-.035em}.metric-value small{color:#667f76;margin-left:5px;font-size:10px}.metric-progress{height:4px;border-radius:5px;background:#091411;margin:15px 0 10px;overflow:hidden}.metric-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#3fbc90,var(--accent))}.metric-card p{position:absolute;bottom:15px;left:17px;margin:0;color:#506a61;font-size:10px}.metric-spark{height:24px;display:flex;gap:4px;align-items:end;margin:12px 0}.metric-spark i{width:5px;border-radius:3px 3px 1px 1px;background:#2c6c58}.metric-spark i:nth-child(1){height:30%}.metric-spark i:nth-child(2){height:50%}.metric-spark i:nth-child(3){height:38%}.metric-spark i:nth-child(4){height:67%}.metric-spark i:nth-child(5){height:52%}.metric-spark i:nth-child(6){height:88%;background:var(--accent)}.metric-link{display:flex;justify-content:space-between;align-items:center;margin-top:16px;padding:8px 10px;border-radius:8px;background:rgba(100,245,189,.04);color:#8ab8a7;font-size:10px}.metric-link:hover{background:rgba(100,245,189,.075);color:var(--accent)}
.active-upgrade-card{position:relative;display:grid;grid-template-columns:8px 1fr auto;gap:18px;align-items:center;margin-bottom:18px;padding:20px 22px;border:1px solid rgba(100,245,189,.24);border-radius:14px;background:linear-gradient(100deg,rgba(20,64,49,.35),rgba(10,29,24,.58));overflow:hidden}.upgrade-pulse{width:7px;height:45px;border-radius:6px;background:var(--accent);box-shadow:0 0 18px rgba(100,245,189,.38)}.active-upgrade-info h2{margin:3px 0 9px;font-size:17px}.upgrade-track{height:4px;background:#0a1713;border-radius:5px;overflow:hidden;max-width:480px}.upgrade-track i{height:100%;display:block;background:var(--accent);transition:width .12s linear;will-change:width}.active-upgrade-card.upgrade-complete .upgrade-pulse{box-shadow:0 0 26px rgba(100,245,189,.65)}.active-upgrade-info small{display:block;color:#5e8175;font-size:9px;margin-top:6px}.active-upgrade-time{text-align:right}.active-upgrade-time>span{display:block;color:#57746a;font:750 8px ui-monospace,monospace;letter-spacing:.12em}.active-upgrade-time .countdown{font-size:26px;color:#dffcf1}
.tech-panel{padding:26px;border:1px solid rgba(100,158,138,.16);border-radius:18px;background:linear-gradient(155deg,rgba(14,29,25,.8),rgba(7,18,15,.74));box-shadow:0 20px 60px rgba(0,0,0,.12)}.tech-panel-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-end;margin-bottom:20px}.tech-panel-head h2{font-size:25px;letter-spacing:-.025em;margin:4px 0 5px}.tech-panel-head p{margin:0;color:#647f75;font-size:11px}.tech-legend{display:flex;gap:14px;color:#5e796f;font-size:9px}.tech-legend span{display:flex;align-items:center;gap:6px}.tech-legend i{width:6px;height:6px;border-radius:50%;display:inline-block}.tech-legend i.ready{background:var(--accent);box-shadow:0 0 9px rgba(100,245,189,.35)}.tech-legend i.locked{background:#425a52}
.dashboard-components{grid-template-columns:repeat(3,1fr);gap:10px}.tech-card{position:relative;padding:16px;border-radius:13px;background:linear-gradient(150deg,rgba(15,31,27,.9),rgba(7,18,15,.78));transition:.18s ease;min-height:216px}.tech-card:hover{transform:translateY(-2px)}.tech-card.state-ready{border-color:rgba(100,245,189,.24)}.tech-card.state-ready:hover{border-color:rgba(100,245,189,.42);box-shadow:0 14px 35px rgba(0,0,0,.12)}.tech-card.state-locked,.tech-card.state-busy{opacity:.68}.tech-card-top{display:flex;justify-content:space-between;align-items:center}.tech-icon{width:35px;height:35px;display:grid;place-items:center;border:1px solid rgba(100,245,189,.14);border-radius:9px;background:rgba(100,245,189,.035);color:#6fa18e;font:800 9px ui-monospace,monospace}.state-ready .tech-icon{color:var(--accent);border-color:rgba(100,245,189,.25);background:rgba(100,245,189,.06)}.tech-level{padding:4px 7px;border-radius:6px;background:#0a1714;color:#759188;font:750 8px ui-monospace,monospace;letter-spacing:.07em}.tech-card-title{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:15px 0 16px}.tech-card-title .component-name{font-size:14px}.tech-card-title small{font:750 7px ui-monospace,monospace;color:#526c63;letter-spacing:.08em}.state-ready .tech-card-title small{color:#6fb797}.tech-details{display:grid;grid-template-columns:1fr auto;gap:3px 8px;min-height:45px;padding-top:11px;border-top:1px solid rgba(97,143,128,.11)}.tech-details span{grid-column:1/-1;color:#536e64;font-size:9px}.tech-details strong{font-size:11px;color:#aec8be;white-space:normal}.tech-details em{font-style:normal;color:#637f75;font:700 9px ui-monospace,monospace}.tech-card form{position:absolute;left:16px;right:16px;bottom:16px}.tech-upgrade{width:100%;height:38px;min-height:38px;padding:0 11px;border-radius:8px;justify-content:space-between;font-size:10px}.tech-upgrade b{font-size:15px;font-weight:500}.tech-card.state-ready .tech-upgrade{background:rgba(100,245,189,.9);box-shadow:0 8px 24px rgba(100,245,189,.08)}.tech-upgrade:disabled{background:#142621;color:#536b62;border:1px solid rgba(89,132,117,.12);opacity:.75}.tech-card.state-locked .tech-upgrade:disabled{opacity:.45}
.app-body footer{border-top:1px solid rgba(100,157,137,.08);background:#06100e;color:#40594f;font:650 9px ui-monospace,monospace;letter-spacing:.06em;padding:22px 30px}

@media(max-width:1120px){.topbar-inner{gap:16px}.app-nav .nav-link{padding-left:7px;padding-right:7px}.dashboard-actions{grid-template-columns:repeat(2,1fr)}.dashboard-metrics{grid-template-columns:repeat(2,1fr)}.dashboard-components{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.topbar{height:auto;min-height:64px;padding:0}.topbar-inner{width:100%;padding:12px 14px;align-items:center}.app-brand-text{display:none}.app-nav{order:2}.topbar-actions{padding-left:3px}.app-nav .nav-link{font-size:10px}.app-nav .nav-link.active:after{bottom:-12px}.app-body .wrap{width:min(100% - 24px,680px);padding-top:24px}.dashboard-hero{grid-template-columns:1fr;padding:25px 22px;gap:25px}.credit-module{text-align:left}.dashboard-actions{grid-template-columns:1fr 1fr}.protection-state{display:none}.dashboard-metrics{grid-template-columns:1fr 1fr}.tech-panel{padding:20px 16px}.tech-panel-head{align-items:flex-start;flex-direction:column}.dashboard-components{grid-template-columns:1fr 1fr}.active-upgrade-card{grid-template-columns:7px 1fr}.active-upgrade-time{grid-column:2;text-align:left}}
@media(max-width:520px){.dashboard-actions,.dashboard-metrics,.dashboard-components{grid-template-columns:1fr}.dashboard-hero h1{font-size:42px}.dashboard-actions>a{min-height:82px}.metric-card{min-height:160px}.world-event-banner{align-items:flex-start}.event-multiplier{font-size:18px}.tech-card{min-height:205px}}
@media(max-width:760px){.app-nav{flex-wrap:nowrap!important;justify-content:flex-start!important}}


/* NetForge 0.8.4 · live mission cooldown */
.mission-action .mission-cooldown-label{display:inline-flex;align-items:center;gap:.28rem}
.mission-action.cooldown-ready{animation:mission-ready-pulse .55s ease-out}
@keyframes mission-ready-pulse{
  0%{transform:scale(.985);filter:brightness(1)}
  55%{transform:scale(1.01);filter:brightness(1.25)}
  100%{transform:scale(1);filter:brightness(1)}
}

/* NetForge 0.8.6 · component explanations */
.tech-description{
  margin:.55rem 0 .85rem;
  min-height:2.8em;
  color:var(--muted);
  font-size:.84rem;
  line-height:1.55;
}
.tech-card.state-locked .tech-description{opacity:.72}


/* NetForge 0.8.7 · Tech card content layout fix */
.tech-card{
  display:flex;
  flex-direction:column;
  min-height:268px;
  padding:16px;
}

.tech-card-title{
  margin:15px 0 8px;
}

.tech-description{
  display:block;
  margin:0 0 14px;
  min-height:3.9em;
  color:#8eaaa0;
  font-size:.82rem;
  line-height:1.5;
  opacity:1;
}

.tech-card.state-locked .tech-description,
.tech-card.state-busy .tech-description{
  opacity:.78;
}

.tech-details{
  margin-top:auto;
  margin-bottom:48px;
}

.tech-card form{
  position:absolute;
  left:16px;
  right:16px;
  bottom:16px;
}

@media (max-width: 760px){
  .tech-card{
    min-height:250px;
  }

  .tech-description{
    min-height:0;
  }
}


/* NetForge 0.8.8 · research availability */
.research-card{display:flex;flex-direction:column;gap:16px}
.research-card-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.research-card-head p{margin:.55rem 0 0;color:var(--muted);line-height:1.5}
.research-card-head>strong{flex:0 0 auto}
.research-costs{display:grid;gap:7px;margin-top:auto}
.research-requirement{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:8px 10px;border:1px solid rgba(97,143,128,.12);border-radius:9px;background:rgba(7,18,15,.34)}
.research-requirement span{color:#89a69b;font-size:.78rem}
.research-requirement strong{font-size:.8rem;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.research-requirement small{min-width:62px;text-align:right;font-size:.67rem;text-transform:uppercase;letter-spacing:.06em}
.research-requirement.ok strong,.research-requirement.ok small{color:#70d9ae}
.research-requirement.missing{border-color:rgba(220,130,112,.22)}
.research-requirement.missing strong,.research-requirement.missing small{color:#d79484}
.research-card.state-blocked .research-button:disabled,.research-card.state-maxed .research-button:disabled{opacity:.48;cursor:not-allowed}
@media (max-width:760px){.research-requirement{grid-template-columns:1fr auto}.research-requirement small{grid-column:1/-1;text-align:left}}


/* NetForge 0.8.9 · player profile */
.profile-shell{display:grid;gap:14px}.profile-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px}.profile-ident{display:flex;align-items:center;gap:18px}.profile-ident h1{margin:.15rem 0 .2rem;font-size:2rem}.profile-ident p{margin:0;color:var(--muted)}.profile-avatar{width:68px;height:68px;border-radius:18px;display:grid;place-items:center;border:1px solid rgba(100,245,189,.24);background:linear-gradient(145deg,rgba(100,245,189,.13),rgba(7,18,15,.7));color:#70efbf;font:800 1.15rem ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}.profile-security{display:flex;align-items:center;gap:12px;min-width:250px;padding:13px 15px;border:1px solid rgba(100,245,189,.18);border-radius:12px;background:rgba(10,31,25,.52)}.profile-security>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:900;background:rgba(100,245,189,.12);color:#6feebb}.profile-security div{display:grid;gap:2px}.profile-security strong{font-size:.82rem}.profile-security small{color:var(--muted);font-size:.72rem}.profile-security.warning{border-color:rgba(220,151,80,.3)}.profile-security.warning>span{color:#e3ad6c;background:rgba(227,173,108,.1)}.profile-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.profile-overview{grid-row:span 2}.profile-row{display:flex;justify-content:space-between;gap:18px;padding:13px 0;border-bottom:1px solid rgba(97,143,128,.1)}.profile-row:last-child{border-bottom:0}.profile-row span{color:var(--muted);font-size:.8rem}.profile-row strong{text-align:right;font-size:.82rem;word-break:break-word}.profile-edit form{display:grid;gap:12px;margin-top:18px}.profile-edit h2{margin:.3rem 0 .25rem}.profile-edit .button{justify-self:start}.topbar-actions .utility-link.active{color:#7ff3c4}
@media(max-width:1000px){.profile-stats{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.profile-hero{align-items:flex-start;flex-direction:column}.profile-security{width:100%;min-width:0}.profile-stats,.profile-grid{grid-template-columns:1fr}.profile-overview{grid-row:auto}.profile-row{align-items:flex-start}}


/* NetForge 0.9.0 · professional player profile */
.profile-page{display:grid;gap:14px;max-width:1500px;margin:0 auto}
.profile-page-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start;padding:6px 4px 4px}
.profile-page-head h1{margin:.22rem 0 .25rem;font-size:2rem}
.profile-page-head p{margin:0;color:var(--muted)}
.profile-breadcrumb{padding-top:18px;color:#758f86;font:700 .7rem ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.08em}.profile-breadcrumb span{padding:0 8px;color:#49665c}
.profile-command-card,.profile-details-card{border:1px solid rgba(82,171,135,.27);border-radius:14px;background:linear-gradient(145deg,rgba(8,27,22,.96),rgba(5,17,14,.94));box-shadow:0 20px 55px rgba(0,0,0,.14)}
.profile-command-card{padding:18px}
.profile-main-row{display:grid;grid-template-columns:150px minmax(220px,.85fr) minmax(420px,1.65fr);gap:28px;align-items:center}
.profile-avatar-panel{display:grid;place-items:center;gap:8px;padding:14px;border-radius:12px;background:radial-gradient(circle at center,rgba(43,222,158,.10),transparent 70%)}
.profile-avatar-hex{width:104px;height:104px;display:grid;place-items:center;clip-path:polygon(25% 5%,75% 5%,96% 25%,96% 75%,75% 95%,25% 95%,4% 75%,4% 25%);border:1px solid rgba(98,245,188,.4);background:linear-gradient(145deg,rgba(39,111,85,.5),rgba(7,18,15,.9));box-shadow:inset 0 0 28px rgba(86,243,183,.12),0 0 28px rgba(74,235,174,.1);position:relative}
.profile-avatar-hex:before{content:"";position:absolute;inset:8px;clip-path:inherit;border:1px solid rgba(109,248,196,.25)}
.profile-avatar-hex span{font:900 1.8rem ui-monospace,SFMono-Regular,Consolas,monospace;color:#edfdf7;letter-spacing:.08em}
.profile-online{font:800 .62rem ui-monospace,monospace;letter-spacing:.1em;color:#67eeb9}
.profile-name-row{display:flex;align-items:center;gap:10px}.profile-name-row h2{margin:0;font-size:1.75rem}.profile-name-row span{padding:4px 7px;border-radius:6px;background:rgba(45,213,148,.11);color:#66eab7;font:800 .56rem ui-monospace,monospace}
.profile-contact{margin-top:12px;color:#94aca3;font-size:.79rem}.profile-verified{margin-top:14px;font-weight:800;font-size:.77rem}.profile-verified.ok{color:#64eeb8}.profile-verified.warn{color:#d9a473}
.profile-progress-stack{display:grid;gap:8px}.profile-progress-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1px solid rgba(73,137,115,.14);border-radius:10px;background:rgba(10,31,25,.48)}
.profile-progress-icon{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;background:rgba(70,214,158,.09);color:#6eeeb9;font-weight:900}.profile-progress-content{flex:1}.profile-progress-content>div:first-child{display:grid;grid-template-columns:1fr auto;gap:2px 10px;align-items:center}.profile-progress-content span{grid-column:1/-1;color:#718c82;font:800 .58rem ui-monospace,monospace;letter-spacing:.08em}.profile-progress-content strong{font-size:.78rem}.profile-progress-content b{font-size:.7rem;color:#a7beb5}.profile-progress{height:4px;margin-top:7px;border-radius:999px;background:rgba(80,120,107,.16);overflow:hidden}.profile-progress i{display:block;height:100%;background:linear-gradient(90deg,#56edb2,#7af1c4);border-radius:inherit}
.profile-meta-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:18px;border:1px solid rgba(73,137,115,.13);border-radius:10px;overflow:hidden}.profile-meta-grid div{display:grid;gap:5px;padding:13px 16px;border-right:1px solid rgba(73,137,115,.12)}.profile-meta-grid div:last-child{border-right:0}.profile-meta-grid span{font-size:.65rem;color:#718c82}.profile-meta-grid strong{font-size:.76rem;color:#dcebe6}
.profile-details-card{padding:18px}.profile-details-kicker{margin:0 0 12px;color:#67efb9;font:900 .66rem ui-monospace,monospace;letter-spacing:.09em}.profile-details-layout{display:grid;grid-template-columns:230px 1fr;gap:18px}.profile-section-nav{display:grid;align-content:start;gap:6px;padding-right:18px;border-right:1px solid rgba(83,128,113,.12)}.profile-section-nav a{display:flex;gap:10px;align-items:center;padding:11px 12px;border-radius:8px;color:#8ca49b;text-decoration:none;font-size:.76rem;border:1px solid transparent}.profile-section-nav a:hover,.profile-section-nav a.active{color:#eaf8f3;border-color:rgba(75,220,161,.4);background:rgba(39,106,82,.18)}
.profile-details-content{display:grid;gap:12px}.profile-overview-new{padding:2px 0 14px}.profile-section-heading h2{margin:0 0 .3rem}.profile-section-heading p{margin:0;color:var(--muted);font-size:.78rem}.profile-overview-table{display:grid;grid-template-columns:1fr 1fr;margin-top:14px;border:1px solid rgba(78,133,114,.13);border-radius:10px;overflow:hidden}.profile-overview-table div{display:grid;grid-template-columns:160px 1fr;min-height:38px;border-bottom:1px solid rgba(78,133,114,.11)}.profile-overview-table div:nth-last-child(-n+2){border-bottom:0}.profile-overview-table span,.profile-overview-table strong{padding:9px 11px;font-size:.72rem}.profile-overview-table span{color:#789287;background:rgba(9,25,21,.35)}.profile-overview-table strong{color:#dcebe6}
.profile-setting-block{display:grid;grid-template-columns:42px 230px 1fr;gap:16px;padding:18px;border:1px solid rgba(76,138,116,.16);border-radius:11px;background:rgba(9,27,22,.42);scroll-margin-top:90px}.profile-setting-icon{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;background:rgba(65,210,153,.09);color:#66ebb5;font-size:1rem}.profile-setting-copy h3{margin:.2rem 0 .35rem;font-size:1.05rem}.profile-setting-copy p{margin:0;color:var(--muted);font-size:.73rem;line-height:1.55}.profile-setting-block form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-setting-block label{margin:0}.profile-form-wide{grid-column:1/-1}.profile-form-actions{grid-column:1/-1}.profile-form-actions .button{min-width:190px}.profile-info-note{grid-column:1/-1;padding:10px 12px;border:1px solid rgba(56,138,191,.28);border-radius:8px;background:rgba(20,72,103,.13);color:#82afd0;font-size:.7rem;line-height:1.5}
@media(max-width:1100px){.profile-main-row{grid-template-columns:130px 1fr}.profile-progress-stack{grid-column:1/-1;grid-template-columns:1fr 1fr}.profile-details-layout{grid-template-columns:1fr}.profile-section-nav{display:flex;overflow:auto;padding:0 0 10px;border-right:0;border-bottom:1px solid rgba(83,128,113,.12)}.profile-section-nav a{white-space:nowrap}.profile-setting-block{grid-template-columns:42px 1fr}.profile-setting-block form{grid-column:1/-1}.profile-overview-table{grid-template-columns:1fr}}
@media(max-width:760px){.profile-page-head{flex-direction:column}.profile-breadcrumb{padding-top:0}.profile-main-row{grid-template-columns:1fr;text-align:center}.profile-identity{display:grid;justify-items:center}.profile-name-row{justify-content:center}.profile-progress-stack{grid-template-columns:1fr;text-align:left}.profile-meta-grid{grid-template-columns:1fr 1fr}.profile-meta-grid div:nth-child(2){border-right:0}.profile-meta-grid div:nth-child(-n+2){border-bottom:1px solid rgba(73,137,115,.12)}.profile-setting-block{grid-template-columns:1fr}.profile-setting-icon{display:none}.profile-setting-block form{grid-template-columns:1fr}.profile-form-wide,.profile-form-actions{grid-column:auto}.profile-overview-table div{grid-template-columns:130px 1fr}}


/* NetForge 0.9.1 · expanded public website */
html{scroll-behavior:smooth}
.public-site{position:relative;z-index:2}
.public-home,.public-news-page{width:min(1380px,calc(100% - 64px));margin:0 auto}
.public-topbar{position:sticky;top:0;z-index:40;border-bottom:1px solid rgba(100,245,189,.09);background:rgba(4,14,12,.86);backdrop-filter:blur(18px)}
.public-topbar-inner{width:min(1440px,calc(100% - 48px));height:72px;margin:0 auto;display:flex;align-items:center;gap:34px}
.public-nav-brand{display:flex;align-items:center;gap:10px;color:#effaf6;text-decoration:none;font-weight:900;letter-spacing:.03em;white-space:nowrap}
.public-nav-brand strong{color:#62efb8}
.public-nav-brand .brand-mark{transform:scale(.82);transform-origin:left center}
.public-topbar nav{display:flex;align-items:center;gap:24px;flex:1}
.public-topbar nav a{position:relative;color:#829b92;text-decoration:none;font-size:.76rem;font-weight:750;transition:.18s ease}
.public-topbar nav a:hover,.public-topbar nav a.active{color:#e9f8f2}
.public-topbar nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-25px;height:2px;background:#5fefb8;box-shadow:0 0 14px rgba(95,239,184,.5)}
.public-nav-actions{display:flex;align-items:center;gap:10px}
.public-login-link{color:#b3c8c0;text-decoration:none;font-size:.76rem;font-weight:800}
.public-login-link:hover{color:#6ff0bc}
.public-nav-actions .button{min-height:36px;padding:0 15px}

.public-home .public-shell{width:100%;min-height:auto;padding:78px 0 64px}
.public-home .public-hero{padding:28px 0}
.hero-cta{display:flex;align-items:center;gap:18px;margin-top:28px}
.hero-cta .button{display:inline-flex;align-items:center;gap:18px;min-height:48px;text-decoration:none}
.hero-secondary{color:#9db5ac;text-decoration:none;font-size:.78rem;font-weight:750}
.hero-secondary:hover{color:#6ff0bc}

.public-section{scroll-margin-top:90px;padding:82px 0;border-top:1px solid rgba(94,173,143,.08)}
.public-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:34px;margin-bottom:30px}
.public-section-head h1,.public-section-head h2{margin:.35rem 0 .4rem;letter-spacing:-.025em}
.public-section-head h1{font-size:2.6rem}.public-section-head h2{font-size:2rem}
.public-section-head p{max-width:680px;margin:0;color:#819b91;line-height:1.65}
.public-section-link{display:inline-flex;align-items:center;gap:12px;color:#74e8b8;text-decoration:none;font-size:.76rem;font-weight:800;white-space:nowrap}

.round-section{position:relative}
.round-section:before{content:"";position:absolute;right:5%;top:8%;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(70,235,174,.07),transparent 68%);pointer-events:none}
.round-id{min-width:150px;padding:12px 14px;border:1px solid rgba(88,184,148,.18);border-radius:10px;background:rgba(9,27,22,.52);display:grid;gap:2px;text-align:right}
.round-id small{color:#58746a;font:800 .55rem ui-monospace,monospace;letter-spacing:.1em}.round-id strong{font:900 1rem ui-monospace,monospace}.round-id span{color:#61eeb8;font:800 .57rem ui-monospace,monospace}.round-id i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#5cf0b5;box-shadow:0 0 12px rgba(92,240,181,.7)}
.public-stat-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.public-stat-grid article{min-height:132px;padding:17px;border:1px solid rgba(88,159,135,.14);border-radius:12px;background:linear-gradient(145deg,rgba(11,32,26,.72),rgba(5,18,15,.76));display:flex;flex-direction:column;justify-content:space-between}
.public-stat-grid span{color:#68847a;font:800 .58rem ui-monospace,monospace;letter-spacing:.09em}.public-stat-grid strong{font-size:1.9rem;letter-spacing:-.04em;color:#edf9f5}.public-stat-grid small{color:#789187;font-size:.68rem;line-height:1.35}
.round-highlight{display:grid;grid-template-columns:1fr 1.6fr;gap:10px;margin-top:10px}.round-highlight>div{padding:18px 20px;border:1px solid rgba(94,173,143,.14);border-radius:12px;background:rgba(8,25,20,.58);display:grid;gap:5px}.round-highlight strong{font-size:1.05rem}.round-highlight small{color:#789187;line-height:1.5}

.news-section{position:relative}
.public-news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.public-news-card{min-height:260px;padding:20px;border:1px solid rgba(88,159,135,.15);border-radius:13px;background:linear-gradient(150deg,rgba(13,35,29,.83),rgba(5,19,16,.88));display:flex;flex-direction:column;transition:.2s ease}
.public-news-card:hover{transform:translateY(-3px);border-color:rgba(98,239,184,.28);box-shadow:0 18px 40px rgba(0,0,0,.15)}
.news-meta{display:flex;justify-content:space-between;gap:16px;color:#6e8b80;font:800 .6rem ui-monospace,monospace;letter-spacing:.07em;text-transform:uppercase}.news-meta span{color:#66e9b5}
.public-news-card h3{margin:24px 0 10px;font-size:1.18rem;line-height:1.3}.public-news-card p{margin:0 0 24px;color:#8ba49a;font-size:.78rem;line-height:1.65}.public-news-card a{margin-top:auto;display:inline-flex;gap:12px;color:#70e9b8;text-decoration:none;font-size:.74rem;font-weight:800}
.public-empty-news{padding:42px;border:1px dashed rgba(83,151,128,.2);border-radius:13px;background:rgba(8,25,20,.35);display:grid;justify-items:start;gap:7px}.public-empty-news span{color:#5feab5;font:800 .6rem ui-monospace,monospace;letter-spacing:.1em}.public-empty-news strong{font-size:1.1rem}.public-empty-news p{margin:0;color:#789187}

.about-section{display:grid;grid-template-columns:.85fr 1.4fr;gap:70px;align-items:center}
.public-about-copy h2{margin:.35rem 0 .8rem;font-size:2.1rem}.public-about-copy p{margin:0 0 24px;color:#89a298;line-height:1.7}.public-about-copy .button{text-decoration:none}
.public-about-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.public-about-grid article{padding:18px;border:1px solid rgba(88,159,135,.13);border-radius:12px;background:rgba(8,25,20,.48);display:grid;gap:7px}.public-about-grid b{color:#5ee9b5;font:800 .65rem ui-monospace,monospace}.public-about-grid strong{font-size:.9rem}.public-about-grid span{color:#789187;font-size:.72rem;line-height:1.55}

.public-news-page{padding-bottom:70px}
.public-news-index{padding:70px 0 32px}
.public-news-index .public-news-grid{grid-template-columns:repeat(3,1fr)}
.public-news-article{width:min(900px,100%);margin:0 auto;padding:76px 0 40px}.public-news-article h1{margin:18px 0 14px;font-size:clamp(2.3rem,5vw,4.3rem);line-height:1.04;letter-spacing:-.045em}.news-lead{font-size:1.05rem;line-height:1.7;color:#9bb4aa;max-width:760px}.news-body{margin-top:36px;padding-top:32px;border-top:1px solid rgba(92,165,140,.14);font-size:.9rem;line-height:1.85;color:#b2c6be}.news-author{margin-top:34px;color:#68847a;font-size:.72rem}.public-back-link{display:inline-block;margin-top:24px;color:#69e9b5;text-decoration:none;font-size:.76rem;font-weight:800}

.public-body textarea,.public-body select{width:100%}
.wrap textarea{width:100%;min-height:90px;padding:10px 12px;border:1px solid rgba(95,154,134,.26);border-radius:7px;background:#071410;color:#e8f5f0;resize:vertical}
.wrap select{background:#071410;color:#e8f5f0;border:1px solid rgba(95,154,134,.26);border-radius:7px;padding:9px}

@media(max-width:1150px){
 .public-stat-grid{grid-template-columns:repeat(3,1fr)}
 .public-news-grid,.public-news-index .public-news-grid{grid-template-columns:1fr 1fr}
 .public-topbar nav{gap:15px}
 .public-topbar-inner{gap:20px}
 .about-section{grid-template-columns:1fr;gap:30px}
}
@media(max-width:850px){
 .public-home,.public-news-page{width:min(100% - 34px,760px)}
 .public-topbar-inner{width:min(100% - 28px,760px);height:auto;min-height:64px;flex-wrap:wrap;padding:10px 0}
 .public-topbar nav{order:3;width:100%;overflow:auto;padding:4px 0 7px}
 .public-topbar nav a.active:after{bottom:-7px}
 .public-nav-actions{margin-left:auto}
 .public-home .public-shell{padding-top:42px}
 .public-section{padding:58px 0}
 .public-section-head{align-items:flex-start;flex-direction:column}
 .round-highlight{grid-template-columns:1fr}
}
@media(max-width:620px){
 .public-nav-actions .button{display:none}
 .public-stat-grid{grid-template-columns:1fr 1fr}
 .public-news-grid,.public-news-index .public-news-grid,.public-about-grid{grid-template-columns:1fr}
 .hero-cta{align-items:flex-start;flex-direction:column}
 .round-id{text-align:left}
 .public-section-head h1{font-size:2rem}
}


/* NetForge 0.9.2 · Research grid overflow/layout fix */
.research-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;
}

.research-card{
  min-width:0;
  width:100%;
  overflow:hidden;
}

.research-card-head,
.research-card-head > div,
.research-costs{
  min-width:0;
}

.research-card-head .component-name,
.research-card-head p,
.research-requirement span{
  overflow-wrap:anywhere;
}

.research-costs{
  width:100%;
}

.research-requirement{
  grid-template-columns:minmax(0,1fr) auto auto;
  min-width:0;
}

.research-requirement strong,
.research-requirement small{
  white-space:nowrap;
}

.research-button{
  width:100%;
}

@media(max-width:1180px){
  .research-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .research-grid{
    grid-template-columns:1fr;
  }

  .research-requirement{
    grid-template-columns:minmax(0,1fr) auto;
  }

  .research-requirement small{
    grid-column:1/-1;
    text-align:left;
  }
}


/* NetForge 0.9.3 · final research card layout */
.research-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  width:100%;
}

.research-card{
  min-width:0;
  width:100%;
  overflow:visible;
  display:flex;
  flex-direction:column;
}

.research-costs{
  display:flex;
  flex-direction:column;
  gap:8px;
  width:100%;
  min-width:0;
  margin-top:auto;
}

.research-requirement{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:100%;
  min-width:0;
  padding:10px 12px;
  box-sizing:border-box;
}

.research-requirement span{
  flex:1 1 auto;
  min-width:0;
  white-space:normal;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:auto;
  line-height:1.35;
}

.research-requirement strong{
  flex:0 0 auto;
  white-space:nowrap;
  margin-left:auto;
}

.research-requirement small{
  flex:0 0 auto;
  min-width:78px;
  white-space:nowrap;
  text-align:right;
}

.research-card form{
  margin-top:14px;
}

.research-button{
  width:100%;
}

@media(max-width:1180px){
  .research-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .research-grid{
    grid-template-columns:1fr;
  }

  .research-requirement{
    align-items:flex-start;
    flex-wrap:wrap;
  }

  .research-requirement span{
    flex:1 1 100%;
  }

  .research-requirement strong{
    margin-left:0;
  }

  .research-requirement small{
    min-width:auto;
    text-align:left;
  }
}


/* NetForge 0.10.0 · tactical mission operations */
.mission-console{
  margin-bottom:18px;
  padding:22px;
  border:1px solid rgba(91,234,178,.3);
  border-radius:15px;
  background:
    radial-gradient(circle at 90% 0,rgba(67,238,173,.08),transparent 32%),
    linear-gradient(145deg,rgba(9,31,25,.97),rgba(5,18,15,.97));
  box-shadow:0 22px 60px rgba(0,0,0,.16);
}
.mission-console-head{
  display:flex;
  justify-content:space-between;
  gap:28px;
  align-items:flex-start;
}
.mission-console-head h2{margin:.3rem 0 .35rem;font-size:1.8rem}
.mission-console-head p{margin:0;max-width:720px;color:var(--muted);line-height:1.6}
.mission-target{
  min-width:210px;
  display:grid;
  gap:4px;
  padding:12px 14px;
  text-align:right;
  border:1px solid rgba(90,174,142,.18);
  border-radius:10px;
  background:rgba(5,18,15,.48);
}
.mission-target span{
  color:#5e7b70;
  font:800 .55rem ui-monospace,monospace;
  letter-spacing:.1em;
}
.mission-target strong{
  color:#dff8ee;
  font:850 .9rem ui-monospace,monospace;
}
.mission-target small{color:#789187;font-size:.65rem}

.mission-phase-track{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:7px;
  margin:22px 0;
}
.mission-phase{
  position:relative;
  min-width:0;
  padding:10px 12px 13px;
  border:1px solid rgba(79,139,119,.14);
  border-radius:9px;
  background:rgba(7,22,18,.55);
  overflow:hidden;
}
.mission-phase span{
  display:block;
  margin-bottom:3px;
  color:#537066;
  font:800 .55rem ui-monospace,monospace;
}
.mission-phase strong{font-size:.72rem;color:#718d82}
.mission-phase i{
  position:absolute;
  left:0;right:0;bottom:0;
  height:2px;
  background:rgba(72,116,101,.14);
}
.mission-phase.done i,.mission-phase.active i{background:#5deab5}
.mission-phase.done strong{color:#8fb5a6}
.mission-phase.active{
  border-color:rgba(92,235,180,.34);
  background:rgba(31,91,69,.18);
}
.mission-phase.active strong{color:#ecfaf5}
.mission-phase.active span{color:#60eab5}

.mission-console-grid{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);
  gap:14px;
}
.mission-situation,.mission-meters{
  padding:18px;
  border:1px solid rgba(82,146,124,.14);
  border-radius:11px;
  background:rgba(6,21,17,.48);
}
.mission-situation h3{margin:.4rem 0 .5rem;font-size:1.2rem}
.mission-situation>p{margin:0;color:#8ca69c;line-height:1.65}
.mission-last-result{
  display:grid;
  gap:5px;
  margin-top:20px;
  padding:11px 12px;
  border-left:2px solid #5ce9b4;
  background:rgba(55,180,133,.07);
}
.mission-last-result span{
  color:#5d8a79;
  font:800 .55rem ui-monospace,monospace;
  letter-spacing:.08em;
}
.mission-last-result strong{font-size:.74rem;color:#a9c6bb;line-height:1.5}
.mission-operation-meta{
  display:flex;
  gap:20px;
  margin-top:18px;
  color:#6d897e;
  font-size:.67rem;
}
.mission-operation-meta strong{color:#b4ccc2}

.mission-meters{display:grid;gap:12px}
.mission-meter>div:first-child{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.mission-meter span{
  color:#829d92;
  font:800 .61rem ui-monospace,monospace;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.mission-meter strong{font-size:.73rem}
.mission-meter small{display:block;margin-top:4px;color:#5e796f;font-size:.61rem}
.mission-meter-track{
  height:5px;
  margin-top:6px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(83,130,113,.14);
}
.mission-meter-track i{
  display:block;height:100%;border-radius:inherit;
  background:linear-gradient(90deg,#4fdca5,#70f1bf);
}
.mission-meter.trace .mission-meter-track i{
  background:linear-gradient(90deg,#c78a65,#e56e62);
}
.mission-meter.stability .mission-meter-track i{
  background:linear-gradient(90deg,#5dbea3,#66ecc0);
}

.mission-choice-head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:22px;
  margin:23px 0 11px;
}
.mission-choice-head h3{margin:.25rem 0 0;font-size:1.05rem}
.mission-choice-head>small{color:#658278;font-size:.65rem}
.mission-choice-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.mission-choice-card{
  min-width:0;
  padding:16px;
  border:1px solid rgba(82,151,127,.17);
  border-radius:11px;
  background:linear-gradient(150deg,rgba(12,35,28,.75),rgba(5,19,16,.75));
  transition:.18s ease;
}
.mission-choice-card:hover{
  transform:translateY(-2px);
  border-color:rgba(91,232,178,.35);
}
.mission-choice-code{
  width:34px;height:34px;
  display:grid;place-items:center;
  border:1px solid rgba(91,232,178,.22);
  border-radius:8px;
  color:#62e9b5;
  background:rgba(61,174,130,.08);
  font:800 .58rem ui-monospace,monospace;
}
.mission-choice-card h4{margin:14px 0 7px;font-size:.9rem}
.mission-choice-card p{
  min-height:3.3em;
  margin:0;
  color:#819d92;
  font-size:.72rem;
  line-height:1.55;
}
.mission-choice-effect{
  margin:13px 0;
  padding:8px 9px;
  border-radius:7px;
  background:rgba(5,18,15,.6);
  color:#69af93;
  font:750 .61rem ui-monospace,monospace;
}
.mission-choice-card .button{width:100%;display:flex;justify-content:space-between}

.mission-console-foot{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:20px;
  margin-top:14px;
  padding-top:13px;
  border-top:1px solid rgba(80,135,117,.11);
}
.mission-console-foot>div{display:grid;gap:2px}
.mission-console-foot span{
  color:#59766b;
  font:800 .54rem ui-monospace,monospace;
  letter-spacing:.08em;
}
.mission-console-foot strong{color:#80998f;font-size:.68rem}
.mission-abort{
  min-height:34px;
  padding:0 13px;
  background:rgba(111,54,47,.12);
  border-color:rgba(201,104,88,.21);
  color:#c9897b;
}
.mission-abort:hover{border-color:rgba(223,116,97,.4);color:#e8a596}

.mission-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:22px;
  margin-bottom:14px;
}
.mission-section-head h2{margin:.3rem 0 0}
.mission-section-head>p{margin:0;color:#708a80;font-size:.69rem}
.mission-contract-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.mission-contract{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.mission-contract-top{
  display:flex;
  justify-content:space-between;
  gap:14px;
}
.mission-contract-top>div{display:grid;gap:3px}
.mission-contract-top small{color:#668278;font-size:.65rem}
.mission-contract-top>strong{
  color:#6da68f;
  font:800 .59rem ui-monospace,monospace;
  white-space:nowrap;
}
.mission-contract>p{color:#8ba59b;line-height:1.55}
.mission-contract-data{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin:auto 0 14px;
}
.mission-contract-data span{
  display:grid;
  gap:3px;
  padding:8px 9px;
  border:1px solid rgba(79,139,119,.12);
  border-radius:7px;
  color:#9bb3aa;
  font-size:.67rem;
  overflow-wrap:anywhere;
}
.mission-contract-data b{
  color:#557168;
  font:800 .52rem ui-monospace,monospace;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.mission-contract .mission-action{width:100%}

@media(max-width:1050px){
  .mission-console-grid{grid-template-columns:1fr}
  .mission-choice-grid{grid-template-columns:1fr 1fr}
  .mission-contract-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
  .mission-console{padding:15px}
  .mission-console-head,.mission-choice-head,.mission-console-foot,.mission-section-head{
    align-items:flex-start;
    flex-direction:column;
  }
  .mission-target{width:100%;min-width:0;text-align:left}
  .mission-phase-track{grid-template-columns:1fr 1fr}
  .mission-choice-grid{grid-template-columns:1fr}
  .mission-operation-meta{flex-direction:column;gap:5px}
  .mission-contract-data{grid-template-columns:1fr}
}


/* NetForge 0.10.1 · component iconography + stronger level badge */
.tech-card-top{
  align-items:flex-start;
}

.tech-icon{
  width:52px;
  height:52px;
  border-radius:12px;
  border:1px solid rgba(100,245,189,.22);
  background:
    radial-gradient(circle at 50% 40%,rgba(100,245,189,.09),transparent 68%),
    rgba(100,245,189,.035);
  box-shadow:inset 0 0 24px rgba(100,245,189,.035);
}

.tech-icon img{
  width:30px;
  height:30px;
  display:block;
  opacity:.9;
  filter:drop-shadow(0 0 8px rgba(103,239,185,.10));
}

.tech-level{
  min-width:64px;
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:6px;
  padding:7px 10px;
  border:1px solid rgba(100,245,189,.14);
  border-radius:9px;
  background:rgba(8,23,19,.72);
  color:#d9f8ec;
  letter-spacing:0;
}

.tech-level small{
  color:#617f74;
  font:800 7px ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.09em;
}

.tech-level strong{
  color:#7cf0c0;
  font:900 16px ui-monospace,SFMono-Regular,Consolas,monospace;
  line-height:1;
}

.tech-card.state-ready .tech-level{
  border-color:rgba(100,245,189,.24);
  box-shadow:0 0 18px rgba(100,245,189,.025);
}

@media(max-width:760px){
  .tech-icon{
    width:48px;
    height:48px;
  }

  .tech-icon img{
    width:27px;
    height:27px;
  }

  .tech-level{
    min-width:58px;
    padding:6px 8px;
  }

  .tech-level strong{
    font-size:15px;
  }
}


/* NetForge 0.11.0 · virtual countries and international routing */
.route-card{
  display:grid;
  grid-template-columns:4px 1fr auto;
  gap:18px;
  align-items:center;
  margin-bottom:14px;
  padding:16px 18px;
  border:1px solid rgba(92,235,180,.26);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(10,34,27,.94),rgba(5,19,16,.94));
}
.route-card-line{
  width:4px;
  height:100%;
  min-height:58px;
  border-radius:99px;
  background:#60eab6;
  box-shadow:0 0 18px rgba(96,234,182,.35);
}
.route-card h2{margin:.25rem 0 .3rem;font-size:1.05rem}
.route-card p{margin:0;color:#829d92;font-size:.72rem}
.route-transit{display:grid;gap:2px;text-align:right}
.route-transit>span{color:#5d7c70;font:800 .55rem ui-monospace,monospace;letter-spacing:.09em}
.route-transit>strong{color:#dff8ee;font:900 1.35rem ui-monospace,monospace}
.route-transit>small{color:#6f8b80;font-size:.62rem}
.auth-form select,.input-wrap select{
  width:100%;
  min-height:44px;
  border:0;
  outline:0;
  background:transparent;
  color:#e8f6f1;
}
.input-wrap select option{background:#071410;color:#e8f6f1}
@media(max-width:720px){
  .route-card{grid-template-columns:4px 1fr}
  .route-transit{grid-column:2;text-align:left}
}


/* NetForge 0.12.0 · virtual datacenters */
.dc-command{
  margin-bottom:14px;
  padding:20px;
  border:1px solid rgba(96,234,182,.24);
  border-radius:14px;
  background:
    radial-gradient(circle at 88% 0,rgba(68,232,173,.08),transparent 30%),
    linear-gradient(145deg,rgba(9,31,25,.96),rgba(5,18,15,.96));
}
.dc-command-main{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:28px;
}
.dc-command-main h2{margin:.3rem 0 .45rem;font-size:1.5rem}
.dc-command-main p{max-width:760px;margin:0;color:#86a096;line-height:1.6}
.dc-country-select{min-width:260px}
.dc-country-select label{margin:0}
.dc-country-select select{width:100%}
.dc-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:9px;
  margin-top:18px;
}
.dc-summary-grid article{
  padding:13px 14px;
  border:1px solid rgba(81,143,122,.14);
  border-radius:9px;
  background:rgba(6,21,17,.5);
  display:grid;
  gap:4px;
}
.dc-summary-grid span{
  color:#5f7a70;
  font:800 .55rem ui-monospace,monospace;
  letter-spacing:.08em;
}
.dc-summary-grid strong{font-size:1rem;color:#e5f7f0}
.dc-summary-grid small{color:#779187;font-size:.64rem}
.dc-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  margin-top:12px;
  padding:13px 14px;
  border:1px solid rgba(90,164,138,.14);
  border-radius:9px;
  background:rgba(6,19,16,.42);
}
.dc-actions>div{display:grid;gap:3px}
.dc-actions strong{font-size:.78rem}
.dc-actions span{color:#718a80;font-size:.67rem}
.dc-actions .button{min-width:210px}

.dc-country-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.dc-country-card{
  min-width:0;
  padding:12px;
  border:1px solid rgba(81,143,122,.13);
  border-radius:9px;
  background:rgba(7,23,18,.46);
  text-decoration:none;
  display:grid;
  gap:4px;
  transition:.18s ease;
}
.dc-country-card:hover,.dc-country-card.active{
  border-color:rgba(91,232,178,.34);
  background:rgba(28,82,63,.17);
  transform:translateY(-1px);
}
.dc-country-card span{
  color:#5fe6b3;
  font:850 .58rem ui-monospace,monospace;
}
.dc-country-card strong{
  color:#e2f3ed;
  font-size:.74rem;
  overflow-wrap:anywhere;
}
.dc-country-card small{
  color:#6d877c;
  font-size:.61rem;
  line-height:1.4;
}

.dc-server-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:9px;
}
.dc-server{
  min-width:0;
  min-height:285px;
  padding:14px;
  border:1px solid rgba(80,139,119,.15);
  border-radius:11px;
  background:linear-gradient(150deg,rgba(9,29,23,.74),rgba(5,18,15,.78));
  display:flex;
  flex-direction:column;
  position:relative;
  overflow:hidden;
}
.dc-server.mine{
  border-color:rgba(87,235,177,.42);
  box-shadow:inset 0 0 30px rgba(70,222,162,.035);
}
.dc-server.hostile{
  border-color:rgba(205,111,91,.28);
}
.dc-server.unknown{
  opacity:.68;
  border-style:dashed;
  justify-content:center;
  align-items:center;
  text-align:center;
}
.dc-server-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:center;
}
.dc-server-slot{
  color:#607c71;
  font:850 .58rem ui-monospace,monospace;
}
.dc-server-top>span{
  color:#74a993;
  font:800 .56rem ui-monospace,monospace;
}
.dc-server-icon{
  width:44px;
  height:44px;
  margin:14px 0 10px;
  display:grid;
  place-items:center;
  border:1px solid rgba(88,224,171,.19);
  border-radius:10px;
  background:rgba(55,171,128,.06);
  color:#68e7b4;
  font-size:1rem;
}
.dc-server h3{
  margin:0 0 11px;
  font-size:.84rem;
  overflow-wrap:anywhere;
}
.dc-server>p{
  color:#738d82;
  font-size:.68rem;
  line-height:1.5;
}
.dc-server-data{
  display:grid;
  gap:5px;
  margin-bottom:12px;
}
.dc-server-data>div{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:6px 0;
  border-bottom:1px solid rgba(80,132,114,.09);
}
.dc-server-data span{color:#627c72;font-size:.62rem}
.dc-server-data strong{
  color:#a8c0b6;
  font-size:.64rem;
  text-align:right;
}
.dc-server form{margin-top:auto}
.dc-server .button{width:100%}
.dc-server-state{
  margin-top:8px;
  color:#607c71;
  font:800 .56rem ui-monospace,monospace;
  letter-spacing:.08em;
}
.dc-control-ring{
  display:flex;
  align-items:baseline;
  gap:8px;
  margin:12px 0;
}
.dc-control-ring strong{
  color:#67eab7;
  font-size:2.4rem;
  line-height:1;
}
.dc-control-ring span{color:#728b81}

@media(max-width:1200px){
  .dc-country-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .dc-server-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .dc-command-main,.dc-actions{align-items:flex-start;flex-direction:column}
  .dc-country-select{width:100%;min-width:0}
  .dc-summary-grid{grid-template-columns:1fr 1fr}
  .dc-country-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .dc-server-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:620px){
  .dc-country-grid,.dc-server-grid{grid-template-columns:1fr}
  .dc-summary-grid{grid-template-columns:1fr 1fr}
  .dc-actions .button{width:100%;min-width:0}
}


/* NetForge 0.12.1 · professional datacenter command UI */
.dc-v2-page{
  max-width:1580px;
  margin:0 auto;
}

.dc-v2-page-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:28px;
  margin-bottom:16px;
}

.dc-v2-page-head h1{
  margin:.25rem 0 .3rem;
  font-size:2rem;
}

.dc-v2-page-head p{
  margin:0;
  color:var(--muted);
}

.dc-v2-node-status{
  display:flex;
  gap:10px;
}

.dc-v2-node-status>div{
  min-width:105px;
  padding:10px 13px;
  border:1px solid rgba(95,235,181,.13);
  border-radius:10px;
  background:rgba(8,25,20,.56);
  display:grid;
  gap:3px;
}

.dc-v2-node-status span{
  color:#5d776e;
  font:800 .54rem ui-monospace,monospace;
  letter-spacing:.08em;
}

.dc-v2-node-status strong{
  color:#70efbc;
  font-size:.8rem;
}

.dc-v2-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 320px;
  gap:14px;
  align-items:start;
}

.dc-v2-main{
  min-width:0;
}

.dc-v2-sidebar{
  position:sticky;
  top:84px;
  display:grid;
  gap:12px;
}

.dc-v2-top{
  display:grid;
  grid-template-columns:245px minmax(0,1fr);
  gap:12px;
}

.dc-v2-country-card,
.dc-v2-kpis,
.dc-v2-facility,
.dc-v2-server-section,
.dc-v2-side-card{
  border:1px solid rgba(80,199,156,.18);
  background:
    radial-gradient(circle at 95% 0,rgba(45,223,163,.04),transparent 32%),
    linear-gradient(145deg,rgba(8,27,22,.96),rgba(4,16,13,.96));
  box-shadow:0 16px 44px rgba(0,0,0,.10);
}

.dc-v2-country-card{
  padding:16px;
  border-radius:12px;
}

.dc-v2-country-title{
  display:flex;
  gap:12px;
  align-items:center;
  margin-bottom:14px;
}

.dc-v2-country-code{
  width:48px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:7px;
  border:1px solid rgba(103,239,185,.22);
  background:rgba(51,159,118,.09);
  color:#73efbe;
  font:900 .82rem ui-monospace,monospace;
}

.dc-v2-country-title>div{
  display:grid;
  gap:2px;
}

.dc-v2-country-title small{
  color:#5c776d;
  font:800 .52rem ui-monospace,monospace;
  letter-spacing:.07em;
}

.dc-v2-country-title strong{
  color:#eefaf5;
  font-size:.9rem;
}

.dc-v2-country-title span:last-child{
  color:#6f897f;
  font-size:.63rem;
}

.dc-v2-country-card label{
  margin:0;
  font-size:.68rem;
}

.dc-v2-country-card select{
  margin-top:5px;
  width:100%;
}

.dc-v2-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  border-radius:12px;
  overflow:hidden;
}

.dc-v2-kpis>div{
  min-width:0;
  display:flex;
  align-items:center;
  gap:11px;
  padding:14px 16px;
  border-right:1px solid rgba(80,199,156,.11);
}

.dc-v2-kpis>div:last-child{
  border-right:0;
}

.dc-v2-kpi-icon{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:9px;
  border:1px solid rgba(94,235,180,.16);
  background:rgba(54,167,125,.07);
  color:#5fe8b3;
}

.dc-v2-kpis>div>div{
  min-width:0;
  display:grid;
  gap:3px;
}

.dc-v2-kpis small{
  color:#617b71;
  font:800 .51rem ui-monospace,monospace;
  letter-spacing:.07em;
  white-space:nowrap;
}

.dc-v2-kpis strong{
  color:#edf8f4;
  font-size:.95rem;
  overflow:hidden;
  text-overflow:ellipsis;
}

.dc-v2-kpis .status strong{
  color:#5fe8b3;
  font-size:.76rem;
}

.dc-v2-tabs{
  display:flex;
  gap:30px;
  margin:12px 0 0;
  padding:0 8px;
  border-bottom:1px solid rgba(85,151,130,.13);
}

.dc-v2-tabs a{
  position:relative;
  padding:12px 0 11px;
  color:#728d83;
  text-decoration:none;
  font-size:.68rem;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}

.dc-v2-tabs a:hover,
.dc-v2-tabs a.active{
  color:#e6f8f1;
}

.dc-v2-tabs a.active:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-1px;
  height:2px;
  background:#5feab5;
  box-shadow:0 0 12px rgba(95,234,181,.5);
}

.dc-v2-facility{
  margin-top:12px;
  border-radius:12px;
  overflow:hidden;
}

.dc-v2-facility-head{
  display:flex;
  justify-content:space-between;
  gap:20px;
  padding:14px 16px;
  border-bottom:1px solid rgba(81,148,126,.12);
}

.dc-v2-facility-head h2{
  margin:0;
  font-size:.86rem;
  letter-spacing:.01em;
}

.dc-v2-facility-head span{
  color:#667f76;
  font-size:.64rem;
}

.dc-v2-facility-grid{
  display:grid;
  grid-template-columns:minmax(260px,1.2fr) minmax(220px,.85fr) 200px;
  gap:0;
  min-height:245px;
}

.dc-v2-facility-visual{
  position:relative;
  min-height:245px;
  overflow:hidden;
  border-right:1px solid rgba(81,148,126,.10);
  background:
    radial-gradient(circle at 50% 46%,rgba(47,218,159,.08),transparent 28%),
    linear-gradient(180deg,rgba(5,18,15,.28),rgba(2,12,10,.7));
}













.dc-v2-facility-data{
  display:grid;
  align-content:center;
  gap:0;
  padding:16px 18px;
  border-right:1px solid rgba(81,148,126,.10);
}

.dc-v2-facility-data>div{
  display:flex;
  justify-content:space-between;
  gap:14px;
  padding:8px 0;
  border-bottom:1px solid rgba(79,135,116,.08);
}

.dc-v2-facility-data>div:last-child{
  border-bottom:0;
}

.dc-v2-facility-data span{
  color:#6e887e;
  font-size:.66rem;
}

.dc-v2-facility-data strong{
  color:#c8ddd4;
  font-size:.67rem;
  text-align:right;
}

.dc-v2-control-gauge{
  display:grid;
  place-items:center;
  align-content:center;
  gap:5px;
  padding:18px;
}

.dc-v2-ring{
  --pct:0;
  position:relative;
  width:132px;
  aspect-ratio:1;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:
    radial-gradient(circle at center,#071814 0 55%,transparent 56%),
    conic-gradient(#55e6ae calc(var(--pct)*1%),rgba(76,132,113,.16) 0);
  box-shadow:inset 0 0 22px rgba(45,213,157,.04);
}

.dc-v2-ring:before{
  content:"";
  position:absolute;
  inset:6px;
  border-radius:50%;
  border:1px solid rgba(93,231,180,.12);
}

.dc-v2-ring>div{
  display:grid;
  place-items:center;
  z-index:1;
}

.dc-v2-ring strong{
  color:#eefaf6;
  font-size:1.6rem;
}

.dc-v2-ring span{
  color:#809b90;
  font-size:.58rem;
  font-weight:800;
}

.dc-v2-control-gauge>b{
  margin-top:2px;
  font-size:.83rem;
}

.dc-v2-control-gauge>small{
  color:#70897f;
  font-size:.62rem;
}

.dc-v2-server-section{
  margin-top:12px;
  padding:16px;
  border-radius:12px;
}

.dc-v2-server-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  margin-bottom:12px;
}

.dc-v2-server-head h2{
  margin:0;
  font-size:.82rem;
}

.dc-v2-server-head h2 span{
  color:#6b847a;
  font-weight:600;
}

.dc-v2-legend{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  font-size:.61rem;
}

.dc-v2-legend .mine{color:#62e9b5}
.dc-v2-legend .neutral{color:#95abb0}
.dc-v2-legend .hostile{color:#ef7466}
.dc-v2-legend .unknown{color:#577069}

.dc-v2-server-matrix{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}

.dc-v2-server-tile{
  position:relative;
  min-width:0;
  min-height:62px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:3px 8px;
  align-content:center;
  padding:10px 12px;
  text-decoration:none;
  border:1px solid rgba(107,151,137,.2);
  border-radius:8px;
  background:rgba(12,31,26,.64);
  transition:.16s ease;
}

.dc-v2-server-tile span{
  grid-column:1/-1;
  color:#788e86;
  font:850 .56rem ui-monospace,monospace;
}

.dc-v2-server-tile strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#cbded7;
  font-size:.68rem;
}

.dc-v2-server-tile i{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:50%;
  font-style:normal;
  font-size:.58rem;
  border:1px solid rgba(126,158,149,.22);
  color:#9cb1aa;
}

.dc-v2-server-tile:hover,
.dc-v2-server-tile.active{
  transform:translateY(-1px);
  border-color:rgba(104,237,187,.45);
  box-shadow:0 0 0 1px rgba(76,217,165,.07),0 10px 22px rgba(0,0,0,.12);
}

.dc-v2-server-tile.mine{
  border-color:rgba(53,221,157,.34);
  background:linear-gradient(145deg,rgba(21,77,59,.74),rgba(8,35,27,.74));
}

.dc-v2-server-tile.mine strong,
.dc-v2-server-tile.mine i{
  color:#56e4aa;
}

.dc-v2-server-tile.hostile{
  border-color:rgba(225,83,69,.35);
  background:linear-gradient(145deg,rgba(74,24,21,.68),rgba(35,14,12,.72));
}

.dc-v2-server-tile.hostile strong,
.dc-v2-server-tile.hostile i{
  color:#f07164;
}

.dc-v2-server-tile.unknown{
  border-style:solid;
  border-color:rgba(108,139,130,.17);
  opacity:.72;
}

.dc-v2-server-tile.unknown strong{
  color:#678078;
}

.dc-v2-server-tile.unknown i{
  color:#516961;
}

.dc-v2-action-bar{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  margin-top:12px;
  border:1px solid rgba(80,145,123,.13);
  border-radius:10px;
  overflow:hidden;
  background:rgba(5,18,15,.46);
}

.dc-v2-action-item{
  display:grid;
  grid-template-columns:44px 1fr auto;
  align-items:center;
  gap:12px;
  padding:13px 15px;
}

.dc-v2-action-item:first-child{
  border-right:1px solid rgba(80,145,123,.12);
}

.dc-v2-action-icon{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(91,229,177,.25);
  color:#5ee7b1;
  font-size:1.15rem;
}

.dc-v2-action-icon.capture{
  color:#e2ae61;
  border-color:rgba(226,174,97,.26);
}

.dc-v2-action-item>div{
  display:grid;
  gap:2px;
}

.dc-v2-action-item strong{
  font-size:.67rem;
}

.dc-v2-action-item small{
  color:#70897f;
  font-size:.61rem;
}

.dc-v2-action-item b{
  color:#5ee7b1;
  font-size:.61rem;
}

.dc-v2-action-item .button{
  min-height:32px;
  padding:0 12px;
}

.dc-v2-side-card{
  padding:14px;
  border-radius:12px;
}

.dc-v2-side-card h2{
  margin:0 0 12px;
  font-size:.8rem;
}

.dc-v2-detail-id{
  display:grid;
  grid-template-columns:36px 1fr 28px;
  align-items:center;
  gap:8px;
  padding:10px;
  border:1px solid rgba(90,213,166,.21);
  border-radius:8px;
  background:rgba(9,28,23,.6);
}

.dc-v2-detail-id>span,
.dc-v2-detail-id>i{
  display:grid;
  place-items:center;
  height:28px;
  border-radius:7px;
  color:#88a49a;
  font:800 .65rem ui-monospace,monospace;
  font-style:normal;
  background:rgba(71,127,107,.10);
}

.dc-v2-detail-id>strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  font-size:.73rem;
}

.dc-v2-detail-row,
.dc-v2-detail-meter{
  padding:12px 0;
  border-bottom:1px solid rgba(76,132,113,.10);
}

.dc-v2-detail-row{
  display:flex;
  justify-content:space-between;
  gap:14px;
}

.dc-v2-detail-row span,
.dc-v2-detail-meter span{
  color:#768f85;
  font-size:.64rem;
}

.dc-v2-detail-row strong,
.dc-v2-detail-meter strong{
  color:#d5e6e0;
  font-size:.65rem;
  text-align:right;
}

.dc-v2-detail-meter>div:first-child{
  display:flex;
  justify-content:space-between;
  gap:14px;
}

.dc-v2-meter{
  height:6px;
  margin-top:8px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(85,126,112,.16);
}

.dc-v2-meter i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,#4dd7a1,#d7be36);
}

.dc-v2-meter.scan i{
  background:linear-gradient(90deg,#43ca91,#54e2a9);
}

.dc-v2-meter.capture i{
  background:linear-gradient(90deg,#d59d29,#e3c249);
}

.dc-v2-capture-form{
  margin-top:14px;
}

.dc-v2-capture-form .button{
  width:100%;
  min-height:42px;
}

.dc-v2-side-title{
  display:flex;
  justify-content:space-between;
  gap:14px;
}

.dc-v2-side-title span{
  color:#60786f;
  font-size:.58rem;
}

.dc-v2-leader{
  display:grid;
  grid-template-columns:24px 34px 1fr auto;
  gap:8px;
  align-items:center;
  padding:9px 0;
  border-bottom:1px solid rgba(76,132,113,.09);
}

.dc-v2-leader:last-child{
  border-bottom:0;
}

.dc-v2-leader>span{
  color:#bd9450;
  font-weight:900;
  font-size:.7rem;
}

.dc-v2-leader>i{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(92,210,163,.16);
  background:rgba(62,156,121,.06);
  color:#8cb5a6;
  font:800 .56rem ui-monospace,monospace;
  font-style:normal;
}

.dc-v2-leader>strong{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#c8dbd4;
  font-size:.66rem;
}

.dc-v2-leader>b{
  color:#91a89f;
  font-size:.61rem;
}

.dc-v2-leader.me strong,
.dc-v2-leader.me b{
  color:#5fe7b2;
}

.dc-v2-empty-top,
.dc-v2-no-selection{
  color:#718a80;
  font-size:.67rem;
}

.dc-v2-no-selection{
  min-height:180px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:7px;
  text-align:center;
}

.dc-v2-no-selection>span{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:1px solid rgba(86,154,131,.18);
  color:#668079;
}

.dc-v2-no-selection strong{
  color:#bdcfc8;
}

.dc-v2-no-selection p{
  max-width:220px;
  margin:0;
  line-height:1.5;
}

.dc-v2-info p{
  margin:0;
  color:#718a80;
  font-size:.64rem;
  line-height:1.55;
}

@media(max-width:1280px){
  .dc-v2-layout{
    grid-template-columns:1fr;
  }

  .dc-v2-sidebar{
    position:static;
    grid-template-columns:1fr 1fr;
  }

  .dc-v2-info{
    grid-column:1/-1;
  }
}

@media(max-width:1050px){
  .dc-v2-top{
    grid-template-columns:1fr;
  }

  .dc-v2-kpis{
    grid-template-columns:1fr 1fr;
  }

  .dc-v2-kpis>div:nth-child(2){
    border-right:0;
  }

  .dc-v2-kpis>div:nth-child(-n+2){
    border-bottom:1px solid rgba(80,199,156,.11);
  }

  .dc-v2-facility-grid{
    grid-template-columns:1fr 1fr;
  }

  .dc-v2-control-gauge{
    grid-column:1/-1;
    border-top:1px solid rgba(81,148,126,.10);
  }

  .dc-v2-server-matrix{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media(max-width:760px){
  .dc-v2-page-head{
    align-items:flex-start;
    flex-direction:column;
  }

  .dc-v2-node-status{
    width:100%;
    overflow:auto;
  }

  .dc-v2-node-status>div{
    flex:0 0 100px;
  }

  .dc-v2-tabs{
    overflow:auto;
  }

  .dc-v2-facility-grid{
    grid-template-columns:1fr;
  }

  .dc-v2-facility-visual{
    border-right:0;
    border-bottom:1px solid rgba(81,148,126,.10);
  }

  .dc-v2-facility-data{
    border-right:0;
  }

  .dc-v2-server-matrix{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .dc-v2-action-bar{
    grid-template-columns:1fr;
  }

  .dc-v2-action-item:first-child{
    border-right:0;
    border-bottom:1px solid rgba(80,145,123,.12);
  }

  .dc-v2-sidebar{
    grid-template-columns:1fr;
  }

  .dc-v2-info{
    grid-column:auto;
  }
}


/* NetForge 0.12.2 · real datacenter artwork */
.dc-v2-facility-visual{
  position:relative;
  min-height:245px;
  overflow:hidden;
  border-right:1px solid rgba(81,148,126,.10);
  background:#06120f;
}

.dc-v2-facility-image{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  display:block;
  filter:saturate(.92) contrast(1.04) brightness(.88);
  transform:scale(1.01);
}

.dc-v2-facility-visual:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(3,14,12,.08),transparent 42%,rgba(4,17,14,.12)),
    linear-gradient(180deg,rgba(3,14,12,.06),transparent 54%,rgba(2,12,10,.50));
  box-shadow:inset 0 0 44px rgba(1,10,8,.32);
}

.dc-v2-facility-overlay{
  position:absolute;
  left:14px;
  bottom:14px;
  z-index:2;
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:2px 8px;
  padding:8px 10px;
  border:1px solid rgba(82,238,181,.24);
  border-radius:8px;
  background:rgba(4,17,14,.72);
  backdrop-filter:blur(8px);
  box-shadow:0 10px 24px rgba(0,0,0,.24);
}

.dc-v2-live-dot{
  grid-row:1/3;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#58e6b0;
  box-shadow:0 0 12px rgba(88,230,176,.72);
}

.dc-v2-facility-overlay strong{
  color:#e8faf3;
  font:900 .65rem ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.04em;
}

.dc-v2-facility-overlay small{
  color:#6fa28f;
  font:800 .50rem ui-monospace,SFMono-Regular,Consolas,monospace;
  letter-spacing:.08em;
}

@media(max-width:760px){
  .dc-v2-facility-visual{
    min-height:210px;
  }
}


/* NetForge 0.12.5 · CSP-safe datacenter country switch */
.dc-country-switch-form{
  display:grid;
  gap:8px;
}

.dc-country-switch-submit{
  width:100%;
  justify-content:center;
}

/* With JavaScript enabled the select submits immediately; keep the button as a
   usable no-JS fallback without making the card visually heavy. */
html.js .dc-country-switch-submit{
  display:none;
}


/* NetForge 0.13.0 · achievement badge system */
.achievement-page{max-width:1500px;margin:0 auto;display:grid;gap:16px}
.achievement-hero{
  display:grid;
  grid-template-columns:64px 1fr auto;
  gap:18px;
  align-items:center;
  padding:20px 22px;
  border:1px solid rgba(87,204,161,.18);
  border-radius:14px;
  background:
    radial-gradient(circle at 92% 0,rgba(87,235,178,.06),transparent 30%),
    linear-gradient(145deg,rgba(8,27,22,.96),rgba(5,17,14,.96));
}
.achievement-hero-icon{
  width:56px;height:56px;display:grid;place-items:center;
  border:1px solid rgba(96,235,182,.22);border-radius:12px;
  background:rgba(57,175,130,.08);font-size:1.5rem
}
.achievement-hero h1{margin:.25rem 0 .3rem;font-size:2rem}
.achievement-hero p{margin:0;color:var(--muted)}
.achievement-total{display:grid;justify-items:end;gap:2px}
.achievement-total strong{font-size:1.4rem;color:#75efbf}
.achievement-total span{color:#668278;font:800 .56rem ui-monospace,monospace;letter-spacing:.08em}

.achievement-category{
  padding:16px;
  border:1px solid rgba(82,147,125,.14);
  border-radius:13px;
  background:linear-gradient(150deg,rgba(7,24,19,.78),rgba(4,15,13,.84));
}
.achievement-category-head{
  display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:13px
}
.achievement-category-head h2{
  margin:0;font-size:.83rem;letter-spacing:.035em
}
.achievement-category-head span{
  color:#5e776e;font:800 .55rem ui-monospace,monospace;letter-spacing:.08em
}
.rarity-grundlagen .achievement-category-head h2{color:#43d6d6}
.rarity-kontrolle .achievement-category-head h2{color:#75d46e}
.rarity-fortgeschritten .achievement-category-head h2{color:#e2b34f}
.rarity-spezial .achievement-category-head h2{color:#bd6be6}

.achievement-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.achievement-card{
  min-width:0;
  display:grid;
  grid-template-columns:118px 1fr;
  gap:14px;
  min-height:166px;
  padding:13px;
  border:1px solid rgba(98,142,128,.15);
  border-radius:11px;
  background:rgba(8,25,20,.62);
  transition:.18s ease;
}
.achievement-card.unlocked:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 30px rgba(0,0,0,.12)
}
.achievement-card.locked{opacity:.52;filter:saturate(.45)}
.achievement-card.unlocked.common{border-color:rgba(58,178,191,.24)}
.achievement-card.unlocked.uncommon{border-color:rgba(105,197,99,.27)}
.achievement-card.unlocked.rare{border-color:rgba(219,166,55,.28)}
.achievement-card.unlocked.epic{border-color:rgba(157,72,215,.30)}
.achievement-card.unlocked.legendary{
  border-color:rgba(222,76,169,.34);
  box-shadow:inset 0 0 30px rgba(222,76,169,.035)
}

.achievement-badge-wrap{
  position:relative;
  width:108px;height:108px;
  align-self:center;
  display:grid;place-items:center;
  border-radius:14px;
  overflow:hidden;
  background:#06130f;
}
.achievement-badge-wrap img{
  width:100%;height:100%;object-fit:cover;display:block
}
.achievement-lock{
  position:absolute;right:5px;bottom:5px;
  width:24px;height:24px;display:grid;place-items:center;
  border-radius:50%;border:1px solid rgba(116,232,190,.24);
  background:rgba(4,17,14,.86);color:#74eabe;font-weight:900;font-size:.65rem
}
.achievement-card.locked .achievement-lock{color:#687f76}

.achievement-card-copy{min-width:0;display:flex;flex-direction:column}
.achievement-card-top{display:flex;justify-content:space-between;gap:10px;align-items:start}
.achievement-card h3{margin:0;font-size:.9rem}
.achievement-rarity{
  flex:0 0 auto;
  padding:3px 6px;border-radius:5px;
  font:800 .52rem ui-monospace,monospace;text-transform:uppercase;letter-spacing:.05em
}
.rarity-common .achievement-rarity{color:#4ec8d1;background:rgba(78,200,209,.08)}
.rarity-uncommon .achievement-rarity{color:#79d16f;background:rgba(121,209,111,.08)}
.rarity-rare .achievement-rarity{color:#dfaf48;background:rgba(223,175,72,.08)}
.rarity-epic .achievement-rarity{color:#b667dd;background:rgba(182,103,221,.08)}
.rarity-legendary .achievement-rarity{color:#d95aa8;background:rgba(217,90,168,.08)}

.achievement-card p{
  margin:.45rem 0 .7rem;color:#849e94;font-size:.71rem;line-height:1.5
}
.achievement-progress-meta{
  display:flex;justify-content:space-between;gap:10px;margin-top:auto;
  color:#668078;font-size:.59rem
}
.achievement-progress-meta strong{color:#91aaa1}
.achievement-progress{
  height:5px;margin-top:5px;border-radius:999px;overflow:hidden;background:rgba(82,126,111,.13)
}
.achievement-progress i{
  display:block;height:100%;border-radius:inherit;background:#53d9a5
}
.rarity-common .achievement-progress i{background:#44c2cd}
.rarity-uncommon .achievement-progress i{background:#72c966}
.rarity-rare .achievement-progress i{background:#d9a83e}
.rarity-epic .achievement-progress i{background:#a35ec8}
.rarity-legendary .achievement-progress i{background:#d550a0}
.achievement-card-copy>small{
  margin-top:7px;color:#617970;font-size:.57rem
}

.achievement-legend{
  display:flex;align-items:center;gap:24px;flex-wrap:wrap;
  padding:12px 16px;border:1px solid rgba(79,137,117,.12);border-radius:10px;
  background:rgba(6,20,16,.48);color:#718980;font-size:.62rem
}
.achievement-legend>strong{
  margin-right:auto;color:#95aaa2;font:800 .58rem ui-monospace,monospace;letter-spacing:.07em
}
.achievement-legend span{display:flex;align-items:center;gap:7px}
.achievement-legend i{width:8px;height:8px;border-radius:50%;display:block}
.achievement-legend .common i{background:#44c2cd}
.achievement-legend .uncommon i{background:#72c966}
.achievement-legend .rare i{background:#d9a83e}
.achievement-legend .epic i{background:#a35ec8}
.achievement-legend .legendary i{background:#d550a0}

@media(max-width:1150px){
  .achievement-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .achievement-hero{grid-template-columns:52px 1fr}
  .achievement-total{grid-column:1/-1;justify-items:start}
  .achievement-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .achievement-card{grid-template-columns:88px 1fr}
  .achievement-badge-wrap{width:82px;height:82px}
}


/* NetForge 0.13.1 · professional network operations center */
.network-page{max-width:1500px;margin:0 auto;display:grid;gap:14px}
.network-page-head{
  display:flex;justify-content:space-between;align-items:flex-end;gap:28px
}
.network-page-head h1{margin:.25rem 0 .3rem;font-size:2.15rem}
.network-page-head p{margin:0;color:var(--muted);max-width:760px}
.network-location{
  min-width:190px;padding:12px 14px;border:1px solid rgba(91,232,178,.16);
  border-radius:11px;background:rgba(8,26,21,.62);display:grid;justify-items:end;gap:3px
}
.network-location span{color:#607a70;font:800 .55rem ui-monospace,monospace;letter-spacing:.08em}
.network-location strong{font-size:1.05rem}
.network-location small{color:#708c81;font-size:.63rem}

.network-kpis{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px
}
.network-kpis article{
  min-width:0;display:flex;align-items:center;gap:10px;padding:11px 12px;
  border:1px solid rgba(84,151,128,.14);border-radius:10px;background:rgba(7,23,19,.58)
}
.network-kpi-icon{
  width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;
  border:1px solid rgba(92,232,178,.17);border-radius:8px;color:#63e8b4;background:rgba(47,160,119,.06)
}
.network-kpis article>div{min-width:0;display:grid;gap:2px}
.network-kpis small{color:#5d786e;font:800 .51rem ui-monospace,monospace;letter-spacing:.07em}
.network-kpis strong{color:#e7f7f1;font-size:.88rem}
.network-kpis b{color:#6f8a7f;font-size:.57rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.network-protection{
  display:grid;grid-template-columns:42px 1fr auto;gap:13px;align-items:center;
  padding:13px 15px;border:1px solid rgba(82,207,158,.26);border-radius:11px;
  background:linear-gradient(145deg,rgba(14,57,43,.68),rgba(7,29,23,.7))
}
.network-protection-icon{
  width:38px;height:38px;display:grid;place-items:center;border-radius:50%;
  border:1px solid rgba(96,235,181,.25);color:#63e8b4
}
.network-protection strong{font-size:.76rem}
.network-protection p{margin:2px 0 0;color:#91aa9f;font-size:.66rem}
.network-protection-time{display:grid;justify-items:end;gap:2px}
.network-protection-time span{color:#5f7d72;font:800 .51rem ui-monospace,monospace}
.network-protection-time strong{font:900 .9rem ui-monospace,monospace;color:#72efbe}

.network-route-live{
  display:grid;grid-template-columns:4px 1fr auto;gap:16px;align-items:center;
  padding:15px 17px;border:1px solid rgba(87,230,175,.26);border-radius:12px;
  background:linear-gradient(145deg,rgba(10,36,28,.92),rgba(5,20,16,.92))
}
.network-route-line{
  width:4px;height:100%;min-height:62px;border-radius:99px;background:#5be7b1;
  box-shadow:0 0 16px rgba(91,231,177,.42)
}
.network-route-main h2{margin:.23rem 0 .3rem;font-size:1rem}
.network-route-main p{margin:.35rem 0 0;color:#718d82;font-size:.65rem}
.network-route-path{display:flex;align-items:center;gap:7px}
.network-route-path span{
  color:#77eeba;font:800 .58rem ui-monospace,monospace
}
.network-route-path i{
  width:55px;height:1px;background:linear-gradient(90deg,#55e0aa,rgba(85,224,170,.2))
}
.network-route-countdown{display:grid;justify-items:end;gap:2px}
.network-route-countdown span{color:#5c786d;font:800 .52rem ui-monospace,monospace}
.network-route-countdown strong{font:900 1.2rem ui-monospace,monospace;color:#e4f8f0}
.network-route-countdown small{color:#6c877c;font-size:.58rem}

.network-workspace{
  display:grid;grid-template-columns:minmax(340px,.8fr) minmax(0,1.2fr);gap:12px;align-items:start
}
.network-scan-console,.network-targets{
  min-width:0;padding:17px;border:1px solid rgba(83,151,128,.15);border-radius:12px;
  background:linear-gradient(150deg,rgba(9,29,23,.9),rgba(5,18,15,.92))
}
.network-section-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px
}
.network-section-head h2{margin:.28rem 0 0;font-size:1.05rem}
.network-section-head>span{color:#5e786e;font:800 .54rem ui-monospace,monospace}
.network-status-dot{display:flex!important;align-items:center;gap:6px!important;color:#61e8b3!important}
.network-status-dot i{width:6px;height:6px;border-radius:50%;background:#58e6b0;box-shadow:0 0 10px rgba(88,230,176,.6)}
.network-intro{margin:0 0 17px;color:#819c91;font-size:.72rem;line-height:1.6}

.network-scan-form label{
  margin:0;color:#668177;font:800 .57rem ui-monospace,monospace;letter-spacing:.06em
}
.network-input-shell{
  display:grid;grid-template-columns:42px 1fr auto;align-items:center;margin-top:7px;
  border:1px solid rgba(92,166,141,.22);border-radius:9px;overflow:hidden;background:#061713
}
.network-input-shell>span{
  height:100%;display:grid;place-items:center;border-right:1px solid rgba(81,140,121,.14);
  color:#5fe6b2;font:800 .62rem ui-monospace,monospace
}
.network-input-shell input{
  min-width:0;border:0!important;border-radius:0!important;background:transparent!important
}
.network-input-shell .button{
  min-height:42px;border-radius:0;border:0;border-left:1px solid rgba(82,173,143,.18)
}
.network-input-shell .button b{margin-left:12px}
.network-scan-specs{
  display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:13px
}
.network-scan-specs>div{
  min-width:0;padding:10px;border:1px solid rgba(77,134,115,.12);border-radius:8px;background:rgba(5,18,15,.44);
  display:grid;gap:2px
}
.network-scan-specs span{color:#607a70;font-size:.58rem}
.network-scan-specs strong{color:#dceee7;font-size:.75rem}
.network-scan-specs small{color:#587066;font-size:.54rem}
.network-scan-note{
  display:flex;gap:9px;align-items:flex-start;margin-top:12px;padding:10px;
  border-left:2px solid rgba(89,225,172,.45);background:rgba(49,145,109,.05)
}
.network-scan-note span{color:#5ee4b0}
.network-scan-note p{margin:0;color:#6f897f;font-size:.63rem;line-height:1.5}

.network-targets{max-height:720px;overflow:auto}
.network-target-list{display:grid;gap:8px}
.network-target-card{
  display:grid;grid-template-columns:34px 1fr;gap:10px;padding:11px;
  border:1px solid rgba(79,137,117,.13);border-radius:9px;background:rgba(6,21,17,.48)
}
.network-target-card.identified{border-color:rgba(87,199,157,.18)}
.network-target-index{
  width:30px;height:30px;display:grid;place-items:center;border-radius:7px;
  border:1px solid rgba(86,155,132,.14);color:#5e796e;font:800 .56rem ui-monospace,monospace
}
.network-target-content{min-width:0}
.network-target-top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.network-target-top>div:first-child{min-width:0;display:grid;gap:2px}
.network-target-ip{color:#6eeab7;font:850 .65rem ui-monospace,monospace}
.network-target-top strong{
  min-width:0;color:#d5e7e0;font-size:.71rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.network-target-tags{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.network-target-tags span{
  padding:3px 6px;border:1px solid rgba(86,151,130,.14);border-radius:5px;
  color:#728d82;font:800 .51rem ui-monospace,monospace
}
.network-target-card p{margin:8px 0;color:#809a90;font-size:.64rem;line-height:1.5}
.network-quality>div:first-child{display:flex;justify-content:space-between;gap:10px}
.network-quality span{color:#59746a;font:800 .51rem ui-monospace,monospace}
.network-quality b{color:#849d93;font-size:.55rem}
.network-quality-track{height:4px;margin-top:4px;border-radius:999px;overflow:hidden;background:rgba(82,124,110,.13)}
.network-quality-track i{display:block;height:100%;border-radius:inherit;background:#53dca8}
.network-target-route{
  display:flex;justify-content:space-between;gap:14px;margin-top:8px;padding:7px 8px;
  border-radius:6px;background:rgba(5,18,15,.48)
}
.network-target-route span{color:#59736a;font:800 .51rem ui-monospace,monospace}
.network-target-route strong{color:#91aa9f;font-size:.57rem;text-align:right}
.network-target-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}
.network-target-actions form{margin:0}
.network-target-actions .button{
  width:100%;min-width:0;display:flex;justify-content:space-between;gap:7px;align-items:center;padding:0 8px
}
.network-target-actions .button span{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap
}
.network-target-actions .button small{color:#69867b;font:800 .49rem ui-monospace,monospace}
.network-no-target{
  margin-top:8px;padding:7px 8px;border-radius:6px;background:rgba(5,18,15,.45);
  color:#566f65;font:800 .52rem ui-monospace,monospace;letter-spacing:.05em
}
.network-empty{
  min-height:260px;display:grid;place-items:center;align-content:center;gap:7px;text-align:center
}
.network-empty>span{
  width:42px;height:42px;display:grid;place-items:center;border-radius:50%;
  border:1px solid rgba(85,151,130,.16);color:#5d786e
}
.network-empty strong{font-size:.77rem}
.network-empty p{max-width:280px;margin:0;color:#6d887d;font-size:.64rem;line-height:1.5}

.network-ops-info{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px
}
.network-ops-info article{
  display:flex;gap:12px;padding:13px;border:1px solid rgba(80,139,119,.12);
  border-radius:9px;background:rgba(6,20,16,.43)
}
.network-ops-info article>span{
  color:#5fe5b1;font:900 .57rem ui-monospace,monospace
}
.network-ops-info strong{font-size:.69rem}
.network-ops-info p{margin:3px 0 0;color:#6e897e;font-size:.61rem;line-height:1.45}

@media(max-width:1180px){
  .network-kpis{grid-template-columns:repeat(3,1fr)}
  .network-workspace{grid-template-columns:1fr}
  .network-targets{max-height:none}
}
@media(max-width:760px){
  .network-page-head{align-items:flex-start;flex-direction:column}
  .network-location{width:100%;justify-items:start}
  .network-kpis{grid-template-columns:1fr 1fr}
  .network-protection,.network-route-live{grid-template-columns:38px 1fr}
  .network-protection-time,.network-route-countdown{grid-column:2;justify-items:start}
  .network-input-shell{grid-template-columns:38px 1fr}
  .network-input-shell .button{grid-column:1/-1;border-left:0;border-top:1px solid rgba(82,173,143,.18)}
  .network-target-actions{grid-template-columns:1fr}
  .network-ops-info{grid-template-columns:1fr}
}


/* NetForge 0.13.2 · professional node infrastructure management */
.nodes-page{max-width:1500px;margin:0 auto;display:grid;gap:14px}
.nodes-page-head{
  display:flex;justify-content:space-between;align-items:flex-end;gap:28px
}
.nodes-page-head h1{margin:.25rem 0 .3rem;font-size:2.15rem}
.nodes-page-head p{margin:0;color:var(--muted);max-width:760px}
.nodes-active-summary{
  min-width:210px;padding:12px 14px;border:1px solid rgba(91,232,178,.16);
  border-radius:11px;background:rgba(8,26,21,.62);display:grid;justify-items:end;gap:3px
}
.nodes-active-summary span{color:#607a70;font:800 .55rem ui-monospace,monospace;letter-spacing:.08em}
.nodes-active-summary strong{font-size:1rem}
.nodes-active-summary small{color:#708c81;font-size:.63rem}

.nodes-kpis{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px
}
.nodes-kpis article{
  min-width:0;display:flex;align-items:center;gap:10px;padding:12px;
  border:1px solid rgba(84,151,128,.14);border-radius:10px;background:rgba(7,23,19,.58)
}
.nodes-kpi-icon{
  width:36px;height:36px;display:grid;place-items:center;flex:0 0 auto;
  border:1px solid rgba(92,232,178,.17);border-radius:8px;color:#63e8b4;background:rgba(47,160,119,.06)
}
.nodes-kpis article>div{min-width:0;display:grid;gap:2px}
.nodes-kpis small{color:#5d786e;font:800 .51rem ui-monospace,monospace;letter-spacing:.07em}
.nodes-kpis strong{color:#e7f7f1;font-size:.88rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nodes-kpis b{color:#6f8a7f;font-size:.57rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.nodes-fleet{
  padding:17px;border:1px solid rgba(83,151,128,.15);border-radius:12px;
  background:linear-gradient(150deg,rgba(9,29,23,.9),rgba(5,18,15,.92))
}
.nodes-section-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px
}
.nodes-section-head h2{margin:.28rem 0 0;font-size:1.05rem}
.nodes-section-head>span{color:#5e786e;font:800 .54rem ui-monospace,monospace}
.nodes-card-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px
}

.node-card{
  min-width:0;display:flex;flex-direction:column;padding:15px;
  border:1px solid rgba(82,143,122,.16);border-radius:11px;
  background:linear-gradient(150deg,rgba(10,31,25,.74),rgba(5,18,15,.8));
  transition:.18s ease
}
.node-card:hover{transform:translateY(-2px);border-color:rgba(91,225,173,.27)}
.node-card.active{
  border-color:rgba(89,232,177,.4);
  box-shadow:inset 0 0 32px rgba(60,210,157,.035),0 12px 28px rgba(0,0,0,.09)
}
.node-card-status{
  display:flex;align-items:center;gap:7px;margin-bottom:14px
}
.node-status-dot{
  width:7px;height:7px;border-radius:50%;background:#5ee7b2;box-shadow:0 0 10px rgba(94,231,178,.6)
}
.node-card-status strong{
  color:#69e7b4;font:800 .54rem ui-monospace,monospace;letter-spacing:.07em
}
.node-card-status b{
  margin-left:auto;color:#607a70;font:800 .54rem ui-monospace,monospace
}

.node-card-identity{
  display:grid;grid-template-columns:46px 1fr auto;gap:11px;align-items:center
}
.node-card-icon{
  width:44px;height:44px;display:grid;place-items:center;border-radius:10px;
  border:1px solid rgba(91,232,178,.18);background:rgba(52,163,122,.07);color:#64e8b5
}
.node-card-identity>div:nth-child(2){min-width:0}
.node-card-identity h3{
  margin:0 0 3px;font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.node-card-identity span{color:#739087;font:750 .6rem ui-monospace,monospace}
.node-level-badge{
  min-width:58px;padding:7px 9px;display:grid;justify-items:center;gap:2px;
  border:1px solid rgba(91,232,178,.14);border-radius:8px;background:rgba(4,18,14,.46)
}
.node-level-badge small{color:#5f796f;font:800 .48rem ui-monospace,monospace}
.node-level-badge strong{color:#6eeab8;font:900 1rem ui-monospace,monospace}

.node-location-row{
  display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:14px
}
.node-location-row>div{
  min-width:0;padding:9px 10px;border:1px solid rgba(78,134,115,.11);border-radius:8px;background:rgba(5,18,15,.42);
  display:grid;gap:2px
}
.node-location-row span{color:#5e776e;font:800 .5rem ui-monospace,monospace;letter-spacing:.05em}
.node-location-row strong{color:#cde0d8;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.node-location-row small{color:#5e756d;font-size:.54rem}

.node-health{margin-top:13px}
.node-health>div:first-child{
  display:flex;justify-content:space-between;gap:10px
}
.node-health span{color:#5d776d;font:800 .5rem ui-monospace,monospace}
.node-health strong{color:#92aaa1;font-size:.57rem}
.node-health-track{
  height:5px;margin-top:5px;overflow:hidden;border-radius:999px;background:rgba(82,124,110,.13)
}
.node-health-track i{
  display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#49ce9a,#64eab5)
}

.node-card-stats{
  display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px
}
.node-card-stats>div{
  display:flex;justify-content:space-between;gap:10px;padding:7px 8px;
  border-bottom:1px solid rgba(78,132,114,.08)
}
.node-card-stats span{color:#657e75;font-size:.58rem}
.node-card-stats strong{color:#a8bfb6;font-size:.6rem;text-align:right}

.node-credit-meter{margin-top:10px}
.node-credit-meter>div:first-child{
  display:flex;justify-content:space-between;gap:10px
}
.node-credit-meter span{color:#5d776d;font:800 .5rem ui-monospace,monospace}
.node-credit-meter strong{color:#90a89f;font-size:.56rem}
.node-credit-meter>div:last-child{
  height:4px;margin-top:5px;overflow:hidden;border-radius:999px;background:rgba(82,124,110,.13)
}
.node-credit-meter i{
  display:block;height:100%;border-radius:inherit;background:#55dca7
}

.node-card-actions{margin-top:auto;padding-top:14px}
.node-card-actions .button{width:100%;display:flex;justify-content:space-between}
.node-active-button{justify-content:center!important}

.node-deploy{
  display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);gap:18px;
  padding:18px;border:1px solid rgba(83,151,128,.15);border-radius:12px;
  background:
    radial-gradient(circle at 5% 0,rgba(58,219,163,.06),transparent 28%),
    linear-gradient(150deg,rgba(9,29,23,.9),rgba(5,18,15,.92))
}
.node-deploy-copy h2{margin:.3rem 0 .45rem;font-size:1.05rem}
.node-deploy-copy>p{margin:0;color:#819b91;font-size:.72rem;line-height:1.6}
.node-deploy-cost{
  margin-top:15px;padding:11px;border:1px solid rgba(84,146,125,.13);border-radius:8px;
  background:rgba(5,18,15,.45);display:grid;gap:2px
}
.node-deploy-cost span{color:#5f796f;font:800 .51rem ui-monospace,monospace}
.node-deploy-cost strong{color:#69e9b6;font-size:1rem}
.node-deploy-cost small{color:#647d73;font-size:.55rem}

.node-deploy-form{
  display:grid;grid-template-columns:1fr 1fr;gap:11px
}
.node-deploy-form label{
  margin:0;color:#607b71;font:800 .53rem ui-monospace,monospace;letter-spacing:.06em
}
.node-input-shell{
  display:grid;grid-template-columns:38px 1fr;align-items:center;margin-top:6px;
  border:1px solid rgba(91,160,137,.19);border-radius:8px;overflow:hidden;background:#061713
}
.node-input-shell>span{
  height:100%;display:grid;place-items:center;border-right:1px solid rgba(81,140,121,.13);color:#61e4b0
}
.node-input-shell input,.node-input-shell select{
  width:100%;min-width:0;border:0!important;border-radius:0!important;background:transparent!important
}
.node-deploy-info{
  grid-column:1/-1;display:flex;gap:9px;padding:9px 10px;
  border-left:2px solid rgba(84,218,165,.42);background:rgba(46,140,105,.05)
}
.node-deploy-info span{color:#5ee3af}
.node-deploy-info p{margin:0;color:#6f897f;font-size:.62rem;line-height:1.5}
.node-deploy-button{
  grid-column:1/-1;width:100%;display:flex;justify-content:space-between;min-height:42px
}

.node-capacity-full{
  display:flex;gap:12px;align-items:center;padding:15px;
  border:1px solid rgba(85,145,124,.13);border-radius:10px;background:rgba(7,22,18,.5)
}
.node-capacity-full>span{
  width:38px;height:38px;display:grid;place-items:center;border-radius:9px;
  border:1px solid rgba(87,169,141,.15);color:#6f8b80
}
.node-capacity-full strong{font-size:.72rem}
.node-capacity-full p{margin:3px 0 0;color:#6e897e;font-size:.62rem}

@media(max-width:1180px){
  .nodes-kpis{grid-template-columns:repeat(3,1fr)}
  .nodes-card-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:820px){
  .nodes-page-head{align-items:flex-start;flex-direction:column}
  .nodes-active-summary{width:100%;justify-items:start}
  .nodes-kpis{grid-template-columns:1fr 1fr}
  .nodes-card-grid{grid-template-columns:1fr}
  .node-deploy{grid-template-columns:1fr}
}
@media(max-width:560px){
  .nodes-kpis{grid-template-columns:1fr}
  .node-deploy-form{grid-template-columns:1fr}
  .node-deploy-info,.node-deploy-button{grid-column:auto}
  .node-location-row{grid-template-columns:1fr}
}


/* NetForge 0.13.3 · rack-style node management */
.nodes-rack-page{max-width:1540px;margin:0 auto;display:grid;gap:14px}
.nodes-rack-head{
  display:flex;justify-content:space-between;align-items:flex-end;gap:28px
}
.nodes-rack-head h1{margin:.25rem 0 .3rem;font-size:2.15rem}
.nodes-rack-head p{margin:0;color:var(--muted)}
.nodes-rack-active{
  min-width:300px;min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:10px 12px 10px 16px;border:1px solid rgba(73,232,168,.28);border-radius:10px;
  background:linear-gradient(145deg,rgba(8,28,22,.88),rgba(4,17,14,.95));
  overflow:hidden
}
.nodes-rack-active>div{display:grid;gap:3px;z-index:2}
.nodes-rack-active span{color:#63e9b5;font:800 .55rem ui-monospace,monospace;letter-spacing:.08em}
.nodes-rack-active strong{font-size:1rem}
.nodes-rack-active small{color:#7a9389;font-size:.62rem}
.nodes-rack-active img{
  width:78px;height:76px;object-fit:cover;object-position:center;opacity:.9;mix-blend-mode:screen;
  mask-image:linear-gradient(90deg,transparent 0,black 20%,black 100%)
}

.nodes-rack-kpis{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px
}
.nodes-rack-kpis article{
  min-width:0;display:flex;align-items:center;gap:11px;padding:12px 14px;
  border:1px solid rgba(82,145,124,.15);border-radius:9px;background:rgba(6,22,18,.55)
}
.nodes-rack-kpi-icon{
  width:38px;height:38px;display:grid;place-items:center;flex:0 0 auto;
  border:1px solid rgba(83,229,174,.18);border-radius:7px;background:rgba(50,157,117,.06);color:#5ce8b1
}
.nodes-rack-kpis article>div{min-width:0;display:grid;gap:2px}
.nodes-rack-kpis small{color:#617970;font:800 .51rem ui-monospace,monospace;letter-spacing:.07em}
.nodes-rack-kpis strong{color:#ecf9f4;font-size:.91rem}
.nodes-rack-kpis b{color:#718a80;font-size:.57rem;font-weight:600}

.nodes-rack-fleet{
  padding:15px;border:1px solid rgba(82,145,124,.16);border-radius:11px;
  background:linear-gradient(145deg,rgba(6,22,18,.72),rgba(3,14,12,.82))
}
.nodes-rack-section-head{
  display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px
}
.nodes-rack-section-head h2{
  margin:0;color:#62eab6;font-size:.76rem;letter-spacing:.06em
}
.nodes-rack-section-head span{
  color:#687f76;font:800 .54rem ui-monospace,monospace
}
.nodes-rack-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px
}

.nodes-rack-slot{
  min-width:0;display:flex;flex-direction:column;min-height:470px;padding:12px;
  border:1px solid rgba(107,139,132,.34);border-radius:9px;
  background:
    linear-gradient(180deg,rgba(11,27,24,.9),rgba(5,17,15,.95)),
    radial-gradient(circle at 15% 20%,rgba(41,172,124,.06),transparent 32%);
  position:relative;overflow:hidden
}
.nodes-rack-slot:before{
  content:"";position:absolute;left:22%;right:22%;top:-1px;height:1px;background:#6e877f
}
.nodes-rack-slot.active{
  border-color:#34e98e;
  box-shadow:0 0 0 1px rgba(52,233,142,.2),inset 0 0 44px rgba(39,219,130,.05),0 0 24px rgba(32,185,112,.08)
}
.nodes-rack-slot.active:before{background:#35eb90;box-shadow:0 0 14px rgba(53,235,144,.7)}
.nodes-rack-slot.slot-2{border-color:rgba(64,169,232,.38)}
.nodes-rack-slot.slot-3{border-color:rgba(177,92,238,.32)}
.nodes-rack-slot-top{
  display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px
}
.nodes-rack-slot-top>span{
  color:#82978f;font-size:.66rem
}
.nodes-rack-slot-top>b{
  padding:3px 7px;border:1px solid rgba(101,155,136,.2);border-radius:5px;
  color:#849b92;font:800 .52rem ui-monospace,monospace;letter-spacing:.05em
}
.nodes-rack-slot.active .nodes-rack-slot-top>b{
  color:#58eaaa;background:rgba(42,190,112,.10);border-color:rgba(62,225,139,.25)
}

.nodes-rack-body{
  display:grid;grid-template-columns:minmax(135px,.8fr) minmax(0,1.2fr);gap:13px;align-items:center;min-height:255px
}
.nodes-rack-tower{
  min-height:235px;display:grid;place-items:center;align-self:stretch;
  background:radial-gradient(circle at 48% 54%,rgba(53,211,150,.08),transparent 50%)
}
.nodes-rack-tower img{
  width:100%;height:100%;max-height:250px;object-fit:cover;object-position:center;display:block;
  border-radius:5px;mix-blend-mode:screen
}
.nodes-rack-slot.free .nodes-rack-tower img{opacity:.86}
.nodes-rack-slot.free.slot-2 .nodes-rack-tower{background:radial-gradient(circle at 48% 54%,rgba(47,151,218,.08),transparent 50%)}
.nodes-rack-slot.free.slot-3 .nodes-rack-tower{background:radial-gradient(circle at 48% 54%,rgba(169,80,219,.08),transparent 50%)}

.nodes-rack-details{min-width:0}
.nodes-rack-details h3{
  margin:0 0 5px;font-size:1.05rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.nodes-rack-details>p{
  margin:0 0 13px;color:#889f96;font-size:.68rem
}
.nodes-country-flag{color:#e8c336}
.nodes-rack-spec{
  display:flex;justify-content:space-between;gap:10px;padding:8px 0;
  border-top:1px solid rgba(103,130,122,.13)
}
.nodes-rack-spec span{color:#84978f;font-size:.62rem}
.nodes-rack-spec strong{
  color:#dce9e4;font-size:.63rem;text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.nodes-rack-integrity{
  height:6px;margin-top:3px;border-radius:999px;overflow:hidden;background:rgba(63,114,95,.14)
}
.nodes-rack-integrity i{
  display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#28c96b,#49e47e)
}
.nodes-rack-integrity.empty{border:1px solid rgba(106,137,128,.15);background:transparent}

.nodes-rack-stats{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;
  margin-top:auto;padding-top:12px;border-top:1px solid rgba(82,122,108,.10)
}
.nodes-rack-stats>div{
  min-width:0;padding:8px 8px;border:1px solid rgba(92,131,119,.12);border-radius:6px;background:rgba(4,15,13,.35);
  display:grid;gap:3px
}
.nodes-rack-stats span{
  color:#7b8f87;font-size:.57rem
}
.nodes-rack-stats strong{
  color:#e1eee9;font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.nodes-rack-slot.active .nodes-rack-stats>div:nth-child(3) strong{color:#4fe18c}
.nodes-rack-action{padding-top:11px}
.nodes-rack-action .button{width:100%;justify-content:center;text-decoration:none}
.nodes-rack-slot.active .nodes-rack-action .button{
  background:linear-gradient(180deg,#2fb857,#219443);border-color:#43dc70;color:#eafff0
}
.nodes-rack-slot.free.slot-2 .nodes-rack-action .button{border-color:rgba(56,146,210,.55);color:#54b8ff}
.nodes-rack-slot.free.slot-3 .nodes-rack-action .button{border-color:rgba(164,78,213,.48);color:#bd6cf3}

.nodes-rack-deploy{
  display:grid;grid-template-columns:320px minmax(320px,.9fr) minmax(360px,1.1fr);gap:20px;
  padding:18px;border:1px solid rgba(82,145,124,.15);border-radius:11px;
  background:linear-gradient(145deg,rgba(6,22,18,.74),rgba(3,14,12,.84))
}
.nodes-rack-deploy-copy .eyebrow{margin-bottom:13px}
.nodes-rack-deploy-copy>p{
  margin:0;max-width:275px;color:#899e96;font-size:.7rem;line-height:1.55
}
.nodes-rack-cost{
  margin-top:17px;padding:12px;border:1px solid rgba(83,143,122,.16);border-radius:7px;background:rgba(4,16,13,.42);
  display:grid;gap:4px
}
.nodes-rack-cost span{color:#7a8e87;font-size:.61rem}
.nodes-rack-cost strong{color:#45e68a;font-size:1.35rem}
.nodes-rack-cost small{color:#768b83;font-size:.58rem}

.nodes-rack-deploy-form{
  display:grid;align-content:start;gap:10px
}
.nodes-rack-deploy-form label{
  margin:0;color:#9baba5;font-size:.65rem
}
.nodes-rack-deploy-form input,.nodes-rack-deploy-form select{
  margin-top:5px;width:100%;min-height:42px
}
.nodes-rack-deploy-note{
  display:flex;gap:9px;align-items:flex-start;margin-top:2px;color:#839b92
}
.nodes-rack-deploy-note>span{color:#4cb9ec}
.nodes-rack-deploy-note p{margin:0;font-size:.63rem;line-height:1.5}

.nodes-rack-map{
  display:grid;grid-template-columns:1fr 1fr;gap:14px;align-items:center
}
.nodes-rack-map>img{
  width:100%;max-height:150px;object-fit:cover;object-position:center;
  border-radius:5px;opacity:.8;mix-blend-mode:screen
}
.nodes-rack-map>div{display:grid;gap:7px}
.nodes-rack-map>div span{
  color:#4be597;font-weight:850;font-size:.72rem
}
.nodes-rack-map>div p{
  margin:0;color:#8aa097;font-size:.66rem;line-height:1.55
}
.nodes-rack-map>.button{
  grid-column:1/-1;width:100%;min-height:42px;justify-content:center;
  background:linear-gradient(180deg,#2eae52,#1c853b);border-color:#3fd267;color:#eaffef
}

@media(max-width:1280px){
  .nodes-rack-grid{grid-template-columns:1fr}
  .nodes-rack-slot{min-height:auto}
  .nodes-rack-body{grid-template-columns:220px 1fr}
  .nodes-rack-deploy{grid-template-columns:1fr 1fr}
  .nodes-rack-map{grid-column:1/-1}
}
@media(max-width:900px){
  .nodes-rack-head{align-items:flex-start;flex-direction:column}
  .nodes-rack-active{width:100%;min-width:0}
  .nodes-rack-kpis{grid-template-columns:repeat(2,1fr)}
  .nodes-rack-deploy{grid-template-columns:1fr}
  .nodes-rack-map{grid-column:auto}
}
@media(max-width:640px){
  .nodes-rack-kpis{grid-template-columns:1fr}
  .nodes-rack-body{grid-template-columns:1fr}
  .nodes-rack-tower{min-height:210px}
  .nodes-rack-tower img{max-height:220px}
  .nodes-rack-stats{grid-template-columns:1fr 1fr}
  .nodes-rack-map{grid-template-columns:1fr}
  .nodes-rack-map>.button{grid-column:auto}
}


/* NetForge 0.13.5 · professional season command */
.season-page{max-width:1500px;margin:0 auto;display:grid;gap:14px}
.season-hero{
  display:flex;justify-content:space-between;align-items:flex-end;gap:28px
}
.season-hero h1{margin:.25rem 0 .3rem;font-size:2.2rem}
.season-hero p{margin:0;color:var(--muted);max-width:820px}
.season-countdown{
  min-width:210px;padding:13px 15px;border:1px solid rgba(87,226,172,.18);
  border-radius:11px;background:rgba(7,24,19,.62);display:grid;justify-items:end;gap:3px
}
.season-countdown span{color:#5d776d;font:800 .54rem ui-monospace,monospace;letter-spacing:.08em}
.season-countdown strong{color:#70edbb;font:900 1.08rem ui-monospace,monospace}
.season-countdown small{color:#6c867b;font-size:.6rem}

.season-progress-panel{
  padding:12px 14px;border:1px solid rgba(80,145,123,.14);border-radius:10px;background:rgba(6,21,17,.52)
}
.season-progress-head{display:flex;justify-content:space-between;gap:18px}
.season-progress-head>div{display:flex;gap:8px;align-items:center}
.season-progress-head span{color:#607970;font:800 .53rem ui-monospace,monospace;letter-spacing:.07em}
.season-progress-head strong{color:#9db7ad;font-size:.62rem}
.season-progress-track{
  height:5px;margin-top:8px;overflow:hidden;border-radius:999px;background:rgba(82,124,110,.13)
}
.season-progress-track i{
  display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#48d6a1,#68ecb7)
}

.season-kpis{
  display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px
}
.season-kpis article{
  min-width:0;display:flex;align-items:center;gap:10px;padding:11px 12px;
  border:1px solid rgba(82,145,124,.14);border-radius:9px;background:rgba(6,22,18,.55)
}
.season-kpi-icon{
  width:35px;height:35px;display:grid;place-items:center;flex:0 0 auto;
  border:1px solid rgba(91,231,177,.17);border-radius:8px;background:rgba(49,159,118,.06);color:#5ce7b1
}
.season-kpis article>div{min-width:0;display:grid;gap:2px}
.season-kpis small{color:#5d776e;font:800 .5rem ui-monospace,monospace;letter-spacing:.07em}
.season-kpis strong{color:#e7f7f1;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.season-kpis b{color:#6f897f;font-size:.55rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.season-event{
  display:grid;grid-template-columns:46px 1fr auto;gap:14px;align-items:center;
  padding:14px 16px;border:1px solid rgba(82,207,158,.27);border-radius:11px;
  background:linear-gradient(145deg,rgba(13,56,42,.68),rgba(7,29,23,.72))
}
.season-event-icon{
  width:42px;height:42px;display:grid;place-items:center;border-radius:50%;
  border:1px solid rgba(103,239,185,.26);color:#66eab6;background:rgba(55,165,124,.07)
}
.season-event h2{margin:.24rem 0 .28rem;font-size:.92rem}
.season-event p{margin:0;color:#8da69c;font-size:.66rem}
.season-event-time{display:grid;justify-items:end;gap:2px}
.season-event-time span{color:#5f7b70;font:800 .5rem ui-monospace,monospace}
.season-event-time strong{color:#72edbb;font:.9rem ui-monospace,monospace}
.season-event-time small{color:#6c867b;font-size:.57rem}

.season-podium,.season-ranking{
  padding:16px;border:1px solid rgba(80,143,121,.15);border-radius:11px;
  background:linear-gradient(145deg,rgba(7,24,19,.78),rgba(4,16,13,.86))
}
.season-section-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:13px
}
.season-section-head h2{margin:.25rem 0 0;font-size:.96rem}
.season-section-head>span{color:#5e776e;font:800 .52rem ui-monospace,monospace}

.season-podium-grid{
  display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:9px;align-items:end
}
.season-podium-card{
  position:relative;min-width:0;padding:15px;border:1px solid rgba(94,135,123,.16);border-radius:10px;
  background:rgba(7,22,18,.55);display:grid;justify-items:center;text-align:center;gap:5px
}
.season-podium-card.place-1{
  min-height:205px;border-color:rgba(221,176,66,.35);
  background:linear-gradient(180deg,rgba(80,59,18,.14),rgba(7,22,18,.62));
  box-shadow:inset 0 0 30px rgba(215,170,61,.03)
}
.season-podium-card.place-2{min-height:185px;border-color:rgba(176,195,196,.24)}
.season-podium-card.place-3{min-height:175px;border-color:rgba(188,115,66,.25)}
.season-podium-card.me{box-shadow:0 0 0 1px rgba(86,232,177,.14),inset 0 0 28px rgba(65,217,161,.025)}
.season-place{
  position:absolute;left:10px;top:9px;color:#8ba096;font:900 .62rem ui-monospace,monospace
}
.place-1 .season-place{color:#d9b24f}
.place-2 .season-place{color:#b5c3c2}
.place-3 .season-place{color:#c47b4c}
.season-avatar{
  width:56px;height:56px;margin-top:8px;display:grid;place-items:center;border-radius:50%;
  border:1px solid rgba(86,217,166,.18);background:rgba(45,138,104,.07);
  color:#77e8ba;font:900 .72rem ui-monospace,monospace
}
.place-1 .season-avatar{width:68px;height:68px;border-color:rgba(220,176,66,.3);color:#e0bd63;background:rgba(138,100,25,.08)}
.season-podium-card h3{margin:4px 0 0;font-size:.85rem}
.season-podium-card h3 small{color:#5fe5b1;font-size:.54rem}
.season-podium-card>strong{color:#dcece6;font-size:.72rem}
.season-podium-card.place-1>strong{color:#dfbd66}
.season-podium-card>small{color:#667f75;font-size:.57rem}
.season-podium-stats{
  display:flex;gap:6px;flex-wrap:wrap;justify-content:center;margin-top:4px
}
.season-podium-stats span{
  padding:4px 6px;border:1px solid rgba(83,132,116,.11);border-radius:5px;
  color:#718a80;font-size:.53rem;background:rgba(4,16,13,.34)
}

.season-ranking-table{
  border:1px solid rgba(80,134,116,.11);border-radius:9px;overflow:hidden
}
.season-ranking-row{
  display:grid;grid-template-columns:70px minmax(180px,1.5fr) repeat(4,minmax(85px,.7fr)) minmax(90px,.75fr);
  gap:10px;align-items:center;min-height:54px;padding:8px 12px;
  border-bottom:1px solid rgba(77,128,111,.09);background:rgba(5,18,15,.36)
}
.season-ranking-row:last-child{border-bottom:0}
.season-ranking-row.header{
  min-height:38px;background:rgba(10,31,25,.7)
}
.season-ranking-row.header span{
  color:#607970;font:800 .51rem ui-monospace,monospace;letter-spacing:.06em
}
.season-ranking-row.me{
  background:linear-gradient(90deg,rgba(48,174,128,.09),rgba(5,18,15,.4));
  box-shadow:inset 2px 0 #58dfac
}
.season-ranking-row.gold{background:linear-gradient(90deg,rgba(151,111,25,.08),rgba(5,18,15,.38))}
.season-ranking-row.silver{background:linear-gradient(90deg,rgba(130,150,151,.055),rgba(5,18,15,.38))}
.season-ranking-row.bronze{background:linear-gradient(90deg,rgba(151,86,47,.06),rgba(5,18,15,.38))}
.season-ranking-row>span{color:#8da49b;font-size:.63rem;min-width:0}
.season-ranking-row b{color:#dcebe5;font-size:.65rem}
.season-rank-number{font:900 .67rem ui-monospace,monospace!important;color:#8ba097!important}
.gold .season-rank-number{color:#ddb84f!important}
.silver .season-rank-number{color:#b9c7c6!important}
.bronze .season-rank-number{color:#c88050!important}
.season-player{
  display:flex;align-items:center;gap:9px
}
.season-player i{
  width:30px;height:30px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;
  border:1px solid rgba(86,202,158,.15);background:rgba(45,137,103,.06);
  color:#79aa98;font:800 .53rem ui-monospace,monospace;font-style:normal
}
.season-player strong{
  min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#d3e4de;font-size:.66rem
}
.season-player small{
  padding:2px 4px;border-radius:4px;background:rgba(62,194,142,.08);color:#5fe5b1;font-size:.47rem
}
.season-rank-status{
  justify-self:start;padding:3px 6px;border:1px solid rgba(85,145,125,.13);border-radius:5px;
  color:#6f887f!important;font:800 .49rem ui-monospace,monospace!important
}
.gold .season-rank-status{color:#d5ae46!important;border-color:rgba(213,174,70,.18)}
.season-ranking-row.me .season-rank-status{color:#5fe4b0!important;border-color:rgba(95,228,176,.18)}

.season-empty{
  min-height:210px;display:grid;place-items:center;align-content:center;gap:6px;text-align:center
}
.season-empty>span{
  width:40px;height:40px;display:grid;place-items:center;border-radius:50%;
  border:1px solid rgba(85,147,127,.15);color:#607970
}
.season-empty strong{font-size:.72rem}
.season-empty p{margin:0;max-width:320px;color:#6e877e;font-size:.61rem;line-height:1.5}

.season-info-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px
}
.season-info-grid article{
  display:flex;gap:11px;padding:12px;border:1px solid rgba(78,135,115,.11);border-radius:8px;background:rgba(6,20,16,.42)
}
.season-info-grid article>span{color:#5fe3af;font:900 .54rem ui-monospace,monospace}
.season-info-grid strong{font-size:.66rem}
.season-info-grid p{margin:3px 0 0;color:#6d877d;font-size:.59rem;line-height:1.45}

@media(max-width:1180px){
  .season-kpis{grid-template-columns:repeat(3,1fr)}
  .season-ranking-row{grid-template-columns:58px minmax(150px,1.3fr) repeat(4,minmax(70px,.6fr))}
  .season-ranking-row>span:last-child{display:none}
  .season-ranking-row.header>span:last-child{display:none}
}
@media(max-width:820px){
  .season-hero{align-items:flex-start;flex-direction:column}
  .season-countdown{width:100%;justify-items:start}
  .season-kpis{grid-template-columns:1fr 1fr}
  .season-event{grid-template-columns:42px 1fr}
  .season-event-time{grid-column:2;justify-items:start}
  .season-podium-grid{grid-template-columns:1fr}
  .season-podium-card{min-height:auto!important}
  .season-podium-card.place-1{order:-1}
  .season-ranking-table{overflow:auto}
  .season-ranking-row{min-width:720px}
  .season-info-grid{grid-template-columns:1fr}
}
@media(max-width:520px){
  .season-kpis{grid-template-columns:1fr}
}


/* NetForge 0.13.6 · professional crew onboarding / creation */
.crew-hub{max-width:1500px;margin:0 auto;display:grid;gap:14px}
.crew-hub-head{
  display:flex;justify-content:space-between;align-items:flex-end;gap:28px
}
.crew-hub-head h1{margin:.25rem 0 .3rem;font-size:2.15rem}
.crew-hub-head p{margin:0;color:var(--muted);max-width:800px}
.crew-wallet{
  min-width:220px;padding:13px 15px;border:1px solid rgba(86,226,172,.18);border-radius:11px;
  background:rgba(7,24,19,.62);display:grid;justify-items:end;gap:3px
}
.crew-wallet span{color:#5d776e;font:800 .53rem ui-monospace,monospace;letter-spacing:.08em}
.crew-wallet strong{color:#6eeab8;font-size:1rem}
.crew-wallet small{color:#6d867c;font-size:.58rem}

.crew-hub-kpis{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px
}
.crew-hub-kpis article{
  min-width:0;display:flex;align-items:center;gap:10px;padding:11px 12px;
  border:1px solid rgba(82,145,124,.14);border-radius:9px;background:rgba(6,22,18,.55)
}
.crew-hub-kpis article>span{
  width:35px;height:35px;display:grid;place-items:center;flex:0 0 auto;
  border:1px solid rgba(91,231,177,.17);border-radius:8px;background:rgba(49,159,118,.06);color:#5ce7b1
}
.crew-hub-kpis article>div{min-width:0;display:grid;gap:2px}
.crew-hub-kpis small{color:#5d776e;font:800 .5rem ui-monospace,monospace;letter-spacing:.07em}
.crew-hub-kpis strong{color:#e7f7f1;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crew-hub-kpis b{color:#6f897f;font-size:.55rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.crew-hub-primary{
  display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:12px;align-items:stretch
}
.crew-create-card,.crew-invite-card,.crew-directory{
  padding:17px;border:1px solid rgba(83,151,128,.15);border-radius:12px;
  background:linear-gradient(150deg,rgba(9,29,23,.9),rgba(5,18,15,.92))
}
.crew-card-head,.crew-directory-head{
  display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:13px
}
.crew-card-head h2,.crew-directory-head h2{margin:.28rem 0 0;font-size:1.05rem}
.crew-cost-badge,.crew-count-badge{
  padding:5px 8px;border:1px solid rgba(86,201,159,.18);border-radius:6px;
  color:#61e6b2;background:rgba(53,160,120,.06);font:800 .56rem ui-monospace,monospace
}
.crew-card-intro{margin:0 0 15px;color:#819b91;font-size:.7rem;line-height:1.6}

.crew-create-form{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.crew-create-form label{margin:0;color:#607a71;font:800 .53rem ui-monospace,monospace;letter-spacing:.06em}
.crew-create-form label>small{display:block;margin-top:5px;color:#5f776e;font-size:.55rem;line-height:1.4}
.crew-input-shell{
  display:grid;grid-template-columns:38px 1fr;align-items:center;margin-top:6px;
  border:1px solid rgba(91,160,137,.19);border-radius:8px;overflow:hidden;background:#061713
}
.crew-input-shell>span{
  height:100%;display:grid;place-items:center;border-right:1px solid rgba(81,140,121,.13);color:#61e4b0;
  font:800 .56rem ui-monospace,monospace
}
.crew-input-shell input{
  width:100%;min-width:0;border:0!important;border-radius:0!important;background:transparent!important
}
.crew-create-preview{
  grid-column:1/-1;padding:11px 12px;border:1px solid rgba(89,214,166,.15);border-radius:8px;
  background:rgba(5,19,15,.46);display:grid;gap:2px
}
.crew-create-preview>span{color:#5d776d;font:800 .5rem ui-monospace,monospace;letter-spacing:.08em}
.crew-create-preview strong{color:#cfe4dc;font-size:.73rem}
.crew-create-preview small{color:#688178;font-size:.56rem}

.crew-create-benefits{
  grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:7px
}
.crew-create-benefits>div{
  display:flex;gap:8px;align-items:flex-start;padding:8px 9px;border:1px solid rgba(77,133,114,.1);
  border-radius:7px;background:rgba(5,18,15,.38)
}
.crew-create-benefits>div>span{color:#5be2ad;font-size:.65rem}
.crew-create-benefits p{margin:0;display:grid;gap:2px}
.crew-create-benefits strong{font-size:.62rem}
.crew-create-benefits small{color:#647e74;font-size:.54rem}
.crew-create-button{
  grid-column:1/-1;width:100%;display:flex;justify-content:space-between;min-height:42px
}

.crew-empty-state{
  min-height:285px;display:grid;place-items:center;align-content:center;gap:7px;text-align:center
}
.crew-empty-state>span{
  width:46px;height:46px;display:grid;place-items:center;border-radius:50%;
  border:1px solid rgba(86,151,130,.17);color:#5d786e;font-size:1rem
}
.crew-empty-state strong{font-size:.76rem}
.crew-empty-state p{max-width:310px;margin:0;color:#6f897f;font-size:.63rem;line-height:1.5}
.crew-invite-list{display:grid;gap:8px}
.crew-invite-item{
  display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:10px;
  border:1px solid rgba(79,136,117,.12);border-radius:8px;background:rgba(5,18,15,.43)
}
.crew-avatar,.crew-directory-avatar{
  width:36px;height:36px;display:grid;place-items:center;border-radius:50%;
  border:1px solid rgba(86,207,160,.17);background:rgba(46,144,108,.06);color:#6fe6b6;
  font:800 .57rem ui-monospace,monospace
}
.crew-invite-item>div:nth-child(2){min-width:0;display:grid;gap:2px}
.crew-invite-item strong{font-size:.66rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crew-invite-item small{color:#687f76;font-size:.56rem}
.crew-invite-actions{display:flex;gap:5px}
.crew-invite-actions form{margin:0}

.crew-directory-head>span{
  color:#5e776e;font:800 .52rem ui-monospace,monospace
}
.crew-directory-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px
}
.crew-directory-card{
  min-width:0;padding:13px;border:1px solid rgba(80,138,118,.13);border-radius:9px;
  background:rgba(5,19,15,.47);display:flex;flex-direction:column
}
.crew-directory-top{
  display:flex;justify-content:space-between;align-items:center;gap:10px
}
.crew-directory-top>span{
  color:#5e786f;font:800 .53rem ui-monospace,monospace
}
.crew-directory-card h3{
  margin:10px 0 12px;font-size:.74rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
}
.crew-directory-stats{
  display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:12px
}
.crew-directory-stats>div{
  padding:8px;border:1px solid rgba(76,130,112,.1);border-radius:6px;background:rgba(4,15,13,.32);
  display:grid;gap:2px
}
.crew-directory-stats span{color:#5f776e;font:800 .48rem ui-monospace,monospace}
.crew-directory-stats strong{color:#a9c0b7;font-size:.61rem}
.crew-directory-card form{margin-top:auto}
.crew-directory-card .button{width:100%;display:flex;justify-content:space-between}
.crew-empty-directory{
  min-height:155px;display:grid;place-items:center;align-content:center;gap:5px;text-align:center
}
.crew-empty-directory>span{color:#5ee0ac;font-size:1.1rem}
.crew-empty-directory strong{font-size:.7rem}
.crew-empty-directory p{margin:0;color:#6e877d;font-size:.6rem}

.crew-onboarding{
  display:grid;grid-template-columns:repeat(3,1fr);gap:8px
}
.crew-onboarding article{
  display:flex;gap:11px;padding:12px;border:1px solid rgba(78,135,115,.11);border-radius:8px;background:rgba(6,20,16,.42)
}
.crew-onboarding article>span{color:#5fe3af;font:900 .54rem ui-monospace,monospace}
.crew-onboarding strong{font-size:.66rem}
.crew-onboarding p{margin:3px 0 0;color:#6d877d;font-size:.59rem;line-height:1.45}

@media(max-width:1120px){
  .crew-hub-primary{grid-template-columns:1fr}
  .crew-directory-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:780px){
  .crew-hub-head{align-items:flex-start;flex-direction:column}
  .crew-wallet{width:100%;justify-items:start}
  .crew-hub-kpis{grid-template-columns:1fr 1fr}
  .crew-create-form{grid-template-columns:1fr}
  .crew-create-preview,.crew-create-benefits,.crew-create-button{grid-column:auto}
  .crew-directory-grid{grid-template-columns:1fr}
  .crew-onboarding{grid-template-columns:1fr}
  .crew-invite-item{grid-template-columns:38px 1fr}
  .crew-invite-actions{grid-column:2}
}
@media(max-width:520px){
  .crew-hub-kpis{grid-template-columns:1fr}
  .crew-create-benefits{grid-template-columns:1fr}
}


/* NetForge 0.14.0 · gameplay loop / progression */
.progression-command,.network-pulse{
  padding:16px;border:1px solid rgba(82,146,124,.15);border-radius:11px;
  background:linear-gradient(145deg,rgba(7,25,20,.82),rgba(4,16,13,.88))
}
.progression-head,.network-pulse-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}
.progression-head h2,.network-pulse-head h2{margin:.24rem 0 0;font-size:.95rem}
.progression-head>span{color:#617b71;font:800 .51rem ui-monospace,monospace}
.next-objective{
  display:grid;grid-template-columns:44px 1fr auto;gap:12px;align-items:center;padding:12px;
  border:1px solid rgba(88,224,173,.18);border-radius:9px;background:linear-gradient(90deg,rgba(35,132,97,.08),rgba(5,18,15,.38))
}
.objective-mark{
  width:40px;height:40px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(91,226,175,.2);
  color:#62e5b1;background:rgba(55,161,121,.06)
}
.objective-main{min-width:0;display:grid;gap:2px}
.objective-main>span,.objective-side>span{color:#5d786e;font:800 .49rem ui-monospace,monospace;letter-spacing:.07em}
.objective-main>strong{font-size:.72rem;color:#d8ebe3}
.objective-main>small{color:#6c867c;font-size:.56rem}
.objective-progress{height:4px;margin-top:6px;border-radius:99px;background:rgba(83,128,113,.13);overflow:hidden}
.objective-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#43ce99,#65e9b5)}
.objective-side{min-width:125px;display:grid;justify-items:end;gap:4px}
.objective-side>strong{font-size:.7rem;color:#b9d0c7}
.objective-side .button{margin-top:2px}
.unlock-roadmap{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;margin-top:9px}
.unlock-step{
  min-width:0;padding:8px;border:1px solid rgba(78,130,113,.1);border-radius:7px;background:rgba(5,18,15,.35);
  display:grid;gap:3px;text-decoration:none!important
}
.unlock-step>span{color:#5ce1ad;font:900 .5rem ui-monospace,monospace}
.unlock-step strong{color:#91a99f;font-size:.54rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.unlock-step small{color:#587068;font:800 .43rem ui-monospace,monospace}
.unlock-step.locked{opacity:.48;cursor:default}
.unlock-step.locked>span{color:#667b73}
.unlock-step.open:hover{border-color:rgba(88,219,169,.22);background:rgba(38,123,93,.06)}

.network-pulse-head>span{display:flex;align-items:center;gap:5px;color:#62dfae;font:800 .49rem ui-monospace,monospace}
.network-pulse-head>span i{width:6px;height:6px;border-radius:50%;background:#5ee2af;box-shadow:0 0 8px rgba(94,226,175,.55)}
.network-pulse-list{display:grid}
.network-pulse-list>div{
  display:grid;grid-template-columns:85px 120px minmax(0,1fr) 48px;gap:9px;align-items:center;
  min-height:35px;border-top:1px solid rgba(76,125,109,.08)
}
.network-pulse-list>div:first-child{border-top:0}
.pulse-kind{
  width:max-content;padding:3px 5px;border:1px solid rgba(80,145,123,.12);border-radius:4px;
  color:#638177;font:800 .44rem ui-monospace,monospace
}
.network-pulse-list strong{font-size:.57rem;color:#9cb3aa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.network-pulse-list p{margin:0;color:#708980;font-size:.56rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.network-pulse-list small{justify-self:end;color:#587068;font:700 .48rem ui-monospace,monospace}
.network-pulse-empty{padding:22px;text-align:center;color:#687f76;font-size:.6rem}

@media(max-width:1100px){
  .unlock-roadmap{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:760px){
  .next-objective{grid-template-columns:40px 1fr}
  .objective-side{grid-column:2;justify-items:start}
  .unlock-roadmap{grid-template-columns:1fr 1fr}
  .network-pulse-list>div{grid-template-columns:75px 1fr 42px}
  .network-pulse-list p{grid-column:2/4;white-space:normal;padding-bottom:6px}
}


/* NetForge 0.15.0 · rivalry, disruptions, crew season control */
.combat-hub{max-width:1500px;margin:0 auto;display:grid;gap:14px}
.combat-hub-head{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.combat-hub-head h1{margin:.25rem 0 .3rem;font-size:2.05rem}
.combat-hub-head p{margin:0;color:var(--muted);max-width:800px}
.combat-status{min-width:205px;padding:12px 14px;border:1px solid rgba(88,214,165,.18);border-radius:10px;background:rgba(7,24,19,.62);display:grid;justify-items:end;gap:2px}
.combat-status span{color:#607a70;font:800 .5rem ui-monospace,monospace;letter-spacing:.07em}
.combat-status strong{color:#64e6b2;font-size:1rem}
.combat-status small{color:#6d857c;font-size:.56rem}
.combat-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.combat-kpis article{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid rgba(81,141,121,.13);border-radius:9px;background:rgba(6,21,17,.52)}
.combat-kpis article>span{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(90,220,171,.15);border-radius:8px;color:#62e1ae}
.combat-kpis article>div{display:grid;gap:2px}
.combat-kpis small{color:#5c766c;font:800 .49rem ui-monospace,monospace}
.combat-kpis strong{font-size:.84rem}
.combat-kpis b{color:#6d877d;font-size:.54rem;font-weight:600}
.combat-disruptions,.rivalry-board,.combat-history,.season-control-board{padding:16px;border:1px solid rgba(80,143,121,.15);border-radius:11px;background:linear-gradient(145deg,rgba(7,24,19,.78),rgba(4,16,13,.86))}
.combat-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px}
.combat-section-head h2{margin:.25rem 0 0;font-size:.95rem}
.combat-section-head>span{color:#5e776e;font:800 .5rem ui-monospace,monospace}
.combat-disruption-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.combat-disruption-grid article{display:grid;grid-template-columns:38px 1fr auto;gap:10px;align-items:center;padding:11px;border:1px solid rgba(198,118,75,.18);border-radius:8px;background:rgba(78,34,18,.08)}
.disruption-severity{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;border:1px solid rgba(223,135,83,.22);color:#dc986e;font:900 .55rem ui-monospace,monospace}
.combat-disruption-grid article>div:nth-child(2){display:grid;gap:2px}
.combat-disruption-grid strong{font-size:.64rem}
.combat-disruption-grid p{margin:0;color:#7c9188;font-size:.55rem}
.combat-disruption-grid article>div:last-child{display:grid;justify-items:end;gap:2px}
.combat-disruption-grid small{color:#657a72;font:800 .46rem ui-monospace,monospace}
.combat-disruption-grid b{color:#d3a081;font-size:.57rem}
.rival-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.rival-card{padding:12px;border:1px solid rgba(78,134,114,.12);border-radius:9px;background:rgba(5,18,15,.4)}
.rival-card.rival{border-color:rgba(213,96,82,.25);background:linear-gradient(145deg,rgba(84,28,24,.09),rgba(5,18,15,.42))}
.rival-card.watch{border-color:rgba(202,169,75,.22)}
.rival-top{display:grid;grid-template-columns:38px 1fr auto;gap:9px;align-items:center}
.rival-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(88,205,159,.17);color:#6ce3b2;font:800 .55rem ui-monospace,monospace}
.rival-top>div:nth-child(2){min-width:0;display:grid;gap:2px}
.rival-top strong{font-size:.66rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rival-top small{color:#687f76;font-size:.53rem}
.rival-top>span{padding:3px 5px;border:1px solid rgba(83,137,119,.12);border-radius:4px;color:#6b857b;font:800 .45rem ui-monospace,monospace}
.rival-card.rival .rival-top>span{color:#dc877e;border-color:rgba(220,112,100,.18)}
.rival-card.watch .rival-top>span{color:#c6ad67;border-color:rgba(198,173,103,.18)}
.rival-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin:10px 0}
.rival-stats>div{padding:7px;border:1px solid rgba(75,126,109,.09);border-radius:6px;background:rgba(4,15,13,.3);display:grid;gap:2px}
.rival-stats span{color:#5d756d;font:800 .44rem ui-monospace,monospace}
.rival-stats strong{color:#9cb2aa;font-size:.55rem}
.rival-actions{display:flex;gap:5px;flex-wrap:wrap}.rival-actions form{margin:0}
.combat-empty{padding:28px;text-align:center;color:#6d857c;font-size:.61rem}
.combat-history-table{border:1px solid rgba(77,128,111,.1);border-radius:8px;overflow:hidden}
.combat-history-row{display:grid;grid-template-columns:90px 100px 1fr 1.2fr 1fr 120px;gap:8px;align-items:center;min-height:43px;padding:7px 10px;border-bottom:1px solid rgba(74,123,107,.07)}
.combat-history-row:last-child{border-bottom:0}
.combat-history-row.header{min-height:34px;background:rgba(10,31,25,.62)}
.combat-history-row span{min-width:0;color:#7d958c;font-size:.55rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.combat-history-row.header span{color:#5d766d;font:800 .47rem ui-monospace,monospace}
.combat-history-row.success{background:rgba(38,121,91,.025)}
.combat-history-row.failed{opacity:.78}
.crew-season-list{display:grid;gap:6px}
.crew-season-list article{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;padding:9px 10px;border:1px solid rgba(76,130,112,.1);border-radius:7px;background:rgba(5,18,15,.38)}
.crew-season-rank{color:#67dfaf;font:900 .58rem ui-monospace,monospace}
.crew-season-name{display:flex;align-items:center;gap:9px;min-width:0}
.crew-season-name>i{width:31px;height:31px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(85,199,154,.15);color:#6bdcae;font:800 .5rem ui-monospace,monospace;font-style:normal}
.crew-season-name>div{display:grid;gap:2px;min-width:0}
.crew-season-name strong{font-size:.61rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.crew-season-name small{color:#667f75;font-size:.52rem}
.crew-season-score{color:#b7cec5;font-size:.59rem}
.season-kpis{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}

@media(max-width:980px){
 .combat-disruption-grid{grid-template-columns:1fr}
 .rival-grid{grid-template-columns:1fr}
 .combat-history-table{overflow:auto}
 .combat-history-row{min-width:760px}
}
@media(max-width:700px){
 .combat-hub-head{flex-direction:column;align-items:flex-start}
 .combat-status{width:100%;justify-items:start}
 .combat-kpis{grid-template-columns:1fr 1fr}
 .rival-stats{grid-template-columns:1fr 1fr}
}
@media(max-width:480px){.combat-kpis{grid-template-columns:1fr}}


/* NetForge 0.15.2 · professional admin user management */
.admin-users-page{max-width:1500px;margin:0 auto;display:grid;gap:14px}
.admin-users-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:6px 0 8px}
.admin-users-hero h1{margin:.2rem 0 .25rem;font-size:2.1rem}
.admin-users-hero p{margin:0;max-width:760px;color:var(--muted)}
.admin-users-hero-badge{min-width:210px;padding:13px 15px;border:1px solid rgba(85,213,164,.16);border-radius:11px;background:linear-gradient(145deg,rgba(8,28,22,.75),rgba(5,18,15,.78));display:grid;justify-items:end;gap:2px}
.admin-users-hero-badge span{color:#5f7a70;font:800 .49rem ui-monospace,monospace;letter-spacing:.08em}
.admin-users-hero-badge strong{font-size:1.15rem;color:#67e3b2}
.admin-users-hero-badge small{font-size:.55rem;color:#70877e}

.admin-users-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.admin-users-kpis article{padding:12px;border:1px solid rgba(75,132,112,.13);border-radius:9px;background:rgba(5,20,16,.5);display:flex;align-items:center;gap:11px}
.admin-users-kpis article>span{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(91,214,168,.15);border-radius:8px;color:#62dfad}
.admin-users-kpis article>div{display:grid;gap:2px}
.admin-users-kpis small{color:#5f786f;font:800 .47rem ui-monospace,monospace;letter-spacing:.05em}
.admin-users-kpis strong{font-size:.86rem}
.admin-users-kpis b{font-size:.53rem;font-weight:600;color:#6c837a}

.admin-users-toolbar{padding:11px 12px;border:1px solid rgba(76,133,113,.13);border-radius:9px;background:rgba(5,19,15,.5);display:flex;justify-content:space-between;gap:12px;align-items:end}
.admin-user-search{display:grid;grid-template-columns:minmax(260px,2fr) 150px 175px auto auto;gap:8px;align-items:end;flex:1;margin:0}
.admin-user-search label{display:grid;gap:5px;margin:0}
.admin-user-search label>span{color:#5d766d;font:800 .45rem ui-monospace,monospace;letter-spacing:.06em}
.admin-user-search input,.admin-user-search select{width:100%;min-height:36px}
.admin-user-search .button{white-space:nowrap}
.admin-users-result{min-width:75px;padding:0 4px 3px;display:grid;justify-items:end}
.admin-users-result span{color:#5e776e;font:800 .44rem ui-monospace,monospace}
.admin-users-result strong{font-size:.8rem;color:#8ba69b}
.admin-users-empty{padding:42px;text-align:center;border:1px dashed rgba(79,139,119,.18);border-radius:10px;color:#70877e}
.admin-users-empty>span{display:block;font-size:1.4rem;color:#5edca9;margin-bottom:8px}
.admin-users-empty strong{display:block;color:#a8beb6;margin-bottom:5px}

.admin-user-list{display:grid;gap:9px}
.admin-user-card{border:1px solid rgba(78,137,117,.14);border-radius:11px;background:linear-gradient(145deg,rgba(7,24,19,.74),rgba(4,16,13,.84));overflow:hidden}
.admin-user-card.is-admin{border-color:rgba(85,213,164,.23)}
.admin-user-summary{display:grid;grid-template-columns:48px minmax(250px,1.25fr) minmax(420px,1.6fr);gap:12px;align-items:center;padding:13px 14px}
.admin-user-avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid rgba(91,218,170,.19);background:rgba(31,107,80,.08);color:#65e1af;font:900 .62rem ui-monospace,monospace}
.admin-user-identity{min-width:0;display:grid;gap:3px}
.admin-user-identity>div{display:flex;align-items:center;gap:7px}
.admin-user-identity h2{margin:0;font-size:.75rem}
.admin-user-id{color:#5b746b;font:800 .48rem ui-monospace,monospace}
.admin-user-identity p{margin:0;color:#748d83;font-size:.56rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-user-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:3px}
.admin-user-badges span{padding:3px 5px;border:1px solid rgba(78,129,112,.12);border-radius:4px;color:#6e877e;font:800 .43rem ui-monospace,monospace;letter-spacing:.03em}
.admin-user-badges .ok{color:#65dcae;border-color:rgba(92,211,165,.17)}
.admin-user-badges .warn{color:#d4a56f;border-color:rgba(212,165,111,.18)}
.admin-user-badges .admin{color:#74d4ef;border-color:rgba(116,212,239,.18)}
.admin-user-badges .protect{color:#bca56f;border-color:rgba(188,165,111,.17)}
.admin-user-quickstats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.admin-user-quickstats>div{padding:7px 8px;border-left:1px solid rgba(73,126,108,.09);display:grid;gap:2px}
.admin-user-quickstats span{color:#5e766d;font:800 .43rem ui-monospace,monospace}
.admin-user-quickstats strong{font-size:.61rem;color:#9bb1a8}

.admin-user-details{grid-column:1/-1;margin:0;padding:0;border-top:1px solid rgba(75,130,111,.09)}
.admin-user-details summary{list-style:none;cursor:pointer;padding:9px 14px;display:flex;align-items:center;justify-content:space-between;color:#6e887e;font:800 .48rem ui-monospace,monospace;letter-spacing:.05em;background:rgba(4,15,12,.25)}
.admin-user-details summary::-webkit-details-marker{display:none}
.admin-user-details summary b{transition:transform .18s ease;font-size:.7rem}
.admin-user-details[open] summary b{transform:rotate(180deg)}
.admin-user-detail-body{padding:12px;display:grid;grid-template-columns:1.15fr 1fr;gap:9px;background:rgba(3,13,11,.2)}
.admin-user-setting{padding:12px;border:1px solid rgba(73,129,109,.11);border-radius:8px;background:rgba(6,21,17,.44)}
.admin-user-setting.security{grid-column:1/-1}
.admin-user-setting-head{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:10px}
.admin-user-setting-head>div{display:grid;gap:2px}
.admin-user-setting-head span{color:#5a756b;font:800 .44rem ui-monospace,monospace;letter-spacing:.06em}
.admin-user-setting-head h3{margin:0;font-size:.68rem}
.admin-user-setting-head small{color:#61786f;font-size:.49rem;text-align:right}
.admin-user-form{display:grid;grid-template-columns:repeat(4,minmax(110px,1fr));gap:7px;align-items:end;margin:0}
.admin-user-form label,.admin-user-email-form label,.admin-security-grid label{display:grid;gap:4px;margin:0;color:#6e877e;font-size:.5rem}
.admin-user-form input,.admin-user-form select,.admin-user-email-form input,.admin-security-grid input{width:100%;min-height:36px}
.admin-user-form-action{grid-column:1/-1;display:flex;justify-content:flex-end}
.admin-user-email-form{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:end;margin:0}
.admin-inline-action{margin:7px 0 0;display:flex;justify-content:flex-end}
.admin-security-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.admin-security-grid form{margin:0;padding:10px;border:1px solid rgba(74,127,109,.09);border-radius:7px;background:rgba(4,15,12,.24)}
.admin-security-grid form:first-child{display:grid;grid-template-columns:1fr auto;gap:7px;align-items:end}
.admin-unlock-form{display:flex;align-items:center;justify-content:space-between;gap:12px}
.admin-unlock-form strong{font-size:.59rem}
.admin-unlock-form p{margin:3px 0 0;color:#637b72;font-size:.51rem}
.admin-unlock-form .button{white-space:nowrap}

@media(max-width:1050px){
 .admin-user-summary{grid-template-columns:48px 1fr}
 .admin-user-quickstats{grid-column:2}
 .admin-user-detail-body{grid-template-columns:1fr}
 .admin-user-setting.security{grid-column:auto}
 .admin-user-search{grid-template-columns:1fr 140px 160px}
 .admin-user-search .button{width:100%}
}
@media(max-width:760px){
 .admin-users-hero{align-items:flex-start;flex-direction:column}
 .admin-users-hero-badge{width:100%;justify-items:start}
 .admin-users-kpis{grid-template-columns:1fr 1fr}
 .admin-users-toolbar{align-items:stretch;flex-direction:column}
 .admin-user-search{grid-template-columns:1fr}
 .admin-users-result{justify-items:start}
 .admin-user-summary{grid-template-columns:42px 1fr}
 .admin-user-quickstats{grid-column:1/-1;grid-template-columns:1fr 1fr}
 .admin-user-form{grid-template-columns:1fr 1fr}
 .admin-user-email-form,.admin-security-grid{grid-template-columns:1fr}
 .admin-security-grid form:first-child{grid-template-columns:1fr}
 .admin-unlock-form{align-items:flex-start;flex-direction:column}
}
@media(max-width:480px){
 .admin-users-kpis,.admin-user-form{grid-template-columns:1fr}
 .admin-user-quickstats{grid-template-columns:1fr 1fr}
}


/* NetForge 0.15.3 · professional admin node management */
.admin-nodes-page{max-width:1500px;margin:0 auto;display:grid;gap:14px}
.admin-nodes-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:6px 0 8px}
.admin-nodes-hero h1{margin:.2rem 0 .25rem;font-size:2.1rem}
.admin-nodes-hero p{margin:0;max-width:760px;color:var(--muted)}
.admin-nodes-hero-badge{min-width:210px;padding:13px 15px;border:1px solid rgba(85,213,164,.16);border-radius:11px;background:linear-gradient(145deg,rgba(8,28,22,.75),rgba(5,18,15,.78));display:grid;justify-items:end;gap:2px}
.admin-nodes-hero-badge span{color:#5f7a70;font:800 .49rem ui-monospace,monospace;letter-spacing:.08em}
.admin-nodes-hero-badge strong{font-size:1.15rem;color:#67e3b2}
.admin-nodes-hero-badge small{font-size:.55rem;color:#70877e}

.admin-nodes-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.admin-nodes-kpis article{padding:12px;border:1px solid rgba(75,132,112,.13);border-radius:9px;background:rgba(5,20,16,.5);display:flex;align-items:center;gap:11px}
.admin-nodes-kpis article>span{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(91,214,168,.15);border-radius:8px;color:#62dfad}
.admin-nodes-kpis article>div{display:grid;gap:2px}
.admin-nodes-kpis small{color:#5f786f;font:800 .47rem ui-monospace,monospace;letter-spacing:.05em}
.admin-nodes-kpis strong{font-size:.86rem}
.admin-nodes-kpis b{font-size:.53rem;font-weight:600;color:#6c837a}

.admin-nodes-toolbar{padding:11px 12px;border:1px solid rgba(76,133,113,.13);border-radius:9px;background:rgba(5,19,15,.5);display:flex;justify-content:space-between;gap:12px;align-items:end}
.admin-node-search{display:grid;grid-template-columns:minmax(260px,2fr) 180px 170px auto auto;gap:8px;align-items:end;flex:1;margin:0}
.admin-node-search label{display:grid;gap:5px;margin:0}
.admin-node-search label>span{color:#5d766d;font:800 .45rem ui-monospace,monospace;letter-spacing:.06em}
.admin-node-search input,.admin-node-search select{width:100%;min-height:36px}
.admin-node-search .button{white-space:nowrap}
.admin-nodes-result{min-width:75px;padding:0 4px 3px;display:grid;justify-items:end}
.admin-nodes-result span{color:#5e776e;font:800 .44rem ui-monospace,monospace}
.admin-nodes-result strong{font-size:.8rem;color:#8ba69b}
.admin-nodes-empty{padding:42px;text-align:center;border:1px dashed rgba(79,139,119,.18);border-radius:10px;color:#70877e}
.admin-nodes-empty>span{display:block;font-size:1.4rem;color:#5edca9;margin-bottom:8px}
.admin-nodes-empty strong{display:block;color:#a8beb6;margin-bottom:5px}

.admin-node-list{display:grid;gap:9px}
.admin-node-card{border:1px solid rgba(78,137,117,.14);border-radius:11px;background:linear-gradient(145deg,rgba(7,24,19,.74),rgba(4,16,13,.84));overflow:hidden}
.admin-node-card.warning{border-color:rgba(201,161,89,.24)}
.admin-node-card.critical{border-color:rgba(213,93,82,.26)}
.admin-node-summary{display:grid;grid-template-columns:54px minmax(260px,1.1fr) minmax(520px,1.7fr);gap:12px;align-items:center;padding:13px 14px}
.admin-node-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:9px;border:1px solid rgba(91,218,170,.18);background:rgba(31,107,80,.08);color:#65e1af}
.admin-node-icon span{font-size:.9rem;line-height:1}
.admin-node-icon small{color:#60796f;font:800 .42rem ui-monospace,monospace}
.admin-node-identity{min-width:0;display:grid;gap:3px}
.admin-node-identity>div{display:flex;align-items:center;gap:8px;min-width:0}
.admin-node-identity h2{margin:0;font-size:.76rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-node-identity>div>span{color:#6c857b;font:800 .51rem ui-monospace,monospace}
.admin-node-identity p{margin:0;color:#748d83;font-size:.56rem}
.admin-node-badges{display:flex;gap:5px;flex-wrap:wrap;margin-top:3px}
.admin-node-badges span{padding:3px 5px;border:1px solid rgba(78,129,112,.12);border-radius:4px;color:#6e877e;font:800 .43rem ui-monospace,monospace;letter-spacing:.03em}
.admin-node-badges .healthy{color:#65dcae;border-color:rgba(92,211,165,.17)}
.admin-node-badges .warning{color:#d4a56f;border-color:rgba(212,165,111,.18)}
.admin-node-badges .critical{color:#dc8379;border-color:rgba(220,100,90,.2)}

.admin-node-quickstats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.admin-node-quickstats>div{padding:7px 8px;border-left:1px solid rgba(73,126,108,.09);display:grid;gap:2px;min-width:0}
.admin-node-quickstats span{color:#5e766d;font:800 .43rem ui-monospace,monospace}
.admin-node-quickstats strong{font-size:.61rem;color:#9bb1a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-node-quickstats small{color:#61786f;font-size:.47rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-node-quickstats i{display:block;height:3px;margin-top:3px;border-radius:99px;background:rgba(74,126,109,.12);overflow:hidden}
.admin-node-quickstats i b{display:block;height:100%;border-radius:inherit;background:#61dbaa}

.admin-node-details{grid-column:1/-1;margin:0;padding:0;border-top:1px solid rgba(75,130,111,.09)}
.admin-node-details summary{list-style:none;cursor:pointer;padding:9px 14px;display:flex;align-items:center;justify-content:space-between;color:#6e887e;font:800 .48rem ui-monospace,monospace;letter-spacing:.05em;background:rgba(4,15,12,.25)}
.admin-node-details summary::-webkit-details-marker{display:none}
.admin-node-details summary b{transition:transform .18s ease;font-size:.7rem}
.admin-node-details[open] summary b{transform:rotate(180deg)}
.admin-node-detail-body{padding:12px;display:grid;grid-template-columns:1.1fr 1fr;gap:9px;background:rgba(3,13,11,.2)}
.admin-node-setting{padding:12px;border:1px solid rgba(73,129,109,.11);border-radius:8px;background:rgba(6,21,17,.44)}
.admin-node-setting.wide{grid-column:1/-1}
.admin-node-setting-head{display:flex;justify-content:space-between;align-items:start;gap:12px;margin-bottom:10px}
.admin-node-setting-head>div{display:grid;gap:2px}
.admin-node-setting-head span{color:#5a756b;font:800 .44rem ui-monospace,monospace;letter-spacing:.06em}
.admin-node-setting-head h3{margin:0;font-size:.68rem}
.admin-node-setting-head small{color:#61786f;font-size:.49rem;text-align:right}
.admin-node-form{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:7px;align-items:end;margin:0}
.admin-node-form label{display:grid;gap:4px;margin:0;color:#6e877e;font-size:.5rem}
.admin-node-form input,.admin-node-form select{width:100%;min-height:36px}
.admin-node-form-action{grid-column:1/-1;display:flex;justify-content:flex-end}
.admin-node-components{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.admin-node-components>div{padding:8px;border:1px solid rgba(73,126,108,.09);border-radius:6px;background:rgba(4,15,12,.25);display:grid;gap:2px}
.admin-node-components span{color:#5d766d;font:800 .42rem ui-monospace,monospace}
.admin-node-components strong{font-size:.58rem;color:#9ab0a7}
.admin-node-owner{display:grid;grid-template-columns:1fr 1.3fr .7fr auto;gap:8px;align-items:center}
.admin-node-owner>div{display:grid;gap:2px;min-width:0}
.admin-node-owner span{color:#5d766d;font:800 .43rem ui-monospace,monospace}
.admin-node-owner strong{font-size:.57rem;color:#9bb1a8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-node-owner .button{white-space:nowrap}

@media(max-width:1100px){
 .admin-node-summary{grid-template-columns:48px 1fr}
 .admin-node-quickstats{grid-column:2}
 .admin-node-detail-body{grid-template-columns:1fr}
 .admin-node-setting.wide{grid-column:auto}
 .admin-node-search{grid-template-columns:1fr 160px 160px}
 .admin-node-owner{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
 .admin-nodes-hero{align-items:flex-start;flex-direction:column}
 .admin-nodes-hero-badge{width:100%;justify-items:start}
 .admin-nodes-kpis{grid-template-columns:1fr 1fr}
 .admin-nodes-toolbar{align-items:stretch;flex-direction:column}
 .admin-node-search{grid-template-columns:1fr}
 .admin-nodes-result{justify-items:start}
 .admin-node-summary{grid-template-columns:42px 1fr}
 .admin-node-quickstats{grid-column:1/-1;grid-template-columns:1fr 1fr}
 .admin-node-form{grid-template-columns:1fr}
 .admin-node-components{grid-template-columns:1fr 1fr}
 .admin-node-owner{grid-template-columns:1fr}
 .admin-node-owner .button{width:100%}
}
@media(max-width:480px){
 .admin-nodes-kpis{grid-template-columns:1fr}
 .admin-node-quickstats{grid-template-columns:1fr 1fr}
}


/* NetForge 0.15.4 · professional admin control center */
.admin-control-page{max-width:1500px;margin:0 auto;display:grid;gap:14px}
.admin-control-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;padding:8px 0}
.admin-control-hero h1{margin:.2rem 0 .25rem;font-size:2.2rem}
.admin-control-hero p{margin:0;color:var(--muted)}
.admin-control-state{min-width:220px;padding:13px 15px;border:1px solid rgba(86,213,165,.17);border-radius:11px;background:linear-gradient(145deg,rgba(8,28,22,.76),rgba(5,18,15,.8));display:grid;justify-items:end;gap:3px}
.admin-control-state>span{color:#5d786e;font:800 .47rem ui-monospace,monospace;letter-spacing:.08em}
.admin-control-state strong{display:flex;align-items:center;gap:6px;color:#64dfad;font-size:.65rem}
.admin-control-state strong i{width:7px;height:7px;border-radius:50%;background:#61e3af;box-shadow:0 0 8px rgba(97,227,175,.55)}
.admin-control-state small{color:#657d74;font-size:.49rem}

.admin-control-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.admin-control-kpis article{padding:11px;border:1px solid rgba(76,133,113,.13);border-radius:9px;background:rgba(5,20,16,.5);display:flex;align-items:center;gap:9px;min-width:0}
.admin-control-kpis article>span{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border:1px solid rgba(90,215,168,.15);border-radius:8px;color:#62dfad}
.admin-control-kpis article>div{display:grid;gap:2px;min-width:0}
.admin-control-kpis small{color:#5d766d;font:800 .43rem ui-monospace,monospace}
.admin-control-kpis strong{font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-control-kpis b{color:#687f76;font-size:.49rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.admin-control-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:10px}
.admin-control-health,.admin-control-actions,.admin-activity-feed{padding:15px;border:1px solid rgba(77,136,116,.14);border-radius:11px;background:linear-gradient(145deg,rgba(7,24,19,.75),rgba(4,16,13,.84))}
.admin-control-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.admin-control-section-head h2{margin:.2rem 0 0;font-size:.88rem}
.admin-control-section-head>span{color:#5d756d;font:800 .45rem ui-monospace,monospace}
.admin-health-row{display:grid;grid-template-columns:150px 1fr 120px;gap:10px;align-items:center;min-height:38px;border-top:1px solid rgba(72,124,107,.07)}
.admin-health-row:first-of-type{border-top:0}
.admin-health-row>div:first-child{display:flex;justify-content:space-between;gap:8px}
.admin-health-row span{color:#728a81;font-size:.54rem}
.admin-health-row strong{color:#a5bbb2;font-size:.56rem}
.admin-health-track{height:5px;border-radius:99px;background:rgba(75,126,109,.12);overflow:hidden}
.admin-health-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#43cc98,#67e6b4)}
.admin-health-row small{justify-self:end;color:#61796f;font-size:.48rem}
.admin-control-alerts{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:10px}
.admin-control-alerts>div{padding:8px;border:1px solid rgba(74,128,109,.09);border-radius:6px;background:rgba(4,15,12,.26);display:grid;gap:2px}
.admin-control-alerts span{color:#5d756d;font:800 .4rem ui-monospace,monospace}
.admin-control-alerts strong{font-size:.62rem;color:#95aca3}

.admin-quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.admin-quick-grid a{padding:9px 10px;border:1px solid rgba(76,130,112,.1);border-radius:7px;background:rgba(4,16,13,.3);display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;text-decoration:none!important}
.admin-quick-grid a:hover{border-color:rgba(91,215,168,.22);background:rgba(31,105,79,.06)}
.admin-quick-grid a>span{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;border:1px solid rgba(84,191,151,.12);color:#62dca9}
.admin-quick-grid a>div{display:grid;gap:2px}
.admin-quick-grid strong{font-size:.57rem;color:#9fb5ac}
.admin-quick-grid small{font-size:.48rem;color:#627a71}
.admin-quick-grid b{color:#5f786f}

.admin-live-event{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:13px 15px;border:1px solid rgba(133,111,205,.18);border-radius:10px;background:linear-gradient(90deg,rgba(67,44,119,.08),rgba(7,22,18,.7))}
.admin-live-event-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:8px;border:1px solid rgba(150,122,224,.17);color:#a28bdc}
.admin-live-event h2{margin:.15rem 0 .2rem;font-size:.72rem}
.admin-live-event p{margin:0;color:#6d847b;font-size:.53rem}
.admin-live-event>div:last-child{display:grid;justify-items:end;gap:2px}
.admin-live-event>div:last-child span{color:#6b6484;font:800 .43rem ui-monospace,monospace}
.admin-live-event>div:last-child strong{color:#b2a3d8;font-size:.62rem}
.admin-live-event>div:last-child small{color:#746a91;font-size:.48rem}

.admin-activity-list{display:grid}
.admin-activity-list article{display:grid;grid-template-columns:105px 1fr 92px;gap:10px;align-items:center;min-height:48px;border-top:1px solid rgba(72,124,107,.07)}
.admin-activity-list article:first-child{border-top:0}
.admin-activity-type{width:max-content;padding:3px 6px;border:1px solid rgba(79,134,115,.12);border-radius:4px;color:#69847a;font:800 .42rem ui-monospace,monospace}
.admin-activity-type.combat{color:#d2877e;border-color:rgba(210,118,108,.17)}
.admin-activity-type.datacenter{color:#82b5db;border-color:rgba(112,165,205,.17)}
.admin-activity-type.upgrade,.admin-activity-type.research{color:#65dca9;border-color:rgba(95,207,160,.16)}
.admin-activity-list article>div{min-width:0;display:grid;gap:2px}
.admin-activity-list strong{font-size:.56rem;color:#9db3aa}
.admin-activity-list p{margin:0;color:#70877e;font-size:.52rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.admin-activity-list time{display:grid;justify-items:end;gap:2px}
.admin-activity-list time b{font-size:.48rem;color:#718a80}
.admin-activity-list time small{font-size:.43rem;color:#566d64}
.admin-activity-empty{padding:26px;text-align:center;color:#6b8279}

@media(max-width:1150px){
 .admin-control-kpis{grid-template-columns:repeat(3,1fr)}
 .admin-control-grid{grid-template-columns:1fr}
}
@media(max-width:720px){
 .admin-control-hero{align-items:flex-start;flex-direction:column}
 .admin-control-state{width:100%;justify-items:start}
 .admin-control-kpis{grid-template-columns:1fr 1fr}
 .admin-health-row{grid-template-columns:1fr}
 .admin-health-row small{justify-self:start}
 .admin-control-alerts{grid-template-columns:1fr 1fr}
 .admin-live-event{grid-template-columns:38px 1fr}
 .admin-live-event>div:last-child{grid-column:2;justify-items:start}
 .admin-activity-list article{grid-template-columns:90px 1fr}
 .admin-activity-list time{grid-column:2;justify-items:start;display:flex;gap:8px}
}
@media(max-width:460px){
 .admin-control-kpis,.admin-quick-grid{grid-template-columns:1fr}
}


/* NetForge 0.16.0 · player feedback / bugtracker */
.feedback-page{max-width:1500px;margin:0 auto;display:grid;gap:14px}
.feedback-hero{display:flex;justify-content:space-between;align-items:flex-end;gap:22px;padding:7px 0}
.feedback-hero h1{margin:.2rem 0 .25rem;font-size:2.05rem}
.feedback-hero p{margin:0;color:var(--muted);max-width:760px}
.feedback-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);min-width:330px;border:1px solid rgba(83,204,158,.15);border-radius:10px;overflow:hidden;background:rgba(5,20,16,.52)}
.feedback-hero-stats>div{padding:10px 12px;display:grid;gap:2px;border-left:1px solid rgba(73,126,108,.08)}
.feedback-hero-stats>div:first-child{border-left:0}
.feedback-hero-stats span{color:#5e776e;font:800 .42rem ui-monospace,monospace}
.feedback-hero-stats strong{font-size:.76rem;color:#93aea3}

.feedback-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:10px;align-items:start}
.feedback-submit-card,.feedback-tickets-card,.feedback-detail{padding:15px;border:1px solid rgba(77,136,116,.14);border-radius:11px;background:linear-gradient(145deg,rgba(7,24,19,.75),rgba(4,16,13,.84))}
.feedback-section-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.feedback-section-head h2{margin:.2rem 0 0;font-size:.88rem}
.feedback-section-head>span{color:#5e766d;font:800 .44rem ui-monospace,monospace}
.feedback-form{display:grid;gap:9px;margin:0}
.feedback-form label{display:grid;gap:5px;margin:0;color:#71897f;font-size:.52rem}
.feedback-form input,.feedback-form select,.feedback-form textarea{width:100%}
.feedback-form textarea{resize:vertical;min-height:90px}
.feedback-form-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.feedback-form-note{padding:8px 10px;border:1px solid rgba(205,170,91,.12);border-radius:6px;background:rgba(89,67,22,.06);color:#897b5d;font-size:.5rem}

.feedback-ticket-list{display:grid;gap:6px;max-height:690px;overflow:auto;padding-right:3px}
.feedback-ticket{display:grid;grid-template-columns:44px 1fr auto;gap:8px;align-items:center;padding:9px 10px;border:1px solid rgba(76,129,111,.1);border-radius:7px;background:rgba(4,16,13,.28);text-decoration:none!important}
.feedback-ticket:hover{border-color:rgba(91,211,165,.2);background:rgba(33,105,80,.05)}
.feedback-ticket-id{color:#62dca9;font:900 .5rem ui-monospace,monospace}
.feedback-ticket>div{min-width:0;display:grid;gap:2px}
.feedback-ticket strong{font-size:.57rem;color:#9fb4ac;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.feedback-ticket small{font-size:.45rem;color:#627970}
.feedback-status{width:max-content;padding:3px 6px;border:1px solid rgba(76,130,111,.12);border-radius:4px;color:#6e877d;font:800 .42rem ui-monospace,monospace}
.feedback-status.open,.feedback-status.triage{color:#d2a96f;border-color:rgba(210,169,111,.18)}
.feedback-status.planned{color:#81afd2;border-color:rgba(112,164,204,.18)}
.feedback-status.in_progress{color:#a791d9;border-color:rgba(158,136,214,.18)}
.feedback-status.resolved{color:#63dba9;border-color:rgba(93,207,160,.18)}
.feedback-status.closed,.feedback-status.rejected,.feedback-status.duplicate{color:#72857d}
.feedback-empty{padding:36px;text-align:center;color:#6b8279}
.feedback-empty>span{display:block;font-size:1.25rem;color:#5fd9a8;margin-bottom:6px}
.feedback-empty strong{display:block;color:#9bb1a8;margin-bottom:4px}

.feedback-detail-meta{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:10px}
.feedback-detail-meta>div{padding:8px;border:1px solid rgba(74,128,109,.09);border-radius:6px;background:rgba(4,15,12,.25);display:grid;gap:2px}
.feedback-detail-meta span{color:#5e766d;font:800 .4rem ui-monospace,monospace}
.feedback-detail-meta strong{font-size:.52rem;color:#91a99f}
.feedback-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.feedback-detail-grid article{padding:10px;border:1px solid rgba(75,130,111,.09);border-radius:7px;background:rgba(4,15,12,.23)}
.feedback-detail-grid article>span,.feedback-admin-note>span{color:#5e766d;font:800 .42rem ui-monospace,monospace}
.feedback-detail-grid p,.feedback-admin-note p{margin:6px 0 0;color:#788f86;font-size:.54rem;line-height:1.55}
.feedback-admin-note{margin-top:8px;padding:10px;border:1px solid rgba(93,204,163,.14);border-radius:7px;background:rgba(30,101,77,.05)}
.feedback-comments{display:grid;gap:6px;margin-top:10px}
.feedback-comments article{padding:9px 10px;border:1px solid rgba(75,128,110,.09);border-radius:7px;background:rgba(4,15,12,.22)}
.feedback-comments article.admin{border-color:rgba(93,207,163,.15);background:rgba(31,100,77,.05)}
.feedback-comments article>div{display:flex;justify-content:space-between;gap:10px}
.feedback-comments strong{font-size:.52rem;color:#93aba1}
.feedback-comments time{font-size:.44rem;color:#5d746b}
.feedback-comments p{margin:5px 0 0;color:#71887f;font-size:.53rem}
.feedback-comments form{margin-top:4px;display:grid;gap:6px}

/* NetForge 0.16.0 · admin bugtracker */
.admin-bug-page{max-width:1600px;margin:0 auto;display:grid;gap:14px}
.admin-bug-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:22px;padding:7px 0}
.admin-bug-hero h1{margin:.2rem 0 .25rem;font-size:2.05rem}
.admin-bug-hero p{margin:0;color:var(--muted)}
.admin-bug-hero-status{min-width:190px;padding:12px 14px;border:1px solid rgba(86,213,165,.16);border-radius:10px;background:rgba(5,20,16,.52);display:grid;justify-items:end;gap:2px}
.admin-bug-hero-status span{color:#5d766d;font:800 .43rem ui-monospace,monospace}
.admin-bug-hero-status strong{color:#64dfad;font-size:1rem}
.admin-bug-hero-status small{color:#667e75;font-size:.48rem}
.admin-bug-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.admin-bug-kpis article{padding:11px;border:1px solid rgba(76,132,113,.13);border-radius:8px;background:rgba(5,20,16,.48);display:flex;align-items:center;gap:9px}
.admin-bug-kpis article>span{width:33px;height:33px;display:grid;place-items:center;border:1px solid rgba(90,214,168,.14);border-radius:7px;color:#63dcaa}
.admin-bug-kpis article>div{display:grid;gap:2px}
.admin-bug-kpis small{color:#5c756c;font:800 .42rem ui-monospace,monospace}
.admin-bug-kpis strong{font-size:.75rem}
.admin-bug-kpis b{color:#687f76;font-size:.48rem;font-weight:600}

.admin-bug-toolbar{padding:10px 11px;border:1px solid rgba(76,132,113,.13);border-radius:8px;background:rgba(5,19,15,.47);display:flex;gap:10px;justify-content:space-between;align-items:end}
.admin-bug-toolbar form{display:grid;grid-template-columns:minmax(220px,2fr) 155px 150px 145px auto auto;gap:7px;align-items:end;flex:1;margin:0}
.admin-bug-toolbar label{display:grid;gap:4px;margin:0}
.admin-bug-toolbar label>span,.admin-bug-toolbar>div span{color:#5d756d;font:800 .41rem ui-monospace,monospace}
.admin-bug-toolbar input,.admin-bug-toolbar select{width:100%;min-height:35px}
.admin-bug-toolbar>div{display:grid;justify-items:end;gap:2px;min-width:65px}
.admin-bug-toolbar>div strong{font-size:.72rem;color:#8ca59b}

.admin-bug-layout{display:grid;grid-template-columns:minmax(360px,.75fr) minmax(520px,1.25fr);gap:10px;align-items:start}
.admin-bug-list{display:grid;gap:6px;max-height:960px;overflow:auto;padding-right:3px}
.admin-bug-ticket{padding:10px;border:1px solid rgba(75,129,110,.1);border-radius:8px;background:rgba(5,18,15,.38);display:grid;gap:5px;text-decoration:none!important}
.admin-bug-ticket:hover,.admin-bug-ticket.selected{border-color:rgba(89,211,164,.22);background:rgba(31,102,78,.06)}
.admin-bug-ticket.critical{border-left:3px solid rgba(210,83,75,.65)}
.admin-bug-ticket.high{border-left:3px solid rgba(205,151,77,.55)}
.admin-bug-ticket-top{display:flex;align-items:center;gap:5px}
.admin-bug-ticket-top>span:first-child{color:#62dca9;font:900 .47rem ui-monospace,monospace}
.admin-bug-ticket-top .feedback-status{margin-left:auto}
.bug-type{padding:2px 5px;border:1px solid rgba(75,128,110,.11);border-radius:3px;color:#667f75;font:800 .39rem ui-monospace,monospace}
.admin-bug-ticket>strong{font-size:.58rem;color:#9eb4ab}
.admin-bug-ticket>p{margin:0;color:#6e857c;font-size:.5rem;line-height:1.45}
.admin-bug-ticket-meta{display:flex;gap:7px;flex-wrap:wrap;color:#5d746b;font-size:.43rem}

.admin-bug-detail{position:sticky;top:82px;padding:14px;border:1px solid rgba(77,135,115,.14);border-radius:10px;background:linear-gradient(145deg,rgba(7,24,19,.77),rgba(4,16,13,.86));max-height:calc(100vh - 100px);overflow:auto}
.admin-bug-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.admin-bug-detail-head h2{margin:.2rem 0 .2rem;font-size:.83rem}
.admin-bug-detail-head p{margin:0;color:#657d74;font-size:.49rem}
.admin-bug-report-body{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:10px}
.admin-bug-report-body article{padding:9px;border:1px solid rgba(74,128,109,.09);border-radius:6px;background:rgba(4,15,12,.24)}
.admin-bug-report-body span{color:#5c756c;font:800 .4rem ui-monospace,monospace}
.admin-bug-report-body p{margin:5px 0 0;color:#728a80;font-size:.51rem;line-height:1.5}
.admin-bug-update{margin-top:9px;padding:10px;border:1px solid rgba(78,135,115,.1);border-radius:7px;background:rgba(5,18,15,.34);display:grid;gap:7px}
.admin-bug-update-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.admin-bug-update label,.admin-bug-comments label{display:grid;gap:4px;margin:0;color:#70887f;font-size:.48rem}
.admin-bug-comments{display:grid;gap:6px;margin-top:10px}
.admin-bug-comments article{padding:8px 9px;border:1px solid rgba(74,127,109,.08);border-radius:6px;background:rgba(4,15,12,.22)}
.admin-bug-comments article.admin{border-color:rgba(89,204,160,.14)}
.admin-bug-comments article>div{display:flex;justify-content:space-between;gap:8px}
.admin-bug-comments strong{font-size:.49rem;color:#94aba2}
.admin-bug-comments span{font-size:.4rem;color:#5d746b}
.admin-bug-comments p{margin:5px 0 0;color:#71887f;font-size:.5rem}
.admin-bug-comments form{display:grid;gap:6px;margin-top:3px}
.admin-bug-empty{padding:30px;text-align:center;color:#687f76}

.admin-control-alerts{grid-template-columns:repeat(auto-fit,minmax(90px,1fr))}

@media(max-width:1100px){
 .feedback-grid{grid-template-columns:1fr}
 .admin-bug-layout{grid-template-columns:1fr}
 .admin-bug-detail{position:static;max-height:none}
 .admin-bug-toolbar form{grid-template-columns:1fr 1fr 1fr}
}
@media(max-width:760px){
 .feedback-hero,.admin-bug-hero{align-items:flex-start;flex-direction:column}
 .feedback-hero-stats,.admin-bug-hero-status{width:100%;justify-items:start}
 .feedback-detail-meta,.feedback-detail-grid{grid-template-columns:1fr 1fr}
 .admin-bug-kpis{grid-template-columns:1fr 1fr}
 .admin-bug-toolbar{align-items:stretch;flex-direction:column}
 .admin-bug-toolbar form{grid-template-columns:1fr}
 .admin-bug-toolbar>div{justify-items:start}
 .admin-bug-report-body{grid-template-columns:1fr}
}
@media(max-width:520px){
 .feedback-form-row,.feedback-detail-meta,.feedback-detail-grid,.admin-bug-kpis,.admin-bug-update-row{grid-template-columns:1fr}
 .feedback-hero-stats{min-width:0}
 .feedback-ticket{grid-template-columns:38px 1fr}
 .feedback-ticket>.feedback-status{grid-column:2}
}


/* NetForge 0.16.1 · HTN inspiration / About section */
.public-about-copy p strong{color:#b7d8cc}
.public-about-legacy{margin:18px 0;padding:13px 14px;border:1px solid rgba(94,211,166,.16);border-left:3px solid rgba(94,225,174,.55);border-radius:8px;background:linear-gradient(90deg,rgba(31,105,79,.08),rgba(4,17,13,.18));display:grid;gap:4px}
.public-about-legacy span{color:#5f8879;font:800 .45rem ui-monospace,monospace;letter-spacing:.09em}
.public-about-legacy strong{color:#9fc9b9;font-size:.61rem;line-height:1.45}
.public-about-safety{padding-top:2px;color:#698178!important;font-size:.53rem!important}
