:root{color:#33415c;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--ink:#15213a;--body:#3f4e68;--muted:#6d788c;--navy:#22375c;--orange:#ec8b12;--orange-dark:#a95d00;--orange-soft:#fff0d6;--blue-soft:#eaf0f8;--green:#1e7e52;--green-soft:#e7f5ee;--red:#b53434;--red-dark:#842929;--red-soft:#fbecec;--amber:#b15d00;--line:#dce2ea;--line-strong:#c8d0dc;--paper:#fcfcfd;background:#f4f6f9;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Noto Sans SC,sans-serif}*{box-sizing:border-box}html{background:radial-gradient(circle at 12% 0,#ffad331a,#0000 27rem),#f4f6f9;min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #ff990075}.app-shell{min-height:100svh}.topbar{z-index:20;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;justify-content:space-between;align-items:center;min-height:76px;padding:0 32px;display:flex;position:sticky;top:0}.brand{color:var(--ink);letter-spacing:-.02em;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;padding:0;font-weight:760;display:inline-flex}.brand-mark{color:#fff;background:var(--navy);border-radius:11px;place-items:center;width:36px;height:36px;display:grid;box-shadow:inset 0 -3px #0000002e}.topbar-actions{align-items:center;gap:14px;display:flex}.settings-link{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:8px 4px;font-weight:650}.settings-link:hover{color:var(--ink)}.source-status{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-size:.78rem;font-weight:680;display:inline-flex}.status-dot{background:#8993a5;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #58667c1a}.source-status.ready .status-dot{background:var(--green);box-shadow:0 0 0 4px #1e7e521f}.source-status.loading .status-dot{background:var(--amber);animation:1.2s ease-in-out infinite pulse;box-shadow:0 0 0 4px #b15d001f}.source-status.error .status-dot{background:var(--red);box-shadow:0 0 0 4px #b534341a}.eyebrow{color:var(--orange-dark);letter-spacing:.13em;text-transform:uppercase;margin:0 0 8px;font-size:.74rem;font-weight:820}.setup-wrap{grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:center;gap:clamp(44px,8vw,100px);width:min(1040px,100% - 40px);min-height:calc(100svh - 76px);margin:0 auto;padding:72px 0 84px;display:grid}.setup-copy h1,.summary-wrap h1{max-width:640px;color:var(--ink);letter-spacing:-.065em;margin:0;font-size:clamp(3rem,7vw,5.8rem);line-height:.98}.setup-lead{max-width:570px;color:var(--body);margin:28px 0 0;font-size:clamp(1rem,1.8vw,1.18rem);line-height:1.75}.setup-card{border:1px solid var(--line);background:#fffffff0;border-radius:24px;padding:clamp(24px,4vw,36px);box-shadow:0 26px 74px #14213d1a}.setup-card-heading{grid-template-columns:42px 1fr;align-items:start;gap:16px;display:grid}.step-number{color:#fff;background:var(--navy);border-radius:12px;place-items:center;width:42px;height:42px;font-size:.77rem;font-weight:800;display:grid}.setup-card h2,.error-card h2,.loading-card h2,.explanation h2{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:1.2rem}.setup-card-heading p,.error-card>p,.loading-card>p{color:var(--muted);margin:5px 0 0;font-size:.9rem;line-height:1.55}.round-form{margin-top:30px}.round-form>label{color:var(--body);margin-bottom:9px;font-size:.82rem;font-weight:760;display:block}.number-control{background:#fff;border:1px solid #aeb8c8;border-radius:13px;grid-template-columns:1fr auto;align-items:center;transition:box-shadow .16s,border-color .16s;display:grid;overflow:hidden}.number-control:focus-within{border-color:var(--navy);box-shadow:0 0 0 3px #23375c1f}.number-control input{width:100%;min-height:56px;color:var(--ink);background:0 0;border:0;outline:0;padding:0 16px;font-size:1.08rem;font-weight:720}.number-control span{color:var(--muted);padding:0 16px;font-size:.9rem}.field-hint,.field-error{margin:10px 0 0;font-size:.78rem;line-height:1.5}.field-hint{color:var(--muted)}.field-error{color:var(--red-dark);font-weight:650}.primary-button,.secondary-button,.submit-button{min-height:48px;font:inherit;cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:22px;padding:12px 20px;font-weight:800;display:inline-flex}.primary-button,.submit-button{border:1px solid var(--orange-dark);color:#231400;background:var(--orange);box-shadow:0 8px 20px #924f0029}.primary-button:hover:not(:disabled),.submit-button:hover:not(:disabled){background:#f7a52b}.round-form .primary-button{width:100%;margin-top:24px}.secondary-button{border:1px solid var(--line-strong);color:var(--ink);background:#fff}.secondary-button:hover{background:var(--blue-soft)}.config-error{color:var(--red-dark);background:var(--red-soft);border:1px solid #e5b5b5;border-radius:12px;margin-top:28px;padding:18px}.config-error p{margin:7px 0 0;font-size:.82rem;line-height:1.55}.setup-facts{border-top:1px solid var(--line);flex-wrap:wrap;gap:9px;margin-top:28px;padding-top:20px;display:flex}.setup-facts span{color:var(--muted);background:var(--blue-soft);border-radius:7px;padding:6px 9px;font-size:.72rem;font-weight:650}.quiz-wrap{width:min(880px,100% - 40px);margin:0 auto;padding:58px 0 80px}.quiz-heading{justify-content:space-between;align-items:end;gap:24px;margin-bottom:22px;display:flex}.quiz-heading h1{color:var(--ink);letter-spacing:-.045em;margin:0;font-size:clamp(2rem,6vw,3.25rem);line-height:1}.quiz-heading h1:focus{outline:none}.quiz-meta{flex-wrap:wrap;justify-content:end;align-items:center;gap:8px;display:flex}.round-progress,.question-type{border-radius:8px;flex:none;padding:8px 11px;font-size:.78rem;font-weight:760}.round-progress{color:var(--muted);background:#e9edf3}.question-type{color:#704000;background:var(--orange-soft)}.question-card{border:1px solid var(--line);background:#fffffff7;border-radius:24px;padding:clamp(24px,5vw,44px);box-shadow:0 22px 65px #14213d17}.question-text{color:var(--ink);overflow-wrap:anywhere;margin:0 0 32px;font-size:clamp(1.02rem,2.1vw,1.23rem);font-weight:620;line-height:1.7}.question-text p,.explanation-copy p{margin:0 0 14px}.question-text p:last-child,.explanation-copy p:last-child{margin-bottom:0}.question-text code,.option-copy code,.explanation-copy code{color:#243752;overflow-wrap:anywhere;background:#e9eef5;border-radius:5px;padding:.12em .34em;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.88em}.question-text a,.option-copy a,.explanation-copy a{color:#165a98;text-underline-offset:3px;text-decoration-thickness:1px}.options{border:0;gap:12px;margin:0;padding:0;display:grid}.option{border:1px solid var(--line-strong);color:var(--body);overflow-wrap:anywhere;cursor:pointer;background:#fff;border-radius:14px;grid-template-columns:38px minmax(0,1fr) auto;align-items:start;gap:14px;padding:17px 18px;line-height:1.58;transition:border-color .16s,box-shadow .16s,transform .16s;display:grid;position:relative}.options:not(:disabled) .option:hover:not(.correct):not(.incorrect){border-color:#8997ac;transform:translateY(-1px)}.option.selected{border-color:var(--navy);box-shadow:0 0 0 3px #23375c1a}.option.correct{border-color:var(--green);color:#174f39;background:var(--green-soft);box-shadow:0 0 0 2px #1e7e5214}.option.incorrect{border-color:var(--red);color:#6c2626;background:var(--red-soft);box-shadow:0 0 0 2px #b5343412}.option input{opacity:0;position:absolute}.options:disabled .option{cursor:default}.option:has(input:focus-visible){outline-offset:2px;outline:3px solid #be680066}.option-index{width:34px;height:34px;color:var(--navy);background:var(--blue-soft);border-radius:10px;place-items:center;font-size:.82rem;font-weight:820;display:grid}.selected .option-index{color:#fff;background:var(--navy)}.correct .option-index{color:#fff;background:var(--green)}.incorrect .option-index{color:#fff;background:var(--red)}.option-copy{padding-top:4px}.option-result{border-radius:6px;margin-top:4px;padding:4px 7px;font-size:.7rem;font-weight:820}.correct-mark{color:#14543a;background:#c9eadc}.wrong-mark{color:#7a2020;background:#f4cece}.quiz-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;margin-top:30px;padding-top:26px;display:flex}.quiz-actions p{color:var(--muted);margin:0;font-size:.84rem}.submit-button{min-width:138px}.submit-button:disabled{color:#7c8695;box-shadow:none;cursor:not-allowed;background:#e3e7ed;border-color:#d4d9e1}.answer-area{margin-top:30px}.feedback{border:1px solid;border-radius:14px;grid-template-columns:40px 1fr;align-items:center;gap:14px;padding:17px 18px;display:grid}.feedback:focus{outline-offset:3px;outline:3px solid #23375c29}.feedback-correct{color:#164f38;background:var(--green-soft);border-color:#8bc8ae}.feedback-wrong{color:#762b2b;background:var(--red-soft);border-color:#e1a4a4}.feedback-icon{color:#fff;border-radius:50%;place-items:center;width:40px;height:40px;font-size:1.2rem;font-weight:850;display:grid}.feedback-correct .feedback-icon{background:var(--green)}.feedback-wrong .feedback-icon{background:var(--red)}.feedback strong{color:currentColor}.feedback p{margin:3px 0 0;font-size:.84rem}.explanation{color:var(--body);background:#f4f6f9;border-radius:16px;margin-top:18px;padding:clamp(22px,4vw,30px)}.explanation-copy{overflow-wrap:anywhere;margin-top:18px;font-size:.91rem;line-height:1.75}.next-action{justify-content:space-between;align-items:center;gap:20px;margin-top:24px;display:flex}.next-action>span{color:var(--muted);font-size:.8rem}.loading-card,.error-card{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:360px;display:flex}.loading-mark{border:4px solid #dce2ea;border-top-color:var(--orange-dark);border-radius:50%;width:44px;height:44px;margin-bottom:22px;animation:.8s linear infinite spin}.error-symbol{color:#fff;background:var(--red);border-radius:50%;place-items:center;width:48px;height:48px;margin-bottom:20px;font-size:1.25rem;font-weight:850;display:grid}.error-card>p{overflow-wrap:anywhere;max-width:620px}.error-actions,.summary-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:26px;display:flex}.summary-wrap{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:min(720px,100% - 40px);min-height:calc(100svh - 76px);margin:0 auto;padding:68px 0 84px;display:flex}.score-ring{width:156px;height:156px;color:var(--ink);background:radial-gradient(circle at center, #fff 61%, transparent 62%), conic-gradient(var(--green) var(--score-angle), #e0e5eb 0);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;margin-bottom:32px;display:flex;position:relative;box-shadow:0 14px 38px #14213d1a}.score-ring strong{letter-spacing:-.04em;font-size:2rem}.score-ring span{color:var(--muted);font-size:.75rem}.summary-wrap h1{font-size:clamp(2.8rem,7vw,5rem)}.summary-copy{color:var(--body);margin:24px 0 0;line-height:1.7}.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}.primary-button:disabled,.secondary-button:disabled,.danger-button:disabled{opacity:.58;box-shadow:none;cursor:not-allowed}.storage-notice{color:#6d470d;background:#fff8e8;border:1px solid #dcc38f;border-radius:12px;grid-template-columns:26px minmax(0,1fr) 32px;align-items:center;gap:10px;width:min(1040px,100% - 40px);margin:16px auto -28px;padding:11px 13px;font-size:.82rem;line-height:1.5;display:grid}.storage-notice>span{color:#fff;background:var(--amber);border-radius:50%;place-items:center;width:24px;height:24px;font-size:.75rem;font-weight:850;display:grid}.storage-notice p{margin:0}.storage-notice button{color:#72531f;cursor:pointer;background:0 0;border:0;border-radius:8px;width:32px;height:32px;padding:0;font-size:1.2rem}.storage-notice button:hover{background:#b15d0017}.setup-history{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.setup-history-heading,.stats-detail-heading{justify-content:space-between;align-items:start;gap:18px;display:flex}.mini-label{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0 0 4px;font-size:.68rem;font-weight:800}.setup-history h3{color:var(--ink);letter-spacing:-.02em;margin:0;font-size:1rem}.persistence-badge{color:#2c5b47;background:var(--green-soft);border-radius:999px;flex:none;padding:5px 8px;font-size:.68rem;font-weight:780}.persistence-badge.loading{color:#6d4b17;background:#fff4dc}.persistence-badge.memory{color:#754a12;background:#fff0d6}.persistence-badge.large{padding:8px 11px;font-size:.74rem}.compact-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:18px 0 0;display:grid}.compact-stats>div{background:#f2f5f9;border-radius:11px;min-width:0;padding:12px}.compact-stats dt,.stats-overview dt{color:var(--muted);font-size:.7rem;font-weight:680}.compact-stats dd,.stats-overview dd{color:var(--ink);letter-spacing:-.03em;margin:5px 0 0;font-weight:820}.compact-stats dd{font-size:1.05rem}.compact-stats small,.stats-overview small{color:var(--muted);font-size:.68em;font-weight:650}.text-button{color:#785000;min-height:40px;font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;padding:8px 0;font-size:.8rem;font-weight:780;display:inline-flex}.text-button:hover{color:var(--ink)}.setup-history .text-button{margin-top:8px}.summary-history{border-top:1px solid var(--line);margin-top:30px;padding-top:20px}.summary-history p{color:var(--muted);margin:0;font-size:.84rem}.summary-history .text-button{margin-top:4px}.stats-wrap{width:min(1080px,100% - 40px);margin:0 auto;padding:60px 0 84px}.stats-heading{justify-content:space-between;align-items:end;gap:28px;display:flex}.stats-heading h1{color:var(--ink);letter-spacing:-.06em;margin:0;font-size:clamp(2.8rem,7vw,5.4rem);line-height:1}.stats-heading h1:focus{outline:none}.stats-heading p:last-child{max-width:650px;color:var(--body);margin:20px 0 0;line-height:1.7}.stats-overview{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin:36px 0 0;display:grid}.stats-overview>div{border:1px solid var(--line);background:#ffffffeb;border-radius:15px;min-width:0;padding:19px 17px;box-shadow:0 12px 30px #14213d0b}.stats-overview dd{font-size:clamp(1.35rem,3vw,1.75rem)}.stats-message{border:1px solid;border-radius:11px;margin:20px 0 -2px;padding:12px 14px;font-size:.84rem;font-weight:650}.stats-message.success{color:#15543a;background:var(--green-soft);border-color:#9bcdb6}.stats-message.error{color:var(--red-dark);background:var(--red-soft);border-color:#e1a4a4}.stats-detail{border:1px solid var(--line);background:#fffffff5;border-radius:20px;margin-top:24px;overflow:hidden;box-shadow:0 20px 55px #14213d12}.stats-detail-heading{border-bottom:1px solid var(--line);align-items:center;padding:24px 26px}.stats-detail-heading h2,.stats-privacy h2,.confirm-dialog h2{color:var(--ink);letter-spacing:-.025em;margin:0;font-size:1.12rem}.stats-detail-heading p,.stats-privacy p{color:var(--muted);margin:5px 0 0;font-size:.8rem;line-height:1.55}.stats-detail-heading>span{color:var(--muted);background:var(--blue-soft);border-radius:8px;flex:none;padding:7px 9px;font-size:.72rem;font-weight:720}.stats-table-scroll{max-height:min(58svh,620px);overflow:auto}.stats-table{border-collapse:collapse;width:100%;color:var(--body);font-variant-numeric:tabular-nums}.stats-table th,.stats-table td{text-align:right;border-bottom:1px solid #e8ecf1;padding:15px 18px;font-size:.84rem}.stats-table th:first-child,.stats-table td:first-child{text-align:left}.stats-table thead th{z-index:1;color:var(--muted);background:#f5f7fa;font-size:.72rem;font-weight:760;position:sticky;top:0}.stats-table tbody th{color:var(--ink);font-weight:760}.stats-table tbody tr:last-child th,.stats-table tbody tr:last-child td{border-bottom:0}.stats-table tbody tr:hover{background:#fafbfc}.correct-value{color:var(--green);font-weight:760}.wrong-value{color:var(--red-dark);font-weight:760}.stats-empty{text-align:center;flex-direction:column;align-items:center;padding:58px 24px 62px;display:flex}.stats-empty>span{width:52px;height:52px;color:var(--navy);background:var(--blue-soft);border-radius:50%;place-items:center;margin-bottom:16px;font-size:1.3rem;display:grid}.stats-empty h3{color:var(--ink);margin:0;font-size:1.05rem}.stats-empty p{color:var(--muted);margin:7px 0 22px;font-size:.84rem}.stats-privacy{border:1px solid var(--line);background:#ffffffb8;border-radius:16px;justify-content:space-between;align-items:center;gap:28px;margin-top:18px;padding:22px 24px;display:flex}.stats-privacy p{max-width:720px}.danger-button{min-height:44px;color:var(--red-dark);font:inherit;cursor:pointer;background:#fff;border:1px solid #d59a9a;border-radius:10px;flex:none;padding:10px 14px;font-size:.8rem;font-weight:760}.danger-button:hover:not(:disabled):not([aria-disabled=true]){background:var(--red-soft)}.danger-button.solid{border-color:var(--red-dark);color:#fff;background:var(--red-dark)}.danger-button.solid:hover:not(:disabled):not([aria-disabled=true]){background:#6e2222}.dialog-actions button[aria-disabled=true]{opacity:.58;cursor:wait}.dialog-actions .secondary-button[aria-disabled=true]:hover{background:#fff}.dialog-backdrop{z-index:100;overscroll-behavior:contain;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f192c8a;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.confirm-dialog{background:#fff;border:1px solid #ffffff59;border-radius:20px;width:min(440px,100%);max-height:calc(100svh - 40px);padding:28px;overflow-y:auto;box-shadow:0 30px 90px #0a122247}.dialog-symbol{color:#fff;background:var(--red);border-radius:12px;place-items:center;width:42px;height:42px;margin-bottom:18px;font-weight:850;display:grid}.confirm-dialog p{color:var(--body);margin:12px 0 0;font-size:.88rem;line-height:1.65}.dialog-actions{justify-content:end;gap:10px;margin-top:24px;display:flex}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=800px){.setup-wrap{grid-template-columns:1fr;gap:42px;max-width:620px;padding-top:50px}.setup-copy h1{max-width:540px}}@media (width<=640px){.topbar{min-height:66px;padding:0 16px}.brand>span:last-child{display:none}.topbar-actions{gap:9px}.source-status{padding:7px 9px}.source-status.configured{font-size:0}.source-status.configured .status-dot{margin:0 2px}.setup-wrap,.summary-wrap{width:min(100% - 28px,620px);min-height:calc(100svh - 66px);padding:42px 0 56px}.setup-copy h1{font-size:clamp(3rem,16vw,4.5rem)}.setup-lead{margin-top:20px}.quiz-wrap{width:min(100% - 28px,880px);padding:38px 0 56px}.quiz-heading{flex-direction:column;align-items:start;gap:16px}.quiz-meta{justify-content:start}.question-card{border-radius:18px}.option{grid-template-columns:34px minmax(0,1fr);padding:14px}.option-result{grid-column:2;justify-self:start}.quiz-actions,.next-action{flex-direction:column;align-items:stretch}.quiz-actions button,.next-action button{width:100%}.next-action>span{text-align:center}.feedback{align-items:start}}@media (width<=800px){.stats-heading{flex-direction:column;align-items:start}.stats-overview{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-privacy{flex-direction:column;align-items:stretch}.stats-privacy .danger-button{align-self:start}}@media (width<=640px){.storage-notice{width:min(100% - 28px,620px);margin-top:12px;margin-bottom:-22px}.compact-stats>div{padding:10px 8px}.stats-wrap{width:min(100% - 28px,1080px);padding:42px 0 56px}.stats-heading h1{font-size:clamp(3rem,16vw,4.5rem)}.stats-overview{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:28px}.stats-overview>div{padding:16px 14px}.stats-detail-heading{flex-direction:column;align-items:start;padding:20px}.stats-table-scroll{max-height:none;overflow:visible}.stats-table,.stats-table tbody,.stats-table tr,.stats-table th,.stats-table td{display:block}.stats-table thead{clip:rect(0, 0, 0, 0);width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.stats-table tbody{padding:10px}.stats-table tbody tr{border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:10px;display:grid;overflow:hidden}.stats-table tbody tr:last-child{margin-bottom:0}.stats-table tbody th{border-bottom:1px solid var(--line);background:#f5f7fa;grid-column:1/-1;padding:13px 14px}.stats-table tbody td{text-align:right;border-bottom:1px solid #edf0f4;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;display:flex}.stats-table tbody td:before{content:attr(data-label);color:var(--muted);font-size:.7rem;font-weight:650}.stats-table tbody td:nth-of-type(odd){border-right:1px solid #edf0f4}.stats-privacy{padding:20px}.stats-privacy .danger-button{width:100%}.confirm-dialog{padding:24px}.dialog-actions>button{flex:1 1 0}}
