@import url('https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@400;500;600;700&family=Rajdhani:wght@400;500;600;700&display=swap');
:root{--bg:#030916;--surface:#06172a;--line:#116a9a;--cyan:#22dfff;--gold:#ffc544;--pink:#e87efc;--text:#ecf8ff;--muted:#8fb1c9;--green:#3cf0bd}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:'Rajdhani',system-ui,sans-serif}body{background:radial-gradient(ellipse at 50% -5%,#062c46,#031122 45%,#010712 100%)}button,select,input{font:inherit}button{cursor:pointer;border:0;transition:transform .16s,filter .16s,background .16s}button:hover:not(:disabled){filter:brightness(1.21)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.36;cursor:not-allowed}.hidden{display:none!important}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.shell{height:100dvh;max-width:2000px;min-height:580px;margin:auto;padding:0 14px 4px;display:flex;flex-direction:column;position:relative;overflow:hidden;isolation:isolate}.topbar{height:auto;min-height:86px;flex:none;position:relative;z-index:5;display:flex;flex-direction:row;align-items:stretch;padding:8px 0 0;gap:0}.cosmos{pointer-events:none;position:absolute;inset:0 3% -22px 10%;z-index:-1;opacity:.95;background:url('assets/planet.svg') center -7px / contain no-repeat,radial-gradient(ellipse at 52% -100%,#004e8730,transparent 70%)}.orbit{position:absolute;inset:0;background:radial-gradient(ellipse at 48% -60%,transparent 38%,#00b9ff15 45%,transparent 50%)}
.logo{flex:0 0 auto;z-index:2;display:flex;align-items:center;gap:10px;text-decoration:none;color:#eef9ff;padding:0 12px 0 0;min-width:0}.topbar-left{flex:0 0 auto;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:6px 8px 6px 0;min-width:0}.logoicon{font-size:28px;line-height:1;color:var(--gold);text-shadow:0 0 16px #ffc83d7a}.logo b{font:700 clamp(19px,1.75vw,29px) 'Chakra Petch',sans-serif;letter-spacing:.23em;white-space:nowrap;text-shadow:0 0 12px #83cfff5c}.logo small{display:block;font:600 10px 'Chakra Petch',sans-serif;color:#a9d5f3;letter-spacing:1.1px;white-space:nowrap}
.topbar-right{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:6px;z-index:4;padding:0 0 6px 0;min-width:0}.missiontools{z-index:4;position:relative}.missiontools select{appearance:none;background:linear-gradient(145deg,#061c31,#071323);border:1px solid #159ad2;border-radius:10px;color:#f0faff;font-weight:700;letter-spacing:.2px;font-size:13px;min-width:min(240px,30vw);height:34px;padding:0 38px 0 38px;box-shadow:inset 0 0 11px #22bfff1c,0 0 19px #00acff12;cursor:pointer}.missiontools:before{content:'▱';font-size:23px;color:var(--cyan);position:absolute;margin:8px 0 0 9px;line-height:1;pointer-events:none}.missiontools:after{content:'⌄';position:absolute;right:10px;top:10px;pointer-events:none;color:#d6eaff}.targettag{display:none}
.rightactions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:5px;z-index:4;max-width:600px}.ghost,.subbutton{border:1px solid #22567a;border-radius:7px;background:linear-gradient(145deg,#102a43,#061426);color:#d5efff;font-weight:700;font-size:11px;white-space:nowrap;padding:6px 10px;box-shadow:inset 0 1px #7ddfff19,0 3px 9px #0008}.rightactions .tourney-trigger{color:#ffdc79;border-color:#eaa82e;box-shadow:inset 0 0 18px #a8691f3c,0 0 15px #ffc54640}.rightactions .pilot-chip{color:#77ecff;border-color:#2597a1}.sound-btn{color:#9eb8c8}.sound-btn.sound-on{color:#4bffc1;border-color:#2eaa7a;box-shadow:inset 0 0 12px #2eaa7a33}
.timer-wrap{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;z-index:3;pointer-events:none;padding:0 8px}.hud{height:60px;display:flex;justify-content:center;align-items:center}.hudstat{display:block}.hudstat .timer{display:block;line-height:.99;font:700 clamp(46px,4.2vw,72px) 'Chakra Petch',sans-serif;letter-spacing:3px;color:#e4f5ff;text-shadow:0 2px #558bad,0 0 12px #70c8ff7a,0 0 26px #2b96ff76}.hudstat .timer.timer-danger{color:#ff657a;animation:pulse 1s infinite}.progress{height:7px;width:100%;border:1px solid #16a4cf;border-radius:12px;background:#061a29;overflow:hidden;box-shadow:0 0 12px #0cc9ff34}.progress #phaseProgress{height:100%;width:0;background:linear-gradient(90deg,#17dddf,#6effee,#ffd159);box-shadow:0 0 15px #46ffff;transition:width .2s}.phase-caption{margin-top:6px;letter-spacing:1.7px;font:600 11px 'Chakra Petch',sans-serif;color:#8feeff;white-space:nowrap;text-shadow:0 0 10px #22cfff75}
.tournamentstrip{position:relative;z-index:15;margin-top:0;left:25%;width:min(700px,60%);padding:8px 12px;background:#091c35;border:1px solid #e6aa38;border-radius:9px;display:flex;gap:10px;align-items:center;box-shadow:0 0 22px #f8b63b57}.tourneyicon,.tourney-emblem{color:#ffd465;font-size:28px}.tourneyinfo{flex:1;min-width:0}.eyebrow{color:#80e6ff;font-size:11px;letter-spacing:1.4px;font-family:'Chakra Petch',sans-serif;font-weight:700}.tourneyinfo strong{font-size:13px}.tourneyinfo small{display:none}.tourneyactions{display:flex;gap:6px}.net-pill{color:#7df0ff;border:1px solid #40718c;border-radius:5px;padding:6px;font-size:11px}
.bodygrid{flex:1;min-height:0;display:grid;grid-template-columns:clamp(220px,18vw,280px) minmax(0,1fr);gap:16px;align-items:stretch;z-index:2;position:relative}.topfive{position:relative;min-height:0;background:linear-gradient(170deg,#081a33f2,#041322fb 60%,#032137fb);border:1px solid #05c7ee;border-radius:13px;box-shadow:inset 0 0 24px #0f8bd52b,0 0 15px #00ddff18;display:flex;align-items:center;flex-direction:column;padding:14px 12px 16px;overflow:hidden}.topfive:before{content:'';position:absolute;inset:0 0 auto;height:30%;background:linear-gradient(130deg,transparent 30%,#f3b72d28 45%,transparent 65%),radial-gradient(ellipse at 50% 100%,#f9be352a,transparent 63%);pointer-events:none}.topfive-emblem{font-size:44px;line-height:1.15;filter:drop-shadow(0 0 10px #ffcc6d);z-index:1}.topfive h2{font:700 clamp(17px,1.4vw,23px) 'Chakra Petch',sans-serif;letter-spacing:1px;color:#ffe9a9;margin:5px 0 1px;z-index:1;white-space:nowrap}.topfive>p{font-size:11px;letter-spacing:2px;color:#9ed5f4;margin:1px 0 15px;z-index:1}.topfive-list{width:100%;display:flex;flex-direction:column;gap:7px;overflow-y:auto;flex:1;min-height:0}.topfive-list::-webkit-scrollbar{width:3px}.topfive-list::-webkit-scrollbar-thumb{background:#24698b}.five-row{min-height:56px;display:grid;grid-template-columns:38px 35px minmax(0,1fr) auto;gap:8px;align-items:center;padding:5px 10px;background:linear-gradient(105deg,#091b31,#092238);border:1px solid #176282;border-radius:9px;box-shadow:inset 0 1px #95e8ff13}.five-row:nth-child(1){border-color:#f3b83c;background:linear-gradient(90deg,#3e2e0a8f,#09182d 72%);box-shadow:0 0 15px #ffbe4142,inset 0 0 10px #e0a31d2c}.five-row:nth-child(2){border-color:#5d8ca9}.five-row:nth-child(3){border-color:#cd8952}.five-rank{font:700 19px 'Chakra Petch',sans-serif;display:grid;place-items:center;color:#d6e9f6}.five-row:nth-child(1) .five-rank{color:#ffd259}.five-avatar{width:35px;height:35px;border:1px solid #80d4ff;border-radius:50%;display:grid;place-items:center;font:700 15px 'Chakra Petch',sans-serif;background:radial-gradient(circle at 36% 25%,#8053ce,#14284a 63%,#070d1c);box-shadow:0 0 12px #219ae955}.five-row:nth-child(2) .five-avatar{background:radial-gradient(circle at 32% 26%,#219feb,#0c1641 70%)}.five-row:nth-child(3) .five-avatar{background:radial-gradient(circle at 30% 28%,#15d6df,#152241 70%)}.five-user{min-width:0}.five-user b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.five-user small{color:#8df5ff;font-size:10px;letter-spacing:.4px}.five-row:nth-child(1) .five-user small{color:#ffcd51}.five-points{text-align:right;font-size:15px;font-weight:700;white-space:nowrap}.five-points small{display:block;font-size:10px;color:#9fbacb;font-weight:500}.fivefoot{padding-top:8px;font:600 10px 'Chakra Petch',sans-serif;color:#688aa7;letter-spacing:1px}.emptyfive{margin:auto;text-align:center;color:#94bad1;line-height:1.5;font-size:16px}
.stage{position:relative;min-width:0;min-height:0;border:1px solid #079cd1;border-radius:15px;background:linear-gradient(150deg,#06203b,#041327 45%,#051f33);box-shadow:inset 0 0 30px #04598835,0 0 16px #0689d52e;overflow:hidden}.boardtop{height:46px;display:flex;position:absolute;top:7px;left:14px;right:118px;z-index:5;justify-content:space-between;align-items:flex-start;gap:10px;pointer-events:none}.board-stats{display:flex;background:linear-gradient(110deg,#0b2b44e8,#102339ed);border:1px solid #1a537a;border-radius:9px;box-shadow:inset 0 1px #8bdfff1c}.board-stats>div{display:grid;grid-template-columns:27px 1fr;grid-template-rows:14px 21px;column-gap:7px;min-width:112px;padding:6px 10px;align-items:center;position:relative}.board-stats>div+div:before{content:'';position:absolute;height:29px;left:0;top:9px;width:1px;background:#366181}.stat-symbol{grid-row:span 2;font-size:24px;color:#54dfff}.board-stats small{font-size:9px;color:#b8d7eb;line-height:1}.board-stats b{font:700 19px 'Chakra Petch',sans-serif;color:#67eaff;line-height:1.1}.board-region{margin-top:4px;border:1px solid #1c587e;border-radius:8px;background:#0b2035ce;color:#acc7db;padding:9px;font:600 11px 'Chakra Petch',sans-serif;white-space:nowrap}.board-region span{color:#31f2b5;margin-left:7px;border:1px solid #0cae7a;padding:4px;border-radius:5px}
.canvas{position:absolute;inset:58px 84px 40px 4px;border-radius:12px;overflow:hidden;background-color:#04172b;background-image:linear-gradient(#14618d40 1px,transparent 1px),linear-gradient(90deg,#14618d40 1px,transparent 1px),radial-gradient(ellipse at 65% 50%,#0545735a,transparent 73%);background-size:64px 64px,64px 64px,100% 100%;box-shadow:inset 0 0 25px #0008}.canvas.dragover{outline:2px dashed var(--cyan);outline-offset:-8px}.gridlabel{display:none}.links,.nodes{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.links{pointer-events:none}.wire{fill:none;stroke:#43dfff;stroke-width:2.5;opacity:.91;filter:drop-shadow(0 0 5px #38e9ff)}.wire.selected{stroke:#ffd758;stroke-width:4}.wire.hit{pointer-events:stroke;stroke:transparent;stroke-width:18;cursor:pointer;filter:none}.wirebad{stroke:#fc5678;opacity:.5}.wire.flow{stroke-dasharray:7 13;animation:flow 1.3s linear infinite}.trafficdot{filter:drop-shadow(0 0 5px #51ffff)}.internet{position:absolute;left:3%;top:46%;display:flex;align-items:center;flex-direction:column;gap:5px;z-index:3;cursor:pointer;transform:translateY(-50%);touch-action:none}.interneticon{height:57px;width:57px;border:2px solid #35dcfa;border-radius:50%;background:radial-gradient(circle,#093e55,#052235);display:grid;place-items:center;font-size:35px;color:#73edff;box-shadow:0 0 16px #00dcff8e,inset 0 0 13px #0c8db4}.internet b{font:700 14px 'Chakra Petch',sans-serif;color:#66e8ff}.internet small{display:none}.internet.selected .interneticon{border-color:#ffd659}.node{position:absolute;width:92px;height:90px;transform:translate(-50%,-50%);display:flex;align-items:center;flex-direction:column;z-index:3;cursor:grab;touch-action:none;user-select:none}.nodes{pointer-events:none}.nodes .node{pointer-events:auto}.node .nodebox{position:relative;width:66px;height:62px;display:grid;place-items:center;border:2px solid var(--accent);border-radius:13px;background:linear-gradient(140deg,#1e3043,#0a1930);box-shadow:0 0 17px color-mix(in srgb,var(--accent) 55%,transparent),inset 0 0 16px color-mix(in srgb,var(--accent) 12%,transparent)}.node .nodeicon{display:grid;place-items:center;width:100%;height:100%;color:var(--accent)}.service-symbol{height:27px;width:27px;display:block;filter:drop-shadow(0 0 5px currentColor)}.node .service-symbol{height:35px;width:35px;stroke-width:2px}.node .nodename{margin-top:5px;font:700 13px 'Chakra Petch',sans-serif;white-space:nowrap;color:#eaf5ff;text-shadow:0 2px 4px #000}.node.unwired .nodebox{opacity:.55;border-style:dashed}.node.selected .nodebox{border-color:#ffcb59;box-shadow:0 0 26px #ffa928b8}.node .node-port{position:absolute;right:-10px;top:-8px;z-index:6;width:24px;height:25px;border:1px solid #2cdfff;background:#04263c;color:#63f1ff;border-radius:7px;font-size:15px;font-weight:700;display:grid;place-items:center;touch-action:none;cursor:crosshair}.node.dragging{z-index:18;cursor:grabbing;filter:drop-shadow(0 0 13px #68e6ff)}.node.dragging .nodebox{transform:scale(1.08)}.node.pressing .nodebox{animation:holdhint .54s ease forwards}.node.operating .nodebox{animation:operating 1.2s ease-in-out infinite}.node.damaged .nodebox{border-color:#f75670}.node.gesture-target .nodebox{box-shadow:0 0 30px #59ffd6}.emptyhint{position:absolute;top:38%;left:50%;transform:translateX(-50%);background:#041526df;border:1px solid #17698a;border-radius:25px;padding:12px 20px;white-space:nowrap;color:#64eaff;font:700 10px 'Chakra Petch',sans-serif;letter-spacing:1px;box-shadow:0 0 18px #00d5ff30}.canvasbottom{position:absolute;bottom:2px;left:10px;right:12px;display:none}.eventbanner{position:absolute;bottom:16%;left:50%;transform:translateX(-50%);max-width:80%;z-index:8;pointer-events:none;text-align:center;padding:13px 24px;border:2px solid #ffbf4d;border-radius:9px;background:#051322ed;box-shadow:0 0 28px #ffbf4f55}.eventlabel{font:700 20px 'Chakra Petch',sans-serif;letter-spacing:2px;color:#ffe9ab}.eventbanner p{margin:4px;color:#d2eaff}.canvastoast{position:absolute;left:50%;top:62%;transform:translateX(-50%);z-index:15;padding:9px 15px;background:#041b2de9;color:#b7ecff;border:1px solid #2b92b0;border-radius:9px;font-weight:700;box-shadow:0 0 15px #3cdfff40;white-space:nowrap}.creditfloat{position:absolute;color:#ffe16c;z-index:20;font:700 18px 'Chakra Petch',sans-serif;text-shadow:0 0 13px #ffb92c;animation:creditpop 1.1s forwards;pointer-events:none}
.stagebar{position:absolute;right:5px;top:24px;z-index:7}.stagecontrols{display:flex;flex-direction:column;gap:8px}.control{width:60px;height:52px;display:flex;align-items:center;justify-content:center;gap:4px;flex-direction:column;border:1px solid #286f9a;border-radius:10px;background:linear-gradient(145deg,#092c46,#071426);color:#e1f3ff;font-size:14px;font-weight:700;box-shadow:inset 0 0 17px #20c6ff16}.control.active{border-color:#12dfff;box-shadow:inset 0 0 19px #22dcff33,0 0 19px #00dfff60}.ctrl-ico{color:#5ceeff;font-size:22px;line-height:1}.bottomcontrols{position:absolute;left:15px;right:17px;bottom:8px;z-index:4;display:flex;align-items:center;gap:9px}.bottomcontrols .subbutton{font-size:12px;padding:8px 13px}.interaction-tip{margin-left:auto;color:#a6c8dd;font-size:13px;white-space:nowrap}.nodeactions{position:absolute;z-index:20;transform:translate(-50%,0);width:210px;max-width:calc(100% - 12px);background:#08192fea;border:1px solid #58e6ff;border-radius:11px;padding:10px;box-shadow:0 0 36px #15baff6c,0 15px 30px #000b;touch-action:manipulation}.actiontop{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-family:'Chakra Petch',sans-serif}.actiontop button{background:transparent;color:white;font-size:20px}.actionrow{display:flex;gap:7px;margin-top:8px}.actionrow button{flex:1;font-weight:700;font-size:12px;padding:8px 4px;border:1px solid #367c98;background:#0c2b40;color:#c8eaff;border-radius:6px}.actionrow .sellbtn{background:linear-gradient(90deg,#735521,#f6c342);color:#130d04;border-color:#ffde74}.nudgerow{display:none}
.marketbar{z-index:3;position:relative;flex:none;display:flex;align-items:stretch;gap:12px;height:150px;margin-top:8px}.marketbar:before{content:'';position:absolute;inset:0 0 0 0;background:linear-gradient(110deg,#061d37dd,#071526e8);border:1px solid #0a6999;border-radius:13px;pointer-events:none}.library{flex:1;min-width:0;display:flex;align-items:stretch;padding:6px;gap:10px;z-index:1;overflow:hidden}.dock-credits{width:95px;min-width:95px;display:flex;align-items:center;justify-content:center;flex-direction:column;position:relative;border:1px solid #ffd45c;border-radius:12px;background:radial-gradient(ellipse at 50% 30%,#6d450d5f,transparent 65%),#061727;box-shadow:inset 0 0 24px #dc8c1738,0 0 16px #ffae3248;font:700 42px 'Chakra Petch',sans-serif;color:#ffdb62;text-shadow:0 0 15px #e5a63786}.dock-credits:before{content:'◉';font-size:31px;line-height:1;display:block;color:#ffc33c;filter:drop-shadow(0 0 10px #ffc948)}.dock-credits b{font:700 clamp(20px,2vw,32px) 'Chakra Petch',sans-serif}.dock-credits span{font:700 15px 'Chakra Petch',sans-serif;letter-spacing:2px;color:#d8eaff;text-shadow:none}.catalog{min-width:0;flex:1;display:flex;align-items:stretch;gap:10px;overflow-x:auto;overflow-y:hidden;padding-bottom:5px;scrollbar-width:thin;scrollbar-color:#115e88 transparent}.dock-group{display:flex;flex-direction:column;flex:none;gap:4px;padding-right:8px;border-right:1px solid #1b6185}.dock-group:last-child{border-right:0;padding-right:0}.groupname{min-height:14px;white-space:nowrap;color:#eaf6ff;font:700 11px 'Chakra Petch',sans-serif;letter-spacing:.4px}.dock-group:nth-child(1) .groupname:before{content:'● ';color:#ffb077}
.dock-group:nth-child(2) .groupname:before{content:'● ';color:#69ddff}
.dock-group:nth-child(3) .groupname:before{content:'● ';color:#92d951}
.dock-group:nth-child(4) .groupname:before{content:'● ';color:#df70ef}
.dock-group:nth-child(5) .groupname:before{content:'● ';color:#38c9b0}
.dock-group:nth-child(6) .groupname:before{content:'● ';color:#ff587b}.groupcards{display:flex;gap:7px;flex:1;align-items:stretch}.catalog .service{width:76px;min-width:76px;min-height:0;flex:none;border:1px solid color-mix(in srgb,var(--accent) 70%,#304960);border-radius:10px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 13%,#0a172c),#081529);color:#deefff;display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1px;padding:7px 4px 5px;touch-action:pan-x;user-select:none;cursor:grab;box-shadow:inset 0 0 16px color-mix(in srgb,var(--accent) 10%,transparent)}.catalog .service:hover{box-shadow:0 0 18px color-mix(in srgb,var(--accent) 38%,transparent);transform:translateY(-2px)}.catalog .service.unavailable{opacity:.45}.svcicon{display:grid;place-items:center;color:var(--accent);height:30px;filter:drop-shadow(0 0 7px currentColor)}.svcicon svg{height:24px;width:24px}.svcname{font:700 10px 'Chakra Petch',sans-serif;text-align:center;min-height:25px;display:grid;place-items:center;line-height:1.1}.svccost{align-self:stretch;text-align:center;border:1px solid color-mix(in srgb,var(--accent) 46%,#394761);border-radius:6px;color:#e8f2ff;background:#0713258c;font:700 11px 'Chakra Petch',sans-serif;padding:2px}.marketbar>.launch{flex:0 0 168px;z-index:2;align-self:center;margin:0 10px 0 0;min-height:68px;font-size:18px}
.launch{background:linear-gradient(135deg,#ffed83,#f6b42e 61%,#ffdb70);border:2px solid #ffe18b;border-radius:12px;box-shadow:0 0 22px #ffbc365a,inset 0 0 13px #fff4bb99,0 8px 10px #0007;color:#2e1d05;font:700 18px 'Chakra Petch',sans-serif;letter-spacing:.4px;padding:12px 21px}.launch:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 0 33px #ffd24a90}.cloudfloor{pointer-events:none;position:absolute;bottom:-70px;left:-10%;right:-10%;height:135px;background:radial-gradient(ellipse at 9% 80%,#1c7eba70,transparent 19%),radial-gradient(ellipse at 21% 89%,#1e649282,transparent 25%),radial-gradient(ellipse at 69% 90%,#186a9998,transparent 30%),radial-gradient(ellipse at 92% 70%,#1286aa77,transparent 21%),linear-gradient(0deg,#040f1b,transparent);z-index:-1;filter:blur(6px)}footer{flex:none;height:14px;display:flex;align-items:end;justify-content:space-between;color:#3c6985;font-size:9px;letter-spacing:1px}
.operations{display:none;position:fixed;z-index:35;right:15px;top:135px;width:min(360px,88vw);bottom:20px;overflow-y:auto;background:#06192bf8;border:1px solid #137ba8;border-radius:12px;padding:14px;box-shadow:0 0 35px #001d38}.operations.ops-open{display:block}.panelhead h2{margin:4px 0;font-family:'Chakra Petch',sans-serif}.panelhead p{color:var(--muted);margin:0}.goalbox{display:flex;justify-content:space-between;align-items:center;margin:12px 0;padding:10px;border:1px solid #24516e;border-radius:7px}.goalbox strong{display:block;font:700 22px 'Chakra Petch',sans-serif}.goalbox .difficulty{color:var(--gold)}.objective,.trafficbox,.audit,.buildcheck{margin-top:12px;border-top:1px solid #214660;padding-top:9px}.operations h3{font:700 13px 'Chakra Petch',sans-serif;margin:4px 0 9px}.objrow{display:flex;gap:8px;margin:3px 0;color:#adcadb;font-size:14px}.objrow.pass .objmark{color:#4bffc1}.objrow.fail .objmark{color:#ff6c83}.traffichead{display:flex;justify-content:space-between;color:#cceeff}.trafficbox canvas{width:100%;height:120px}.chartlegend{display:flex;gap:15px;font-size:11px}.chartlegend i{display:inline-block;width:7px;height:7px;margin-right:4px;border-radius:50%}.cyan{background:#2be1ff}.green{background:#4bffc1}.red{background:#ff6884}.feed{max-height:150px;overflow:auto}.feeditem{display:flex;gap:7px;font-size:12px;margin:4px 0;color:#a8c9dc}.feeditem.good{color:#59e9ba}.feeditem.warn{color:#ffd66a}.feeditem.bad{color:#ff8095}.feeditem time{flex:none;color:#638fa4}.buildcheck{color:#b3d6e8}.buildcheck strong{display:block}
.overlay{position:fixed;inset:0;z-index:100;background:#000b;display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(5px)}.resultcard,.helpmodal,.tournamentmodal,.namemodal{position:relative;width:min(720px,100%);max-height:95dvh;overflow-y:auto;padding:27px 30px;background:radial-gradient(ellipse at 50% -20%,#19415f,#0b1931 50%,#06101e 100%);border:1px solid #67b9d6;border-radius:17px;box-shadow:0 0 55px #0096e13d,0 30px 70px #000c;animation:popin .18s ease}.closemodal{position:absolute;right:14px;top:10px;font-size:25px;border:1px solid #315b76;color:#dff5ff;background:#0c293c;border-radius:6px;width:32px;height:32px}.resulttop{text-align:center;font:700 25px 'Chakra Petch',sans-serif;letter-spacing:2px}.resulttop span{display:block;font-size:15px;color:#ffcf52;margin:6px}.resultscore{text-align:center;font:700 clamp(38px,6vw,76px) 'Chakra Petch',sans-serif;color:#ffe578;text-shadow:0 0 28px #ffcb4a77}.resultmetrics{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;text-align:center}.resultmetrics>div{background:#091e33;border:1px solid #225a77;border-radius:8px;padding:8px}.resultmetrics b{font:700 clamp(17px,2.3vw,31px) 'Chakra Petch',sans-serif;display:block}.resultmetrics span{font-size:11px;color:#8fb6d0}.gradearea{display:flex;align-items:center;gap:15px;margin-top:10px}.biggrade{font:700 73px 'Chakra Petch',sans-serif;color:#69ffc3}.gradearea p{font-weight:700;font-size:18px}.lesson{color:#86e8e6;text-align:center;font-size:15px}.saveboard{padding:12px;background:#081b30;border:1px solid #245b7b;border-radius:10px}.saveline{color:#fbd777;font-weight:700;font-size:13px}.nameinput{display:flex;gap:7px;margin:8px 0}.nameinput input{flex:1;min-width:0;padding:9px;border:1px solid #45bfd8;border-radius:7px;background:#061627;color:#eafaff}.nameinput button,.resultbuttons button{padding:9px 12px;color:#142032;background:#ffcd5e;border:1px solid #ffedab;border-radius:6px;font-weight:700}.boardsub{display:flex;justify-content:space-between;color:#a2d1de;font-size:12px}.leaderrow{display:grid;grid-template-columns:35px 1fr 100px 35px;gap:5px;padding:4px 8px;border-bottom:1px solid #214562;font-size:13px}.resultbuttons{display:flex;justify-content:space-between;margin-top:12px;gap:12px}.resultbuttons button{background:#0e3755;color:#e6f7ff;border-color:#2f8bb6}.helpmodal h2,.tournamentmodal h2{font:700 28px 'Chakra Petch',sans-serif;color:#fff1b7}.helprows p{font-size:15px;line-height:1.4;padding:5px 0;border-bottom:1px solid #25445e}.helprows b{color:#8feeff}.disclaimer{color:#9fb4c8;font-size:12px}.tournamentmodal{text-align:center}.tourney-lead{color:#b2cedf;font-size:16px}.challenge-banner{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:14px 0}.challenge-banner>div{background:#0b2940;padding:12px 6px;border:1px solid #236389;border-radius:8px}.challenge-banner span{font-size:11px;color:#a3c6dc;display:block}.challenge-banner strong{display:block;font-size:15px}.lobbystatus{font-size:13px;color:#6de9dd}.lobby-head{display:flex;align-items:center;justify-content:space-between;margin-top:13px}.weeklyboard{max-height:270px;overflow:auto}.weeklyrow{display:grid;grid-template-columns:35px 1fr 95px 30px;text-align:left;gap:8px;border-bottom:1px solid #205273;padding:8px}.weeklyrow b{color:var(--gold)}.weeklyrow em{font-style:normal;color:#4df2c4}.emptyboard{padding:19px;color:#97bdd2}.lobby-foot{margin-top:14px;display:flex;gap:12px;align-items:center;text-align:left}.lobby-foot small{color:#91adc0;flex:1}.lobby-foot .launch{font-size:14px}.resultcard .leaderboard{max-height:100px;overflow:auto}
.name-overlay{z-index:130;background:#010611d6}.namemodal{max-width:520px;padding:28px 38px 25px;text-align:center;border-color:#ffd777;box-shadow:0 0 22px #ffbf426b,0 0 90px #18aaff45,0 25px 90px #000e}.name-trophy{font-size:53px;filter:drop-shadow(0 0 12px #ffd44c);line-height:1.1}.namemodal h2{font:700 clamp(20px,2.4vw,27px) 'Chakra Petch',sans-serif;color:#ffebb3;letter-spacing:1px;margin:10px 0 0}.name-lead{margin:2px 0 16px;color:#95d4ee;letter-spacing:3px;font-size:13px}.name-field{display:flex;align-items:center;border:2px solid #2ae9ff;border-radius:11px;background:#061c2c;box-shadow:0 0 20px #36e6ff7c;padding:0 12px}.name-field span{color:#9deaff;border-right:1px solid #3f9aaf;padding-right:11px;font-size:27px}.name-field input{height:50px;flex:1;min-width:0;color:#f3fdff;background:transparent;border:0;outline:none;padding:0 14px;font-size:19px}.name-field input::placeholder{color:#8eacc1;font-style:italic}.name-hint{font-size:13px;color:#a5cde5;margin:10px 0}.remember{display:flex;justify-content:center;margin:15px 0 9px;font-size:15px;color:#d9f3ff}.remember input{accent-color:#15e9f1;width:17px;height:17px;vertical-align:middle;margin-right:7px}.name-error{min-height:18px;color:#ff9da8;font-size:13px;font-weight:700}.name-save{min-width:72%;font-size:20px;margin:5px 0 14px}.name-footer{font-size:12px;color:#8ab4ca;border-top:1px solid #31627c;padding-top:13px}.name-footer b{color:#ffde5c}
@keyframes flow{to{stroke-dashoffset:-50}}@keyframes operating{50%{box-shadow:0 0 27px color-mix(in srgb,var(--accent) 75%,transparent)}}@keyframes holdhint{to{box-shadow:0 0 24px #ffce44;border-color:#ffcf55}}@keyframes popin{from{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes pulse{50%{opacity:.55}}@keyframes creditpop{to{opacity:0;transform:translateY(-40px)}}
@media(max-width:1450px){.shell{padding:0 9px 6px}.topbar{height:auto;min-height:76px}.logo b{font-size:18px}.logo small{font-size:8px}.timer-wrap{top:29px;width:305px}.hud{height:67px}.hudstat .timer{font-size:66px}.missiontools{margin-top:0}.rightactions{gap:4px;max-width:460px}.rightactions .ghost{padding:6px 9px;font-size:12px}.bodygrid{grid-template-columns:220px minmax(0,1fr);gap:9px}.topfive{padding:7px}.topfive-emblem{font-size:30px}.topfive h2{font-size:16px}.topfive>p{margin-bottom:7px;font-size:10px}.five-row{min-height:46px;padding:4px 6px;grid-template-columns:27px 30px minmax(0,1fr) auto;gap:5px}.five-avatar{width:28px;height:28px}.five-rank{font-size:15px}.five-user b{font-size:12px}.five-points{font-size:12px}.marketbar{height:138px;margin-top:6px}.dock-credits{width:120px;min-width:120px}.catalog .service{width:76px;min-width:76px;padding:6px 2px}.groupname{font-size:11px}.catalog .svcicon{height:30px}.marketbar>.launch{flex-basis:130px;min-height:77px;font-size:18px;margin-right:5px}.boardtop{right:98px}.board-stats>div{min-width:97px;padding:5px}.board-region{font-size:9px}.stagebar{top:45px;right:8px}.control{height:54px;width:64px;font-size:12px}.ctrl-ico{font-size:22px}.bottomcontrols{left:9px;right:8px;gap:5px}.bottomcontrols .subbutton{font-size:10px;padding:6px 8px}.interaction-tip{font-size:11px}.canvas{right:66px;top:50px;bottom:36px}.node .nodebox{height:54px;width:57px}.node{width:79px}.node .nodename{font-size:10px}.node .service-symbol{width:29px;height:29px}}
@media(max-width:1080px){.logo small{display:none}.topbar{height:auto;min-height:72px}.timer-wrap{top:auto;width:230px}.hudstat .timer{font-size:54px}.hud{height:58px}.phase-caption{font-size:8px}.missiontools select{min-width:220px;font-size:11px;height:35px}.missiontools:after{top:11px}.missiontools:before{margin-top:9px}.rightactions{gap:3px;max-width:380px}.rightactions .ghost{font-size:10px;padding:6px}.bodygrid{grid-template-columns:185px minmax(0,1fr)}.topfive h2{font-size:14px}.five-row{grid-template-columns:22px 24px 1fr;gap:3px}.five-avatar{width:23px;height:23px;font-size:10px}.five-points{grid-column:3;justify-self:start;font-size:11px;line-height:1}.five-points small{display:none}.board-region{display:none}.boardtop{top:6px}.board-stats>div{min-width:83px;grid-template-columns:19px 1fr;padding:3px;column-gap:3px}.board-stats small{font-size:8px}.board-stats b{font-size:13px}.stat-symbol{font-size:17px}.marketbar>.launch{flex-basis:120px;font-size:15px;padding:7px}.library{gap:6px}.dock-credits{min-width:85px;width:85px}.dock-credits b{font-size:25px}.dock-credits span{font-size:9px}.catalog .service{width:65px;min-width:65px}.svcname{font-size:10px}.svccost{font-size:10px}.groupname{font-size:9px}}
@media(max-width:790px){html,body{overflow:auto}.shell{min-height:100dvh;height:auto;overflow:visible;padding:0 7px 30px}.topbar{height:auto;min-height:76px;flex-wrap:wrap}.logo b{font-size:17px}.logoicon{font-size:26px}.missiontools select{min-width:178px;max-width:48vw}.topbar-right{width:100%}.rightactions{flex-wrap:wrap;gap:3px;max-width:100%;overflow:visible}.rightactions .ghost{font-size:10px}.timer-wrap{top:auto;width:min(310px,74vw)}.hud{height:58px}.hudstat .timer{font-size:52px}.bodygrid{display:flex;flex-direction:column;gap:8px}.topfive{height:130px;flex:none;padding:5px 9px}.topfive-emblem{display:none}.topfive h2{font-size:14px;margin:3px}.topfive>p{margin:0 0 4px}.topfive-list{display:flex;flex-direction:row;overflow:auto;gap:6px}.five-row{min-width:185px;min-height:68px;grid-template-columns:26px 26px 1fr;grid-template-rows:1fr 1fr}.five-row .five-points{grid-column:3;grid-row:2}.fivefoot{display:none}.stage{height:390px;flex:none}.boardtop{top:5px;left:6px}.canvas{inset:5px 60px 44px 3px}.stagebar{top:42px;right:4px}.stagecontrols{gap:4px}.control{width:48px;height:46px;font-size:10px}.ctrl-ico{font-size:16px}.bottomcontrols{bottom:5px;left:7px}.bottomcontrols .subbutton{padding:5px;font-size:9px}.interaction-tip{display:none}.marketbar{height:128px;margin-top:5px}.marketbar>.launch{flex:0 0 95px;font-size:12px;min-height:68px;padding:6px}.dock-credits{width:65px;min-width:65px}.catalog{gap:5px}.dock-group{padding-right:5px}.catalog .service{width:62px;min-width:62px;padding:4px 2px}.groupcards{gap:4px}.node .nodebox{width:47px;height:46px}.node{width:68px;height:70px}.node .nodename{font-size:9px}.node .service-symbol{width:24px;height:24px}.node .node-port{height:19px;width:19px;top:-5px;right:-5px;font-size:11px}.interneticon{height:40px;width:40px}.internet b{font-size:10px}.emptyhint{font-size:10px;padding:8px;white-space:normal;text-align:center}.operations{top:25px}}
@media (max-width:790px) and (orientation:landscape) and (max-height:500px){.shell{height:100dvh;overflow:hidden;min-height:0;padding-bottom:3px}.topbar{height:74px;grid-template-rows:36px 34px}.logo b{font-size:12px}.logo small{display:none}.missiontools select{min-width:153px;width:153px;font-size:9px;height:28px}.missiontools:before{font-size:16px;margin-top:7px}.missiontools:after{top:8px}.timer-wrap{top:2px;width:130px}.hud{height:39px}.hudstat .timer{font-size:33px}.phase-caption{display:none}.progress{height:4px}.rightactions{grid-row:2}.rightactions .ghost{font-size:8px;padding:3px 5px}.bodygrid{flex-direction:row;flex:1;min-height:0}.topfive{display:none}.stage{height:auto;flex:1}.marketbar{height:98px;margin-top:4px}.library{padding:3px}.dock-credits{min-width:54px;width:54px}.dock-credits b{font-size:18px}.dock-credits span{font-size:7px}.groupname{font-size:8px;min-height:14px}.catalog .service{width:58px;min-width:58px;padding:2px;gap:0}.catalog .svcicon{height:20px}.svcicon svg{width:20px;height:20px}.svcname{min-height:16px;font-size:8px}.svccost{font-size:8px;padding:1px}.marketbar>.launch{min-height:51px;flex:0 0 78px;font-size:10px}.stage{min-height:0}.boardtop{top:2px}.stagebar{top:34px}.control{width:41px;height:37px}.canvas{inset:2px 47px 35px 2px}.bottomcontrols{bottom:3px}.bottomcontrols .subbutton{font-size:8px;padding:3px}.topfive{display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}
/* Mobile landscape: keep the core game on one screen without overlapping controls. */
@media (max-width:1000px) and (max-height:520px) and (orientation:landscape){
 html,body{overflow:hidden}.shell{height:100dvh;min-height:0;padding:0 5px 2px;overflow:hidden}
 .topbar{height:75px;flex:none;grid-template-rows:38px 35px}
 .logo b{font-size:13px}.logoicon{font-size:23px}.logo small{display:none}
 .missiontools{margin-top:3px}.missiontools select{min-width:155px;max-width:155px;font-size:9px;height:29px;padding:0 20px}
 .missiontools:before{display:none}.missiontools:after{top:8px;right:9px}
 .rightactions{max-width:calc(100vw - 240px);overflow-x:auto;gap:3px;scrollbar-width:none}
 .rightactions .ghost{font-size:9px;padding:4px 6px;white-space:nowrap}
 .timer-wrap{padding:0 2px;min-width:120px}.hud{height:41px}.hudstat .timer{font-size:35px}.progress{height:4px}.phase-caption{display:none}
 .bodygrid{flex:1;min-height:0;display:flex;flex-direction:row}.topfive{display:none}.stage{flex:1;min-width:0;min-height:0;height:auto}
 .board-stats>div{grid-template-columns:14px 1fr;min-width:66px;grid-template-rows:11px 15px;padding:1px 3px}.board-stats small{font-size:7px}.board-stats b{font-size:10px}.stat-symbol{font-size:12px}
 .canvas{inset:3px 42px 29px 2px}.stagebar{top:32px;right:3px}.stagecontrols{gap:2px}.control{width:35px;height:31px;font-size:8px;border-radius:5px}.ctrl-ico{font-size:13px}
 .bottomcontrols{bottom:0;left:2px;gap:2px}.bottomcontrols .subbutton{font-size:8px;padding:2px 4px}.interaction-tip{display:none}
 .interneticon{width:33px;height:33px}.internet b{font-size:8px}.node{width:50px;height:57px}.node .nodebox{width:34px;height:33px;border-radius:7px}.node .nodename{font-size:7px}.node .service-symbol{height:20px;width:20px}.node .node-port{width:15px;height:15px;top:-5px;right:-5px;font-size:8px;border-radius:4px}
 .marketbar{height:95px;flex:none;margin-top:4px;gap:4px}.library{padding:3px;gap:4px}.dock-credits{min-width:49px;width:49px}.dock-credits:before{font-size:14px}.dock-credits b{font-size:18px}.dock-credits span{font-size:7px}.groupname{font-size:8px;min-height:12px}.groupcards{gap:3px}.catalog{gap:4px}.dock-group{gap:2px;padding-right:3px}.catalog .service{width:48px;min-width:48px;padding:2px;gap:0;border-radius:5px}.svcicon{height:19px}.svcicon svg{width:18px;height:18px}.svcname{min-height:16px;font-size:7px}.svccost{font-size:8px;padding:1px}
 .marketbar>.launch{flex:0 0 68px;min-height:47px;padding:4px;font-size:9px;margin:0 2px 0 0;border-radius:6px}
 footer{display:none}
}
/* Keep ranked names and point values highly legible on dark-gold podium rows. */
.five-row{color:#f2faff}.five-row:nth-child(1){background:linear-gradient(90deg,#35290f,#092036 78%);color:#fff8e7}.five-row .five-user b,.five-row .five-points{color:#f2faff;text-shadow:0 1px 2px #000}.five-row:nth-child(1) .five-points{color:#ffe09a}
@media (min-width:791px) and (max-width:1450px){
 .five-row{min-height:60px;grid-template-columns:29px 31px minmax(0,1fr);grid-template-rows:22px 20px;gap:2px 6px}
 .five-rank,.five-avatar{grid-row:1 / 3}.five-user{grid-column:3;grid-row:1}.five-user small{display:none}.five-points{grid-column:3;grid-row:2;justify-self:start;font-size:13px}.five-points small{display:inline;margin-left:4px;font-size:8px}
}

/* v8 LIVE DEFENSE: score, heat, fire, repair and responsive HUD */
.live-scoreboard{display:flex;align-items:center;gap:6px;z-index:9;color:#ffe68f;pointer-events:none;text-shadow:0 0 13px #ffad34a1;flex-wrap:nowrap;white-space:nowrap}
.live-scoreboard strong{font:800 clamp(15px,2vw,30px) 'Chakra Petch',sans-serif;letter-spacing:1px;font-variant-numeric:tabular-nums}.score-caption{font-size:10px;color:#d7edff}.score-combo{font-size:10px;padding:3px 5px;border:1px solid #d4a42e;border-radius:6px;background:#3d2e0b;color:#ffe18b;white-space:nowrap}
.live-alert{position:absolute;z-index:8;top:8px;left:50%;transform:translateX(-50%);border:1px solid #1ab9bd;border-radius:7px;padding:5px 11px;background:#052235dd;color:#9fffee;font-size:10px;font-weight:800;letter-spacing:.4px;white-space:nowrap;pointer-events:none;box-shadow:0 0 12px #0ab8cc44}.live-alert b{font-size:9px;margin-left:10px;color:#fff0a4}.live-alert.warning{border-color:#ffbf43;background:#42300beb;color:#ffe078}.live-alert.danger{border-color:#ff4959;background:#4b0c19eb;color:#ffaf86;animation:fire-alert .48s infinite alternate}
.node .health-track{display:block;width:69%;height:5px;position:absolute;bottom:-5px;left:15%;background:#17273d;border:1px solid #5a7580;border-radius:8px;overflow:hidden}.health-track i{display:block;height:100%;background:#3effba;transition:width .15s}.node.overheating .health-track i{background:#ffb13f}.node.burning .health-track i{background:#ff343a}.node.overheating .nodebox{border-color:#ffb347!important;box-shadow:0 0 22px #ff9b2c,0 0 8px #ff3c3c inset!important}.node.burning .nodebox{border-color:#ff434e!important;box-shadow:0 0 27px #ff421b,0 0 15px #ffae1e inset!important;animation:burning 0.38s infinite alternate}.node.burning .nodeicon:after{content:'🔥';position:absolute;top:-23px;left:50%;transform:translateX(-50%);font-size:24px;filter:drop-shadow(0 0 7px orange);pointer-events:none}.node .repair-node{position:absolute;top:-10px;right:-14px;width:28px;height:28px;z-index:12;display:grid;place-items:center;border:1px solid #ffcd56;border-radius:8px;background:#331c12;color:#ffeaac;cursor:pointer;box-shadow:0 0 12px #ffae49;font-size:15px}.node .repair-node:disabled{opacity:.28;cursor:default;box-shadow:none;border-color:#587086}.node.burning .repair-node,.node.overheating .repair-node{animation:repair-call 1s infinite alternate}.wire.wireburn{stroke:#ff5645;filter:drop-shadow(0 0 7px #ff382a)}.trafficdot{filter:drop-shadow(0 0 5px currentColor)}.resultrepair{color:#ffe58f;font-size:12px;font-weight:800;text-align:center;margin:0 0 9px}.resultbuttons button:disabled{opacity:.55;cursor:not-allowed;background:#302e3b;color:#b1a0a0}.node .nodebox{position:relative}
@keyframes burning{from{filter:brightness(1)}to{filter:brightness(1.6) saturate(2)}}@keyframes repair-call{to{box-shadow:0 0 19px #ff801f}}@keyframes fire-alert{to{box-shadow:0 0 21px #ff451b70}}
@media(max-width:1450px){.live-scoreboard{flex-wrap:wrap;max-width:150px;gap:2px}.score-caption{font-size:8px}.score-combo{font-size:8px}}
@media(max-width:790px){.live-scoreboard{max-width:85px}.live-alert{top:8px;max-width:79%;overflow:hidden;text-overflow:ellipsis;font-size:8px}.node .repair-node{width:24px;height:24px;font-size:12px}}
@media (max-width:1000px) and (max-height:520px) and (orientation:landscape){.live-scoreboard{max-width:105px}.live-scoreboard strong{font-size:13px}.score-caption,.score-combo{font-size:7px}.live-alert{left:49%;top:4px;max-width:42%;font-size:7px;padding:2px 4px}.live-alert b{font-size:7px;margin-left:3px}.node .repair-node{width:19px;height:19px;top:-7px;right:-8px;font-size:10px}}

/* ── Architecture Score Breakdown panel (result screen) ───────────────────── */
.scorebreakdown{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.sbd-pill{background:#071e33;border:1px solid #1e5a7a;border-radius:9px;padding:8px 11px;display:flex;align-items:center;gap:9px}
.sbd-pill.pass{border-color:#2eaa7a;background:#041e15}
.sbd-pill.warn{border-color:#d4a42e;background:#1f1500}
.sbd-pill.fail{border-color:#bc3050;background:#1f0a10}
.sbd-icon{font-size:22px;flex:none;width:30px;text-align:center}
.sbd-label{font-size:11px;color:#8fb6cc;flex:1}
.sbd-label b{display:block;font:700 15px 'Chakra Petch',sans-serif;color:#d8f0ff}
.sbd-pts{font:700 16px 'Chakra Petch',sans-serif;text-align:right;white-space:nowrap}
.sbd-pill.pass .sbd-pts{color:#4bffc1}
.sbd-pill.warn .sbd-pts{color:#ffcd5e}
.sbd-pill.fail .sbd-pts{color:#ff6880}
.arch-verdict{margin:10px 0 4px;text-align:center;font:700 13px 'Chakra Petch',sans-serif;letter-spacing:1px}
.arch-verdict.strong{color:#4bffc1}.arch-verdict.moderate{color:#ffcd5e}.arch-verdict.weak{color:#ff6880}
/* Score bar meters inside the breakdown */
.sbd-bar{height:4px;border-radius:4px;background:#1a3a52;margin-top:4px;overflow:hidden}
.sbd-bar i{display:block;height:100%;border-radius:4px;transition:width .6s ease}
.sbd-pill.pass .sbd-bar i{background:#4bffc1}
.sbd-pill.warn .sbd-bar i{background:#ffcd5e}
.sbd-pill.fail .sbd-bar i{background:#ff6880}
/* Live score panel shows architecture quality hint */
.arch-hint{position:absolute;bottom:52px;left:10px;right:10px;pointer-events:none;display:flex;gap:6px;flex-wrap:wrap;z-index:6}
.arch-badge{font:700 9px 'Chakra Petch',sans-serif;padding:3px 7px;border-radius:12px;letter-spacing:.4px;white-space:nowrap}
.arch-badge.ok{background:#0a2e1f;border:1px solid #2eaa7a;color:#4bffc1}
.arch-badge.warn{background:#2a1c00;border:1px solid #d4a42e;color:#ffcd5e}
.arch-badge.bad{background:#2a0a10;border:1px solid #bc3050;color:#ff7090}
