
:root{--bg:#040811;--fg:#f6f8fb;--muted:rgba(232,239,248,.58);--line:rgba(218,231,246,.14);--panel:rgba(6,12,22,.82);--node:#0b1320;--accent:#78a7ff;--accent2:#55c9ff;--ease:cubic-bezier(.16,.82,.16,1);--text-speed:1600ms}
*{box-sizing:border-box;cursor:none!important}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--fg);font-family:Inter,Arial,Helvetica,sans-serif}button,input,textarea,select{font:inherit;color:inherit}button{border:0}.app{position:fixed;inset:0;overflow:hidden;background:var(--bg)}canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}.grain{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.045;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.73' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}
.header{position:absolute;inset:0 0 auto;height:76px;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,color-mix(in srgb,var(--bg) 94%,transparent),color-mix(in srgb,var(--bg) 45%,transparent));backdrop-filter:blur(22px)}.brand{display:flex;align-items:center;gap:12px;background:none;padding:0}.brand-mark{width:29px;height:29px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center}.brand-mark:after{content:"";width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 22px color-mix(in srgb,var(--accent) 52%,transparent)}.brand-copy{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.brand-copy b{font:760 10px/1 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.1em}.brand-copy span{font:6.5px/1 ui-monospace,Consolas,monospace;letter-spacing:.12em;color:var(--muted)}.hud{display:flex;gap:7px;align-items:center}.hud button,.hud .meta{height:36px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 82%,transparent);font:7px/1 ui-monospace,Consolas,monospace;letter-spacing:.08em}.hud .meta{display:flex;align-items:center;color:var(--muted)}.hud button span{color:var(--accent)}
.workspace{position:absolute;inset:76px 0 0;z-index:3}.content-shell{position:absolute;z-index:20}.content-view{display:none}.content-view.active{display:block}.eyebrow{font:8px/1 ui-monospace,Consolas,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.display{font-size:clamp(52px,6vw,100px);line-height:.9;letter-spacing:-.068em;font-weight:510;margin:14px 0 22px;max-width:900px}.headline{font-size:clamp(40px,4.5vw,72px);line-height:.94;letter-spacing:-.06em;font-weight:520;margin:14px 0 20px;max-width:820px}.lead{font-size:12px;line-height:1.62;color:var(--muted);max-width:690px;margin:0}.actions{display:flex;gap:8px;margin-top:26px;flex-wrap:wrap}.actions button{height:42px;padding:0 17px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--node) 86%,transparent);font:760 8px/1 ui-monospace,Consolas,monospace;letter-spacing:.065em}.actions .primary{background:var(--fg);color:var(--bg);border-color:var(--fg)}.metric-strip{display:flex;gap:6px;flex-wrap:wrap;margin-top:22px}.metric-strip span{padding:7px 9px;border:1px solid var(--line);border-radius:999px;font:7px/1 ui-monospace,Consolas,monospace;color:var(--muted)}
.project-grid,.skill-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:24px;max-width:840px}.skill-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px}.project-card,.skill-card{min-height:155px;padding:15px;text-align:left;border:1px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--node) 82%,transparent);backdrop-filter:blur(18px);position:relative;overflow:hidden}.project-card small,.skill-card small{font:7px/1 ui-monospace,Consolas,monospace;color:var(--muted);letter-spacing:.08em}.project-card h3{font-size:28px;letter-spacing:-.05em;margin:50px 0 8px}.project-card p,.skill-card p{font-size:10px;line-height:1.45;color:var(--muted);margin:0}.skill-card h3{font-size:20px;letter-spacing:-.035em;margin:28px 0 8px}.principles{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);max-width:760px;margin-top:23px}.principles div{background:var(--bg);padding:14px}.principles b{display:block;font:7px/1 ui-monospace,monospace;color:var(--accent);margin-bottom:9px}.principles span{font-size:11.5px;line-height:1.4}.brief{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-width:720px;margin-top:21px}.brief input,.brief textarea{border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--node) 78%,transparent);padding:12px;outline:0;font-size:11px}.brief textarea{grid-column:1/-1;min-height:96px;resize:none}
/* text motion modes */
.content-view.fx-in .eyebrow,.content-view.fx-in .display,.content-view.fx-in .headline,.content-view.fx-in .lead,.content-view.fx-in .actions,.content-view.fx-in .metric-strip,.content-view.fx-in .project-grid,.content-view.fx-in .skill-grid,.content-view.fx-in .principles,.content-view.fx-in .brief{animation-duration:var(--text-speed);animation-fill-mode:both;animation-timing-function:var(--ease)}
body[data-text-mode="rise"] .content-view.fx-in>*{animation-name:textRise}body[data-text-mode="fade"] .content-view.fx-in>*{animation-name:textFade}body[data-text-mode="focus"] .content-view.fx-in>*{animation-name:textFocus}body[data-text-mode="wipe"] .content-view.fx-in>*{animation-name:textWipe}body[data-text-mode="split"] .content-view.fx-in>*{animation-name:textSplit}.content-view.fx-in>*:nth-child(2){animation-delay:70ms}.content-view.fx-in>*:nth-child(3){animation-delay:120ms}.content-view.fx-in>*:nth-child(4){animation-delay:170ms}.content-view.fx-in>*:nth-child(5){animation-delay:220ms}@keyframes textRise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes textFade{from{opacity:0}to{opacity:1}}@keyframes textFocus{from{opacity:0;filter:blur(12px);transform:scale(.985)}to{opacity:1;filter:none;transform:none}}@keyframes textWipe{from{opacity:0;clip-path:inset(0 100% 0 0)}to{opacity:1;clip-path:inset(0)}}@keyframes textSplit{from{opacity:0;letter-spacing:.035em;transform:translateX(-15px)}to{opacity:1;letter-spacing:normal;transform:none}}
.graph{position:absolute;z-index:15;inset:0;pointer-events:none}.nav-node,.project-node{position:absolute;pointer-events:auto;transform:translate(-50%,-50%) scale(1);min-width:208px;height:74px;padding:0 20px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--node) 93%,transparent);backdrop-filter:blur(18px);display:flex;align-items:center;gap:12px;box-shadow:0 14px 55px rgba(0,0,0,.18);transition:transform .23s var(--ease),border-color .2s,background .2s,opacity .22s,box-shadow .22s}.nav-node:before,.project-node:before{content:"";width:11px;height:11px;border:1px solid color-mix(in srgb,var(--fg) 43%,transparent);border-radius:50%;flex:none}.nav-node strong,.project-node strong{font:760 12.5px/1 ui-monospace,Consolas,monospace;letter-spacing:.055em}.nav-node small,.project-node small{display:block;font:8px/1 ui-monospace,Consolas,monospace;color:var(--muted);margin-top:7px;letter-spacing:.035em}.nav-node:hover,.project-node:hover{transform:translate(-50%,-50%) scale(1.045);border-color:color-mix(in srgb,var(--accent) 47%,var(--line))}.nav-node.active{border-color:color-mix(in srgb,var(--accent) 66%,white);background:color-mix(in srgb,var(--node) 84%,var(--accent) 16%)}.nav-node.executed,.project-node.executed{transform:translate(-50%,-50%) scale(1.055);border-color:color-mix(in srgb,var(--accent2) 50%,var(--line))}.nav-node.executed:before,.project-node.executed:before{background:var(--accent2);border-color:var(--accent2)}.nav-node.running,.project-node.running{transform:translate(-50%,-50%) scale(1.13);border-color:var(--accent);background:color-mix(in srgb,var(--node) 77%,var(--accent) 23%);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 28%,transparent),0 18px 78px color-mix(in srgb,var(--accent) 17%,transparent)}.nav-node.running:before,.project-node.running:before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 18px var(--accent)}
.project-node,.child-node{min-width:158px;height:58px;opacity:0;pointer-events:none}.graph.projects-open .project-node,.graph.projects-peek .project-node,.graph.about-open .child-node,.graph.about-peek .child-node{opacity:1;pointer-events:auto}.project-node strong,.child-node strong{font-size:11.5px}.project-node small,.child-node small{font-size:7.5px}.child-node{border-style:dashed}.graph.projects-peek .project-node,.graph.about-peek .child-node{opacity:.72;transform:translate(-50%,-50%) scale(.96)}
.node-preview{position:fixed;z-index:75;min-width:230px;max-width:300px;padding:12px 13px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--panel) 96%,transparent);backdrop-filter:blur(18px);opacity:0;transform:translateY(6px);pointer-events:none;transition:.18s var(--ease);font-size:10px;line-height:1.45;color:var(--muted);box-shadow:0 16px 50px rgba(0,0,0,.22)}.node-preview.show{opacity:1;transform:none}.node-preview b{display:block;color:var(--fg);font:780 9px/1 ui-monospace,monospace;letter-spacing:.07em;margin-bottom:8px}.node-preview em{display:block;color:var(--accent2);font:7px/1 ui-monospace,monospace;font-style:normal;margin-top:7px}
.code-rail{position:absolute;z-index:28}.code-rail pre{margin:0;padding:12px 14px;border:1px solid var(--line);border-radius:13px;background:color-mix(in srgb,var(--panel) 82%,transparent);backdrop-filter:blur(18px);font:11px/1.74 ui-monospace,SFMono-Regular,Consolas,monospace;color:color-mix(in srgb,var(--fg) 82%,var(--muted));min-width:390px;box-shadow:0 14px 60px rgba(0,0,0,.17)}.code-rail pre span{display:block;min-height:1.7em}.code-rail .ln{display:inline-block;width:26px;color:var(--accent)}.run-status{position:absolute;z-index:25;display:flex;align-items:center;gap:9px;height:35px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 78%,transparent);backdrop-filter:blur(16px);font:7px/1 ui-monospace,Consolas,monospace;letter-spacing:.08em}.run-status i{width:6px;height:6px;border-radius:50%;background:var(--muted)}.run-status.running i{background:var(--accent);box-shadow:0 0 18px var(--accent)}.run-status.done i{background:var(--accent2)}.run-status em{font-style:normal;color:var(--muted)}.run-status strong{color:var(--accent2)}
.cursor-ring,.cursor-dot{position:fixed;left:0;top:0;z-index:120;pointer-events:none;will-change:transform}.cursor-ring{width:31px;height:31px;margin:-15.5px 0 0 -15.5px;border:1px solid rgba(255,255,255,.52);border-radius:50%;transition:width .16s var(--ease),height .16s var(--ease),margin .16s var(--ease),border-color .16s}.cursor-ring.hot{width:45px;height:45px;margin:-22.5px 0 0 -22.5px;border-color:rgba(255,255,255,.88)}.cursor-dot{width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:var(--accent);box-shadow:0 0 12px color-mix(in srgb,var(--accent) 55%,transparent)}.cursor-toast{position:fixed;z-index:125;left:50%;bottom:18px;transform:translate(-50%,10px);opacity:0;padding:9px 12px;border:1px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 90%,transparent);font:7px/1 ui-monospace,monospace;letter-spacing:.08em;transition:.2s}.cursor-toast.show{opacity:1;transform:translate(-50%,0)}
.tool-panel{position:fixed;z-index:90;right:18px;top:84px;width:360px;max-height:calc(100vh - 102px);overflow:auto;border:1px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--panel) 96%,transparent);backdrop-filter:blur(26px);padding:14px;opacity:0;visibility:hidden;transform:translateY(-7px) scale(.985);transition:.2s var(--ease);box-shadow:0 22px 90px rgba(0,0,0,.34)}.tool-panel.open{opacity:1;visibility:visible;transform:none}.tool-head{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:11px}.tool-head b{font:780 9px/1 ui-monospace,monospace;letter-spacing:.09em}.tool-head button{background:none;font-size:20px}.tool-panel>p{font-size:9px;line-height:1.5;color:var(--muted)}.palette-presets{display:grid;grid-template-columns:1fr 1fr;gap:6px}.palette-preset{padding:10px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--node);font:730 8px/1 ui-monospace,monospace}.palette-preset small{display:block;color:var(--muted);margin-top:7px;font-size:6.5px}.hex-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px;margin-top:8px}.hex-grid label,.control-row label{font:6.5px/1 ui-monospace,monospace;color:var(--muted)}.hex-grid input{width:100%;margin-top:6px;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--bg);font:8px/1 ui-monospace,monospace}.apply-hex{width:100%;height:34px;margin-top:7px;border-radius:9px;background:var(--fg);color:var(--bg);font:760 8px/1 ui-monospace,monospace}.track-list{display:grid;gap:5px}.track-btn{display:grid;grid-template-columns:8px 1fr auto;gap:9px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:10px;background:var(--node);text-align:left}.track-btn>i{width:6px;height:6px;border-radius:50%;border:1px solid var(--muted)}.track-btn.active>i{background:var(--accent);border-color:var(--accent)}.track-btn strong{display:block;font:730 8px/1.2 ui-monospace,monospace}.track-btn small,.track-btn em{font:6.5px/1 ui-monospace,monospace;color:var(--muted);font-style:normal}.track-credit{margin-top:8px;padding:9px;border:1px solid var(--line);border-radius:9px;font:7px/1.5 ui-monospace,monospace;color:var(--muted)}.track-credit a{color:var(--accent)}.range-row,.select-row{display:grid;grid-template-columns:90px 1fr 42px;align-items:center;gap:8px;margin-top:12px;font:7px/1 ui-monospace,monospace;color:var(--muted)}.range-row input{width:100%;accent-color:var(--accent)}.select-row{grid-template-columns:90px 1fr}.select-row select{height:34px;border:1px solid var(--line);border-radius:9px;background:var(--bg);padding:0 9px;color:var(--fg);font:8px/1 ui-monospace,monospace}.fx-readout{padding:11px;border:1px solid var(--line);border-radius:10px;display:flex;justify-content:space-between;font:7px/1 ui-monospace,monospace}.fx-readout b{color:var(--accent)}.control-sep{height:1px;background:var(--line);margin:13px 0}
.case-modal{position:fixed;inset:0;z-index:110;background:rgba(1,4,8,.68);backdrop-filter:blur(18px);display:grid;place-items:center;opacity:0;visibility:hidden;transition:.25s}.case-modal.open{opacity:1;visibility:visible}.case-inner{width:min(800px,90vw);border:1px solid var(--line);border-radius:22px;background:color-mix(in srgb,var(--panel) 96%,transparent);padding:28px;position:relative}.case-close{position:absolute;right:18px;top:14px;background:none;font-size:22px}.case-inner h2{font-size:clamp(40px,5vw,72px);letter-spacing:-.06em;margin:12px 0}.facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);margin-top:24px}.facts div{background:var(--bg);padding:16px}.facts b{display:block;font:7px/1 ui-monospace,monospace;color:var(--accent);margin-bottom:8px}.facts span{font-size:11px;line-height:1.45;color:var(--muted)}
/* NEXUS family */
body.d-nexus .nav-node,body.d-nexus .project-node{background:color-mix(in srgb,var(--node) 76%,transparent);border-color:color-mix(in srgb,var(--accent2) 17%,var(--line));box-shadow:0 18px 70px rgba(0,0,0,.22)}body.d-nexus .nav-node:before,body.d-nexus .project-node:before{border-color:color-mix(in srgb,var(--accent2) 62%,transparent)}body.d-nexus .content-shell{left:50%;top:6.5vh;transform:translateX(-50%);width:min(940px,80vw);text-align:center;z-index:22}body.d-nexus .content-view{max-height:42vh}body.d-nexus .display{font-size:clamp(44px,5.1vw,78px);max-width:850px;margin:12px auto 16px}body.d-nexus .headline{font-size:clamp(34px,3.6vw,56px);max-width:810px;margin:11px auto 14px}body.d-nexus .lead{margin:0 auto;max-width:700px}body.d-nexus .actions,body.d-nexus .metric-strip{justify-content:center}body.d-nexus .project-grid{margin:16px auto 0;max-width:800px}body.d-nexus .project-card{min-height:118px;border-radius:14px;padding:13px}body.d-nexus .project-card h3{font-size:24px;margin:27px 0 6px}body.d-nexus .skill-grid{margin:16px auto 0;max-width:730px;grid-template-columns:repeat(4,minmax(0,1fr))}body.d-nexus .skill-card{min-height:108px;border-radius:14px;padding:12px}body.d-nexus .skill-card h3{font-size:15px;margin:14px 0 7px}body.d-nexus .principles{margin:16px auto 0;max-width:730px;grid-template-columns:repeat(3,1fr)}body.d-nexus .brief{margin:16px auto 0}body.d-nexus .graph{left:4vw;right:4vw;top:50vh;bottom:7vh;z-index:16}body.d-nexus .nav-node{min-width:190px;height:64px;border-radius:999px}body.d-nexus .project-node,body.d-nexus .child-node{border-radius:999px}body.d-nexus .code-rail{left:18px;bottom:14px;z-index:28}body.d-nexus:not(.fusion-formed) .graph .nav-node,body.d-nexus:not(.fusion-formed) .graph .project-node,body.d-nexus:not(.fusion-formed) .graph .child-node{opacity:0;pointer-events:none;filter:blur(8px)}body.d-nexus.fusion-formed .graph .nav-node:not(.child-node){animation:nexusNodeArrive .75s var(--ease) both}@keyframes nexusNodeArrive{from{opacity:0;filter:blur(8px);transform:translate(-50%,-50%) scale(.9)}to{opacity:1;filter:none;transform:translate(-50%,-50%) scale(1)}}
body.d-nexus[data-active="projects"] .graph,body.d-nexus[data-active="skills"] .graph,body.d-nexus[data-active="approach"] .graph,body.d-nexus[data-active="contact"] .graph{top:57vh}
/* NEXUS base */ body.d-nexus-refined[data-active="home"] .content-shell{top:12vh}.d-nexus-refined .graph{top:51vh}
/* NEXUS spine */ body.d-nexus-spine .content-shell{left:auto;right:5vw;top:10vh;transform:none;width:min(650px,43vw);text-align:left}body.d-nexus-spine .display,body.d-nexus-spine .headline,body.d-nexus-spine .lead{margin-left:0;margin-right:0}body.d-nexus-spine .actions,body.d-nexus-spine .metric-strip{justify-content:flex-start}body.d-nexus-spine .project-grid,body.d-nexus-spine .skill-grid,body.d-nexus-spine .principles{margin-left:0}body.d-nexus-spine .graph{left:3vw;right:54vw;top:4vh!important;bottom:5vh}body.d-nexus-spine .nav-node{border-radius:15px;min-width:184px}body.d-nexus-spine .project-node,body.d-nexus-spine .child-node{border-radius:12px}body.d-nexus-spine .code-rail{left:18px;bottom:16px}
/* Event Horizon */ body.d-nexus-horizon .content-shell{left:5vw;top:10vh;transform:none;width:min(610px,39vw);text-align:left}body.d-nexus-horizon .display,body.d-nexus-horizon .headline,body.d-nexus-horizon .lead{margin-left:0;margin-right:0}body.d-nexus-horizon .actions,body.d-nexus-horizon .metric-strip{justify-content:flex-start}body.d-nexus-horizon .project-grid,body.d-nexus-horizon .skill-grid,body.d-nexus-horizon .principles{margin-left:0}body.d-nexus-horizon .graph{left:46vw;right:2vw;top:5vh!important;bottom:5vh}body.d-nexus-horizon .nav-node{min-width:176px;height:60px}body.d-nexus-horizon .code-rail{left:18px;bottom:16px}
/* NEXUS canopy */ body.d-nexus-canopy .content-shell{left:50%;top:9vh;transform:translateX(-50%);width:min(900px,76vw);text-align:center}body.d-nexus-canopy .graph{left:7vw;right:7vw;top:49vh!important;bottom:8vh}body.d-nexus-canopy .nav-node{min-width:176px;height:60px;border-radius:12px}body.d-nexus-canopy .project-node,body.d-nexus-canopy .child-node{border-radius:9px}.d-nexus-canopy .code-rail{right:18px;left:auto;bottom:16px}
/* VECTOR family */
body.d-vector .header{border-bottom-color:rgba(255,255,255,.09)}body.d-vector .content-shell{right:5vw;top:9vh;width:min(610px,40vw);z-index:22}body.d-vector .graph{left:3vw;right:47vw;top:4vh;bottom:5vh;z-index:16}body.d-vector .nav-node{min-width:202px;height:68px;border-radius:3px;border-left:2px solid var(--accent2);background:color-mix(in srgb,var(--node) 80%,transparent)}body.d-vector .project-node,body.d-vector .child-node{border-radius:3px}body.d-vector .code-rail{right:18px;bottom:18px}.d-vector .run-status{left:18px;top:18px}body.d-vector .project-grid{grid-template-columns:1fr 1fr}.d-vector .project-card{min-height:132px}.d-vector .project-card h3{margin:32px 0 7px}.d-vector .skill-grid{grid-template-columns:1fr 1fr}.d-vector .skill-card{min-height:116px}.d-vector .principles{grid-template-columns:1fr 1fr}.d-vector .scanner-bar{display:block;position:absolute;z-index:4;top:0;bottom:0;width:1px;background:linear-gradient(transparent,var(--accent2),transparent);box-shadow:0 0 42px color-mix(in srgb,var(--accent2) 40%,transparent);opacity:.28;animation:scanV19 10s linear infinite}@keyframes scanV19{from{left:3%}to{left:97%}}
/* VECTOR base */ body.d-vector-refined .graph{left:3vw;right:48vw;top:4vh;bottom:5vh}body.d-vector-refined .content-shell{right:4.5vw;top:9vh;width:min(610px,41vw)}
/* VECTOR vertical */ body.d-vector-stack .graph{left:3vw;right:58vw;top:3vh;bottom:5vh}body.d-vector-stack .content-shell{right:4vw;top:8vh;width:min(720px,50vw)}body.d-vector-stack .nav-node{min-width:220px;border-radius:10px}body.d-vector-stack .project-node,body.d-vector-stack .child-node{border-radius:8px}
/* VECTOR telemetry deck */ body.d-vector-deck .graph{left:4vw;right:4vw;top:4vh;bottom:auto;height:31vh}body.d-vector-deck .content-shell{left:5vw;right:5vw;top:40vh;width:auto}body.d-vector-deck .display{font-size:clamp(54px,7vw,108px);max-width:1120px}.d-vector-deck .headline{max-width:980px}body.d-vector-deck .lead{max-width:820px}.d-vector-deck .nav-node{min-width:178px;height:58px;border-radius:999px;border-left:1px solid var(--line)}body.d-vector-deck .project-node,body.d-vector-deck .child-node{border-radius:999px}.d-vector-deck .project-grid{grid-template-columns:repeat(3,1fr);max-width:960px}.d-vector-deck .skill-grid{grid-template-columns:repeat(4,1fr);max-width:960px}.d-vector-deck .code-rail{right:18px;bottom:16px}
/* VECTOR glass trace */ body.d-vector-glass .content-shell{left:5vw;right:auto;top:10vh;width:min(620px,42vw)}body.d-vector-glass .graph{left:46vw;right:3vw;top:5vh;bottom:6vh}.d-vector-glass .nav-node{border-radius:18px;border-left:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--node) 80%,transparent),color-mix(in srgb,var(--accent2) 5%,transparent))}.d-vector-glass .project-node,.d-vector-glass .child-node{border-radius:14px}.d-vector-glass .code-rail{left:18px;bottom:16px}
@media(max-width:1100px){.hud .meta{display:none}.tool-panel{width:min(360px,calc(100vw - 24px));right:12px}.content-shell{left:5vw!important;right:5vw!important;top:8vh!important;transform:none!important;width:auto!important;text-align:left!important}.display,.headline,.lead{margin-left:0!important;margin-right:0!important}.actions,.metric-strip{justify-content:flex-start!important}.graph{left:0!important;right:0!important;top:48vh!important;bottom:4vh!important;height:auto!important}.skill-grid,.project-grid{grid-template-columns:1fr 1fr!important}.code-rail{display:none!important}.node-preview{display:none!important}}

/* V22 focused content/media additions */
.fx-node-word,.fx-route-word,.fx-packet-word{display:inline-block;position:relative}.fx-node-word{padding:.02em .08em;border:1px solid transparent;border-radius:.18em}.fx-route-heading{position:relative}.fx-route-line{position:absolute!important;left:0;right:0;bottom:-.08em;height:1px;background:linear-gradient(90deg,var(--accent),var(--accent2),transparent);box-shadow:0 0 18px color-mix(in srgb,var(--accent) 42%,transparent);pointer-events:none}.fx-checkpoint{display:inline-block;position:relative;padding-left:.24em}.fx-checkpoint:before{content:attr(data-n);position:absolute;left:0;top:-.5em;font:600 .12em/1 ui-monospace,monospace;color:var(--accent);opacity:.8}.fx-state-heading{position:relative}.fx-state-main{position:relative;z-index:2}.fx-state-ghost{position:absolute;inset:0;z-index:1;pointer-events:none;color:var(--accent2);mix-blend-mode:screen}
.case-modal{padding:22px}.case-inner{width:min(1180px,94vw);max-height:91vh;overflow:auto;padding:26px;border-radius:24px;background:color-mix(in srgb,var(--panel) 97%,#05080d);box-shadow:0 34px 120px rgba(0,0,0,.48)}.case-kicker{font:750 8px/1 ui-monospace,monospace;letter-spacing:.15em;color:var(--accent);text-transform:uppercase}.case-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:end;margin-top:8px}.case-head h2{margin:0 0 8px;font-size:clamp(42px,5vw,78px)}.case-head .lead{max-width:760px;margin:0}.case-meta{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;padding-bottom:6px}.case-meta span{border:1px solid var(--line);border-radius:999px;padding:7px 9px;font:700 7px/1 ui-monospace,monospace;color:var(--muted);letter-spacing:.08em}.case-experience{margin-top:22px}.case-inner .facts{grid-template-columns:repeat(4,1fr);border-radius:14px;overflow:hidden}.case-inner .facts div{min-height:118px}.case-inner .facts b{font-size:8px}.case-inner .facts span{font-size:10px}.demo-shell{border:1px solid color-mix(in srgb,var(--accent2) 18%,var(--line));border-radius:18px;overflow:hidden;background:#07101a;box-shadow:inset 0 1px 0 rgba(255,255,255,.03)}.demo-appbar{height:42px;padding:0 14px;display:flex;align-items:center;gap:12px;border-bottom:1px solid rgba(255,255,255,.08);background:#0b1520;font:650 8px/1 ui-monospace,monospace;letter-spacing:.08em;color:#cbd6e4}.demo-appbar span{color:#718197}.demo-appbar em{margin-left:auto;font-style:normal;color:#72cfff}.demo-section-title{font:750 8px/1 ui-monospace,monospace;letter-spacing:.12em;color:#7f92a8;margin-bottom:14px}.demo-meter{height:5px;border-radius:999px;background:#142235;overflow:hidden;margin:12px 0}.demo-meter i{display:block;height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));box-shadow:0 0 14px color-mix(in srgb,var(--accent) 38%,transparent)}.demo-aio-grid{display:grid;grid-template-columns:150px 1fr 170px;min-height:330px}.demo-side,.demo-guards{padding:18px;background:#09131e}.demo-side{border-right:1px solid rgba(255,255,255,.07)}.demo-guards{border-left:1px solid rgba(255,255,255,.07)}.demo-side small,.demo-guards small{font:700 7px ui-monospace;color:#6f8198;letter-spacing:.1em}.demo-side strong{display:block;font:600 54px/1 Arial;color:#edf5ff;margin:9px 0 2px}.demo-side span,.demo-side p{font:9px/1.55 ui-monospace;color:#718197}.demo-side p b{color:#cfe1f5}.demo-center{padding:18px}.demo-flow{display:grid;grid-template-columns:repeat(6,minmax(62px,1fr));gap:7px;align-items:center}.demo-step{height:45px;border:1px solid #1d3044;border-radius:8px;display:grid;place-items:center;font:700 7px/1 ui-monospace;color:#7790aa;position:relative;transition:.22s}.demo-step:after{content:'';position:absolute;right:-8px;width:8px;height:1px;background:#243d57}.demo-step:nth-child(6n):after,.demo-step:last-child:after{display:none}.demo-step.gate{border-color:#735f31;color:#d8ba74}.demo-step.live{border-color:var(--accent2);color:#ecf8ff;background:color-mix(in srgb,var(--accent2) 12%,#09131e);box-shadow:0 0 24px color-mix(in srgb,var(--accent2) 20%,transparent);transform:translateY(-2px)}.demo-console{margin-top:18px;border-top:1px solid rgba(255,255,255,.07);padding-top:12px;display:grid;gap:8px}.demo-console span{font:8px ui-monospace;color:#8192a6}.demo-console i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#4e647a;margin-right:7px}.demo-console .accent{color:#cfeaff}.demo-console .accent i{background:var(--accent2);box-shadow:0 0 12px var(--accent2)}.demo-guards div{display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.06);padding:13px 0;font:7px ui-monospace}.demo-guards b{color:#718197}.demo-guards span{color:#b9d3ea}.demo-dual{display:grid;grid-template-columns:1fr 82px 1fr;min-height:350px}.get-panel,.qa-panel{padding:18px}.demo-bridge{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border-left:1px solid rgba(255,255,255,.06);border-right:1px solid rgba(255,255,255,.06);background:#08111b;font:7px ui-monospace;color:#657a92}.demo-bridge i{height:62px;width:1px;background:linear-gradient(transparent,var(--accent2),transparent)}.demo-bridge b{color:#b9e6ff}.get-status{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:4px 9px}.get-status b{font:600 34px Arial;color:#eff6fd}.get-status span{font:9px ui-monospace;color:#7f92a8}.get-status em{grid-column:1/-1;font:8px ui-monospace;color:#5e7893;font-style:normal}.field-list{border:1px solid #1a2b3c;border-radius:9px;overflow:hidden}.field-list span{display:grid;grid-template-columns:1fr 1fr .8fr;padding:9px;border-top:1px solid #142436;font:8px ui-monospace}.field-list span:first-child{border-top:0;background:#0b1723;color:#66809a}.field-list b{color:#b8cee3}.field-list em{font-style:normal;color:#7391ae}.field-list i{font-style:normal;color:#7bbfcf}.get-footer{margin-top:13px;font:8px ui-monospace;color:#6f8198}.get-footer b{font-size:22px;color:#cfe8fa}.get-footer span{float:right;margin-top:7px}.qa-tabs{display:flex;gap:8px;border-bottom:1px solid #192a3c;padding-bottom:9px;font:7px ui-monospace;color:#6f8298}.qa-tabs b{color:#bce9ff}.qa-product{display:grid;grid-template-columns:150px 1fr;gap:18px;padding-top:18px}.qa-image{height:210px;border:1px solid #1b3449;border-radius:12px;background:radial-gradient(circle at 48% 42%,rgba(93,189,232,.19),transparent 34%),linear-gradient(145deg,#0b1825,#09121c);display:grid;place-items:center}.qa-image span{font:700 8px/1.5 ui-monospace;text-align:center;color:#68829a}.qa-copy small{font:7px ui-monospace;color:#54bedf}.qa-copy h4{font:600 24px/1.05 Arial;color:#eef6fc;margin:12px 0 16px}.qa-copy p{display:flex;justify-content:space-between;border-bottom:1px solid #172738;padding:8px 0;margin:0;font:9px ui-monospace;color:#7590a9}.qa-copy p b{color:#c8d9e8}.qa-ok{margin-top:14px;border:1px solid #21565f;background:#0c252b;padding:10px;border-radius:8px;font:750 8px ui-monospace;color:#83e0d7}.qa-ok span{float:right;color:#d0ae6d}.desk-grid{display:grid;grid-template-columns:1fr .75fr 1.15fr;min-height:340px}.desk-grid>section{padding:18px;border-right:1px solid rgba(255,255,255,.07)}.desk-grid>section:last-child{border-right:0}.desk-hero{border:1px solid #1a3043;border-radius:13px;padding:18px;background:linear-gradient(140deg,#0b1824,#09121c)}.desk-hero small{font:7px ui-monospace;color:#6f8296}.desk-hero strong{display:block;font:600 48px/1 Arial;color:#edf6fd;margin:8px 0}.desk-hero span{font:8px ui-monospace;color:#70cfc4}.desk-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:9px}.desk-stats div{border:1px solid #172a3b;border-radius:8px;padding:10px}.desk-stats small{display:block;font:6px ui-monospace;color:#697d91}.desk-stats b{display:block;margin-top:5px;font:700 13px ui-monospace;color:#c7d9e9}.ring-meter{width:132px;height:132px;margin:22px auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent2) 0 68%,#172536 68%);position:relative}.ring-meter:before{content:'';position:absolute;inset:11px;border-radius:50%;background:#09131e}.ring-meter span{position:relative;z-index:1;font:600 34px Arial;color:#eaf5fc}.ring-meter small{font-size:13px}.desk-balance p{display:flex;justify-content:space-between;font:8px ui-monospace;color:#748a9f}.desk-balance p b{color:#c7dae9}.desk-rule{margin-top:18px;border-top:1px solid #1a2d3e;padding-top:12px;font:7px ui-monospace;color:#6f8498}.desk-rule span{float:right;color:#75d7c8}.desk-action>small{font:7px ui-monospace;color:#6fbfdf}.desk-action h4{font:600 23px/1.15 Arial;color:#eef5fa;margin:12px 0 16px}.action-row{display:flex;justify-content:space-between;border-bottom:1px solid #192a39;padding:9px 0;font:9px ui-monospace;color:#73899d}.action-row b{color:#d3e1ec}.desk-action button{width:100%;margin-top:16px;border:1px solid #477991;background:#102c3a;color:#d8eff8;padding:11px;border-radius:8px;font:750 8px ui-monospace;letter-spacing:.08em}.desk-action p{font:8px/1.5 ui-monospace;color:#667d91}.profile-module{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:10px}.profile-column{border:1px solid var(--line);border-radius:15px;padding:18px;background:color-mix(in srgb,var(--panel) 72%,transparent)}.profile-column>small{font:750 7px ui-monospace;color:var(--accent);letter-spacing:.1em}.profile-column h3{font-size:22px;letter-spacing:-.03em;margin:11px 0 16px}.chip-grid,.tool-cloud{display:flex;flex-wrap:wrap;gap:6px}.chip-grid span,.tool-cloud span{border:1px solid var(--line);border-radius:999px;padding:7px 8px;font:7px ui-monospace;color:var(--muted)}.cap-lines p{display:grid;grid-template-columns:78px 1fr;gap:10px;border-top:1px solid var(--line);margin:0;padding:10px 0}.cap-lines b{font:750 8px ui-monospace;color:var(--fg)}.cap-lines span{font:9px/1.45 ui-monospace;color:var(--muted)}.profile-note{margin:16px 0 0;font:8px/1.55 ui-monospace;color:var(--muted)}.approach-route{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.approach-route div{min-height:138px;border:1px solid var(--line);border-radius:13px;padding:15px;background:color-mix(in srgb,var(--panel) 70%,transparent);position:relative}.approach-route div:after{content:'';position:absolute;right:-9px;top:50%;width:9px;height:1px;background:var(--accent2);opacity:.4}.approach-route div:nth-child(3n):after,.approach-route div:last-child:after{display:none}.approach-route i{font:700 8px ui-monospace;color:var(--accent);font-style:normal}.approach-route b{display:block;margin:18px 0 9px;font:750 9px ui-monospace;letter-spacing:.08em}.approach-route span{font:10px/1.5;color:var(--muted)}.approach-footer{margin-top:10px;border:1px solid var(--line);border-radius:13px;padding:14px;display:flex;gap:24px;align-items:center}.approach-footer b{white-space:nowrap}.approach-footer span{font:9px/1.45 ui-monospace;color:var(--muted)}
@media(max-width:900px){.case-modal{padding:8px}.case-inner{width:98vw;padding:18px}.case-head{grid-template-columns:1fr}.case-meta{justify-content:flex-start}.case-inner .facts{grid-template-columns:1fr 1fr}.demo-aio-grid,.demo-dual,.desk-grid,.profile-module{grid-template-columns:1fr}.demo-bridge{display:none}.demo-flow{grid-template-columns:repeat(3,1fr)}.approach-route{grid-template-columns:1fr 1fr}.demo-guards,.demo-side,.desk-grid>section{border:0;border-bottom:1px solid rgba(255,255,255,.07)}}


/* V23 readability + interaction consistency */
.lead{font-size:13.5px;line-height:1.62}
.project-card p,.skill-card p{font-size:11.5px;line-height:1.55}
.nav-node,.project-node{min-width:220px;height:80px;padding:0 22px}
.nav-node strong,.project-node strong{font-size:13.5px}.nav-node small,.project-node small{font-size:8.7px}
.project-node,.child-node{min-width:174px;height:64px}.project-node strong,.child-node strong{font-size:12.2px}.project-node small,.child-node small{font-size:8.2px}
.graph.projects-open .project-node,.graph.about-open .child-node{opacity:0!important;pointer-events:none!important}
.graph.projects-peek .project-node,.graph.projects-run .project-node,.graph.about-peek .child-node,.graph.about-run .child-node{opacity:1;pointer-events:auto}
.graph.projects-peek .project-node,.graph.about-peek .child-node{opacity:.82;transform:translate(-50%,-50%) scale(.98)}
.node-preview{width:320px;max-width:340px;padding:14px 15px;font-size:11.5px;line-height:1.5}.node-preview b{font-size:10.5px}.node-preview em{font-size:8px}.node-preview.measure{opacity:0!important;transition:none!important}
.case-inner{font-family:Inter,Arial,Helvetica,sans-serif}.case-head .lead{font-size:14px;line-height:1.6}.case-meta span{font-size:8.5px;padding:8px 10px}.case-inner .facts b{font-size:9px}.case-inner .facts span{font-size:11.5px;line-height:1.5}.case-inner .facts div{min-height:126px;padding:16px}
.demo-appbar{height:46px;font-size:9.5px}.demo-section-title{font-size:9px}.demo-explainer{padding:15px 18px;border-bottom:1px solid rgba(255,255,255,.07);display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:start;background:#09131e}.demo-explainer b{font-size:12px}.demo-explainer span{font-size:12px;line-height:1.55;color:#9aabbd;max-width:900px}
.demo-side small,.demo-guards small{font-size:8.5px}.demo-side span,.demo-side p{font-size:10.5px}.demo-step{height:50px;font-size:8.5px}.demo-console span,.demo-live-log span{font-size:9.5px}.demo-guards div{font-size:8.5px}.get-status span{font-size:10.5px}.get-status em{font-size:9.5px}.field-list span{font-size:9.5px;padding:10px}.field-list span.live-row,.qa-row.live-row{background:rgba(85,201,255,.08);color:#dff6ff}.get-footer{font-size:9.5px}.qa-tabs{font-size:8.5px}.qa-copy small{font-size:8.5px}.qa-copy p{font-size:10.5px}.qa-ok{font-size:9px}.desk-hero small{font-size:8.5px}.desk-stats small{font-size:7.5px}.desk-balance p,.desk-rule,.desk-action>small,.desk-action p{font-size:9.5px}.action-row{font-size:10.5px}.desk-action button{font-size:9px}
.demo-live-log{margin-top:16px;border-top:1px solid rgba(255,255,255,.07);padding-top:12px;display:grid;gap:8px;min-height:84px}.demo-live-log.compact{min-height:74px}.demo-live-log span{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#8192a6}.demo-live-log i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4e647a;margin-right:8px}.demo-live-log .accent{color:#cfeaff}.demo-live-log .accent i{background:var(--accent2);box-shadow:0 0 12px var(--accent2)}.qa-ok.pulse{box-shadow:0 0 22px rgba(85,201,255,.16)}
.profile-module{grid-template-columns:1.08fr 1fr 1fr;gap:12px}.profile-column{padding:22px}.profile-column>small{font-size:8.5px}.profile-column h3{font-size:26px;line-height:1.08;margin:12px 0 16px}.profile-body{font-size:13px;line-height:1.62;color:var(--muted);margin:0 0 18px}.chip-grid span,.tool-cloud span{font:500 10px/1.25 Inter,Arial,sans-serif;padding:8px 10px}.cap-lines p{grid-template-columns:94px 1fr;padding:12px 0}.cap-lines b{font:650 11px/1.35 Inter,Arial,sans-serif}.cap-lines span{font:400 11.5px/1.5 Inter,Arial,sans-serif}.profile-note{font:400 11.5px/1.6 Inter,Arial,sans-serif}
.senior-approach{display:grid;gap:14px}.approach-story{max-width:850px;padding:0 2px 4px}.approach-story small{font:700 8.5px/1 ui-monospace,monospace;color:var(--accent);letter-spacing:.1em}.approach-story h3{font-size:28px;line-height:1.1;margin:10px 0 10px}.approach-story p{font-size:13px;line-height:1.62;color:var(--muted);margin:0;max-width:820px}.approach-route{grid-template-columns:repeat(2,1fr);gap:10px}.approach-route div{min-height:132px;padding:18px 18px 17px}.approach-route div:after{display:none}.approach-route i{font-size:8.5px}.approach-route b{margin:14px 0 8px;font:650 15px/1.2 Inter,Arial,sans-serif;letter-spacing:-.01em}.approach-route span{font:400 12px/1.55 Inter,Arial,sans-serif}.approach-footer{padding:16px 18px;gap:20px}.approach-footer b{font-size:13px}.approach-footer span{font:400 11.5px/1.55 Inter,Arial,sans-serif}
body.d-nexus-spine .nav-node,body.d-nexus-horizon .nav-node,body.d-nexus-canopy .nav-node,.d-vector-deck .nav-node{min-width:198px;height:66px}
body.d-nexus-spine .project-node,body.d-nexus-spine .child-node,body.d-nexus-horizon .project-node,body.d-nexus-horizon .child-node,body.d-nexus-canopy .project-node,body.d-nexus-canopy .child-node,.d-vector-deck .project-node,.d-vector-deck .child-node{min-width:164px;height:60px}


/* V24 FINAL-3 LOCKS ------------------------------------------------------- */
:root{--bg:#040811;--accent:#78a7ff;--accent2:#55c9ff;--text-speed:1600ms}
body.final-v24{--bg:#040811;--accent:#78a7ff;--accent2:#55c9ff;background:#040811}
body.final-v24 .header{justify-content:flex-start}
body.final-v24 .tool-panel,body.final-v24 .hud,body.final-v24 .run-status{display:none!important}
/* Main-node activation owns its children. Visible children always retain their edges. */
body.final-v24 .graph.projects-open .project-node,
body.final-v24 .graph.about-open .child-node{opacity:1!important;pointer-events:auto!important;transform:translate(-50%,-50%) scale(1)}
body.final-v24 .graph.projects-open.projects-peek .project-node,
body.final-v24 .graph.about-open.about-peek .child-node{opacity:1!important}
body.final-v24 .graph:not(.projects-open):not(.projects-peek):not(.projects-run) .project-node{opacity:0!important;pointer-events:none!important}
body.final-v24 .graph:not(.about-open):not(.about-peek):not(.about-run) .child-node{opacity:0!important;pointer-events:none!important}

/* mobile prototypes: pipeline first, content second, no hover-only UI */
body.mobile-v24,body.mobile-v24 *{cursor:auto!important}
body.mobile-v24 .cursor-ring,body.mobile-v24 .cursor-dot,body.mobile-v24 .cursor-toast,body.mobile-v24 .node-preview{display:none!important}
body.mobile-v24 .header{height:58px;padding:10px 13px;background:linear-gradient(180deg,rgba(4,8,17,.98),rgba(4,8,17,.76))}
body.mobile-v24 .brand-mark{width:26px;height:26px;border-radius:8px}
body.mobile-v24 .brand-copy b{font-size:9px}body.mobile-v24 .brand-copy span{font-size:5.7px}
body.mobile-v24 .workspace{inset:58px 0 0;overflow:hidden}
body.mobile-v24 .graph{left:8px!important;right:8px!important;top:0!important;bottom:auto!important;height:32vh!important;z-index:18}
body.mobile-v24 .nav-node{min-width:102px!important;width:auto;height:48px!important;padding:0 10px!important;border-radius:11px!important}
body.mobile-v24 .project-node,body.mobile-v24 .child-node{min-width:92px!important;height:43px!important;padding:0 8px!important;border-radius:9px!important}
body.mobile-v24 .nav-node:before,body.mobile-v24 .project-node:before{width:7px;height:7px}
body.mobile-v24 .nav-node strong,body.mobile-v24 .project-node strong,body.mobile-v24 .child-node strong{font-size:8px!important;letter-spacing:.035em}
body.mobile-v24 .nav-node small,body.mobile-v24 .project-node small,body.mobile-v24 .child-node small{font-size:5.7px!important;margin-top:4px}
body.mobile-v24 .code-rail{left:12px!important;right:12px!important;top:33vh!important;bottom:auto!important;z-index:29}
body.mobile-v24 .code-rail pre{min-width:0;width:100%;padding:9px 10px;border-radius:10px;font-size:8px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
body.mobile-v24 .code-rail .ln{width:21px}
body.mobile-v24 .content-shell{left:0!important;right:0!important;top:47vh!important;bottom:0!important;transform:none!important;width:100%!important;max-width:none!important;text-align:left!important;overflow-y:auto;padding:19px 18px 44px;background:linear-gradient(180deg,rgba(4,8,17,.84),rgba(4,8,17,.985) 17%);z-index:24;scrollbar-width:none}
body.mobile-v24 .content-shell::-webkit-scrollbar{display:none}
body.mobile-v24 .content-view{max-height:none!important;padding-bottom:28px}
body.mobile-v24 .eyebrow{font-size:7px}
body.mobile-v24 .display{font-size:clamp(39px,12vw,58px)!important;line-height:.92!important;letter-spacing:-.06em!important;margin:9px 0 15px!important;text-align:left!important}
body.mobile-v24 .headline{font-size:clamp(32px,9.5vw,48px)!important;line-height:.95!important;letter-spacing:-.055em!important;margin:9px 0 14px!important;text-align:left!important}
body.mobile-v24 .lead{font-size:13px!important;line-height:1.58!important;margin:0!important;max-width:none!important;text-align:left!important}
body.mobile-v24 .actions,body.mobile-v24 .metric-strip{justify-content:flex-start!important}
body.mobile-v24 .actions{margin-top:18px}
body.mobile-v24 .actions button{height:40px;font-size:7px;padding:0 14px}
body.mobile-v24 .metric-strip{gap:5px;margin-top:17px}.mobile-v24 .metric-strip span{font-size:6.2px;padding:6px 7px}
body.mobile-v24 .project-grid,body.mobile-v24 .skill-grid{grid-template-columns:1fr!important;max-width:none!important;margin:18px 0 0!important;gap:8px!important}
body.mobile-v24 .project-card,body.mobile-v24 .skill-card{min-height:112px!important;padding:14px!important}
body.mobile-v24 .project-card h3{margin:24px 0 6px;font-size:25px}.mobile-v24 .project-card p,.mobile-v24 .skill-card p{font-size:11.5px}
body.mobile-v24 .brief{grid-template-columns:1fr;max-width:none}.mobile-v24 .brief textarea{grid-column:auto}
body.mobile-v24 .case-modal{place-items:stretch;padding:0;background:rgba(1,4,8,.82);backdrop-filter:blur(12px)}
body.mobile-v24 .case-inner{width:100vw!important;height:100dvh;max-height:none;border-radius:0;border:0;padding:24px 15px 42px;overflow-y:auto}
body.mobile-v24 .case-close{right:13px;top:9px;font-size:28px}
body.mobile-v24 .case-head{grid-template-columns:1fr!important}.mobile-v24 .case-head h2{font-size:46px!important;margin-top:5px}.mobile-v24 .case-head .lead{font-size:13px!important}
body.mobile-v24 .case-meta{justify-content:flex-start}.mobile-v24 .case-inner .facts{grid-template-columns:1fr!important}.mobile-v24 .case-inner .facts div{min-height:0}
body.mobile-v24 .demo-aio-grid,body.mobile-v24 .demo-dual,body.mobile-v24 .desk-grid,body.mobile-v24 .profile-module{grid-template-columns:1fr!important}
body.mobile-v24 .demo-flow{grid-template-columns:repeat(2,1fr)!important}.mobile-v24 .demo-bridge{display:none}.mobile-v24 .demo-guards,.mobile-v24 .demo-side,.mobile-v24 .desk-grid>section{border:0;border-bottom:1px solid rgba(255,255,255,.07)}
body.mobile-v24 .qa-product{grid-template-columns:1fr}.mobile-v24 .qa-image{height:160px}.mobile-v24 .approach-route{grid-template-columns:1fr!important}.mobile-v24 .approach-footer{display:block}.mobile-v24 .approach-footer span{display:block;margin-top:8px}
/* touch pages do not depend on hover previews */
@media (hover:none),(pointer:coarse){body.final-v24:not(.mobile-v24) .node-preview{display:none}}


/* V25 final-candidate refinements */
body.final-v25 .workspace{inset:0}
body.final-v25 .header{display:none!important}
body.final-v25 .sound-toggle{position:fixed;right:16px;top:16px;z-index:86;width:42px;height:42px;padding:0;border:1px solid rgba(218,231,246,.20);border-radius:50%;background:rgba(6,12,22,.66);backdrop-filter:blur(18px);display:grid;place-items:center;box-shadow:0 10px 42px rgba(0,0,0,.18);transition:transform .18s var(--ease),border-color .18s,background .18s}
body.final-v25 .sound-toggle:hover{transform:scale(1.06);border-color:rgba(120,167,255,.58);background:rgba(10,20,34,.82)}
body.final-v25 .sound-toggle svg{width:19px;height:19px;fill:none;stroke:#edf4fd;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}
body.final-v25 .sound-toggle .speaker{fill:rgba(237,244,253,.12)}
body.final-v25 .sound-toggle .mute-x{display:none}
body.final-v25 .sound-toggle.muted .waves{display:none}
body.final-v25 .sound-toggle.muted .mute-x{display:block}
body.final-v25 .sound-toggle.muted{opacity:.72}
/* Telemetry main pipeline now shares the softer geometry of Vertical Spine. */
body.final-v25.d-vector-deck .nav-node{border-radius:15px;border-left:1px solid var(--line)}
body.final-v25.d-vector-deck .project-node,body.final-v25.d-vector-deck .child-node{border-radius:12px}
/* Four cases: balanced presentation without squeezing copy. */
body.final-v25.d-nexus-spine .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:650px}
body.final-v25.d-nexus-canopy .project-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-width:820px}
body.final-v25.d-vector-deck .project-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1180px}
body.final-v25.d-vector-deck .project-card{min-height:128px}
/* Approach is intentionally TL;DR: one idea, four stages, one tool note. */
.compact-approach .approach-story p{max-width:720px;font-size:12px;line-height:1.55;color:var(--muted)}
.compact-approach .approach-route{grid-template-columns:repeat(4,1fr)}
.compact-approach .approach-route div{min-height:112px}
.compact-approach .approach-route b{margin:14px 0 7px;font-size:9.5px}
.compact-approach .approach-route span{font-size:10.5px;line-height:1.42}
.compact-approach .approach-route div:nth-child(3n):after{display:block}
.compact-approach .approach-route div:last-child:after{display:none}
.compact-approach .approach-footer{padding:12px 14px}
/* This portfolio case: animated system view, not another static card. */
.site-demo-grid{display:grid;grid-template-columns:1.25fr .8fr .95fr;min-height:320px}
.site-demo-grid>section{padding:18px;border-right:1px solid rgba(255,255,255,.07)}
.site-demo-grid>section:last-child{border-right:0}
.site-route{display:grid;grid-template-columns:1fr 36px 1fr 36px 1fr;align-items:center;gap:4px;margin:34px 0 20px}
.site-route>i{height:1px;background:linear-gradient(90deg,#28415d,var(--accent2),#28415d);opacity:.55}
.site-step{height:52px;border:1px solid #213750;border-radius:12px;display:grid;place-items:center;font:750 8px ui-monospace;color:#7891aa;transition:.28s}
.site-step.live{border-color:var(--accent2);color:#f0f8ff;background:#0d2535;box-shadow:0 0 26px rgba(85,201,255,.13);transform:translateY(-3px)}
.site-state-row{display:flex;justify-content:space-between;padding:13px 0;border-bottom:1px solid #182a3c;font:8px ui-monospace;color:#71869b}
.site-state-row b{color:#cadbea}
.site-window{margin-top:26px;border:1px solid #1b3449;border-radius:14px;padding:18px;background:linear-gradient(145deg,#0c1926,#09131d)}
.site-window small{font:7px ui-monospace;color:#69c9ed}.site-window h4{font-size:28px;margin:14px 0 9px;letter-spacing:-.04em}.site-window p{font-size:10px;line-height:1.5;color:#8296aa}.site-window>span{display:inline-block;margin-top:12px;padding:7px 9px;border:1px solid #24536c;border-radius:999px;font:750 7px ui-monospace;color:#8be0ff}
/* Mobile: header is gone; keep the sound control and reclaim the space. */
body.mobile-v25 .workspace{inset:0!important}
body.mobile-v25 .sound-toggle{right:11px;top:11px;width:39px;height:39px}
body.mobile-v25 .project-node{min-width:78px!important;padding:0 6px!important}
body.mobile-v25 .project-node strong{font-size:7.2px!important}
body.mobile-v25 .project-node small{font-size:5.3px!important}
body.mobile-v25 .site-demo-grid{grid-template-columns:1fr}
body.mobile-v25 .site-demo-grid>section{border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}
body.mobile-v25 .site-route{grid-template-columns:1fr 22px 1fr 22px 1fr}
body.mobile-v25 .compact-approach .approach-route{grid-template-columns:1fr!important}
body.mobile-v25 .compact-approach .approach-route div{min-height:0}
body.mobile-v25 .compact-approach .approach-route div:after{display:none!important}


/* PORTFOLIO OS V1 ------------------------------------------------------- */
:root{--os-safe-top:0px}
body.os-v1 .header{display:none!important}
body.os-v1 .workspace{inset:0!important}
body.os-v1 .os-theme-badge{display:none!important}
body.os-v1 .project-card small{letter-spacing:.06em}
body.os-v1 .case-inner{scrollbar-width:thin}
body.os-v1 .case-inner::-webkit-scrollbar{width:8px}
body.os-v1 .case-inner::-webkit-scrollbar-thumb{background:rgba(120,167,255,.26);border-radius:99px}
body.os-v1 .generic-demo-grid{display:grid;grid-template-columns:1.35fr .8fr;min-height:290px}
body.os-v1 .generic-demo-grid>section{padding:18px;border-right:1px solid rgba(255,255,255,.07)}
body.os-v1 .generic-demo-grid>section:last-child{border-right:0}
body.os-v1 .generic-flow{display:flex;flex-wrap:wrap;gap:7px;margin-top:22px}
body.os-v1 .generic-flow .demo-step{min-width:112px;height:44px;border:1px solid #22384d;border-radius:11px;display:grid;place-items:center;font:750 7.5px ui-monospace;color:#7f95ab;transition:.25s}
body.os-v1 .generic-flow .demo-step.live{border-color:var(--accent2);color:#eef8ff;background:#0b2333;box-shadow:0 0 25px rgba(85,201,255,.13);transform:translateY(-2px)}
body.os-v1 .os-mobile-note{display:none}

@media (max-width:760px){
  body.os-v1{overflow:hidden}
  body.os-v1,body.os-v1 *{cursor:auto!important}
  body.os-v1 .cursor-ring,body.os-v1 .cursor-dot,body.os-v1 .cursor-toast,body.os-v1 .node-preview{display:none!important}
  body.os-v1 .workspace{inset:0!important;overflow:hidden}
  body.os-v1 .graph{left:8px!important;right:8px!important;top:0!important;bottom:auto!important;height:32vh!important;z-index:18}
  body.os-v1 .nav-node{min-width:102px!important;width:auto;height:48px!important;padding:0 10px!important;border-radius:11px!important}
  body.os-v1 .project-node,body.os-v1 .child-node{min-width:78px!important;height:43px!important;padding:0 6px!important;border-radius:9px!important}
  body.os-v1 .nav-node strong{font-size:8px!important;letter-spacing:.035em}
  body.os-v1 .project-node strong,body.os-v1 .child-node strong{font-size:7.2px!important;letter-spacing:.025em}
  body.os-v1 .nav-node small{font-size:5.7px!important;margin-top:4px}
  body.os-v1 .project-node small,body.os-v1 .child-node small{font-size:5.3px!important;margin-top:4px}
  body.os-v1 .code-rail{left:12px!important;right:12px!important;top:33vh!important;bottom:auto!important;z-index:29}
  body.os-v1 .code-rail pre{min-width:0;width:100%;padding:9px 10px;border-radius:10px;font-size:8px;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}
  body.os-v1 .code-rail .ln{width:21px}
  body.os-v1 .content-shell{left:0!important;right:0!important;top:47vh!important;bottom:0!important;transform:none!important;width:100%!important;max-width:none!important;text-align:left!important;overflow-y:auto;padding:19px 18px 44px;background:linear-gradient(180deg,rgba(4,8,17,.84),rgba(4,8,17,.985) 17%);z-index:24;scrollbar-width:none}
  body.os-v1 .content-shell::-webkit-scrollbar{display:none}
  body.os-v1 .content-view{max-height:none!important;padding-bottom:28px}
  body.os-v1 .eyebrow{font-size:7px}
  body.os-v1 .display{font-size:clamp(39px,12vw,58px)!important;line-height:.92!important;letter-spacing:-.06em!important;margin:9px 0 15px!important;text-align:left!important}
  body.os-v1 .headline{font-size:clamp(32px,9.5vw,48px)!important;line-height:.95!important;letter-spacing:-.055em!important;margin:9px 0 14px!important;text-align:left!important}
  body.os-v1 .lead{font-size:13px!important;line-height:1.58!important;margin:0!important;max-width:none!important;text-align:left!important}
  body.os-v1 .actions,body.os-v1 .metric-strip{justify-content:flex-start!important}
  body.os-v1 .actions{margin-top:18px}
  body.os-v1 .actions button{height:40px;font-size:7px;padding:0 14px}
  body.os-v1 .project-grid,body.os-v1 .skill-grid{grid-template-columns:1fr!important;max-width:none!important;margin:18px 0 0!important;gap:8px!important}
  body.os-v1 .project-card,body.os-v1 .skill-card{min-height:112px!important;padding:14px!important}
  body.os-v1 .project-card h3{margin:24px 0 6px;font-size:25px}
  body.os-v1 .project-card p,body.os-v1 .skill-card p{font-size:11.5px}
  body.os-v1 .brief{grid-template-columns:1fr;max-width:none}
  body.os-v1 .brief textarea{grid-column:auto}
  body.os-v1 .case-modal{place-items:stretch;padding:0;background:rgba(1,4,8,.82);backdrop-filter:blur(12px)}
  body.os-v1 .case-inner{width:100vw!important;height:100dvh;max-height:none;border-radius:0;border:0;padding:24px 15px 42px;overflow-y:auto}
  body.os-v1 .case-close{right:13px;top:9px;font-size:28px}
  body.os-v1 .case-head{grid-template-columns:1fr!important}
  body.os-v1 .case-head h2{font-size:46px!important;margin-top:5px}
  body.os-v1 .case-head .lead{font-size:13px!important}
  body.os-v1 .case-meta{justify-content:flex-start}
  body.os-v1 .case-inner .facts{grid-template-columns:1fr!important}
  body.os-v1 .case-inner .facts div{min-height:0}
  body.os-v1 .demo-aio-grid,body.os-v1 .demo-dual,body.os-v1 .desk-grid,body.os-v1 .profile-module,body.os-v1 .site-demo-grid,body.os-v1 .generic-demo-grid{grid-template-columns:1fr!important}
  body.os-v1 .demo-flow{grid-template-columns:repeat(2,1fr)!important}
  body.os-v1 .demo-bridge{display:none}
  body.os-v1 .demo-guards,body.os-v1 .demo-side,body.os-v1 .desk-grid>section,body.os-v1 .site-demo-grid>section,body.os-v1 .generic-demo-grid>section{border-right:0;border-bottom:1px solid rgba(255,255,255,.07)}
  body.os-v1 .qa-product{grid-template-columns:1fr}
  body.os-v1 .qa-image{height:160px}
  body.os-v1 .approach-route{grid-template-columns:1fr!important}
  body.os-v1 .approach-footer{display:block}
  body.os-v1 .approach-footer span{display:block;margin-top:8px}
  body.os-v1 .sound-toggle{right:11px!important;top:11px!important;width:39px!important;height:39px!important}
}
@media (prefers-reduced-motion:reduce){
  body.os-v1 *,body.os-v1 *::before,body.os-v1 *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}
}


/* PORTFOLIO OS V2 — distinct project experiences --------------------- */
body.os-v1 .case-experience{margin-top:22px}
body.os-v1 .os2-demo{border:1px solid rgba(115,159,205,.19);border-radius:18px;overflow:hidden;background:#07101a;box-shadow:0 26px 80px rgba(0,0,0,.28)}
body.os-v1 .os2-demo .demo-appbar{height:50px;padding:0 18px;font-size:11px;background:#091522}
body.os-v1 .os2-demo .demo-appbar b{font-size:11px;letter-spacing:.045em}
body.os-v1 .os2-demo .demo-appbar span{font-size:10px;color:#7189a1}
body.os-v1 .os2-demo .demo-appbar em{font-size:9px;padding:6px 9px;border-radius:999px;background:rgba(85,201,255,.08);border:1px solid rgba(85,201,255,.17);color:#83dcff}
body.os-v1 .os2-demo .demo-explainer{grid-template-columns:125px 1fr;padding:18px 20px;background:#0a1622}
body.os-v1 .os2-demo .demo-explainer b{font-size:13px;color:#ecf7ff}
body.os-v1 .os2-demo .demo-explainer span{font-size:13px;line-height:1.62;color:#a7b8c8;max-width:970px}
body.os-v1 .os2-demo .demo-section-title{font-size:10px;letter-spacing:.11em;color:#6f8ba7}
body.os-v1 .os2-log{font-size:11px;line-height:1.45}
body.os-v1 .os2-log span{display:grid;grid-template-columns:7px 58px 1fr;align-items:center;gap:8px;font-size:10.5px;padding:2px 0}
body.os-v1 .os2-log time{color:#4f6b85;font:9px ui-monospace,SFMono-Regular,Consolas,monospace}

/* AIO: one long controlled run */
body.os-v1 .aio-v2-grid{display:grid;grid-template-columns:210px minmax(0,1fr) 245px;min-height:440px}
body.os-v1 .aio-v2-grid>aside,body.os-v1 .aio-v2-grid>section{padding:20px;border-right:1px solid rgba(255,255,255,.065)}
body.os-v1 .aio-v2-grid>*:last-child{border-right:0}
body.os-v1 .aio-batch-card{background:linear-gradient(180deg,#0a1724,#08111b)}
body.os-v1 .aio-run-id{margin:24px 0 20px;padding:12px;border:1px solid #1c3449;border-radius:12px;background:#091521}
body.os-v1 .aio-run-id small,body.os-v1 .aio-state-box small{display:block;font:8px ui-monospace;color:#657e96;letter-spacing:.09em}
body.os-v1 .aio-run-id b{display:block;margin-top:6px;font:12px ui-monospace;color:#d9eaff}
body.os-v1 .aio-batch-number strong{font-size:64px;line-height:.85;letter-spacing:-.07em;color:#edf7ff}
body.os-v1 .aio-batch-number span{display:block;margin-top:9px;font-size:12px;color:#73889d}
body.os-v1 .aio-counts{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:18px 0}
body.os-v1 .aio-counts div{padding:10px 6px;border:1px solid #172b3d;border-radius:9px;text-align:center;background:#09131e}
body.os-v1 .aio-counts b{display:block;font-size:18px}.aio-counts span{font-size:9px;color:#71869c}
body.os-v1 .aio-state-box{margin-top:24px;padding:13px;border-left:2px solid var(--accent2);background:rgba(85,201,255,.045)}
body.os-v1 .aio-state-box b{display:block;margin:7px 0 5px;font:10px ui-monospace;color:#aee9ff}.aio-state-box span{font-size:10px;line-height:1.45;color:#6f879d}
body.os-v1 .aio-route-board{background:radial-gradient(circle at 50% 20%,rgba(35,87,124,.12),transparent 45%),#07111b}
body.os-v1 .aio-route-track{position:relative;display:grid;grid-template-columns:repeat(11,minmax(58px,1fr));gap:8px;align-items:center;margin:52px 0 34px;padding:0 4px}
body.os-v1 .aio-route-line{position:absolute;left:4%;right:4%;top:50%;height:1px;background:#17324a;z-index:0}
body.os-v1 .aio-packet{position:absolute;top:50%;left:4%;width:12px;height:12px;border-radius:50%;background:#b6efff;box-shadow:0 0 0 5px rgba(85,201,255,.08),0 0 22px rgba(85,201,255,.75);transform:translate(-50%,-50%);z-index:4;transition:left .72s cubic-bezier(.2,.8,.2,1)}
body.os-v1 .aio-stage{position:relative;z-index:2;min-height:68px;padding:11px 5px;border:1px solid #193047;border-radius:11px;background:#09141f;text-align:center;display:grid;place-content:center;transition:.35s}
body.os-v1 .aio-stage b{font:750 8px ui-monospace;color:#70889f;letter-spacing:.03em}.aio-stage small{margin-top:5px;font-size:8px;color:#465e73}
body.os-v1 .aio-stage.done{border-color:#234961;background:#0a1a27}.aio-stage.done b{color:#80b7cf}
body.os-v1 .aio-stage.live{border-color:var(--accent2);background:#0b2637;transform:translateY(-8px);box-shadow:0 12px 32px rgba(20,95,135,.2)}
body.os-v1 .aio-stage.live b{color:#ecfbff}.aio-stage.gate.live{border-color:#d8b36a;background:#2a2112;box-shadow:0 12px 34px rgba(216,179,106,.12)}
body.os-v1 .aio-runtime-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}
body.os-v1 .aio-runtime-strip div{padding:10px 11px;border:1px solid #152b3e;border-radius:10px;background:#08131e}.aio-runtime-strip small{display:block;font:7px ui-monospace;color:#526b83}.aio-runtime-strip b{display:block;margin-top:5px;font:9px ui-monospace;color:#b8ccdd}
body.os-v1 .aio-approval-card{background:linear-gradient(180deg,#09131e,#070e16);transition:.35s}
body.os-v1 .approval-orbit{width:118px;height:118px;margin:30px auto 24px;border:1px solid #294258;border-radius:50%;display:grid;place-items:center;position:relative}
body.os-v1 .approval-orbit:before,body.os-v1 .approval-orbit:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(85,201,255,.13);inset:12px}.approval-orbit:after{inset:-8px;border-style:dashed;animation:os2spin 12s linear infinite}
body.os-v1 .approval-orbit i{position:absolute;width:8px;height:8px;border-radius:50%;background:#5d7891;box-shadow:0 0 14px #5d7891}.approval-orbit span{font:750 9px/1.35 ui-monospace;text-align:center;color:#7891a9}
body.os-v1 .aio-approval-card.live{background:linear-gradient(180deg,#17170f,#0d1115)}.aio-approval-card.live .approval-orbit{border-color:#d8b36a}.aio-approval-card.live .approval-orbit i{background:#ffd990;box-shadow:0 0 22px #d8b36a}.aio-approval-card.live .approval-orbit span{color:#f5d99d}
body.os-v1 .aio-approval-card h4{font-size:21px;line-height:1.05;letter-spacing:-.035em;margin:0 0 10px}.aio-approval-card p{font-size:11px;line-height:1.55;color:#7f92a6}
body.os-v1 .guard-list{display:grid;gap:7px;margin-top:18px}.guard-list span{font-size:9.5px;color:#7d91a6}.guard-list i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#52728d;margin-right:7px}

/* GET + QA: two visibly separate tools */
body.os-v1 .getqa-v2-grid{display:grid;grid-template-columns:minmax(310px,1.05fr) 235px minmax(320px,1fr);min-height:480px}
body.os-v1 .getqa-v2-grid>section{padding:20px;border-right:1px solid rgba(255,255,255,.065)}.getqa-v2-grid>section:last-child{border-right:0}
body.os-v1 .tool-ribbon{display:flex;align-items:baseline;gap:9px;padding-bottom:14px;border-bottom:1px solid #172a3c}.tool-ribbon b{font-size:16px}.tool-ribbon span{font:8px ui-monospace;color:#6d8398}.tool-ribbon em{margin-left:auto;font:7px ui-monospace;color:#4b6d8a}
body.os-v1 .get-run-head{display:grid;grid-template-columns:1.4fr .7fr .7fr;gap:7px;margin:17px 0}.get-run-head>div{padding:10px;border:1px solid #172b3d;border-radius:9px;background:#08131e}.get-run-head small{display:block;font:7px ui-monospace;color:#526980}.get-run-head b{display:block;margin-top:4px;font:10px ui-monospace;color:#c9dced}
body.os-v1 .get-scan-window{position:relative;overflow:hidden;border:1px solid #182e41;border-radius:12px;background:#07111a}.scan-beam{position:absolute;left:0;right:0;top:0;height:44px;background:linear-gradient(180deg,transparent,rgba(85,201,255,.07),transparent);border-bottom:1px solid rgba(85,201,255,.15);pointer-events:none;transition:transform .7s cubic-bezier(.2,.8,.2,1);z-index:3}
body.os-v1 .schema-table{display:grid}.schema-table>span{display:grid;grid-template-columns:1.1fr .9fr .7fr;gap:8px;padding:11px 12px;border-bottom:1px solid #142738;font-size:10px;transition:.25s}.schema-table>span:last-child{border-bottom:0}.schema-table>span:first-child{font:7px ui-monospace;color:#526c84;background:#0a1722}.schema-table b{font:10px ui-monospace;color:#a8bed1}.schema-table em,.schema-table i{font:9px ui-monospace;color:#647d94}.schema-table .live-row{background:#0b2332;box-shadow:inset 2px 0 var(--accent2)}.schema-table .live-row b{color:#ecfbff}.schema-table .live-row i{color:#82dafa}
body.os-v1 .get-capture-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:12px 0}.get-capture-strip span{padding:9px;border:1px solid #152a3c;border-radius:9px}.get-capture-strip small{display:block;font:6.5px ui-monospace;color:#516a82}.get-capture-strip b{display:block;margin-top:4px;font:10px ui-monospace;color:#b9cedf}
body.os-v1 .contract-v2{background:radial-gradient(circle at 50% 30%,rgba(85,201,255,.07),transparent 50%),#08121c}.same-problem{padding:12px;border:1px solid rgba(85,201,255,.16);border-radius:11px;background:rgba(85,201,255,.035)}.same-problem small{display:block;font:7px ui-monospace;color:#59b6d8}.same-problem b{display:block;margin-top:8px;font-size:15px;line-height:1.2;color:#dceefa}
body.os-v1 .contract-card{margin:22px 0;border:1px solid #1c3449;border-radius:13px;overflow:hidden;background:#06101a}.contract-title{display:flex;justify-content:space-between;padding:10px 12px;border-bottom:1px solid #183047;font:7px ui-monospace;color:#648198}.contract-title em{color:#76d2f4}.contract-card pre{margin:0;padding:15px 12px;font:9px/1.75 ui-monospace;color:#6e8ba3;white-space:pre-wrap}.contract-card pre span{display:inline-block;transition:.2s}.contract-card pre .live-code{color:#dff7ff;text-shadow:0 0 14px rgba(85,201,255,.45)}.contract-v2>p{font-size:10.5px;line-height:1.55;color:#758ba0}
body.os-v1 .qa-studio-v2{background:#08121b}.qa-device{margin-top:17px;border:1px solid #1b3144;border-radius:14px;overflow:hidden;background:#0a1621}.qa-device-top{display:flex;gap:16px;padding:11px 13px;border-bottom:1px solid #1b3042;font:7px ui-monospace;color:#5e768d}.qa-device-top b{margin-left:auto;color:#8fdfff}.qa-product-v2{display:grid;grid-template-columns:115px 1fr;min-height:300px}.qa-product-image{display:grid;place-items:center;border-right:1px solid #172b3d;background:radial-gradient(circle,rgba(85,201,255,.12),transparent 55%)}.qa-product-image i{position:absolute}.qa-product-image span{font:8px/1.45 ui-monospace;text-align:center;color:#7290a9}.qa-product-copy{padding:17px}.qa-product-copy>small{font:7px ui-monospace;color:#609cba}.qa-product-copy h4{font-size:22px;line-height:1.05;margin:9px 0 16px}.qa-v2-row{display:grid;grid-template-columns:1fr auto 56px;gap:8px;align-items:center;margin:0;padding:9px 0;border-bottom:1px solid #15293a;font-size:10px;color:#788ea2;transition:.25s}.qa-v2-row b{font:10px ui-monospace;color:#c8dbea}.qa-v2-row em{text-align:right;font:7px ui-monospace;color:#5ec18a}.qa-v2-row.issue em{color:#d8b36a}.qa-v2-row.checking{background:rgba(85,201,255,.045);padding-left:7px;padding-right:7px}.qa-verdict{display:grid;grid-template-columns:8px 1fr;gap:3px 9px;align-items:center;margin:0 14px 14px;padding:11px;border:1px solid #1b4254;border-radius:10px;background:#0b1c27}.qa-verdict i{grid-row:1/3;width:7px;height:7px;border-radius:50%;background:#5ab9db;box-shadow:0 0 12px #5ab9db}.qa-verdict b{font:8px ui-monospace;color:#bdefff}.qa-verdict span{font-size:9px;color:#688398}.qa-verdict.scan{border-color:#2f6174;box-shadow:0 0 22px rgba(85,201,255,.07)}

/* DESKHUB: sources → current state → guarded action */
body.os-v1 .desk-source-bus{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:14px 20px;border-bottom:1px solid #162a3c;background:#08131e}.desk-source-bus>span{position:relative;padding:10px 10px 10px 25px;border:1px solid #172b3d;border-radius:10px;transition:.3s}.desk-source-bus i{position:absolute;left:10px;top:13px;width:6px;height:6px;border-radius:50%;background:#41586d}.desk-source-bus b{display:block;font:8px ui-monospace;color:#72889d}.desk-source-bus small{display:block;margin-top:3px;font-size:8px;color:#4f667c}.desk-source-bus .fresh i{background:#527e91}.desk-source-bus .live{border-color:#34718a;background:#0b2130}.desk-source-bus .live i{background:#8ae6ff;box-shadow:0 0 13px #55c9ff}.desk-source-bus .live b{color:#dff8ff}
body.os-v1 .desk-v2-grid{display:grid;grid-template-columns:1.1fr .78fr 1fr;min-height:420px}.desk-v2-grid>section{padding:20px;border-right:1px solid rgba(255,255,255,.065)}.desk-v2-grid>section:last-child{border-right:0}.desk-today-v2{background:#08131e}.desk-clock{margin:30px 0 20px}.desk-clock small{display:block;font:8px ui-monospace;color:#5c748b}.desk-clock strong{display:block;font-size:66px;line-height:.9;letter-spacing:-.07em;margin:8px 0}.desk-clock span{font-size:10px;color:#6f8ca1}.desk-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.desk-kpis div{padding:11px;border:1px solid #172c3e;border-radius:9px}.desk-kpis small{display:block;font:6.5px ui-monospace;color:#526a81}.desk-kpis b{display:block;margin-top:4px;font:11px ui-monospace;color:#c5d9e9}.desk-timeline{position:relative;margin:21px 0 13px;height:25px;border-top:1px solid #1b3448}.desk-timeline i{position:absolute;top:-2px;left:0;width:var(--w);height:3px;background:linear-gradient(90deg,#315a77,var(--accent2));box-shadow:0 0 12px rgba(85,201,255,.2)}.desk-timeline span{position:absolute;top:8px;font:7px ui-monospace;color:#526d84}.desk-timeline span:last-child{right:0}
body.os-v1 .desk-state-engine{background:radial-gradient(circle at 50% 38%,rgba(80,140,179,.08),transparent 55%),#07111a}.desk-balance-ring{--balance:68%;width:150px;height:150px;margin:27px auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent2) 0 var(--balance),#162b3c var(--balance) 100%);position:relative;transition:.5s}.desk-balance-ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:#08131e}.desk-balance-ring>div{position:relative;z-index:2;text-align:center}.desk-balance-ring strong{font-size:36px;letter-spacing:-.06em}.desk-balance-ring small{display:block;font:7px ui-monospace;color:#678096}.desk-rule-stack{display:grid;gap:5px}.desk-rule-stack span{display:flex;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid #15293a}.desk-rule-stack small{font:7px ui-monospace;color:#526a81}.desk-rule-stack b{font:8px ui-monospace;color:#b7ccdc;text-align:right}
body.os-v1 .desk-action-v2{background:linear-gradient(180deg,#0a1621,#07101a);transition:.3s}.action-status{display:flex;align-items:center;gap:8px;margin:27px 0 16px}.action-status i{width:8px;height:8px;border-radius:50%;background:#d8b36a;box-shadow:0 0 14px rgba(216,179,106,.35)}.action-status span{font:8px ui-monospace;color:#d8b36a}.desk-action-v2 h4{font-size:27px;line-height:1.03;letter-spacing:-.045em;margin:0 0 9px}.desk-action-v2>p{font-size:10.5px;line-height:1.55;color:#768da2;margin-bottom:15px}.desk-action-v2 .action-row{font-size:11px}.desk-action-v2 button{width:100%;margin:17px 0 9px;height:40px;border:1px solid #315168;border-radius:9px;background:#0b1b27;color:#819bb0;font:750 8px ui-monospace;transition:.25s}.desk-action-v2>small{font-size:9px;line-height:1.45;color:#5f778d}.desk-action-v2.ready{background:linear-gradient(180deg,#0b1923,#08131b)}.desk-action-v2.ready button{border-color:#4aa6c9;color:#dff9ff;background:#0d2a39;box-shadow:0 0 26px rgba(85,201,255,.1)}

/* Portfolio OS: content → routing → interchangeable presentation */
body.os-v1 .portfolio-v2-grid{display:grid;grid-template-columns:.8fr 1.18fr .9fr;min-height:450px}.portfolio-v2-grid>section{padding:20px;border-right:1px solid rgba(255,255,255,.065)}.portfolio-v2-grid>section:last-child{border-right:0}.registry-v2{background:#08131d}.registry-list{display:grid;gap:7px;margin:24px 0}.registry-list>span{position:relative;padding:12px 11px 12px 28px;border:1px solid #172c3e;border-radius:10px;transition:.3s}.registry-list i{position:absolute;left:11px;top:16px;width:6px;height:6px;border-radius:50%;background:#425b72}.registry-list b{display:block;font-size:11px}.registry-list small{font-size:9px;color:#60798f}.registry-list .live{border-color:#3b7b98;background:#0b2130;transform:translateX(5px)}.registry-list .live i{background:#8be5ff;box-shadow:0 0 12px #55c9ff}.registry-event{padding:11px;border-left:2px solid var(--accent2);background:rgba(85,201,255,.04)}.registry-event small{display:block;font:7px ui-monospace;color:#56758d}.registry-event code{display:block;margin-top:6px;font:9px ui-monospace;color:#bceeff}
body.os-v1 .router-v2{background:radial-gradient(circle at 50% 40%,rgba(85,201,255,.07),transparent 55%),#07111a}.mini-router{position:relative;height:235px;margin:18px 0 7px}.mini-router svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.mini-router path{fill:none;stroke:#24435d;stroke-width:1;vector-effect:non-scaling-stroke}.mini-node{position:absolute;left:var(--x);top:var(--y);transform:translate(-50%,-50%);min-width:78px;height:38px;padding:0 8px;border:1px solid #1f3a50;border-radius:10px;display:grid;place-items:center;background:#091521;font:750 7px ui-monospace;color:#66839b;transition:.3s}.mini-node.sub{min-width:66px;height:32px;font-size:6.5px;opacity:.72}.mini-node.live{border-color:var(--accent2);color:#e8fbff;background:#0b2737;box-shadow:0 0 25px rgba(85,201,255,.12);transform:translate(-50%,-50%) scale(1.07)}.route-packet{position:absolute;left:8%;top:50%;width:9px;height:9px;border-radius:50%;background:#b9f2ff;box-shadow:0 0 17px #55c9ff;transform:translate(-50%,-50%);transition:left .7s cubic-bezier(.2,.8,.2,1),top .7s}.router-state{display:grid;grid-template-columns:.7fr 1.3fr .8fr;gap:6px;margin-bottom:12px}.router-state span{padding:9px;border:1px solid #162b3d;border-radius:9px}.router-state small{display:block;font:6px ui-monospace;color:#516b82}.router-state b{display:block;margin-top:4px;font:8px ui-monospace;color:#b6cada}
body.os-v1 .render-stack-v2{background:#08131d}.render-stack{display:grid;gap:5px;margin:25px 0}.render-stack>span{padding:11px 12px;border:1px solid #172c3f;border-radius:10px;transition:.3s}.render-stack>span small{display:block;font:6.5px ui-monospace;color:#536c83}.render-stack>span b{display:block;margin-top:4px;font:9px ui-monospace;color:#8aa0b5}.render-stack>span.live{border-color:#3e7892;background:#0b2130;transform:translateX(5px)}.render-stack>span.live b{color:#e4f9ff}.render-stack>i{height:7px;width:1px;background:#254258;margin:auto}.theme-retained{display:grid;gap:6px;margin:14px 0}.theme-retained span{padding:8px 9px;border:1px solid #162a3d;border-radius:8px;font-size:9px;color:#6b8298}.theme-retained i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#4c7896;margin-right:6px}.theme-retained span:last-child i{background:#3e566c}.theme-retained b{font:7px ui-monospace;color:#92abc0}.render-result{margin-top:17px;padding:14px;border:1px solid #1e4257;border-radius:12px;background:#0a1a26}.render-result small{display:block;font:7px ui-monospace;color:#5c829c}.render-result strong{display:block;margin:7px 0;font-size:18px;line-height:1.05}.render-result span{display:inline-block;padding:5px 7px;border-radius:99px;background:rgba(85,201,255,.08);font:7px ui-monospace;color:#8fe3ff}

@keyframes os2spin{to{transform:rotate(360deg)}}
@media(max-width:1100px) and (min-width:761px){body.os-v1 .aio-v2-grid{grid-template-columns:170px 1fr 205px}.aio-route-track{overflow-x:auto;padding-bottom:10px}.getqa-v2-grid{grid-template-columns:1fr 205px 1fr}.desk-v2-grid{grid-template-columns:1fr .8fr 1fr}.portfolio-v2-grid{grid-template-columns:.8fr 1.05fr .85fr}}
@media(max-width:760px){
 body.os-v1 .os2-demo .demo-appbar{height:auto;min-height:48px;padding:11px 12px;display:grid;grid-template-columns:1fr auto;gap:4px}.os2-demo .demo-appbar span{grid-column:1/3;font-size:8.5px}.os2-demo .demo-appbar em{grid-row:1;grid-column:2}
 body.os-v1 .os2-demo .demo-explainer{grid-template-columns:1fr;padding:14px}.os2-demo .demo-explainer b{font-size:12px}.os2-demo .demo-explainer span{font-size:11.5px;line-height:1.55}
 body.os-v1 .aio-v2-grid,body.os-v1 .getqa-v2-grid,body.os-v1 .desk-v2-grid,body.os-v1 .portfolio-v2-grid{grid-template-columns:1fr!important;min-height:0}
 body.os-v1 .aio-v2-grid>*,body.os-v1 .getqa-v2-grid>section,body.os-v1 .desk-v2-grid>section,body.os-v1 .portfolio-v2-grid>section{border-right:0;border-bottom:1px solid rgba(255,255,255,.065);padding:15px}
 body.os-v1 .aio-batch-number strong{font-size:48px}.aio-route-track{grid-template-columns:repeat(11,86px);overflow-x:auto;margin:34px 0 22px;padding:10px 4px 16px}.aio-route-line,.aio-packet{display:none}.aio-runtime-strip{grid-template-columns:repeat(2,1fr)}.approval-orbit{width:96px;height:96px;margin:20px auto}
 body.os-v1 .get-run-head{grid-template-columns:1fr 1fr}.get-run-head>div:first-child{grid-column:1/3}.contract-v2{order:2}.qa-studio-v2{order:3}.qa-product-v2{grid-template-columns:90px 1fr}.qa-product-copy{padding:12px}.qa-v2-row{grid-template-columns:1fr auto 48px;font-size:9px}
 body.os-v1 .desk-source-bus{grid-template-columns:repeat(2,1fr);padding:10px}.desk-clock strong{font-size:52px}.desk-balance-ring{width:125px;height:125px}.desk-action-v2 h4{font-size:23px}
 body.os-v1 .mini-router{height:210px}.registry-list .live,.render-stack>span.live{transform:none}.router-state{grid-template-columns:1fr 1fr}.router-state span:nth-child(2){grid-column:1/3;grid-row:2}
 body.os-v1 .os2-log span{grid-template-columns:6px 48px 1fr;font-size:9px}.os2-log time{font-size:7.5px}
}

/* PORTFOLIO OS — presentation GUI foundation ------------------------- */
body.os-v1 .case-modal.project-mode .case-inner{width:min(1380px,96vw)}
body.os-v1 .os3-demo{border:0;background:transparent;box-shadow:none;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body.os-v1 .os3-demo button{font-family:inherit}

/* AIO / ATLAS ---------------------------------------------------------- */
body.os-v1 .aio-atlas-v3{color:#172033}
body.os-v1 .atlas-v3-window{background:#f8fafc;border:1px solid #dbe3ed;border-radius:20px;box-shadow:0 26px 80px rgba(18,35,55,.22);overflow:hidden}
body.os-v1 .atlas-v3-top{min-height:68px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;padding:12px 18px;gap:12px}
body.os-v1 .atlas-v3-brand{width:40px;height:40px;border-radius:13px;background:#17375e;color:#fff;display:grid;place-items:center;font-weight:900;font-size:15px;flex:none}
body.os-v1 .atlas-v3-title b{display:block;font-size:14px}.atlas-v3-title small{display:block;color:#7a8a9e;font-size:10px;margin-top:3px}
body.os-v1 .atlas-v3-grow{flex:1}.atlas-v3-pill{border:1px solid #d9e2ec;background:#f8fafc;color:#5e7087;border-radius:999px;padding:7px 10px;font-size:9.5px;font-weight:800;white-space:nowrap}.atlas-v3-pill.live{background:#ecfdf3;border-color:#b7ebca;color:#26734a}
body.os-v1 .atlas-v3-btn{height:34px;padding:0 11px;border-radius:9px;border:1px solid #d7e0ea;background:#fff;color:#27384e;font-size:9px;font-weight:850}.atlas-v3-btn.primary{background:#17375e;border-color:#17375e;color:#fff}.atlas-v3-btn.danger{color:#a64040;border-color:#efcdcd;background:#fffafa}
body.os-v1 .atlas-v3-content{padding:18px}.atlas-v3-summary{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.7fr);gap:14px}
body.os-v1 .atlas-v3-hero{background:linear-gradient(135deg,#17375e,#245384);color:#fff;border-radius:17px;padding:20px;position:relative;overflow:hidden;min-height:176px}.atlas-v3-hero:after{content:"";position:absolute;width:230px;height:230px;border-radius:50%;border:1px solid rgba(255,255,255,.14);right:-75px;top:-90px;box-shadow:0 0 0 34px rgba(255,255,255,.035),0 0 0 70px rgba(255,255,255,.022)}
body.os-v1 .atlas-v3-eyebrow{position:relative;z-index:1;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:#bcd0e4;font-weight:850}.atlas-v3-hero h3{position:relative;z-index:1;font-size:27px;line-height:1.08;letter-spacing:-.035em;margin:8px 0;max-width:760px}.atlas-v3-hero p{position:relative;z-index:1;color:#d7e4ef;font-size:11.5px;line-height:1.58;max-width:800px;margin:0}.atlas-v3-stats{position:relative;z-index:1;display:flex;gap:7px;margin-top:15px;flex-wrap:wrap}.atlas-v3-stats span{padding:7px 9px;border:1px solid rgba(255,255,255,.18);border-radius:9px;background:rgba(255,255,255,.07);font-size:8px;font-weight:800}
body.os-v1 .atlas-v3-gate{background:#fff;border:1px solid #e0e6ee;border-radius:17px;padding:17px;box-shadow:0 8px 28px rgba(44,62,84,.06);transition:.3s}.atlas-v3-gate h4{margin:0 0 6px;font-size:14px}.atlas-v3-gate p{margin:0;color:#65758a;font-size:10.5px;line-height:1.5}.atlas-v3-alert{margin-top:12px;padding:10px 11px;background:#fff7ed;border:1px solid #fed7aa;border-radius:11px;color:#9a4f16;font-size:9.5px;font-weight:780}.atlas-v3-gate.live{border-color:#efbd75;box-shadow:0 0 0 3px rgba(238,165,71,.10),0 12px 36px rgba(96,63,20,.10)}.atlas-v3-gate.live .atlas-v3-alert{animation:atlasGatePulse 1.7s ease-in-out infinite}.atlas-v3-actions{display:flex;gap:7px;margin-top:12px}@keyframes atlasGatePulse{50%{filter:brightness(.98);transform:translateY(-1px)}}
body.os-v1 .atlas-v3-flow-card,.atlas-v3-card{margin-top:14px;background:#fff;border:1px solid #e0e6ee;border-radius:17px;padding:16px}.atlas-v3-card{margin-top:0}.atlas-v3-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:13px}.atlas-v3-card-head h4{font-size:13px;margin:0}.atlas-v3-card-head span{font-size:9px;color:#718197;font-weight:750}
body.os-v1 .atlas-v3-flow{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));gap:8px}.atlas-v3-step{min-height:72px;height:auto;border:1px solid #dfe6ee;background:#fbfcfe;border-radius:13px;padding:10px;display:block;text-align:left;transform:none}.atlas-v3-step:after{display:none}.atlas-v3-step small{display:block;color:#8090a3;font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.atlas-v3-step b{display:block;color:#27384e;font-size:10px;margin-top:4px}.atlas-v3-step em{font-style:normal;font-size:8px;color:#93a0af;display:block;margin-top:6px}.atlas-v3-step.done{background:#f0fbf5;border-color:#c7ead6}.atlas-v3-step.done b{color:#26734a}.atlas-v3-step.live{background:#edf5ff;border-color:#78aadd;box-shadow:0 0 0 3px rgba(64,128,193,.08);transform:translateY(-3px)}.atlas-v3-step.live b{color:#245d91}.atlas-v3-step.gate.live{background:#fff7ed;border-color:#edb867}.atlas-v3-step.gate.live b{color:#955614}
body.os-v1 .atlas-v3-progress{height:7px;background:#edf1f5;border-radius:99px;overflow:hidden;margin-top:13px}.atlas-v3-progress i{display:block;height:100%;background:linear-gradient(90deg,#4b8ec9,#65a6df);border-radius:99px;transition:width .7s ease}
body.os-v1 .atlas-v3-lower{display:grid;grid-template-columns:1.15fr 1fr .72fr;gap:14px;margin-top:14px}.atlas-v3-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.atlas-v3-metrics>div{padding:10px;background:#f8fafc;border:1px solid #e5ebf1;border-radius:11px}.atlas-v3-metrics small{display:block;color:#77879a;font-size:7.5px;font-weight:800}.atlas-v3-metrics b{display:block;font-size:17px;margin-top:3px;letter-spacing:-.03em}.atlas-v3-activity{display:grid;gap:7px;margin-top:11px}.atlas-v3-activity>div{display:grid;grid-template-columns:26px 1fr;gap:9px;align-items:center;padding:9px;border:1px solid #e4e9ef;border-radius:11px}.atlas-v3-activity i{width:26px;height:26px;border-radius:8px;background:#eef5fb;color:#326d9e;display:grid;place-items:center;font-style:normal;font-weight:900}.atlas-v3-activity i.ok{background:#effaf4;color:#2f7651}.atlas-v3-activity i.run{animation:atlasRun 1.4s ease-in-out infinite}.atlas-v3-activity b{display:block;font-size:9.5px}.atlas-v3-activity small{display:block;color:#8492a3;font-size:8px;margin-top:2px}@keyframes atlasRun{50%{transform:rotate(18deg);filter:brightness(1.08)}}
body.os-v1 .atlas-v3-log{height:130px;border:1px solid #e3e9ef;border-radius:11px;background:#f8fafc;padding:9px;color:#38526d}.atlas-v3-log span{display:grid;grid-template-columns:6px 50px 1fr;gap:7px;padding:4px 0;font:8.5px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace}.atlas-v3-log span i{width:5px;height:5px;border-radius:50%;background:#8aa2b9;margin-top:3px}.atlas-v3-log span.accent{color:#1f608d}.atlas-v3-log span.accent i{background:#3183b9;box-shadow:0 0 8px rgba(49,131,185,.35)}.atlas-v3-log time{color:#8394a6}
body.os-v1 .atlas-v3-next{background:#17375e;color:#fff;border-radius:16px;padding:16px}.atlas-v3-next small{display:block;color:#bcd0e4;font-size:8px;font-weight:800}.atlas-v3-next b{display:block;font-size:17px;margin-top:5px}.atlas-v3-next p{font-size:9.5px;color:#d9e6f1;line-height:1.5}.atlas-v3-next button{width:100%;height:36px;border:0;border-radius:9px;background:#fff;color:#17375e;font-weight:900;font-size:9px}

/* GET + QA / POWER USER ------------------------------------------------ */
body.os-v1 .get-power-v3{--p-bg:#171716;--p-panel:#23211e;--p-panel2:#1e1d1a;--p-line:#3d3a34;--p-line2:#4b463e;--p-txt:#efe9dd;--p-muted:#9c988f;--p-orange:#ff8b2c;--p-green:#a6d9ac;--p-amber:#f3c07b;--p-red:#f5a49e;color:var(--p-txt);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
body.os-v1 .power-v3-window{background:#171716;border:1px solid #3d3a34;border-radius:16px;box-shadow:0 28px 90px rgba(0,0,0,.48);overflow:hidden}
body.os-v1 .power-v3-top{min-height:58px;background:#211f1c;border-bottom:1px solid var(--p-line);display:flex;align-items:center;gap:10px;padding:10px 13px}.power-v3-logo{width:34px;height:34px;border-radius:7px;background:var(--p-orange);color:#17120d;display:grid;place-items:center;font-weight:950;font-size:9px;flex:none}.power-v3-title b{font:800 12px system-ui}.power-v3-title small{display:block;color:var(--p-muted);font-size:8px;margin-top:2px}.power-v3-grow{flex:1}.power-v3-chip,.power-v3-status{display:inline-flex;align-items:center;padding:5px 7px;border-radius:5px;border:1px solid var(--p-line2);background:#292722;color:#c5beb2;font-size:8px;font-weight:900;white-space:nowrap}.power-v3-status.ok{border-color:#446049;background:#202821;color:var(--p-green)}.power-v3-status.run{border-color:#7b5734;background:#2c241c;color:#ffbd7a}.power-v3-status.warn{border-color:#725738;background:#2c251c;color:var(--p-amber)}
body.os-v1 .power-v3-layout{display:grid;grid-template-columns:170px minmax(0,1fr) 275px;min-height:565px}.power-v3-rail{background:#1a1917;border-right:1px solid #383631;padding:12px 9px;display:flex;flex-direction:column;gap:3px}.power-v3-rail button{height:34px;padding:0 8px;border-radius:6px;background:transparent;color:#98948b;text-align:left;font-size:8px;font-weight:900}.power-v3-rail button i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#57534c;margin-right:8px}.power-v3-rail button.on{background:#29241e;color:#ffbd7a}.power-v3-rail button.on i{background:var(--p-orange);box-shadow:0 0 12px #ff8b2c77}.power-v3-rail-sep{height:1px;background:#34312d;margin:8px 3px}
body.os-v1 .power-v3-work{min-width:0;padding:12px;background:linear-gradient(180deg,#1c1b19,#151513)}.power-v3-modebar{display:flex;gap:5px;align-items:center;margin-bottom:9px}.power-v3-modebar button{height:29px;padding:0 10px;border-radius:6px;border:1px solid #454038;background:#25231f;color:#aaa49a;font-size:8px;font-weight:900}.power-v3-modebar button.on{background:#33291f;color:#ffc489;border-color:#805935}.power-v3-panel{display:none;position:relative}.power-v3-panel.on{display:block;animation:powerPanelIn .28s ease both}@keyframes powerPanelIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
body.os-v1 .power-v3-card{position:relative;background:var(--p-panel);border:1px solid var(--p-line);border-radius:8px;padding:11px;margin-bottom:9px;overflow:hidden}.power-v3-card-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:9px}.power-v3-card-title b{font-size:9px}.power-v3-card-title>span:not(.power-v3-status){color:var(--p-muted);font-size:8px}.power-v3-progress{height:8px;background:#38352f;border-radius:99px;overflow:hidden}.power-v3-progress i{display:block;height:100%;background:repeating-linear-gradient(90deg,var(--p-orange) 0,var(--p-orange) 13px,#d4671a 13px,#d4671a 18px);transition:width .55s ease}.power-v3-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:9px}.power-v3-metrics>div{padding:9px;border:1px solid #393630;background:#1d1c1a;border-radius:6px}.power-v3-metrics small{display:block;color:#8f8a81;font-size:7px;font-weight:900}.power-v3-metrics b{display:block;margin-top:3px;font:800 18px system-ui;color:#efe9dd}
body.os-v1 .power-v3-schema{border:1px solid #37342f;border-radius:6px;overflow:hidden}.power-v3-schema>span{display:grid;grid-template-columns:1.2fr .8fr .7fr;padding:8px;border-top:1px solid #34312c;font-size:8px;transition:.2s}.power-v3-schema>span:first-child{border-top:0;background:#1a1917;color:#8f8a81;font-size:7px}.power-v3-schema b{color:#d6cec0}.power-v3-schema em{font-style:normal;color:#aaa49a}.power-v3-schema i{font-style:normal;color:#f3c07b}.power-v3-schema .live-row{background:#2a241e;box-shadow:inset 2px 0 var(--p-orange)}.power-v3-scan{position:absolute;left:11px;right:11px;top:48px;height:1px;background:linear-gradient(90deg,transparent,#ff8b2caa,transparent);box-shadow:0 0 12px #ff8b2c55;transition:transform .6s ease;pointer-events:none}
body.os-v1 .power-v3-queue,.power-v3-input,.power-v3-findings{display:grid;gap:6px}.power-v3-queue>span,.power-v3-input>span,.power-v3-findings>span{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;padding:9px;border:1px solid #37342f;border-radius:6px;background:#1e1d1a}.power-v3-queue i,.power-v3-input i,.power-v3-findings i{width:22px;height:22px;border:1px solid #49443b;background:#27241f;border-radius:5px;display:grid;place-items:center;font-size:8px;font-weight:950;font-style:normal}.power-v3-queue b,.power-v3-input b,.power-v3-findings b{font-size:8px}.power-v3-queue small,.power-v3-input small,.power-v3-findings small{color:#8f8a81;font-size:7px}.power-v3-queue .done i{color:var(--p-green);border-color:#446049;background:#202821}.power-v3-queue .live{border-color:#7b5734;background:#2c241c}.power-v3-queue .live i{color:#ffbd7a;animation:powerSpin 1.5s linear infinite}@keyframes powerSpin{to{transform:rotate(360deg)}}.power-v3-inline{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
body.os-v1 .power-v3-qa-grid{display:grid;grid-template-columns:290px minmax(0,1fr);gap:9px}.power-v3-preview{position:relative;overflow:hidden;min-height:386px;background:#201e1b;border:1px solid #3d3a34;border-radius:8px;padding:11px}.power-v3-preview:after{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,#ff8b2caa,transparent);top:-2px;animation:powerScan 4s linear infinite}@keyframes powerScan{to{transform:translateY(390px)}}.power-v3-preview-head{display:flex;justify-content:space-between;gap:10px;align-items:center}.power-v3-preview-head>b{font-size:9px}.power-v3-product{display:flex;gap:11px;align-items:center;margin-top:12px}.power-v3-product-img{width:84px;height:84px;border-radius:7px;border:1px solid #3d3a34;background:#191815;display:grid;place-items:center;color:var(--p-orange);font:900 28px system-ui;flex:none}.power-v3-product small{font-size:7px;color:#9c988f}.power-v3-product h4{font:800 15px system-ui;margin:6px 0 3px}.power-v3-product p{font:8px system-ui;color:#9c988f;margin:0}.power-v3-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-top:11px}.power-v3-specs span{padding:8px;border:1px solid #383631;background:#1b1a18;border-radius:6px}.power-v3-specs small{display:block;color:#8f8a81;font-size:6.5px;font-weight:900}.power-v3-specs b{font-size:8.5px}.power-v3-qa-table{margin-top:10px;border:1px solid #383631;border-radius:6px;overflow:hidden}.power-v3-qa-table>span{display:grid;grid-template-columns:1fr .9fr 58px;gap:8px;padding:8px;border-top:1px solid #34312c;font-size:8px}.power-v3-qa-table>span:first-child{border-top:0}.power-v3-qa-table b{color:#d6cec0}.power-v3-qa-table em{font-style:normal;color:#aaa49a}.power-v3-qa-table i{font-style:normal;color:var(--p-green);font-weight:900}.power-v3-qa-table .issue i{color:var(--p-amber)}.power-v3-qa-table .checking{background:#2a241e;box-shadow:inset 2px 0 var(--p-orange)}
body.os-v1 .power-v3-telemetry{background:#191816;border-left:1px solid #383631;padding:12px}.power-v3-log{height:180px;overflow:hidden;padding:8px;border-radius:6px;border:1px solid #37342f;background:#11110f;color:#b9d9b8}.power-v3-log span{display:grid;grid-template-columns:6px 48px 1fr;gap:6px;padding:4px 0;font-size:8px;line-height:1.35}.power-v3-log i{width:5px;height:5px;border-radius:50%;background:#6b7f6b;margin-top:3px}.power-v3-log time{color:#77736c}.power-v3-log .accent{color:#d8f0d7}.power-v3-log .accent i{background:#a6d9ac;box-shadow:0 0 8px #a6d9ac66}.power-v3-shortcuts{display:grid;gap:6px;margin-top:10px}.power-v3-shortcuts span{display:grid;grid-template-columns:28px 1fr;gap:7px;align-items:center;padding:8px;border:1px solid #37342f;border-radius:6px}.power-v3-shortcuts kbd{padding:3px 5px;border:1px solid #504a41;border-bottom-width:2px;border-radius:4px;background:#24211e;color:#d8d0c3;font-size:7px;text-align:center}.power-v3-shortcuts b{font-size:8px}.power-v3-separate{margin-top:10px;padding:11px;border-left:2px solid var(--p-orange);background:#211e1a}.power-v3-separate b{font:800 10px system-ui}.power-v3-separate p{font:9px/1.5 system-ui;color:#aaa49a;margin:5px 0 0}

/* DESKHUB / REAL APP SURFACE ----------------------------------------- */
body.os-v1 .desk-app-v3{--d-bg:#081019;--d-panel:#0e1822;--d-panel2:#0a141e;--d-line:#1d3345;--d-text:#e8f2fb;--d-muted:#72889d;--d-accent:#55c9ff;--d-good:#78d6ad;color:var(--d-text)}
body.os-v1 .desk-v3-window{background:var(--d-bg);border:1px solid var(--d-line);border-radius:17px;overflow:hidden;box-shadow:0 28px 90px rgba(0,0,0,.42);transition:background .3s,color .3s}
body.os-v1 .desk-v3-top{min-height:60px;display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--d-panel);border-bottom:1px solid var(--d-line)}.desk-v3-mark{width:34px;height:34px;border-radius:10px;background:var(--d-accent);color:#05202c;display:grid;place-items:center;font-weight:950}.desk-v3-title b{display:block;font-size:13px}.desk-v3-title small{display:block;color:var(--d-muted);font-size:8px;margin-top:3px}.desk-v3-live{font:800 8px ui-monospace;color:var(--d-good);border:1px solid color-mix(in srgb,var(--d-good) 40%,var(--d-line));padding:6px 8px;border-radius:999px}.desk-v3-grow{flex:1}.desk-v3-themes{display:flex;gap:5px}.desk-v3-themes button{height:29px;padding:0 8px;border:1px solid var(--d-line);border-radius:7px;background:var(--d-panel2);color:var(--d-muted);font:750 7px ui-monospace}.desk-v3-themes button.on{border-color:var(--d-accent);color:var(--d-text);box-shadow:0 0 16px color-mix(in srgb,var(--d-accent) 12%,transparent)}
body.os-v1 .desk-v3-sourcebar{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:10px 14px;background:var(--d-panel2);border-bottom:1px solid var(--d-line)}.desk-v3-sourcebar>span{position:relative;padding:9px 9px 9px 24px;border:1px solid var(--d-line);border-radius:9px;transition:.3s}.desk-v3-sourcebar i{position:absolute;left:9px;top:12px;width:6px;height:6px;border-radius:50%;background:#405467}.desk-v3-sourcebar b{display:block;font:750 8px ui-monospace;color:var(--d-muted)}.desk-v3-sourcebar small{display:block;margin-top:3px;font-size:8px;color:#536a7e}.desk-v3-sourcebar .fresh i{background:#527e91}.desk-v3-sourcebar .live{border-color:color-mix(in srgb,var(--d-accent) 55%,var(--d-line));background:color-mix(in srgb,var(--d-accent) 7%,var(--d-panel2))}.desk-v3-sourcebar .live i{background:var(--d-accent);box-shadow:0 0 13px var(--d-accent)}.desk-v3-sourcebar .live b{color:var(--d-text)}
body.os-v1 .desk-v3-grid{display:grid;grid-template-columns:1fr .8fr 1.08fr;gap:0}.desk-v3-card{padding:17px;background:var(--d-panel2);border-right:1px solid var(--d-line);min-height:360px}.desk-v3-card:last-child{border-right:0}.desk-v3-cardhead{display:flex;justify-content:space-between;align-items:center;gap:10px}.desk-v3-cardhead>b{font:800 8px ui-monospace;letter-spacing:.1em;color:var(--d-muted)}.desk-v3-cardhead>span{font:750 7px ui-monospace;color:var(--d-accent)}.desk-v3-cardhead .attention{color:#e3bd72}.desk-v3-clock{margin:26px 0 18px}.desk-v3-clock small{display:block;font:750 7px ui-monospace;color:var(--d-muted)}.desk-v3-clock strong{display:block;font-size:62px;line-height:.9;letter-spacing:-.065em;margin:7px 0;color:var(--d-text)}.desk-v3-clock span{font-size:10px;color:var(--d-muted)}.desk-v3-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.desk-v3-kpis span{padding:10px;border:1px solid var(--d-line);border-radius:9px}.desk-v3-kpis small{display:block;font:7px ui-monospace;color:var(--d-muted)}.desk-v3-kpis b{display:block;margin-top:4px;font:800 10px ui-monospace;color:var(--d-text)}.desk-v3-dayline{position:relative;margin:22px 0 10px;height:28px;border-top:1px solid var(--d-line)}.desk-v3-dayline i{position:absolute;top:-2px;left:0;width:var(--w);height:3px;background:linear-gradient(90deg,#315a77,var(--d-accent));box-shadow:0 0 12px color-mix(in srgb,var(--d-accent) 25%,transparent)}.desk-v3-dayline small{position:absolute;top:9px;font:7px ui-monospace;color:var(--d-muted)}.desk-v3-dayline small:last-child{right:0}
body.os-v1 .desk-app-v3 .desk-balance-ring{--balance:68%;width:146px;height:146px;margin:25px auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--d-accent) 0 var(--balance),var(--d-line) var(--balance) 100%);position:relative;transition:.5s}.desk-app-v3 .desk-balance-ring:after{content:"";position:absolute;inset:10px;border-radius:50%;background:var(--d-panel2)}.desk-app-v3 .desk-balance-ring>div{position:relative;z-index:2;text-align:center}.desk-app-v3 .desk-balance-ring strong{font-size:34px;letter-spacing:-.05em}.desk-app-v3 .desk-balance-ring small{display:block;font:7px ui-monospace;color:var(--d-muted)}.desk-v3-rulelist{display:grid}.desk-v3-rulelist span{display:flex;justify-content:space-between;gap:8px;padding:9px 0;border-bottom:1px solid var(--d-line)}.desk-v3-rulelist small{font:7px ui-monospace;color:var(--d-muted)}.desk-v3-rulelist b{font:8px ui-monospace;color:var(--d-text);text-align:right}
body.os-v1 .desk-v3-action{background:linear-gradient(180deg,color-mix(in srgb,var(--d-panel) 75%,var(--d-bg)),var(--d-panel2));transition:.3s}.desk-v3-actionstatus{display:flex;align-items:center;gap:8px;margin:26px 0 14px}.desk-v3-actionstatus i{width:8px;height:8px;border-radius:50%;background:#d8b36a;box-shadow:0 0 14px rgba(216,179,106,.35)}.desk-v3-actionstatus span{font:8px ui-monospace;color:#d8b36a}.desk-v3-action h4{font-size:25px;line-height:1.04;letter-spacing:-.04em;margin:0 0 9px}.desk-v3-action>p{font-size:10.5px;line-height:1.55;color:var(--d-muted);margin:0 0 13px}.desk-v3-actionrows{display:grid}.desk-v3-actionrows span{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--d-line)}.desk-v3-actionrows small{font:7px ui-monospace;color:var(--d-muted)}.desk-v3-actionrows b{font:9px ui-monospace;color:var(--d-text)}.desk-v3-action>button{width:100%;margin:15px 0 8px;height:38px;border:1px solid color-mix(in srgb,var(--d-accent) 45%,var(--d-line));border-radius:9px;background:color-mix(in srgb,var(--d-accent) 7%,var(--d-panel));color:var(--d-muted);font:800 8px ui-monospace}.desk-v3-action>small{font-size:8.5px;line-height:1.45;color:var(--d-muted)}.desk-v3-action.ready>button{background:color-mix(in srgb,var(--d-accent) 15%,var(--d-panel));color:var(--d-text);box-shadow:0 0 25px color-mix(in srgb,var(--d-accent) 12%,transparent)}
body.os-v1 .desk-v3-bottom{display:grid;grid-template-columns:1.4fr .8fr;border-top:1px solid var(--d-line);background:var(--d-panel)}.desk-v3-bottom>section,.desk-v3-bottom>aside{padding:14px}.desk-v3-bottom>section{border-right:1px solid var(--d-line)}.desk-v3-log{height:108px;margin-top:9px;border:1px solid var(--d-line);border-radius:9px;background:var(--d-panel2);padding:8px}.desk-v3-log span{display:grid;grid-template-columns:6px 50px 1fr;gap:7px;padding:3px 0;font:8.5px ui-monospace;color:var(--d-muted)}.desk-v3-log span i{width:5px;height:5px;border-radius:50%;background:#496377;margin-top:3px}.desk-v3-log span.accent{color:var(--d-text)}.desk-v3-log span.accent i{background:var(--d-accent);box-shadow:0 0 8px var(--d-accent)}.desk-v3-log time{color:#52687b}.desk-v3-bottom aside p{font-size:10.5px;line-height:1.55;color:var(--d-muted);margin:10px 0 0}
/* the real app has three intentionally different visual themes; keep them demonstrable */
body.os-v1 .desk-app-v3.desk-ui-quiet{--d-bg:#101418;--d-panel:#171d22;--d-panel2:#12181d;--d-line:#2a343d;--d-text:#e7edf1;--d-muted:#89959d;--d-accent:#9bb1bf;--d-good:#93c5a8}
body.os-v1 .desk-app-v3.desk-ui-grid{--d-bg:#071018;--d-panel:#0b1721;--d-panel2:#08131b;--d-line:#244258;--d-text:#e6f2f8;--d-muted:#7590a2;--d-accent:#6cc6ed;--d-good:#7bd6bb}.desk-ui-grid .desk-v3-window{background-image:linear-gradient(rgba(108,198,237,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(108,198,237,.025) 1px,transparent 1px);background-size:18px 18px}
body.os-v1 .desk-app-v3.desk-ui-signal{--d-bg:#07111a;--d-panel:#0b1823;--d-panel2:#08131d;--d-line:#183348;--d-text:#e8f6ff;--d-muted:#708aa0;--d-accent:#55c9ff;--d-good:#75dbc2}

@media(max-width:1100px){
 body.os-v1 .atlas-v3-summary{grid-template-columns:1fr}.atlas-v3-lower{grid-template-columns:1fr 1fr}.atlas-v3-next{grid-column:1/-1}.atlas-v3-flow{overflow-x:auto;grid-template-columns:repeat(7,118px);padding-bottom:6px}
 body.os-v1 .power-v3-layout{grid-template-columns:140px minmax(0,1fr)}.power-v3-telemetry{grid-column:1/-1;border-left:0;border-top:1px solid #383631}.power-v3-qa-grid{grid-template-columns:1fr}
 body.os-v1 .desk-v3-grid{grid-template-columns:1fr 1fr}.desk-v3-action{grid-column:1/-1;border-top:1px solid var(--d-line)}.desk-v3-card:nth-child(2){border-right:0}
}
@media(max-width:760px){
 body.os-v1 .case-modal.project-mode .case-inner{width:100vw!important}
 body.os-v1 .atlas-v3-top{align-items:flex-start;flex-wrap:wrap;padding:12px}.atlas-v3-title{min-width:180px}.atlas-v3-grow{display:none}.atlas-v3-pill:not(.live),.atlas-v3-btn{display:none}.atlas-v3-content{padding:10px}.atlas-v3-hero{padding:16px}.atlas-v3-hero h3{font-size:22px}.atlas-v3-hero p{font-size:11.5px}.atlas-v3-summary,.atlas-v3-lower{grid-template-columns:1fr}.atlas-v3-next{grid-column:auto}.atlas-v3-flow-card,.atlas-v3-card{padding:12px}.atlas-v3-flow{grid-template-columns:repeat(7,102px)}.atlas-v3-metrics{grid-template-columns:repeat(2,1fr)}
 body.os-v1 .power-v3-top{align-items:flex-start;flex-wrap:wrap}.power-v3-grow{display:none}.power-v3-chip:first-of-type{display:none}.power-v3-layout{grid-template-columns:1fr;min-height:0}.power-v3-rail{display:none}.power-v3-work{padding:9px}.power-v3-modebar{position:sticky;top:-1px;z-index:4;background:#171716;padding:6px 0}.power-v3-metrics{grid-template-columns:repeat(2,1fr)}.power-v3-qa-grid{grid-template-columns:1fr}.power-v3-telemetry{padding:10px}.power-v3-preview{min-height:0}.power-v3-product-img{width:70px;height:70px}.power-v3-qa-table>span{grid-template-columns:1fr 1fr 52px;font-size:7.5px}
 body.os-v1 .desk-v3-top{align-items:flex-start;flex-wrap:wrap}.desk-v3-live{order:3}.desk-v3-grow{display:none}.desk-v3-themes{width:100%;order:4;overflow-x:auto}.desk-v3-themes button{flex:1;min-width:100px}.desk-v3-sourcebar{grid-template-columns:repeat(2,1fr);padding:8px}.desk-v3-grid{grid-template-columns:1fr}.desk-v3-card{border-right:0;border-bottom:1px solid var(--d-line);min-height:0}.desk-v3-clock strong{font-size:52px}.desk-v3-bottom{grid-template-columns:1fr}.desk-v3-bottom>section{border-right:0;border-bottom:1px solid var(--d-line)}
}


/* PORTFOLIO OS V4 — interaction persistence + grounded case demos -------- */
body.os-v1 .nav-node.route-active,body.os-v1 .project-node.route-active{border-color:color-mix(in srgb,var(--accent) 43%,var(--line));background:color-mix(in srgb,var(--node) 91%,var(--accent) 9%);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 10%,transparent),0 16px 58px rgba(0,0,0,.19)}
body.os-v1 .nav-node.route-active:before,body.os-v1 .project-node.route-active:before{background:var(--accent2);border-color:var(--accent2);box-shadow:0 0 13px color-mix(in srgb,var(--accent2) 68%,transparent)}
body.os-v1 .nav-node.active,body.os-v1 .project-node.active{border-color:color-mix(in srgb,var(--accent) 78%,white);background:color-mix(in srgb,var(--node) 79%,var(--accent) 21%);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 22%,transparent),0 18px 70px color-mix(in srgb,var(--accent) 13%,transparent)}
body.os-v1 .nav-node.active:before,body.os-v1 .project-node.active:before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 18px var(--accent)}

/* AIO V4: keep Atlas, remove product-name chrome, explain the workflow */
body.os-v1 .atlas-v4-top{min-height:54px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;padding:10px 16px;gap:9px}.atlas-v4-note{font:650 10px/1.3 system-ui;color:#6b7c90}.aio-atlas-v4 .atlas-v3-content{padding:15px}.atlas-v4-explainer{display:grid;grid-template-columns:120px minmax(0,.95fr) minmax(0,1.35fr);gap:14px;align-items:center;padding:15px 17px;border:1px solid #dfe6ee;border-radius:15px;background:#fff}.atlas-v4-explainer small{font:850 8px/1.2 ui-monospace;color:#6f8195;letter-spacing:.08em}.atlas-v4-explainer b{font:800 16px/1.15 system-ui;color:#1d2c3e}.atlas-v4-explainer p{margin:0;font:11px/1.55 system-ui;color:#65758a}.aio-atlas-v4 .atlas-v3-flow-card{margin-top:12px}.aio-atlas-v4 .atlas-v3-step{min-height:84px}.aio-atlas-v4 .atlas-v3-step b{font-size:9.5px}.aio-atlas-v4 .atlas-v3-step em{font-size:8.5px;line-height:1.3}.atlas-v4-lower{display:grid;grid-template-columns:1.15fr 1fr .82fr;gap:12px;margin-top:12px}.atlas-v4-now h3{font:800 20px/1.12 system-ui;color:#1f3044;margin:8px 0 7px}.atlas-v4-now>p{font:11px/1.55 system-ui;color:#697a8e;margin:0}.atlas-v4-gate{margin-top:0!important}.atlas-v4-gate>small{font:850 8px ui-monospace;color:#9a6a2a;letter-spacing:.08em}.atlas-v4-gate h4{font-size:17px;margin-top:8px}

/* GET + QA V4: real workflow context + real CSV sample preview */
body.os-v1 .power-v4-story{display:grid;grid-template-columns:1fr 34px 1fr;align-items:center;gap:10px;padding:13px 15px;background:#191816;border-bottom:1px solid #34312c}.power-v4-story>div{padding:11px;border:1px solid #38352f;border-radius:8px;background:#211f1c}.power-v4-story>i{font-style:normal;text-align:center;color:var(--p-orange);font-size:18px}.power-v4-story small{display:block;color:#b77a45;font:850 7px ui-monospace;letter-spacing:.08em}.power-v4-story b{display:block;margin-top:5px;font:800 11px/1.3 system-ui}.power-v4-story p{margin:5px 0 0;color:#aaa49a;font:9.5px/1.5 system-ui}.power-v4-example{display:block;margin-top:auto;padding:10px 7px;border-top:1px solid #34312c;color:#8f8a81;font:7px/1.4 ui-monospace}.power-v4-example b{display:block;color:#efe9dd;font-size:9px;margin-top:4px}.power-v4-example small{display:block;margin-top:3px}.power-v4-context{display:flex;gap:10px;align-items:flex-start;padding:10px 11px;margin-bottom:9px;border-left:2px solid var(--p-orange);background:#211e1a;font:9.5px/1.45 system-ui}.power-v4-context b{white-space:nowrap;color:#f0c08d}.power-v4-context span{color:#aaa49a}.power-v4-qa-layout{display:grid;grid-template-columns:205px minmax(0,1fr);gap:9px}.power-v4-product-list{padding:10px;border:1px solid #3d3a34;border-radius:8px;background:#201e1b}.power-v4-product-list button{width:100%;display:grid;grid-template-columns:26px 1fr;gap:0 8px;text-align:left;padding:9px;margin-top:6px;border:1px solid #37342f;border-radius:7px;background:#1b1a18;color:#d6cec0}.power-v4-product-list button>span{grid-row:1/3;width:26px;height:26px;display:grid;place-items:center;border-radius:6px;background:#292722;color:#8f8a81;font:800 7px ui-monospace}.power-v4-product-list button b{font:800 8.5px system-ui}.power-v4-product-list button small{font:7.5px/1.3 system-ui;color:#8f8a81;margin-top:2px}.power-v4-product-list button.on{border-color:#805935;background:#2a241d}.power-v4-product-list button.on>span{background:var(--p-orange);color:#17120d}.qa-real-product{display:grid;grid-template-columns:150px 1fr;gap:14px;padding:12px 0}.qa-real-image{height:150px;border:1px solid #3d3a34;border-radius:8px;background:#161512;display:grid;place-items:center;overflow:hidden;position:relative}.qa-real-image img{width:100%;height:100%;object-fit:contain;background:#fff}.qa-real-image>span{display:none;text-align:center;color:#9f754e;font:900 10px/1.5 ui-monospace}.qa-real-image.fallback>span{display:block}.qa-real-copy>small{font:800 7px ui-monospace;color:#9c988f}.qa-real-copy h4{font:800 19px/1.1 system-ui;margin:6px 0 3px}.qa-real-copy>p{font:9px system-ui;color:#9c988f;margin:0}.qa-real-specs{display:grid;grid-template-columns:repeat(2,1fr);gap:5px;margin-top:10px}.qa-real-specs span{padding:8px;border:1px solid #383631;border-radius:6px;background:#1b1a18}.qa-real-specs small{display:block;font:700 6.5px ui-monospace;color:#8f8a81}.qa-real-specs b{display:block;margin-top:3px;font:800 8.5px system-ui}.power-v4-checkline{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:8px}.power-v4-checkline span{padding:8px;border:1px solid #35443a;border-radius:7px;background:#1b211c}.power-v4-checkline i{font-style:normal;color:#a6d9ac}.power-v4-checkline b{display:block;font:800 8px system-ui;margin-top:3px}.power-v4-checkline small{display:block;color:#8f8a81;font:7px/1.3 system-ui;margin-top:2px}.power-v4-checkline .review{border-color:#705332;background:#29231c}.power-v4-checkline .review i{color:#f3c07b}

/* DESKHUB V4: close recreation of the user's actual desktop UI */
body.os-v1 .desk-real-v4{--d-bg:#171b21;--d-panel:#1b2027;--d-panel2:#252c35;--d-line:#404a58;--d-text:#f7f9fc;--d-muted:#8996a9;--d-accent:#4b84f6;--d-good:#6addaa;--d-warn:#efb64d;color:var(--d-text)}body.os-v1 .desk-real-v4.desk-ui-quiet{--d-bg:#edf1f6;--d-panel:#fbfcfd;--d-panel2:#f0f3f7;--d-line:#d7dde6;--d-text:#202630;--d-muted:#7b8492;--d-accent:#3a70df;--d-good:#23845b;--d-warn:#b7791f}.desk-real-v4.desk-ui-grid{--d-bg:#0f141b;--d-panel:#151b23;--d-panel2:#1d2530;--d-line:#313b49;--d-text:#f3f6fb;--d-muted:#8190a5;--d-accent:#4b87f7;--d-good:#63d99f;--d-warn:#efb94f}.desk-real-controls{display:flex;align-items:center;gap:8px;margin-bottom:10px}.desk-real-controls>span{font:800 7px ui-monospace;color:#6f8397;letter-spacing:.09em}.desk-real-controls .desk-v3-themes{margin-left:auto}.desk-real-modes{display:flex;gap:4px}.desk-real-modes button{height:29px;padding:0 8px;border:1px solid #263b50;border-radius:7px;background:#0a1520;color:#6f879d;font:800 7px ui-monospace}.desk-real-modes button.on{border-color:#4b84f6;color:#e8f1fb}.desk-real-stage{min-height:475px;display:grid;place-items:center;padding:16px;border:1px solid #15293b;border-radius:17px;background:radial-gradient(circle at 50% 20%,#102235,#050b12 72%);overflow:hidden}.desk-real-window{position:relative;width:min(680px,100%);min-height:460px;padding:0 28px 8px;border:1px solid var(--d-line);border-radius:22px;background:var(--d-panel);box-shadow:0 30px 90px rgba(0,0,0,.42);overflow:hidden;color:var(--d-text);transition:.3s}.desk-real-head{height:58px;margin:0 -28px;display:grid;grid-template-columns:auto auto 1fr 30px 30px 25px;gap:6px;align-items:center;padding:0 10px 0 28px;border-bottom:1px solid var(--d-line)}.desk-real-brand{display:flex;align-items:center;gap:8px}.desk-real-brand img{width:27px;height:27px;border-radius:7px}.desk-real-brand b{font:800 12px system-ui}.desk-real-live{font:800 8px ui-monospace;color:var(--d-good)}.desk-real-head button{height:30px;border:1px solid var(--d-line);border-radius:8px;background:var(--d-panel2);color:var(--d-text);font:800 8px ui-monospace}.desk-real-main{display:grid;grid-template-columns:1fr 234px;gap:22px;padding-top:16px}.desk-real-session>small,.desk-real-today>small{display:block;color:var(--d-muted);font:10px system-ui}.desk-real-session>strong{display:block;font:800 50px/.95 system-ui;letter-spacing:-.055em;margin:10px 0;color:var(--d-text)}.desk-real-session>b{font:800 11px system-ui}.desk-real-session>label{display:block;margin-top:20px;font:800 7px ui-monospace;color:var(--d-muted)}.desk-real-progress{height:8px;margin-top:6px;border-radius:99px;background:var(--d-line);overflow:hidden}.desk-real-progress i{display:block;width:62%;height:100%;background:var(--d-accent);transition:.5s}.desk-real-today{height:116px;padding:16px;border:1px solid var(--d-line);border-radius:16px;background:var(--d-panel2)}.desk-real-today strong{display:block;font:800 24px system-ui;margin:8px 0}.desk-real-today span{font:9px system-ui;color:var(--d-muted)}.desk-real-metrics{display:grid;grid-template-columns:.8fr 1.12fr;gap:12px;margin:16px 0 12px}.desk-real-metrics>span{padding:11px 14px;border:1px solid var(--d-line);border-radius:14px;background:var(--d-panel2)}.desk-real-metrics small{display:block;font:800 7px ui-monospace;color:var(--d-muted)}.desk-real-metrics b{display:block;font:800 12px system-ui;margin-top:5px}.desk-real-metrics em{display:block;margin-top:4px;font:8px system-ui;color:var(--d-muted);font-style:normal}.desk-real-actions{display:grid;grid-template-columns:1.05fr .86fr 1.9fr;gap:8px}.desk-real-actions button{height:42px;border:1px solid var(--d-line);border-radius:10px;background:var(--d-panel2);color:var(--d-text);font:800 8px ui-monospace}.desk-real-actions button.primary,.desk-real-actions button.selected{background:var(--d-accent);border-color:var(--d-accent);color:#fff}.desk-real-actions .wide{grid-column:auto}.desk-real-status{width:100%;height:29px;margin-top:8px;border:1px solid color-mix(in srgb,#ff6b79 48%,var(--d-line));border-radius:8px;background:color-mix(in srgb,#ff6b79 8%,var(--d-panel));color:color-mix(in srgb,#ff9aa4 70%,var(--d-muted));font:800 7px ui-monospace;transition:.3s}.desk-real-status.live{background:color-mix(in srgb,#ff6b79 13%,var(--d-panel));color:#ff9aa4;box-shadow:0 0 20px rgba(255,107,121,.08)}.desk-rain{position:absolute;color:color-mix(in srgb,var(--d-accent) 16%,transparent);font:10px ui-monospace;font-style:normal;animation:deskRain 7s linear infinite;pointer-events:none}.desk-rain.r1{left:8%;animation-delay:-1s}.desk-rain.r2{left:28%;animation-delay:-4s}.desk-rain.r3{left:51%;animation-delay:-2s}.desk-rain.r4{left:73%;animation-delay:-5s}.desk-rain.r5{left:91%;animation-delay:-3s}@keyframes deskRain{from{top:-4%;opacity:0}12%{opacity:.45}to{top:104%;opacity:0}}.desk-real-bubble{display:none;width:min(420px,100%);height:112px;border:1px solid var(--d-line);border-radius:24px;background:var(--d-panel);color:var(--d-text);grid-template-columns:1.35fr .85fr .8fr .65fr 28px;align-items:center;gap:10px;padding:12px 12px 12px 20px;box-shadow:0 28px 80px rgba(0,0,0,.42)}.desk-real-bubble small{display:block;font:800 7px ui-monospace;color:var(--d-muted)}.desk-real-bubble strong{display:block;font:800 25px system-ui;margin-top:6px}.desk-real-bubble b{display:block;font:800 10px system-ui;margin-top:5px}.desk-real-bubble em{display:block;font:8px system-ui;color:var(--d-muted);font-style:normal}.desk-real-bubble button{height:28px;border:1px solid var(--d-line);border-radius:7px;background:var(--d-panel2);color:var(--d-text)}.desk-real-bubble>i{grid-column:1/-1;height:6px;border-radius:99px;background:var(--d-line);overflow:hidden}.desk-real-bubble>i b{display:block;width:64%;height:100%;margin:0;background:var(--d-accent)}.desk-real-v4.bubble-mode .desk-real-window{display:none}.desk-real-v4.bubble-mode .desk-real-bubble{display:grid}.desk-real-explain{display:grid;grid-template-columns:120px 1fr;gap:10px;margin-top:10px;padding:11px 13px;border-left:2px solid #4b84f6;background:#07111b}.desk-real-explain b{font:800 9px system-ui}.desk-real-explain span{font:10px/1.5 system-ui;color:#7d91a5}

/* Portfolio V4: concrete design history instead of abstract automation claim */
body.os-v1 .portfolio-real-v4{background:#07111b}.portfolio-v4-intro{display:grid;grid-template-columns:190px 1fr;gap:15px;padding:16px 18px;border-bottom:1px solid #172a3c}.portfolio-v4-intro b{font-size:16px}.portfolio-v4-intro span{font-size:11px;line-height:1.55;color:#7f94a8}.portfolio-v4-history{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.portfolio-v4-history article{padding:18px;border-right:1px solid #172a3c;min-height:260px}.portfolio-v4-history article:last-child{border-right:0}.portfolio-v4-history article.current{background:#0a1824}.portfolio-v4-history small{font:800 7px ui-monospace;color:#627e94;letter-spacing:.08em}.portfolio-v4-history article>b{display:block;font-size:17px;margin:12px 0 6px}.portfolio-v4-history p{font-size:10px;line-height:1.5;color:#71899e}.mini-design{height:105px;margin-top:12px;position:relative;border:1px solid #1a3449;border-radius:12px;background:radial-gradient(circle,#0d2130,#06101a);overflow:hidden}.mini-design i{position:absolute;width:31px;height:16px;border:1px solid #365d78;border-radius:7px;background:#0b1a26}.mini-design.vertical i:nth-child(1){left:46%;top:10%}.mini-design.vertical i:nth-child(2){left:46%;top:33%}.mini-design.vertical i:nth-child(3){left:46%;top:56%}.mini-design.vertical i:nth-child(4){left:46%;top:79%}.mini-design.canopy i:nth-child(1){left:45%;top:64%}.mini-design.canopy i:nth-child(2){left:19%;top:25%}.mini-design.canopy i:nth-child(3){left:43%;top:18%}.mini-design.canopy i:nth-child(4){left:67%;top:25%}.mini-design.canopy i:nth-child(5){left:75%;top:65%}.mini-design.telemetry i:nth-child(1){left:5%;top:45%}.mini-design.telemetry i:nth-child(2){left:28%;top:45%}.mini-design.telemetry i:nth-child(3){left:53%;top:45%}.mini-design.telemetry i:nth-child(4){left:77%;top:45%}.mini-design.telemetry i:nth-child(5){left:29%;top:15%;border-color:#5fc9ff;box-shadow:0 0 14px rgba(95,201,255,.22)}.portfolio-v4-system{display:grid;grid-template-columns:1fr 26px 1fr 26px 1fr auto;gap:7px;align-items:center;padding:15px 18px;border-top:1px solid #172a3c;border-bottom:1px solid #172a3c}.portfolio-v4-system>div{padding:10px;border:1px solid #18344a;border-radius:9px}.portfolio-v4-system small{display:block;font:700 6px ui-monospace;color:#5f7b92}.portfolio-v4-system b{display:block;margin-top:4px;font:800 8px ui-monospace}.portfolio-v4-system>i{font-style:normal;text-align:center;color:#5fc9ff}.portfolio-v4-system>span{font:800 7px ui-monospace;color:#8be5ff}

@media(max-width:1050px) and (min-width:761px){body.os-v1 .atlas-v4-lower{grid-template-columns:1fr 1fr}.atlas-v4-gate{grid-column:1/-1}.power-v4-story{grid-template-columns:1fr 28px 1fr}.power-v4-qa-layout{grid-template-columns:170px minmax(0,1fr)}.desk-real-stage{min-height:440px}.desk-real-window{transform:scale(.9);transform-origin:center}.portfolio-v4-history article{padding:14px}}
@media(max-width:760px){body.os-v1 .atlas-v4-top{flex-wrap:wrap}.atlas-v4-note{width:100%}.atlas-v4-explainer{grid-template-columns:1fr}.atlas-v4-lower{grid-template-columns:1fr}.power-v4-story{grid-template-columns:1fr}.power-v4-story>i{transform:rotate(90deg)}.power-v4-context{display:block}.power-v4-context span{display:block;margin-top:5px}.power-v4-qa-layout{grid-template-columns:1fr}.power-v4-product-list{display:flex;overflow:auto;gap:6px}.power-v4-product-list>.power-v3-card-title{min-width:105px}.power-v4-product-list button{min-width:155px}.qa-real-product{grid-template-columns:1fr}.power-v4-checkline{grid-template-columns:1fr}.desk-real-controls{flex-wrap:wrap}.desk-real-controls .desk-v3-themes{order:3;width:100%;margin:0}.desk-real-stage{min-height:390px;padding:8px}.desk-real-window{width:680px;transform:scale(.53);transform-origin:center}.desk-real-bubble{transform:scale(.82)}.desk-real-explain{grid-template-columns:1fr}.portfolio-v4-intro{grid-template-columns:1fr}.portfolio-v4-history{grid-template-columns:1fr}.portfolio-v4-history article{border-right:0;border-bottom:1px solid #172a3c}.portfolio-v4-system{grid-template-columns:1fr}.portfolio-v4-system>i{transform:rotate(90deg)}}

/* =========================================================
   PORTFOLIO OS V5 — clarity + grounded case presentation
   ========================================================= */
body.os-v1 .nav-node.route-hover:not(.route-active),body.os-v1 .project-node.route-hover:not(.route-active){border-color:color-mix(in srgb,var(--accent) 29%,var(--line));background:color-mix(in srgb,var(--node) 95%,var(--accent) 5%);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 7%,transparent),0 12px 45px rgba(0,0,0,.16)}
body.os-v1 .nav-node.route-hover:not(.route-active):before,body.os-v1 .project-node.route-hover:not(.route-active):before{background:color-mix(in srgb,var(--accent2) 56%,transparent);border-color:color-mix(in srgb,var(--accent2) 76%,transparent);box-shadow:0 0 9px color-mix(in srgb,var(--accent2) 42%,transparent)}
body.os-v1 .case-modal.project-mode .case-inner .facts{grid-template-columns:repeat(3,1fr)}

/* AIO V5 — Atlas, reduced to one understandable batch story */
body.os-v1 .aio-atlas-v5{background:#edf2f7;border-color:#cbd6e4;color:#172336;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif}
.atlas-v5-window{background:#f8fafc;min-height:500px;color:#172336}
.atlas-v5-top{height:48px;display:flex;align-items:center;gap:12px;padding:0 16px;border-bottom:1px solid #dce4ed;background:#fff;font-size:10px}.atlas-v5-top b{font-size:10px}.atlas-v5-top>span:last-child{color:#728197}.atlas-v5-status{padding:6px 9px;border-radius:999px;background:#ecf8f0;border:1px solid #c3e4d0;color:#247149;font:800 8px ui-monospace,monospace;letter-spacing:.06em}
.atlas-v5-intro{padding:18px 20px 15px}.atlas-v5-intro small{font:800 8px ui-monospace,monospace;color:#64778e;letter-spacing:.1em}.atlas-v5-intro h3{font:760 24px/1.08 system-ui;margin:7px 0 7px;letter-spacing:-.035em;max-width:820px}.atlas-v5-intro p{font:12px/1.55 system-ui;color:#617186;margin:0;max-width:820px}
.atlas-v5-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;padding:0 20px}.atlas-v5-flow .aio-stage{min-height:62px;padding:10px;border:1px solid #dce4ed;border-radius:12px;background:#fff;display:flex;flex-direction:column;justify-content:center;position:relative;transition:.45s ease}.atlas-v5-flow .aio-stage:after{content:"";position:absolute;right:-8px;top:50%;width:8px;height:1px;background:#cdd8e4}.atlas-v5-flow .aio-stage:last-child:after{display:none}.atlas-v5-flow .aio-stage i{font:800 7px ui-monospace,monospace;color:#8c99a9;font-style:normal}.atlas-v5-flow .aio-stage b{font:800 9px/1.25 system-ui;margin-top:6px}.atlas-v5-flow .aio-stage.done{background:#eef8f2;border-color:#c7e2d2;color:#276b49}.atlas-v5-flow .aio-stage.live{border-color:#75a6df;background:#eff6ff;box-shadow:0 0 0 3px rgba(70,126,192,.08);transform:translateY(-2px)}.atlas-v5-flow .aio-stage.gate.live{background:#fff7eb;border-color:#edc27f;color:#8a591d}
.atlas-v5-progress{height:5px;margin:10px 20px 16px;background:#e4e9ef;border-radius:99px;overflow:hidden}.atlas-v5-progress i{display:block;height:100%;border-radius:99px;background:#3674b9;transition:width 1s ease}
.atlas-v5-body{display:grid;grid-template-columns:.85fr 1.15fr;gap:12px;padding:0 20px 18px}.atlas-v5-now,.atlas-v5-product{border:1px solid #dce4ed;border-radius:15px;background:#fff;padding:15px}.atlas-v5-now>small,.atlas-v5-product small{font:800 7px ui-monospace,monospace;color:#77899c;letter-spacing:.09em}.atlas-v5-now h4{font:760 18px/1.15 system-ui;margin:9px 0 7px;letter-spacing:-.02em}.atlas-v5-now p{font:11px/1.52 system-ui;color:#65758a;margin:0}.atlas-v5-activity{margin-top:16px;padding-top:11px;border-top:1px solid #e5eaf0;display:flex;align-items:center;gap:8px;color:#41617e;font:750 9px system-ui}.atlas-v5-activity i{width:8px;height:8px;border-radius:50%;background:#4e8bcb;box-shadow:0 0 0 5px rgba(78,139,203,.08);animation:v5Pulse 1.8s infinite}
.atlas-v5-product-main{display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:center;min-height:120px;position:relative}.atlas-v5-product-main>img{width:112px;height:112px;object-fit:contain;background:#f7f9fb;border:1px solid #e2e8ef;border-radius:11px;position:relative;z-index:2}.atlas-v5-img-fallback{display:none;width:112px;height:112px;place-items:center;text-align:center;background:#f4f7fa;border:1px dashed #cdd7e2;border-radius:11px;color:#7d8d9d;font:700 7px ui-monospace}.atlas-v5-product-main>div>b{display:block;font:800 16px system-ui;margin:7px 0 4px}.atlas-v5-product-main>div>em{font:10px system-ui;color:#718195;font-style:normal}.atlas-v5-thumbs{display:flex;gap:6px;margin-top:10px}.atlas-v5-thumbs button{flex:1;min-width:0;height:52px;display:grid;grid-template-columns:38px 1fr;align-items:center;gap:6px;border:1px solid #e0e6ed;border-radius:9px;background:#f9fbfc;color:#34465a;text-align:left;padding:5px;cursor:pointer}.atlas-v5-thumbs button.on{border-color:#77a7dd;background:#eef5fd}.atlas-v5-thumbs img{width:36px;height:36px;object-fit:contain;background:#fff;border-radius:6px}.atlas-v5-thumbs span{font:700 7px system-ui;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.atlas-v5-review{margin:0 20px 18px;padding:12px 14px;border:1px solid #dce4ed;border-radius:12px;background:#f4f7fa;display:flex;gap:14px;align-items:center;transition:.55s ease;color:#718195}.atlas-v5-review b{font-size:10px;white-space:nowrap}.atlas-v5-review span{font:10px/1.4 system-ui}.atlas-v5-review.live{border-color:#edc27f;background:#fff7eb;color:#7c531e;box-shadow:0 0 0 3px rgba(237,194,127,.08)}
@keyframes v5Pulse{50%{box-shadow:0 0 0 8px rgba(78,139,203,0)}}

/* GET + Template QA V5 — fewer concepts on screen, concrete example */
body.os-v1 .get-power-v5{background:#121210;border-color:#3d3932;color:#efe9dd;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.get-v5-window{min-height:500px;background:#181714}.get-v5-top{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #3a3731;background:#201e1a}.get-v5-top b{font:900 10px system-ui}.get-v5-top span{font:800 8px ui-monospace;color:#ffb36d}.get-v5-story{display:grid;grid-template-columns:1fr 34px 1fr;align-items:center;gap:8px;padding:16px}.get-v5-story>div{border:1px solid #3b3832;border-radius:10px;background:#211f1b;padding:13px}.get-v5-story small{display:block;font:900 7px ui-monospace;color:#ff9b46;letter-spacing:.1em}.get-v5-story b{display:block;font:800 15px system-ui;margin:7px 0 5px}.get-v5-story span{font:10px/1.45 system-ui;color:#a39c91}.get-v5-story>i{text-align:center;font-style:normal;color:#7d756a}.get-v5-example{margin:0 16px 12px;padding:10px 12px;border-left:2px solid #ff8b2c;background:#211d18;font:10px/1.45 system-ui;color:#b8afa2}.get-v5-tabs{display:flex;gap:5px;padding:0 16px 12px}.get-v5-tabs button{height:31px;padding:0 11px;border:1px solid #454139;border-radius:7px;background:#23211d;color:#aaa398;font:850 8px ui-monospace;cursor:pointer}.get-v5-tabs button.on{background:#ff8b2c;border-color:#ff8b2c;color:#17120d}.get-v5-panel{display:none;padding:0 16px 16px}.get-v5-panel.on{display:block;animation:v5Fade .35s ease both}.get-v5-card,.get-v5-result{border:1px solid #3b3832;border-radius:10px;background:#211f1b;padding:14px}.get-v5-card>small{color:#9b9389;font:800 7px ui-monospace;letter-spacing:.08em}.get-v5-card h4{font:800 20px system-ui;margin:8px 0 9px}.get-v5-progress{height:7px;border-radius:99px;background:#38342e;overflow:hidden}.get-v5-progress i{display:block;height:100%;background:#ff8b2c;transition:width .8s ease}.get-v5-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:13px}.get-v5-chips span{padding:6px 8px;border:1px solid #49443c;border-radius:6px;color:#c1b9ad;font:800 7px ui-monospace}.get-v5-result{margin-top:8px;display:grid;grid-template-columns:90px 1fr;gap:8px}.get-v5-result b{font:800 9px system-ui}.get-v5-result span{font:10px/1.45 system-ui;color:#aaa297}.get-v5-queue{display:grid;gap:6px;margin-bottom:10px}.get-v5-queue>span{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:10px;border:1px solid #39362f;border-radius:8px;background:#211f1b}.get-v5-queue i{font-style:normal}.get-v5-queue b{font:800 9px system-ui}.get-v5-queue small{font:8px system-ui;color:#8f877d}.get-v5-queue .done{color:#9ed1a6}.get-v5-queue .live{border-color:#745337;color:#ffc084}.get-v5-panel>p{font:9px ui-monospace;color:#aaa297}.get-v5-qa{display:grid;grid-template-columns:185px 1fr;gap:10px}.get-v5-qa>aside{display:grid;align-content:start;gap:5px}.get-v5-qa>aside button{padding:10px;border:1px solid #39362f;border-radius:8px;background:#211f1b;color:#ded6ca;text-align:left;cursor:pointer}.get-v5-qa>aside button.on{border-color:#ff8b2c;background:#2b241b}.get-v5-qa>aside b{display:block;font:800 9px system-ui}.get-v5-qa>aside small{display:block;margin-top:3px;font:7px system-ui;color:#91897e}.get-v5-qa>main{border:1px solid #3b3832;border-radius:10px;background:#211f1b;padding:12px}.get-v5-check{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.get-v5-check span{padding:6px 7px;border:1px solid #3d4b3d;border-radius:6px;background:#1d251e;color:#a8d2ae;font:750 7px ui-monospace}.get-v5-check span:last-child{border-color:#735537;background:#2b241b;color:#f2bd82}
@keyframes v5Fade{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}

/* DESKHUB V5 — generic desktop, real utility window, three working themes */
body.os-v1 .desk-real-v5{--d-bg:#edf1f5;--d-panel:#fff;--d-panel2:#f4f6f8;--d-line:#d5dce5;--d-text:#20262f;--d-muted:#788391;--d-accent:#426fce;--d-good:#24815a;--d-warn:#ad741f;background:#0b1320;border-color:#27384d}.desk-real-v5.desk-ui-grid{--d-bg:#0f141b;--d-panel:#151b23;--d-panel2:#1d2530;--d-line:#313b49;--d-text:#f3f6fb;--d-muted:#8190a5;--d-accent:#4b87f7;--d-good:#63d99f;--d-warn:#efb94f}.desk-real-v5.desk-ui-signal{--d-bg:#06111a;--d-panel:#091722;--d-panel2:#0c1e2c;--d-line:#18364a;--d-text:#eaf3f9;--d-muted:#698397;--d-accent:#44bbd8;--d-good:#6ed9a8;--d-warn:#f0bd68}.desk-v5-controls{min-height:46px;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#08111c;border-bottom:1px solid #1b2c40}.desk-v5-controls>span{font:800 7px ui-monospace;color:#7790a6;letter-spacing:.08em}.desk-v5-controls>div{display:flex;gap:4px}.desk-v5-controls>div:first-of-type{margin-left:auto}.desk-v5-controls button{height:28px;padding:0 8px;border:1px solid #2c4056;border-radius:7px;background:#0c1825;color:#7990a5;font:800 7px ui-monospace;cursor:pointer}.desk-v5-controls button.on{background:#e9f0f7;border-color:#bfd0e2;color:#23384c}.desk-v5-desktop{height:495px;position:relative;display:grid;place-items:center;overflow:hidden;background:linear-gradient(150deg,#173a62 0,#245880 34%,#3b6c87 60%,#23445f 100%)}.desk-v5-wallpaper{position:absolute;inset:0;overflow:hidden}.desk-v5-wallpaper i{position:absolute;border-radius:45%;filter:blur(2px);opacity:.30;background:linear-gradient(140deg,rgba(255,255,255,.3),rgba(255,255,255,.02))}.desk-v5-wallpaper i:nth-child(1){width:460px;height:300px;left:-120px;top:-80px;transform:rotate(20deg)}.desk-v5-wallpaper i:nth-child(2){width:360px;height:450px;right:-80px;top:40px;transform:rotate(-22deg)}.desk-v5-wallpaper i:nth-child(3){width:420px;height:160px;left:30%;bottom:-80px}.desk-real-v5 .desk-real-window{position:relative;z-index:3;width:min(590px,88%);min-height:382px;padding:0 23px 10px;border:1px solid var(--d-line);border-radius:17px;background:var(--d-panel);box-shadow:0 30px 80px rgba(0,0,0,.28);color:var(--d-text);overflow:hidden;transition:background .35s,color .35s,border-color .35s,transform .35s,opacity .35s}.desk-real-v5 .desk-real-head{height:49px;margin:0 -23px;grid-template-columns:auto auto 1fr 28px 28px 24px;padding:0 9px 0 22px}.desk-real-v5 .desk-real-brand img{width:25px;height:25px}.desk-real-v5 .desk-real-brand b{font-size:11px}.desk-real-v5 .desk-real-main{grid-template-columns:1fr 190px;gap:16px;padding-top:13px}.desk-real-v5 .desk-real-session>strong{font-size:42px;margin:8px 0}.desk-real-v5 .desk-real-session>label{margin-top:15px}.desk-real-v5 .desk-real-today{height:100px;padding:13px}.desk-real-v5 .desk-real-today strong{font-size:21px}.desk-real-v5 .desk-real-metrics{margin:12px 0 10px}.desk-real-v5 .desk-real-actions button{height:36px}.desk-real-v5 .desk-real-status{margin-top:7px}.desk-real-v5 .desk-real-bubble{position:relative;z-index:4;display:none;width:min(410px,82%);height:108px}.desk-real-v5.bubble-mode .desk-real-window{display:none}.desk-real-v5.bubble-mode .desk-real-bubble{display:grid}.desk-v5-taskbar{position:absolute;z-index:2;left:50%;bottom:10px;transform:translateX(-50%);height:38px;min-width:240px;padding:0 9px;border:1px solid rgba(255,255,255,.22);border-radius:11px;background:rgba(10,20,32,.54);backdrop-filter:blur(14px);display:flex;align-items:center;justify-content:center;gap:13px;color:#fff}.desk-v5-taskbar span{font-size:16px}.desk-v5-taskbar b{margin-left:auto;font:600 9px system-ui}.desk-v5-explain{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:12px 14px;background:#08111c;border-top:1px solid #1b2c40}.desk-v5-explain b{font:800 10px system-ui;color:#e1ebf4}.desk-v5-explain span{font:10px/1.45 system-ui;color:#8298ac}

/* Portfolio history V5 — actual runnable prototypes */
body.os-v1 .portfolio-real-v5{background:#07111b;border-color:#183047}.portfolio-v5-top{height:43px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #183047;background:#0a1722;color:#cad9e6}.portfolio-v5-top b{font:800 8px ui-monospace;letter-spacing:.08em}.portfolio-v5-top span{font:800 7px ui-monospace;color:#66d1ef}.portfolio-v5-intro{padding:13px 15px;font:11px/1.5 system-ui;color:#8fa5b8;max-width:880px}.portfolio-v5-browser{margin:0 15px;border:1px solid #1b354b;border-radius:12px;overflow:hidden;background:#02060a}.portfolio-v5-frame-head{height:42px;padding:0 11px;display:flex;align-items:center;gap:10px;background:#0d1b27;border-bottom:1px solid #1b354b}.portfolio-v5-frame-head b{font:800 10px system-ui;color:#e5eef6}.portfolio-v5-frame-head span{font:8px system-ui;color:#6f879a}.portfolio-v5-frame-head a{margin-left:auto;color:#8ddcf1;font:800 7px ui-monospace;text-decoration:none}.portfolio-v5-browser iframe{display:block;width:100%;height:420px;border:0;background:#05080d}.portfolio-v5-history{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;padding:10px 15px}.portfolio-v5-history button{min-height:74px;padding:9px;border:1px solid #193349;border-radius:9px;background:#091722;color:#c9d6e2;text-align:left;cursor:pointer}.portfolio-v5-history button.on{border-color:#5fc9ff;background:#0c2130;box-shadow:0 0 0 2px rgba(95,201,255,.06)}.portfolio-v5-history small{font:800 6px ui-monospace;color:#5f8299}.portfolio-v5-history b{display:block;font:800 10px system-ui;margin:4px 0}.portfolio-v5-history span{font:8px/1.35 system-ui;color:#71899c}.portfolio-v5-note{padding:0 15px 13px;font:8px ui-monospace;color:#67849b}

@media(max-width:900px){body.os-v1 .case-modal.project-mode .case-inner .facts{grid-template-columns:1fr!important}.atlas-v5-flow{grid-template-columns:1fr 1fr}.atlas-v5-flow .aio-stage:after{display:none}.atlas-v5-body{grid-template-columns:1fr}.get-v5-story{grid-template-columns:1fr}.get-v5-story>i{transform:rotate(90deg)}.get-v5-qa{grid-template-columns:1fr}.get-v5-qa>aside{display:flex;overflow:auto}.get-v5-qa>aside button{min-width:150px}.desk-v5-controls{flex-wrap:wrap}.desk-v5-controls>div:first-of-type{margin-left:0}.desk-v5-desktop{height:420px}.desk-real-v5 .desk-real-window{width:680px;transform:scale(.58)}.portfolio-v5-browser iframe{height:360px}.portfolio-v5-history{grid-template-columns:1fr 1fr}}

/* V6 FIX PASS: hover route is a real preview state, weaker than clicked state. */
body.os-v1 .nav-node.route-hover,
body.os-v1 .project-node.route-hover{
  border-color:color-mix(in srgb,var(--accent2) 42%,var(--line));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--accent2) 10%,transparent),0 0 24px color-mix(in srgb,var(--accent2) 9%,transparent),0 14px 50px rgba(0,0,0,.17);
}
body.os-v1 .nav-node.route-hover:before,
body.os-v1 .project-node.route-hover:before{
  background:color-mix(in srgb,var(--accent2) 67%,transparent);
  border-color:var(--accent2);
  box-shadow:0 0 12px color-mix(in srgb,var(--accent2) 58%,transparent);
}
body.os-v1 .nav-node.route-hover:after,
body.os-v1 .project-node.route-hover:after{
  content:"";position:absolute;inset:-5px;border:1px solid color-mix(in srgb,var(--accent2) 18%,transparent);border-radius:inherit;pointer-events:none;opacity:.55;animation:routeHoverBreath 1.35s ease-in-out infinite;
}
body.os-v1 .nav-node.route-active.route-hover,
body.os-v1 .project-node.route-active.route-hover{
  border-color:color-mix(in srgb,var(--accent) 51%,var(--line));
}
@keyframes routeHoverBreath{50%{opacity:.18;transform:scale(1.018)}}

/* V6: archived concepts are deliberately small, zoomed-out working glimpses. */
.portfolio-v5-viewport{height:318px;overflow:hidden;background:#02060a;position:relative}
.portfolio-v5-viewport iframe{display:block;width:142.86%;height:442px;border:0;background:#05080d;transform:scale(.70);transform-origin:0 0}
.portfolio-v5-browser>iframe{display:none!important}
.portfolio-v5-history{grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.portfolio-v5-viewport{height:270px}.portfolio-v5-viewport iframe{width:151.52%;height:409px;transform:scale(.66)}.portfolio-v5-history{grid-template-columns:1fr 1fr}}


/* V7 — portfolio preview interaction + desktop final polish ---------------- */
body.os-v1.iframe-interact .cursor-ring,
body.os-v1.iframe-interact .cursor-dot{opacity:0!important}

.portfolio-v5-viewport{
  height:318px;
  overflow:hidden;
  background:#02060a;
  position:relative;
  pointer-events:auto;
  isolation:isolate;
}
.portfolio-v5-viewport iframe{
  display:block!important;
  width:181.82%!important;
  height:578px!important;
  border:0;
  background:#05080d;
  transform:scale(.55)!important;
  transform-origin:0 0!important;
  pointer-events:auto!important;
  cursor:auto!important;
}
.portfolio-v5-frame-head{height:38px}
.portfolio-v5-frame-head a{padding:8px 0}
.portfolio-v5-history button{transition:border-color .2s,background .2s,transform .2s}
.portfolio-v5-history button:hover{transform:translateY(-2px);border-color:#39627f}

/* Final desktop rhythm: no new features, just tighter hierarchy/readability. */
@media(min-width:901px){
  body.os-v1 .case-modal{padding:24px}
  body.os-v1 .case-inner{
    width:min(1140px,92vw);
    max-height:90vh;
    padding:27px 28px 25px;
    scrollbar-width:thin;
    scrollbar-color:color-mix(in srgb,var(--accent) 34%,transparent) transparent;
  }
  body.os-v1 .case-inner::-webkit-scrollbar{width:7px}
  body.os-v1 .case-inner::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--accent) 30%,transparent);border-radius:99px}
  body.os-v1 .case-close{
    width:38px;height:38px;right:15px;top:13px;border:1px solid var(--line);border-radius:50%;
    background:color-mix(in srgb,var(--panel) 86%,transparent);font-size:19px;line-height:1;
  }
  body.os-v1 .case-head{gap:24px;padding-right:28px}
  body.os-v1 .case-head h2{font-size:clamp(40px,4.4vw,66px);line-height:.93;margin:8px 0 10px}
  body.os-v1 .case-head .lead{max-width:720px;font-size:13.5px;line-height:1.58}
  body.os-v1 .case-meta{max-width:310px;gap:5px}
  body.os-v1 .case-meta span{font-size:7.8px;padding:7px 9px}
  body.os-v1 .case-experience{margin-top:20px}
  body.os-v1 .case-inner .facts{margin-top:18px}
  body.os-v1 .case-inner .facts div{min-height:108px;padding:14px 15px}
  body.os-v1 .case-inner .facts b{font-size:8.3px}
  body.os-v1 .case-inner .facts span{font-size:10.8px;line-height:1.48}
  body.os-v1 .node-preview{max-width:320px;padding:13px 14px}
  body.os-v1 .content-shell .lead{font-size:12.5px;line-height:1.6}
}

@media(max-width:900px){
  .portfolio-v5-viewport{height:270px}
  .portfolio-v5-viewport iframe{width:190.48%!important;height:514px!important;transform:scale(.525)!important}
}


/* PORTFOLIO OS V8 — responsive/accessibility/performance polish; no new features */
body.os-v1 button:focus-visible,
body.os-v1 a:focus-visible,
body.os-v1 input:focus-visible,
body.os-v1 textarea:focus-visible,
body.os-v1 select:focus-visible,
body.os-v1 iframe:focus-visible{
  outline:2px solid color-mix(in srgb,var(--accent2) 82%,white 18%);
  outline-offset:3px;
}
body.os-v1 .case-modal[aria-hidden="true"]{pointer-events:none}
body.os-v1 .case-modal[aria-hidden="false"]{pointer-events:auto}
@media(max-width:760px){
  body.os-v1 .case-inner{padding-left:max(15px,env(safe-area-inset-left));padding-right:max(15px,env(safe-area-inset-right));padding-bottom:max(42px,calc(env(safe-area-inset-bottom) + 24px))}
  body.os-v1 .case-head h2{font-size:clamp(34px,10.5vw,46px)!important;overflow-wrap:anywhere}
  body.os-v1 .case-head .lead{font-size:12.5px!important;line-height:1.55!important}
  body.os-v1 .case-meta span{min-height:30px;display:inline-flex;align-items:center}
  body.os-v1 .portfolio-v5-history{grid-template-columns:1fr!important}
  body.os-v1 .portfolio-v5-viewport{height:235px!important}
  body.os-v1 .portfolio-v5-frame-head{gap:6px;flex-wrap:wrap}
  body.os-v1 .portfolio-v5-frame-head a{margin-left:0}
  body.os-v1 .desk-v5-controls button,body.os-v1 .get-v5-tabs button{min-height:40px}
}
@media(prefers-reduced-motion:reduce){
  body.os-v1 .grain,body.os-v1 .scanner-bar{display:none!important}
}

/* V9 production-readiness: local-only contact brief state */
body.os-v1 .contact-note{margin:10px 0 0;max-width:720px;font:700 8px/1.45 ui-monospace,Consolas,monospace;letter-spacing:.04em;color:var(--muted)}
body.d-nexus .contact-note{margin-left:auto;margin-right:auto}
@media(max-width:760px){body.os-v1 .contact-note{font-size:9px}}

/* PORTFOLIO OS V10 — domain-independent bugfix pass --------------------- */
/* DESKHUB: the three existing UI choices now change the actual presentation,
   not just a handful of values. Quiet Slate remains the start/end default. */
body.os-v1 .desk-real-v5.desk-ui-quiet .desk-real-window{
  border-radius:17px;background:var(--d-panel);box-shadow:0 30px 80px rgba(0,0,0,.28)
}
body.os-v1 .desk-real-v5.desk-ui-quiet .desk-real-head{background:#fff}
body.os-v1 .desk-real-v5.desk-ui-quiet .desk-real-actions button{border-radius:9px}

body.os-v1 .desk-real-v5.desk-ui-grid .desk-v5-desktop{
  background-color:#101821;
  background-image:linear-gradient(rgba(126,151,181,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(126,151,181,.07) 1px,transparent 1px),linear-gradient(150deg,#111923,#1b2734 65%,#0d141c);
  background-size:28px 28px,28px 28px,100% 100%
}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-v5-wallpaper{opacity:.16}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-window{
  border-radius:7px;background:linear-gradient(180deg,#151b23,#11171f);box-shadow:0 24px 70px rgba(0,0,0,.48),0 0 0 1px rgba(75,135,247,.07)
}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-head{background:#111820;border-bottom-color:#34404f}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-today,
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-metrics>span,
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-actions button,
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-status{border-radius:4px}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-actions button{background:#1a222c}

body.os-v1 .desk-real-v5.desk-ui-signal .desk-v5-desktop{
  background:radial-gradient(circle at 68% 22%,rgba(68,187,216,.17),transparent 29%),radial-gradient(circle at 25% 72%,rgba(74,115,180,.13),transparent 34%),linear-gradient(145deg,#07121b,#0b1c28 58%,#071018)
}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-v5-wallpaper{opacity:.23;filter:saturate(1.15)}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-window{
  border-radius:22px;background:linear-gradient(145deg,rgba(9,23,34,.97),rgba(7,17,26,.96));box-shadow:0 30px 88px rgba(0,0,0,.5),0 0 42px rgba(68,187,216,.08);border-color:#21475b
}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-head{background:linear-gradient(90deg,#091923,#0a1d29);border-bottom-color:#1c4255}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-live{text-shadow:0 0 12px rgba(110,217,168,.45)}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-progress i{box-shadow:0 0 15px rgba(68,187,216,.32)}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-actions button{border-radius:999px;background:#0c1e2c}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-status{border-radius:999px}

/* Hover path stays deliberately weaker than a clicked/persistent route. */
body.os-v1 .nav-node.route-hover,
body.os-v1 .project-node.route-hover{transition:border-color .16s,background .16s,box-shadow .16s,transform .18s var(--ease)}


/* PORTFOLIO OS V11 — verified-reference interaction + DESKHUB fidelity pass --- */
/* The desktop/wallpaper stays fixed across DESKHUB themes. Only the app UI changes. */
body.os-v1 .desk-real-v5.desk-ui-grid .desk-v5-desktop,
body.os-v1 .desk-real-v5.desk-ui-signal .desk-v5-desktop{
  background:linear-gradient(150deg,#173a62 0,#245880 34%,#3b6c87 60%,#23445f 100%);
  background-size:auto;
}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-v5-wallpaper,
body.os-v1 .desk-real-v5.desk-ui-signal .desk-v5-wallpaper{opacity:1;filter:none}

/* Design 02 / Precision Grid: compact dark live layout from the real app reference. */
body.os-v1 .desk-real-v5.desk-ui-grid{
  --d-bg:#121820;--d-panel:#151c24;--d-panel2:#19212b;--d-line:#34404e;--d-text:#f3f6fb;--d-muted:#8091a4;--d-accent:#4d83eb;--d-good:#56d69f;--d-warn:#e9b653;
}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-window{
  width:min(590px,88%);min-height:330px;padding:0 10px 10px;border-radius:3px;
  display:grid;grid-template-columns:minmax(0,1fr) 142px;grid-template-rows:32px 43px 43px 49px auto;
  column-gap:12px;row-gap:5px;background:#141b23;border-color:#34404e;box-shadow:0 28px 76px rgba(0,0,0,.42);
}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-head{
  grid-column:1/-1;grid-row:1;height:32px;margin:0 -10px;padding:0 7px 0 10px;
  grid-template-columns:auto auto 1fr 24px 24px 21px;gap:4px;background:#111820;border-bottom:1px solid #2d3845;
}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-brand img{display:none}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-brand b{font-size:9px}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-head button{height:23px;border-radius:3px;font-size:7px}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-main,
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-metrics{display:contents}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-session{grid-column:1;grid-row:2/5;padding-top:5px;min-width:0}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-session>small{font-size:8px;text-transform:uppercase}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-session>strong{font-size:37px;margin:7px 0 0}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-session>b{font-size:8px}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-session>label{margin-top:22px;font-size:6.5px}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-progress{height:5px;margin-top:5px;border-radius:0;background:#28313c}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-today,
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-metrics>span{height:auto;min-height:39px;padding:6px 8px;border-radius:4px;background:#19212b}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-metrics>span:nth-child(1){grid-column:2;grid-row:2}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-today{grid-column:2;grid-row:3}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-metrics>span:nth-child(2){grid-column:2;grid-row:4;border-color:#376659}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-today small,
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-metrics small{font-size:6.5px}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-today strong,
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-metrics b{font-size:12px;margin:1px 0 0}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-today span,
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-metrics em{font-size:6.5px;margin-top:0}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-actions{
  grid-column:1/-1;grid-row:5;display:grid;grid-template-columns:repeat(12,1fr);gap:5px;margin-top:2px;
}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-actions button{height:29px;border-radius:3px;background:#19212b;font-size:7px}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-actions button:nth-child(1),
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-actions button:nth-child(2){grid-column:span 3}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-actions button:nth-child(3){grid-column:span 6}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-actions button:nth-child(n+4){grid-column:span 3}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-status{display:none}

/* Design 03 / Signal: alternate real layout — TODAY at right, score/rule cards below. */
body.os-v1 .desk-real-v5.desk-ui-signal{
  --d-bg:#151b22;--d-panel:#171e26;--d-panel2:#202832;--d-line:#3a4654;--d-text:#f4f7fb;--d-muted:#8394a8;--d-accent:#4c83ea;--d-good:#58d6a0;--d-warn:#e9b653;
}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-window{
  width:min(590px,88%);min-height:330px;padding:0 12px 10px;border-radius:3px;
  display:grid;grid-template-columns:minmax(0,1fr) 145px;grid-template-rows:32px auto auto auto;
  gap:9px 12px;background:#171e26;border-color:#394654;box-shadow:0 28px 76px rgba(0,0,0,.42);
}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-head{
  grid-column:1/-1;grid-row:1;height:32px;margin:0 -12px;padding:0 7px 0 12px;
  grid-template-columns:auto auto 1fr 24px 24px 21px;gap:4px;background:#151b22;border-bottom:1px solid #303b48;
}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-brand img{display:none}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-brand b{font-size:9px}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-head button{height:23px;border-radius:3px;font-size:7px}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-main{display:contents}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-session{grid-column:1;grid-row:2;min-width:0;padding-top:3px}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-today{grid-column:2;grid-row:2;height:73px;padding:9px;border-radius:4px;background:#202832}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-session>small{font-size:8px}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-session>strong{font-size:37px;margin:7px 0 0}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-session>b{font-size:8px}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-session>label{margin-top:13px;font-size:6.5px}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-progress{height:5px;margin-top:5px;border-radius:0;background:#2d3743}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-today strong{font-size:17px;margin:4px 0 0}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-today span{font-size:7px}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-metrics{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:.78fr 1.25fr;gap:7px;margin:0}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-metrics>span{min-height:43px;padding:6px 8px;border-radius:4px;background:#202832}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-metrics>span:nth-child(2){border-color:#376659}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-metrics small{font-size:6.5px}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-metrics b{font-size:11px;margin-top:1px}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-metrics em{font-size:6.5px;margin-top:0}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-actions{
  grid-column:1/-1;grid-row:4;display:grid;grid-template-columns:repeat(12,1fr);gap:5px;margin-top:0;
}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-actions button{height:29px;border-radius:3px;background:#202832;font-size:7px}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-actions button:nth-child(1),
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-actions button:nth-child(2){grid-column:span 3}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-actions button:nth-child(3){grid-column:span 6}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-actions button:nth-child(n+4){grid-column:span 3}
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-status{display:none}

/* Dark bubble is a real compact state view, not just a recoloured white bubble. */
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-bubble,
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-bubble{
  width:min(430px,82%);height:82px;padding:8px 9px 7px 10px;border-radius:4px;
  grid-template-columns:1.45fr .72fr .72fr .66fr 25px;gap:7px;background:#151c24;border-color:#354250;color:#f2f6fb;
  box-shadow:0 18px 52px rgba(0,0,0,.40);
}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-bubble small,
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-bubble small{font-size:6.5px;color:#7690a8}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-bubble>div small,
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-bubble>div small{color:#57d8a3}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-bubble strong,
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-bubble strong{font-size:23px;margin-top:4px;letter-spacing:.01em}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-bubble b,
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-bubble b{font-size:9px;margin-top:3px}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-bubble button,
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-bubble button{height:24px;border-radius:3px;background:#1b2530;border-color:#3a4858;color:#dce7f3}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-bubble>i,
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-bubble>i{height:4px;border-radius:0;background:#2b3540}
body.os-v1 .desk-real-v5.desk-ui-grid .desk-real-bubble>i b,
body.os-v1 .desk-real-v5.desk-ui-signal .desk-real-bubble>i b{background:#4b7fe6}

/* Hover preview should read as execution through the connection, not as a second selected state. */
body.os-v1 .nav-node.route-hover:not(.route-active),
body.os-v1 .project-node.route-hover:not(.route-active){border-color:color-mix(in srgb,var(--accent2) 34%,var(--line));box-shadow:0 0 18px color-mix(in srgb,var(--accent2) 8%,transparent),0 14px 45px rgba(0,0,0,.16)}
body.os-v1 .nav-node.route-hover:not(.route-active):before,
body.os-v1 .project-node.route-hover:not(.route-active):before{background:color-mix(in srgb,var(--accent2) 58%,transparent);box-shadow:0 0 10px color-mix(in srgb,var(--accent2) 40%,transparent)}

/* PORTFOLIO OS V12 — portfolio history restore
   Historic previews intentionally use their own original local styles/scripts.
   No CSS override is added here: the V8 portfolio shell remains the reference. */


/* PORTFOLIO OS V13 — final hidden Data Canopy sync ---------------------- */
/* Canopy stays a retained alternate, not a second public design branch. */
body.os-v1.d-nexus-canopy .content-shell{width:min(940px,80vw)}
body.os-v1.d-nexus-canopy .lead{max-width:730px}
body.os-v1.d-nexus-canopy .project-grid{width:min(820px,100%);grid-template-columns:repeat(2,minmax(0,1fr))}
body.os-v1.d-nexus-canopy .project-card,
body.os-v1.d-nexus-canopy .skill-card{border-color:color-mix(in srgb,var(--accent2) 14%,var(--line))}
body.os-v1.d-nexus-canopy .nav-node,
body.os-v1.d-nexus-canopy .project-node,
body.os-v1.d-nexus-canopy .child-node{box-shadow:0 18px 70px rgba(0,0,0,.22),0 0 28px color-mix(in srgb,var(--accent2) 3%,transparent)}
body.os-v1.d-nexus-canopy .nav-node.route-active,
body.os-v1.d-nexus-canopy .project-node.route-active,
body.os-v1.d-nexus-canopy .child-node.route-active{box-shadow:0 20px 76px rgba(0,0,0,.25),0 0 32px color-mix(in srgb,var(--accent2) 11%,transparent)}
@media(max-width:1100px){body.os-v1.d-nexus-canopy .content-shell{width:auto}}

/* V14 contact anti-spam honeypot: visually and interactively removed for humans. */
body.os-v1 .contact-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

/* PORTFOLIO OS V16 — phone production pass -------------------------------
   Same site/engine; no separate mobile product. Phone mode covers portrait
   plus short coarse-pointer landscape screens. Desktop rules stay untouched. */
body.os-v1.phone-v16{
  --phone-graph-h:clamp(210px,35dvh,292px);
  overflow:hidden;
  overscroll-behavior:none;
  -webkit-text-size-adjust:100%;
  text-size-adjust:100%;
}
body.os-v1.phone-v16 .app{height:100dvh;min-height:100svh;overflow:hidden}
body.os-v1.phone-v16,body.os-v1.phone-v16 *{cursor:auto!important}
body.os-v1.phone-v16 .cursor-ring,
body.os-v1.phone-v16 .cursor-dot,
body.os-v1.phone-v16 .cursor-toast,
body.os-v1.phone-v16 .node-preview,
body.os-v1.phone-v16 .code-rail{display:none!important}
body.os-v1.phone-v16 button,
body.os-v1.phone-v16 a,
body.os-v1.phone-v16 input,
body.os-v1.phone-v16 textarea{touch-action:manipulation;-webkit-tap-highlight-color:transparent}

/* Two clear zones: tactile node map above, scrollable narrative below. */
body.os-v1.phone-v16 .workspace{inset:0!important;overflow:hidden}
body.os-v1.phone-v16 .graph{
  left:0!important;right:0!important;top:0!important;bottom:auto!important;
  width:100%!important;height:var(--phone-graph-h)!important;z-index:18
}
body.os-v1.phone-v16 .nav-node{
  width:clamp(76px,22vw,94px)!important;min-width:0!important;height:50px!important;
  padding:0 7px!important;border-radius:11px!important;gap:7px!important;
  touch-action:manipulation
}
body.os-v1.phone-v16 .project-node,
body.os-v1.phone-v16 .child-node{
  width:clamp(68px,20.5vw,88px)!important;min-width:0!important;height:46px!important;
  padding:0 6px!important;border-radius:9px!important;gap:6px!important;
  touch-action:manipulation
}
body.os-v1.phone-v16 .nav-node:before,
body.os-v1.phone-v16 .project-node:before{width:8px;height:8px;flex:0 0 8px}
body.os-v1.phone-v16 .nav-node strong{font-size:7.5px!important;letter-spacing:.025em;white-space:nowrap}
body.os-v1.phone-v16 .project-node strong,
body.os-v1.phone-v16 .child-node strong{font-size:7px!important;letter-spacing:.015em;white-space:nowrap}
body.os-v1.phone-v16 .nav-node small,
body.os-v1.phone-v16 .project-node small,
body.os-v1.phone-v16 .child-node small{
  display:block;max-width:100%;margin-top:3px!important;font-size:5.1px!important;
  line-height:1!important;white-space:nowrap;overflow:hidden;text-overflow:clip
}
body.os-v1.phone-v16 .nav-node:hover,
body.os-v1.phone-v16 .project-node:hover{transform:translate(-50%,-50%) scale(1)}
body.os-v1.phone-v16 .nav-node.running,
body.os-v1.phone-v16 .project-node.running{transform:translate(-50%,-50%) scale(1.06)}
body.os-v1.phone-v16 .nav-node.executed,
body.os-v1.phone-v16 .project-node.executed{transform:translate(-50%,-50%) scale(1.025)}

body.os-v1.phone-v16 .content-shell{
  left:0!important;right:0!important;top:calc(var(--phone-graph-h) + 8px)!important;bottom:0!important;
  transform:none!important;width:100%!important;max-width:none!important;text-align:left!important;
  overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;
  overscroll-behavior-y:contain;scrollbar-width:none;z-index:24;
  padding:16px max(16px,env(safe-area-inset-right)) max(36px,calc(env(safe-area-inset-bottom) + 24px)) max(16px,env(safe-area-inset-left));
  background:linear-gradient(180deg,rgba(4,8,17,.88),rgba(4,8,17,.985) 16%,rgba(4,8,17,1));
}
body.os-v1.phone-v16 .content-shell::-webkit-scrollbar{display:none}
body.os-v1.phone-v16 .content-view{max-height:none!important;padding-bottom:24px}
body.os-v1.phone-v16 .eyebrow{font-size:7px;line-height:1.2}
body.os-v1.phone-v16 .display{
  font-size:clamp(32px,9.8vw,46px)!important;line-height:.94!important;letter-spacing:-.055em!important;
  margin:8px 0 14px!important;max-width:none!important;text-align:left!important;overflow-wrap:break-word
}
body.os-v1.phone-v16 .headline{
  font-size:clamp(28px,8.5vw,40px)!important;line-height:.97!important;letter-spacing:-.05em!important;
  margin:8px 0 13px!important;max-width:none!important;text-align:left!important;overflow-wrap:break-word
}
body.os-v1.phone-v16 .lead{font-size:12.5px!important;line-height:1.55!important;max-width:none!important;margin:0!important;text-align:left!important}
body.os-v1.phone-v16 .actions{gap:7px;margin-top:17px;justify-content:flex-start!important}
body.os-v1.phone-v16 .actions button{min-height:44px;height:auto;padding:0 14px;font-size:7.2px}
body.os-v1.phone-v16 .metric-strip{gap:5px;margin-top:16px;justify-content:flex-start!important}
body.os-v1.phone-v16 .metric-strip span{padding:7px 8px;font-size:6.5px}
body.os-v1.phone-v16 .project-grid,
body.os-v1.phone-v16 .skill-grid{grid-template-columns:1fr!important;max-width:none!important;margin:17px 0 0!important;gap:8px!important}
body.os-v1.phone-v16 .project-card,
body.os-v1.phone-v16 .skill-card{min-height:108px!important;padding:14px!important}
body.os-v1.phone-v16 .project-card h3{margin:22px 0 6px;font-size:24px}
body.os-v1.phone-v16 .project-card p,
body.os-v1.phone-v16 .skill-card p{font-size:11.5px;line-height:1.5}

/* Form inputs use 16px on phones to avoid iOS focus zoom. */
body.os-v1.phone-v16 .brief{grid-template-columns:1fr;max-width:none;gap:8px}
body.os-v1.phone-v16 .brief textarea{grid-column:auto;min-height:132px;resize:vertical}
body.os-v1.phone-v16 .brief input,
body.os-v1.phone-v16 .brief textarea{min-height:48px;padding:13px;font-size:16px;line-height:1.35}
body.os-v1.phone-v16 .contact-note{font-size:9px;line-height:1.5}

/* Phone-safe audio button, clear of the first node row and notches. */
body.os-v1.phone-v16 .sound-toggle{
  right:max(10px,env(safe-area-inset-right))!important;
  top:max(10px,env(safe-area-inset-top))!important;
  width:40px!important;height:40px!important
}

/* Full-screen cases: large close target, safe-area aware, one natural scroll surface. */
body.os-v1.phone-v16 .case-modal{place-items:stretch;padding:0!important;background:rgba(1,4,8,.86);backdrop-filter:blur(12px)}
body.os-v1.phone-v16 .case-inner{
  width:100vw!important;height:100dvh!important;max-height:100dvh!important;border:0!important;border-radius:0!important;
  padding:max(28px,calc(env(safe-area-inset-top) + 18px)) max(14px,env(safe-area-inset-right)) max(44px,calc(env(safe-area-inset-bottom) + 28px)) max(14px,env(safe-area-inset-left))!important;
  overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;scroll-padding-top:64px
}
body.os-v1.phone-v16 .case-close{
  position:fixed;right:max(10px,env(safe-area-inset-right));top:max(8px,env(safe-area-inset-top));
  width:44px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;
  background:color-mix(in srgb,var(--panel) 91%,transparent);backdrop-filter:blur(18px);font-size:24px;z-index:3
}
body.os-v1.phone-v16 .case-head{grid-template-columns:1fr!important;gap:10px;padding-right:42px}
body.os-v1.phone-v16 .case-head h2{font-size:clamp(33px,10vw,44px)!important;line-height:.95!important;margin:5px 0 9px;overflow-wrap:anywhere}
body.os-v1.phone-v16 .case-head .lead{font-size:12.5px!important;line-height:1.55!important}
body.os-v1.phone-v16 .case-meta{justify-content:flex-start;gap:5px}
body.os-v1.phone-v16 .case-meta span{min-height:30px;display:inline-flex;align-items:center;font-size:7px}
body.os-v1.phone-v16 .case-inner .facts{grid-template-columns:1fr!important;margin-top:14px}
body.os-v1.phone-v16 .case-inner .facts div{min-height:0;padding:13px}
body.os-v1.phone-v16 .case-experience{margin-top:16px}

/* Demo controls are finger targets; horizontal tab rows scroll instead of squeezing. */
body.os-v1.phone-v16 .desk-v5-controls button,
body.os-v1.phone-v16 .get-v5-tabs button,
body.os-v1.phone-v16 .get-v5-qa>aside button,
body.os-v1.phone-v16 .portfolio-v5-history button,
body.os-v1.phone-v16 [data-aio-product]{min-height:44px}
body.os-v1.phone-v16 .get-v5-tabs,
body.os-v1.phone-v16 .desk-v5-controls>div,
body.os-v1.phone-v16 .atlas-v5-thumbs{scrollbar-width:none}
body.os-v1.phone-v16 .get-v5-tabs::-webkit-scrollbar,
body.os-v1.phone-v16 .desk-v5-controls>div::-webkit-scrollbar,
body.os-v1.phone-v16 .atlas-v5-thumbs::-webkit-scrollbar{display:none}
body.os-v1.phone-v16 .desk-v5-controls{align-items:flex-start}
body.os-v1.phone-v16 .desk-v5-controls>div{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}
body.os-v1.phone-v16 .desk-v5-controls button{flex:0 0 auto;white-space:nowrap}
body.os-v1.phone-v16 .desk-v5-desktop{height:340px;min-height:340px}
body.os-v1.phone-v16 .desk-v5-taskbar{bottom:7px;height:34px;min-width:210px}
body.os-v1.phone-v16 .desk-v5-explain{grid-template-columns:1fr;gap:5px;padding:11px 12px}

/* Scale the real desktop window to the physical phone width instead of clipping it. */
body.os-v1.phone-v16 .desk-real-v5 .desk-real-window{transform:scale(.54)!important;transform-origin:center!important}
body.os-v1.phone-v16 .desk-real-v5 .desk-real-bubble{
  width:calc(100% - 14px)!important;height:auto!important;min-height:96px!important;transform:none!important;
  grid-template-columns:1.25fr .78fr .78fr .7fr 28px!important;gap:6px!important;padding:9px!important
}
body.os-v1.phone-v16 .desk-real-v5 .desk-real-bubble strong{font-size:20px!important}
body.os-v1.phone-v16 .desk-real-v5 .desk-real-bubble b{font-size:8px!important}

/* Historic previews stay usable but cannot overflow the case shell. */
body.os-v1.phone-v16 .portfolio-v5-history{grid-template-columns:1fr!important;padding:9px 10px}
body.os-v1.phone-v16 .portfolio-v5-browser{margin:0 8px}
body.os-v1.phone-v16 .portfolio-v5-viewport{height:220px!important;touch-action:pan-y}
body.os-v1.phone-v16 .portfolio-v5-frame-head{height:auto;min-height:44px;gap:5px;flex-wrap:wrap;padding:8px 9px}
body.os-v1.phone-v16 .portfolio-v5-frame-head a{margin-left:0;min-height:36px;display:inline-flex;align-items:center}
body.os-v1.phone-v16 .portfolio-v5-viewport iframe{touch-action:pan-y}

/* Very narrow phones: preserve node spacing and DeskHub fit. */
@media(max-width:360px){
  body.os-v1.phone-v16{--phone-graph-h:clamp(206px,37dvh,228px)}
  body.os-v1.phone-v16 .nav-node{width:74px!important;padding:0 5px!important}
  body.os-v1.phone-v16 .project-node,body.os-v1.phone-v16 .child-node{width:66px!important;padding:0 4px!important}
  body.os-v1.phone-v16 .nav-node strong{font-size:7px!important}
  body.os-v1.phone-v16 .project-node strong,body.os-v1.phone-v16 .child-node strong{font-size:6.6px!important}
  body.os-v1.phone-v16 .content-shell{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
  body.os-v1.phone-v16 .display{font-size:31px!important}
  body.os-v1.phone-v16 .headline{font-size:28px!important}
  body.os-v1.phone-v16 .desk-real-v5 .desk-real-window{transform:scale(.43)!important}
  body.os-v1.phone-v16 .desk-v5-desktop{height:304px;min-height:304px}
}
@media(min-width:361px) and (max-width:400px){body.os-v1.phone-v16 .desk-real-v5 .desk-real-window{transform:scale(.49)!important}}

/* Short phone landscape: reclaim vertical space while keeping the node map tappable. */
body.os-v1.phone-v16.phone-landscape-v16{--phone-graph-h:clamp(158px,45dvh,188px)}
body.os-v1.phone-v16.phone-landscape-v16 .nav-node{height:44px!important;width:94px!important}
body.os-v1.phone-v16.phone-landscape-v16 .project-node,
body.os-v1.phone-v16.phone-landscape-v16 .child-node{height:42px!important;width:84px!important}
body.os-v1.phone-v16.phone-landscape-v16 .content-shell{padding-top:12px}
body.os-v1.phone-v16.phone-landscape-v16 .display{font-size:34px!important}
body.os-v1.phone-v16.phone-landscape-v16 .headline{font-size:30px!important}
body.os-v1.phone-v16.phone-landscape-v16 .lead{font-size:11.5px!important}

@media(prefers-reduced-motion:reduce){
  body.os-v1.phone-v16 .grain,body.os-v1.phone-v16 .scanner-bar{display:none!important}
}

/* Phone keyboard state: free the vertical viewport while contact fields are active. */
body.os-v1.phone-v16.input-focus-v16 .graph{opacity:0;pointer-events:none;transition:opacity .16s ease}
body.os-v1.phone-v16.input-focus-v16 .content-shell{
  top:0!important;padding-top:max(64px,calc(env(safe-area-inset-top) + 54px));
  background:var(--bg)
}

/* V17: casual copy/selection guard + low-profile site information links. */
html,body,body.os-v1,body.os-v1 .app,body.os-v1 .app *{
  -webkit-user-select:none;
  user-select:none;
  -webkit-touch-callout:none;
}
body.os-v1 input,body.os-v1 textarea,body.os-v1 select,
body.os-v1 [contenteditable="true"]{
  -webkit-user-select:text;
  user-select:text;
  -webkit-touch-callout:default;
}
.site-meta-links{
  position:fixed;
  right:max(12px,env(safe-area-inset-right));
  bottom:max(9px,env(safe-area-inset-bottom));
  z-index:18;
  display:flex;
  align-items:center;
  gap:7px;
  font:700 7px/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
  letter-spacing:.13em;
  color:color-mix(in srgb,var(--fg) 38%,transparent);
  opacity:.58;
  transition:opacity .2s ease;
}
.site-meta-links:hover{opacity:.92}
.site-meta-links a{
  color:inherit;
  text-decoration:none;
  min-height:28px;
  display:inline-flex;
  align-items:center;
  padding:0 2px;
}
.site-meta-links a:focus-visible{outline:1px solid var(--accent);outline-offset:3px;color:var(--fg)}
.contact-direct{margin:12px 0 0;font:700 9px/1.4 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.06em;color:color-mix(in srgb,var(--fg) 54%,transparent)}
.contact-direct a,.contact-note a{color:var(--accent2);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--accent2) 35%,transparent)}
.contact-direct a:hover,.contact-note a:hover{border-color:var(--accent2)}
body.os-v1.phone-v16 .content-shell{padding-bottom:max(58px,calc(env(safe-area-inset-bottom) + 46px))}
body.os-v1.phone-v16 .site-meta-links{right:max(11px,env(safe-area-inset-right));bottom:max(7px,env(safe-area-inset-bottom));font-size:6.5px;opacity:.52}
body.os-v1.phone-v16 .contact-direct{font-size:8px}


/* V19: legal/privacy links avoid visual controls in both retained themes. */
body.os-v1.d-vector-deck .site-meta-links{
  left:max(14px,env(safe-area-inset-left));
  right:auto;
  bottom:max(10px,env(safe-area-inset-bottom));
  top:auto;
}
body.os-v1.d-nexus-canopy .site-meta-links{
  left:max(14px,env(safe-area-inset-left));
  right:auto;
  top:max(12px,env(safe-area-inset-top));
  bottom:auto;
}
body.os-v1.phone-v16.d-vector-deck .site-meta-links{
  left:max(11px,env(safe-area-inset-left));right:auto;bottom:max(7px,env(safe-area-inset-bottom));top:auto;
}
body.os-v1.phone-v16.d-nexus-canopy .site-meta-links{
  left:max(11px,env(safe-area-inset-left));right:auto;top:max(8px,env(safe-area-inset-top));bottom:auto;
}
body.os-v1 .contact-note:empty{display:none}
