@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/224e262ef877bfa4-s.2yhdohbnxjaph.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7f11d98043fdedc9-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.1tzxx-40rxw3x.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.3aj86x1l4-kru.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.1d8-5gtibtj96.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:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/224e262ef877bfa4-s.2yhdohbnxjaph.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/7f11d98043fdedc9-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.1tzxx-40rxw3x.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.3aj86x1l4-kru.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.1d8-5gtibtj96.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:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/224e262ef877bfa4-s.2yhdohbnxjaph.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/7f11d98043fdedc9-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.1tzxx-40rxw3x.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.3aj86x1l4-kru.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.1d8-5gtibtj96.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:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/224e262ef877bfa4-s.2yhdohbnxjaph.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/7f11d98043fdedc9-s.0vsuy7nj1h55w.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/e6d00ff86ef9e699-s.1tzxx-40rxw3x.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/d8cb5ab3660140cd-s.3aj86x1l4-kru.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(../media/07454f8ad8aaac57-s.p.1d8-5gtibtj96.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:Nunito Fallback;src:local(Arial);ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.0%;size-adjust:101.39%}.nunito_9b18c5e7-module__9ocnJa__className{font-family:Nunito,Nunito Fallback;font-style:normal}.nunito_9b18c5e7-module__9ocnJa__variable{--font-nunito:"Nunito", "Nunito Fallback"}
:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--ink:#5b4452;--ink-soft:#7a6572;--muted:#a28d98;--bg:#fff6f1;--surface:#fff;--line:#f6e2df;--line-strong:#efd1cf;--pink:#ff8fab;--pink-strong:#e4507f;--pink-deep:#c43a67;--pink-soft:#ffd2de;--pink-pale:#fff0f4;--mint:#6fd0a8;--mint-strong:#1f8a5e;--mint-soft:#bfead6;--mint-pale:#e8f9f1;--butter:#ffcf5c;--butter-strong:#96660a;--butter-soft:#ffe7a6;--butter-pale:#fff7dd;--lavender:#b7a4ff;--lavender-strong:#6d55d8;--lavender-soft:#ddd3ff;--lavender-pale:#f3efff;--red:#ff8a8f;--red-strong:#d0405a;--red-soft:#ffc9cd;--red-pale:#ffeef0;--radius-lg:28px;--radius-md:20px;--radius-sm:14px;--sticker:0 5px 0 var(--line-strong);--soft-shadow:0 18px 40px -22px #c43a6759;--font-ui:var(--font-nunito), "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", ui-rounded, system-ui, sans-serif;--font-jp:"Hiragino Maru Gothic ProN", "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", "Meiryo", "Noto Sans JP", sans-serif;--font-num:var(--font-nunito), ui-rounded, "SF Pro Rounded", system-ui, sans-serif}*{box-sizing:border-box}html{background:var(--bg);-webkit-text-size-adjust:100%}body{min-height:100vh;color:var(--ink);background-color:var(--bg);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(circle at 8% -4%,#ffd3dfb3,#0000 24rem),radial-gradient(circle at 100% 0,#ffe7a673,#0000 22rem),radial-gradient(#efc4c48c 1.3px,#0000 1.7px);background-size:auto,auto,24px 24px;background-attachment:fixed;margin:0;font-weight:600;line-height:1.5}[lang=ja]{font-family:var(--font-jp)}h1,h2,h3,p{margin:0}button,a,input{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}:focus-visible{outline-offset:3px;outline:3px solid #e4507f66}.app-shell{min-height:100vh}.page{width:100%;max-width:1120px;margin:0 auto;padding:28px 24px 56px}.mascot{flex:none;display:block;overflow:visible}.primary-button,.secondary-button{text-align:center;white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:0 22px;font-size:16px;font-weight:800;line-height:1.2;transition:transform .12s,box-shadow .12s,background-color .15s,opacity .15s;display:inline-flex}.primary-button{background:var(--pink-strong);color:#fff;box-shadow:0 5px 0 var(--pink-deep);border:0}.primary-button:hover{box-shadow:0 6px 0 var(--pink-deep);background:#ec5d8a;transform:translateY(-1px)}.primary-button:active{box-shadow:0 1px 0 var(--pink-deep);transform:translateY(4px)}.primary-button:disabled,.primary-button.is-disabled{color:#fffffff2;cursor:not-allowed;background:#f3c3d1;transform:none;box-shadow:0 5px #e9aabd}.secondary-button{border:2px solid var(--line-strong);background:var(--surface);color:var(--ink);box-shadow:0 4px 0 var(--line-strong)}.secondary-button:hover{border-color:var(--pink-soft);color:var(--pink-strong);transform:translateY(-1px)}.secondary-button:active{box-shadow:0 1px 0 var(--line-strong);transform:translateY(3px)}.secondary-button:disabled{opacity:.45;box-shadow:0 4px 0 var(--line-strong);color:var(--ink);border-color:var(--line-strong);transform:none}.large-button{min-height:56px;padding:0 30px;font-size:18px}.icon-button{border:2px solid var(--line);background:var(--surface);width:42px;height:42px;color:var(--ink-soft);box-shadow:0 3px 0 var(--line-strong);border-radius:50%;flex:none;place-items:center;transition:transform .12s,color .15s,border-color .15s;display:inline-grid}.icon-button:hover{color:var(--pink-strong);border-color:var(--pink-soft);transform:translateY(-1px)}.icon-button:active{box-shadow:0 1px 0 var(--line-strong);transform:translateY(2px)}.text-action{color:var(--pink-strong);align-items:center;gap:4px;font-size:14px;font-weight:800;display:inline-flex}.text-action:hover{color:var(--pink-deep)}.pill{background:var(--pink-pale);color:var(--pink-strong);border-radius:999px;align-items:center;padding:4px 12px;font-size:13px;font-weight:800;display:inline-flex}.card-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;display:flex}.card-heading h2{font-size:19px;font-weight:800}.inline-error{border-radius:var(--radius-sm);background:var(--red-pale);color:var(--red-strong);margin:0 22px 14px;padding:10px 14px;font-size:14px}.bounce{animation:.9s ease-in-out infinite mascot-bounce}.loading-dots{gap:6px;display:inline-flex}.loading-dots i{background:var(--pink);border-radius:50%;width:9px;height:9px;animation:1s ease-in-out infinite dot-hop}.loading-dots i:nth-child(2){background:var(--butter);animation-delay:.15s}.loading-dots i:nth-child(3){background:var(--mint);animation-delay:.3s}.state-card,.analytics-error{border:2px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-height:380px;box-shadow:var(--sticker);place-items:center;padding:32px 20px;display:grid}.center-state,.analytics-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.center-state strong,.analytics-error strong{font-size:18px;font-weight:800}.center-state span{color:var(--muted);font-size:14px}.error-state .secondary-button,.analytics-error .secondary-button{margin-top:8px}.site-header{z-index:20;border-bottom:2px solid var(--line);-webkit-backdrop-filter:blur(14px)saturate(1.3);background:#fff6f1f2;position:sticky;top:0}.header-inner{align-items:center;gap:14px;max-width:1120px;height:66px;margin:0 auto;padding:0 24px;display:flex}.brand{align-items:center;gap:10px;min-width:0;margin-right:auto;display:inline-flex}.brand-mark{border:2px solid var(--pink-soft);background:var(--pink-pale);border-radius:50%;flex:none;place-items:center;width:44px;height:44px;transition:transform .25s;display:grid}.brand:hover .brand-mark{transform:rotate(-10deg)scale(1.05)}.brand-text{font-family:var(--font-num);letter-spacing:-.01em;white-space:nowrap;font-size:21px;font-weight:900}.brand-text em{color:var(--pink-strong);font-style:normal}.main-nav{border:2px solid var(--line);background:var(--surface);border-radius:999px;gap:4px;padding:4px;display:flex}.nav-link{height:36px;color:var(--ink-soft);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:0 16px;font-size:15px;font-weight:800;transition:background-color .15s,color .15s;display:inline-flex}.nav-link:hover{color:var(--pink-strong);background:var(--pink-pale)}.nav-link.active{background:var(--pink-strong);color:#fff}.home-page{grid-template-columns:minmax(0,1fr) 360px;grid-template-areas:"setup hero";align-items:start;gap:24px;display:grid}.hero-card{border-radius:var(--radius-lg);background:linear-gradient(160deg,#ffe4ec 0%,#fff3e3 100%);border:2px solid #ffd9e2;grid-area:hero;gap:18px;padding:24px;display:grid;position:sticky;top:90px;box-shadow:0 5px #f7c9d5}.hero-top{align-items:center;gap:14px;display:flex}.hero-mascot{animation:3.2s ease-in-out infinite mascot-float}.hero-copy{min-width:0}.hero-hello{color:var(--pink-strong);background:#fff;border-radius:999px;margin-bottom:4px;padding:2px 10px;font-size:13px;font-weight:700;display:inline-block}.hero-copy h1{font-size:22px;font-weight:900;line-height:1.3}.hero-copy p{color:var(--ink-soft);margin-top:4px;font-size:14px}.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.stat-chip{background:#ffffffd9;border:2px solid #fff;border-radius:18px;min-width:0;padding:12px 14px}.stat-chip span{color:var(--ink-soft);font-size:12px;font-weight:700;display:block}.stat-chip strong{font-family:var(--font-num);overflow-wrap:anywhere;margin-top:2px;font-size:22px;font-weight:900;line-height:1.2;display:block}.stat-chip small{margin-left:2px;font-size:13px;font-weight:800}.tone-pink strong{color:var(--pink-strong)}.tone-mint strong{color:var(--mint-strong)}.tone-butter strong{color:var(--butter-strong)}.tone-lavender strong{color:var(--lavender-strong)}.hero-accuracy{background:#fff;border-radius:18px;padding:14px 16px}.accuracy-label{justify-content:space-between;align-items:baseline;font-size:14px;display:flex}.accuracy-label strong{font-family:var(--font-num);color:var(--pink-strong);font-size:24px;font-weight:900}.accuracy-track{background:var(--pink-pale);border-radius:999px;height:12px;margin-top:8px;overflow:hidden}.accuracy-track span{border-radius:inherit;background:repeating-linear-gradient(-45deg, var(--pink) 0 8px, #ff9fb8 8px 16px);height:100%;transition:width .6s;display:block}.deck-panel{border:2px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--sticker);grid-area:setup;padding:26px 28px 30px}.deck-panel-head{align-items:center;gap:12px;display:flex}.deck-head-mascot{display:none}.deck-panel-head h2{font-size:24px;font-weight:900}.deck-panel-head p{color:var(--ink-soft);margin-top:2px;font-size:14px}.count-bar{background:var(--pink-pale);border-radius:999px;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-top:18px;padding:8px 8px 8px 16px;display:flex}.count-bar-label{color:var(--ink-soft);font-size:14px;font-weight:800}.count-segments{gap:4px;display:flex}.count-segment{min-width:46px;height:38px;color:var(--ink-soft);font-family:var(--font-num);background:0 0;border:0;border-radius:999px;padding:0 10px;font-size:16px;font-weight:900;transition:background-color .15s,color .15s,transform .12s}.count-segment:hover{color:var(--pink-strong)}.count-segment:active{transform:scale(.92)}.count-segment.active{background:var(--pink-strong);color:#fff;box-shadow:0 3px 0 var(--pink-deep)}.count-fine{background:#fff;border-radius:999px;align-items:center;gap:2px;margin-left:auto;padding:3px;display:inline-flex}.count-fine button{width:32px;height:32px;color:var(--pink-strong);background:0 0;border:0;border-radius:50%;place-items:center;display:grid}.count-fine button:not(:disabled):hover{background:var(--pink-pale)}.count-fine button:disabled{opacity:.35}.count-fine output{text-align:center;min-width:50px;color:var(--ink-soft);font-size:13px}.count-fine strong{color:var(--ink);font-family:var(--font-num);margin-right:2px;font-size:18px;font-weight:900}.deck-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:22px;display:grid}.deck-card{--tone:var(--pink-strong);--tone-soft:var(--pink-soft);--tone-pale:var(--pink-pale);isolation:isolate;border:2px solid var(--tone-soft);background:var(--tone-pale);min-width:0;min-height:188px;box-shadow:0 5px 0 var(--tone-soft);border-radius:24px;flex-direction:column;align-items:flex-start;padding:18px;transition:transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.deck-card.tone-mint{--tone:var(--mint-strong);--tone-soft:var(--mint-soft);--tone-pale:var(--mint-pale)}.deck-card.tone-lavender{--tone:var(--lavender-strong);--tone-soft:var(--lavender-soft);--tone-pale:var(--lavender-pale)}.deck-card.tone-butter{--tone:var(--butter-strong);--tone-soft:var(--butter-soft);--tone-pale:var(--butter-pale)}a.deck-card:hover{box-shadow:0 8px 0 var(--tone-soft);transform:translateY(-3px)rotate(-.6deg)}a.deck-card:active{box-shadow:0 1px 0 var(--tone-soft);transform:translateY(3px)}.deck-glyph{z-index:-1;color:var(--tone-soft);opacity:.75;pointer-events:none;font-size:118px;font-weight:800;line-height:1;transition:transform .25s;position:absolute;bottom:-26px;right:-4px}a.deck-card:hover .deck-glyph{transform:rotate(-8deg)scale(1.06)}.deck-icon{width:46px;height:46px;color:var(--tone);box-shadow:0 3px 0 var(--tone-soft);background:#fff;border-radius:16px;place-items:center;display:grid}.deck-title{overflow-wrap:anywhere;margin-top:14px;font-size:19px;font-weight:900;line-height:1.3}.deck-desc{color:var(--ink-soft);margin-top:2px;font-size:13px;line-height:1.5}.deck-play{color:var(--tone);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:4px;margin-top:auto;padding:7px 14px;font-size:14px;font-weight:800;transition:background-color .15s,color .15s;display:inline-flex;transform:translateY(8px)}a.deck-card:hover .deck-play{background:var(--tone);color:#fff}.deck-badge{background:var(--red-strong);color:#fff;min-width:30px;font-family:var(--font-num);text-align:center;border-radius:999px;padding:3px 9px;font-size:14px;font-weight:900;animation:.35s pop;position:absolute;top:14px;right:14px;box-shadow:0 2px #a92f45}.deck-card.is-empty{opacity:.6;box-shadow:none;cursor:default}.deck-card.is-empty .deck-play{color:var(--muted);background:0 0;padding-left:0}.quiz-page{max-width:1080px}.quiz-topbar{align-items:center;gap:14px;margin-bottom:20px;display:flex}.quiz-progress{flex:1;min-width:0;margin:0 14px;position:relative}.quiz-progress-track{background:var(--pink-soft);border:2px solid #fff;border-radius:999px;height:14px;overflow:hidden;box-shadow:inset 0 2px #c43a6714}.quiz-progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--pink), var(--pink-strong));height:100%;transition:width .4s;display:block}.quiz-progress-runner{filter:drop-shadow(0 2px #c43a6733);pointer-events:none;transition:left .4s;position:absolute;top:50%;transform:translate(-50%,-58%)}.quiz-count{color:var(--muted);font-family:var(--font-num);flex:none;font-size:15px;font-weight:800}.quiz-count strong{color:var(--ink);font-size:20px;font-weight:900}.timer-chip{border:2px solid var(--line);background:var(--surface);height:36px;color:var(--ink-soft);font-family:var(--font-num);font-variant-numeric:tabular-nums;border-radius:999px;flex:none;align-items:center;gap:5px;padding:0 12px;font-size:15px;font-weight:800;display:inline-flex}.quiz-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:22px;display:grid}.question-card{border:2px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--sticker)}.question-card-top{flex-wrap:wrap;align-items:center;gap:8px;padding:20px 26px 0;display:flex}.question-no{background:var(--pink-strong);color:#fff;font-family:var(--font-num);border-radius:999px;padding:4px 12px;font-size:14px;font-weight:900}.question-category{background:var(--lavender-pale);min-width:0;color:var(--lavender-strong);overflow-wrap:anywhere;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700}.mastered-toggle{border:2px solid var(--line);background:var(--surface);height:34px;color:var(--muted);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;margin-left:auto;padding:0 12px;font-size:13px;font-weight:800;transition:color .15s,background-color .15s,border-color .15s;display:inline-flex}.mastered-toggle:not(:disabled):hover{color:var(--butter-strong);border-color:var(--butter-soft)}.mastered-toggle.active{border-color:var(--butter);background:var(--butter-pale);color:var(--butter-strong)}.mastered-toggle.active svg{fill:var(--butter);animation:.3s pop}.mastered-toggle:disabled{opacity:.6}.copy-toggle{border:2px solid var(--pink-soft);background:var(--pink-pale);height:34px;color:var(--pink-strong);white-space:nowrap;box-shadow:0 3px 0 var(--pink-soft);border-radius:999px;align-items:center;gap:5px;margin-left:auto;padding:0 12px;font-size:13px;font-weight:800;transition:color .15s,background-color .15s,border-color .15s,box-shadow .15s,transform .15s;display:inline-flex}.copy-toggle+.mastered-toggle{margin-left:0}.copy-toggle:hover{border-color:var(--pink);transform:translateY(-1px)rotate(-2deg)}.copy-toggle:active{box-shadow:0 1px 0 var(--pink-soft);transform:translateY(2px)}.copy-toggle.copied{border-color:var(--mint);background:var(--mint-pale);color:var(--mint-strong);box-shadow:0 3px 0 var(--mint-soft)}.copy-toggle.copied svg{animation:.3s pop}.question-body{padding:22px 26px 24px}.passage{border-radius:var(--radius-md);border:2px dashed var(--butter-soft);color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;background:#fffaf2;margin-bottom:18px;padding:16px 18px;font-size:16px;font-weight:500;line-height:1.9}.question-prompt{overflow-wrap:anywhere;font-size:22px;font-weight:700;line-height:1.75}.question-prompt u,.option-text u,.review-question u,.review-answer u{-webkit-text-decoration-color:var(--pink);text-decoration-color:var(--pink);text-underline-offset:4px;text-decoration-thickness:2px}.question-blank{white-space:nowrap;align-items:baseline;display:inline-flex}.question-bracket{color:var(--pink-strong);font-weight:800}.question-blank-space{border-bottom:2.5px dashed var(--pink);width:3em;margin:0 .1em;display:inline-block;transform:translateY(-.15em)}.option-list{gap:12px;margin-top:22px;display:grid}.option-button{border:2px solid var(--line);border-radius:var(--radius-md);background:var(--surface);width:100%;min-width:0;box-shadow:0 4px 0 var(--line-strong);color:var(--ink);text-align:left;align-items:flex-start;gap:14px;padding:14px 16px;transition:transform .12s,border-color .15s,background-color .15s,box-shadow .12s,opacity .2s;display:flex}.option-button:not(:disabled):hover{border-color:var(--pink-soft);transform:translateY(-2px)}.option-button:not(:disabled):active{box-shadow:0 1px 0 var(--line-strong);transform:translateY(2px)}.option-button:disabled{cursor:default}.option-letter{background:var(--pink-pale);width:32px;height:32px;color:var(--pink-strong);font-family:var(--font-num);border-radius:50%;flex:none;place-items:center;font-size:15px;font-weight:900;transition:background-color .15s,color .15s;display:grid}.option-text{white-space:normal;overflow-wrap:anywhere;word-break:normal;flex:1;min-width:0;padding-top:2px;font-size:18px;font-weight:600;line-height:1.6}.option-button.selected{border-color:var(--pink-strong);background:var(--pink-pale);box-shadow:0 4px #f2a5bb}.option-button.selected .option-letter{background:var(--pink-strong);color:#fff;animation:.25s pop}.option-button.correct-option{border-color:var(--mint);background:var(--mint-pale);box-shadow:0 4px 0 var(--mint-soft)}.option-button.correct-option .option-letter{background:var(--mint-strong);color:#fff}.option-button.wrong-option{border-color:var(--red);background:var(--red-pale);box-shadow:0 4px 0 var(--red-soft);animation:.35s shake}.option-button.wrong-option .option-letter{background:var(--red-strong);color:#fff}.option-button.faded-option{opacity:.55}.feedback-banner{border-radius:var(--radius-md);align-items:center;gap:14px;margin:0 26px 20px;padding:14px 18px;animation:.3s slide-up;display:flex}.feedback-banner.is-correct{background:var(--mint-pale);border:2px solid var(--mint-soft)}.feedback-banner.is-wrong{background:var(--red-pale);border:2px solid var(--red-soft)}.feedback-copy{gap:2px;min-width:0;display:grid}.feedback-copy strong{font-size:18px;font-weight:900}.is-correct .feedback-copy strong{color:var(--mint-strong)}.is-wrong .feedback-copy strong{color:var(--red-strong)}.feedback-copy>span{color:var(--ink-soft);overflow-wrap:anywhere;font-size:15px;line-height:1.6}.feedback-copy b{color:var(--mint-strong);font-family:var(--font-num);font-weight:900}.question-footer{z-index:5;border-top:2px dashed var(--line);border-radius:0 0 calc(var(--radius-lg) - 2px) calc(var(--radius-lg) - 2px);-webkit-backdrop-filter:blur(8px);background:#fffffff0;justify-content:space-between;align-items:center;gap:12px;padding:16px 26px 20px;display:flex;position:sticky;bottom:0}.question-footer .primary-button{min-width:168px}.flip-icon{display:inline-flex;transform:scaleX(-1)}.quiz-sidebar{min-width:0;position:sticky;top:90px}.progress-card{border:2px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--sticker);padding:20px}.sidebar-heading{justify-content:space-between;align-items:baseline;margin-bottom:14px;display:flex}.sidebar-heading h2{font-size:16px;font-weight:800}.sidebar-heading strong{font-family:var(--font-num);color:var(--pink-strong);font-size:22px;font-weight:900}.sidebar-heading small{color:var(--muted);font-size:14px}.question-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.question-grid button{aspect-ratio:1;border:2px solid var(--line);background:var(--surface);min-width:0;color:var(--ink-soft);font-family:var(--font-num);border-radius:12px;place-items:center;font-size:14px;font-weight:800;transition:transform .12s;display:grid}.question-grid button:not(:disabled):hover{border-color:var(--pink-soft);transform:translateY(-1px)}.question-grid button.answered{background:var(--pink-pale);border-color:var(--pink-soft);color:var(--pink-strong)}.question-grid button.correct{background:var(--mint-pale);border-color:var(--mint);color:var(--mint-strong)}.question-grid button.wrong{background:var(--red-pale);border-color:var(--red);color:var(--red-strong)}.question-grid button.current{outline:3px solid var(--pink-strong);outline-offset:1px}.progress-legend{color:var(--muted);flex-wrap:wrap;gap:12px;margin-top:14px;font-size:12px;display:flex}.progress-legend span{align-items:center;gap:5px;display:inline-flex}.progress-legend i{border-radius:4px;width:10px;height:10px}.legend-current{border:2px solid var(--pink-strong)}.legend-correct{background:var(--mint)}.legend-wrong{background:var(--red)}.review-page{grid-template-columns:340px minmax(0,1fr);align-items:start;gap:24px;display:grid}.result-card{border-radius:var(--radius-lg);text-align:center;background:linear-gradient(170deg,#ffe4ec,#fff7ee 70%);border:2px solid #ffd9e2;flex-direction:column;align-items:center;padding:28px 24px;display:flex;position:sticky;top:90px;box-shadow:0 5px #f7c9d5}.result-mascot{animation:3s ease-in-out infinite mascot-float}.result-card h1{margin-top:12px;font-size:26px;font-weight:900}.result-card>p{color:var(--ink-soft);margin-top:4px;font-size:14px}.score-ring{border-radius:50%;place-items:center;width:150px;height:150px;margin-top:20px;display:grid}.score-ring>div{background:#fff;border-radius:50%;place-content:center;width:116px;height:116px;display:grid}.score-ring strong{font-family:var(--font-num);color:var(--pink-strong);font-size:38px;font-weight:900;line-height:1}.score-ring small{font-size:18px}.score-ring span{color:var(--muted);margin-top:4px;font-size:13px}.review-stats{grid-template-columns:1fr 1fr;gap:10px;width:100%;margin-top:20px;display:grid}.review-stats div{background:#fff;border-radius:18px;padding:12px}.review-stats strong{font-family:var(--font-num);font-size:22px;font-weight:900;display:block}.review-stats small{color:var(--muted);font-size:14px}.review-stats span{color:var(--muted);font-size:12px}.review-actions{gap:12px;width:100%;margin-top:20px;display:grid}.review-card{border:2px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--sticker);padding:24px}.review-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.review-item{border:2px solid var(--line);border-radius:var(--radius-md);align-items:flex-start;gap:12px;padding:16px;display:flex}.review-item.correct{border-color:var(--mint-soft);background:#fbfffd}.review-item.wrong{border-color:var(--red-soft);background:snow}.review-mark{color:#fff;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;display:grid}.correct .review-mark{background:var(--mint-strong)}.wrong .review-mark{background:var(--red-strong)}.review-content{flex:1;gap:8px;min-width:0;display:grid}.review-question{overflow-wrap:anywhere;font-size:16px;font-weight:700;line-height:1.7}.review-index{color:var(--muted);font-family:var(--font-num);margin-right:6px;font-weight:900}.review-answer{overflow-wrap:anywhere;flex-wrap:wrap;align-items:baseline;gap:6px 8px;font-size:15px;line-height:1.6;display:flex}.review-answer>span:last-child{min-width:0}.answer-tag{border-radius:999px;flex:none;padding:1px 9px;font-size:12px;font-weight:800}.answer-tag.correct{background:var(--mint-pale);color:var(--mint-strong)}.answer-tag.wrong{background:var(--red-pale);color:var(--red-strong)}.explanation{border-radius:var(--radius-sm);background:var(--butter-pale);color:var(--ink-soft);white-space:pre-wrap;overflow-wrap:anywhere;padding:12px 14px;font-size:14px;font-weight:500;line-height:1.75}.analytics-page{gap:22px;display:grid}.analytics-heading{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.analytics-heading>div{flex:1;min-width:0}.analytics-heading h1{font-size:26px;font-weight:900}.analytics-heading p{color:var(--ink-soft);font-size:14px}.analytics-loading{place-content:center;justify-items:center;gap:14px;min-height:320px;display:grid}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.metric-card{border:2px solid var(--line);border-radius:var(--radius-md);background:var(--surface);min-width:0;box-shadow:var(--sticker);padding:18px}.metric-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.metric-label{color:var(--ink-soft);font-size:14px;font-weight:700}.metric-icon{border-radius:12px;place-items:center;width:36px;height:36px;display:grid}.metric-card.tone-pink .metric-icon{background:var(--pink-pale);color:var(--pink-strong)}.metric-card.tone-mint .metric-icon{background:var(--mint-pale);color:var(--mint-strong)}.metric-card.tone-butter .metric-icon{background:var(--butter-pale);color:var(--butter-strong)}.metric-card.tone-lavender .metric-icon{background:var(--lavender-pale);color:var(--lavender-strong)}.metric-value{font-family:var(--font-num);overflow-wrap:anywhere;margin-top:10px;font-size:30px;font-weight:900;line-height:1.1}.metric-value small{color:var(--muted);margin-left:3px;font-size:15px}.analytics-grid{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:22px;display:grid}.analytics-card{border:2px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-width:0;box-shadow:var(--sticker);padding:22px 24px}.chart-switch{background:var(--pink-pale);border-radius:999px;padding:3px;display:inline-flex}.chart-switch button{height:32px;color:var(--ink-soft);background:0 0;border:0;border-radius:999px;padding:0 14px;font-size:13px;font-weight:800}.chart-switch button.active{color:var(--pink-strong);box-shadow:0 2px 0 var(--pink-soft);background:#fff}.bar-chart,.line-chart{grid-template-columns:auto minmax(0,1fr);gap:10px;padding-bottom:26px;display:grid}.chart-y{height:190px;color:var(--muted);font-family:var(--font-num);flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:11px;line-height:1;display:flex}.bars{border-bottom:2px solid var(--line);align-items:stretch;gap:6px;height:190px;display:flex}.bar-column{flex:1;justify-content:center;align-items:flex-end;min-width:0;display:flex;position:relative}.bar-value{background:linear-gradient(180deg, var(--pink), var(--pink-strong));border-radius:8px 8px 3px 3px;width:100%;max-width:24px;transition:height .4s}.bar-column:hover .bar-value{background:linear-gradient(180deg, var(--butter), #f5a623)}.bar-column small,.line-labels small{color:var(--muted);font-family:var(--font-num);white-space:nowrap;font-size:11px;font-weight:700;position:absolute;top:calc(100% + 8px)}.bar-column small{left:50%;transform:translate(-50%)}.line-plot{height:190px;position:relative}.line-plot svg{width:100%;height:100%;display:block;overflow:visible}.line-grid{stroke:var(--line);stroke-width:2px;stroke-dasharray:4 4;vector-effect:non-scaling-stroke}.line-area{fill:#ff8fab24}.line-path{fill:none;stroke:var(--pink-strong);stroke-width:3px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.line-point{stroke:var(--pink-strong);stroke-width:9px;stroke-linecap:round;vector-effect:non-scaling-stroke}.line-labels{pointer-events:none;position:absolute;inset:0}.line-labels small{transform:translate(-50%)}.breakdown-list{gap:16px;display:grid}.breakdown-line{justify-content:space-between;gap:10px;margin-bottom:6px;font-size:15px;display:flex}.breakdown-line strong{font-family:var(--font-num);color:var(--pink-strong);font-weight:900}.breakdown-track{background:var(--pink-pale);border-radius:999px;height:12px;overflow:hidden}.breakdown-track span{border-radius:inherit;background:linear-gradient(90deg, var(--pink), var(--pink-strong));height:100%;display:block}.breakdown-item:nth-child(3n+2) .breakdown-track{background:var(--mint-pale)}.breakdown-item:nth-child(3n+2) .breakdown-track span{background:linear-gradient(90deg, var(--mint), var(--mint-strong))}.breakdown-item:nth-child(3n+2) .breakdown-line strong{color:var(--mint-strong)}.breakdown-item:nth-child(3n) .breakdown-track{background:var(--lavender-pale)}.breakdown-item:nth-child(3n) .breakdown-track span{background:linear-gradient(90deg, var(--lavender), var(--lavender-strong))}.breakdown-item:nth-child(3n) .breakdown-line strong{color:var(--lavender-strong)}.breakdown-empty,.empty-history{min-height:160px;color:var(--muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.empty-history a{color:var(--pink-strong);align-items:center;gap:4px;font-weight:800;display:inline-flex}.session-table{gap:6px;display:grid}.session-row{border-radius:var(--radius-sm);grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:10px;padding:12px 16px;font-size:15px;display:grid}.session-row:not(.session-head):nth-child(2n){background:#fff8f6}.session-row>span:not(:first-child){text-align:right}.session-head{color:var(--muted);padding-top:0;padding-bottom:4px;font-size:13px}.session-row:not(.session-head)>span:first-child{font-family:var(--font-num);font-weight:800}.table-score{font-family:var(--font-num);color:var(--ink-soft);font-weight:900}.table-score.strong{color:var(--mint-strong)}.auth-page{place-items:center;min-height:100vh;padding:72px 20px 40px;display:grid}.auth-card{border:2px solid var(--line);background:var(--surface);width:100%;max-width:400px;box-shadow:0 6px 0 var(--line-strong), var(--soft-shadow);text-align:center;border-radius:32px;padding:64px 28px 28px;position:relative}.auth-mascot{margin-left:-48px;animation:3.2s ease-in-out infinite mascot-float;position:absolute;top:-50px;left:50%}.auth-brand{font-family:var(--font-num);color:var(--ink-soft);font-size:15px;font-weight:900}.auth-brand em{color:var(--pink-strong);font-style:normal}.auth-heading h1{margin-top:6px;font-size:26px;font-weight:900}.auth-heading p{color:var(--ink-soft);margin-top:4px;font-size:14px}.auth-form{text-align:left;gap:10px;margin-top:26px;display:grid}.auth-form label{font-size:14px;font-weight:800}.auth-input-wrap{border:2px solid var(--line);height:52px;color:var(--muted);background:#fffaf8;border-radius:999px;align-items:center;gap:10px;padding:0 18px;transition:border-color .15s,background-color .15s;display:flex}.auth-input-wrap:focus-within{border-color:var(--pink);color:var(--pink-strong);background:#fff}.auth-input-wrap.has-error{border-color:var(--red)}.auth-input-wrap input{min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:16px}.auth-input-wrap input::placeholder{color:var(--muted)}.auth-error{color:var(--red-strong);font-size:13px}.auth-submit{width:100%;margin-top:8px}.auth-spinner{border:2.5px solid #ffffff80;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin}@keyframes mascot-float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-6px)rotate(-3deg)}}@keyframes mascot-bounce{0%,to{transform:translateY(0)scale(1)}40%{transform:translateY(-14px)scale(.96,1.04)}80%{transform:translateY(0)scale(1.06,.94)}}@keyframes dot-hop{0%,to{transform:translateY(0)}40%{transform:translateY(-7px)}}@keyframes pop{0%{transform:scale(.6)}70%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes slide-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:900px){.home-page{grid-template-columns:minmax(0,1fr);grid-template-areas:"setup""hero"}.deck-head-mascot{animation:3.2s ease-in-out infinite mascot-float;display:block}.hero-top{display:none}.hero-card,.result-card,.quiz-sidebar{position:static}.hero-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.quiz-layout,.review-page,.analytics-grid{grid-template-columns:minmax(0,1fr)}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.question-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr))}}@media (max-width:640px){.page{padding:16px 14px 40px}.header-inner{gap:10px;height:60px;padding:0 14px}.brand-mark{width:40px;height:40px}.brand-text{font-size:19px}.nav-link{padding:0 12px}.icon-button{width:40px;height:40px}.hero-card{gap:14px;padding:18px}.hero-top .mascot{width:68px;height:68px}.hero-copy h1{font-size:19px}.hero-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.stat-chip{padding:10px 12px}.stat-chip strong{font-size:19px}.deck-panel{border-radius:24px;padding:20px 14px 22px}.deck-panel-head h2{font-size:21px}.count-bar{border-radius:22px;padding:8px}.count-bar-label{padding-left:8px}.count-segments{background:#fff;border-radius:999px;flex:100%;order:3;justify-content:space-between;padding:3px}.count-segment{flex:1;min-width:0;height:36px}.deck-grid{gap:10px;margin-top:16px}.deck-card{border-radius:20px;min-height:164px;padding:14px}.deck-icon{border-radius:14px;width:40px;height:40px}.deck-glyph{font-size:92px;bottom:-20px}.deck-title{margin-top:10px;font-size:16px}.deck-desc{font-size:12px}.deck-play{padding:6px 11px;font-size:13px;transform:translateY(4px)}.deck-badge{top:10px;right:10px}.quiz-topbar{gap:8px;margin-bottom:14px}.quiz-progress{margin:0 12px}.quiz-count{font-size:13px}.quiz-count strong{font-size:17px}.timer-chip{height:34px;padding:0 9px;font-size:13px}.question-card{border-radius:24px}.question-card-top{padding:16px 16px 0}.question-body{padding:16px 16px 20px}.passage{padding:12px 14px;font-size:15px;line-height:1.85}.question-prompt{font-size:19px;line-height:1.7}.option-list{gap:10px;margin-top:18px}.option-button{border-radius:18px;gap:10px;padding:12px}.option-letter{width:28px;height:28px;font-size:14px}.option-text{padding-top:1px;font-size:16px;line-height:1.6}.feedback-banner{gap:10px;margin:0 16px 16px;padding:12px 14px}.feedback-banner .mascot{width:44px;height:44px}.feedback-copy strong{font-size:16px}.feedback-copy>span{font-size:14px}.question-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-radius:0 0 22px 22px;gap:10px}.question-footer .primary-button{flex:1;min-width:0}.prev-button{flex:none;width:48px;padding:0}.prev-label{display:none}.progress-card{border-radius:24px;padding:16px}.result-card{padding:22px 18px}.result-card .mascot{width:80px;height:80px}.review-card{border-radius:24px;padding:18px 14px}.review-item{gap:10px;padding:12px}.review-question{font-size:15px}.review-answer{font-size:14px}.analytics-heading .mascot{width:48px;height:48px}.analytics-heading h1{font-size:22px}.analytics-heading .primary-button{min-height:42px;padding:0 16px;font-size:14px}.metric-grid{gap:10px}.metric-card{padding:14px}.metric-icon{border-radius:10px;width:30px;height:30px}.metric-value{font-size:24px}.analytics-card{border-radius:24px;padding:18px 14px}.card-heading{flex-wrap:wrap}.chart-y,.bars,.line-plot{height:160px}.bars{gap:3px}.minor-label small,small.minor-label{display:none}.session-row{gap:6px;padding:10px;font-size:14px}.auth-card{padding:60px 20px 22px}}@media (max-width:400px){.nav-link svg,.timer-chip svg{display:none}}@media (max-width:340px){.brand-text,.analytics-heading .primary-button span{display:none}}
