/* React islands extend the original REBOOT identity and page rhythm. */
button { color:inherit; }
button:disabled { cursor:default; opacity:.45; }
[hidden] { display:none!important; }
.site-controls { display:flex;justify-content:flex-end;padding-top:14px; }
.motion-control { border:0;background:transparent;padding:8px 0;font-size:.72rem;color:var(--muted);cursor:pointer;min-height:36px; }
.motion-mark { color:var(--accent);margin-right:9px; }
.hero { grid-template-columns:.9fr 1.1fr;gap:45px;padding-top:35px; }
.hero-hardware { min-width:0; }
.hardware-view { margin:0;min-width:0; }
.hardware-topline { display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:14px;font: .62rem/1.5 monospace;letter-spacing:.08em;color:var(--muted); }
.hardware-topline>span:last-child { color:var(--accent); }
/* Rotating orbits stay inside the 3D surface, without creating a scroll container. */
.hardware-surface { position:relative;height:430px;isolation:isolate;touch-action:pan-y;overflow:clip; }
.hardware-poster,.hardware-canvas { position:absolute;inset:0;width:100%;height:100%;object-fit:contain; }
.hardware-poster { opacity:1;transition:opacity .25s; }
.hardware-poster.is-replaced { opacity:0; }
.hardware-canvas { pointer-events:none; }
.hardware-view figcaption { display:flex;flex-direction:column;gap:5px;border-bottom:1px solid var(--line);padding:0 0 16px; }
.hardware-caption { font-size:1.04rem;letter-spacing:-.02em; }
.hardware-part { font: .68rem/1.5 monospace;color:var(--muted); }
.text-button { border:0;border-bottom:1px solid var(--accent);background:transparent;font-size:.72rem;padding:7px 0;cursor:pointer; }
.hero-hardware-note { display:none; }
.service-experience { display:grid;grid-template-columns:1.08fr 1fr;gap:80px;position:relative;align-items:start; }
.service-stage { position:sticky;top:30px;min-width:0; }
.hardware-service .hardware-surface { height:min(430px,52vh); }
.scene-chapters { display:flex;justify-content:space-between;gap:10px;padding-top:18px;border-top:1px solid var(--line); }
.scene-chapters a { display:flex;flex-direction:column;font-size:.68rem;gap:5px;padding-block:5px; }
.scene-chapters a>span { color:var(--muted);font-family:monospace; }
.scene-chapters a[aria-current] { color:var(--accent); }
.scene-chapters a:hover { text-decoration:underline;text-underline-offset:4px; }
.service-story { padding:24px 0 65px;scroll-margin-top:55px; }
.service-story+.service-story { border-top:1px solid var(--line);padding-top:65px; }
.story-number { margin:0 0 22px;font:.7rem/1.5 monospace;letter-spacing:.08em;color:var(--accent); }
.service-story h3 { font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.08;letter-spacing:-.045em;font-weight:600;margin-bottom:25px; }
.service-story h3>span { color:var(--accent); }
.service-story>p:not(.story-number) { color:var(--muted);font-size:.94rem;max-width:420px; }
.diagnostic-path { border-left:2px solid var(--accent);margin-block:28px;padding-left:20px;display:flex;flex-direction:column;align-items:flex-start;gap:5px;font-size:.83rem; }
.diagnostic-path i { font-style:normal;transform:rotate(90deg);color:var(--accent); }
.diagnostic-path>strong { font-weight:500; }
.part-selector { display:flex;flex-wrap:wrap;gap:7px;margin:24px 0; }
.part-button { border:1px solid #50544d;background:transparent;font-size:.75rem;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;padding:8px 11px;cursor:pointer; }
.part-button>span { color:var(--accent);font-size:1rem; }
.part-button[aria-pressed=true] { border-color:var(--accent);background:#282c25; }
.service-price { display:flex;align-items:baseline;gap:9px;margin-top:30px; }
.service-price>span,.service-price>small { color:var(--muted);font-size:.75rem; }
.service-price>strong { font-size:1.6rem;font-weight:500;letter-spacing:-.04em; }
.service-link { display:inline-flex;gap:30px;justify-content:space-between;align-items:center;font-size:.85rem;padding:12px 0;border-bottom:1px solid var(--accent);margin-top:6px; }
.service-link>span { color:var(--accent);font-size:1.35rem; }
.service-link:hover { color:var(--accent); }
.maintenance-selector { display:flex;margin-top:32px;border-block:1px solid var(--line); }
.maintenance-selector button { display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:16px;min-width:0;background:transparent;border:0;padding:18px 8px 18px 0;font-size:.82rem;cursor:pointer; }
.maintenance-selector button+button { padding-left:15px;border-left:1px solid var(--line); }
.maintenance-selector button>span:first-child { color:var(--muted);font:.65rem monospace; }
.maintenance-selector button>span:last-child { align-self:flex-end;color:var(--accent);font-size:1.2rem;padding-right:8px; }
.maintenance-selector button[aria-pressed=true] { color:var(--accent); }
.intervention-note { min-height:75px;font-size:.85rem!important;margin-top:20px; }
.upgrade-list { margin-top:30px; }
.upgrade-row { border-top:1px solid var(--line); }
.upgrade-row:last-child { border-bottom:1px solid var(--line); }
.upgrade-row button { display:grid;grid-template-columns:40px 1fr 16px;gap:13px;align-items:center;text-align:left;border:0;background:transparent;width:100%;padding:18px 0;font-size:.82rem;cursor:pointer; }
.upgrade-label { font: .8rem monospace;color:var(--accent); }
.upgrade-row p { font-size:.83rem;color:var(--muted);margin:0 0 20px;padding-left:53px; }
.upgrade-row.is-open button>span:last-child { color:var(--accent); }
.price-note { padding-top:20px;border-top:1px solid var(--line); }
.atelier-grid { gap:90px; }
.workshop-photo { margin:30px 0 0;max-width:450px; }
.workshop-photo img { width:100%;height:210px;object-fit:cover;object-position:center 54%; }
.workshop-photo figcaption { margin-top:8px;font-size:.68rem;color:#555b53; }
.journey-kicker { font:.7rem monospace;letter-spacing:.08em;margin:0 0 25px;color:#6a564b; }
.workshop-journey ol { list-style:none;margin:0;padding:0; }
.workshop-journey li { border-top:1px solid #cdcec6; }
.workshop-journey li:last-child { border-bottom:1px solid #cdcec6; }
.workshop-journey button { width:100%;border:0;background:transparent;display:grid;grid-template-columns:28px 1fr 18px;gap:20px;text-align:left;padding:27px 0;cursor:pointer; }
.journey-index { color:#995035;font:.85rem monospace;padding-top:4px; }
.workshop-journey strong { font-size:1.25rem;font-weight:600;letter-spacing:-.03em; }
.journey-description { display:block;font-size:.9rem;color:#555b53;margin-top:8px; }
.journey-plus { color:#a33e20;font-size:1.25rem; }
.journey-detail { margin:0 0 24px 48px;padding-left:14px;border-left:2px solid #a33e20;font-size:.8rem;color:#555b53; }
.journey-end { margin:26px 0 0;font-size:1rem;letter-spacing:-.02em; }
.enhanced-contact { border-top:1px solid var(--accent);padding-top:18px; }
.form-topline { display:flex;align-items:center;justify-content:space-between;gap:15px;font:.63rem monospace;letter-spacing:.04em;color:var(--muted);margin-bottom:14px; }
.form-topline span:last-child { color:var(--accent); }
.contact-form .form-error { color:#ffab8f;font-size:.8rem; }
.contact-receipt { border:1px solid var(--accent);padding:22px;margin-top:15px;overflow-wrap:anywhere; }
.receipt-kicker { font:.7rem monospace;color:var(--accent);margin-top:0; }
.contact-receipt dl { margin:20px 0; }
.contact-receipt dl>div { display:flex;gap:15px;border-bottom:1px solid var(--line);padding-block:8px;font-size:.8rem; }
.contact-receipt dt { color:var(--muted);min-width:60px; }
.contact-receipt dd { margin:0; }
.receipt-problem { white-space:pre-wrap;font-size:.9rem; }
.receipt-note { color:var(--muted);font-size:.73rem;margin-bottom:0; }
@media(min-width:1450px) { .hardware-hero .hardware-surface {height:490px;} }
@media(max-width:1000px) { .hero {gap:25px;} .service-experience {gap:40px;} .hardware-surface {height:365px;} .atelier-grid {gap:45px;} }
@media(max-width:720px) {
  .site-controls {padding-top:7px;} .motion-control {font-size:.66rem;}
  .hero {grid-template-columns:1fr;padding-top:20px;gap:35px;}
  .hardware-hero .hardware-surface {height:360px;}
  .hardware-caption {font-size:.94rem;}
  .service-experience {grid-template-columns:1fr;gap:20px;}
  .service-stage {top:0;background:var(--ink);z-index:2;padding-bottom:5px;}
  .hardware-service .hardware-surface {height:clamp(130px,25svh,200px);}
  .hardware-service .hardware-topline {padding-top:7px;font-size:.55rem;}
  .hardware-service figcaption {flex-direction:row;justify-content:space-between;gap:10px;padding-bottom:6px;}
  .hardware-service .hardware-caption {font-size:.72rem;max-width:65%;}
  .hardware-service .hardware-part {font-size:.58rem;text-align:right;}
  .scene-chapters {padding-top:4px;gap:8px;}
  .scene-chapters a {flex-direction:row;gap:6px;font-size:.62rem;}
  .service-story {scroll-margin-top:340px;padding:25px 0 45px;}
  .service-story+.service-story {padding-top:45px;}
  .service-story h3 {font-size:2.25rem;}
  .service-story>p:not(.story-number) {max-width:100%;}
  .workshop-photo {max-width:100%;} .workshop-photo img {height:230px;}
  .journey-description {font-size:.86rem;}
}
@media(max-height:620px) and (max-width:720px) { .service-stage {position:relative;} }
@media(prefers-reduced-motion:reduce) { html:not([data-reduced-motion=false]) .hardware-poster {transition:none;} }
html[data-reduced-motion=true] {scroll-behavior:auto;}
html[data-reduced-motion=true] *,html[data-reduced-motion=true] *::before,html[data-reduced-motion=true] *::after {transition:none!important;animation:none!important;}

/* React owns reveal, scroll and ambient motion; reduced motion disables decoration. */
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.reading-progress {position:fixed;inset:0 0 auto;height:3px;z-index:15;pointer-events:none;}
.reading-progress>span {display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;}
#hero-title>span,#hero-title>em {display:block;transform-origin:left bottom;}
.hardware-surface {user-select:none;-webkit-user-select:none;}
[data-scene-state=ready] .hardware-surface {cursor:grab;}
[data-scene-state=ready] .hardware-surface[data-dragging=true] {cursor:grabbing;}
.hardware-surface:focus-visible {outline:2px solid var(--accent);outline-offset:3px;}
.model-hover-label {position:absolute;left:12px;bottom:15px;padding:7px 12px;background:var(--paper);color:var(--ink);font-size:.7rem;pointer-events:none;opacity:0;transform:translateY(7px);transition:opacity .2s,transform .2s;z-index:2;}
.model-hover-label.is-visible {opacity:1;transform:translateY(0);}
.model-hover-label>span {padding-left:18px;color:#a33e20;}
.model-help {padding-top:12px;font-size:.65rem;color:var(--muted);margin:0 0 10px;max-width:100%;line-height:1.5;}
.scene-chapters {position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:0;}
.scene-chapters::before {content:"";position:absolute;top:-1px;left:0;width:33.333%;height:2px;background:var(--accent);transform:translateX(calc(var(--chapter-index,0)*100%));transition:transform .5s cubic-bezier(.18,.8,.24,1);}
.scene-chapters a {transition:color .25s,transform .25s;}
.scene-chapters a:hover {transform:translateY(-3px);}
.part-button {transition:background .25s,border-color .25s,transform .25s;}
.part-button:hover {transform:translateY(-3px);border-color:var(--accent);}
.part-button>span {display:inline-block;transition:transform .3s;}
.part-button:hover>span {transform:rotate(90deg);}
.service-link>span,.button>span {display:inline-block;transition:transform .3s cubic-bezier(.2,.8,.2,1);}
.service-link:hover>span,.button:hover>span {transform:translate(4px,-4px);}
.maintenance-selector button {position:relative;transition:color .25s,background .25s;}
.maintenance-selector button::after {content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.18,.8,.24,1);}
.maintenance-selector button[aria-pressed=true]::after {transform:scaleX(1);}
.maintenance-selector button:hover {background:#20241f;}
.maintenance-selector button>span:last-child {transition:transform .3s;}
.maintenance-selector button:hover>span:last-child {transform:translate(3px,-3px);}
.animated-expand {display:grid;grid-template-rows:0fr;visibility:hidden;transition:grid-template-rows .42s cubic-bezier(.18,.8,.24,1),visibility .42s;}
.animated-expand.is-open {grid-template-rows:1fr;visibility:visible;}
.animated-expand>div {min-height:0;overflow:hidden;}
.upgrade-description {font-size:.83rem;color:var(--muted);margin:0 0 20px;padding-left:53px;opacity:0;transform:translateY(-6px);transition:opacity .3s,transform .35s;}
.is-open>.animated-expand .upgrade-description {opacity:1;transform:translateY(0);}
.expand-sign {display:inline-block;transition:transform .35s cubic-bezier(.18,.8,.24,1);font-size:1.15rem;}
[aria-expanded=true] .expand-sign {transform:rotate(45deg);}
.upgrade-label {transition:transform .3s;}
.upgrade-row:hover .upgrade-label {transform:translateX(4px);}
.workshop-journey ol {position:relative;}
.workshop-journey ol::before {content:"";position:absolute;top:0;bottom:0;left:-17px;width:2px;background:#a33e20;transform:scaleY(var(--journey-progress,.333));transform-origin:top;transition:transform .6s cubic-bezier(.18,.8,.24,1);}
.workshop-journey li {transition:background .3s;}
.workshop-journey li.is-current {background:#eae9e1;}
.workshop-journey button {transition:padding .3s;}
.workshop-journey li.is-current button {padding-left:10px;padding-right:10px;}
.journey-index {transition:transform .3s,color .3s;}
.workshop-journey button:hover .journey-index {transform:translateY(-3px);color:#602510;}
.journey-detail {padding-bottom:2px;}
.form-progress {height:2px;background:var(--line);margin:-3px 0 8px;overflow:hidden;}
.form-progress>span {display:block;height:100%;background:var(--accent);transform-origin:left;transition:transform .45s cubic-bezier(.18,.8,.24,1);}
.contact-form select,.contact-form textarea {transition:border-color .25s,background .25s,box-shadow .25s;}
.contact-form select:focus,.contact-form textarea:focus {border-color:var(--accent);background:#292e26;box-shadow:inset 3px 0 0 var(--accent);}
.site-header nav>a {position:relative;}
.site-header nav>a::after {content:"";height:1px;position:absolute;inset:auto 0 -4px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s;}
.site-header nav>a:hover::after,.site-header nav>a:focus-visible::after {transform:scaleX(1);}
.brand-icon {transition:transform .65s cubic-bezier(.18,.8,.24,1);}
.brand:hover .brand-icon {transform:rotate(180deg);}
.workshop-photo {overflow:hidden;}
.workshop-photo img {transition:transform .7s cubic-bezier(.18,.8,.24,1);}
.workshop-photo:hover img {transform:scale(1.035);}
@media(max-width:720px) {
  .hardware-service .hardware-surface {height:clamp(150px,25svh,210px);}
  .hardware-service .model-help {font-size:.59rem;margin-bottom:5px;}
  .service-story {scroll-margin-top:380px;}
  .workshop-journey ol::before {left:-10px;}
}

.little-cross {display:inline-block;transform-origin:50% 50%;}
.hero-hardware {will-change:transform;}

/* A continuous electronic atmosphere, behind the original editorial layout. */
body {isolation:isolate;}
.atmosphere {pointer-events:none;overflow:hidden;}
.atmosphere canvas {display:block;width:100%;height:100%;}
.atmosphere-dark {position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 85% 18%,#30241c55,transparent 60%);}
.atelier {position:relative;isolation:isolate;overflow:hidden;}
#atelier-motion-react {position:absolute;inset:0;z-index:0;pointer-events:none;}
.atmosphere-light {position:absolute;inset:0;}
.atelier-grid {position:relative;z-index:1;}
.hero-copy {position:relative;}
.hero-copy::before {content:"";position:absolute;inset:-30px -15px;background:radial-gradient(ellipse,#17191899,transparent 73%);z-index:-1;pointer-events:none;}
.service-stories {position:relative;}
.model-orbits {position:absolute;inset:9% 3%;z-index:-1;pointer-events:none;perspective:650px;}
.model-orbits i {position:absolute;inset:5%;border:1px solid #ff784f66;border-radius:50%;transform:rotateX(65deg);animation:model-orbit 18s linear infinite;animation-play-state:paused;}
.model-orbits i::after {content:"";position:absolute;top:50%;left:-4px;width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 16px #ff784f;}
.model-orbits i:nth-child(2) {inset:0 12%;--tilt:48deg;border-style:dashed;border-color:#94a58c55;animation-duration:25s;animation-direction:reverse;}
.model-orbits i:nth-child(3) {inset:17% -6%;--tilt:74deg;animation-duration:13s;border-color:#ff784f33;}
.model-orbits b {position:absolute;inset:17%;border-radius:50%;background:radial-gradient(ellipse,#ff784f22,transparent 70%);animation:core-breathe 5s ease-in-out infinite alternate;animation-play-state:paused;}
.hardware-view[data-playing=true] .model-orbits>* {animation-play-state:running;}
.hardware-view:has(.hardware-surface[data-dragging=true]) .model-orbits>* {animation-play-state:paused;}
@keyframes model-orbit {from{transform:rotateX(var(--tilt,65deg)) rotateZ(0);}to{transform:rotateX(var(--tilt,65deg)) rotateZ(360deg);}}
@keyframes core-breathe {from{transform:scale(.75);opacity:.45;}to{transform:scale(1.25);opacity:1;}}

.promise-bar {overflow:hidden;background:#20251ccc;border-color:#6c5c4544;}
.promise-ribbon {overflow:hidden;padding-block:24px;}
.promise-track {display:flex;width:max-content;animation:promise-travel 32s linear infinite;animation-play-state:paused;}
.promise-group {display:flex;align-items:center;justify-content:space-around;flex:none;min-width:max(1100px,100vw);gap:55px;padding-inline:28px;}
.promise-group>span {white-space:nowrap;font-size:.76rem;letter-spacing:.09em;color:#d6d7ca;}
.promise-ribbon[data-playing=true] .promise-track {animation-play-state:running;}
.promise-ribbon:hover .promise-track {animation-play-state:paused;}
@keyframes promise-travel {to{transform:translateX(-50%);}}

.service-signal {margin-block:27px 20px;max-width:440px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);}
.service-signal svg {display:block;width:100%;height:auto;}
.signal-grid {stroke:#9bad8924;stroke-width:.7;}
.signal-base {stroke:#ff784f55;stroke-width:1.1;}
.signal-travel {stroke:var(--accent);stroke-width:2.6;stroke-linecap:round;stroke-dasharray:90 690;animation:signal-travel 3.8s linear infinite;filter:drop-shadow(0 0 4px #ff784f99);}
.signal-scan {stroke:#f1b19566;stroke-width:1;animation:signal-scan 3.8s linear infinite;}
.signal-fan {fill:#ff784f88;transform-box:fill-box;transform-origin:center;animation:fan-spin 3s linear infinite;animation-delay:var(--delay,0s);}
.signal-hub {fill:var(--accent);}
.signal-data {stroke:var(--accent);stroke-width:3;stroke-linecap:round;stroke-dasharray:22 125;animation:data-travel 2.2s linear infinite;animation-delay:var(--delay,0s);}
.signal-node {fill:#171918;stroke:#ff784faa;stroke-width:1;}
.service-signal svg * {animation-play-state:paused;}
.service-signal[data-playing=true] svg * {animation-play-state:running;}
@keyframes signal-travel {from{stroke-dashoffset:780;}to{stroke-dashoffset:0;}}
@keyframes signal-scan {from{transform:translateX(0);}to{transform:translateX(440px);}}
@keyframes fan-spin {to{transform:rotate(360deg);}}
@keyframes data-travel {to{stroke-dashoffset:-147;}}
@media(max-width:720px){
  .promise-ribbon {padding-block:18px;}
  .promise-group {min-width:900px;gap:35px;}
  .promise-group>span {font-size:.68rem;}
  .service-signal {margin-block:20px 15px;}
  .model-orbits {inset:5% 12%;}
}
html[data-reduced-motion=true] .promise-track {width:auto;transform:none;}
html[data-reduced-motion=true] .promise-group {min-width:0;flex-wrap:wrap;gap:12px 30px;width:100%;}
html[data-reduced-motion=true] .promise-group[aria-hidden=true] {display:none;}
@media(prefers-reduced-motion:reduce){html:not([data-reduced-motion=false]) .model-orbits>*,html:not([data-reduced-motion=false]) .promise-track,html:not([data-reduced-motion=false]) .service-signal svg * {animation:none;}}

/* Persistent, server-rendered repair mini-game. Native summary always skips it. */
html:has(.welcome-shell[open]) {overflow:hidden;scrollbar-gutter:stable;}
.welcome-shell {border:0;padding:0;margin:0;}
.welcome-shell>summary {list-style:none;}
.welcome-shell>summary::-webkit-details-marker {display:none;}
.repair-skip {position:fixed;z-index:92;right:clamp(22px,4vw,70px);top:24px;color:#f4f3ee;font-size:.875rem;padding:12px 0;border-bottom:1px solid #87917c;cursor:pointer;}
.repair-skip-open>span {color:var(--accent);margin-left:15px;}
.repair-skip-closed {display:none;}
.welcome-shell:not([open]) .repair-skip {top:auto;bottom:20px;right:20px;border:1px solid #64715a;border-radius:30px;padding:11px 18px;background:#1b201bf2;box-shadow:0 4px 20px #0003;font-size:.8rem;z-index:12;}
.welcome-shell:not([open]) .repair-skip-open {display:none;}
.welcome-shell:not([open]) .repair-skip-closed {display:inline;}
.welcome-shell:not([open]) .repair-intro {display:none;}
.repair-intro {position:fixed;inset:0;z-index:90;height:100vh;height:100dvh;overflow:auto;overscroll-behavior:contain;background:#131813;color:#f4f3ee;display:flex;flex-direction:column;isolation:isolate;}
.repair-intro::before {content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 76% 38%,#45533444,transparent 60%),radial-gradient(ellipse at 15% 100%,#ff784f0b,transparent 55%);}
.repair-topline,.repair-footer {width:min(1400px,calc(100% - 100px));margin-inline:auto;display:flex;align-items:center;gap:24px;flex-shrink:0;}
.repair-topline {min-height:84px;border-bottom:1px solid #a3b09329;padding-right:150px;}
.repair-logo {font-size:1.5rem;letter-spacing:-.075em;font-weight:850;}.repair-logo>span {color:var(--accent);}
.repair-intro-tag {font:.75rem/1.5 monospace;letter-spacing:.08em;color:#a8b49b;margin-left:20px;}
.repair-game-grid {width:min(1400px,calc(100% - 100px));margin:auto;display:grid;grid-template-columns:.82fr 1.18fr;gap:clamp(35px,5vw,85px);align-items:center;padding-block:30px;flex:1;}
.repair-copy {min-width:0;}
.repair-eyebrow {color:var(--accent);font:.75rem/1.5 monospace;letter-spacing:.13em;margin:0 0 20px;display:flex;align-items:center;gap:10px;}
.repair-eyebrow>span {width:6px;height:6px;background:var(--accent);border-radius:50%;}
.repair-copy h1 {font-size:clamp(3rem,5vw,5.8rem);line-height:1.03;letter-spacing:-.065em;font-weight:650;margin:0;}
.repair-copy h1 em {color:var(--accent);font-style:normal;}
.repair-description {max-width:390px;color:#b6c0ab;font-size:1rem;line-height:1.65;margin:23px 0;}
.repair-counter {display:flex;align-items:center;gap:17px;margin:0 0 22px;flex-wrap:wrap;}
.repair-counter>span {font-size:2rem;font-weight:550;letter-spacing:-.05em;line-height:1.2;}
.repair-counter small {color:#8b9880;font-size:1rem;}
.repair-counter>div {display:flex;gap:5px;}.repair-counter i {display:block;width:23px;height:5px;background:#3c4835;transition:background .4s,box-shadow .4s;}
.repair-counter i[data-lit=true] {background:var(--accent);box-shadow:0 0 14px #ff784f55;}
.repair-counter>p {font:.65rem/1.4 monospace;color:#a8b49b;margin:0;letter-spacing:.08em;}
.repair-tray {display:grid;gap:8px;}
.repair-part {display:grid;grid-template-columns:54px 1fr 24px;align-items:center;gap:16px;text-align:left;min-height:70px;padding:12px 16px;border:1px solid #6b7a534f;border-radius:9px;background:#1d251bb5;color:#eff2e7;cursor:grab;transition:transform .25s,border-color .25s,background .25s;}
.repair-part:hover:not(:disabled) {transform:translateX(5px);border-color:#98aa78;}
.repair-part:active {cursor:grabbing;}
.repair-part[aria-pressed=true] {border-color:var(--accent);background:#ff784f13;box-shadow:0 0 0 1px #ff784f55;transform:translateX(5px);}
.repair-part-code {display:grid;place-items:center;min-height:42px;background:#a6b38c12;border:1px solid #9dae7950;border-radius:5px;font:.9rem/1.5 monospace;color:#d0ddb8;}
.repair-part strong,.repair-part small {display:block;}.repair-part strong {font-size:.95rem;font-weight:550;}.repair-part small {font-size:.75rem;color:#a6b69a;margin-top:2px;}
.repair-part-plus {font-size:1.2rem;color:var(--accent);text-align:center;}
.repair-part:disabled {opacity:.65;cursor:default;}.repair-part:disabled .repair-part-plus {color:#b5cf9a;}
.repair-workbench {border:1px solid #9bad7f36;border-radius:16px;padding:22px;min-width:0;background:linear-gradient(145deg,#a1b48007,#12170f6b);box-shadow:0 24px 90px #0002;}
.repair-bench-top {display:flex;justify-content:space-between;gap:15px;font:.65rem/1.5 monospace;letter-spacing:.07em;color:#abb69d;}
.repair-bench-top>span:last-child {white-space:nowrap;color:#c5d8ac;}
.repair-model {position:relative;width:100%;height:clamp(235px,39vh,410px);}
.repair-model-host,.repair-poster {position:absolute;inset:0;width:100%;height:100%;}
.repair-model-host {z-index:2;pointer-events:none;}.repair-model-host canvas {width:100%;height:100%;display:block;}
.repair-poster {object-fit:contain;transition:opacity .4s;}.repair-model[data-ready=true] .repair-poster {opacity:0;}
.repair-model-halo {position:absolute;inset:15% 5%;border-radius:50%;background:radial-gradient(ellipse,#96b36b0f,transparent 70%);border:1px solid #abc18720;transform:rotate(-15deg) scaleY(.8);transition:box-shadow 1s,border-color 1s;}
.repair-model[data-powered=true] .repair-model-halo {box-shadow:0 0 90px #ff784f22,inset 0 0 70px #ff784f18;border-color:#ff784f55;}
.repair-model-caption {position:absolute;bottom:5px;left:0;right:0;text-align:center;z-index:3;font:.62rem/1.4 monospace;letter-spacing:.1em;color:#a6b59c;}
.repair-slots {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:18px;}
.repair-slot {display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:9px;min-height:124px;padding:13px 8px;border:1px dashed #819c646e;border-radius:8px;background:#0d120d80;color:#d4dec6;cursor:pointer;transition:background .25s,border-color .25s,transform .25s;}
.repair-slot:hover:not(:disabled),.repair-slot:focus-visible {background:#ff784f12;border-color:var(--accent);transform:translateY(-3px);}
.repair-slot-number {display:grid;place-items:center;width:30px;height:30px;border:1px solid #8b9e7070;border-radius:50%;font:.8rem/1 monospace;color:var(--accent);}
.repair-slot strong {font-size:.85rem;font-weight:550;line-height:1.35;}.repair-slot>span:last-child {font-size:.68rem;color:#96a587;line-height:1.3;}
.repair-slot[data-installed=true] {border-style:solid;border-color:#96b26f80;background:#96b26f12;opacity:1;animation:repair-connect .4s ease-out;}
.repair-slot[data-installed=true] .repair-slot-number {background:#b3c794;border-color:#b3c794;color:#172211;}
.repair-feedback {min-height:42px;margin:18px 0 0;font-size:.875rem;color:#b9c6aa;line-height:1.5;}
.repair-feedback[data-kind=wrong] {color:#ffb19a;}.repair-feedback[data-kind=correct] {color:#d2e5b7;}
.repair-victory {animation:repair-success .65s ease-out;}.repair-victory>p {color:#c5dca9;font-size:.9rem;margin:22px 0;}
.repair-enter {display:flex;align-items:center;justify-content:space-between;gap:30px;padding:18px 24px;border:0;border-radius:5px;background:var(--accent);color:#151b13;font-weight:650;font-size:1rem;cursor:pointer;min-height:58px;}
.repair-enter:hover {background:#ff9879;}.repair-enter>span {font-size:1.4rem;}
.repair-footer {min-height:60px;justify-content:space-between;border-top:1px solid #a3b09329;color:#9da992;font-size:.75rem;}
.repair-footer>span:last-child {font-size:.7rem;}
.repair-nojs {max-width:600px;margin:0 auto 20px;padding:20px;color:#ffb19a;}
@keyframes repair-connect {0%{transform:scale(.94);}65%{transform:scale(1.035);}100%{transform:scale(1);}}
@keyframes repair-success {from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:translateY(0);}}
.repair-intro[data-reduced=true] * {animation:none!important;transition:none!important;}
@media(max-width:950px){.repair-game-grid{gap:30px;grid-template-columns:.85fr 1.15fr;}.repair-topline,.repair-footer,.repair-game-grid{width:calc(100% - 48px);}.repair-intro-tag{display:none;}.repair-copy h1{font-size:3.3rem;}.repair-workbench{padding:15px;}.repair-part{gap:10px;padding:10px;grid-template-columns:44px 1fr 20px;}.repair-part small{font-size:.7rem;}.repair-slot strong{font-size:.75rem;}}
@media(max-width:720px){
  .repair-topline{min-height:65px;}.repair-skip{top:11px;right:24px;font-size:.8rem;}.repair-logo{font-size:1.3rem;}
  .repair-game-grid{grid-template-columns:1fr;gap:22px;padding-block:22px;}.repair-eyebrow{margin-bottom:12px;}.repair-copy h1{font-size:2.7rem;}.repair-copy h1 br{display:none;}.repair-copy h1 em::before{content:" ";}
  .repair-description{font-size:.875rem;max-width:none;margin:15px 0;line-height:1.55;}.repair-counter{gap:12px;margin-bottom:15px;}.repair-counter>span{font-size:1.6rem;}.repair-counter>p{font-size:.6rem;}
  .repair-tray{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}.repair-part{display:flex;flex-direction:column;gap:6px;align-items:center;text-align:center;min-height:95px;padding:10px 5px;position:relative;}.repair-part-code{min-height:30px;min-width:45px;font-size:.8rem;}.repair-part strong{font-size:.72rem;}.repair-part small{display:none;}.repair-part-plus{position:absolute;top:5px;right:6px;font-size:.9rem;}.repair-part[aria-pressed=true],.repair-part:hover:not(:disabled){transform:translateY(-3px);}
  .repair-workbench{padding:13px;border-radius:12px;}.repair-model{height:200px;}.repair-bench-top{font-size:.55rem;letter-spacing:.01em;}.repair-model-caption{font-size:.55rem;}
  .repair-slots{gap:6px;margin-top:12px;}.repair-slot{min-height:107px;gap:7px;padding:10px 5px;}.repair-slot strong{font-size:.72rem;}.repair-slot>span:last-child{font-size:.61rem;}.repair-slot-number{width:24px;height:24px;font-size:.7rem;}.repair-feedback{font-size:.8rem;margin-top:13px;min-height:38px;}
  .repair-footer{min-height:60px;gap:10px;flex-wrap:wrap;padding-block:13px;font-size:.7rem;}.repair-footer>span:last-child{font-size:.65rem;}.repair-enter{width:100%;font-size:.9rem;}.repair-victory>p{font-size:.8rem;}
}
@media(max-width:360px){.repair-topline,.repair-footer,.repair-game-grid{width:calc(100% - 32px);}.repair-copy h1{font-size:2.25rem;}.repair-skip{right:16px;}.repair-slot strong{font-size:.67rem;}.repair-counter>p{letter-spacing:0;}}
