@font-face{font-family:"Press Start 2P";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/press-start-2p-latin-400-normal-_wFEWmAB.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Itim;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/itim-thai-400-normal-DKy7VkUm.woff2)format("woff2");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Itim;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/itim-latin-400-normal-BIupJmNi.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#fdf6f0;--color-surface:#fff;--color-surface-alt:#fdf6f0;--color-text:#4a4458;--color-text-light:#766f83;--color-border:#2e2b3a;--color-overlay:#2e2b3a80;--color-primary:#ff8fab;--color-primary-dark:#e85d75;--color-secondary:#a8ddc8;--color-secondary-dark:#6fc2a4;--color-accent:#ffd972;--color-accent-dark:#c98a0e;--color-streak:#ffe2d4;--color-danger:#ff6b6b;--color-danger-dark:#d94d4d;--color-success:#6bcb77;--color-success-dark:#3d9a49;--color-on-strong:#fff;--color-on-pastel:#3b3548;--color-grass:#d4f0c4;--color-grass-dark:#a9d98f;--color-soil:#b07a52;--color-soil-dark:#8a5a3a;--color-soil-dry:#e2c49c;--color-soil-dry-dark:#c9a77c;--color-sky:#e6f5ff;--color-sky-dry:#fff4e0;--color-water-panel:#e6f5ff;--color-pet-sky:#fff0f5;--color-pet-floor:#ffd9e4;--color-room-wall:#fdeee0;--color-room-wall-trim:#e9c9a8;--color-room-floor:#e8c79f;--color-room-floor-alt:#dcb88d;--color-room-valid:#6bcb7773;--color-room-invalid:#ff6b6b73;--color-rarity-common:#dcd6e6;--color-rarity-rare:#8fc9ff;--color-rarity-epic:#c9b6ff;--color-rarity-legendary:#ffd972;--color-card-shine:#ffffff73;--color-dungeon-sky:#ece6f8;--color-dungeon-floor:#cfc4e6;--icon-ink:var(--color-border);--icon-off-ink:#8f88a0;--icon-off-hi:#fff;--icon-off-mid:#e4dfec;--icon-off-lo:#c7c0d3;--font-pixel:"Press Start 2P", "Itim", sans-serif;--font-thai:"Itim", sans-serif;--text-pixel-sm:16px;--text-pixel-md:24px;--text-pixel-lg:32px;--text-pixel-xl:40px;--shadow-pixel-sm:2px 2px 0 var(--color-border);--shadow-pixel:4px 4px 0 var(--color-border);--shadow-pixel-lg:6px 6px 0 var(--color-border);--nav-height:64px;--rail-width:88px;--sidebar-width:232px;--aside-width:300px;--main-pad-x:1rem;--main-pad-y:1rem;--nav-inline:0px;--bottom-chrome:calc(var(--nav-height) + env(safe-area-inset-bottom));--hinge-start:50vw;--hinge-end:50vw;--hinge-top:50dvh;--hinge-bottom:50dvh}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#1c1829;--color-surface:#2a2440;--color-surface-alt:#221d33;--color-text:#ede9f6;--color-text-light:#b3abc6;--color-border:#0c0a13;--color-overlay:#08060eb8;--color-primary-dark:#ff9fb6;--color-accent-dark:#ffd972;--color-danger-dark:#ff9a9a;--color-success-dark:#8ee39a;--color-grass:#2d4733;--color-grass-dark:#46714d;--color-soil:#8f603f;--color-soil-dark:#6b4529;--color-soil-dry:#b38d63;--color-soil-dry-dark:#8f6f4b;--color-sky:#24304d;--color-sky-dry:#3a3150;--color-water-panel:#213148;--color-pet-sky:#2f2742;--color-pet-floor:#4a3653;--color-room-wall:#352c48;--color-room-wall-trim:#4d3f63;--color-room-floor:#6b5040;--color-room-floor-alt:#5e4637;--color-dungeon-sky:#2b2440;--color-dungeon-floor:#3e3358;--icon-off-ink:#9d95b5;--icon-off-hi:#5a5175;--icon-off-mid:#463e5e;--icon-off-lo:#382f4f}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-bg:#1c1829;--color-surface:#2a2440;--color-surface-alt:#221d33;--color-text:#ede9f6;--color-text-light:#b3abc6;--color-border:#0c0a13;--color-overlay:#08060eb8;--color-primary-dark:#ff9fb6;--color-accent-dark:#ffd972;--color-danger-dark:#ff9a9a;--color-success-dark:#8ee39a;--color-grass:#2d4733;--color-grass-dark:#46714d;--color-soil:#8f603f;--color-soil-dark:#6b4529;--color-soil-dry:#b38d63;--color-soil-dry-dark:#8f6f4b;--color-sky:#24304d;--color-sky-dry:#3a3150;--color-water-panel:#213148;--color-pet-sky:#2f2742;--color-pet-floor:#4a3653;--color-room-wall:#352c48;--color-room-wall-trim:#4d3f63;--color-room-floor:#6b5040;--color-room-floor-alt:#5e4637;--color-dungeon-sky:#2b2440;--color-dungeon-floor:#3e3358;--icon-off-ink:#9d95b5;--icon-off-hi:#5a5175;--icon-off-mid:#463e5e;--icon-off-lo:#382f4f}@media (width>=600px),(orientation:landscape) and (height<=499.98px){:root{--bottom-chrome:env(safe-area-inset-bottom);--main-pad-x:1.5rem;--main-pad-y:1.25rem;--nav-inline:calc(var(--rail-width) + env(safe-area-inset-left))}}@media (width>=1200px){:root{--main-pad-x:2rem;--main-pad-y:1.5rem;--nav-inline:var(--sidebar-width)}}@media (horizontal-viewport-segments:2){:root{--hinge-start:env(viewport-segment-right 0 0,50vw);--hinge-end:env(viewport-segment-left 1 0,50vw)}}@media (vertical-viewport-segments:2){:root{--hinge-top:env(viewport-segment-bottom 0 0,50dvh);--hinge-bottom:env(viewport-segment-top 0 1,50dvh)}}img,svg,canvas{image-rendering:pixelated;image-rendering:-moz-crisp-edges;image-rendering:crisp-edges}*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:var(--color-bg);min-height:100dvh;color:var(--color-text);font-family:var(--font-thai);-webkit-tap-highlight-color:transparent;overscroll-behavior-y:none;margin:0}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}h1,h2,h3,p{margin:0}:focus-visible{outline:3px solid var(--color-primary-dark);outline-offset:2px}@media (pointer:coarse){button,select,input:not([type=checkbox],[type=radio]),[role=tab]{min-height:44px}}.pixel-sprite{flex-shrink:0;display:block}.pixel-icon{vertical-align:middle;display:inline-block}.pixel-sprite-fit{justify-content:center;align-items:flex-end;width:100%;min-width:0;height:100%;min-height:0;display:flex}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.kbd-hint{min-width:1.5em;font-family:var(--font-thai);text-align:center;opacity:.7;border:2px solid;border-radius:3px;padding:0 .3em;font-size:.75rem;line-height:1.4;display:none}@media (hover:hover) and (pointer:fine){.kbd-hint{display:inline-block}}@media (width>=600px),(orientation:landscape) and (height<=499.98px){.only-bottom-nav{display:none!important}}@media (width<=599.98px) and (orientation:portrait),(width<=599.98px) and (height>=500px){.hide-bottom-nav{display:none!important}}.thumb-action{gap:.5rem;display:flex}.thumb-action>*{flex:1}@media (width<=599.98px) and (orientation:portrait),(width<=599.98px) and (height>=500px){.thumb-action{bottom:calc(var(--bottom-chrome) + .75rem);z-index:5;position:sticky}}.session-screen{flex-direction:column;gap:.85rem;display:flex}@media (width<=599.98px) and (orientation:portrait),(width<=599.98px) and (height>=500px){.session-screen{min-height:calc(100dvh - var(--bottom-chrome) - 1.5rem - var(--main-pad-y) - env(safe-area-inset-top))}.session-screen .question-card{flex:1 0 auto}}:root[data-keyboard-open] .session-screen{min-height:0}.session-screen__topbar{justify-content:space-between;align-items:center;gap:.5rem;min-height:44px;display:flex}.session-screen__progress{color:var(--color-text-light);font-size:.9rem}.session-screen__finish{color:var(--color-text-light);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.4rem;padding:.4rem .6rem;font-size:.9rem;text-decoration:underline;display:inline-flex}@media (hover:hover) and (pointer:fine){.session-screen__finish:hover{background:var(--color-surface-alt);color:var(--color-text)}}.split{gap:var(--split-gap,1rem);grid-template-columns:minmax(0,1fr);align-items:start;display:grid}@container main (width>=760px){.split{grid-template-columns:var(--split-columns,minmax(0, 1fr) minmax(0, 1fr))}}@media (orientation:landscape) and (height<=499.98px){.split{grid-template-columns:var(--split-columns,minmax(0, 1fr) minmax(0, 1fr))}}@media (horizontal-viewport-segments:2){.split{grid-template-columns:calc(var(--hinge-start) - var(--nav-inline) - var(--main-pad-x)) calc(var(--hinge-end) - var(--hinge-start)) minmax(0, 1fr);gap:0}.split>:nth-child(2){grid-column:3}}.skip-link{z-index:100;background:var(--color-surface);border:3px solid var(--color-border);border-radius:4px;padding:.6rem 1rem;position:absolute;top:-100px;left:.5rem}.skip-link:focus{top:.5rem}.install-external-link{min-height:44px;color:var(--color-primary-dark);align-items:center;font-weight:700;text-decoration:underline;display:inline-flex}.coins{vertical-align:middle;align-items:center;gap:2px;display:inline-flex}@keyframes pv-pop{0%{transform:scale(.9)}60%{transform:scale(1.08)}to{transform:scale(1)}}@keyframes pv-shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes pv-rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pv-float-in{0%{opacity:0;transform:translateY(8px)scale(.9)}60%{opacity:1;transform:translateY(-2px)scale(1.04)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes pv-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes pv-grow{0%{transform:scale(.6)}60%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes pv-sway{0%,to{transform:rotate(0)}50%{transform:rotate(-4deg)}}@keyframes pv-drop-fall{0%{opacity:0;transform:translateY(-24px)}25%{opacity:1}to{opacity:0;transform:translateY(32px)}}@keyframes pv-heart-float{0%{opacity:0;transform:translateY(0)scale(.6)}20%{opacity:1}to{opacity:0;transform:translateY(-48px)scale(1)}}@keyframes pv-munch{0%,to{transform:scale(1)}25%{transform:scale(1.06,.94)}50%{transform:scale(.97,1.03)}75%{transform:scale(1.04,.96)}}@keyframes pv-card-flip{0%{transform:perspective(600px)rotateY(90deg)}to{transform:perspective(600px)rotateY(0)}}@keyframes pv-shimmer{0%{background-position:160% 0}60%,to{background-position:-60% 0}}@keyframes pv-lunge{0%,to{transform:translate(0)}40%{transform:translateX(var(--lunge-x,24px))}}@keyframes pv-defeat{0%{opacity:1;filter:brightness();transform:scale(1)}30%{filter:brightness(2.2)}to{opacity:0;filter:brightness(2.2);transform:scale(.4)translateY(30%)}}@keyframes pv-flee{0%,45%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(120%)}}@keyframes pv-burst{0%{opacity:1;scale:1}40%{opacity:1;scale:1.15}to{opacity:0;scale:1.4}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}.nav-bar{z-index:20;height:calc(var(--nav-height) + env(safe-area-inset-bottom));padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--color-surface);border-top:3px solid var(--color-border);position:fixed;bottom:0;left:0;right:0}.nav-bar__brand,.nav-bar__modes,.nav-bar__tools{display:none}.nav-bar__items{max-width:600px;height:100%;margin:0 auto;display:flex}.nav-bar__items li{flex:1}.nav-bar__item{height:100%;color:var(--color-text-light);flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:.8rem;display:flex}.nav-bar__item--active{color:var(--color-primary-dark);font-weight:700}.nav-bar__icon{border-radius:17px;place-items:center;width:52px;height:34px;transition:background-color .15s;display:grid}.nav-bar__item--active .nav-bar__icon{background:var(--color-streak)}.nav-bar__item--active .nav-bar__icon svg{transform:translateY(-1px)}.nav-bar__kbd{display:none!important}:root[data-keyboard-open] .nav-bar{display:none}@media (width>=600px),(orientation:landscape) and (height<=499.98px){.nav-bar{height:100dvh;width:calc(var(--rail-width) + env(safe-area-inset-left));padding:calc(.75rem + env(safe-area-inset-top)) 0 calc(.75rem + env(safe-area-inset-bottom)) env(safe-area-inset-left);border-top:none;border-right:3px solid var(--color-border);flex-direction:column;grid-area:nav;gap:.5rem;display:flex;position:sticky;top:0;overflow-y:auto}:root[data-keyboard-open] .nav-bar{display:flex}.nav-bar__items{flex-direction:column;gap:.35rem;height:auto;margin:0}.nav-bar__item{border-radius:8px;height:auto;min-height:64px;margin:0 .5rem}.nav-bar__tools{flex-direction:column;gap:.35rem;margin:auto .5rem 0;display:flex}.nav-bar__tool{min-height:64px;color:var(--color-text-light);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:0;font-size:.8rem;display:flex}.nav-bar__tool--active{color:var(--color-primary-dark);font-weight:700}.nav-bar__tool .kbd-hint{display:none}}@media not all and (hover:hover) and (pointer:fine){.nav-bar__shortcuts{display:none}}@media (width>=1200px){.nav-bar{width:var(--sidebar-width);gap:1rem;padding:1.25rem .75rem}.nav-bar__brand{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);color:var(--color-primary-dark);padding:.25rem .5rem .5rem;display:block}.nav-bar__item{flex-direction:row;justify-content:flex-start;gap:.75rem;min-height:48px;margin:0;padding:0 .75rem;font-size:1rem}.nav-bar__item .nav-bar__kbd{margin-left:auto;display:inline-block!important}.nav-bar__item--active{background:var(--color-streak)}.nav-bar__icon,.nav-bar__item--active .nav-bar__icon{background:0 0;width:auto;height:auto}.nav-bar__item--via-mode{color:var(--color-text-light);background:0 0;font-weight:400}.nav-bar__modes{display:block}.nav-bar__section{color:var(--color-text-light);padding:0 .75rem .4rem;font-size:.8rem}.nav-bar__mode{border-radius:6px;align-items:center;gap:.6rem;min-height:44px;padding:0 .75rem;font-size:.95rem;display:flex}.nav-bar__mode--active{background:var(--color-streak);color:var(--color-primary-dark);font-weight:700}.nav-bar__tools{margin:auto 0 0}.nav-bar__tool{flex-direction:row;justify-content:flex-start;gap:.75rem;min-height:44px;padding:0 .75rem;font-size:.95rem}.nav-bar__tool--active{background:var(--color-streak)}.nav-bar__tool .kbd-hint{margin-left:auto;display:inline-block}}@media (hover:hover) and (pointer:fine){.nav-bar__item:hover,a.nav-bar__mode:hover,.nav-bar__tool:hover{background:var(--color-surface-alt);color:var(--color-text)}}.app-shell{grid-template-columns:minmax(0,1fr);grid-template-areas:"main";min-height:100dvh;display:grid}.app-shell__main{padding:calc(var(--main-pad-y) + env(safe-area-inset-top)) calc(var(--main-pad-x) + env(safe-area-inset-right)) calc(var(--bottom-chrome) + 1.5rem) calc(var(--main-pad-x) + env(safe-area-inset-left));grid-area:main;container:main/inline-size}.app-shell__content{width:100%;max-width:560px;margin:0 auto}:root[data-keyboard-open] .app-shell__main{padding-bottom:1rem}@media (width>=600px),(orientation:landscape) and (height<=499.98px){.app-shell{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"nav main"}.app-shell__main{padding-left:var(--main-pad-x);padding-bottom:calc(var(--main-pad-y) + env(safe-area-inset-bottom))}.app-shell__content{max-width:1080px}}@media (width>=1200px){.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr) auto;grid-template-areas:"nav main aside"}.app-shell__content{max-width:1120px}}.app-shell__aside{height:100dvh;width:var(--aside-width);padding:var(--main-pad-y) 1rem;border-left:3px solid var(--color-border);background:var(--color-surface-alt);grid-area:aside;position:sticky;top:0;overflow-y:auto}@media (horizontal-viewport-segments:2){.app-shell__content{max-width:none}}.pixel-button{font-family:var(--font-thai);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);background:var(--color-surface);color:var(--color-text);cursor:pointer;touch-action:manipulation;border-radius:4px;justify-content:center;align-items:center;gap:.4rem;padding:.75rem 1.25rem;font-size:1rem;font-weight:700;transition:transform 80ms,box-shadow 80ms;display:inline-flex}.pixel-button:active:not(:disabled){box-shadow:var(--shadow-pixel-sm);transform:translate(2px,2px)}@media (hover:hover) and (pointer:fine){.pixel-button:hover:not(:disabled){box-shadow:5px 5px 0 var(--color-border);transform:translate(-1px,-1px)}.pixel-button:active:not(:disabled){box-shadow:var(--shadow-pixel-sm);transform:translate(2px,2px)}}.pixel-button:disabled{opacity:.5;cursor:not-allowed}.pixel-button--primary{background:var(--color-primary);color:var(--color-on-strong)}.pixel-button--secondary{background:var(--color-secondary);color:var(--color-on-pastel)}.pixel-button--accent{background:var(--color-accent);color:var(--color-on-pastel)}.pixel-button--danger{background:var(--color-danger);color:var(--color-on-strong)}.pixel-button--ghost{background:var(--color-surface)}.pixel-button--full{width:100%}.pwa-toast{z-index:50;left:calc(var(--nav-inline) + .75rem);right:calc(.75rem + env(safe-area-inset-right));bottom:calc(var(--bottom-chrome) + .75rem);background:var(--color-surface);border:3px solid var(--color-border);max-width:520px;box-shadow:var(--shadow-pixel);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem .75rem;margin-inline:auto;padding:.6rem .75rem;animation:.25s ease-out pv-rise-in;display:flex;position:fixed}.pwa-toast__text{font-weight:700}.pwa-toast__actions{gap:.5rem;margin-left:auto;display:flex}.modal{overscroll-behavior:contain;background:var(--color-surface);width:100%;max-width:520px;max-height:88dvh;color:var(--color-text);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel-lg);border-bottom:none;border-radius:12px 12px 0 0;margin:auto auto 0;padding:0;animation:.15s ease-out modal-slide-up;overflow-y:auto}.modal::backdrop{background:var(--color-overlay)}html:has(.modal[open]){overflow:hidden}.modal-panel{padding:1.25rem 1.25rem calc(1.25rem + env(safe-area-inset-bottom))}@media (width>=600px){.modal{border-bottom:3px solid var(--color-border);border-radius:10px;max-width:560px;margin:auto;animation-name:modal-pop}.modal-panel{padding:1.5rem}}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.modal-header h2{font-size:1.1rem}.modal-close{cursor:pointer;min-width:44px;min-height:44px;color:var(--color-text-light);background:0 0;border:none;border-radius:4px;font-size:1.2rem}@media (hover:hover) and (pointer:fine){.modal-close:hover{background:var(--color-surface-alt);color:var(--color-text)}}.player-hud-wrap{container:hud/inline-size}.player-hud{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel-sm);border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.5rem .6rem;padding:.5rem .6rem;display:grid}@container hud (width<=339.98px){.player-hud{grid-template-columns:auto minmax(0,1fr)}.player-hud__stats{grid-column:1/-1;justify-content:flex-end}}.player-hud__level{background:var(--color-primary);color:var(--color-on-strong);border:2px solid var(--color-border);font-family:var(--font-pixel);font-size:var(--text-pixel-sm);white-space:nowrap;border-radius:4px;padding:.2rem .35rem;line-height:1.2}.player-hud__xp{background:var(--color-surface-alt);border:2px solid var(--color-border);border-radius:3px;height:24px;position:relative;overflow:hidden}.player-hud__xp-fill{background:repeating-linear-gradient(90deg, var(--color-secondary-dark) 0 6px, var(--color-secondary) 6px 8px);height:100%;transition:width .4s ease-out}.player-hud__xp-text{color:var(--color-text);white-space:nowrap;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;display:flex;position:absolute;inset:0}.player-hud__stats{align-items:center;gap:.75rem;display:flex}.player-hud__stat{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);white-space:nowrap;align-items:center;gap:.3rem;display:inline-flex}.player-hud__value{animation:.35s ease-out pv-pop;display:inline-block}.milestones{flex-direction:column;gap:.5rem;display:flex;container:milestones/inline-size}.milestones__item{background:var(--color-accent);color:var(--color-on-pastel);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon text""button button";align-items:center;gap:.5rem .7rem;padding:.7rem .9rem;animation:.3s ease-out pv-rise-in;display:grid}.milestones__icon{grid-area:icon;place-items:center;display:grid}.milestones__text{grid-area:text;min-width:0}.milestones__item .pixel-button{grid-area:button}@container milestones (width>=480px){.milestones__item{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon text button"}}.milestones__title{overflow-wrap:anywhere;font-weight:700}.milestones__reward{font-size:.9rem}.milestones__done{color:var(--color-success-dark);flex-wrap:wrap;align-items:center;gap:0 .8rem;font-weight:700;display:flex}.milestones__link{min-height:44px;color:var(--color-primary-dark);align-items:center;display:inline-flex}.format-picker{color:var(--color-text-light);flex-direction:column;gap:.4rem;font-size:.9rem;display:flex}.format-picker__options{grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));gap:.5rem;display:grid}.format-picker__option{border:2px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-text);text-align:left;cursor:pointer;border-radius:6px;flex-direction:column;justify-content:center;align-items:flex-start;gap:.2rem;padding:.6rem .7rem;display:flex}.format-picker__options--compact .format-picker__option{text-align:center;align-items:center;padding:.4rem .5rem}.format-picker__option span{opacity:.85;font-size:.8rem}.format-picker__option.is-active{background:var(--color-secondary);color:var(--color-on-pastel)}@container main (width<=339.98px){.format-picker__options:not(.format-picker__options--compact){grid-template-columns:minmax(0,1fr)}}@media (hover:hover) and (pointer:fine){.format-picker__option:hover:not(.is-active){background:var(--color-surface-alt)}}.game-card{--rarity:var(--color-rarity-common);aspect-ratio:3/4;background:var(--color-surface);border:3px solid var(--color-border);width:100%;box-shadow:inset 0 0 0 4px var(--rarity), var(--shadow-pixel-sm);color:var(--color-text);text-align:center;border-radius:8px;flex-direction:column;gap:.25rem;padding:.45rem;display:flex;position:relative;overflow:hidden;container-type:inline-size}.game-card--lg{box-shadow:inset 0 0 0 6px var(--rarity), var(--shadow-pixel);gap:.4rem;padding:.7rem}.game-card--common{--rarity:var(--color-rarity-common)}.game-card--rare{--rarity:var(--color-rarity-rare)}.game-card--epic{--rarity:var(--color-rarity-epic)}.game-card--legendary{--rarity:var(--color-rarity-legendary)}.game-card--epic:not(.game-card--back):after,.game-card--legendary:not(.game-card--back):after{content:"";pointer-events:none;background:linear-gradient(105deg, transparent 44%, var(--color-card-shine) 50%, transparent 56%) no-repeat;background-size:250% 100%;animation:3.2s ease-in-out infinite pv-shimmer;position:absolute;inset:0}.game-card--epic:not(.game-card--back):after{animation-duration:4.5s}.game-card--flip-in{animation:.45s ease-out both pv-card-flip}.game-card__rarity{background:var(--rarity);color:var(--color-on-pastel);white-space:nowrap;border-radius:4px;justify-content:center;align-items:center;gap:.3rem;margin:.15rem .15rem 0;padding:.05rem .3rem;font-size:12px;line-height:1.4;display:flex}.game-card--lg .game-card__rarity{font-size:.95rem}.game-card__stars{letter-spacing:-.05em}.game-card__art{flex:auto;min-height:32px;position:relative}.game-card__art>.pixel-sprite-fit{width:auto;height:auto;position:absolute;inset:2px}.game-card__word{overflow-wrap:anywhere;font-size:clamp(14px,13cqi,30px);font-weight:700;line-height:1.15}.game-card__meaning{color:var(--color-text-light);overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:clamp(12px,10cqi,19px);line-height:1.25;display:-webkit-box;overflow:hidden}.game-card__category{color:var(--color-text-light);font-size:.85rem}.game-card--back{background:repeating-linear-gradient(45deg, var(--color-primary) 0 8px, var(--color-primary-dark) 8px 16px);justify-content:center;align-items:center;gap:.5rem}.game-card--locked{background:repeating-linear-gradient(45deg, var(--color-surface-alt) 0 8px, var(--color-surface) 8px 16px);box-shadow:var(--shadow-pixel-sm);border-style:dashed}.game-card__back-mark{aspect-ratio:1;background:var(--color-surface);border:3px solid var(--color-border);width:clamp(36px,38cqi,96px);font-family:var(--font-pixel);font-size:var(--text-pixel-sm);color:var(--color-text);border-radius:50%;place-items:center;display:grid}.game-card--lg .game-card__back-mark{font-size:var(--text-pixel-lg)}.game-card__back-label{background:var(--color-surface);border:2px solid var(--color-border);color:var(--color-text);border-radius:4px;padding:.05rem .4rem;font-size:12px}.game-card--back:not(.game-card--locked) .game-card__back-label{background:var(--rarity);color:var(--color-on-pastel)}.game-card--lg .game-card__back-label{font-size:.95rem}.game-card__badge{z-index:1;background:var(--color-accent);border:2px solid var(--color-border);color:var(--color-on-pastel);border-radius:4px;padding:0 .35rem;font-size:12px;font-weight:700;animation:.4s ease-out .3s both pv-pop;position:absolute;top:4px;right:4px;transform:rotate(6deg)}.card-sets{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;flex-direction:column;gap:.6rem;padding:1rem;display:flex;container:cardsets/inline-size}.card-sets__title{font-size:1rem}.card-sets__subtitle{margin-top:.4rem;font-size:.95rem}.card-sets__note{color:var(--color-text-light);font-size:.85rem}.card-sets__list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}@container cardsets (width>=560px){.card-sets__list{grid-template-columns:repeat(2,minmax(0,1fr))}}.card-set{border:2px solid var(--color-border);background:var(--color-surface-alt);border-radius:6px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:.6rem;padding:.5rem .6rem;display:grid}.card-set--owned{border-color:var(--color-success-dark)}.card-set__body{flex-direction:column;gap:.2rem;min-width:0;display:flex}.card-set__name{overflow-wrap:anywhere;font-weight:700}.card-set__name small{color:var(--color-text-light);font-weight:400}.card-set__bar{background:var(--color-surface);border:2px solid var(--color-border);border-radius:3px;height:10px;overflow:hidden}.card-set__fill{background:var(--color-rarity-rare);height:100%}.card-set--owned .card-set__fill{background:var(--color-success)}.card-set__meta{color:var(--color-text-light);font-size:.8rem}.boss-cards{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.boss-card{border:3px solid var(--color-border);background:linear-gradient(135deg, var(--color-rarity-legendary), var(--color-rarity-epic));color:var(--color-on-pastel);text-align:center;box-shadow:var(--shadow-pixel);border-radius:8px;flex-direction:column;align-items:center;gap:.25rem;padding:.6rem .4rem;display:flex}.boss-card__art{background:var(--color-surface);border:2px solid var(--color-border);border-radius:6px;justify-content:center;padding:.3rem;display:flex}.boss-card__name{font-size:.9rem;font-weight:700}.boss-card__label{font-size:.75rem}.flashcard{background:var(--color-surface-alt);border:3px solid var(--color-border);min-height:180px;box-shadow:var(--shadow-pixel-sm);text-align:center;transform:translateX(var(--swipe-x,0)) rotate(var(--swipe-tilt,0deg));border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:1.25rem 1rem;transition:background-color .15s;display:flex;position:relative}.flashcard--flipped{animation:.3s ease-out flashcard-flip}.flashcard--swipeable{touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none}.flashcard--lean-left{background:color-mix(in srgb, var(--color-danger) 22%, var(--color-surface-alt))}.flashcard--lean-right{background:color-mix(in srgb, var(--color-success) 22%, var(--color-surface-alt))}@keyframes flashcard-flip{0%{opacity:.4;transform:perspective(600px)rotateY(80deg)}to{opacity:1;transform:perspective(600px)rotateY(0)}}@media (prefers-reduced-motion:reduce){.flashcard{transform:translateX(var(--swipe-x,0))}}.flashcard__word-row{align-items:center;gap:.5rem;display:flex}.flashcard__word{font-family:var(--font-pixel);font-size:var(--text-pixel-md);overflow-wrap:anywhere}.flashcard__speak{cursor:pointer;background:0 0;border:none;min-width:44px;min-height:44px;font-size:1.4rem}.flashcard__instruction{color:var(--color-text-light);font-size:.9rem}.flashcard__back{flex-direction:column;gap:.4rem;display:flex}.flashcard__meaning{font-size:1.4rem;font-weight:700}.flashcard__example{color:var(--color-text-light);font-size:.95rem;font-style:italic}.flashcard__mnemonic{background:var(--color-accent);color:var(--color-on-pastel);border-radius:4px;padding:.35rem .5rem;font-size:.85rem}.flashcard__stamp{border:3px solid;border-radius:4px;padding:.2rem .6rem;font-weight:700;position:absolute;top:.75rem;transform:rotate(-8deg)}.flashcard__stamp--left{color:var(--color-danger-dark);left:.75rem}.flashcard__stamp--right{color:var(--color-success-dark);right:.75rem;transform:rotate(8deg)}.flashcard-controls{flex-direction:column;gap:.5rem;display:flex}.flashcard-controls__prompt{text-align:center;color:var(--color-text-light);font-size:.9rem}.flashcard-controls__ratings{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;display:grid}.flashcard-controls__rate{border:2px solid var(--color-border);cursor:pointer;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;min-height:52px;font-weight:700;display:flex}.flashcard-controls__rate--forgot{background:var(--color-danger);color:var(--color-on-strong)}.flashcard-controls__rate--hard{background:var(--color-accent);color:var(--color-on-pastel)}.flashcard-controls__rate--good{background:var(--color-secondary);color:var(--color-on-pastel)}.flashcard-controls__rate--easy{background:var(--color-success);color:var(--color-on-strong)}@media (hover:hover) and (pointer:fine){.flashcard-controls__rate:hover:not(:disabled){box-shadow:var(--shadow-pixel-sm);transform:translateY(-2px)}}.flashcard-controls__swipe-hint{text-align:center;color:var(--color-text-light);font-size:.8rem;display:none}@media (pointer:coarse){.flashcard-controls__swipe-hint{display:block}}.handwriting-pad{background:var(--color-surface-alt);border:2px dashed var(--color-border);border-radius:6px;height:140px;position:relative;overflow:hidden}.handwriting-pad--disabled{opacity:.6}.handwriting-pad__canvas{width:100%;height:100%;color:var(--color-text);touch-action:none;cursor:crosshair;display:block}.handwriting-pad__placeholder{color:var(--color-text-light);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.reward-chips{flex-wrap:wrap;justify-content:center;gap:.4rem;display:flex}.reward-chip{border:2px solid var(--color-border);background:var(--color-accent);color:var(--color-on-pastel);border-radius:4px;align-items:center;gap:.35rem;padding:.25rem .55rem;font-size:.9rem;animation:.4s ease-out both pv-float-in;display:inline-flex}.reward-chip__num{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);line-height:1.2}.reward-chip--xp{background:var(--color-secondary);animation-delay:80ms}.reward-chip--streak{background:var(--color-streak);animation-delay:.16s}.reward-chip--level{background:var(--color-primary);color:var(--color-on-strong);animation:.4s ease-out .24s both pv-float-in,.6s ease-in-out .7s 2 pv-bounce}.question-card{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;flex-direction:column;padding:1.25rem 1rem;display:flex;container:question/inline-size}.question-card__layout{flex-direction:column;flex:1;gap:.85rem;display:flex}.question-card__prompt,.question-card__answer{flex-direction:column;gap:.85rem;display:flex}@media (width<=599.98px) and (orientation:portrait),(width<=599.98px) and (height>=500px){.question-card__prompt{flex:1 0 auto;justify-content:center}}:root[data-keyboard-open] .question-card__prompt{flex:none}@container question (width>=640px){@media (orientation:landscape){.question-card__layout{grid-template:"prompt answer""prompt feedback"1fr/minmax(0,1fr) minmax(0,1fr);column-gap:1.5rem;display:grid}.question-card__prompt{border-right:2px dashed var(--color-border);grid-area:prompt;justify-content:center;padding-right:1.5rem}.question-card__answer{grid-area:answer;margin-top:0}.question-card__feedback{grid-area:feedback;align-self:start}}}.question-card__word-row{justify-content:center;align-items:center;gap:.5rem;display:flex}.question-card__word{font-family:var(--font-pixel);font-size:var(--text-pixel-md);text-align:center;overflow-wrap:anywhere}@container question (width<=339.98px){.question-card__word{font-size:var(--text-pixel-sm)}}.question-card__speak{cursor:pointer;background:0 0;border:none;border-radius:6px;min-width:44px;min-height:44px;font-size:1.4rem}.question-card__instruction{text-align:center;color:var(--color-text-light);font-size:.9rem}.question-card__meaning{text-align:center;font-size:1.4rem;font-weight:700}.question-card__meaning--sub{color:var(--color-text-light);font-size:.95rem;font-weight:400}.question-card__sentence{text-align:center;font-size:1.1rem;line-height:1.6}.question-card__hint{text-align:center;color:var(--color-accent-dark);font-size:.95rem}.question-card__hint-btn{color:var(--color-text-light);cursor:pointer;background:0 0;border:none;align-self:center;align-items:center;gap:.4rem;padding:.4rem .75rem;font-size:.9rem;text-decoration:underline;display:inline-flex}.question-card__listen{border:3px solid var(--color-border);background:var(--color-secondary);min-width:10rem;min-height:64px;color:var(--color-on-pastel);box-shadow:var(--shadow-pixel-sm);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-self:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:1.2rem;font-weight:700;display:inline-flex}.question-card__listen:active{box-shadow:none;transform:translate(2px,2px)}.question-card__reveal{flex-wrap:wrap;justify-content:center;align-items:center;gap:.25rem .5rem;font-size:1.05rem;display:flex}.speak-answer{flex-direction:column;align-items:stretch;gap:.5rem;display:flex}.speak-answer__message{text-align:center;color:var(--color-danger-dark);font-size:.9rem}.speak-answer__type{min-height:44px;color:var(--color-text-light);font:inherit;cursor:pointer;background:0 0;border:none;align-self:center;padding:.4rem .75rem;font-size:.9rem;text-decoration:underline}.question-card__options{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}@container question (width<=299.98px){.question-card__options{grid-template-columns:minmax(0,1fr)}}.question-card__option{border:2px solid var(--color-border);background:var(--color-surface-alt);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:.5rem;min-height:52px;padding:.6rem .5rem;font-size:1rem;transition:transform 80ms;display:flex}.question-card__option .kbd-hint{flex-shrink:0}.question-card__option:active:not(:disabled){transform:translate(1px,1px)}@media (hover:hover) and (pointer:fine){.question-card__option:hover:not(:disabled){background:var(--color-surface);box-shadow:var(--shadow-pixel-sm);transform:translate(-1px,-1px)}}.question-card__option.option--correct{background:var(--color-success);color:var(--color-on-strong);animation:.3s ease-out pv-pop}.question-card__option.option--wrong{background:var(--color-danger);color:var(--color-on-strong);animation:.3s ease-out pv-shake}.question-card__input-modes{border:2px solid var(--color-border);border-radius:6px;align-self:center;display:flex;overflow:hidden}.question-card__input-modes button{background:var(--color-surface);cursor:pointer;border:none;min-height:44px;padding:.3rem .9rem}.question-card__input-modes button.is-active{background:var(--color-secondary);color:var(--color-on-pastel);font-weight:700}.answer-input{gap:.5rem;display:flex}.answer-input input{border:2px solid var(--color-border);text-align:center;background:var(--color-surface);border-radius:4px;flex:1;min-width:0;min-height:48px;padding:.65rem;font-size:1.1rem}@container question (width<=339.98px){.answer-input{flex-direction:column}}.answer-write{flex-direction:column;gap:.6rem;display:flex}.answer-write__actions{gap:.5rem;display:flex}.answer-write__actions .pixel-button{flex:1}.answer-write__check{text-align:center;flex-direction:column;gap:.5rem;display:flex}.question-card__feedback{text-align:center;border-top:2px dashed var(--color-border);flex-direction:column;gap:.5rem;padding-top:.75rem;animation:.25s ease-out pv-rise-in;display:flex}.question-card__verdict{font-weight:700}.question-card__feedback--correct .question-card__verdict{color:var(--color-success-dark);animation:.35s ease-out pv-pop}.question-card__feedback--wrong .question-card__verdict{color:var(--color-danger-dark)}.question-card__practice-note{color:var(--color-text-light);font-size:.85rem}.question-card__mnemonic{background:var(--color-accent);color:var(--color-on-pastel);border-radius:4px;padding:.4rem .5rem;font-size:.9rem}.session-rewards{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);text-align:center;border-radius:8px;flex-direction:column;gap:.6rem;padding:1rem;animation:.3s ease-out pv-rise-in;display:flex}.session-rewards__title{color:var(--color-text-light);font-size:.9rem}.session-rewards__note{font-size:.9rem;line-height:1.5}.session-rewards__items{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.session-rewards__item{border:2px solid var(--color-border);background:var(--color-accent);color:var(--color-on-pastel);font-family:var(--font-pixel);font-size:var(--text-pixel-sm);border-radius:4px;align-items:center;gap:.4rem;padding:.4rem .75rem;display:inline-flex}.session-rewards__item--xp{background:var(--color-secondary)}.session-rewards__level{border:2px solid var(--color-border);background:var(--color-primary);color:var(--color-on-strong);border-radius:4px;align-self:center;padding:.4rem .75rem;font-weight:700;animation:.6s ease-in-out .3s 3 pv-bounce}.cards-page,.cards-summary-page{flex-direction:column;gap:1rem;display:flex}.cards-summary-page{width:100%;max-width:720px;margin:0 auto}.cards-page__loading{text-align:center;color:var(--color-text-light);padding:2rem 0}.cards-page__title{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);color:var(--color-primary-dark);line-height:1.5}@media (width>=1200px){.cards-page__hud{display:none}}.cards-top{grid-template-columns:minmax(0,1fr);gap:1rem;display:grid}@container main (width>=560px){.cards-top{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}.cards-summary,.cards-pack,.cards-result{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;flex-direction:column;gap:.6rem;padding:.9rem;display:flex}.cards-summary__count{font-size:1rem}.cards-summary__count strong{font-family:var(--font-pixel);font-size:var(--text-pixel-sm)}.cards-summary__bar{background:var(--color-surface-alt);border:2px solid var(--color-border);border-radius:4px;height:14px;overflow:hidden}.cards-summary__fill{background:var(--color-rarity-legendary);height:100%;transition:width .4s ease-out}.cards-summary__tiers{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}.cards-summary__tier{border:2px solid var(--color-border);background:var(--rarity);color:var(--color-on-pastel);border-radius:6px;padding:.25rem .5rem;font-size:.85rem}.cards-summary__tier--common{--rarity:var(--color-rarity-common)}.cards-summary__tier--rare{--rarity:var(--color-rarity-rare)}.cards-summary__tier--epic{--rarity:var(--color-rarity-epic)}.cards-summary__tier--legendary{--rarity:var(--color-rarity-legendary)}.cards-summary__note,.cards-pack__note{color:var(--color-text-light);font-size:.85rem}.cards-pack__title{font-size:1.05rem}.cards-pack__actions{flex-wrap:wrap;gap:.5rem;display:flex}.cards-pack__actions .pixel-button{flex:auto}.cards-filters{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.cards-filters__rarity{flex-wrap:wrap;flex:auto;gap:.4rem;display:flex}.cards-filters__chip{background:var(--color-surface);border:2px solid var(--color-border);min-height:36px;color:var(--color-text);cursor:pointer;border-radius:999px;padding:.2rem .65rem;font-size:.85rem}.cards-filters__chip.is-active{background:var(--color-primary);color:var(--color-on-pastel)}.cards-filters__count{font-weight:700}.cards-filters__category{background:var(--color-surface);border:2px solid var(--color-border);min-height:40px;color:var(--color-text);border-radius:6px;padding:0 .5rem;font-size:.95rem}@media (pointer:coarse){.cards-filters__chip,.cards-filters__category{min-height:44px}}@media (hover:hover) and (pointer:fine){.cards-filters__chip:hover:not(.is-active){background:var(--color-surface-alt)}}.cards-layout{--split-columns:minmax(0, 3fr) minmax(300px, 2fr);align-items:start}.card-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:.6rem;display:grid}@container main (width>=560px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:.8rem}}.card-tile{cursor:pointer;background:0 0;border:none;border-radius:10px;width:100%;padding:0;transition:transform .12s ease-out;display:block}.card-tile.is-selected{outline:3px solid var(--color-primary-dark);outline-offset:2px}@media (hover:hover) and (pointer:fine){.card-tile:hover{transform:translateY(-3px)rotate(-1deg)}}.cards-layout__pane{top:var(--main-pad-y);max-height:calc(100dvh - 2 * var(--main-pad-y));background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;padding:1rem;position:sticky;overflow-y:auto}.cards-layout__empty{text-align:center;color:var(--color-text-light);padding:2rem 0}.card-detail{flex-direction:column;gap:1rem;display:flex}.card-detail__card{width:min(240px,70%);margin:0 auto}.card-detail__info{flex-direction:column;gap:.6rem;font-size:.95rem;display:flex}.card-detail__head{align-items:center;gap:.4rem;display:flex}.card-detail__word{font-size:1.3rem;font-weight:700}.card-detail__speak{cursor:pointer;background:0 0;border:none;min-width:44px;min-height:44px;font-size:1.2rem}.card-detail__example{color:var(--color-text-light);font-style:italic}.card-detail__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;display:grid}.card-detail__stats div{background:var(--color-surface-alt);text-align:center;border-radius:6px;flex-direction:column;gap:.15rem;padding:.45rem .3rem;display:flex}.card-detail__stats dt{color:var(--color-text-light);font-size:12px}.card-detail__stats dd{font-weight:700}.card-detail__next{background:var(--color-streak);color:var(--color-on-pastel);border-radius:6px;padding:.5rem .6rem;font-size:.9rem}.cards-session__stage{--split-columns:minmax(0, 2fr) minmax(0, 3fr);flex:1 0 auto;align-items:stretch}.cards-session__stage .question-card{min-width:0}@media (width<=599.98px) and (orientation:portrait),(width<=599.98px) and (height>=500px){.cards-session__stage{flex-direction:column;display:flex}.cards-session__stage .question-card{flex:1 0 auto}}.cards-session__table{background:radial-gradient(circle at 50% 55%, var(--color-streak) 0 30%, transparent 70%), var(--color-surface-alt);border:3px solid var(--color-border);height:150px;box-shadow:var(--shadow-pixel);border-radius:8px;position:relative}@container main (width>=560px){.cards-session__table{height:240px}}@container main (width>=760px){.cards-session__table{height:auto;min-height:340px}}@media (orientation:landscape) and (height<=499.98px){.cards-session__table{height:auto;min-height:0}}.cards-session__slot{aspect-ratio:3/4;max-width:calc(100% - 20px);position:absolute;top:10px;bottom:10px;left:50%;transform:translate(-50%)}.cards-session__slot>.game-card{aspect-ratio:auto;width:100%;height:100%}@container (width<=140px){.cards-session__slot .game-card__meaning,.cards-session__slot .game-card__category{display:none}}:root[data-keyboard-open] .cards-session__table{display:none}@media (vertical-viewport-segments:2){.cards-session__stage{flex-direction:column;gap:0;display:flex}.cards-session__table{height:calc(var(--hinge-top) - var(--main-pad-y) - env(safe-area-inset-top) - 44px - .85rem);margin-bottom:calc(var(--hinge-bottom) - var(--hinge-top))}}.cards-feedback{background:var(--color-streak);color:var(--color-on-pastel);text-align:center;border-radius:6px;flex-direction:column;gap:.2rem;padding:.5rem;font-size:.95rem;display:flex}.cards-feedback__next{font-size:.85rem}.cards-result__stats{text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.cards-result__stats div{background:var(--color-surface-alt);color:var(--color-text-light);border-radius:6px;flex-direction:column;gap:.3rem;padding:.6rem .25rem;font-size:.85rem;display:flex}.cards-result__stats strong{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);color:var(--color-text)}.cards-result__title{color:var(--color-text-light);font-size:.9rem}.card-grid--summary li{animation:.45s ease-out both pv-card-flip}.plot-details{text-align:center;flex-direction:column;align-items:center;gap:.5rem;display:flex;container:plot-details/inline-size}.plot-details__soil{background:var(--color-soil);border:3px solid var(--color-border);width:128px;height:128px;box-shadow:inset 0 -8px 0 var(--color-soil-dark);border-radius:6px;justify-content:center;align-items:flex-end;padding-bottom:8px;display:flex}.plot-details__soil--dry{background:var(--color-soil-dry);box-shadow:inset 0 -8px 0 var(--color-soil-dry-dark)}.plot-details__word{font-family:var(--font-pixel);font-size:var(--text-pixel-md);overflow-wrap:anywhere;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}@container plot-details (width<=299.98px){.plot-details__word{font-size:var(--text-pixel-sm)}}.plot-details__speak{cursor:pointer;background:0 0;border:none;border-radius:6px;min-width:44px;min-height:44px;font-size:1.3rem}.plot-details__meaning{font-size:1.15rem;font-weight:700}.plot-details__meta{color:var(--color-text-light);font-size:.85rem}.plot-details__stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;width:100%;margin:.25rem 0 0;display:grid}.plot-details__stats div{background:var(--color-surface-alt);border:2px solid var(--color-border);border-radius:4px;padding:.5rem .25rem}.plot-details__stats dt{color:var(--color-text-light);font-size:.75rem}.plot-details__stats dd{margin:.15rem 0 0;font-size:.9rem;font-weight:700}.plot-details__desc{color:var(--color-text-light);margin-bottom:.25rem;font-size:.85rem;line-height:1.5}.farm-layout{--split-columns:minmax(0, 3fr) minmax(280px, 2fr)}.farm-layout__field,.farm-layout__side{flex-direction:column;gap:.9rem;min-width:0;display:flex}.farm-layout__side{order:-1}@container main (width>=760px){.farm-layout__side{top:var(--main-pad-y);order:0;position:sticky}}@media (orientation:landscape) and (height<=499.98px){.farm-layout__side{order:0}}.farm-tabs{gap:.4rem;padding-bottom:.2rem;display:flex;overflow-x:auto}.farm-tabs__tab{border:2px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:4px;flex-shrink:0;min-height:44px;padding:.4rem .75rem;font-size:.9rem}.farm-tabs__tab--active{background:var(--color-grass-dark);font-weight:700}@media (hover:hover) and (pointer:fine){.farm-tabs__tab:hover:not(.farm-tabs__tab--active){background:var(--color-surface-alt)}}.farm-water{background:var(--color-water-panel);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;flex-direction:column;gap:.6rem;padding:.85rem;display:flex}.farm-water__text{align-items:center;gap:.5rem;font-size:1rem;display:flex}.farm-water__text strong{font-family:var(--font-pixel);font-size:var(--text-pixel-sm)}.farm-water__actions{flex-wrap:wrap;gap:.5rem;display:flex}.farm-water__actions .pixel-button{white-space:nowrap;flex:auto;padding:.65rem .75rem}.farm-legend{grid-template-columns:repeat(4,minmax(0,1fr));gap:.4rem;display:grid}.farm-legend__item{color:var(--color-text-light);flex-direction:column;align-items:center;gap:.15rem;font-size:.8rem;display:flex}.farm-legend__item strong{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);color:var(--color-text)}.farm-details{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;padding:1rem}.farm-details__empty{text-align:center;color:var(--color-text-light);padding:2rem 0}.farm-grid{background:var(--color-grass);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;grid-template-columns:repeat(auto-fill,minmax(64px,1fr));gap:.5rem;padding:.75rem .6rem;display:grid}.farm-grid--fit{grid-template-columns:repeat(auto-fill, var(--plot-size));justify-content:center}.farm-plot{cursor:pointer;background:0 0;border:none;border-radius:6px;flex-direction:column;align-items:center;gap:.25rem;width:100%;padding:0;display:flex;position:relative}.farm-plot__soil{aspect-ratio:5/4;background:var(--color-soil);border:2px solid var(--color-border);width:100%;box-shadow:inset 0 -5px 0 var(--color-soil-dark);border-radius:4px;justify-content:center;align-items:flex-end;padding:4px 4px 6px;transition:transform 80ms;display:flex;position:relative}.farm-plot:active .farm-plot__soil{transform:translate(1px,1px)}.farm-plot__soil>.pixel-sprite-fit{width:auto;height:auto;position:absolute;inset:4px 4px 6px}.farm-plot--thirsty .farm-plot__soil{background:var(--color-soil-dry);box-shadow:inset 0 -5px 0 var(--color-soil-dry-dark)}.farm-plot--thirsty .farm-plot__plant{filter:saturate(.6)}.farm-plot--selected .farm-plot__soil{outline:3px solid var(--color-primary-dark);outline-offset:2px}.farm-plot__drop{animation:1.4s ease-in-out infinite pv-bounce;position:absolute;top:3px;right:3px}.farm-plot__label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.8rem;overflow:hidden}@media (hover:hover) and (pointer:fine){.farm-plot:hover .farm-plot__soil{transform:translateY(-2px)}.farm-plot:hover .farm-plot__plant{transform-origin:bottom;animation:.8s ease-in-out infinite pv-sway}.farm-plot[data-tooltip]:hover:after{content:attr(data-tooltip);z-index:10;border:2px solid var(--color-border);background:var(--color-surface);color:var(--color-text);white-space:nowrap;box-shadow:var(--shadow-pixel-sm);pointer-events:none;border-radius:4px;padding:.3rem .5rem;font-size:.8rem;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%)}}.farm-plot__produce{animation:1.6s ease-in-out infinite pv-bounce;position:absolute;top:3px;left:3px}.farm-harvest{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;flex-direction:column;gap:.6rem;padding:.85rem;display:flex}.farm-harvest__text,.farm-harvest__basket{flex-wrap:wrap;align-items:center;gap:.3rem .7rem;font-size:1rem;display:flex}.farm-harvest__text--muted,.farm-harvest__basket{color:var(--color-text-light);font-size:.9rem}.farm-harvest__count{color:var(--color-text);align-items:center;gap:.25rem;font-weight:700;display:inline-flex}.farm-harvest__link{min-height:44px;color:var(--color-primary-dark);align-items:center;margin-left:auto;font-weight:700;display:inline-flex}.farm-session__stage{--split-columns:minmax(0, 2fr) minmax(0, 3fr);flex:1 0 auto;align-items:stretch}.farm-session__stage .question-card{min-width:0}@media (width<=599.98px) and (orientation:portrait),(width<=599.98px) and (height>=500px){.farm-session__stage{flex-direction:column;display:flex}.farm-session__stage .question-card{flex:1 0 auto}}.farm-session__plot{background:linear-gradient(to bottom, var(--color-sky) 0 70%, var(--color-soil) 70% 100%);border:3px solid var(--color-border);height:120px;box-shadow:var(--shadow-pixel);border-radius:8px;justify-content:center;align-items:flex-end;padding:8px 8px 14px;display:flex;position:relative;overflow:hidden}@container main (width>=560px){.farm-session__plot{height:200px}}@container main (width>=760px){.farm-session__plot{height:auto;min-height:320px}}@media (orientation:landscape) and (height<=499.98px){.farm-session__plot{height:auto;min-height:0}}:root[data-keyboard-open] .farm-session__plot{display:none}@media (vertical-viewport-segments:2){.farm-session__stage{flex-direction:column;gap:0;display:flex}.farm-session__plot{height:calc(var(--hinge-top) - var(--main-pad-y) - env(safe-area-inset-top) - 44px - .85rem);margin-bottom:calc(var(--hinge-bottom) - var(--hinge-top))}}.farm-session__plot>.pixel-sprite-fit{width:auto;height:auto;position:absolute;inset:8px 8px 14px}.farm-session__plot--thirsty{background:linear-gradient(to bottom, var(--color-sky-dry) 0 70%, var(--color-soil-dry) 70% 100%)}.farm-session__plot--thirsty .farm-session__plant svg{filter:saturate(.6);transform-origin:bottom;animation:2.4s ease-in-out infinite pv-sway}.farm-session__plant--grew svg{transform-origin:bottom;animation:.6s ease-out .35s both pv-grow}.water-drops{z-index:1;width:96px;height:0;margin-left:-48px;position:absolute;top:12px;left:50%}.water-drops__drop{opacity:0;animation:.7s ease-in both pv-drop-fall;position:absolute;top:0}.water-drops__drop--0{left:18px}.water-drops__drop--1{animation-delay:.15s;left:44px}.water-drops__drop--2{animation-delay:.3s;left:70px}.farm-feedback{background:var(--color-grass);border-radius:6px;flex-direction:column;align-items:center;gap:.3rem;padding:.5rem;font-size:.95rem;display:flex}.farm-feedback__stages{align-items:center;gap:.5rem;font-weight:700;display:flex}.farm-feedback__next{color:var(--color-text-light);font-size:.85rem}.farm-summary{flex-direction:column;gap:1rem;width:100%;max-width:720px;margin:0 auto;display:flex}.farm-summary__card{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;flex-direction:column;gap:.75rem;padding:1rem;display:flex;container:farm-summary/inline-size}.farm-summary__stats{text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.farm-summary__stats div{background:var(--color-surface-alt);color:var(--color-text-light);border-radius:6px;flex-direction:column;gap:.3rem;padding:.6rem .25rem;font-size:.85rem;display:flex}.farm-summary__stats strong{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);color:var(--color-text)}.farm-summary__grown-title{color:var(--color-text-light);font-size:.9rem}.farm-summary__grown{background:var(--color-grass);border-radius:6px;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:.5rem;padding:.6rem;display:grid}.farm-summary__grown li{flex-direction:column;align-items:center;gap:.2rem;min-width:0;font-size:.8rem;animation:.5s ease-out both pv-grow;display:flex}.farm-summary__grown li span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.farm-page{flex-direction:column;gap:.9rem;display:flex}@media (width>=1200px){.farm-page__hud{display:none}}.farm-page__loading,.farm-page__empty{text-align:center;color:var(--color-text-light);padding:2rem 0}.farm-page__title{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);color:var(--color-success-dark);line-height:1.5}.farm-page__subtitle{color:var(--color-text-light);margin-top:.3rem;font-size:.9rem}.hard-page{flex-direction:column;gap:1rem;width:100%;max-width:1100px;margin:0 auto;display:flex}.hard-page__title{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);color:var(--color-primary-dark);line-height:1.5}.hard-page__header{flex-direction:column;gap:.5rem;display:flex}.hard-page__intro{color:var(--color-text-light);font-size:.9rem}.hard-page__actions{flex-wrap:wrap;gap:.5rem;display:flex}.hard-page__empty a{min-height:44px;color:var(--color-primary-dark);align-items:center;font-weight:700;text-decoration:underline;display:inline-flex}.hard-page__list{gap:1rem;list-style:none;display:grid}@container main (width>=760px){.hard-page__list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.hard-card{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.hard-card__heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.15rem .5rem;display:grid}.hard-card__word{font-family:var(--font-pixel);font-size:var(--text-pixel-md);overflow-wrap:anywhere;line-height:1.4}.hard-card__speak{cursor:pointer;background:0 0;border:none;border-radius:6px;min-width:44px;min-height:44px;font-size:1.3rem}.hard-card__meaning{grid-column:1/-1;font-size:1.15rem;font-weight:700}.hard-card__meta{color:var(--color-text-light);grid-column:1/-1;font-size:.85rem}.hard-card__lapses{color:var(--color-danger-dark);font-weight:700}.hard-card h3,.hard-card__mnemonic label{font-size:.9rem;font-weight:700}.hard-card__examples ul{flex-direction:column;gap:.25rem;margin:.35rem 0 .5rem;padding-left:1.1rem;font-size:.9rem;display:flex}.hard-card__example{align-items:center;gap:.25rem;display:flex}.hard-card__example span{overflow-wrap:anywhere;flex:1;min-width:0}.hard-card__remove{min-width:44px;min-height:44px;color:var(--color-text-light);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:none}.hard-card__inline-form{gap:.5rem;display:flex}.hard-card__inline-form input,.hard-card__mnemonic textarea{border:2px solid var(--color-border);background:var(--color-surface-alt);min-width:0;min-height:44px;color:var(--color-text);font:inherit;border-radius:4px;flex:1;padding:.55rem .65rem;font-size:1rem}.hard-card__mnemonic textarea{resize:vertical;width:100%}.hard-card__inline-form input:focus,.hard-card__mnemonic textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}.hard-card__mnemonic{flex-direction:column;gap:.35rem;display:flex}.hard-card__row{color:var(--color-success-dark);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.85rem;display:flex}.hard-page__section{flex-direction:column;gap:.5rem;display:flex}.hard-page__subtitle{font-size:1rem}.hard-page__suspended{flex-direction:column;gap:.5rem;list-style:none;display:flex}.hard-page__suspended-item{background:var(--color-surface);border:2px solid var(--color-border);border-radius:6px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem .75rem;display:flex}.hard-page__suspended-item span{overflow-wrap:anywhere;min-width:0}.shortcuts{gap:1rem;display:grid}@media (width>=600px){.shortcuts{grid-template-columns:1fr 1fr}.shortcuts__note{grid-column:1/-1}}.shortcuts__group h3{margin:0 0 .4rem;font-size:.95rem}.shortcuts__group dl{flex-direction:column;gap:.3rem;margin:0;display:flex}.shortcuts__row{align-items:center;gap:.6rem;font-size:.9rem;display:flex}.shortcuts__row dt{flex-shrink:0;min-width:5.5rem}.shortcuts__row dd{color:var(--color-text-light);margin:0}.shortcuts kbd{border:2px solid var(--color-border);min-width:1.6em;box-shadow:var(--shadow-pixel-sm);background:var(--color-surface-alt);font-family:var(--font-thai);text-align:center;border-radius:4px;padding:.1em .4em;font-size:.8rem;display:inline-block}.shortcuts__then{color:var(--color-text-light);font-size:.75rem}.shortcuts__note{color:var(--color-text-light);font-size:.8rem}.install-banner{background:var(--color-surface);border:3px solid var(--color-border);border-left-width:8px;border-left-color:var(--color-primary);box-shadow:var(--shadow-pixel-sm);border-radius:8px;flex-wrap:wrap;align-items:center;gap:.6rem .75rem;padding:.75rem .9rem;animation:.25s ease-out pv-rise-in;display:flex}.install-banner__icon{place-items:center;display:grid}.install-banner__text{flex:12rem;min-width:0}.install-banner__title{font-weight:700}.install-banner__note{color:var(--color-text-light);font-size:.9rem}.install-banner__actions{gap:.5rem;margin-left:auto;display:flex}.next-step-wrap{container:nextstep/inline-size}.next-step{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"icon text""button button";align-items:center;gap:.6rem .8rem;padding:.9rem 1rem;animation:.3s ease-out pv-rise-in;display:grid}.next-step--claim{background:var(--color-accent);color:var(--color-on-pastel)}.next-step__icon{grid-area:icon;place-items:center;display:grid}.next-step__text{flex-direction:column;grid-area:text;gap:.15rem;min-width:0;display:flex}.next-step__eyebrow{color:var(--color-text-light);font-size:.8rem;font-weight:700}.next-step--claim .next-step__eyebrow,.next-step--claim .next-step__detail{color:var(--color-on-pastel)}.next-step__title{overflow-wrap:anywhere;font-size:1.1rem;font-weight:700}.next-step__detail{color:var(--color-text-light);font-size:.9rem}.next-step__button{grid-area:button}@container nextstep (width>=520px){.next-step{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"icon text button"}}.quest-panel{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;flex-direction:column;gap:.6rem;padding:1rem;display:flex;container:quests/inline-size}.quest-panel__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.quest-panel__title{align-items:center;gap:.4rem;font-size:1rem;display:flex}.quest-panel__claim-all{border:2px solid var(--color-border);background:var(--color-accent);min-height:44px;color:var(--color-on-pastel);cursor:pointer;border-radius:6px;padding:0 .8rem;font-size:.9rem;font-weight:700}.quest-panel__empty{color:var(--color-text-light);font-size:.95rem}.quest-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.quest{border:2px solid var(--color-border);background:var(--color-surface-alt);border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.5rem .6rem;display:grid}.quest--done{border-color:var(--color-success-dark)}.quest__icon{place-items:center;width:32px;display:grid}.quest__body{flex-direction:column;gap:.25rem;min-width:0;display:flex}.quest__label{overflow-wrap:anywhere;font-size:.95rem;font-weight:700}.quest__bar{background:var(--color-surface);border:2px solid var(--color-border);border-radius:3px;height:10px;overflow:hidden}.quest__fill{background:var(--color-primary);height:100%;transition:width .4s ease-out}.quest--done .quest__fill{background:var(--color-success)}.quest__meta{color:var(--color-text-light);font-size:.8rem}.quest__state{color:var(--color-success-dark);white-space:nowrap;align-items:center;gap:.25rem;font-size:.85rem;font-weight:700;display:inline-flex}.quest__action{border:2px solid var(--color-border);background:var(--color-surface);min-width:52px;min-height:44px;color:var(--color-text);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:0 .7rem;font-size:.9rem;font-weight:700;display:inline-flex}.quest__action--claim{background:var(--color-accent);color:var(--color-on-pastel);animation:.4s ease-out pv-pop}@media (hover:hover) and (pointer:fine){.quest__action:hover,.quest-panel__claim-all:hover{filter:brightness(1.05);transform:translateY(-1px)}}@container quests (width<=259.98px){.quest{grid-template-columns:minmax(0,1fr) auto}.quest__icon{display:none}}.today-card{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;flex-direction:column;gap:.5rem;padding:1rem;display:flex;container:today/inline-size}.today-card__goal-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.today-card__goal-num{font-family:var(--font-pixel);font-size:var(--text-pixel-sm)}.today-progress{background:var(--color-surface-alt);border:2px solid var(--color-border);border-radius:3px;height:16px;overflow:hidden}.today-progress__fill{background:repeating-linear-gradient(90deg, var(--color-primary) 0 8px, var(--color-primary-dark) 8px 10px);height:100%;transition:width .4s ease-out}.today-progress__fill--done{background:repeating-linear-gradient(90deg, var(--color-success) 0 8px, var(--color-success-dark) 8px 10px)}.today-card__note{color:var(--color-text-light);font-size:.85rem}.week-strip{border-top:2px dashed var(--color-border);grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem;margin-top:.5rem;padding-top:.75rem;display:grid}.week-strip__day{min-width:0;color:var(--color-text-light);flex-direction:column;align-items:center;gap:.25rem;font-size:.8rem;display:flex}.week-strip__box{aspect-ratio:1;background:var(--color-surface-alt);border:2px solid var(--color-border);border-radius:4px;justify-content:center;align-items:center;width:100%;max-width:32px;display:flex}.week-strip__day--active .week-strip__box{background:var(--color-streak)}.week-strip__day--today .week-strip__box{box-shadow:0 0 0 2px var(--color-primary)}.week-strip__day--today .week-strip__label{color:var(--color-primary-dark);font-weight:700}.today-card__streak{text-align:center;font-size:.9rem}.word-stats{flex-direction:column;gap:.6rem;display:flex;container:stats/inline-size}.word-stats__head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.word-stats__title{font-size:1rem}.word-stats__links{flex-wrap:wrap;justify-content:flex-end;gap:0 .9rem;display:flex}.word-stats__link{min-height:44px;color:var(--color-primary-dark);align-items:center;font-size:.9rem;font-weight:700;display:inline-flex}@media (hover:hover) and (pointer:fine){.word-stats__link:hover{text-decoration:underline}}.word-stats__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;display:grid}@container stats (width>=420px){.word-stats__grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.word-stats__item{background:var(--color-surface);border:2px solid var(--color-border);color:var(--color-text-light);text-align:center;border-radius:6px;flex-direction:column;align-items:center;gap:.3rem;padding:.6rem .25rem;font-size:.8rem;display:flex}.word-stats__item strong{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);color:var(--color-text)}.home-page{flex-direction:column;gap:1rem;display:flex}.home-page__header{grid-template-columns:44px 1fr 44px;align-items:center;display:grid}.home-page__settings{border-radius:8px;grid-column:3;place-items:center;width:44px;height:44px;display:grid}@media (width>=600px),(orientation:landscape) and (height<=499.98px){.home-page__settings{visibility:hidden}}@media (hover:hover) and (pointer:fine){.home-page__settings:hover{background:var(--color-surface-alt)}}.home-page__logo{font-family:var(--font-pixel);font-size:var(--text-pixel-md);text-align:center;color:var(--color-primary-dark);grid-column:2}@container main (width<=339.98px){.home-page__logo{font-size:var(--text-pixel-sm)}}.home-page__top{align-items:start;gap:1rem;display:grid}@container main (width>=560px){.home-page__top{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@media (width>=1200px){.home-page__header,.home-page__hud,.home-page__today,.home-page__quests,.home-page__stats{display:none}.home-page__top{grid-template-columns:minmax(0,1fr)}}.due-card{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);text-align:center;border-radius:8px;flex-direction:column;gap:.75rem;padding:1.1rem 1rem 1.2rem;display:flex}@media (width>=1200px){.due-card{text-align:left;flex-direction:row;justify-content:space-between;align-items:center;padding:1.5rem 2rem}.due-card__actions{width:320px}}.due-card__label{color:var(--color-text-light);font-size:1rem}.due-card__count{font-family:var(--font-pixel);font-size:var(--text-pixel-xl);color:var(--color-primary-dark);line-height:1.3}.due-card__unit{font-family:var(--font-thai);color:var(--color-text);margin-left:.4rem;font-size:1.1rem}.due-card__actions{flex-direction:column;gap:.6rem;display:flex}.due-card__note{font-size:1rem}.due-card__split{color:var(--color-text-light);font-size:.9rem}.due-card__hint{color:var(--color-text-light);margin-top:4px;font-size:.9rem;display:block}.due-card__note a{color:var(--color-primary-dark);font-weight:700;text-decoration:underline}.home-section{flex-direction:column;gap:.6rem;display:flex}.home-section__title{font-size:1rem}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}@container main (width>=560px){.mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.mode-tile{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel-sm);text-align:center;border-radius:6px;flex-direction:column;align-items:center;gap:.3rem;padding:.8rem .5rem;transition:transform 80ms,box-shadow 80ms;display:flex}a.mode-tile:active{box-shadow:none;transform:translate(2px,2px)}@media (hover:hover) and (pointer:fine){a.mode-tile:hover{box-shadow:var(--shadow-pixel);transform:translate(-2px,-2px)}a.mode-tile:hover .mode-tile__icon{animation:.6s ease-in-out infinite pv-bounce}}.mode-tile__icon{justify-content:center;align-items:center;height:48px;font-size:2rem;display:flex}.mode-tile__label{font-weight:700}.mode-tile__status{color:var(--color-text-light);align-items:center;gap:.3rem;font-size:.8rem;display:inline-flex}.mode-tile--locked{background:var(--color-surface-alt);box-shadow:none;color:var(--color-text-light);border-style:dashed}.mode-tile--locked .mode-tile__icon{filter:grayscale();opacity:.5}.mode-tile__badge{display:none}@media (hover:hover) and (pointer:fine){.mode-tile--featured{background:var(--color-streak);color:var(--color-on-pastel);position:relative}.mode-tile--featured .mode-tile__status{color:inherit}.mode-tile__badge{background:var(--color-accent);border:2px solid var(--color-border);color:var(--color-on-pastel);border-radius:4px;align-items:center;gap:.25rem;padding:0 .4rem;font-size:12px;font-weight:700;display:inline-flex;position:absolute;top:-10px;right:-6px;rotate:4deg}}.pet-meters{flex-direction:column;gap:.4rem;display:flex}.pet-meter{grid-template-columns:auto minmax(0,1fr) 2.5em;align-items:center;gap:.5rem;font-size:.85rem;display:grid}.pet-meter__track{background:var(--color-surface-alt);border:2px solid var(--color-border);border-radius:4px;height:14px;overflow:hidden}.pet-meter__fill{height:100%;transition:width .4s ease-out}.pet-meter__fill--food{background:var(--color-accent)}.pet-meter__fill--joy{background:var(--color-primary)}.pet-meter__value{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);text-align:right}.pet-scene{background:linear-gradient(to bottom, var(--color-pet-sky) 0 72%, var(--color-pet-floor) 72% 100%);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;position:relative;overflow:hidden}.pet-scene__pet{cursor:pointer;touch-action:manipulation;background:0 0;border:none;border-radius:8px;padding:0;position:absolute;inset:10% 15% 8%}.pet-scene__pet>.pixel-sprite-fit{position:absolute;inset:0}.pet-scene__sprite svg{transform-origin:bottom;animation:1.6s ease-in-out infinite pv-bounce}.pet-scene--hungry .pet-scene__sprite svg{animation:2.4s ease-in-out infinite pv-sway}.pet-scene__sprite--munch svg{animation:.5s ease-in-out 2 pv-munch}.pet-scene__sprite--act svg{animation:.7s ease-out pv-pet-act}@keyframes pv-pet-act{0%,to{transform:translateY(0)}40%{transform:translateY(calc(var(--act-lift,0) / 16 * -100%))}}.pet-scene__said{background:var(--color-surface);border:2px solid var(--color-border);white-space:nowrap;pointer-events:none;border-radius:8px;width:max-content;margin-inline:auto;padding:.2rem .6rem;font-size:.9rem;animation:.25s ease-out pv-pop;position:absolute;inset:6% 0 auto}.pet-scene__hearts{pointer-events:none;width:0;height:0;position:absolute;top:25%;left:50%}.pet-scene__heart{left:var(--heart-x);animation:1.2s ease-out both pv-heart-float;position:absolute}@media (hover:hover) and (pointer:fine){.pet-scene__pet:hover .pixel-sprite{filter:brightness(1.05)}}.pet-widget{background:var(--color-pet-sky);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);color:var(--color-text);border-radius:8px;flex-direction:column;gap:.6rem;padding:.8rem;display:flex}.pet-widget--empty{flex-direction:row;align-items:center;font-size:.9rem}.pet-widget__head{color:inherit;align-items:center;gap:.6rem;display:flex}.pet-widget__head span{flex-direction:column;display:flex}.pet-widget__head small{color:var(--color-text-light);font-size:.8rem}.pet-widget__sprite{transform-origin:bottom;animation:1.6s ease-in-out infinite pv-bounce}@media (hover:hover) and (pointer:fine){.pet-widget__head:hover strong,.pet-widget--empty:hover span{text-decoration:underline}}.side-panel,.review-page{flex-direction:column;gap:1rem;display:flex}.review-page--setup,.review-page--summary{width:100%;max-width:640px;margin:0 auto}.review-page--summary{max-width:880px}.review-page__loading{text-align:center;color:var(--color-text-light);padding:2rem 0}.review-page__title{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);color:var(--color-primary-dark);line-height:1.5}.review-page__empty{color:var(--color-text-light)}.review-page__empty a{color:var(--color-primary-dark);font-weight:700;text-decoration:underline}.review-page__due-count{font-size:1rem}.review-page__option-group{color:var(--color-text-light);flex-direction:column;gap:.4rem;font-size:.9rem;display:flex}.review-page__segmented{gap:.5rem;display:flex}.review-page__segmented button{border:2px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:4px;flex:1;min-height:44px;font-weight:700}.review-page__segmented button.is-active{background:var(--color-secondary);color:var(--color-on-pastel)}@media (hover:hover) and (pointer:fine){.review-page__segmented button:hover:not(.is-active){background:var(--color-surface-alt)}}.review-page__study-ahead{min-height:44px;color:var(--color-text-light);cursor:pointer;align-items:center;gap:.6rem;font-size:.9rem;display:flex}.review-page__study-ahead input{flex-shrink:0;width:20px;height:20px}.review-page__study-ahead-note{margin-top:.15rem;font-size:.8rem;display:block}.review-page__badge{border:2px solid var(--color-border);background:var(--color-accent);color:var(--color-on-pastel);border-radius:4px;margin-left:.5rem;padding:.1rem .4rem;font-size:.8rem}.review-page__summary-grid{align-items:start;gap:1rem;display:grid}@container main (width>=760px){.review-page__summary-grid{grid-template-columns:minmax(0,3fr) minmax(0,2fr)}}.review-summary{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);text-align:center;border-radius:8px;flex-direction:column;gap:.5rem;padding:1.5rem 1rem;display:flex}.review-summary__accuracy{font-family:var(--font-pixel);font-size:var(--text-pixel-lg);color:var(--color-primary-dark);line-height:1.4}.review-summary__grades{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin-top:.75rem;display:grid}.review-summary__grade-item{background:var(--color-surface-alt);border-radius:6px;flex-direction:column;gap:.2rem;padding:.5rem .25rem;font-size:.85rem;display:flex}.review-summary__grade-item strong{font-size:1.15rem}.pet-page,.pet-summary,.pet-adopt{flex-direction:column;gap:1rem;display:flex}.pet-summary,.pet-adopt{width:100%;max-width:720px;margin:0 auto}.pet-page__loading{text-align:center;color:var(--color-text-light);padding:2rem 0}.pet-page__title{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);color:var(--color-primary-dark);line-height:1.5}@media (width>=1200px){.pet-page__hud{display:none}}.pet-layout{--split-columns:minmax(0, 3fr) minmax(0, 2fr);align-items:stretch}.pet-layout__scene{height:260px}@container main (width>=560px){.pet-layout__scene{height:360px}}@container main (width>=760px){.pet-layout__scene{height:auto;min-height:420px}}@media (orientation:landscape) and (height<=499.98px){.pet-layout__scene{height:auto;min-height:240px}}.pet-layout__bubble{background:var(--color-surface);border:2px solid var(--color-border);text-align:center;pointer-events:none;border-radius:8px;padding:.4rem .6rem;font-size:.9rem;position:absolute;top:.6rem;left:.6rem;right:.6rem}.pet-layout__side{flex-direction:column;gap:1rem;display:flex}.pet-card,.pet-feed{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;flex-direction:column;gap:.7rem;padding:.9rem;display:flex}.pet-card__head{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pet-card__name{font-size:1.2rem}.pet-card__mood{background:var(--color-streak);color:var(--color-on-pastel);border-radius:999px;padding:.1rem .5rem;font-size:.8rem}.pet-card__edit{min-height:44px;color:var(--color-text-light);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:0 .5rem;font-size:.85rem;text-decoration:underline}.pet-card__rename{gap:.5rem;width:100%;display:flex}.pet-card__rename input{border:2px solid var(--color-border);background:var(--color-surface);min-width:0;min-height:44px;color:var(--color-text);border-radius:6px;flex:1;padding:0 .6rem;font-size:1rem}.pet-card__note,.pet-feed__note{color:var(--color-text-light);font-size:.85rem}.pet-feed__actions{flex-wrap:wrap;gap:.5rem;display:flex}.pet-feed__actions .pixel-button{flex:auto}.pet-session__stage{--split-columns:minmax(0, 2fr) minmax(0, 3fr);flex:1 0 auto;align-items:stretch}.pet-session__stage .question-card{min-width:0}@media (width<=599.98px) and (orientation:portrait),(width<=599.98px) and (height>=500px){.pet-session__stage{flex-direction:column;display:flex}.pet-session__stage .question-card{flex:1 0 auto}}.pet-session__scene{height:130px}@container main (width>=560px){.pet-session__scene{height:200px}}@container main (width>=760px){.pet-session__scene{height:auto;min-height:320px}}@media (orientation:landscape) and (height<=499.98px){.pet-session__scene{height:auto;min-height:0}}:root[data-keyboard-open] .pet-session__scene{display:none}@media (vertical-viewport-segments:2){.pet-session__stage{flex-direction:column;gap:0;display:flex}.pet-session__scene{height:calc(var(--hinge-top) - var(--main-pad-y) - env(safe-area-inset-top) - 44px - .85rem);margin-bottom:calc(var(--hinge-bottom) - var(--hinge-top))}}.pet-feedback{background:var(--color-pet-sky);text-align:center;border-radius:6px;padding:.5rem;font-size:.95rem}.pet-summary__card{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;grid-template-columns:minmax(0,1fr);gap:1rem;padding:.9rem;display:grid}@container main (width>=560px){.pet-summary__card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}}.pet-summary__scene{height:180px}.pet-summary__info{flex-direction:column;gap:.8rem;display:flex}.pet-adopt__intro{color:var(--color-text-light)}.pet-adopt__choices{grid-template-columns:repeat(auto-fill,minmax(min(100%,8.5rem),1fr));gap:.6rem;display:grid}.pet-adopt__trait{color:var(--color-text-light);text-align:center;font-size:.75rem}.pet-adopt__choice.is-locked{opacity:.55;cursor:not-allowed}.pet-adopt__back,.pet-family__adopt{min-height:44px;color:var(--color-primary-dark,var(--color-primary));align-self:flex-start;align-items:center;font-weight:600;display:inline-flex}.pet-family{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;flex-direction:column;gap:.5rem;padding:.8rem 1rem;display:flex}.pet-family__title{font-size:1rem}.pet-family__title small{color:var(--color-text-light);font-weight:400}.pet-family__list{flex-wrap:wrap;gap:.4rem;display:flex}.pet-family__pet{background:var(--color-surface-alt);border:2px solid var(--color-border);cursor:pointer;border-radius:6px;flex-direction:column;align-items:center;gap:.2rem;min-width:64px;min-height:44px;padding:.4rem;font-size:.8rem;display:flex}.pet-family__pet[aria-checked=true]{background:var(--color-pet-sky);box-shadow:inset 0 0 0 3px var(--color-primary)}.pet-adopt__choice{background:var(--color-surface);border:3px solid var(--color-border);color:var(--color-text);cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:.4rem;padding:.7rem .3rem;display:flex}.pet-adopt__choice.is-active{background:var(--color-pet-sky);box-shadow:inset 0 0 0 3px var(--color-primary)}@media (hover:hover) and (pointer:fine){.pet-adopt__choice:hover:not(.is-active){background:var(--color-surface-alt)}}.pet-adopt__name{color:var(--color-text-light);flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.pet-adopt__name input{border:2px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-text);border-radius:6px;padding:0 .6rem;font-size:1rem}.pet-snacks{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;flex-direction:column;gap:.6rem;padding:.9rem;display:flex}.pet-snacks__title{font-size:1rem}.pet-snacks__actions{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;display:grid}.pet-snacks__button{border:2px solid var(--color-border);background:var(--color-surface-alt);min-height:44px;color:var(--color-text);cursor:pointer;border-radius:6px;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem;font-weight:700;display:flex}.pet-snacks__button:disabled{opacity:.5;cursor:not-allowed}.pet-snacks__gain{color:var(--color-text-light);font-size:.8rem}.pet-snacks__link{min-height:44px;color:var(--color-primary-dark);align-items:center;font-weight:700;display:inline-flex}@media (hover:hover) and (pointer:fine){.pet-snacks__button:not(:disabled):hover{filter:brightness(1.04);transform:translateY(-1px)}}.pet-wardrobe .pet-snacks__button[aria-checked=true]{border-color:var(--color-primary-dark);background:var(--color-primary);color:var(--color-on-pastel)}.rpg-page,.rpg-summary{flex-direction:column;gap:1rem;display:flex}.rpg-summary{width:100%;max-width:720px;margin:0 auto}.rpg-page__loading{text-align:center;color:var(--color-text-light);padding:2rem 0}.rpg-page__title{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);color:var(--color-primary-dark);line-height:1.5}.rpg-page__note{color:var(--color-text-light)}@media (width>=1200px){.rpg-page__hud{display:none}}.boss-hp{background:var(--color-surface-alt);border:2px solid var(--color-border);border-radius:4px;min-width:0;height:20px;position:relative;overflow:hidden}.boss-hp__fill{background:var(--color-danger);height:100%;transition:width .5s ease-out}.boss-hp__text{color:var(--color-text);text-shadow:0 0 2px var(--color-surface), 0 0 2px var(--color-surface);place-items:center;font-size:12px;font-weight:700;line-height:1;display:grid;position:absolute;inset:0}.rpg-map{--split-columns:minmax(0, 1fr) minmax(0, 1fr);align-items:start}.dungeon-list{flex-direction:column;gap:.6rem;min-width:0;display:flex}.dungeon-card{background:var(--color-surface);border:3px solid var(--color-border);width:100%;min-height:44px;box-shadow:var(--shadow-pixel-sm);color:var(--color-text);text-align:left;cursor:pointer;border-radius:8px;align-items:center;gap:.7rem;padding:.6rem .7rem;display:flex}.dungeon-card.is-selected{background:var(--color-dungeon-sky);box-shadow:inset 0 0 0 3px var(--color-primary), var(--shadow-pixel-sm)}@media (hover:hover) and (pointer:fine){.dungeon-card:hover:not(.is-selected){background:var(--color-surface-alt)}}.dungeon-card__boss{flex:none}.dungeon-card--cleared .dungeon-card__boss{filter:grayscale(.7)}.dungeon-card__info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.dungeon-card__name{font-weight:700}.dungeon-card__status{color:var(--color-text-light);font-size:.85rem}.dungeon-panel{background:var(--color-surface);border:3px solid var(--color-border);min-width:0;box-shadow:var(--shadow-pixel);border-radius:8px;flex-direction:column;gap:.6rem;padding:.9rem;display:flex}.dungeon-panel__boss-name{font-size:1.1rem}.dungeon-panel__stats{font-size:.9rem}.dungeon-panel__note{color:var(--color-text-light);font-size:.85rem}.dungeon-panel__actions{flex-wrap:wrap;gap:.5rem;display:flex}.dungeon-panel__actions .pixel-button{flex:auto}.rpg-lair{background:linear-gradient(to bottom, var(--color-dungeon-sky) 0 72%, var(--color-dungeon-floor) 72% 100%);border:3px solid var(--color-border);border-radius:8px;height:160px;position:relative;overflow:hidden}@container main (width>=560px){.rpg-lair{height:220px}}.rpg-lair>.pixel-sprite-fit{width:auto;height:auto;position:absolute;inset:10px 10px 14px}.rpg-lair__boss svg{transform-origin:bottom;animation:1.6s ease-in-out infinite pv-bounce}.rpg-lair--cleared .rpg-lair__boss svg{filter:grayscale(.7);animation:none}.rpg-lair__crown{background:var(--color-accent);border:2px solid var(--color-border);color:var(--color-on-pastel);border-radius:4px;padding:.1rem .5rem;font-size:.85rem;position:absolute;top:8px;left:8px}.rpg-battle__stage{--split-columns:minmax(0, 2fr) minmax(0, 3fr);flex:1 0 auto;align-items:stretch}.rpg-battle__stage .question-card{min-width:0}@media (width<=599.98px) and (orientation:portrait),(width<=599.98px) and (height>=500px){.rpg-battle__stage{flex-direction:column;display:flex}.rpg-battle__stage .question-card{flex:1 0 auto}}.rpg-arena{background:linear-gradient(to bottom, var(--color-dungeon-sky) 0 70%, var(--color-dungeon-floor) 70% 100%);border:3px solid var(--color-border);height:170px;box-shadow:var(--shadow-pixel);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}@container main (width>=560px){.rpg-arena{height:240px}}@container main (width>=760px){.rpg-arena{height:auto;min-height:320px}}@media (orientation:landscape) and (height<=499.98px){.rpg-arena{height:auto;min-height:0}}:root[data-keyboard-open] .rpg-arena{display:none}@media (vertical-viewport-segments:2){.rpg-battle__stage{flex-direction:column;gap:0;display:flex}.rpg-arena{height:calc(var(--hinge-top) - var(--main-pad-y) - env(safe-area-inset-top) - 44px - .85rem);margin-bottom:calc(var(--hinge-bottom) - var(--hinge-top))}}.rpg-arena__boss{background:var(--color-surface);border-bottom:3px solid var(--color-border);grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:.4rem;padding:.35rem .5rem;display:grid}.rpg-arena__boss-name{white-space:nowrap;font-size:.85rem;font-weight:700}@container main (width<=320px){.rpg-arena__boss-name{display:none}}.rpg-arena__field{flex:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:64px;padding:6px 8px 10px;display:grid}.rpg-arena__hero,.rpg-arena__monster{position:relative}.rpg-arena__hero>.pixel-sprite-fit,.rpg-arena__monster>.pixel-sprite-fit{width:auto;height:auto;position:absolute;inset:0}.rpg-arena__level{z-index:1;background:var(--color-surface);border:2px solid var(--color-border);border-radius:4px;padding:0 .3rem;font-size:12px;font-weight:700;position:absolute;top:0;right:0}.rpg-arena--ready .rpg-arena__monster svg{transform-origin:bottom;animation:1.2s ease-in-out infinite pv-bounce}.rpg-arena--win .rpg-arena__hero{--lunge-x:40%;animation:.45s ease-out both pv-lunge}.rpg-arena--win .rpg-arena__monster>.pixel-sprite-fit{animation:.6s ease-in .25s both pv-defeat}.rpg-arena__hit{z-index:1;animation:.35s ease-out .15s both pv-pop;position:absolute;bottom:25%;left:35%}.rpg-arena--lose .rpg-arena__monster{--lunge-x:-40%;animation:.45s ease-out both pv-lunge,.9s ease-in .45s both pv-flee}.rpg-arena--lose .rpg-arena__hero{animation:.3s ease-in-out .2s 2 pv-shake}.rpg-feedback{background:var(--color-dungeon-sky);text-align:center;border-radius:6px;flex-direction:column;gap:.2rem;padding:.5rem;font-size:.95rem;display:flex}.rpg-feedback__boss:empty{display:none}.rpg-feedback__boss{font-weight:700}.rpg-summary__card{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;grid-template-columns:minmax(0,1fr);gap:1rem;padding:.9rem;display:grid}@container main (width>=560px){.rpg-summary__card{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}}.rpg-summary__lair{height:160px}.rpg-summary__info{flex-direction:column;gap:.6rem;display:flex}.rpg-summary__dungeon{font-weight:700}.rpg-summary__stats{text-align:center;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.rpg-summary__stats div{background:var(--color-surface-alt);color:var(--color-text-light);border-radius:6px;flex-direction:column;gap:.3rem;padding:.6rem .25rem;font-size:.85rem;display:flex}.rpg-summary__stats strong{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);color:var(--color-text)}.rpg-summary__note{color:var(--color-text-light);font-size:.85rem}.rpg-arena__buddy{z-index:1;width:45%;height:50%;position:absolute;bottom:0;left:-4%}.rpg-arena__buddy>.pixel-sprite-fit{width:auto;height:auto;position:absolute;inset:0}.rpg-arena--win .rpg-arena__buddy{animation:.5s ease-out 2 pv-bounce}.rpg-arena__buddy-note{background:var(--color-surface);color:var(--color-text);border-radius:999px;align-self:center;padding:0 .5rem;font-size:.8rem;font-weight:700}.rpg-buddy-note{text-align:center;color:var(--color-success-dark);font-weight:700}.backup-section__last{font-weight:700}.backup-section__actions{flex-wrap:wrap;gap:.5rem;display:flex}.backup-section__status{color:var(--color-success-dark);font-size:.9rem;font-weight:700}.backup-section__status.is-error{color:var(--color-danger-dark)}.restore-preview{flex-direction:column;gap:.75rem;display:flex}.restore-preview__list{flex-direction:column;gap:.3rem;padding-left:1.2rem;list-style:outside;display:flex}.restore-preview__warn{color:var(--color-danger-dark);font-size:.9rem}.restore-preview__actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.settings-page{flex-direction:column;gap:1rem;width:100%;max-width:640px;margin:0 auto;display:flex}.settings-page__title{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);color:var(--color-primary-dark);line-height:1.5}.settings-card{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;flex-direction:column;gap:.6rem;padding:1rem;display:flex}.settings-card h2{font-size:1rem}.settings-card__segmented{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.settings-card__segmented--2{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-card__inline-link{min-height:44px;color:var(--color-primary-dark);align-items:center;font-weight:700;text-decoration:underline;display:inline-flex}.settings-card__segmented--4{grid-template-columns:repeat(2,minmax(0,1fr))}@container main (width>=480px){.settings-card__segmented--4{grid-template-columns:repeat(4,minmax(0,1fr))}}.settings-card__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.settings-card__segmented button{border:2px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-text);cursor:pointer;border-radius:6px;padding:.3rem;font-weight:700}.settings-card__segmented button.is-active{background:var(--color-secondary);color:var(--color-on-pastel)}@media (hover:hover) and (pointer:fine){.settings-card__segmented button:hover:not(.is-active){background:var(--color-surface-alt)}}.settings-card__field{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.settings-card__field select{border:2px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-text);font:inherit;border-radius:4px;padding:.5rem}.settings-card__note{color:var(--color-text-light);font-size:.85rem}.settings-card__link{min-height:44px;color:var(--color-primary-dark);align-self:flex-start;align-items:center;font-size:.9rem;font-weight:700;text-decoration:underline;display:inline-flex}.stats-page{--chart-series-learned:#2a78d6;--chart-series-mature:#eb6834;--chart-level-0:#86b6ef;--chart-level-1:#5598e7;--chart-level-2:#2a78d6;--chart-level-3:#1c5cab;--chart-level-4:#104281;--chart-heat-0:color-mix(in oklab, var(--color-text-light) 14%, var(--color-surface));--chart-heat-1:#b7d3f6;--chart-heat-2:#6da7ec;--chart-heat-3:#2a78d6;--chart-heat-4:#184f95;--chart-grid:color-mix(in oklab, var(--color-text-light) 25%, var(--color-surface));flex-direction:column;gap:1rem;width:100%;max-width:1100px;margin:0 auto;display:flex}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .stats-page{--chart-series-learned:#3987e5;--chart-series-mature:#d95926;--chart-level-0:#256abf;--chart-level-1:#3987e5;--chart-level-2:#6da7ec;--chart-level-3:#9ec5f4;--chart-level-4:#cde2fb;--chart-heat-1:#1c5cab;--chart-heat-2:#3987e5;--chart-heat-3:#86b6ef;--chart-heat-4:#cde2fb}}:root[data-theme=dark] .stats-page{--chart-series-learned:#3987e5;--chart-series-mature:#d95926;--chart-level-0:#256abf;--chart-level-1:#3987e5;--chart-level-2:#6da7ec;--chart-level-3:#9ec5f4;--chart-level-4:#cde2fb;--chart-heat-1:#1c5cab;--chart-heat-2:#3987e5;--chart-heat-3:#86b6ef;--chart-heat-4:#cde2fb}.stats-page__title{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);color:var(--color-primary-dark);line-height:1.5}.stats-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}@container main (width>=760px){.stats-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.stat-tile{background:var(--color-surface);border:3px solid var(--color-border);min-width:0;box-shadow:var(--shadow-pixel-sm);border-radius:8px;flex-direction:column;gap:.15rem;padding:.75rem;display:flex}.stat-tile__label{color:var(--color-text-light);font-size:.85rem}.stat-tile__value{color:var(--color-text);font-size:1.6rem;line-height:1.2}.stat-tile__note{color:var(--color-text-light);overflow-wrap:anywhere;font-size:.8rem}.stats-card{background:var(--color-surface);border:3px solid var(--color-border);min-width:0;box-shadow:var(--shadow-pixel);border-radius:8px;flex-direction:column;gap:.6rem;padding:1rem;display:flex}.stats-card h2{font-size:1rem}.stats-card__caption{color:var(--color-text-light);font-size:.85rem}.stats-card__link{align-items:center;min-height:44px;display:inline-flex}.stats-card__caption a{color:var(--color-primary-dark);font-weight:700;text-decoration:underline}.stats-pair{gap:1rem;display:grid}@container main (width>=760px){.stats-pair{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}}.chart-box{width:100%;min-width:0;position:relative}.chart-box svg{display:block;overflow:visible}.chart-axis-text{fill:var(--color-text-light);font-variant-numeric:tabular-nums;font-size:12px}.chart-grid{stroke:var(--chart-grid);stroke-width:1px;shape-rendering:crispedges}.chart-tooltip{z-index:2;background:var(--color-surface);border:2px solid var(--color-border);box-shadow:var(--shadow-pixel-sm);color:var(--color-text-light);white-space:nowrap;pointer-events:none;border-radius:6px;flex-direction:column;gap:.1rem;padding:.4rem .6rem;font-size:.85rem;display:flex;position:absolute;transform:translate(-50%,calc(-100% - 6px))}.chart-tooltip--start{transform:translate(-12px,calc(-100% - 6px))}.chart-tooltip--end{transform:translate(calc(12px - 100%),calc(-100% - 6px))}.chart-tooltip strong{color:var(--color-text);font-size:1rem}.chart-tooltip__row{align-items:center;gap:.35rem;display:flex}.chart-key{border-top:3px solid;border-radius:2px;width:14px;height:0;display:inline-block}.chart-key--learned{border-color:var(--chart-series-learned)}.chart-key--mature{border-color:var(--chart-series-mature)}.stats-segmented{gap:.35rem;display:flex}.stats-segmented button{border:2px solid var(--color-border);background:var(--color-surface);min-width:64px;min-height:44px;color:var(--color-text);cursor:pointer;border-radius:6px;padding:.3rem .6rem;font-weight:700}.stats-segmented button.is-active{background:var(--color-secondary);color:var(--color-on-pastel)}.stats-table summary{min-height:44px;color:var(--color-text-light);cursor:pointer;align-items:center;font-size:.85rem;display:flex}.stats-table table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:.85rem}.stats-table th,.stats-table td{border-bottom:1px solid var(--chart-grid);text-align:left;padding:.3rem .4rem}.heat-cell{shape-rendering:crispedges}.heat-cell--0{fill:var(--chart-heat-0);background:var(--chart-heat-0)}.heat-cell--1{fill:var(--chart-heat-1);background:var(--chart-heat-1)}.heat-cell--2{fill:var(--chart-heat-2);background:var(--chart-heat-2)}.heat-cell--3{fill:var(--chart-heat-3);background:var(--chart-heat-3)}.heat-cell--4{fill:var(--chart-heat-4);background:var(--chart-heat-4)}rect.heat-cell:hover{stroke:var(--color-text);stroke-width:1.5px}.heat-legend{color:var(--color-text-light);flex-wrap:wrap;align-items:center;gap:.25rem;font-size:.8rem;display:flex}.heat-legend__swatch{border-radius:2px;width:12px;height:12px;display:inline-block}.heat-legend__note{margin-left:.25rem}.memory-levels__bars{flex-direction:column;gap:.6rem;list-style:none;display:flex}.memory-levels__row{grid-template-columns:6.5rem minmax(0,1fr);align-items:center;gap:.5rem;display:grid}.memory-levels__label{flex-direction:column;font-size:.9rem;font-weight:700;line-height:1.25;display:flex}.memory-levels__label small{color:var(--color-text-light);font-size:.75rem;font-weight:400}.memory-levels__track{align-items:center;gap:.4rem;min-width:0;display:flex}.memory-levels__bar{border-radius:0 4px 4px 0;flex:none;max-width:calc(100% - 3rem);height:20px}.memory-levels__bar--0{background:var(--chart-level-0)}.memory-levels__bar--1{background:var(--chart-level-1)}.memory-levels__bar--2{background:var(--chart-level-2)}.memory-levels__bar--3{background:var(--chart-level-3)}.memory-levels__bar--4{background:var(--chart-level-4)}.memory-levels__value{font-variant-numeric:tabular-nums;font-size:.9rem;font-weight:700}.near-forget{flex-direction:column;list-style:none;display:flex}.near-forget__item{border-bottom:1px solid var(--chart-grid);flex-wrap:wrap;justify-content:space-between;gap:.15rem .5rem;padding:.45rem 0;font-size:.9rem;display:flex}.near-forget__word{overflow-wrap:anywhere;min-width:0}.near-forget__due{color:var(--color-text-light);font-size:.85rem}.progress-chart{flex-direction:column;gap:.5rem;display:flex}.progress-chart__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.chart-legend{flex-wrap:wrap;gap:.25rem .9rem;font-size:.85rem;list-style:none;display:flex}.chart-legend li{align-items:center;gap:.35rem;display:flex}.progress-chart__svg{touch-action:pan-y}.progress-chart__svg:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.chart-area--learned{fill:var(--chart-series-learned);opacity:.1}.chart-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-line--learned{stroke:var(--chart-series-learned)}.chart-line--mature{stroke:var(--chart-series-mature)}.chart-dot{stroke:var(--color-surface);stroke-width:2px}.chart-dot--learned{fill:var(--chart-series-learned)}.chart-dot--mature{fill:var(--chart-series-mature)}.chart-crosshair{stroke:var(--color-text-light);stroke-width:1px;shape-rendering:crispedges}.typing-page,.typing-summary{flex-direction:column;gap:1rem;display:flex}.typing-summary{width:100%;max-width:720px;margin:0 auto}.typing-page__loading{text-align:center;color:var(--color-text-light);padding:2rem 0}.typing-page__title{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);color:var(--color-primary-dark);line-height:1.5}@media (width>=1200px){.typing-page__hud{display:none}}.typing-lobby{--split-columns:minmax(0, 1fr) minmax(0, 1fr);align-items:stretch}.typing-lobby__demo{background:var(--color-sky);border:3px solid var(--color-border);min-height:180px;box-shadow:var(--shadow-pixel);border-radius:8px;position:relative;overflow:hidden}.typing-lobby__block{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel-sm);border-radius:4px;padding:.35rem .7rem;font-size:1.1rem;font-weight:700;animation:2.4s ease-in-out infinite pv-sway;position:absolute;top:18%;left:12%}.typing-lobby__keycap{animation:1.4s ease-in-out infinite pv-bounce;position:absolute;bottom:40px;right:14%}.typing-lobby__ground{background:var(--color-grass);border-top:3px solid var(--color-grass-dark);height:28px;position:absolute;bottom:0;left:0;right:0}.typing-lobby__panel{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;flex-direction:column;gap:.6rem;padding:.9rem;display:flex}.typing-lobby__subtitle{font-size:1.05rem}.typing-lobby__steps{flex-direction:column;gap:.3rem;padding-left:1.3rem;display:flex}.typing-lobby__note{background:var(--color-surface-alt);border-radius:6px;padding:.5rem .6rem}.typing-lobby__tip{color:var(--color-text-light);font-size:.85rem}.typing-lobby__speed-link{width:fit-content;min-height:44px;color:var(--color-primary-dark);align-items:center;font-weight:700;text-decoration:underline;display:flex}.typing-lobby__actions{flex-wrap:wrap;gap:.5rem;margin-top:auto;display:flex}.typing-lobby__actions>*{flex:auto}.typing-race__stage{--split-columns:minmax(0, 3fr) minmax(0, 2fr);flex:1 0 auto;align-items:stretch}.typing-race__stage .question-card{min-width:0}@container main (width>=760px){.typing-race__stage .question-card{align-self:start}}@media (width<=599.98px) and (orientation:portrait),(width<=599.98px) and (height>=500px){.typing-race__stage{flex-direction:column;display:flex}.typing-race__stage .question-card{flex:1 0 auto}}.typing-race .question-card--type_en .question-card__meaning,.typing-race .question-card__meaning--sub{display:none}.typing-scene{--ground-height:34px;background:var(--color-sky);border:3px solid var(--color-border);height:240px;box-shadow:var(--shadow-pixel);border-radius:8px;position:relative;overflow:hidden}@container main (width>=560px){.typing-scene{height:320px}}@media (orientation:portrait) and (height>=900px){.typing-scene{height:42dvh}}@container main (width>=760px){.typing-scene{height:auto;min-height:max(440px,100dvh - 9rem)}}@media (orientation:landscape) and (height<=499.98px){.typing-scene{height:auto;min-height:200px}}:root[data-keyboard-open] .typing-scene{height:150px;min-height:0}@media (vertical-viewport-segments:2){.typing-race__stage{flex-direction:column;gap:0;display:flex}.typing-scene{height:calc(var(--hinge-top) - var(--main-pad-y) - env(safe-area-inset-top) - 44px - .85rem);margin-bottom:calc(var(--hinge-bottom) - var(--hinge-top))}}.typing-scene__sky{pointer-events:none;position:absolute;inset:0}.typing-scene__cloud{opacity:.8;position:absolute}.typing-scene__cloud--a{top:22%;left:6%}.typing-scene__cloud--b{top:48%;right:8%}.typing-scene__hud{z-index:2;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem;display:flex;position:absolute;top:12px;left:8px;right:8px}.typing-scene__score{background:var(--color-surface);border:2px solid var(--color-border);font-family:var(--font-pixel);font-size:var(--text-pixel-sm);border-radius:4px;padding:.1rem .5rem;line-height:1.6}.typing-scene__hud-label{font-family:var(--font-thai);color:var(--color-text-light);font-size:.8rem}.typing-scene__combo{background:var(--color-accent);border:2px solid var(--color-border);color:var(--color-on-pastel);border-radius:4px;padding:.1rem .5rem;font-size:.85rem;font-weight:700;animation:.3s ease-out pv-pop}.typing-scene__level{background:var(--color-surface);border:2px solid var(--color-border);font-family:var(--font-pixel);font-size:var(--text-pixel-sm);border-radius:4px;padding:.1rem .5rem;line-height:1.6}.typing-scene__level.is-up{background:var(--color-secondary);color:var(--color-on-pastel);animation:.3s ease-out pv-pop}.typing-scene__level.is-up .typing-scene__hud-label{color:inherit}.typing-scene__fall{--fall:0;display:contents}.typing-scene__lane{top:46px;bottom:var(--ground-height);z-index:1;position:absolute;left:8px;right:8px;container-type:size}.typing-scene__block{top:0;left:calc(var(--lane,.5) * 30%);background:var(--color-surface);border:3px solid var(--color-border);max-width:70%;box-shadow:var(--shadow-pixel-sm);transform:translateY(calc(var(--fall) * (100cqh - 100% - 8px)));will-change:transform;border-radius:4px;padding:.35rem .7rem;position:absolute}.typing-scene__meaning{overflow-wrap:anywhere;font-size:1.15rem;font-weight:700;line-height:1.35;display:block}@container main (width>=760px){.typing-scene__meaning{font-size:1.35rem}}.letter-slots{flex-wrap:wrap;gap:3px;margin-top:.3rem;display:flex}.letter-slots__slot{border:2px solid var(--color-border);background:var(--color-surface);border-radius:2px;width:.6rem;height:.75rem}.letter-slots__slot.is-filled{background:var(--color-border)}.letter-slots__gap{width:.4rem}.letter-slots--result{justify-content:center;margin:0 0 .35rem}.letter-slots--result .letter-slots__slot{width:auto;min-width:1.4rem;height:auto;color:var(--color-on-pastel);place-items:center;padding:.05rem .2rem;font-weight:700;line-height:1.3;display:grid}.letter-slots__slot.is-hit{background:var(--color-success)}.letter-slots__slot.is-miss{background:var(--color-danger);-webkit-text-decoration:underline wavy;text-decoration:underline wavy;text-decoration-thickness:1px}.typing-scene--miss .letter-slots__slot{border-color:var(--color-on-strong)}.typing-scene__burst{display:none;position:absolute;top:50%;left:50%;translate:-50% -50%}.typing-scene__timebar{z-index:2;background:var(--color-surface-alt);border-bottom:2px solid var(--color-border);height:6px;position:absolute;top:0;left:0;right:0}.typing-scene__timebar>span{background:var(--color-primary);transform-origin:0;height:100%;transform:scaleX(calc(1 - var(--fall)));display:block}.typing-scene--hit .typing-scene__block{animation:.6s ease-out .15s both pv-burst}.typing-scene--hit .typing-scene__burst{display:block}.typing-scene--miss .typing-scene__block{background:var(--color-danger);color:var(--color-on-strong)}.typing-scene--miss .typing-scene__lane{animation:.25s ease-in-out 2 pv-shake}.typing-scene__ground{height:var(--ground-height);background:var(--color-grass);border-top:3px solid var(--color-grass-dark);position:absolute;bottom:0;left:0;right:0}.typing-scene__pet{right:10%;bottom:calc(var(--ground-height) - 10px);width:48px;height:48px;position:absolute}.typing-scene__pet>.pixel-sprite-fit{width:auto;height:auto;position:absolute;inset:0}.typing-scene--hit .typing-scene__pet{animation:.5s ease-in-out 2 pv-bounce}:root[data-keyboard-open] .typing-scene__pet,:root[data-keyboard-open] .typing-scene__sky{display:none}@media (prefers-reduced-motion:reduce){.typing-scene__block{transform:none}}.typing-feedback{background:var(--color-sky);text-align:center;border-radius:6px;padding:.5rem;font-size:.95rem}.typing-feedback>p{margin:0}.typing-feedback--hit>p{font-weight:700}.typing-summary__stats{text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;display:grid}.typing-summary__stats div{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel-sm);color:var(--color-text-light);border-radius:6px;flex-direction:column;gap:.3rem;padding:.7rem .25rem;font-size:.85rem;display:flex}.typing-summary__stats strong{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);color:var(--color-text);overflow-wrap:anywhere}.typing-summary__words{grid-template-columns:minmax(0,1fr);gap:.35rem;list-style:none;display:grid}@container main (width>=560px){.typing-summary__words{grid-template-columns:repeat(2,minmax(0,1fr))}}.typing-summary__words li{background:var(--color-surface);border:2px solid var(--color-border);border-radius:6px;align-items:baseline;gap:.5rem;min-width:0;padding:.4rem .6rem;display:flex}.typing-summary__words li>span:last-child{color:var(--color-text-light);overflow-wrap:anywhere}.typing-summary__mark{font-weight:700}.typing-summary__words .is-hit .typing-summary__mark{color:var(--color-success-dark)}.typing-summary__words .is-miss .typing-summary__mark{color:var(--color-danger-dark)}.typing-scene__pause-btn{background:var(--color-surface);border:2px solid var(--color-border);min-height:32px;color:var(--color-text);cursor:pointer;border-radius:4px;margin-left:auto;padding:.1rem .6rem;font-size:.85rem;font-weight:700}@media (pointer:coarse){.typing-scene__pause-btn{min-height:44px}}@media (hover:hover) and (pointer:fine){.typing-scene__pause-btn:hover{background:var(--color-surface-alt)}}.typing-scene__pause{z-index:3;background:var(--color-surface-alt);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1rem;display:flex;position:absolute;inset:0}.typing-scene__pause-title{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);line-height:1.6}.typing-scene__pause-note{color:var(--color-text-light);font-size:.9rem}.typing-race--paused .question-card{visibility:hidden}.typing-lobby__best{font-weight:700}.typing-summary__stats .is-record{background:var(--color-accent);color:var(--color-on-pastel);animation:.4s ease-out pv-pop}.typing-summary__stats .is-record strong{color:var(--color-on-pastel)}.from-text{flex-direction:column;gap:1rem;width:100%;max-width:1100px;margin:0 auto;display:flex}.from-text__title{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);color:var(--color-primary-dark);line-height:1.5}.from-text__header{flex-direction:column;gap:.4rem;display:flex}.from-text__intro,.from-text__legend{color:var(--color-text-light);font-size:.9rem}.from-text__message{color:var(--color-success-dark);font-weight:700}.from-text__message a{min-height:44px;color:var(--color-primary-dark);align-items:center;text-decoration:underline;display:inline-flex}.from-text__layout{align-items:start}.from-text__source,.from-text__picks{background:var(--color-surface);border:3px solid var(--color-border);min-width:0;box-shadow:var(--shadow-pixel);border-radius:8px;flex-direction:column;gap:.75rem;padding:1rem;display:flex}.from-text__input{border:2px solid var(--color-border);background:var(--color-surface-alt);width:100%;min-height:10rem;color:var(--color-text);font:inherit;resize:vertical;border-radius:4px;padding:.6rem .65rem;font-size:1rem}.from-text__text{overflow-wrap:anywhere;font-size:1.05rem;line-height:2.8}.from-text__token{min-height:44px;color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0 .1rem;line-height:44px;display:inline-block}.from-text__token.is-picked{background:var(--color-secondary);color:var(--color-on-pastel);font-weight:700}@media (hover:hover) and (pointer:fine){button.from-text__token:hover:not(.is-picked){background:var(--color-surface-alt)}}.from-text__token--known{min-height:0;line-height:inherit;color:var(--color-text-light);cursor:default;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.from-text__subtitle{font-size:1rem}.from-text__field{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;font-size:.9rem;display:flex}.from-text__field select,.pick-card select,.pick-card input{border:2px solid var(--color-border);background:var(--color-surface-alt);min-height:44px;color:var(--color-text);font:inherit;border-radius:4px;padding:.45rem .55rem;font-size:1rem}.from-text__list{flex-direction:column;gap:.75rem;list-style:none;display:flex}.pick-card{border:2px solid var(--color-border);border-radius:6px;flex-direction:column;gap:.45rem;padding:.75rem;display:flex}.pick-card__head{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.pick-card__word{flex:8rem;min-width:0;font-weight:700}.pick-card__ipa{color:var(--color-text-light);font-size:.9rem}.pick-card__remove{min-width:44px;min-height:44px;color:var(--color-text-light);cursor:pointer;background:0 0;border:none;border-radius:6px;margin-left:auto}.pick-card__sentence{color:var(--color-text-light);overflow-wrap:anywhere;font-size:.85rem}.pick-card__row{flex-wrap:wrap;gap:.5rem;display:flex}.pick-card__meaning{flex:10rem;min-width:0}.pick-card__row select{flex:0 auto;min-width:0}.pick-card__suggestions{flex-wrap:wrap;gap:.4rem;display:flex}.pick-card__suggestions button{border:2px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-text);font:inherit;cursor:pointer;border-radius:999px;padding:.25rem .75rem}.pick-card__suggestions button.is-active{background:var(--color-secondary);color:var(--color-on-pastel)}.pick-card__hint{color:var(--color-text-light);font-size:.85rem}.word-details{flex-direction:column;gap:.45rem;font-size:.9rem;display:flex}.word-details__heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.25rem .5rem;margin-bottom:.25rem;display:grid}.word-details__word{font-family:var(--font-pixel);font-size:var(--text-pixel-md);overflow-wrap:anywhere;line-height:1.4}.word-details__speak{cursor:pointer;background:0 0;border:none;border-radius:6px;min-width:44px;min-height:44px;font-size:1.3rem}.word-details__meaning{grid-column:1/-1;font-size:1.2rem;font-weight:700}.word-details__example{color:var(--color-text-light);font-style:italic}.word-details__mnemonic{background:var(--color-accent);color:var(--color-on-pastel);border-radius:4px;padding:.4rem .5rem}.word-details__stats{color:var(--color-text-light);font-size:.85rem;line-height:1.6}.word-details__actions{flex-wrap:wrap;gap:.5rem;margin-top:.3rem;display:flex}.word-details__actions .pixel-button{flex:1;padding:.5rem;font-size:.95rem}.word-details__flag{font-weight:700}.word-details__flag a{min-height:44px;color:var(--color-primary-dark);align-items:center;text-decoration:underline;display:inline-flex}.word-details__ipa{font-size:1rem}.word-details__meanings{color:var(--color-text-light);padding-left:1.2rem}.word-details__source{color:var(--color-text-light);font-size:.8rem}.word-details__source a{min-height:44px;color:var(--color-primary-dark);align-items:center;text-decoration:underline;display:inline-flex}.word-form{flex-direction:column;gap:.85rem;display:flex;container:word-form/inline-size}.word-form__row{gap:.85rem;display:grid}@container word-form (width>=420px){.word-form__row{grid-template-columns:1fr 1fr}}.word-form__field{color:var(--color-text-light);flex-direction:column;gap:.3rem;font-size:.9rem;display:flex}.word-form__field input,.word-form__field select,.word-form__field textarea{border:2px solid var(--color-border);background:var(--color-surface-alt);min-height:44px;color:var(--color-text);resize:vertical;border-radius:4px;padding:.6rem .65rem;font-size:1rem}.word-form__field input:focus,.word-form__field select:focus,.word-form__field textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}.word-form__actions{gap:.75rem;margin-top:.5rem;display:flex}.word-form__actions .pixel-button{flex:1}.word-lookup{flex-direction:column;gap:.5rem;margin-top:-.35rem;display:flex}.word-lookup__row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.word-lookup__status{color:var(--color-text-light);flex:12rem;font-size:.85rem}.word-lookup__result{background:var(--color-surface-alt);border:2px dashed var(--color-border);border-radius:6px;flex-direction:column;gap:.35rem;padding:.6rem .75rem;font-size:.9rem;display:flex}.word-lookup__ipa{align-items:center;gap:.25rem;font-size:1rem;display:flex}.word-lookup__speak{cursor:pointer;background:0 0;border:none;border-radius:6px;min-width:44px;min-height:44px;font-size:1.2rem}.word-lookup__meanings{padding-left:1.2rem}.word-lookup__credit{color:var(--color-text-light);font-size:.8rem}.word-lookup__credit a,.word-form__suggestions button{color:var(--color-primary-dark)}.word-lookup__credit a{align-items:center;min-height:44px;font-weight:700;text-decoration:underline;display:inline-flex}.word-form__suggestions{color:var(--color-text-light);flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:-.4rem;font-size:.85rem;display:flex}.word-form__suggestions button{border:2px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-text);font:inherit;cursor:pointer;border-radius:999px;padding:.25rem .75rem;font-size:.95rem}.word-form__suggestions button.is-active{background:var(--color-secondary);color:var(--color-on-pastel)}.words-page{flex-direction:column;gap:.75rem;display:flex}.words-page__title{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);color:var(--color-primary-dark);line-height:1.5}.words-page__summary{color:var(--color-text-light);font-size:.9rem}.words-page__hard-link{min-height:44px;color:var(--color-danger-dark);align-items:center;font-weight:700;text-decoration:underline;display:inline-flex}.word-card__flag{margin-left:.35rem;font-family:initial}.words-layout{--split-columns:minmax(0, 1fr) minmax(320px, 1fr)}.words-layout__list{flex-direction:column;gap:.75rem;min-width:0;display:flex}.words-layout__pane{top:var(--main-pad-y);max-height:calc(100dvh - 2 * var(--main-pad-y));background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel);border-radius:8px;padding:1.25rem;position:sticky;overflow-y:auto}.words-layout__pane-title{margin-bottom:1rem;font-size:1.1rem}.words-layout__empty{text-align:center;color:var(--color-text-light);padding:2rem 0}.words-page__toolbar{gap:.5rem;display:flex}.words-page__search{border:2px solid var(--color-border);background:var(--color-surface);border-radius:4px;flex:1;min-width:0;min-height:44px;padding:.6rem}.words-page__toolbar select{border:2px solid var(--color-border);background:var(--color-surface);border-radius:4px;min-height:44px;padding:.6rem}.words-page__actions{flex-wrap:wrap;gap:.5rem;display:flex}.words-page__actions .pixel-button{flex:calc(50% - .25rem);padding:.6rem .5rem;font-size:.9rem}.words-page__status{background:var(--color-success);color:var(--color-on-strong);border:2px solid var(--color-border);border-radius:4px;padding:.5rem .75rem;font-size:.9rem}.words-page__empty{text-align:center;color:var(--color-text-light);padding:2rem 0}.word-list{flex-direction:column;gap:.6rem;display:flex}.word-card{background:var(--color-surface);border:3px solid var(--color-border);box-shadow:var(--shadow-pixel-sm);border-radius:6px;overflow:hidden}.word-card--selected{box-shadow:0 0 0 3px var(--color-primary)}.word-card__main{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:.5rem;width:100%;min-height:60px;padding:.75rem;display:flex}@media (hover:hover) and (pointer:fine){.word-card__main:hover{background:var(--color-surface-alt)}}.word-card__word{font-family:var(--font-pixel);font-size:var(--text-pixel-sm);color:var(--color-text);overflow-wrap:anywhere;line-height:1.4;display:block}.word-card__meaning{color:var(--color-text-light);margin-top:.3rem;font-size:.9rem;display:block}.word-card__badge{color:var(--color-text-light);text-align:right;flex-shrink:0;font-size:.8rem}.word-card__badge--due{color:var(--color-primary-dark);font-weight:700}.word-card__details{border-top:2px dashed var(--color-border);padding:.6rem .75rem .85rem}
