@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-vietnamese-wdth-normal-rJmnGBSt.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-ext-wdth-normal-7khWdh9v.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Archivo Variable;font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@property --bg{syntax:"<color>";inherits:true;initial-value:#f2f2f2}@property --surface{syntax:"<color>";inherits:true;initial-value:#e9e9e9}@property --surface2{syntax:"<color>";inherits:true;initial-value:#dedede}@property --fg{syntax:"<color>";inherits:true;initial-value:#111}@property --muted{syntax:"<color>";inherits:true;initial-value:#6e6e6e}@property --accent{syntax:"<color>";inherits:true;initial-value:#0a6cff}@property --accent-fg{syntax:"<color>";inherits:true;initial-value:#fff}@property --lane{syntax:"<color>";inherits:true;initial-value:#e1e1e1}@property --bassnote{syntax:"<color>";inherits:true;initial-value:#9a9a9a}@property --ink{syntax:"<color>";inherits:true;initial-value:#111}@property --ink-fg{syntax:"<color>";inherits:true;initial-value:#f2f2f2}@property --island{syntax:"<color>";inherits:true;initial-value:#fff}@property --roll{syntax:"<color>";inherits:true;initial-value:#fbfbfb}@property --note{syntax:"<color>";inherits:true;initial-value:#161616}@property --keyw{syntax:"<color>";inherits:true;initial-value:#fff}@property --keyb{syntax:"<color>";inherits:true;initial-value:#1d1d1f}@property --keytext{syntax:"<color>";inherits:true;initial-value:#6a6a6a}:root{--bg:#f2f2f2;--surface:#e9e9e9;--surface2:#dedede;--fg:#111;--muted:#6e6e6e;--accent:#0a6cff;--accent-fg:#fff;--lane:#eaeaea;--bassnote:#8c8c8c;--ink:#111;--ink-fg:#f2f2f2;--island:#fff;--roll:#f2f2f2;--note:#161616;--keyw:#fff;--keyb:#1d1d1f;--keytext:#6a6a6a;--ease:cubic-bezier(.22, 1, .36, 1);--morph:.46s;--spring:cubic-bezier(.22, 1, .36, 1);--t:.9s;--display:"Archivo Variable", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;--ui:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Ubuntu, Cantarell, Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;transition:--bg var(--t) var(--ease), --surface var(--t) var(--ease), --surface2 var(--t) var(--ease), --fg var(--t) var(--ease), --muted var(--t) var(--ease), --accent var(--t) var(--ease), --accent-fg var(--t) var(--ease), --lane var(--t) var(--ease), --bassnote var(--t) var(--ease), --ink var(--t) var(--ease), --ink-fg var(--t) var(--ease), --island var(--t) var(--ease), --roll var(--t) var(--ease), --note var(--t) var(--ease), --keyw var(--t) var(--ease), --keyb var(--t) var(--ease), --keytext var(--t) var(--ease)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0e0e0f;--surface:#161618;--surface2:#222225;--fg:#ededed;--muted:#8e8e93;--accent:#3d8bff;--accent-fg:#fff;--lane:#151517;--bassnote:#7a7a80;--ink:#ededed;--ink-fg:#0e0e0f;--island:#232326;--roll:#0e0e0f;--note:#e9e9ec;--keyw:#d4d4d8;--keyb:#0b0b0c;--keytext:#505056}}.theming *,.theming :before,.theming :after{transition:background-color .8s,color .8s,fill .8s!important}*,:before,:after{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}html{background:var(--bg);text-size-adjust:100%}body{background:var(--bg);color:var(--fg);font-family:var(--ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;touch-action:manipulation;user-select:none;-webkit-touch-callout:none;cursor:default;font-size:15px;line-height:1.35;position:fixed;top:0;bottom:0;left:0;right:0}#root{height:100%}button,input{font:inherit;color:inherit;letter-spacing:inherit}button{cursor:default;-webkit-appearance:none;appearance:none;text-align:inherit;background:0 0;border:0;margin:0;padding:0}button::-moz-focus-inner{border:0;padding:0}button:disabled{opacity:.3}input{user-select:text;cursor:text;-webkit-appearance:none;background:0 0;border:0;border-radius:0;outline:none;min-width:0}img,svg,canvas{-webkit-user-drag:none}::selection{background:var(--accent);color:var(--accent-fg)}:focus{outline:none!important}:focus-visible{outline:none!important}svg{flex:none}.grow{flex:auto}@media (hover:none){.hide-touch{display:none}}.app{height:100vh;height:var(--app-h,100vh);width:100%;padding:8px 0 0;padding-top:max(8px, env(safe-area-inset-top));animation:boot .6s var(--ease) both;flex-direction:column;display:flex;overflow:hidden}@keyframes boot{0%{opacity:0}}html.updating body{opacity:0;transition:opacity .2s}.swap{vertical-align:top;max-width:100%;display:inline-grid}.swap-b{width:100%;height:100%;display:grid}.swap>*{grid-area:1/1;min-width:0}.swap-in{animation:swin .4s var(--ease) both}.swap-out{pointer-events:none;animation:.22s ease-in both swout}.swap-in.r{animation-name:swin-r}.swap-out.r{animation-name:swout-r}.swap-in.l{animation-name:swin-l}.swap-out.l{animation-name:swout-l}@keyframes swin{0%{opacity:0;transform:translateY(.3em)}}@keyframes swout{to{opacity:0;transform:translateY(-.3em)}}@keyframes swin-r{0%{opacity:0;transform:translate(28px)}}@keyframes swout-r{to{opacity:0;transform:translate(-28px)}}@keyframes swin-l{0%{opacity:0;transform:translate(-28px)}}@keyframes swout-l{to{opacity:0;transform:translate(28px)}}.pg-in,.pg-out{animation:var(--morph) var(--ease) both;will-change:transform}.swap-b{position:relative}.swap-b>.pg-out{width:100%;position:absolute;top:0;left:0}.pg-out{pointer-events:none}.pg-in.r{animation-name:pgin-r}.pg-out.r{animation-name:pgout-r}.pg-in.l{animation-name:pgin-l}.pg-out.l{animation-name:pgout-l}.pg-in:not(.r):not(.l){animation-name:swin}.pg-out:not(.r):not(.l){animation-name:swout;animation-duration:.22s}@keyframes pgin-r{0%{transform:translate(calc(100% + 24px))}}@keyframes pgout-r{to{transform:translate(calc(-100% - 24px))}}@keyframes pgin-l{0%{transform:translate(calc(-100% - 24px))}}@keyframes pgout-l{to{transform:translate(calc(100% + 24px))}}.round,.ib,.chip,.seg,.tab-row,.ptoggle,.big-btns button,.lbtn,.lpill,.tile,.fam-tile,.pill,.cell-hit,.pager button{transform:translateZ(0)}.round:active,.ib:active,.chip:active,.tile:active,.fam-tile:active,.lbtn:active,.lpill:active,.pill:active,.pager button:active{transform:scale(.92)}.ib:before,.chip:before,.seg:before,.big-btns button:before,.ptoggle:before,.tab-row:before,.lbtn:before,.lpill:before,.lrow-name:before{content:"";border-radius:inherit;opacity:0;z-index:-1;background:currentColor;transition:opacity .2s;position:absolute;top:0;bottom:0;left:0;right:0}.round{background:var(--surface);width:44px;height:44px;transition:transform .3s var(--spring), background-color .25s ease;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex;position:relative}.round.ghost{background:0 0}@media (hover:hover){.round:hover{background:var(--surface2)}}.top{flex:none;justify-content:center;align-items:center;height:40px;display:flex}.word{font-family:var(--display);letter-spacing:-.03em;font-size:22px;font-weight:800;font-stretch:80%}.word b{color:var(--accent);font-weight:inherit}.hero{text-align:center;flex:none;min-width:0;padding:6px 0 12px}.fam{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);white-space:nowrap;height:16px;font-size:11.5px;font-weight:600}.title{text-align:center;max-width:100%;font-family:var(--display);text-transform:uppercase;letter-spacing:-.01em;white-space:nowrap;transition:color .25s ease, transform .35s var(--spring);transform-origin:50%;margin:4px auto 0;padding:.06em 0 .02em;font-weight:850;font-stretch:62%;line-height:1;display:block}.title .swap{vertical-align:bottom}.title-measure{visibility:hidden;white-space:nowrap;pointer-events:none;font-size:100px;position:absolute;top:0;left:-9999px}@media (hover:hover){.title:hover{color:var(--accent)}}.title:active{transform:scale(.98)}.stage{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:hidden}.stage-head{flex:none;justify-content:center;align-items:center;min-width:0;height:44px;padding:0 0 4px;display:flex}.stage-key{font-family:var(--display);white-space:nowrap;letter-spacing:-.01em;flex:none;margin-right:14px;font-size:20px;font-weight:800;font-stretch:78%;line-height:1}.stage-sub{min-width:0;color:var(--muted);white-space:nowrap;flex:0 auto;font-size:13px;line-height:1.4}.stage-meta{text-overflow:ellipsis;vertical-align:middle;max-width:100%;padding:2px 0;line-height:1.4;display:inline-block;overflow:hidden}.stage-meta b{color:var(--fg);font-variant-numeric:tabular-nums;font-weight:600}@media (max-width:340px){.stage-feel{display:none}}.stage-meta i{vertical-align:middle;opacity:.6;background:currentColor;border-radius:50%;width:3px;height:3px;margin:0 7px 0 8px;display:inline-block}.cells-box{position:relative}.dir-v{background:var(--surface);z-index:1;border-radius:8px;grid-template-rows:1fr 1fr;margin-left:0;display:grid;position:absolute;top:0;bottom:6px;left:0}.dir-v .dir-ind{background:var(--surface2);z-index:-1;height:calc(50% - 3px);transition:transform .4s var(--ease), background-color .25s ease;border-radius:6px;position:absolute;top:3px;left:3px;right:3px}.dir-v button{color:var(--muted);transition:color .25s ease, transform .3s var(--ease);border-radius:6px;justify-content:center;align-items:center;display:flex}.dir-v button[aria-checked=true]{color:var(--fg)}@media (hover:hover){.dir-v button[aria-checked=false]:hover{color:var(--fg)}}.dir-v button:active{transform:scale(.86)}.dir-one{color:var(--fg);z-index:1;transition:transform .3s var(--ease);justify-content:center;align-items:center;display:flex;position:absolute;top:4px;bottom:4px;left:0}.dir-one:before{content:"";z-index:-1;background:0 0;border-radius:12px;width:42px;height:42px;margin:-21px 0 0 -21px;transition:background-color .25s;position:absolute;top:50%;left:50%}@media (hover:hover){.dir-one:hover:before{background:var(--surface2)}}.dir-one svg{position:relative}.dir-one:active{transform:scale(.9)}.cells-box{background:var(--surface);border-radius:14px 14px 0 0;flex:none;min-width:0;padding:4px 0}.cells{display:grid;position:relative}.cell-hl{background:var(--accent);opacity:0;pointer-events:none;transition:transform .45s var(--spring), width .45s var(--spring), height .45s var(--spring), opacity .25s ease;border-radius:16px;position:absolute;top:0;left:0}.cell-hl.on{opacity:1}.cell{min-width:0;transition:color .2s;position:relative}.cell.active{color:var(--accent-fg)}.cell-hit{width:100%;min-height:60px;transition:background-color .2s ease, transform .3s var(--spring);border-radius:16px;padding:8px 10px 10px;display:block}@media (hover:hover){.cell:not(.active) .cell-hit:hover{background:var(--surface2)}}.cell-hit:active{transform:scale(.95)}.cell-name{font-family:var(--display);white-space:nowrap;text-overflow:ellipsis;font-weight:800;font-stretch:72%;line-height:1.25;display:block;overflow:hidden}.cell-name>.swap{display:grid}.cell-roman{opacity:.6;white-space:nowrap;text-overflow:ellipsis;padding-right:22px;font-size:12px;font-weight:500;display:block;overflow:hidden}.cell-lock{width:28px;height:28px;color:var(--muted);opacity:0;border-radius:50%;justify-content:center;align-items:center;transition:opacity .2s,color .2s;display:flex;position:absolute;bottom:4px;right:2px}.cell:hover .cell-lock,.cell.locked .cell-lock{opacity:1}.cell.locked .cell-lock{color:var(--accent)}.cell.active .cell-lock{color:var(--accent-fg)}.cell.compact .cell-hit{min-height:44px;padding:8px 4px 8px 6px}.cell.compact .cell-lock{width:20px;height:20px;bottom:0;right:0}.cell.compact .cell-hit{padding-bottom:18px}@media (hover:none){.cell-lock{opacity:.55}}.cell.rot .cell-hit{border-radius:10px;justify-content:center;align-items:flex-end;min-height:64px;padding:6px 0 22px;display:flex}.cell.rot .cell-name{writing-mode:vertical-rl;-webkit-writing-mode:vertical-rl;text-overflow:clip;line-height:1;overflow:visible;transform:rotate(180deg)}.cell.rot .cell-lock{width:22px;height:22px;margin-left:-11px;bottom:1px;left:50%;right:auto}.cells.rot .cell-hl{border-radius:10px}.roll{background:var(--roll);flex:auto;min-height:60px;position:relative;overflow:hidden}.roll canvas{display:block;position:absolute;top:0;left:0}.app>.top,.app>.hero,.app .stage-head{padding-left:calc(clamp(16px, 2vw, 24px) + env(safe-area-inset-left));padding-right:calc(clamp(16px, 2vw, 24px) + env(safe-area-inset-right))}.stage{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.island-space{height:var(--bar-h,64px);flex:none}.island-bar{width:100%;padding:6px max(8px,50% - 240px);padding-bottom:calc(6px + env(safe-area-inset-bottom));left:0}.panel-inner{max-width:600px;margin:0 auto}.dir-v,.dir-one{left:0}.panel-inner>.swap-b{clip-path:inset(-100vh 0)}.island{z-index:40;background:var(--island);color:var(--fg);transition:clip-path var(--morph) var(--ease), -webkit-clip-path var(--morph) var(--ease), opacity .3s ease;animation:islandin .7s var(--spring) 50ms both;position:fixed;bottom:0;left:50%;overflow:hidden;transform:translate(-50%)}@keyframes islandin{0%{opacity:0;transform:translate(-50%,24px)}}.island-bar{grid-column-gap:4px;grid-template-columns:52px minmax(0,1fr) 52px 52px;height:64px;display:grid;position:absolute;bottom:0}.ib{z-index:0;height:52px;color:inherit;transition:transform .3s var(--spring), color .25s ease, background-color .25s ease;border-radius:26px;justify-content:center;align-items:center;display:flex;position:relative}@media (hover:hover){.ib:hover:before{opacity:.07}}.ib.play.on{background:var(--accent);color:var(--accent-fg)}.ib.ok{color:var(--accent)}.ib.gen{background:var(--accent);color:var(--accent-fg);font-family:var(--display);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-size:19px;font-weight:850;font-stretch:75%;overflow:hidden}.island-bar.slim .gen-label{display:none}.island-bar.slim .ib.gen .dice{margin-right:0}.ib.gen .dice{animation:roll .6s var(--spring) both;margin-right:9px;display:inline-flex}@keyframes roll{0%{transform:rotate(-200deg)scale(.6)}}.island-panel{opacity:0;transition:opacity .25s;position:absolute;top:0;left:0;overflow:hidden}.island-panel.shown{opacity:1;transition-delay:50ms}.panel-inner{transition:transform var(--morph) var(--ease);will-change:transform;padding:12px 12px 4px}.tab-row{z-index:0;border-radius:19px;display:grid;position:relative}.tab-row:before{opacity:.06}.tab-ind{background:var(--accent);transition:transform .45s var(--spring);border-radius:19px;position:absolute;top:0;left:0}.tab{text-align:center;height:38px;color:var(--muted);white-space:nowrap;border-radius:19px;font-size:13px;font-weight:600;transition:color .25s;position:relative}.tab[aria-pressed=true]{color:var(--accent-fg)}@media (max-width:420px){.tab{letter-spacing:-.01em;font-size:12px}}.pane{padding:10px 2px 8px}.pane-l{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);justify-content:space-between;align-items:baseline;margin:6px 2px 8px;font-size:11px;font-weight:600;display:flex}.pane-l b{color:var(--fg);text-transform:none;letter-spacing:0;font-size:14px;font-weight:650}.pane-note{color:var(--muted);margin:10px 2px 2px;font-size:12.5px}.duo{grid-column-gap:18px;grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:500px) and (max-height:520px){.duo{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.ptoggle{height:36px}.pane{padding-top:6px}}.pane-row{grid-column-gap:8px;grid-template-columns:1fr 1fr;margin-top:10px;display:grid}.chips{grid-gap:6px;display:grid}.chip{z-index:0;text-align:center;white-space:nowrap;text-overflow:ellipsis;height:38px;transition:background-color .25s ease, color .25s ease, transform .3s var(--spring);border-radius:19px;padding:0 6px;font-size:13.5px;font-weight:600;position:relative;overflow:hidden}.chip:before{opacity:.06}@media (hover:hover){.chip:hover:before{opacity:.12}}.chip[aria-selected=true]{background:var(--accent);color:var(--accent-fg)}.chip[aria-selected=true]:before{opacity:0}.seg{z-index:0;border-radius:20px;display:grid;position:relative}.seg:before{opacity:.06}.seg-ind{background:var(--accent);transition:transform .45s var(--spring);border-radius:20px;position:absolute;top:0;bottom:0;left:0}.seg button{text-align:center;height:40px;font-size:15px;font-weight:650;transition:color .25s;position:relative}.seg button[aria-pressed=true]{color:var(--accent-fg)}.slider{height:32px;position:relative}.slider .track{border-radius:3px;height:6px;margin-top:-3px;position:absolute;top:50%;left:0;right:0;overflow:hidden;transform:translateZ(0)}.slider .track:before{content:"";opacity:.12;background:currentColor;position:absolute;top:0;bottom:0;left:0;right:0}.slider .fill{background:var(--accent);transform-origin:0;width:100%;position:absolute;top:0;bottom:0;left:0}.slider .rail{pointer-events:none;height:0;position:absolute;top:50%;left:0;right:0}.slider .thumb{background:var(--accent);width:22px;height:22px;transition:transform .3s var(--spring);border-radius:50%;margin:-11px 0 0 -11px;position:absolute;top:0;left:0}.slider:not(.drag) .fill,.slider:not(.drag) .rail{transition:transform .35s var(--ease)}.slider.drag .thumb{transform:scale(1.2)}.slider input{opacity:0;cursor:default;width:100%;height:100%;margin:0;position:absolute;top:0;left:0}.ptoggle{z-index:0;border-radius:22px;align-items:center;height:44px;padding:0 14px;font-weight:600;transition:background-color .25s,color .25s;display:flex;position:relative}.ptoggle:before{opacity:.06}.ptoggle-k{width:12px;height:12px;transition:transform .35s var(--spring), box-shadow .25s ease;border-radius:50%;margin-right:10px;box-shadow:inset 0 0 0 2px}.ptoggle.on{background:var(--accent);color:var(--accent-fg)}.ptoggle.on:before{opacity:0}.ptoggle.on .ptoggle-k{box-shadow:inset 0 0 0 6px}.big-btns{grid-gap:8px;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.big-btns button{z-index:0;text-align:left;height:80px;transition:transform .3s var(--spring);border-radius:22px;flex-direction:column;justify-content:space-between;padding:12px 14px;display:flex;position:relative}.big-btns button:before{opacity:.06}@media (hover:hover){.big-btns button:hover:before{opacity:.12}}.big-btns b{font-family:var(--display);font-size:26px;font-weight:850;font-stretch:70%;line-height:1}.big-btns span{color:var(--muted);font-size:12.5px}.big-btns button:active{transform:scale(.96)}.lib-list{position:relative;overflow:hidden}.lrow{border-radius:18px;align-items:center;height:52px;margin-bottom:4px;padding:0 4px;transition:transform .28s,opacity .28s;display:flex}.lrow.leaving{opacity:0;transform:translate(-24px)}.lrow-text{flex-direction:column;flex:auto;min-width:0;margin:0 6px 0 10px;display:flex}.lrow-name{font-family:var(--display);text-overflow:ellipsis;white-space:nowrap;border-radius:6px;margin-left:-6px;padding:0 6px;font-size:17px;font-weight:800;font-stretch:80%;line-height:1.2;transition:background-color .2s;position:relative}.lrow-name:focus{background:var(--surface)}.lrow-meta{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.lbtn{z-index:0;width:38px;height:38px;transition:transform .3s var(--spring), background-color .2s ease, color .2s ease;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex;position:relative}.lbtn:before{opacity:.06}@media (hover:hover){.lbtn:hover:before{opacity:.12}.lbtn.danger:hover{color:var(--accent)}}.lbtn.solid{background:var(--accent);color:var(--accent-fg)}.lbtn.solid:before{opacity:0}.lbtn+.lbtn{margin-left:2px}.lib-empty{text-align:center;height:100%;color:var(--muted);justify-content:center;align-items:center;padding:0 24px;font-size:14px;display:flex}.lib-empty b{color:var(--fg);margin:0 .25em}.lib-foot{align-items:center;margin-top:6px;display:flex}.lib-page{text-align:center;min-width:44px;color:var(--muted);font-size:13px;font-weight:600}.lpill{z-index:0;white-space:nowrap;height:38px;transition:transform .3s var(--spring);border-radius:19px;align-items:center;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex;position:relative}.lpill:before{opacity:.06}.lpill svg{margin-right:7px}.lpill.solid{background:var(--fg);color:var(--island)}.lpill.solid:before{opacity:0}.lpill+.lpill{margin-left:6px}@media (max-width:380px){.lpill span{display:none}.lpill svg{margin-right:0}.lpill{padding:0 11px}.lrow .lbtn:not(.solid):not(.danger){display:none}}.overlay{z-index:60;top:10px;bottom:10px;left:10px;right:10px;top:max(10px, env(safe-area-inset-top));bottom:max(10px, env(safe-area-inset-bottom));background:var(--surface);opacity:0;transform-origin:30% 10%;transition:opacity .24s ease, transform .45s var(--spring);border-radius:28px;flex-direction:column;padding:16px 16px 8px;display:flex;position:fixed;overflow:hidden;transform:scale(.96)translateY(14px)}.overlay.shown{opacity:1;transform:none}.ov-head{flex:none;align-items:center;min-width:0;display:flex}.ov-title{font-family:var(--display);text-transform:uppercase;font-size:44px;font-weight:850;font-stretch:62%;line-height:1;margin:0 14px 0 4px;font-size:max(32px,min(6.5vh,60px))}.ov-sub{text-transform:uppercase;letter-spacing:.1em;min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:auto;font-size:11.5px;font-weight:600;overflow:hidden}.overlay .round{background:var(--bg)}@media (hover:hover){.overlay .round:hover{background:var(--surface2)}}.ov-tools{flex:none;align-items:center;min-width:0;margin:12px 0 10px;display:flex}.ov-tools>*+*{margin-left:8px}.search{background:var(--bg);min-width:0;height:44px;color:var(--muted);border-radius:22px;flex:auto;align-items:center;padding:0 16px;display:flex}.search svg{margin-right:10px}.search input{height:100%;color:var(--fg);flex:auto;font-size:16px}.search input::placeholder{color:var(--muted);opacity:1}.pill{background:var(--bg);white-space:nowrap;max-width:44%;height:44px;transition:background-color .25s ease, color .25s ease, transform .3s var(--spring);border-radius:22px;flex:none;align-items:center;padding:0 16px;font-weight:600;display:inline-flex;overflow:hidden}.pill.on{background:var(--fg);color:var(--bg)}.pill svg{margin-right:8px}.pill.has{background:var(--accent);color:var(--accent-fg)}@media (max-width:420px){.pill .swap{display:none}.pill{justify-content:center;width:44px;padding:0}.pill svg{margin-right:0}}@media (max-width:380px){.ov-sub{display:none}.ov-head{justify-content:space-between}}.ov-body{flex:auto;min-height:0;position:relative;overflow:hidden}.tile-grid{grid-gap:8px;align-content:start;display:grid}.tile{background:var(--bg);min-width:0;transition:background-color .2s ease, color .2s ease, transform .3s var(--spring);border-radius:18px;align-items:center;padding:0 16px;display:flex;overflow:hidden}.tile b{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:15.5px;font-weight:650;line-height:1.35;overflow:hidden}.tile small{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;margin-left:10px;font-size:12px}.tile.kb{background:var(--surface2)}@media (hover:hover){.tile:not(.sel):hover{background:var(--surface2)}}.tile.sel{background:var(--accent);color:var(--accent-fg)}.tile.sel small{color:inherit;opacity:.75}.fam-grid{grid-gap:8px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-auto-rows:48px;align-content:start;display:grid}.fam-tile{background:var(--bg);min-width:0;transition:background-color .2s ease, color .2s ease, transform .3s var(--spring);border-radius:18px;align-items:center;padding:0 14px;font-weight:600;display:flex}.fam-tile span{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.fam-tile small{color:var(--muted);margin-left:8px;font-size:12px}.fam-tile.sel{background:var(--accent);color:var(--accent-fg)}.fam-tile.sel small{color:inherit}@media (hover:hover){.tile:not(.sel):hover,.fam-tile:not(.sel):hover{background:var(--surface2)}}@media (max-height:520px){.fam-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr));grid-auto-rows:38px}}.pager{opacity:0;pointer-events:none;flex:none;justify-content:center;align-items:center;width:100%;max-width:440px;height:48px;margin:0 auto;transition:opacity .25s;display:flex}.pager.shown{opacity:1;pointer-events:auto}.pager-track{touch-action:none;cursor:pointer;flex:0 240px;min-width:64px;height:40px;margin:0 10px;position:relative}.pager-count{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;align-items:baseline;margin-right:10px;font-size:12.5px;display:flex}.pager-count b{color:var(--fg);font-weight:600;overflow:hidden}.pager-count .swap-in.r,.pager-count .swap-in.l,.pager-count .swap-out.r,.pager-count .swap-out.l{animation-duration:.3s}.pager-seg{background:var(--muted);opacity:.28;border-radius:3px;height:6px;transition:opacity .25s;position:absolute;top:17px}.pager-rail{height:100%;transition:transform .38s var(--ease);pointer-events:none;position:absolute;top:0;left:0}.pager-rail.drag{transition:none}.pager-thumb{background:var(--accent);border-radius:3px;height:6px;position:absolute;top:17px;left:0}.pager button{background:var(--bg);width:40px;height:40px;transition:transform .3s var(--spring), opacity .25s;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.empty{text-align:center;height:100%;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex}.empty b{color:var(--fg);font-family:var(--display);text-transform:uppercase;margin-bottom:8px;font-size:34px;font-weight:850;font-stretch:65%;line-height:1.05;display:block}.app>.top,.app>.hero,.app>.stage{transition:opacity .3s}.app.under>.top,.app.under>.hero,.app.under>.stage{opacity:0}.app.under .island{opacity:0;pointer-events:none}.toasts{z-index:80;top:10px;left:50%;top:max(10px, env(safe-area-inset-top));text-align:center;pointer-events:none;width:420px;max-width:calc(100% - 24px);position:fixed;transform:translate(-50%)}.toast{background:var(--ink);color:var(--ink-fg);opacity:0;transition:opacity .22s ease, transform .45s var(--spring);border-radius:20px;margin:0 3px 6px;padding:10px 16px;font-size:13.5px;font-weight:600;display:inline-block;transform:translateY(-12px)scale(.92)}.toast.shown{opacity:1;transform:none}@media (max-height:540px){.top{height:34px}.hero{padding-bottom:8px}.cell-hit{min-height:46px}.chip,.tab{height:32px}.seg button{height:34px}.pane-l{margin:4px 2px 6px}.big-btns button{height:64px}}@media (max-height:430px){.top{display:none}.app{padding-top:max(6px, env(safe-area-inset-top))}.fam{display:none}.stage-head{height:40px;padding-bottom:2px}.cell-roman{display:none}.cell-hit{min-height:34px;padding:4px 10px}.hero{padding:2px 0 6px}}@media (max-width:360px){.word{font-size:20px}}@media (prefers-reduced-motion:reduce){.swap-in,.swap-out{animation-duration:.16s}}
