:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:"Fraunces", Georgia, serif;--font-word:"Patrick Hand", cursive;--color-ink:#2c241c;--color-ink-soft:#5e5348;--color-paper:#f3eadc;--color-paper-deep:#e4d3bc;--color-card:#fffaf3;--color-coral:#d4532b;--color-coral-deep:#a33e1e;--color-sea:#1f6f64;--color-sea-deep:#164f48;--color-house-teal:#7fa28a;--color-house-teal-gray:#6e9080;--color-house-teal-tan:#8a9e82;--color-house-teal-deep:#4e6b5a;--color-line:#d9cbb6;--color-gold:#e8b84a;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px);--tap-min:48px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100dvh;margin:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:var(--font-sans);color:var(--color-ink);background:var(--color-paper);overflow-x:hidden}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none}button:disabled{cursor:not-allowed}.tap:active{transform:scale(.98)}.app-shell{min-height:100dvh;padding:calc(.85rem + var(--safe-top)) calc(.9rem + var(--safe-right)) calc(1rem + var(--safe-bottom)) calc(.9rem + var(--safe-left));max-width:42rem;margin:0 auto}.loading-shell{place-items:center;display:grid}.lobby-hero{border:2px solid color-mix(in srgb, var(--color-ink) 18%, var(--color-line));box-shadow:0 1px 0 #ffffffb3, 0 10px 28px color-mix(in srgb, var(--color-ink) 10%, transparent);background:linear-gradient(#f7efe2 0%,#efe2cc 100%);border-radius:1.15rem;margin:0 0 .85rem;position:relative;overflow:hidden}.hero-top-row{z-index:2;pointer-events:none;justify-content:space-between;align-items:center;gap:.4rem;display:flex;position:absolute;top:.45rem;left:.45rem;right:.45rem}.hero-top-row>*{pointer-events:auto}.kid-chip{background:color-mix(in srgb, var(--color-house-teal) 88%, var(--color-sea-deep));color:#f7fff9;letter-spacing:.01em;max-width:min(52vw,11rem);min-height:2rem;box-shadow:0 1px 0 #ffffff59, 0 2px 8px color-mix(in srgb, var(--color-sea-deep) 28%, transparent);border:0;border-radius:999px;align-items:center;gap:.3rem;padding:.25rem .7rem;font-size:.78rem;font-weight:700;display:inline-flex}.kid-chip-label{text-overflow:ellipsis;white-space:nowrap;line-height:1;overflow:hidden}.kid-chip-caret{opacity:.85;font-size:.65rem;line-height:1}.music-mute{background:color-mix(in srgb, var(--color-card) 82%, transparent);min-height:2rem;color:color-mix(in srgb, var(--color-ink-soft) 78%, transparent);letter-spacing:.02em;box-shadow:0 1px 2px color-mix(in srgb, var(--color-ink) 8%, transparent);border:0;border-radius:999px;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.72rem;font-weight:600;display:inline-flex}.music-mute[aria-pressed=true]{color:color-mix(in srgb, var(--color-ink-soft) 55%, transparent)}.music-mute-label{line-height:1}.music-mute-festa{background:color-mix(in srgb, var(--color-card) 70%, transparent);align-self:center;margin:0 0 .55rem}.hero-art{aspect-ratio:1200/630;object-fit:cover;object-position:center 42%;background:#f3eadc;width:100%;height:auto;display:block}.hero-tag{text-align:center;letter-spacing:.12em;text-transform:uppercase;color:var(--color-coral-deep);background:color-mix(in srgb, var(--color-card) 82%, var(--color-paper-deep));border-top:1px solid color-mix(in srgb, var(--color-line) 80%, transparent);margin:0;padding:.55rem .85rem .7rem;font-size:.72rem;font-weight:800}.cup-banner{text-align:center;border:2px solid color-mix(in srgb, var(--color-gold) 70%, var(--color-ink));background:linear-gradient(165deg, color-mix(in srgb, var(--color-gold) 35%, var(--color-card)) 0%, color-mix(in srgb, var(--color-house-teal) 18%, var(--color-card)) 100%);box-shadow:0 1px 0 #ffffffa6, 0 8px 22px color-mix(in srgb, var(--color-ink) 10%, transparent);border-radius:1.05rem;flex-direction:column;align-items:center;gap:.15rem;margin:-.35rem 0 .95rem;padding:.7rem .95rem;display:flex}.cup-banner strong{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-ink);font-size:clamp(1.15rem,4.8vw,1.45rem)}.cup-banner span{color:var(--color-ink-soft);letter-spacing:.02em;font-size:.88rem;font-weight:700}.brand{align-items:center;gap:.75rem;margin-bottom:.65rem;display:flex}.brand-crab{background:url(/pinch/sheet.png) 0 0/200% 200% no-repeat;flex:none;width:3.75rem;height:3.75rem;animation:1.39s ease-in-out infinite crab-idle}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--color-coral);margin:0;font-size:.72rem;font-weight:700}.brand h1{font-family:var(--font-display);letter-spacing:-.02em;margin:.1rem 0 0;font-size:clamp(1.55rem,6.5vw,2.1rem);line-height:1.05}.lede{color:var(--color-ink-soft);margin:0 0 1rem;font-size:.98rem;font-weight:500;line-height:1.5}.lobby-bar{flex-wrap:wrap;align-items:center;gap:.55rem;margin-bottom:1.1rem;display:flex}.home-progress{background:color-mix(in srgb, var(--color-card) 92%, var(--color-paper-deep));border:1.5px solid var(--color-line);border-radius:1rem;flex-direction:column;flex:100%;gap:.45rem;min-width:0;padding:.7rem .85rem .8rem;display:flex;box-shadow:0 1px #ffffffb3}.home-progress-top{justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.home-progress .score-pill{background:0 0;border:0;min-height:0;padding:0;font-size:clamp(1rem,4.5vw,1.2rem);font-weight:800}.progress-status{color:var(--color-ink-soft);text-align:right;font-size:.82rem;font-weight:700}.progress-track{height:.7rem;box-shadow:inset 0 1px 2px color-mix(in srgb, var(--color-ink) 16%, transparent);background:#d9cbb6;border-radius:999px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--color-house-teal), var(--color-sea));min-width:0;height:100%;transition:width .35s ease-out;display:block}.lobby-actions{flex-wrap:nowrap;flex:100%;align-items:center;gap:.45rem;min-width:0;display:flex;overflow-x:auto}.score-pill{background:var(--color-card);border:1.5px solid var(--color-line);min-height:var(--tap-min);border-radius:999px;align-items:center;margin:0;padding:.55rem .9rem;font-size:.9rem;font-weight:600;display:inline-flex}.order-switch{background:color-mix(in srgb, var(--color-card) 78%, var(--color-paper-deep));border:1.5px solid color-mix(in srgb, var(--color-house-teal-deep) 35%, var(--color-line));box-shadow:inset 0 1px 0 #ffffffb3, 0 1px 0 color-mix(in srgb, var(--color-house-teal-deep) 12%, transparent);border-radius:999px;align-items:center;gap:.2rem;padding:.22rem;display:inline-flex}.order-switch .tap{color:var(--color-ink-soft);min-height:var(--tap-min);letter-spacing:.01em;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;padding:0 1rem;font-size:.95rem;font-weight:800;line-height:1.15;display:inline-flex}.order-switch .tap[aria-pressed=false]{color:var(--color-ink-soft);opacity:.95}.order-switch .tap[aria-pressed=true]{background:var(--color-house-teal);color:#1a221c;box-shadow:0 2px 0 var(--color-house-teal-deep);transform:translateY(-1px)}.continue{background:var(--color-house-teal);color:#1a221c;min-height:var(--tap-min);box-shadow:0 2px 0 var(--color-house-teal-deep);border:0;border-radius:999px;padding:0 1.15rem;font-size:1rem;font-weight:800}.clear-all{background:var(--color-house-teal-tan);color:var(--color-coral-deep);min-height:var(--tap-min);box-shadow:0 2px 0 color-mix(in srgb, var(--color-house-teal-deep) 70%, #8a7344);border:0;border-radius:999px;padding:0 1.05rem;font-size:.95rem;font-weight:800}.clear-all:disabled{opacity:.35}@media (width<=520px){.lobby-actions{gap:.25rem}.lobby-actions .continue,.lobby-actions .clear-all{padding-inline:.45rem;font-size:.8rem}.lobby-actions .order-switch{gap:.05rem;padding:.12rem}.lobby-actions .order-switch .tap{padding-inline:.42rem;font-size:.78rem}}.confirm-reset{background:var(--color-card);border:1.5px solid var(--color-ink);border-radius:1rem;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.4rem .5rem;font-size:.9rem;font-weight:600;display:flex}.confirm-yes{background:var(--color-coral);color:#fff;border:0;border-radius:999px;min-height:44px;padding:0 .85rem;font-weight:700}.confirm-no{border:1.5px solid var(--color-ink);background:var(--color-card);border-radius:999px;min-height:44px;padding:0 .85rem;font-weight:700}.kid-sheet-root{z-index:80;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.kid-sheet-backdrop{background:color-mix(in srgb, var(--color-ink) 42%, transparent);border:0;padding:0;position:absolute;inset:0}.kid-sheet{width:min(100%,26rem);max-height:min(88dvh,36rem);padding:1rem calc(1rem + var(--safe-right)) calc(1.1rem + var(--safe-bottom)) calc(1rem + var(--safe-left));background:linear-gradient(180deg, color-mix(in srgb, var(--color-house-teal) 16%, var(--color-card)) 0%, var(--color-card) 28%);border:2px solid color-mix(in srgb, var(--color-house-teal-deep) 35%, var(--color-line));box-shadow:0 -12px 36px color-mix(in srgb, var(--color-ink) 18%, transparent);border-bottom:0;border-radius:1.25rem 1.25rem 0 0;margin:0;position:relative;overflow:auto}.kid-sheet-head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.55rem;display:flex}.kid-sheet-head h2{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-sea-deep);margin:0;font-size:1.35rem}.kid-sheet-close{border:1.5px solid color-mix(in srgb, var(--color-house-teal-deep) 40%, var(--color-line));background:color-mix(in srgb, var(--color-house-teal) 18%, var(--color-card));color:var(--color-sea-deep);border-radius:999px;min-height:2.25rem;padding:0 .85rem;font-size:.88rem;font-weight:700}.kid-sheet-hint{color:var(--color-ink-soft);margin:0 0 .85rem;font-size:.88rem;font-weight:600;line-height:1.35}.kid-list{flex-direction:column;gap:.55rem;margin:0 0 .85rem;padding:0;list-style:none;display:flex}.kid-row{background:color-mix(in srgb, var(--color-card) 88%, var(--color-paper));border:1.5px solid color-mix(in srgb, var(--color-house-teal) 28%, var(--color-line));border-radius:1rem;flex-direction:column;gap:.35rem;padding:.55rem .6rem;display:flex}.kid-row.is-active{border-color:color-mix(in srgb, var(--color-house-teal-deep) 55%, var(--color-sea));background:color-mix(in srgb, var(--color-house-teal) 22%, var(--color-card))}.kid-select{text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.5rem;width:100%;min-height:2.4rem;padding:.15rem .1rem;display:flex}.kid-select-name{color:var(--color-ink);font-size:1.05rem;font-weight:800}.kid-select-badge{letter-spacing:.04em;text-transform:uppercase;color:#f4fffa;background:var(--color-sea);border-radius:999px;padding:.2rem .55rem;font-size:.72rem;font-weight:800}.kid-row-actions{flex-wrap:wrap;gap:.35rem;display:flex}.kid-action{border:1.5px solid color-mix(in srgb, var(--color-house-teal-deep) 30%, var(--color-line));background:var(--color-card);color:var(--color-sea-deep);border-radius:999px;min-height:2.2rem;padding:0 .75rem;font-size:.82rem;font-weight:700}.kid-action:disabled{opacity:.35}.kid-action-danger{color:var(--color-coral-deep);border-color:color-mix(in srgb, var(--color-coral) 40%, var(--color-line))}.kid-add{color:#f7fff9;background:linear-gradient(165deg, var(--color-house-teal) 0%, var(--color-sea) 100%);width:100%;min-height:2.75rem;box-shadow:0 4px 14px color-mix(in srgb, var(--color-sea-deep) 22%, transparent);border:0;border-radius:999px;padding:0 1rem;font-size:.98rem;font-weight:800}.kid-add:disabled{opacity:.45;box-shadow:none}.kid-name-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-sea-deep);margin:.35rem 0;font-size:.82rem;font-weight:800;display:block}.kid-name-input{box-sizing:border-box;border:2px solid color-mix(in srgb, var(--color-house-teal-deep) 35%, var(--color-line));width:100%;min-height:2.85rem;color:var(--color-ink);background:#fff;border-radius:.9rem;outline:none;padding:.55rem .85rem;font-size:1.1rem;font-weight:700}.kid-name-input:focus{border-color:var(--color-sea);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-house-teal) 35%, transparent)}.kid-name-error{color:var(--color-coral-deep);margin:.45rem 0 0;font-size:.88rem;font-weight:700}.kid-save{color:#f7fff9;background:linear-gradient(165deg, var(--color-house-teal) 0%, var(--color-sea) 100%);border:0;border-radius:999px;width:100%;min-height:2.75rem;margin-top:.85rem;font-size:.98rem;font-weight:800}.kid-delete-warn{color:var(--color-ink-soft);margin:.25rem 0 .85rem;font-size:.98rem;font-weight:600;line-height:1.4}.kid-delete-warn strong{color:var(--color-ink)}.kid-delete-actions{flex-wrap:wrap;gap:.45rem;display:flex}.lobby-footer{flex-direction:column;align-items:center;gap:.55rem;margin-top:1.35rem;padding-top:.35rem;display:flex}.parent-tip{width:min(22rem,100%);color:color-mix(in srgb, var(--color-ink-soft) 62%, transparent);text-align:left;font-size:.72rem;line-height:1.45}.parent-tip summary{cursor:pointer;text-align:center;letter-spacing:.02em;justify-content:center;align-items:center;min-height:2rem;padding:.25rem .5rem;font-weight:600;list-style:none;display:flex}.parent-tip summary::-webkit-details-marker{display:none}.parent-tip summary:before{content:"";opacity:.7;border-bottom:1.5px solid;border-right:1.5px solid;width:.35rem;height:.35rem;margin-right:.4rem;transition:transform .15s;display:inline-block;transform:rotate(-45deg)}.parent-tip[open] summary:before{margin-top:-.1rem;transform:rotate(45deg)}.parent-tip-body{padding:.15rem .65rem .35rem}.parent-tip-body p{margin:0 0 .55rem}.parent-tip-body p:last-child{margin-bottom:0}.credits-link{color:color-mix(in srgb, var(--color-ink-soft) 72%, transparent);letter-spacing:.03em;text-underline-offset:.2em;background:0 0;border:0;min-height:2.4rem;padding:.35rem .7rem;font-size:.78rem;font-weight:600;text-decoration:underline;text-decoration-thickness:1px}.credits-link:active{opacity:.75}.credits-backdrop{z-index:90;padding:.75rem calc(.75rem + var(--safe-right)) calc(.75rem + var(--safe-bottom)) calc(.75rem + var(--safe-left));background:color-mix(in srgb, var(--color-ink) 38%, transparent);place-items:end center;display:grid;position:fixed;inset:0}.credits-sheet{background:var(--color-card);border:2px solid color-mix(in srgb, var(--color-ink) 16%, var(--color-line));width:min(26rem,100%);max-height:min(78dvh,36rem);box-shadow:0 1px 0 #ffffffb3, 0 14px 42px color-mix(in srgb, var(--color-ink) 24%, transparent);border-radius:1.15rem;flex-direction:column;display:flex;overflow:hidden}.credits-sheet-scroll{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:1.15rem 1.15rem .55rem;overflow:auto}.credits-made-by{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-ink);margin:0 0 .85rem;font-size:clamp(1.15rem,4.5vw,1.35rem);font-weight:700}.credits-section{margin:0 0 1rem}.credits-heading{font-family:var(--font-display);letter-spacing:.01em;color:var(--color-ink);margin:0 0 .45rem;font-size:.95rem;font-weight:700}.credits-list{color:var(--color-ink-soft);gap:.45rem;margin:0;padding:0 0 0 1.1rem;font-size:.84rem;font-weight:500;line-height:1.45;display:grid}.credits-list li{padding-left:.1rem}.credits-music-list{padding-left:0;list-style:none}.credits-track-title{color:var(--color-ink);font-weight:600}.credits-track-artist{color:var(--color-ink-soft);font-weight:500}.credits-feedback-form{gap:.4rem;margin:0;display:grid}.credits-feedback-label{color:var(--color-ink-soft);margin-top:.15rem;font-size:.78rem;font-weight:600}.credits-feedback-input,.credits-feedback-textarea{box-sizing:border-box;border:1.5px solid var(--color-line);background:color-mix(in srgb, var(--color-card) 88%, var(--color-paper-deep));width:100%;color:var(--color-ink);font:inherit;border-radius:.65rem;outline:none;padding:.55rem .7rem;font-size:.88rem;font-weight:500}.credits-feedback-input:focus,.credits-feedback-textarea:focus{border-color:color-mix(in srgb, var(--color-sea) 55%, var(--color-line));box-shadow:0 0 0 3px color-mix(in srgb, var(--color-sea) 18%, transparent)}.credits-feedback-textarea{resize:vertical;min-height:5.5rem;line-height:1.4}.credits-feedback-gotcha{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.credits-feedback-submit{background:var(--color-sea);color:#fff;min-height:2.6rem;box-shadow:0 2px 0 var(--color-sea-deep);border:0;border-radius:999px;justify-self:start;margin-top:.35rem;padding:.45rem 1.1rem;font-size:.92rem;font-weight:800}.credits-feedback-submit:disabled{opacity:.55;box-shadow:none}.credits-feedback-status{color:var(--color-sea);margin:.15rem 0 .25rem;font-size:.84rem;font-weight:600;line-height:1.4}.credits-feedback-status-error{color:var(--color-coral-deep)}.credits-done{background:var(--color-house-teal);color:#1a221c;min-height:var(--tap-min);box-shadow:0 2px 0 var(--color-house-teal-deep);border:0;border-radius:999px;flex:none;margin:.55rem 1rem 1rem;font-size:1rem;font-weight:800}.list-grid{grid-template-columns:1fr;gap:.7rem;margin:0;padding:0;list-style:none;display:grid}@media (width>=520px){.list-grid{grid-template-columns:1fr 1fr}}.list-card{text-align:left;background:var(--color-card);border:1.5px solid var(--color-line);border-top-width:4px;border-radius:1.1rem;flex-direction:column;gap:.45rem;width:100%;min-height:5.5rem;padding:.85rem .9rem .75rem;display:flex}.list-card.is-done{opacity:.92}.tone-1{border-top-color:#1f6f64}.tone-2{border-top-color:#2a6f8f}.tone-3{border-top-color:#3d6b4f}.tone-4{border-top-color:#1d6a78}.tone-5{border-top-color:#8a4b2f}.tone-6{border-top-color:#3d4e8a}.tone-7{border-top-color:#c45c2a}.tone-8{border-top-color:#4a5568}.tone-9{border-top-color:#5b3d8a}.tone-10{border-top-color:#8a5a12}.list-card-top{justify-content:space-between;align-items:center;gap:.65rem;display:flex}.list-card-left{flex-direction:column;gap:.12rem;min-width:0;display:flex}.list-card h2{font-family:var(--font-display);margin:0;font-size:1.15rem}.list-meta{color:var(--color-ink-soft);margin:0;font-size:.85rem;font-weight:600}.list-level-name{font-family:var(--font-sans);color:var(--color-ink);text-align:right;flex-shrink:0;margin:0;font-size:1.1rem;font-weight:600;line-height:1.1}.word-line{color:var(--color-ink-soft);margin:0;font-size:.88rem;line-height:1.35}.pips,.head-pips{flex-wrap:wrap;gap:.28rem;display:flex}.pip{background:#d9cbb6;border-radius:50%;width:.55rem;height:.55rem}.pip.is-on{background:var(--color-sea)}.practice{background:var(--color-paper);grid-template-rows:auto auto auto 1fr auto;gap:.55rem;max-width:42rem;display:grid}.practice[data-list="1"]{--color-paper:#f3eadc;--color-paper-deep:#e4d3bc;--color-sea:#1f6f64;--color-sea-deep:#164f48;--color-coral:#d4532b;--color-coral-deep:#a33e1e}.practice[data-list="2"]{--color-paper:#f6e7d4;--color-paper-deep:#e4c8a4;--color-sea:#2a6f8f;--color-sea-deep:#1c516b;--color-coral:#e07a3d;--color-coral-deep:#b85a24}.practice[data-list="3"]{--color-paper:#efe6c8;--color-paper-deep:#dccda4;--color-sea:#3d6b4f;--color-sea-deep:#2a4c38;--color-coral:#c4552a;--color-coral-deep:#8d3b1c}.practice[data-list="4"]{--color-paper:#e7f0ea;--color-paper-deep:#c9ddd2;--color-sea:#1d6a78;--color-sea-deep:#134956;--color-coral:#d4653a;--color-coral-deep:#a34824}.practice[data-list="5"]{--color-paper:#f3e4d4;--color-paper-deep:#e2c6ad;--color-sea:#8a4b2f;--color-sea-deep:#63341f;--color-coral:#d4532b;--color-coral-deep:#a33e1e}.practice[data-list="6"]{--color-paper:#e7e4f4;--color-paper-deep:#ccc6e4;--color-sea:#3d4e8a;--color-sea-deep:#2a3664;--color-coral:#e07a4a;--color-coral-deep:#b85a2c}.practice[data-list="7"]{--color-paper:#f8e8c8;--color-paper-deep:#ecd09a;--color-sea:#2f6f62;--color-sea-deep:#1e4e45;--color-coral:#c45c2a;--color-coral-deep:#8f3f18}.practice[data-list="8"]{--color-paper:#e8eef2;--color-paper-deep:#cfd8e0;--color-sea:#4a5568;--color-sea-deep:#2f3848;--color-coral:#b5462e;--color-coral-deep:#843222}.practice[data-list="9"]{--color-paper:#efe6f6;--color-paper-deep:#d8c8e8;--color-sea:#5b3d8a;--color-sea-deep:#3e2964;--color-coral:#d4532b;--color-coral-deep:#a33e1e}.practice[data-list="10"]{--color-paper:#f7e6c4;--color-paper-deep:#e8cc96;--color-sea:#1f4f6f;--color-sea-deep:#14364d;--color-coral:#c9372c;--color-coral-deep:#8e241c}.practice-head{z-index:3;grid-template-columns:var(--tap-min) 1fr auto;align-items:start;gap:.45rem;display:grid;position:relative}.icon-btn{width:var(--tap-min);height:var(--tap-min);border:1.5px solid var(--color-ink);background:var(--color-card);border-radius:999px;place-items:center;padding:0;display:grid}.head-copy h1{font-family:var(--font-display);margin:0;font-size:1.2rem}.head-copy p{color:var(--color-ink-soft);margin:.15rem 0 .35rem;font-size:.88rem;font-weight:600}.reset-btn{color:var(--color-ink-soft);min-height:var(--tap-min);background:0 0;border:0;padding:0 .35rem;font-size:.9rem;font-weight:600}.house-panel{background:color-mix(in srgb, var(--color-paper-deep) 55%, var(--color-paper));z-index:1;border-radius:1rem;min-height:9.5rem;position:relative;overflow:visible}.progress-kid{text-align:center;color:var(--color-sea-deep);z-index:2;margin:0;font-size:.95rem;font-weight:700;position:relative}.flash-panel{z-index:2;min-height:14.5rem;display:flex;position:relative}.practice.is-crab-transit .house-panel{z-index:60}.practice.is-crab-transit .progress-kid,.practice.is-crab-transit .flash-panel,.practice.is-crab-transit .actions{z-index:1}.practice.is-crab-transit .practice-head{z-index:2}.flash,.done-panel{background:var(--color-card);border:3px solid var(--color-ink);box-shadow:.3rem .4rem 0 var(--color-paper-deep);z-index:1;border-radius:1.2rem;flex-direction:column;flex:1;justify-content:space-between;align-items:center;min-height:14.5rem;padding:1rem 1rem 1.1rem;animation:.28s cubic-bezier(.2,.7,.2,1) card-in;display:flex;position:relative;container-type:inline-size}.flash.is-shrinking{transform-origin:50% 92%;pointer-events:none;will-change:transform, opacity;animation:.16s ease-in-out both flash-shrink}.flash.is-pinched{opacity:0;visibility:hidden;transform-origin:50% 92%;pointer-events:none;transition:none;animation:none;transform:scale(.12)translateY(18%)rotate(-14deg)}.flash.is-miss{animation:.37s miss}.flash.is-sparkle{box-shadow:0 0 0 3px color-mix(in srgb, var(--color-sea) 45%, transparent), .3rem .4rem 0 var(--color-paper-deep)}.flash.is-first-reward{animation:.7s first-reward}.flash-word{font-family:var(--font-word);text-align:center;flex:1;place-items:center;max-width:100%;margin:.15rem 0 .4rem;font-size:clamp(3.2rem,22cqi,5.5rem);font-weight:400;line-height:.95;display:grid}.hear{border:2px solid var(--color-ink);background:var(--color-paper);width:min(100%,16rem);min-height:3.85rem;color:var(--color-ink);border-radius:999px;justify-content:center;align-items:center;gap:.55rem;margin-top:.25rem;padding:0 1.5rem;font-size:1.35rem;font-weight:700;display:inline-flex}.sparkle-burst{display:none}.done-panel{text-align:center;justify-content:center;gap:.45rem;min-height:0;padding:.7rem .85rem}.done-panel h2{font-family:var(--font-display);margin:0;font-size:1.55rem}.done-panel p{color:var(--color-ink-soft);margin:0;font-size:.95rem;line-height:1.4}.done-actions{flex-direction:column;gap:.4rem;width:100%;max-width:18rem;display:flex}.practice.is-festa .flash-panel{flex:none;min-height:0}.practice.is-festa .done-panel{min-height:0;box-shadow:.2rem .25rem 0 var(--color-paper-deep);gap:.35rem;padding:.55rem .75rem}.practice.is-festa .done-actions .solid,.practice.is-festa .done-actions .ghost{min-height:44px;padding:0 1rem;font-size:1rem}.solid,.ghost{min-height:var(--tap-min);border-radius:999px;padding:0 1.1rem;font-size:1.05rem;font-weight:700}.solid{background:var(--color-sea);color:var(--color-card);border:0}.ghost{border:2px solid var(--color-ink);background:var(--color-card)}.actions{grid-template-columns:1fr;gap:.55rem;padding-bottom:.15rem;display:grid}@media (width>=420px){.actions{grid-template-columns:1fr 1fr}}.choice{letter-spacing:.01em;border-radius:1.05rem;min-height:3.75rem;font-size:1.25rem;font-weight:800}.choice:disabled{opacity:.45}.choice-no{background:var(--color-card);color:var(--color-ink);border:2.5px solid var(--color-ink)}.choice-yes{background:var(--color-sea);color:var(--color-card);border:2.5px solid var(--color-sea-deep)}.toast{left:50%;bottom:calc(1.25rem + var(--safe-bottom));z-index:80;background:var(--color-ink);color:var(--color-paper);pointer-events:none;border-radius:999px;max-width:calc(100vw - 2rem);padding:.55rem 1rem;font-size:.85rem;font-weight:600;position:fixed;transform:translate(-50%)}.stage{aspect-ratio:1000/640;perspective:760px;perspective-origin:42% 78%;border-radius:1rem;width:100%;position:relative;overflow:hidden}.sky{pointer-events:none;z-index:0;background:linear-gradient(180deg, color-mix(in srgb, var(--color-sea) 8%, transparent), transparent 42%);position:absolute;inset:0;overflow:hidden}.cloud{opacity:.92;filter:drop-shadow(0 1px 1px color-mix(in srgb, var(--color-ink) 10%, transparent));background:#fffaf0;border-radius:50%;display:block;position:absolute;box-shadow:1.1rem .15rem 0 -.15rem #fffaf0,-1rem .2rem 0 -.2rem #fff8eb,.15rem -.55rem 0 -.05rem #fffdf8,-.35rem -.4rem 0 -.12rem #fff6e8,.7rem -.35rem 0 -.18rem #fffaf0}.cloud-a{width:2.1rem;height:1.35rem;top:14%;left:14%}.cloud-b{width:2.6rem;height:1.55rem;top:10%;left:72%}.halo{display:none!important}.floor{background:linear-gradient(180deg, color-mix(in srgb, var(--color-ink) 6%, transparent), transparent 40%), var(--color-paper-deep);z-index:0;height:8%;box-shadow:0 4px 10px color-mix(in srgb, var(--color-ink) 12%, transparent), inset 0 1px 0 color-mix(in srgb, var(--color-card) 55%, transparent);border-radius:999px;position:absolute;bottom:4.5%;left:4%;right:4%}.floor-shade{background:radial-gradient(ellipse at 50% 40%, color-mix(in srgb, var(--color-ink) 18%, transparent), transparent 70%);pointer-events:none;border-radius:50%;position:absolute;inset:20% 8% -35%}.stage.is-complete .floor{background:linear-gradient(180deg, color-mix(in srgb, var(--color-ink) 6%, transparent), transparent 40%), var(--color-paper-deep)}.build{z-index:1;transform-style:preserve-3d;transform-origin:50% 100%;position:absolute;inset:4% 2% 9% 18%;overflow:visible;transform:rotateX(14deg)rotateY(-6deg)translateZ(0)}.build-depth{display:none!important}.pennant{z-index:14;opacity:0;--flag-w:9.6rem;--flag-h:6.4rem;--pole-h:11.2rem;--flag-start-bottom:-150%;width:calc(var(--flag-w) + .55rem);height:var(--pole-h);transform-origin:0 100%;pointer-events:none;position:absolute;bottom:78%;left:50%;overflow:visible;transform:translate(-1.5px)translateZ(8px)}.pennant-pole{width:4px;height:100%;box-shadow:0 0 0 .5px color-mix(in srgb, var(--color-ink) 25%, transparent);background:linear-gradient(#6a5640,#2c241c 70%,#1a1510);border-radius:2px;position:absolute;top:0;left:0}.pennant-cloth{width:var(--flag-w);height:var(--flag-h);transform-origin:0;filter:drop-shadow(0 2px 1px color-mix(in srgb, var(--color-ink) 22%, transparent));transition:none;animation:none;position:absolute;top:auto;bottom:0;left:4px;transform:perspective(48px)rotateY(-4deg)skewY(0)}.pennant-cloth.is-hidden{visibility:hidden;opacity:0;bottom:var(--flag-start-bottom);top:auto}.pennant-cloth.is-ready{visibility:visible;opacity:1;bottom:var(--flag-start-bottom);top:auto}.pennant-cloth.is-hoisting{visibility:visible;opacity:1;animation:2s ease-out both flag-hoist-up;top:auto}.pennant-cloth.is-waving{visibility:visible;opacity:1;bottom:calc(100% - var(--flag-h));animation:1.8s ease-in-out infinite flag-wave;top:auto}.pennant-cloth svg{width:100%;height:100%;display:block;overflow:visible}.pennant-crab{pointer-events:none;filter:drop-shadow(0 0 1px #fff8)contrast(1.08);opacity:.98;background:url(/pinch/sheet.png) 0 0/200% 200% no-repeat;border-radius:30%;width:62%;height:80%;position:absolute;top:10%;left:16%}.stage.is-complete .pennant{opacity:1}.slot{transform-origin:50% 100%;transform-style:preserve-3d;position:absolute}.house-card{transform-style:preserve-3d;filter:drop-shadow(0 5px 4px color-mix(in srgb, var(--color-ink) 22%, transparent));border-radius:.22rem;place-items:center;display:grid;container-type:size}.house-card .card-thickness{border-radius:inherit;border:1.5px solid color-mix(in srgb, var(--color-ink) 75%, #6a5630);box-shadow:0 0 0 1px color-mix(in srgb, var(--color-ink) 12%, transparent);background:linear-gradient(145deg,#c9b07a,#a8905e 55%,#8f7848);position:absolute;inset:0;transform:translate3d(5px,6px,-10px)}.house-card .card-edge{border-radius:inherit;border:1.5px solid color-mix(in srgb, var(--color-ink) 70%, #8a7344);box-shadow:inset 0 0 0 1px #ffffff40, 1px 1px 0 color-mix(in srgb, var(--color-ink) 18%, transparent);background:linear-gradient(135deg,#f3e6c8,#d9c49a 45%,#c4ad7f);position:absolute;inset:0;transform:translate3d(2.5px,3.5px,-5px)}.house-card .card-face{border-radius:inherit;background:linear-gradient(160deg, #fffdf8 0%, var(--color-card) 55%, #f0e4c8 100%);border:1.5px solid var(--color-ink);box-shadow:inset 0 1px 0 #ffffffb3, inset 0 -2px 3px color-mix(in srgb, var(--color-ink) 8%, transparent), inset -3px 0 4px color-mix(in srgb, var(--color-ink) 6%, transparent);place-items:center;display:grid;position:absolute;inset:0;transform:translateZ(2px)}.house-card.is-empty{filter:none;opacity:.48}.house-card.is-empty .card-thickness{background:color-mix(in srgb, var(--color-sea) 8%, #d8ccb0);border-style:dashed;transform:translate3d(3px,4px,-6px)}.house-card.is-empty .card-edge{background:color-mix(in srgb, var(--color-sea) 10%, #e8dcc0);border-style:dashed;transform:translate3d(1.5px,2px,-3px)}.house-card.is-empty .card-face{background:color-mix(in srgb, var(--color-sea) 7%, var(--color-card));box-shadow:none;border-style:dashed}.house-card.is-new{z-index:20!important}.house-card .card-word{font-family:var(--font-word);text-align:center;z-index:1;max-width:92%;font-size:28cqmin;line-height:1;position:relative;overflow:hidden}.stage.shape-1 .house-card .card-face{background:linear-gradient(160deg,#fffdf8,#fff6e8 60%,#f2e2c0)}.stage.shape-2 .house-card .card-face{background:linear-gradient(160deg,#fffef9,#f7f0de 55%,#ead7b0)}.stage.shape-3 .house-card .card-face{background:linear-gradient(155deg,#fffdf7,#f8ead0 50%,#e6cfa0)}.stage.shape-4 .house-card .card-face{background:linear-gradient(165deg,#fffef8,#f4ebda,#e8d5b4)}.stage.shape-5 .house-card .card-face{background:linear-gradient(150deg,#fffdf9,#f6edd8,#e9d4aa)}.stage.shape-6 .house-card .card-face{background:linear-gradient(160deg,#fffef8,#f5e8d0,#dfc696)}.stage.shape-7 .house-card .card-face{background:linear-gradient(170deg,#fffdf8,#f7ebcf,#e4cfa2)}.stage.shape-8 .house-card .card-face{background:linear-gradient(160deg,#fffef9,#f3e6c8,#dcc59a)}.stage.shape-9 .house-card .card-face{background:linear-gradient(155deg,#fffdf8,#f8ecd4,#e0c89a)}.stage.shape-10 .house-card .card-face{background:linear-gradient(160deg,#fffef9,#f6e8cc,#e8d2a4)}.stage.is-complete .house-card:not(.is-empty){--brick-base:color-mix(in srgb, var(--color-paper) 38%, var(--color-sea) 62%);--brick-light:color-mix(in srgb, var(--color-paper) 52%, var(--color-sea) 48%);--brick-mortar:color-mix(in srgb, var(--color-paper-deep) 28%, var(--color-ink) 72%)}.stage.is-complete .house-card:not(.is-empty) .card-thickness{background:repeating-linear-gradient(180deg, var(--brick-base) 0 9px, var(--brick-mortar) 9px 11px), linear-gradient(145deg, var(--brick-light), var(--brick-base));border-color:color-mix(in srgb, var(--color-ink) 82%, var(--color-paper-deep))}.stage.is-complete .house-card:not(.is-empty) .card-edge{background:repeating-linear-gradient(180deg, var(--brick-light) 0 10px, var(--brick-mortar) 10px 12px), linear-gradient(135deg, var(--brick-light), var(--brick-base));border-color:color-mix(in srgb, var(--color-ink) 78%, var(--color-paper-deep))}.brick-masonry{z-index:0;border-radius:inherit;background:var(--brick-mortar);flex-direction:column;gap:2px;padding:2px;display:none;position:absolute;inset:0;overflow:hidden}.stage.is-complete .house-card:not(.is-empty) .brick-masonry{display:flex}.brick-row{flex:1 1 0;gap:2px;min-height:0;display:flex}.brick-row.is-offset{width:116%;transform:translate(-16%)}.brick{background:linear-gradient(150deg, var(--brick-light), var(--brick-base) 62%, color-mix(in srgb, var(--brick-base) 82%, var(--color-ink)));min-width:0;box-shadow:inset 0 1px 0 #fff3, inset 0 -1px 0 color-mix(in srgb, var(--color-ink) 22%, transparent);border-radius:1px;flex:1 1 0}.stage.is-complete .house-card:not(.is-empty) .card-face{background:var(--brick-mortar);border-color:color-mix(in srgb, var(--color-ink) 84%, var(--color-paper-deep));box-shadow:inset 0 1px 0 #ffffff59, inset 0 -2px 3px color-mix(in srgb, var(--color-ink) 20%, transparent), inset -2px 0 3px color-mix(in srgb, var(--color-ink) 12%, transparent)}.stage.is-complete .house-card:not(.is-empty) .card-word{color:var(--color-card);text-shadow:0 1px 0 var(--color-ink), 0 0 3px color-mix(in srgb, var(--color-ink) 85%, transparent);font-weight:700}.perch{width:1px;height:1px;position:absolute;top:88%;left:11%}.crab{aspect-ratio:1;z-index:30;pointer-events:none;width:22%;max-width:6.5rem;position:absolute;top:88%;left:11%;transform:translate(-50%,-92%)}.crab.is-flying{z-index:100;pointer-events:none;will-change:transform;max-width:none;position:fixed;top:0;left:0}.crab.is-walking,.crab.is-turning,.crab.is-carrying,.crab.is-grabbing,.crab.is-placing{will-change:transform}.crab-shadow{background:radial-gradient(ellipse at center, color-mix(in srgb, var(--color-ink) 18%, transparent), transparent 72%);filter:blur(2px);opacity:.45;pointer-events:none;border-radius:50%;width:48%;height:8%;transition:width .15s,opacity .15s,bottom .15s;position:absolute;bottom:1%;left:50%;transform:translate(-50%)}.crab.is-walking .crab-shadow{animation:.2s ease-in-out infinite shadow-steps}.crab.is-carrying .crab-shadow{opacity:.85;width:72%}.crab.is-placing .crab-shadow{opacity:.95;width:78%;bottom:0}.crab-lift{transform-origin:50% 85%;position:absolute;inset:0}.crab.is-carrying .crab-lift{will-change:transform;animation:.33s ease-in-out infinite crab-carry-bob}.crab.is-placing .crab-lift{will-change:transform;animation:.16s ease-in-out crab-place}.crab.is-grabbing .crab-lift{will-change:transform;animation:.14s ease-in-out crab-grab}.crab.is-grabbing .crab-shadow{opacity:.9;width:68%;bottom:0}.crab.is-turning .crab-lift{animation:none}.crab.is-turning .crab-bob{background-position:0 0;animation:none}.crab-bob{width:100%;height:100%;filter:drop-shadow(0 1px 0 color-mix(in srgb, var(--color-ink) 12%, transparent));background:url(/pinch/sheet.png) 0 0/200% 200% no-repeat;animation:1.39s ease-in-out infinite crab-idle}.crab.is-walking .crab-bob{will-change:transform, background-position;animation-name:crab-walk,crab-steps;animation-duration:.36s,.2s;animation-timing-function:linear,ease-in-out;animation-iteration-count:infinite,infinite}.crab.is-grabbing .crab-bob,.crab.is-placing .crab-bob,.crab.is-carrying:not(.is-walking) .crab-bob{background-position:0 0;animation:none}.crab.is-nope .crab-bob{animation:.37s nope}.crab.is-cheering .crab-lift{will-change:transform;animation:.72s ease-in-out infinite crab-festa-sway}.crab.is-cheering .crab-bob{will-change:transform;background-position:0 0;animation:.72s ease-in-out infinite cheer-dance}.crab.is-cheering .crab-shadow{opacity:.7;width:58%;animation:.72s ease-in-out infinite cheer-shadow}.carried{aspect-ratio:3/4;z-index:5;width:54%;filter:drop-shadow(2px 4px 3px color-mix(in srgb, var(--color-ink) 32%, transparent));will-change:transform, opacity;border-radius:.22rem;place-items:center;animation:.14s ease-out carried-in;display:grid;position:absolute;top:52%;left:90%;transform:translate(-50%,-50%)rotate(-10deg)}.carried-face{border-radius:inherit;background:linear-gradient(160deg, #fffdf8, var(--color-card) 60%, #f0e4c8);border:1.5px solid var(--color-ink);box-shadow:inset 0 1px 0 #ffffffa6, 3px 4px 0 color-mix(in srgb, #c4ad7f 85%, var(--color-ink)), 5px 6px 0 color-mix(in srgb, #8f7848 70%, var(--color-ink));position:absolute;inset:0}.crab[data-dir="-1"] .carried{transform:translate(-50%,-50%)scaleX(-1)rotate(-10deg)}.carried[hidden]{display:none}.carried>span:not(.carried-face){font-family:var(--font-word);text-align:center;z-index:1;padding:.1rem;font-size:.72rem;line-height:1;position:relative}.house-banner{z-index:20;pointer-events:none;flex-direction:column;align-items:flex-start;gap:.35rem;display:flex;position:absolute;top:.35rem;left:.45rem}.banner-ribbon{background:var(--color-coral);color:var(--color-paper);border:2px solid var(--color-ink);box-shadow:2px 3px 0 color-mix(in srgb, var(--color-ink) 30%, transparent);align-items:baseline;gap:.4rem;margin:0;padding:.28rem .65rem;animation:.42s cubic-bezier(.15,.9,.2,1) both banner-pop;display:inline-flex}.banner-ribbon span{letter-spacing:.12em;text-transform:uppercase;font-size:.68rem}.banner-ribbon strong{font-family:var(--font-display);font-size:1.05rem;line-height:1}.festa-canvas{pointer-events:none;z-index:16;display:block;position:absolute;bottom:0;left:0;overflow:visible}.house-panel.is-festa{contain:layout;min-height:18rem;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;transition:min-height .7s cubic-bezier(.22,.7,.2,1);overflow:visible}.stage.is-festa,.stage.is-complete{box-shadow:none;background:0 0}.stage.is-festa{aspect-ratio:1000/820;contain:layout paint;overflow:hidden}@media (width>=521px){.stage{aspect-ratio:1000/560}.house-panel.is-festa{min-height:14rem}}@media (width<=520px){.stage.is-festa{aspect-ratio:1000/1280}.house-panel.is-festa{min-height:22rem}}.stage .build,.stage .floor,.stage .halo,.stage .perch{will-change:inset, top, bottom;transition:inset .7s cubic-bezier(.22,.7,.2,1),top .7s cubic-bezier(.22,.7,.2,1),bottom .7s cubic-bezier(.22,.7,.2,1),height .7s cubic-bezier(.22,.7,.2,1)}.stage.is-festa .build{inset:42% 2% 4% 18%}.stage.is-festa .floor{height:5.5%;bottom:1.5%}.stage.is-festa .perch{top:94%}.house-panel.is-festa .crab:not(.is-flying){transition:top .7s cubic-bezier(.22,.7,.2,1);top:94%}.practice.is-festa{overflow-anchor:none;grid-template-rows:auto auto auto minmax(0,1fr) auto}@media (prefers-reduced-motion:reduce){.house-panel.is-festa,.stage.is-festa,.stage .build,.stage .floor,.stage .halo,.stage .perch,.house-panel.is-festa .crab:not(.is-flying){transition:none!important}.pennant-cloth,.pennant-cloth.is-hoisting,.pennant-cloth.is-waving,.pennant-cloth .flag-shape{animation:none!important}.pennant-cloth.is-waving{visibility:visible;opacity:1;top:auto;bottom:calc(100% - var(--flag-h));transform:perspective(48px)rotateY(-6deg)skewY(0)}.pennant-cloth.is-ready{visibility:visible;opacity:1;bottom:var(--flag-start-bottom);top:auto}.pennant-cloth.is-hidden{visibility:hidden;opacity:0;bottom:var(--flag-start-bottom);top:auto}.pennant-cloth.is-hoisting{visibility:visible;opacity:1;bottom:var(--flag-start-bottom);top:auto}}.ceremony{z-index:70;align-content:center;justify-items:center;display:grid;position:fixed;inset:0;overflow:hidden}.ceremony-film{background:#12080c;padding:0}.ceremony-video{object-fit:cover;background:#12080c;width:100%;height:100%;position:absolute;inset:0}.film-sky{z-index:2;pointer-events:none;position:absolute;inset:0}.film-sky i{mix-blend-mode:screen;background:radial-gradient(circle,#fffcf0f2 0 2px,#ffd68c8c 4px,#ff96462e 28%,#0000 62%);border-radius:50%;animation:2.8s ease-out infinite film-bloom;position:absolute;transform:translate(-50%,-50%)scale(.2)}.film-caption{z-index:3;color:#fffaf3;text-shadow:0 2px 22px #140804b8;padding-left:var(--safe-left);padding-bottom:var(--safe-bottom);animation:.9s both caption-in;position:absolute;bottom:max(4.5rem,10vh);left:max(1.25rem,6vw)}.film-caption p{letter-spacing:.22em;text-transform:uppercase;margin:0;font-size:.78rem}.film-caption h2{font-family:var(--font-display);letter-spacing:-.03em;margin:.15rem 0 0;font-size:clamp(2.4rem,9vw,4.8rem);font-weight:600;line-height:.95}.ceremony-controls{z-index:4;bottom:calc(.8rem + var(--safe-bottom));right:calc(.8rem + var(--safe-right));align-items:center;gap:.45rem;display:flex;position:absolute}.ceremony-skip,.ceremony-replay{z-index:4;border:1px solid color-mix(in srgb, var(--color-paper) 50%, transparent);min-height:2.75rem;min-width:var(--tap-min);color:var(--color-paper);background:#0006;border-radius:999px;padding:0 1rem;font-weight:700}.ceremony-replay{background:color-mix(in srgb, var(--color-house-teal) 55%, #0008);border-color:color-mix(in srgb, var(--color-paper) 65%, transparent)}.tower-festa-stage{z-index:2;pointer-events:none;position:absolute;inset:0;overflow:visible}.tower-festa-stage .festa-canvas{z-index:2}@keyframes flag-hoist-up{0%{bottom:var(--flag-start-bottom)}to{bottom:calc(100% - var(--flag-h))}}@keyframes flag-wave{0%,to{transform:perspective(48px)rotateY(-6deg)skewY(0)}25%{transform:perspective(48px)rotateY(8deg)skewY(-2.5deg)}50%{transform:perspective(48px)rotateY(-4deg)skewY(1.8deg)}75%{transform:perspective(48px)rotateY(7deg)skewY(-1.6deg)}}@keyframes flag-ripple{0%,to{d:path("M0,1.5 C6,0.2 10,3.2 16,1.4 C20,0.3 24,2.6 28,1.2 L28,14.2 C24,15.4 20,13.2 16,14.4 C10,16 6,13.2 0,14.6 Z")}50%{d:path("M0,1.5 C5,3.1 11,0.1 16,2.2 C21,3.6 24,0.6 28,2 L28,15 C24,13.4 21,16.2 16,15 C11,13.2 5,16.1 0,14.6 Z")}}@keyframes crab-idle{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-5px)rotate(-1.5deg)}}@keyframes crab-walk{0%,24.9%{background-position:0 0}25%,49.9%{background-position:100% 0}50%,74.9%{background-position:0 100%}75%,99.9%{background-position:100% 100%}to{background-position:0 0}}@keyframes crab-steps{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes crab-carry-bob{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-2px)rotate(1.2deg)}}@keyframes crab-place{0%{transform:translateY(0)scale(1)}40%{transform:translateY(4px)scale(1.03,.96)}72%{transform:translateY(-2.5px)scale(.99,1.02)}to{transform:translateY(0)scale(1)}}@keyframes shadow-steps{0%,to{opacity:.7;transform:translate(-50%)scale(1)}50%{opacity:.55;transform:translate(-50%)scale(.9)}}@keyframes cheer-dance{0%,to{transform:translateY(0)rotate(0)scale(1)}25%{transform:translateY(-11px)rotate(-7deg)scale(1.04)}50%{transform:translateY(0)rotate(0)scale(1)}75%{transform:translateY(-13px)rotate(7deg)scale(1.05)}}@keyframes crab-festa-sway{0%,to{transform:translate(0)}25%{transform:translate(5px)}50%{transform:translate(0)}75%{transform:translate(-5px)}}@keyframes cheer-shadow{0%,to{opacity:.7;transform:translate(-50%)scale(1)}25%{opacity:.45;transform:translate(-50%)scale(.82)}50%{opacity:.7;transform:translate(-50%)scale(1)}75%{opacity:.4;transform:translate(-50%)scale(.78)}}@keyframes nope{0%,to{transform:rotate(0)}30%{transform:rotate(-12deg)}55%{transform:rotate(10deg)}}@keyframes carried-in{0%{opacity:0}to{opacity:1}}@keyframes flash-shrink{0%{opacity:1;transform:scale(1)translateY(0)rotate(0)}55%{opacity:1;transform:scale(.42)translateY(12%)rotate(-8deg)}to{opacity:.9;transform:scale(.16)translateY(28%)rotate(-14deg)}}@keyframes crab-grab{0%{transform:translateY(0)rotate(0)scale(1)}30%{transform:translateY(7px)rotate(-5deg)scale(1.06,.92)}58%{transform:translateY(4px)rotate(4deg)scale(.97,1.04)}80%{transform:translateY(-2.5px)rotate(-1deg)scale(1.02)}to{transform:translateY(0)rotate(0)scale(1)}}@keyframes miss{0%,to{transform:translate(0)}20%{transform:translate(-10px)rotate(-1.5deg)}40%{transform:translate(9px)rotate(1.5deg)}60%{transform:translate(-6px)}}@keyframes card-in{0%{opacity:0;transform:translateY(10px)scale(.98)}to{opacity:1;transform:none}}@keyframes card-pop{0%{transform:translateX(-50%) rotate(var(--r,0deg)) translateY(-22px) scale(.28) translateZ(36px);filter:drop-shadow(0 14px 10px color-mix(in srgb, var(--color-ink) 32%, transparent))}55%{transform:translateX(-50%) rotate(var(--r,0deg)) translateY(3px) scale(1.12) translateZ(12px)}78%{transform:translateX(-50%) rotate(var(--r,0deg)) translateY(-4px) scale(.97) translateZ(4px)}to{transform:translateX(-50%) rotate(var(--r,0deg)) scale(1) translateZ(0);filter:drop-shadow(0 5px 4px color-mix(in srgb, var(--color-ink) 22%, transparent))}}@keyframes first-reward{0%{transform:scale(1)}30%{transform:scale(1.04)rotate(-1deg)}55%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes sparkle-fade{0%{opacity:1}to{opacity:0}}@keyframes banner-pop{0%{opacity:0;transform:translateY(-8px)scale(.92)}to{opacity:1;transform:none}}@keyframes film-bloom{0%{opacity:0;transform:translate(-50%,-50%)scale(.15)}16%{opacity:1;transform:translate(-50%,-50%)scale(.55)}to{opacity:0;transform:translate(-50%,-50%)scale(1.25)}}@keyframes caption-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.brand-crab,.crab-bob,.crab-lift,.crab-shadow,.flash,.house-card.is-new,.banner-ribbon,.film-sky i,.film-caption,.carried{animation:none!important}.build{transform:none}}.missed-bar{background:0 0;border:0;border-radius:0;margin:-.35rem 0 1.1rem;padding:0;display:block}.missed-practice.list-card{border-top-color:var(--color-house-teal);background:color-mix(in srgb, var(--color-house-teal) 10%, var(--color-card));width:100%;box-shadow:none;text-align:left;color:var(--color-ink);flex:none;justify-content:flex-start;min-height:5.5rem;position:relative}.missed-practice.list-card .list-card-top h2{font-size:1.15rem}.missed-practice .missed-count{background:var(--color-house-teal);color:#1a221c;min-width:1.7rem;height:1.7rem;box-shadow:0 1px 0 var(--color-house-teal-deep);border-radius:.55rem;place-items:center;padding:0 .45rem;font-size:.9rem;font-weight:800;display:inline-grid;position:absolute;bottom:.75rem;right:.9rem}.clear-missed{border:1.5px solid var(--color-coral-deep);color:var(--color-coral-deep);min-height:var(--tap-min);background:0 0;border-radius:999px;padding:0 .95rem;font-size:.9rem;font-weight:700}.missed-empty{color:var(--color-ink-soft);margin:0;font-size:.9rem;font-weight:600;line-height:1.35}.missed-badge{min-width:var(--tap-min);height:var(--tap-min);background:var(--color-coral);color:#fffaf3;border-radius:999px;place-items:center;font-size:1.05rem;font-weight:800;display:grid}.missed-clear-row{justify-content:center;margin:0 0 .55rem;display:flex}.missed-mode .missed-clear-row{margin-top:-.15rem}.missed-mode .house-panel{display:none}.missed-mode{grid-template-rows:auto auto auto 1fr auto}.missed-toolbar{flex-wrap:wrap;justify-content:center;align-items:center;gap:.45rem;margin:0 0 .55rem;display:flex}.missed-mode .missed-toolbar{margin-top:-.15rem}.manage-missed{border:1.5px solid var(--color-house-teal-deep);background:color-mix(in srgb, var(--color-house-teal) 18%, var(--color-card));color:var(--color-ink);min-height:var(--tap-min);border-radius:999px;padding:0 .95rem;font-size:.9rem;font-weight:700}.missed-mode .flash-panel{flex:auto;align-self:stretch;height:100%;min-height:0}.missed-mode.managing-list{grid-template-rows:auto auto auto auto;align-content:start;min-height:100dvh}.missed-mode.managing-list .flash-panel{flex:0 auto;align-self:stretch;height:auto;min-height:0;overflow:hidden}.manage-panel{--manage-panel-max:calc(100dvh - 10.25rem - var(--safe-top) - var(--safe-bottom));background:var(--color-card);border:3px solid var(--color-ink);box-shadow:.3rem .4rem 0 var(--color-paper-deep);height:auto;min-height:0;max-height:var(--manage-panel-max);border-radius:1.2rem;flex-direction:column;flex:0 auto;align-self:stretch;width:100%;padding:.65rem .65rem .7rem;display:flex;overflow:hidden}.missed-mode.managing-list .manage-list{flex:auto}.manage-panel-head{flex:none;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.45rem;padding:0 .15rem;display:flex}.manage-panel-head h2{font-family:var(--font-display);margin:0;font-size:1.2rem}.manage-back{border:1.5px solid var(--color-ink);background:var(--color-paper);color:var(--color-ink);min-height:var(--tap-min);white-space:nowrap;border-radius:999px;padding:0 .85rem;font-size:.88rem;font-weight:700}.manage-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;flex:0 auto;gap:.35rem;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.manage-row{background:color-mix(in srgb, var(--color-house-teal) 8%, var(--color-paper));border:2px solid var(--color-ink);border-radius:.85rem;justify-content:space-between;align-items:center;gap:.55rem;min-height:3.1rem;padding:.35rem .4rem .35rem .85rem;display:flex}.manage-word{font-family:var(--font-word);color:var(--color-ink);overflow-wrap:anywhere;font-size:1.45rem;font-weight:400;line-height:1.1}.manage-remove{border:2px solid var(--color-coral-deep);background:color-mix(in srgb, var(--color-coral) 16%, var(--color-card));width:2.75rem;height:2.75rem;color:var(--color-coral-deep);border-radius:999px;flex-shrink:0;place-items:center;padding:0;font-size:1.35rem;font-weight:800;line-height:1;display:grid}.manage-remove:active{background:var(--color-coral);color:#fffaf3}.manage-empty{text-align:center;color:var(--color-ink-soft);flex:none;margin:.35rem 0 0;padding:.75rem .5rem;font-size:.95rem;font-weight:600;line-height:1.4}.add-missed{border:1.5px solid var(--color-house-teal-deep);background:var(--color-house-teal);color:#1a221c;min-height:var(--tap-min);box-shadow:0 1px 0 var(--color-house-teal-deep);border-radius:999px;padding:0 .95rem;font-size:.9rem;font-weight:800}.add-panel .add-search-label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-sea-deep);margin:0 .2rem .35rem;font-size:.78rem;font-weight:800;display:block}.add-search-input{box-sizing:border-box;border:2px solid color-mix(in srgb, var(--color-house-teal-deep) 35%, var(--color-line));width:100%;min-height:2.75rem;color:var(--color-ink);background:#fff;border-radius:.9rem;outline:none;flex:none;margin:0 0 .45rem;padding:.5rem .85rem;font-size:1.05rem;font-weight:700}.add-search-input:focus{border-color:var(--color-sea);box-shadow:0 0 0 3px color-mix(in srgb, var(--color-house-teal) 35%, transparent)}.add-list-chips{flex:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem;margin:0;padding:0 .1rem .4rem;display:grid}.add-chip{border:1.5px solid var(--color-house-teal-deep);background:color-mix(in srgb, var(--color-house-teal) 12%, var(--color-card));width:100%;color:var(--color-ink);white-space:nowrap;border-radius:999px;min-height:2.35rem;padding:0 .85rem;font-size:.85rem;font-weight:700}.add-chip.is-on{background:var(--color-house-teal);color:#1a221c;box-shadow:0 1px 0 var(--color-house-teal-deep)}.add-row{background:color-mix(in srgb, var(--color-house-teal) 8%, var(--color-paper));padding:0}.add-word-btn{width:100%;min-height:3.1rem;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.45rem;padding:.35rem .4rem .35rem .85rem;display:flex}.add-word-btn .manage-word{flex:auto;min-width:0}.add-word-meta{color:var(--color-ink-soft);white-space:nowrap;flex:none;font-size:.78rem;font-weight:700}.manage-add{border:2px solid var(--color-house-teal-deep);background:color-mix(in srgb, var(--color-house-teal) 22%, var(--color-card));width:2.75rem;height:2.75rem;color:var(--color-sea-deep);border-radius:999px;flex-shrink:0;place-items:center;font-size:1.45rem;font-weight:800;line-height:1;display:grid}.add-word-btn:active .manage-add{background:var(--color-house-teal);color:#1a221c}.manage-empty-wrap{flex-direction:column;flex:none;align-items:center;gap:.75rem;margin:.25rem 0 0;padding:.65rem .5rem .35rem;display:flex}.manage-empty-wrap .manage-empty{margin:0;padding:0}.manage-empty-add{min-width:10rem}
