:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#ecf4ff;background:#090e1b;font-synthesis:none;--panel:#131b2d;--stroke:#2a3551;--accent:#75e3d0;--violet:#afadff;--muted:#9aaac6}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse 65vw 50vh at 95% -10%,#26375a,#09101c00),#090e1b}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:var(--accent)}.layout{display:grid;grid-template-columns:290px minmax(0,1fr);min-height:100vh}.sidebar{border-right:1px solid var(--stroke);padding:26px 15px;position:sticky;top:0;max-height:100vh;overflow-y:auto;background:#0d1423}.brand{display:flex;align-items:center;gap:12px;margin:0 8px 28px;text-decoration:none;color:inherit}.brandmark{width:38px;height:38px;background:linear-gradient(125deg,#66e4d3,#9196ff);border-radius:13px;display:grid;place-items:center;color:#061323;font-weight:1000;font-size:18px}.brandtitle{font-size:21px;font-weight:850;letter-spacing:-1px}.kicker{color:var(--accent);font-size:11px;text-transform:uppercase;font-weight:850;letter-spacing:1.8px}.side-nav{display:grid;gap:5px}.nav-link{border:1px solid transparent;background:transparent;color:#b4c3da;display:flex;align-items:center;gap:10px;text-align:left;padding:10px 11px;border-radius:12px;width:100%;font-size:13px;font-weight:600}.nav-link small{color:#7586a1;font-variant-numeric:tabular-nums}.nav-link.active,.nav-link:hover{background:#1b2940;border-color:#314862;color:white}.nav-icon{width:27px;height:27px;display:grid;place-items:center;background:#283349;border-radius:8px;font-size:12px;flex-shrink:0}.side-footer{margin:25px 9px 0;color:#7c8da7;font-size:12px;line-height:1.5}.main{min-width:0;padding:38px clamp(20px,5vw,65px) 65px;max-width:1500px;width:100%;margin:0 auto}.hero{display:flex;gap:24px;align-items:flex-end;justify-content:space-between;margin-bottom:24px}.hero h1{font-size:clamp(31px,4vw,54px);letter-spacing:-2px;margin:9px 0 12px;line-height:1.07}.hero p{color:var(--muted);margin:0;max-width:720px;font-size:15px;line-height:1.6}.pill{border:1px solid #31435f;background:#16243a;padding:8px 12px;border-radius:999px;font-size:12px;color:#b5c7e3;display:inline-flex;gap:7px;align-items:center}.toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:24px 0}.field,.select,.text-area{background:#0d1627;border:1px solid #34435d;border-radius:10px;color:#e7efff;padding:12px 13px;outline:0;width:100%;min-width:0}.field:focus,.text-area:focus{border-color:var(--accent)}.text-area{min-height:110px;resize:vertical}.search{max-width:360px}.select{width:auto}.categories{display:flex;gap:7px;flex-wrap:wrap;margin:18px 0 23px}.cat{border:1px solid #31415c;background:transparent;color:#b2c1da;padding:8px 12px;border-radius:999px;font-size:12px}.cat.active{background:#d9fffa;color:#08262e;border-color:transparent}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(235px,1fr));gap:15px}.appcard{background:linear-gradient(154deg,#1b273c,#121a2a);border:1px solid #283958;border-radius:18px;padding:18px;min-height:218px;display:flex;flex-direction:column;text-align:left;color:inherit;box-shadow:0 5px 22px #0002;transition:transform .16s,border .16s}.appcard:hover{transform:translateY(-3px);border-color:#5e769d}.appcard .cardtop{display:flex;justify-content:space-between;align-items:center}.appnum{color:#667b9c;font-size:11px}.appicon{width:43px;height:43px;border-radius:13px;background:linear-gradient(140deg,#365e68,#342f66);display:grid;place-items:center;font-size:23px}.appcard h3{margin:18px 0 6px;font-size:18px;letter-spacing:-.5px}.appcard p{color:var(--muted);line-height:1.45;margin:0 0 14px;font-size:13px}.cardbottom{margin-top:auto;display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:11px;color:#aabbd2}.back{border:0;background:none;color:#95ffe9;padding:0;margin:0 0 18px;font-weight:700}.appheading{display:flex;justify-content:space-between;align-items:center;gap:20px}.appheading h1{font-size:clamp(26px,3vw,42px);margin:9px 0 6px;letter-spacing:-1.6px}.appheading p{color:var(--muted);font-size:14px;line-height:1.5;max-width:720px}.btn{border:1px solid #38516c;background:#20304a;color:#e4f0ff;padding:10px 14px;border-radius:11px;font-weight:750;font-size:13px;line-height:1.3;transition:background .15s}.btn:hover{background:#2e4364}.btn.primary{background:#78e8d7;color:#09282d;border-color:#78e8d7}.btn.primary:hover{background:#a8f9ed}.btn.alert{background:#4b2635;border-color:#7e4559}.btn-sm{padding:6px 9px}.controls{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.preview-toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:15px 0}.mode-btn{border:1px solid #2b3d5c;background:#111b2d;color:#9eb1ce;border-radius:9px;padding:8px 13px;font-size:12px;font-weight:750}.mode-btn.active{color:#09282d;border-color:#6fe2d1;background:#77e8d7}.sim-note{color:#8fa2c0;font-size:12px;margin-left:auto}.device-shell{border:1px solid #364860;border-radius:25px;padding:12px;background:#090f19;box-shadow:0 30px 90px #0006;min-height:370px}.device-inner{display:grid;grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr);min-height:330px;border-radius:17px;overflow:hidden;background:#131c2e}.hinge{background:linear-gradient(90deg,#202d43,#080e1a 52%,#35425b);box-shadow:inset 1px 0 2px #52617d}.pane{padding:clamp(18px,2.6vw,33px);min-width:0;min-height:320px;overflow-wrap:anywhere}.pane h3{font-size:14px;color:#8fded8;text-transform:uppercase;letter-spacing:1.2px;margin:0 0 20px}.pane h2{margin:0 0 12px;letter-spacing:-.8px;font-size:25px}.pane p{color:#afbed2;line-height:1.6;font-size:14px}.pane .big{font-size:40px;font-weight:900;letter-spacing:-2px;margin:16px 0}.device-shell.closed{max-width:450px;margin:0 auto}.closed .device-inner{display:block}.closed .hinge{display:none}.closed .pane{border-bottom:1px solid #2c3754;min-height:120px}.device-shell.tabletop{max-width:650px;margin:auto}.tabletop .device-inner{grid-template-columns:1fr;grid-template-rows:auto 14px auto}.tabletop .hinge{background:linear-gradient(#384d65,#0e1523,#364a64)}.device-inner .pane:nth-child(3){background:#152136}.full-panel{grid-column:1/-1;padding:20px}.description-block{display:flex;gap:18px;justify-content:space-between;padding:20px 0 0;color:#9eafc9;flex-wrap:wrap}.description-block p{margin:0;line-height:1.6;max-width:620px;font-size:13px}.badge{border:1px solid #466280;background:#1c3144;color:#a7f1dd;font-size:11px;border-radius:999px;padding:5px 9px;white-space:nowrap}.soft{font-size:13px;color:#8d9eb7!important}.chiprow{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.metricrow{display:flex;gap:15px;flex-wrap:wrap}.metric{background:#0d1728;border:1px solid #2e405d;padding:12px 15px;border-radius:12px;min-width:100px}.metric strong{display:block;font-size:23px}.metric small{display:block;color:#8d9ab3;font-size:11px}.feedback{min-height:25px;color:#9fe6d7;font-size:13px;font-weight:700;margin:13px 0}.history-list{display:grid;gap:7px}.history-list>div,.item-row{border:1px solid #30405b;background:#121c2d;border-radius:10px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:8px}.item-row+ .item-row{margin-top:6px}.item-row small{color:#94a5c0}.choice{display:block;width:100%;text-align:left;background:#1d2b43;border:1px solid #355071;border-radius:10px;padding:13px;color:#e9f3ff;margin:8px 0}.choice:hover{border-color:#82decd}.dots{display:flex;gap:6px}.dot{background:#2a3b54;border-radius:99px;height:7px;width:7px}.dot.filled{background:#7ce8d7}.board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;background:#173d67;padding:7px;border-radius:12px}.slot{width:100%;aspect-ratio:1;background:#0b182b;border-radius:50%;border:0;min-width:0}.slot.p1{background:#7ce8d7}.slot.p2{background:#f9ba74}.mini-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.mini-grid .btn{padding:12px 0}.map{position:relative;background:linear-gradient(#19445a,#104151);border:1px solid #3b7681;border-radius:15px;overflow:hidden;aspect-ratio:1.8;min-height:155px;width:100%;cursor:crosshair}.map svg{width:100%;height:100%;display:block}.map .maplabel{position:absolute;left:12px;bottom:9px;color:#d4f7eb;font-size:10px;pointer-events:none}.dot-pin{position:absolute;border-radius:50%;width:12px;height:12px;background:#fbc46f;border:2px solid white;transform:translate(-50%,-50%);pointer-events:none}.dot-pin.actual{background:#83ffeb}.racetrack{height:260px;background:repeating-linear-gradient(0deg,#263447 0 29px,#344963 30px 38px);border-radius:15px;position:relative;overflow:hidden;border-left:6px solid #6e8198;border-right:6px solid #6e8198}.lane{position:absolute;top:0;bottom:0;width:1px;border-left:2px dashed #8fa0ad}.car{position:absolute;bottom:15px;width:46px;height:60px;border-radius:12px 12px 7px 7px;background:#79e9db;border:5px solid #214148;transform:translateX(-50%);transition:left .12s}.obstacle{position:absolute;width:50px;height:50px;transform:translateX(-50%);background:#f5a16d;border:5px solid #a95943;border-radius:8px;transition:top .11s}.canvas-wrap{background:#fff;border-radius:11px;overflow:hidden;line-height:0;touch-action:none}.canvas-wrap canvas{width:100%;height:280px;touch-action:none}.camera{width:100%;min-height:190px;background:#090e19;border:1px solid #3a4658;border-radius:12px;object-fit:cover}.dj-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.dj-pad{height:90px;border-radius:14px;background:linear-gradient(150deg,#373667,#1d4150);border:1px solid #63649e;color:#e1fff6;font-size:14px;font-weight:800}.dj-pad:active{filter:brightness(1.6)}.step-list{display:grid;gap:9px}.step{display:flex;align-items:center;gap:10px;color:#aebed5;padding:8px 0}.step.active{color:#93f7e4;font-weight:800}.step-index{height:26px;width:26px;border-radius:50%;background:#2a3857;display:grid;place-items:center;font-size:12px}.prompt{font-family:Georgia,serif;font-size:22px!important;line-height:1.55!important;color:#e8f8f2!important}.prompter-active{max-height:240px;overflow:auto;scroll-behavior:smooth}.footer{border-top:1px solid #25354e;margin-top:45px;padding-top:18px;color:#8092b1;font-size:12px;line-height:1.6}.mobile-toggle{display:none}.stack{display:grid;gap:10px}.win{color:#9bf0d4;font-weight:850}.error{color:#ffb4b4}.tiny{font-size:11px;color:#8da1ba}.row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.is-hidden{display:none!important}
@media(max-width:1000px){.layout{grid-template-columns:1fr}.sidebar{position:static;max-height:none;display:flex;align-items:center;gap:10px;padding:12px 18px;border-right:0;border-bottom:1px solid var(--stroke)}.sidebar .brand{margin:0}.sidebar .side-nav,.sidebar .side-footer{display:none}.mobile-toggle{display:block;margin-left:auto}.main{padding:25px 18px 40px}.hero h1{font-size:36px}.hero{align-items:flex-start}.device-shell{padding:7px}.pane{padding:20px 15px}.pane h2{font-size:20px}}@media(max-width:650px){.device-inner{grid-template-columns:1fr;grid-template-rows:auto 10px auto}.hinge{background:linear-gradient(#344761,#0e1420,#344761)}.pane{min-height:180px}.device-inner .pane:nth-child(3){min-height:145px}.hero h1{font-size:32px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.appcard{min-height:215px;padding:13px}.appcard h3{font-size:15px}.appcard p{font-size:12px}.appicon{width:36px;height:36px}.appheading{align-items:flex-start}.sim-note{margin-left:0}.tabletop .device-inner{grid-template-columns:1fr}.closed .pane{min-height:100px}.device-shell.closed{width:100%}.main{padding:22px 12px}.brandtitle{font-size:18px}}
@media(max-width:1000px){.sidebar .side-nav.sidebar-open{display:grid;position:absolute;top:68px;left:10px;right:10px;max-height:60vh;overflow-y:auto;z-index:50;padding:12px;background:#0f1c2d;border:1px solid #3b5873;border-radius:14px;box-shadow:0 20px 30px #0007}.sidebar{position:relative;z-index:20}}

/* DuoLab Edition 02 — richer, accessible, mobile-first visual system */
:root { --accent:#a2f4d8; --violet:#a8a6ff; --muted:#9bacc5; --stroke:#27364d; --panel:#111d2e; }
html { scroll-behavior:smooth; }
body { background:radial-gradient(ellipse 55% 30% at 70% -8%,#263d4caa,transparent),linear-gradient(165deg,#070e17,#0b1421 45%,#0a1321); }
button { -webkit-tap-highlight-color: transparent; }
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible, .map:focus-visible {outline:3px solid #9cf4d9;outline-offset:3px;}
button:not(:disabled):active {transform:scale(.985);}
.sidebar {background:#080f1b;border-right:1px solid #1e2d41;padding:27px 17px 26px;scrollbar-width:thin;scrollbar-color:#324761 transparent;}
.brand {margin:0 6px 33px;gap:12px;}
.brandmark {height:44px;width:44px;border-radius:14px;background:#a5f4da;color:#082c26;font-size:26px;font-weight:950;letter-spacing:-2px;box-shadow:0 8px 25px #4be8c422;}
.brandmark-dot {color:#377d78;}
.brandtitle {font-size:23px;letter-spacing:-1.3px;}
.brand .tiny {font-size:9px;letter-spacing:1.45px;font-weight:750;color:#879db7;}
.side-heading {display:flex;justify-content:space-between;padding:0 12px 13px;color:#728ba7;font-weight:800;font-size:10px;letter-spacing:1.7px;}
.side-heading span {letter-spacing:0;color:#a8e5d7;}
.side-nav {gap:3px;}
.nav-link {border-radius:11px;padding:11px 12px;font-size:12.7px;color:#a5b8d1;min-height:43px;}
.nav-link:hover {background:#172438;border-color:#26394f;}
.nav-link.active {background:linear-gradient(100deg,#1d4140,#1d3043);border-color:#437268;color:#e9fff6;box-shadow:inset 3px 0 #a2f4d8;}
.nav-icon {background:#203047;font-size:16px;width:30px;height:30px;border-radius:10px;}
.side-footer {padding:17px 4px 0;border-top:1px solid #253249;line-height:1.65;}
.side-footer b {color:#c7e3e2;}
.main {padding:35px clamp(22px,4.7vw,80px) 55px;max-width:1550px;}
.mobile-header {display:none;}
.hero {align-items:stretch;position:relative;min-height:325px;border:1px solid #29413f;border-radius:28px;padding:clamp(25px,4vw,52px);overflow:hidden;background:radial-gradient(ellipse at 86% 50%,#2f6359aa,transparent 50%),linear-gradient(115deg,#15312c,#0f2830 62%,#162941);margin:0 0 22px;}
.hero>div:first-child {z-index:1;max-width:600px;}
.eyebrow {display:inline-flex;gap:8px;align-items:center;font-size:10px;letter-spacing:2px;font-weight:800;color:#baf5dd;}
.live-dot {width:7px;height:7px;background:#a5ffd6;border-radius:99px;box-shadow:0 0 18px #85f7b3;}
.hero h1 {font-size:clamp(38px,5.1vw,73px);line-height:1.05;letter-spacing:-3px;font-weight:900;margin:21px 0 20px;}
.hero h1 em {font-style:normal;color:#b9f1d8;}
.hero p {max-width:495px;font-size:14px;line-height:1.8;color:#b7d2d4;}
.hero-actions {display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:26px;}
.hero-button {font-size:13px;padding:13px 17px;box-shadow:0 9px 25px #5fe6b633;}
.hero .pill {background:#1f443c;color:#b4d6c8;border-color:#325c50;}
.hero-art {width:265px;min-width:200px;height:245px;display:flex;align-items:center;justify-content:center;perspective:750px;position:relative;margin-left:auto;}
.fold-tile {width:119px;height:200px;position:relative;background:linear-gradient(150deg,#b4fde2,#519b9a);border:5px solid #123730;border-radius:24px 7px 7px 24px;transform:rotateY(-25deg) rotateZ(-12deg);box-shadow:0 10px 40px #0b1e2b88;z-index:2;display:grid;place-content:center;text-align:center;gap:10px;color:#173f3a;}
.fold-tile span {font-size:50px;}.fold-tile small {font-size:10px;font-weight:900;letter-spacing:2px;}
.fold-tile.fold-right {border-radius:7px 24px 24px 7px;margin-left:-5px;background:linear-gradient(120deg,#2a4166,#6f80cd);transform:rotateY(25deg) rotateZ(-12deg);color:#e6efff;}
.art-orbit {position:absolute;border:1px solid #86eacc55;border-radius:50%;width:310px;height:310px;transform:rotateX(70deg);}
.orbit-two {width:410px;height:410px;opacity:.35;}
.stats-bar {display:flex;align-items:stretch;gap:0;background:#101c2c;border:1px solid #263b50;border-radius:19px;margin-bottom:40px;overflow:hidden;}
.stats-bar>div {display:flex;flex-direction:column;gap:4px;padding:21px 25px;border-right:1px solid #27374a;min-width:120px;}
.stats-bar strong {font-size:27px;font-weight:900;letter-spacing:-1px;color:#f0f7f9;line-height:1;}
.stats-bar span {font-size:11px;color:#8ca5b9;}
.stats-bar .progress-slot {flex:1;justify-content:center;min-width:160px;border-right:0;}
.track {height:7px;border-radius:20px;background:#273a4f;overflow:hidden;margin-top:7px;}
.track-fill {height:100%;background:linear-gradient(90deg,#74cdb7,#d6fba1);border-radius:20px;transition:width .4s;}
.continue-section {margin-bottom:32px;}
.section-heading {display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:17px;gap:16px;}
.section-heading h2 {margin:7px 0 0;font-size:27px;letter-spacing:-1px;}
.library-total {font-size:10px;letter-spacing:1.3px;font-weight:800;color:#6c849d;}
.recent-row {display:flex;gap:10px;flex-wrap:wrap;}
.recent-chip {background:#15243a;border:1px solid #30445a;color:#e8f4ff;border-radius:12px;padding:13px;display:flex;align-items:center;gap:10px;font-weight:700;font-size:12px;}
.recent-chip span:first-child {font-size:20px;}.recent-chip:hover {border-color:#87d7bf;}
.toolbar {margin:16px 0 12px;}
.search-wrap {position:relative;display:block;width:min(100%,450px);}
.search-wrap>span {position:absolute;left:14px;top:8px;font-size:28px;color:#839daf;pointer-events:none;}
.search-wrap .field {max-width:none;padding:13px 14px 13px 43px;background:#101c2d;border-color:#2b3e55;}
.categories {margin:15px 0 20px;}
.cat {padding:9px 17px;font-weight:750;letter-spacing:.1px;}
.cat.active {background:#a4f4d9;color:#0b2b27;}
.grid {grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:14px;}
.appcard {min-height:233px;position:relative;padding:19px;background:linear-gradient(155deg,#17263a,#101b2b 70%);border:1px solid #2a3e55;border-radius:19px;box-shadow:0 8px 20px #010b191a;}
.appcard:hover {border-color:#a2e3d6;box-shadow:0 15px 36px #0004;transform:translateY(-4px);}
.appcard:focus-visible {outline-offset:3px;}
.appicon {height:49px;width:49px;font-size:25px;background:linear-gradient(130deg,#2c585b,#35456c);border:1px solid #53767c;border-radius:14px;}
.appnum {color:#90b6a9;font-size:10px;letter-spacing:1.1px;font-weight:900;}
.card-category {color:#769ba9;font-size:10px;text-transform:uppercase;letter-spacing:1px;font-weight:800;margin-top:16px;}
.appcard h3 {margin:6px 0 7px;font-size:18px;}
.appcard p {font-size:12px;line-height:1.6;}
.cardbottom {border-top:1px solid #2a3b50;padding-top:13px;color:#9abbb1;font-weight:700;}
.empty-state {padding:30px;border:1px dashed #35475d;border-radius:14px;color:var(--muted);}
.detail-top {display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;}
.detail-counter {color:#a6f7d5;font-size:12px;font-weight:900;letter-spacing:1.5px;}.detail-counter span {color:#6f859a;}
.back {font-size:13px;color:#b6ecd4;}
.appheading {margin-bottom:25px;}
.title-line {display:flex;gap:19px;align-items:flex-start;}
.large-appicon {display:grid;place-items:center;background:linear-gradient(140deg,#315c5c,#323e6b);font-size:34px;border:1px solid #497c78;border-radius:22px;min-width:78px;height:78px;}
.appheading h1 {font-size:clamp(29px,3.5vw,46px);margin:6px 0;}
.appheading p {margin:0;}
.favorite-btn {display:flex;gap:9px;align-items:center;background:#17243a;border:1px solid #33465b;color:#9db4c9;border-radius:13px;padding:12px 15px;font-weight:800;}
.favorite-btn.saved {color:#ffe08c;border-color:#80663c;background:#302a20;}
.workspace {background:#101a29;border:1px solid #2a3f50;border-radius:23px;padding:16px;box-shadow:0 20px 60px #0002;}
.workspace-header {display:flex;justify-content:space-between;align-items:center;gap:12px;padding:3px 5px 17px;color:#a0e5d6;font-size:10px;letter-spacing:1px;}
.status-light {height:7px;width:7px;background:#a9f7dd;display:inline-block;border-radius:50%;margin-right:9px;box-shadow:0 0 12px #85f7d599;}
.workspace-label {color:#8299aa;font-weight:600;letter-spacing:0;}
.subtle-button {font-size:11px;color:#9eb9c7;background:transparent;border:1px solid #2d4155;border-radius:9px;padding:8px 10px;white-space:nowrap;}
.subtle-button:hover {border-color:#90d9c8;color:white;}
.preview-toolbar {padding:0 5px 15px;gap:15px;}
.preview-toolbar .tiny {font-size:10px;letter-spacing:1.2px;font-weight:900;}
.segmented {border:1px solid #35465b;display:flex;gap:2px;padding:4px;background:#0c1624;border-radius:13px;}
.mode-btn {border:0;padding:9px 13px;border-radius:9px;font-size:12px;}
.mode-btn.active {background:#9bf0d6;}
.sim-note {font-size:11px;}
.device-shell {background:#080f18;border:1px solid #374f63;padding:10px;border-radius:23px;min-height:370px;}
.device-inner {background:#142133;min-height:335px;}
.pane {padding:clamp(18px,2.5vw,33px);}
.pane h3 {font-size:10px;letter-spacing:1.6px;color:#85d8c2;font-weight:900;}
.pane h2 {font-size:clamp(20px,2.5vw,28px);}
.pane p {font-size:13px;}
.device-inner .pane:nth-child(3) {background:#16263a;}
.hinge {background:linear-gradient(90deg,#395268,#0e1824 35%,#05090f 52%,#31495d);}
.btn {transition:background .15s,border .15s,transform .15s;min-height:42px;}
.btn:disabled {opacity:.42;}
.btn.primary {background:#a2f2d5;border-color:#a2f2d5;color:#0b2925;}
.btn.primary:hover {background:#ceffe8;}
.choice {transition:border .15s,transform .15s;min-height:48px;}
.choice:hover {background:#29405a;}
.metric {border:1px solid #304a5e;background:#0d1a29;}
.metric strong {color:#effaf4;}
.step-index {min-width:28px;}
.activity-bar {display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 5px 0;}
.activity-bar .feedback {margin:6px 0;flex:1;}
.detail-info {display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px;padding:24px;background:#111d2d;border:1px solid #2b3f55;border-radius:19px;}
.detail-info h3 {margin:6px 0;font-size:19px;}.detail-info p {color:#90a6be;font-size:12px;line-height:1.8;max-width:730px;}
.effort-tag {border-radius:99px;border:1px solid #366055;padding:7px 11px;color:#b0e5c8;font-size:11px;white-space:nowrap;}
.footer {display:flex;gap:13px;align-items:center;justify-content:space-between;flex-wrap:wrap;color:#8096b1;margin-top:42px;}
.footer b {color:#dceee9;}.footer-actions {display:flex;gap:11px;flex-wrap:wrap;}.footer button {border:0;background:none;color:#a1ead4;padding:5px 0;font-weight:700;font-size:11px;}
.modal-backdrop {position:fixed;inset:0;background:#020b16bb;display:grid;place-items:center;z-index:200;padding:14px;backdrop-filter:blur(8px);}
.modal {width:min(100%,530px);max-height:min(85vh,750px);overflow:auto;background:#152339;border:1px solid #4c6878;border-radius:24px;padding:25px;box-shadow:0 20px 80px #0009;}
.modal-heading,.setting-row {display:flex;justify-content:space-between;align-items:center;gap:15px;}
.modal h2 {font-size:25px;margin:0 0 15px;}.modal-heading h2 {margin:0;}.modal p {color:#b1c4d3;font-size:13px;line-height:1.7;}
.setting-row {border-top:1px solid #34475d;padding:13px 0;color:#e8f5f6;font-size:12px;}
.setting-row.danger {color:#ffbbb2;}
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
/* Accessible contrast for user-selected light palette */
:root[data-theme="light"] {color:#17283b;--muted:#526c7d;--stroke:#c4d4dc;--accent:#105f54;}
:root[data-theme="light"] body {background:#eff7f6;color:#132f39;}
:root[data-theme="light"] .sidebar,:root[data-theme="light"] .main {background:#edf5f4;}
:root[data-theme="light"] .brandtitle,:root[data-theme="light"] .section-heading h2,:root[data-theme="light"] .appheading h1 {color:#183344;}
:root[data-theme="light"] .appcard,:root[data-theme="light"] .stats-bar,:root[data-theme="light"] .workspace,:root[data-theme="light"] .detail-info,:root[data-theme="light"] .recent-chip {background:#fff;color:#173144;border-color:#bfd3da;}
:root[data-theme="light"] .stats-bar strong,:root[data-theme="light"] .appcard h3,:root[data-theme="light"] .detail-info h3 {color:#173144;}
:root[data-theme="light"] .appcard p,:root[data-theme="light"] .detail-info p,:root[data-theme="light"] .cardbottom,:root[data-theme="light"] .stats-bar span {color:#536b7e;}
:root[data-theme="light"] .field,:root[data-theme="light"] .search-wrap .field {background:#fff;border-color:#aabec7;color:#173144;}
:root[data-theme="light"] .cat:not(.active),:root[data-theme="light"] .favorite-btn,:root[data-theme="light"] .subtle-button {background:#fff;color:#23485d;border-color:#b5ccd2;}
:root[data-theme="light"] .modal {background:#fff;color:#173144;}:root[data-theme="light"] .modal p,:root[data-theme="light"] .setting-row {color:#324b5e;}
:root[data-theme="light"] .nav-link {color:#375468;}:root[data-theme="light"] .nav-link.active {color:#154e44;background:#c8ecdf;}
@media (max-width:1150px) {.hero-art {transform:scale(.8);transform-origin:center right;margin-left:-30px;}}
@media (max-width:1000px) {
 .layout {display:block;}
 .mobile-header {display:flex;align-items:center;justify-content:space-between;padding:1px 0 18px;}
 .mobile-brand {display:flex;align-items:center;gap:10px;color:inherit;font-weight:900;font-size:21px;text-decoration:none;}
 .mobile-brand .brandmark {width:34px;height:34px;font-size:21px;border-radius:11px;}
 .mobile-toggle {display:block;color:#c7e7e5;border:1px solid #375266;border-radius:10px;background:#17283a;padding:9px 13px;font-weight:750;font-size:12px;}
 .sidebar {display:none;}
 .sidebar:has(.side-nav.sidebar-open) {display:block;position:fixed;top:65px;left:12px;right:12px;max-height:min(78vh,850px);overflow:auto;z-index:100;border:1px solid #476274;border-radius:16px;background:#101c2d;box-shadow:0 20px 70px #0009;padding:9px;}
 .sidebar .brand,.sidebar .side-footer,.sidebar .side-heading {display:none;}
 .sidebar .side-nav.sidebar-open {display:grid;position:static;max-height:none;padding:0;background:transparent;border:0;box-shadow:none;}
 .main {padding:20px clamp(14px,4vw,42px) 40px;}
 .hero {min-height:310px;}.hero-art {width:210px;min-width:140px;}
 .pane {padding:18px;}
}
@media (max-width:650px) {
 .hero {padding:24px 22px;min-height:300px;}
 .hero-art {display:none;}.hero h1 {font-size:clamp(37px,10vw,56px);letter-spacing:-2px;}
 .hero p {font-size:12px;}.hero .pill {font-size:10px;}
 .stats-bar {flex-wrap:wrap;}.stats-bar>div {min-width:33%;flex:1;padding:15px;}.stats-bar .progress-slot {min-width:100%;border-top:1px solid #294156;}
 .stats-bar strong {font-size:23px;}.section-heading h2 {font-size:23px;}.library-total {display:none;}
 .grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
 .appcard {min-height:220px;padding:14px;}.appcard h3 {font-size:16px;}.appcard p {font-size:11px;}
 .appicon {height:40px;width:40px;font-size:22px;}.card-category {margin-top:13px;}
 .large-appicon {height:53px;min-width:53px;font-size:25px;border-radius:17px;}
 .title-line {gap:12px;}.appheading h1 {font-size:25px;}.appheading p {font-size:12px;}
 .favorite-btn {padding:10px;}.favorite-btn span,.workspace-label,.sim-note {display:none;}
 .workspace {padding:10px;border-radius:17px;}.workspace-header {font-size:9px;}.workspace-header .subtle-button {font-size:9px;}
 .mode-btn {padding:8px 10px;font-size:11px;}.preview-toolbar {gap:8px;}
 .device-shell {padding:6px;min-height:0;}.pane {min-height:145px;padding:18px 15px;}
 .pane .big {font-size:33px;}.pane h2 {font-size:22px;}
 .device-inner {display:grid;grid-template-columns:1fr;grid-template-rows:auto 11px auto;}
 .closed .device-inner {display:block;}.closed .hinge {display:none;}
 .device-inner .pane:nth-child(3) {min-height:140px;}
 .detail-info {align-items:flex-start;flex-direction:column;}
 .metric {min-width:90px;padding:10px;}.metric strong {font-size:20px;}
 .footer {align-items:flex-start;flex-direction:column;}
}
@media (prefers-reduced-motion: reduce) {*,*::before,*::after {animation:none!important;scroll-behavior:auto!important;transition:none!important;}}
.bridge-illustration {height:185px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;border-radius:15px;background:linear-gradient(#314a63,#1d344c 50%,#253d50 50%,#15283f 100%);position:relative;padding:16px;margin:18px 0;overflow:hidden;}
.bridge-deck {width:85%;height:14px;border-bottom:solid #b2b1a7;border-radius:2px;margin-top:auto;}
.bridge-support-row {display:flex;justify-content:space-around;width:75%;height:65px;align-items:flex-start;color:#a0c6be;font-size:40px;overflow:hidden;}
.bridge-car {position:absolute;top:25px;left:45%;font-size:44px;}
.beat-editor {display:grid;gap:6px;margin:13px 0;overflow:auto;}
.beat-row {display:grid;grid-template-columns:48px repeat(8,minmax(17px,1fr));align-items:center;gap:4px;}
.beat-row small {font-size:9px;color:#b3d7ce;}
.beat-cell {aspect-ratio:1;border:1px solid #507182;border-radius:5px;background:#20354b;min-width:0;padding:0;}
.beat-cell.on {background:#9bf4d7;border-color:#aafae0;box-shadow:0 0 8px #88f3ce55;}
.week-tracker {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:10px 0 18px;}
.week-tracker>div {display:grid;gap:5px;background:#0d1d2e;padding:8px 3px;border:1px solid #2a4554;border-radius:9px;text-align:center;}
.week-tracker small {font-size:9px;color:#a5b8cf;}.week-tracker strong {font-size:11px;color:#acf5d6;}
.budget-bar {height:12px;border-radius:8px;background:#283a4e;overflow:hidden;margin:10px 0;}
.budget-bar>div {height:100%;background:linear-gradient(90deg,#89e3c7,#f2c785);border-radius:8px;}
.prompter-active.mirrored {transform:scaleX(-1);}
.map-link {font-size:11px;padding:6px;color:#aaf4d9;text-decoration:none;}
@media(max-width:650px) {.beat-row {grid-template-columns:38px repeat(8,minmax(15px,1fr));gap:3px;}.beat-row small{font-size:8px;}}

.global-status {color:#a3e9d5;background:#183029;border:1px solid #416657;border-radius:11px;padding:12px 15px;font-size:12px;margin-bottom:16px;line-height:1.5;}
.global-status:empty {display:none;}

/* Edition 03 game and utility refinements */
.camera-stage {position:relative;overflow:hidden;border-radius:14px;background:#070f19;min-height:210px}
.camera-stage .camera {display:block;min-height:240px;max-height:420px;border:0;border-radius:0}
.camera-mirrored {transform:scaleX(-1)}
.camera-guides {pointer-events:none;position:absolute;inset:0;background:linear-gradient(90deg,transparent 33.2%,#e9faf380 33.3%,transparent 33.5%,transparent 66.5%,#e9faf380 66.7%,transparent 66.9%),linear-gradient(transparent 33.2%,#e9faf380 33.3%,transparent 33.5%,transparent 66.5%,#e9faf380 66.7%,transparent 66.9%)}
.task-priority {display:inline-block;margin-left:5px;color:#ffe0b1;background:#5d3f35;border:1px solid #976b4b;padding:1px 6px;border-radius:7px;font-size:10px}
.item-row span small {display:block;margin-top:5px}
.big {overflow-wrap:anywhere}
.history-list {max-width:100%;overflow-wrap:anywhere}
.history-list .btn {flex-shrink:0}
.device-shell .btn:disabled {opacity:.5;cursor:not-allowed}
.pane p {overflow-wrap:anywhere}
@media(max-width:650px){.metricrow{gap:7px}.metric{padding:8px 10px;min-width:80px}.metric strong{font-size:19px}.camera-stage .camera{min-height:190px}.item-row{flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
