:root{--primary:#2f6fed;--primary-text:#1d55bd;--primary-light:#eaf1fe;--ok:#157a52;--ok-bg:#e5f6ef;--warn:#9a4d00;--warn-bg:#fdf0dc;--ink:#1f2937;--sub:#596273;--focus-ring:#174ea6;--line:#e5e7eb;--bg:#f5f6f8;--card:#ffffff;--radius:14px;--unit-state-confirmed-bg:#157a52;--unit-state-confirmed-fg:#ffffff;--unit-state-confirmed-detail:#e9f5f0;--unit-state-good-bg:#e5f6ef;--unit-state-good-fg:#157a52;--unit-state-tentative-a:#eef4ff;--unit-state-tentative-b:#d8e6ff;--unit-state-working-bg:#fdf0dc;--unit-state-working-fg:#9a4d00;--unit-state-todo-bg:#f1f3f5;--unit-state-todo-fg:#596273;--dojo-accent:#7653c6;--dojo-accent-dark:#4b3591;--dojo-accent-soft:#f3efff;--dojo-accent-line:#d8ccfa}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--ink)}body{font-family:Hiragino Sans,Noto Sans JP,sans-serif;line-height:1.6}main{max-width:480px;margin:0 auto;padding:16px 16px calc(96px + env(safe-area-inset-bottom))}h1{font-size:20px;margin:8px 0}h2{font-size:16px;margin:12px 0 8px}a{color:var(--primary-text);text-decoration:none}.card{background:var(--card);border:1px solid var(--line);margin-bottom:12px}.btn,.card{padding:14px}.btn{display:block;width:100%;text-align:center;background:var(--primary);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer}.btn:disabled{opacity:.4;cursor:default}.btn.ok{background:var(--ok)}.btn.ghost{color:var(--primary-text);border:1.5px solid var(--primary)}.pill{display:inline-block;font-size:12px;font-weight:700;border-radius:999px;padding:3px 10px}.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.warn{background:var(--warn-bg);color:var(--warn)}.pill.base{background:var(--primary-light);color:var(--primary-text)}.bar{height:10px;background:var(--line);border-radius:999px;overflow:hidden}.bar>i{display:block;height:100%;background:var(--primary)}.bar>i.ok{background:var(--ok)}.bar>i.warn{background:var(--warn)}.bar>i.benchmark{background:#6d4cc3}.sub{color:var(--sub);font-size:12px}.big{font-size:22px;font-weight:800}.row{justify-content:space-between;align-items:center;gap:8px}.row,.task{display:flex}.task{gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;margin-bottom:8px;background:var(--card)}.task .num{width:28px;height:28px;border-radius:50%;background:var(--primary-light);color:var(--primary-text);font-weight:800;display:flex;align-items:center;justify-content:center;flex-shrink:0}.task.done{opacity:.55}.task.done .num{background:var(--ok-bg);color:var(--ok)}.choice{display:block;width:100%;text-align:left;background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:12px;margin-bottom:8px;font-size:15px;cursor:pointer}.choice.sel{border-color:var(--primary);background:var(--primary-light)}.choice.correct{border-color:var(--ok);background:var(--ok-bg)}.choice.wrong{border-color:var(--warn);background:var(--warn-bg)}table{width:100%;border-collapse:collapse;font-size:12px}td,th{border-bottom:1px solid var(--line);padding:6px 4px;text-align:left}.note{font-size:12px;color:var(--sub);background:var(--warn-bg);border-radius:8px;padding:8px;margin-top:8px}.note.ok-note{background:var(--ok-bg)}input:not([type]),input[type=date],input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{width:100%;padding:12px;border:1.5px solid var(--line);border-radius:12px;font-size:16px;background:var(--card);font-family:inherit;line-height:1.6;-webkit-appearance:none;-moz-appearance:none;appearance:none}textarea{resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--primary)}.nav{position:fixed;bottom:0;left:0;right:0;background:var(--card);border-top:1px solid var(--line);justify-content:space-around;padding:8px 0 calc(8px + env(safe-area-inset-bottom));z-index:10}.nav,.nav a{display:flex}.nav a{font-size:12px;color:var(--sub);text-align:center;padding:10px 2px;min-height:44px;align-items:center}.nav a.active,.nav a[aria-current=page]{color:var(--primary-text);font-weight:700}.qtable{margin:10px 0;overflow-x:auto}.spark{width:100%;height:64px}.qtext{font-size:17px;line-height:2;letter-spacing:.02em}.qtext p{margin:0 0 10px}.qtext p:last-child{margin-bottom:0}.qtext ruby rt{font-size:.5em;letter-spacing:0}.qpassage .qtext{font-size:inherit;line-height:inherit}.qpassage{background:var(--card);border-left:4px solid var(--primary);border-radius:8px;padding:12px 14px;margin-bottom:12px;line-height:2.1;font-size:16px}.formula{font-size:22px;font-weight:700;text-align:center;padding:10px 8px;margin:8px 0;background:var(--primary-light);border-radius:10px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.06em;overflow-x:auto}.choice{line-height:1.9}.btn,.choice{min-height:48px}.task .num{width:36px;height:36px;font-size:15px}button.numbtn{border:none;cursor:pointer;position:relative;padding:0}button.numbtn:after{content:"";position:absolute;inset:-8px;border-radius:50%}button.numbtn:focus-visible{outline:3px solid rgba(47,111,237,.45);outline-offset:2px}.choice.compact{padding:10px 6px;font-size:12px;margin-bottom:0;min-height:44px;line-height:1.5}.linklike{display:inline-block;min-height:44px;padding:12px 16px;background:none;border:none;cursor:pointer;color:var(--sub);text-decoration:underline;font-size:13px}.linklike.primary{color:var(--primary-text)}.qchip{width:44px;height:44px;border-radius:50%;font-size:13px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;border:1.5px solid transparent;padding:0;transition:transform var(--dur-fast) ease,border-color var(--dur-fast) ease}.qchip.ok{background:var(--ok-bg);color:var(--ok)}.qchip.warn{background:var(--warn-bg);color:var(--warn)}.qchip.sel{border-color:currentColor;transform:scale(1.1)}.qchip:focus-visible{outline:3px solid rgba(47,111,237,.45);outline-offset:2px}.qdetail{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.btn:focus-visible,.choice:focus-visible,.linklike:focus-visible,a:focus-visible{outline:3px solid rgba(47,111,237,.45);outline-offset:2px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:is(a,button,input,select,textarea,summary,[tabindex]:not([tabindex="-1"])):focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}:is(input,select,textarea)[aria-invalid=true]{border-color:var(--warn)}:root{--ease-out:cubic-bezier(0.22,1,0.36,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--dur-fast:120ms;--dur-base:240ms;--dur-slow:400ms}@keyframes enter-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.anim-enter{animation:enter-up var(--dur-base) var(--ease-out) both}.anim-enter-d1{animation-delay:60ms}.anim-enter-d2{animation-delay:.12s}.anim-enter-d3{animation-delay:.18s}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.anim-pop{animation:pop-in .36s var(--ease-spring) both}.bar>i{transition:width var(--dur-slow) var(--ease-out)}@keyframes soft-pulse{0%,to{transform:scale(1);box-shadow:0 0 0 0 rgba(217,119,6,.35)}50%{transform:scale(1.06);box-shadow:0 0 0 6px rgba(217,119,6,0)}}.anim-pulse{display:inline-block;animation:soft-pulse 1.6s ease-in-out infinite}.btn,.choice{transition:transform var(--dur-fast) ease,background-color var(--dur-fast) ease,border-color var(--dur-fast) ease,opacity var(--dur-fast) ease}.btn:active:not(:disabled){transform:scale(.97)}.choice:active{transform:scale(.98)}@keyframes check-pop{0%{transform:scale(.4)}70%{transform:scale(1.25)}to{transform:scale(1)}}.task.done .num{animation:check-pop .3s var(--ease-spring) both}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.anim-bob{animation:bob 3s ease-in-out infinite}.mascot-center{margin:20px 0 8px}.mascot-center,.stepdots{display:flex;justify-content:center}.stepdots{gap:8px;margin:4px 0 14px}.stepdots i{width:10px;height:10px;border-radius:50%;background:var(--line);transition:background-color var(--dur-base) ease,transform var(--dur-base) var(--ease-spring)}.stepdots i.done{background:var(--ok)}.stepdots i.now{background:var(--primary);transform:scale(1.35)}.lesson-hook{text-align:center;padding:24px 16px;background:var(--primary-light);border-color:transparent}.lesson-hook .hook-title{font-size:20px;font-weight:800;line-height:1.7;margin:12px 0 8px}.lesson-hook .hook-lead{font-size:15px;line-height:2}.lesson-hook .hook-lead .qtext{font-size:15px}.lesson-key{font-weight:700;background:linear-gradient(transparent 62%,var(--warn-bg) 62%);padding:0 2px}.ex-step{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}.ex-step:last-child{margin-bottom:0}.ex-num{width:28px;height:28px;border-radius:50%;flex-shrink:0;margin-top:4px;background:var(--primary);color:#fff;font-size:14px;font-weight:800;display:flex;align-items:center;justify-content:center}.ex-body{flex:1 1;min-width:0}.ex-body,.ex-body .qtext{font-size:15px;line-height:1.9}.sum-list{list-style:none;text-align:left}.sum-list li{position:relative;padding:6px 0 6px 32px;font-size:15px;line-height:1.9}.sum-list li:before{content:"✓";position:absolute;left:2px;top:9px;width:22px;height:22px;border-radius:50%;background:var(--ok-bg);color:var(--ok);font-size:13px;font-weight:800;display:flex;align-items:center;justify-content:center}.hint{background:var(--primary-light);border-radius:10px;padding:12px;margin-top:10px;font-size:14px;line-height:1.9}.hint .hint-label{display:block;font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--primary-text);margin-bottom:4px}.lesson-nav{display:flex;gap:10px;margin-top:4px}.lesson-nav .btn{flex:1 1;min-height:44px;padding:11px 12px;font-size:15px;border-radius:11px;box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 3px 9px rgba(47,111,237,.2)}.lesson-nav .btn.back{flex:0 0 96px;background:var(--card);color:var(--sub);border:1.5px solid var(--line);font-weight:700;box-shadow:none}.dayrow{display:flex;justify-content:space-between;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;cursor:pointer;border-top:1px solid var(--line);padding:10px 2px;min-height:44px;font-size:13px}.dayrow.empty{color:var(--sub);cursor:default}.daydetail{background:var(--bg);border-radius:0;padding:10px;margin-bottom:8px}.qrow{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:6px 2px;min-height:36px;font-size:12px}.qrow-text{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}.qrow-detail{background:var(--card);border:1px solid var(--line);border-radius:0;padding:10px;margin:4px 0 8px}.attempt-answer-comparison{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:8px;gap:8px;margin:10px 0 0}.attempt-answer-box{min-width:0;margin:0;border:1px solid var(--line);border-radius:0;padding:9px 10px}.attempt-answer-box.child{background:var(--bg)}.attempt-answer-box.correct{background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 30%,var(--line))}.attempt-answer-box dt{color:var(--sub);font-size:12px;font-weight:700}.attempt-answer-box dd{margin:3px 0 0;color:var(--ink);font-size:14px;font-weight:700;white-space:pre-wrap;overflow-wrap:anywhere}.attempt-answer-box.legacy dd,.attempt-answer-box.unanswered dd{color:var(--sub);font-weight:600}.attempt-answer-note{margin:6px 0 0}@media (min-width:640px){.attempt-answer-comparison{grid-template-columns:repeat(2,minmax(0,1fr))}}.uchip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:700;border:1.5px solid transparent;cursor:pointer;min-height:32px}.uchip .uchip-state{font-size:10px;font-weight:800;opacity:.85}.uchip.confirmed{background:var(--ok);color:#fff}.uchip.good,.uchip.tentative{background:var(--ok-bg);color:var(--ok)}.uchip.tentative{border-style:dashed;border-color:var(--ok)}.uchip.working{background:var(--warn-bg);color:var(--warn)}.uchip.todo{background:#f1f3f5;color:var(--sub)}.uchip.sel{border-color:currentColor}.uchip:focus-visible{outline:3px solid rgba(47,111,237,.45);outline-offset:2px}.parent-shell{font-size:16px;line-height:1.7}.parent-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.parent-page-header h1{margin-top:0}.section-title{margin:0;font-size:17px;line-height:1.5}.parent-subheading{margin:8px 0 0;font-size:15px}.unit-detail-title{margin:0;font-size:14px}.parent-shell .dayrow,.parent-shell .note,.parent-shell .qrow,.parent-shell .sub,.parent-shell table{font-size:14px}.parent-shell .pill{font-size:13px}.parent-shell td,.parent-shell th{padding:10px 6px}.parent-shell .qrow{min-height:44px;padding:8px 2px}.parent-shell .uchip{min-height:44px;padding:9px 12px;font-size:13px}.parent-shell .uchip .uchip-state{font-size:12px}.parent-form-row{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(136px,.85fr) 104px;grid-gap:8px;gap:8px;align-items:end;margin-top:12px}.field{min-width:0}.field-label{display:block;margin-bottom:4px;font-size:14px;font-weight:700}.field-hint{margin-top:6px}.parent-chart{margin-top:14px}.parent-chart h3{margin:0 0 4px;font-size:15px}.parent-table-wrap{overflow-x:auto}.dayrow,.qrow,.uchip{color:inherit;font-family:inherit}.account-onboarding{max-width:640px;padding-bottom:48px}.account-brand{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px 0 24px;color:var(--ink);font-size:21px}.account-brand .brand-mark{width:34px;height:34px;border-radius:10px;font-size:19px}.account-intro{margin-bottom:18px;text-align:center}.account-intro h1{max-width:560px;margin:10px auto 8px;font-size:clamp(24px,4vw,32px);line-height:1.42;letter-spacing:-.02em}.account-intro p{max-width:560px;margin:0 auto;color:var(--sub);font-size:15px}.account-learner-note{max-width:560px;margin:10px auto 0;padding:10px 14px;background:var(--primary-light);border:1px solid #c9d9f6;border-radius:12px;color:var(--ink);font-size:14px;line-height:1.7;text-align:left}.account-value-card{padding:16px 18px;border-color:#c9d9f6;background:#f7faff}.account-value-card ul{display:grid;grid-gap:10px;gap:10px;list-style:none}.account-value-card li{display:grid;grid-template-columns:110px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:baseline;padding-bottom:9px;border-bottom:1px solid #dbe6f8}.account-value-card li:last-child{padding-bottom:0;border-bottom:0}.account-value-card b{color:var(--primary-text);font-size:14px}.account-value-card span{color:var(--sub);font-size:14px}.account-migration-note{display:flex;flex-direction:column;gap:3px;margin:12px 0;padding:12px 14px;border:1px solid #b8decf}.account-migration-note b{color:var(--ok);font-size:14px}.account-migration-note span{font-size:13px}.account-form-card{padding:18px;box-shadow:0 10px 28px rgba(23,53,95,.06)}.account-form-note{margin-top:9px;color:var(--sub);font-size:12px;text-align:center}.account-deleted-note{margin-bottom:14px;border-color:#b8decf}.account-delete-card{margin-top:18px;border-color:#e8caca;background:#fffafa}.account-delete-details>summary{color:#8f2929;font-weight:800;cursor:pointer}.account-delete-content{display:grid;grid-gap:14px;gap:14px;margin-top:14px}.account-delete-warning{padding:13px 14px;border:1px solid #e4b6b6;border-radius:10px;background:#fff3f3;color:#762323}.account-delete-warning b{display:block;margin-bottom:4px}.account-delete-warning p{margin:0;color:#762323;font-size:14px;line-height:1.65}.account-delete-form{display:grid;grid-gap:12px;gap:12px}.account-delete-form input{width:100%}.account-delete-error{margin-top:0}.account-delete-button{width:100%}.account-delete-button:disabled{opacity:.52;cursor:not-allowed}@media (max-width:520px){.account-value-card li{grid-template-columns:1fr;gap:1px}}@media (min-width:960px){main.shell.parent-shell.account-onboarding{width:min(640px,calc(100% - 48px));max-width:640px;margin:0 auto;padding:44px 0 56px}}.skip-link{position:fixed;top:8px;left:8px;z-index:100;padding:10px 14px;border-radius:8px;background:var(--ink);color:#fff;font-weight:700;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.parent-shell{--parent-surface:#fff;--parent-border:#dce3ed;--parent-navy:#17355f;--parent-blue:#2f6fed;--parent-soft:#eef4ff}.parent-page-header{align-items:center;margin-bottom:18px}.parent-page-header h1{font-size:24px;line-height:1.35}.parent-eyebrow{margin:0 0 3px;color:#64748b;font-size:12px;font-weight:800;line-height:1.4;letter-spacing:.1em;text-transform:uppercase}.parent-child-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;border:1px solid var(--parent-border);border-radius:10px;background:#fff;font-size:14px;font-weight:700;white-space:nowrap}.parent-child-link:after{content:" →";margin-left:4px}.parent-setup-pill{margin-left:8px;letter-spacing:normal;text-transform:none;vertical-align:middle}.parent-setup-card h2{font-size:18px;line-height:1.4;margin:0 0 6px}.parent-setup-card>p:not(.parent-eyebrow){color:var(--sub);font-size:14px;margin:0}.parent-setup-steps{list-style:none;margin:12px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.parent-setup-steps li{display:flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:13px;font-weight:700;color:var(--sub);background:var(--card)}.parent-setup-steps li.done{border-color:var(--ok);color:var(--ok);background:var(--ok-bg)}.parent-setup-num{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:var(--line);color:var(--ink);font-size:11px}.parent-setup-steps li.done .parent-setup-num{background:var(--ok);color:#fff}.parent-setup-done{font-size:11px;font-weight:800}.parent-guide-link{margin-left:10px;letter-spacing:normal;text-transform:none;font-size:12px;font-weight:700}.parent-dashboard{display:grid;grid-template-columns:minmax(0,1fr);grid-template-areas:"status" "action" "portfolio" "recent" "mastery" "scores" "account";align-items:start;grid-gap:14px;gap:14px}.parent-area-portfolio>.card,.parent-area-recent>.card,.parent-dashboard>.card{margin-bottom:0;border-color:var(--parent-border);border-radius:16px;box-shadow:0 8px 24px rgba(23,53,95,.055)}.parent-area-recent>.card{height:100%}.parent-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.parent-todo .parent-todo-title{margin:0 0 6px;font-weight:800;color:var(--ink)}.parent-todo ul{display:grid;grid-gap:4px;gap:4px;margin:0;padding-left:1.25em}.parent-todo li{line-height:1.7}.parent-status-card{position:relative;overflow:hidden;padding:20px;border:none!important;background:linear-gradient(135deg,#17355f,#245baf);color:#fff}.parent-status-card.ok{background:linear-gradient(135deg,#0d503c,#0e6b50)}.parent-status-card.warn{background:linear-gradient(135deg,#713800,#8a4305)}.parent-status-card:after{content:"";position:absolute;width:190px;height:190px;right:-82px;top:-96px;border-radius:50%;background:rgba(255,255,255,.07);pointer-events:none}.parent-status-card .parent-eyebrow,.parent-status-card .parent-status-detail,.parent-status-card .section-title{color:#fff}.parent-status-card .pill{background:rgba(0,0,0,.24);color:#fff}.parent-status-headline{margin-top:8px;font-size:clamp(24px,3vw,32px);font-weight:850;line-height:1.35;letter-spacing:-.02em}.parent-status-detail{margin-top:6px;font-size:14px}.parent-status-progress{height:9px;margin-top:14px;background:rgba(0,0,0,.24)}.parent-status-progress>i{background:#fff}.parent-status-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin-top:16px}.parent-status-stats>div{min-width:0;padding:10px 11px;border:1px solid rgba(255,255,255,.28);border-radius:11px;background:rgba(0,0,0,.16)}.parent-status-stats dt{color:#fff;font-size:12px;font-weight:700}.parent-status-stats dd{margin-top:2px;font-size:14px;line-height:1.45}.parent-status-stats dd b{font-size:21px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.parent-status-stats dd small{display:block;color:#fff;font-size:12px}.parent-inline-details{margin-top:10px}.parent-inline-details summary,.parent-plan-refresh{color:#fff}.parent-inline-details summary{display:inline-flex;align-items:center;min-height:44px;cursor:pointer;list-style:none;font-size:13px;font-weight:700}.parent-inline-details summary::-webkit-details-marker{display:none}.parent-inline-details summary:after{content:"＋";margin-left:6px}.parent-inline-details[open] summary:after{content:"−"}.parent-subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px 14px;gap:8px 14px;padding:8px 0 4px}.parent-subject-meter{font-size:12px}.parent-subject-meter .bar{height:6px;margin-top:4px;background:rgba(255,255,255,.22)}.parent-subject-meter .bar>i{background:#fff}.parent-plan-refresh{display:inline-flex;margin-top:2px;padding-left:0}.parent-status-basis{margin-top:10px;color:rgba(255,255,255,.82);font-size:12px;line-height:1.5}.parent-action-card{padding:20px}.parent-action-card.base{background:#f4f7fc;border-color:#d8e3f5}.parent-action-card.ok{background:#edf8f3;border-color:#bfe4d4}.parent-action-card.warn{background:#fff7eb;border-color:#f1cf9d}.parent-action-card h2{margin:5px 0 8px;font-size:22px;line-height:1.45}.parent-action-card p:not(.parent-eyebrow){color:var(--sub);font-size:14px}.parent-action-card .btn{margin-top:16px}.parent-action-ok{display:flex;align-items:center;min-height:48px;margin-top:16px;padding:10px 13px;border-radius:10px;background:#d9f1e6;color:var(--ok);font-size:14px;font-weight:800}.parent-action-ok:before{content:"✓";display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;margin-right:8px;border-radius:50%;background:var(--ok);color:#fff}.parent-empty-features{margin:12px 0 0;padding-left:20px}.parent-empty-features li{margin-top:4px;color:var(--ink);font-weight:700}.parent-answer-list{margin:6px 0 0;padding:0;list-style:none}.parent-answer-list li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;padding:8px 0;border-top:1px solid var(--line);color:var(--ink);font-size:13px;line-height:1.7}.parent-answer-list li:first-child{border-top:0}.parent-answer-list .pill{flex:none;min-width:34px;justify-content:center}.parent-answer-list .sub{font-size:12px}.parent-mastery-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin:8px 0 12px}.parent-mastery-kpis>div{min-width:0;padding:12px 9px;border-radius:12px;background:#f5f7fa;text-align:center}.parent-mastery-kpis strong{display:block;color:var(--parent-navy);font-size:28px;line-height:1.2;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.parent-mastery-kpis span{display:block;margin-top:4px;color:var(--sub);font-size:12px;font-weight:700}.parent-mastery-stack{height:11px}.parent-mastery-stack>i.pending{background:#8eb6f3}.parent-mastery-stack>i.remaining{background:#e3e7ed}.parent-mastery-note{margin-top:8px}.parent-trial-predisclosure{margin-top:14px;padding:12px 14px;border:1px solid var(--parent-border);border-radius:10px;background:#f6f9ff;line-height:1.9}.parent-trial-predisclosure>strong{display:block;margin-bottom:4px}.parent-trial-predisclosure p{margin:6px 0 0}.parent-checkout-confirm{margin-top:12px;padding:14px 16px;border:1px solid var(--parent-border);border-radius:10px;background:#f8fafd}.parent-checkout-points{margin:8px 0 0;padding-left:20px}.parent-checkout-points li{margin:4px 0;line-height:1.9}.parent-checkout-legal{margin:10px 0 12px}.parent-checkout-legal a{color:var(--primary-text)}.parent-checkout-consent{display:flex;gap:8px;align-items:flex-start;margin:0 0 12px;line-height:1.9;text-align:left}.parent-checkout-consent input{flex:0 0 auto;margin-top:6px;width:18px;height:18px}.parent-campaign-code{margin-top:0;margin-bottom:12px;border-top:0}.parent-campaign-code-row{display:grid;grid-gap:6px;gap:6px;margin-top:8px}.parent-campaign-code-row input{width:100%;padding:10px 12px;border:1px solid var(--parent-border);border-radius:8px;font:inherit;text-transform:uppercase}.parent-campaign-status{text-align:left}.parent-campaign-status p{margin:4px 0 0;line-height:1.9}.account-legal-note a{color:inherit}.account-trial-note{text-align:left;line-height:1.9}.account-trial-note p{margin:6px 0 0}.account-free-scope{text-align:left;line-height:1.9}.account-free-scope p{margin:6px 0 0}.parent-disclosure{margin-top:12px;border-top:1px solid var(--parent-border)}.parent-disclosure>summary{position:relative;display:flex;align-items:center;min-height:48px;padding:10px 34px 10px 2px;cursor:pointer;list-style:none;color:var(--primary-text);font-size:14px;font-weight:800}.parent-disclosure>summary::-webkit-details-marker{display:none}.parent-disclosure>summary:after{content:"+";position:absolute;right:3px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--primary-light);color:var(--primary-text)}.parent-disclosure[open]>summary:after{content:"−"}.parent-disclosure[open]>summary{border-bottom:1px solid var(--parent-border)}.parent-rule{border:0;border-top:1px solid var(--parent-border);margin:16px 0 10px}.parent-card-footnote{margin-top:8px}.parent-chart-grid{display:grid;grid-gap:10px;gap:10px}.parent-chart{min-width:0;margin-top:4px;padding:10px 11px;border:1px solid var(--parent-border);border-radius:12px;background:#fbfcfe}.parent-chart h3{font-size:14px}.parent-chart .spark{min-height:92px}.parent-chart-target{margin-top:3px;color:var(--ok);font-size:12px;font-weight:700;text-align:right}.parent-score-entry,.parent-score-table{margin-top:10px}.parent-score-entry form{padding-top:10px}.parent-mock-card .parent-form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-mock-card .parent-form-row .field:last-child{grid-column:1/-1;max-width:180px}.parent-empty-copy{margin-top:12px}.parent-account-card{padding-top:16px;padding-bottom:16px}.parent-account-line{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:12px;gap:12px;color:var(--sub);font-size:14px}.parent-account-line>*{min-width:0}.parent-account-line>span{overflow-wrap:anywhere}.parent-account-line>a:not(.btn){font-weight:700;white-space:nowrap}.parent-plan-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:10px}.parent-plan-details>:not(summary){margin-top:10px}.parent-data-details>p{margin:12px 0}.parent-danger-button{min-height:44px;padding:9px 12px;border:1px solid #d8a5a5;border-radius:9px;background:#fff7f7;color:#9f2f2f;font:inherit;font-size:13px;font-weight:800;cursor:pointer}.parent-danger-button:hover{background:#fdecec}.parent-danger-button:focus-visible{outline:3px solid rgba(159,47,47,.28);outline-offset:2px}.parent-dashboard-footer{margin-top:16px}.parent-status-card :is(a,button,summary):focus-visible{outline-color:#fff;box-shadow:0 0 0 2px rgba(0,0,0,.72)}@media (max-width:560px){.parent-page-header{align-items:flex-start}.parent-page-header h1{font-size:22px}.parent-child-link{min-height:44px;padding:7px 11px}.parent-action-card,.parent-status-card{padding:17px}.parent-status-headline{font-size:24px}.parent-status-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-status-stats>div:last-child{grid-column:1/-1}.parent-subject-grid{grid-template-columns:1fr}.parent-action-card h2{font-size:20px}.parent-mastery-kpis strong{font-size:24px}.parent-account-line{grid-template-columns:1fr}.parent-account-line .btn{width:100%}.parent-mock-card .parent-form-row,.parent-plan-actions{grid-template-columns:1fr}.parent-mock-card .parent-form-row .field:last-child{grid-column:auto;max-width:none}.parent-nav a{flex:1 1;min-width:44px;justify-content:center}.parent-page-header{flex-direction:column}.parent-form-row{grid-template-columns:1fr}}.unit-row{border-top:1px solid var(--line);padding:10px 0}.unit-row:first-of-type{border-top:none;padding-top:4px}.task.locked{opacity:.6}.task.locked .num{background:var(--bg);color:var(--sub)}@media (prefers-reduced-motion:reduce){.anim-bob,.anim-enter,.anim-enter-d1,.anim-enter-d2,.anim-enter-d3,.anim-pop,.anim-pulse,.task.done .num{animation:none}.bar>i,.btn,.choice{transition:none}.btn:active:not(:disabled),.choice:active{transform:none}.stepdots i{transition:none}.stepdots i.now{transform:none}}.nav-brand{display:none}@media (min-width:768px){main{max-width:720px;padding:24px 32px calc(96px + env(safe-area-inset-bottom))}h1{font-size:22px}.card{padding:18px 20px}.qtext{font-size:18px}.ex-body .qtext{font-size:16px}.qpassage{font-size:17px;padding:16px 20px}.formula{font-size:24px}table{font-size:13px}td,th{padding:8px 6px}.spark{height:auto;aspect-ratio:300/64}.grid-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-column-gap:16px;column-gap:16px;align-items:start}}@media (min-width:1024px){:root{--sidebar-w:232px}main{--shell-max:720px;max-width:var(--shell-max);padding:32px 40px 48px}main.wide{--shell-max:1100px}main.shell{margin-left:calc(var(--sidebar-w) + max(32px, (100% - var(--sidebar-w) - var(--shell-max)) / 2));margin-right:auto}.nav{top:0;bottom:0;left:0;right:auto;width:var(--sidebar-w);flex-direction:column;align-items:stretch;gap:4px;padding:16px 12px;border-top:none;border-right:1px solid var(--line)}.nav,.nav a{justify-content:flex-start}.nav a{font-size:14px;text-align:left;padding:12px 14px;border-radius:10px}.nav a.active,.nav a[aria-current=page]{background:var(--primary-light);color:var(--primary-text)}.nav-brand{display:flex;align-items:center;gap:10px;padding:8px 10px 20px;font-size:18px;font-weight:800;color:var(--ink)}.two-pane{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-column-gap:24px;column-gap:24px;align-items:start}.two-pane>.pane-side{position:-webkit-sticky;position:sticky;top:24px;max-height:calc(100vh - 48px);overflow-y:auto}.two-pane>.pane-main:only-child{grid-column:1/-1;width:100%;max-width:720px;justify-self:center}.grid-2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-column-gap:24px;column-gap:24px;align-items:start}.grid-2>.col-main{grid-column:1;grid-row:1}.grid-2>.col-sub{grid-column:2;grid-row:1}.parent-form-row{grid-template-columns:repeat(2,minmax(0,1fr))}.parent-form-row .field:last-child{grid-column:1/-1;max-width:160px}}.btn.sm{padding:10px 12px;font-size:14px;min-height:44px;border-radius:10px}.timebar{display:flex;align-items:center;gap:8px;margin-bottom:8px}.timebar .bar{flex:1 1;height:6px}.bar.stack{display:flex;height:14px}.legend{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12px;color:var(--sub);margin-top:8px}.legend>span{display:inline-flex;align-items:center;gap:5px}.legend i{width:10px;height:10px;border-radius:50%;background:var(--primary)}.legend i.ok{background:var(--ok)}.legend i.warn{background:var(--warn)}.legend i.benchmark{background:#6d4cc3}.meter-min{font-size:34px;font-weight:800;line-height:1.3;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.meter-min small{font-size:15px;font-weight:700;margin-left:2px}.pill.adv{background:var(--primary-light);color:var(--primary-text);border:1.5px solid var(--primary);padding:2px 9px}.pill.school{background:var(--primary);color:#fff}.sec-row{display:flex;align-items:center;gap:8px;width:100%;text-align:left;background:none;border:none;cursor:pointer;padding:8px 2px;min-height:48px;font-size:14px;color:var(--ink)}.sec-row .pill{flex-shrink:0}.sec-row .sec-title{flex:1 1;min-width:0;font-weight:700;line-height:1.6}.sec-row .sec-go{flex-shrink:0;color:var(--primary-text);font-weight:800}.sec-row:focus-visible{outline:3px solid rgba(47,111,237,.45);outline-offset:2px;border-radius:8px}.tier-btns{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px}.tier-btns .tblabel{font-size:12px;font-weight:700;color:var(--sub);flex-shrink:0}.tier-btns .btn.sm{flex:1 1;min-width:72px;padding:10px 4px;font-size:13px}.help-launch{display:flex;align-items:center;justify-content:center;gap:6px;margin:10px auto 0;padding:10px 18px;min-height:44px;background:var(--primary-light);color:var(--primary-text);border:none;border-radius:999px;cursor:pointer;font-size:13px;font-weight:700;font-family:inherit}.help-launch:focus-visible{outline:3px solid rgba(47,111,237,.45);outline-offset:2px}.chat-backdrop{position:fixed;inset:0;background:rgba(31,41,55,.4);z-index:40;border:none;padding:0;cursor:pointer}.chat-sheet{position:fixed;left:0;right:0;bottom:0;z-index:41;max-width:480px;margin:0 auto;height:min(75dvh,560px);background:var(--card);border-radius:16px 16px 0 0;box-shadow:0 -6px 24px rgba(31,41,55,.18);display:flex;flex-direction:column;padding:10px 14px calc(10px + env(safe-area-inset-bottom))}.chat-head{display:flex;align-items:center;gap:8px;padding-bottom:6px;border-bottom:1px solid var(--line)}.chat-head .chat-title{flex:1 1;min-width:0;font-size:15px;font-weight:800}.chat-head .linklike{flex-shrink:0;padding:12px 8px}.chat-note{font-size:12px;color:var(--primary-text);background:var(--primary-light);border-radius:8px;padding:8px 10px;margin-top:8px;line-height:1.7}.chat-log{flex:1 1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:10px 2px}.chat-bub{max-width:85%;padding:10px 12px;border-radius:14px;font-size:15px;line-height:1.9}.chat-bub.ai{align-self:flex-start;background:var(--bg);border:1px solid var(--line);border-top-left-radius:4px}.chat-bub.me{align-self:flex-end;background:var(--primary-light);border-top-right-radius:4px}.chat-wait{align-self:flex-start;font-size:12px;color:var(--sub);padding:2px 4px}.chat-chips{display:flex;flex-wrap:wrap;gap:6px;padding:6px 0}.chat-chip{min-height:44px;padding:10px 12px;background:var(--card);border:1.5px solid var(--line);border-radius:999px;font-size:13px;font-weight:700;color:var(--ink);cursor:pointer;font-family:inherit;line-height:1.5}.chat-chip:focus-visible{outline:3px solid rgba(47,111,237,.45);outline-offset:2px}.chat-form{display:flex;gap:8px;padding-top:8px;border-top:1px solid var(--line)}.chat-form input{flex:1 1;min-width:0}.chat-form .btn{width:76px;flex:0 0 76px;padding:12px 0}.chat-quota{text-align:center;font-size:11px;color:var(--sub);margin-top:4px}.parent-status-card{grid-area:status}.parent-action-card{grid-area:action}.parent-area-portfolio{grid-area:portfolio;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;grid-gap:14px;gap:14px}.parent-portfolio-card{min-width:0}.parent-area-screening{grid-area:recent}.parent-area-recent{grid-area:recent;min-width:0;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;grid-gap:14px;gap:14px}.parent-mastery-card{grid-area:mastery;min-width:0}.parent-mock-card{grid-area:scores;min-width:0}.parent-account-card{grid-area:account;min-width:0}.benchmark-shell,.exam-shell{--benchmark:#6d4cc3;--benchmark-light:#f0ecfb}.exam-policy-note{border-left:5px solid var(--benchmark)}.exam-policy-note b{display:block;margin-bottom:6px;color:#52369b}.exam-policy-note p{margin:0;line-height:1.8}.exam-form-grid{display:grid;grid-gap:12px;gap:12px;margin:16px 0}.exam-form-card{display:block;color:inherit;text-decoration:none}.exam-form-card h2{margin:10px 0 6px}.exam-form-card p{color:var(--sub);line-height:1.8}.exam-form-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.exam-form-meta span{padding:4px 9px;border-radius:999px;background:var(--benchmark-light);color:#52369b;font-size:12px;font-weight:800}.exam-form-go{display:block;margin-top:14px;color:#52369b;text-align:right}.exam-overview-card{border-top:5px solid var(--benchmark)}.assessment-unavailable{border-left:5px solid #bb791c}.assessment-unavailable h2{margin:10px 0 6px}.assessment-current-card{border-top:5px solid var(--benchmark);padding:20px}.assessment-current-card>p{line-height:1.8}.assessment-current-card>.btn{margin-top:16px}.assessment-current-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.assessment-current-head h2{margin:10px 0 4px;font-size:22px}.assessment-current-head>strong{flex:0 0 auto;padding:7px 10px;border-radius:10px;background:var(--benchmark-light);color:#52369b;font-size:13px}.assessment-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px;margin:16px 0 10px}.assessment-progress>span{height:8px;border-radius:999px;background:#e6e8ec}.assessment-progress>span.done{background:var(--benchmark)}.assessment-current-meta{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;color:var(--sub);font-size:12px;line-height:1.7}.assessment-year-complete{background:#faf8ff}.assessment-how-card h2{margin-bottom:12px}.assessment-how-card ol{display:grid;grid-gap:12px;gap:12px;margin:0;padding:0;list-style:none;counter-reset:assessment-step}.assessment-how-card li{display:grid;grid-template-columns:34px minmax(0,1fr);grid-gap:0 10px;gap:0 10px;counter-increment:assessment-step}.assessment-how-card li:before{content:counter(assessment-step);grid-row:span 2;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--benchmark-light);color:#52369b;font-weight:900}.assessment-how-card li b{line-height:1.6}.assessment-how-card li span{color:var(--sub);font-size:12px;line-height:1.7}.assessment-history-list{display:grid;grid-gap:8px;gap:8px}.assessment-history-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;grid-gap:12px;gap:12px;margin:0;color:inherit;text-decoration:none}.assessment-history-row>span:first-child{display:flex;min-width:0;flex-direction:column}.assessment-history-row small{margin-top:3px;color:var(--sub);font-size:11px}.assessment-history-row strong{color:#52369b;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.assessment-result-hero{border-top:5px solid var(--benchmark);text-align:center}.assessment-result-hero h2{margin:2px 0;color:#52369b}.assessment-result-hero h2>span{font-size:42px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.assessment-subject-scores{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin:18px 0}.assessment-subject-scores>div{display:flex;min-width:0;flex-direction:column;align-items:center;gap:3px;padding:10px 4px;border-radius:10px;background:var(--bg)}.assessment-subject-scores>div>span{color:#52369b;font-size:19px;font-weight:900}.assessment-subject-scores small{color:var(--sub)}.assessment-subject-scores b{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.assessment-next-action{margin:16px 0;padding:14px;border:1.5px solid #d8cef1;border-radius:12px;background:#faf8ff;text-align:left}.assessment-next-action>span{color:#52369b;font-size:11px;font-weight:900}.assessment-next-action p{margin:5px 0 10px;font-weight:800}.assessment-next-action .btn{width:auto}.exam-active-note{margin-bottom:14px}.exam-section-list{display:grid;grid-gap:8px;gap:8px;margin:10px 0 18px}.exam-section-row{display:flex;align-items:center;gap:10px;margin:0;color:inherit;text-decoration:none}.exam-section-row.is-active{border-color:#bb791c;background:#fff8e8}.exam-section-number{color:var(--sub);font-size:12px;font-weight:800}.exam-section-icon{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:var(--benchmark-light);color:#52369b;font-weight:900}.exam-section-copy{display:flex;flex:1 1;min-width:0;flex-direction:column}.exam-section-copy small{color:var(--sub);font-size:11px}.exam-section-copy b{margin-top:2px;font-size:14px}.exam-library-callout{display:flex;align-items:center;justify-content:space-between;gap:18px;border-left:5px solid #6d4cc3}.exam-library-callout>div{flex:1 1;min-width:0}.exam-library-callout h2{margin:4px 0}.exam-library-callout .btn{width:auto;min-width:180px;flex:0 0 auto}.benchmark-page-head,.benchmark-running-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.benchmark-page-head h1{font-size:24px;line-height:1.5;margin-bottom:0}.benchmark-eyebrow{display:block;color:var(--benchmark);font-size:12px;font-weight:800;letter-spacing:.06em}.benchmark-pill,.benchmark-question-label{background:var(--benchmark-light);color:#52369b;flex-shrink:0}.benchmark-lead{font-size:16px;line-height:2}.benchmark-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:8px;gap:8px;margin:16px 0}.benchmark-facts>div{text-align:center;padding:10px 4px;background:var(--bg);border-radius:10px}.benchmark-facts dt{color:var(--sub);font-size:11px}.benchmark-facts dd{font-size:18px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.benchmark-source-banner,.benchmark-source-note{background:var(--benchmark-light);color:#3e2b74;border-radius:10px;padding:10px 12px;font-size:12px;line-height:1.8}.benchmark-source-banner b{display:block;font-size:13px}.benchmark-rules{padding-left:1.3em;font-size:14px;line-height:1.9}.benchmark-rules li+li{margin-top:4px}.benchmark-start{margin-top:18px;background:var(--benchmark)}.benchmark-last-result{text-align:center;margin-top:10px}.benchmark-last-result .linklike{margin-top:4px}.benchmark-active-run-note{margin-top:18px;padding:12px;border:1.5px solid #d8cef1;border-radius:10px;background:#faf8ff;font-size:13px;line-height:1.8}.benchmark-active-run-note .benchmark-start{margin-top:10px}.benchmark-library-row{display:flex;align-items:center;gap:9px;width:100%;min-height:54px;margin-top:10px;padding:9px 10px;text-align:left;cursor:pointer;background:#faf8ff;color:var(--ink);border:1.5px solid #d8cef1;border-radius:11px;font-family:inherit}.benchmark-library-copy{display:flex;flex:1 1;min-width:0;flex-direction:column;line-height:1.55}.benchmark-library-copy b{font-size:13px}.benchmark-library-copy small{color:var(--sub);font-size:11px}.benchmark-library-row .sec-go{color:#52369b;font-weight:800}.benchmark-timer{min-width:112px;padding:7px 12px;border:2px solid var(--benchmark);border-radius:12px;background:var(--card);color:#3e2b74;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.benchmark-timer small{display:block;font-size:10px;line-height:1.2}.benchmark-timer b{display:block;font-size:24px;line-height:1.25;letter-spacing:.04em}.benchmark-timer.warning{background:#fff8e8;border-color:#bb791c;color:#75470b}.benchmark-timer.urgent{background:var(--warn-bg);border-color:var(--warn);color:var(--warn)}.benchmark-progress{height:7px;margin-bottom:6px}.benchmark-progress>i{background:var(--benchmark);transition:width var(--dur-base) var(--ease-out)}.benchmark-autosave{color:var(--sub);font-size:11px;text-align:right;margin-bottom:10px}.benchmark-concurrent-note{margin-bottom:10px;font-size:12px;line-height:1.7}.benchmark-layout,.benchmark-materials{min-width:0}.benchmark-stimulus{min-width:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;margin-bottom:12px}.benchmark-stimulus-head{display:flex;align-items:baseline;gap:8px;margin-bottom:10px}.benchmark-stimulus-head>span{padding:2px 8px;border-radius:999px;background:var(--benchmark-light);color:#52369b;font-size:11px;font-weight:800}.benchmark-stimulus h3{font-size:15px;line-height:1.7}.benchmark-passage{font-size:15px;line-height:2;white-space:normal}.benchmark-stimulus-note{margin-bottom:10px;font-size:13px;line-height:1.9}.benchmark-graph-scroll,.benchmark-table-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid var(--line);border-radius:10px}.benchmark-table-scroll table{min-width:540px;background:var(--card);font-size:13px}.benchmark-table-scroll td,.benchmark-table-scroll th{padding:9px 8px;text-align:center;white-space:nowrap}.benchmark-table-scroll th{background:#f8f9fb}.benchmark-graph{display:block;width:640px;height:auto}.benchmark-graph-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:8px;font-size:12px;font-weight:700}.benchmark-graph-legend span{white-space:nowrap}.benchmark-graph-note{margin-top:6px}.benchmark-figure{margin:0;text-align:center}.benchmark-figure img{display:block;width:100%;height:auto;border-radius:10px}.benchmark-figure figcaption{margin-top:6px;color:var(--sub);font-size:11px;line-height:1.7}.benchmark-source-note{margin-top:10px}.lesson-source-note{margin:8px 2px 0;color:var(--sub);font-size:12px;line-height:1.55}.benchmark-question{min-width:0;padding:18px}.benchmark-question-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--sub);font-size:12px}.benchmark-question h1{font-size:18px;line-height:2;margin:15px 0 18px}.benchmark-question h1:focus{outline:none}.benchmark-choice{display:flex;align-items:flex-start;gap:9px;font-size:15px}.benchmark-choice-mark{color:var(--benchmark);font-size:18px;line-height:1.6;flex-shrink:0}.benchmark-input-label{display:block;font-size:13px;font-weight:700}.benchmark-input-label>span{display:block;margin-bottom:6px}.benchmark-input-label textarea{min-height:160px}.answer-count{display:block;margin:6px 0 0;text-align:right;font-weight:600}.answer-count.is-over{color:var(--warn);font-weight:800}.benchmark-input-label>.answer-count{margin:6px 0 0}.benchmark-answer-note{margin-top:10px}.benchmark-end-actions,.benchmark-nav-actions,.benchmark-submit-actions{display:flex;gap:10px}.benchmark-end-actions .btn,.benchmark-nav-actions .btn,.benchmark-submit-actions .btn{flex:1 1}.benchmark-pause{display:block;margin:8px auto 0}.benchmark-submit-check h1{font-size:21px}.benchmark-submit-check>p{margin-bottom:12px}.benchmark-result-hero{border-top:5px solid var(--benchmark);text-align:center;padding:22px}.benchmark-result-hero h2{margin:4px 0 12px}.benchmark-score{color:var(--benchmark);font-size:52px;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.benchmark-score-total{color:var(--sub);font-size:18px}.benchmark-calibration-note{margin-top:16px;padding:10px;background:var(--bg);border-radius:9px;color:var(--sub);font-size:12px;text-align:left}.benchmark-result-materials{margin-bottom:18px;padding:0;overflow:hidden}.benchmark-result-materials>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:52px;padding:12px 14px;cursor:pointer;font-weight:800}.benchmark-result-materials>summary b{color:var(--benchmark)}.benchmark-result-materials-body{display:grid;grid-gap:12px;gap:12px;border-top:1px solid var(--line);padding:12px}.benchmark-result-materials-body>div{scroll-margin-top:12px}.benchmark-result-material-link{margin-top:6px}.benchmark-result-list{display:grid;grid-gap:8px;gap:8px;margin-bottom:16px}.benchmark-result-part{margin:0;padding:0;overflow:hidden}.benchmark-result-part summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;padding:12px 14px;cursor:pointer;font-size:14px}.benchmark-result-part summary b{color:var(--benchmark);white-space:nowrap}.benchmark-result-detail{border-top:1px solid var(--line);padding:14px;font-size:14px;line-height:1.9}.benchmark-result-detail .sub{margin-top:12px;font-weight:700}.benchmark-result-detail .sub:first-child{margin-top:0}.benchmark-answer-box{padding:9px 10px;background:var(--bg);border-radius:8px;white-space:pre-wrap}.benchmark-explain{margin-top:10px;padding:10px;background:var(--benchmark-light);border-radius:8px}@media (min-width:1024px){.benchmark-layout:not(.no-stimulus){display:grid;grid-template-columns:minmax(0,1.18fr) minmax(340px,.82fr);grid-gap:22px;gap:22px;align-items:start}.benchmark-materials{position:-webkit-sticky;position:sticky;top:22px;max-height:calc(100vh - 44px);overflow-y:auto;padding-right:4px}.benchmark-layout.no-stimulus .benchmark-question{max-width:720px;margin-inline:auto}.benchmark-result-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px){main.parent-shell.wide{max-width:900px}.parent-dashboard{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-areas:"status status status status status status" "action action action mastery mastery mastery" "portfolio portfolio portfolio portfolio portfolio portfolio" "recent recent recent recent recent recent" "scores scores scores scores scores scores" "account account account account account account";gap:16px}.parent-area-recent>.card,.parent-dashboard>.card{padding:20px}.parent-action-card,.parent-mastery-card{height:100%}}@media (min-width:960px) and (max-width:1279px){html{scroll-padding-top:82px}main.parent-shell.wide{width:100%;max-width:none;margin:0 auto;padding:92px 28px 44px}main.shell.parent-shell:not(.wide){width:100%;max-width:720px;margin:0 auto;padding-top:92px}.parent-nav{top:0;bottom:auto;left:0;right:0;width:100%;height:68px;flex-direction:row;align-items:center;justify-content:flex-end;gap:6px;padding:8px 24px;border-right:0;border-bottom:1px solid var(--line);border-top:0;box-shadow:0 5px 20px rgba(23,53,95,.06)}.parent-nav .nav-brand{display:flex;margin-right:auto;padding:8px 10px;font-size:17px;font-weight:800}.parent-nav a{flex:0 0 auto;min-height:44px;padding:10px 14px;border-radius:9px;font-size:14px;text-align:center;justify-content:center}.parent-nav a.active,.parent-nav a[aria-current=page]{background:var(--primary-light)}.parent-dashboard{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:"status status status status status status status action action action action action" "portfolio portfolio portfolio portfolio portfolio portfolio portfolio portfolio portfolio portfolio portfolio portfolio" "recent recent recent recent recent recent recent recent recent recent recent recent" "mastery mastery mastery mastery mastery mastery mastery mastery mastery mastery mastery mastery" "scores scores scores scores scores scores scores scores scores scores scores scores" "account account account account account account account account account account account account";gap:16px}.parent-action-card,.parent-status-card{min-height:250px}}@media (min-width:1280px){:root{--parent-sidebar-w:208px}main.parent-shell.wide{--shell-max:1180px;width:calc(100% - var(--parent-sidebar-w) - 48px);max-width:var(--shell-max);margin-left:calc(var(--parent-sidebar-w) + max(24px, (100% - var(--parent-sidebar-w) - var(--shell-max)) / 2));margin-right:auto;padding:32px 32px 48px}main.shell.parent-shell:not(.wide){--sidebar-w:var(--parent-sidebar-w)}.parent-nav{width:var(--parent-sidebar-w)}.parent-nav .nav-brand{font-size:17px}.parent-dashboard{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-areas:"status status status status status status status action action action action action" "portfolio portfolio portfolio portfolio portfolio portfolio portfolio portfolio portfolio portfolio portfolio portfolio" "recent recent recent recent recent recent recent recent recent recent recent recent" "mastery mastery mastery mastery mastery mastery mastery mastery mastery mastery mastery mastery" "scores scores scores scores scores scores scores scores scores scores scores scores" "account account account account account account account account account account account account";gap:18px}.parent-action-card,.parent-status-card{min-height:258px}.parent-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:960px){.parent-dashboard.no-mastery{grid-template-areas:"status status status status status status status action action action action action" "portfolio portfolio portfolio portfolio portfolio portfolio portfolio portfolio portfolio portfolio portfolio portfolio" "recent recent recent recent recent recent recent scores scores scores scores scores" "account account account account account account account scores scores scores scores scores"}}@media (min-width:768px) and (max-width:959px){.parent-dashboard.mastery-expanded{grid-template-areas:"status status status status status status" "action action action action action action" "portfolio portfolio portfolio portfolio portfolio portfolio" "recent recent recent recent recent recent" "mastery mastery mastery mastery mastery mastery" "scores scores scores scores scores scores" "account account account account account account"}}@media (max-width:959px){html{scroll-padding-bottom:calc(88px + env(safe-area-inset-bottom))}}main:not(.parent-shell){font-size:16px}main:not(.parent-shell) .sub{font-size:14px;line-height:1.7}main:not(.parent-shell) .pill{font-size:13px;line-height:1.5}main:not(.parent-shell) .choice.compact{font-size:14px}.child-page-head{display:flex;align-items:center;justify-content:space-between;min-height:72px;margin-bottom:16px}.child-page-head>:first-child>.child-eyebrow,.child-page-head>:first-child>h1{padding-right:var(--level-badge-gap,64px)}.child-page-head>:not(:first-child){margin-right:var(--level-badge-gap,64px)}.child-page-head h1{margin:2px 0 0;font-size:clamp(24px,3vw,30px);line-height:1.35}.child-eyebrow{display:block;color:var(--primary-text);font-size:12px;font-weight:850;letter-spacing:.1em}.brand-lockup{display:flex;align-items:center;justify-content:center;gap:10px;margin:4px 0 8px}.brand-lockup h1{margin:0;font-size:28px;letter-spacing:.04em}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:12px;background:var(--primary);color:#fff;font-size:22px;font-weight:900;box-shadow:0 6px 14px rgba(47,111,237,.22)}.child-form-label{display:block;margin:14px 0 5px;font-size:15px;font-weight:800}.child-form-label:first-child{margin-top:0}.student-nav a{flex:1 1;min-width:44px;gap:5px}.nav-icon{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:7px;background:var(--bg);color:var(--sub);font-size:17px;font-weight:900;line-height:1}.student-nav a.active .nav-icon,.student-nav a[aria-current=page] .nav-icon{background:var(--primary-light);color:var(--primary-text)}.child-home-grid{display:grid;grid-gap:16px;gap:16px;align-items:start}.child-home-main,.child-home-side{min-width:0}.child-next-card{padding:20px;border-color:#c9d9f6;background:linear-gradient(145deg,#fff,#f0f5ff);box-shadow:0 10px 30px rgba(31,74,145,.08)}.child-next-card.is-complete{border-color:#b8decf;background:linear-gradient(145deg,#fff,#edf9f4)}.child-next-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.child-next-top h2{margin:4px 0 12px;font-size:clamp(20px,2.4vw,26px);line-height:1.45}.child-next-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:-2px 0 14px;color:var(--sub);font-size:14px}.child-next-progress{margin-top:16px;padding-top:13px;border-top:1px solid rgba(47,111,237,.14);font-size:14px}.child-next-progress .bar{margin-top:7px}.child-adult-foot{margin-top:22px;text-align:center}.child-adult-foot a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 16px;color:var(--sub);font-size:13px;font-weight:700}.day-tabs{display:flex;gap:7px;margin-bottom:16px;overflow-x:auto;padding:2px 2px 5px}.day-tab{position:relative;display:flex;flex:1 0 52px;flex-direction:column;align-items:center;justify-content:center;min-width:52px;min-height:58px;padding:7px 6px;border:1.5px solid var(--line);border-radius:11px;background:var(--card);color:var(--ink);font:inherit;cursor:pointer}.day-tab>span{font-size:15px;font-weight:800}.day-tab small{color:var(--sub);font-size:11px}.day-tab>i{position:absolute;top:4px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--warn)}.day-tab.sel{border-color:var(--primary);background:var(--primary-light)}.day-tab.sel,.day-tab.sel small{color:var(--primary-text)}.child-plan-basis{margin:-4px 0 10px;line-height:1.9}.task{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;min-height:86px;padding:13px 14px;border-radius:14px;transition:border-color var(--dur-fast) ease,background-color var(--dur-fast) ease}.task.is-next{border-color:#9ab8ef;box-shadow:0 5px 16px rgba(47,111,237,.09)}.task.done{opacity:1;background:#f4faf7;border-color:#cfe7dc}.task.locked{opacity:1;background:#f5f6f8;color:#4e5968}.task .task-body{min-width:0}.task .task-body>b{display:block;font-size:16px;line-height:1.55}.task.done .task-body>b{color:#405649}.task.done .task-start{border:1px solid #b9cbed;background:#fff;color:var(--primary-text)}.task-next-pill{margin-bottom:4px}.task-check-wrap{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--sub);font-size:10px;font-weight:700;line-height:1.2;text-align:center}.task-check-wrap .num{width:40px;height:40px}.task-check-static .num{border:1px solid #cbd6e6}.task-reason{margin-top:3px;color:var(--primary-text);font-size:12px;font-weight:700;line-height:1.5}.task-start{display:inline-flex;align-items:center;justify-content:center;min-width:92px;min-height:44px;padding:9px 12px;border-radius:10px;background:var(--primary);color:#fff;font-size:14px;font-weight:800;white-space:nowrap}.task-manual-note{max-width:94px;color:var(--sub);font-size:11px;line-height:1.45;text-align:right}.section-heading{margin:2px 0 8px}.section-heading h2{margin:0;font-size:18px}.lesson-recommend-grid{display:grid;grid-gap:8px;gap:8px;margin-bottom:18px}.lesson-recommend-card{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px;width:100%;min-height:72px;padding:11px 12px;text-align:left;border:1px solid #c9d9f6;border-radius:13px;background:linear-gradient(145deg,#fff,#f2f6ff);color:var(--ink);font:inherit;cursor:pointer}.lesson-recommend-icon{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:11px;background-color:var(--primary);color:#fff;font-size:18px;font-weight:900}.lesson-recommend-card small{display:block;color:var(--primary-text);font-size:11px;font-weight:800}.lesson-recommend-card b{display:block;margin-top:2px;font-size:14px;line-height:1.5}.lesson-recommend-go{color:var(--primary-text);font-size:12px;font-weight:800;white-space:nowrap}.subject-tabs{display:flex;gap:8px;margin:4px 0 14px;overflow-x:auto;padding:2px 2px 5px}.subject-tab{display:flex;flex:1 0 112px;align-items:center;gap:8px;min-height:58px;padding:8px 10px;border:1.5px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);text-align:left;font:inherit;cursor:pointer}.subject-tab.sel{border-color:var(--primary);background:var(--primary-light);color:var(--primary-text)}.subject-tab-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:9px;background-color:var(--bg);font-weight:900}.subject-tab.sel .subject-tab-icon{background-color:#fff}.subject-tab b{display:block;font-size:14px}.subject-tab small{display:block;color:var(--sub);font-size:10px;line-height:1.3;white-space:nowrap}.lesson-subject-panel[hidden]{display:none!important}.lesson-subject-panel{width:100%;max-width:880px;margin:0 auto}.subject-rail{display:contents}@media (min-width:768px){.subject-rail{display:grid;grid-template-columns:minmax(0,var(--rail-w,176px)) minmax(0,1fr);grid-column-gap:20px;column-gap:20px;align-items:start}.subject-rail>.dojo-tabs,.subject-rail>.subject-tabs{grid-column:1;grid-row:1;position:-webkit-sticky;position:sticky;top:var(--rail-top,16px);display:grid;grid-template-columns:minmax(0,1fr);grid-gap:6px;gap:6px;margin:0;padding:0;overflow:visible}.subject-rail>.dojo-tabs>.dojo-tab,.subject-rail>.subject-tabs>.subject-tab{flex:none;width:100%}.subject-rail>.dojo-tab-panel,.subject-rail>.lesson-subject-panel{grid-column:2;grid-row:1;max-width:none;margin:0}}@media (min-width:960px){.subject-rail{--rail-w:196px;--rail-top:82px}}@media (min-width:1280px){.subject-rail{--rail-w:216px;--rail-top:16px}}.lesson-subject-heading{margin:0 0 10px}.lesson-subject-heading h2{margin:0;font-size:19px}.lesson-unit-list{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:10px;gap:10px}.lesson-unit-disclosure{margin:0;padding:0;overflow:hidden}.lesson-unit-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:14px;gap:14px;min-height:76px;padding:13px 16px;cursor:pointer;list-style:none}.lesson-unit-summary::-webkit-details-marker{display:none}.lesson-unit-summary-copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start}.lesson-unit-summary-copy>b{font-size:16px;line-height:1.55}.lesson-unit-summary-copy>small{margin-top:2px;color:var(--sub);font-size:11px;font-weight:700}.lesson-unit-summary-copy>.pill{margin-top:6px}.lesson-unit-toggle{display:inline-flex;align-items:center;gap:7px;color:var(--primary-text);font-size:12px;font-weight:800;white-space:nowrap}.lesson-unit-toggle:before{content:"ひらく"}.lesson-unit-toggle:after{content:"+";display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--primary-light);color:var(--primary-text);font-size:20px;line-height:1}.lesson-unit-disclosure[open]>.lesson-unit-summary{border-bottom:1px solid var(--line);background:#fbfcff}.lesson-unit-disclosure[open] .lesson-unit-toggle:before{content:"とじる"}.lesson-unit-disclosure[open] .lesson-unit-toggle:after{content:"−"}.lesson-unit-body{min-width:0;padding:6px 16px 16px}.lesson-unit-lesson{border-bottom:1px solid #edf0f4}.lesson-unit-advice{margin:7px 2px 0}.lesson-unit-empty{padding:12px 2px 6px}.lesson-unit-body .tier-btns,.unit-check{margin-top:12px}.unit-check{padding-top:12px;border-top:1px solid #edf0f4}.unit-check .tblabel{display:block;font-size:12px;font-weight:700;color:var(--sub)}.unit-check-note{margin:4px 0 8px}.unit-check .btn.sm{width:100%;padding:12px 8px;font-size:13px}.survey-progress{margin:14px 0;border-color:#c9d9f6;background:#f7faff}.survey-subject-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:7px;gap:7px;margin-bottom:12px}.survey-subject-tab{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;margin:0!important;text-align:center!important}.survey-subject-tab small{display:block;color:var(--sub);font-size:11px}.survey-subject-tab[aria-selected=true] small{color:var(--primary-text)}.survey-subject-tab.complete:not([aria-selected=true]){border-color:#b8decf;background:#f1faf6}.survey-subject-tab.complete small{color:var(--ok);font-weight:800}.survey-subject-panel{scroll-margin-top:88px}.survey-subject-panel h2{margin-top:0;font-size:19px}.survey-unit{min-width:0;padding:10px 0 13px;border-top:1px solid var(--line)}.survey-unit:first-child{padding-top:2px;border-top:0}.survey-unit-title{margin-bottom:6px;font-size:15px;font-weight:800}.survey-unit-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:6px;gap:6px}.survey-unit-choices .choice{height:100%;min-width:0}.child-unit-table-card{display:grid;grid-gap:8px;gap:8px}.child-unit-table-scroller{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;contain:paint;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.child-unit-table-scroller:focus-visible{outline:3px solid var(--primary);outline-offset:2px}.child-unit-table{width:100%;min-width:458px;border-collapse:separate;border-spacing:0;color:var(--ink);font-size:13px}.child-unit-table td,.child-unit-table th{padding:9px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;vertical-align:top;line-height:1.5}.child-unit-table tr>:last-child{border-right:0}.child-unit-table tbody:last-child tr:last-child>*{border-bottom:0}.child-unit-table thead th{background:var(--bg);color:var(--sub);font-size:12px;font-weight:800;white-space:nowrap}.child-unit-name-cell,.child-unit-name-head{position:-webkit-sticky;position:sticky;left:0;z-index:2;width:130px;min-width:130px;max-width:130px}.child-unit-name-head{z-index:3}.child-unit-name-cell{background:var(--card);font-weight:700}.child-unit-state-cell,.child-unit-state-head{width:118px;min-width:118px}.child-unit-next-cell{width:210px;min-width:210px}.child-unit-subject-row th{background:var(--bg);color:var(--ink);font-size:14px;font-weight:800}.child-unit-subject-name{position:-webkit-sticky;position:sticky;left:10px;display:inline-flex;align-items:center;gap:7px}.child-unit-subject-name .subject-art{width:22px;height:22px}.child-unit-state-label{display:block;font-size:12px;font-weight:800;line-height:1.45}.child-unit-state-detail{display:block;margin-top:3px;color:var(--sub);font-size:11px}.child-unit-steps{display:grid;grid-gap:2px;gap:2px;margin:0;padding:0;list-style:none}.child-unit-step{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:start;grid-gap:7px;gap:7px;padding:3px 0;color:var(--sub)}.child-unit-step-mark{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-top:1px;border:1.5px solid var(--line-strong,#cbd5e1);border-radius:50%;background:var(--card);font-size:11px;font-weight:800;line-height:1}.child-unit-step-mark>svg{width:12px;height:12px}.child-unit-step.is-done>.child-unit-step-mark{border-color:var(--ok);background:var(--ok-bg);color:var(--ok)}.child-unit-step.is-done .child-unit-step-label{color:var(--ok)}.child-unit-step.is-next .child-unit-step-label{color:var(--ink);font-weight:800}.child-unit-step.is-next>.child-unit-step-mark{border-color:var(--primary);color:var(--primary-text)}.child-unit-step-body{display:grid;grid-gap:1px;gap:1px;min-width:0}.child-unit-step-label{font-size:12px;line-height:1.45}.child-unit-step-count{margin-left:5px;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.child-unit-step-note{color:var(--sub);font-size:11px;line-height:1.4}.child-unit-next-cell .linklike{justify-content:flex-start;padding:10px 0;font-size:12px}.child-unit-step-go{font-weight:800}.child-unit-step-sub{font-size:11px!important;font-weight:700}.child-unit-wait{margin:0;font-size:12px;line-height:1.5}.unit-state-confirmed{background:var(--unit-state-confirmed-bg);color:var(--unit-state-confirmed-fg)}.unit-state-confirmed .child-unit-state-detail{color:var(--unit-state-confirmed-detail)}.unit-state-good{background:var(--unit-state-good-bg);color:var(--unit-state-good-fg)}.unit-state-tentative{background:repeating-linear-gradient(135deg,var(--unit-state-tentative-a) 0 5px,var(--unit-state-tentative-b) 5px 10px);color:var(--primary-text)}.unit-state-working{background:var(--unit-state-working-bg);color:var(--unit-state-working-fg)}.unit-state-todo{background:var(--unit-state-todo-bg);color:var(--unit-state-todo-fg)}@media (max-width:767px){.child-unit-table-scroller{overflow-x:visible;contain:none;border:0;border-radius:0;background:transparent}.child-unit-table{display:block;min-width:0;font-size:13px}.child-unit-table thead{display:none}.child-unit-table tbody,.child-unit-table tbody tr{display:block}.child-unit-table td,.child-unit-table th{border-right:0;border-bottom:0}.child-unit-subject-row th{padding:12px 2px 6px;background:transparent}.child-unit-subject-name{position:static}.child-unit-table tbody tr:not(.child-unit-subject-row){margin-bottom:8px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card)}.child-unit-table tbody tr:not(.child-unit-subject-row)>*{position:static;width:auto;min-width:0;max-width:none}.child-unit-name-cell{display:block;padding:11px 13px 6px;font-size:15px}.child-unit-state-cell{display:inline-block;margin:0 13px 4px;padding:6px 10px;border-radius:9px}.child-unit-next-cell{display:block;padding:2px 13px 10px}}.child-unit-legend{display:grid;grid-gap:8px;gap:8px;margin:0;padding:0;list-style:none}.child-unit-legend>li{display:grid;grid-template-columns:18px auto minmax(0,1fr);align-items:center;grid-gap:8px;gap:8px;font-size:13px}.child-unit-legend-swatch{width:18px;height:18px;border:1px solid var(--line);border-radius:5px}.results-disclosures{margin-top:16px}.results-disclosure{padding:0!important;overflow:hidden}.results-summary{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;padding:12px 48px 12px 16px;cursor:pointer;list-style:none}.results-summary::-webkit-details-marker{display:none}.results-summary:after{content:"+";position:absolute;right:14px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--primary-light);color:var(--primary-text);font-weight:900}.results-disclosure[open]>.results-summary:after{content:"−"}.results-disclosure[open]>.results-summary{border-bottom:1px solid var(--line)}.results-disclosure-body{padding:16px}.results-disclosure-body>.card{margin-bottom:0}button.choice[aria-pressed=true]{position:relative;padding-right:42px}button.choice[aria-pressed=true]:after{content:"✓";position:absolute;right:13px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:23px;height:23px;border-radius:50%;background:var(--primary);color:#fff;font-size:13px;font-weight:900}@media (max-width:560px){.student-nav{padding-top:5px}.student-nav a{flex-direction:column;justify-content:center;gap:2px;padding:4px 2px;min-height:52px;line-height:1.2}.student-nav a>span:last-child{font-size:10px}.nav-icon{width:20px;height:20px;font-size:15px}.child-page-head{min-height:60px;margin-bottom:12px}.child-page-head h1{font-size:24px}.child-next-card{padding:16px}.child-next-top h2{font-size:20px}.task{grid-template-columns:54px minmax(0,1fr);gap:9px}.task-manual-note,.task-start{grid-column:2;justify-self:stretch;max-width:none;text-align:center}.lesson-recommend-card{grid-template-columns:36px minmax(0,1fr)}.lesson-recommend-go{grid-column:2}.assessment-current-head{align-items:stretch;flex-direction:column}.assessment-current-head>strong{align-self:flex-start}.assessment-current-meta{flex-direction:column}.assessment-subject-scores{grid-template-columns:repeat(2,minmax(0,1fr))}.assessment-history-row{grid-template-columns:minmax(0,1fr) auto}.assessment-history-row>.sec-go{display:none}.exam-library-callout{align-items:stretch;flex-direction:column}.exam-library-callout .btn{width:100%;min-width:0}.lesson-unit-summary{min-height:72px;padding:12px 13px}.lesson-unit-disclosure[open] .lesson-unit-toggle:before,.lesson-unit-toggle:before{content:none}.lesson-unit-body{padding:5px 13px 14px}.exam-section-row{align-items:flex-start;flex-wrap:wrap}.exam-section-copy{min-width:calc(100% - 110px)}.exam-section-row>.pill{margin-left:78px}.exam-section-row>.sec-go{margin-left:auto}.results-summary{align-items:flex-start;flex-direction:column;gap:2px}.survey-subject-tabs{gap:5px}.survey-subject-tab{padding:8px 3px!important;font-size:13px!important}.survey-unit-choices{grid-template-columns:1fr}}@media (min-width:768px){.exam-form-grid,.lesson-recommend-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.lesson-recommend-card{grid-template-columns:36px minmax(0,1fr)}.lesson-recommend-go{grid-column:2}.subject-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}.subject-tab{min-width:0}}@media (min-width:960px) and (max-width:1279px){main.shell:not(.parent-shell){width:100%;max-width:1040px;margin:0 auto;padding:92px 28px 44px}main.shell.wide:not(.parent-shell){max-width:1180px}.student-nav{top:0;bottom:auto;left:0;right:0;width:100%;height:68px;flex-direction:row;align-items:center;justify-content:flex-end;gap:5px;padding:8px 24px;border-right:0;border-bottom:1px solid var(--line);border-top:0;box-shadow:0 5px 20px rgba(23,53,95,.06)}.student-nav .nav-brand{display:flex;margin-right:auto;padding:7px 10px;font-size:18px}.student-nav a{flex:0 0 auto;min-height:44px;padding:9px 12px;border-radius:9px;font-size:14px;text-align:center;justify-content:center}.student-nav a.active,.student-nav a[aria-current=page]{background:var(--primary-light)}.child-home-grid{grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:20px}}.nav-group-title{display:none}@media (min-width:1280px){.student-nav a{flex:0 0 auto}.student-nav .nav-group-title{display:block;padding:14px 14px 4px;font-size:var(--fs-caption);font-weight:800;color:var(--sub);letter-spacing:.04em}.student-nav .nav-group-title:first-of-type{padding-top:2px}.child-home-grid{grid-template-columns:minmax(0,1.4fr) minmax(300px,.6fr);gap:24px}main.shell.parent-shell.account-onboarding{width:640px;max-width:640px;margin:0 auto;padding:44px 0 56px}}:root{--primary-deep:#1a4bb0;--primary-soft:#f4f8ff;--ink:#16202f;--sub:#5b6577;--line:#e4e9f2;--line-strong:#cdd8ec;--bg:#f2f5fa;--surface-tint:#fbfcff;--radius:16px;--radius-sm:11px;--radius-lg:22px;--shadow-sm:0 1px 2px rgba(22,40,79,0.05),0 2px 6px rgba(22,40,79,0.04);--shadow-md:0 2px 4px rgba(22,40,79,0.05),0 10px 24px rgba(22,40,79,0.07);--shadow-lg:0 4px 8px rgba(22,40,79,0.06),0 18px 44px rgba(22,40,79,0.10)}body{background:radial-gradient(1200px 520px at 18% -8%,#e8f0ff 0,rgba(232,240,255,0) 62%),radial-gradient(900px 420px at 92% -4%,#fdf3e6 0,rgba(253,243,230,0) 58%),var(--bg);background-repeat:no-repeat;-webkit-font-smoothing:antialiased}h1,h2,h3{letter-spacing:-.01em;font-weight:800}h1{line-height:1.3}.card{border-radius:var(--radius);box-shadow:var(--shadow-sm)}.account-form-card{box-shadow:var(--shadow-md)}.btn{border-radius:13px;background:linear-gradient(180deg,#3d7bf3 0,var(--primary) 55%,#2660d8 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 6px 16px rgba(47,111,237,.26);letter-spacing:.01em}.btn.ok{background:linear-gradient(180deg,#1c9367 0,var(--ok) 60%,#0f6b47 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.26),0 6px 16px rgba(21,122,82,.24)}.btn.ghost{background:var(--card);box-shadow:var(--shadow-sm)}.btn:disabled{box-shadow:none}input:not([type]),input[type=date],input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{border-radius:13px;background:var(--surface-tint);transition:border-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease,background-color var(--dur-fast) ease}input:focus-visible,select:focus-visible,textarea:focus-visible{background:var(--card);box-shadow:0 0 0 4px rgba(47,111,237,.14)}.bar{background:#e7ecf5;box-shadow:inset 0 1px 2px rgba(22,40,79,.06)}.bar>i{background:linear-gradient(90deg,#4a86f5 0,var(--primary) 100%);border-radius:999px}.bar>i.ok{background:linear-gradient(90deg,#22a175 0,var(--ok) 100%)}.bar>i.warn{background:linear-gradient(90deg,#e8912c 0,var(--warn) 100%)}.bar>i.benchmark{background:linear-gradient(90deg,#8a6ad6,#6d4cc3)}.brand-hero{position:relative;margin:4px 0 18px;padding:18px 18px 0;border:1px solid var(--line);border-radius:var(--radius-lg);background:#f5f7fd;box-shadow:var(--shadow-md);overflow:hidden;text-align:center}.brand-hero .brand-lockup{margin:0 0 6px}.brand-hero h1{font-size:clamp(26px,5.4vw,34px)}.brand-hero-lead{margin:0 auto;max-width:34em;color:var(--sub);font-size:14px;line-height:2.05}.brand-hero-art{display:block;width:100%;max-width:420px;height:auto;margin:6px auto -8px}.subject-art{flex-shrink:0;width:44px;height:44px;border-radius:12px;background-image:url(/brand/subjects.webp);background-size:200% 200%;background-repeat:no-repeat;box-shadow:0 1px 3px rgba(22,40,79,.1)}.subject-art.math{background-position:0 0}.subject-art.jpn{background-position:100% 0}.subject-art.sci{background-position:0 100%}.subject-art.soc{background-position:100% 100%}.child-next-card{border-radius:var(--radius-lg);border-color:#c6d8fa;background:radial-gradient(520px 220px at 88% -20%,rgba(47,111,237,.1) 0,rgba(47,111,237,0) 70%),linear-gradient(150deg,#ffffff,#f2f7ff);box-shadow:var(--shadow-md)}.child-next-card.is-complete{border-color:#b2ddcd;background:radial-gradient(520px 220px at 88% -20%,rgba(21,122,82,.1) 0,rgba(21,122,82,0) 70%),linear-gradient(150deg,#ffffff,#eefaf5)}.child-eyebrow{letter-spacing:.12em;font-size:11.5px}.meter-min{letter-spacing:-.02em}.nav{background:rgba(255,255,255,.92);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px);border-top-color:var(--line);box-shadow:0 -2px 12px rgba(22,40,79,.05)}.parent-nav a,.student-nav a{border-radius:12px;transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease}.nav a.active,.nav a[aria-current=page]{color:var(--primary-deep)}.nav-icon{transition:background-color var(--dur-fast) ease,color var(--dur-fast) ease}.student-nav a.active .nav-icon,.student-nav a[aria-current=page] .nav-icon{background:linear-gradient(160deg,#e6efff,#d7e6ff);box-shadow:0 1px 3px rgba(47,111,237,.18)}.task{box-shadow:var(--shadow-sm);border-radius:var(--radius)}.task.is-next{border-color:#8fb2ee;box-shadow:0 0 0 3px rgba(47,111,237,.1),var(--shadow-md)}.task-start{border-radius:11px;background:linear-gradient(180deg,#3d7bf3 0,var(--primary) 100%);box-shadow:0 4px 12px rgba(47,111,237,.24)}.day-tab{border-radius:13px;transition:transform var(--dur-fast) ease,border-color var(--dur-fast) ease,background-color var(--dur-fast) ease}.day-tab.sel{box-shadow:0 4px 12px rgba(47,111,237,.14)}.qpassage{border-left-width:5px;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.formula{background:linear-gradient(180deg,#f3f7ff 0,var(--primary-light) 100%);border:1px solid #dbe6fb;border-radius:var(--radius-sm)}.choice{border-radius:13px;transition:transform var(--dur-fast) ease,border-color var(--dur-fast) ease,background-color var(--dur-fast) ease,box-shadow var(--dur-fast) ease}.choice:hover{border-color:var(--line-strong)}.choice.sel{box-shadow:0 0 0 3px rgba(47,111,237,.12)}@media (min-width:768px){.brand-hero{padding:26px 30px 0}.brand-hero-art{max-width:480px}.brand-hero-lead{font-size:15px}}@media (min-width:1024px){.brand-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);align-items:center;grid-gap:8px 28px;gap:8px 28px;padding:30px 34px;text-align:left}.brand-hero .brand-lockup{justify-content:flex-start}.brand-hero-lead{margin:0}.brand-hero-art{grid-row:1/3;grid-column:2;margin:0;max-width:100%}.brand-hero>:not(.brand-hero-art){grid-column:1}}@media (prefers-reduced-motion:reduce){.choice,.day-tab,.nav a,.nav-icon,input:not([type]),input[type=date],input[type=email],input[type=number],input[type=password],input[type=text],select,textarea{transition:none}}.brand-hero{border-color:#dfe7f5}@media (min-width:768px){main.child-onboarding{max-width:640px}}@media (min-width:1024px){main.child-onboarding{max-width:880px;padding-top:28px}.brand-hero{padding:34px 8px 34px 36px;gap:10px 20px}.brand-hero-art{margin-right:-8px}}.tour-title{font-size:20px;line-height:1.4;margin:0 0 6px}.tour-dots{list-style:none;display:flex;justify-content:center;gap:8px;margin:16px 0;padding:0}.tour-dots li{width:8px;height:8px;border-radius:999px;background:var(--line-strong,#cbd5e1)}.tour-dots li.current{background:var(--primary);width:20px}.tour-skip{display:block;width:100%;min-height:44px;margin-top:6px;text-align:center;font-size:14px}.tour-note{margin-top:10px;text-align:center}.guide-list{list-style:none;margin:0;padding:0}.guide-list h2{font-size:17px;line-height:1.4;margin:0 0 6px}.guide-list p{margin:0 0 10px}@media (prefers-reduced-motion:reduce){.tour .anim-enter{animation:none}}.lesson-recommend-icon.subject-art,.subject-tab-icon.subject-art{background-color:transparent;font-size:0}.lesson-recommend-icon.subject-art{width:100%;height:auto;aspect-ratio:1/1;border-radius:11px}.subject-tab-icon.subject-art{width:34px;height:34px;border-radius:10px}.subject-tab.sel .subject-tab-icon.subject-art{box-shadow:0 2px 6px rgba(22,40,79,.16)}@media (min-width:768px){.work-main>.btn,.work-main>a.btn,main>.btn,main>a.btn{max-width:420px;margin-left:auto;margin-right:auto}}.card-art{display:block;width:100%;aspect-ratio:3/4;border-radius:10px;background-size:300% 100%;background-repeat:no-repeat;background-color:var(--primary-light)}.card-art.t1{background-position:0 0}.card-art.t2{background-position:50% 0}.card-art.t3{background-position:100% 0}.card-art.u-math-calc{background-image:url(/cards/math-calc.webp)}.card-art.u-math-count{background-image:url(/cards/math-count.webp)}.card-art.u-math-ratio{background-image:url(/cards/math-ratio.webp)}.card-art.u-math-speed{background-image:url(/cards/math-speed.webp)}.card-art.u-math-plane{background-image:url(/cards/math-plane.webp)}.card-art.u-math-solid{background-image:url(/cards/math-solid.webp)}.card-art.u-math-logic{background-image:url(/cards/math-logic.webp)}.card-art.u-jpn-vocab{background-image:url(/cards/jpn-vocab.webp)}.card-art.u-jpn-read-fic{background-image:url(/cards/jpn-read-fic.webp)}.card-art.u-jpn-read-exp{background-image:url(/cards/jpn-read-exp.webp)}.card-art.u-jpn-write{background-image:url(/cards/jpn-write.webp)}.card-art.u-jpn-lit{background-image:url(/cards/jpn-lit.webp)}.card-art.u-sci-bio{background-image:url(/cards/sci-bio.webp)}.card-art.u-sci-earth{background-image:url(/cards/sci-earth.webp)}.card-art.u-sci-phys{background-image:url(/cards/sci-phys.webp)}.card-art.u-sci-chem{background-image:url(/cards/sci-chem.webp)}.card-art.u-sci-exp{background-image:url(/cards/sci-exp.webp)}.card-art.u-soc-geo{background-image:url(/cards/soc-geo.webp)}.card-art.u-soc-his{background-image:url(/cards/soc-his.webp)}.card-art.u-soc-civ{background-image:url(/cards/soc-civ.webp)}.card-art.u-soc-write{background-image:url(/cards/soc-write.webp)}.card-art.u-sp-flame{background-image:url(/cards/sp-flame.webp)}.card-art.u-sp-light{background-image:url(/cards/sp-light.webp)}.card-art.u-sp-dojo{background-image:url(/cards/sp-dojo.webp)}.card-art.u-sp-gyakusan{background-image:url(/cards/sp-gyakusan.webp)}.card-art.u-sp-kuku{background-image:url(/cards/sp-kuku.webp)}.card-art.u-sp-yomi{background-image:url(/cards/sp-yomi.webp)}.card-art.u-sp-kotowaza{background-image:url(/cards/sp-kotowaza.webp)}.card-art.u-sp-ijin{background-image:url(/cards/sp-ijin.webp)}.card-art.u-sp-chizu{background-image:url(/cards/sp-chizu.webp)}.card-art.u-sp-sanga{background-image:url(/cards/sp-sanga.webp)}.card-art.u-sp-yoji{background-image:url(/cards/sp-yoji.webp)}.card-art.u-sp-rika{background-image:url(/cards/sp-rika.webp)}.card-art.u-sp-monoshiri{background-image:url(/cards/sp-monoshiri.webp)}.card-art.u-sp-kotoba{background-image:url(/cards/sp-kotoba.webp)}.card-art.u-sp-ayumi{background-image:url(/cards/sp-ayumi.webp)}.card-art.u-sp-quiz{background-image:url(/cards/sp-quiz.webp)}.card-art.u-sp-kikai{background-image:url(/cards/sp-kikai.webp)}.card-art.u-sp-shoko{background-image:url(/cards/sp-shoko.webp)}.card-art.u-sp-hikari{background-image:url(/cards/sp-hikari.webp)}.card-art.u-sp-tokimeguri{background-image:url(/cards/sp-tokimeguri.webp)}.card-art.u-sp-kousakai{background-image:url(/cards/sp-kousakai.webp)}.card-art.u-sp-tashihiki{background-image:url(/cards/sp-tashihiki.webp)}.card-art.u-sp-kakewari{background-image:url(/cards/sp-kakewari.webp)}.card-art.u-sp-taigi{background-image:url(/cards/sp-taigi.webp)}.card-art.u-sp-kao{background-image:url(/cards/sp-kao.webp)}.card-art.u-sp-jidai{background-image:url(/cards/sp-jidai.webp)}.card-art.u-sp-hoshi{background-image:url(/cards/sp-hoshi.webp)}.card-art.u-sp-tenki{background-image:url(/cards/sp-tenki.webp)}.card-art.u-sp-karada{background-image:url(/cards/sp-karada.webp)}.card-art.u-sp-miyako{background-image:url(/cards/sp-miyako.webp)}.card-art.u-sp-kaimono{background-image:url(/cards/sp-kaimono.webp)}.card-art.u-sp-koyomi{background-image:url(/cards/sp-koyomi.webp)}.card-art.u-sp-ronri{background-image:url(/cards/sp-ronri.webp)}.card-art.u-sp-kururiban{background-image:url(/cards/sp-kururiban.webp)}.card-art.u-sp-tegakari{background-image:url(/cards/sp-tegakari.webp)}.card-art.u-sp-tsuriai{background-image:url(/cards/sp-tsuriai.webp)}.card-art.u-sp-tsumiki{background-image:url(/cards/sp-tsumiki.webp)}.card-art.is-blank{background-image:none;background-color:#e9edf5}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));grid-gap:10px;gap:10px;margin-top:10px}.shelf-tabs{display:flex;gap:8px;margin-bottom:12px}.shelf-tab{flex:1 1;display:grid;grid-gap:1px;gap:1px;justify-items:center;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background-color:var(--card);color:var(--sub);cursor:pointer;font-size:13px;font-weight:800;font-family:inherit}.shelf-tab small{font-size:11px;font-weight:700;color:var(--sub)}.shelf-tab.is-active{background-color:var(--primary-light);border-color:var(--primary)}.shelf-tab.is-active,.shelf-tab.is-active small{color:var(--primary-text)}.shelf-tab:focus-visible{outline:3px solid rgba(47,111,237,.45);outline-offset:2px}.shard-shelf{display:grid;grid-gap:16px;gap:16px}.shard-band-head{display:flex;align-items:center;gap:8px;margin:0 0 8px;font-size:15px}.shard-band-head small{margin-left:auto;color:var(--sub);font-size:13px;font-weight:800}.shard-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));grid-gap:10px;gap:10px;content-visibility:auto;contain-intrinsic-size:96px 120px}.shard-card{width:100%;display:grid;grid-gap:4px;gap:4px;justify-items:center;min-height:44px;padding:8px 6px;border:1px solid var(--line);border-radius:12px;background-color:var(--card);color:var(--sub);font:inherit;cursor:pointer}.shard-card.is-found{color:var(--ink);border-color:#c9d9f6}.shard-card.is-sel{border-color:var(--primary);background-color:var(--primary-light)}.shard-card b{font-size:11px;line-height:1.4;text-align:center}.shard-art-wrap{position:relative;display:block;width:100%;max-width:64px}.shard-art{display:block;width:100%;aspect-ratio:1/1;border-radius:10px;background-size:300% 300%;background-repeat:no-repeat}.shard-art.s-1{background-image:url(/cards/shards1.webp)}.shard-art.s-2{background-image:url(/cards/shards2.webp)}.shard-art.s-3{background-image:url(/cards/shards3.webp)}.shard-art.is-blank{background-image:none;background-color:#e9edf5}.shard-card .card-q{font-size:20px}.shard-detail-art{width:84px;flex-shrink:0}.shard-detail-how{margin:8px 0 0}.skill-art-wrap{position:relative;display:block;width:100%;max-width:76px}.skill-art{display:block;width:100%;aspect-ratio:19/25;border-radius:10px;background-size:300% 300%;background-repeat:no-repeat}.skill-art.s-math1{background-image:url(/skills/skills-math1.webp)}.skill-art.s-math2{background-image:url(/skills/skills-math2.webp)}.skill-art.s-math3{background-image:url(/skills/skills-math3.webp)}.skill-art.s-math4{background-image:url(/skills/skills-math4.webp)}.skill-art.s-math5{background-image:url(/skills/skills-math5.webp)}.skill-art.s-math6{background-image:url(/skills/skills-math6.webp)}.skill-art.s-jpn1{background-image:url(/skills/skills-jpn1.webp)}.skill-art.s-jpn2{background-image:url(/skills/skills-jpn2.webp)}.skill-art.s-jpn3{background-image:url(/skills/skills-jpn3.webp)}.skill-art.s-jpn4{background-image:url(/skills/skills-jpn4.webp)}.skill-art.s-jpn5{background-image:url(/skills/skills-jpn5.webp)}.skill-art.s-sci1{background-image:url(/skills/skills-sci1.webp)}.skill-art.s-sci2{background-image:url(/skills/skills-sci2.webp)}.skill-art.s-sci3{background-image:url(/skills/skills-sci3.webp)}.skill-art.s-sci4{background-image:url(/skills/skills-sci4.webp)}.skill-art.s-sci5{background-image:url(/skills/skills-sci5.webp)}.skill-art.s-soc1{background-image:url(/skills/skills-soc1.webp)}.skill-art.s-soc2{background-image:url(/skills/skills-soc2.webp)}.skill-art.k0{background-position:0 0}.skill-art.k1{background-position:50% 0}.skill-art.k2{background-position:100% 0}.skill-art.k3{background-position:0 50%}.skill-art.k4{background-position:50% 50%}.skill-art.k5{background-position:100% 50%}.skill-art.k6{background-position:0 100%}.skill-art.k7{background-position:50% 100%}.skill-art.k8{background-position:100% 100%}.skill-art.is-blank{background-image:none;background-color:#e9edf5}.skill-art.is-silhouette{filter:grayscale(1) brightness(.53) contrast(60)}.skill-art.is-blank.is-silhouette{filter:none}.skill-band{display:grid;grid-gap:6px;gap:6px}.skill-band-head{margin:0;font-size:13px;display:flex;align-items:baseline;justify-content:space-between;gap:8px}.skill-band-head small{color:var(--sub);font-size:12px;font-weight:800}.skill-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));grid-gap:8px;gap:8px;content-visibility:auto;contain-intrinsic-size:92px 116px}.skill-card{width:100%;display:grid;grid-gap:4px;gap:4px;justify-items:center;min-height:44px;padding:8px 6px;border:1px solid var(--line);border-radius:12px;background-color:var(--card);color:var(--sub);font:inherit;cursor:pointer}.skill-card.is-got{color:var(--ink);border-color:#c9d9f6}.skill-card.is-sel{border-color:var(--primary);background-color:var(--primary-light)}.skill-card b{font-size:11px;line-height:1.4;text-align:center}.skill-card .card-q{font-size:20px}.skill-detail-art{width:76px;flex-shrink:0}.shelf-rule{margin:0 0 10px;color:var(--sub);font-size:13px;line-height:1.7}.shard-reward{display:grid;grid-gap:8px;gap:8px;justify-items:center;margin-top:10px;padding:12px;border:1px solid #c9d9f6;border-radius:var(--radius);background-color:#f4f8ff}@keyframes pop-in-lift{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.shard-reward.anim-pop{animation-name:pop-in-lift}.shard-reward-head{margin:0;font-size:15px;font-weight:800;color:var(--primary-text)}.shard-reward-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.shard-reward-list li{display:grid;grid-gap:2px;gap:2px;justify-items:center;width:64px}.shard-reward-list b{font-size:11px;line-height:1.4;text-align:center}.shard-reward-rest{margin:0;font-size:12px}@media (min-width:768px){.shard-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}}.unit-card{display:flex;flex-direction:column;gap:6px;min-height:44px;padding:8px;border:1.5px solid var(--line);border-radius:13px;background-color:var(--card);color:var(--ink);font:inherit;text-align:center}.unit-card.is-pick{cursor:pointer}.unit-card.is-sel{border-color:var(--primary);background-color:var(--primary-light)}.unit-card.is-locked{opacity:.72}.card-name{font-size:13px;line-height:1.45}.card-tier{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--warn);font-size:12px}.card-tier small{color:var(--sub);font-size:11px;font-weight:700}.enemy-list{display:grid;grid-gap:10px;gap:10px;margin:10px 0 14px}.enemy-row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;min-height:72px;padding:10px 12px;border:1.5px solid var(--line);border-radius:14px;background-color:var(--card);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.enemy-row.is-sel{border-color:var(--primary)}.enemy-art,.enemy-row.is-sel{background-color:var(--primary-light)}.enemy-art{width:56px;height:56px;border-radius:12px;background-image:url(/gates/enemies.webp);background-size:200% 200%;background-repeat:no-repeat}.enemy-art.s2{background-image:url(/gates/enemies2.webp)}.enemy-art.s3{background-image:url(/gates/enemies3.webp)}.enemy-art.s4{background-image:url(/gates/enemies4.webp)}.enemy-art.s5{background-image:url(/gates/enemies5.webp)}.enemy-art.s6{background-image:url(/gates/enemies6.webp)}.enemy-art.s7{background-image:url(/gates/enemies7.webp)}.enemy-art.s8{background-image:url(/gates/enemies8.webp)}.enemy-art.s9{background-image:url(/gates/enemies9.webp)}.enemy-art.s10{background-image:url(/gates/enemies10.webp)}.enemy-body{display:flex;flex-direction:column;gap:3px;min-width:0}.enemy-body b{font-size:15px}.enemy-body small{color:var(--sub);font-size:12px;line-height:1.5}.screen-curtain{position:fixed;inset:0;z-index:70;pointer-events:none;display:grid;grid-template-rows:1fr 1fr}.screen-curtain-panel{display:block;background-color:#16202f}.screen-curtain.is-close .screen-curtain-panel:first-child{animation:curtain-close-top .38s cubic-bezier(.4,0,.2,1) both}.screen-curtain.is-close .screen-curtain-panel:last-child{animation:curtain-close-bottom .38s cubic-bezier(.4,0,.2,1) both}.screen-curtain.is-open .screen-curtain-panel:first-child{animation:curtain-open-top .42s cubic-bezier(.2,.8,.2,1) both}.screen-curtain.is-open .screen-curtain-panel:last-child{animation:curtain-open-bottom .42s cubic-bezier(.2,.8,.2,1) both}@keyframes curtain-close-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes curtain-close-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes curtain-open-top{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes curtain-open-bottom{0%{transform:translateY(0)}to{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.screen-curtain{display:none}.screen-curtain .screen-curtain-panel{animation:none}}.battle-turn-counter{display:flex;align-items:baseline;justify-content:center;gap:6px;flex-wrap:wrap;margin-bottom:18px}.battle-turn-label{font-size:14px;font-weight:800;color:var(--sub)}.battle-turn-num{font-size:clamp(40px,8vw,64px);font-weight:900;line-height:1;color:var(--primary-text);animation:battle-tick .38s cubic-bezier(.2,.9,.3,1) both}.battle-turn-num.is-last{color:var(--warn)}.battle-turn-pips{display:flex;gap:5px;width:100%;justify-content:center;margin-top:2px}.battle-turn-pips i{width:22px;height:6px;border-radius:999px;background-color:var(--primary);opacity:.85}.battle-turn-pips i.is-spent{background-color:#cfd8ea;opacity:1}@keyframes battle-tick{0%{transform:scale(.7);opacity:0}55%{transform:scale(1.14);opacity:1}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion:reduce){.battle-turn-num{animation:none}}.missing-list{margin:10px 0 0;padding:0;list-style:none;display:grid;grid-gap:10px;gap:10px}.missing-list li{display:flex;flex-direction:column;gap:6px;font-size:14px}.missing-units{display:flex;flex-wrap:wrap;gap:6px}.missing-units .pill{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}.battle-page{min-height:100dvh;background-color:#eef2fb}.battle-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.battle-back{min-height:44px;display:inline-flex;align-items:center;padding:0 12px;font-weight:800;color:var(--primary-text);text-decoration:none}.battle-turn{font-size:14px;color:var(--sub);padding-right:4px}.battle-field{grid-gap:12px;gap:12px;padding:18px 12px 16px;border-radius:18px;background-color:#eaf1fe;background-image:url(/battle/stage.webp);background-size:100% auto;background-position:bottom;background-repeat:no-repeat;overflow:hidden}.battle-field,.battle-foe{display:grid;justify-items:center}.battle-foe{grid-gap:8px;gap:8px;width:min(100%,340px)}.battle-foe-shell{position:relative;display:block;line-height:0}.battle-foe-art{display:block;width:132px;height:132px;border-radius:22px;background-image:url(/gates/enemies.webp);background-size:200% 200%;background-repeat:no-repeat;background-color:rgba(255,255,255,.72);transition:box-shadow .3s ease}.battle-foe-art.s2{background-image:url(/gates/enemies2.webp)}.battle-foe-art.s3{background-image:url(/gates/enemies3.webp)}.battle-foe-art.s4{background-image:url(/gates/enemies4.webp)}.battle-foe-art.s5{background-image:url(/gates/enemies5.webp)}.battle-foe-art.s6{background-image:url(/gates/enemies6.webp)}.battle-foe-art.s7{background-image:url(/gates/enemies7.webp)}.battle-foe-art.s8{background-image:url(/gates/enemies8.webp)}.battle-foe-art.s9{background-image:url(/gates/enemies9.webp)}.battle-foe-art.s10{background-image:url(/gates/enemies10.webp)}.battle-page.is-run .battle-foe-art{animation:battle-breathe 2.6s ease-in-out infinite}.battle-foe-shell[data-hit=yes]{animation:battle-hit .46s cubic-bezier(.2,.9,.3,1) both}.battle-foe-shell[data-hit=no]{animation:battle-block .38s ease-out both}.battle-foe-art-open{position:absolute;inset:0;border-radius:22px;background-image:url(/battle/enemies-open.webp);background-size:200% 200%;background-repeat:no-repeat;opacity:0;pointer-events:none}.battle-foe-art-open.s2{background-image:url(/battle/enemies2-open.webp)}.battle-foe-art-open.s3{background-image:url(/battle/enemies3-open.webp)}.battle-foe-art-open.s4{background-image:url(/battle/enemies4-open.webp)}.battle-foe-art-open.s5{background-image:url(/battle/enemies5-open.webp)}.battle-foe-art-open.s6{background-image:url(/battle/enemies6-open.webp)}.battle-foe-art-open.s7{background-image:url(/battle/enemies7-open.webp)}.battle-foe-art-open.s8{background-image:url(/battle/enemies8-open.webp)}.battle-foe-art-open.s9{background-image:url(/battle/enemies9-open.webp)}.battle-foe-art-open.s10{background-image:url(/battle/enemies10-open.webp)}.battle-page.is-win .battle-foe-art-open{animation:battle-open-in .62s cubic-bezier(.2,.8,.2,1) both}.battle-page.is-win .battle-foe-art{animation:battle-open-out .62s cubic-bezier(.2,.8,.2,1) both;box-shadow:0 0 0 5px #fbe7c2,0 10px 30px rgba(217,119,6,.32)}@keyframes battle-open-in{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes battle-open-out{0%{opacity:1}to{opacity:0}}.battle-page.is-win .battle-foe-shell{animation:battle-open .72s cubic-bezier(.2,.8,.2,1) both}.battle-damage-pop{position:absolute;top:6px;left:50%;font-size:24px;font-weight:900;color:var(--warn);text-shadow:0 2px 0 #fff,0 0 10px rgba(255,255,255,.9);animation:battle-pop .9s cubic-bezier(.2,.8,.2,1) both;pointer-events:none;line-height:1}.battle-foe-name{font-size:16px}.battle-hp{width:100%;display:grid;grid-gap:4px;gap:4px;justify-items:center}.battle-hp-bar{position:relative;width:100%;height:14px;border-radius:999px;overflow:hidden;background-color:#d7deee;border:1.5px solid #c2cbe0}.battle-hp-bar>i,.battle-hp-bar>u{position:absolute;inset:0 auto 0 0;display:block;height:100%;border-radius:999px}.battle-hp-bar>u{background-color:#f3c98a;transition:width .76s cubic-bezier(.4,0,.2,1) .22s}.battle-hp-bar>i{background-color:var(--primary);transition:width .42s cubic-bezier(.2,.8,.2,1)}.battle-hp small{color:var(--sub);font-size:12px;font-weight:700}.battle-layers{display:flex;gap:6px}.battle-layer{width:26px;height:6px;border-radius:999px;background-color:var(--primary);opacity:.5;transition:opacity .26s ease,background-color .26s ease,transform .26s ease}.battle-layer.is-broken{background-color:var(--ok);opacity:1;animation:battle-layer-break .46s cubic-bezier(.2,.9,.3,1) both}.battle-log{margin:0;min-height:52px;display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:center;text-align:center;font-size:15px;font-weight:700;color:var(--ink);animation:battle-line-in .32s ease-out both}.battle-actor{color:var(--primary-text)}.battle-move{font-weight:800}.battle-outcome{color:var(--sub);font-weight:700}.battle-damage{color:var(--warn);font-weight:900}.battle-hand{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.battle-card{width:58px;display:grid;justify-items:center;grid-gap:2px;gap:2px;opacity:.45;transform:translateY(8px) scale(.96);transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .32s ease}.battle-card small{font-size:10px;font-weight:700;color:var(--sub);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.battle-card .card-art{width:58px}.battle-card.is-played{opacity:1;transform:translateY(0) scale(1)}.battle-card.is-missed{opacity:.6}.battle-card.is-now{animation:battle-lunge .62s cubic-bezier(.2,.9,.3,1) both;z-index:1}.battle-result{margin-top:12px;animation:battle-line-in .42s ease-out both}.battle-reward{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin:12px 0 4px}.battle-reward-card{display:grid;justify-items:center;grid-gap:6px;gap:6px;max-width:120px}.battle-reward-card .card-art{width:72px}.battle-reward-card b{font-size:12px;line-height:1.5;text-align:center}.card-unlock-list{margin:4px 0 0;padding-left:1.2em}.card-unlock-list li{font-size:13px;line-height:1.7}.battle-actions{margin-top:12px;display:grid;grid-gap:8px;gap:8px}.battle-actions .btn{text-align:center;text-decoration:none}@keyframes battle-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes battle-hit{0%{transform:translate(0)}18%{transform:translate(-7px,2px) rotate(-1.5deg)}38%{transform:translate(6px,-1px) rotate(1.2deg)}58%{transform:translate(-4px,1px) rotate(-.8deg)}78%{transform:translate(2px) rotate(.4deg)}to{transform:translate(0)}}@keyframes battle-block{0%{transform:translateX(0)}40%{transform:translateX(3px)}to{transform:translateX(0)}}@keyframes battle-open{0%{transform:scale(1)}55%{transform:scale(1.1)}to{transform:scale(1.05)}}@keyframes battle-pop{0%{transform:translate(-50%,10px) scale(.7);opacity:0}25%{transform:translate(-50%,-6px) scale(1.15);opacity:1}60%{transform:translate(-50%,-22px) scale(1);opacity:1}to{transform:translate(-50%,-46px) scale(.95);opacity:0}}@keyframes battle-lunge{0%{transform:translateY(0) scale(1)}30%{transform:translateY(-22px) scale(1.18)}55%{transform:translateY(-14px) scale(1.1)}to{transform:translateY(0) scale(1)}}@keyframes battle-layer-break{0%{transform:scaleX(1) scaleY(1)}40%{transform:scaleX(1.25) scaleY(2.1)}to{transform:scaleX(1) scaleY(1)}}@keyframes battle-line-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.battle-card,.battle-foe-art,.battle-hp-bar>i,.battle-hp-bar>u,.battle-layer{transition:none}.battle-card.is-now,.battle-damage-pop,.battle-foe-shell[data-hit=no],.battle-foe-shell[data-hit=yes],.battle-layer.is-broken,.battle-log,.battle-page.is-run .battle-foe-art,.battle-page.is-win .battle-foe-art,.battle-page.is-win .battle-foe-art-open,.battle-page.is-win .battle-foe-shell,.battle-result{animation:none}.battle-card,.battle-card.is-now,.battle-card.is-played{transform:none}.battle-damage-pop{transform:translate(-50%);opacity:1}.battle-page.is-win .battle-foe-art-open{opacity:1;transform:none}.battle-page.is-win .battle-foe-art{opacity:0}}@media (min-width:768px){.battle-foe{width:min(100%,420px)}.battle-foe-art{width:168px;height:168px}}.dex-back{flex:0 0 auto;width:auto;margin-left:auto;align-self:center;padding:0 16px;min-height:44px;display:inline-flex;align-items:center;text-decoration:none;white-space:nowrap}.dex-tabs{margin:10px 0}.dex-tabs .subject-tab{display:grid;grid-gap:2px;gap:2px;justify-items:center}.dex-tabs .subject-tab small{color:var(--sub);font-size:11px;font-weight:800}.dex-track{display:flex;gap:12px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;padding-bottom:6px;width:100%;max-width:100%}.dex-panel{flex:0 0 88%;scroll-snap-align:start;display:grid;grid-gap:10px;gap:10px;align-content:start;padding:14px 12px;border-radius:18px;background-color:var(--card);border:1.5px solid var(--line);border-top-width:4px}.dex-panel[data-subject=math]{border-top-color:#2f6fed}.dex-panel[data-subject=jpn]{border-top-color:#d0453c}.dex-panel[data-subject=sci]{border-top-color:#1e8e5a}.dex-panel[data-subject=soc]{border-top-color:#dd8a1c}.dex-panel[data-subject=special]{border-top-color:#7a5ad0}.dex-panel-head{margin:0;font-size:15px;display:flex;align-items:baseline;justify-content:space-between;gap:8px}.dex-panel-head small{color:var(--sub);font-size:13px;font-weight:800}.card-unlock{margin-top:12px;padding:12px 14px;border-radius:14px;background-color:var(--primary-light);display:grid;grid-gap:6px;gap:6px}.card-unlock b{font-size:14px;color:var(--primary-text)}.card-unlock p{margin:0;font-size:14px;line-height:1.75}.card-unlock-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}.card-unlock-links .pill{min-height:44px;display:inline-flex;align-items:center;text-decoration:none}.card-unlock-note{color:var(--sub);font-size:12px;line-height:1.6}@media (min-width:768px){.dex-panel{flex-basis:62%}}@media (min-width:1024px){.dex-panel{flex-basis:46%}}.card-art-wrap{position:relative;display:block;width:100%}.card-art-wrap .card-art{width:100%}.card-art.is-silhouette{filter:grayscale(1) brightness(.53) contrast(60)}.card-art.is-mystery{background-image:url(/cards/mystery.webp);background-size:cover;background-position:50%;background-color:#eef1f8}.card-q{position:absolute;inset:0;display:grid;place-items:center;font-size:26px;font-weight:900;color:#f5f7fd;-webkit-text-stroke:1.5px rgba(22,32,47,.9);text-shadow:0 1px 4px rgba(22,32,47,.45);pointer-events:none}.card-collect{display:flex;gap:4px;justify-content:center}.card-collect i{width:16px;height:5px;border-radius:999px;background-color:#d7deee}.card-collect i.is-got{background-color:var(--warn)}.dex-modal{position:fixed;inset:0;z-index:60;display:grid;justify-items:center;align-items:start;padding:max(16px,env(safe-area-inset-top)) 12px 12px;overflow-y:auto}.dex-modal-back{position:fixed;inset:0;background-color:rgba(22,32,47,.45);animation:dex-back-in .2s ease-out both}.dex-modal-body{position:relative;width:min(100%,640px);margin-top:2vh;animation:dex-pop-in .26s cubic-bezier(.2,.9,.3,1) both}.dex-modal-head{display:flex;align-items:flex-start;gap:10px}.dex-modal-head .card-dex-head{flex:1 1;min-width:0}.dex-modal-head .card-art-wrap{width:84px;flex-shrink:0}.dex-modal-close{flex:0 0 auto;width:auto;min-height:44px;min-width:64px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px}.starter-invite h2,.starter-page h1{word-break:keep-all;overflow-wrap:anywhere}.starter-grid{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.starter-card{width:100%;display:grid;grid-gap:4px;gap:4px;justify-items:center;min-height:44px;padding:10px;border:1.5px solid var(--line);border-radius:14px;background-color:var(--card);color:var(--ink);font:inherit;cursor:pointer}.starter-card.is-sel{border-color:var(--primary);background-color:var(--primary-light);box-shadow:0 0 0 3px rgba(47,111,237,.12)}.starter-card .card-art-wrap{width:100%;max-width:128px}.starter-card-name{font-size:14px;color:var(--primary-text)}.starter-card-unit{font-size:12px;color:var(--sub);text-align:center}.starter-confirm{margin-top:14px;display:grid;grid-gap:8px;gap:8px;justify-items:center}.starter-confirm .sub{margin:0}.starter-confirm .btn{max-width:420px}.starter-got{display:grid;justify-items:center;grid-gap:2px;gap:2px}.starter-got-art{width:min(60%,200px)}.starter-got-name{font-size:20px;color:var(--primary-text);margin-top:8px}.starter-got-unit{margin:0;font-size:14px;font-weight:800}.starter-invite{display:grid;justify-items:center;grid-gap:6px;gap:6px;text-align:center}.starter-invite h2{margin:4px 0 0;font-size:clamp(18px,2.2vw,22px)}.starter-invite .sub{margin:0}.starter-invite .btn{margin-top:6px;max-width:420px}@media (min-width:768px){.starter-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}.leave-modal .dex-modal-body{max-width:420px}.leave-actions{display:grid;grid-gap:10px;gap:10px;margin-top:14px}.leave-actions .linklike{justify-self:center}.dex-forms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px;margin-top:12px}.dex-form{display:grid;justify-items:center;grid-gap:4px;gap:4px;text-align:center;padding:10px 6px;border:1.5px solid var(--line);border-radius:14px;background-color:var(--bg);min-height:44px;font:inherit;color:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}button.dex-form{cursor:pointer}.dex-form.is-sel{border-color:var(--primary);background-color:var(--primary-light);box-shadow:inset 0 0 0 1.5px var(--primary)}.dex-form small{font-size:11px;font-weight:800;color:var(--sub)}.dex-form b{font-size:12px;line-height:1.5}.dex-form-move{font-size:11px;line-height:1.5}.dex-form-move,.dex-form.is-unknown b{color:var(--sub)}@keyframes dex-back-in{0%{opacity:0}to{opacity:1}}@keyframes dex-pop-in{0%{opacity:0;transform:translateY(-14px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion:reduce){.dex-modal-back,.dex-modal-body{animation:none}}.victory-cutin{position:fixed;inset:0;z-index:65;display:grid;place-items:center;overflow:hidden;background-color:rgba(247,249,252,.6);animation:cutin-seq 2.1s ease-in both;cursor:pointer}.victory-cutin-burst{position:absolute;inset:-25%;border-radius:50%;background:radial-gradient(circle at center,rgba(255,249,235,.98) 0,rgba(251,231,194,.9) 22%,rgba(217,119,6,.18) 46%,rgba(247,249,252,0) 70%),repeating-conic-gradient(from 0deg,rgba(217,119,6,.32) 0deg 9deg,rgba(247,249,252,.05) 9deg 22deg);animation:cutin-burst 2.1s cubic-bezier(.2,.8,.2,1) both}.victory-cutin-label{position:relative;font-size:clamp(34px,7vw,56px);font-weight:900;color:var(--ink);text-shadow:0 2px 0 #fff,0 0 18px rgba(255,255,255,.95);animation:cutin-label 2.1s cubic-bezier(.2,.9,.3,1) both}@keyframes cutin-seq{0%{opacity:0}7%{opacity:1}88%{opacity:1}to{opacity:0}}@keyframes cutin-burst{0%{transform:scale(.72);opacity:0}18%{transform:scale(1);opacity:1}to{transform:scale(1.08);opacity:1}}@keyframes cutin-label{0%{transform:scale(.4);opacity:0}12%{transform:scale(1.18);opacity:1}19%{transform:scale(1)}to{transform:scale(1.03);opacity:1}}@media (prefers-reduced-motion:reduce){.victory-cutin,.victory-cutin-burst,.victory-cutin-label{animation:none}.victory-cutin{display:none}}.adventure-tally{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px;margin:12px 0}.tally-item{display:grid;justify-items:center;grid-gap:2px;gap:2px;padding:16px clamp(4px,1.5vw,12px);border:1.5px solid var(--line);border-radius:16px;background-color:var(--card)}.tally-num{font-size:clamp(24px,6.5vw,34px);font-weight:900;line-height:1.1;color:var(--primary-text);white-space:nowrap}.tally-num small{font-size:clamp(12px,3vw,16px);font-weight:800;color:var(--sub)}.tally-label{font-size:clamp(11px,2.9vw,13px);font-weight:700;color:var(--sub);text-align:center;line-height:1.3}.adventure-doors{display:grid;grid-gap:12px;gap:12px}.adventure-door{display:grid;grid-gap:10px;gap:10px;padding:18px 16px;border:1.5px solid var(--line);border-radius:18px;background-color:var(--card);color:var(--ink);text-decoration:none;box-shadow:var(--shadow-sm)}.adventure-door-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.adventure-door-head b{font-size:20px}.adventure-door-head small{color:var(--sub);font-size:13px;font-weight:700}.adventure-door-art{display:flex;gap:8px;flex-wrap:wrap}.adventure-door-art .card-art{width:56px}.adventure-door-art.is-gates .enemy-art{width:56px;height:56px}.adventure-door-art .enemy-art.is-cleared{outline:2.5px solid var(--ok);outline-offset:1px}.adventure-door-go{font-weight:800;color:var(--primary-text);font-size:14px}.adventure-next{margin-top:12px}.adventure-next-title{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:8px 16px}.adventure-next-title h2{margin:2px 0 0}.adventure-next-title p{margin:0}.adventure-next-list{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-gap:10px;gap:10px}.adventure-next-list>li{min-width:0;padding:12px;border:1.5px solid var(--line);border-radius:16px;background-color:var(--bg)}.adventure-next-head{display:grid;grid-template-columns:68px minmax(0,1fr);grid-gap:12px;gap:12px;align-items:center}.adventure-next-list .card-art,.adventure-next-list .card-art-wrap{width:68px}.adventure-next-list .card-q{font-size:20px}.adventure-next-body{display:grid;grid-gap:3px;gap:3px;min-width:0}.adventure-next-body .pill{justify-self:start;font-size:11px}.adventure-next-body b{font-size:16px}.adventure-next-body small{color:var(--sub);font-size:12px;line-height:1.65}.card-goal-checklist{list-style:none;margin:10px 0 0;padding:0;border-top:1px solid var(--line)}.card-goal-checklist>li{display:grid;grid-template-columns:24px minmax(0,1fr);grid-gap:7px 8px;gap:7px 8px;align-items:center;min-height:44px;padding:8px 0;border-bottom:1px solid var(--line)}.card-goal-checklist>li:last-child{border-bottom:0;padding-bottom:0}.card-goal-check{width:22px;height:22px;border:2px solid #aab4c5;border-radius:7px;display:inline-grid;place-items:center;color:#fff;background-color:var(--card)}.card-goal-checklist>li.is-done .card-goal-check{border-color:var(--ok);background-color:var(--ok)}.card-goal-check svg{width:14px;height:14px}.card-goal-copy{min-width:0;font-size:13px;font-weight:750;line-height:1.6}.card-goal-checklist>li.is-done .card-goal-copy{color:var(--ok)}.card-goal-action{grid-column:2;justify-self:start;min-height:44px;display:inline-flex;align-items:center;gap:4px;padding-inline:12px;text-decoration:none}@media (min-width:768px){.adventure-next-list{grid-template-columns:repeat(3,minmax(0,1fr))}}.dungeon-world-band{margin-bottom:4px}.dungeon-world-band-head{font-size:13px;font-weight:800;color:var(--sub);margin:0 0 8px;letter-spacing:.02em}.dungeon-world-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px;margin-bottom:14px}.dungeon-world{--world-accent:var(--primary);--world-ring:rgba(47,111,237,.16);position:relative;isolation:isolate;overflow:hidden;aspect-ratio:1;min-height:0;padding:0;border:2px solid transparent;border-radius:18px;background-color:#16202f;color:#fff;font:inherit;text-align:left;cursor:pointer}.dungeon-world.is-math{--world-accent:#2f6fed;--world-ring:rgba(47,111,237,.16)}.dungeon-world.is-jpn{--world-accent:#b54559;--world-ring:rgba(181,69,89,.16)}.dungeon-world.is-sci{--world-accent:#157a52;--world-ring:rgba(21,122,82,.16)}.dungeon-world.is-soc{--world-accent:#d97706;--world-ring:rgba(217,119,6,.16)}.dungeon-world.is-mix{--world-accent:#7653c6;--world-ring:rgba(118,83,198,.18)}.dungeon-world.is-selected{border-color:var(--world-accent);box-shadow:0 0 0 3px var(--world-ring)}.dungeon-world-art{position:absolute;inset:0;z-index:-2;background-image:url(/dungeon/subject-worlds.webp);background-size:400% 100%;background-repeat:no-repeat}.dungeon-world-art.is-math{background-position:0 50%}.dungeon-world-art.is-jpn{background-position:33.333% 50%}.dungeon-world-art.is-sci{background-position:66.667% 50%}.dungeon-world-art.is-soc{background-position:100% 50%}.dungeon-world-art.is-mix{background-image:url(/dungeon/mixed-world.webp);background-size:cover;background-position:50% 50%}.dungeon-world-art.is-jpn2,.dungeon-world-art.is-math2,.dungeon-world-art.is-sci2,.dungeon-world-art.is-soc2{background-image:url(/dungeon/subject-worlds2.webp)}.dungeon-world-art.is-math2{background-position:0 50%}.dungeon-world-art.is-jpn2{background-position:33.333% 50%}.dungeon-world-art.is-sci2{background-position:66.667% 50%}.dungeon-world-art.is-soc2{background-position:100% 50%}.dungeon-world-art.is-final{background-image:url(/dungeon/final-world.webp);background-size:cover;background-position:50% 50%}.dungeon-world-shade{position:absolute;inset:42% 0 0;z-index:-1;background-color:rgba(22,32,47,.86)}.dungeon-world-copy{position:absolute;inset:auto 10px 9px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:2px 8px;gap:2px 8px}.dungeon-world-copy small{grid-column:1/-1;font-size:11px;font-weight:800;opacity:.86}.dungeon-world-copy b{font-size:15px;line-height:1.25}.dungeon-world-copy>span:last-child{font-size:11px;font-weight:900}.dungeon-world-progress{grid-column:1/-1;height:5px;overflow:hidden;border-radius:999px;background-color:rgba(255,255,255,.28)}.dungeon-world-progress i{display:block;height:100%;background-color:#fff}.dungeon-layout{display:grid;grid-gap:14px;gap:14px}.dungeon-chapter{--dungeon-accent:var(--primary);--dungeon-soft:var(--primary-light);display:grid;grid-gap:10px;gap:10px;align-content:start;padding:16px 14px;border:1.5px solid var(--line);border-top:4px solid var(--dungeon-accent);border-radius:18px;background-color:var(--card)}.dungeon-chapter.is-math{--dungeon-accent:#2f6fed;--dungeon-soft:#eaf1fe}.dungeon-chapter.is-jpn{--dungeon-accent:#b54559;--dungeon-soft:#fff0f3}.dungeon-chapter.is-sci{--dungeon-accent:#157a52;--dungeon-soft:#e9f7f1}.dungeon-chapter.is-soc{--dungeon-accent:#d97706;--dungeon-soft:#fff5e6}.dungeon-chapter.is-mix{--dungeon-accent:#7653c6;--dungeon-soft:#f2edff}.dungeon-chapter-head{display:flex;align-items:center;gap:8px}.dungeon-chapter-no{width:28px;height:28px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;font-weight:900;font-size:14px;background-color:var(--dungeon-soft);color:var(--dungeon-accent)}.dungeon-chapter-head>span:nth-child(2){display:grid;grid-gap:1px;gap:1px}.dungeon-chapter-head b{font-size:17px}.dungeon-chapter-head small{color:var(--sub);font-size:11px;font-weight:800}.dungeon-chapter-head strong{margin-left:auto;color:var(--dungeon-accent);font-size:13px}.dungeon-chapter-teaser{margin:0;font-size:13px;line-height:1.7;color:var(--sub)}.dungeon-path{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px;position:relative}.dungeon-path:before{content:"";position:absolute;left:13px;top:14px;bottom:14px;width:3px;border-radius:999px;background-color:#dbe3f2}.dungeon-step{display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;grid-gap:8px;gap:8px}.dungeon-step-no{position:relative;z-index:1;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:13px;font-weight:900;background-color:var(--bg);color:var(--sub);border:2px solid #dbe3f2}.dungeon-step.is-cleared .dungeon-step-no{background-color:var(--ok-bg);color:var(--ok);border-color:var(--ok)}.dungeon-step.is-next .dungeon-step-no{background-color:var(--primary-light);color:var(--primary-text);border-color:var(--primary)}.dungeon-node.is-next{border-color:var(--primary)}.dungeon-node{width:100%;min-height:72px;display:grid;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;padding:8px 12px;border:1.5px solid var(--line);border-radius:14px;background-color:var(--card);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.dungeon-node.is-sel{border-color:var(--primary);background-color:var(--primary-light)}.dungeon-node.is-cleared .enemy-art{outline:2.5px solid var(--ok);outline-offset:1px}.dungeon-node .enemy-art{width:52px;height:52px}.dungeon-node b{font-size:15px}.dungeon-panel{display:grid;grid-gap:12px;gap:12px;align-content:start;padding:16px 14px;border:1.5px solid var(--line);border-radius:18px;background-color:var(--card)}.dungeon-panel-head{display:flex;align-items:center;gap:12px}.dungeon-panel-head .enemy-art{width:64px;height:64px;flex-shrink:0}.dungeon-panel-head b{font-size:17px;display:block}.dungeon-panel-head small{color:var(--sub);font-size:12px;line-height:1.6}.dungeon-deck-rule{font-size:12px;margin:-4px 0 8px}.dungeon-deck-rule b{color:var(--ink)}.dungeon-deck{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));grid-gap:8px;gap:8px}.dungeon-deck .unit-card{gap:4px;padding:8px 6px}.dungeon-deck .card-name{font-size:12px}.dungeon-deck small{font-size:10px;font-weight:700;color:var(--sub)}.dungeon-support-head{margin-top:14px}.dungeon-support{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));grid-gap:8px;gap:8px}@media (min-width:768px){.adventure-doors{grid-template-columns:repeat(2,minmax(0,1fr))}.adventure-tally{max-width:520px}.dungeon-world-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.dungeon-layout{grid-template-columns:minmax(0,1.5fr) minmax(300px,.9fr);align-items:start}}@media (min-width:1024px){.dungeon-world{min-height:184px}.dungeon-panel{position:-webkit-sticky;position:sticky;top:24px}}.student-nav .nav-wide-only{display:none}@media (min-width:768px){.student-nav .nav-wide-only{display:flex}}.card-no{font-size:10px;font-weight:800;color:var(--sub);letter-spacing:.04em;align-self:flex-start}.card-guardian{font-size:12px;font-weight:800;color:var(--primary-text)}.unit-card{position:relative}.card-dex{margin-top:12px;animation:battle-line-in .32s ease-out both}.card-dex-head{display:flex;align-items:center;gap:12px}.card-dex-head .card-art{width:84px;flex-shrink:0}.card-dex-title{display:grid;grid-gap:2px;gap:2px;min-width:0}.card-dex-title b{font-size:18px}.card-dex-title small{color:var(--sub);font-size:13px;font-weight:700}.card-dex-body{margin:12px 0 0;display:grid;grid-gap:4px;gap:4px}.card-dex-body dt{font-size:12px;font-weight:800;color:var(--sub);margin-top:8px}.card-dex-body dt:first-child{margin-top:0}.card-dex-body dd{margin:0;font-size:14px;line-height:1.75;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.card-dex-tale{display:block;white-space:pre-line}.card-dex-next{margin:12px 0 0}@media (prefers-reduced-motion:reduce){.card-dex{animation:none}}.card-reward{display:flex;align-items:center;gap:12px;margin-top:10px}.card-reward .card-art{width:72px;flex-shrink:0}@media (min-width:768px){.card-grid{grid-template-columns:repeat(auto-fill,minmax(124px,1fr))}}.memo-launch{position:fixed;right:12px;bottom:calc(14px + env(safe-area-inset-bottom));display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:10px 16px;background:var(--primary-light);color:var(--primary-text);border:1px solid rgba(47,111,237,.25);border-radius:999px;cursor:pointer;font-size:13px;font-weight:700;font-family:inherit;box-shadow:0 6px 16px rgba(31,74,145,.18);z-index:30}.memo-launch:focus-visible{outline:3px solid rgba(47,111,237,.45);outline-offset:2px}.work-side{display:none}.work-side[data-open]{display:flex;flex-direction:column;position:fixed;left:0;right:0;bottom:0;height:46dvh;background:var(--card);border-top:1px solid var(--line);border-radius:16px 16px 0 0;padding:10px 12px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -8px 24px rgba(31,41,55,.16);overscroll-behavior:contain;z-index:29}.work-side-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;font-size:14px}.work-side-close{min-height:44px;padding:8px 12px}.work-tabs{display:flex;gap:6px;margin-bottom:8px}.work-tab{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--sub);cursor:pointer;font-size:13px;font-weight:700;font-family:inherit}.work-tab.is-active{background:var(--primary-light);color:var(--primary-text);border-color:var(--primary)}.work-tab:focus-visible{outline:3px solid rgba(47,111,237,.45);outline-offset:2px}.work-panel[hidden]{display:none}.scratchpad,.work-panel{display:flex;flex-direction:column;flex:1 1;min-height:0}.scratchpad-tools{display:flex;gap:6px;margin-bottom:8px}.scratchpad-tool{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:44px;min-width:44px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--sub);cursor:pointer;font-size:13px;font-weight:700;font-family:inherit}.scratchpad-tool.is-active{background:var(--primary-light);color:var(--primary-text);border-color:var(--primary)}.scratchpad-clear{margin-left:auto}.scratchpad-canvas{flex:1 1;min-height:0;width:100%;border:1.5px dashed #c9d3e6;border-radius:12px;background-color:#fff;background-image:radial-gradient(circle,#dde4f0 1px,transparent 0);background-size:22px 22px;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.calculator{display:flex;flex-direction:column;gap:8px;flex:1 1;min-height:0;overflow-y:auto}.calc-display{display:block;width:100%;border:1.5px solid var(--line);border-radius:12px;background-color:#fff;padding:8px 12px;text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.calc-pending{display:block;font-size:12px;color:var(--sub);min-height:18px}.calc-value{display:block;font-size:28px;font-weight:800;line-height:1.3;overflow-wrap:anywhere}.calc-keys{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px}.calc-key{min-height:44px;min-width:44px;border:1px solid var(--line);border-radius:12px;background-color:var(--card);color:var(--ink);cursor:pointer;font-size:18px;font-weight:800;font-family:inherit}.calc-key.is-fn{font-size:14px;color:var(--sub)}.calc-key.is-op{background-color:var(--primary-light);color:var(--primary-text);border-color:var(--primary)}.calc-key.is-eq{background-color:var(--ok-bg);color:var(--ok);border-color:var(--ok);grid-row:span 2}.calc-key.is-zero{grid-column:span 2}.calc-key:focus-visible{outline:3px solid rgba(47,111,237,.45);outline-offset:2px}.work-side[data-open][data-tool=calc]{height:min(72dvh,560px)}@media (min-width:960px){main.focus-work{max-width:1200px;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);grid-column-gap:24px;column-gap:24px;align-items:start}.work-main{min-width:0}.work-side,.work-side[data-open]{display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:24px;left:auto;right:auto;bottom:auto;height:calc(100dvh - 140px);min-height:340px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);box-shadow:none;padding:12px;z-index:auto}.memo-launch,.work-side-close{display:none}}.battle-lab-page .lab-stage{display:grid;grid-gap:12px;gap:12px}.lab-foe{display:flex;align-items:center;gap:12px}.lab-foe .enemy-art{width:64px;height:64px;flex-shrink:0}.lab-foe b{display:block;font-size:16px}.lab-score{font-size:13px;color:var(--sub);font-weight:800}.lab-step{margin:0;font-size:15px;color:var(--primary-text)}.lab-hand{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.lab-card{width:100%;display:grid;grid-gap:4px;gap:4px;justify-items:center;min-height:44px;padding:10px;border:1.5px solid var(--line);border-radius:14px;background-color:var(--card);color:var(--ink);font:inherit;cursor:pointer}.lab-card .card-art-wrap{width:100%;max-width:110px}.lab-card b{font-size:13px;color:var(--primary-text)}.lab-stat-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:3px;gap:3px;width:100%}.lab-stat-chip{display:grid;grid-gap:1px;gap:1px;padding:3px 2px;border-radius:7px;background-color:var(--bg);text-align:center}.lab-stat-chip small{font-size:9px;color:var(--sub)}.lab-stat-chip b{font-size:12px;color:var(--ink)}.lab-roulette{display:grid;grid-gap:8px;gap:8px;justify-items:center}.lab-roulette-dial{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px;width:100%}.lab-roulette-dial>span{padding:10px 4px;border-radius:10px;text-align:center;background-color:var(--bg);color:var(--sub);font-size:12px;font-weight:800}.lab-roulette-dial>span.is-hit{background-color:var(--primary);color:#fff;animation:lab-hit .52s cubic-bezier(.2,.9,.3,1) both}@keyframes lab-hit{0%{transform:scale(.9)}60%{transform:scale(1.08)}to{transform:scale(1)}}.lab-roulette-out{font-size:17px;color:var(--primary-text)}.lab-quiz,.lab-quiz-choices{display:grid;grid-gap:8px;gap:8px}.lab-compare-label,.lab-quiz .sub{margin:0}.lab-bonus{color:var(--ok)}.lab-compare{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:10px;gap:10px}.lab-side{display:grid;justify-items:center;grid-gap:2px;gap:2px;padding:10px;border-radius:14px;background-color:var(--bg)}.lab-side .card-art-wrap{width:min(100%,96px)}.lab-side .enemy-art{width:72px;height:72px}.lab-side b{font-size:24px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lab-side small{font-size:11px;color:var(--sub)}.lab-side.is-top{background-color:var(--ok-bg)}.lab-side.is-top b{color:var(--ok)}.lab-versus{font-size:13px;font-weight:900;color:var(--sub)}.lab-log{list-style:none;margin:0;padding:0;display:grid;grid-gap:6px;gap:6px}.lab-log li{display:grid;grid-template-columns:22px minmax(0,1fr) auto auto;align-items:center;grid-gap:8px;gap:8px}.lab-log-no{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background-color:var(--bg);color:var(--sub);font-size:12px;font-weight:900}.lab-log b{font-size:14px}.lab-log .sub{font-size:12px}.lab-note{text-align:center;margin-top:12px}@media (min-width:768px){.lab-hand{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.lab-roulette-dial>span.is-hit{animation:none}}.dojo-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:4px;gap:4px;margin:0 0 4px}.dojo-tab{min-width:0;min-height:48px;padding:6px 3px;border:solid #dbe3f0;border-width:1px 1px 3px;border-radius:var(--radius);background:#fff;color:var(--sub);font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}.dojo-tab:hover{border-color:var(--primary);background:var(--primary-light)}.dojo-tab.is-on{border-color:var(--dojo-accent);border-bottom-color:var(--dojo-accent);border-bottom-width:3px;background:var(--dojo-accent-soft);color:var(--dojo-accent-dark)}.dojo-tab-panel{display:grid;grid-gap:12px;gap:12px}@media (min-width:768px){.dojo-rail>.dojo-tabs>.dojo-tab{text-align:left;min-height:48px;padding:10px 12px;border-bottom-width:1px;border-left-width:4px;border-left-color:transparent}.dojo-rail>.dojo-tabs>.dojo-tab.is-on{border-bottom-color:#dbe3f0;border-bottom-width:1px;border-left-color:var(--dojo-accent)}}.dojo-card{display:grid;grid-gap:10px;gap:10px}.dojo-advanced-card{border-color:var(--dojo-accent-line);background-color:#fbf9ff;box-shadow:inset 0 4px 0 var(--dojo-accent)}.dojo-advanced-card .section-heading{align-items:end}.dojo-advanced-card .section-heading>div{display:grid;grid-gap:2px;gap:2px}.dojo-course-list{display:grid;grid-gap:8px;gap:8px;margin:4px 0 0;padding:0;list-style:none}.dojo-course{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:12px 14px;border:1px solid #dbe3f0;border-radius:var(--radius);background:#fff;color:var(--ink);text-align:left;cursor:pointer}.dojo-course:hover{border-color:var(--primary);background:var(--primary-light)}.dojo-course-copy{display:grid;grid-gap:2px;gap:2px;flex:1 1;min-width:0}.dojo-course-copy b{font-size:15px}.dojo-course-copy small{font-size:12px;color:var(--sub)}.dojo-course-best{display:flex;align-items:baseline;gap:3px;flex-shrink:0;color:var(--primary)}.dojo-course-best b{font-size:22px}.dojo-course-best small{font-size:11px;color:var(--sub)}.dojo-note{margin:2px 0 0;font-size:12px}.dojo-card-reward,.dojo-reward-preview{display:grid;grid-template-columns:82px minmax(0,1fr);align-items:center;grid-gap:12px;gap:12px;padding:10px;border:1.5px solid var(--dojo-accent-line);border-radius:16px;background-color:#f7f3ff}.dojo-card-reward .card-art-wrap,.dojo-reward-preview .card-art-wrap{width:82px}.dojo-card-reward-copy,.dojo-reward-copy{display:grid;grid-gap:2px;gap:2px;text-align:left}.dojo-card-reward-copy small,.dojo-reward-copy small{color:#6544a4;font-size:11px;font-weight:800}.dojo-card-reward-copy b,.dojo-reward-copy b{font-size:15px}.dojo-card-reward-copy span,.dojo-reward-copy span{color:var(--sub);font-size:12px;line-height:1.55}.dojo-card-reward.is-inverse,.dojo-reward-preview.is-inverse{border-color:#cbbcf3;background-color:var(--dojo-accent-soft)}.dojo-course.is-carded{align-items:center;gap:10px}.card-art-wrap.is-mini{width:54px;flex-shrink:0}.dojo-course-copy .dojo-course-card-name{color:#6544a4;font-weight:750}.dojo-shell{display:grid;grid-gap:12px;gap:12px}.dojo-result{display:grid;grid-gap:10px;gap:10px;justify-items:center;text-align:center}.dojo-result-headline{margin:0;font-weight:700}.dojo-score{display:flex;align-items:baseline;gap:6px;margin:0}.dojo-score b{font-size:44px;line-height:1;color:var(--primary)}.dojo-score small{font-size:13px;color:var(--sub)}.dojo-bar{height:10px;border-radius:999px;background:#e3e9f4;overflow:hidden}.dojo-bar-fill{display:block;height:100%;background:var(--primary)}.dojo-meta{justify-content:space-between}.dojo-meta,.dojo-remaining{display:flex;align-items:baseline}.dojo-remaining{gap:3px}.dojo-remaining b{font-size:26px;color:var(--primary)}.dojo-remaining small{font-size:12px;color:var(--sub)}.dojo-count{font-size:14px;font-weight:700;color:var(--sub)}.dojo-q{position:relative;display:grid;grid-gap:6px;gap:6px;justify-items:center;padding:22px 16px;border:1px solid #dbe3f0;border-radius:var(--radius);background:#fff}.dojo-q.is-hit{border-color:#9ecfae;background:#f3fbf6}.dojo-q.is-miss{border-color:#dbe3f0;background:#f7f9fc}.dojo-formula{letter-spacing:.04em}.dojo-entry,.dojo-formula{font-size:34px;font-weight:700}.dojo-entry{min-height:40px;color:var(--primary)}.dojo-entry-blank{color:#c2cbdb}.dojo-mark{position:absolute;top:10px;right:14px;font-size:30px;color:var(--sub)}.dojo-keys{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.dojo-key{min-height:56px;border:1px solid #dbe3f0;border-radius:12px;background:#fff;color:var(--ink);font-size:22px;font-weight:700;cursor:pointer}.dojo-key:hover{background:var(--primary-light)}.dojo-key.is-fn{font-size:15px;color:var(--sub)}.dojo-key.is-go{grid-column:span 1;background:var(--primary);border-color:var(--primary);color:#fff;font-size:16px}.dojo-key:disabled{opacity:.4;cursor:default}.dojo-quit{justify-self:center}.dojo-inverse-intro{display:grid;grid-gap:12px;gap:12px;justify-items:center;text-align:center}.dojo-inverse-sample{display:flex;align-items:center;justify-content:center;gap:10px;margin:8px 0;font-size:34px;font-weight:800;letter-spacing:.03em}.dojo-inverse-sample span{display:grid;place-items:center;width:48px;height:48px;border:2px solid var(--dojo-accent);border-radius:12px;color:var(--dojo-accent);background-color:var(--dojo-accent-soft)}.dojo-choice-run{align-content:start}.dojo-choice-progress{height:10px;overflow:hidden;border-radius:999px;background-color:#e6e0f5}.dojo-choice-progress>span{display:block;height:100%;background-color:var(--dojo-accent)}.dojo-question-number{display:flex;align-items:baseline;gap:3px;color:var(--dojo-accent)}.dojo-question-number b{font-size:26px}.dojo-question-number small{color:var(--sub);font-size:12px;font-weight:750}.dojo-inverse-q{min-height:150px;align-content:center}.dojo-inverse-q>small{color:var(--sub);font-size:13px;font-weight:750}.dojo-inverse-q .dojo-formula{font-size:clamp(28px,9vw,42px)}.dojo-inverse-q .dojo-formula i{display:inline-grid;place-items:center;width:1.35em;height:1.35em;border:2px solid var(--dojo-accent);border-radius:10px;color:var(--dojo-accent);background-color:var(--dojo-accent-soft);font-style:normal}.dojo-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.dojo-choice{min-height:72px;border:2px solid #dbe3f0;border-radius:16px;background-color:#fff;color:var(--ink);font:inherit;font-size:28px;font-weight:850;cursor:pointer}.dojo-choice:hover{border-color:var(--dojo-accent);background-color:#f7f4ff}.dojo-choice:disabled{opacity:1;cursor:default}.dojo-choice.is-answer{border-color:var(--ok);background-color:var(--ok-bg);color:var(--ok)}.dojo-choice.is-picked-miss{border-color:#b8c2d2;background-color:#eef2f7;color:var(--sub)}.dojo-inverse-result{border-top:4px solid var(--dojo-accent)}.dojo-clear-time{display:inline-flex;align-items:baseline;justify-content:center;gap:6px;margin:0;padding:8px 14px;border-radius:999px;background:var(--dojo-accent-soft);color:var(--dojo-accent-dark)}.dojo-clear-time small,.dojo-clear-time span{font-size:13px;font-weight:800}.dojo-clear-time b{font-size:26px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.dojo-quiz-intro{display:grid;grid-gap:12px;gap:12px}.dojo-quiz-q{min-height:140px;align-content:center;gap:10px}.dojo-quiz-q>small{color:var(--sub);font-size:13px;font-weight:750}.dojo-quiz-prompt{font-size:clamp(17px,4.6vw,22px);font-weight:800;line-height:1.7;text-align:center}.dojo-quiz-symbol{display:grid;place-items:center;width:96px;height:96px;border:2px solid var(--dojo-accent-line);border-radius:18px;background-color:#fbf9ff;color:#4a3a7a}.map-symbol{width:68px;height:68px}.dojo-quiz-photo{display:grid;justify-items:center;grid-gap:4px;gap:4px;width:min(100%,320px)}.dojo-quiz-photo img{width:auto;height:auto;max-width:100%;max-height:46vh;border:2px solid var(--dojo-accent-line);border-radius:16px;background-color:#f1ecfd}.dojo-quiz-credit{color:var(--sub);font-size:10px;line-height:1.4;font-weight:600;text-align:center;word-break:break-word}.dojo-choice-grid.is-text .dojo-choice{min-height:78px;padding:10px 12px;font-size:clamp(14px,3.4vw,17px);font-weight:800;line-height:1.6}.dojo-quiz-note{min-height:22px;margin:0;text-align:center;color:var(--sub);font-size:13px;line-height:1.6}@media (min-width:900px){.dojo-run{grid-template-columns:1fr 340px;align-items:start}.dojo-run .dojo-bar,.dojo-run .dojo-meta{grid-column:1/-1}.dojo-run .dojo-q{min-height:240px;align-content:center}.dojo-quit{grid-column:1/-1}.dojo-choice-run{grid-template-columns:minmax(0,1fr) 360px}.dojo-choice-run .dojo-bar,.dojo-choice-run .dojo-choice-progress,.dojo-choice-run .dojo-meta{grid-column:1/-1}.dojo-choice-run .dojo-inverse-q,.dojo-choice-run .dojo-quiz-q{min-height:280px}.dojo-choice-run .dojo-quiz-note{grid-column:1/-1}}@media (min-width:1024px){main.shell.wide.worldmap-main{--shell-max:1560px;max-width:var(--shell-max)}}.worldmap-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}.worldmap-head>.worldmap-title>b{padding-right:var(--level-badge-gap,64px)}.worldmap-head>.worldmap-title-chip{margin-right:var(--level-badge-gap,64px)}.worldmap-title{display:grid;grid-gap:2px;gap:2px}.worldmap-title>b{font-size:var(--fs-h1)}.worldmap-title-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;background:var(--primary-light);color:var(--primary-text);border:1px solid var(--line-strong);font-weight:700;font-size:var(--fs-small)}.worldmap-layout{display:grid;grid-gap:16px;gap:16px}.worldmap-stage{position:relative;width:100%;aspect-ratio:1920/1200;background-color:#b4e2f2;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line-strong);isolation:isolate}.worldmap-art{position:absolute;inset:0;z-index:-2;background:url(/map/continent.webp) 50%/cover no-repeat}@media (max-width:767px){.worldmap-stage{aspect-ratio:900/1350}.worldmap-art{background-image:url(/map/continent-tall.webp)}}.worldmap-clouds,.worldmap-haze{position:absolute;inset:0;z-index:-1;pointer-events:none}.worldmap-haze{opacity:calc(var(--map-haze, 1) * .62);background:radial-gradient(60% 45% at 22% 18%,rgba(255,255,255,.95),rgba(255,255,255,0) 70%),radial-gradient(55% 40% at 78% 26%,rgba(255,255,255,.9),rgba(255,255,255,0) 72%),radial-gradient(65% 45% at 30% 76%,rgba(255,255,255,.9),rgba(255,255,255,0) 70%),radial-gradient(60% 42% at 74% 80%,rgba(255,255,255,.92),rgba(255,255,255,0) 72%),radial-gradient(70% 50% at 50% 50%,rgba(236,242,250,.85),rgba(236,242,250,0) 75%);filter:blur(10px)}.worldmap-cloud{position:absolute;translate:-50% -50%;left:var(--wx);top:var(--wy);width:38%;aspect-ratio:16/11;opacity:.96;filter:blur(4px);background:radial-gradient(closest-side,rgba(255,255,255,1),rgba(255,255,255,0) 78%) 46% 26% /60% 62% no-repeat,radial-gradient(closest-side,rgba(255,255,255,1),rgba(255,255,255,0) 78%) 16% 50% /50% 56% no-repeat,radial-gradient(closest-side,rgba(252,254,255,1),rgba(252,254,255,0) 78%) 84% 48% /48% 54% no-repeat,radial-gradient(closest-side,rgba(240,245,251,1),rgba(240,245,251,0) 80%) 66% 30% /44% 46% no-repeat,radial-gradient(closest-side,rgba(226,233,243,.98),rgba(226,233,243,0) 80%) 34% 70% /56% 48% no-repeat,radial-gradient(closest-side,rgba(214,223,236,.95),rgba(214,223,236,0) 80%) 66% 72% /52% 44% no-repeat,radial-gradient(closest-side,rgba(232,239,248,.95),rgba(232,239,248,0) 82%) 50% 56% /76% 62% no-repeat}.worldmap-cloud.drift-1{width:42%;scale:-1 1}.worldmap-cloud.drift-2{width:34%;rotate:6deg}@media (max-width:767px){.worldmap-cloud{width:44%}.worldmap-cloud.drift-1{width:48%}.worldmap-cloud.drift-2{width:40%}.worldmap-cloud{left:var(--tx);top:var(--ty)}}.worldmap-land-name,.worldmap-mark,.worldmap-portal{position:absolute;translate:-50% -50%;left:var(--wx);top:var(--wy)}@media (max-width:767px){.worldmap-land-name,.worldmap-mark,.worldmap-portal{left:var(--tx);top:var(--ty)}}.worldmap-land-name{padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.82);color:var(--ink);font-weight:800;font-size:var(--fs-caption);border:1px solid rgba(22,32,47,.25);pointer-events:none;white-space:nowrap}.worldmap-mark{display:grid;justify-items:center;grid-gap:2px;gap:2px;min-width:44px;min-height:44px;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.worldmap-mark-art{width:52px;height:52px;border-radius:50%;border:3px solid #16202f;background-color:#ebf2ff;background-size:300% 300%;box-shadow:0 2px 6px rgba(22,32,47,.35)}@media (min-width:1024px){.worldmap-mark-art{width:64px;height:64px}}@media (max-width:767px){.worldmap-mark-art{width:46px;height:46px}}.worldmap-mark-art.sheet-math{background-image:url(/map/landmarks-math.webp)}.worldmap-mark-art.sheet-jpn{background-image:url(/map/landmarks-jpn.webp)}.worldmap-mark-art.sheet-sci{background-image:url(/map/landmarks-sci.webp)}.worldmap-mark-art.sheet-soc{background-image:url(/map/landmarks-soc.webp)}.worldmap-mark-art.tile-0{background-position:0 0}.worldmap-mark-art.tile-1{background-position:50% 0}.worldmap-mark-art.tile-2{background-position:100% 0}.worldmap-mark-art.tile-3{background-position:0 50%}.worldmap-mark-art.tile-4{background-position:50% 50%}.worldmap-mark-art.tile-5{background-position:100% 50%}.worldmap-mark-art.tile-6{background-position:0 100%}.worldmap-mark-art.tile-7{background-position:50% 100%}.worldmap-mark-art.tile-8{background-position:100% 100%}.worldmap-mark:not(.is-lit) .worldmap-mark-art{filter:grayscale(.8) brightness(.78) contrast(1.1)}.worldmap-mark.is-lit .worldmap-mark-art{border-color:#d97706;box-shadow:0 0 0 3px rgba(242,176,76,.9),0 0 18px 6px rgba(255,196,84,.55),0 0 44px 14px rgba(255,196,84,.22)}.worldmap-mark.is-selected .worldmap-mark-art{outline:3px solid var(--primary);outline-offset:2px}.worldmap-mark-name{padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.88);color:var(--ink);font-size:var(--fs-caption);font-weight:700;white-space:nowrap;border:1px solid rgba(22,32,47,.18)}@media (max-width:767px){.worldmap-mark-name{display:none}}.worldmap-mark-door{padding:1px 8px;border-radius:999px;background:#fef3e2;color:#9a4d00;border:1px solid #e8c89a;font-size:var(--fs-caption);font-weight:700;white-space:nowrap}.worldmap-portal{display:grid;justify-items:center;grid-gap:2px;gap:2px;text-decoration:none}.worldmap-portal-art{position:relative;display:block;width:58px;height:58px;border-radius:14px;overflow:hidden;isolation:isolate;border:2px solid #16202f;box-shadow:0 2px 6px rgba(22,32,47,.35)}@media (max-width:767px){.worldmap-portal-art{width:48px;height:48px}}.worldmap-portal-name{padding:2px 8px;border-radius:999px;background:rgba(22,32,47,.82);color:#fff;font-size:var(--fs-caption);font-weight:700;white-space:nowrap}@media (max-width:767px){.worldmap-portal-name{display:none}}.worldmap-doors{margin-top:12px}.worldmap-door{display:flex;align-items:center;gap:10px;padding:12px 16px;border-radius:12px;text-decoration:none;background:var(--primary-light);color:var(--primary-text);border:1px solid var(--line-strong);min-height:44px}.worldmap-door b{display:block}.worldmap-door small{color:var(--sub)}.worldmap-lands{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.worldmap-land-group{border:1px solid var(--line);background:var(--card);border-radius:var(--radius-card)}.worldmap-land-group>summary{display:flex;align-items:center;gap:8px;padding:12px 14px;cursor:pointer;min-height:44px;list-style:none}.worldmap-land-group>summary::-webkit-details-marker{display:none}.worldmap-land-group>summary .sub{margin-left:auto}.worldmap-land-group>ul{list-style:none;margin:0;padding:0 10px 10px;display:grid;grid-gap:6px;gap:6px}.worldmap-land-unit{display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;min-height:44px;text-align:left;background:var(--surface-tint);border:1px solid var(--line);border-radius:10px;cursor:pointer;font-size:var(--fs-body)}.worldmap-land-unit.is-selected{border-color:var(--primary)}.worldmap-land-unit-state{flex:none;padding:2px 8px;border-radius:999px;font-size:var(--fs-caption);font-weight:700}.worldmap-land-unit-lit{margin-left:auto;color:#d97706}.worldmap-sheet{position:fixed;left:12px;right:12px;bottom:72px;z-index:30;background:var(--card);border:1px solid var(--line-strong);border-radius:var(--radius);padding:14px;max-height:min(60dvh,480px);overflow-y:auto}@media (min-width:1024px){.worldmap-sheet{left:auto;right:24px;top:88px;bottom:auto;width:340px;max-height:calc(100dvh - 120px)}}.worldmap-sheet-body{display:grid;grid-gap:10px;gap:10px}.worldmap-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.worldmap-sheet-head>b{font-size:var(--fs-title)}.worldmap-close{min-width:44px;min-height:44px;width:auto;flex:none}.worldmap-sheet-state{display:inline-flex;align-items:baseline;gap:8px;margin:0;padding:6px 10px;border-radius:8px;font-size:var(--fs-small)}.worldmap-sheet-state-label{font-weight:800}.worldmap-sheet-state-detail{color:var(--sub)}.worldmap-sheet-actions{display:flex;gap:8px;flex-wrap:wrap}.worldmap-main .map-bridge{margin:0;padding:8px 10px;border-radius:8px;background:#f1effd;color:#4b3fa8;border:1px solid #d6d0f5;font-size:var(--fs-small)}.worldmap-grid{position:absolute;inset:0;pointer-events:none}.worldmap-grid i{position:absolute;top:0;bottom:0;width:1px;background:rgba(22,32,47,.35)}.worldmap-grid i.is-h{left:0;right:0;bottom:auto;width:auto;height:1px}@media (prefers-reduced-motion:reduce){.worldmap-door,.worldmap-land-unit,.worldmap-mark,.worldmap-mark-art,.worldmap-portal,.worldmap-sheet{animation:none!important;transition:none!important}}.unit-open-request{margin-top:8px}.unit-open-request .sub{margin:0;display:flex;align-items:center;gap:6px}.unit-open-request .btn{min-height:44px}