:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px)}html,body{margin:0}[hidden]{display:none!important}img{max-width:100%}
@font-face{font-family:'Onest';font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/onest-normal-400-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:400 800;font-display:swap;src:url(fonts/onest-normal-400-latin.woff2) format('woff2');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}
@font-face{font-family:'Russo One';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/russo-one-normal-400-cyrillic.woff2) format('woff2');unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116}
@font-face{font-family:'Russo One';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/russo-one-normal-400-latin.woff2) format('woff2');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{color-scheme:dark}
html,body{height:100%}
body{margin:0;display:flex;flex-direction:column;background:#0e0f11;color:#ecebe6;font:500 .875rem/1.2 Onest,system-ui,sans-serif;overflow:hidden}
.worlds{position:fixed;inset:0}
.worlds>section{position:absolute;inset:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.sprite{position:absolute}
#toast{position:fixed;left:50%;bottom:calc(1rem + env(safe-area-inset-bottom,0px));transform:translate(-50%,1rem);max-width:min(90vw,26rem);opacity:0;background:#ecebe6;color:#0e0f11;padding:.7rem 1.1rem;border-radius:999px;font-weight:600;font-size:.9rem;transition:opacity .2s,transform .2s;pointer-events:none;z-index:50;text-align:center}
#toast.on{opacity:1;transform:translate(-50%,0)}
.g *,.g *::before,.g *::after{box-sizing:border-box}
.g button{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:pointer;-webkit-tap-highlight-color:transparent;text-align:inherit}
.g button:focus-visible{outline:3px solid var(--focus,currentColor);outline-offset:3px}
.g button:disabled{cursor:default;color:inherit}
.g .ic{width:1.1em;height:1.1em;flex:none;vertical-align:-.16em}
.g .vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.g h1,.g h2,.g p,.g ul,.g ol{margin:0}
.g .app{min-height:100%;display:flex;flex-direction:column}
.g .top{flex-wrap:wrap;row-gap:.6rem}
.g .stats{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}
.g .stat{display:inline-flex;align-items:center;gap:.35rem}
.g .view:not([hidden]){animation:viewIn .3s cubic-bezier(.2,.8,.2,1) both}
@keyframes viewIn{from{opacity:.4;transform:translateY(8px)}to{opacity:1;transform:none}}
.g .round{display:grid;gap:.9rem 1.4rem;grid-template-columns:minmax(0,1fr);grid-template-areas:"prog" "side" "stage" "dock"}
.g .prog{grid-area:prog;display:flex;align-items:center;gap:.5rem}
.g .side{grid-area:side;min-width:0}
.g .stage{grid-area:stage;min-width:0;container-type:inline-size}
.g .dock{grid-area:dock;min-width:0}
.g .dock:empty{display:none}
.g .task{min-height:11rem;display:flex;flex-direction:column;justify-content:center}
.g .word{display:flex;justify-content:center;align-items:flex-end}
.g .ch{display:inline-block;position:relative}
.g .word .ch{display:inline-flex;justify-content:center;align-items:center}
.g .v,.g .tile,.g .gapbtn,.g .tok{cursor:pointer}
.g .tiles{display:flex;justify-content:center;flex-wrap:wrap;gap:.9rem;margin-top:1.4rem}
.g .tile{touch-action:none;user-select:none;-webkit-user-select:none;position:relative}
.g .sentence{margin:0;text-wrap:balance}
.g .sentence .w{white-space:nowrap}
.g .gapbtn{position:relative;display:inline-block;width:.42em;height:1em;vertical-align:baseline;margin-inline:.04em}
.g .gapbtn::before{content:'';position:absolute;inset:-.55em -.4em}
.g .gapbtn .cm{position:static;display:inline;font:inherit;line-height:inherit}
.g .text{margin:0}
.g .tok{position:relative}
.g .fixes{list-style:none;padding:0;display:grid;gap:.5rem}
.g .fixes li{display:grid;gap:.1rem}
.g .fixes s{opacity:.7}
.g .fb{display:grid;grid-template-columns:minmax(0,1fr);gap:.75rem;align-items:start;justify-items:start;overflow-wrap:anywhere}
.g .fb-head{display:flex;align-items:center;flex-wrap:wrap;gap:.3rem 1rem;min-width:0}
.g .fb-body{min-width:0}
.g .chk{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem 1rem;min-height:3rem}
.g .chk .next{flex:none}
.g .next{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3rem;padding:.7rem 1.3rem;max-width:100%}
.g .next span{min-width:0;overflow-wrap:anywhere}
@media(max-width:500px){
.g .fb .next{padding-inline:min(1.3rem,3cqw);gap:min(.6rem,2cqw)}
}
@media(min-width:900px),(orientation:landscape) and (min-width:640px) and (max-height:520px){
.g .round{grid-template-columns:minmax(0,1fr) minmax(14rem,19rem);grid-template-areas:"prog prog" "stage side" "dock side";align-items:start}
}
@media(prefers-reduced-motion:reduce){
.g *,.g *::before,.g *::after{animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}
.g .themebtn{display:inline-flex;align-items:center;gap:.4rem;min-height:2.75rem;padding:.35rem .8rem;border:1.5px solid currentColor;border-radius:999px;font-size:.82rem;font-weight:600;white-space:nowrap;transition:transform .12s}
.g .themebtn:hover{transform:translateY(-1px)}
.g .foot{margin-top:2.4rem;padding-top:1rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem 1.2rem;font-size:.85rem}
.g .foot .hist{max-width:30rem;text-wrap:pretty}
.g .reset{min-height:2.75rem;padding:.4rem .2rem;text-decoration:underline;text-underline-offset:.2em;font-size:.85rem;opacity:.8}
.g .reset:hover{opacity:1}
.g .flip{transform:scaleX(-1)}
.g .prog{flex-wrap:wrap}
.g .backbtn{display:inline-flex;align-items:center;gap:.35rem;min-height:2.75rem;margin-right:.3rem}
.g .prevbtn{display:inline-flex;align-items:center;justify-content:center;min-width:2.75rem;min-height:2.75rem;margin-right:.3rem}
.g .prevbtn[hidden]{display:none}
.g .pip:disabled{cursor:default}
.g .viewnote{font-weight:700;font-size:.9rem}
.g .cardwrap{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;min-width:0}
.g .cardwrap>.card{width:100%;flex:1}
.g .runnote{font-weight:700}
.g .foot .warn{display:block;margin-top:.4rem}
.g .footbtns{display:flex;flex-wrap:wrap;gap:.2rem 1.2rem}
.g .backup{margin-top:1rem;padding:1.1rem;border:2px dashed currentColor;display:grid;gap:.6rem;max-width:40rem}
.g .backup h3{margin:0;font-size:1.1rem}
.g .backup p{margin:0;font-size:.9rem;text-wrap:pretty}
.g .backup label{font-size:.85rem;font-weight:700;margin-top:.4rem}
.g .backup textarea{width:100%;min-height:4.5rem;padding:.6rem .7rem;font:400 .8rem/1.4 ui-monospace,Menlo,Consolas,monospace;color:inherit;background:transparent;border:2px solid currentColor;border-radius:.3rem;resize:vertical;word-break:break-all}
.g .backup textarea:focus-visible{outline:3px solid var(--focus,currentColor);outline-offset:2px}
.g .bk-row{display:flex;flex-wrap:wrap;gap:.6rem}
.g .bk-msg{min-height:1.3em;font-weight:600}
.g .bk-msg[data-bad="1"]{text-decoration:underline wavy;text-underline-offset:.2em}
.g .bk-apply{display:grid;gap:.5rem;justify-items:start}
.g .reportbox[open]{display:flex;flex-direction:column;width:min(36rem,calc(100vw - 1.5rem));max-height:calc(100vh - 1.5rem);max-height:calc(100dvh - 1.5rem);padding:0;overflow:auto;border:3px solid var(--ink,currentColor);border-radius:1rem;background:var(--sheet,var(--paper,#fff));color:var(--ink,inherit)}
.g .reportbox::backdrop{background:rgba(20,20,20,.55)}
.g .rp-body{flex:none;min-height:0;overflow:visible;overscroll-behavior:contain;display:grid;gap:.6rem;align-content:start;padding:1.1rem 1.1rem .6rem}
.g .rp-foot{flex:none;display:grid;gap:.3rem;padding:.6rem 1.1rem .9rem;border-top:2px solid var(--ink,currentColor)}
.g .reportbox h3{margin:0;font-size:1.2rem;line-height:1.2;text-wrap:balance}
.g .reportbox h3:focus{outline:none}
.g .reportbox p{margin:0;font-size:.9rem;text-wrap:pretty}
.g .reportbox label{font-size:.85rem;font-weight:700;margin-top:.3rem}
.g .reportbox textarea{width:100%;min-height:3.4rem;padding:.6rem .7rem;font:400 .85rem/1.4 ui-monospace,Menlo,Consolas,monospace;color:inherit;background:transparent;border:2px solid currentColor;border-radius:.3rem;resize:vertical}
.g .reportbox textarea:focus-visible{outline:3px solid var(--focus,currentColor);outline-offset:2px}
.g .reportbox #rp-prev{opacity:.9}
.g .reportbox .rp-chk{display:flex;align-items:flex-start;gap:.6rem;min-height:2.75rem;font-weight:600;margin-top:.1rem}
.g .reportbox .rp-chk input{flex:none;width:1.4rem;height:1.4rem;margin:.1rem 0 0}
.g .reportbox .rp-where{font-weight:600}
.g .reportbox .bk-row{gap:.4rem .5rem}
.g .reportbox .cta{min-height:2.9rem;padding:.5rem 1.1rem;font-size:1rem;gap:.4rem}
.g .reportbox .ghost{min-height:2.7rem;padding:.4rem .9rem;font-size:.85rem}
.g .reportbox .rp-msg{min-height:0}
.g .reportbox .rp-msg:empty{display:none}
.g .shop-bal{font-weight:700}
.g .offers{list-style:none;padding:0;margin:0;display:grid;gap:.8rem;width:100%}
.g .offer{display:grid;gap:.4rem;justify-items:start;padding:.9rem 1rem;border:2px dashed currentColor;border-radius:.8rem}
.g .offer h3{margin:0}
.g .offer-soon{font-weight:700}
.g .ghost:disabled{opacity:.55;cursor:not-allowed}
.g .ghost:disabled:active{transform:none;box-shadow:inherit}
.g .draftbadge{align-self:center;margin:0 0 .5rem;padding:.15rem .6rem;border:1.5px dashed currentColor;font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.8}
.g .msg{position:relative;padding:.9rem 1rem 1rem;max-width:34rem;margin-inline:auto;width:100%}
.g .msg-h{font-size:.8rem;opacity:.75;margin:0 0 .5rem}
.g .msg-b{margin:0;overflow-wrap:anywhere;font-size:clamp(min(1.2rem,8cqw),4.6cqw,1.7rem);line-height:1.6;text-wrap:pretty}
.g .t9gap{display:inline-block;padding:0 .3em;margin-inline:.05em;border-bottom:.1em dashed currentColor;transition:background .15s}
.g .t9gap.hot{background:rgba(255,197,49,.55)}
.g .t9gap b{font-weight:800}
.g .t9tile{min-width:5rem;max-width:100%;font-size:1.2rem!important;height:auto!important;min-height:3.4rem;padding:0 1rem!important;white-space:normal;overflow-wrap:anywhere;line-height:1.15}
.g .turn{margin-left:.4rem;font-size:.85rem}
.g .duelbox{max-width:36rem;margin-inline:auto;display:grid;gap:1rem;justify-items:start}
.g .duelbox h2{font-size:clamp(1.5rem,5vw,2.1rem);line-height:1.1;text-wrap:balance}
.g .duelbox .lead{max-width:30rem;text-wrap:pretty}
.g .duelnames{display:grid;gap:.4rem;width:100%}
.g .duelnames label{font-size:.85rem;font-weight:700;margin-top:.4rem}
.g .duelnames input{width:100%;min-height:3rem;padding:.5rem .8rem;font:inherit;font-size:1.1rem;color:inherit;background:transparent;border:2px solid currentColor;border-radius:.3rem}
.g .duelnames input:focus-visible{outline:3px solid var(--focus,currentColor);outline-offset:2px}
.g .duelbox .acts{display:flex;flex-wrap:wrap;gap:.8rem}
.g .duelres .score{display:flex;align-items:baseline;gap:.5rem;font-size:clamp(3.5rem,16vw,6rem);line-height:1}
.g .duelres .verdict{font-size:1.15rem;text-wrap:balance}
.g .tw{width:100%;overflow-x:auto}
.g .duelt{border-collapse:collapse;width:100%;min-width:15rem}
.g .duelt th,.g .duelt td{padding:.5rem .6rem;text-align:left;border-bottom:1px solid currentColor;font-size:.95rem}
.g .duelt thead th{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}
.g .duelt td{text-align:center}
.g .duelt td[data-ok="1"]{color:var(--good,inherit)}.g .duelt td[data-ok="0"]{color:var(--bad,inherit)}
.g .tw{position:relative}
.g .duelt td,.g .duelt th{position:relative}
.g .coach{margin:0 0 1.2rem;padding:.9rem 1rem 1rem;display:grid;gap:.4rem;justify-items:start}
.g .coach[hidden]{display:none}
.g .cstep{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;opacity:.75}
.g .ctitle{font-size:1.25rem;line-height:1.15}
.g .ctext{max-width:34rem;text-wrap:pretty}
.g .coach .acts,.g .tutcard .acts{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.4rem}
.g .tutcard{margin:0 0 1.4rem;padding:1rem;display:grid;gap:.4rem;justify-items:start}
.g .tutcard h2{font-size:1.2rem;line-height:1.15}
.g .spot{outline:3px dashed currentColor;outline-offset:4px;animation:spotp 1.4s ease-in-out infinite}
@keyframes spotp{50%{outline-offset:7px}}
.g .duelres .grid{font-size:1.6rem;letter-spacing:.1em}
.g .fb-acts{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.2rem}
.g .linkbtn{min-height:2.75rem;padding:.3rem .1rem;font-size:.85rem;text-decoration:underline;text-underline-offset:.2em;opacity:.85}
.g .linkbtn:hover{opacity:1}
.g .ctx{overflow-wrap:anywhere;text-align:center;font-size:1.1rem;line-height:1.4;margin:0 auto .3rem;max-width:30rem;text-wrap:balance}
.g .ctxgap{display:inline-block;min-width:2.4em;margin-inline:.15em;border-bottom:2px dashed currentColor;text-align:center}
.g .word .ch.sp{min-width:.32em}
.g .gapbtn.on .caret,.g .gapbtn.is-ok .caret,.g .gapbtn.is-bad .caret,.g .gapbtn.is-key .caret{display:none}
.g .chk .hint{text-wrap:pretty}
.g .lives{display:inline-flex;gap:.35rem;margin-left:.3rem}
.g .life{display:block;width:1.05rem;height:1.05rem;border-radius:50%;background:var(--bad,currentColor);border:2px solid currentColor}
.g .life.lost{background:transparent;opacity:.35}
.g .infobox{gap:.7rem}
.g .infobox h3{margin:.8rem 0 0;font-size:1.1rem;line-height:1.2}
.g .infobox p{max-width:36rem;text-wrap:pretty}
.g .infobox code{font-size:.9em}
.g .week{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}
.g .week li{display:grid;place-items:center;width:2.6rem;height:2.6rem;border:2px solid currentColor;border-radius:50%;font-size:.85rem;font-weight:700;position:relative}
.g .week li[data-on="1"]{background:var(--good);border-color:var(--good);color:#fff}
.g .week li[data-future="1"]{opacity:.5;border-style:dashed}
.g .week li[data-today="1"]{outline:3px solid currentColor;outline-offset:2px}
.g .rules{list-style:none;padding:0;margin:0;display:grid;gap:.45rem;width:100%}
.g .rules li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.1rem .8rem;padding-bottom:.45rem;border-bottom:1px dotted currentColor}
.g .rules small{grid-column:1/-1;opacity:.8}
.g .stt td{text-align:left}
.g .verdict .who{white-space:nowrap}
.g .foot .upd{display:block;margin-top:.4rem;font-weight:700}
.g [tabindex="-1"]:focus{outline:none}
.g .gapbtn:disabled .caret{display:none}
.g .fb .right{font-weight:700}
.g .stt th,.g .stt td{padding:.45rem .35rem;font-size:.88rem}
.g .stt{min-width:0}
.g .week{gap:.3rem}
.g .week li{width:2.25rem;height:2.25rem;font-size:.8rem}
.g .ctx.big{font-size:clamp(min(1.35rem,9cqw),5.6cqw,2rem);line-height:1.8;margin:.4rem auto 0;max-width:34rem}
.g .ctx .gap.ig{display:inline-block;min-width:3.2em;padding:0 .2em;text-align:center;border-bottom:.08em dashed currentColor;transition:background .15s}
.g .ctx .gap.ig b{font-weight:800}
.g .tiles.wide .tile{min-width:0;max-width:100%;height:auto;min-height:3.4rem;padding:.4rem 1rem;font-size:1.2rem;line-height:1.15;overflow-wrap:anywhere}
.g .winput{position:relative;margin:.9rem auto 0;max-width:34rem;width:100%;min-height:3.7rem;padding:.4rem .8rem;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;text-align:center;white-space:pre-wrap;overflow-wrap:anywhere;font-size:clamp(1.5rem,7cqw,2.3rem);line-height:1.2}
.g .winput.empty::before{content:attr(data-ph);opacity:.4;letter-spacing:.06em;font-size:.7em}
.g .winput .wcur{display:inline-block;width:.09em;height:1.1em;margin-left:.06em;background:currentColor;animation:blink 1s steps(2,start) infinite}
.g .winput.empty .wcur{order:-1;margin:0 .3em 0 0}
@keyframes blink{to{opacity:0}}
.g .winput .x{font-style:normal;color:var(--bad,currentColor);text-decoration:underline wavy;text-decoration-thickness:.08em}
.g .winput.is-ok{color:var(--good,currentColor)}
.g .wline{min-height:1.4em;margin:.35rem 0 0;text-align:center;font-size:.9rem;font-weight:600}
.g .kbd[hidden]{display:none}
.g .kbd{display:grid;gap:.32rem;margin:.6rem auto 0;width:100%;max-width:36rem;user-select:none;-webkit-user-select:none;touch-action:manipulation}
.g .krow{display:flex;gap:.22rem;justify-content:center}
.g .key{flex:1 1 0;min-width:0;height:2.9rem;display:grid;place-items:center;padding:0;font-size:1.15rem;line-height:1}
.g .key.kw{flex:1.6}
.g .key.ksp{flex:3;font-size:.85rem}
.g .key.kok{flex:4;font-size:.9rem}
.g .key:disabled{opacity:.55}
.g .key .ic{width:1.5em;height:1.5em}
@media(max-height:520px){.g .key{height:2.75rem}}
@supports(font-size:1cqw){
.g .round[data-type=write] .key:not(.ksp):not(.kok){font-size:min(1.05rem,8cqw)}
.g .round[data-type=write] .key.ksp{font-size:min(.85rem,5cqw)}
.g .round[data-type=write] .key.kok{font-size:min(.9rem,5cqw)}
}
@media(max-width:899px){
.g .round[data-type=write]{grid-template-columns:minmax(0,1fr);grid-template-areas:"prog" "stage" "dock"}
.g .round[data-type=write] .side{display:none}
.g .round[data-type=write] .fb .quip{display:block}
.g .round[data-type=write] .fb .right{display:none}
}
@media(max-width:360px){
.g .round[data-type=write] .krow{gap:.125rem}
.g .round[data-type=write] .key:not(.ksp):not(.kok){font-size:min(1rem,8cqw)}
}
@supports(height:100dvh){body{height:100dvh}}
.g .stat{min-height:2.75rem}
.g .prog{gap:.35rem}
.g .prog .cnt{flex:none;white-space:nowrap}
@media(max-width:520px),(orientation:landscape) and (max-height:520px){
.g .prog{gap:.22rem}
.g .prog .turn{display:none}
}
.g .dock[data-state=idle]{position:sticky;bottom:max(.4rem,env(safe-area-inset-bottom,0px));z-index:5}
@media(orientation:landscape) and (max-height:520px){
.g .app[data-view=round] .top{display:none}
.g .app[data-view=round] main{margin-top:0}
.g .round{grid-template-columns:minmax(0,1fr);grid-template-areas:"prog" "stage" "dock";gap:.55rem}
.g .round .side{display:none}
.g .round .fb .quip{display:block}
.g .round[data-type=write] .fb .right{display:none}
.g .task{min-height:0}
.g .backbtn{min-height:2.5rem}
.g .round[data-answered]{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-areas:"prog prog" "stage dock";align-items:start}
.g .round[data-answered] .dock{position:sticky;top:.5rem}
.g .tiles{margin-top:.9rem}
.g .round[data-type=write] .task:not([data-done]){display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);grid-template-areas:"msg kbd" "inp kbd" "line kbd";column-gap:1.1rem;align-items:start;align-content:center}
.g .round[data-type=write] .task:not([data-done]) .msg{grid-area:msg;max-width:none}
.g .round[data-type=write] .task:not([data-done]) .winput{grid-area:inp;max-width:none;margin-top:.6rem}
.g .round[data-type=write] .task:not([data-done]) .wline{grid-area:line}
.g .round[data-type=write] .task:not([data-done]) .kbd{grid-area:kbd;margin:0;max-width:none;align-self:center}
.g .round[data-type=write] .task .draftbadge{grid-column:1/-1}
.g .round[data-type=write] .key{height:clamp(2.2rem,calc((100vh - 9.5rem)/4.6),3rem)}
@supports(height:100dvh){.g .round[data-type=write] .key{height:clamp(2.2rem,calc((100dvh - 9.5rem)/4.6),3rem)}}
.g .round[data-type=write] .msg{padding:.6rem .8rem .7rem}
.g .round[data-type=write] .msg-b{font-size:1.15rem;line-height:1.45}
.g .round[data-type=write] .winput{min-height:3rem;font-size:1.65rem}
}
@media(orientation:portrait) and (max-height:700px){
.g .round[data-type=write] .key{height:2.55rem}
.g .round[data-type=write] .kbd{gap:.28rem;margin-top:.45rem}
.g .round[data-type=write] .winput{min-height:3rem;margin-top:.6rem}
.g .round[data-type=write] .msg{padding:.65rem .9rem .75rem}
.g .round[data-type=write] .msg-b{font-size:1.15rem;line-height:1.45}
.g .round[data-type=write] .wline{min-height:1.2em;margin-top:.2rem}
.g .round[data-type=write] .task{min-height:0}
}
.g .marks li{position:relative;max-width:100%;overflow-wrap:anywhere}
@media(orientation:portrait) and (max-height:700px){
.g .app[data-view=round] .top{display:none}
.g .app[data-view=round] main{margin-top:0}
}
.g .text .tkw{white-space:nowrap}
@media(orientation:landscape) and (max-height:520px){
.g .coach{grid-template-columns:minmax(0,1fr) auto;column-gap:1rem;row-gap:.15rem;align-items:center;padding:.5rem .8rem;margin-bottom:.5rem}
.g .coach .cstep,.g .coach .ctitle,.g .coach .ctext{grid-column:1}
.g .coach .ctitle{font-size:1.05rem}
.g .coach .ctext{font-size:.9rem;line-height:1.3}
.g .coach .acts{grid-column:2;grid-row:1/4;margin:0;flex-direction:column;align-items:stretch;gap:.4rem}
.g .coach .cta,.g .coach .ghost{min-height:2.6rem;padding:.35rem .9rem;font-size:.9rem;justify-content:center}
}
.g .info-popup{box-shadow:5px 5px 0 var(--ink);}
.g .info-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.6rem}
.g .info-head h3{align-self:center}
.g .info-head button{flex:none}
.g .info-popup .rp-body{padding-bottom:1.1rem}
.g .info-popup .info-head h3{min-width:0;overflow-wrap:anywhere}
.g .info-popup .bk-row>*{max-width:100%;white-space:normal;overflow-wrap:anywhere}
.g .info-popup[open]{overflow:hidden}
.g .info-popup .rp-body{flex:1 1 auto;min-height:0;overflow:auto}
#app>p[role=alert],#app>p[role=status],#app>.offhint{padding:1rem 1rem 0;margin:0}
#app>button{margin:.9rem 0 0 1rem;padding:.7rem 1.1rem;font:inherit;min-height:44px;cursor:pointer}
html,body{background-color:#FFC531}
.wb{
--sun:#FFC531;--tomato:#D43C21;--teal:#12A38B;--sky:#9ADDF6;--ink:#141414;--paper:#fff;--focus:#141414;
background-color:var(--sun);
background-image:linear-gradient(116deg,transparent 0 62%,rgba(20,20,20,.07) 62% 100%),radial-gradient(circle at 10% 92%,rgba(240,72,44,.2) 0 9rem,transparent 9.05rem);
color:var(--ink);font:500 1.0625rem/1.45 Onest,system-ui,sans-serif}
.wb .app{width:min(100%,68rem);margin-inline:auto;padding-block:max(1rem,env(safe-area-inset-top,0px),var(--tg-inset-top,0px)) calc(2.2rem + max(env(safe-area-inset-bottom,0px),var(--tg-inset-bottom,0px)));padding-inline:max(1rem,env(safe-area-inset-left),env(safe-area-inset-right),var(--tg-inset-left,0px),var(--tg-inset-right,0px))}
.wb .top{display:flex;align-items:center;justify-content:space-between;gap:1rem}
.wb .brand{display:flex;flex:1 1 110px;min-width:0;max-width:230px}
.wb .brand .title{display:block;width:100%;height:auto}
.wb .stats{gap:.7rem}
@media(max-width:359px){.wb .top{gap:.6rem}.wb .stats{gap:.45rem}}
.wb .app.narrowtext .top{gap:.4rem}
.wb .app.narrowtext .stats{gap:.4rem;flex-wrap:nowrap}
.wb .app.narrowtext .stat{padding:.3rem .55rem;font-size:.8rem}
.wb .app.narrowtext .tabtitle{font-size:min(1.8rem,10.5vw)}
.wb .app.narrowtext .dock[data-state=idle]{position:static}
.wb .stat{padding:.4rem .8rem;background:var(--paper);border:3px solid var(--ink);border-radius:999px;box-shadow:.2rem .2rem 0 var(--ink);font:800 .95rem/1 Onest,sans-serif}
.wb .s-streak .ic{color:var(--tomato)}.wb .s-ink .ic{color:#086657}
.wb main{margin-top:1.2rem}
.wb .hero{display:grid;gap:1.4rem;align-items:center;grid-template-columns:minmax(0,1fr)}
@media(min-width:900px){.wb .hero{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:2rem}}
.wb .hostwrap{display:flex;align-items:flex-end;gap:.8rem}
.wb .host{flex:none;width:clamp(6rem,24vw,10.5rem);height:auto;overflow:visible}
.wb .say{position:relative;overflow-wrap:anywhere;padding:.8rem 1rem;background:var(--paper);border:3px solid var(--ink);border-radius:1.1rem;box-shadow:.25rem .25rem 0 var(--ink);font-weight:600;font-size:1rem;max-width:20rem;margin-bottom:2rem;text-wrap:pretty}
.wb .say::before{content:'';position:absolute;left:-.62rem;bottom:1.1rem;width:1rem;height:1rem;background:var(--paper);border-left:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:rotate(45deg)}
.wb .pup{transform:translate(var(--ex,0px),var(--ey,0px));transition:transform .09s linear}
.wb .host .body{transform-box:fill-box;transform-origin:50% 100%}
.wb .brow{transform-box:fill-box;transform-origin:50% 50%;transition:transform .22s cubic-bezier(.2,1.4,.4,1)}
.wb .hero .host .body,.wb [data-phase=idle] .host .body{animation:bob 3.4s ease-in-out infinite}
@keyframes bob{50%{transform:translateY(3px) scaleY(.985)}}
@keyframes hop{0%{transform:scale(1.08,.9)}35%{transform:translateY(-1.3rem) scale(.94,1.1)}70%{transform:scale(1.06,.94)}100%{transform:none}}
@keyframes sag{0%{transform:rotate(-5deg)}25%{transform:rotate(5deg)}50%{transform:rotate(-3deg)}100%{transform:scale(1,.94)}}
.wb [data-phase=ok] .host .body,.wb .big[data-mood=happy] .host .body{animation:hop .7s cubic-bezier(.3,1.5,.5,1) both}
.wb [data-phase=bad] .host .body,.wb .big[data-mood=sad] .host .body{animation:sag .55s ease-out both}
.wb [data-phase=ok] .brow.l,.wb .big[data-mood=happy] .brow.l{transform:translateY(-3px) rotate(-10deg)}
.wb [data-phase=ok] .brow.r,.wb .big[data-mood=happy] .brow.r{transform:translateY(-3px) rotate(10deg)}
.wb [data-phase=bad] .brow.l,.wb .big[data-mood=sad] .brow.l{transform:translateY(1px) rotate(16deg)}
.wb [data-phase=bad] .brow.r,.wb .big[data-mood=sad] .brow.r{transform:translateY(1px) rotate(-16deg)}
.wb h1{font:400 clamp(2rem,6.2vw,3.7rem)/1.02 'Russo One',sans-serif;overflow-wrap:break-word;margin-bottom:1rem;text-wrap:balance}
.wb h1 span{display:inline-block;margin-top:.15em;padding:0 .18em .04em;background:var(--tomato);color:var(--paper);border:3px solid var(--ink);border-radius:.15em;box-shadow:.07em .07em 0 var(--ink);transform:rotate(-1.8deg)}
.wb .lede{max-width:32rem;margin-bottom:1.5rem;font-weight:500;text-wrap:pretty}
.wb .cta,.wb .next{max-width:100%;display:inline-flex;align-items:center;gap:.7rem;min-height:3.5rem;padding:.9rem 1.6rem;background:var(--tomato);color:var(--paper);border:3px solid var(--ink);border-radius:1rem;box-shadow:.35rem .35rem 0 var(--ink);font:400 1.3rem/1 'Russo One',sans-serif;transition:transform .1s,box-shadow .1s}
.wb .cta span{min-width:0;overflow-wrap:anywhere}
.wb .cta:hover,.wb .next:hover{transform:translate(-2px,-2px);box-shadow:.5rem .5rem 0 var(--ink)}
.wb .cta:active,.wb .next:active{transform:translate(.35rem,.35rem);box-shadow:0 0 0 var(--ink)}
.wb .ghost{min-height:3rem;padding:.7rem 1.1rem;background:var(--paper);border:3px solid var(--ink);border-radius:999px;box-shadow:.2rem .2rem 0 var(--ink);font-weight:800;font-size:.95rem;transition:transform .1s,box-shadow .1s}
.wb .ghost:active{transform:translate(.2rem,.2rem);box-shadow:0 0 0 var(--ink)}
.wb .sec{margin:2.4rem 0 1rem;font:400 1.5rem/1 'Russo One',sans-serif}
.wb .modes{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,9rem),1fr));gap:1.1rem}
.wb .card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;min-height:9.6rem;padding:.9rem 1rem 1rem;background:var(--paper);border:3px solid var(--ink);border-radius:1.1rem;box-shadow:.3rem .3rem 0 var(--ink);transition:transform .1s,box-shadow .1s}
.wb button.card:hover{transform:translate(-2px,-2px) rotate(-.6deg);box-shadow:.45rem .45rem 0 var(--ink)}
.wb button.card:active{transform:translate(.3rem,.3rem);box-shadow:0 0 0 var(--ink)}
.wb .card .ico{position:relative;font:400 2.5rem/1 'Russo One',sans-serif;margin-bottom:.2rem}
.wb .card .ico .ac{position:absolute;left:.42em;top:-.16em;width:.2em;height:.34em;background:var(--ink);clip-path:polygon(0 100%,45% 100%,100% 0,55% 0)}
.wb .card b{font:400 1.2rem/1.1 'Russo One',sans-serif}
.wb .card small{font-size:.92rem;line-height:1.3;text-wrap:pretty}
.wb .card.soon{background:transparent;border-style:dashed;box-shadow:none}
.wb .card .tag{position:absolute;top:.6rem;right:.6rem;padding:.15rem .55rem;background:var(--sun);border:2px solid var(--ink);border-radius:999px;font-weight:800;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em}
.wb .prog{counter-reset:pp}
.wb .steps{display:flex;align-items:center;gap:.35rem;flex:1 1 0;min-width:0;min-height:1.5rem}
.wb .pip{position:relative;flex:1 1 0;min-width:.35rem;max-width:2.6rem;width:auto;height:.7rem;padding:0;background:var(--paper);border:2px solid var(--ink);border-radius:99px;transition:background .2s}
.wb .pip::before{content:none}
.wb .pip::after{content:'';position:absolute;inset:-.5rem 0}
.wb .pip[data-s=cur]{background:var(--sun);outline:3px solid var(--ink);outline-offset:2px;transform:none}
.wb .pip[data-s=ok]{background:var(--teal)}.wb .pip[data-s=bad]{background:var(--tomato)}
.wb .cnt{margin-left:auto;font-weight:800;font-size:.85rem}
.wb .stage{position:relative;padding:1.2rem 1rem 1.5rem;background:var(--paper);border:3px solid var(--ink);border-radius:1.4rem;box-shadow:.5rem .5rem 0 var(--ink)}
.wb .prompt{overflow-wrap:anywhere;font:400 min(1.3rem,9cqw)/1.15 'Russo One',sans-serif;margin-bottom:.9rem;text-wrap:balance}
.wb .word{gap:.06em;padding:1.1rem 0 .4rem;font:400 min(5.2rem,calc(112cqw/var(--n)))/1 'Russo One',sans-serif}
.wb .word .ch{min-width:.64em;padding:.1em .06em .14em;text-align:center;background:var(--paper);border:.05em solid var(--ink);border-radius:.16em;box-shadow:0 .07em 0 var(--ink);transition:transform .1s,box-shadow .1s,background .15s}
@media (hover:hover) and (pointer:fine){.wb .word .ch.v:not(:disabled):hover{transform:translateY(-.06em);background:#FFF1BF}}
.wb .word .ch.v:active{transform:translateY(.06em);box-shadow:0 0 0 var(--ink)}
.wb .word .ch.is-ok,.wb .word .ch.is-key{background:var(--teal)}
.wb .word .ch.is-bad{background:var(--tomato);color:var(--paper);animation:shake .4s}
.wb .stress .ch.is-ok::after,.wb .stress .ch.is-key::after{content:'';position:absolute;top:-.2em;left:50%;width:.16em;height:.32em;background:var(--ink);clip-path:polygon(0 100%,45% 100%,100% 0,55% 0);animation:accIn .4s cubic-bezier(.2,1.7,.4,1) both}
@keyframes accIn{from{transform:translateX(-50%) translateY(-.4em) scale(2);opacity:0}to{transform:translateX(-50%);opacity:1}}
@keyframes shake{20%{transform:translateX(-.08em)}40%{transform:translateX(.08em)}60%{transform:translateX(-.05em)}80%{transform:translateX(.04em)}}
@keyframes signIn{from{transform:translateY(-.3em) scale(1.9);opacity:0}to{transform:none;opacity:1}}
.wb .word .gap{min-width:.64em;border-style:dashed;background:transparent;box-shadow:none}
.wb .word .gap.hot{background:var(--sun)}
.wb .word .gap.is-ok{border-style:solid;background:var(--teal)}.wb .word .gap.is-bad{border-style:solid;background:var(--tomato);color:var(--paper);animation:shake .4s}
.wb .tiles{margin-top:1.6rem}
.wb .tile{min-width:4.2rem;height:4.4rem;padding:0 1.1rem;background:var(--sun);border:3px solid var(--ink);border-radius:1rem;box-shadow:0 .3rem 0 var(--ink);font:400 2.2rem/1 'Russo One',sans-serif;cursor:grab}
.wb .tile.held{cursor:grabbing;z-index:9;box-shadow:0 .9rem 0 var(--ink)}
.wb .sentence{padding:1.4rem 0 .6rem;font:400 clamp(min(1.5rem,10cqw),5.8cqw,2.5rem)/1.65 'Russo One',sans-serif;text-align:center}
.wb .sentence .gapbtn{--mk:',';display:inline-block;position:relative;width:.95em;height:1.3em;margin-inline:.1em;vertical-align:middle;border:.07em dashed var(--ink);border-radius:.36em;background:transparent;transition:background .15s,transform .15s,border-color .15s}
.wb .sentence[data-mark=":"] .gapbtn{--mk:':';--gs:1.35em}
.wb .sentence:not([data-mark=":"]):not([data-mark="—"]) .gapbtn{--gs:1.45em;--lift:.6em}
.wb .sentence[data-mark="—"] .gapbtn{--mk:'—';width:1.9em}
.wb .gapbtn .caret{position:absolute;inset:0;display:grid;place-items:center;padding-bottom:var(--lift,0)}
.wb .gapbtn .caret::after{content:var(--mk);font-size:var(--gs,1em);line-height:1;opacity:.5;transition:opacity .15s}
@media (hover:hover) and (pointer:fine){
.wb .gapbtn:not(:disabled):not(.on):hover{background:#FFF1BF;border-style:dashed}
}
.wb .sentence .gapbtn .cm{position:absolute;inset:0;display:grid;place-items:center;padding-bottom:var(--lift,0);font-size:var(--gs,1em);font-weight:400;line-height:1;color:var(--ink)}
.wb .gapbtn.on{background:var(--sun);border-style:solid;box-shadow:.08em .08em 0 var(--ink)}
.wb .gapbtn.on .caret,.wb .gapbtn.is-ok .caret,.wb .gapbtn.is-bad .caret,.wb .gapbtn.is-key .caret{display:none}
.wb .gapbtn.is-ok,.wb .gapbtn.is-bad,.wb .gapbtn.is-key{box-shadow:none}
.wb .gapbtn.is-ok::after,.wb .gapbtn.is-bad::after,.wb .gapbtn.is-key::after{position:absolute;right:-.75em;top:-.95em;display:grid;place-items:center;width:1.6em;height:1.6em;border:.12em solid var(--ink);border-radius:50%;background:var(--paper);color:var(--ink);font:800 .5em/1 Onest,sans-serif}
.wb .gapbtn.is-ok{background:var(--teal);border-style:solid}
.wb .gapbtn.is-ok::after{content:'✓'}
.wb .gapbtn.is-ok .cm{animation:signIn .4s cubic-bezier(.2,1.7,.4,1) both}
.wb .gapbtn.is-bad{background:var(--tomato);border-style:solid;animation:shake .4s}
.wb .gapbtn.is-bad::after{content:'✕';background:var(--ink);color:var(--paper)}
.wb .gapbtn.is-bad .cm{color:var(--paper)}
.wb .gapbtn.is-key{background:var(--paper);border:.09em dashed var(--good)}
.wb .gapbtn.is-key::after{content:'+';background:var(--sun)}
.wb .gapbtn.is-key .cm{color:var(--good);animation:signIn .4s cubic-bezier(.2,1.7,.4,1) both}
.wb .gapbtn:disabled:not(.is-ok):not(.is-bad):not(.is-key){border-color:transparent;background:transparent}
.wb .cap{display:inline-block;margin-bottom:.6rem;padding:.2rem .7rem;background:var(--sky);border:2px solid var(--ink);border-radius:999px;font-weight:800;font-size:.8rem}
.wb .text{font:600 clamp(1.05rem,3.5cqw,1.4rem)/2.1 Onest,sans-serif}
.wb .tok{padding:.06em .2em;margin:.05em calc(-.2em - 3px);border:3px solid transparent;border-radius:.6em;transition:background .12s,transform .12s,box-shadow .12s}
@media (hover:hover) and (pointer:fine){.wb .tok:not(:disabled):not([aria-pressed=true]):hover{background:#FFF1BF}}
.wb .tok[aria-pressed=true]{background:var(--sun);border-color:var(--ink);box-shadow:.12em .12em 0 var(--ink);transform:rotate(-1.2deg)}
.wb .tok.hit{background:var(--teal);border-color:var(--ink);box-shadow:none;transform:none}
.wb .tok.miss{background:var(--paper);border:3px dashed var(--tomato);transform:none;box-shadow:none}
.wb .tok.fp{background:var(--tomato);color:var(--paper);border-color:var(--ink);box-shadow:none;transform:none}
.wb .hint{font-weight:600}
.wb .dock:not(:empty){padding-top:.2rem}
.wb .fb{padding:1rem 1.1rem;border:3px solid var(--ink);border-radius:1.2rem;box-shadow:.4rem .4rem 0 var(--ink);background:#C9F2E6}
.wb .fb[data-ok="0"]{background:#FFD5CB}
.wb .vd{display:inline-block;flex:none;padding:.1rem .6rem .18rem;background:var(--paper);border:3px solid var(--ink);border-radius:.6rem;box-shadow:.15rem .15rem 0 var(--ink);font:400 1.8rem/1.1 'Russo One',sans-serif;transform:rotate(-2deg);animation:vdIn .45s cubic-bezier(.2,1.7,.4,1) both}
.wb .vd.is-ok{color:#086657}.wb .vd.is-bad{color:#a3200d}
@keyframes vdIn{from{transform:rotate(-12deg) scale(.3);opacity:0}to{transform:rotate(-2deg);opacity:1}}
.wb .why{text-wrap:pretty}
.wb .fb .quip{display:none}
.wb .fb .next{background:var(--ink);color:var(--paper);box-shadow:.3rem .3rem 0 var(--tomato);font-size:1.1rem;min-height:3.2rem}
.wb .fixes li{padding-bottom:.5rem;border-bottom:2px dotted rgba(20,20,20,.3)}
.wb .fixes .fx{font-weight:800}.wb .fixes b{color:#086657}.wb .fixes .nt{font-size:.95rem}
.wb .fixes li.lost .fx s{color:#a3200d}.wb .fixes li.fp b{color:#a3200d}
.wb .chk .n{display:inline-grid;place-items:center;min-width:1.6rem;height:1.6rem;border-radius:50%;background:var(--sun);color:var(--ink);font:400 .9rem 'Russo One',sans-serif}
.wb .side .hostwrap{align-items:flex-end}
.wb .side .host{width:clamp(4.2rem,17vw,5.5rem)}
.wb .side .say{margin-bottom:1.1rem;font-size:.95rem}
.wb .side{overflow-x:clip}
.wb .camwrap{flex:none;width:clamp(3.6rem,14vw,4.6rem);transform:translateX(140%);opacity:0;transition:transform .4s cubic-bezier(.2,1.5,.4,1),opacity .2s;pointer-events:none}
.wb .side[data-phase=bad] .camwrap{transform:none;opacity:1}
.wb .cam{display:block;width:100%;height:auto}
@media(min-width:900px),(orientation:landscape) and (min-width:640px) and (max-height:520px){
.wb .side .hostwrap{flex-wrap:wrap;position:sticky;top:1rem}
.wb .side .host{width:8.5rem}
.wb .camwrap{width:5.6rem;margin-left:-1.5rem}
.wb .side .say{order:3;flex-basis:100%;max-width:none;margin:.4rem 0 0}
.wb .side .say::before{left:2rem;top:-.6rem;bottom:auto;transform:rotate(135deg)}
}
.wb .cf{position:absolute;left:50%;top:40%;pointer-events:none;z-index:6;font:400 1.7rem/1 'Russo One',sans-serif}
.wb .res{display:grid;gap:1rem;justify-items:center;text-align:center;max-width:36rem;margin-inline:auto;position:relative}
.wb .res h2{font:400 clamp(1.5rem,5vw,2.1rem)/1.1 'Russo One',sans-serif;text-wrap:balance}
.wb .res .big{font:400 clamp(4.5rem,20vw,8rem)/1 'Russo One',sans-serif;color:var(--paper);text-shadow:.045em .045em 0 var(--ink),-.02em -.02em 0 var(--ink),.02em -.02em 0 var(--ink),-.02em .02em 0 var(--ink)}
.wb .res .big span{font-size:.4em}
.wb .marks{list-style:none;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}
.wb .marks li{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .8rem;border:3px solid var(--ink);border-radius:999px;background:var(--paper);font-weight:800;font-size:.9rem}
.wb .marks li[data-ok="1"]{background:var(--teal)}.wb .marks li[data-ok="0"]{background:var(--tomato);color:var(--paper)}
.wb .earn{text-wrap:pretty}
.wb .acts{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem}
.wb .themebtn{padding:.4rem .8rem;background:var(--paper);border:3px solid var(--ink);box-shadow:.2rem .2rem 0 var(--ink);font:800 .85rem/1 Onest,sans-serif;color:var(--ink)}
.wb .themebtn:active{transform:translate(.2rem,.2rem);box-shadow:0 0 0 var(--ink)}
.wb .foot{border-top:3px dashed var(--ink);font-weight:500}
.wb .backbtn{padding:.35rem .9rem .35rem .7rem;background:var(--paper);border:3px solid var(--ink);border-radius:999px;box-shadow:.15rem .15rem 0 var(--ink);font:800 .85rem/1 Onest,sans-serif}
.wb .backbtn:active{transform:translate(.15rem,.15rem);box-shadow:0 0 0 var(--ink)}
.wb .stress .ch.v{background:#FFF1BF}
.wb .stress .ch.v::before{content:'';position:absolute;left:12%;right:12%;bottom:-.24em;border-bottom:.07em dashed var(--ink);opacity:.75}
.wb .stress .ch.v.is-pick::before{display:none}
.wb .stress .ch.v.is-pick{background:var(--sun)}
.wb .word .gap.is-pick{border-style:solid;background:var(--sun)}
.wb .t9gap.is-pick,.wb .ctx .gap.ig.is-pick{background:var(--sun);border-bottom-color:transparent;border-radius:.3em}
.wb .winput.is-wait{border-style:solid;background:#FFF1BF}
.wb .stress .ch.v.is-ok::before,.wb .stress .ch.v.is-bad::before,.wb .stress .ch.v.is-key::before{display:none}
.wb .stress .ch.v.is-ok,.wb .stress .ch.v.is-key{background:var(--teal)}
.wb .stress .ch.v.is-bad{background:var(--tomato)}
@media(min-width:900px){.wb h1{font-size:clamp(2rem,4.2vw,3.7rem)}}
.wb .chars{display:grid;gap:.9rem}
.wb .hostwrap.duo{align-items:flex-end}
.wb .duo .cam{flex:none;width:clamp(3.6rem,15vw,5.2rem);height:auto;overflow:visible}
.wb .duo .sof{flex:none;width:clamp(3rem,12vw,4.2rem);height:auto;overflow:visible;align-self:flex-end}
.wb .duo .say{margin-bottom:1.6rem;font-size:.95rem}
.wb .side[data-phase=ok][data-who=soft] .sofwrap{transform:none;opacity:1}
.wb .sofwrap{margin-left:-1rem}
.wb .sof,.wb .t9g{display:block;width:100%;height:auto}
@media(max-width:899px){.wb .side .sofwrap{width:clamp(3rem,12vw,4rem)}}
.wb .msg{background:var(--paper);border:3px solid var(--ink);border-radius:1.2rem 1.2rem 1.2rem .3rem;box-shadow:.3rem .3rem 0 var(--ink);padding-right:5.2rem}
.wb .msg-b{font-family:Onest,sans-serif;font-weight:600}
.wb .t9peek{position:absolute;right:.7rem;bottom:-.4rem;width:4.2rem;pointer-events:none;transform:rotate(6deg)}
.wb .t9peek[data-mood=happy]{animation:hop .7s cubic-bezier(.3,1.5,.5,1) both}
.wb .t9peek[data-mood=sad]{transform:rotate(-14deg) translateY(.6rem);opacity:.85}
.wb .t9gap.is-ok{background:var(--teal);border-bottom-color:transparent;border-radius:.3em}
.wb .t9gap.is-bad{border-bottom-color:transparent}
.wb .t9gap.is-bad b{color:#086657}
.wb .duo .cam{width:clamp(4.6rem,20vw,6.2rem)}
.wb .duo .sof{width:clamp(3.4rem,14vw,4.6rem)}
.wb{--good:#086657;--bad:#a3200d}
.wb .duelbox{background:var(--paper);border:3px solid var(--ink);border-radius:1.4rem;box-shadow:.5rem .5rem 0 var(--ink);padding:1.4rem 1.2rem}
.wb .duelbox h2{font-family:'Russo One',sans-serif;font-weight:400}
.wb .duelres .score{font-family:'Russo One',sans-serif}
.wb .duelnames input{border-width:3px;border-radius:.8rem;background:#fff}
.wb .turn{padding:.25rem .7rem;background:var(--sky);border:3px solid var(--ink);border-radius:999px;font-weight:800}
@media(max-width:899px){
.wb .side .hostwrap{position:relative}
.wb .side .camwrap{position:absolute;right:0;bottom:.2rem;margin:0}
.wb .side[data-phase=bad] .say,.wb .side[data-who=soft] .say{margin-right:clamp(3.6rem,14vw,4.6rem)}
}
@media(max-width:480px){
.wb .prog{gap:.3rem}
}
.wb .side[data-phase=bad] .sofwrap,.wb .side[data-phase=idle] .sofwrap{transform:translateX(140%);opacity:0}
.wb .coach,.wb .tutcard{background:var(--sky);border:3px solid var(--ink);border-radius:1.2rem;box-shadow:.35rem .35rem 0 var(--ink)}
.wb .ctitle,.wb .tutcard h2{font-family:'Russo One',sans-serif;font-weight:400}
.wb .spot{outline-color:var(--ink);border-radius:999px}
.wb .coach .ghost,.wb .tutcard .ghost{background:var(--paper)}
.wb .res .speech{display:flex;align-items:flex-end;gap:.7rem;width:100%;max-width:32rem}
.wb .res .speech .art{flex:none;width:clamp(4.4rem,19vw,6.4rem)}
.wb .res .speech svg{display:block;width:100%;height:auto;overflow:visible}
.wb .res .speech .say{flex:1;min-width:0;max-width:none;margin:0 0 1.2rem;text-align:left;font-size:1.05rem;line-height:1.45}
.wb .res .speech .say::before{left:-.62rem;top:auto;bottom:1.1rem;margin:0;transform:rotate(45deg)}
.wb .res .speech .say b{font-weight:800}
.wb .speech[data-mood=happy] .host .body{animation:hop .7s cubic-bezier(.3,1.5,.5,1) both}
.wb .speech[data-mood=sad] .host .body{animation:sag .55s ease-out both}
.wb .speech[data-mood=happy] .brow.l{transform:translateY(-3px) rotate(-10deg)}
.wb .speech[data-mood=happy] .brow.r{transform:translateY(-3px) rotate(10deg)}
@media(max-width:360px){.wb .res .speech{flex-direction:column;align-items:center}.wb .res .speech .say{margin:0}.wb .res .speech .say::before{left:50%;top:-.62rem;bottom:auto;margin-left:-.5rem;transform:rotate(135deg)}}
.wb .word .ch.sp{border:0;background:none;box-shadow:none;padding:0;min-width:.3em}
.wb .ctx{font-weight:600}
.wb .life{border-color:var(--ink);background:var(--tomato)}
.wb .infobox h3{font:400 1.15rem/1.2 'Russo One',sans-serif}
.wb .week li{border-width:3px}
.wb .chars,.wb .chars>.hostwrap{min-width:0;max-width:100%}
.wb .chars .say{min-width:0;flex:0 1 auto}
@media(max-width:520px){.wb .chars .hostwrap.duo{flex-wrap:wrap}.wb .chars .hostwrap.duo .say{flex:1 1 0;min-width:8rem}}
.wb .card .tag{position:static;align-self:flex-start;order:-1;margin-bottom:.15rem;max-width:100%;overflow-wrap:anywhere}
.wb .msg.wmsg{padding-right:1rem}
.wb .wbad{overflow-wrap:anywhere;padding:0 .2em;background:#FFD5CB;border-radius:.35em;text-decoration:underline wavy var(--tomato);text-decoration-thickness:.07em;text-underline-offset:.24em;text-decoration-skip-ink:none}
.wb .winput{font-family:'Russo One',sans-serif;background:#FFF1BF;border:3px dashed var(--ink);border-radius:1rem}
.wb .winput.is-ok{background:var(--teal);border-style:solid;color:var(--ink)}
.wb .winput.is-bad{background:#FFD5CB;border-style:solid}
.wb .key{background:var(--paper);border:3px solid var(--ink);border-radius:.55rem;box-shadow:0 .22rem 0 var(--ink);font:400 1.05rem/1 'Russo One',sans-serif;transition:transform .06s,box-shadow .06s,background .1s}
.wb .key:active{transform:translateY(.18rem);box-shadow:0 .04rem 0 var(--ink);background:var(--sun)}
.wb .key.kw{background:var(--sky)}
.wb .key.kok,.wb .next.check{background:var(--good);color:var(--paper)}
.wb .key.kok:active,.wb .next.check:active{background:#064d42}
.wb .key:disabled:active{transform:none;box-shadow:0 .22rem 0 var(--ink)}
.wb .ctx.big{font-family:'Russo One',sans-serif;font-weight:400}
.wb .ctx .gap.ig.hot{background:var(--sun)}
.wb .ctx .gap.ig.is-ok{background:var(--teal);border-bottom-color:transparent;border-radius:.3em}
.wb .ctx .gap.ig.is-bad{border-bottom-color:transparent}
.wb .ctx .gap.ig.is-bad s{color:var(--tomato)}
.wb .ctx .gap.ig.is-bad b{color:var(--good)}
.wb .round[data-type=write] .fb .quip{font-weight:700;font-size:.95rem}
@media(min-width:900px) and (min-height:521px){.wb .round[data-type=write] .fb .quip{display:none}}
@media(max-width:360px){.wb .round[data-type=write] .key{border-width:2px}}
.wb .card b{order:-3;margin-bottom:.15rem}
.wb .card .tag{order:-2;margin-bottom:.35rem}
.wb .card .ico{margin-top:.1rem}
.wb .card.tr{background:var(--paper)}
.wb .card.ch{background:var(--sky)}
.wb .card.ch[data-mode=daily]{background:#D9CCFF}.wb .card.ch[data-mode=duel]{background:var(--paper)}
.wb .revrow{margin-top:1.1rem}
.wb .card.rev{flex-direction:row;align-items:center;gap:1rem;min-height:0;width:100%;padding:1rem 1.1rem}
.wb .card.rev .ico{flex:none;display:grid;place-items:center;width:3.4rem;height:3.4rem;margin:0;border:3px solid var(--ink);border-radius:50%;background:var(--paper);color:var(--ink);font-size:1.9rem}
.wb .card.rev .rt{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;min-width:0}
.wb .card.rev small{font-size:.95rem}
.wb .card.rev .praise{font-weight:700}
.wb .card.rev.st-due{background:var(--paper);color:var(--ink)}
.wb .card.rev.st-due .ico{background:var(--tomato);color:var(--paper)}
.wb .card.rev.st-due .tag{background:var(--tomato);color:var(--paper);padding:.05rem .6rem;border-radius:999px;font-weight:700}
.wb .card.rev.st-clean,.wb .card.rev.st-rest{background:var(--teal);color:var(--ink)}
.wb .card.rev.st-empty{background:var(--paper);border-style:dashed;box-shadow:none}
.wb .card.rev.st-empty .ico{border-style:dashed}
.wb button.stat{cursor:pointer;transition:transform .1s,box-shadow .1s}
.wb button.stat:active{transform:translate(.15rem,.15rem);box-shadow:0 0 0 var(--ink)}
.wb .dock[data-state=idle] .chk{padding:.45rem .7rem;background:var(--paper);border:3px solid var(--ink);border-radius:1.1rem;box-shadow:.25rem .25rem 0 var(--ink)}
.wb .dock[data-state=idle] .chk .next{box-shadow:.2rem .2rem 0 var(--ink);min-height:2.9rem}
@media(orientation:landscape) and (max-height:520px){
.wb .app[data-view=round]{padding-block:.6rem 1.2rem}
.wb .stage{padding:.75rem 1rem 1rem;border-radius:1.2rem;box-shadow:.35rem .35rem 0 var(--ink)}
.wb .prompt{font-size:1.1rem;margin-bottom:.5rem}
.wb .word{padding:.6rem 0 .3rem}
.wb .tile{height:3.6rem;font-size:1.9rem}
.wb .round[data-type=write] .fb .quip{display:block}
.wb .fb{padding:.8rem 1rem}
.wb .hero{grid-template-columns:minmax(0,.95fr) minmax(0,1.2fr);gap:1.2rem}
.wb .hero .host{width:5.2rem}
.wb .hero .duo .cam{width:4.2rem}
.wb .hero .duo .sof{width:3.1rem}
.wb .hero .say{font-size:.88rem;margin-bottom:1rem;padding:.55rem .75rem}
.wb .hero h1{font-size:2.1rem;margin-bottom:.6rem}
.wb .hero .lede{margin-bottom:.9rem;font-size:.95rem}
.wb .res .big{font-size:4.2rem}
.wb .res{max-width:62rem;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);column-gap:1.6rem;row-gap:.55rem;align-items:start}
.wb .res>h2{grid-column:1;grid-row:1;font-size:1.35rem}
.wb .res>.big{grid-column:1;grid-row:2;font-size:3.6rem}
.wb .res>.acts{grid-column:1;grid-row:3/6;align-self:start}
.wb .res>.speech{grid-column:2;grid-row:1/3;max-width:none}
.wb .res>.marks{grid-column:2;grid-row:3;gap:.4rem}
.wb .res>.marks li{padding:.2rem .6rem;font-size:.82rem}
.wb .res>.earn{grid-column:2;grid-row:4;font-size:.92rem}
.wb .res .acts .cta{min-height:3rem;padding:.6rem 1.2rem;font-size:1.1rem}
.wb .res .acts .ghost{min-height:2.75rem;padding:.5rem .9rem}
}
@media(max-width:520px){
.wb .modes{grid-template-columns:repeat(auto-fit,minmax(max(8rem,calc(50% - .6rem)),1fr))}
.wb .card b,.wb .card small{overflow-wrap:anywhere}
.wb .modes>.card:not(.wide) b{font-size:clamp(.95rem,5.3vw,1.2rem)}
.wb .modes>.card:last-child:nth-child(odd){grid-column:1/-1;min-height:0}
}
.wb .proofbox{border:3px solid var(--ink);border-radius:1rem;background:#FFFEF6;box-shadow:.3rem .3rem 0 var(--ink);overflow:hidden}
.wb .prhead{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem .6rem;padding:.5rem .8rem;background:#FFD5CB;border-bottom:3px solid var(--ink)}
.wb .prlbl{font:400 1rem/1.15 'Russo One',sans-serif}
.wb .prhead .cap{margin:0;padding:.12rem .6rem;background:var(--paper);font-size:.78rem}
.wb .proofbox .text{position:relative;padding:.35em .9rem .5em 1.5rem;line-height:2.1;
background-image:repeating-linear-gradient(to bottom,transparent 0,transparent calc(2.1em - 2px),rgba(42,86,184,.16) calc(2.1em - 2px),rgba(42,86,184,.16) 2.1em);background-position:0 .35em}
.wb .proofbox .text::before{content:'';position:absolute;left:.75rem;top:0;bottom:0;width:2px;background:rgba(212,60,33,.5)}
.wb .proofbox .tok{padding:.04em .15em;margin:0 -.15em;border:0;border-radius:.3em;transform:none;box-shadow:none}
.wb .proofbox .tok[aria-pressed=true]{background:var(--sun);border:0;box-shadow:none;transform:none;text-decoration:underline .12em var(--tomato);text-underline-offset:.2em;text-decoration-skip-ink:none}
.wb .proofbox .tok.hit{background:var(--teal);text-decoration:none}
.wb .proofbox .tok.miss{background:#FFD5CB;border:0;text-decoration:underline wavy .08em var(--tomato);text-underline-offset:.22em}
.wb .proofbox .tok.fp{background:#E6E6E6;color:var(--ink);border:0;text-decoration:none;box-shadow:inset 0 0 0 .12em #555}
.wb .proofbox .tok.hit::after,.wb .proofbox .tok.fp::after{position:absolute;right:-.45em;top:-.6em;display:grid;place-items:center;width:1.55em;height:1.55em;border:.12em solid var(--ink);border-radius:50%;font:800 .66em/1 Onest,sans-serif;pointer-events:none}
.wb .proofbox .tok.hit::after{content:'✓';background:var(--paper);color:var(--ink)}
.wb .proofbox .tok.fp::after{content:'✕';background:var(--ink);color:var(--paper)}
.wb .proofbox .tok:focus-visible{outline:3px solid var(--ink);outline-offset:1px}
.wb .card.shopcard{flex-direction:row;align-items:center;gap:1rem;min-height:0;width:100%;padding:1rem 1.1rem;background:var(--ink);color:var(--paper);box-shadow:.3rem .3rem 0 var(--tomato)}
.wb button.card.shopcard:hover{box-shadow:.45rem .45rem 0 var(--tomato)}
.wb button.card.shopcard:active{box-shadow:0 0 0 var(--tomato)}
.wb .shopcard .ico{flex:none;display:grid;place-items:center;width:3.8rem;height:3.8rem;margin:0;border:3px solid var(--paper);border-radius:50%;background:var(--sun);color:var(--ink)}
.wb .shopcard .ico .ic{width:1.9rem;height:1.9rem;vertical-align:0}
.wb .shopcard .rt{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;min-width:0}
.wb .shopcard .tag{order:0;margin:0}
.wb .shopcard b{order:0;margin:0}
.wb .shopcard small{font-size:.95rem}
.wb .inkpill{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.1rem .35rem;max-width:100%;margin-top:.35rem;padding:.2rem .7rem;background:var(--paper);color:var(--ink);border-radius:.9rem;font-weight:800;font-size:.85rem;overflow-wrap:anywhere}
.wb .inkpill .ic{color:#086657}
.wb .inknum{font-weight:800}
.wb .shop h2 .ic{width:1.1em;height:1.1em;vertical-align:-.12em}
.wb .shop-bal{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .9rem;background:var(--sun);border:3px solid var(--ink);border-radius:999px;box-shadow:.15rem .15rem 0 var(--ink)}
.wb .shop-bal .ic{color:var(--ink)}
.wb .shop .offer{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem;padding:.9rem 1rem;background:var(--paper);border:3px dashed var(--ink);border-radius:1.1rem}
.wb .shop .offer-ico{flex:none;display:grid;place-items:center;width:3rem;height:3rem;border:3px solid var(--ink);border-radius:50%;background:var(--sky)}
.wb .shop .offer-rt{display:grid;gap:.4rem;justify-items:start;min-width:0}
.wb .shop .offer h3{font:400 1.15rem/1.2 'Russo One',sans-serif;overflow-wrap:anywhere}
.wb .prevbtn{padding:.35rem .6rem;background:var(--paper);border:3px solid var(--ink);border-radius:999px;box-shadow:.15rem .15rem 0 var(--ink)}
.wb .prevbtn:active{transform:translate(.15rem,.15rem);box-shadow:0 0 0 var(--ink)}
@media (hover:hover) and (pointer:fine){.wb .pip:not(:disabled):hover{outline:2px solid var(--ink);outline-offset:2px}}
.wb .pip[data-v="1"]:not([data-s=cur]){outline:3px dashed var(--ink);outline-offset:2px}
.wb .viewnote{padding:.4rem .7rem;background:var(--sky);border:2px solid var(--ink);border-radius:.8rem;margin-bottom:.6rem}
.wb .card .tag{border-radius:.9rem;line-height:1.25}
.wb .runnote{margin-top:1.1rem;margin-bottom:1.4rem}
.wb .restart{display:inline-flex;align-items:center;font-size:.9rem;font-weight:700}
.wb .cardwrap .restart{align-self:flex-start;min-height:2.4rem;padding:.2rem .3rem}
@media(max-width:520px){
.wb .modes>.cardwrap:last-child:nth-child(odd){grid-column:1/-1}
.wb .modes>.cardwrap:last-child:nth-child(odd)>.card{min-height:0}
}
@media(max-width:520px){.wb .prog .steps{flex-basis:calc(100% - 5.5rem)}.wb .prog .cnt{margin-left:0}}
@media(max-width:420px){
.wb .round[data-type=write] .stage{padding-inline:8px}
.wb .round[data-type=write] .krow{gap:2px}
.wb .round[data-type=write] .key{border-width:2px;height:clamp(44px,calc((100dvh - 450px)/6),58px)}
}
@media(orientation:portrait) and (max-height:700px){.wb .round[data-type=spell] .stage{padding-bottom:.5rem}.wb .round[data-type=spell] .tiles{margin-top:1rem}}
.wb{--ease-glass:cubic-bezier(.22,1,.36,1);
--spring:linear(0,.0048,.0192 2.2%,.0766 4.6%,.1712 7.2%,.4458 13%,.6904 18.8%,.8408 24.2%,.9376 29.8%,.9942 35.6%,1.0224 41.6%,1.0316 47.6%,1.0286 54%,1.0188 61%,1.008 69.4%,1.0014 80.4%,1);
--navsafe:max(env(safe-area-inset-bottom,0px),var(--tg-inset-bottom,0px))}
@supports not (transition-timing-function:linear(0,1)){.wb{--spring:cubic-bezier(.34,1.26,.64,1)}}
.wb .tabbar{position:fixed;z-index:30;left:max(.4rem,env(safe-area-inset-left,0px),var(--tg-inset-left,0px));right:max(.4rem,env(safe-area-inset-right,0px),var(--tg-inset-right,0px));bottom:max(.65rem,var(--navsafe));
max-width:35rem;margin-inline:auto;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));padding:5px;isolation:isolate;
border:3px solid var(--ink);border-radius:999px;background:linear-gradient(160deg,rgba(255,255,255,.8),rgba(255,255,255,.58));
-webkit-backdrop-filter:blur(18px) saturate(170%);backdrop-filter:blur(18px) saturate(170%);
box-shadow:.25rem .25rem 0 var(--ink),inset 0 1.5px 0 rgba(255,255,255,.95);
touch-action:pan-y;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;transition:transform .45s var(--spring),opacity .2s}
.wb .app:not([data-nav="1"]) .tabbar{transform:translateY(160%);opacity:0;pointer-events:none;visibility:hidden}
.wb .tb-lens{position:absolute;z-index:0;top:5px;bottom:5px;left:5px;width:calc((100% - 10px)/5);transform:translateX(calc(var(--i,0)*100%));transition:transform .62s var(--spring);pointer-events:none}
.wb .tb-lens i{display:block;width:100%;height:100%;border:2.5px solid var(--ink);border-radius:999px;background:var(--sun);box-shadow:inset 0 2px 0 rgba(255,255,255,.65)}
.wb .tb-lens.mv i{animation:lensA .62s var(--ease-glass)}
.wb .tb-lens.mv2 i{animation:lensB .62s var(--ease-glass)}
@keyframes lensA{34%{transform:scale(1.15,.88)}}
@keyframes lensB{34%{transform:scale(1.15,.88)}}
.wb .tabbar.dragging .tb-lens{transform:translateX(var(--drag,0px));transition:none}
.wb .tabbar.dragging .tb-lens i{animation:none;transform:scale(1.08,.92);box-shadow:inset 0 2px 0 rgba(255,255,255,.65),0 .4rem .9rem rgba(20,20,20,.22)}
.wb .tb{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.22rem;min-width:0;min-height:3.65rem;padding:0 .1rem;border-radius:999px;color:#2f2f2f;
font:700 .67rem/1 Onest,sans-serif;letter-spacing:-.025em;white-space:nowrap;text-align:center;transition:color .25s,transform .45s var(--spring)}
.wb .tb-ic{position:relative;display:grid;place-items:center;width:1.9rem;height:1.6rem;transition:transform .5s var(--spring)}
.wb .tb .ic{width:1.45rem;height:1.45rem;vertical-align:0}
.wb .tb-t{max-width:100%;overflow:hidden;text-overflow:clip}
.wb .tb[aria-current=page],.wb .tb.hover{color:var(--ink);font-weight:800}
.wb .tb[aria-current=page] .tb-ic{transform:translateY(-1px) scale(1.08)}
.wb .tb:active{transform:scale(.93)}
.wb .tb:active .tb-ic{transform:scale(.86);transition-duration:90ms}
.wb .tb:focus-visible{outline:3px solid var(--ink);outline-offset:-3px}
.wb .tabbar.icons .tb-t{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wb .tabbar.icons .tb .ic{width:1.6rem;height:1.6rem}
.wb .tb-dot{position:absolute;top:-.1rem;right:-.15rem;width:.65rem;height:.65rem;border-radius:50%;background:var(--tomato);border:2px solid var(--paper);box-shadow:0 0 0 1.5px var(--ink)}
.wb .tb-dot[hidden]{display:none}
.wb .tb-veil{position:fixed;left:0;right:0;bottom:0;z-index:29;height:calc(7.6rem + var(--navsafe));pointer-events:none}
.wb .tb-veil i{position:absolute;inset:0;display:block}
.wb .tb-veil i:nth-child(1){-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);-webkit-mask-image:linear-gradient(to top,#000 0,#000 45%,transparent 88%);mask-image:linear-gradient(to top,#000 0,#000 45%,transparent 88%)}
.wb .tb-veil i:nth-child(2){-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);-webkit-mask-image:linear-gradient(to top,#000 0,#000 30%,transparent 64%);mask-image:linear-gradient(to top,#000 0,#000 30%,transparent 64%)}
.wb .tb-veil i:nth-child(3){background:linear-gradient(to top,rgba(255,197,49,.85),rgba(255,197,49,0));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-mask-image:linear-gradient(to top,#000 0,#000 14%,transparent 46%);mask-image:linear-gradient(to top,#000 0,#000 14%,transparent 46%)}
.wb .app:not([data-nav="1"]) .tb-veil{display:none}
.wb .app[data-nav="1"]{padding-bottom:calc(6.9rem + var(--navsafe))}
#toast{bottom:calc(6.4rem + env(safe-area-inset-bottom,0px))}
@media(max-width:359px){.wb .tb{font-size:.62rem}.wb .tb .ic{width:1.3rem;height:1.3rem}}
@media(min-width:360px){.wb .tb{font-size:.75rem}}
@media(orientation:landscape) and (max-height:500px){
.wb .tabbar{max-width:34rem;bottom:max(.4rem,var(--navsafe))}
.wb .tb{flex-direction:row;gap:.35rem;min-height:2.75rem;font-size:.74rem}
.wb .tb .ic{width:1.2rem;height:1.2rem}
.wb .app[data-nav="1"]{padding-bottom:calc(4.6rem + var(--navsafe))}
.wb .tb-veil{height:calc(5rem + var(--navsafe))}
}
@media(hover:hover) and (pointer:fine) and (min-width:1024px){
.wb .top{flex-wrap:nowrap}
.wb .tabbar{position:relative;left:auto;right:auto;bottom:auto;flex:0 1 38rem;margin:0 auto;max-width:none;box-shadow:.2rem .2rem 0 var(--ink);background:rgba(255,255,255,.9)}
.wb .app:not([data-nav="1"]) .tabbar{transform:none;opacity:0;visibility:hidden}
.wb .tb{flex-direction:row;gap:.45rem;min-height:2.9rem;font-size:.92rem}
.wb .tb .ic{width:1.25rem;height:1.25rem}
.wb .tb-veil{display:none}
.wb .app[data-nav="1"]{padding-bottom:calc(2.2rem + var(--navsafe))}
#toast{bottom:calc(1rem + env(safe-area-inset-bottom,0px))}
}
.wb .tabpanel[hidden]{display:none}
.wb .tabpanel.in-r{animation:tpR .36s var(--ease-glass) both}
.wb .tabpanel.in-l{animation:tpL .36s var(--ease-glass) both}
@keyframes tpR{from{opacity:0;transform:translateX(1.8rem)}to{opacity:1;transform:none}}
@keyframes tpL{from{opacity:0;transform:translateX(-1.8rem)}to{opacity:1;transform:none}}
.wb .tabtitle{margin:.3rem 0 .45rem;font:400 clamp(1.8rem,6.4vw,2.5rem)/1.05 'Russo One',sans-serif}
.wb .tablead{max-width:34rem;margin-bottom:1.3rem;font-weight:500;text-wrap:pretty}
.wb .hero{gap:1.3rem}
@media(min-width:900px){.wb .hero{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:2.4rem;align-items:center}}
.wb .scene{display:grid;gap:1rem;justify-items:center;min-width:0;padding-top:.5rem}
.wb .cast{display:flex;align-items:flex-end;justify-content:center;gap:clamp(.3rem,2.4vw,1.1rem);padding:.2rem .4rem 0;border-radius:1.2rem;cursor:pointer}
.wb .cast svg{display:block;height:auto;overflow:visible;transform-origin:50% 100%}
.wb .cast{--f:clamp(64px,22vw,118px)}
.wb .cast.n1{--f:clamp(76px,25vw,140px)}.wb .cast.n2{--f:clamp(72px,24vw,130px)}
.wb .cast.n4{--f:clamp(54px,18.5vw,104px)}.wb .cast.n5{--f:clamp(44px,15.2vw,92px)}
.wb .cast .fig{display:block;flex:none}
.wb .cast .host{width:calc(var(--f)*1.05)}.wb .cast .yot{width:var(--f)}.wb .cast .cam{width:calc(var(--f)*1.05)}
.wb .cast .sof{width:calc(var(--f)*.85)}.wb .cast .t9g{width:calc(var(--f)*.9)}
.wb .cast .talking{animation:hop .7s cubic-bezier(.3,1.5,.5,1) both}
.wb .talk{display:grid;gap:.75rem;width:100%;max-width:32rem;min-height:4.5rem}
.wb .talk .say{max-width:none;margin:0;font-size:1rem;line-height:1.42;animation:sayIn .42s var(--ease-glass) both}
.wb .talk .say::before{left:var(--tx,16%);top:-.62rem;bottom:auto;transform:rotate(135deg)}
.wb .talk .at0{--tx:16%}.wb .talk.n1 .at0{--tx:calc(50% - .5rem)}
.wb .talk.n2 .at0{--tx:28%}.wb .talk.n2 .at1{--tx:66%}
.wb .talk.n3 .at1{--tx:47%}.wb .talk.n3 .at2{--tx:78%}
.wb .talk.n4 .at0{--tx:12%}.wb .talk.n4 .at1{--tx:36%}.wb .talk.n4 .at2{--tx:60%}.wb .talk.n4 .at3{--tx:83%}
.wb .talk.n5 .at0{--tx:9%}.wb .talk.n5 .at1{--tx:28%}.wb .talk.n5 .at2{--tx:47%}.wb .talk.n5 .at3{--tx:66%}.wb .talk.n5 .at4{--tx:84%}
.wb .talk .say b{display:inline-block;margin-right:.2rem;padding:0 .38em .05em;border-radius:.45em;font-weight:800}
.wb .talk .who-e b{background:var(--tomato);color:var(--paper)}
.wb .talk .who-h b{background:var(--ink);color:var(--paper)}
.wb .talk .who-s b{background:var(--sky)}
.wb .team-pals{display:grid;gap:.7rem;justify-items:center;width:100%;max-width:32rem}
.wb .tp-figs{display:flex;align-items:flex-end;justify-content:center;gap:1.4rem;transform-origin:50% 100%;animation:palBreath 5s ease-in-out 1.2s infinite}
.wb .team-pals.quiet .tp-figs{animation:none}
.wb .tp-fig{display:block;height:8.1rem;width:auto;animation:palPeek .6s cubic-bezier(.2,1.3,.4,1) backwards}
.wb .tp-fig.tp-head{height:5.6rem}
.wb .tp-fig+.tp-fig{animation-delay:.12s}
.wb .talk .who-ly b,.wb .talk .who-ku b{background:var(--paper);box-shadow:inset 0 0 0 2px var(--ink)}
@keyframes palBreath{50%{transform:scale(1.012)}}
@media(max-width:360px){.wb .tp-fig{height:6.8rem}.wb .tp-fig.tp-head{height:4.6rem}}
@media(prefers-reduced-motion:reduce){.wb .tp-figs,.wb .tp-fig{animation:none!important}}
.wb .talk .who-y b{background:#8B6CF2;color:var(--ink)}
.wb .talk .who-t b{background:#5E6A86;color:var(--paper)}
.wb .yot :is(.breve,.breve-sh){transform-box:fill-box;transform-origin:50% 50%;transition:transform .22s cubic-bezier(.2,1.4,.4,1)}
.wb [data-mood=happy] .yot :is(.breve,.breve-sh){transform:translateY(-8px) scale(1.12,1)}
.wb [data-mood=sad] .yot :is(.breve,.breve-sh){transform:translateY(5px) scale(.86,.8)}
.wb .cast [data-mood=happy] .brow.l{transform:translateY(-3px) rotate(-10deg)}.wb .cast [data-mood=happy] .brow.r{transform:translateY(-3px) rotate(10deg)}
.wb .cast [data-mood=sad] .brow.l{transform:translateY(2px) rotate(10deg)}.wb .cast [data-mood=sad] .brow.r{transform:translateY(2px) rotate(-10deg)}
.wb .t9g .grin{transform-box:fill-box;transform-origin:50% 50%}
.wb [data-mood=sad] .t9g .grin{transform:scaleY(-1)}
.wb .talk .b1{animation-delay:1.1s}.wb .talk .b2{animation-delay:2.2s}.wb .talk .b3{animation-delay:3.3s}.wb .talk .b4{animation-delay:4.4s}.wb .talk .b5{animation-delay:5.5s}
@keyframes sayIn{from{opacity:0;transform:translateY(.5rem) scale(.97)}to{opacity:1;transform:none}}
.wb .hl{min-width:0}
.wb .revrow{margin-top:1.6rem}
@media(orientation:landscape) and (max-height:520px){
.wb .cast{--f:4.2rem}.wb .cast.n4{--f:3.5rem}.wb .cast.n5{--f:3rem}
.wb .talk .say{font-size:.88rem;padding:.55rem .75rem}
}
.wb .tabpanel .modes{grid-template-columns:repeat(auto-fit,minmax(max(8.5rem,calc(50% - .5rem)),1fr));gap:.9rem}
.wb .tabpanel .modes>.card,.wb .tabpanel .modes>.cardwrap>.card{aspect-ratio:1/1;min-height:auto;padding:.85rem .9rem .9rem}
.wb .tabpanel .modes .card .ico{font-size:2.1rem}
.wb .tabpanel .modes .card small{font-size:.86rem;line-height:1.28}
@media(max-width:340px){
.wb .tabpanel .modes>.card:not(.wide),.wb .tabpanel .modes>.cardwrap>.card:not(.wide){padding-left:.65rem;padding-right:.65rem}
.wb .tabpanel .modes>.card:not(.wide) .tag,.wb .tabpanel .modes>.cardwrap>.card:not(.wide) .tag{padding:.15rem .4rem;font-size:.6rem;letter-spacing:.02em}
}
@media(min-width:700px){.wb .tabpanel .modes{grid-template-columns:repeat(auto-fit,minmax(max(9rem,calc(33.3% - .8rem)),1fr));gap:1.1rem}}
@media(min-width:1100px){.wb .tabpanel .modes>.card,.wb .tabpanel .modes>.cardwrap>.card{aspect-ratio:auto;min-height:11rem}}
@media(max-width:699px){
.wb .tabpanel .modes>.card:last-child:nth-child(odd),.wb .tabpanel .modes>.cardwrap:last-child:nth-child(odd){grid-column:1/-1}
.wb .tabpanel .modes>.card:last-child:nth-child(odd),.wb .tabpanel .modes>.cardwrap:last-child:nth-child(odd)>.card{aspect-ratio:auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:1rem;align-items:center}
.wb .tabpanel .modes>.card:last-child:nth-child(odd)>*,.wb .tabpanel .modes>.cardwrap:last-child:nth-child(odd)>.card>*{grid-column:1}
.wb .tabpanel .modes>.card:last-child:nth-child(odd)>.ico,.wb .tabpanel .modes>.cardwrap:last-child:nth-child(odd)>.card>.ico{grid-column:2;grid-row:1/span 3;margin:0;font-size:3rem}
.wb .tabpanel .modes>.card:last-child:nth-child(odd)>.tag,.wb .tabpanel .modes>.cardwrap:last-child:nth-child(odd)>.card>.tag{justify-self:start}
}
@media(min-width:700px){
.wb .tabpanel .modes>.card:last-child:nth-child(3n+1),.wb .tabpanel .modes>.cardwrap:last-child:nth-child(3n+1){grid-column:1/-1}
.wb .tabpanel .modes>.card:last-child:nth-child(3n+1),.wb .tabpanel .modes>.cardwrap:last-child:nth-child(3n+1)>.card{aspect-ratio:auto;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:1.2rem;align-items:center}
.wb .tabpanel .modes>.card:last-child:nth-child(3n+1)>*,.wb .tabpanel .modes>.cardwrap:last-child:nth-child(3n+1)>.card>*{grid-column:1}
.wb .tabpanel .modes>.card:last-child:nth-child(3n+1)>.ico,.wb .tabpanel .modes>.cardwrap:last-child:nth-child(3n+1)>.card>.ico{grid-column:2;grid-row:1/span 3;margin:0;font-size:3rem}
.wb .tabpanel .modes>.card:last-child:nth-child(3n+1)>.tag,.wb .tabpanel .modes>.cardwrap:last-child:nth-child(3n+1)>.card>.tag{justify-self:start}
}
.wb .chlist{display:grid;gap:1rem}
@media(min-width:900px){.wb .chlist{grid-template-columns:repeat(3,minmax(0,1fr))}}
.wb .card.wide{flex-direction:row;align-items:center;gap:1rem;min-height:0;width:100%;padding:1rem 1.1rem;text-align:left}
.wb .card.wide .ico{flex:none;display:grid;place-items:center;width:3.6rem;height:3.6rem;margin:0;border:3px solid var(--ink);border-radius:50%;background:var(--paper);font-size:1.5rem}
.wb .card.wide .rt{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;min-width:0}
.wb .card.wide small{font-size:.95rem}
.wb .shop-top{display:flex;align-items:center;gap:1rem;margin-bottom:1.1rem;padding:1rem 1.1rem;background:var(--ink);color:var(--paper);border:3px solid var(--ink);border-radius:1.3rem;box-shadow:.3rem .3rem 0 var(--tomato)}
.wb .shop-drop{flex:none;display:grid;place-items:center;width:3.6rem;height:3.6rem;border:3px solid var(--paper);border-radius:50%;background:var(--sun);color:#086657}
.wb .shop-drop .ic{width:1.8rem;height:1.8rem;vertical-align:0}
.wb .tabpanel .shop-bal{display:block;padding:0;background:none;border:0;box-shadow:none;font:400 1.3rem/1.15 'Russo One',sans-serif}
.wb .shop-lead{margin-top:.25rem;font-size:.92rem;text-wrap:pretty}
.wb .tabpanel .shop .offer{display:flex;flex-wrap:nowrap;align-items:center;gap:.9rem;padding:.9rem 1rem;background:var(--paper);border:3px dashed var(--ink);border-radius:1.1rem}
.wb .tabpanel .shop .offer-ico{flex:none;display:grid;place-items:center;width:3rem;height:3rem;border:3px solid var(--ink);border-radius:50%;background:var(--sky)}
.wb .tabpanel .shop .offer-rt{display:grid;gap:.4rem;justify-items:start;min-width:0}
.wb .tabpanel .shop .offer h3{font:400 1.15rem/1.2 'Russo One',sans-serif;overflow-wrap:anywhere}
.wb .shop-note{margin-top:1.1rem;font-size:.92rem;max-width:36rem;text-wrap:pretty}
.wb .pcard{display:grid;gap:.85rem;margin-bottom:1.1rem;padding:1rem 1.1rem;background:var(--paper);border:3px solid var(--ink);border-radius:1.3rem;box-shadow:.3rem .3rem 0 var(--ink)}
.wb .pc-head{display:flex;align-items:center;gap:.9rem;min-width:0}
.wb .pc-av{flex:none;display:grid;place-items:center;width:3.7rem;height:3.7rem;border:3px solid var(--ink);border-radius:1rem;background:var(--tomato);color:var(--paper);font:400 1.9rem/1 'Russo One',sans-serif;box-shadow:.15rem .15rem 0 var(--ink)}
.wb .pc-id{min-width:0}
.wb .pc-name{font:400 1.35rem/1.15 'Russo One',sans-serif;overflow-wrap:anywhere}
.wb .pc-sub{margin-top:.2rem;font-size:.88rem;font-weight:600;color:#3a3a3a}
.wb .pc-btn{justify-self:start;display:inline-flex;align-items:center;gap:.45rem;min-height:2.75rem;padding:.45rem 1rem;background:var(--sun)}
.wb .pc-btn[hidden],.wb .pc-edit[hidden]{display:none}
.wb .pc-edit{display:grid;gap:.45rem}
.wb .pc-edit label{font-weight:800;font-size:.9rem}
.wb .pc-edit input{width:100%;min-height:3rem;padding:.5rem .8rem;font:600 1.1rem/1.2 Onest,sans-serif;color:inherit;background:#fff;border:3px solid var(--ink);border-radius:.8rem}
.wb .pc-edit input:focus-visible{outline:3px solid var(--teal);outline-offset:2px}
.wb .pc-hint{font-size:.85rem;color:#3a3a3a;text-wrap:pretty}
.wb .pc-msg{min-height:0;font-weight:700;font-size:.9rem}
.wb .pc-msg:empty{display:none}
.wb .pc-msg[data-bad="1"]{color:var(--bad)}
.wb .pc-edit .cta{min-height:3rem;padding:.55rem 1.2rem;font-size:1.05rem;background:var(--good)}
.wb .pc-edit .ghost{min-height:3rem}
.wb .plist{margin-bottom:1.1rem;background:var(--paper);border:3px solid var(--ink);border-radius:1.3rem;box-shadow:.3rem .3rem 0 var(--ink);overflow:hidden}
.wb .prow{display:flex;align-items:center;gap:.85rem;width:100%;min-height:3.6rem;padding:.6rem 1rem;border-top:2px solid rgba(20,20,20,.12);font-weight:700;text-align:left;transition:background .12s}
.wb .plist>.prow:first-child{border-top:0}
.wb .prow:active{background:#FFF1BF}
@media(hover:hover) and (pointer:fine){.wb .prow:hover{background:#FFF8DD}}
.wb .prow:focus-visible{outline:3px solid var(--ink);outline-offset:-5px}
.wb .pr-ic{flex:none;display:grid;place-items:center;width:2.3rem;height:2.3rem;border:2.5px solid var(--ink);border-radius:.75rem;background:var(--sun)}
.wb .pr-ic .ic{width:1.3rem;height:1.3rem;vertical-align:0}
.wb .pr-t{flex:1;min-width:0;overflow-wrap:anywhere}
.wb .pr-go{flex:none;width:1.1rem;height:1.1rem;opacity:.45}
.wb .pr-badge{flex:none;padding:.22rem .65rem;border:2px solid var(--ink);border-radius:999px;background:var(--tomato);color:var(--paper);font-weight:800;font-size:.78rem}
.wb .prow[data-upd] .pr-ic{background:var(--tomato);color:var(--paper)}
.wb .sw{position:relative;flex:none;width:3.1rem;height:1.85rem;border:3px solid var(--ink);border-radius:999px;background:#d9d9d9;transition:background .2s}
.wb .sw i{position:absolute;top:50%;left:.16rem;width:1.15rem;height:1.15rem;margin-top:-.575rem;border:2px solid var(--ink);border-radius:50%;background:var(--paper);transition:transform .35s var(--spring)}
.wb .prow[aria-checked=true] .sw{background:var(--teal)}
.wb .prow[aria-checked=true] .sw i{transform:translateX(1.22rem)}
.wb .plist.danger .prow{color:var(--bad)}
.wb .plist.danger .pr-ic{background:#FFD5CB;color:var(--bad)}
.wb .plist .backup{margin:0 1rem 1rem;border:3px dashed var(--ink);border-radius:1rem;background:#FFFDF2}
.wb .tabpanel .warn{margin-bottom:.9rem;font-weight:700}
.wb .pver{margin-top:.3rem;text-align:center;font-size:.82rem;color:#3a3a3a}
.wb .reportbox .rp-task{font-size:1rem}
.wb .reportbox .rp-task b{font-size:1.15rem}
.wb .rp-mode{display:inline-block;margin-left:.25rem;padding:.05rem .55rem;border:2px solid var(--ink);border-radius:999px;background:var(--sky);font-size:.75rem;font-weight:800;vertical-align:.1em}
.wb .rp-kinds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}
.wb .rp-k{display:flex;align-items:center;justify-content:center;gap:.4rem;min-height:3rem;padding:.45rem .6rem;border:3px solid var(--ink);border-radius:.9rem;background:var(--paper);font-weight:800;font-size:.92rem;line-height:1.15;text-align:center}
.wb .rp-k[aria-checked=true]{background:var(--sun);box-shadow:.15rem .15rem 0 var(--ink)}
.wb .rp-k .ic{flex:none}
.wb .reportbox .rp-about{font-size:.82rem;color:#3a3a3a}
.wb .reportbox #rp-note{font:500 1rem/1.4 Onest,sans-serif;border-width:3px;border-radius:.7rem}
.wb .reportbox .rp-need{color:var(--bad);font-weight:700}
.wb .reportbox .rp-need[hidden],.wb .reportbox .rp-chk[hidden]{display:none}
.wb .reportbox.done{width:min(26rem,calc(100vw - 1.5rem))}
.wb .rp-done{display:grid;justify-items:center;gap:.85rem;padding:2rem 1.4rem 1.6rem;text-align:center}
.wb .rp-tick{display:grid;place-items:center;width:5.6rem;height:5.6rem;border:4px solid var(--ink);border-radius:50%;background:var(--teal);box-shadow:.25rem .25rem 0 var(--ink);animation:tickIn .55s cubic-bezier(.2,1.7,.4,1) both}
.wb .rp-tick .ic{width:3.1rem;height:3.1rem;color:var(--ink);vertical-align:0}
.wb .reportbox .rp-done h3{font:400 1.7rem/1.1 'Russo One',sans-serif}
.wb .reportbox .rp-done p{font-size:1.02rem}
.wb .rp-done .cta{min-width:10rem;justify-content:center}
.wb .rs-step{font-size:.78rem;font-weight:800;letter-spacing:.04em;color:#3a3a3a}
.wb .resetbox .rs-say{font-size:1rem;line-height:1.5}
.wb .rs-who{display:inline-block;margin-right:.2rem;padding:0 .38em .05em;border-radius:.45em;font-weight:800}
.wb .rs-who.e{background:var(--tomato);color:var(--paper)}
.wb .rs-who.h{background:var(--ink);color:var(--paper)}
.wb .rs-who.s{background:var(--sky);color:var(--ink)}
.wb .rs-list{display:grid;gap:.35rem;margin:.2rem 0 0;padding:0;list-style:none}
.wb .rs-list li{display:flex;align-items:baseline;justify-content:space-between;gap:.7rem;padding:.4rem .75rem;border:2.5px solid var(--ink);border-radius:.8rem;background:#FFF8DD;font-size:.95rem;font-weight:700}
.wb .rs-list li span{min-width:0;overflow-wrap:anywhere}
.wb .rs-list li b{flex:none;font-family:'Russo One',sans-serif;font-weight:400}
.wb .rs-list li.rs-more{background:var(--paper);font-weight:500}
.wb .resetbox .rs-note{font-size:.88rem;font-weight:600}
.wb .resetbox #rs-word{width:100%;min-height:3.2rem;padding:.55rem .8rem;border:3px solid var(--ink);border-radius:.8rem;background:var(--paper);color:var(--ink);font:400 1.3rem/1.2 'Russo One',sans-serif;letter-spacing:.08em;text-transform:uppercase}
.wb .resetbox #rs-word:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.wb .resetbox .rp-msg[data-bad="1"]{color:var(--bad);font-weight:700}
.wb .resetbox .cta:disabled{opacity:.45;box-shadow:.2rem .2rem 0 var(--ink);transform:none}
@keyframes tickIn{from{transform:scale(.3) rotate(-25deg);opacity:0}to{transform:none;opacity:1}}
.g .kbd{position:relative}
.g .round[data-type=write] .kbd.fit .key{height:var(--kh)}
.wb .kpop{position:absolute;z-index:20;left:var(--px,0px);top:var(--py,0px);min-width:calc(var(--pw,2rem) + 1.1rem);height:3.5rem;padding:0 .35rem;display:grid;place-items:center;
transform:translate(-50%,calc(-100% - .3rem)) scale(.6);opacity:0;border:3px solid var(--ink);border-radius:.8rem;background:var(--paper);box-shadow:0 .25rem 0 var(--ink);
font:400 2rem/1 'Russo One',sans-serif;pointer-events:none;transition:transform .07s,opacity .07s}
.wb .kpop.on{opacity:1;transform:translate(-50%,calc(-100% - .3rem)) scale(1)}
@media(max-width:520px){
.wb .app[data-view=round][data-type=write]{padding-inline:max(.45rem,env(safe-area-inset-left,0px),env(safe-area-inset-right,0px))}
.wb .round[data-type=write] .stage{padding-inline:5px}
.wb .round[data-type=write] .krow{gap:3px}
.wb .round[data-type=write] .kbd{gap:6px}
}
@media(min-width:700px){.g .kbd{max-width:44rem}}
@media(prefers-reduced-motion:reduce){.wb .kpop{transition:none}}
@media(orientation:portrait) and (max-width:899px){
.g .app[data-view=round][data-type=write] main{flex:1;display:flex;flex-direction:column}
.g .app[data-view=round][data-type=write] .round:not([hidden]){flex:1;grid-template-rows:auto minmax(0,1fr) auto}
.g .round[data-type=write] .stage{display:flex;flex-direction:column}
.g .round[data-type=write] .task:not([data-done]){flex:1;justify-content:flex-start}
.g .round[data-type=write] .task:not([data-done]) .kbd{margin-top:auto;padding-top:.5rem}
}
.wb .shop-top>div{min-width:0;flex:1 1 12rem;overflow-wrap:anywhere}
.wb .shop-top{flex-wrap:wrap}
.wb .tabpanel .shop .offer{flex-wrap:wrap}
.wb .tabpanel .shop .offer-rt{flex:1 1 12rem}
.wb .shop .offers{grid-template-columns:minmax(0,1fr)}
.wb .tabpanel .shop .offer{min-width:0}
.wb .tabpanel .shop .offer-rt .ghost{max-width:100%;white-space:normal}
.wb .card.wide .rt{flex:1}
.wb .card.wide b,.wb .card.wide small,.wb .card.wide .tag{overflow-wrap:anywhere}
.wb .pc-head{flex-wrap:wrap}
.wb .pc-id{flex:1 1 9rem}
.wb .tabpanel .modes>*{min-width:0}
.wb .tabpanel .modes>.card,.wb .tabpanel .modes .cardwrap>.card{min-width:0}
.wb .pcard{grid-template-columns:minmax(0,1fr)}
.wb .pc-btn{max-width:100%;white-space:normal;text-align:left}
.g .round[data-type=write] .task.tight .msg{padding:.5rem .75rem .6rem}
.g .round[data-type=write] .task.tight .msg-h{margin-bottom:.25rem}
.g .round[data-type=write] .task.tight .msg-b{font-size:1rem;line-height:1.35}
.g .round[data-type=write] .task.tight .winput{min-height:2.6rem;margin-top:.45rem;font-size:1.45rem}
.g .round[data-type=write] .task.tight .wline{min-height:1em;margin-top:.1rem;font-size:.85rem}
.wb .cta.go-on{background:var(--good)}
.wb[data-offline]{--sun:#BFE0F5;background-image:linear-gradient(116deg,transparent 0 62%,rgba(20,20,20,.06) 62% 100%)}
.wb[data-offline] .stats{visibility:hidden}
.wb .offnote{margin-left:auto;align-self:center;padding:.15rem .6rem;border:2px solid var(--ink);border-radius:999px;background:var(--paper);font-size:.75rem;font-weight:700;line-height:1.3;text-align:center}
.wb .app[data-offlineonly] .tabbar{display:none}
.wb .offcard{margin-top:.9rem;gap:.6rem}
.wb .offcard h3{font:400 1.2rem/1.2 'Russo One',sans-serif;margin:0}
.wb .offcard .off-t{margin:0;overflow-wrap:anywhere}
.wb .offcard .off-new,.wb .offcard .off-pend{font-weight:700}
.wb .offcard .bk-row{align-items:center}
.wb .offcard .bk-row .cta{min-height:3.1rem;padding:.7rem 1.25rem;font-size:1.15rem}
.wb .offcard .nw{white-space:nowrap}
@media(max-width:359px){.wb .offcard .bk-row .cta{padding:.7rem .95rem;font-size:1.02rem}}
.wb .offcard .off-sub{display:flex;flex-wrap:wrap;gap:.5rem}
.wb .offcard .off-sub .ghost{min-height:2.5rem;padding:.4rem .9rem;font-size:.85rem;border-width:2px;box-shadow:.15rem .15rem 0 var(--ink)}
.wb .offcard .off-why summary{display:inline-flex;align-items:center;gap:.35rem;min-height:2rem;cursor:pointer;font-weight:700;text-decoration:underline;text-underline-offset:.2em;list-style:none}
.wb .offcard .off-why summary::-webkit-details-marker{display:none}
.wb .offcard .off-why summary::after{content:'';width:.45rem;height:.45rem;border:solid var(--ink);border-width:0 2px 2px 0;transform:translateY(-.15rem) rotate(45deg)}
.wb .offcard .off-why[open] summary::after{transform:translateY(.1rem) rotate(-135deg)}
.wb .offcard .off-why p{margin:.3rem 0 0;overflow-wrap:anywhere}
.wb .offcard .off-msg:empty{min-height:0;margin-top:-.6rem}
html.pv-doc,html.pv-doc body{height:auto;min-height:100%;overflow:visible}
html.pv-doc body{display:block}
.wb.privacy{box-sizing:border-box;max-width:40rem;margin:0 auto;padding:1rem 1rem 3rem;line-height:1.5}
.wb.privacy h1{font:400 1.9rem/1.15 'Russo One',sans-serif;margin:.4rem 0 .6rem}
.wb.privacy h2{font:400 1.2rem/1.2 'Russo One',sans-serif;margin:1.4rem 0 .4rem}
.wb.privacy p,.wb.privacy li{margin:0 0 .6rem;overflow-wrap:anywhere}
.wb.privacy ul{padding-left:1.2rem;margin:0 0 .6rem}
.wb.privacy .lead{font-size:1.1rem}
.wb.privacy a{color:inherit;text-decoration:underline;text-underline-offset:.2em;font-weight:700}
.wb.privacy .pv-top{margin:0}
.wb .pv-link{margin-top:.8rem}
.wb .pv-link a{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:.2em}
.wb .movecard{display:grid;gap:.6rem;margin-bottom:1.1rem;padding:1rem 1.1rem;background:var(--sky);border:3px solid var(--ink);border-radius:1.3rem;box-shadow:.3rem .3rem 0 var(--ink)}
.wb .movecard h2{font:400 1.25rem/1.2 'Russo One',sans-serif;margin:0;overflow-wrap:anywhere}
.wb .movecard p{margin:0}
.wb .movecard .cta{justify-self:start;min-height:3.1rem;padding:.7rem 1.25rem;font-size:1.15rem}
.wb .movecard .move-msg:empty{display:none}
.wb .move-warn{margin-bottom:.6rem}
.wb .netbar{display:grid;gap:.6rem;margin-bottom:1rem;padding:.8rem 1rem;border:3px solid var(--ink);border-radius:1.1rem;background:var(--sky);box-shadow:.25rem .25rem 0 var(--ink)}
.wb .netbar p{margin:0;font-weight:700;line-height:1.4}
.wb .netbar .cta{min-height:3rem;padding:.55rem 1.2rem;font-size:1.05rem;justify-self:start}
.wb .offhint{margin-top:.8rem;overflow-wrap:anywhere}
.wb .offlist{margin:.8rem 0}
.wb .pal,#app>.pal{display:flex;align-items:flex-end;gap:.6rem;margin:0 0 1.1rem;max-width:36rem}
#app>.pal{margin:1rem 1rem 0}
#app>p[role=alert],#app>p[role=status],#app>.offhint{color:#141414}
.wb .pal .say,#app>.pal .say{flex:1;min-width:0;max-width:none;margin:0 0 .55rem;font-size:.95rem}
#app>.pal .say{position:relative;padding:.7rem .9rem;color:#141414;background:#fff;border:3px solid #141414;border-radius:1.1rem;box-shadow:.25rem .25rem 0 #141414;font-weight:600;line-height:1.4}
#app>.pal .say::before{content:'';position:absolute;left:-.62rem;bottom:1.1rem;width:1rem;height:1rem;background:#fff;border-left:3px solid #141414;border-bottom:3px solid #141414;transform:rotate(45deg)}
.pal-head{flex:none;position:relative;display:block;width:4.6rem;height:4.6rem;padding:0;border:0;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent;animation:palClip .6s backwards}
.pal-head img{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;user-select:none;-webkit-user-select:none}
.pal-head .pal-face{animation:palPeek .6s cubic-bezier(.2,1.3,.4,1) backwards}
.pal-head .pal-blink,.pal-head.blink .pal-face{visibility:hidden}
.pal-head.blink .pal-blink{visibility:visible}
.pal-head.hop img{animation:palHop .5s cubic-bezier(.3,1.5,.5,1)}
@keyframes palClip{from,to{clip-path:inset(-60% -60% 0 -60%)}}
@keyframes palPeek{from{transform:translateY(80%)}}
@keyframes palHop{0%{transform:scale(1.07,.92)}35%{transform:translateY(-14%) scale(.96,1.05)}70%{transform:scale(1.03,.97)}100%{transform:none}}
@media(prefers-reduced-motion:reduce){.pal-head,.pal-head img{animation:none!important}}
.wb .res .speech .art .pal-head{width:100%;height:auto;aspect-ratio:1/1}
.wb .res .speech .pal-more{font-weight:500}
.pal-head.pal-fig{width:auto;height:4.6rem}
.pal-head.pal-fig img{position:static;display:block;width:auto;height:100%;max-width:4.6rem;object-fit:contain;object-position:50% 100%;animation:none}
.pal-head.pal-fig.loud img{animation:palPeek .6s cubic-bezier(.2,1.3,.4,1) backwards}
.pal-head.pal-fig.peek{border-bottom:3px solid #141414}
.pal-head.pal-fig.hop img{animation:palHop .5s cubic-bezier(.3,1.5,.5,1)}
.wb .res .speech .art.fig{width:auto;height:7.2rem;display:flex;align-items:flex-end}
.wb .res .speech .art .pal-fig{width:auto;height:auto;aspect-ratio:auto}
.wb .res .speech .art .pal-fig img{width:auto;height:auto;max-height:clamp(8.8rem,34vw,10.4rem);max-width:clamp(5.4rem,24vw,7rem)}
.wb .res .speech .art .pal-fig.wide img{max-width:clamp(5rem,calc(100vw - 17.4rem),8.4rem)}
@media(max-width:360px){
.wb .res .speech.has-body{flex-direction:column;align-items:center}
.wb .res .speech.has-body .say{margin:0}
.wb .res .speech.has-body .say::before{left:50%;top:-.62rem;bottom:auto;margin-left:-.5rem;transform:rotate(135deg)}
.wb .res .speech .art.fig{height:auto;display:block}
.wb .res .speech .art .pal-fig img,.wb .res .speech .art .pal-fig.wide img{max-height:6.8rem;max-width:14rem}
}
.wb .card.rev .pal-head.ico.pal-fig{width:auto;height:3.9rem}
.wb .card.rev .pal-head.ico.pal-fig img{max-width:3.9rem}
@media(prefers-reduced-motion:reduce){.pal-head.pal-fig img{animation:none!important}}
.wb .card.rev .pal-head.ico{width:3.9rem;height:3.9rem;border:0;border-radius:0;background:none}
.wb .card.rev .pal-say{font-size:.9rem;font-weight:600}
.wb .hl .cta[data-act=quick]:not(.go-on){background:var(--ink);box-shadow:.3rem .3rem 0 var(--tomato)}
.wb .hl .cta[data-act=quick]:not(.go-on):hover{box-shadow:.5rem .5rem 0 var(--tomato)}
.wb .hl .cta[data-act=quick]:not(.go-on):active{box-shadow:0 0 0 var(--tomato)}
.wb .cline{display:block}
.wb .cline+.cline{margin-top:.3rem}
.wb .cline b{display:inline-block;margin-right:.15rem;padding:0 .34em .04em;border-radius:.42em;font-weight:800}
.wb .cline.who-e b{background:var(--tomato);color:var(--paper)}.wb .cline.who-h b{background:var(--ink);color:var(--paper)}
.wb .cline.who-s b{background:var(--sky);color:var(--ink)}.wb .cline.who-y b{background:#8B6CF2;color:var(--ink)}
.wb .cline.who-t b{background:#5E6A86;color:var(--paper)}
.wb .side .aside{display:block;margin-top:.55rem;padding-top:.5rem;border-top:2px dashed rgba(20,20,20,.2);font-size:.92em}
.wb .cameo{display:block;margin:.2rem 0 1rem;font-weight:600;font-size:.95rem}
.wb .earn .cameo,.wb .hint .cameo,.wb .lead .cameo{margin:.4rem 0 0}
.wb .card.rev .cameo{margin:.35rem 0 0;font-size:.9rem}
.wb .talk .ask p{margin:0}
.wb .talk .ask .acts{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.7rem}
.wb .talk .ask .cta{min-height:2.9rem;padding:.55rem 1.1rem;font-size:1.05rem}
.wb .talk .ask .ghost{min-height:2.9rem}
.wb .talk:empty{display:none}
.wb .talkrow{cursor:default;flex-wrap:wrap;row-gap:.5rem}
.wb .talkrow .pr-t{flex:1 0 9rem}
.wb .talkrow .seg{display:inline-flex;margin-left:auto;border:2.5px solid var(--ink);border-radius:999px;overflow:hidden;background:var(--paper)}
.wb .talkrow .seg button{min-height:2.75rem;padding:.3rem .75rem;border:0;background:none;font:700 .9rem/1 Onest,sans-serif;color:var(--ink);cursor:pointer}
.wb .talkrow .seg button+button{border-left:2px solid var(--ink)}
.wb .talkrow .seg button[aria-checked=true]{background:var(--ink);color:var(--paper)}
