*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--color-bg:#f1f4fb;--color-bg-2:#f4f6fc;--color-primary:#1d49f4;--color-primary-light:#e3e9fe;--brand-dark:#0c2c91;--brand-yellow:#fad414;--brand-yellow-soft:#fff6c7;--color-secondary:#e0672e;--color-secondary-light:#f7ddcb;--color-success:#2e9e4f;--color-success-light:#e6f4ea;--color-danger:#e0524d;--color-warning:#e0a63a;--color-text:#1e2a4a;--color-text-muted:#667085;--color-border:#e1e6f2;--color-card:#fff;--color-shadow:#1e285014;--surface:#fff;--accent:#1d49f4;--accent-hover:#1539c8;--accent-2:#e0672e;--accent-2-hover:#c85a26;--shadow-sm:0 1px 2px #1e28500f;--shadow-md:0 4px 16px #14287814;--shadow-lg:0 12px 32px #1428781f;--radius-xl:24px;--ease-out:cubic-bezier(.23, 1, .32, 1);--text-strong:#131c3a;--line:#e3e7ef;--font-ui:"Pretendard Variable", Pretendard, -apple-system, "Apple SD Gothic Neo", "Malgun Gothic", sans-serif;--font-xs:.85rem;--font-sm:1rem;--font-md:1.25rem;--font-lg:1.6rem;--font-xl:2rem;--font-2xl:2.8rem;--font-3xl:4rem;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:40px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-full:9999px;--stage-read:#1d49f4;--stage-understand:#7a52d6;--stage-core:#c2501a;--stage-play:#1f7a3d;--stage-read-soft:#e7eefc;--stage-understand-soft:#efe9fb;--stage-core-soft:#fbeae1;--stage-play-soft:#e4f2e8;--stage-avatar:#c2255c;--stage-avatar-soft:#fbe7ef;--status-done:#1f7a3d;--status-doing:#b7791f;--status-todo:#c9ced6;--status-na:#9aa1ad;--status-support:#c2501a;--kid-coach:22px;--kid-title:18px;--kid-body:18px;--kid-sub:16px;--touch:48px}html,body{font-family:var(--font-ui);background-color:var(--color-bg);color:var(--color-text);-webkit-tap-highlight-color:transparent;word-break:keep-all;overflow-wrap:break-word;min-height:100vh}button{transition:transform .16s var(--ease-out), background-color .12s ease, box-shadow .12s ease, border-color .12s ease}button,a,label,select,summary{touch-action:manipulation}button:active:not(:disabled){transform:scale(.97)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);font-family:inherit;font-size:var(--font-md);border-radius:var(--radius-md);cursor:pointer;transition:transform .16s var(--ease-out), background-color .12s ease, box-shadow .12s ease, border-color .12s ease;touch-action:manipulation;white-space:nowrap;border:none;min-height:44px;padding:14px 32px;font-weight:600;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow-md)}@media (hover:hover) and (pointer:fine){.btn-primary:hover{background:var(--accent-hover);box-shadow:var(--shadow-md)}.btn-secondary:hover{background:var(--color-bg-2);box-shadow:var(--shadow-md)}.btn-ghost:hover{background:var(--color-border)}.nav-btn:hover{box-shadow:var(--shadow-sm)}.gnb-item:hover{background:var(--color-primary-light);color:var(--color-primary)}}.btn-secondary{background:var(--surface);color:var(--accent);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.btn-ghost{color:var(--color-text-muted);box-shadow:none;background:0 0}button:focus,a:focus,input:focus,select:focus,textarea:focus,[tabindex]:focus{outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.card{background:var(--surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-lg)}.badge{font-size:var(--font-xs);border-radius:var(--radius-full);justify-content:center;align-items:center;min-width:28px;padding:2px 10px;font-weight:700;display:inline-flex}.badge-primary{background:var(--color-primary-light);color:var(--accent)}.badge-success{background:var(--color-success-light);color:#2b9e5c}.text-center{text-align:center}.flex-center{justify-content:center;align-items:center;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.gnb{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);z-index:20;background:#ffffffeb;align-items:center;gap:6px;height:60px;padding:0 20px;display:flex;position:sticky;top:0}.gnb-brand{white-space:nowrap;align-items:center;gap:10px;margin-right:14px;display:flex}.gnb-brand img{width:auto;height:26px;display:block}.gnb-brand b{color:var(--brand-dark);font-size:16px;font-weight:800}.gnb-brand small{color:var(--color-text-muted);font-size:12px;font-weight:700}.gnb-brand-text{place-items:baseline start;gap:6px;display:flex}.lesson-select{color:var(--color-text-muted);align-self:center;align-items:center;gap:8px;margin-left:auto;font-size:13px;font-weight:700;display:inline-flex}.lesson-select select{font:inherit;color:var(--text-strong);border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:8px;min-height:36px;padding:0 8px;font-size:14px;font-weight:700}.lesson-select select:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.gnb-group{color:var(--color-text-muted);letter-spacing:.02em;margin:0 2px 0 8px;font-size:11px;font-weight:800}.gnb-item{font:inherit;color:var(--color-text);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:99px;min-height:40px;padding:0 16px;font-size:15px;font-weight:700}.gnb-item[aria-current=page]{background:var(--color-primary);color:#fff}.gnb-sep{background:var(--color-border);width:1px;height:22px;margin:0 8px}.gnb-tool{font:inherit;color:var(--color-text-muted);border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:99px;min-height:34px;padding:0 12px;font-size:13px;font-weight:700}.gnb-group,.gnb-tool,.gnb-item{white-space:nowrap;flex-shrink:0}.gnb-tool[aria-pressed=true]{background:var(--color-bg-2);color:var(--color-text)}.gnb-item:focus-visible,.gnb-tool:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.page-tabs{border-bottom:1px solid var(--line);gap:28px;max-width:1280px;margin:0 auto;display:flex}.page-tab{font:inherit;cursor:pointer;text-align:left;color:var(--color-text-muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;margin-bottom:-1px;padding:10px 0 12px;transition:color .12s,border-color .12s}.page-tab:active:not(:disabled){transform:none}.page-tab b{font-size:16px;font-weight:700;display:inline}.page-tab small{margin-left:8px;font-size:13px;font-weight:500;display:inline}.page-tab[aria-selected=true]{border-bottom-color:var(--text-strong);color:var(--text-strong)}.page-tab[aria-selected=true] b{font-weight:800}.page-tab b{font-size:17px}.kid-back{z-index:30;font:inherit;border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;background:#fff;border-radius:12px;padding:10px 16px;font-size:16px;font-weight:700;position:fixed;top:12px;left:16px;box-shadow:0 2px 8px #131c3a14}.sync-chip{color:var(--color-text-muted);white-space:nowrap;align-items:center;gap:6px;margin-left:auto;font-size:12px;font-weight:700;display:inline-flex}.sync-chip:before{content:"";background:var(--color-border);border-radius:50%;width:8px;height:8px}.sync-on:before{background:var(--color-success)}.sync-error:before{background:#d97706}.sync-off{color:#b45309}.sync-off:before{background:#b45309}.analysis-head{background:var(--color-bg-2);padding:16px 40px 0}.analysis-pick{flex-wrap:wrap;align-items:center;gap:20px;max-width:1280px;margin:0 auto 12px;display:flex}.book-row{gap:10px;display:flex}.book-card{font:inherit;border:1px solid var(--color-border);cursor:pointer;color:var(--color-text);background:#fff;border-radius:12px;align-items:center;gap:10px;padding:6px 14px 6px 6px;font-size:14px;font-weight:700;display:flex}.book-card img{object-fit:cover;border-radius:4px;width:34px;height:46px;display:block}.book-card[aria-checked=true]{border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary);color:var(--text-strong)}.lesson-chips{flex-wrap:wrap;gap:8px;display:flex}.lesson-chip{font:inherit;border:1px solid var(--color-border);min-height:38px;color:var(--color-text);cursor:pointer;background:#fff;border-radius:99px;padding:0 16px;font-size:14px;font-weight:700}.lesson-chip[aria-checked=true]{background:var(--text-strong);border-color:var(--text-strong);color:#fff}.lesson-chips-note{color:var(--color-text-muted);margin:0;font-size:13px;font-weight:600}.book-card:focus-visible,.lesson-chip:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}@media (max-width:760px){.analysis-head{padding:12px 16px 0}}.kid-attention{z-index:100;background:var(--brand-dark);color:#fff;text-align:center;place-content:center;justify-items:center;gap:24px;padding:24px;animation:.2s ease-out kidAttn;display:grid;position:fixed;inset:0}.kid-attention img{width:min(220px,40vw);height:auto}.kid-attention p{letter-spacing:-.02em;font-size:clamp(28px,6vw,44px);font-weight:800;line-height:1.3}@keyframes kidAttn{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.kid-attention{animation:none}}.update-notice{z-index:1000;color:#fff;background:#1a1a1a;border-radius:999px;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 12px 10px 18px;font-size:16px;font-weight:700;display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #00000040}.update-notice button{font:inherit;color:#1a1a1a;cursor:pointer;background:#ffd23f;border:0;border-radius:999px;flex:none;min-height:40px;padding:0 16px;font-weight:800}.update-notice button:active{transform:scale(.97)}.update-notice span{white-space:nowrap}.kid-wrong-lesson{z-index:95;color:#8a4b00;text-align:center;word-break:keep-all;background:#fff4e5;border-radius:14px;max-width:min(560px,100vw - 32px);margin:0;padding:14px 20px;font-size:18px;font-weight:700;line-height:1.45;animation:.2s ease-out kidAttn;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #1428781f}:root:lang(ja){--font-ui:"Pretendard Variable", Pretendard, "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", Meiryo, "Noto Sans JP", -apple-system, "Malgun Gothic", sans-serif}:lang(ja) body{font-family:var(--font-ui)}
