@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-hebrew-wght-normal-DdnsCkLr.woff2) format("woff2-variations");unicode-range:U+0307-0308,U+0590-05FF,U+200C-2010,U+20AA,U+25CC,U+FB1D-FB4F}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-ext-wght-normal-CYrqKuxd.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/fredoka-latin-wght-normal-DM6njrJ3.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink: #191728;--plate-hi: #3d3a6b;--plate-lo: #262344;--raised: #4a4680;--raised-lo: #39366a;--well: rgba(12, 10, 28, .5);--text: #fffaf0;--muted: rgba(255, 250, 240, .66);--accent: #ffd23f;--accent-hi: #ffe680;--accent-lo: #f0a800;--ok: #5ee07a;--warn: #ffbf47;--err: #ff6b6b;--blue: #4cc3ff;--purple: #b98cff;--drop: #120f22;--panel: rgba(46, 43, 82, .92);--panel-strong: rgba(38, 35, 68, .97);--border: rgba(255, 255, 255, .16);--radius: 16px;--font: "Fredoka Variable", ui-rounded, "SF Pro Rounded", system-ui, -apple-system, "Segoe UI", sans-serif;--plate: linear-gradient(180deg, var(--plate-hi), var(--plate-lo));--plate-shadow: inset 0 2px 0 rgba(255, 255, 255, .14), inset 0 -3px 0 rgba(0, 0, 0, .22), 0 5px 0 var(--drop), 0 12px 28px rgba(0, 0, 0, .22);--outline-text: 0 2px 0 var(--ink), 2px 0 0 var(--ink), -2px 0 0 var(--ink), 0 -2px 0 var(--ink), 1.5px 1.5px 0 var(--ink), -1.5px 1.5px 0 var(--ink), 1.5px -1.5px 0 var(--ink), -1.5px -1.5px 0 var(--ink);font-family:var(--font);font-weight:500;color:var(--text)}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;height:100%;overflow:hidden;background:#8fb8d8}#view{position:fixed;inset:0;width:100%;height:100%;display:block;outline:none}#hud{position:fixed;inset:0;pointer-events:none;font-size:14px}#hud button,#hud input,#hud select,#hud label,#hud form,.dock-plate,.popup,.window,#selection,.panel{pointer-events:auto}button{font:inherit;font-weight:600;color:var(--text);background:linear-gradient(180deg,var(--raised),var(--raised-lo));border:2.5px solid var(--ink);border-radius:10px;padding:6px 11px;cursor:pointer;box-shadow:inset 0 1.5px #ffffff2e,0 2px 0 var(--ink)}button:hover:not(:disabled){filter:brightness(1.12)}button:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1.5px #ffffff2e}button:disabled{opacity:.4;cursor:default}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;margin-right:3px;font:700 11.5px/1 var(--font);color:var(--ink);background:linear-gradient(180deg,#fffdf6,#e4ddcc);border:2px solid var(--ink);border-bottom-width:4px;border-radius:7px;white-space:nowrap}.ico{width:20px;height:20px;flex:none}.ico.glyph{display:inline-grid;place-items:center;font-weight:700}#dock{position:absolute;left:0;right:0;bottom:18px;padding:0 16px;display:grid;grid-template-columns:1fr minmax(0,640px) 1fr;grid-template-areas:"left center right";gap:14px;align-items:end;pointer-events:none}.dock-left{grid-area:left;justify-self:start}.dock-right{grid-area:right;justify-self:start}.dock-center{grid-area:center;min-width:0;display:flex;flex-direction:column;gap:8px}.dock-plate{padding:8px;background:var(--plate);border:3px solid var(--ink);border-radius:20px;box-shadow:var(--plate-shadow)}.dock-region:empty{display:none}.player-plate{width:200px;display:flex;flex-direction:column;gap:7px}.meters{display:flex;flex-direction:column;gap:5px}.meter{display:flex;align-items:center;gap:6px}.meter-badge{flex:none;width:20px;height:20px;display:grid;place-items:center;color:var(--meter);filter:drop-shadow(0 1.5px 0 var(--ink)) drop-shadow(1.5px 0 0 var(--ink)) drop-shadow(-1.5px 0 0 var(--ink)) drop-shadow(0 -1.5px 0 var(--ink));transition:color .3s}.meter-badge .ico{width:18px;height:18px}.meter-bar{position:relative;flex:1;height:10px;background:#0f0d2273;border:2px solid var(--ink);border-radius:99px;overflow:hidden}.meter-bar i{display:block;height:100%;width:100%;border-radius:99px;background:linear-gradient(180deg,color-mix(in srgb,var(--meter) 55%,white) 0 30%,var(--meter) 30%);transition:width .2s ease-out,background .3s}.meter-bar[style*=--notches]:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(100% - 2px),rgba(25,23,40,.45) 0) 0 0 / calc(100% / var(--notches)) 100%;pointer-events:none}.meter-num{min-width:24px;text-align:right;font-weight:700;font-size:13px;font-variant-numeric:tabular-nums;text-shadow:var(--outline-text)}.meter-num:empty{display:none}.meter.slim .meter-badge{width:18px;height:18px}.meter.slim .meter-badge .ico{width:15px;height:15px}.meter.slim .meter-bar{height:7px;border-width:2px}.meter.low .meter-badge{animation:throb .8s ease-in-out infinite}.meter.shake{animation:shake .35s}.meter.heal .meter-bar{animation:heal-glow .6s}.meter.bump .meter-badge,.meter.bump .meter-num{animation:bump .32s cubic-bezier(.3,1.8,.5,1)}@keyframes bump{40%{transform:scale(1.45) translateY(-2px)}}@keyframes throb{50%{transform:scale(1.18)}}@keyframes shake{20%{transform:translate(-5px) rotate(-1.5deg)}40%{transform:translate(5px) rotate(1.5deg)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@keyframes heal-glow{40%{box-shadow:0 0 0 3px #5ee07a99}}.actions{display:flex;gap:6px}.action{position:relative;width:56px;height:46px;padding:3px 2px 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;border:3px solid var(--ink);border-radius:14px;background:linear-gradient(180deg,#55519a,var(--raised-lo));box-shadow:inset 0 2px #ffffff38,inset 0 -3px #0003,0 4px 0 var(--drop);transition:transform .12s cubic-bezier(.3,1.6,.5,1),background .15s}.action .ico{width:21px;height:21px}.action-label{font-size:9.5px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.action-key{position:absolute;top:-9px;right:-7px;min-width:18px;height:18px;padding:0 4px;margin:0;font-size:10px;border-bottom-width:3px;border-radius:6px}.action-badge{position:absolute;top:-9px;left:-7px;min-width:20px;height:20px;padding:0 5px;display:grid;place-items:center;font-size:11px;font-weight:700;color:var(--ink);background:var(--ok);border:2.5px solid var(--ink);border-radius:99px}.action.offline .action-badge{background:var(--err)}.action:hover:not(:disabled){filter:none;transform:translateY(-3px);background:linear-gradient(180deg,#625dae,#45417c)}.action:active:not(:disabled){transform:translateY(3px);box-shadow:inset 0 2px #ffffff38,0 1px 0 var(--drop)}.action.on{color:var(--ink);background:linear-gradient(180deg,var(--accent-hi),var(--accent))}.action.compact{width:40px}.action.compact .action-label{display:none}.action:disabled{opacity:.4}.prompts{display:flex;flex-direction:column;align-items:center;gap:6px}.keyhints{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;animation:pop-in .25s cubic-bezier(.3,1.6,.5,1)}.keyhint{display:inline-flex;align-items:center;gap:2px;padding:4px 12px 4px 5px;font-weight:600;font-size:14px;white-space:nowrap;background:var(--plate);border:3px solid var(--ink);border-radius:99px;box-shadow:0 3px 0 var(--drop)}.keyhint kbd{margin-right:5px}.keyhint kbd+kbd{margin-left:-2px}.meters .keyhints{justify-content:flex-start;gap:2px 8px;margin-top:1px}.meters .keyhint{padding:0;font-size:11.5px;color:var(--text);text-shadow:0 1px 2px rgba(0,0,0,.7);background:none;border:none;box-shadow:none}.meters .keyhint kbd{height:19px;min-width:19px;font-size:10px;border-bottom-width:3px;margin-right:4px}.keyhint.strong{padding-left:12px;font-size:17px;font-weight:700;color:var(--accent);font-variant-numeric:tabular-nums;min-width:96px;justify-content:center}#prompt{position:relative}.prompt-tabs{position:relative;z-index:1;display:flex;gap:6px;padding-left:22px;margin-bottom:-3px}.tab{display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px 0 8px;font-size:12.5px;font-weight:600;color:var(--text);background:var(--plate-hi);border:3px solid var(--ink);border-bottom:none;border-radius:11px 11px 0 0;box-shadow:inset 0 2px #ffffff24;white-space:nowrap}.tab .ico{width:15px;height:15px}.tab.ok .ico{color:var(--ok)}.tab.err{color:var(--warn)}button.tab{cursor:pointer}button.tab:hover{transform:translateY(-2px)}button.tab:active{transform:none}#spend .ico{color:var(--accent)}#spend.on{color:var(--ink);background:var(--accent)}#spend.on .ico{color:var(--ink)}.prompt-row{position:relative;display:flex;align-items:center;gap:9px;padding:8px;background:linear-gradient(180deg,var(--plate-hi),#2a2750);border:3px solid var(--ink);border-radius:24px;box-shadow:inset 0 2px #ffffff24,inset 0 -4px #00000038,0 6px 0 var(--drop),0 16px 34px #00000047;cursor:text;transition:transform .22s cubic-bezier(.3,1.6,.5,1),box-shadow .2s}#prompt.open .prompt-row{transform:translateY(-4px) scale(1.015);box-shadow:inset 0 2px #ffffff24,inset 0 -4px #00000038,0 0 0 4px var(--accent),0 10px 0 var(--drop),0 22px 44px #00000052}.prompt-orb{flex:none;width:44px;height:44px;display:grid;place-items:center;color:var(--ink);background:radial-gradient(circle at 35% 30%,#fff6c4,var(--accent) 48%,var(--accent-lo));border:3px solid var(--ink);border-radius:50%;box-shadow:inset 0 -3px #0000002e}.prompt-orb svg{width:24px;height:24px}#prompt.open .prompt-orb{animation:wiggle .5s ease-in-out}#prompt.busy .prompt-orb svg{animation:twinkle 1.2s ease-in-out infinite}#prompt.cast .prompt-row{animation:cast .45s cubic-bezier(.3,1.6,.5,1)}#prompt.cast .prompt-orb{animation:spin-pop .5s ease-out}.prompt-field{position:relative;flex:1;min-width:0;display:flex}#prompt-input{flex:1;min-width:0;height:44px;font:600 18px var(--font);color:var(--text);background:var(--well);border:none;border-radius:14px;box-shadow:inset 0 3px #0000004d;outline:none;padding:0 14px}#prompt-input::placeholder{color:transparent}#prompt-idea{position:absolute;top:50%;left:14px;right:14px;transform:translateY(-50%);overflow:hidden;line-height:1.3;text-overflow:ellipsis;font:600 18px var(--font);color:#fffaf073;white-space:nowrap;pointer-events:none;transition:opacity .5s ease}#prompt-idea.fading{opacity:0}#prompt-input:not(:placeholder-shown)+#prompt-idea{display:none}#prompt-send{flex:none;height:46px;padding:0 22px;font-size:18px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--ink);background:linear-gradient(180deg,var(--accent-hi),var(--accent) 55%,#f7bd1a);border:3px solid var(--ink);border-radius:16px;box-shadow:inset 0 2px #ffffffa6,inset 0 -4px #be6e0073,0 4px 0 var(--drop);transition:transform .15s cubic-bezier(.3,1.6,.5,1)}#prompt-send:hover{filter:none;transform:translateY(-2px) rotate(-2deg) scale(1.04)}#prompt-send:active{transform:translateY(3px);box-shadow:inset 0 2px #ffffffa6,inset 0 -2px #be6e0073,0 1px 0 var(--drop)}#prompt.busy .prompt-row:after{content:"";position:absolute;inset:-3px;border-radius:inherit;padding:3px;background:conic-gradient(from var(--spin, 0deg),transparent 0 60%,var(--accent) 75%,#fff 80%,var(--purple) 88%,transparent 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin-border 1.6s linear infinite;pointer-events:none}@property --spin{syntax: "<angle>"; inherits: false; initial-value: 0deg;}@keyframes spin-border{to{--spin: 360deg}}@keyframes twinkle{50%{transform:scale(.78) rotate(25deg)}}@keyframes wiggle{25%{transform:rotate(-14deg) scale(1.1)}60%{transform:rotate(10deg)}}@keyframes spin-pop{50%{transform:rotate(180deg) scale(1.25)}to{transform:rotate(360deg)}}@keyframes cast{30%{transform:scale(.97)}65%{transform:scale(1.025) translateY(-3px)}}#prompt-status{margin:8px 18px 0;font-size:13.5px;font-weight:600;text-align:center;text-shadow:var(--outline-text)}#prompt-status:empty{display:none}#prompt-status.err{color:var(--err)}#builds{display:flex;flex-direction:column;gap:6px}#builds:empty{display:none}.build{--tag: #9a96c8;position:relative;display:flex;align-items:center;gap:8px;padding:4px 6px 7px 4px;background:var(--plate);border:3px solid var(--ink);border-radius:16px;box-shadow:var(--plate-shadow);overflow:hidden;pointer-events:auto;animation:card-in .4s cubic-bezier(.3,1.6,.5,1);transition:opacity .5s,transform .5s}.build.thinking{--tag: var(--purple)}.build.building{--tag: var(--accent)}.build.checking{--tag: var(--blue)}.build.done{--tag: var(--ok);animation:card-done .55s cubic-bezier(.3,1.6,.5,1)}.build.failed{--tag: var(--err);animation:shake .4s}.build.done.unbuilt{--tag: var(--warn);animation:none}.build.done.unbuilt .build-icon{animation:none}.build.gone{opacity:0;transform:translateY(10px) scale(.94)}@keyframes card-in{0%{opacity:0;transform:translateY(18px) scale(.9)}}@keyframes card-done{40%{transform:scale(1.035)}}.build-icon{flex:none;width:26px;height:26px;display:grid;place-items:center;color:var(--ink);background:var(--tag);border:2.5px solid var(--ink);border-radius:50%;box-shadow:inset 0 -3px #0003,inset 0 2px #ffffff73}.build-icon .ico{width:14px;height:14px}.build.thinking .build-icon .ico{animation:bob 1.1s ease-in-out infinite}.build.building .build-icon .ico{transform-origin:30% 80%;animation:hammer .45s ease-in-out infinite alternate}.build.checking .build-icon .ico{animation:scan 1.2s ease-in-out infinite}@keyframes scan{25%{transform:translate(-3px)}75%{transform:translate(3px)}}.build.waiting .build-icon .ico{animation:flip 2s ease-in-out infinite}.build.done .build-icon{animation:pop .5s cubic-bezier(.3,1.6,.5,1)}@keyframes bob{50%{transform:translateY(-3px)}}@keyframes hammer{0%{transform:rotate(-30deg)}to{transform:rotate(18deg)}}@keyframes flip{40%,60%{transform:rotate(180deg)}to{transform:rotate(180deg)}}@keyframes pop{0%{transform:scale(.4)}}.build-text{flex:1;min-width:0;display:flex;align-items:center;gap:8px}.build-prompt{flex:0 1 auto;max-width:55%;font-size:13.5px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.build-line{flex:1;display:flex;align-items:center;gap:7px;min-width:0}.build-tag{flex:none;padding:1px 6px;font-size:9.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--ink);background:var(--tag);border-radius:99px}.build-status{flex:1;min-width:0;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.build-status .say{color:var(--text)}.build.done,.build.failed,.build.cancelled{flex-wrap:wrap;row-gap:2px}.build.done .build-text,.build.failed .build-text,.build.cancelled .build-text,.build.done .build-line,.build.failed .build-line,.build.cancelled .build-line{display:contents}.build.done .build-prompt,.build.failed .build-prompt,.build.cancelled .build-prompt{flex:1;min-width:0;max-width:none}.build.done .build-status,.build.failed .build-status,.build.cancelled .build-status{order:1;flex-basis:100%;padding:0 4px 2px 34px;white-space:normal;overflow-wrap:anywhere;line-height:1.35}.build.done .build-status .say{font-size:13px}.build.failed .build-status{color:#ffc4bb}.build-count{flex:none;font-size:16px;font-weight:700;color:var(--accent);text-shadow:var(--outline-text);font-variant-numeric:tabular-nums}.build.done .build-count{color:var(--ok)}.build-count.pop{animation:count-pop .35s cubic-bezier(.3,1.6,.5,1)}@keyframes count-pop{0%{transform:scale(1.6) rotate(-8deg)}}.build-time{flex:none;min-width:32px;text-align:right;font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums}.build-stop{flex:none;width:22px;height:22px;padding:0;display:grid;place-items:center;border-width:2px;border-radius:50%}.build-stop .ico{width:10px;height:10px}.build-stop:hover{background:var(--err);color:var(--ink)}.build-fold{flex:none;width:22px;height:22px;padding:0;display:grid;place-items:center;border-width:2px;border-radius:50%}.build-fold .ico{width:12px;height:12px}.build:not(.waiting):not(.thinking):not(.building):not(.checking) .build-stop:hover{background:var(--raised);color:var(--text)}#builds.folded{flex-direction:row;flex-wrap:wrap;justify-content:center}#builds.folded .build{flex:none;gap:6px;padding:3px 9px 6px 3px;cursor:pointer}#builds.folded .build-text{flex:none}#builds.folded .build-prompt,#builds.folded .build .build-status,#builds.folded .build-fold,#builds.folded .build-stop{display:none}#builds.folded .build-tag{margin-top:0}#builds.folded .build-time{display:none}#builds.folded .build-bar{left:10px;right:10px}.build-bar{position:absolute;left:14px;right:14px;bottom:2px;height:3px;border-radius:99px;background:#00000059;overflow:hidden}.build-bar:after{content:"";position:absolute;inset:0;border-radius:inherit;background:repeating-linear-gradient(-45deg,var(--tag) 0 6px,color-mix(in srgb,var(--tag) 60%,white) 6px 12px);background-size:17px 100%;animation:stripes .5s linear infinite}.build.thinking .build-bar:after{animation-duration:1.4s;opacity:.8}.build.waiting .build-bar:after{animation:none;opacity:.35}.build.done .build-bar:after,.build.failed .build-bar:after,.build.cancelled .build-bar:after{animation:none;background:var(--tag)}@keyframes stripes{to{background-position:17px 0}}#log{display:flex;flex-direction:column;gap:6px;align-items:center}#log:empty{display:none}.toast{max-width:100%;padding:6px 15px;font-size:14px;font-weight:600;background:var(--plate);border:3px solid var(--ink);border-radius:99px;box-shadow:0 3px 0 var(--drop);animation:pop-in .3s cubic-bezier(.3,1.6,.5,1);transition:opacity .5s,transform .5s}.toast.fade{opacity:0;transform:translateY(-8px)}.toast.err{color:#ffd6cf;background:linear-gradient(180deg,#7a2c3a,#5a1f2c)}.toast .meta{color:var(--muted);font-size:12.5px;font-weight:500;margin-left:8px}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.85)}}#selection{align-self:center;display:flex;gap:8px;align-items:center;padding:4px 5px 4px 6px;background:var(--plate);border:3px solid var(--ink);border-radius:99px;box-shadow:0 3px 0 var(--drop);animation:pop-in .25s cubic-bezier(.3,1.6,.5,1)}#selection .label{padding:1px 8px;font-size:10.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--ink);background:var(--accent);border-radius:99px}#selection-clear{width:24px;height:24px;padding:0;font-size:11px;border-radius:50%}#selection .selection-act{display:inline-flex;align-items:center;height:26px;padding:0 10px 0 3px;font-size:12.5px;border-radius:99px}#selection .selection-act kbd{height:18px;min-width:18px;padding:0 4px;margin-right:5px;font-size:10px;border-width:1.5px;border-bottom-width:3px;border-radius:5px}#selection-delete:hover{background:linear-gradient(180deg,#ff8a8a,#e85b5b)}#hint{position:absolute;left:50%;top:16px;transform:translate(-50%);display:flex;align-items:center;gap:4px;font-size:13.5px;font-weight:600;padding:5px 14px;background:var(--plate);border:3px solid var(--ink);border-radius:99px;box-shadow:0 3px 0 var(--drop);transition:opacity .3s,transform .3s;white-space:nowrap}#hint kbd{margin:0 1px}#hint.hidden{opacity:0;transform:translate(-50%,-12px)}#crosshair{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}#crosshair .dot{width:5px;height:5px;border-radius:50%;background:#ffffff73;box-shadow:0 0 0 1px #0000002e;transition:transform .15s cubic-bezier(.3,1.6,.5,1),background .12s}#crosshair.on .dot{transform:scale(1.5);background:color-mix(in srgb,var(--accent) 75%,transparent)}#target-label{position:absolute;right:18px;top:14px;max-width:40vw;overflow:hidden;text-overflow:ellipsis;font-size:12.5px;font-weight:600;color:#ffffffd1;text-shadow:0 1px 2px rgba(0,0,0,.55),0 0 6px rgba(0,0,0,.25);white-space:nowrap}#target-label:empty{display:none}#stats{position:absolute;top:14px;left:14px;padding:8px 11px;background:#191728db;border:3px solid var(--ink);border-radius:12px;min-width:250px;font:12px/1.5 ui-monospace,SF Mono,Menlo,monospace;pointer-events:auto}#stats pre{margin:0;font:inherit;white-space:pre}#stats .debug-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:8px}#stats .debug-head>span{font:700 12px/1.4 var(--font);letter-spacing:.08em;text-transform:uppercase;opacity:.7}#debug-tabs{display:flex;gap:2px;padding:2px;background:#0000004d;border-radius:9px}#debug-tabs button{padding:2px 10px;font:700 12px/1.4 var(--font);color:inherit;background:none;border:0;border-radius:7px;box-shadow:none;opacity:.65}#debug-tabs button:active{transform:none;box-shadow:none}#debug-tabs button.on{color:var(--ink);background:var(--accent);opacity:1}#debug-controls:empty,#debug-controls[hidden]{display:none}#debug-controls{margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.15)}.debug-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.debug-choices{display:flex;gap:4px}.debug-choices button{padding:2px 8px;font-size:12px;border-width:2px;border-radius:8px}.debug-choices button.on{color:var(--ink);background:var(--accent)}.popup{position:absolute;z-index:10;padding:10px;background:var(--plate);border:3px solid var(--ink);border-radius:20px;box-shadow:var(--plate-shadow);transform-origin:var(--arrow, 50%) 100%;animation:popup-in .22s cubic-bezier(.3,1.6,.5,1)}.popup:after{content:"";position:absolute;left:calc(var(--arrow, 50%) - 9px);bottom:-11px;width:16px;height:16px;background:var(--plate-lo);border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:rotate(45deg)}.popup.below{transform-origin:var(--arrow, 50%) 0}.popup.scrolls{overflow-y:auto;overscroll-behavior:contain}.popup.below:after{top:-11px;bottom:auto;background:var(--plate-hi);border:3px solid var(--ink);border-right:none;border-bottom:none}@keyframes popup-in{0%{opacity:0;transform:translateY(10px) scale(.88)}}.popup-title{margin:0 4px 8px;font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--accent)}#menu{width:250px;display:flex;flex-direction:column;gap:5px}#menu button{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px 8px 13px;text-align:left;font-size:14px;border-radius:12px}#menu button:hover{filter:none;color:var(--ink);background:linear-gradient(180deg,var(--accent-hi),var(--accent))}#menu button>span:first-child{flex:1}#menu button small{color:var(--muted);font-size:11px}#menu button:hover small{color:inherit}#menu kbd{margin:0}#picker{width:min(520px,calc(100vw - 24px))}.picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;max-height:min(60vh,420px);overflow:auto;padding:2px 2px 4px}.tile{display:flex;flex-direction:column;align-items:center;gap:6px;padding:7px 6px 6px;font-size:12.5px;border-radius:13px;transition:transform .12s cubic-bezier(.3,1.6,.5,1)}.tile:hover{transform:translateY(-2px)}.tile.on{color:var(--ink);background:linear-gradient(180deg,var(--accent-hi),var(--accent))}.tile .ico{width:28px;height:28px}.swatch{width:100%;height:28px;border:2.5px solid var(--ink);border-radius:8px;background:linear-gradient(90deg,var(--a) 0 42%,var(--b) 42% 72%,var(--c) 72%)}.window{position:absolute;left:50%;top:50%;z-index:20;transform:translate(-50%,-50%);max-height:calc(100% - 32px);overflow:auto;padding:16px 22px 20px;background:linear-gradient(180deg,#3a3768,#252242);border:4px solid var(--ink);border-radius:26px;box-shadow:inset 0 3px #ffffff24,0 8px 0 var(--drop),0 30px 80px #00000073;animation:window-in .28s cubic-bezier(.3,1.5,.5,1)}@keyframes window-in{0%{opacity:0;transform:translate(-50%,-46%) scale(.92)}}.window-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.window h2{margin:0;font-size:26px;font-weight:700;letter-spacing:.3px;text-shadow:0 3px 0 var(--ink)}.window-close{flex:none;width:36px;height:36px;padding:0;font-size:15px;color:var(--ink);background:linear-gradient(180deg,#ff9a8f,var(--err));border:3px solid var(--ink);border-radius:50%;box-shadow:inset 0 2px #ffffff73,0 3px 0 var(--drop)}.big-button{flex:none;padding:10px 24px;font-size:17px;font-weight:700;color:var(--ink);background:linear-gradient(180deg,var(--accent-hi),var(--accent) 55%,#f7bd1a);border:3px solid var(--ink);border-radius:16px;box-shadow:inset 0 2px #ffffffa6,inset 0 -4px #be6e0073,0 4px 0 var(--drop)}#help{width:min(1000px,calc(100% - 32px))}.help-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:14px}.ctl-card{background:#0a081952;border:3px solid var(--ink);border-radius:18px;overflow:hidden;box-shadow:0 4px 0 var(--drop)}.ctl-card h3{margin:0;display:flex;align-items:center;gap:8px;padding:7px 12px;font-size:16px;font-weight:700;color:var(--ink);background:var(--card);border-bottom:3px solid var(--ink);box-shadow:inset 0 2px #fff6}.ctl-icon .ico{width:20px;height:20px;display:block}.ctl-card ul{list-style:none;margin:0;padding:10px 12px 12px;display:grid;grid-template-columns:max-content 1fr;align-items:center;gap:8px 12px}.ctl-card li{display:contents}.ctl-keys{display:flex;align-items:center;gap:1px}.ctl-keys kbd{height:26px;min-width:26px;font-size:12.5px;margin-right:2px}.ctl-keys kbd.mouse{background:linear-gradient(180deg,#d9f2ff,#a9dcf7)}.ctl-keys .dash{color:var(--muted);margin:0 3px 0 1px}.ctl-text{font-size:14px;line-height:1.2}.ctl-text small{display:block;margin-top:1px;font-size:11.5px;color:var(--muted)}.help-foot{display:flex;align-items:center;gap:18px;margin-top:16px}.help-foot p{flex:1;margin:0;font-size:13.5px;line-height:1.45;color:var(--muted)}.help-foot em{color:var(--text);font-style:normal;font-weight:600}#usage{width:min(420px,calc(100% - 32px));font-size:13px}#usage h3{margin:14px 0 6px;font-size:11.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--accent)}.usage-line{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:5px 0}.usage-line+.usage-line{border-top:2px dashed rgba(255,255,255,.08)}.usage-line strong{font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--accent)}.usage-label{overflow-wrap:anywhere}#usage .muted{color:var(--muted);font-size:12px}#usage p{margin:4px 0}#usage .note{margin-top:12px;color:var(--muted);font-size:11.5px;line-height:1.45}#usage code{font-size:11px}@media(max-width:1180px){.player-plate{width:200px}.action{width:46px;height:46px}.action .ico{width:22px;height:22px}.action-label{display:none}.action.compact{width:36px}}@media(max-width:860px){#dock{grid-template-columns:1fr 1fr;grid-template-areas:"left right" "center center";row-gap:10px}.dock-left{justify-self:start}.dock-right{justify-self:end}.dock-center{width:min(640px,100%);justify-self:center}}@media(max-width:640px){#hint{display:none}#dock{bottom:10px;padding:0 10px;gap:8px}.player-plate{width:170px}.action{width:42px;height:44px}.action .ico{width:20px;height:20px}.action-label,.action-key{display:none}.action.compact{width:32px}.dock-plate{padding:6px}.actions{gap:4px;flex-wrap:wrap;justify-content:flex-end}#prompt-send{padding:0 14px;font-size:16px}.prompt-orb{display:none}.picker-grid{grid-template-columns:repeat(3,1fr)}.help-foot{flex-direction:column;align-items:stretch}}.picker-looks{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:2px 2px 10px}.picker-sub{margin-top:2px}.popup-title kbd{margin-left:4px;font-size:10px}.look{display:flex;flex-direction:column;align-items:center;gap:6px;padding:7px 4px 6px;font-size:12px;line-height:1.15;border-radius:13px;transition:transform .12s cubic-bezier(.3,1.6,.5,1)}.look:hover{transform:translateY(-2px)}.look.on{color:var(--ink);background:linear-gradient(180deg,var(--accent-hi),var(--accent))}.look-art{width:34px;height:34px;border:2.5px solid var(--ink);border-radius:9px;background-color:#cfe9f2;background-repeat:no-repeat}.look-standard .look-art{background-image:radial-gradient(circle at 50% 30%,#f1c9a1 0 5px,transparent 5.5px),radial-gradient(ellipse 7px 9px at 50% 66%,#2f8f83 0 98%,transparent 100%)}.look-voxel .look-art{image-rendering:pixelated;background-size:100% 100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' shape-rendering='crispEdges'%3E%3Crect width='12' height='12' fill='%23cfe9f2'/%3E%3Crect x='4' y='1' width='4' height='4' fill='%23c44a3a'/%3E%3Crect x='4' y='3' width='4' height='2' fill='%23e8b98d'/%3E%3Crect x='3' y='5' width='6' height='4' fill='%232f8f83'/%3E%3Crect x='8' y='5' width='1' height='4' fill='%23246f66'/%3E%3Crect x='4' y='9' width='2' height='2' fill='%2325305e'/%3E%3Crect x='6' y='9' width='2' height='2' fill='%231d2650'/%3E%3C/svg%3E")}.look-pixel .look-art{image-rendering:pixelated;background-size:100% 100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' shape-rendering='crispEdges'%3E%3Crect width='12' height='12' fill='%23cfe9f2'/%3E%3Crect x='4' y='1' width='4' height='4' fill='%231b1726'/%3E%3Crect x='5' y='2' width='2' height='2' fill='%23f1c9a1'/%3E%3Crect x='4' y='1' width='4' height='1' fill='%23e2584a'/%3E%3Crect x='3' y='5' width='6' height='4' fill='%231b1726'/%3E%3Crect x='4' y='5' width='4' height='3' fill='%233aa596'/%3E%3Crect x='4' y='8' width='4' height='3' fill='%231b1726'/%3E%3Crect x='5' y='8' width='1' height='2' fill='%233a3f7a'/%3E%3Crect x='6' y='8' width='1' height='2' fill='%233a3f7a'/%3E%3C/svg%3E")}@media(max-width:640px){.picker-looks{grid-template-columns:repeat(3,1fr)}}.lib-scrim{position:fixed;inset:0;z-index:40;background:radial-gradient(ellipse at center,#080a0e2e,#080a0e6b);pointer-events:auto}.lib{--lib-sky: linear-gradient(180deg, #9fc4e3 0%, #c4dbeb 52%, #e5ece9 100%);--lib-line: rgba(255, 255, 255, .09);--lib-soft: rgba(255, 255, 255, .055);position:fixed;left:50%;top:50%;z-index:41;width:min(1120px,calc(100vw - 48px));height:min(740px,calc(100vh - 48px));transform:translate(-50%,-50%);display:flex;flex-direction:column;overflow:hidden;color:var(--text);font-size:14px;background:linear-gradient(180deg,#3a3768f7,#252242f7);border:4px solid var(--ink);border-radius:26px;box-shadow:inset 0 3px #ffffff24,0 8px 0 var(--drop),0 30px 90px #00000073}.lib.lib-in{animation:lib-in .18s cubic-bezier(.2,.8,.3,1)}@keyframes lib-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 10px)) scale(.985)}}.lib button{backdrop-filter:none;-webkit-backdrop-filter:none}.lib kbd{min-width:18px;height:19px;padding:0 5px;font-size:10.5px;border-bottom-width:3px;border-radius:6px}.lib-head{display:flex;align-items:center;gap:16px;padding:16px 16px 12px 22px}.lib-title{display:flex;align-items:baseline;gap:10px;flex:none;min-width:0}.lib-title h2{margin:0;font-size:26px;font-weight:700;text-shadow:0 3px 0 var(--ink);letter-spacing:.2px}.lib-count{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}.lib-search{flex:1;max-width:520px;margin-left:auto;display:flex;align-items:center;gap:8px;height:40px;padding:0 14px;background:#ffffff12;border:1px solid rgba(255,255,255,.14);border-radius:999px;transition:border-color .15s,box-shadow .15s,background .15s;cursor:text}.lib-search:focus-within{background:#ffffff1a;border-color:#ffd84db3;box-shadow:0 0 0 4px #ffd84d24}.lib-search svg{flex:none;width:17px;height:17px;color:var(--muted)}.lib-search input{flex:1;min-width:0;height:100%;font:inherit;font-size:15px;color:var(--text);background:transparent;border:none;outline:none;padding:0}.lib-search input::placeholder{color:#f4f1ea7a}.lib-search input::-webkit-search-cancel-button{filter:invert(1) opacity(.6);cursor:pointer}.lib-close{flex:none;width:38px;height:38px;padding:0;border-radius:50%;font-size:15px;line-height:1;color:var(--muted);background:#ffffff0f;border:1px solid var(--border)}.lib-close:hover{color:var(--text);background:#ffffff1f!important}.lib-shelves{display:flex;flex-wrap:wrap;gap:6px;padding:0 22px 12px}.lib-chip{display:inline-flex;align-items:center;gap:7px;padding:5px 12px 5px 13px;font-size:13px;font-weight:600;color:var(--text);background:var(--lib-soft);border:1px solid var(--lib-line);border-radius:999px;transition:background .12s,border-color .12s}.lib-chip span{font-size:11.5px;font-weight:600;color:var(--muted);font-variant-numeric:tabular-nums}.lib-chip:hover{background:#ffffff1a!important;border-color:#ffffff2e}.lib-chip.on,.lib-chip.on:hover{color:#2a2410;background:linear-gradient(180deg,#ffe27a,#f5c52c)!important;border-color:transparent}.lib-chip.on span{color:#2a2410a6}.lib-chip.zero:not(.on){opacity:.45}.lib-offered{margin:-2px 22px 12px;padding:7px 12px;font-size:12.5px;line-height:1.7;color:var(--muted);background:#ffd84d0f;border:1px solid rgba(255,216,77,.16);border-radius:10px}.lib-offered-label{margin-right:2px}.lib-offered button{padding:0 7px;font:600 12px/20px ui-monospace,SF Mono,Menlo,monospace;color:var(--accent);background:#ffd84d1a;border:none;border-radius:6px}.lib-offered button:hover{background:#ffd84d33!important}.lib-sep{color:var(--muted)}.lib-body{position:relative;flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 384px;border-top:1px solid var(--lib-line)}.lib-scroll{min-width:0;overflow-y:auto;overscroll-behavior:contain;padding:6px 18px 22px 22px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent}.lib-note{margin:10px 0 0;font-size:12.5px;color:var(--muted)}.lib-grid{position:relative;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;padding-top:12px}.lib-section{grid-column:1 / -1;display:flex;align-items:baseline;gap:8px;margin:8px 0 -2px;font-size:12px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:#f4f1eacc}.lib-section:first-child{margin-top:0}.lib-section span{font-weight:600;letter-spacing:0;color:var(--muted)}.lib-card{display:flex;flex-direction:column;min-width:0;padding:0;text-align:left;color:var(--text);background:#ffffff0b!important;border:1px solid rgba(255,255,255,.08);border-radius:14px;overflow:hidden;outline:none;content-visibility:auto;contain-intrinsic-size:auto 170px;transition:transform .14s,border-color .14s,box-shadow .14s,background .14s}.lib-card:hover{transform:translateY(-2px);border-color:#fff3;background:#ffffff13!important;box-shadow:0 8px 22px #00000038}.lib-card:focus-visible{border-color:#ffffff73}.lib-card.on{border-color:var(--accent);box-shadow:0 0 0 2px #ffd84d52,0 8px 22px #00000038;background:#ffd84d12!important}.lib-thumb{position:relative;aspect-ratio:4 / 3;background:var(--lib-sky);overflow:hidden}.lib-thumb:before,.lib-thumb:after{content:"";position:absolute;left:50%;transform:translate(-50%);border-radius:50%;transition:opacity .35s}.lib-thumb:before{bottom:16%;width:62%;height:16%;background:radial-gradient(closest-side,rgba(60,74,60,.28),transparent)}.lib-thumb:after{bottom:24%;width:34%;aspect-ratio:1;background:radial-gradient(circle at 38% 34%,color-mix(in srgb,var(--tint) 55%,white),var(--tint) 62%,color-mix(in srgb,var(--tint) 70%,black));opacity:.4;animation:lib-pulse 1.6s ease-in-out infinite}@keyframes lib-pulse{50%{opacity:.22;transform:translate(-50%) scale(.92)}}.lib-card.ready .lib-thumb:before,.lib-card.ready .lib-thumb:after{opacity:0;animation:none}.lib-card.nothumb .lib-thumb:after{animation:none;opacity:.3}.lib-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s;user-select:none}.lib-card.ready .lib-thumb img{opacity:1}.lib-badges{position:absolute;top:7px;left:7px;display:flex;gap:4px}.lib-badge{padding:2px 7px 2px 6px;font-size:10.5px;font-weight:700;letter-spacing:.2px;color:#fff;background:#181b229e;border-radius:99px;display:inline-flex;align-items:center;gap:4px}.lib-badge.moves:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 2px #8fd69440}.lib-badge.learned{color:#f1dcff}.lib-card-name{padding:9px 11px 0;font-size:13.5px;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib-card-meta{padding:2px 11px 10px;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lib-empty{display:flex;flex-direction:column;align-items:center;gap:4px;padding:70px 20px;text-align:center;color:var(--muted)}.lib-empty p{margin:0 0 10px;font-size:14px}.lib-empty button{padding:8px 16px;border-radius:999px}.lib-spinner{width:22px;height:22px;margin-bottom:10px;border:2.5px solid rgba(255,255,255,.25);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}.lib-detail{min-width:0;min-height:0;display:flex;flex-direction:column;border-left:1px solid var(--lib-line);background:#00000024}.lib-back{display:none}.lib-stage{position:relative;flex:none;margin:14px 14px 0;aspect-ratio:4 / 3;border-radius:14px;overflow:hidden;background:var(--lib-sky);box-shadow:inset 0 0 0 1px #ffffff14}.lib-live{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:grab;touch-action:pan-y}.lib-live.dragging{cursor:grabbing}.lib-stage-msg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:13px;color:#1e28328c;pointer-events:none;opacity:0;transition:opacity .2s}.lib-stage[data-state=loading] .lib-stage-msg,.lib-stage[data-state=empty] .lib-stage-msg{opacity:1}.lib-stage[data-state=loading] .lib-live{opacity:.35;transition:opacity .2s}.lib-stage-hint{position:absolute;right:8px;bottom:8px;padding:2px 8px;font-size:11px;color:#1920289e;background:#ffffff73;border-radius:99px;pointer-events:none;opacity:0;transition:opacity .25s}.lib-stage[data-state=ready]:hover .lib-stage-hint{opacity:1}.lib-pane{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.2) transparent;-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 22px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 22px),transparent)}.lib-info{padding:14px 18px 26px}.lib-name{margin:0;font-size:19px;font-weight:700;line-height:1.25;text-transform:capitalize}.lib-id{margin-top:2px;font:12px/1.4 ui-monospace,SF Mono,Menlo,monospace;color:var(--muted)}.lib-learned-tag{color:#e7c9f5}.lib-summary{margin:10px 0 0;font-size:13.5px;line-height:1.5;color:#f4f1eadb}.lib-prompt{margin:10px 0 0;padding:8px 10px;font-size:13px;line-height:1.45;font-style:italic;background:#c58fd01a;border-left:3px solid rgba(197,143,208,.6);border-radius:6px}.lib-prompt span{display:block;font-style:normal;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.lib-facts{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;margin:14px 0 0;font-size:13px}.lib-facts dt{color:var(--muted)}.lib-facts dd{margin:0;font-variant-numeric:tabular-nums}.lib-behavior b{color:var(--ok);font-weight:650}.lib-block{margin-top:16px}.lib-label{margin-bottom:7px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#f4f1eab8}.lib-label span{margin-left:6px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--muted)}.lib-swatches{display:flex;flex-wrap:wrap;gap:6px}.lib-swatch{display:inline-flex;align-items:center;gap:7px;padding:4px 10px 4px 5px;font-size:12.5px;background:var(--lib-soft);border:1px solid var(--lib-line);border-radius:999px}.lib-swatch i{width:18px;height:18px;border-radius:50%;box-shadow:inset 0 0 0 1px #00000040}.lib-swatch b{font-weight:600}.lib-swatch code{font:11px ui-monospace,SF Mono,Menlo,monospace;color:var(--muted)}.lib-tags{display:flex;flex-wrap:wrap;gap:5px}.lib-tags button{padding:2px 9px;font-size:12px;color:var(--muted);background:var(--lib-soft);border:1px solid var(--lib-line);border-radius:999px}.lib-tags button:hover{color:var(--text);background:#ffffff1a!important}.lib-op{display:flex;align-items:flex-start;gap:8px;padding:8px 8px 8px 11px;background:#00000047;border:1px solid var(--lib-line);border-radius:10px}.lib-op code{flex:1;min-width:0;padding-top:3px;font:11.5px/1.5 ui-monospace,SF Mono,Menlo,monospace;color:#cfe3c8;word-break:break-all;user-select:all}.lib-copy{flex:none;padding:3px 10px;font-size:12px;border-radius:7px;background:#ffffff12}.lib-copy.done{color:var(--ok)}.lib-actions{flex:none;display:flex;gap:8px;padding:12px 14px 14px;border-top:1px solid var(--lib-line)}.lib-place{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;font-weight:700;color:#2a2410;background:linear-gradient(180deg,#ffe27a,#f5c52c)!important;border:none;border-radius:999px;box-shadow:0 2px 12px #f5c52c4d,inset 0 1px #ffffff80;transition:transform .12s,box-shadow .12s;white-space:nowrap}.lib-place:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 16px #f5c52c6b,inset 0 1px #ffffff80}.lib-place kbd{color:#2a2410b3;background:#ffffff59;border-color:#2a241033}.lib-ask{flex:none;padding:10px 16px;font-weight:600;border-radius:999px;background:#ffffff12;white-space:nowrap}.lib-foot{flex:none;display:flex;flex-wrap:wrap;gap:6px 18px;padding:9px 22px 10px;font-size:12px;color:var(--muted);border-top:1px solid var(--lib-line)}.lib-foot span{display:inline-flex;align-items:center;gap:4px}.lib-foot kbd{margin-right:1px}@media(max-height:560px){.lib-foot{display:none}}@media(max-width:900px){.lib-body{grid-template-columns:minmax(0,1fr) 320px}}@media(max-width:640px){.lib{left:0;top:0;width:100%;height:100%;height:100dvh;transform:none;border-radius:0;border:none}@keyframes lib-in{0%{opacity:0;transform:translateY(12px)}}.lib-head{flex-wrap:wrap;gap:10px 12px;padding:14px 14px 10px 16px;padding-top:max(14px,env(safe-area-inset-top))}.lib-title{flex:1}.lib-search{order:3;flex:1 0 100%;max-width:none;margin:0}.lib-search input{font-size:16px}.lib-shelves{padding:0 14px 10px 16px;gap:5px}.lib-chip{padding:4px 10px 4px 11px;font-size:12.5px}.lib-offered{margin:-2px 14px 10px 16px}.lib-body{display:block}.lib-scroll{height:100%;padding:4px 14px 24px 16px}.lib-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.lib-detail{position:absolute;inset:0;z-index:2;border-left:none;background:#16181e;transform:translate(100%);visibility:hidden;transition:transform .22s cubic-bezier(.2,.8,.3,1),visibility 0s .22s}.lib-detail-open .lib-detail{transform:none;visibility:visible;transition:transform .22s cubic-bezier(.2,.8,.3,1)}.lib-back{display:block;align-self:flex-start;margin:10px 0 0 10px;padding:6px 12px 6px 8px;font-weight:600;background:transparent;border:none;color:var(--accent)}.lib-stage{margin:8px 14px 0}.lib-stage-hint,.lib-stage[data-state=ready] .lib-stage-hint{opacity:.9}.lib-actions{padding-bottom:max(14px,env(safe-area-inset-bottom))}.lib-place kbd,.lib-foot{display:none}}@media(min-width:641px)and (max-height:820px){.lib-stage{aspect-ratio:16 / 10.5}}@media(pointer:coarse){.lib-stage-hint span{display:none}}.worlds-scrim{position:fixed;inset:0;z-index:40;background:radial-gradient(ellipse at center,#080a0e33,#080a0e73);pointer-events:auto}.worlds{position:fixed;left:50%;top:50%;z-index:41;width:min(990px,calc(100vw - 32px));max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);transform:translate(-50%,-50%);display:flex;flex-direction:column;overflow:hidden;color:var(--text);font-size:14px;background:linear-gradient(180deg,#3a3768f7,#252242f7);border:4px solid var(--ink);border-radius:26px;box-shadow:inset 0 3px #ffffff24,0 8px 0 var(--drop),0 30px 90px #00000073;animation:worlds-in .18s cubic-bezier(.2,.8,.3,1)}@keyframes worlds-in{0%{opacity:0;transform:translate(-50%,calc(-50% + 10px)) scale(.985)}}.worlds-head{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 0 22px}.worlds-head h2{margin:0;font-size:26px;font-weight:700;text-shadow:0 3px 0 var(--ink)}.worlds-close{width:38px;height:38px;padding:0;border-radius:12px}.worlds-note,.worlds-tip{margin:6px 22px 12px;color:var(--muted);line-height:1.35}.worlds-tip{margin:12px 22px 16px;font-size:13px}.worlds-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));grid-auto-rows:max-content;gap:12px;padding:2px 18px;overflow-y:auto;min-height:0;flex:1 1 auto}.worlds-card{display:flex;flex-direction:column;padding:0;text-align:left;color:var(--text);background:#ffffff0d!important;border:1px solid rgba(255,255,255,.1);border-radius:14px;overflow:hidden;box-shadow:none;transition:transform .14s,border-color .14s,box-shadow .14s}.worlds-card:hover,.worlds-card:focus-visible{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 0 0 2px #ffd84d4d,0 8px 22px #00000040;outline:none}.worlds-map{display:block;width:100%;aspect-ratio:1;image-rendering:auto}.worlds-text{display:flex;flex-direction:column;gap:2px;padding:8px 10px 10px}.worlds-text b{font-size:15px;font-weight:700}.worlds-text span{color:var(--muted);font-size:12.5px;font-weight:500;line-height:1.3}@media(max-width:640px){.worlds{border-radius:20px}.worlds-grid{grid-template-columns:repeat(2,1fr);gap:10px;padding:2px 12px}.worlds-head h2{font-size:22px}.worlds-note,.worlds-tip{margin-left:14px;margin-right:14px;font-size:13px}}.slots{display:flex;flex-wrap:wrap;gap:5px;padding-top:4px}.slot{position:relative;min-width:40px;height:34px;padding:6px 7px 3px;display:grid;place-items:center;font-size:11px;font-weight:700;background:#2e2b52b8;border:2px solid var(--ink);border-radius:10px;box-shadow:inset 0 2px #ffffff24,0 2px 0 var(--drop);transition:transform .15s cubic-bezier(.3,1.6,.5,1);animation:pop-in .3s cubic-bezier(.3,1.6,.5,1)}.slot kbd{position:absolute;top:-7px;left:-5px;min-width:16px;height:16px;padding:0 3px;margin:0;font-size:9px;border-bottom-width:3px;border-radius:6px}.slot kbd.use{inset:auto -5px -7px auto}.slot.active{color:var(--ink);background:linear-gradient(180deg,var(--accent-hi),var(--accent));transform:translateY(-3px)}.slot.power{height:auto;padding:4px 10px;font-size:11.5px;color:var(--ink);background:linear-gradient(180deg,#d8c2ff,var(--purple));border-radius:99px;align-self:center}#hurt-flash{position:fixed;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,transparent 55%,rgba(200,30,30,.55));transition:opacity .5s}#hurt-flash.on{opacity:1;transition:none}#together{width:min(460px,calc(100% - 32px));font-size:13px}#together .window-head{margin-bottom:4px}#together h3{margin:16px 0 6px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:var(--muted)}#together p{color:var(--muted);margin:8px 0 12px;line-height:1.45}#together p.sub{margin-top:0}#together p.note{margin-top:6px;font-size:12px}#together label{display:flex;align-items:center;gap:10px;margin:10px 0}#together label span{width:76px;color:var(--muted)}#together input{flex:1;min-width:0;font:inherit;color:var(--text);font-weight:600;background:var(--well);border:2.5px solid var(--ink);border-radius:10px;padding:7px 10px;outline:none}#together input:focus{box-shadow:0 0 0 3px var(--accent)}#together .players{list-style:none;margin:12px 0;padding:0;display:flex;flex-direction:column;gap:6px}#together .players li{display:flex;align-items:center;gap:8px}#together .players li{min-height:30px}#together .players li>span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#together .players li.empty{color:var(--muted)}#together .players b{font-size:11px;font-weight:700;color:var(--ink);background:var(--accent);border-radius:6px;padding:1px 6px}#together .players.removed span{color:var(--muted);text-decoration:line-through}#together button.small{padding:3px 10px;font-size:12px;border-width:2px;border-radius:8px}#together button.danger{color:var(--ink);background:linear-gradient(180deg,#ff9a8f,var(--err))}#together .share{display:flex;flex-direction:column;align-items:flex-start;margin:14px 0 4px}#together .share p{margin:8px 0 0}#together button.big{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;font-size:16px;border-radius:14px}#together button.big .ico{width:22px;height:22px}#together .join{display:flex;gap:8px}#together .players i{width:10px;height:10px;border-radius:50%;box-shadow:0 0 0 1.5px #0000004d}#together .players em{font-style:normal;font-size:11px;color:var(--muted)}#together .invite{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 10px;background:#ffffff0f;border:1px solid var(--border);border-radius:10px}#together .invite span{color:var(--muted);white-space:nowrap}#together .invite code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:12px ui-monospace,SF Mono,Menlo,monospace;user-select:all}#together .actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:14px}#together button.primary{color:var(--ink);background:linear-gradient(180deg,var(--accent-hi),var(--accent))}.player-tag{position:absolute;left:0;top:0;padding:2px 8px 2px 6px;font-size:12px;white-space:nowrap;font-weight:600;color:var(--text);background:var(--panel);border:2.5px solid var(--ink);border-left:6px solid var(--player, var(--accent));border-radius:8px;pointer-events:none;will-change:transform}#touch{display:none}body.touch{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}body.touch #view{touch-action:none}body.touch #hud button{touch-action:manipulation}body.touch #touch{display:block}body.touch.wishing #touch,body.touch #hint,body.touch #action-god,body.touch .action-key,body.touch .action-label,body.touch .slot kbd,body.touch #selection-move,body.touch .selection-act kbd{display:none}body.touch #selection .selection-act{padding:0 10px}body.touch #target-label{right:auto;left:calc(env(safe-area-inset-left,0px) + 14px);top:calc(env(safe-area-inset-top,0px) + 44px)}body.touch .keyhint:has(kbd){display:none}body.touch #dock{display:flex;justify-content:center;bottom:calc(env(safe-area-inset-bottom,0px) + 176px);padding:0 104px 0 12px}@media(orientation:landscape){body.touch #dock{bottom:calc(env(safe-area-inset-bottom,0px) + 96px);padding:0 178px}}body.touch.wishing #dock{bottom:calc(var(--keyboard, 0px) + 10px);padding:0 calc(env(safe-area-inset-right,0px) + 12px) 0 calc(env(safe-area-inset-left,0px) + 12px)}body.touch .window{max-height:calc(100% - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));max-width:calc(100% - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}body.touch .dock-center{width:min(520px,100%)}body.touch:not(.wishing) #prompt{display:none}body.touch .dock-left,body.touch .dock-right{position:fixed;top:calc(env(safe-area-inset-top,0px) + 10px)}body.touch .dock-left{left:calc(env(safe-area-inset-left,0px) + 12px)}body.touch .dock-right{right:calc(env(safe-area-inset-right,0px) + 12px)}body.touch .player-plate{width:170px}body.touch .dock-plate{padding:5px;border-radius:16px}body.touch .actions{gap:4px;flex-wrap:wrap;justify-content:flex-end}body.touch .action{width:42px;height:42px;border-radius:12px}body.touch .action .ico{width:20px;height:20px}body.touch .slot{pointer-events:auto;min-width:44px;height:38px}@media(max-width:480px){body.touch .actions{display:grid;grid-template-columns:repeat(3,42px)}}.stick{position:fixed;left:calc(env(safe-area-inset-left,0px) + 80px);top:calc(100% - env(safe-area-inset-bottom,0px) - 92px);width:128px;height:128px;margin:-64px 0 0 -64px;border-radius:50%;background:radial-gradient(circle,#1917282e 0 55%,#1917284d 56% 100%);border:3px solid rgba(255,250,240,.4);opacity:.55;transition:opacity .15s;pointer-events:none}.stick.on{opacity:1}.knob{position:absolute;left:50%;top:50%;width:58px;height:58px;margin:-29px 0 0 -29px;border-radius:50%;background:linear-gradient(180deg,#fffdf6,#e4ddcc);border:3px solid var(--ink);box-shadow:inset 0 -4px #00000024,0 4px 0 var(--drop)}.stick:not(.on) .knob{transition:transform .15s cubic-bezier(.3,1.6,.5,1)}.touch-pad{position:fixed;right:calc(env(safe-area-inset-right,0px) + 14px);bottom:calc(env(safe-area-inset-bottom,0px) + 18px);display:grid;grid-template-columns:auto;grid-template-areas:"down" "use" "tool" "jump";align-items:end;justify-items:center;gap:10px 12px;pointer-events:none}@media(orientation:landscape){.touch-pad{grid-template-columns:auto auto;grid-template-areas:"down tool" "use jump"}}.touch-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;padding:0;border-radius:50%;border-width:3px;background:linear-gradient(180deg,#55519a,var(--raised-lo));box-shadow:inset 0 2px #ffffff38,inset 0 -3px #0003,0 4px 0 var(--drop);opacity:.92;pointer-events:auto}.touch-btn span{max-width:100%;overflow:hidden;font-size:9.5px;font-weight:700;letter-spacing:0;text-transform:uppercase;text-overflow:ellipsis;white-space:nowrap}.touch-btn.big{width:78px;height:78px}.touch-btn.big .ico{width:30px;height:30px}.touch-btn.small{width:58px;height:58px;padding:0 3px}.touch-btn.small .ico{width:22px;height:22px}.touch-btn[data-role=jump]{grid-area:jump}.touch-btn[data-role=tool]{grid-area:tool}.touch-btn[data-role=use]{grid-area:use;color:var(--ink);background:linear-gradient(180deg,#a8e8ff,var(--blue));animation:pop-in .25s cubic-bezier(.3,1.6,.5,1)}.touch-btn[data-role=down]{grid-area:down}.touch-btn.held{transform:translateY(3px) scale(.95);filter:brightness(1.2);box-shadow:inset 0 2px #ffffff38}#touch-wish{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 22px);transform:translate(-50%);height:60px;padding:0 22px 0 16px;display:flex;align-items:center;gap:8px;font-size:20px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--ink);background:linear-gradient(180deg,var(--accent-hi),var(--accent) 55%,#f7bd1a);border:3px solid var(--ink);border-radius:30px;box-shadow:inset 0 2px #ffffffa6,inset 0 -4px #be6e0073,0 4px 0 var(--drop);pointer-events:auto}#touch-wish .ico{width:28px;height:28px}#touch-wish:active{transform:translate(-50%) translateY(3px)}#touch-wish.busy .ico{animation:twinkle 1.2s ease-in-out infinite}@media(max-width:400px){#touch-wish{width:66px;height:66px;padding:0;flex-direction:column;justify-content:center;gap:0;border-radius:50%}#touch-wish span{font-size:11px;letter-spacing:.3px}#touch-wish .ico{width:27px;height:27px}}
