body:has(.loom){overflow:hidden}@property --stage-inset{syntax: "<length>"; inherits: true; initial-value: 0px;}.loom{position:fixed;inset:0;z-index:var(--z-base);background:var(--bg-deep);color:var(--text-soft);overflow:hidden;overscroll-behavior:none;isolation:isolate;--loom-ink: var(--gold);--band-h: 154px;--stage-inset: var(--band-h);transition:--stage-inset .28s var(--ease)}.loom.is-bare{--stage-inset: 0px}.loom__stage{position:absolute;inset:0;outline:none}.loom__stage:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% calc(50% - var(--stage-inset) / 2),#06080f00 52%,#06080f75)}.loom__stage:focus-visible{outline:1px dashed color-mix(in oklab,var(--gold) 60%,transparent);outline-offset:-8px}.loom__stage[data-autofocus]:focus-visible{outline:none}.loom__figure,.loom__overlay{position:absolute;inset:0;width:100%;height:100%;display:block}.loom__figure{touch-action:none}.loom__overlay{pointer-events:none;z-index:2}.loom__figure.is-fading{opacity:0;transition:opacity .8s var(--ease);pointer-events:none}.loom__ghost{opacity:0;transition:opacity .3s var(--ease);pointer-events:none}.loom__ghost.is-shown{opacity:1;transition:none}.loom.is-nocursor .loom__stage{cursor:none}.loom.is-live .loom__stage{cursor:crosshair}.loom.is-nocursor.is-live .loom__stage{cursor:none}.loom__still{display:none;position:absolute;left:50%;top:66%;width:min(46vmin,400px);translate:-50% -50%;color:var(--gold);opacity:.55;pointer-events:none}.loom__still svg{width:100%;height:auto;overflow:visible}html:not(.js) .loom__still{display:block}html:not(.js) .loom__intro{top:26%}html:not(.js) .loom__stage,html:not(.js) .band,html:not(.js) .loom__ghosts,html:not(.js) .loom__pill{display:none}.loom__nojs{display:none}html:not(.js) .loom__nojs{display:block}.loom__home{position:absolute;left:max(16px,env(safe-area-inset-left));top:max(14px,env(safe-area-inset-top));z-index:4;font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-decoration:none;padding:.5em .6em;margin:-.5em -.6em;text-shadow:0 0 10px var(--bg-deep),0 0 3px var(--bg-deep);transition:color var(--dur-2) var(--ease)}.loom__home:hover,.loom__home:focus-visible{color:var(--gold)}.loom__ghosts{position:absolute;right:max(12px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top));z-index:4;display:flex;gap:6px}.ghost,.loom__pill{display:inline-flex;align-items:center;gap:.6em;min-height:44px;padding:0 .9em;border:1px solid color-mix(in oklab,var(--border-strong) 55%,transparent);border-radius:var(--r-full);background:color-mix(in oklab,var(--bg-deep) 55%,transparent);color:var(--text-soft);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:color var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),background var(--dur-2) var(--ease)}.ghost:hover,.ghost:focus-visible,.loom__pill:hover,.loom__pill:focus-visible{color:var(--gold);border-color:var(--gold);background:color-mix(in oklab,var(--bg-deep) 80%,transparent)}.ghost__k,.act__k{font-family:var(--font-mono);font-size:.82em;letter-spacing:.06em;text-transform:none;color:var(--faint);border:1px solid var(--hairline-strong);border-radius:var(--r-sm);padding:.05em .4em;line-height:1.3}.loom__pill{position:absolute;left:50%;bottom:max(14px,env(safe-area-inset-bottom));translate:-50% 0;z-index:4}.loom__pill[hidden]{display:none}.loom.is-bare .loom__ghosts,.loom.is-bare .loom__home{opacity:.55}.loom.is-fullscreen .loom__ghosts,.loom.is-fullscreen .loom__home{opacity:0;pointer-events:none}.loom__intro{position:absolute;left:50%;top:40%;z-index:2;width:min(88vw,44rem);translate:-50% -50%;text-align:center;pointer-events:none;transition:opacity 1.4s var(--ease),translate 1.4s var(--ease)}.loom.is-live .loom__intro{opacity:0;translate:-50% -56%}.loom__eyebrow{margin:0;font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--gold)}.loom__title{margin:var(--space-3) 0 0;font-family:var(--font-display);font-style:italic;font-weight:400;font-size:var(--step-6);line-height:1.05;letter-spacing:-.01em;color:var(--text);text-wrap:balance}.loom__lede,.loom__nojs{margin:var(--space-4) auto 0;max-width:46ch;font-family:var(--font-body);font-size:var(--step-0);line-height:1.6;color:var(--muted);text-wrap:pretty}.loom__lede,.loom__nojs,.loom__title,.loom__eyebrow{text-shadow:0 0 14px var(--bg-deep),0 0 4px var(--bg-deep)}.quote{position:absolute;left:50%;bottom:calc(var(--stage-inset) + 28px);z-index:2;width:min(88vw,36rem);max-width:28ch;margin:0;translate:-50% 0;opacity:0;text-align:center;pointer-events:none;font-family:var(--font-display);font-style:italic;font-weight:400;font-size:var(--step-2);line-height:1.3;letter-spacing:-.005em;color:color-mix(in oklab,var(--text) 90%,transparent);text-wrap:balance;text-shadow:0 0 14px var(--bg-deep),0 0 4px var(--bg-deep)}.quote.is-shown{animation:loom-quote 5s var(--ease) both}.quote.is-held{opacity:1}.loom.is-bare .quote{bottom:max(48px,9vh)}@keyframes loom-quote{0%{opacity:0;translate:-50% 6px}12%{opacity:1;translate:-50% 0}82%{opacity:1;translate:-50% 0}to{opacity:0;translate:-50% 0}}.band{position:absolute;left:0;right:0;bottom:0;z-index:3;height:var(--band-h);box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:4px;padding:4px 16px calc(6px + env(safe-area-inset-bottom,0px));background:color-mix(in oklab,var(--surface) 92%,transparent);border-top:1px solid var(--hairline);color:var(--text-soft);font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.04em;transform:translateY(0);transition:transform .28s var(--ease)}.band.is-hidden{transform:translateY(102%)}.band__handle{display:none}.band>*{min-width:0}.band [hidden]{display:none!important}.band__strip{display:flex;align-items:center;gap:6px 14px;min-height:32px;padding-right:6.5rem}.acts{display:flex;flex-wrap:wrap;gap:3px 4px}.act{display:inline-flex;align-items:center;gap:.55em;min-height:24px;padding:0 .65em;border:1px solid transparent;border-radius:var(--r-full);background:transparent;color:var(--text-soft);font:inherit;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;white-space:nowrap;transition:color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.act:hover,.act:focus-visible{color:var(--gold);border-color:color-mix(in oklab,var(--gold) 45%,transparent)}.act[aria-pressed=true]{color:var(--gold);background:color-mix(in oklab,var(--gold) 12%,transparent);border-color:color-mix(in oklab,var(--gold) 40%,transparent)}.act[data-act=pause]{border-color:var(--border-strong)}.act--e{min-height:26px;border-color:color-mix(in oklab,var(--border-strong) 60%,transparent)}.band__live{flex:1 1 12rem;min-width:0;margin:0;text-align:right;color:var(--faint);font-size:var(--step--2);letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fig{position:relative;display:inline-flex;align-items:center;gap:8px;flex:none;min-width:0}.fig:after{content:"";position:absolute;right:10px;top:50%;width:10px;height:6px;translate:0 -50%;pointer-events:none;background-color:var(--gold);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23000' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23000' stroke-width='1.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain}.fig__l{font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.fig__s{-webkit-appearance:none;appearance:none;box-sizing:border-box;width:15rem;height:30px;margin:0;padding:0 28px 0 10px;border:1px solid var(--hairline-strong);border-radius:var(--r);color-scheme:dark;background:color-mix(in oklab,var(--bg-deep) 40%,transparent);color:var(--text);font-family:var(--font-display);font-style:italic;font-weight:400;font-size:var(--step--1);line-height:1;letter-spacing:0;text-transform:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;transition:border-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.fig__s:hover{border-color:var(--gold)}.fig__s:focus{outline:none}.fig__s:focus-visible{outline:1px dashed color-mix(in oklab,var(--gold) 70%,transparent);outline-offset:3px;border-color:var(--gold)}.fig__s option,.fig__s optgroup{background:var(--surface);color:var(--text);font-family:var(--font-body);font-style:normal;font-size:.95rem}.fig__s optgroup{font-family:var(--font-mono);font-size:.72rem;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--faint)}.fig__s option:disabled{color:var(--faint)}.band__row{display:flex;flex-wrap:wrap;align-items:flex-start;gap:6px 18px;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:var(--border) transparent;scrollbar-gutter:stable}.cell{display:flex;flex-wrap:wrap;align-content:flex-start;gap:2px 14px}.cell--e{flex:none;width:26rem}.cell--e:empty{display:none}.cell--fold{flex-direction:column;flex-wrap:nowrap;gap:3px}.cell--sl{display:grid;grid-template-columns:repeat(3,8.4rem);grid-auto-rows:auto;gap:0 14px}.hand{position:relative;flex:none;width:120px;aspect-ratio:3 / 2;border:1px solid var(--hairline-strong);border-radius:var(--r);background:linear-gradient(var(--hairline) 1px,transparent 1px) 0 0 / 100% 50%,linear-gradient(90deg,var(--hairline) 1px,transparent 1px) 0 0 / 50% 100%,color-mix(in oklab,var(--bg-deep) 40%,transparent);cursor:crosshair;touch-action:none;user-select:none;-webkit-user-select:none;transition:border-color var(--dur-2) var(--ease)}.hand:hover,.hand.is-down{border-color:var(--gold)}.hand:focus-within{outline:1px dashed color-mix(in oklab,var(--gold) 70%,transparent);outline-offset:4px;border-color:var(--gold)}.hand__l{position:absolute;font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);pointer-events:none;white-space:nowrap}.hand__l--x{left:6px;bottom:3px}.hand__l--y{left:6px;top:3px}.hand__dot{position:absolute;width:11px;height:11px;margin:-5.5px 0 0 -5.5px;border-radius:50%;background:var(--bg-deep);border:1px solid var(--gold);box-shadow:0 0 10px 1px var(--gold-glow),0 0 0 4px color-mix(in oklab,var(--gold) 12%,transparent);pointer-events:none}.hand__dot:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--gold)}.sl{display:grid;grid-template-columns:fit-content(70%) minmax(0,1fr);align-items:baseline;column-gap:8px;width:8.4rem;contain:layout}.cell--e .sl{width:8.4rem}.sl__l{min-width:0;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sl__v{min-width:0;font-size:.62rem;color:var(--faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:right;font-variant-numeric:tabular-nums}.sl__i{grid-column:1 / -1}.band input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:18px;margin:0;padding:0;background:transparent;cursor:pointer;color:var(--gold);--fill: 0%}.band input[type=range]:focus{outline:none}.band input[type=range]::-webkit-slider-runnable-track{height:2px;border-radius:1px;background:linear-gradient(90deg,var(--gold) var(--fill),var(--hairline-strong) var(--fill))}.band input[type=range]::-moz-range-track{height:2px;border-radius:1px;background:var(--hairline-strong)}.band input[type=range]::-moz-range-progress{height:2px;border-radius:1px;background:var(--gold)}.band input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:13px;height:13px;margin-top:-5.5px;border-radius:50%;background:var(--bg-deep);border:1px solid var(--gold);box-shadow:0 0 8px var(--gold-glow);transition:box-shadow var(--dur-2) var(--ease),transform var(--dur-1) var(--ease)}.band input[type=range]::-moz-range-thumb{width:11px;height:11px;border-radius:50%;background:var(--bg-deep);border:1px solid var(--gold);box-shadow:0 0 8px var(--gold-glow)}.band input[type=range]:hover::-webkit-slider-thumb,.band input[type=range]:active::-webkit-slider-thumb{box-shadow:0 0 12px 2px var(--gold-glow);transform:scale(1.15)}.band input[type=range]:focus-visible::-webkit-slider-thumb{outline:1px dashed var(--gold);outline-offset:4px}.band input[type=range]:focus-visible::-moz-range-thumb{outline:1px dashed var(--gold);outline-offset:4px}.seg{margin:0;padding:0;border:0;min-width:0}.seg__l{padding:0;margin-bottom:2px;font-size:.66rem;line-height:1.1;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.seg__r{display:flex;flex-wrap:wrap;gap:3px}.seg__o{position:relative;display:inline-flex}.seg__o input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.seg__t{display:inline-flex;align-items:center;min-height:24px;padding:0 .55em;border:1px solid color-mix(in oklab,var(--border-strong) 55%,transparent);border-radius:var(--r-full);color:var(--text-soft);font-size:.68rem;letter-spacing:.06em;white-space:nowrap;transition:color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.seg__o:hover .seg__t{color:var(--gold);border-color:color-mix(in oklab,var(--gold) 50%,transparent)}.seg__o.is-disabled{opacity:.35}.seg__o.is-disabled input{cursor:not-allowed}.seg__o.is-disabled:hover .seg__t{color:inherit;border-color:inherit}.seg__o input:checked+.seg__t{color:var(--gold);border-color:var(--gold);background:color-mix(in oklab,var(--gold) 12%,transparent)}.seg__o input:focus-visible+.seg__t{outline:1px dashed color-mix(in oklab,var(--gold) 70%,transparent);outline-offset:3px}.seg--fold .seg__t{min-width:24px;justify-content:center;padding:0 .4em}.seg--ink .seg__r{gap:5px}.sw{position:relative;display:inline-flex;width:22px;height:22px}.sw input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.sw__c{width:100%;height:100%;border-radius:50%;background:var(--sw);border:1px solid color-mix(in oklab,var(--bg-deep) 40%,transparent);box-shadow:0 0 0 1px color-mix(in oklab,var(--border-strong) 50%,transparent);transition:box-shadow var(--dur-1) var(--ease),transform var(--dur-1) var(--ease)}.sw:hover .sw__c{transform:scale(1.1)}.sw input:checked+.sw__c{box-shadow:0 0 0 1px var(--bg-deep),0 0 0 2.5px var(--gold),0 0 10px var(--gold-glow)}.sw input:focus-visible+.sw__c{outline:1px dashed var(--gold);outline-offset:3px}.tg{display:inline-flex;align-items:center;gap:.5em;min-height:24px;cursor:pointer;color:var(--muted);font-size:.68rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}.tg input{-webkit-appearance:none;appearance:none;width:26px;height:14px;margin:0;border-radius:7px;border:1px solid var(--border-strong);background:transparent;position:relative;cursor:pointer;transition:border-color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.tg input:after{content:"";position:absolute;top:2px;left:2px;width:8px;height:8px;border-radius:50%;background:var(--faint);transition:transform var(--dur-2) var(--ease),background var(--dur-1) var(--ease)}.tg input:checked{border-color:var(--gold);background:color-mix(in oklab,var(--gold) 14%,transparent)}.tg input:checked:after{transform:translate(12px);background:var(--gold)}.tg:hover{color:var(--text)}.tg input:focus-visible{outline:1px dashed var(--gold);outline-offset:3px}.drawer{position:absolute;right:16px;top:4px;margin:0}.drawer__s{display:inline-flex;align-items:center;gap:.5em;min-height:24px;padding:0 .3em;cursor:pointer;list-style:none;color:var(--faint);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;user-select:none}.drawer__s::-webkit-details-marker{display:none}.drawer__s:hover,.drawer__s:focus-visible{color:var(--gold)}.drawer__c{width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(-135deg);margin-top:3px;transition:transform var(--dur-2) var(--ease)}.drawer[open] .drawer__c{transform:rotate(45deg);margin-top:-3px}.drawer__body{position:absolute;right:0;bottom:calc(100% + 10px);z-index:5;width:min(58rem,calc(100vw - 32px));display:grid;gap:10px;padding:12px 14px;max-height:58vh;overflow-y:auto;scrollbar-width:thin;background:color-mix(in oklab,var(--surface) 95%,transparent);border:1px solid var(--hairline);border-radius:var(--r-lg);box-shadow:var(--shadow-3)}.seg--figure .seg__r{gap:4px}.drawer__grid{display:flex;flex-wrap:wrap;align-items:flex-start;gap:4px 18px}.cell--adv{display:contents}.drawer__help{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:8px 24px;padding-top:6px;border-top:1px solid var(--hairline)}.about{margin:0;font-family:var(--font-body);font-size:var(--step--1);line-height:1.55;color:var(--muted);letter-spacing:0;text-transform:none;max-width:62ch}.about__n{font-family:var(--font-display);font-style:italic;color:var(--gold)}.about__g{color:var(--faint)}.keys{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px;margin:0}.keys__r{display:flex;align-items:baseline;gap:.6em}.keys dt,.keys dd{margin:0}.keys kbd{font-family:var(--font-mono);font-size:.66rem;color:var(--text-soft);border:1px solid var(--hairline-strong);border-radius:var(--r-sm);padding:.05em .4em}.keys dd{color:var(--faint);font-size:.66rem;letter-spacing:.04em}@media(min-width:1440px)and (max-width:1549px){.loom{--band-h: 174px}}@media(min-width:761px)and (max-width:1439px){.loom{--band-h: 200px}.band__row{gap:6px 12px}.cell--e{width:24rem}.cell--sl{grid-template-columns:repeat(3,7.6rem)}.sl,.cell--e .sl{width:7.6rem}.seg--ink .seg__r{max-width:190px}}@media(min-width:761px)and (max-width:1239px){.loom{--band-h: 312px}.band__strip{flex-wrap:wrap}.fig{flex:1 1 100%}}@media(min-width:761px)and (max-width:1000px){.loom{--band-h: 348px}}@media(max-width:760px){.loom{--stage-inset: 148px}.loom.is-bare{--stage-inset: 0px}.quote{bottom:58%;width:min(86vw,30rem);font-size:var(--step-1)}.loom__intro{top:36%}.loom__title{font-size:var(--step-5)}.band{display:block;height:92dvh;max-height:92dvh;overflow-y:auto;overscroll-behavior:contain;padding:0 12px calc(10px + env(safe-area-inset-bottom,0px));gap:0;border-top:1px solid var(--hairline-strong);border-radius:28px 28px 0 0;background:color-mix(in oklab,var(--surface) 94%,transparent);transform:translateY(var(--sheet-off, calc(92dvh - 148px) ))}.band.is-hidden{transform:translateY(102%)}.band.is-dragging{transition:none}.band__handle{display:grid;place-items:center;position:sticky;top:0;z-index:1;width:100%;height:36px;margin:0;padding:0;border:0;background:color-mix(in oklab,var(--surface) 94%,transparent);cursor:grab;touch-action:none}.band__handle:active{cursor:grabbing}.band__grip{width:32px;height:4px;border-radius:2px;background:var(--border-strong)}.band__handle:focus-visible{outline-offset:-6px}.band__strip{flex-direction:column;align-items:stretch;gap:4px;min-height:0}.band__live{order:-1;text-align:left;flex:none;min-height:1.2em}.acts{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.act{min-height:34px}.fig{display:flex;gap:10px}.fig__s{flex:1 1 auto;width:auto;min-width:0;height:44px;font-size:var(--step-0)}.band__row{flex-direction:column;align-items:stretch;margin-top:10px;gap:10px;overflow:visible;scrollbar-gutter:auto}.hand{width:100%;max-width:100%}.cell--e,.cell--sl{max-width:none;width:auto}.cell--sl{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px}.sl,.cell--e .sl{width:100%}.cell--e{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 16px}.cell--e .seg,.cell--e .tg,.cell--e .act--e{grid-column:1 / -1}.band__strip{padding-right:0}.drawer{position:static;margin-top:8px}.drawer__body{position:static;width:auto;max-height:none;overflow:visible;padding:8px 0 0;background:none;border:0;border-top:1px solid var(--hairline);border-radius:0;box-shadow:none}.drawer__help,.keys{grid-template-columns:1fr}.loom__ghosts .ghost__n{display:none}.loom__ghosts .ghost{padding:0 .7em}}@media(forced-colors:active){.act,.fig__s,.ghost,.loom__pill,.seg__t,.sw__c,.tg input,.hand{border:1px solid ButtonText}.band input[type=range]::-webkit-slider-thumb{border:1px solid ButtonText}.fig:after{forced-color-adjust:none;background-color:ButtonText}}
