/* Centered project illustration with visible currents and direct controls. */
.rest-section{grid-template-columns:1.03fr 1fr;gap:70px;padding-top:80px;padding-bottom:85px}
.rest-playground{--s1:#0f1218;--s2:#161a21;--s3:#1c2029;--s4:#232932;--s5:#282e38;--s6:#2f353f;--s7:#414855;--s8:#8a929f;--s9:#989eaa;--s11:#b0b6c0;--s12:#e9ecf2;--scene-dot:#8a929f28;--scene-hover:#2a2820;--scene-chosen:#2b241a;--hub-edge:#8c7a50;--hub-base:#0a0c10;--scene-ink:var(--s12,#eef1e6);--scene-muted:var(--s11,#bac4ae);position:relative;min-width:0;overflow:hidden;background:var(--s2,#20251e);border:1px solid var(--s6,#3d4635);border-radius:12px;color:var(--scene-ink);box-shadow:var(--scene-shadow,0 16px 48px #2b342314)}
.rest-scene-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--s5,#39422f);padding:14px 19px;color:var(--scene-muted);font:400 9px/1.6 var(--mono);letter-spacing:.09em}
.rest-scene-head>span:first-child{display:flex;align-items:center;gap:7px}.rest-scene-head .dot{width:5px;height:5px}
.rest-motion-toggle{display:flex;align-items:center;gap:6px;min-height:30px;padding:6px 7px;border:1px solid var(--s6,#4c583e);border-radius:5px;background:var(--s3,#2c3426);color:var(--s11,#d1dac5);font:400 8px/1.4 var(--sans);letter-spacing:0}.rest-motion-toggle:hover{background:var(--s4,#38422e);border-color:var(--s7,#7f8e6c)}.rest-motion-toggle .icon{width:11px;height:11px}
.rest-network{position:relative;aspect-ratio:520/330;background:radial-gradient(var(--scene-dot,#68785b45) .65px,transparent .65px) 0 0/18px 18px}
.rest-connections{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.rest-connections-mobile{display:none}
.rest-wire{fill:none;stroke:#cc9e48;stroke-width:1.5;opacity:.62;transition:stroke .25s,opacity .25s,stroke-width .25s}
.rest-ambient{fill:none;stroke:#ffd66d;stroke-width:3;stroke-linecap:round;stroke-dasharray:18 82;animation:rest-current 3.5s linear infinite;opacity:.85}
[data-rest-edge=portfolio] .rest-ambient{animation-delay:-.4s}[data-rest-edge=weekend-idea] .rest-ambient{animation-delay:-1.5s}[data-rest-edge=client-demo] .rest-ambient{animation-delay:-2.4s}
.rest-signal{fill:none;stroke:#fff0a0;stroke-width:5;stroke-linecap:round;stroke-dasharray:24 76;opacity:0}
.rest-arrival-ring{fill:none;stroke:#f7c25d;stroke-width:1;opacity:0;transform-origin:260px 165px}
.rest-project{display:flex;align-items:center;gap:9px;position:absolute;z-index:2;width:150px;min-height:60px;padding:10px;border:1px solid var(--s6,#5a6549);border-radius:7px;background:var(--s3,#293024);color:var(--scene-ink);text-align:left;box-shadow:0 4px 13px #0002;transition:transform .2s,border-color .2s,background .2s,box-shadow .2s}
.rest-project:hover,.rest-project:focus-visible{transform:translateY(-3px);border-color:#edc267;background:var(--scene-hover,#383a26);box-shadow:0 0 0 2px #efbc4420,0 8px 20px #0003}.rest-project[aria-pressed=true]{border-color:#d5a54f;background:var(--scene-chosen,#393124);box-shadow:0 0 15px #e5af3310}.rest-project:active{transform:translateY(-1px)}
.rest-project-portfolio{left:6%;top:12%}.rest-project-weekend{right:6%;top:12%}.rest-project-client{left:50%;top:76%;transform:translateX(-50%)}.rest-project-client:hover,.rest-project-client:focus-visible{transform:translate(-50%,-3px)}.rest-project-client:active{transform:translate(-50%,-1px)}
.rest-project-icon{display:grid;place-items:center;width:26px;height:30px;flex:none;border-radius:4px;background:var(--s5,#39432e);color:var(--s11,#d1dcbd)}.rest-project-icon .icon{width:14px;height:14px}.rest-project strong{display:block;font:400 9px/1.6 var(--mono);letter-spacing:-.015em;white-space:nowrap}.rest-project small{display:flex;align-items:center;gap:5px;font-size:8px;line-height:1.5;color:var(--scene-muted);margin-top:3px}.rest-project-dot{width:4px;height:4px;flex:none;background:var(--s9,#a2ad91);border-radius:50%;transition:background .2s,box-shadow .2s}.rest-project-selected{margin-left:auto;opacity:0;color:#ffe29d}.rest-project-selected .icon{width:10px;height:10px}.rest-project[aria-pressed=true] .rest-project-selected{opacity:1}
.rest-hub{position:absolute;left:50%;top:50%;width:85px;height:85px;transform:translate(-50%,-50%);z-index:2}
.rest-hub-face{display:grid;place-items:center;position:relative;width:100%;height:100%;padding:0;border:1px solid var(--hub-edge,#8a8c58);border-radius:19px;background:linear-gradient(145deg,var(--s5,#3b402e),var(--s2,#252b20));color:var(--s12,#ecefe1);box-shadow:0 6px 0 var(--hub-base,#12180f),0 15px 28px #0004;transition:transform .25s,box-shadow .25s,border-color .25s}
.rest-hub-face>svg{width:40px;height:40px}.rest-hub-face:hover,.rest-hub-face:focus-visible{transform:translateY(-3px);border-color:#ffcf6f;box-shadow:0 9px 0 var(--hub-base,#12180f),0 0 30px #ffbf4326}.rest-hub-face:active{transform:translateY(0)}.rest-hub-light{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);width:22px;height:2px;border-radius:3px;background:#d2a848;box-shadow:0 0 9px #efbd3330;transition:background .3s,box-shadow .3s,width .3s}.rest-hub-caption{position:absolute;left:50%;top:calc(100% + 13px);width:max-content;max-width:175px;padding:3px 7px;border-radius:4px;background:var(--s2,#20251e);transform:translateX(-50%);font:400 8px/1.5 var(--mono);color:var(--s11,#d0d8c4);text-align:center;white-space:nowrap}
.rest-request-token{position:absolute;display:flex;gap:7px;align-items:center;left:14%;top:3%;z-index:3;pointer-events:none;padding:6px 9px;border:1px solid #f7c26375;border-radius:5px;background:#45351c;color:#ffdf93;font:400 8px/1.6 var(--mono);opacity:0}.rest-request-token .icon{width:11px;height:11px}
.rest-endpoint{display:flex;align-items:center;gap:8px;position:relative;z-index:3;margin:10px 18px 0;padding:10px 12px;border:1px solid var(--s6,#434e36);border-radius:5px;background:var(--s1,#171f14);font:400 9px/1.6 var(--mono);color:var(--s11,#ced5c3)}.rest-endpoint>.icon{width:11px;height:11px;color:var(--s9,#b7c39f)}.rest-endpoint-status{margin-left:auto;color:var(--s9,#bac4ae);font-size:8px;white-space:nowrap}
.rest-scene-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 10px}.rest-scene-controls .btn{font-size:10px;min-height:38px;padding:9px 13px}.rest-scene-controls .btn .icon{width:14px;height:14px}.rest-scene-controls .btn[aria-disabled=true]{opacity:.75;cursor:progress}.rest-reset{display:inline-flex;align-items:center;gap:5px;min-height:36px;background:transparent;color:var(--s11,#c8d2b8);font-size:9px;border:1px solid transparent;border-radius:5px;padding:6px}.rest-reset:hover{color:#fff;background:var(--s4,#323d29)}.rest-reset .icon{width:12px;height:12px}.rest-scene-note{font-size:8px;text-align:left;color:var(--s9,#c0cab2);line-height:1.8;padding:0 19px 17px;max-width:100%;margin:0}
.rest-copy h2{font-size:35px;line-height:1.18;letter-spacing:-.045em;margin:20px 0}.rest-copy>p{font-size:12px;line-height:1.9}.rest-copy>p br{display:none}.rest-story{list-style:none;padding:0;margin:27px 0 0;display:grid;gap:0}.rest-story li{display:flex;gap:15px;padding:15px 0 15px 12px;border-left:2px solid var(--line);transition:border-color .25s,background .25s}.rest-story li.active{border-left-color:var(--ember);background:linear-gradient(90deg,#f9731608,transparent)}.rest-story-index{font:400 9px/1.6 var(--mono);color:var(--muted);padding-top:1px}.rest-story li.active .rest-story-index{color:var(--rust)}.rest-story strong{display:block;font-size:12px;font-weight:600;line-height:1.5}.rest-story p{font-size:10px;line-height:1.8;margin-top:4px}.rest-copy .text-link{margin-top:27px;font-size:11px}
.rest-playground[data-project=portfolio] [data-rest-edge=portfolio] .rest-wire,.rest-playground[data-project=weekend-idea] [data-rest-edge=weekend-idea] .rest-wire,.rest-playground[data-project=client-demo] [data-rest-edge=client-demo] .rest-wire{stroke:#ffd164;opacity:1;stroke-width:2}
.rest-playground[data-preview=portfolio] [data-rest-edge=portfolio] .rest-wire,.rest-playground[data-preview=weekend-idea] [data-rest-edge=weekend-idea] .rest-wire,.rest-playground[data-preview=client-demo] [data-rest-edge=client-demo] .rest-wire{stroke:#ffed9e;opacity:1;stroke-width:3}
.rest-playground[data-preview=portfolio] [data-rest-edge=portfolio] .rest-ambient,.rest-playground[data-preview=weekend-idea] [data-rest-edge=weekend-idea] .rest-ambient,.rest-playground[data-preview=client-demo] [data-rest-edge=client-demo] .rest-ambient{stroke:#fff1aa;stroke-width:5;animation-duration:1.8s}
.rest-playground[data-phase=request] .rest-project[aria-pressed=true] .rest-project-dot{background:#ffd16c;box-shadow:0 0 9px #ffd16c70}.rest-playground[data-phase=request] .rest-hub-face{animation:rest-awaken .9s ease both}.rest-playground[data-phase=request] .rest-request-token{animation:rest-request .8s ease both}
.rest-playground[data-phase=request][data-project=portfolio] [data-rest-edge=portfolio] .rest-signal,.rest-playground[data-phase=request][data-project=weekend-idea] [data-rest-edge=weekend-idea] .rest-signal,.rest-playground[data-phase=request][data-project=client-demo] [data-rest-edge=client-demo] .rest-signal{animation:rest-travel 1s linear both}
.rest-playground[data-phase=live] .rest-hub-face{transform:translateY(-3px);border-color:#e0b453;box-shadow:0 9px 0 var(--hub-base,#12180f),0 0 37px #ffc43328}.rest-playground[data-phase=live] .rest-hub-light{width:30px;background:#ffe16f;box-shadow:0 0 13px #ffd058a0}.rest-playground[data-phase=live] .rest-project[aria-pressed=true] .rest-project-dot{background:var(--k11,#bce4a1);box-shadow:0 0 7px #bce4a125}.rest-playground[data-phase=live] .rest-endpoint-status{color:var(--k11,#c0e5a8)}.rest-playground[data-phase=live] .rest-arrival-ring{animation:rest-arrival 1.2s ease-out both}
.rest-playground[data-project=weekend-idea] .rest-request-token{left:auto;right:14%;top:3%}.rest-playground[data-project=client-demo] .rest-request-token{left:50%;top:66%;transform:translateX(-50%)}
.rest-playground[data-visible=false] .rest-ambient,.rest-playground[data-motion=paused] .rest-ambient{animation-play-state:paused}
.rest-playground[data-motion=paused] .rest-signal,.rest-playground[data-motion=paused] .rest-request-token,.rest-playground[data-motion=paused] .rest-arrival-ring{animation:none;display:none}
@keyframes rest-current{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes rest-travel{0%{stroke-dashoffset:100;opacity:0}10%,90%{opacity:1}100%{stroke-dashoffset:0;opacity:0}}@keyframes rest-request{0%{opacity:0;translate:0 6px}20%,75%{opacity:1;translate:0 0}100%{opacity:0;translate:0 -8px}}@keyframes rest-awaken{0%,100%{transform:none}50%{transform:translateY(-3px);border-color:#ffe58d;box-shadow:0 9px 0 var(--hub-base,#12180f),0 0 28px #ffc03333}}@keyframes rest-arrival{0%{opacity:.55;transform:scale(.75)}100%{opacity:0;transform:scale(1.35)}}
@media(max-width:1050px){.rest-section{gap:40px}.rest-project{width:135px;gap:7px;padding:9px;min-height:54px}.rest-project strong{font-size:8px}.rest-project-icon{width:24px}.rest-hub{width:75px;height:75px}.rest-hub-face{border-radius:16px}.rest-hub-face>svg{width:35px;height:35px}.rest-hub-caption{font-size:7px}.rest-copy h2{font-size:31px}.rest-story strong{font-size:11px}}
@media(max-width:760px){.rest-section{grid-template-columns:1fr;gap:28px;padding-top:48px;padding-bottom:55px}.rest-copy{grid-row:1}.rest-playground{grid-row:2;width:100%;max-width:520px;margin:0 auto}.rest-copy h2{font-size:30px;margin-top:17px}.rest-copy>p{font-size:12px}.rest-story{margin-top:21px}.rest-story li{padding:12px 0 12px 12px;gap:13px}.rest-story strong{font-size:11px}.rest-story p{font-size:10px}.rest-copy .text-link{margin-top:20px}.rest-scene-head{padding:12px 15px;font-size:8px}.rest-motion-toggle{font-size:8px;min-height:31px}.rest-network{aspect-ratio:auto;min-height:306px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:end;padding:0 14px 22px}.rest-connections-desktop{display:none}.rest-connections-mobile{display:block}.rest-project,.rest-project-client{position:relative;left:auto;right:auto;top:auto;width:100%;min-height:90px;padding:11px 4px;display:flex;flex-direction:column;gap:7px;text-align:center;align-items:center;justify-content:center;transform:none}.rest-project:hover,.rest-project:focus-visible,.rest-project-client:hover,.rest-project-client:focus-visible{transform:translateY(-2px)}.rest-project-icon{width:27px;height:27px}.rest-project-icon .icon{width:14px;height:14px}.rest-project strong{font-size:9px;letter-spacing:-.03em}.rest-project small{font-size:8px;justify-content:center}.rest-project-selected{display:none}.rest-hub{left:50%;top:28%;width:79px;height:79px}.rest-hub-face{border-radius:17px}.rest-hub-face>svg{width:37px;height:37px}.rest-hub-caption{font-size:8px;top:calc(100% + 8px);padding:3px 6px}.rest-endpoint{margin:0 14px;padding:10px;font-size:9px;gap:6px}.rest-endpoint-status{font-size:8px}.rest-scene-controls{padding:14px 14px 8px;gap:9px}.rest-scene-controls .btn{font-size:10px;min-height:38px;padding:9px 11px}.rest-reset{font-size:8px}.rest-scene-note{font-size:8px;padding:0 15px 15px}.rest-request-token,.rest-playground[data-project=weekend-idea] .rest-request-token,.rest-playground[data-project=client-demo] .rest-request-token{font-size:7px;padding:5px 7px;top:48%;left:50%;right:auto;transform:translateX(-50%)}.rest-playground[data-phase=live] .rest-arrival-ring{display:none}}
@media(max-width:370px){.rest-project{width:100%;min-height:86px;padding:10px 3px}.rest-project strong{font-size:8.5px}.rest-project small{font-size:7px}.rest-motion-toggle{font-size:7px;gap:4px}.rest-scene-controls .btn{font-size:9px}.rest-endpoint{font-size:8px}.rest-endpoint-status{font-size:7px}}
@media(prefers-reduced-motion:reduce){.rest-project,.rest-hub-face,.rest-wire,.rest-hub-light,.rest-story li{transition:none}.rest-project:hover,.rest-hub-face:hover,.rest-playground[data-phase=live] .rest-hub-face{transform:none}.rest-project-client:hover,.rest-project-client:focus-visible{transform:translateX(-50%)}.rest-ambient{animation:none!important;opacity:.65}.rest-signal,.rest-request-token,.rest-arrival-ring{animation:none!important;display:none}.rest-playground[data-phase=request] .rest-hub-face{animation:none}}
@media(prefers-reduced-motion:reduce) and (max-width:760px){.rest-project-client:hover,.rest-project-client:focus-visible{transform:none}}

/* Dark: the scene was a dark panel on a light page; it keeps its amber
   currents and brass hub, and its green graphite becomes the console's slate.
   Hover and selection stay warm, so the light still says where you are. */
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--scene-shadow:0 16px 48px #0000004d;--scene-dot:#8A929F38;--scene-hover:#2A2820;--scene-chosen:#2B241A;--hub-edge:#8C7A50;--hub-base:#0A0C10}}
:root[data-theme="dark"]{--scene-shadow:0 16px 48px #0000004d;--scene-dot:#8A929F38;--scene-hover:#2A2820;--scene-chosen:#2B241A;--hub-edge:#8C7A50;--hub-base:#0A0C10}
