:root{--bg:#030805;--panel:#07120d;--panel2:#0a1810;--line:#173a27;--green:#83f5a7;--green2:#4cff87;--dim:#6e9b7b;--amber:#ffcf67;--red:#ff7474;--cyan:#77e6ff;--shadow:0 0 26px rgba(52,214,105,.06)}
*{box-sizing:border-box}html,body{height:100%;margin:0;background:radial-gradient(circle at 30% 10%,#0a1510 0,#030805 55%,#010302 100%);color:var(--green);font-family:Consolas,"Courier New",monospace;overflow:hidden}body:after{content:"";pointer-events:none;position:fixed;inset:0;background:repeating-linear-gradient(0deg,rgba(255,255,255,.012) 0,rgba(255,255,255,.012) 1px,transparent 1px,transparent 3px);z-index:50}button,input,select{font:inherit}.hidden{display:none!important}
.boot-screen{position:fixed;inset:0;display:grid;place-items:center;background:#020503;z-index:100}.boot-box{width:min(780px,92vw);border:1px solid var(--line);padding:38px;background:#061009;box-shadow:0 0 80px rgba(76,255,135,.08)}.boot-logo{font-size:clamp(38px,8vw,74px);letter-spacing:.14em;font-weight:900;text-shadow:0 0 12px rgba(131,245,167,.35)}.boot-sub{color:var(--dim);letter-spacing:.28em;margin-top:5px}.boot-text{min-height:145px;margin:28px 0 14px;line-height:1.65;color:#9ed8ad;white-space:pre-wrap}.boot-controls{border-top:1px solid var(--line);padding-top:18px;display:grid;grid-template-columns:1.2fr .8fr;gap:12px 14px;align-items:end}.boot-controls label{font-size:10px;letter-spacing:.07em;color:#8ab599}.boot-controls label span{color:#587662;letter-spacing:0}.boot-controls select,.boot-controls input{display:block;width:100%;margin-top:6px;background:#041009;border:1px solid #28523a;color:#caffd8;padding:9px;outline:none}.boot-controls .check-row{display:flex;align-items:center;gap:8px}.boot-controls .check-row input{width:auto;margin:0}.boot-controls .primary{justify-self:end;min-width:170px}
.primary,.ghost{border:1px solid var(--green2);background:#0c2416;color:var(--green);padding:10px 18px;cursor:pointer;text-transform:uppercase;letter-spacing:.05em}.primary:hover,.ghost:hover{background:#123a20}.ghost{background:transparent;border-color:#2c6644;color:#a4d6b3}.shell{height:100vh;display:flex;flex-direction:column;padding:8px;gap:6px}.topbar,.footerbar,.status-strip,.panel,.machine-room{border:1px solid var(--line);background:linear-gradient(180deg,rgba(10,24,17,.98),rgba(5,13,9,.98));box-shadow:var(--shadow)}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;min-height:65px}.title{font-size:19px;font-weight:800;letter-spacing:.08em}.title span{color:#6aa17b;font-weight:400}.subtitle{color:var(--dim);font-size:10px;margin-top:2px;letter-spacing:.05em}.run-meta{display:flex;gap:7px;margin-top:5px}.run-meta span{border:1px solid #234d34;padding:2px 5px;font-size:8px;color:#71997d}.clock-block{text-align:right}.shift-clock{font-size:24px;font-weight:800;color:#c3ffd3}.clock-caption{font-size:9px;color:var(--dim)}
.status-strip{display:grid;grid-template-columns:repeat(6,1fr);min-height:52px}.metric{padding:7px 12px;border-right:1px solid #163824}.metric:last-child{border-right:0}.metric span{display:block;color:var(--dim);font-size:9px}.metric strong{display:block;font-size:17px;margin-top:2px;color:#c5ffd4}
.machine-room{min-height:68px;display:flex;align-items:stretch;position:relative;overflow:hidden}.room-label{writing-mode:vertical-rl;transform:rotate(180deg);border-left:1px solid var(--line);padding:6px 5px;font-size:8px;color:#557761;letter-spacing:.12em;text-align:center}.floor-devices{flex:1;display:grid;grid-template-columns:1.5fr 1fr 1fr .8fr .9fr .7fr;gap:5px;padding:5px}.device{position:relative;border:1px solid #153b26;background:#041009;overflow:hidden;padding:5px 7px;transition:border-color .2s,background .2s}.device-title{font-size:8px;color:#73957d;letter-spacing:.08em}.device.state-down{border-color:#6e2424;background:#190808}.device.state-degraded{border-color:#725722;background:#181306}.rack-lights{display:flex;gap:4px;margin-top:10px}.rack-lights i{width:7px;height:7px;background:#45db78;box-shadow:0 0 7px #45db78;animation:rackblink 1.7s infinite alternate}.rack-lights i:nth-child(2){animation-delay:.3s}.rack-lights i:nth-child(3){animation-delay:.8s}.rack-lights i:nth-child(4){animation-delay:1.1s}.rack-lights i:nth-child(5){animation-delay:.5s}.rack-lights i:nth-child(6){animation-delay:1.3s}.state-down .rack-lights i{background:#e24949;box-shadow:0 0 7px #e24949;animation-duration:.3s}.disk-bars{display:flex;align-items:flex-end;gap:4px;height:27px;margin-top:4px}.disk-bars i{width:8px;background:#4dd982;height:17px;animation:disk 1.4s infinite alternate}.disk-bars i:nth-child(2){height:23px;animation-delay:.4s}.disk-bars i:nth-child(3){height:12px;animation-delay:.8s}.disk-bars i:nth-child(4){height:20px;animation-delay:.2s}.reels{display:flex;gap:11px;margin-top:5px}.reels i{width:27px;height:27px;border:4px dotted #6ca47d;border-radius:50%;animation:spin 3s linear infinite}.state-down .reels i,.state-degraded .reels i{animation-duration:.6s;border-color:var(--amber)}.paper{margin:5px auto 0;width:42px;height:26px;background:#b5d3bd;color:#173521;font-size:7px;padding:5px 2px;text-align:center;box-shadow:0 3px 0 #526d59;animation:paperfeed 2.4s ease-in-out infinite}.state-down .paper{animation:none;background:#744}.network-pulse{height:3px;margin-top:18px;background:linear-gradient(90deg,transparent,#4cff87,transparent);animation:pulse 1.2s linear infinite}.state-down .network-pulse{background:#ff7474;animation:pulse .35s linear infinite}.phone-glyph{font-size:28px;margin-top:1px;text-align:center;color:#7ab98a}.phone-unit.ringing{border-color:var(--amber);animation:ringbox .4s ease-in-out infinite alternate}.phone-unit.ringing .phone-glyph{color:var(--amber);animation:ring .15s linear infinite alternate}
.grid{flex:1;min-height:0;display:grid;grid-template-columns:1.65fr .85fr;grid-template-rows:minmax(220px,1.55fr) minmax(135px,.72fr);gap:6px}.panel{min-height:0;overflow:hidden}.panel-heading{height:31px;display:flex;align-items:center;justify-content:space-between;padding:0 9px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.08em;color:#9cd8ae;background:#08160e}.panel-heading .ok{color:var(--green)}.console-panel{display:flex;flex-direction:column}.console-output{flex:1;min-height:0;overflow:auto;padding:9px 12px;font-size:12px;line-height:1.42;white-space:pre-wrap;scrollbar-color:#214b33 #07100b}.console-line{margin:0 0 2px}.console-line.system{color:#9fdab0}.console-line.warn{color:var(--amber)}.console-line.error{color:var(--red)}.console-line.command{color:var(--cyan)}.console-line.good{color:#aaffc1}.console-line.dim{color:var(--dim)}.command-row{display:flex;gap:8px;border-top:1px solid var(--line);padding:7px 9px;background:#07120c}.command-row label{color:#aefac3;white-space:nowrap}.command-row input{flex:1;border:0;outline:0;background:transparent;color:#e2ffe9;text-transform:uppercase;caret-color:var(--green);min-width:0}.console-help{font-size:8px;color:#527b60;padding:2px 9px 5px}.right-stack{display:grid;grid-template-rows:1.12fr .88fr;gap:6px;min-height:0}.incident-list,.message-list{height:calc(100% - 31px);overflow:auto}.incident,.message{padding:8px 9px;border-bottom:1px solid #12311f;cursor:pointer}.incident:hover,.message:hover{background:#0e2016}.inc-head{display:flex;gap:8px;justify-content:space-between}.inc-id{font-weight:700}.inc-critical{color:var(--red)}.inc-warning{color:var(--amber)}.inc-info{color:var(--cyan)}.inc-title{font-size:11px;margin-top:3px;color:#b7dfc2}.inc-meta{font-size:8px;color:#658672;margin-top:4px}.response-late{color:var(--red)}.empty{padding:16px;color:#527b60;text-align:center;font-size:10px}.message.unread{box-shadow:inset 3px 0 var(--amber)}.message-title{color:#ddffe5;font-size:10px}.message-from{color:var(--amber);font-size:9px;margin-bottom:3px}.message-time{float:right;color:#5f806b}.table-wrap{height:calc(100% - 31px);overflow:auto}table{width:100%;border-collapse:collapse;font-size:10px}th{position:sticky;top:0;background:#07140d;color:#77a888;text-align:left;padding:6px 7px;border-bottom:1px solid var(--line)}td{padding:6px 7px;border-bottom:1px solid #10301e;color:#a8d6b4}.state-run{color:var(--green)}.state-hold,.state-wait{color:var(--amber)}.state-abend,.state-fail{color:var(--red)}.state-done{color:#709a7a}.state-cancel{color:#8e7777}.system-board{height:calc(100% - 31px);overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start}.system-card{padding:8px 9px;border-right:1px solid #12311f;border-bottom:1px solid #12311f}.sys-top{display:flex;justify-content:space-between;gap:8px;font-size:10px}.sys-label{color:#b6dec1}.sys-detail{font-size:8px;color:#678471;margin-top:3px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block;margin-right:6px;box-shadow:0 0 8px currentColor}.healthy{color:var(--green)}.degraded{color:var(--amber)}.down{color:var(--red)}
.footerbar{display:flex;align-items:center;justify-content:space-between;padding:5px 9px;min-height:39px;color:#71987c;font-size:9px}.footer-actions{display:flex;gap:5px}.footerbar button{padding:5px 8px;font-size:9px}.modal,.report-modal{width:min(780px,92vw);max-height:85vh;overflow:auto;border:1px solid #327047;background:#061009;color:#a8dab6;box-shadow:0 20px 100px #000;padding:0}.modal::backdrop,.report-modal::backdrop{background:rgba(0,0,0,.82)}#modalContent,.report-modal #reportContent{padding:22px}.modal form{padding:0 22px 22px}.modal h2,.report-modal h2{color:#d5ffe0;margin-top:0}.modal h3,.report-modal h3{color:var(--amber)}.modal code,.report-modal code{color:var(--cyan)}.choice-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.choice{border:1px solid #356848;background:#0b1d13;color:#b8e7c5;padding:8px 12px;cursor:pointer}.choice:hover{background:#113520}.report-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;padding:0 22px 22px}.grade{font-size:72px;line-height:1;color:#d8ffe2;font-weight:900}.report-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0}.report-stat{border:1px solid #1c4b31;padding:10px}.report-stat span{font-size:9px;color:#699079}.report-stat strong{display:block;font-size:20px;color:#caffe0}.report-notes{padding-left:18px;line-height:1.6}.achievement-list{display:flex;gap:6px;flex-wrap:wrap}.achievement{border:1px solid #346348;padding:5px 7px;font-size:9px;color:#bdf7ca}.flash{animation:flash .5s ease}@keyframes flash{50%{background:#1b3d27}}@keyframes rackblink{to{opacity:.32}}@keyframes disk{to{height:7px;opacity:.55}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes paperfeed{50%{transform:translateY(4px)}}@keyframes pulse{to{transform:translateX(30%)}}@keyframes ring{to{transform:rotate(12deg)}}@keyframes ringbox{to{box-shadow:0 0 18px rgba(255,207,103,.25)}}
@media(max-width:900px){html,body{overflow:auto}.shell{height:auto;min-height:100vh}.grid{grid-template-columns:1fr;grid-template-rows:420px 360px 250px 300px}.right-stack{grid-row:2}.status-strip{grid-template-columns:repeat(3,1fr)}.machine-room{min-height:85px}.floor-devices{grid-template-columns:repeat(4,1fr)}.device:nth-child(4),.device:nth-child(5){display:none}.system-board{grid-template-columns:1fr}.title{font-size:16px}.subtitle{display:none}.boot-controls{grid-template-columns:1fr}.boot-controls .primary{justify-self:stretch}}

/* v0.3 career mode foundation */
.status-strip.seven{grid-template-columns:repeat(7,1fr)}
.career-boot{width:min(900px,94vw)}
.career-summary{margin-top:18px;border:1px solid #28523a;background:#041009;padding:12px 14px;display:grid;grid-template-columns:1.4fr repeat(5,.7fr);gap:8px;align-items:center}
.career-summary .career-main strong{display:block;color:#d9ffe3;font-size:16px}.career-summary .career-main span{display:block;color:#6f9c7d;font-size:9px;margin-top:3px}.career-summary .career-stat{border-left:1px solid #173a27;padding-left:10px}.career-summary .career-stat span{display:block;font-size:8px;color:#6e9b7b}.career-summary .career-stat strong{display:block;color:#bcf7ca;font-size:13px;margin-top:2px}
.danger-lite{border-color:#6e3b3b;color:#d79a9a}.danger-lite:hover{background:#281212}
.assignment-strip{display:grid;grid-template-columns:1.05fr 1.7fr .65fr;border:1px solid var(--line);background:#061009;min-height:42px}.assignment-strip>div{padding:6px 10px;border-right:1px solid var(--line);min-width:0}.assignment-strip>div:last-child{border-right:0}.assignment-strip span{display:block;font-size:8px;color:#658672;letter-spacing:.08em}.assignment-strip strong{display:block;margin-top:2px;color:#bff4cc;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.career-dossier{display:grid;grid-template-columns:1.3fr .7fr;gap:14px}.career-card{border:1px solid #1c4b31;background:#07140d;padding:12px}.career-card h3{margin:0 0 8px;color:#caffd8}.rank-track{height:9px;border:1px solid #2a5a3d;background:#020704;margin-top:8px}.rank-track i{display:block;height:100%;background:linear-gradient(90deg,#3dbf68,#91ffae);box-shadow:0 0 10px rgba(76,255,135,.25)}.unlock-list{display:grid;gap:5px}.unlock{border:1px solid #214931;padding:7px;font-size:9px}.unlock.locked{opacity:.45}.unlock strong{color:#caffd8}.career-ledger{width:100%;border-collapse:collapse}.career-ledger td,.career-ledger th{font-size:9px;padding:5px;border-bottom:1px solid #153722}.career-ledger th{position:static}.promotion-banner{border:1px solid var(--amber);background:#211806;color:#ffdf86;padding:12px;margin:12px 0;text-align:center;letter-spacing:.06em}.xp-gain{color:#aaffc1;font-weight:700}.report-career{border:1px solid #245a39;padding:10px;margin:12px 0;background:#07150d}.report-career-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.report-career-grid div{border:1px solid #173d27;padding:8px}.report-career-grid span{display:block;font-size:8px;color:#688a73}.report-career-grid strong{display:block;margin-top:2px;color:#c8ffd5;font-size:15px}
.assignment-locked{color:#845b5b!important}
@media(max-width:1050px){.status-strip.seven{grid-template-columns:repeat(4,1fr)}.metric:nth-child(n+5){border-top:1px solid #163824}.career-summary{grid-template-columns:1fr 1fr 1fr}.career-summary .career-main{grid-column:1/-1}.assignment-strip{grid-template-columns:1fr}.assignment-strip>div{border-right:0;border-bottom:1px solid var(--line)}.assignment-strip>div:last-child{border-bottom:0}.report-career-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.career-summary{grid-template-columns:1fr 1fr}.status-strip.seven{grid-template-columns:repeat(2,1fr)}.career-dossier{grid-template-columns:1fr}}
body[data-assignment="monthend"]{--green:#8ee7ff;--green2:#58ccef;--line:#18465a;--dim:#719dab}
body[data-assignment="dr"]{--green:#ffd27c;--green2:#ffb94b;--line:#55431e;--dim:#9d8b67}
body[data-assignment="consolidation"]{--green:#c0b0ff;--green2:#9e8cff;--line:#403667;--dim:#8f86ad}

/* v0.4.0 workplace / crew layer */
.status-strip.nine{grid-template-columns:repeat(9,1fr)}
.crew-strip{display:grid;grid-template-columns:1.05fr repeat(4,1fr);border:1px solid var(--line);background:#061009;min-height:48px;box-shadow:var(--shadow)}
.crew-strip>div{padding:6px 10px;border-right:1px solid var(--line);min-width:0}.crew-strip>div:last-child{border-right:0}
.crew-strip span{display:block;font-size:8px;color:#658672;letter-spacing:.08em}.crew-strip strong{display:block;margin-top:2px;color:#c7f9d3;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crew-strip em{display:block;margin-top:2px;color:#769981;font-size:8px;font-style:normal}
.crew-label{background:#08160e}.crew-label strong{color:var(--amber);letter-spacing:.05em}.crew-member.state-away em,.crew-member.state-stressed em{color:var(--amber)}.crew-member.state-problem em{color:var(--red)}.crew-member.state-good em{color:var(--green)}
.reputation-up{color:#aaffc1!important}.reputation-down{color:var(--red)!important}.fatigue-warn{color:var(--amber)!important}.fatigue-high{color:var(--red)!important}
.workplace-card{border:1px solid #244c33;background:#07140d;padding:10px;margin:8px 0}.workplace-card strong{color:#d1ffdc}.workplace-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.workplace-grid>div{border:1px solid #173d27;padding:8px}.workplace-grid span{display:block;font-size:8px;color:#688a73}.workplace-grid strong{display:block;margin-top:2px;color:#c8ffd5;font-size:14px}.review-banner{border:1px solid var(--cyan);background:#07171b;color:#bcefff;padding:12px;margin:12px 0;text-align:center}.review-banner strong{font-size:18px}.trust-meter{height:7px;border:1px solid #28523a;background:#020704;margin-top:4px}.trust-meter i{display:block;height:100%;background:#4cff87}.career-review{border-left:3px solid var(--cyan);padding:6px 9px;margin:6px 0;background:#07141a;font-size:9px}
@media(max-width:1250px){.status-strip.nine{grid-template-columns:repeat(5,1fr)}.crew-strip{grid-template-columns:1fr 1fr 1fr}.crew-strip>div{border-bottom:1px solid var(--line)}}
@media(max-width:900px){.status-strip.nine{grid-template-columns:repeat(3,1fr)}.crew-strip{grid-template-columns:1fr 1fr}.crew-strip .crew-label{grid-column:1/-1}}
@media(max-width:600px){.floor-devices{grid-template-columns:repeat(2,1fr)}.status-strip.nine{grid-template-columns:repeat(2,1fr)}.crew-strip{grid-template-columns:1fr}.crew-strip .crew-label{grid-column:auto}.workplace-grid{grid-template-columns:1fr}}


/* v0.5.0 console-bank / clickable phone */
.phone-unit{cursor:pointer;user-select:none;outline:none}.phone-unit:hover{border-color:#3e8459;background:#07180f}.phone-unit:focus-visible{box-shadow:0 0 0 2px var(--amber),0 0 18px rgba(255,207,103,.25)}
.phone-prompt{text-align:center;font-size:7px;color:#668d71;margin-top:-1px;letter-spacing:.08em}.phone-unit.ringing .phone-prompt{color:var(--amber);font-weight:700}.phone-unit.ringing{cursor:pointer}
.lpar-strip{display:grid;grid-template-columns:1.1fr repeat(4,1fr);border:1px solid var(--line);background:#05100a;box-shadow:var(--shadow);min-height:47px}
.lpar-label,.lpar-card{padding:6px 10px;border:0;border-right:1px solid var(--line);background:#06120b;color:#a8dab6;text-align:left;font:inherit;min-width:0}.lpar-card:last-child{border-right:0}.lpar-card{cursor:pointer}.lpar-card:hover{background:#0b2013}.lpar-card.active{background:#0d2a18;box-shadow:inset 0 -2px 0 var(--green)}.lpar-card.down{background:#250b0b;box-shadow:inset 0 -2px 0 var(--red)}.lpar-card.degraded{background:#211806;box-shadow:inset 0 -2px 0 var(--amber)}
.lpar-strip span{display:block;font-size:8px;color:#678f73;letter-spacing:.08em}.lpar-strip strong{display:block;font-size:11px;color:#caffd8;margin-top:2px}.lpar-strip em{display:block;font-size:8px;color:#739b7e;font-style:normal;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lpar-label strong{color:var(--cyan)}
.cert-list{display:grid;gap:6px}.cert-card{border:1px solid #214931;padding:8px;background:#06130c}.cert-card strong{color:#d3ffdd}.cert-card.locked{opacity:.5}.cert-card span{display:block;color:#719a7d;font-size:9px;margin-top:3px}.recovery-check{display:grid;gap:5px;margin:12px 0}.recovery-check div{border:1px solid #234d33;padding:7px}.recovery-check .done{border-color:#35794d;color:#baffc9}.recovery-check .pending{border-color:#725722;color:#ffd977}
@media(max-width:900px){.lpar-strip{grid-template-columns:1fr 1fr}.lpar-label{grid-column:1/-1}.lpar-card{border-bottom:1px solid var(--line)}}


/* v0.6.0 interactive training layer */
.tutorial-start{border-color:var(--amber);color:#ffe09a}.tutorial-start:hover{background:#2a2009}.tutorial-start.recommended{animation:tutorialpulse 1.4s ease-in-out infinite}
.tutorial-coach{position:fixed;right:18px;bottom:56px;width:min(390px,calc(100vw - 36px));z-index:45;border:1px solid var(--amber);background:rgba(16,14,6,.97);box-shadow:0 12px 55px rgba(0,0,0,.65),0 0 28px rgba(255,207,103,.10);padding:13px 15px;color:#d7f3df}
.tutorial-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;color:var(--amber);font-size:9px;letter-spacing:.08em}.tutorial-skip{border:0;background:transparent;color:#a78d58;cursor:pointer;font:inherit;font-size:8px}.tutorial-skip:hover{color:#ffe09a}
.tutorial-coach strong{display:block;color:#fff0be;font-size:13px}.tutorial-coach p{font-size:10px;line-height:1.45;margin:7px 0;color:#b4cfbb}.tutorial-coach code{display:block;border-top:1px solid #5b4923;padding-top:7px;color:var(--cyan);font-size:10px;white-space:pre-wrap}.tutorial-target{outline:2px solid var(--amber)!important;outline-offset:-2px;box-shadow:0 0 24px rgba(255,207,103,.32)!important;position:relative;z-index:3}.tutorial-complete{border-color:var(--green2);background:rgba(5,28,15,.98)}
@keyframes tutorialpulse{50%{box-shadow:0 0 20px rgba(255,207,103,.28);border-color:#fff0a8}}
@media(max-width:900px){.tutorial-coach{position:fixed;right:10px;left:10px;bottom:48px;width:auto}}

/* v0.6.2 physical device interactions */
.device.actionable{cursor:pointer;box-shadow:inset 0 -2px 0 var(--amber)}
.device.actionable:hover{background:#241b08;border-color:#a47b2c}
.device.actionable:focus{outline:2px solid var(--amber);outline-offset:-2px}
.device.actionable::after{content:'CLICK TO ACTION';position:absolute;right:5px;bottom:3px;font-size:7px;letter-spacing:.06em;color:var(--amber)}
