@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/77d9a04c69f7b11b-s.p.1uklb5el4zgvl.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/d81b50f8e1aba043-s.05i4gb4p0piv4.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:400;font-display:swap;src:url(../media/dd018b41519c2d93-s.p.2g-0we2o5_ngd.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b4fb5dfe9580f890-s.p.1zvg0ggiaivzo.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1f6c95fdd7b08cc8-s.0jaqhc1tb-5xm.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:500;font-display:swap;src:url(../media/7f1976624c2b6255-s.p.1hvvd1t-trplq.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ac706d910f2bd04-s.p.25pbmqxk8u2s7.woff2)format("woff2");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:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/3c61b7007b1b2764-s.0n_ln9vqskgts.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-weight:600;font-display:swap;src:url(../media/25d341d5876d8ede-s.p.2wu4yy186g04j.woff2)format("woff2");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:Be Vietnam Pro Fallback;src:local(Arial);ascent-override:90.61%;descent-override:24.01%;line-gap-override:0.0%;size-adjust:110.36%}.ivFqTG_className{font-family:Be Vietnam Pro,Be Vietnam Pro Fallback;font-style:normal}.ivFqTG_variable{--font-body:"Be Vietnam Pro", "Be Vietnam Pro Fallback"}
@font-face{font-family:Shantell Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/834b3feb31d0c99d-s.29nqs3e9kzb-o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Shantell Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/f47371190c4acaf5-s.3rj_uk2glgjff.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Shantell Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/736401f1d8b60830-s.p.2ufy1242z40ho.woff2)format("woff2");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:Shantell Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/545716629199e902-s.1056tter-w5jb.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Shantell Sans;font-style:normal;font-weight:500;font-display:swap;src:url(../media/c8e66d87fd42908b-s.p.2705ug_9bxc-8.woff2)format("woff2");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:Shantell Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/834b3feb31d0c99d-s.29nqs3e9kzb-o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Shantell Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/f47371190c4acaf5-s.3rj_uk2glgjff.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Shantell Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/736401f1d8b60830-s.p.2ufy1242z40ho.woff2)format("woff2");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:Shantell Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/545716629199e902-s.1056tter-w5jb.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Shantell Sans;font-style:normal;font-weight:600;font-display:swap;src:url(../media/c8e66d87fd42908b-s.p.2705ug_9bxc-8.woff2)format("woff2");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:Shantell Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/834b3feb31d0c99d-s.29nqs3e9kzb-o.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Shantell Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/f47371190c4acaf5-s.3rj_uk2glgjff.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Shantell Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/736401f1d8b60830-s.p.2ufy1242z40ho.woff2)format("woff2");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:Shantell Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/545716629199e902-s.1056tter-w5jb.woff2)format("woff2");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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Shantell Sans;font-style:normal;font-weight:700;font-display:swap;src:url(../media/c8e66d87fd42908b-s.p.2705ug_9bxc-8.woff2)format("woff2");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:Shantell Sans Fallback;src:local(Arial);ascent-override:90.04%;descent-override:28.25%;line-gap-override:0.0%;size-adjust:113.28%}.yOoDqG_className{font-family:Shantell Sans,Shantell Sans Fallback;font-style:normal}.yOoDqG_variable{--font-hand-face:"Shantell Sans", "Shantell Sans Fallback"}
*,:before,:after{box-sizing:border-box;border:0 solid;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;line-height:1.5}body{min-height:100dvh}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}ol,ul{list-style:none}img,svg{max-width:100%;display:block}img{height:auto}button,input,select,textarea{font:inherit;color:inherit;letter-spacing:inherit;background:0 0}button,summary,label,select{cursor:pointer}table{border-collapse:collapse}h1,h2,h3{font-size:inherit;font-weight:inherit}
:root{--bg:#f1eeea;--bg-dot:#1b1a1917;--glow:#f4a3a061;--surface:#fff;--fg:#1b1a19;--fg-soft:#5d5955;--border:#e6e1db;--accent:#f4a3a0;--accent-soft:#fde8e6;--accent-ink:#b5383a;--paper:#fffdf9;--rule:#5685cc57;--margin-rule:#e25c5cb3;--cover:#fbfaf8;--cover-red:#f6b3b0;--button:#1b1a19;--button-fg:#fff;--shadow:#281c1857;--line:32px;--spring:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.16, 1, .3, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-sans:var(--font-body), Arial, Helvetica, sans-serif;--font-hand:var(--font-hand-face), "Comic Sans MS", cursive;--font-exam:"Times New Roman", Tinos, "Liberation Serif", serif}:root[data-theme=dark]{--bg:#161413;--bg-dot:#ece8e312;--glow:#e88f8c29;--surface:#201d1c;--fg:#ece8e3;--fg-soft:#aaa49d;--border:#332f2c;--accent:#e39390;--accent-soft:#3a2423;--accent-ink:#f1aaa6;--paper:#262321;--rule:#96b4e433;--margin-rule:#e88f8c80;--cover:#d9d5cf;--cover-red:#d98f8c;--button:#ece8e3;--button-fg:#161413;--shadow:#0000008c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background-color:var(--bg);background-image:radial-gradient(ellipse 70% 55% at 12% -8%, var(--glow), transparent 70%), radial-gradient(var(--bg-dot) 1px, transparent 1.5px);color:var(--fg);font-family:var(--font-sans);background-size:auto,22px 22px;background-attachment:fixed}::selection{background:var(--accent);color:#1b1a19}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:3px;border-radius:6px}.shell{flex-direction:column;min-height:100dvh;display:flex}.topbar{justify-content:space-between;align-items:center;gap:16px;width:min(1120px,100%);margin:0 auto;padding:20px 24px;display:flex}.wordmark{font-family:var(--font-hand);font-size:26px;font-weight:700;line-height:1}.wordmark b{color:var(--accent-ink);font-weight:700}.topbar-user{color:var(--fg-soft);align-items:center;gap:16px;font-size:15px;display:flex}.stage{flex:1;place-items:center;padding:16px 24px 64px;display:grid;overflow-x:clip}.content{width:min(1120px,100%);margin:0 auto;padding:16px 24px 96px}.hand{font-family:var(--font-hand)}.title{font-family:var(--font-hand);font-size:46px;font-weight:600;line-height:calc(var(--line) * 2);text-wrap:balance}.heading{font-family:var(--font-hand);font-size:30px;font-weight:600;line-height:var(--line)}.hl{background:linear-gradient(100deg, var(--accent-soft), var(--accent) 22%, var(--accent) 80%, var(--accent-soft));-webkit-box-decoration-break:clone;box-decoration-break:clone;color:#1b1a19;border-radius:.3em .12em .34em .1em;padding:0 .18em}.note{color:var(--accent-ink);font-family:var(--font-hand);font-size:23px;font-weight:500;line-height:var(--line);transform-origin:0;display:inline-block;transform:rotate(-1.5deg)}.note-sign{text-underline-offset:5px;padding-left:8ch;text-decoration:underline;text-decoration-thickness:1.5px;display:block}.soft{color:var(--fg-soft)}.btn{background:var(--button);height:48px;box-shadow:0 8px 18px -8px var(--shadow);color:var(--button-fg);transition:transform .28s var(--spring), box-shadow .28s var(--ease-out);border-radius:999px;align-items:center;gap:10px;padding:0 26px;font-size:16px;font-weight:600;display:inline-flex}.btn:hover:not(:disabled){box-shadow:0 14px 24px -10px var(--shadow);transform:translateY(-2px)scale(1.02)}.btn:active:not(:disabled){transform:translateY(1px)scale(.98)}.btn:disabled{background:var(--border);box-shadow:none;color:var(--fg-soft);cursor:not-allowed}.link{color:var(--fg-soft);text-underline-offset:4px;text-decoration:underline}.link:hover{color:var(--accent-ink)}.notebook{perspective:2600px;width:min(1080px,100%);filter:drop-shadow(0 26px 30px var(--shadow));grid-template-columns:1fr 1fr;display:grid;position:relative}.page{min-height:calc(var(--line) * 19);padding:calc(var(--line) * 2) 44px calc(var(--line) * 2) 84px;background-color:var(--paper);background-image:linear-gradient(var(--rule) 1px, transparent 1px);background-size:100% var(--line);font-size:17px;line-height:var(--line);background-position:0 -1px;position:relative}.page:before{background:var(--margin-rule);content:"";width:2px;position:absolute;top:0;bottom:0;left:62px}.page p{max-width:42ch}.page-left{box-shadow:inset -30px 0 30px -30px var(--shadow);border-radius:10px 0 0 10px}.page-right{box-shadow:inset 30px 0 30px -30px var(--shadow);border-radius:0 10px 10px 0;grid-column:2}.leaf{z-index:1;transform-origin:0;width:50%;transform-style:preserve-3d;position:absolute;top:0;bottom:0;left:50%;transform:rotateY(-180deg)}.leaf-front,.leaf-back{backface-visibility:hidden;position:absolute;inset:0}.leaf-back{transform:rotateY(180deg)}@media (prefers-reduced-motion:no-preference) and (min-width:860px){.leaf{animation:leaf-open 1.25s var(--ease-out) .45s both}.notebook{animation:notebook-centre 1.25s var(--ease-out) .45s both}}@keyframes leaf-open{0%{transform:rotateY(0)}to{transform:rotateY(-180deg)}}@keyframes notebook-centre{0%{transform:translate(-25%)}to{transform:translate(0)}}.cover{background-color:var(--cover);background-image:url(/marble.svg);background-size:300px;border-radius:0 10px 10px 0;place-items:center;display:grid;position:relative;overflow:hidden}.cover[data-tone=red]{background-color:var(--cover-red)}.cover:before{content:"";background:linear-gradient(90deg,#0d0c0c,#2a2826 55%,#151414);width:9%;min-width:14px;position:absolute;top:0;bottom:0;left:0}.cover:after{content:"";pointer-events:none;background:linear-gradient(118deg,#ffffff6b,#0000 34% 62%,#0003);position:absolute;inset:0}.label{z-index:1;outline-offset:-6px;color:#1b1a19;text-align:center;background:#fffdf9;border:2px solid #1b1a19;border-radius:4px;outline:1px solid #1b1a19;width:66%;margin-left:9%;padding:12px 16px 14px;position:relative}.label-kicker{letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:600;display:block}.label-title{font-family:var(--font-hand);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:4px;font-size:22px;font-weight:600;line-height:1.2;display:-webkit-box;overflow:hidden}.label-rule{border-top:1px solid #1b1a19;margin-top:8px;padding-top:4px;font-size:12px;display:block}.cover-big .label{width:60%;padding:22px 26px 24px}.cover-big .label-title{font-size:34px}.cover-big .label-kicker{font-size:13px}.cover-big .label-rule{font-size:15px}.contents dt{margin-top:var(--line);font-family:var(--font-hand);font-size:24px;font-weight:600;line-height:var(--line)}.contents dt:first-child{margin-top:0}.contents dd{max-width:40ch;color:var(--fg-soft)}.parts{columns:1}.parts li{justify-content:space-between;gap:16px;max-width:40ch;display:flex}.parts li span:last-child{color:var(--fg-soft);font-variant-numeric:tabular-nums;white-space:nowrap}.greeting{margin:24px 0 8px}.strip{border:1px solid var(--border);background:linear-gradient(120deg, var(--surface) 55%, var(--accent-soft));border-radius:18px;flex-wrap:wrap;align-items:center;gap:12px 28px;margin:24px 0 8px;padding:18px 24px;display:flex}.strip strong{font-family:var(--font-hand);font-size:26px;font-weight:700}.shelf-title{align-items:baseline;gap:14px;margin:56px 0 24px;display:flex}.shelf{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:40px 32px;display:grid}.book{text-align:left;display:block}.book-body{aspect-ratio:3/4;perspective:1100px;filter:drop-shadow(0 12px 14px var(--shadow));transition:transform .4s var(--spring);display:block;position:relative}.book-page{background-color:var(--paper);background-image:linear-gradient(var(--rule) 1px, transparent 1px);color:var(--accent-ink);font-family:var(--font-hand);background-size:100% 18px;border-radius:0 8px 8px 0;place-items:center end;padding-right:14px;font-size:19px;font-weight:600;display:grid;position:absolute;inset:0}.book-cover{transform-origin:0;transition:transform .55s var(--spring);background-size:200px;border-radius:0 8px 8px 0;position:absolute;inset:0}.book:hover .book-body,.book:focus-visible .book-body{transform:translateY(-6px)}.book:hover .book-cover,.book:focus-visible .book-cover{transform:rotateY(-34deg)}.book-meta{margin-top:14px;font-size:15px;font-weight:500;line-height:1.35;display:block}.book-meta small{color:var(--fg-soft);margin-top:2px;font-size:13px;font-weight:400;display:block}@media (prefers-reduced-motion:reduce){.book-body,.book-cover,.btn{transition:none}}@media (max-width:859px){.stage{place-items:start center}.notebook{display:block}.leaf{width:auto;transform:none}.leaf-back{position:static;transform:none}.page{min-height:0}.page-left{box-shadow:none}.page-right{border-top:2px dashed var(--rule);box-shadow:none;border-radius:0 0 10px 10px}}
.btn-small{height:38px;padding:0 20px;font-size:15px}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.exam{min-height:100dvh}.exam-bar{z-index:10;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding:12px 24px;display:grid;position:sticky;top:0}.exam-title{color:var(--fg-soft);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.exam-clock{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);font-variant-numeric:tabular-nums;transition:background-color .6s var(--ease-out), color .6s var(--ease-out);border-radius:999px;padding:4px 18px;font-size:22px;font-weight:600}.exam-clock[data-low=true]{background:var(--accent);box-shadow:none;color:#1b1a19}.exam-bar-actions{justify-content:flex-end;align-items:center;gap:14px;display:flex}.exam-confirm{font-size:15px;font-weight:500}.exam-clock-wrap{flex-direction:column;align-items:center;gap:2px;display:flex}.exam-mode{color:var(--fg-soft);font-size:12px}.exam-clock[data-paused=true]{color:var(--fg-soft)}.exam-paused{background:var(--paper);width:min(560px,100% - 32px);box-shadow:0 1px 0 var(--border), 0 18px 34px -22px var(--shadow);border-radius:16px;justify-items:start;gap:16px;margin:12dvh auto 0;padding:36px 40px;line-height:1.6;display:grid}.exam-paused-actions{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.answer-sheet-save{margin-top:14px;font-size:14px}.btn-quiet{background:var(--surface);box-shadow:inset 0 0 0 1.5px var(--fg);color:var(--fg)}.btn-quiet:hover:not(:disabled){box-shadow:inset 0 0 0 1.5px var(--fg), 0 14px 24px -10px var(--shadow)}.start-modes{margin-top:var(--line);flex-wrap:wrap;gap:12px;display:flex}.exam-error{background:var(--accent-soft);width:min(1180px,100% - 48px);color:var(--accent-ink);border-radius:12px;margin:16px auto 0;padding:12px 18px}.exam-layout{grid-template-columns:minmax(0,1fr) 232px;align-items:start;gap:28px;width:min(1180px,100%);margin:0 auto;padding:28px 24px 96px;display:grid}.sheet-paper{background:var(--surface);box-shadow:0 1px 0 var(--border), 0 18px 34px -22px var(--shadow);border-radius:6px;padding:48px 56px 64px;font-family:Times New Roman,Tinos,Liberation Serif,serif;font-size:19px;line-height:1.55}.part+.part{margin-top:44px}.part-instruction{margin-bottom:18px;font-style:italic;font-weight:700}.part[data-split=true] .part-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;display:grid}.passage{text-align:justify;scrollbar-color:var(--border) transparent;scrollbar-width:thin;align-self:start;max-height:calc(100dvh - 120px);padding-right:12px;position:sticky;top:84px;overflow-y:auto}.question{scroll-margin-top:96px}.question+.question{margin-top:26px}.question-stem{margin-bottom:8px;padding:0}.question-n{font-weight:700}.sign{border:2px solid var(--fg);text-align:center;justify-items:center;gap:10px;max-width:420px;margin:10px 0 12px;padding:16px 20px;display:grid}.sign img{max-height:180px}.options{gap:4px;display:grid}.option{cursor:pointer;transition:background-color .2s var(--ease-out);border-radius:10px;grid-template-columns:30px 1fr;align-items:start;gap:12px;padding:7px 10px;display:grid}.option input{opacity:0;pointer-events:none;position:absolute}.option-letter{border:1.5px solid var(--fg);width:30px;height:30px;font-family:var(--font-sans);transition:transform .3s var(--spring), background-color .2s var(--ease-out), color .2s var(--ease-out);border-radius:50%;place-items:center;font-size:14px;font-weight:600;display:grid}label.option:hover{background:var(--accent-soft)}label.option:active .option-letter{transform:scale(.88)}.option[data-on=true] .option-letter{background:var(--fg);color:var(--surface);transform:scale(1.08)}.option:has(input:focus-visible){outline:2px solid var(--accent-ink);outline-offset:2px}.flag{color:var(--fg-soft);cursor:pointer;font-family:var(--font-sans);align-items:center;gap:8px;margin-top:8px;font-size:14px;display:inline-flex}.flag input{width:16px;height:16px;accent-color:var(--accent-ink)}.answer-sheet{border:1px solid var(--border);background:var(--surface);border-radius:16px;padding:18px;position:sticky;top:84px}.answer-sheet-head{font-family:var(--font-hand);justify-content:space-between;margin-bottom:14px;font-size:20px;font-weight:600;display:flex}.answer-sheet-head span{color:var(--fg-soft);font-variant-numeric:tabular-nums}.answer-sheet ol,.result-sheet{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.bubble{aspect-ratio:1;border:1.5px solid var(--border);color:var(--fg-soft);font-variant-numeric:tabular-nums;transition:transform .3s var(--spring), background-color .2s var(--ease-out), border-color .2s var(--ease-out);border-radius:50%;place-items:center;font-size:13px;font-weight:600;display:grid;position:relative}.bubble:hover{border-color:var(--fg);transform:scale(1.1)}.bubble[data-done=true]{border-color:var(--fg);background:var(--fg);color:var(--surface)}.bubble[data-flag=true]:after{border:2px solid var(--surface);background:var(--accent-ink);content:"";border-radius:50%;width:11px;height:11px;position:absolute;top:-3px;right:-3px}.score{font-family:var(--font-hand);margin:8px 0 12px;font-size:64px;font-weight:700;line-height:1.15}.result-sheet{grid-template-columns:repeat(auto-fill,40px);margin:28px 0 36px}.bubble[data-result=right]{border-color:var(--fg);color:var(--fg)}.bubble[data-result=wrong]{border-color:var(--accent-ink);background:var(--accent);color:#1b1a19}.result-paper .question{border-radius:12px;padding:14px 16px}.result-paper .question[data-result=wrong]{background:var(--accent-soft)}.mark{font-family:var(--font-sans);white-space:nowrap;border-radius:999px;margin-left:10px;padding:2px 10px;font-size:13px;font-weight:600;box-shadow:inset 0 0 0 1px}.question[data-result=wrong] .mark{color:var(--accent-ink)}.result-paper .option{cursor:default}.option[data-key=true] .option-letter{background:var(--fg);color:var(--surface)}.option[data-chosen=true]:not([data-key=true]) .option-letter{border-color:var(--accent-ink);color:var(--accent-ink);text-decoration:line-through}.tag{color:var(--fg-soft);font-family:var(--font-sans);font-size:13px;font-style:normal;font-weight:600}.passage-fold{margin-bottom:14px}.passage-fold summary{width:fit-content;color:var(--fg-soft);cursor:pointer;font-family:var(--font-sans);text-underline-offset:4px;font-size:15px;text-decoration:underline}.passage-fold .passage{max-height:none;margin-top:12px;position:static}.table-wrap{border:1px solid var(--border);background:var(--surface);border-radius:16px;overflow-x:auto}.people{border-collapse:collapse;width:100%;font-size:15px}.people th,.people td{text-align:left;white-space:nowrap;padding:14px 18px}.people th{color:var(--fg-soft);font-size:13px;font-weight:600}.people tbody tr{border-top:1px solid var(--border)}.people .code{font-variant-numeric:tabular-nums;letter-spacing:.04em}.status{box-shadow:inset 0 0 0 1px var(--border);border-radius:999px;padding:3px 12px;font-size:13px;font-weight:600}.status[data-status=pending]{background:var(--accent);box-shadow:none;color:#1b1a19}.status[data-status=blocked]{color:var(--fg-soft);text-decoration:line-through}.row-actions{justify-content:flex-end;align-items:center;gap:16px;display:flex}@media (max-width:899px){.exam-bar{grid-template-columns:1fr auto;padding:10px 16px}.exam-title{display:none}.exam-bar-actions{flex-wrap:wrap;gap:6px 14px}.exam-mode,.answer-sheet-save{display:none}.exam-paused{padding:28px 22px}.exam-layout{grid-template-columns:minmax(0,1fr);padding:16px 12px 120px}.sheet-paper{padding:24px 18px 40px;font-size:18px}.part[data-split=true] .part-body{grid-template-columns:minmax(0,1fr);gap:20px}.passage{border:1px solid var(--border);border-radius:10px;max-height:40dvh;padding:12px;position:static}.answer-sheet{z-index:10;border-width:1px 0 0;border-radius:0;padding:10px 12px;position:fixed;inset:auto 0 0}.answer-sheet-head{display:none}.answer-sheet ol{gap:8px;display:flex;overflow-x:auto}.answer-sheet .bubble{flex:none;width:38px}.score{font-size:48px}}@media (prefers-reduced-motion:reduce){.option-letter,.bubble,.exam-clock{transition:none}}
.app{grid-template-columns:248px minmax(0,1fr);min-height:100dvh;display:grid}.sidebar{border-right:1px solid var(--border);background:linear-gradient(180deg, color-mix(in srgb, var(--surface) 82%, transparent), color-mix(in srgb, var(--surface) 55%, transparent));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-direction:column;gap:28px;height:100dvh;padding:24px 16px 20px;display:flex;position:sticky;top:0}.sidebar .wordmark{padding:0 12px}.nav{gap:4px;display:grid}.nav-link{color:var(--fg-soft);transition:background-color .18s var(--ease-out), color .18s var(--ease-out);border-radius:12px;align-items:center;gap:12px;padding:11px 12px;font-size:15px;font-weight:500;display:flex;position:relative}.nav-link svg{transition:transform .3s var(--spring);flex:none}.nav-link:hover{background:color-mix(in srgb, var(--accent-soft) 70%, transparent);color:var(--fg)}.nav-link:hover svg{transform:scale(1.12)rotate(-4deg)}.nav-link[aria-current=page]{background:var(--accent-soft);color:var(--fg);font-weight:600}.nav-link[aria-current=page] svg{color:var(--accent-ink)}.sidebar-foot{border-top:1px solid var(--border);gap:6px;margin-top:auto;padding:16px 12px 0;font-size:15px;display:grid}.sidebar-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.app-main{min-width:0}.app-main .content{width:min(1040px,100%);padding-top:24px}.app-main .stage{min-height:100dvh}.upgrade{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;margin-top:36px;display:grid}.upgrade-card{border:1px solid var(--border);background:var(--surface);border-radius:20px;padding:28px 30px 32px}.upgrade-contact{background:linear-gradient(150deg, var(--accent-soft), var(--surface) 70%);box-shadow:0 18px 34px -24px var(--shadow);border-color:#0000}.upgrade-phone{font-family:var(--font-hand);font-variant-numeric:tabular-nums;margin:20px 0 18px;font-size:40px;font-weight:700;line-height:1.1}@media (prefers-reduced-motion:no-preference){.hl{animation:hl-draw .7s var(--ease-out) .25s both;background-repeat:no-repeat}.leaf .hl,.page .hl{animation-delay:1.5s}.note{animation:write-in .9s var(--ease-out) .45s both}.page .note{animation-delay:1.9s}.rise{animation:rise-in .5s var(--ease-out) both;animation-delay:calc(min(var(--i,0), 14) * 40ms)}.bubble[data-done=true],.bubble[data-flag=true]:after{animation:pop .38s var(--spring)}.score .hl{animation-duration:1s}.exam-clock[data-low=true]{animation:pop .5s var(--spring)}}@keyframes hl-draw{0%{background-size:0% 100%}to{background-size:100% 100%}}@keyframes write-in{0%{clip-path:inset(-10% 100% -10% 0)}to{clip-path:inset(-10% -2% -10% 0)}}@keyframes rise-in{0%{opacity:0;transform:translateY(14px)rotate(-1.5deg)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(.7)}to{transform:scale(1)}}@media (max-width:899px){.app{grid-template-columns:minmax(0,1fr)}.sidebar{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;align-items:center;gap:12px;height:auto;padding:10px 12px;position:static;overflow-x:auto}.sidebar .wordmark{padding:0 4px;font-size:22px}.nav{display:flex}.nav-link{white-space:nowrap;padding:8px 10px}.sidebar-foot{white-space:nowrap;border:0;align-items:center;gap:12px;margin:0 0 0 auto;padding:0;display:flex}.sidebar-name{display:none}.app-main .stage{min-height:0}.upgrade{grid-template-columns:minmax(0,1fr)}}.install{border:1px solid var(--border);background:linear-gradient(150deg, var(--accent-soft), var(--surface) 70%);transition:opacity .28s var(--ease-out), transform .28s var(--ease-out);border-radius:20px;grid-template-columns:56px minmax(0,1fr);gap:16px;margin:24px 0 8px;padding:18px 20px;display:grid}.install[data-leaving=true]{opacity:0;transform:translateY(-6px)scale(.98)}.install-icon{width:56px;height:56px;box-shadow:0 10px 14px -8px var(--shadow);border-radius:13px;transform:rotate(-4deg)}.install-title{font-family:var(--font-hand);font-size:23px;font-weight:600;line-height:1.25}.install-lead{color:var(--fg-soft);margin-top:4px;font-size:15px;line-height:1.55}.install-actions{flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:14px;display:flex}.install-actions .link{min-height:38px;font-size:15px}.install-steps{counter-reset:step;gap:12px;margin-top:18px;display:grid}.install-steps li{counter-increment:step;padding-left:34px;font-size:15px;line-height:1.6;position:relative}.install-steps li:before{color:var(--accent-ink);content:counter(step);font-family:var(--font-hand);font-size:22px;font-weight:700;position:absolute;top:-3px;left:0}.install-steps b{font-weight:600}.install-glyph{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);color:var(--fg);vertical-align:-5px;border-radius:6px;width:24px;height:24px;margin:0 2px;padding:2px;display:inline-block}.install-foot{margin-top:14px;font-size:14px;line-height:1.55}@media (prefers-reduced-motion:no-preference){.install{animation:rise-in .5s var(--ease-out) both}.install[data-open=true] .install-steps li{animation:write-in .45s var(--ease-out) both}.install[data-open=true] .install-steps li:nth-child(2){animation-delay:.1s}.install[data-open=true] .install-steps li:nth-child(3){animation-delay:.2s}}@media (max-width:859px){.install{padding:16px;display:block}.install:after{clear:both;content:"";display:block}.install-icon{float:left;border-radius:11px;width:48px;height:48px;margin:2px 14px 6px 0}.install .btn{width:auto}.install-steps{clear:both}}
.field-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;display:grid}.field-card{border:1px solid var(--border);background:var(--surface);height:100%;transition:transform .3s var(--spring), box-shadow .25s var(--ease-out), border-color .2s var(--ease-out);border-radius:16px;gap:6px;padding:18px 20px 16px;display:grid}.field-card:hover{border-color:var(--accent);box-shadow:0 14px 24px -18px var(--shadow);transform:translateY(-3px)}.field-name{font-family:var(--font-hand);font-size:21px;font-weight:600;line-height:1.25}.field-frame{color:var(--fg-soft);font-size:14px;line-height:1.45}.field-state{width:fit-content;box-shadow:inset 0 0 0 1px var(--border);color:var(--fg-soft);border-radius:999px;margin-top:6px;padding:2px 10px;font-size:12px;font-weight:600}.field-state[data-ready=true]{background:var(--accent-soft);box-shadow:none;color:var(--accent-ink)}.field-card[data-ready=false]{background:color-mix(in srgb, var(--surface) 55%, transparent);border-style:dashed}.field-card[data-ready=false] .field-name{color:var(--fg-soft)}.field-meter{font-variant-numeric:tabular-nums;gap:6px;margin-top:4px;font-size:13px;display:grid}.field-meter b{font-weight:600}.meter{background:var(--border);border-radius:999px;height:6px;display:block;overflow:hidden}.meter>span{border-radius:inherit;background:var(--fg);height:100%;display:block}.meter[data-low=true]>span{background:var(--accent)}.domain-jump{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.domain-chip{background:var(--surface);min-height:36px;box-shadow:inset 0 0 0 1px var(--border);transition:box-shadow .2s var(--ease-out), transform .28s var(--spring);border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.domain-chip span{color:var(--fg-soft);font-weight:500}.domain-chip:hover{box-shadow:inset 0 0 0 1px var(--accent);transform:translateY(-2px)}.domain{scroll-margin-top:72px}.lesson{max-width:780px}.lesson .title{margin:8px 0 4px}.lesson-intro{margin-top:24px;font-size:19px;line-height:1.6}.lesson-h{margin:44px 0 16px}.draft-flag{background:var(--accent-soft);width:fit-content;color:var(--accent-ink);border-radius:10px;margin-top:20px;padding:6px 14px;font-size:14px;font-weight:600}.rules{counter-reset:rule;gap:12px;display:grid}.rules li{border:1px solid var(--border);background:var(--surface);counter-increment:rule;border-radius:14px;gap:4px;padding:16px 20px 16px 58px;line-height:1.55;display:grid;position:relative}.rules li:before{color:var(--accent-ink);content:counter(rule);font-family:var(--font-hand);font-size:26px;font-weight:700;line-height:1.1;position:absolute;top:14px;left:18px}.worked{background:var(--surface);box-shadow:0 1px 0 var(--border), 0 14px 26px -20px var(--shadow);border-radius:6px;margin-bottom:14px;padding:22px 24px}.worked-prompt{font-family:Times New Roman,Tinos,Liberation Serif,serif;font-size:19px;line-height:1.5}.worked-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;margin:14px 0 16px;font-family:Times New Roman,Tinos,Liberation Serif,serif;font-size:18px;display:grid}.worked-option{width:100%;font:inherit;text-align:left;align-items:center}.worked-option:hover:not(:disabled){background:var(--accent-soft)}.worked-option:active:not(:disabled) .option-letter{transform:scale(.88)}.worked-option:disabled{cursor:default}.worked-foot{flex-wrap:wrap;align-items:center;gap:8px 18px;display:flex}.worked-verdict{font-family:var(--font-hand);font-size:20px;font-weight:600}.worked-verdict[data-right=false]{color:var(--accent-ink)}.worked-reveal,.explain summary{width:fit-content;box-shadow:inset 0 0 0 1px var(--fg);cursor:pointer;font-family:var(--font-sans);transition:background-color .2s var(--ease-out), color .2s var(--ease-out);border-radius:999px;padding:6px 16px;font-size:14px;font-weight:600;list-style:none}.explain summary::-webkit-details-marker{display:none}.worked-reveal:hover,.explain summary:hover,.explain[open] summary{background:var(--fg);color:var(--surface)}.steps{gap:8px;margin-top:16px;padding-left:22px;line-height:1.55;list-style:decimal;display:grid}.worked-answer{color:var(--accent-ink);margin-top:12px}.trap{background:linear-gradient(120deg, var(--accent-soft), var(--surface));border-radius:14px;padding:16px 20px;line-height:1.6}.explain{margin-top:12px}.explain p{background:var(--surface);box-shadow:inset 0 0 0 1px var(--border);font-family:var(--font-sans);border-radius:12px;margin-top:12px;padding:14px 18px;font-size:16px;line-height:1.6}.weakest{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0 8px;display:grid}.weak-card{background:linear-gradient(150deg, var(--accent-soft), var(--surface) 75%);height:100%;box-shadow:inset 0 0 0 1px var(--border);transition:transform .3s var(--spring), box-shadow .25s var(--ease-out);border-radius:18px;gap:4px;padding:20px 22px;display:grid}.weak-card:hover{box-shadow:inset 0 0 0 1px var(--accent), 0 16px 26px -20px var(--shadow);transform:translateY(-3px)}.weak-pct{font-family:var(--font-hand);font-variant-numeric:tabular-nums;font-size:44px;font-weight:700;line-height:1.05}.weak-name{font-weight:600;line-height:1.35}@media (prefers-reduced-motion:no-preference){.worked .steps li{animation:write-in .5s var(--ease-out) both}.worked .steps li:nth-child(2){animation-delay:.12s}.worked .steps li:nth-child(3){animation-delay:.24s}.worked .steps li:nth-child(n+4){animation-delay:.36s}.worked-option[data-chosen=true] .option-letter{animation:pop .35s var(--spring)}}@media (prefers-reduced-motion:reduce){.field-card,.weak-card{transition:none}}@media (max-width:899px){.weakest,.worked-options{grid-template-columns:minmax(0,1fr)}}
.lead{max-width:62ch}.crumb{margin-top:24px}.page-h{text-wrap:balance;align-items:baseline;gap:12px;margin:8px 0 16px;display:flex}.content-wide{width:min(1240px,100%)!important}.chapter-n{color:var(--accent-ink);font-family:var(--font-hand);font-variant-numeric:tabular-nums;font-size:22px;font-weight:700;line-height:1}.sidebar-subject{color:var(--fg-soft);margin-top:-16px;padding:0 12px;font-size:13px;line-height:1.45}.count-pill{background:var(--accent);border-radius:999px;place-items:center;min-width:22px;height:22px;padding:0 6px;font-size:12px;font-weight:600;display:inline-grid;color:#1b1a19!important}.domain-chip[aria-pressed=true]{background:var(--fg);box-shadow:none;color:var(--surface)}.dash-note{margin-top:56px}.label-title{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.book[aria-disabled=true]{cursor:default}.book[aria-disabled=true] .book-cover{filter:saturate(.7)}.practice-filters{flex-wrap:wrap;gap:8px;display:flex}.practice-layout{width:100%;padding:20px 0 64px}.practice-paper{padding:36px 44px 32px}.practice-nav{border-top:1px solid var(--border);font-family:var(--font-sans);justify-content:space-between;align-items:center;gap:12px;margin-top:32px;padding-top:20px;font-size:15px;display:flex}.practice-sheet ol{scrollbar-width:thin;max-height:calc(100dvh - 180px);padding:4px;overflow-y:auto}.practice-sheet .bubble{width:100%}.bubble[aria-current=true]{outline:2px solid var(--accent-ink);outline-offset:2px}.item-head{font-family:var(--font-sans);flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin-bottom:14px;font-size:15px;display:flex}.item-official{box-shadow:inset 0 0 0 1px var(--border);color:var(--fg-soft);border-radius:999px;margin-left:auto;padding:1px 10px;font-size:12px;font-weight:600}.item-official[data-official=true]{box-shadow:inset 0 0 0 1px var(--fg);color:var(--fg)}.item-context{background:var(--paper);box-shadow:inset 0 0 0 1px var(--border);color:var(--fg-soft);border-radius:10px;margin-bottom:14px;padding:12px 16px}.item-body{gap:10px;display:grid}.item-groups{gap:16px;margin-top:16px;display:grid}.item-group{min-width:0}.item-group legend{margin-bottom:6px}.options{margin-top:14px}.item-option{width:100%;font:inherit;text-align:left}.item-option:hover:not(:disabled){background:var(--accent-soft)}.item-option:active:not(:disabled) .option-letter{transform:scale(.88)}.item-option:disabled{cursor:default}.options-letters,.options-tf{flex-wrap:wrap;gap:8px 16px;display:flex}.options-letters .item-option,.options-tf .item-option{align-items:center;width:auto}.item-text{border:1px solid var(--border);background:var(--paper);width:100%;font-family:var(--font-sans);resize:vertical;border-radius:10px;margin-top:14px;padding:12px 14px;font-size:16px;line-height:1.55;display:block}.item-text:focus-visible,.field input:focus-visible,.ws-table input:focus-visible,.ws-table select:focus-visible{border-color:var(--accent-ink)}.fields{gap:10px;margin-top:16px;display:grid}.field{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 16px;display:grid}.field-input{align-items:center;gap:8px;display:inline-flex}.field input,.ws-table input,.ws-table select{border:1.5px solid var(--border);background:var(--surface);width:160px;height:40px;font-family:var(--font-sans);font-variant-numeric:tabular-nums;text-align:right;transition:border-color .2s var(--ease-out);border-radius:10px;padding:0 12px;font-size:16px}.ws-table select{text-align:left;width:100%}.field-unit{min-width:3ch;color:var(--fg-soft);font-family:var(--font-sans);font-size:14px}.field[data-ok=true] input,.ws-table tr[data-ok=true] input,.ws-table tr[data-ok=true] select{border-color:var(--fg)}.field[data-ok=false] input,.ws-table tr[data-ok=false] input,.ws-table tr[data-ok=false] select,.ws-journal[data-ok=false] input,.ws-journal[data-ok=false] select{border-color:var(--accent-ink);background:var(--accent-soft)}.field-key{color:var(--accent-ink);font-family:var(--font-sans);grid-column:1/-1;justify-self:end;font-size:14px;font-weight:600}.worksheet{gap:24px;margin-top:20px;display:grid}.ws-hint{font-family:var(--font-sans);font-size:14px}.ws-title{margin-bottom:8px;font-weight:700}.ws-table{width:100%;font-size:17px}.ws-table th,.ws-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:5px 8px;font-weight:400}.ws-table td{text-align:right;width:180px}.ws-table td .field-key{margin-top:2px;display:block}.ws-group th{padding-top:14px;font-style:italic;font-weight:700}.ws-journal thead th{color:var(--fg-soft);font-family:var(--font-sans);font-size:13px;font-weight:600}.ws-journal td:first-child{width:auto}.ws-journal input{width:100%}.item-foot{font-family:var(--font-sans);flex-wrap:wrap;align-items:center;gap:10px 20px;margin-top:22px;display:flex}.item-foot .flag{margin:0 0 0 auto}.self-rate{font-family:var(--font-sans);flex-wrap:wrap;align-items:center;gap:10px 14px;margin-top:16px;font-size:15px;display:flex}.reveal{gap:12px;margin-top:18px;display:grid}.reveal-box{background:var(--paper);box-shadow:inset 0 0 0 1px var(--border);font-family:var(--font-sans);border-radius:12px;gap:10px;padding:16px 20px;font-size:16px;line-height:1.6;display:grid}.reveal-h{font-family:var(--font-hand);font-size:19px;font-weight:600}.reveal-note{background:var(--accent-soft);color:var(--accent-ink);font-family:var(--font-sans);border-radius:10px;padding:10px 14px;font-size:15px}.blk-p{white-space:pre-line}.blk-h{font-weight:700}.blk-item{grid-template-columns:2.2em minmax(0,1fr);display:grid}.blk-item:not(:has(.blk-label)){grid-template-columns:minmax(0,1fr);padding-left:1.2em}.blk-label{font-weight:700}.blk-ref{margin-top:4px}.blk-figure{border-radius:4px;max-width:min(100%,640px);margin:6px 0}.blk-table-wrap{max-width:100%;overflow-x:auto}.blk-table{font-variant-numeric:tabular-nums;min-width:min(100%,420px);font-size:17px}.blk-table th,.blk-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:4px 12px 4px 0;font-weight:400}.blk-table thead th{font-weight:700}.blk-table td[data-num]{text-align:right;white-space:nowrap}.blk-table tr[data-total] th,.blk-table tr[data-total] td{border-top:1.5px solid var(--fg);font-weight:700}.scan{font-family:var(--font-sans);margin-top:14px}.scan summary{width:fit-content;color:var(--fg-soft);text-underline-offset:4px;font-size:14px;text-decoration:underline}.scan summary:hover{color:var(--accent-ink)}.scan img{border:1px solid var(--border);-webkit-user-select:none;user-select:none;border-radius:4px;margin-top:10px}.lesson-sub{margin:-6px 0 16px}.lesson-examples .worked{font-family:var(--font-exam);padding:22px 24px;font-size:19px;line-height:1.55}@media (max-width:899px){.practice-layout{padding:12px 0 120px}.practice-paper{padding:22px 16px 24px}.sidebar-subject{display:none}.practice-sheet{border-width:1px;border-radius:16px;margin-top:4px;padding:12px;position:static}.practice-sheet ol{max-height:none}.item-official{margin-left:0}.field{grid-template-columns:minmax(0,1fr)}.field input,.field-input{width:100%}.field-key{justify-self:start}.ws-table td{width:46%}.lesson-examples .worked{padding:18px 16px}}.login{align-content:start;justify-items:center;gap:40px;min-height:100dvh;padding:24px 16px 64px;display:grid}.login-top{justify-content:space-between;align-items:center;width:min(1040px,100%);display:flex}.login-card{background:var(--paper);width:min(560px,100%);box-shadow:0 1px 0 var(--border), 0 18px 34px -22px var(--shadow);border-radius:6px;gap:18px;margin-top:6vh;padding:36px 36px 40px;display:grid}.login-title{font-size:40px;line-height:1.25}.login-error{background:var(--accent-soft);color:var(--accent-ink);border-radius:10px;padding:10px 14px;font-size:15px}.login-form{justify-items:start;gap:10px;display:grid}.login-form input{border:1.5px solid var(--border);background:var(--surface);letter-spacing:.06em;text-transform:uppercase;border-radius:12px;width:100%;height:48px;padding:0 14px;font-size:18px}.login-form input:focus-visible{border-color:var(--accent-ink)}@media (max-width:599px){.login-card{padding:24px 20px 28px}.login-title{font-size:32px}}.coffee-ways{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;max-width:760px;margin-top:32px;display:grid}.coffee-card{border:1px solid var(--border);background:var(--surface);border-radius:16px;align-content:start;justify-items:start;gap:10px;padding:22px 24px 24px;display:grid}.coffee-qr{width:280px;max-width:100%;height:auto;box-shadow:0 1px 0 var(--border), 0 12px 22px -16px var(--shadow);background:#fff;border-radius:6px;margin:6px 0 2px;padding:10px}.coffee-note{margin-top:48px}.coffee-foot{margin-top:28px;font-size:15px}
.app-top{display:none}@media (max-width:859px){.stage{padding:4px 14px 40px}.notebook{filter:drop-shadow(0 16px 20px var(--shadow))}.leaf{perspective:1600px;position:relative;inset:auto}.leaf-front{z-index:2;backface-visibility:hidden;pointer-events:none;transform-origin:top;display:grid;position:absolute;inset:0;transform:rotateX(-180deg)}.leaf-front .cover{border-radius:10px 10px 0 0}.leaf-front .cover:before{background:linear-gradient(#0d0c0c,#2a2826 55%,#151414);width:auto;min-width:0;height:22px;bottom:auto;right:0}.leaf-front .label{width:72%;margin:0}.page{padding:28px 18px 48px 46px;font-size:16px}.page:before{left:32px}.page-left{border-radius:10px 10px 0 0}.title{font-size:31px;line-height:44px}.heading{font-size:25px}.contents dt{font-size:21px}.note{font-size:20px}.note-sign{padding-left:5ch}.btn{justify-content:center;width:100%}.row-actions .btn,.exam-bar .btn{width:auto}.app{padding-bottom:calc(68px + env(safe-area-inset-bottom));display:block}.app-top{z-index:20;background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky;top:0}.app-top .wordmark{font-size:22px}.app-top-actions{white-space:nowrap;align-items:center;gap:14px;font-size:14px;display:flex}.sidebar{z-index:20;height:auto;padding:6px 4px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, transparent);box-shadow:0 -10px 24px -18px var(--shadow);border-bottom:0;border-right:0;display:block;position:fixed;inset:auto 0 0;overflow:visible}.sidebar>.wordmark,.sidebar-foot{display:none}.nav{grid-auto-columns:1fr;grid-auto-flow:column;gap:0;display:grid}.nav li:nth-child(n+6){display:none}.nav-link{text-align:center;white-space:nowrap;border-radius:12px;flex-direction:column;gap:3px;padding:6px 2px;font-size:11px;line-height:1.2}.nav-link[aria-current=page]{background:0 0}.nav-link[aria-current=page] svg{background:var(--accent-soft);box-sizing:content-box;border-radius:999px;padding:3px 14px}.nav-link:hover{background:0 0}.app-main .content{padding:4px 16px 32px}.greeting{margin-top:8px}.strip{gap:4px 16px;padding:14px 18px}.shelf-title{flex-direction:column;gap:2px;margin:40px 0 16px}.shelf-title .soft{font-size:14px}.shelf{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.book-meta{font-size:14px}.label-title{font-size:17px}.table-wrap{background:0 0;border:0;overflow:visible}.people,.people tbody,.people tr,.people td{display:block}.people thead{display:none}.people tbody{gap:10px;display:grid}.people tbody tr{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-template-columns:1fr auto;gap:4px 12px;padding:14px 16px;display:grid}.people td{white-space:normal;padding:0}.people td:first-child{grid-column:1/-1;font-weight:600}.people td[data-label]:before{content:attr(data-label) ": ";color:var(--fg-soft);font-weight:400}.people td:last-child{grid-column:1/-1}.row-actions{justify-content:flex-start;margin-top:6px}.exam-bar{grid-template-columns:auto 1fr;padding:10px 12px}.exam-clock{padding:3px 14px;font-size:19px}.exam-bar-actions:has(.exam-confirm){flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;gap:8px 12px}.exam-confirm{flex-basis:100%;font-size:14px}.exam-layout{padding:10px 8px calc(84px + env(safe-area-inset-bottom))}.sheet-paper{padding:20px 14px 32px;font-size:17px}.part+.part{margin-top:32px}.option{padding:8px 6px}.answer-sheet{padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface) 94%, transparent);box-shadow:0 -10px 24px -18px var(--shadow)}.answer-sheet .bubble{width:36px}.score{font-size:44px}.result-sheet{grid-template-columns:repeat(auto-fill,36px);gap:7px;margin:20px 0 28px}.result-paper .question{padding:12px 8px}.lesson-intro{font-size:17px}.rules li{padding:14px 16px 14px 48px}.rules li:before{left:16px}.worked{padding:18px 16px}.weak-pct{font-size:36px}.upgrade-card{padding:22px 20px 24px}.upgrade-phone{font-size:34px}}@media (max-width:859px) and (prefers-reduced-motion:no-preference){.leaf-front{animation:lift-cover 1.1s var(--ease-out) .35s both}.notebook{animation:none}.leaf .hl,.page .hl{animation-delay:1.2s}.page .note{animation-delay:1.6s}}@media (max-width:859px) and (prefers-reduced-motion:reduce){.leaf-front{display:none}}@keyframes lift-cover{0%{transform:rotateX(0)}to{transform:rotateX(-180deg)}}

