:root{--bg: #0b0f14;--bg-2: #0f141b;--panel: #141a23;--panel-2: #1a2230;--panel-3: #1f2a3a;--border: #222c3b;--border-strong: #2f3d52;--ink: #e8ecf2;--ink-2: #b0bacc;--ink-3: #7b879a;--ink-4: #49556a;--cyan: #4fd4c4;--amber: #f0b12e;--blue: #5ea0f0;--rose: #ef6f8e;--purple: #b08cf5;--green: #6fd37f;--edge: #3a4864;--edge-dim: #293447}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px}body{font-family:Inter Tight,system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55;min-height:100vh;-webkit-font-smoothing:antialiased;overflow-x:hidden}a{color:inherit;text-decoration:none}.mono{font-family:JetBrains Mono,monospace}.bar{padding:1rem 1.75rem;border-bottom:1px solid var(--border);display:grid;grid-template-columns:1fr auto;gap:1.5rem;align-items:center;font-family:JetBrains Mono,monospace;font-size:.85rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.bar .brand{color:var(--ink);font-weight:700;letter-spacing:.16em;display:inline-flex;align-items:center;gap:.7rem;font-size:.95rem}.bar .brand .sub{color:var(--ink-4);font-weight:400;letter-spacing:.04em;font-size:.8rem}.bar nav{display:flex;gap:1.5rem}.bar nav a{color:var(--ink-2);padding-bottom:.4rem;border-bottom:1px solid transparent;font-size:.88rem}.bar nav a:hover{color:var(--cyan);border-color:var(--cyan)}.hero{display:grid;grid-template-columns:minmax(0,70fr) minmax(0,30fr);border-bottom:1px solid var(--border);min-height:86vh}.canvas-wrap{position:relative;background:radial-gradient(circle at 50% 50%,var(--bg-2),var(--bg) 75%),radial-gradient(circle at 1px 1px,rgba(70,90,120,.22) 1px,transparent 1.6px);background-size:auto,28px 28px;min-height:86vh;overflow:hidden;border-right:1px solid var(--border)}.canvas-intro{position:absolute;top:1.75rem;left:1.75rem;z-index:4;max-width:42ch}.canvas-intro .kicker{font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--cyan);letter-spacing:.26em;text-transform:uppercase;margin-bottom:1.1rem;font-weight:600;display:inline-flex;align-items:center;gap:.7rem}.canvas-intro .kicker:before{content:"";width:28px;height:1px;background:var(--cyan)}.canvas-intro h1{font-family:Inter Tight,sans-serif;font-size:clamp(1.8rem,2.6vw,2.5rem);font-weight:700;letter-spacing:-.025em;line-height:1.06;color:var(--ink);margin-bottom:.9rem}.canvas-intro h1 em{font-style:italic;color:var(--cyan);font-weight:500}.canvas-intro .sub{font-size:1rem;line-height:1.55;color:var(--ink-2);max-width:40ch}.canvas-hint{position:absolute;bottom:1.25rem;left:1.75rem;z-index:4;font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--ink-3);letter-spacing:.04em;display:inline-flex;align-items:center;gap:.5rem;padding:.55rem .85rem;background:#0b0f14cc;border:1px solid var(--border);backdrop-filter:blur(4px)}.canvas-hint strong{color:var(--cyan);font-weight:600}.canvas-hint .arr{color:var(--cyan)}.canvas-legend{position:absolute;bottom:1.25rem;right:1.75rem;z-index:4;font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--ink-3);letter-spacing:.06em;padding:.55rem .85rem;background:#0b0f14cc;border:1px solid var(--border);backdrop-filter:blur(4px);display:grid;gap:.3rem}.canvas-legend .row{display:flex;gap:1rem;flex-wrap:wrap}.canvas-legend .sw{display:inline-flex;align-items:center;gap:.4rem}.canvas-legend .sw:before{content:"";width:9px;height:9px;border-radius:50%;background:var(--edge)}.canvas-legend .sw.human:before{background:var(--cyan);width:11px;height:11px}.canvas-legend .sw.coord:before{background:var(--blue)}.canvas-legend .sw.harness:before{background:var(--amber)}.canvas-legend .sw.service:before{background:var(--purple)}.canvas-legend .sw.app:before{background:var(--rose)}.canvas-legend .sw.exp:before{background:var(--green)}.canvas{position:absolute;inset:0 0 0 22%;z-index:1}.canvas svg.edges{position:absolute;inset:0;width:100%;height:100%;z-index:1}.canvas svg.edges line,.canvas svg.edges path{stroke:var(--edge);fill:none;stroke-width:1;opacity:.55;transition:opacity .5s}.canvas svg.edges line.hot,.canvas svg.edges path.hot{stroke:var(--cyan);opacity:.9;stroke-width:1.4}.node{position:absolute;z-index:2;transform:translate(-50%,-50%);left:0;top:0;transition:left .6s cubic-bezier(.4,0,.2,1),top .6s cubic-bezier(.4,0,.2,1),width .6s cubic-bezier(.4,0,.2,1),height .6s cubic-bezier(.4,0,.2,1);cursor:pointer;border:1.5px solid var(--border-strong);background:var(--panel);padding:.55rem .7rem;min-width:110px;text-align:center;user-select:none}.node:hover{border-color:var(--cyan)}.node .label{font-family:JetBrains Mono,monospace;font-size:.8rem;font-weight:700;letter-spacing:.04em;color:var(--ink);line-height:1;margin-bottom:.25rem}.node .ref{font-family:JetBrains Mono,monospace;font-size:.65rem;color:var(--ink-3);letter-spacing:.12em}.node .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--edge);margin-right:.4rem;vertical-align:1px}.node[data-zone=coord]{border-color:var(--blue)}.node[data-zone=coord] .dot{background:var(--blue)}.node[data-zone=coord] .ref{color:var(--blue)}.node[data-zone=harness]{border-color:var(--amber)}.node[data-zone=harness] .dot{background:var(--amber)}.node[data-zone=harness] .ref{color:var(--amber)}.node[data-zone=service]{border-color:var(--purple)}.node[data-zone=service] .dot{background:var(--purple)}.node[data-zone=service] .ref{color:var(--purple)}.node[data-zone=app]{border-color:var(--rose)}.node[data-zone=app] .dot{background:var(--rose)}.node[data-zone=app] .ref{color:var(--rose)}.node[data-zone=exp]{border-color:var(--green)}.node[data-zone=exp] .dot{background:var(--green)}.node[data-zone=exp] .ref{color:var(--green)}.node.human{background:linear-gradient(135deg,#142b34,#0b1620);border-color:var(--cyan);border-width:2px;box-shadow:0 0 24px #4fd4c433}.node.human .label{color:var(--cyan);font-size:1rem}.node.human .ref{color:var(--ink-2);font-size:.74rem}.node.at-center{z-index:3;min-width:220px;padding:1.25rem 1.4rem;background:var(--panel-2);border-width:2px;box-shadow:0 0 40px #4fd4c42e}.node.at-center .label{font-size:1.1rem;margin-bottom:.4rem}.node.at-center .ref{font-size:.78rem;margin-bottom:.6rem;letter-spacing:.16em}.node.at-center .at-center-body{display:block;font-family:Inter Tight,sans-serif;font-size:.9rem;line-height:1.5;color:var(--ink-2);text-align:left;margin-bottom:.7rem}.node.at-center .at-center-action{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .75rem;background:var(--cyan);color:var(--bg);font-family:JetBrains Mono,monospace;font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.node.at-center .at-center-action:hover{background:#6fe7d8}.node.human.at-center{background:linear-gradient(135deg,#1b4453,#0f2330)}.node.human.at-center .at-center-body{color:var(--ink);font-size:.95rem}.at-center-body,.at-center-action{display:none}.side{padding:1.75rem 1.75rem 1.5rem;display:flex;flex-direction:column;background:var(--bg)}.side-head{font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--cyan);letter-spacing:.22em;text-transform:uppercase;margin-bottom:1.25rem;font-weight:600;padding-bottom:.85rem;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.side-head .all{color:var(--ink-3);font-size:.74rem;letter-spacing:.08em;text-transform:none;font-weight:400}.side-head .all:hover{color:var(--cyan)}.note-card{padding:1.2rem 0;border-bottom:1px solid var(--border);display:block}.note-card:last-child{border-bottom:none}.note-card:hover .nc-title{color:var(--cyan)}.note-card .nc-date{font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--ink-3);letter-spacing:.06em;margin-bottom:.5rem;display:flex;align-items:center;gap:.6rem}.note-card .nc-date .tag{font-family:JetBrains Mono,monospace;font-size:.64rem;font-weight:700;letter-spacing:.18em;padding:.1rem .45rem;border:1px solid var(--cyan);color:var(--cyan)}.note-card .nc-date .tag.scar{border-color:var(--amber);color:var(--amber)}.note-card .nc-date .tag.rule{border-color:var(--blue);color:var(--blue)}.note-card .nc-title{font-family:Inter Tight,sans-serif;font-size:1.15rem;font-weight:600;letter-spacing:-.015em;line-height:1.25;margin-bottom:.4rem;color:var(--ink)}.note-card .nc-blurb{font-size:.95rem;line-height:1.5;color:var(--ink-2)}.about-band{padding:2.5rem 2rem;border-bottom:1px solid var(--border);background:var(--bg-2)}.about-inner{max-width:1400px;margin:0 auto}.about-inner h2{font-family:Inter Tight,sans-serif;font-size:clamp(1.4rem,2vw,1.9rem);font-weight:700;letter-spacing:-.02em;line-height:1.15;color:var(--ink);margin-bottom:.75rem}.about-inner h2 em{font-style:italic;color:var(--cyan);font-weight:500}.about-inner p{font-size:1.02rem;line-height:1.62;color:var(--ink-2);max-width:68ch}.about-inner p strong{color:var(--ink);font-weight:600}.about-inner p em{color:var(--cyan);font-style:italic}.detail-section{padding:3rem 2rem;border-bottom:1px solid var(--border)}.section-head{max-width:1400px;margin:0 auto 2rem;display:flex;justify-content:space-between;align-items:baseline;gap:2rem;flex-wrap:wrap}.section-head h2{font-family:Inter Tight,sans-serif;font-size:clamp(1.7rem,2.5vw,2.3rem);font-weight:700;letter-spacing:-.025em;color:var(--ink)}.section-head h2 em{font-style:italic;color:var(--cyan);font-weight:500}.section-head h2 .num{font-family:JetBrains Mono,monospace;font-size:.9rem;color:var(--cyan);font-weight:500;letter-spacing:.06em;margin-right:.8rem}.section-head .meta{font-family:JetBrains Mono,monospace;font-size:.85rem;color:var(--ink-3);letter-spacing:.06em;display:flex;gap:1.5rem;flex-wrap:wrap}.zones{max-width:1400px;margin:0 auto}.zone{margin-bottom:2.5rem;padding-top:1.25rem;border-top:1px solid var(--border)}.zone-head{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.1rem;font-family:JetBrains Mono,monospace;font-size:.85rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-3);flex-wrap:wrap}.zone-head .dot{width:11px;height:11px;border-radius:50%}.zone-head .name{color:var(--ink);font-weight:700;letter-spacing:.14em;font-size:.9rem}.zone-head .desc{color:var(--ink-3);letter-spacing:.04em;text-transform:none;font-size:.88rem;font-weight:400}.zone-head .count{color:var(--ink-4);margin-left:auto;font-size:.76rem;letter-spacing:.06em}.zone[data-zone=coord] .zone-head .dot{background:var(--blue)}.zone[data-zone=harness] .zone-head .dot{background:var(--amber)}.zone[data-zone=service] .zone-head .dot{background:var(--purple)}.zone[data-zone=app] .zone-head .dot{background:var(--rose)}.zone[data-zone=exp] .zone-head .dot{background:var(--green)}.zone-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border:1px solid var(--border)}.proj-card{background:var(--panel);display:flex;flex-direction:column;gap:0;cursor:pointer;transition:background .16s;position:relative;border:none;text-align:left;font:inherit;color:inherit;padding:0}.proj-card:hover{background:var(--panel-3)}.proj-card:hover .pc-title{color:var(--cyan)}.pc-visual{aspect-ratio:16 / 9;background:var(--bg-2);border-bottom:1px solid var(--border);position:relative;overflow:hidden;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:24px 24px;background-position:-.5px -.5px}.pc-visual:before{content:"";position:absolute;inset:12% 8%;background:var(--panel);border:1px solid var(--border-strong);box-shadow:0 10px 30px #0006}.pc-visual:after{content:attr(data-name);position:absolute;top:18%;left:13%;right:13%;padding:.35rem .6rem;font-family:JetBrains Mono,monospace;font-size:.74rem;color:var(--ink-2);letter-spacing:.08em;background:var(--panel-2);border-bottom:1px solid var(--border)}.pc-visual .sparkle{position:absolute;inset:32% 14% 14%;height:52%;padding:.7rem;color:var(--ink-3);font-family:JetBrains Mono,monospace;font-size:.64rem;letter-spacing:.06em;display:flex;flex-direction:column;justify-content:flex-end;gap:.3rem}.pc-visual .sparkle .bar{height:6px;background:var(--border-strong);width:var(--w, 60%)}.pc-visual .sparkle .bar.cy{background:var(--cyan);opacity:.7}.proj-card[data-zone=coord] .pc-visual .sparkle .bar.cy{background:var(--blue)}.proj-card[data-zone=harness] .pc-visual .sparkle .bar.cy{background:var(--amber)}.proj-card[data-zone=service] .pc-visual .sparkle .bar.cy{background:var(--purple)}.proj-card[data-zone=app] .pc-visual .sparkle .bar.cy{background:var(--rose)}.proj-card[data-zone=exp] .pc-visual .sparkle .bar.cy{background:var(--green)}.pc-visual.has-shot{background-image:none;background:var(--bg-2)}.pc-visual.has-shot:before,.pc-visual.has-shot:after{display:none}.pc-visual.has-shot .sparkle{display:none}.pc-visual .pc-shot{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;transition:transform .24s ease}.proj-card:hover .pc-visual .pc-shot{transform:scale(1.02)}.pc-body{padding:1.2rem 1.3rem 1.35rem;display:flex;flex-direction:column;gap:.55rem}.pc-meta{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;flex-wrap:wrap;font-family:JetBrains Mono,monospace;font-size:.76rem;letter-spacing:.08em}.pc-meta .ref{color:var(--ink-3);font-weight:600}.proj-card[data-zone=coord] .pc-meta .ref{color:var(--blue)}.proj-card[data-zone=harness] .pc-meta .ref{color:var(--amber)}.proj-card[data-zone=service] .pc-meta .ref{color:var(--purple)}.proj-card[data-zone=app] .pc-meta .ref{color:var(--rose)}.proj-card[data-zone=exp] .pc-meta .ref{color:var(--green)}.pc-meta .status{padding:.18rem .5rem;border:1px solid var(--border-strong);color:var(--ink-3);font-size:.66rem;text-transform:uppercase;letter-spacing:.16em;font-weight:600}.pc-meta .status.rel{color:var(--cyan);border-color:#4fd4c459}.pc-meta .status.wip{color:var(--amber);border-color:#f0b12e59}.pc-meta .status.int{color:var(--ink-3)}.pc-title{font-family:Inter Tight,sans-serif;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;color:var(--ink);line-height:1.1}.pc-desc{font-size:.98rem;line-height:1.55;color:var(--ink-2)}.pc-foot{padding-top:.75rem;border-top:1px dashed var(--border-strong);margin-top:.3rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-family:JetBrains Mono,monospace;font-size:.82rem;color:var(--ink-3);flex-wrap:wrap}.pc-foot .stack{letter-spacing:.04em}.pc-foot .more{color:var(--ink-2);font-weight:600}.pc-foot .more:after{content:" →";transition:transform .16s;display:inline-block}.proj-card:hover .pc-foot .more{color:var(--cyan)}.proj-card:hover .pc-foot .more:after{transform:translate(3px)}.contact-section{padding:3rem 2rem;border-bottom:1px solid var(--border)}.contact-inner{max-width:1400px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:3rem;align-items:start}.contact-inner .prose{max-width:60ch}.contact-inner .prose h2{font-family:Inter Tight,sans-serif;font-size:1.8rem;font-weight:700;letter-spacing:-.025em;margin-bottom:1rem}.contact-inner .prose h2 em{font-style:italic;color:var(--cyan);font-weight:500}.contact-inner .prose p{font-size:1.05rem;line-height:1.65;color:var(--ink-2);margin-bottom:.85rem}.contact-inner .prose p strong{color:var(--ink);font-weight:600}.contact-inner .prose p em{color:var(--cyan);font-style:italic}.contact-list{display:grid;gap:1px;background:var(--border);border:1px solid var(--border)}.contact-list a{display:grid;grid-template-columns:5.5rem 1fr auto;gap:1rem;padding:1.05rem 1.2rem;background:var(--panel);font-family:JetBrains Mono,monospace;font-size:.95rem;color:var(--ink);align-items:center}.contact-list a:hover{background:var(--panel-2);color:var(--cyan)}.contact-list a .k{color:var(--ink-3);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600}.contact-list a .v{word-break:break-all;font-weight:500}.contact-list a .ar{color:var(--ink-4)}.contact-list a:hover .ar{color:var(--cyan)}.foot{padding:1rem 1.75rem;font-family:JetBrains Mono,monospace;font-size:.8rem;color:var(--ink-3);letter-spacing:.08em;text-transform:uppercase;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.75rem}.foot .cy{color:var(--cyan)}.modal-backdrop{position:fixed;inset:0;background:#05080cd9;backdrop-filter:blur(6px);z-index:100;display:none;align-items:center;justify-content:center;padding:1.5rem}.modal-backdrop.open{display:flex}.modal{background:var(--panel);border:1px solid var(--border-strong);max-width:900px;width:100%;max-height:90vh;overflow-y:auto;display:grid;grid-template-columns:1.2fr 1fr}.modal-screenshots{background:var(--bg-2);border-right:1px solid var(--border);padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.modal-screenshots .shot{background:var(--panel-2);border:1px solid var(--border);aspect-ratio:16 / 10;position:relative;overflow:hidden;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:20px 20px;background-position:-.5px -.5px}.modal-screenshots .shot .fake-win{position:absolute;inset:10% 10% 14%;background:var(--panel);border:1px solid var(--border-strong);box-shadow:0 12px 30px #00000080}.modal-screenshots .shot .fake-win:before{content:"";position:absolute;top:0;left:0;right:0;height:24px;background:var(--panel-3);border-bottom:1px solid var(--border-strong)}.modal-screenshots .shot .fake-win .row{position:absolute;left:12%;right:12%;height:8px;background:var(--border-strong)}.modal-screenshots .shot .fake-win .row.r1{top:35%;width:72%}.modal-screenshots .shot .fake-win .row.r2{top:48%;width:54%;background:var(--cyan);opacity:.5}.modal-screenshots .shot .fake-win .row.r3{top:61%;width:68%}.modal-screenshots .shot .fake-win .row.r4{top:74%;width:42%}.modal-screenshots .shot .shot-label{position:absolute;top:.75rem;left:.9rem;font-family:JetBrains Mono,monospace;font-size:.72rem;color:var(--ink-3);letter-spacing:.14em;text-transform:uppercase;padding:.2rem .55rem;background:#0b0f14b3;border:1px solid var(--border);backdrop-filter:blur(4px)}.modal-screenshots .shot.mobile{aspect-ratio:9 / 16;max-height:280px;margin:0 auto}.modal-body{padding:1.75rem 1.9rem;display:flex;flex-direction:column;gap:1rem;position:relative}.modal-close{position:absolute;top:.9rem;right:.9rem;background:transparent;border:1px solid var(--border);color:var(--ink-2);font-family:JetBrains Mono,monospace;font-size:.82rem;padding:.3rem .7rem;cursor:pointer;transition:all .14s}.modal-close:hover{border-color:var(--cyan);color:var(--cyan)}.modal-body .m-ref{font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--cyan);letter-spacing:.16em;font-weight:600}.modal-body h3{font-family:Inter Tight,sans-serif;font-size:2rem;font-weight:700;letter-spacing:-.03em;line-height:1;color:var(--ink)}.modal-body .m-status{display:inline-block;padding:.3rem .7rem;font-family:JetBrains Mono,monospace;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:700;border:1px solid var(--border-strong);color:var(--ink-3);align-self:flex-start}.modal-body .m-status.rel{color:var(--cyan);border-color:var(--cyan)}.modal-body .m-status.wip{color:var(--amber);border-color:var(--amber)}.modal-body .m-desc{font-size:1rem;line-height:1.6;color:var(--ink-2)}.modal-body .m-desc strong{color:var(--ink);font-weight:600}.modal-body .m-meta{padding-top:1rem;margin-top:auto;border-top:1px solid var(--border);display:grid;gap:.55rem;font-family:JetBrains Mono,monospace;font-size:.85rem}.modal-body .m-meta .row{display:grid;grid-template-columns:5rem 1fr;gap:.6rem}.modal-body .m-meta .row .k{color:var(--ink-3);font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}.modal-body .m-meta .row .v{color:var(--ink)}.modal-body .m-meta .row .v a{color:var(--cyan)}.modal-body .m-meta .row .v a:hover{text-decoration:underline}.modal-body .m-meta .row .v.soon{color:var(--ink-3);font-style:italic}@media(max-width:1200px){.zone-grid{grid-template-columns:repeat(2,1fr)}}.mobile-scroll-cta,.sub .mobile-only,.canvas-chips{display:none}@media(max-width:960px){.hero{grid-template-columns:1fr;min-height:auto}.canvas-wrap{min-height:auto;border-right:none;border-bottom:1px solid var(--border);padding:1.5rem 1.1rem 1.75rem}.canvas-intro{position:static;max-width:100%}.canvas-intro h1{font-size:1.6rem}.canvas-intro .sub{font-size:.95rem}.canvas,.canvas-hint,.canvas-legend,.sub .desk-only{display:none}.sub .mobile-only{display:inline}.mobile-scroll-cta{display:inline-flex;margin-top:1.4rem;font-family:JetBrains Mono,monospace;font-size:.78rem;color:var(--cyan);letter-spacing:.16em;text-transform:uppercase;gap:.5rem;align-items:center}.canvas-chips{display:flex;flex-direction:column;gap:1.1rem;margin-top:1.4rem}.canvas-chips .zone-chunk{display:flex;flex-direction:column;gap:.55rem}.canvas-chips .zone-head{font-family:JetBrains Mono,monospace;font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-3);display:flex;align-items:center;gap:.55rem}.canvas-chips .zone-head:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--edge);flex-shrink:0}.canvas-chips .zone-head[data-zone=coord]:before{background:var(--blue)}.canvas-chips .zone-head[data-zone=harness]:before{background:var(--amber)}.canvas-chips .zone-head[data-zone=service]:before{background:var(--purple)}.canvas-chips .zone-head[data-zone=app]:before{background:var(--rose)}.canvas-chips .zone-head[data-zone=exp]:before{background:var(--green)}.canvas-chips .zone-head .count{color:var(--ink-4);font-weight:400}.canvas-chips .chips{display:flex;flex-wrap:wrap;gap:.4rem}.canvas-chips .chip{display:inline-flex;align-items:center;gap:.45rem;padding:.42rem .65rem;background:var(--panel);border:1px solid var(--border);color:var(--ink);text-decoration:none;font-family:Inter Tight,sans-serif;font-size:.92rem;line-height:1.1;cursor:pointer;text-align:left;transition:background .12s,border-color .12s,transform .12s}.canvas-chips .chip:active{transform:scale(.97)}.canvas-chips .chip:hover,.canvas-chips .chip:focus-visible{border-color:#ffffff47;outline:none}.canvas-chips .chip .dot{width:7px;height:7px;border-radius:50%;background:var(--edge);flex-shrink:0}.canvas-chips .chip[data-zone=coord] .dot{background:var(--blue)}.canvas-chips .chip[data-zone=harness] .dot{background:var(--amber)}.canvas-chips .chip[data-zone=service] .dot{background:var(--purple)}.canvas-chips .chip[data-zone=app] .dot{background:var(--rose)}.canvas-chips .chip[data-zone=exp] .dot{background:var(--green)}.side{padding:1.5rem 1.1rem;border-top:1px solid var(--border)}.contact-inner{grid-template-columns:1fr;gap:1.75rem}.modal{grid-template-columns:1fr;max-height:95vh}.modal-screenshots{border-right:none;border-bottom:1px solid var(--border)}.bar nav{display:none}}@media(max-width:640px){html{font-size:15px}.zone-grid{grid-template-columns:1fr}.canvas-legend{display:none}.detail-section,.contact-section{padding:2.25rem 1.1rem}.about-band{padding:1.75rem 1.1rem}.bar{padding:.85rem 1.1rem;grid-template-columns:1fr auto;gap:.75rem;font-size:.74rem}.bar .brand{font-size:.85rem}.modal-screenshots{padding:1rem}.modal-body{padding:1.25rem 1.3rem}.modal-body h3{font-size:1.6rem}}
