@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.resize{resize:both}}:root{--c-blue-1:#f0f6ff;--c-blue-2:#e8f0fe;--c-blue-3:#eef2f6;--c-blue-4:#eceff1;--c-blue-5:#cbd5e1;--c-blue-6:#1a73e8;--c-blue-7:#3262b4;--c-blue-8:#667078;--c-blue-9:#52606d;--c-blue-10:#244a75;--c-gray-1:#fff;--c-gray-2a:#ffffff80;--c-gray-3:#fff;--c-gray-4:#292d2a;--c-green-1:#f6f7f2;--c-green-2:#f4f6f2;--c-green-3:#f3f6ed;--c-green-4:#f3f7e9;--c-green-5:#eef1ee;--c-green-6:#e7f7ef;--c-green-7:#f0f5e9;--c-green-8:#edf5e7;--c-green-9:#edf2e9;--c-green-10:#e8f2e7;--c-green-11:#eff5df;--c-green-12:#e4f1df;--c-green-13:#eaf0db;--c-green-14:#e5e9e0;--c-green-15:#dcece2;--c-green-16:#eff4d2;--c-green-17:#dce8df;--c-green-18:#e2e8dc;--c-green-19:#dce9da;--c-green-20:#dfead8;--c-green-21:#dce4da;--c-green-22:#d9ddd8;--c-green-23:#dae5c6;--c-green-24:#cfd6d1;--c-green-25:#c7d5cc;--c-green-26:#c9d9b9;--c-green-27:#b7cda5;--c-green-28:#7ba78b;--c-green-29:#528258;--c-green-30:#617068;--c-green-31:#46815b;--c-green-32:#4b7a55;--c-green-33:#577b36;--c-green-34:#46534c;--c-green-35:#287047;--c-green-36:#45662b;--c-green-37:#19734b;--c-green-38:#275e47;--c-green-39:#2a5630;--c-green-40:#285839;--c-green-41:#1f5036;--c-green-42:#2f4a25;--c-green-43:#194b35;--c-green-44a:#243e2c66;--c-green-45a:#243e2c08;--c-green-46:#203f30;--c-green-47:#25392f;--c-green-48:#24362f;--c-green-49a:#15251dcc;--c-orange-1:#fff5ee;--c-orange-2:#fff0e9;--c-orange-3:#fff4e7;--c-orange-4:#fbf4e8;--c-orange-5:#ffd4bd;--c-orange-6:#e1bcaa;--c-orange-7:#d8c7a8;--c-orange-8:#c47440;--c-orange-9:#f9ab00;--c-orange-10:#c28a30;--c-orange-11:#c2761c;--c-orange-12:#ac6a1e;--c-orange-13:#86462a;--c-orange-14:#9a6500;--c-orange-15:#794420;--c-orange-16:#795019;--c-red-1:#b45234;--c-red-2:#b44828;--c-red-3:#b3261e;--c-red-4:#a4482c;--c-yellow-1:#f3f1eb;--c-yellow-2:#fff6d8;--preview-standard-bg:#f6f7f2;--preview-standard-ink:#275e47;--preview-pixel-bg:#e0e7d3;--preview-pixel-ink:#3b5115;--r-0p375rem:.375rem;--r-0p6rem:.6rem;--r-10:10px;--r-12:12px;--r-18:18px;--r-4:4px;--r-7:7px;--r-8:8px;--r-circle:50%;--r-pill:999px;color:var(--c-green-47);background:var(--c-green-1);--accent:var(--c-green-38);--muted:var(--c-green-30);--border:var(--c-green-21);--radius:16px;--shadow:0 8px 30px var(--c-green-45a);--space:8px;--motion:.12s;--z-header:10;font-family:Inter,Noto Sans TC,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.65}*{box-sizing:border-box}body{margin:0}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit}button,a,input,select,summary{outline-offset:4px}:focus-visible{outline:3px solid var(--c-orange-12)}button:disabled{opacity:.55;cursor:not-allowed}h1,h2,p{margin:0}h1{letter-spacing:-.025em;font-size:32px;font-weight:700;line-height:1.35}h2{margin-bottom:12px;font-size:23px;font-weight:650;line-height:1.4}.site-header{justify-content:space-between;align-items:center;gap:16px;max-width:1200px;height:96px;margin:auto;padding:0 32px;display:flex}.header-actions{align-items:center;gap:8px;display:flex}.header-link{white-space:nowrap;padding:8px 12px;font-size:14px;font-weight:700}.brand{letter-spacing:-.04em;color:var(--c-green-46);align-items:center;gap:10px;font-size:22px;font-weight:750;display:flex}.brand-mark{background:var(--accent);color:var(--c-green-16);border-radius:var(--r-8);place-items:center;width:32px;height:32px;display:grid}.brand-tag{letter-spacing:.05em;border-left:1px solid var(--border);color:var(--muted);margin-left:8px;padding-left:12px;font-size:12px;font-weight:400}.container{max-width:1140px;min-height:calc(100vh - 175px);margin:0 auto;padding:32px 32px 72px}.narrow{max-width:640px;margin:auto}.card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:32px}.page-heading{margin:16px 0 32px}.page-heading .muted{margin-top:16px}.eyebrow{letter-spacing:.14em;color:var(--accent);margin-bottom:12px;font-size:12px;font-weight:700}.muted{color:var(--muted)}.button{border-radius:var(--r-8);cursor:pointer;min-height:48px;transition:background var(--motion);border:1px solid #0000;justify-content:center;align-items:center;gap:12px;padding:12px 24px;font-weight:650;display:inline-flex}.button:hover{text-decoration:none}.button-primary{background:var(--accent);color:#fff}.button-primary:hover{background:var(--c-green-43)}.button-secondary{border-color:var(--border);color:var(--accent);background:0 0}.button-secondary:hover{background:var(--c-green-9)}.full{width:100%}.login-layout{grid-template-columns:1.2fr 1fr;align-items:center;gap:80px;min-height:590px;display:grid}.intro h1{letter-spacing:-.055em;font-size:64px;line-height:1.25}.intro h1 span{color:var(--accent);position:relative}.intro-copy{color:var(--muted);margin-top:28px;font-size:18px;line-height:1.9}.steps{color:var(--accent);flex-wrap:wrap;gap:20px;margin-top:44px;font-size:12px;display:flex}.login-card{text-align:center;padding:48px 32px}.login-card .button{width:100%;margin:32px 0 20px}.pixel-art{place-items:center;height:100px;margin-bottom:24px;display:grid}.pixel-art span{background:var(--c-green-13);border:8px solid var(--c-green-13);box-shadow:8px 0 var(--c-green-23),-8px 0 var(--c-green-23),0 8px var(--c-green-23),0 -8px var(--c-green-23);color:var(--c-green-36);font-size:62px;line-height:1}.privacy-note{color:var(--muted);font-size:12px;line-height:1.8}.google-g{border-radius:var(--r-circle);color:var(--c-blue-7);background:#fff;width:24px;height:24px;font-weight:800;line-height:24px}.alert{border:1px solid var(--c-orange-6);background:var(--c-orange-1);border-radius:var(--r-8);color:var(--c-orange-13);overflow-wrap:anywhere;margin:16px 0;padding:16px}.alert .button{margin-top:12px}.loading{max-width:640px;margin:40px auto}.skeleton{background:var(--c-green-14);border-radius:var(--r-12);height:90px;margin-bottom:16px}.skeleton.short{width:55%;height:32px}label{margin-bottom:8px;font-weight:600;display:block}select{border:1px solid var(--border);border-radius:var(--r-8);background:var(--c-gray-1);width:100%;min-height:52px;color:var(--c-green-47);margin-bottom:24px;padding:12px}.note{background:var(--c-green-3);border-radius:var(--r-8);color:var(--muted);margin-bottom:28px;padding:16px;font-size:14px}.history{margin-top:40px}.dashboard-grid{grid-template-columns:1.25fr .9fr;gap:16px;margin-bottom:16px;display:grid}.dashboard-grid .card,.recommendation-card{padding:24px}.quest-heading,.recommendation-card,.progression-stats{justify-content:space-between;align-items:center;gap:20px;display:flex}.quest-heading h2,.recommendation-card h2{margin-bottom:4px}.quest-heading .muted,.recommendation-card .muted,.progression-next{font-size:13px}.quest-open,.quest-done{border-radius:var(--r-pill);background:var(--c-green-9);color:var(--accent);flex:none;padding:4px 10px;font-size:12px;font-weight:700}.quest-done{background:var(--c-green-38);color:var(--c-gray-1)}.dashboard-grid progress{margin:20px 0 0}.progression-stats strong,.progression-stats span{display:block}.progression-stats strong{font-size:22px;line-height:1.3}.progression-stats span{color:var(--muted);font-size:12px}.progression-card progress{margin-bottom:10px}.recommendation-card{margin-bottom:16px}.review-summary-card{justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;padding:24px;display:flex}.review-summary-card>div{min-width:0}.review-summary-card h2{margin-bottom:4px}.review-summary-card .button{flex:none}.recommendation-card>div{min-width:0}.recommendation-card .button{flex:none}.goal-settings,.email-settings{border:1px solid var(--border);border-radius:var(--r-10);background:var(--c-gray-2a);margin-top:16px;padding:0 16px}.goal-settings summary,.email-settings summary{cursor:pointer;color:var(--accent);padding:14px 0;font-weight:600}.goal-settings label{font-size:14px}.section-title{margin-top:36px;font-size:18px}.history h2{font-size:18px}.history-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:20px 0;font-size:14px;display:flex}.history-row small{color:var(--muted);display:block}.empty{border:1px dashed var(--border);border-radius:var(--r-12);color:var(--muted);padding:24px;font-size:15px}.practice{max-width:800px;margin:0 auto}.practice-top{color:var(--muted);justify-content:space-between;gap:12px;margin-bottom:36px;font-size:13px;display:flex}.progress-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.progress-heading .eyebrow{margin:0}progress{border-radius:var(--r-8);background:var(--c-green-18);border:0;width:100%;height:6px;margin:16px 0 28px;display:block;overflow:hidden}progress::-webkit-progress-bar{background:var(--c-green-18)}.weakness-source{color:var(--muted);margin:-16px 0 28px;font-size:.9rem}progress::-webkit-progress-value{background:var(--accent)}progress::-moz-progress-bar{background:var(--accent)}.review-marker{border:1px solid var(--accent);border-radius:var(--r-pill);color:var(--accent);white-space:nowrap;margin-bottom:12px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.assignment-marker{border:1px solid var(--border);border-radius:var(--r-pill);color:var(--muted);margin-bottom:12px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.assignment-breakdown{text-align:left;margin:24px 0}.assignment-breakdown ul{margin:8px 0 0;padding:0;list-style:none}.assignment-breakdown li{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;gap:4px 12px;padding:8px 0;font-size:14px;display:flex}.assignment-breakdown li:last-child{border-bottom:none}.assignment-breakdown li span{color:var(--muted)}.source{color:var(--muted);margin-bottom:16px;font-size:12px}.question-stem{letter-spacing:0;white-space:pre-line;overflow-wrap:anywhere;margin-bottom:28px;font-size:20px;font-weight:600;line-height:1.7}fieldset{border:0;min-width:0;margin:0;padding:0}.answer-option{border:1px solid var(--border);border-radius:var(--r-10);cursor:pointer;overflow-wrap:anywhere;align-items:center;gap:14px;margin-bottom:12px;padding:16px;font-size:16px;font-weight:400;display:flex}.answer-option input{accent-color:var(--accent);flex:0 0 16px;width:16px}.option-key{color:var(--muted);font-weight:700}.answer-option.selected{border-color:var(--accent);background:var(--c-green-7);box-shadow:inset 0 0 0 1px var(--accent)}.correct-option{border-color:var(--c-green-29)}.feedback{border-radius:var(--r-10);margin-top:24px;padding:20px}.feedback.correct{background:var(--c-green-8);color:var(--c-green-39)}.feedback.incorrect{background:var(--c-orange-3);color:var(--c-orange-15)}.feedback p{margin-top:6px}.feedback a{font-size:13px;text-decoration:underline}.review-outcome{border-top:1px solid;padding-top:12px;font-weight:700;margin-top:12px!important}.reviews-page .full{margin-bottom:24px}.review-stats{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:24px;display:grid}.review-stats .card{text-align:center;padding:20px}.review-stats strong,.review-stats span{display:block}.review-stats strong{color:var(--accent);font-size:30px;line-height:1.2}.review-stats span{color:var(--muted);font-size:12px}.wrong-list-heading,.wrong-row{justify-content:space-between;align-items:center;gap:20px;display:flex}.wrong-list-heading{margin-top:32px}.wrong-list-heading h2{margin:0}.wrong-row{margin-top:12px;padding:20px 24px}.wrong-row>div:first-child{min-width:0}.wrong-row .eyebrow{margin-bottom:4px}.wrong-row h2{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:16px;display:-webkit-box;overflow:hidden}.wrong-status{text-align:right;flex:0 0 150px;font-size:12px}.wrong-status strong,.wrong-status span{display:block}.wrong-status span{color:var(--muted)}.question-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:20px;margin-top:28px;padding-top:24px;display:flex}.question-actions .muted{font-size:12px}.result{text-align:center}.result-star{color:var(--c-green-33);margin:8px 0 24px;font-size:52px;line-height:1.3}.score{letter-spacing:-.05em;color:var(--accent);font-size:88px;font-weight:750;line-height:1.2}.score span{margin-left:6px;font-size:32px}.result-stats{justify-content:center;gap:48px;margin:28px 0 36px;display:flex}.result-stats strong,.result-stats span{display:block}.result-stats strong{font-size:24px}.result-stats span{color:var(--muted);font-size:13px}.result-next{gap:10px;margin-top:8px;display:grid}.result-next-detail{color:var(--muted);margin:-4px 0 0;font-size:13px}.result-next .button-secondary{justify-self:center}.back-link{margin-top:20px;font-size:14px;display:block}.review{text-align:left;border:1px solid var(--border);border-radius:var(--r-12);margin-top:24px;padding:20px}.review summary{cursor:pointer}.review div{border-bottom:1px solid var(--border);padding:20px 0;font-size:14px}.review .next-review{color:var(--accent);font-weight:700}.review div p+p{color:var(--muted);margin-top:8px}footer{border-top:1px solid var(--border);max-width:1140px;color:var(--muted);justify-content:space-between;gap:12px;margin:auto;padding:24px 32px;font-size:12px;display:flex}.knowledge-summary-card,.weakness-card{justify-content:space-between;align-items:center;gap:24px;margin-bottom:20px;display:flex}.adventure-summary-card{border-color:var(--c-green-26);background:linear-gradient(135deg,var(--c-gray-3) 0%,var(--c-green-4) 100%);justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;display:flex}.adventure-summary-card>div:first-child{min-width:0}.adventure-summary-card h2,.adventure-current-card h2,.adventure-node h2{margin-bottom:4px}.adventure-summary-actions{flex:none;gap:10px;display:flex}.adventure-current-card{border-color:var(--c-green-27);background:linear-gradient(145deg,var(--c-gray-3) 20%,var(--c-green-11) 100%);margin-bottom:28px}.adventure-current-card .button{margin-top:20px}.adventure-current-card .error{margin-top:16px}.adventure-path{margin:0;padding:0;list-style:none}.adventure-node{grid-template-columns:42px minmax(0,1fr);gap:16px;padding-bottom:20px;display:grid;position:relative}.adventure-node:before{content:"";background:var(--border);width:2px;position:absolute;top:42px;bottom:-2px;left:20px}.adventure-node:last-child:before{display:none}.adventure-step{z-index:1;border:2px solid var(--border);border-radius:var(--r-12);background:var(--c-gray-1);width:42px;height:42px;color:var(--muted);place-items:center;font-weight:800;display:grid;position:relative}.adventure-node.current .adventure-step{border-color:var(--accent);background:var(--accent);color:var(--c-gray-1);box-shadow:0 0 0 5px var(--c-green-20)}.adventure-node.completed .adventure-step{border-color:var(--c-green-32);background:var(--c-green-12);color:var(--c-green-40)}.adventure-node.locked .adventure-step,.adventure-node.locked .adventure-node-body{opacity:.68}.adventure-node-body{border:1px solid var(--border);border-radius:var(--radius);background:var(--c-gray-1);box-shadow:var(--shadow);padding:24px}.adventure-node.current .adventure-node-body{border-color:var(--accent)}.adventure-node-body h3{margin:4px 0 0}.adventure-node-body .button{margin-top:16px}.adventure-node-body .weakness-source{margin:6px 0 0}.adventure-node-body .plan-item-minutes{margin-top:6px;display:block}.adventure-node-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.adventure-node-heading>strong{color:var(--accent);flex:none;font-size:14px}.adventure-state{border-radius:var(--r-pill);background:var(--c-green-5);color:var(--muted);margin-bottom:8px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-block}.adventure-state.current{background:var(--accent);color:var(--c-gray-1)}.adventure-state.completed{background:var(--c-green-12);color:var(--c-green-40)}.adventure-state.locked{background:var(--c-blue-4);color:var(--c-blue-8)}.adventure-lock,.adventure-detail-link{margin-top:14px;font-size:13px;display:block}.adventure-lock{color:var(--muted)}.mastery-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:32px;display:grid}.mastery-stat{text-align:center;padding:18px}.mastery-stat strong,.mastery-stat span{display:block}.mastery-stat strong{margin-bottom:8px;font-size:30px;line-height:1}.mastery-stat span{color:var(--muted);font-size:13px}.knowledge-card{min-width:0}.knowledge-card-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.knowledge-card h3,.weakness-card h3{margin:10px 0 8px}.mastery-badge{border-radius:var(--r-pill);background:var(--c-blue-3);color:var(--c-blue-9);padding:4px 9px;font-size:12px;font-weight:700;display:inline-block}.mastery-badge.weak,.mastery-stat.weak strong{color:var(--c-red-2)}.mastery-badge.weak{background:var(--c-orange-2)}.mastery-badge.learning,.mastery-stat.learning strong{color:var(--c-orange-14)}.mastery-badge.learning{background:var(--c-yellow-2)}.mastery-badge.mastered,.mastery-stat.mastered strong{color:var(--c-green-37)}.mastery-badge.mastered{background:var(--c-green-6)}.mastery-score{color:var(--accent);flex:none;font-size:32px}.mastery-score small{color:var(--muted);font-size:12px}.evidence-copy,.updated-copy{color:var(--muted);font-size:13px}.updated-copy{margin-top:10px;display:block}.mastery-update{border-radius:var(--r-8);background:var(--c-blue-1);color:var(--c-blue-10);padding:10px 12px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media(max-width:767px){.site-header{height:76px;padding:0 16px}.brand-tag{display:none}.brand{font-size:20px}.container{padding:20px 16px 48px}.login-layout{flex-direction:column;align-items:stretch;gap:36px;min-height:0;display:flex}.intro{padding:12px 8px 0}.intro h1{font-size:44px}.intro-copy{margin-top:20px;font-size:16px}.steps{gap:16px;margin-top:24px}.login-card{padding:28px 24px}.pixel-art{height:56px;margin-bottom:28px}.pixel-art span{font-size:36px}.card{padding:24px}.dashboard-grid{grid-template-columns:1fr}.recommendation-card,.review-summary-card,.knowledge-summary-card,.adventure-summary-card,.weakness-card,.wrong-row{flex-direction:column;align-items:stretch}.review-summary-card .button,.knowledge-summary-card .button,.weakness-card .button{width:100%}.adventure-summary-actions{flex-direction:column;width:100%}.adventure-summary-actions .button{width:100%}.adventure-node{grid-template-columns:34px minmax(0,1fr);gap:10px}.adventure-step{border-radius:var(--r-10);width:34px;height:34px}.adventure-node:before{top:34px;left:16px}.adventure-node-body{padding:20px}.adventure-node-heading{flex-direction:column;gap:6px}.mastery-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.review-stats{gap:8px}.review-stats .card{padding:14px 6px}.review-stats strong{font-size:24px}.wrong-status{text-align:left;flex-basis:auto}.recommendation-card .button{width:100%}.page-heading{margin:12px 0 24px}h1{font-size:28px}.question-card{padding:20px}.question-stem{font-size:18px}.answer-option{gap:10px;padding:14px 12px}.question-actions{flex-direction:column;align-items:stretch;gap:12px}.question-actions .muted{text-align:center}.practice-top{margin-bottom:28px;font-size:12px}.score{font-size:72px}footer{flex-wrap:wrap;padding:20px 16px}.site-header .button{min-height:44px;padding:8px 16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.subject-card{margin-bottom:1rem}.email-form{text-align:left;margin-top:1.5rem}.email-form input{border:1px solid var(--border,var(--c-blue-5));border-radius:var(--r-0p6rem);width:100%;min-width:0;font:inherit;padding:.8rem}.email-form button{width:100%}.boss-hidden{display:none}.boss-container{min-height:100vh;padding:0}.boss-summary-card,.boss-catalog-card{border-color:var(--c-orange-7);background:linear-gradient(135deg,var(--c-gray-1) 0%,var(--c-orange-4) 100%);justify-content:space-between;align-items:center;gap:24px;margin-bottom:16px;display:flex}.boss-summary-card>div,.boss-catalog-card>div{min-width:0}.boss-summary-card h2,.boss-catalog-card h2{margin-bottom:4px}.boss-exam{background:var(--c-yellow-1);min-height:100vh;color:var(--c-gray-4)}.boss-exam-header{min-height:92px;color:var(--c-gray-1);background:var(--c-green-48);justify-content:space-between;align-items:center;gap:24px;padding:18px max(24px,50vw - 590px);display:flex}.boss-exam-header a{color:var(--c-green-17);font-size:12px}.boss-exam-header h1{letter-spacing:0;margin-top:4px;font-size:20px}.boss-timer{text-align:right;font-variant-numeric:tabular-nums;flex:none}.boss-timer span,.boss-timer strong{display:block}.boss-timer span{color:var(--c-green-25);font-size:11px}.boss-timer strong{font-size:30px;line-height:1.2}.boss-timer.urgent strong{color:var(--c-orange-5)}.boss-exam-layout{grid-template-columns:280px minmax(0,800px);align-items:start;gap:28px;max-width:1180px;margin:0 auto;padding:28px 24px 56px;display:grid}.boss-navigation,.boss-question-panel{background:var(--c-gray-1);border:1px solid var(--c-green-22);border-radius:var(--r-12)}.boss-navigation{padding:20px;position:sticky;top:20px}.boss-nav-summary{justify-content:space-between;gap:10px;margin-bottom:16px;font-size:12px;display:flex}.boss-nav-summary span{color:var(--muted)}.boss-number-grid{grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:20px;display:grid}.boss-number-grid button{aspect-ratio:1;border:1px solid var(--c-green-24);border-radius:var(--r-7);background:var(--c-gray-1);color:var(--c-green-34);cursor:pointer;position:relative}.boss-number-grid button.answered{background:var(--c-green-15);border-color:var(--c-green-28);color:var(--c-green-41);font-weight:700}.boss-number-grid button.marked:after{content:"";border-radius:var(--r-circle);background:var(--c-orange-11);width:6px;height:6px;position:absolute;top:3px;right:3px}.boss-number-grid button[aria-current=step]{box-shadow:0 0 0 3px var(--c-green-48)}.boss-question-panel{min-width:0;padding:32px}.boss-question-meta,.boss-question-actions,.boss-save-row,.boss-review-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.boss-question-meta{border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:18px;font-weight:700}.boss-mark-button,.boss-save-row button{color:var(--c-orange-16);cursor:pointer;background:0 0;border:0}.boss-mark-button.active{font-weight:700}.boss-save-row{min-height:42px;color:var(--muted);font-size:12px}.boss-save-row button{color:var(--accent);padding:8px 0}.boss-question-actions{border-top:1px solid var(--border);margin-top:12px;padding-top:24px}.boss-confirm-backdrop{z-index:30;background:var(--c-green-49a);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.boss-confirm{width:min(480px,100%)}.boss-confirm>p:not(.eyebrow){margin-top:12px}.boss-confirm-actions{justify-content:flex-end;gap:12px;margin-top:28px;display:flex}.boss-result-hero{margin-bottom:32px}.boss-analysis{gap:16px;margin-bottom:32px;display:grid}.boss-analysis-heading{justify-content:space-between;align-items:end;gap:16px;display:flex}.boss-analysis-heading h2,.boss-weakness-card h3{margin:4px 0 0}.boss-analysis-heading>span,.training-unavailable{color:var(--muted);font-size:.9rem}.training-blocked{border-top:1px solid var(--border);color:var(--muted);gap:4px;margin-top:12px;padding-top:12px;font-size:.9rem;display:grid}.training-blocked a{font-weight:600;text-decoration:underline}.boss-weakness-list{gap:12px;display:grid}.boss-analysis-group{gap:10px;display:grid}.boss-analysis-group>h3{margin:0}.boss-weakness-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;display:grid}.boss-weakness-copy p{margin:8px 0 0}.mastery-change,.training-progress{font-weight:700}.training-progress,.training-complete{color:var(--c-green-35)}.boss-training-actions,.weakness-result-actions{gap:10px;display:grid}.weakness-mastery-result{background:var(--c-blue-1);border-radius:var(--r-10);gap:4px;margin:20px 0;padding:14px;display:grid}.weakness-mastery-result span{color:var(--muted);font-size:.85rem}.training-complete{font-size:.9rem;font-weight:800}.boss-weakness-rest{margin-top:4px}.boss-weakness-rest summary{color:var(--muted);cursor:pointer;padding:6px 0;font-size:.9rem}.boss-weakness-rest .boss-weakness-list{margin-top:12px}.boss-result-stats{grid-template-columns:repeat(5,1fr);gap:12px;margin-top:28px;display:grid}.boss-result-stats>div{border-radius:var(--r-8);background:var(--c-green-2);padding:14px 8px}.boss-result-stats strong,.boss-result-stats span{display:block}.boss-result-stats strong{font-size:18px}.boss-result-stats span{color:var(--muted);font-size:11px}.boss-review-list h2{font-size:18px}.boss-review-card{border-left-width:4px;margin-bottom:12px;padding:22px}.boss-review-card.correct{border-left-color:var(--c-green-31)}.boss-review-card.incorrect{border-left-color:var(--c-orange-8)}.boss-review-card p+p,.boss-review-card a{margin-top:10px;font-size:13px;display:block}.boss-review-heading{margin-bottom:12px}.boss-review-card.correct .boss-review-heading strong{color:var(--c-green-35)}.boss-review-card.incorrect .boss-review-heading strong{color:var(--c-red-4)}.feedback-form textarea,.feedback-form select,.status-filter select,.feedback-detail select{border:1px solid var(--border);border-radius:var(--r-8);background:var(--c-gray-1);width:100%;color:var(--c-green-47);font:inherit;padding:12px}.feedback-form textarea{resize:vertical;min-height:180px}.field-help,.feedback-context,.opaque-user{color:var(--muted);margin:8px 0 20px;font-size:13px}.form-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.feedback-success{text-align:center}.success-mark{border-radius:var(--r-18);background:var(--c-green-10);width:64px;height:64px;color:var(--c-green-35);place-items:center;margin:0 auto 20px;font-size:32px;font-weight:800;display:grid}.feedback-success .form-actions{justify-content:center}.admin-page{max-width:1080px;margin:auto}.admin-section{margin-bottom:56px}.admin-section-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:20px;display:flex}.admin-section-heading h2,.admin-section-heading .eyebrow{margin-bottom:0}.segmented{border:1px solid var(--border);border-radius:var(--r-10);background:var(--c-gray-1);padding:4px;display:inline-flex}.segmented button{border-radius:var(--r-7);min-height:38px;color:var(--muted);cursor:pointer;background:0 0;border:0;padding:6px 14px;font-weight:700}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--c-gray-1)}.metric-card{padding:20px}.metric-card strong,.metric-card span{display:block}.metric-card strong{color:var(--accent);font-size:30px}.metric-card span{color:var(--muted);margin-top:6px;font-size:13px}.funnel-card{margin-top:12px;padding:24px}.funnel-steps{align-items:center;gap:18px;margin:20px 0;display:flex}.funnel-steps span:not([aria-hidden]){gap:2px;display:grid}.funnel-steps strong{font-size:24px}.qa-summary{gap:8px;margin-bottom:14px;display:flex}.qa-summary span,.status-chip{border-radius:var(--r-pill);background:var(--c-green-9);color:var(--accent);padding:5px 10px;font-size:12px;font-weight:700}.qa-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.qa-item{border-left-width:4px;padding:20px}.qa-item.error{border-left-color:var(--c-red-1)}.qa-item.warning{border-left-color:var(--c-orange-10)}.qa-item>div{align-items:center;gap:10px;display:flex}.qa-item h3{margin-top:14px}.qa-item code{overflow-wrap:anywhere;color:var(--muted);margin-top:12px;font-size:11px;display:block}.status-filter{min-width:180px;margin:0}.status-filter select,.feedback-detail select{min-height:44px;margin:6px 0 0}.feedback-admin-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.9fr);align-items:start;gap:16px;display:grid}.feedback-admin-layout>*{min-width:0}.feedback-list{grid-template-columns:minmax(0,1fr);gap:8px;display:grid}.feedback-list-item{border:1px solid var(--border);border-radius:var(--r-10);background:var(--c-gray-1);width:100%;color:inherit;text-align:left;cursor:pointer;padding:16px}.feedback-list-item[aria-pressed=true]{border-color:var(--accent);box-shadow:0 0 0 2px var(--c-green-19)}.feedback-list-item span,.feedback-list-item strong,.feedback-list-item small{display:block}.feedback-list-item span,.feedback-list-item small{color:var(--muted);font-size:12px}.feedback-list-item strong{white-space:nowrap;text-overflow:ellipsis;margin:6px 0;overflow:hidden}.pagination-actions{justify-content:space-between;gap:12px;margin-top:14px;display:flex}.feedback-detail{padding:24px;position:sticky;top:16px}.feedback-detail-heading{justify-content:space-between;align-items:center;display:flex}.feedback-message{white-space:pre-wrap;overflow-wrap:anywhere;margin:16px 0}.feedback-detail h4{margin-top:24px}.status-history{gap:8px;margin-top:10px;padding-left:22px;display:grid}.status-history small{color:var(--muted);display:block}@media(max-width:767px){.site-header{flex-wrap:wrap;height:auto;min-height:76px;padding-top:12px;padding-bottom:12px}.site-header .brand{width:100%}.header-actions{grid-template-columns:repeat(auto-fit,minmax(0,1fr));width:100%;display:grid}.header-actions .button{width:100%;padding:8px}.header-link{text-align:center;padding:8px 4px}.form-actions,.admin-section-heading,.funnel-steps{flex-direction:column;align-items:stretch}.form-actions .button,.admin-section-heading .button{width:100%}.metric-grid,.qa-list,.feedback-admin-layout{grid-template-columns:1fr}.qa-summary{flex-wrap:wrap}.feedback-detail{position:static}.status-filter{width:100%}.boss-summary-card,.boss-catalog-card{flex-direction:column;align-items:stretch}.boss-summary-card .button,.boss-catalog-card .button{width:100%}.boss-exam-header{min-height:78px;padding:12px 16px}.boss-exam-header h1{white-space:nowrap;text-overflow:ellipsis;max-width:210px;font-size:15px;overflow:hidden}.boss-timer strong{font-size:24px}.boss-exam-layout{flex-direction:column;gap:14px;padding:14px 12px 32px;display:flex}.boss-navigation{width:100%;padding:14px;position:static}.boss-number-grid{grid-template-columns:repeat(10,minmax(0,1fr));gap:4px}.boss-number-grid button{min-width:0;font-size:11px}.boss-navigation .button{min-height:42px}.boss-question-panel{width:100%;padding:20px 16px}.boss-question-actions,.boss-confirm-actions{flex-direction:column-reverse;align-items:stretch}.boss-question-actions .button,.boss-confirm-actions .button{width:100%}.boss-result-stats{grid-template-columns:repeat(2,1fr)}.boss-analysis-heading,.boss-weakness-card{flex-direction:column;align-items:stretch;display:flex}.boss-weakness-card .button{width:100%}}.home{flex-direction:column;gap:20px;max-width:720px;margin:0 auto;display:flex}.choice-list{flex-direction:column;gap:12px;display:flex}.choice-list .muted{margin:0 0 4px;font-size:14px}.choice-list button.back-link{color:var(--muted);font:inherit;cursor:pointer;text-align:center;background:0 0;border:0;padding:8px 0 0;font-size:14px}.choice-list button.back-link:hover{color:var(--accent)}.goal-meta,.review-meta,.map-meta{flex-wrap:wrap;gap:32px;margin-bottom:20px;display:flex}.goal-meta strong,.goal-meta span,.review-meta strong,.review-meta span,.diagnostic-meta strong,.diagnostic-meta span,.map-meta strong,.map-meta span{display:block}.goal-meta strong,.review-meta strong,.diagnostic-meta strong,.map-meta strong{font-size:26px;line-height:1.2}.goal-meta span,.review-meta span,.diagnostic-meta span,.map-meta span{color:var(--muted);font-size:13px}.subject-list,.history-list,.wrong-list,.diagnostic-history,.diagnostic-weakest,.knowledge-list{margin:0;padding:0;list-style:none}.wrong-list>li>div:first-child{min-width:0}.wrong-list>li strong{white-space:nowrap;text-overflow:ellipsis;margin:4px 0;display:block;overflow:hidden}.wrong-list>li .muted{font-size:13px}.wrong-list>li .button{white-space:nowrap;flex:none}.knowledge-list>li>div:first-child{min-width:0}.knowledge-list>li strong,.knowledge-list>li .muted{display:block}.knowledge-list>li .muted{font-size:13px}.knowledge-list>li .badge{flex:none}.node-estimate{text-align:right;flex-direction:column;flex:none;align-items:flex-end;gap:6px;display:flex}.node-mastery{align-items:center;gap:8px;display:flex}.node-estimate .evidence-copy{margin:0}.node-estimate .mastery-score{font-size:22px}.subject-list>li,.history-list>li,.wrong-list>li,.knowledge-list>li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:16px 0;display:flex}.subject-list>li:last-child,.history-list>li:last-child{border-bottom:0}.subject-list>li>div,.history-list>li>div{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.subject-list strong,.history-list strong{font-size:17px}.history-list .muted{font-size:13px}.badge{border:1px solid var(--border);border-radius:var(--r-pill);color:var(--muted);white-space:nowrap;padding:2px 10px;font-size:12px;display:inline-block}@media(max-width:380px){.subject-list>li,.history-list>li,.wrong-list>li,.knowledge-list>li{flex-direction:column;align-items:stretch;gap:12px}.node-estimate{text-align:left;align-items:flex-start}}.next-action-size{border-radius:var(--r-pill);background:var(--c-green-9);color:var(--accent);margin-top:8px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.plan-summary{gap:24px;margin:0 0 12px;display:flex}.plan-summary strong,.plan-summary span{display:block}.plan-summary strong{font-size:22px;line-height:1.3}.plan-summary span{color:var(--muted);font-size:12px}.plan-progress{width:100%;margin:0 0 16px;display:block}.plan-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.plan-list .recommendation-card{border:1px solid var(--border);border-radius:var(--radius);margin-bottom:0;padding:16px}.plan-list h3{margin:0 0 4px;font-size:1rem}.plan-list .weakness-source{margin:0}.plan-item-minutes{color:var(--muted);margin:8px 0 0 8px;font-size:12px;display:inline-block}.plan-done{opacity:.65}.plan-unavailable{color:var(--muted);margin:8px 0 0 8px;font-size:12px;text-decoration:line-through;display:inline-block}.plan-blocked,.plan-finished,.plan-saved{margin:12px 0 0;font-size:13px}.plan-blocked{color:var(--muted)}.plan-blocked p{margin:0}.open-set-list{gap:4px;margin:6px 0 0;padding:0;list-style:none;display:grid}.open-set-list a{font-weight:600;text-decoration:underline}.plan-settings{margin-top:16px}.plan-settings summary{cursor:pointer;font-size:13px}.plan-settings label{margin:8px 0;font-size:13px;display:block}.plan-settings select{margin-left:8px}@media(max-width:640px){.plan-list .recommendation-card{flex-direction:column;align-items:stretch;gap:12px}.plan-summary{gap:16px}}.diagnostic-meta{flex-wrap:wrap;gap:32px;margin-bottom:16px;display:flex}.diagnostic-snapshot{margin-bottom:24px}.diagnostic-snapshot .mastery-stats{margin:20px 0}.diagnostic-history>li,.diagnostic-weakest>li{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:baseline;gap:12px;padding:12px 0;display:flex}.diagnostic-history>li:last-child,.diagnostic-weakest>li:last-child{border-bottom:none}.diagnostic-history>li>span:first-child,.diagnostic-weakest>li>span:first-child{flex:auto;min-width:0;font-weight:600}.diagnostic-history .mastery-score,.diagnostic-weakest .mastery-score{margin-left:auto}.diagnostic-delta{text-align:right;min-width:48px;color:var(--muted);font-variant-numeric:tabular-nums}.trend-headline{align-items:baseline;gap:12px;margin:0 0 4px;display:flex}.trend-headline .diagnostic-delta{text-align:left;min-width:0}.trend-chart{max-width:480px;margin:8px auto 0;position:relative}.trend-chart svg{width:100%;height:auto;display:block;overflow:visible}.trend-gridline{stroke:var(--border);stroke-width:1px}.trend-line{stroke:var(--accent);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.trend-point{fill:var(--accent);stroke:var(--c-green-1);stroke-width:2px}.trend-axis{color:var(--muted);font-variant-numeric:tabular-nums;flex-direction:column-reverse;justify-content:space-between;padding:4px 0;font-size:12px;display:flex;position:absolute;inset:0 auto 0 0}.trend-dates.one{justify-content:center}.trend-dates{justify-content:space-between;gap:12px;margin:4px 0 0;font-size:13px;display:flex}.trend-note{margin:12px 0 0;font-size:14px}.trend-detail{border-top:1px solid var(--border);margin-top:16px;padding-top:8px}.trend-detail>summary{cursor:pointer;color:var(--accent);padding:4px 0;font-weight:600}main.exam{max-width:calc(800px + 2rem);margin:0 auto;padding:.75rem 1rem 3rem}.boss-card .button{text-decoration:none;display:inline-block}.boss-caveat{border-left:3px solid var(--border);padding-left:.75rem}.boss-paper-list{gap:1rem;display:grid}.boss-paper-name{margin:0;font-size:1.15rem}.boss-paper-meta{font-variant-numeric:tabular-nums;margin:.25rem 0 .75rem}.boss-paper-last{color:var(--muted);font-variant-numeric:tabular-nums}.boss-clock{font-variant-numeric:tabular-nums;font-size:1.75rem;font-weight:700}.boss-clock.urgent{color:var(--danger,var(--c-red-3))}.boss-grid{grid-template-columns:repeat(auto-fill,minmax(2.25rem,1fr));gap:.35rem;max-height:38vh;margin:0 0 .5rem;padding:0;list-style:none;display:grid;overflow-y:auto}.boss-cell{border:1px solid var(--border);border-radius:var(--r-0p375rem);background:var(--surface,var(--c-gray-1));font-variant-numeric:tabular-nums;cursor:pointer;width:100%;min-height:2.25rem}.boss-cell.done{background:var(--accent-soft,var(--c-blue-2));border-color:var(--accent,var(--c-blue-6));font-weight:600}.boss-cell.marked{box-shadow:inset 0 -.25rem 0 var(--warning,var(--c-orange-9))}.boss-cell.current{outline:2px solid var(--accent,var(--c-blue-6));outline-offset:1px}.boss-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.boss-score{font-variant-numeric:tabular-nums;margin:0;font-size:3rem;font-weight:700}.boss-score-meta{color:var(--muted)}.boss-options{margin:.75rem 0 1rem;padding:0;list-style:none}.boss-options .answer-option{text-align:left;background:0 0;width:100%;font-family:inherit}.boss-options .answer-option:disabled{cursor:progress}.boss-submit-confirm{z-index:6;width:min(34rem,100vw - 2rem);box-shadow:var(--shadow),0 0 0 100vmax var(--c-green-44a);position:fixed;bottom:calc(50% - 4rem);left:50%;transform:translate(-50%)}.boss-dock{z-index:5;background:var(--bg);border-top:1px solid var(--border);padding:.5rem 1rem calc(.5rem + env(safe-area-inset-bottom,0px));position:fixed;bottom:0;left:0;right:0}.boss-dock-row,.boss-dock .boss-grid{max-width:48rem;margin-inline:auto}.boss-dock-row{align-items:center;gap:.375rem;display:flex}.boss-dock-row .button{white-space:nowrap;padding-inline:.75rem}.boss-nav{min-width:2.75rem;font-size:1.125rem;line-height:1}.boss-dock .boss-clock{text-align:center;flex:auto;font-size:1.25rem}@media(max-width:26rem){.boss-dock-row{gap:.25rem}.boss-dock-row .button{padding-inline:.5rem}.boss-dock .boss-clock{font-size:1.125rem}}.boss-paper{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}.option-dot{border:1px solid var(--border);border-radius:var(--r-circle);background:0 0;flex:0 0 16px;width:16px;height:16px}.answer-option.selected .option-dot{border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--accent)}.boss-paper .progress-heading{margin-bottom:0}.xp-earned{border-top:1px solid var(--border);color:var(--muted);margin-top:20px;padding-top:16px;font-size:14px}.xp-earned strong{color:var(--accent);font-size:18px}.xp-earned .xp-bonus{margin-top:6px}@font-face{font-family:"Press Start 2P";src:url(/fonts/press-start-2p-latin.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+??,U+2000-206F,U+2212}.pixel-label{letter-spacing:.02em;font-family:"Press Start 2P",Inter,Noto Sans TC,sans-serif;font-size:.82em;line-height:1.5}.progression-link{margin-top:12px;font-size:14px}.header-avatar{align-items:center;text-decoration:none;display:inline-flex}.avatar{background:var(--c-green-13);border:3px solid var(--c-green-23);border-radius:var(--r-4);place-items:center;line-height:1;display:inline-grid}.avatar-sm{width:32px;height:32px;font-size:18px}.avatar-lg{width:52px;height:52px;font-size:30px}.badge-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:16px 0;padding:0;list-style:none;display:grid}.badge-card{border:1px solid var(--border);border-radius:var(--radius);background:#fff;align-items:flex-start;gap:12px;padding:16px;display:flex}.badge-card.locked{opacity:.68}.badge-card .badge-mark{color:var(--accent);font-size:22px;line-height:1.2}.badge-card h3{margin:0 0 4px;font-size:15px}.badge-card p{margin:0;font-size:13px}.badge-status{color:var(--accent);margin-top:6px;font-weight:600}.avatar-choices{flex-wrap:wrap;gap:10px;margin:12px 0 0;padding:0;list-style:none;display:flex}.avatar-choice{border-radius:var(--r-8);cursor:pointer;background:0 0;border:2px solid #0000;padding:4px}.avatar-choice.chosen{border-color:var(--accent)}.theme-choices{flex-wrap:wrap;gap:10px;margin:12px 0 0;padding:0;list-style:none;display:flex}.theme-choice{border:2px solid var(--border);border-radius:var(--r-8);background:var(--c-gray-1);min-height:44px;color:inherit;cursor:pointer;align-items:center;gap:8px;padding:8px 14px;display:inline-flex}.theme-choice.chosen{border-color:var(--accent);background:var(--c-green-9)}.theme-swatch{border-radius:var(--r-4);border:1px solid var(--border);width:26px;height:26px}.theme-swatch[data-theme-preview=standard]{background:linear-gradient(135deg,var(--preview-standard-bg) 50%,var(--preview-standard-ink) 50%)}.theme-swatch[data-theme-preview=pixel]{background:linear-gradient(var(--preview-pixel-ink) 0 0) 0 0 / 50% 50% no-repeat,linear-gradient(var(--preview-pixel-ink) 0 0) 100% 100% / 50% 50% no-repeat,var(--preview-pixel-bg);border-radius:0}.unlocked-line{border-radius:var(--r-12);background:var(--c-green-13);color:var(--c-green-42);margin:12px 0;padding:10px 14px}:root[data-theme=pixel]{--c-blue-1:#c5dbf5;--c-blue-2:#c5dbf5;--c-blue-3:#cfdceb;--c-blue-4:#d3dce7;--c-blue-5:#d3dce7;--c-blue-6:#1d61af;--c-blue-7:#09213b;--c-blue-8:#495461;--c-blue-9:#3a434e;--c-blue-10:#0e3158;--c-gray-1:#eff2ea;--c-gray-2a:#eff2ea80;--c-gray-3:#eff2ea;--c-gray-4:#242b19;--c-green-1:#e0e7d3;--c-green-2:#e0e7d3;--c-green-3:#e1ebcf;--c-green-4:#e2f1c9;--c-green-5:#e0e7d3;--c-green-6:#e2f1c9;--c-green-7:#e1ebcf;--c-green-8:#e2f1c9;--c-green-9:#e0e7d3;--c-green-10:#e1ebcf;--c-green-11:#e4f5c5;--c-green-12:#e1ebcf;--c-green-13:#e2f1c9;--c-green-14:#e0e7d3;--c-green-15:#e1ebcf;--c-green-16:#e4f5c5;--c-green-17:#e0e7d3;--c-green-18:#e0e7d3;--c-green-19:#e0e7d3;--c-green-20:#e1ebcf;--c-green-21:#e0e7d3;--c-green-22:#e0e7d3;--c-green-23:#e1ebcf;--c-green-24:#ced3c5;--c-green-25:#ced3c5;--c-green-26:#d2e1b7;--c-green-27:#c3d89e;--c-green-28:#809856;--c-green-29:#5b6d3d;--c-green-30:#586149;--c-green-31:#5f7931;--c-green-32:#5b6d3d;--c-green-33:#4c6127;--c-green-34:#353a2c;--c-green-35:#3b5115;--c-green-36:#3b5115;--c-green-37:#3d580e;--c-green-38:#3b5115;--c-green-39:#39481e;--c-green-40:#39481e;--c-green-41:#27360e;--c-green-42:#263014;--c-green-43:#27360e;--c-green-44a:#252c1866;--c-green-45a:#252c1808;--c-green-46:#263014;--c-green-47:#252c18;--c-green-48:#252c18;--c-green-49a:#12160ccc;--c-orange-1:#f5ddc5;--c-orange-2:#f5ddc5;--c-orange-3:#f5ddc5;--c-orange-4:#f5ddc5;--c-orange-5:#f5ddc5;--c-orange-6:#eaccae;--c-orange-7:#d8bb9e;--c-orange-8:#cd7721;--c-orange-9:#af661d;--c-orange-10:#af661d;--c-orange-11:#925518;--c-orange-12:#925518;--c-orange-13:#754413;--c-orange-14:#58330e;--c-orange-15:#58330e;--c-orange-16:#58330e;--c-red-1:#af291d;--c-red-2:#922218;--c-red-3:#922218;--c-red-4:#922218;--c-yellow-1:#e7e2d3;--c-yellow-2:#f5eac5;--r-0p375rem:0;--r-0p6rem:0;--r-10:0;--r-12:0;--r-18:0;--r-4:0;--r-7:0;--r-8:0;--r-circle:0;--r-pill:0;--radius:0}.metric-northstar{margin-bottom:32px}.metric-northstar-number{color:var(--accent);margin:8px 0;font-size:3rem;font-weight:700;line-height:1.1}.metric-compare{color:var(--muted);flex-wrap:wrap;gap:12px;margin-bottom:8px;display:flex}.metric-delta{font-weight:600}.metric-week{color:var(--muted);font-size:.875rem}.metric-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.metric-card h3{margin-bottom:4px;font-size:1rem}.metric-number{margin:4px 0;font-size:1.75rem;font-weight:700}.metric-fraction{color:var(--muted);margin-left:6px;font-size:.875rem;font-weight:400}.metric-absent{color:var(--muted);align-items:baseline;gap:8px;margin:4px 0;font-size:.875rem;display:flex}.metric-absent-mark{font-size:1.75rem;font-weight:700}.metric-explain{color:var(--muted);margin-top:4px;font-size:.875rem}.metric-sample{border:1px solid var(--border);border-radius:var(--r-10);color:var(--muted);margin-bottom:16px;padding:12px 16px}.metric-bound{color:var(--muted);margin-left:8px;font-size:.875rem;font-weight:400}.nowrap{white-space:nowrap}
