#scene-silk{background:#101715;color:#e9e0cd;overflow:auto;overscroll-behavior:contain;}
#scene-silk::after{content:'';position:fixed;top:0;left:0;right:0;height:60px;background:linear-gradient(#101715 65%,#10171500);pointer-events:none;z-index:4}
.silk-shell{max-width:1600px;margin:auto;padding:82px 6vw 28px;min-height:100%;position:relative;isolation:isolate}
.silk-shell button,.silk-shell select,.silk-shell input,.silk-dialog button{font:11px 'IBM Plex Mono',monospace}
.silk-shell button,.silk-dialog button{cursor:pointer;min-height:44px;background:transparent;color:#e9e0cd;border:1px solid #bca57555;padding:10px 15px;border-radius:2px}
.silk-shell button:hover,.silk-shell button[aria-pressed="true"]{background:#c9aa6920;border-color:#cfb57e}
.silk-shell :focus-visible,.silk-dialog :focus-visible{outline:2px solid #e9c77e;outline-offset:4px}
.silk-shell [hidden]{display:none!important}
.silk-kicker{font:10px 'IBM Plex Mono',monospace;letter-spacing:.2em;text-transform:uppercase;color:#c6ad77}
.silk-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:22px}
.silk-heading h1{font:400 clamp(32px,4.3vw,62px)/1.02 'Cormorant Garamond',serif;margin:9px 0 10px;letter-spacing:-.02em;max-width:700px}
.silk-heading h1 em{color:#cbb47f;font-weight:400}
.silk-intro{font:17px/1.4 'Cormorant Garamond',serif;color:#c3c3b6;max-width:510px}
.silk-tabs{display:flex;gap:5px;flex-shrink:0;flex-wrap:wrap}
.silk-tabs button{border-color:transparent;border-bottom:1px solid #bca57555;letter-spacing:.03em}
.silk-workspace{display:grid;grid-template-columns:minmax(0,1fr) 290px;border-top:1px solid #c0aa7338;border-bottom:1px solid #c0aa7338;min-height:390px}
.silk-atlas{position:relative;min-width:0;min-height:390px;overflow:hidden;background:radial-gradient(ellipse at 70% 45%,#39443555,transparent 70%)}
.silk-atlas canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.silk-memory{position:absolute;inset:0;background:linear-gradient(90deg,#10171555,#101715),url('assets/bedroom.png') center/cover;opacity:0;pointer-events:none}
.silk-enter .silk-memory{animation:silk-unravel 4.5s ease-out both}
.silk-enter:has(#silkMotion[aria-pressed="true"]) .silk-memory{animation:none}
@keyframes silk-unravel{0%,10%{opacity:.65;filter:blur(0)}100%{opacity:0;filter:blur(14px)}}
.silk-map-caption{position:absolute;top:19px;left:20px;right:20px;font:9px/1.6 'IBM Plex Mono',monospace;letter-spacing:.08em;color:#b7bbac;pointer-events:none}
.silk-map-foot{position:absolute;bottom:16px;left:20px;right:20px;font:9px/1.5 'IBM Plex Mono',monospace;color:#c3bda9;pointer-events:none}
.silk-node{position:absolute!important;width:32px;min-height:32px!important;height:32px;transform:translate(-50%,-50%);padding:0!important;border:0!important;background:transparent!important;border-radius:50%!important;z-index:2}
.silk-node::before{content:'';position:absolute;left:12px;top:12px;width:7px;height:7px;border:1px solid #e6d0a0;border-radius:50%;background:#a38145;box-shadow:0 0 12px #e6c48488}
.silk-node[aria-pressed="true"]::before{box-shadow:0 0 0 5px #e6c48426,0 0 24px #e6c484aa;background:#fff0c7}
.silk-node span{position:absolute;left:23px;top:5px;white-space:nowrap;font:9px 'IBM Plex Mono',monospace;color:#e3d6b7;background:#101715c9;padding:4px 5px;opacity:0;pointer-events:none}
.silk-node[aria-pressed="true"] span,.silk-node:hover span,.silk-node:focus-visible span{opacity:1}
.silk-reading{padding:24px 0 20px 26px;border-left:1px solid #c0aa7338;display:flex;flex-direction:column;gap:13px;min-width:0}
.silk-reading h2{font:400 31px/1.05 'Cormorant Garamond',serif}
.silk-value{font:400 37px/1 'Cormorant Garamond',serif;color:#dbc48e}
.silk-unit,.silk-small{font:10px/1.6 'IBM Plex Mono',monospace;color:#b7bfaf}
.silk-description{font:16px/1.45 'Cormorant Garamond',serif;color:#ddd6c6}
.silk-code{font:10px/1.8 'IBM Plex Mono',monospace;color:#95b8a6;white-space:pre-wrap;border-left:2px solid #9a7143;padding-left:12px;margin-top:auto;overflow-wrap:anywhere}
.silk-source{font:10px/1.5 'IBM Plex Mono',monospace;color:#dec489;text-underline-offset:4px}
.silk-tools{display:flex;align-items:flex-end;gap:18px;padding-top:18px;flex-wrap:wrap}
.silk-field{display:flex;flex-direction:column;gap:8px;font:9px 'IBM Plex Mono',monospace;letter-spacing:.06em;color:#bdc5b4;min-width:150px}
.silk-field select{background:#1b2420;border:1px solid #bca57555;color:#f0e2c5;min-height:44px;padding:8px;max-width:100%;border-radius:2px}
.silk-year{width:140px;min-width:120px}
.silk-year input{accent-color:#cfb57e;width:100%;height:32px}
.silk-actions{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}
.silk-footnote{font:9px/1.7 'IBM Plex Mono',monospace;color:#abb4a4;margin-top:16px;max-width:85ch}
.silk-loading{margin:110px 6vw;font:16px 'IBM Plex Mono',monospace}
.silk-scenario{border-top:1px solid #bca57555;margin-top:32px;padding-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:36px}
.silk-scenario h2{font:400 34px/1.1 'Cormorant Garamond',serif;margin:14px 0}
.silk-scenario p{margin-top:12px;max-width:48ch;font-size:17px;line-height:1.5}
.silk-scenario .silk-small{font:10px/1.7 'IBM Plex Mono',monospace}
.scenario-controls{display:flex;flex-direction:column;gap:16px}
.scenario-check{display:flex;align-items:center;gap:12px;font:12px/1.5 'IBM Plex Mono',monospace}
.scenario-controls input{accent-color:#cfb57e;min-height:32px}
.silk-shell button:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:650px){.silk-scenario{grid-template-columns:1fr;gap:24px}}
.silk-dialog{margin:auto;max-width:680px;width:90vw;max-height:85dvh;overflow:auto;border:1px solid #ab9566;background:#14201b;color:#e9e0cd;padding:28px}
.silk-dialog::backdrop{background:#050906d9;backdrop-filter:blur(5px)}
.silk-dialog h2{font:400 32px 'Cormorant Garamond',serif;margin:10px 0 20px}
.silk-dialog p,.silk-dialog li{font:14px/1.65 'IBM Plex Mono',monospace;margin:12px 0}
.silk-dialog a{color:#e1c98f}
.silk-dialog .silk-close{float:right}
.silk-dialog ul{padding-left:20px}
body:has(#scene-silk.active) .progress{display:none}
@media(min-width:1450px){.silk-atlas,.silk-workspace{min-height:480px}}
@media(max-width:850px){.silk-shell{padding:70px 22px 24px}.silk-heading{align-items:flex-start;flex-direction:column;gap:14px}.silk-workspace{grid-template-columns:minmax(0,1fr)}.silk-atlas{min-height:300px}.silk-reading{padding:20px 0;border-left:0;border-top:1px solid #c0aa7338;display:grid;grid-template-columns:1fr 1fr;gap:12px 22px}.silk-reading h2,.silk-reading .silk-kicker,.silk-description{grid-column:1/-1}.silk-code{grid-column:2;grid-row:3/6}.silk-source{grid-column:1/-1}.silk-actions{margin-left:0}.silk-heading h1{font-size:40px}.silk-node span{font-size:8px}.silk-dialog p,.silk-dialog li{font-size:12px}}
@media(max-width:380px){.silk-shell{padding-left:16px;padding-right:16px}.silk-heading h1{font-size:34px}.silk-tabs{gap:0}.silk-tabs button{padding:9px 12px}.silk-atlas{min-height:260px}.silk-value{font-size:30px}.silk-tools{gap:12px}.silk-field{min-width:120px;max-width:100%}.silk-code{font-size:9px}.silk-reading{gap:10px}.silk-map-caption{left:8px;right:8px}.silk-map-foot{left:8px;right:8px}}
@media(prefers-reduced-motion:reduce){.silk-enter .silk-memory{animation:none}}
