/* Turbonice uses the current portfolio's case shell and editorial rhythm. */
.project-case--turbonice{--cover-backdrop:#343330;--case-pink:#baa38e;--case-pink-dark:#302923}
.tn-object{position:relative;isolation:isolate;overflow:hidden}
.tn-object canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab}
.tn-object.is-ready>img{opacity:0}.tn-object [data-art-status]{position:absolute;bottom:16px;left:24px;font:10px var(--font-mono)}
.tn-object .branchline-art__tools{z-index:2}.tn-object .branchline-art__hint{font:11px var(--font-sans)}
.tn-live .exact-capture{border:0;border-radius:0;background:#e9eae7;box-shadow:none}
.tn-live iframe{border:0;background:#e9eae7}
.objects-gallery[data-active=turbonice] .objects-gallery__glow--turbonice{opacity:.5}
.more-case--turbonice{--related-light:145 122 103}
@media(min-width:701px){.home-objects .object-work__copy{min-height:118px}}

/* Muted cocoa separates the warm shell from the silver-mint holographic layer. */
.project-case--turbonice .branchline-art__tools{color:#f2e9dc}
.project-case--turbonice .branchline-art__tools button{background:#fff2dc20;border-color:#f2e9dc45}
.project-case--turbonice .branchline-art__tools button:hover{background:#fff2dc55;border-color:#f2e9dc80}
.project-case--turbonice .branchline-art__tools button:focus-visible{outline-color:#f2e9dc}

.project-case--turbonice .branchline-art__hint{display:none}
.project-case--turbonice .branchline-art__tools{justify-content:flex-end}
@media(hover:hover) and (pointer:fine){.tn-object canvas{cursor:default}}

.project-case--turbonice .tn-outcome h2{font-family:var(--font-sans);font-weight:500;max-width:18ch}
.project-case--turbonice .tn-outcome .case-story__prose{margin-top:var(--case-content-gap)}

.tn-system{border:0;padding:0}.tn-map{border-radius:14px;background:#151515;box-shadow:0 0 0 1px #ffffff14;color:#dfdfdf;overflow:hidden;font:400 13px/1.35 var(--font-sans)}
.tn-map svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
.tn-map-header{height:62px;border-bottom:1px solid #ffffff12;padding:0 22px;display:flex;align-items:center;justify-content:space-between}.tn-map-header>div{display:flex;align-items:center;gap:10px}.tn-map-mark{display:grid;place-items:center;width:28px;height:28px;background:#242424;border-radius:6px}.tn-map-subtitle{color:#858585;margin-left:8px}.tn-map strong{font-weight:500}.tn-map button{font:inherit;color:inherit;border:0;cursor:pointer;background:transparent;transition:background 150ms cubic-bezier(.2,0,0,1),box-shadow 150ms cubic-bezier(.2,0,0,1),transform 150ms cubic-bezier(.2,0,0,1)}.tn-map-header button{display:flex;align-items:center;gap:7px;min-height:36px;padding:0 12px;border-radius:8px;background:#252525;box-shadow:0 0 0 1px #ffffff13}.tn-map button:active{transform:scale(.96)}.tn-map button:focus-visible,.tn-screen-tabs button:focus-visible{outline:2px solid #c5b19c;outline-offset:-3px}.tn-map-scroll{overflow:auto;overscroll-behavior-x:contain}.tn-map-scroll:focus-visible{outline:2px solid #bfa88f;outline-offset:-3px}.tn-map-canvas{position:relative;width:100%;min-width:1170px;height:615px;background-image:radial-gradient(#ffffff0e .7px,transparent .7px);background-size:14px 14px}.tn-map .tn-map-wires{position:absolute;inset:0;width:1170px;height:615px;stroke:#777;stroke-width:1;pointer-events:none}.tn-wire-support{stroke:#bbaa93;stroke-dasharray:3 4}.tn-wire-agent{stroke:#666;stroke-dasharray:3 5}.tn-col-label{position:absolute;top:157px;font:10px var(--font-mono);letter-spacing:.05em;color:#858585}.tn-node{position:absolute;display:flex;align-items:center;gap:10px;background:#1c1c1c;box-shadow:0 0 0 1px #ffffff14;border-radius:8px;padding:14px;color:#c1c1c1;transition:opacity 150ms,box-shadow 150ms,background 150ms}.tn-node small{display:block;font-size:11px;color:#929292;margin-top:4px}.tn-node svg{color:#bca88f}.tn-source{left:26px;width:168px;height:68px}.tn-source i{margin-left:auto;width:4px;height:4px;border-radius:50%;background:#839988}.tn-agent{left:238px;top:207px;width:160px;height:200px;display:block;padding:16px}.tn-agent>strong{display:block;margin-top:10px}.tn-agent>svg{width:24px;height:24px}.tn-agent dl{border-top:1px solid #ffffff12;margin-top:12px;padding-top:10px}.tn-agent dl div{display:flex;justify-content:space-between;font-size:10px;color:#9c9c9c;margin:5px 0}.tn-agent dd{color:#94aa98;margin:0}.tn-support{height:72px}.tn-support--design{left:442px;top:64px;width:224px}.tn-support--ai{left:572px;top:499px;width:224px}.tn-templates{position:absolute;left:442px;top:180px;width:320px;border-radius:10px;overflow:hidden;background:#1c1c1c;box-shadow:0 0 0 1px #ffffff18}.tn-template-head{display:grid;grid-template-columns:92px 1fr 1fr;gap:8px;padding:11px 12px;background:#202020;font-size:10px;color:#909090;height:36px}.tn-map .tn-template-row{display:grid;grid-template-columns:84px 1fr 1fr;gap:8px;width:100%;height:78px;text-align:left;border-top:1px solid #ffffff10;padding:12px}.tn-template-row>span{min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:7px}.tn-template-row strong{font-size:11px}.tn-template-row small{color:#969696;font-size:10px;line-height:1.35}.tn-template-row svg{width:17px;height:17px;color:#c0ad98}.tn-map .tn-template-row[aria-pressed=true]{background:#302a24;box-shadow:inset 3px 0 #bca58c}.tn-output{left:812px;width:120px;height:62px}.tn-delivery{left:981px;width:162px;height:62px}.tn-github{left:984px;top:533px;width:160px;height:65px}.tn-github small{font-size:10px}.tn-agent-delivery-note{position:absolute;left:338px;top:575px;font:10px var(--font-mono);background:#151515;color:#818181;padding:4px 10px}.tn-map-footer{min-height:60px;padding:15px 22px;display:flex;align-items:center;gap:10px;border-top:1px solid #ffffff12}.tn-map-footer p{color:#a1a1a1;font-size:12px;max-width:850px}.tn-map-dot{width:6px;height:6px;border-radius:50%;background:#a58d76;flex-shrink:0}.tn-map-footer button{margin-left:auto;color:#d1bda5;padding:10px;white-space:nowrap}.tn-map-caption{font:12px/1.5 var(--font-sans);color:var(--ink-2);max-width:72ch;margin-top:20px}.tn-node.is-muted,.tn-template-row.is-muted{opacity:.35}.tn-node.is-flow,.tn-templates.is-flow{background:#302a24;box-shadow:0 0 0 1px #bba58d80}.tn-map.is-playing .tn-map-wires path{stroke-dasharray:5 7;animation:tn-flow 2s linear infinite}@keyframes tn-flow{to{stroke-dashoffset:-48}}
.tn-screen-tabs{display:flex;gap:4px;align-items:center;padding:8px 12px;border-bottom:1px solid #ffffff12;background:#151515}.tn-screen-tabs button{font:12px var(--font-sans);padding:9px 12px;min-height:36px;color:#929292;border:0;border-radius:6px;background:transparent;cursor:pointer}.tn-screen-tabs button[aria-selected=true]{background:#2a2a2a;color:#eee;box-shadow:0 0 0 1px #ffffff12}.tn-screen-tabs .tn-tour{margin-left:auto;color:#c1af99}.tn-screen-note{display:none}
@media(hover:hover) and (pointer:fine){.tn-map button:hover{background:#2c2926}.tn-screen-tabs button:hover{color:#eee;background:#232323}}
@media(max-width:767px){.tn-map-subtitle{display:none}.tn-map-header{padding:0 14px}.tn-map-footer{padding:14px}.tn-map-canvas{min-width:1170px}.tn-screen-tabs{flex-wrap:wrap;padding:6px}.tn-screen-tabs button{padding:8px;font-size:11px}.tn-screen-tabs .tn-tour{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.tn-map button,.tn-node{transition:none}.tn-map.is-playing .tn-map-wires path{animation:none}.tn-map button:active{transform:none}}
.tn-walkthrough{color:#8e8e8e;font:11px var(--font-sans);padding-left:16px}.tn-walkthrough[hidden]{display:none}.tn-map strong,.tn-map p,.tn-map small{font-family:var(--font-sans)}

@media(max-width:767px){.tn-map-scroll::before{content:"Swipe to explore the system →";display:block;padding:14px 24px 0;font:11px var(--font-sans);color:#aaa}.tn-map-canvas{height:615px}}
/* Leather-brown cover and a quiet, aligned production map. */
.tn-map-canvas{height:660px;min-width:1170px}.tn-map .tn-map-wires{height:660px;stroke:#4a4642;stroke-linecap:round;stroke-linejoin:round}.tn-map-wires>path[data-wire]{marker-end:url(#tn-arrow);transition:stroke 150ms,opacity 150ms}.tn-map .tn-map-wires>path.is-flow{stroke:#ceb79e;stroke-width:1.5;stroke-dasharray:4 8;animation:tn-flow 2s linear infinite}.tn-col-label{top:170px}.tn-source{width:164px}.tn-agent{left:250px;top:235px;width:160px;height:220px}.tn-templates{left:464px;top:212px;width:320px;display:grid;gap:18px;overflow:visible;background:none;box-shadow:none;border-radius:0}.tn-map .tn-template-row{height:86px;display:flex;flex-direction:column;gap:9px;padding:12px 14px;border:0;border-radius:8px;background:#1c1c1c;box-shadow:0 0 0 1px #ffffff18}.tn-map .tn-template-row .tn-template-name{display:flex;flex-direction:row;gap:7px;align-items:center}.tn-template-pair{display:grid!important;grid-template-columns:1fr 14px 1fr;gap:12px!important;width:100%;font-size:10px;color:#b6b2ae}.tn-template-pair>span{display:flex;flex-direction:column;gap:3px}.tn-template-pair small{font-size:9px;color:#77736f}.tn-template-pair b{font-weight:400;color:#645a50}.tn-map .tn-template-row.is-flow{background:#302922;box-shadow:0 0 0 1px #bca58c80}.tn-output{left:830px;width:102px;padding:12px;gap:8px}.tn-delivery{left:985px;width:160px}.tn-support{top:554px;height:70px;padding:12px;gap:8px}.tn-support--design{left:464px;width:156px}.tn-support--ai{left:636px;width:180px}.tn-support strong{font-size:11px}.tn-support small{font-size:9px}.tn-support svg{width:16px}.tn-map-header [data-flow-toggle]{font-size:11px;background:none;box-shadow:none;color:#aaa;min-width:58px}.tn-map-header [data-flow-toggle]::before{content:'Ⅱ';font-size:11px;color:#baa38e}.tn-map-header [data-flow-toggle][aria-pressed=true]::before{content:'▷'}
/* Browser tabs follow the compact strip used by the other case studies. */
.tn-screen-tabs{padding:5px 10px;gap:3px;min-height:34px;flex-wrap:nowrap}.tn-screen-tabs button{font:11px/1.2 var(--font-sans);min-height:24px;padding:5px 9px;border-radius:4px;white-space:nowrap}.tn-screen-tabs button[aria-selected=true]{background:#282522;box-shadow:none}.tn-screen-tabs .tn-demo-toggle{margin-left:auto;color:#c2ae98}.tn-walkthrough{display:none!important}.tn-live .exact-window{position:relative}.tn-demo-caption{color:#85817c;font:10px/1.3 var(--font-sans);padding:6px 12px;background:#151515;border-top:1px solid #ffffff0b;display:flex;align-items:center;gap:7px;min-height:27px}.tn-demo-caption i{width:4px;height:4px;border-radius:50%;background:#bba38c}.tn-demo-caption span:last-child{margin-left:auto;color:#696560}
@media(max-width:767px){.tn-map-canvas{height:660px}.tn-screen-tabs{padding:4px 6px}.tn-screen-tabs button{font-size:10px;padding:5px 7px}.tn-demo-caption{font-size:9px}.tn-demo-caption span:last-child{display:none}}
@media(prefers-reduced-motion:reduce){.tn-map .tn-map-wires>path.is-flow{animation:none}.tn-map-wires>path{transition:none}}

/* One template system: shared boundary, aligned ports, explicit support inputs. */
.tn-map-canvas{width:1100px;min-width:1100px;height:552px;margin:0 auto}.tn-map .tn-map-wires{width:1100px;height:552px}.tn-col-label{top:72px}.tn-source{left:24px;width:150px}.tn-agent{left:218px;top:108px;width:160px;height:294px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.tn-agent dl{width:100%}.tn-templates{left:422px;top:108px;width:320px;display:block;border-radius:9px;overflow:hidden;background:#1c1c1c;box-shadow:0 0 0 1px #ffffff20}.tn-map .tn-template-row{height:98px;border-radius:0;box-shadow:none;padding:16px;gap:12px;background:transparent}.tn-map .tn-template-row+.tn-template-row{border-top:1px solid #ffffff12}.tn-map .tn-template-row .tn-template-name{justify-content:flex-start}.tn-template-row strong{font-size:12px;white-space:nowrap}.tn-template-pair{grid-template-columns:1fr 14px 1fr;gap:8px!important;font-size:10px}.tn-template-pair>span{white-space:nowrap}.tn-map .tn-template-row.is-flow,.tn-map .tn-template-row[aria-pressed=true]{background:#2b2621;box-shadow:inset 2px 0 #bca58c}.tn-output{left:782px;width:112px;gap:7px}.tn-output strong{font-size:11px;white-space:nowrap}.tn-output svg{width:17px;height:17px}.tn-delivery{left:938px;width:138px;padding:12px;gap:8px}.tn-delivery strong{font-size:12px;white-space:nowrap}.tn-delivery small{font-size:10px;white-space:nowrap}.tn-delivery svg{width:18px}.tn-support{top:456px;height:62px;width:154px;padding:12px;gap:7px}.tn-support--design{left:428px}.tn-support--ai{left:594px}.tn-support strong{font-size:10px;white-space:nowrap}.tn-support small{font-size:8px;white-space:nowrap}.tn-map-footer p{font-size:11px}.tn-map .tn-wire-support{stroke:#9f8e7b;stroke-width:1.2;stroke-dasharray:3 4;marker-end:url(#tn-arrow)}
@media(max-width:767px){.tn-map-canvas{height:552px;min-width:1100px;margin:0}}

.tn-demo-controls{display:flex;justify-content:flex-end;position:absolute;right:10px;top:42px;height:30px;align-items:center;z-index:2}.tn-demo-controls button{border:0;background:transparent;color:#b9a48e;font:10px var(--font-sans);padding:5px 8px;cursor:pointer}.tn-demo-controls button:focus-visible{outline:2px solid #b9a48e}.tn-screen-tabs{padding-right:100px}.tn-live .exact-window__bar{height:40px}@media(max-width:767px){.tn-demo-controls{top:42px;right:3px}.tn-demo-controls button{font-size:9px}}

/* Match the Hypershadow browser switcher. */
.tn-live .tn-screen-tabs {
  gap: 4px;
  padding: 8px 100px 8px 12px;
  min-height: 40px;
  border-bottom: 1px solid rgb(255 255 255 / 9%);
  background: #0b0c0f;
}
.tn-live .tn-screen-tabs button[role="tab"] {
  padding: 6px 10px;
  min-height: 0;
  border: 1px solid rgb(255 255 255 / 10%);
  border-radius: 999px;
  color: #8a8c94;
  background: transparent;
  box-shadow: none;
  font: 500 9px/1 var(--font-mono);
  letter-spacing: .06em;
  text-transform: uppercase;
  transition: color 150ms cubic-bezier(.2,0,0,1), border-color 150ms cubic-bezier(.2,0,0,1), background 150ms cubic-bezier(.2,0,0,1);
}
.tn-live .tn-screen-tabs button[role="tab"]:hover {
  color: #d6d7dc;
  border-color: rgb(255 255 255 / 22%);
}
.tn-live .tn-screen-tabs button[aria-selected="true"],
.tn-live .tn-screen-tabs button[aria-selected="true"]:hover {
  color: #0b0c0f;
  background: #e6e7ea;
  border-color: #e6e7ea;
}
.tn-live .exact-window__bar { background: #0b0c0f; }
.tn-demo-controls { top: 40px; height: 40px; }
@media(prefers-reduced-motion:reduce) {
  .tn-live .tn-screen-tabs button[role="tab"] { transition: none; }
}

/* Five native product demonstrations. */
.tn-showcase-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 18px;border-top:1px solid #ffffff14;color:#999;font:11px/1.5 var(--font-sans)}.tn-showcase-footer button{border:0;background:none;color:#d1bda5;white-space:nowrap;cursor:pointer;font:inherit;padding:8px;min-height:36px}.tn-showcase-footer button:focus-visible{outline:2px solid #baa38e;outline-offset:2px;border-radius:5px}
