@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d57a24ec54448a8e-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/bc08e10e1c60a660-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/7c309a1f4c99f6b1-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/9816a0e0ed309b6c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Atkinson Hyperlegible Fallback;src:local("Arial");ascent-override:95.60%;descent-override:29.18%;line-gap-override:0.00%;size-adjust:99.37%}.__className_de0309{font-family:Atkinson Hyperlegible,Atkinson Hyperlegible Fallback;font-style:normal}.__variable_de0309{--font-main:"Atkinson Hyperlegible","Atkinson Hyperlegible Fallback"}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html[data-size="1"]{font-size:17px}html[data-size="2"]{font-size:20px}html[data-size="3"]{font-size:23px}:root{--bg:#f5f3ee;--ink:#1d2b32;--ink-soft:#5d6b71;--card:#ffffff;--line:#e6e2d8;--accent:#157f6b;--accent-press:#0f6657;--accent-soft:#e7f1ee;--good:#1f7a52;--good-bg:#e7f2ec;--bad:#b1463d;--bad-bg:#f5e9e6;--warn:#8a6d2f;--warn-bg:#f3ecdc;--warn-line:#d9c79e;--radius:16px;--radius-sm:12px;--shadow:0 4px 18px rgba(29,43,50,0.06);--shadow-lg:0 12px 36px rgba(29,43,50,0.1);--maxw:720px}body,html{height:100%}body{font-family:var(--font-main),system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.5;font-weight:700;-webkit-font-smoothing:antialiased}li,p{font-weight:400}button,strong{font-weight:700}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}svg{display:block}:focus-visible{outline:3px solid var(--accent);outline-offset:2px;border-radius:6px}.app{min-height:100%;display:flex;flex-direction:column}.wrap{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 18px}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(245,243,238,.82);border-bottom:1px solid var(--line)}.site-header .bar{gap:12px;padding:14px 0}.brand,.site-header .bar{display:flex;align-items:center}.brand{gap:10px;font-size:1.05rem;font-weight:700;letter-spacing:-.01em}.brand .mark{width:26px;height:26px;border-radius:8px;background:var(--accent);display:inline-flex;align-items:center;justify-content:center;color:#fff;flex:0 0 auto}.spacer{flex:1 1}.size-control{display:flex;align-items:center;gap:4px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:4px}.size-control button{width:38px;height:38px;border-radius:8px;font-weight:700;color:var(--ink-soft)}.size-control button.on{background:var(--accent);color:#fff}.size-a-1{font-size:.8rem}.size-a-2{font-size:.98rem}.size-a-3{font-size:1.18rem}main{flex:1 1;padding:26px 0 56px}.site-footer{text-align:center;padding:24px 0 32px;color:var(--ink-soft);font-size:.8rem;font-weight:400}.site-footer a{color:var(--accent);font-weight:700;text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:58px;padding:0 24px;border-radius:var(--radius-sm);font-size:1.05rem;font-weight:700;transition:background .15s ease,transform .06s ease,box-shadow .15s ease,border-color .15s ease}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--accent);color:#fff;box-shadow:var(--shadow);width:100%}.btn-primary:hover{background:var(--accent-press)}.btn-primary:disabled{background:#b8c6c2;cursor:not-allowed}.btn-secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}.btn-secondary:hover{border-color:#cfcabb}.btn-ghost{background:transparent;color:var(--accent);border:1px solid var(--accent-soft)}.btn-ghost:hover{background:var(--accent-soft)}.btn-row{display:flex;gap:12px;flex-wrap:wrap}.panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:22px}.hero{text-align:center;padding:14px 6px 18px}.hero h1{font-size:1.7rem;line-height:1.2;letter-spacing:-.02em}.hero p{margin-top:10px;color:var(--ink-soft);font-size:1rem}.field{margin-bottom:18px}.field label,.field>summary{display:block;font-size:1rem;font-weight:700;margin-bottom:8px}.field .hint{font-weight:400;color:var(--ink-soft);font-size:.88rem;margin-bottom:8px}.input,.select,.textarea{width:100%;font-family:inherit;font-size:1.02rem;font-weight:700;color:var(--ink);background:#fff;border:2px solid var(--line);border-radius:var(--radius-sm);padding:15px}.input::placeholder,.textarea::placeholder{color:#a9b1ac;font-weight:400}.input:focus,.select:focus,.textarea:focus{border-color:var(--accent);outline:none}.textarea{min-height:88px;resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}@media (max-width:520px){.grid2{grid-template-columns:1fr}}.drop{border:2px dashed #cfc9bb;border-radius:var(--radius-sm);background:#faf8f3;padding:24px 18px;text-align:center;cursor:pointer;transition:border-color .15s,background .15s}.drop.over,.drop:hover{border-color:var(--accent);background:var(--accent-soft)}.drop .big{font-size:1.05rem;margin-top:8px}.drop .sub{font-weight:400;color:var(--ink-soft);font-size:.88rem;margin-top:4px}.drop.has-file{border-style:solid;border-color:var(--good);background:var(--good-bg)}.drop .file-icon{color:var(--ink-soft);display:inline-flex}.drop.has-file .file-icon{color:var(--good)}.loading{text-align:center;padding:44px 10px}.loading h2{font-size:1.35rem;margin-bottom:20px;letter-spacing:-.01em}.steps{list-style:none;display:inline-flex;flex-direction:column;gap:14px;text-align:left}.steps li{display:flex;align-items:center;gap:12px;font-weight:700;font-size:1rem;color:var(--ink-soft);opacity:.45;transition:opacity .3s,color .3s}.steps li.active{opacity:1;color:var(--ink)}.steps li.done{opacity:1;color:var(--good)}.dot{width:26px;height:26px;border-radius:999px;border:2px solid;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;font-size:.8rem}.spinner{width:48px;height:48px;border-radius:999px;border:5px solid #e6e2d8;border-top:5px solid var(--accent);margin:0 auto 22px;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.set-title{text-align:center;margin-bottom:4px}.set-title h1{font-size:1.5rem;letter-spacing:-.02em}.set-title .sub{color:var(--ink-soft);font-weight:400;font-size:.95rem}.tabs{display:flex;gap:8px;overflow-x:auto;padding:14px 2px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:10px;background:#fff;border:1px solid var(--line);font-size:.98rem;color:var(--ink-soft);white-space:nowrap}.tab:hover{border-color:#cfcabb}.tab.on{background:var(--accent);color:#fff;border-color:var(--accent)}.speak{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 14px;border-radius:10px;background:var(--accent-soft);color:var(--accent);font-size:.9rem;border:1px solid transparent;flex:0 0 auto}.speak:hover{border-color:var(--accent)}.speak.playing{background:var(--accent);color:#fff}.deck-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:var(--ink-soft);font-weight:700;font-size:.92rem}.flip{perspective:1600px;width:100%}.flip-inner{position:relative;width:100%;min-height:270px;transition:transform .5s;transform-style:preserve-3d;cursor:pointer}.flip-inner.flipped{transform:rotateY(180deg)}.face{inset:0;-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:var(--radius);background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px 28px}.face,.face .tag{position:absolute}.face .tag{top:16px;left:18px;font-size:.72rem;color:var(--ink-soft);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.face .content{font-size:1.4rem;font-weight:700;line-height:1.3}.face.back{transform:rotateY(180deg);background:#fbfaf6}.face .flip-hint{position:absolute;bottom:16px;font-size:.78rem;font-weight:400;color:var(--ink-soft)}.card-actions{display:flex;gap:12px;margin-top:16px}.card-actions .btn{flex:1 1;min-height:54px}.btn-good{background:var(--good-bg);color:var(--good);border:1px solid var(--good)}.btn-review{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn-line)}.progress{height:8px;background:#e6e2d8;border-radius:999px;overflow:hidden;margin-bottom:16px}.progress span{display:block;height:100%;background:var(--accent);transition:width .3s}.slide h2{font-size:1.4rem;margin-bottom:16px;letter-spacing:-.01em}.slide ul{list-style:none;display:flex;flex-direction:column;gap:14px}.slide li{display:flex;gap:12px;align-items:flex-start;font-size:1.15rem;font-weight:700;line-height:1.4}.slide li .bullet{flex:0 0 auto;width:9px;height:9px;margin-top:9px;border-radius:999px;background:var(--accent)}.nav-row{display:flex;gap:12px;margin-top:20px}.nav-row .btn{flex:1 1}.q-count{text-align:center;color:var(--ink-soft);font-weight:700;font-size:.92rem;margin-bottom:12px}.question{font-size:1.25rem;font-weight:700;line-height:1.35;margin-bottom:18px}.choices{display:flex;flex-direction:column;gap:12px}.choice{display:flex;align-items:center;gap:14px;text-align:left;width:100%;min-height:62px;padding:14px 16px;border-radius:var(--radius-sm);background:#fff;border:2px solid var(--line);font-size:1.05rem;font-weight:700;transition:border-color .12s,background .12s}.choice:hover:not(:disabled){border-color:var(--accent)}.choice .key{flex:0 0 auto;width:36px;height:36px;border-radius:8px;background:var(--accent-soft);color:var(--accent);display:inline-flex;align-items:center;justify-content:center}.choice.correct{border-color:var(--good);background:var(--good-bg)}.choice.correct .key{background:var(--good);color:#fff}.choice.wrong{border-color:var(--bad);background:var(--bad-bg)}.choice.wrong .key{background:var(--bad);color:#fff}.choice:disabled{cursor:default}.feedback{margin-top:16px;padding:15px 16px;border-radius:var(--radius-sm);font-weight:700}.feedback.right{background:var(--good-bg);color:var(--good)}.feedback.wrong{background:var(--bad-bg);color:var(--bad)}.feedback .why{font-weight:400;color:var(--ink);margin-top:6px}.result{text-align:center;padding:20px 6px}.result .score{font-size:2.6rem;font-weight:700;color:var(--accent);letter-spacing:-.02em}.result h2{font-size:1.4rem;margin:8px 0 6px}.result p{color:var(--ink-soft)}.stack{display:flex;flex-direction:column;gap:14px}.item{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.item .q{font-size:1.12rem;font-weight:700;margin-bottom:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;line-height:1.35}.item .label{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:700;margin:12px 0 8px}.item ul{list-style:none;flex-direction:column}.item ul,.item ul li{display:flex;gap:10px}.item ul li{align-items:flex-start;font-weight:700;line-height:1.4}.item ul li .check{color:var(--good);flex:0 0 auto;margin-top:2px}.model-answer{background:#fbfaf6;border:1px solid var(--line);border-radius:var(--radius-sm);padding:14px 16px;font-weight:400;line-height:1.5}.term{font-size:1.15rem;font-weight:700}.term-def{font-weight:400;color:var(--ink);margin-top:4px;line-height:1.5}.label{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-weight:700}.center{text-align:center}.mt{margin-top:14px}.mt-lg{margin-top:24px}.error-box{background:var(--bad-bg);color:var(--bad);border-radius:var(--radius-sm);padding:15px;font-weight:700;text-align:center}.muted{color:var(--ink-soft);font-weight:400}.saved-list{display:flex;flex-direction:column;gap:10px;margin-top:12px}.saved-row{display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px}.saved-row button.open{flex:1 1;text-align:left;font-weight:700;font-size:1rem}.saved-row .del{color:var(--ink-soft);width:38px;height:38px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center}.saved-row .del:hover{background:var(--bad-bg);color:var(--bad)}@media print{.no-print{display:none!important}body{background:#fff}}