@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(./fraunces-vietnamese-wght-italic-BicUS2cM.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-ext-wght-italic-BfTTTDIL.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(./fraunces-latin-wght-italic-Py8at3oI.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#f3f4fa;--surface:#fff;--surface-2:#eef0f8;--ink:#0f172a;--ink-2:#5b6478;--line:#e3e6f0;--primary:#4f46e5;--primary-2:#6366f1;--primary-soft:#e0e7ff;--accent:#facc15;--ok:#16a34a;--ok-soft:#dcfce7;--no:#dc2626;--no-soft:#fee2e2;--warn:#b45309;--warn-soft:#fef3c7;--hero-1:#1e1b4b;--hero-2:#4338ca;--shadow-sm:0 1px 2px #0f172a0f;--shadow:0 1px 2px #0f172a0d, 0 8px 24px -6px #1e1b4b24;--shadow-lg:0 20px 50px -12px #1e1b4b59;--r:22px;--font:"Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, "SF Pro Text", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:"Segoe UI Variable Display", "Segoe UI", system-ui, -apple-system, "SF Pro Display", Roboto, sans-serif;--gutter:max(10px, 4vw);--spring:cubic-bezier(.34, 1.56, .64, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0b0d17;--surface:#151827;--surface-2:#1d2135;--ink:#eef0fb;--ink-2:#a3a9c2;--line:#272c44;--primary:#818cf8;--primary-2:#a5b4fc;--primary-soft:#23264a;--ok-soft:#12301f;--no-soft:#3a1518;--warn:#fbbf24;--warn-soft:#3a2e10;--shadow:0 1px 2px #0006, 0 10px 30px -10px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#0b0d17;--surface:#151827;--surface-2:#1d2135;--ink:#eef0fb;--ink-2:#a3a9c2;--line:#272c44;--primary:#818cf8;--primary-2:#a5b4fc;--primary-soft:#23264a;--ok-soft:#12301f;--no-soft:#3a1518;--warn:#fbbf24;--warn-soft:#3a2e10;--shadow:0 1px 2px #0006, 0 10px 30px -10px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);font:16.5px/1.5 var(--font);-webkit-font-smoothing:antialiased;min-height:100dvh;margin:0}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0 0 .4em;font-weight:800;line-height:1.15}h1{font-size:1.85rem}p{margin:0 0 .8em}a{color:var(--primary)}button{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--primary-2);outline-offset:2px;border-radius:10px}.small{font-size:.88rem}.topbar{z-index:30;padding:calc(8px + env(safe-area-inset-top)) var(--gutter) 8px;background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);backdrop-filter:saturate(1.4)blur(14px);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand{color:var(--ink);align-items:center;gap:10px;text-decoration:none;display:flex}.brand-mark{color:#fff;width:36px;height:36px;font:900 1.05rem var(--font-display);background:linear-gradient(135deg,#6366f1,#4338ca);border-radius:12px;place-items:center;display:grid;box-shadow:0 6px 14px -4px #4f46e599}.topbar-right{align-items:center;gap:8px;display:flex}.icon-btn{width:42px;height:42px;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);cursor:pointer;transition:transform .15s var(--spring);border-radius:14px;place-items:center;text-decoration:none;display:grid}.icon-btn:active{transform:scale(.9)}.streak{color:#c2410c;background:#fff4e5;border-radius:999px;align-items:center;gap:4px;padding:6px 12px;font-size:.9rem;font-weight:800;display:inline-flex}:root[data-theme=dark] .streak{color:#fdba74;background:#3a2410}.streak:empty{display:none}main{max-width:1100px;padding:6px var(--gutter) 40px;outline:none;margin:0 auto}@keyframes screenIn{0%{opacity:0;transform:translateY(10px)}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:16px}.btn{border:1px solid var(--line);background:var(--surface);min-height:48px;color:var(--ink);cursor:pointer;transition:transform .15s var(--spring), background .2s, box-shadow .2s;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-weight:700;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.96)}.btn.primary{background:linear-gradient(135deg, var(--primary-2), var(--primary));color:#fff;border-color:#0000;box-shadow:0 10px 22px -10px #4f46e5cc}.btn.yellow{background:var(--accent);color:#1e1b4b;border-color:#0000;box-shadow:0 10px 22px -10px #ca8a04cc}.btn.ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn.small{border-radius:12px;min-height:38px;padding:0 14px;font-size:.9rem}.btn.block{width:100%}.btn[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.btn:disabled{opacity:.45;cursor:default}.chip{background:var(--surface-2);border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:.85rem;font-weight:600;display:inline-flex}.chip .it{color:var(--primary);font-style:italic;font-weight:700}.bar{background:var(--surface-2);border-radius:99px;height:10px;overflow:hidden}.bar>i{height:100%;transition:width .6s var(--spring);background:linear-gradient(90deg,#22c55e,#16a34a);border-radius:99px;display:block}.hero{color:#fff;background:radial-gradient(120% 120% at 100% 0%, #6366f1 0%, var(--hero-2) 38%, var(--hero-1) 100%);box-shadow:var(--shadow-lg);border-radius:28px;grid-template-columns:1fr 120px;align-items:end;gap:6px 4px;margin:6px 0 22px;padding:20px 16px 16px;display:grid;position:relative;overflow:hidden}.hero:before{content:"";background:#facc152e;border-radius:50%;width:200px;height:200px;position:absolute;inset:auto -40px -60px auto}.hero:after{content:"";background:#ffffff12;border-radius:50%;width:160px;height:160px;position:absolute;top:-50px;left:-30px}.hero h1{color:#fff;z-index:1;margin-bottom:4px;font-size:1.6rem;position:relative}.hero p{color:#c7d2fe;z-index:1;margin:0 0 14px;position:relative}.hero .giulia{z-index:1;filter:drop-shadow(0 12px 18px #0000004d);width:140px;margin:-10px -14px -8px;position:relative}.hero-stats{z-index:1;flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex;position:relative}.stat{color:#c7d2fe;background:#ffffff1f;border:1px solid #ffffff24;border-radius:12px;padding:5px 9px;font-size:.72rem;line-height:1.2}.stat b{color:#fff;font-size:1.05rem;display:block}.hero .btn{z-index:2;position:relative}.hero-cta{grid-column:1/-1;min-height:54px;margin-top:4px;font-size:1.02rem}.hero h1{white-space:nowrap}.chapter>span:nth-child(2){min-width:0}.chapter .t{overflow-wrap:anywhere}.notice{background:var(--warn-soft);color:var(--warn);border-radius:18px;gap:10px;margin-bottom:18px;padding:12px 14px;font-size:.9rem;display:flex}.section-title{justify-content:space-between;align-items:baseline;gap:10px;margin:22px 2px 10px;display:flex}.section-title h2,.section-title h3{margin:0}.chapters{grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:10px;display:grid}.chapter{background:var(--surface);border:1px solid var(--line);color:var(--ink);box-shadow:var(--shadow-sm);transition:transform .2s var(--spring), box-shadow .2s;border-radius:20px;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:12px 14px 12px 12px;text-decoration:none;display:grid}.chapter.ready:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.chapter.ready:active{transform:scale(.98)}.chapter .ico{background:var(--primary-soft);border-radius:15px;place-items:center;width:48px;height:48px;font-size:1.5rem;display:grid}.chapter .t{font-weight:750;line-height:1.25;display:block}.chapter .it{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.82rem;display:block;overflow:hidden}.chapter.locked{opacity:.6;box-shadow:none;background:0 0;border-style:dashed}.chapter.locked .ico{background:var(--surface-2);filter:grayscale(.4)}.ring{width:46px;height:46px;position:relative}.ring svg{width:46px;height:46px;transform:rotate(-90deg)}.ring span{place-items:center;font-size:.72rem;font-weight:800;display:grid;position:absolute;inset:0}.soon{letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2);font-size:.7rem;font-weight:800}.learn-top{align-items:center;gap:12px;margin:4px 0 12px;display:flex}.learn-top .bar{flex:1;height:12px}.count{font-variant-numeric:tabular-nums;color:var(--ink-2);background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:.82rem;font-weight:800}.stage{background:linear-gradient(160deg,#e0e7ff 0%,#ede9fe 60%,#fae8ff 100%);border-radius:26px 26px 0 0;grid-template-columns:112px 1fr;align-items:end;gap:6px;padding:10px 12px 0;display:grid;position:relative;overflow:hidden}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .stage{background:linear-gradient(160deg,#1e1b4b,#2e1065)}}.stage .giulia{width:124px;margin-bottom:-4px}.stage-side{flex-direction:column;align-self:center;align-items:flex-start;gap:8px;padding-bottom:10px;display:flex}.name-tag{font-size:.95rem;font-weight:800}.name-tag small{color:var(--ink-2);font-size:.78rem;font-weight:600;display:block}.round-btns{flex-wrap:wrap;gap:8px;display:flex}.rbtn{color:#1e1b4b;cursor:pointer;min-width:40px;height:40px;transition:transform .15s var(--spring);background:#ffffffd9;border:0;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:.85rem;font-weight:750;display:inline-flex;box-shadow:0 4px 10px -4px #1e1b4b4d}:root[data-theme=dark] .rbtn{color:#e0e7ff;background:#ffffff1f}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .rbtn{color:#e0e7ff;background:#ffffff1f}}.rbtn:active{transform:scale(.92)}.rbtn[aria-pressed=true]{color:#fff;background:#1e1b4b}.qcard{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-top:0;border-radius:0 0 26px 26px;padding:16px 16px 14px}.qlabel{letter-spacing:.1em;text-transform:uppercase;color:var(--primary);background:var(--primary-soft);border-radius:999px;margin-bottom:10px;padding:4px 10px;font-size:.72rem;font-weight:900;display:inline-block}.q-it{font:650 1.24rem/1.45 var(--font-display);letter-spacing:-.01em;margin:0 0 8px}.q-it .w{cursor:pointer;border-radius:6px;padding:0 1px;transition:background .15s,color .15s}.q-it .w:hover{background:var(--primary-soft)}.q-it .w.speaking{background:var(--accent);color:#1e1b4b}.q-img{border:1px solid var(--line);width:100%;max-width:210px;box-shadow:var(--shadow-sm);background:#fff;border-radius:16px;margin:10px auto 6px;padding:8px;display:block}.q-en{color:var(--ink-2);background:var(--surface-2);border-radius:14px;margin:10px 0 0;padding:10px 12px;font-size:.98rem;animation:.3s both screenIn}.linkbtn{color:var(--primary);cursor:pointer;background:0 0;border:0;padding:6px 0;font-size:.92rem;font-weight:700}.word-pop{z-index:70;color:#fff;max-width:290px;box-shadow:var(--shadow-lg);animation:popIn .25s var(--spring) both;background:#0f172a;border-radius:16px;padding:12px 14px;font-size:.95rem;position:fixed}.word-pop b{font-size:1.05rem}.word-pop .note{color:#cbd5e1;margin-top:4px;font-size:.85rem;display:block}@keyframes popIn{0%{opacity:0;transform:scale(.85)translateY(6px)}}.shake{animation:.45s shake}@keyframes shake{20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}.answers{z-index:10;padding:14px 0 calc(12px + env(safe-area-inset-bottom));background:linear-gradient(to bottom, transparent, var(--bg) 26%);margin-top:6px;position:sticky;bottom:0}.answers .two{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ans{cursor:pointer;color:#fff;min-height:68px;font:900 1.35rem var(--font-display);letter-spacing:.04em;transition:transform .15s var(--spring), filter .2s;border:0;border-radius:20px;justify-content:center;align-items:center;gap:10px;display:flex;position:relative;overflow:hidden}.ans .ic{background:#ffffff38;border-radius:50%;place-items:center;width:30px;height:30px;font-size:1rem;display:grid}.ans small{font:600 .72rem var(--font);letter-spacing:.02em;opacity:.85;text-align:left;display:block}.ans:disabled{filter:grayscale(.7)opacity(.5);cursor:default}.ans.picked{filter:none;outline:4px solid var(--ink);outline-offset:3px}.dunno-row{grid-template-columns:1fr 1fr;gap:10px;margin-top:12px;display:grid}.dunno{border:1px solid var(--line);background:var(--surface);cursor:pointer;min-height:46px;color:var(--ink-2);transition:transform .15s var(--spring);border-radius:14px;padding:6px 8px;font-size:.88rem;font-weight:700;line-height:1.15}.dunno small{opacity:.8;font-size:.74rem;font-weight:500;display:block}.dunno:active{transform:scale(.96)}.dunno:disabled{opacity:.45}.sheet{z-index:40;padding:18px var(--gutter) calc(16px + env(safe-area-inset-bottom));animation:sheetUp .45s var(--spring) both;border-radius:26px 26px 0 0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -20px 40px -20px #0f172a59}.sheet.ok{background:var(--ok-soft);color:var(--ok)}.sheet .row{align-items:center;gap:12px;max-width:1100px;margin:0 auto 12px;display:flex}.sheet .big{background:var(--ok);color:#fff;width:44px;height:44px;animation:popIn .5s var(--spring) .1s both;border-radius:50%;place-items:center;font-size:1.4rem;display:grid}.sheet h3{margin:0;font-size:1.25rem}.sheet .acts{grid-template-columns:1fr auto;gap:10px;max-width:1100px;margin:0 auto;display:grid}.sheet .btn.go{background:var(--ok);color:#fff;border:0;position:relative;overflow:hidden}.sheet .btn.go .timer{height:4px;animation:timer var(--t,1.8s) linear forwards;background:#fff9;position:absolute;bottom:0;left:0}@keyframes timer{0%{width:0}to{width:100%}}@keyframes sheetUp{0%{transform:translateY(110%)}}.confetti-burst{pointer-events:none;z-index:60;position:fixed}.confetti-burst i{border-radius:3px;width:9px;height:13px;animation:1s cubic-bezier(.2,.7,.3,1) forwards conf;position:absolute}@keyframes conf{to{transform:translate(var(--dx), var(--dy)) rotate(var(--rot));opacity:0}}.explain-sheet{z-index:45;background:var(--bg);animation:sheetUp .5s var(--spring) both;overscroll-behavior:contain;position:fixed;inset:0;overflow-y:auto}.ex-head{z-index:5;padding:calc(10px + env(safe-area-inset-top)) var(--gutter) 10px;background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:10px;display:flex;position:sticky;top:0}.ex-head .verdict{flex:1}.ex-body{max-width:760px;padding:4px var(--gutter) 24px;margin:0 auto}.verdict{border-radius:999px;align-items:center;gap:10px;padding:8px 14px 8px 8px;font-size:.95rem;font-weight:800;display:inline-flex}.verdict .big{color:#fff;border-radius:50%;flex:none;place-items:center;width:32px;height:32px;font-size:1rem;display:grid}.verdict.ok{background:var(--ok-soft);color:var(--ok)}.verdict.ok .big{background:var(--ok)}.verdict.no{background:var(--no-soft);color:var(--no)}.verdict.no .big{background:var(--no)}.verdict .ans-word{letter-spacing:.03em;font-weight:900}.seg{background:var(--surface-2);border:1px solid var(--line);border-radius:12px;flex:none;padding:3px;display:inline-flex}.seg button{cursor:pointer;color:var(--ink-2);background:0 0;border:0;border-radius:9px;padding:6px 12px;font-size:.85rem;font-weight:750}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.seg button:disabled{opacity:.4}.ex-translation{background:var(--surface);border:1px solid var(--line);border-radius:18px;margin:4px 0 14px;padding:12px 14px;font-size:.98rem}.ex-translation .lbl,.exp .lbl{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin-bottom:2px;font-size:.7rem;font-weight:900;display:block}.board-wrap{position:relative}.board{box-shadow:var(--shadow-lg);background:#0f172a;border-radius:26px;position:relative;overflow:hidden}.board svg{width:100%;height:auto;display:block}.board.shake{animation:.5s shake}.board-cap{pointer-events:none;flex-wrap:wrap;gap:6px;display:flex;position:absolute;top:12px;left:12px}.board-cap span{color:#fff;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f172ab8;border-radius:999px;padding:5px 10px;font-size:.75rem;font-weight:800}.board-cap .it{background:var(--accent);color:#1e1b4b;font-style:italic}.teacher{grid-template-columns:78px 1fr;align-items:end;gap:8px;margin:14px 0 10px;display:grid}.teacher .giulia{width:86px;margin-bottom:-6px}.say{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px 20px 20px 6px;min-height:3.4em;padding:12px 14px;font-size:1.02rem;font-weight:650;line-height:1.4;position:relative}.say.pop{animation:popIn .35s var(--spring)}.board-ctrl{flex-wrap:wrap;justify-content:center;gap:8px;margin:12px 0 4px;display:flex}.exp{gap:10px;margin-top:16px;display:grid}.exp .blk{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:20px;padding:14px 16px}.exp .blk.why{border-left:5px solid var(--primary)}.exp .blk.trap{background:var(--warn-soft);color:var(--ink);border-color:#0000}.exp .blk.trap .lbl{color:var(--warn)}.kw-list{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.review-note{color:var(--warn);font-size:.88rem}.ex-foot{padding-bottom:calc(12px + env(safe-area-inset-bottom));margin-top:18px}.ex-foot .btn{width:100%;max-width:760px;min-height:56px;margin:0 auto;font-size:1.05rem;display:flex}.g-hit{cursor:pointer;background:0 0;border:0;padding:0;display:block}.g-hit:active{transform:none}.gsay{color:#1e1b4b;background:#fff;border-radius:18px 18px 18px 4px;max-width:100%;min-height:2.6em;padding:9px 12px;font-size:.92rem;font-weight:700;line-height:1.3;position:relative;box-shadow:0 8px 18px -8px #1e1b4b66}.gsay.pop{animation:bubble .45s var(--spring)}.gsay.hint{background:#fef9c3}.gsay.combo{color:#fff;animation:bubble .45s var(--spring), wobble .6s ease .45s;background:linear-gradient(135deg,#f97316,#ef4444)}@keyframes bubble{0%{opacity:0;transform:scale(.6)translateY(8px)}}@keyframes wobble{25%{transform:rotate(-3deg)scale(1.04)}75%{transform:rotate(3deg)scale(1.04)}}.q-it .w.trapw{color:inherit}.q-it .w.flash{animation:1.6s trapflash}@keyframes trapflash{0%,to{background:0 0}15%,60%{color:#1e1b4b;background:#fde047;box-shadow:0 0 0 4px #fde04780}}.qswipe{touch-action:pan-y;will-change:transform}.qswipe.in-right{animation:inRight .42s var(--spring) both}.qswipe.in-left{animation:inLeft .42s var(--spring) both}.qswipe.in-up{animation:screenIn .45s var(--spring) both}@keyframes inRight{0%{opacity:0;transform:translate(60%)rotate(4deg)}}@keyframes inLeft{0%{opacity:0;transform:translate(-60%)rotate(-4deg)}}.swipe-hint{text-align:center;color:var(--ink-2);opacity:.7;margin:10px 0 0;font-size:.74rem}.learn-top .icon-btn{flex:none;width:38px;height:38px;font-size:1.3rem;font-weight:700}.learn-top .icon-btn:disabled{opacity:.35}.ans.correct{outline-offset:3px;filter:none;outline:4px solid #22c55e}.sheet.no{background:var(--no-soft);color:var(--no)}.sheet.no .big{background:var(--no)}.sheet .btn.why{background:var(--surface)}.sheet.leaving{animation:.2s ease-in forwards sheetDown}@keyframes sheetDown{to{transform:translateY(110%)}}.board-progress{background:#ffffff26;height:5px;position:absolute;bottom:0;left:0;right:0}.board-progress i{background:var(--accent);width:0;height:100%;transition:width .5s var(--spring);display:block}.steps-box{margin-top:16px}.steps-box .lbl{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-2);margin:0 0 6px 4px;font-size:.7rem;font-weight:900;display:block}.steps{gap:6px;margin:0;padding:0;list-style:none;display:grid}.steps button{text-align:left;border:1px solid var(--line);background:var(--surface);cursor:pointer;width:100%;color:var(--ink-2);transition:transform .3s var(--spring), background .25s, color .25s, box-shadow .25s;border-radius:16px;align-items:flex-start;gap:10px;padding:10px 12px;font-size:.93rem;display:flex}.steps .n{background:var(--surface-2);border-radius:50%;flex:none;place-items:center;width:24px;height:24px;font-size:.78rem;font-weight:800;transition:background .25s,color .25s;display:grid}.steps li.done button{color:var(--ink)}.steps li.done .n{background:var(--ok);color:#fff}.steps li.active button{background:var(--primary-soft);color:var(--ink);box-shadow:var(--shadow);border-color:#0000;font-weight:650;transform:scale(1.02)}.steps li.active .n{background:var(--primary);color:#fff;animation:popIn .4s var(--spring)}.quiz-list{text-align:left;gap:6px;max-height:46vh;padding:2px;display:grid;overflow:auto}.qres{border:1px solid var(--line);background:var(--surface);text-align:left;cursor:pointer;color:var(--ink);border-radius:14px;align-items:center;gap:10px;padding:10px 12px;font-size:.88rem;display:flex}.qres:disabled{cursor:default;opacity:.75}.qres .mark{color:#fff;border-radius:50%;flex:none;place-items:center;width:26px;height:26px;font-weight:900;display:grid}.qres.ok .mark{background:var(--ok)}.qres.no .mark{background:var(--no)}.qres .txt{flex:1}.qres small{color:var(--ink-2);margin-top:2px;font-weight:700;display:block}.qres.no{border-color:color-mix(in srgb, var(--no) 40%, var(--line))}.quick{color:#fff;box-shadow:var(--shadow-lg);animation:screenIn .5s var(--spring) both;border-radius:24px;margin:4px 0 12px;padding:16px 18px}.qa-pill{letter-spacing:.06em;background:#ffffff38;border-radius:999px;padding:5px 12px;font-size:.9rem;font-weight:900;display:inline-block}.qa-text{font:700 1.12rem/1.4 var(--font-display);margin:10px 0 0}.remember{background:var(--primary-soft);animation:screenIn .5s var(--spring) 80ms both;border-radius:20px;margin-bottom:12px;padding:14px 16px;font-size:.98rem;line-height:1.45}.remember .lbl,.breakdown .lbl,.drill .lbl{letter-spacing:.08em;text-transform:uppercase;color:var(--primary);margin-bottom:6px;font-size:.72rem;font-weight:900;display:block}.breakdown{background:var(--surface);border:1px solid var(--line);animation:screenIn .5s var(--spring) .16s both;border-radius:20px;margin-bottom:12px;padding:14px 14px 10px}.chunks{flex-wrap:wrap;gap:8px;display:flex}.chunk{text-align:left;border:1px solid var(--line);background:var(--surface-2);cursor:pointer;color:var(--ink);max-width:100%;animation:chunkIn .5s var(--spring) var(--d) both;transition:transform .2s var(--spring);border-radius:14px;flex-direction:column;align-items:flex-start;gap:3px;padding:9px 11px;display:flex}.chunk:active{transform:scale(.96)}.chunk.on{box-shadow:0 0 0 3px var(--primary-2)}.chunk .c-en{color:var(--ink-2);font-size:.84rem}.chunk.key{color:#1e1b4b;background:#fef9c3;border-color:#facc15}.chunk .c-tag{color:#b45309;letter-spacing:.02em;font-size:.7rem;font-weight:900}@keyframes chunkIn{0%{opacity:0;transform:translateY(10px)scale(.94)}}.full-en{color:var(--ink-2);margin:10px 2px 0;font-size:.9rem}.drill{margin-top:18px}.drill-card{background:var(--surface);border:1px solid var(--line);border-radius:18px;margin-bottom:8px;padding:12px 14px;transition:border-color .25s,background .25s}.drill-card .d-it{font:650 .98rem/1.4 var(--font-display);margin:0 0 8px}.d-btns{grid-template-columns:1fr 1fr;gap:8px;display:grid}.d-btns button{border:1px solid var(--line);background:var(--surface-2);cursor:pointer;letter-spacing:.04em;min-height:40px;transition:transform .15s var(--spring);border-radius:12px;font-weight:900}.d-btns button:active{transform:scale(.95)}.d-btns button.right{color:#fff;background:#16a34a;border-color:#0000}.d-btns button.picked:not(.right){color:#fff;background:#dc2626;border-color:#0000}.d-btns button:disabled{cursor:default}.d-res{animation:popIn .3s var(--spring);margin:8px 0 0;font-size:.88rem}.drill-card.ok{border-color:#86efac}.drill-card.no{border-color:#fca5a5}details.more{background:var(--surface);border:1px solid var(--line);border-radius:18px;margin-top:14px;padding:4px 14px}details.more summary{cursor:pointer;color:var(--ink-2);padding:10px 0;font-weight:750}details.more .exp{margin:4px 0 12px}.intro-card{text-align:left}.tips{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.tips li{background:var(--surface-2);border-radius:14px;padding:10px 12px;font-size:.93rem}.done{text-align:center}.done .giulia{width:170px;margin:-6px auto 0}.score-ring{width:140px;height:140px;margin:6px auto 8px;position:relative}.score-ring svg{width:140px;height:140px;transform:rotate(-90deg)}.score-ring circle.v{transition:stroke-dashoffset 1.2s cubic-bezier(.3,1.1,.4,1)}.score-ring span{font:900 2rem var(--font-display);place-items:center;display:grid;position:absolute;inset:0}.stack>*+*{margin-top:12px}.group{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-sm);overflow:hidden}.setting{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.setting:last-child{border-bottom:0}.setting .desc{color:var(--ink-2);font-size:.84rem}.switch{flex:none;width:52px;height:32px;position:relative}.switch input{opacity:0;cursor:pointer;z-index:1;width:100%;height:100%;margin:0;position:absolute}.switch span{background:var(--line);border-radius:99px;transition:background .2s;position:absolute;inset:0}.switch span:after{content:"";width:26px;height:26px;transition:transform .3s var(--spring);background:#fff;border-radius:50%;position:absolute;top:3px;left:3px;box-shadow:0 2px 6px #00000040}.switch input:checked+span:after{transform:translate(20px)}select.sel{border:1px solid var(--line);background:var(--surface-2);min-height:40px;font:inherit;color:var(--ink);border-radius:12px;padding:0 10px}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));color:#fff;opacity:0;pointer-events:none;transition:opacity .25s, transform .35s var(--spring);z-index:80;background:#0f172a;border-radius:14px;max-width:calc(100% - 32px);padding:12px 18px;font-weight:600;position:fixed;transform:translate(-50%,30px)}.toast.show{opacity:1;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}:root[data-motion=reduce] *,:root[data-motion=reduce] :before,:root[data-motion=reduce] :after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}@media (width>=720px){.stage{grid-template-columns:160px 1fr}.stage .giulia{width:170px}.q-it{font-size:1.4rem}.hero{grid-template-columns:1fr 200px;padding:28px}.hero .giulia{width:210px}.hero h1{font-size:2.2rem}.learn-wrap{max-width:760px;margin:0 auto}}#root{min-height:100dvh}.qswipe{cursor:grab}.qswipe:active{cursor:grabbing}.q-img{pointer-events:none;-webkit-user-select:none;user-select:none}.q-en{overflow:hidden}.teacher>div:first-child{width:86px}.hero>div:nth-child(2){align-self:end}.stage .g-hit{width:124px}@media (width>=720px){.stage .g-hit{width:170px}}.done>div:first-child .giulia{width:170px;margin:-6px auto 0}.score-ring{margin:6px auto 8px}.board-stack{position:relative}.board-stack.is3d .board2d{visibility:hidden}.scene3d{background:#bcd9ee;position:absolute;inset:0;overflow:hidden}.scene3d.loading{color:#1e1b4b;place-items:center;font-weight:800;display:grid}.scene3d canvas{touch-action:pan-y}.shake3d{animation:.5s shake}.stamp3d{color:#fff;font:900 2.2rem/1 var(--font-display);letter-spacing:.04em;pointer-events:none;opacity:0;border:5px solid #fff;border-radius:22px;align-items:center;gap:10px;padding:12px 26px;display:flex;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)scale(2.6)rotate(-18deg);box-shadow:0 18px 40px -10px #00000080}.stamp3d span{font-size:1.8rem}.stamp3d.ok{background:#16a34a}.stamp3d.no{background:#dc2626}.landed .stamp3d{opacity:1;transition:transform .45s cubic-bezier(.2,1.6,.4,1),opacity .15s;transform:translate(-50%,-50%)scale(1)rotate(-8deg)}.landed .stamp3d.ok{transform:translate(-50%,-50%)scale(1)rotate(0)}.flash3d{pointer-events:none;opacity:0;position:absolute;inset:0}.flash3d.ok{background:#22c55e}.flash3d.no{background:#ef4444}.landed .flash3d{animation:.7s ease-out flash3d}@keyframes flash3d{0%{opacity:.5}to{opacity:0}}.m3d{color:#fff;pointer-events:none;border:3px solid #fff;border-radius:50%;place-items:center;width:34px;height:34px;font-size:18px;font-weight:900;transition:transform .5s cubic-bezier(.34,1.9,.5,1);display:grid;transform:scale(0);box-shadow:0 6px 14px #00000059}.m3d.on{transform:scale(1)}.m3d.no{background:#ef4444}.m3d.ok{background:#16a34a}.q3d{color:#fff;pointer-events:none;background:#ef4444;border:2.5px solid #fff;border-radius:50%;place-items:center;width:26px;height:26px;font-weight:900;display:grid}.c3d{color:#0f172a;font:800 12px var(--font);white-space:nowrap;opacity:0;pointer-events:none;background:#fff;border-radius:999px;padding:6px 12px;transition:opacity .25s,transform .45s cubic-bezier(.34,1.8,.5,1);transform:scale(.6);box-shadow:0 6px 14px #0000004d}.c3d.on{opacity:1;transform:scale(1)}.c3d.red{color:#fff;background:#ef4444}.c3d.green{color:#fff;background:#16a34a}.hz3d{pointer-events:none;background:#facc15;border:4px solid #fff;border-radius:50%;place-items:center;width:54px;height:54px;font-size:30px;transition:transform .55s cubic-bezier(.34,1.9,.5,1);display:grid;transform:scale(0);box-shadow:0 10px 24px #00000059}.hz3d.on{animation:1.2s ease-in-out .6s infinite hzPulse;transform:scale(1)}@keyframes hzPulse{50%{box-shadow:0 0 0 10px #facc1559,0 10px 24px #00000059}}.tag3d{color:#fff;font:800 11px var(--font);white-space:nowrap;pointer-events:none;background:#0f172a;border-radius:999px;padding:4px 10px;box-shadow:0 6px 14px #0000004d}.tag3d.lbl{opacity:0;background:#0f172ad1;transition:opacity .3s,transform .5s cubic-bezier(.34,1.8,.5,1);transform:translateY(6px)scale(.8)}.tag3d.lbl.on{opacity:1;transform:none}.tag3d.lbl{white-space:normal;text-align:center;border-radius:12px;width:max-content;max-width:min(29vw,170px);line-height:1.25}.tag3d.big{color:#1e1b4b;background:#facc15;padding:8px 16px;font-size:15px}.you3d{color:#fff;font:900 10px var(--font);pointer-events:none;letter-spacing:.05em;background:#2563eb;border:2px solid #fff;border-radius:999px;padding:3px 9px}.stack3d{pointer-events:none;gap:8px;width:min(78vw,300px);display:grid}.card3d{color:#1e1b4b;font:750 14px/1.3 var(--font);opacity:0;background:#fffffff2;border-radius:16px;align-items:center;gap:10px;padding:10px 14px;transition:opacity .4s,transform .65s cubic-bezier(.22,1.5,.36,1);display:flex;transform:translateY(18px)scale(.9)rotateX(30deg);box-shadow:0 14px 30px -10px #00000080}.card3d.on{opacity:1;transform:none}.card3d .ic{font-size:22px}.pill3d{color:#1e1b4b;font:900 12px var(--font);letter-spacing:.12em;opacity:0;background:#facc15;border-radius:999px;justify-self:start;padding:6px 14px;transition:opacity .4s}.pill3d.on{opacity:1}.orb3d{opacity:0;pointer-events:none;font-size:34px;transition:opacity .3s}.orb3d.on{opacity:1}.stamp3d.small{padding:8px 18px;font-size:1.6rem;top:auto;bottom:6%;transform:translate(-50%)scale(2)rotate(-18deg)}.landed .stamp3d.small{transform:translate(-50%)scale(.85)rotate(-6deg)}.scene3d.studio{background:#1e1b4b}.label-layer{pointer-events:none;position:absolute;inset:0;overflow:hidden}.lab3d{will-change:transform;position:absolute;top:0;left:0}.scene3d>.stack3d{z-index:2;position:absolute;bottom:14%;left:50%;transform:translate(-50%)}.scene3d>.stack3d.figure{bottom:6%}.scene3d>.stack3d.rulecard{bottom:10%}.stack3d.rule{transform:none}.fig-inset{z-index:3;cursor:zoom-in;transform-origin:0 0;background:#fff;border:0;border-radius:12px;gap:2px;width:27%;max-width:130px;padding:5px 5px 3px;transition:width .35s cubic-bezier(.22,1.2,.36,1),max-width .35s;animation:.6s cubic-bezier(.34,1.6,.5,1) both insetIn;display:grid;position:absolute;top:10px;left:10px;box-shadow:0 10px 24px -8px #0000008c}.fig-inset img{pointer-events:none;border-radius:8px;width:100%;display:block}.fig-inset span{font:800 10px var(--font);color:#1e1b4b;letter-spacing:.06em;text-transform:uppercase;text-align:center}.fig-inset.big{cursor:zoom-out;width:calc(100% - 20px);max-width:420px}@keyframes insetIn{0%{opacity:0;transform:scale(.4)rotate(-6deg)}}.scene3d.studio .stamp3d.small{transform-origin:100% 0;inset:5% 5% auto auto;transform:scale(2)rotate(-18deg)}.landed.scene3d.studio .stamp3d.small,.scene3d.studio.landed .stamp3d.small{transform:scale(.75)rotate(-6deg)}.scene3d:not(.studio)>.stack3d{gap:5px;width:min(74vw,280px);bottom:3%}.scene3d:not(.studio) .card3d{background:#ffffffe6;border-radius:12px;padding:6px 12px;font-size:12.5px}.scene3d:not(.studio)>.stack3d.rulecard{gap:4px}.scene3d:not(.studio)>.stack3d.rulecard .card3d{gap:8px;padding:5px 10px;font-size:12px}.scene3d:not(.studio)>.stack3d.rulecard .card3d .ic{font-size:16px}.scene3d:not(.studio)>.stack3d.rulecard .pill3d{padding:4px 10px;font-size:10px}:root{--bg:#f6f4ef;--bg-2:#efece5;--surface:#fff;--surface-2:#f3f1ec;--ink:#15171c;--ink-2:#5f6371;--ink-3:#8b8f9c;--line:#e6e2d9;--line-2:#d9d4c8;--primary:#2f3fb8;--primary-2:#4553d1;--primary-soft:#eceefb;--primary-ink:#1f2a80;--accent:#f2b200;--accent-soft:#fff4cf;--ok:#12804a;--ok-2:#16a05c;--ok-soft:#e4f4ea;--no:#c42f3a;--no-2:#db3b47;--no-soft:#fbe7e8;--warn:#9a5b00;--warn-soft:#fbf1dc;--hero-1:#121733;--hero-2:#26307a;--shadow-sm:0 1px 2px #15171c0d;--shadow:0 1px 2px #15171c0a, 0 6px 20px -8px #15171c1f;--shadow-lg:0 2px 6px #15171c0d, 0 24px 48px -18px #12173359;--r:20px;--font:"Inter Variable", "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, Roboto, sans-serif;--font-display:"Fraunces Variable", "Iowan Old Style", Georgia, serif;--font-ui:"Inter Variable", "Segoe UI", system-ui, sans-serif;--ease:cubic-bezier(.22, 1, .36, 1)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0e1015;--bg-2:#12151c;--surface:#171a22;--surface-2:#1e222c;--ink:#eceef3;--ink-2:#a2a7b6;--ink-3:#6f7484;--line:#262a35;--line-2:#313644;--primary:#8f9bff;--primary-2:#a9b2ff;--primary-soft:#1d2140;--primary-ink:#c7cdff;--accent:#f5bf2a;--accent-soft:#2e2610;--ok:#3ccf82;--ok-2:#2fb873;--ok-soft:#12271c;--no:#ff6b74;--no-2:#e5484f;--no-soft:#2c1517;--warn:#f3b34a;--warn-soft:#2b2312;--shadow-sm:0 1px 2px #00000059;--shadow:0 1px 2px #0006, 0 10px 28px -12px #000000b3;--shadow-lg:0 24px 50px -20px #000c}}:root[data-theme=dark]{--bg:#0e1015;--bg-2:#12151c;--surface:#171a22;--surface-2:#1e222c;--ink:#eceef3;--ink-2:#a2a7b6;--ink-3:#6f7484;--line:#262a35;--line-2:#313644;--primary:#8f9bff;--primary-2:#a9b2ff;--primary-soft:#1d2140;--primary-ink:#c7cdff;--accent:#f5bf2a;--accent-soft:#2e2610;--ok:#3ccf82;--ok-2:#2fb873;--ok-soft:#12271c;--no:#ff6b74;--no-2:#e5484f;--no-soft:#2c1517;--warn:#f3b34a;--warn-soft:#2b2312;--shadow-sm:0 1px 2px #00000059;--shadow:0 1px 2px #0006, 0 10px 28px -12px #000000b3;--shadow-lg:0 24px 50px -20px #000c}body{font:400 16px/1.55 var(--font);letter-spacing:-.006em;background:var(--bg);font-feature-settings:"cv11", "ss01";text-rendering:optimizelegibility}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.015em;font-variation-settings:"opsz" 72, "SOFT" 50;font-weight:600}h1{font-size:1.95rem;line-height:1.1}h2{font-size:1.35rem}h3{font-size:1.08rem}::selection{background:var(--accent-soft);color:var(--ink)}:focus-visible{outline:2px solid var(--primary);outline-offset:3px}main{padding-top:4px}.screen{animation:screenIn .5s var(--ease) both}.topbar{padding-top:calc(10px + env(safe-area-inset-top));background:color-mix(in srgb, var(--bg) 78%, transparent);border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent);padding-bottom:10px}.brand-mark{width:34px;height:34px;font:600 1.15rem var(--font-display);background:var(--hero-1);color:var(--accent);border-radius:10px;box-shadow:inset 0 0 0 1px #ffffff14,0 4px 10px -4px #12173399}:root[data-theme=dark] .brand-mark{background:#232a5c}.brand-name{font:600 1.12rem var(--font-display);letter-spacing:-.01em}.brand-name em{color:var(--ink-2);font-style:italic;font-weight:400}.icon-btn{border:1px solid var(--line);width:40px;height:40px;color:var(--ink-2);transition:background .2s, color .2s, transform .15s var(--ease);background:0 0;border-radius:12px}.icon-btn:hover{background:var(--surface);color:var(--ink)}.streak{background:var(--accent-soft);color:var(--warn);font:650 .85rem var(--font-ui)}.card{border-radius:var(--r);box-shadow:var(--shadow-sm);border-color:var(--line);padding:18px}.btn{min-height:50px;font:600 .98rem var(--font-ui);letter-spacing:-.005em;border-color:var(--line);box-shadow:var(--shadow-sm);transition:transform .15s var(--ease), background .2s, box-shadow .2s, border-color .2s;border-radius:14px}.btn:hover{border-color:var(--line-2)}.btn.primary{background:var(--primary);color:#fff;box-shadow:0 1px 0 #ffffff26 inset, 0 8px 18px -10px color-mix(in srgb, var(--primary) 80%, transparent)}:root[data-theme=dark] .btn.primary{color:#0e1015}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .btn.primary{color:#0e1015}}.btn.primary:hover{background:var(--primary-2)}.btn.yellow{background:var(--accent);color:#1a1505;box-shadow:inset 0 1px #ffffff59,0 8px 18px -10px #aa7800b3}.btn.ghost{box-shadow:none;color:var(--ink-2);border-color:#0000}.btn.ghost:hover{color:var(--ink);background:color-mix(in srgb, var(--surface) 60%, transparent)}.btn.small{border-radius:11px;min-height:38px;font-size:.88rem}.chip{background:var(--surface-2);border:1px solid var(--line);font:550 .82rem var(--font-ui)}.bar{background:color-mix(in srgb, var(--line) 80%, transparent);height:6px}.bar>i{background:var(--ok)}.muted{color:var(--ink-2)}.hero{background:radial-gradient(90% 120% at 100% 0%, #f2b20029, transparent 55%), radial-gradient(80% 90% at 0% 100%, #4553d159, transparent 60%), linear-gradient(160deg, var(--hero-2), var(--hero-1) 70%);box-shadow:var(--shadow-lg);border-radius:26px;grid-template-columns:1fr 112px;margin:8px 0 26px;padding:22px 18px 18px}.hero:before{background:0 0;border:1px solid #ffffff14;width:230px;height:230px;inset:auto -70px -90px auto}.hero:after{background:0 0;border:1px solid #f2b2002e;width:150px;height:150px;inset:auto -30px -50px auto}.hero h1{letter-spacing:-.02em;white-space:normal;font-size:1.85rem;font-weight:500}.hero h1 .wave{font-family:var(--font);display:inline-block}.hero p{color:#e2e6ffc7;font-size:.95rem;line-height:1.5}.hero .eyebrow{font:650 .7rem var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);z-index:1;margin-bottom:8px;display:inline-block;position:relative}.hero-stats{gap:6px}.stat{color:#e2e6ffb3;font:500 .7rem var(--font-ui);letter-spacing:.02em;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:12px;padding:7px 11px}.stat b{font:600 1.1rem var(--font-display);color:#fff;margin-bottom:1px}.hero-cta{border-radius:15px;justify-content:space-between;min-height:54px;padding:0 18px;font-size:1rem}.hero-cta .arr{background:#1a15051a;border-radius:50%;place-items:center;width:30px;height:30px;display:grid}.hero .giulia{width:132px}.overview{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-sm);border-radius:18px;grid-template-columns:auto 1fr;align-items:center;gap:14px;margin:-10px 0 26px;padding:14px 16px;display:grid}.overview .big-ring{width:54px;height:54px;position:relative}.overview .big-ring svg{width:54px;height:54px;transform:rotate(-90deg)}.overview .big-ring span{font:600 .82rem var(--font-ui);place-items:center;display:grid;position:absolute;inset:0}.overview b{font:600 1rem var(--font-display);display:block}.overview .small{color:var(--ink-2)}.section-title{margin:6px 2px 12px}.section-title h2{font-size:1.4rem}.section-title .muted{font:500 .8rem var(--font-ui);color:var(--ink-3)}.chapters{gap:10px}.chapter{box-shadow:var(--shadow-sm);transition:transform .25s var(--ease), box-shadow .25s, border-color .25s;border-radius:18px;grid-template-columns:46px 1fr auto;gap:14px;padding:14px 16px 16px 14px;position:relative;overflow:hidden}.chapter.ready:hover{box-shadow:var(--shadow);border-color:var(--line-2);transform:translateY(-2px)}.chapter .ico{background:var(--primary-soft);width:46px;height:46px;color:var(--primary-ink);font:600 1.25rem var(--font-display);font-variant-numeric:lining-nums;border-radius:13px}.chapter .t{font:600 1rem/1.3 var(--font-ui);letter-spacing:-.01em}.chapter .it{font:italic 400 .8rem var(--font-ui);color:var(--ink-3);margin-top:3px}.chapter .meta{font:500 .76rem var(--font-ui);color:var(--ink-2);letter-spacing:.01em;margin-top:6px;display:block}.chapter .meta b{color:var(--no);font-weight:600}.chapter .pct{font:600 .95rem var(--font-display);color:var(--ink);text-align:right;min-width:40px}.chapter .pct small{font:500 .65rem var(--font-ui);color:var(--ink-3);letter-spacing:.06em;text-transform:uppercase;display:block}.chapter .line{background:color-mix(in srgb, var(--line) 70%, transparent);height:3px;position:absolute;bottom:0;left:0;right:0}.chapter .line i{background:linear-gradient(90deg, var(--primary), var(--ok-2));height:100%;transition:width .8s var(--ease);border-radius:0 3px 3px 0;display:block}details.soon-list{border-top:1px solid var(--line);margin-top:22px;padding-top:4px}details.soon-list summary{cursor:pointer;font:600 1rem var(--font-display);color:var(--ink);justify-content:space-between;align-items:center;padding:12px 2px;list-style:none;display:flex}details.soon-list summary::-webkit-details-marker{display:none}details.soon-list summary .muted{font:500 .78rem var(--font-ui);color:var(--ink-3)}details.soon-list summary .chev{transition:transform .3s var(--ease);color:var(--ink-3)}details.soon-list[open] summary .chev{transform:rotate(180deg)}.soon-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:2px;padding-bottom:6px;display:grid}.soon-row{border-bottom:1px dashed var(--line);color:var(--ink-2);font:500 .88rem/1.3 var(--font-ui);grid-template-columns:28px 1fr;align-items:baseline;gap:10px;padding:9px 4px;display:grid}.soon-row .n{font:600 .85rem var(--font-display);color:var(--ink-3);text-align:right}.footnote{font:400 .76rem var(--font-ui);color:var(--ink-3);margin-top:18px}.notice{border:1px solid color-mix(in srgb, var(--warn) 20%, transparent);border-radius:16px;font-size:.88rem}.intro-card{padding:20px}.intro-card>p:first-child{color:var(--ink);font-size:1.02rem;line-height:1.6}.tips{gap:0;margin:6px 0 4px}.tips li{border-top:1px solid var(--line);color:var(--ink-2);background:0 0;border-radius:0;padding:11px 2px;font-size:.92rem;line-height:1.45}.tips li:first-child{border-top:0}.learn-top{gap:8px;margin:2px 0 14px}.learn-top .bar{height:6px}.learn-top .bar>i{background:var(--primary)}.learn-top .icon-btn{border-radius:11px;width:36px;height:36px;font-size:1.15rem}.count{font:600 .76rem var(--font-ui);border-color:var(--line);color:var(--ink-2);background:0 0}.stage{border:1px solid var(--line);background:radial-gradient(120% 140% at 0 100%,#e9ebfb,#0000 60%),linear-gradient(170deg,#f7f5ff,#f1eefb);border-bottom:0;border-radius:22px 22px 0 0;padding:12px 14px 0}:root[data-theme=dark] .stage{background:radial-gradient(120% 140% at 0 100%,#1d2252,#0000 60%),linear-gradient(170deg,#191c2e,#15172a)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .stage{background:radial-gradient(120% 140% at 0 100%,#1d2252,#0000 60%),linear-gradient(170deg,#191c2e,#15172a)}}.quiz-stage{background:radial-gradient(120% 140% at 0 100%,#fff1c7,#0000 60%),linear-gradient(170deg,#fffaf0,#fdf3dd)!important}:root[data-theme=dark] .quiz-stage{background:linear-gradient(170deg,#2a2312,#1d1a12)!important}.gsay{font:550 .9rem/1.35 var(--font-ui);color:#1b1e2b;border-radius:16px 16px 16px 4px;box-shadow:0 1px 2px #15171c0f,0 8px 18px -10px #15171c40}.rbtn{height:36px;font:600 .8rem var(--font-ui);color:#1b1e2b;background:#ffffffe6;border:1px solid #15171c0f;box-shadow:0 1px 2px #15171c14}.rbtn[aria-pressed=true]{background:var(--hero-1);color:#fff}.qcard{box-shadow:var(--shadow);border-radius:0 0 22px 22px;padding:18px 18px 14px}.qlabel{font:650 .66rem var(--font-ui);letter-spacing:.14em;color:var(--primary-ink);background:var(--primary-soft);padding:5px 10px}.q-it{font:500 1.28rem/1.5 var(--font-ui);letter-spacing:-.012em;color:var(--ink)}.q-it .w.kw{box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--accent) 90%, transparent)}.q-img{box-shadow:none;border-radius:14px}.q-en{border-left:3px solid var(--primary);background:var(--surface-2);border-radius:12px;font-size:.95rem}.linkbtn{font:600 .88rem var(--font-ui)}.word-pop{background:#15171c;border:1px solid #ffffff14;border-radius:14px;font-size:.92rem}.answers{background:linear-gradient(to bottom, transparent, var(--bg) 30%)}.answers .two{gap:10px}.ans{min-height:64px;font:650 1.2rem var(--font-ui);letter-spacing:.08em;transition:transform .15s var(--ease), box-shadow .2s, filter .2s;border-radius:16px}.ans .ic{background:#ffffff2e;width:28px;height:28px;font-size:.9rem}.ans small{font:500 .68rem var(--font-ui);letter-spacing:.04em;opacity:.75;text-transform:lowercase}.ans.vero{background:var(--ok-2);box-shadow:inset 0 1px #ffffff38,0 10px 22px -12px #12804abf}.ans.falso{background:var(--no-2);box-shadow:inset 0 1px #ffffff38,0 10px 22px -12px #c42f3abf}.ans:hover{filter:brightness(1.04)}.ans:active{transform:scale(.97);box-shadow:inset 0 1px #fff3}.ans.picked{outline:2px solid var(--ink);outline-offset:3px}.ans.correct{outline:2px solid var(--ok-2)}.dunno-row{gap:8px;margin-top:10px}.dunno{min-height:48px;font:600 .84rem var(--font-ui);color:var(--ink);box-shadow:var(--shadow-sm);border-radius:13px}.dunno small{font:500 .72rem var(--font-ui);color:var(--ink-3);opacity:1}.swipe-hint{font:500 .72rem var(--font-ui);color:var(--ink-3);letter-spacing:.02em}.sheet{border-top:1px solid var(--line);border-radius:24px 24px 0 0;box-shadow:0 -16px 40px -24px #15171c59}.sheet.ok{background:color-mix(in srgb, var(--ok-soft) 92%, var(--surface))}.sheet.no{background:color-mix(in srgb, var(--no-soft) 92%, var(--surface))}.sheet .big{width:42px;height:42px;font-size:1.2rem}.sheet h3{font-size:1.3rem}.sheet .btn.go{background:var(--ok)}.sheet.no .btn.go{background:var(--ink);color:var(--bg)}.ex-head{border-bottom:1px solid color-mix(in srgb, var(--line) 60%, transparent)}.verdict{font:600 .9rem var(--font-ui)}.seg{border-radius:11px}.seg button{font:600 .8rem var(--font-ui);border-radius:8px}.board{box-shadow:var(--shadow-lg);border-radius:22px}.say{font:550 1rem/1.45 var(--font-ui);box-shadow:var(--shadow-sm);border-radius:18px 18px 18px 4px}.quick{box-shadow:var(--shadow);border-radius:20px}.quick.v{background:linear-gradient(150deg,#17a05d,#0f7a45)}.quick.f{background:linear-gradient(150deg,#dd4450,#b02a35)}.qa-pill{font:650 .78rem var(--font-ui);letter-spacing:.12em;background:#ffffff2e}.qa-text{font:500 1.15rem/1.45 var(--font-display)}.remember{border:1px solid color-mix(in srgb, var(--primary) 18%, transparent);border-radius:18px}.remember .lbl,.breakdown .lbl,.drill .lbl,.ex-translation .lbl,.exp .lbl,.steps-box .lbl{font:650 .66rem var(--font-ui);letter-spacing:.14em}.breakdown,.exp .blk,.drill-card,details.more,.ex-translation{box-shadow:none;border-radius:18px}.chunk{border-radius:12px}.chunk .c-it{font:600 .98rem/1.3 var(--font-ui)}.chunk.key{background:var(--accent-soft);border-color:color-mix(in srgb, var(--accent) 60%, transparent);color:var(--ink)}.chunk.key .c-en{color:var(--ink-2)}.steps button{font:500 .9rem var(--font-ui);border-radius:14px}.steps li.active button{box-shadow:var(--shadow-sm);border-color:color-mix(in srgb, var(--primary) 25%, transparent);transform:none}.ex-foot .btn{min-height:54px}.done h2,.done h1{font-weight:500}.score-ring span{font:600 2rem var(--font-display)}.qres{font:500 .86rem var(--font-ui);border-radius:14px}.group{box-shadow:var(--shadow-sm);border-radius:18px}.setting{padding:15px 16px}.setting b,.setting strong{font-weight:600}.switch span{background:var(--line-2)}.switch input:checked+span{background:var(--ok-2)}select.sel{font:500 .9rem var(--font-ui);border-radius:10px}.toast{font:550 .9rem var(--font-ui);background:#15171c;border:1px solid #ffffff14;border-radius:13px}@media (width>=720px){h1{font-size:2.3rem}.hero{grid-template-columns:1fr 210px;padding:32px}.hero h1{font-size:2.5rem}.q-it{font-size:1.42rem}.overview{margin-top:-12px}}.hero-stats{flex-wrap:nowrap}.stat{min-width:0;padding:6px 9px}@media (width<=380px){.hero{grid-template-columns:1fr 96px}.hero .giulia{width:116px}.hero h1{font-size:1.7rem}}.brand-name,.streak,.stat,.count{white-space:nowrap}.section-title{flex-wrap:wrap;row-gap:2px}@media (width<=350px){.brand-name em{display:none}.hero{grid-template-columns:1fr 84px;padding:18px 14px 14px}.hero .giulia{width:104px}.hero h1{font-size:1.55rem}.stat{padding:5px 7px}.stat b{font-size:.98rem}.chapter{grid-template-columns:40px 1fr auto;gap:11px;padding:12px 12px 14px}.chapter .ico{width:40px;height:40px;font-size:1.1rem}.overview{grid-template-columns:auto 1fr;gap:12px}}.chapter.ready{padding:0;display:block}.chapter.ready:hover{transform:none}.ch-main{color:var(--ink);border-radius:18px 18px 0 0;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;padding:14px 16px 10px 14px;text-decoration:none;display:grid}.ch-main:hover .t{color:var(--primary-ink)}.ch-main>span:nth-child(2){min-width:0}.ch-actions{grid-template-columns:1fr 1fr;gap:8px;padding:0 14px 16px 74px;display:grid}.ch-btn{border:1px solid var(--line);background:var(--surface-2);min-height:36px;color:var(--ink);font:600 .84rem var(--font-ui);transition:background .2s, border-color .2s, transform .15s var(--ease);border-radius:10px;justify-content:center;align-items:center;gap:6px;text-decoration:none;display:inline-flex}.ch-btn:hover{border-color:var(--line-2);background:var(--surface)}.ch-btn:active{transform:scale(.96)}.ch-btn.quiz{background:var(--hero-1);color:#fff;border-color:#0000}.ch-btn.quiz span{color:var(--accent)}:root[data-theme=dark] .ch-btn.quiz{background:#262d63}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ch-btn.quiz{background:#262d63}}@media (width<=350px){.ch-main{grid-template-columns:40px 1fr auto;gap:11px;padding:12px 12px 8px}.ch-actions{padding:0 12px 14px}}.mock{color:var(--ink);background:linear-gradient(135deg, var(--accent-soft), color-mix(in srgb, var(--accent-soft) 40%, var(--surface)));border:1px solid color-mix(in srgb, var(--accent) 35%, var(--line));box-shadow:var(--shadow-sm);transition:transform .25s var(--ease), box-shadow .25s;border-radius:18px;grid-template-columns:46px 1fr auto;align-items:center;gap:14px;margin:0 0 26px;padding:16px;text-decoration:none;display:grid}.mock:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.mock-ico{background:var(--accent);color:#1a1505;border-radius:13px;place-items:center;width:46px;height:46px;font-size:1.3rem;display:grid}.mock-txt{min-width:0;display:grid}.mock-txt .eyebrow{font:650 .64rem var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--warn)}.mock-txt b{font:600 1.12rem var(--font-display)}.mock-txt>span:not(.eyebrow){font:450 .8rem/1.4 var(--font-ui);color:var(--ink-2)}.mock-last{margin-top:4px;font-weight:600!important}.mock-last.ok{color:var(--ok)!important}.mock-last.no{color:var(--no)!important}.mock .arr{background:var(--surface);border:1px solid var(--line);width:32px;height:32px;color:var(--ink-2);border-radius:50%;place-items:center;display:grid}.exam-hero{grid-template-columns:1fr 110px}.exam-hero h1{font-size:1.7rem}.rules{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.rules>div{background:var(--surface-2);border:1px solid var(--line);text-align:center;border-radius:14px;justify-items:center;gap:2px;padding:12px 6px;display:grid}.rules b{font:600 1.5rem/1.1 var(--font-display)}.rules span{font:500 .72rem var(--font-ui);color:var(--ink-2)}.exam-top{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;margin:2px 0 10px;display:grid}.exam-meta{line-height:1.2;display:grid}.exam-meta b{font:600 1rem var(--font-display)}.exam-meta span{font:500 .76rem var(--font-ui);color:var(--ink-2)}.exam-clock{font:600 1.05rem var(--font-ui);font-variant-numeric:tabular-nums;background:var(--surface);border:1px solid var(--line);border-radius:11px;padding:7px 12px}.exam-clock.low{color:#fff;background:var(--no-2);border-color:#0000;animation:1s ease-in-out infinite clockPulse}@keyframes clockPulse{50%{transform:scale(1.05)}}.exam-map{grid-template-columns:repeat(10,1fr);gap:5px;margin-bottom:12px;display:grid}.exam-map button{aspect-ratio:1;border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--ink-3);font:600 .7rem var(--font-ui);cursor:pointer;transition:background .2s, color .2s, transform .15s var(--ease);border-radius:8px;padding:0}.exam-map button.v,.exam-map button.f{background:var(--primary-soft);color:var(--primary-ink);border-color:#0000}.exam-map button.cur{outline:2px solid var(--primary);outline-offset:1px;color:var(--ink)}.exam-card{border-top:1px solid var(--line);border-radius:20px;min-height:210px}.exam-answers .ans.chosen{outline:2px solid var(--ink);outline-offset:3px}.exam-answers .ans.dim{filter:saturate(.35)opacity(.55)}.exam-nav{grid-template-columns:1fr 1.3fr 1fr;gap:8px;margin-top:10px;display:grid}.exam-nav .btn{min-height:42px}.exam-score{color:#fff;box-shadow:var(--shadow-lg);border-radius:24px;grid-template-columns:110px 1fr;align-items:end;gap:6px;margin:6px 0 14px;padding:18px 16px 14px;display:grid;position:relative;overflow:hidden}.exam-score.pass{background:radial-gradient(90% 120% at 100% 0,#f2b20040,#0000 60%),linear-gradient(160deg,#17a05d,#0c5e36)}.exam-score.fail{background:radial-gradient(90% 120% at 100% 0,#ffffff1f,#0000 60%),linear-gradient(160deg,#30364f,#161a2b)}.exam-score .giulia{width:124px;margin:-8px 0 -14px -8px}.exam-score-ring{place-self:center}.exam-score .score-ring span{color:#fff}.exam-score .score-ring circle:first-child{stroke:#ffffff2e}.exam-badge{font:700 .68rem var(--font-ui);letter-spacing:.16em;background:#ffffff29;border:1px solid #ffffff40;border-radius:999px;padding:5px 10px;position:absolute;top:14px;right:14px}.exam-list{max-height:none}.qres.ok{opacity:.8}.list-lbl{font:650 .66rem var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--no);margin:4px 2px 2px}.exam-good{margin-top:2px}.exam-good .exam-list{padding-bottom:10px}
