:root[data-palette=sumi]{--palette-primary:#3f3f46;--palette-on-primary:#fafafa;--palette-secondary:#52525b;--palette-on-secondary:#fafafa;--palette-highlight:#a16207;--palette-on-highlight:#fafafa;--palette-bg:#fafafa;--palette-surface:#f4f4f5;--palette-surface-raised:#fff;--palette-sunken:#e4e4e7;--palette-hover:#efeff1;--palette-fg:#18181b;--palette-muted:#71717a;--palette-border:#d4d4d8;--palette-grid:#e4e4e7;--palette-toolbar:#f4f4f5;--palette-success:#4d7c0f;--palette-warning:#a16207;--palette-danger:#b91c1c;--palette-info:#3f3f46}:root[data-palette=sumi][data-theme=dark]{--palette-primary:#d4d4d8;--palette-on-primary:#18181b;--palette-secondary:#a1a1aa;--palette-on-secondary:#18181b;--palette-highlight:#fbbf24;--palette-on-highlight:#18181b;--palette-bg:#18181b;--palette-surface:#27272a;--palette-surface-raised:#303036;--palette-sunken:#111113;--palette-hover:#323238;--palette-fg:#fafafa;--palette-muted:#a1a1aa;--palette-border:#3f3f46;--palette-grid:#2d2d31;--palette-toolbar:#202024;--palette-success:#86efac;--palette-warning:#fcd34d;--palette-danger:#fca5a5;--palette-info:#d4d4d8}@media (prefers-color-scheme:dark){:root[data-palette=sumi]:not([data-theme=light]){--palette-primary:#d4d4d8;--palette-on-primary:#18181b;--palette-secondary:#a1a1aa;--palette-on-secondary:#18181b;--palette-highlight:#fbbf24;--palette-on-highlight:#18181b;--palette-bg:#18181b;--palette-surface:#27272a;--palette-surface-raised:#303036;--palette-sunken:#111113;--palette-hover:#323238;--palette-fg:#fafafa;--palette-muted:#a1a1aa;--palette-border:#3f3f46;--palette-grid:#2d2d31;--palette-toolbar:#202024;--palette-success:#86efac;--palette-warning:#fcd34d;--palette-danger:#fca5a5;--palette-info:#d4d4d8}}:root[data-palette=osaka-jade]{--palette-primary:#2f7a6a;--palette-on-primary:#f3fffb;--palette-secondary:#1f5a5a;--palette-on-secondary:#efffff;--palette-highlight:#a97a2a;--palette-on-highlight:#241a08;--palette-bg:#f6faf7;--palette-surface:#ecf4ef;--palette-surface-raised:#fff;--palette-sunken:#dfece4;--palette-hover:#e8f2eb;--palette-fg:#17211d;--palette-muted:#5f7269;--palette-border:#cbdad1;--palette-grid:#dce9e1;--palette-toolbar:#eef6f1;--palette-success:#2f7a4f;--palette-warning:#8e6320;--palette-danger:#a93b3b;--palette-info:#2f6f7a}:root[data-palette=osaka-jade][data-theme=dark]{--palette-primary:#6fc7ae;--palette-on-primary:#10201b;--palette-secondary:#8fc7c0;--palette-on-secondary:#0f1d1c;--palette-highlight:#d8b168;--palette-on-highlight:#241a08;--palette-bg:#0f1614;--palette-surface:#16201d;--palette-surface-raised:#1c2824;--palette-sunken:#0a100e;--palette-hover:#22302b;--palette-fg:#e9f3ee;--palette-muted:#9bb0a7;--palette-border:#2d3d37;--palette-grid:#24322d;--palette-toolbar:#131c19;--palette-success:#8fd0a0;--palette-warning:#d8b168;--palette-danger:#e78a86;--palette-info:#8fc7d8}@media (prefers-color-scheme:dark){:root[data-palette=osaka-jade]:not([data-theme=light]){--palette-primary:#6fc7ae;--palette-on-primary:#10201b;--palette-secondary:#8fc7c0;--palette-on-secondary:#0f1d1c;--palette-highlight:#d8b168;--palette-on-highlight:#241a08;--palette-bg:#0f1614;--palette-surface:#16201d;--palette-surface-raised:#1c2824;--palette-sunken:#0a100e;--palette-hover:#22302b;--palette-fg:#e9f3ee;--palette-muted:#9bb0a7;--palette-border:#2d3d37;--palette-grid:#24322d;--palette-toolbar:#131c19;--palette-success:#8fd0a0;--palette-warning:#d8b168;--palette-danger:#e78a86;--palette-info:#8fc7d8}}:root,:root[data-palette=kaga]{color-scheme:light;--palette-primary:#b04e52;--palette-on-primary:#fff8f4;--palette-secondary:#35357d;--palette-on-secondary:#f7f7ff;--palette-highlight:#c18a39;--palette-on-highlight:#241a08;--palette-bg:#faf8f3;--palette-surface:#f3f0e9;--palette-surface-raised:#fff;--palette-sunken:#ebe7de;--palette-hover:#f0ece4;--palette-fg:#1c1b20;--palette-muted:#6b6872;--palette-border:#d8d3c7;--palette-grid:#e7e2d7;--palette-toolbar:#f5f2ea;--palette-success:#5a6b3c;--palette-warning:#8e6320;--palette-danger:#a93b3b;--palette-info:#35357d;--palette-tone-violet:#7e5c96;--palette-tone-blue:#35357d;--palette-tone-amber:#96661d;--palette-tone-red:#b04e52;--palette-tone-green:#5a6b3c;--palette-tone-teal:#3f6e66;--palette-tone-sky:#4b6e93;--palette-tone-indigo:#474a94;--palette-tone-orange:#a65b32;--palette-tone-lime:#62722f;--palette-tone-rose:#a84c60;--palette-tone-fuchsia:#94558c;--palette-tone-cyan:#3d7a82;--kaga-enji:#b04e52;--kaga-ai:#35357d;--kaga-oudo:#c18a39;--kaga-kusa:#72814b;--kaga-murasaki:#895b8a}:root{--primary:var(--palette-primary);--primary-hover:color-mix(in srgb, var(--palette-primary) 86%, var(--palette-fg));--on-primary:var(--palette-on-primary);--secondary:var(--palette-secondary);--secondary-hover:color-mix(in srgb, var(--palette-secondary) 86%, var(--palette-fg));--on-secondary:var(--palette-on-secondary);--accent:var(--primary);--on-accent:var(--on-primary);--highlight:var(--palette-highlight);--on-highlight:var(--palette-on-highlight);--bg:var(--palette-bg);--surface:var(--palette-surface);--surface-raised:var(--palette-surface-raised);--sunken:var(--palette-sunken);--hover:var(--palette-hover);--fg:var(--palette-fg);--muted:var(--palette-muted);--border:var(--palette-border);--grid:var(--palette-grid);--toolbar-bg:var(--palette-toolbar);--success:var(--palette-success);--warning:var(--palette-warning);--danger:var(--palette-danger);--info:var(--palette-info);--tone-violet:var(--palette-tone-violet);--tone-blue:var(--palette-tone-blue);--tone-amber:var(--palette-tone-amber);--tone-red:var(--palette-tone-red);--tone-green:var(--palette-tone-green);--tone-teal:var(--palette-tone-teal);--tone-sky:var(--palette-tone-sky);--tone-indigo:var(--palette-tone-indigo);--tone-orange:var(--palette-tone-orange);--tone-lime:var(--palette-tone-lime);--tone-rose:var(--palette-tone-rose);--tone-fuchsia:var(--palette-tone-fuchsia);--tone-cyan:var(--palette-tone-cyan);--paper:var(--bg);--ink:var(--fg);--mid:var(--muted);--terra:var(--primary);--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--shadow-card:0 1px 0 color-mix(in srgb, var(--border) 70%, transparent), 0 10px 24px -20px #1c1b2059;--shadow-modal:0 28px 56px -32px #1c1b2073;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--font-serif:"Shippori Mincho", "Hiragino Mincho ProN", serif;--text-2xs:9px;--text-xs:10px;--text-sm:12px;--text-md:13px;--text-base:14px;--text-lg:16px;--text-xl:20px;--text-2xl:24px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-8:3rem}:root[data-theme=dark],:root[data-palette=kaga][data-theme=dark]{color-scheme:dark;--palette-primary:#d98d8e;--palette-on-primary:#1a1215;--palette-secondary:#9ea0de;--palette-on-secondary:#15151f;--palette-highlight:#ddb268;--palette-on-highlight:#241a08;--palette-bg:#15141a;--palette-surface:#1d1c23;--palette-surface-raised:#232229;--palette-sunken:#0f0e13;--palette-hover:#26242d;--palette-fg:#f2efe8;--palette-muted:#a39da8;--palette-border:#35323b;--palette-grid:#2a2730;--palette-toolbar:#1a191f;--palette-success:#a3bb7c;--palette-warning:#ddb268;--palette-danger:#e78383;--palette-info:#9ea0de;--palette-tone-violet:#c4a6d8;--palette-tone-blue:#a0a3e6;--palette-tone-amber:#dcb26a;--palette-tone-red:#e09092;--palette-tone-green:#acc181;--palette-tone-teal:#7fc4b8;--palette-tone-sky:#92b8d8;--palette-tone-indigo:#a9acf0;--palette-tone-orange:#e0a274;--palette-tone-lime:#b8c97e;--palette-tone-rose:#e49cab;--palette-tone-fuchsia:#d6a6d2;--palette-tone-cyan:#8ac8ce;--kaga-enji:#d98d8e;--kaga-ai:#9ea0de;--kaga-oudo:#ddb268;--kaga-kusa:#a3bb7c;--kaga-murasaki:#c4a6d8;--shadow-card:0 1px 0 #ffffff0a, 0 10px 24px -20px #000000a6;--shadow-modal:0 28px 56px -32px #000000bf}@media (prefers-color-scheme:dark){:root:not([data-theme=light]),:root[data-palette=kaga]:not([data-theme=light]){color-scheme:dark;--palette-primary:#d98d8e;--palette-on-primary:#1a1215;--palette-secondary:#9ea0de;--palette-on-secondary:#15151f;--palette-highlight:#ddb268;--palette-on-highlight:#241a08;--palette-bg:#15141a;--palette-surface:#1d1c23;--palette-surface-raised:#232229;--palette-sunken:#0f0e13;--palette-hover:#26242d;--palette-fg:#f2efe8;--palette-muted:#a39da8;--palette-border:#35323b;--palette-grid:#2a2730;--palette-toolbar:#1a191f;--palette-success:#a3bb7c;--palette-warning:#ddb268;--palette-danger:#e78383;--palette-info:#9ea0de;--palette-tone-violet:#c4a6d8;--palette-tone-blue:#a0a3e6;--palette-tone-amber:#dcb26a;--palette-tone-red:#e09092;--palette-tone-green:#acc181;--palette-tone-teal:#7fc4b8;--palette-tone-sky:#92b8d8;--palette-tone-indigo:#a9acf0;--palette-tone-orange:#e0a274;--palette-tone-lime:#b8c97e;--palette-tone-rose:#e49cab;--palette-tone-fuchsia:#d6a6d2;--palette-tone-cyan:#8ac8ce;--kaga-enji:#d98d8e;--kaga-ai:#9ea0de;--kaga-oudo:#ddb268;--kaga-kusa:#a3bb7c;--kaga-murasaki:#c4a6d8;--shadow-card:0 1px 0 #ffffff0a, 0 10px 24px -20px #000000a6;--shadow-modal:0 28px 56px -32px #000000bf}}:root{--bg-dot:color-mix(in srgb, var(--ink) 4%, transparent);--muted:var(--mid);--surface:var(--surface-raised);--pill:color-mix(in srgb, var(--surface-raised) 96%, transparent);--tabs-bg:color-mix(in srgb, var(--ink) 6%, transparent);--line:color-mix(in srgb, var(--ink) 8%, transparent);--shadow:#00000024;--accent:var(--tone-amber);--accent-soft:color-mix(in srgb, var(--accent) 16%, var(--paper));--font:"Hiragino Maru Gothic ProN", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Noto Sans JP", system-ui, -apple-system, sans-serif;--r:28px;--r-sm:18px;--sh:0 6px 0 #0000001a, 0 14px 28px #0000001a}html[data-theme=dark]{--shadow:#0000008c;--sh:0 6px 0 #00000059, 0 16px 30px #00000073}#app[data-screen=home]{--accent:var(--tone-amber)}#app[data-screen=feed]{--accent:var(--tone-red)}#app[data-screen=peek]{--accent:var(--tone-blue)}#app[data-screen=puzzle]{--accent:var(--tone-green)}#app[data-screen=trace]{--accent:var(--tone-teal)}#app[data-screen=code]{--accent:var(--tone-violet)}#app[data-screen=draw]{--accent:var(--tone-rose)}#app[data-screen=learn]{--accent:var(--tone-amber)}#app[data-screen=count]{--accent:var(--tone-violet)}#app[data-screen=camera]{--accent:var(--tone-sky)}#app[data-screen=gallery]{--accent:var(--tone-indigo)}#app{--accent-soft:color-mix(in srgb, var(--accent) 16%, var(--paper))}*{box-sizing:border-box}html,body{background:var(--bg);touch-action:pan-x pan-y;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;height:100%;font-family:var(--font);color:var(--ink);margin:0;padding:0;position:fixed;inset:0;overflow:hidden}canvas#fx{pointer-events:none;z-index:50;position:fixed;inset:0}#app{z-index:2;background:radial-gradient(var(--bg-dot) 1.6px, transparent 1.6px) 0 0 / 28px 28px, linear-gradient(180deg, var(--accent-soft) 0%, var(--bg) 58%);flex-direction:column;transition:background .3s;display:flex;position:fixed;inset:0}.stage-screen{width:100%;max-width:1120px;min-height:0;padding:calc(env(safe-area-inset-top) + 8px) clamp(10px, 2.4vw, 20px) calc(env(safe-area-inset-bottom) + 10px);flex-direction:column;flex:1;gap:clamp(6px,1.3vh,12px);margin:0 auto;display:flex}.toy-topbar{z-index:15;flex:0 0 52px;justify-content:space-between;align-items:center;gap:8px;height:52px;display:flex}.home-tools{align-items:center;gap:8px;display:flex}.topbar-spacer{flex:0 0 50px;width:50px;height:50px}.pill{cursor:pointer;font-family:var(--font);color:var(--ink);background:var(--surface);min-width:50px;height:50px;box-shadow:0 5px 0 #0000001f, 0 8px 16px var(--shadow);white-space:nowrap;border:3px solid #00000014;border-radius:999px;justify-content:center;align-items:center;padding:0 14px;font-size:20px;font-weight:900;line-height:1;transition:transform .1s,box-shadow .1s;display:inline-flex}.pill:active{transform:translateY(3px)scale(.95);box-shadow:0 2px #0000001f}.pill[hidden]{display:none}.icon-btn{cursor:pointer;background:var(--surface);width:50px;height:50px;box-shadow:0 5px 0 #0000001f, 0 8px 16px var(--shadow);border:3px solid #00000014;border-radius:50%;justify-content:center;align-items:center;font-size:23px;line-height:1;transition:transform .1s;display:flex}.icon-btn:active{transform:translateY(3px)scale(.92)}.icon-btn.holding{background:var(--accent-soft);transform:scale(1.16)}.toy-badge{background:var(--surface);color:var(--ink);white-space:nowrap;border:3px solid #00000012;border-radius:999px;justify-content:center;align-items:center;height:48px;padding:0 16px;font-size:clamp(14px,3.8vw,19px);font-weight:900;display:inline-flex;box-shadow:0 4px #0000001a}.friend-switch{cursor:pointer;font-family:var(--font);color:var(--ink);background:var(--surface);height:48px;box-shadow:0 5px 0 #0000001f, 0 8px 16px var(--shadow);white-space:nowrap;border:3px solid #00000014;border-radius:999px;align-items:center;gap:6px;padding:0 16px;font-size:clamp(15px,4vw,20px);font-weight:900;transition:transform .1s;display:inline-flex}.friend-switch:active{transform:translateY(3px)scale(.95)}.toy-segmented{background:var(--surface);box-shadow:0 5px 0 #0000001a, 0 8px 16px var(--shadow);border:3px solid #00000012;border-radius:999px;align-items:center;gap:4px;padding:4px;display:inline-flex}.seg-btn{cursor:pointer;font-family:var(--font);color:var(--ink);white-space:nowrap;background:0 0;border:none;border-radius:999px;align-items:center;gap:4px;padding:6px 12px;font-size:clamp(12px,3.3vw,16px);font-weight:900;transition:background .15s,color .15s,transform .1s;display:inline-flex}.seg-btn:active{transform:scale(.94)}.seg-btn.active{background:var(--accent);color:#fff;box-shadow:0 3px #00000029}.seg-emo{font-size:1.15em;line-height:1}.toy-cam-pill{cursor:pointer;width:50px;height:50px;box-shadow:0 5px 0 #d9480f, 0 8px 16px var(--shadow);background:linear-gradient(160deg,#ffd43b,#ff922b);border:3px solid #d9480f;border-radius:50%;justify-content:center;align-items:center;font-size:24px;line-height:1;transition:transform .1s;display:inline-flex}.toy-cam-pill:active{transform:translateY(3px)scale(.94)}.toy-action-btn{cursor:pointer;font-family:var(--font);color:#fff;background:linear-gradient(160deg, var(--accent), #2b8a3e);box-shadow:0 5px 0 #0000002e, 0 10px 20px var(--shadow);white-space:nowrap;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-size:clamp(15px,4.2vw,20px);font-weight:900;transition:transform .1s;display:inline-flex}.toy-action-btn:active{transform:translateY(3px)scale(.95)}.toy-action-btn[hidden]{display:none}.guide-banner{z-index:10;flex:none;align-items:center;gap:clamp(8px,2vw,14px);width:100%;height:clamp(66px,12vmin,80px);display:flex}.guide-mascot{flex:0 0 clamp(62px,11.5vmin,76px);width:clamp(62px,11.5vmin,76px);height:clamp(62px,11.5vmin,76px)}.guide-bubble{cursor:pointer;min-width:0;height:clamp(60px,11vmin,74px);font-family:var(--font);background:var(--surface);color:var(--ink);text-align:left;border:3px solid #00000014;border-radius:24px;flex:1;align-items:center;gap:10px;padding:6px 14px;transition:transform .12s;display:flex;box-shadow:0 5px #0000001a,0 8px 18px #00000014}.guide-bubble:active,.guide-bubble.pop{animation:.32s pop}.guide-visual{background:var(--accent-soft);border-radius:14px;flex:none;justify-content:center;align-items:center;min-width:44px;height:44px;padding:0 6px;font-size:28px;line-height:1;display:inline-flex;overflow:hidden}.guide-visual[hidden]{display:none}.vis-thumb{object-fit:cover;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;font-size:30px;display:flex}.color-dot{border-radius:50%;width:34px;height:34px;display:inline-block;box-shadow:inset -3px -5px 8px #00000038,0 2px 5px #00000029}.plate-dots{gap:3px;font-size:22px;display:inline-flex}.count-pill{color:var(--accent);white-space:nowrap;padding:0 4px;font-size:clamp(15px,3.8vmin,20px);font-weight:900}.guide-text{text-wrap:balance;word-break:keep-all;overflow-wrap:anywhere;flex:1;min-width:0;max-height:2.5em;font-size:clamp(14px,3.7vmin,19px);font-weight:900;line-height:1.25;overflow:hidden}.msg-chunk{display:inline-block}.guide-audio{opacity:.75;flex:none;font-size:18px}.guide-extra{flex:none}.guide-edit-btn{height:54px;padding:0 12px;font-size:18px}.play-split{flex-direction:column;flex:1;gap:clamp(8px,1.6vh,14px);min-height:0;display:flex}.toy-dock{background:#ffffffb8;border:4px solid #00000012;border-radius:30px;flex-wrap:wrap;flex:none;justify-content:center;align-items:center;gap:clamp(10px,2.6vmin,20px);padding:clamp(10px,2.2vmin,18px);display:flex;box-shadow:0 6px #00000014}html[data-theme=dark] .toy-dock{background:#ffffff0f;border-color:#ffffff1a}.wood-dock{background:linear-gradient(#ffe8cc 0%,#ffd8a8 100%);border:5px solid #ffc078;box-shadow:inset 0 4px 10px #ffffff80,0 7px #e89f54,0 12px 22px #0000001f}html[data-theme=dark] .wood-dock{background:linear-gradient(#3a2b1c 0%,#2b1f14 100%);border-color:#5c4328;box-shadow:0 7px #1c130b}.emoji-visual{user-select:none;justify-content:center;align-items:center;font-family:Noto Color Emoji,Apple Color Emoji,Segoe UI Emoji,sans-serif;line-height:1;display:flex!important}.friend-puppet{cursor:pointer;user-select:none;justify-content:center;align-items:center;width:100%;height:100%;animation:2.8s ease-in-out infinite friendFloat;display:inline-flex}.friend-svg{filter:drop-shadow(0 6px 12px #00000026);width:100%;height:100%;display:block}.friend-puppet.hop .friend-whole{transform-origin:100px 140px;animation:.48s cubic-bezier(.2,1.4,.4,1) friendHop}.friend-puppet.is-chewing .friend-whole{transform-origin:100px 130px;animation:.26s ease-in-out infinite friendChew}.friend-puppet.is-joy .friend-cheek{opacity:.95}.home-layout,.home-toys-col{flex-direction:column;flex:1;gap:clamp(8px,1.6vh,14px);min-height:0;display:flex}.toy-box{flex:1;grid-template-columns:repeat(2,1fr);gap:clamp(8px,2vw,16px);min-height:0;display:grid}.toy-card{cursor:pointer;color:#fff;font-family:var(--font);background:linear-gradient(165deg, var(--c1,#ff8787), var(--c2,#fa5252));box-shadow:0 7px 0 var(--sh-c,#00000038), 0 12px 22px #00000026;border:4px solid #ffffff6b;border-radius:30px;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-height:0;padding:clamp(8px,2vw,18px);transition:transform .1s,box-shadow .1s;display:flex}.toy-card:active{box-shadow:0 2px 0 var(--sh-c,#00000038), 0 6px 12px #00000024;transform:translateY(5px)scale(.97)}.toy-emo{filter:drop-shadow(0 4px 6px #0000002e);font-size:clamp(52px,14vmin,88px);line-height:1}.shelf-row{flex:none;grid-template-columns:repeat(4,1fr);gap:clamp(8px,1.8vw,14px);display:grid}.shelf-btn{cursor:pointer;color:#fff;font-family:var(--font);background:linear-gradient(165deg, var(--c1,#aaa), var(--c2,#777));box-shadow:0 5px 0 var(--sh-c,#0003), 0 8px 16px #0000001f;border:3px solid #ffffff61;border-radius:22px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:clamp(8px,1.4vh,13px) 4px;transition:transform .1s,box-shadow .1s;display:flex}.shelf-btn:active{box-shadow:0 2px 0 var(--sh-c,#0003);transform:translateY(3px)scale(.95)}.shelf-emo{font-size:clamp(28px,7.2vmin,42px);line-height:1}.feed-stage{flex-direction:column;flex:1;justify-content:space-evenly;align-items:center;gap:8px;min-height:0;display:flex}.feed-order{flex:none;width:min(92vw,420px)}.feed-char-wrap{justify-content:center;align-items:center;width:clamp(144px,36vmin,224px);height:clamp(144px,36vmin,224px);display:flex}.food-card{cursor:grab;background:var(--surface);touch-action:none;z-index:4;border:4px solid #00000012;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:clamp(84px,21vmin,130px);height:clamp(84px,21vmin,130px);padding:6px;display:flex;position:relative;box-shadow:0 6px #00000024,0 10px 18px #0000001f}.food-card.dragging{z-index:30;box-shadow:0 18px 32px #00000047}.food-card.eaten{opacity:0;pointer-events:none;transform:scale(.2)}.food-visual{border-radius:50%;justify-content:center;align-items:center;width:70%;height:70%;display:flex;overflow:hidden}.food-visual img{object-fit:cover;width:100%;height:100%}.food-visual .emoji-visual{font-size:clamp(38px,10vmin,62px)}.food-lbl{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;max-width:90%;font-size:clamp(10px,2.6vmin,14px);font-weight:900;overflow:hidden}.peek-stage{border-radius:30px;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;position:relative;overflow:hidden}#pk-bubbles{pointer-events:none;z-index:4;width:100%;height:100%;position:absolute;inset:0}.peek-card{background:var(--surface);z-index:2;border:6px solid #ffffffe6;border-radius:38px;flex-direction:column;justify-content:center;align-items:center;width:min(74vw,52vh,340px);height:min(74vw,52vh,340px);display:flex;position:relative;overflow:hidden;box-shadow:0 10px #0000001f,0 18px 34px #00000029}.peek-card.revealed{border-color:#ffd23f;animation:.45s cubic-bezier(.2,1.3,.4,1) pop;box-shadow:0 10px #e67700,0 20px 38px #ffd23f73}.peek-card.hop{animation:.48s friendHop}.peek-secret{cursor:pointer;border-radius:24px;justify-content:center;align-items:center;width:76%;height:74%;display:flex;overflow:hidden}.peek-secret img{object-fit:cover;border-radius:24px;width:100%;height:100%}.peek-secret .emoji-visual{font-size:clamp(90px,26vmin,160px)}.peek-label{color:var(--accent);white-space:nowrap;margin-top:4px;font-size:clamp(18px,4.8vmin,28px);font-weight:900}#pk-foam{touch-action:none;z-index:3;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.peek-dock{flex:none;justify-content:center;display:flex}.wood-board{background:linear-gradient(#f3d5b5 0%,#e7bc91 100%);border:6px solid #d4a276;border-radius:34px;flex-wrap:wrap;flex:1;justify-content:space-around;align-items:center;gap:clamp(8px,2.2vmin,20px);min-height:0;padding:clamp(12px,2.8vmin,24px);display:flex;box-shadow:inset 0 4px 10px #ffffff73,0 8px #bc8a5f,0 14px 26px #00000029}.wood-board.celebrate{animation:.52s pop}.pz-hole{cursor:pointer;justify-content:center;align-items:center;width:clamp(80px,21vmin,126px);height:clamp(80px,21vmin,126px);display:flex;position:relative}.pz-hole-art,.pz-hole-filled{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.pz-hole-filled{pointer-events:none;position:absolute;inset:0}.pz-hole.filled .pz-hole-filled{animation:.4s cubic-bezier(.2,1.4,.4,1) pop}.pz-hole.glow .pz-hole-art{filter:drop-shadow(0 0 14px #ffd23f);transition:transform .15s;transform:scale(1.1)}.pz-hole.pulse{animation:.4s pop}.pz-svg{width:100%;height:100%;display:block;overflow:visible}.pz-piece{cursor:grab;touch-action:none;filter:drop-shadow(0 6px #0000002e)drop-shadow(0 10px 16px #00000026);background:0 0;border:none;width:clamp(80px,21vmin,122px);height:clamp(80px,21vmin,122px);padding:0}.pz-piece.dragging{z-index:30;filter:drop-shadow(0 16px 24px #00000052)}.pz-piece.placed{opacity:0;pointer-events:none;transform:scale(.2)}.trace-stage{background:#ffffff73;border:4px solid #ffffffa6;border-radius:32px;flex:1;min-height:0;position:relative;overflow:hidden}html[data-theme=dark] .trace-stage{background:#ffffff0a;border-color:#ffffff14}#t-canvas{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.track-board{background:linear-gradient(#d3f9d8 0%,#b2f2bb 100%);border:5px solid #8ce99a;border-radius:32px;flex:1;justify-content:center;align-items:center;min-height:0;padding:clamp(10px,2.4vmin,22px);display:flex;box-shadow:inset 0 4px 12px #ffffff73}html[data-theme=dark] .track-board{background:linear-gradient(#1b3824 0%,#14281a 100%);border-color:#2f6e41}.track-row{justify-content:center;align-items:center;gap:clamp(6px,1.8vmin,14px);width:100%;display:flex}.track-endpoint{background:var(--surface);border:4px solid #00000014;border-radius:22px;justify-content:center;align-items:center;width:clamp(64px,16vmin,96px);height:clamp(64px,16vmin,96px);font-size:clamp(34px,9vmin,52px);display:flex;position:relative;box-shadow:0 5px #0000001f}.tk-runner{z-index:15;transition:transform .46s cubic-bezier(.25,1.1,.4,1);display:inline-block;position:relative}.track-slot{background:#ffffff73;border:3px dashed #2d201459;border-radius:20px;justify-content:center;align-items:center;width:clamp(68px,17vmin,102px);height:clamp(68px,17vmin,102px);transition:transform .16s;display:flex;position:relative}.track-slot.glow,.code-slot.glow{border-color:#ffd23f;transform:scale(1.08);box-shadow:0 0 18px #ffd23fd9}.track-slot-ghost{opacity:.28;width:90%;height:90%}.track-slot-fill{position:absolute;inset:2px}.track-slot.filled{background:var(--surface);border-style:solid;border-color:#37b24d;animation:.36s pop}.track-slot.active-step,.track-endpoint.active-step,.code-slot.active-step{outline:5px solid #ffd23f;transform:scale(1.1);box-shadow:0 0 22px #ffd23fe6}.code-tile-svg{width:100%;height:100%;display:block}.track-piece{background:var(--surface);cursor:grab;touch-action:none;border:none;border-radius:22px;flex-direction:column;align-items:center;gap:2px;width:clamp(82px,20vmin,114px);padding:6px;display:flex;box-shadow:0 5px #00000024,0 10px 18px #0000001a}.track-piece.dragging{z-index:30;box-shadow:0 16px 28px #00000047}.track-piece.placed{opacity:0;pointer-events:none;transform:scale(.2)}.track-piece-lbl{color:var(--ink);white-space:nowrap;font-size:clamp(10px,2.5vmin,13px);font-weight:900}.dance-stage{flex-direction:column;flex:1;justify-content:space-evenly;align-items:center;gap:8px;min-height:0;display:flex}.dance-actor-wrap{justify-content:center;align-items:center;width:clamp(128px,31vmin,188px);height:clamp(128px,31vmin,188px);display:flex;position:relative}.dance-actor-wrap.act-jump{animation:.65s cubic-bezier(.2,1.4,.4,1) danceJump}.dance-actor-wrap.act-spin{animation:.65s cubic-bezier(.3,1.1,.4,1) danceSpin}.dance-actor-wrap.act-dance{animation:.65s ease-in-out danceWiggle}.dance-prop{opacity:0;pointer-events:none;font-size:clamp(36px,9vmin,52px);transition:opacity .2s,transform .2s;position:absolute;bottom:18%;right:-6%;transform:scale(.3)}.dance-prop.show{opacity:1;transform:scale(1.1)}.code-seq-bar{background:var(--surface);box-shadow:var(--sh);border:4px solid #00000012;border-radius:28px;flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(8px,2vmin,14px);padding:clamp(8px,2vmin,14px) clamp(12px,2.6vmin,20px);display:flex}.code-slots{align-items:center;gap:6px;display:flex}.code-arrow{color:var(--muted);font-size:16px;font-weight:900}.code-slot{background:var(--tabs-bg);cursor:pointer;border:3px dashed #adb5bd;border-radius:20px;flex-direction:column;justify-content:center;align-items:center;width:clamp(64px,16vmin,88px);height:clamp(64px,16vmin,88px);padding:4px;transition:transform .15s;display:flex;position:relative}.code-slot-num{color:var(--muted);font-size:11px;font-weight:900;position:absolute;top:4px;left:6px}.code-slot-hint{opacity:.25;font-size:clamp(24px,6vmin,34px)}.code-slot-fill{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.code-slot.filled{border-style:solid;border-color:var(--accent);background:var(--accent-soft);animation:.34s pop}.code-slot.filled .code-slot-hint{opacity:0}.slot-cmd-emo{font-size:clamp(26px,6.8vmin,36px);line-height:1}.slot-cmd-lbl{color:var(--ink);white-space:nowrap;font-size:clamp(10px,2.4vmin,12px);font-weight:900}.cmd-btn{border:3px solid var(--cmd-c,var(--accent));background:var(--surface);cursor:grab;touch-action:none;border-radius:22px;flex-direction:column;align-items:center;gap:2px;min-width:clamp(66px,16vmin,92px);padding:8px 12px;transition:transform .1s;display:flex;box-shadow:0 5px #00000024,0 8px 16px #0000001a}.cmd-btn.dragging{z-index:30;box-shadow:0 16px 28px #00000047}.cmd-btn:active{transform:translateY(3px)scale(.94)}.cmd-emo{font-size:clamp(26px,6.8vmin,36px);line-height:1}.cmd-lbl{color:var(--ink);white-space:nowrap;font-size:clamp(11px,2.6vmin,13px);font-weight:900}@keyframes danceJump{0%,to{transform:translateY(0)scale(1)}45%{transform:translateY(-34px)scale(1.12,.92)}}@keyframes danceSpin{0%{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(1.12)}to{transform:rotate(360deg)scale(1)}}@keyframes danceWiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-16deg)translateY(-6px)}75%{transform:rotate(16deg)translateY(-6px)}}canvas#paint{touch-action:none;z-index:2;display:block;position:fixed;inset:0}canvas#glow{z-index:1;pointer-events:none;filter:blur(10px)saturate(1.5);opacity:.7;mix-blend-mode:screen;display:block;position:fixed;inset:0}.draw-topbar,.camera-topbar{z-index:12;position:relative}.draw-spacer{pointer-events:none;flex:1}.draw-palette{z-index:12;background:var(--pill);border-radius:28px;flex-wrap:wrap;justify-content:center;align-self:center;align-items:center;gap:clamp(6px,1.8vw,12px);max-width:min(96vw,620px);padding:8px 12px;display:flex;position:relative}.palette-btn{cursor:pointer;background:var(--surface);border:2px solid #0000000f;border-radius:50%;flex:none;justify-content:center;align-items:center;width:clamp(46px,11vmin,56px);height:clamp(46px,11vmin,56px);transition:transform .14s,background .14s,box-shadow .14s;display:flex;box-shadow:0 3px #0000001a}.palette-btn.active{background:var(--accent-soft);border-color:var(--accent);transform:translateY(-4px)scale(1.14);box-shadow:0 5px #00000029}.palette-emo{font-size:clamp(24px,5.8vmin,32px);line-height:1}.count-main{flex-direction:column;flex:1;min-height:0;display:flex}.hv-field-card{border:4px solid #ffffffa6;border-radius:30px;flex:1;min-height:0;position:relative;overflow:hidden;box-shadow:inset 0 2px 10px #ffffff59}.hv-tree{background:linear-gradient(#d3f9d8 0%,#b2f2bb 65%,#8ce99a 100%)}.hv-meadow{background:linear-gradient(#fff9db 0%,#d8f5a2 70%,#a9e34b 100%)}.hv-sky{background:linear-gradient(#d0ebff 0%,#e7f5ff 70%,#fff 100%)}.hv-pond{background:linear-gradient(#c5f6fa 0%,#99e9f2 65%,#66d9e8 100%)}.hv-night{background:linear-gradient(#1b2845 0%,#274060 70%,#335c81 100%)}.hv-item{cursor:pointer;background:#fffffff0;border:4px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:clamp(70px,18vmin,106px);height:clamp(70px,18vmin,106px);transition:transform .24s,opacity .24s;animation:2.4s ease-in-out infinite friendFloat;display:flex;position:absolute;transform:translate(-50%,-50%);box-shadow:0 6px #00000026,0 10px 20px #0000001f}.hv-item:active{transform:translate(-50%,-50%)scale(.9)}.hv-item.collected{opacity:0;pointer-events:none;transform:translate(-50%,50px)scale(.25)}.hv-item-emo{font-size:clamp(38px,10vmin,60px);line-height:1}.hv-dock{flex-direction:column;gap:10px}.hv-slots{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(6px,1.8vmin,12px);display:flex}.hv-slot{background:#3c281426;border:3px dashed #3c281452;border-radius:50%;justify-content:center;align-items:center;width:clamp(46px,11.5vmin,64px);height:clamp(46px,11.5vmin,64px);display:flex;position:relative}.hv-slot.filled{background:#fff;border-style:solid;border-color:#37b24d;animation:.38s cubic-bezier(.2,1.4,.4,1) pop}.hv-slot-num{color:#3c28147a;font-size:clamp(15px,4vmin,20px);font-weight:900}.hv-slot-emo{font-size:clamp(24px,6.5vmin,36px);line-height:1}.hv-slot-badge{color:#fff;background:#37b24d;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:900;display:flex;position:absolute;top:-6px;right:-6px}.plate-stage{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.serving-plate{background:#fff;border:8px solid #dee2e6;border-radius:999px;width:min(92vw,440px);padding:clamp(14px,3.4vmin,26px);box-shadow:inset 0 4px 12px #00000014,0 10px #ced4da,0 16px 28px #00000024}.serving-plate.served{border-color:#ffd23f;animation:.5s pop}.plate-spots{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(8px,2.4vmin,18px);display:flex}.plate-spot{background:#f8f9fa;border:3px dashed #adb5bd;border-radius:50%;justify-content:center;align-items:center;width:clamp(60px,15.5vmin,86px);height:clamp(60px,15.5vmin,86px);display:flex;position:relative}.plate-spot.filled{background:#ebfbee;border-style:solid;border-color:#37b24d;animation:.38s cubic-bezier(.2,1.4,.4,1) pop}.spot-num{color:#adb5bd;font-size:clamp(18px,5vmin,26px);font-weight:900}.spot-emo{font-size:clamp(34px,9.5vmin,50px);line-height:1}.bakery-item{background:var(--surface);cursor:grab;touch-action:none;border:3px solid #00000012;border-radius:22px;justify-content:center;align-items:center;width:clamp(64px,16vmin,90px);height:clamp(64px,16vmin,90px);display:flex;box-shadow:0 5px #00000024,0 8px 14px #0000001a}.bakery-item.dragging{z-index:30;box-shadow:0 16px 28px #00000047}.bakery-item.taken{opacity:.18;pointer-events:none;transform:scale(.75)}.bakery-emo{font-size:clamp(34px,9vmin,50px);line-height:1}.seesaw-stage{flex-direction:column;flex:1;justify-content:center;align-items:center;width:100%;min-height:0;padding:8px;display:flex}.seesaw-beam{width:min(92vw,620px);transform:rotate(var(--tilt,0deg));border-bottom:14px solid #d4a276;border-radius:8px;justify-content:space-between;align-items:flex-end;gap:clamp(12px,3vw,24px);padding-bottom:14px;transition:transform .45s cubic-bezier(.2,1.3,.4,1);display:flex}.seesaw-fulcrum{margin-top:-6px;font-size:clamp(42px,10.5vmin,62px);line-height:.8}.ss-side{cursor:pointer;background:var(--surface);box-shadow:var(--sh);border:4px solid #0000000f;border-radius:28px;flex-direction:column;flex:1;align-items:center;gap:8px;padding:clamp(10px,2.4vmin,18px);transition:transform .12s;display:flex;position:relative}.ss-side:active{transform:scale(.95)}.ss-side.correct{outline:6px solid #37b24d;animation:.5s pop}.ss-side.pulse,.opt.pulse{animation:.38s shake}.ss-side.hint-glow,.opt.hint-glow{outline:6px solid #ffd23f;animation:.7s infinite friendHop;box-shadow:0 0 24px #ffd23fd9}.ss-char{font-size:clamp(30px,8vmin,48px);line-height:1}.ss-plate{background:var(--accent-soft);border-radius:20px;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;width:100%;min-height:clamp(78px,17vmin,130px);padding:8px;display:flex}.ss-treat{font-size:clamp(26px,7vmin,42px);line-height:1}.ss-count-badge{color:#fff;background:#37b24d;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:20px;font-weight:900;display:flex;position:absolute;top:-12px;right:-10px;box-shadow:0 4px 10px #0003}.ss-count-badge[hidden]{display:none}.cat-row{-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x;flex-wrap:nowrap;flex:none;gap:8px;padding:2px;display:flex;overflow-x:auto}.cat-row::-webkit-scrollbar{display:none}.chip{cursor:pointer;white-space:nowrap;font-family:var(--font);color:var(--ink);background:var(--surface);border:none;border-radius:999px;flex:none;justify-content:center;align-items:center;min-height:40px;padding:8px 16px;font-size:clamp(13px,3.8vw,16px);font-weight:900;transition:background .15s,color .15s,transform .1s;display:inline-flex;box-shadow:0 3px #00000014}.chip:active{transform:scale(.94)}.chip.active{background:var(--accent);color:#fff}.zukan-body{flex-direction:column;flex:1;min-height:0;display:flex}.word-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;padding:4px 2px 12px;overflow-y:auto}.word-section{margin:0 0 14px}.word-section-title{z-index:2;color:var(--accent);background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(8px);border-radius:12px;align-items:baseline;gap:8px;margin:0 0 8px;padding:5px 8px;font-size:clamp(14px,4vw,18px);font-weight:900;display:flex;position:sticky;top:0}.wst-count{color:var(--muted);font-size:.75em;font-weight:800}.word-grid{grid-template-columns:repeat(auto-fill,minmax(clamp(96px,28vw,148px),1fr));gap:clamp(8px,2.2vw,14px);display:grid}.wcard{cursor:pointer;background:var(--surface);border-radius:var(--r-sm);border:none;flex-direction:column;padding:0;transition:transform .1s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px #0000001a,0 8px 14px #00000012}.wcard:active{transform:scale(.94)}.wcard.pop{animation:.35s pop}.wcard-img{aspect-ratio:1;object-fit:cover;background:var(--accent-soft);justify-content:center;align-items:center;width:100%;display:flex}.wcard .emoji-visual{font-size:clamp(44px,13vw,72px)}.wcard-name{text-align:center;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;padding:6px 4px 8px;font-size:clamp(12px,3.5vw,16px);font-weight:900;overflow:hidden}.quiz-stage{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.opts{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(10px,3vw,22px);max-width:96vw;display:flex}.opt{cursor:pointer;background:var(--surface);width:clamp(100px,28vmin,180px);height:clamp(100px,28vmin,180px);box-shadow:var(--sh);border:none;border-radius:26px;flex-direction:column;align-items:center;padding:0;transition:transform .12s;display:flex;overflow:hidden}.opts[data-n="2"] .opt{width:clamp(126px,38vmin,230px);height:clamp(126px,38vmin,230px)}.opts[data-n="3"] .opt{width:clamp(110px,32vmin,200px);height:clamp(110px,32vmin,200px)}.opt img{object-fit:cover;flex:1;width:100%;min-height:0;display:block}.opt .emoji-visual{background:var(--accent-soft);flex:1;width:100%;min-height:0;font-size:clamp(52px,16vmin,108px)}.opt-label{color:var(--ink);white-space:nowrap;padding:4px 6px 8px;font-size:clamp(13px,3.8vmin,20px);font-weight:900}.opt.correct{outline:6px solid #37b24d;animation:.5s pop}.word-sheet{z-index:55;-webkit-backdrop-filter:blur(7px);background:#14121c7a;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.ws-panel{background:var(--surface);width:min(92vw,440px);max-height:90vh;box-shadow:var(--sh);border-radius:32px;flex-direction:column;align-items:center;gap:10px;padding:18px;display:flex;position:relative;overflow-y:auto}.ws-close{cursor:pointer;background:var(--tabs-bg);width:42px;height:42px;color:var(--ink);border:none;border-radius:50%;font-size:20px;position:absolute;top:10px;right:10px}.ws-visual{cursor:pointer;aspect-ratio:1;background:var(--accent-soft);border:none;border-radius:24px;justify-content:center;align-items:center;width:100%;max-height:38vh;display:flex;overflow:hidden}.ws-visual.pop{animation:.35s pop}.ws-img{object-fit:contain;width:100%;height:100%;display:block}.ws-img.emoji-visual{font-size:clamp(90px,34vmin,170px)}.ws-word{color:var(--accent);font-size:clamp(26px,8vmin,44px);font-weight:900}.ws-photos{align-items:center;gap:8px;max-width:100%;padding:2px;display:flex;overflow-x:auto}.ws-thumb{cursor:pointer;background:var(--tabs-bg);border:none;border-radius:12px;flex:none;width:44px;height:44px;padding:0;overflow:hidden}.ws-thumb.active{box-shadow:0 0 0 3px var(--accent)}.ws-thumb img{object-fit:cover;width:100%;height:100%}.ws-add,.ws-del{cursor:pointer;border:none;border-radius:50%;flex:none;width:44px;height:44px;font-size:20px;font-weight:900}.ws-add{background:var(--accent);color:#fff}.ws-del{color:#ff4d4d;background:#ff4d4d26}.ws-del.armed{color:#fff;background:#ff4d4d}.ws-actions{align-items:center;gap:16px;display:flex}.ws-nav{cursor:pointer;background:var(--tabs-bg);width:52px;height:52px;color:var(--ink);border:none;border-radius:50%;font-size:20px;font-weight:900}.ws-mic{cursor:pointer;font-family:var(--font);color:#fff;background:#ff7eb9;border:none;border-radius:999px;padding:12px 20px;font-size:16px;font-weight:900;box-shadow:0 4px #00000029}.ws-mic.rec{background:#ff4d4d;animation:.8s infinite pulse}.camera-screen{position:relative;overflow:hidden}.camera-screen video,.camera-screen canvas#cam-canvas{width:100%;height:100%;display:block;position:fixed;inset:0}.camera-screen video{object-fit:cover;z-index:1;transform:scaleX(-1)}.camera-screen canvas#cam-canvas{z-index:2}.camera-flash{z-index:20;pointer-events:none;opacity:0;background:#fff;transition:opacity .22s;position:fixed;inset:0}.camera-flash.on{opacity:.92;transition:none}.camera-dock{z-index:12;flex-direction:column;align-items:center;gap:8px;display:flex;position:relative}.costume-row{-webkit-backdrop-filter:blur(10px);background:#141420ad;border-radius:26px;flex-wrap:wrap;justify-content:center;gap:6px;max-width:96vw;padding:8px 12px;display:flex}.costume-btn{cursor:pointer;font-family:var(--font);color:#fff;white-space:nowrap;background:0 0;border:none;border-radius:999px;flex:none;align-items:center;gap:5px;padding:6px 12px;display:flex}.costume-btn.active{color:#2f2a3a;background:#ffd23f;transform:scale(1.06)}.costume-emo{font-size:clamp(20px,5vmin,26px);line-height:1}.costume-lbl{font-size:clamp(12px,3vmin,15px);font-weight:900}.shutter-btn{cursor:pointer;font-family:var(--font);color:#fff;background:radial-gradient(circle at 35% 30%,#ff8787,#fa5252 65%,#c92a2a);border:4px solid #fff;border-radius:999px;align-items:center;gap:8px;padding:10px 26px;display:inline-flex;box-shadow:0 6px #00000047,0 12px 24px #00000059}.shutter-btn:active{transform:translateY(3px)scale(.94)}.shutter-emo{font-size:26px}.shutter-lbl{font-size:18px;font-weight:900}.gallery-grid{flex:1;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-content:start;gap:12px;min-height:0;padding:6px 2px;display:grid;overflow-y:auto}.g-empty{text-align:center;color:var(--muted);grid-column:1/-1;padding:32px;font-weight:800}.thumb-wrap{position:relative}.thumb{background:var(--surface);border-radius:var(--r-sm);cursor:pointer;aspect-ratio:3/4;width:100%;box-shadow:0 4px 12px var(--shadow);border:none;padding:0;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%;display:block}.del{z-index:3;cursor:pointer;color:#fff;background:#14141eb8;border:none;border-radius:50%;width:34px;height:34px;font-size:16px;position:absolute;top:6px;right:6px}.viewer{z-index:45;background:#14141eeb;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.viewer[hidden]{display:none}.viewer img{border-radius:16px;max-width:94vw;max-height:90vh}.viewer-close{top:calc(env(safe-area-inset-top) + 12px);position:fixed;right:12px}.overlay{z-index:60;background:#14121c99;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);color:var(--ink);width:100%;max-height:82vh;padding:18px 18px calc(env(safe-area-inset-bottom) + 18px);border-radius:26px 26px 0 0;overflow-y:auto}.sheet h3{margin:0 0 10px;font-size:20px}.sheet-sub{color:var(--muted);margin:0 0 8px;font-size:13px;font-weight:700}.sheet-note{min-height:1.3em;color:var(--accent);margin:10px 2px 0;font-weight:800}.sheet-actions{gap:12px;margin-top:14px;display:flex}.danger{color:#fff;background:#ff4d4d}.admin,.pa{z-index:62;background:var(--bg);padding:calc(env(safe-area-inset-top) + 10px) 12px calc(env(safe-area-inset-bottom) + 10px);flex-direction:column;gap:10px;display:flex;position:fixed;inset:0}.admin-tabs{background:var(--tabs-bg);border-radius:999px;gap:6px;padding:4px;display:flex}.admin-tabs .tab{cursor:pointer;font-family:var(--font);color:var(--ink);background:0 0;border:none;border-radius:999px;flex:1;padding:9px 4px;font-size:14px;font-weight:900}.admin-tabs .tab.active{background:var(--accent);color:#fff}.admin-body,.pa-body{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex;overflow-y:auto}.admin-sub{color:var(--accent);margin:6px 0 0;font-size:14px;font-weight:900}.admin-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.admin-list li{border-radius:var(--r-sm);background:var(--surface);box-shadow:0 2px 8px var(--shadow);justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-size:15px;font-weight:800;display:flex}.admin-list li small,.admin-size,.admin-hint{color:var(--muted);font-size:12px;font-weight:700}.admin-row{gap:8px;display:flex}.admin-row .pill{flex:1;font-size:16px}.admin-note{text-align:center;min-height:20px;color:var(--accent);font-size:14px;font-weight:800}.lv-ctl,.cw-acts{align-items:center;gap:6px;display:flex}.lv-btn,.lv-reset,.cw-edit,.cw-del{cursor:pointer;background:var(--tabs-bg);width:38px;height:38px;color:var(--ink);border:none;border-radius:50%;font-weight:900}.lv-reset.armed,.cw-del.armed{color:#fff;background:#ff4d4d}.addword{flex-direction:column;gap:12px;display:flex}.aw-photo{aspect-ratio:1;cursor:pointer;background:var(--tabs-bg);width:100%;max-height:32vh;color:var(--muted);border:none;border-radius:22px;justify-content:center;align-items:center;display:flex;overflow:hidden}.aw-photo-img{object-fit:cover;width:100%;height:100%}.aw-photo-img[hidden]{display:none}.aw-photo-empty{text-align:center;font-size:38px}.aw-photo-empty b{margin-top:6px;font-size:14px;display:block}.aw-field{flex-direction:column;gap:6px;display:flex}.aw-label,.aw-limit{color:var(--muted);font-size:13px;font-weight:800}.aw-field input{color:var(--ink);background:var(--tabs-bg);border:none;border-radius:14px;padding:10px 14px;font-size:18px;font-weight:800}.aw-cats,.aw-voice{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.crop-stage{touch-action:none;background:#000;border-radius:20px;margin:0 auto;position:relative;overflow:hidden}.crop-img{transform-origin:0 0;position:absolute;top:0;left:0}.crop-zoom{color:var(--muted);align-items:center;gap:10px;font-size:13px;font-weight:800;display:flex}.crop-zoom input[type=range]{accent-color:var(--accent);flex:1}.pa-choices{flex-direction:column;gap:12px;margin:auto 0;display:flex}.pa-big{border-radius:var(--r);cursor:pointer;font-family:var(--font);color:#3a2a00;box-shadow:var(--sh);background:radial-gradient(circle at 40% 25%,#ffe9a8,#ffb020 62%,#ff7a00);border:none;flex-direction:column;align-items:center;gap:6px;padding:24px 16px;display:flex}.pa-big.ghost{background:var(--surface);color:var(--ink)}.pa-big-emo{font-size:56px}.pa-big-txt{font-size:18px;font-weight:900}.pa-preview{aspect-ratio:1;border-radius:var(--r-sm);width:min(44vw,220px);box-shadow:var(--sh);align-self:center;overflow:hidden}.pa-preview img{object-fit:cover;width:100%;height:100%}.pa-grid{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;display:grid}.pa-card{aspect-ratio:1;cursor:pointer;border-radius:var(--r-sm);background:var(--surface);box-shadow:0 4px 10px var(--shadow);border:none;justify-content:center;align-items:center;padding:0;display:flex;overflow:hidden}.pa-card-pic{justify-content:center;align-items:center;width:100%;height:100%;display:flex}.pa-card-pic img{object-fit:cover;width:100%;height:100%}.pa-card-emo{font-size:34px}.pa-wait{color:var(--muted);margin:auto;font-weight:800}.hint{z-index:80;color:#fff;font:800 13px/1.2 var(--font);white-space:nowrap;pointer-events:none;opacity:0;background:#28283ceb;border-radius:999px;padding:7px 12px;transition:opacity .18s,transform .18s;position:fixed;transform:translate(-50%,-4px)}.hint.show{opacity:1;transform:translate(-50%)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}@keyframes friendFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes friendHop{0%{transform:scale(1)translateY(0)}30%{transform:scale(1.12,.88)translateY(5px)}65%{transform:scale(.94,1.12)translateY(-14px)}to{transform:scale(1)translateY(0)}}@keyframes friendChew{0%,to{transform:scale(1.06,.94)}50%{transform:scale(.95,1.06)}}@media (orientation:landscape){.toy-box{grid-template-columns:repeat(3,1fr)}.play-split{flex-direction:row;align-items:stretch}.feed-stage,.wood-board,.track-board,.dance-stage,.hv-field-card,.plate-stage{flex:1.15}.play-split>.toy-dock{flex:.9;align-content:center}}
