@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-ext-wght-normal-D4X5GqEv.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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-cyrillic-wght-normal-CY6AOgYE.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-vietnamese-wght-normal-U01xdrZh.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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-ext-wght-normal-CXYtwYOx.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:Nunito Variable;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-latin-wght-normal-BzFMHfZw.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{--sky:#eaf6ff;--paper:#f1f8fd;--card:#fff;--page-tint:#fffdf3;--ink:#17324d;--ink-soft:#4a6379;--line:#cfe3f2;--line-strong:#9cc7e6;--brand:#0b6fa8;--brand-deep:#095a8a;--brand-mid:#12a5d8;--brand-soft:#e1f3fc;--brand-ink:#fff;--sun:#ffc629;--sun-deep:#d99a00;--sun-soft:#fff4cc;--gold:#ffb400;--read:#6c4cf1;--understand:#1a62d0;--feel:#c81e74;--deliver:#b34d00;--create:#137a39;--good:#166534;--good-bg:#e3f7e8;--warn:#8a4b08;--warn-bg:#fff1d6;--danger:#c0271a;--focus:#b3540a;--radius:22px;--shadow:0 4px 0 var(--line);--header-h:62px;--ornament:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='84' height='60' fill='none' stroke='%23fff' stroke-opacity='.07' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M30 38C30 22 18 14 12 18c-5 3-3 11 3 9 4-1 3-6 0-5M30 38C30 22 42 14 48 18c5 3 3 11-3 9-4-1-3-6 0-5'/%3E%3C/svg%3E");--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:radial-gradient(ellipse 22rem 7rem at 12% 9rem, #ffffffd9, transparent 70%) top / 100% 26rem no-repeat, radial-gradient(ellipse 18rem 6rem at 78% 6.5rem, #fffc, transparent 70%) top / 100% 26rem no-repeat, linear-gradient(#d3edff, var(--sky)) top / 100% 26rem no-repeat, var(--sky);color:var(--ink);margin:0;font-family:Nunito Variable,Segoe UI,system-ui,sans-serif;font-size:17px;line-height:1.5}h1,h2,h3{letter-spacing:-.01em;margin:0 0 .5rem;line-height:1.2}h1{font-size:clamp(1.5rem,2.4vw,2rem);font-weight:900}h2{font-size:1.25rem;font-weight:900}h3{font-size:1.05rem;font-weight:800}p{margin:0 0 .75rem}a{color:var(--brand)}.icon{flex:none;display:block}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.icon-tile{--tile:var(--brand-mid);width:var(--tile-size,44px);height:var(--tile-size,44px);color:#fff;background:linear-gradient(160deg, color-mix(in srgb, var(--tile) 72%, #fff), var(--tile));box-shadow:inset 0 2px 0 #ffffff73, 0 3px 0 color-mix(in srgb, var(--tile) 62%, #000);border-radius:30%;flex:none;place-items:center;display:grid}.icon-tile .icon{stroke-width:2.4px;width:56%;height:56%}.tile-violet{--tile:#7c5cff}.tile-blue{--tile:#2f86ff}.tile-pink{--tile:#f0479a}.tile-orange{--tile:#ff8a1f}.tile-green{--tile:#2fbf5b}.tile-teal{--tile:#14b8c4}.tile-red{--tile:#f0524a}.tile-navy{--tile:#4a6a8a}.tile-sun{--tile:#ffc629;color:var(--ink)}.icon-tile.stage{--tile:var(--stage-bright)}.stage-read{--stage:var(--read);--stage-bright:#8e75ff}.stage-understand{--stage:var(--understand);--stage-bright:#3f8cff}.stage-feel{--stage:var(--feel);--stage-bright:#f55aa5}.stage-deliver{--stage:var(--deliver);--stage-bright:#ff8a1f}.stage-create{--stage:var(--create);--stage-bright:#2fbf5b}.app-header{z-index:6;min-height:var(--header-h);color:var(--ink);background:linear-gradient(#45c6f3,#19b1e8);border-bottom:4px solid #0e8fcc;align-items:center;gap:.6rem;padding:.4rem clamp(.75rem,2vw,1.5rem);display:flex;position:sticky;top:0}.app-header .logo{color:var(--ink);white-space:nowrap;flex:none;align-items:center;gap:.55rem;font-size:1.15rem;font-weight:900;text-decoration:none;display:flex}.app-header .logo img{border-radius:12px;width:38px;height:38px;box-shadow:0 3px #003c6459}.app-header .spacer{flex:1}.app-header .who{color:var(--brand-deep);text-overflow:ellipsis;white-space:nowrap;background:#fff;border-radius:99px;min-width:0;padding:.2rem .75rem;font-size:.9rem;font-weight:900;overflow:hidden}.link-btn{color:var(--ink-soft);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:.3rem;min-height:40px;padding:.25rem .5rem;font-size:.9rem;font-weight:800;display:inline-flex}.link-btn:hover{background:var(--paper);color:var(--ink)}.app-header .link-btn{color:var(--brand-deep);background:#fff;flex:none;padding:.25rem .8rem;transition:transform 80ms,box-shadow 80ms;box-shadow:0 3px #003c6459}.app-header .link-btn:hover{color:var(--ink);background:#fff}.app-header .link-btn:active{transform:translateY(2px);box-shadow:0 1px #003c6459}.app-header :focus-visible{outline-color:var(--ink)}.demo-banner{background:var(--warn-bg);color:var(--warn);text-align:center;border-bottom:1px solid #f4dba6;padding:.3rem 1rem;font-size:.78rem;font-weight:700}.network-banner{background:var(--ink);color:#fff;text-align:center;padding:.35rem 1rem;font-size:.82rem;font-weight:700}main.page{width:100%;max-width:1760px;margin:0 auto;padding:1.1rem clamp(.85rem,2.4vw,2.2rem) 3rem;animation:.26s ease-out page-in}main.page.narrow{max-width:880px}.app-nav a{color:var(--ink);border-radius:16px;align-items:center;font-weight:800;text-decoration:none;display:flex}.app-nav .icon-tile{--tile-size:38px}@media (width<=899px){.nav-few{z-index:6;border-top:3px solid var(--line);padding:.3rem .3rem calc(.3rem + env(safe-area-inset-bottom));background:#fff;grid-auto-columns:1fr;grid-auto-flow:column;gap:.15rem;display:grid;position:fixed;bottom:0;left:0;right:0}.nav-few a{text-align:center;min-height:58px;color:var(--ink-soft);flex-direction:column;justify-content:center;gap:.15rem;padding:.2rem .1rem;font-size:.7rem;line-height:1.15}.nav-few a.active{color:var(--brand-deep);background:var(--brand-soft)}.nav-few .icon-tile{--tile-size:32px}.has-nav-few main.page{padding-bottom:6.5rem}.nav-many{top:calc(var(--header-h) + 4px);z-index:5;border-bottom:3px solid var(--line);scrollbar-width:none;background:#fff;gap:.3rem;padding:.45rem .75rem;display:flex;position:sticky;overflow-x:auto}.nav-many a{white-space:nowrap;min-height:44px;color:var(--ink-soft);border:2px solid #0000;gap:.4rem;padding:.3rem .7rem .3rem .35rem;font-size:.88rem}.nav-many a:last-child{margin-right:3rem}.has-nav-many:after{content:"";z-index:5;right:0;top:calc(var(--header-h) + 4px);pointer-events:none;background:linear-gradient(90deg,#fff0,#fff 80%);width:2.6rem;height:58px;position:fixed}.nav-many a.active{color:var(--ink);border-color:var(--line-strong);background:var(--brand-soft)}.nav-many .icon-tile{--tile-size:30px}}@media (width>=900px){.app-body.has-nav{grid-template-columns:244px minmax(0,1fr);align-items:start;display:grid}.app-nav{top:calc(var(--header-h) + 4px);height:calc(100vh - var(--header-h) - 4px);border-right:3px solid var(--line);background:#ffffffb8;flex-direction:column;gap:.3rem;padding:1rem .75rem;display:flex;position:sticky;overflow-y:auto}.app-nav a{border:2px solid #0000;gap:.7rem;min-height:52px;padding:.35rem .6rem;line-height:1.2;transition:background-color .12s,transform 80ms}.app-nav a:hover{background:#fff}.app-nav a:active{transform:translateY(2px)}.app-nav a.active{border-color:var(--line-strong);box-shadow:0 3px 0 var(--line-strong);background:#fff}.nav-few a{min-height:60px;font-size:1.02rem}.nav-few .icon-tile{--tile-size:44px}}.card{background:var(--card);border:2px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.1rem;padding:1.1rem 1.2rem}.muted{color:var(--ink-soft);font-size:.92rem}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.between{justify-content:space-between}.stack>*+*{margin-top:.75rem}.cols-2,.cols-3{align-items:start;gap:1.1rem;display:grid}.cols-2>.card,.cols-3>.card{margin-bottom:0}@media (width>=1000px){.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}button.btn,a.btn{--btn-bg:var(--sun);--btn-edge:var(--sun-deep);--btn-ink:var(--ink);--btn-depth:4px;background:var(--btn-bg);color:var(--btn-ink);min-height:52px;font:inherit;cursor:pointer;box-shadow:inset 0 2px 0 #fff6, 0 var(--btn-depth) 0 var(--btn-edge);border:0;border-radius:16px;justify-content:center;align-items:center;gap:.45rem;padding:.55rem 1.2rem;font-weight:900;text-decoration:none;transition:transform 80ms,box-shadow 80ms,filter .12s;display:inline-flex}button.btn:hover:not(:disabled),a.btn:hover{filter:brightness(1.05)}button.btn:active:not(:disabled),a.btn:active{transform:translateY(calc(var(--btn-depth) - 1px));box-shadow:inset 0 2px 0 #fff6, 0 1px 0 var(--btn-edge)}button.btn.secondary,a.btn.secondary{--btn-bg:#fff;--btn-edge:var(--line-strong);--btn-ink:var(--brand);box-shadow:inset 0 0 0 2px var(--line-strong), 0 var(--btn-depth) 0 var(--btn-edge)}button.btn.secondary:active:not(:disabled),a.btn.secondary:active{box-shadow:inset 0 0 0 2px var(--line-strong), 0 1px 0 var(--btn-edge)}button.btn.danger{--btn-bg:#fff;--btn-edge:#efb1aa;--btn-ink:var(--danger);box-shadow:inset 0 0 0 2px #efb1aa, 0 var(--btn-depth) 0 var(--btn-edge)}button.btn.danger:active:not(:disabled){box-shadow:inset 0 0 0 2px #efb1aa, 0 1px 0 var(--btn-edge)}button.btn.small,a.btn.small{--btn-depth:3px;border-radius:13px;min-height:42px;padding:.3rem .85rem;font-size:.9rem}button.btn.big,a.btn.big{--btn-depth:5px;border-radius:20px;min-height:62px;padding:.6rem 1.6rem;font-size:1.15rem}button.btn:disabled{opacity:.5;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}label.field{margin-bottom:.85rem;font-weight:800;display:block}label.field span.hint{color:var(--ink-soft);font-size:.88rem;font-weight:500;display:block}input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],textarea,select{border:2px solid var(--line-strong);width:100%;color:var(--ink);font:inherit;background:#fff;border-radius:14px;min-height:48px;margin-top:.3rem;padding:.6rem .8rem;font-weight:600;display:block}input:hover,textarea:hover,select:hover{border-color:var(--brand-mid)}textarea{resize:vertical;min-height:88px}.error{color:var(--danger);font-weight:700}.ok{color:var(--good);font-weight:800}.notice{background:var(--warn-bg);color:var(--warn);border-radius:14px;margin-bottom:.75rem;padding:.65rem .85rem;font-size:.92rem;font-weight:700}.orn{--orn-tl:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M5 24C5 13 13 5 24 5c4 0 6.5 3 4.5 6-1.5 2-4.5 1-4-1.5M5 24c0 4 3 6.5 6 4.5 2-1.5 1-4.5-1.5-4M11 17c0-3.5 2.5-6 6-6'/%3E%3Ccircle cx='16' cy='16' r='1.8' fill='black' stroke='none'/%3E%3C/svg%3E");--orn-tr:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cg transform='matrix(-1 0 0 1 40 0)'%3E%3Cpath d='M5 24C5 13 13 5 24 5c4 0 6.5 3 4.5 6-1.5 2-4.5 1-4-1.5M5 24c0 4 3 6.5 6 4.5 2-1.5 1-4.5-1.5-4M11 17c0-3.5 2.5-6 6-6'/%3E%3Ccircle cx='16' cy='16' r='1.8' fill='black' stroke='none'/%3E%3C/g%3E%3C/svg%3E");--orn-bl:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cg transform='matrix(1 0 0 -1 0 40)'%3E%3Cpath d='M5 24C5 13 13 5 24 5c4 0 6.5 3 4.5 6-1.5 2-4.5 1-4-1.5M5 24c0 4 3 6.5 6 4.5 2-1.5 1-4.5-1.5-4M11 17c0-3.5 2.5-6 6-6'/%3E%3Ccircle cx='16' cy='16' r='1.8' fill='black' stroke='none'/%3E%3C/g%3E%3C/svg%3E");--orn-br:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round'%3E%3Cg transform='matrix(-1 0 0 -1 40 40)'%3E%3Cpath d='M5 24C5 13 13 5 24 5c4 0 6.5 3 4.5 6-1.5 2-4.5 1-4-1.5M5 24c0 4 3 6.5 6 4.5 2-1.5 1-4.5-1.5-4M11 17c0-3.5 2.5-6 6-6'/%3E%3Ccircle cx='16' cy='16' r='1.8' fill='black' stroke='none'/%3E%3C/g%3E%3C/svg%3E");position:relative}.orn:before{content:"";inset:var(--orn-inset,3px);pointer-events:none;background:var(--orn-color,#8d6640);-webkit-mask:var(--orn-tl) top left / var(--orn-size,16px) no-repeat, var(--orn-tr) top right / var(--orn-size,16px) no-repeat, var(--orn-bl) bottom left / var(--orn-size,16px) no-repeat, var(--orn-br) bottom right / var(--orn-size,16px) no-repeat;-webkit-mask:var(--orn-tl) top left / var(--orn-size,16px) no-repeat, var(--orn-tr) top right / var(--orn-size,16px) no-repeat, var(--orn-bl) bottom left / var(--orn-size,16px) no-repeat, var(--orn-br) bottom right / var(--orn-size,16px) no-repeat;mask:var(--orn-tl) top left / var(--orn-size,16px) no-repeat, var(--orn-tr) top right / var(--orn-size,16px) no-repeat, var(--orn-bl) bottom left / var(--orn-size,16px) no-repeat, var(--orn-br) bottom right / var(--orn-size,16px) no-repeat;position:absolute}.book-login{--u:16px;--ink:#3a2510;--gold:#c9a24f;min-height:100vh;color:var(--ink);background:radial-gradient(at 50% 30%,#6a4a2a,#3a2716 60%,#2a1c10)}.book-scene{padding:0 1rem 2rem}.book-stage{flex-direction:column;align-items:center;gap:1rem;max-width:560px;margin:0 auto;display:flex}.book-head{flex-wrap:wrap;order:0;justify-content:space-between;align-items:center;gap:.5rem;width:100%;padding:.9rem 0 .2rem;display:flex}.book-logo{color:#fbefd5;flex-direction:column;line-height:1.1;text-decoration:none;display:flex}.book-logo b{letter-spacing:.06em;font-size:1.3rem;font-weight:600}.book-logo small{letter-spacing:.1em;color:#e9d6ac;font-size:.62rem}.book-nav{gap:.15rem;display:flex}.book-nav a{color:#fbefd5;border:1px solid #0000;border-radius:99px;align-items:center;min-height:40px;padding:0 .7rem;font-size:.9rem;font-weight:600;text-decoration:none;display:inline-flex}.book-nav a[aria-current=page]{background:#ffe6aa1f;border-color:#e9c478b3}.book-nav a:hover{background:#ffe6aa29}.book-pic{order:1;width:100%;max-width:440px;position:relative;container-type:inline-size}.book-pic picture img{box-sizing:border-box;border:2px solid #c9a24f8c;border-radius:18px}.book-pic img{will-change:transform;width:100%;height:auto;display:block}.book-pic .fx-book{display:none}.book-card{--orn-size:34px;--orn-inset:6px;--orn-color:var(--gold);background:radial-gradient(at 50% 40%,#fffaf0,#f6ead3);border:2px solid #d8bd85;border-radius:18px;order:2;width:100%;padding:1.4rem 1.2rem 1.2rem;box-shadow:inset 0 0 0 5px #fffaf0,inset 0 0 0 6px #e3cb98,0 4px 12px #00000059}.book-title{text-align:center;color:#5a1f12;letter-spacing:.01em;margin:0 0 .9rem;font-size:1.7rem;font-weight:700}.book-tabs{gap:calc(var(--u) * .3);padding:calc(var(--u) * .3);margin:0 calc(var(--u) * .9) calc(var(--u) * 1);border:2px solid var(--gold);background:linear-gradient(#1f727a,#0f4b55);border-radius:99px;grid-template-columns:repeat(3,1fr);display:grid;position:relative;box-shadow:0 3px 8px #3c230a4d}.book-tabs:before,.book-tabs:after{content:"";width:calc(var(--u) * 1.5);aspect-ratio:1;border:2px solid var(--gold);z-index:-1;background:linear-gradient(135deg,#1f727a,#0f4b55);position:absolute;top:50%;transform:translateY(-50%)rotate(45deg)}.book-tabs:before{left:calc(var(--u) * -.75)}.book-tabs:after{right:calc(var(--u) * -.75)}.book-tabs button{min-height:calc(var(--u) * 2.6);color:#f7ecd2;font:inherit;font-size:calc(var(--u) * .98);white-space:nowrap;cursor:pointer;background:0 0;border:1.5px solid #e9c47873;border-radius:99px;padding:0 .2em;font-weight:600;transition:background-color .15s}.book-tabs button:hover{background:#ffffff1a}.book-tabs button[aria-pressed=true]{color:#3a2510;background:linear-gradient(#ffeaa6,#eebe4f 55%,#cf962c);border-color:#f6d88e;box-shadow:inset 0 1px #ffffffb3,0 1px 3px #3c230a59}.book-form{gap:calc(var(--u) * .75);display:grid}.book-row{gap:calc(var(--u) * .6);grid-template-columns:1fr 1fr;display:grid}.book-field{margin:0;display:block;position:relative}.book-field svg{left:calc(var(--u) * .8);width:calc(var(--u) * 1.35);height:calc(var(--u) * 1.35);color:#c9962f;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.book-form .book-field input{width:100%;min-height:calc(var(--u) * 3);padding:0 calc(var(--u) * .8) 0 calc(var(--u) * 2.6);font-size:calc(var(--u) * 1.05);color:var(--ink);border-radius:calc(var(--u) * .9);background:#fffaf0;border:2px solid #cfae73;margin:0;box-shadow:inset 0 1px 3px #78501e1f}.book-form .book-field input::placeholder{color:#a8865a}.book-form .book-field input:hover{border-color:#b38b4c}.book-hint{margin:calc(var(--u) * -.35) 0 0;font-size:max(12px, calc(var(--u) * .78));color:#7a5c3a}.book-pin{align-items:center;gap:calc(var(--u) * .45);display:flex}.book-pin>span{font-size:calc(var(--u) * .9);color:#6b4a26;margin-right:auto;font-weight:700}.book-pin .pin-slot{width:calc(var(--u) * 2.5);height:calc(var(--u) * 2.5);font-size:calc(var(--u) * 1.5);border-radius:calc(var(--u) * .6);background:#fffaf0;border:2px dashed #c7ab78}.book-pin .pin-slot.filled{background:#fff3d4;border:2px solid #c9962f}.book-undo{min-height:calc(var(--u) * 2.5);padding:0 calc(var(--u) * .7);border:1.5px solid var(--gold);color:#f7ecd2;font:inherit;font-size:calc(var(--u) * .8);cursor:pointer;background:#0f4b55;border-radius:99px;font-weight:700}.book-undo:hover{background:#1f727a}.book-form .pin-grid{gap:calc(var(--u) * .4);grid-template-columns:repeat(6,1fr)}.book-form .pin-grid button{min-height:calc(var(--u) * 2.9);font-size:calc(var(--u) * 1.65);border-radius:calc(var(--u) * .6);background:#fffaf0;border:1.5px solid #d8bd85;line-height:1}.book-form .pin-grid button:hover{background:#fff6df;border-color:#c9962f}.book-enter{--orn-size:calc(var(--u) * 1.9);--orn-inset:calc(var(--u) * .35);--orn-color:#1f5f68;width:100%;min-height:calc(var(--u) * 3.3);cursor:pointer;font:inherit;font-size:calc(var(--u) * 1.3);letter-spacing:.12em;text-transform:uppercase;color:#3a2510;background:linear-gradient(#fff0b8,#f2c85c 42%,#d49c2e 78%,#e8bb52);border:2px solid #b88a30;border-radius:99px;font-weight:800;box-shadow:inset 0 1px #fffc,0 4px 10px #50320a59}.book-enter:before{-webkit-mask:var(--orn-tl) top left / var(--orn-size) no-repeat, var(--orn-bl) bottom left / var(--orn-size) no-repeat, var(--orn-tr) top right / var(--orn-size) no-repeat, var(--orn-br) bottom right / var(--orn-size) no-repeat;-webkit-mask:var(--orn-tl) top left / var(--orn-size) no-repeat, var(--orn-bl) bottom left / var(--orn-size) no-repeat, var(--orn-tr) top right / var(--orn-size) no-repeat, var(--orn-br) bottom right / var(--orn-size) no-repeat;mask:var(--orn-tl) top left / var(--orn-size) no-repeat, var(--orn-bl) bottom left / var(--orn-size) no-repeat, var(--orn-tr) top right / var(--orn-size) no-repeat, var(--orn-br) bottom right / var(--orn-size) no-repeat}.book-enter:hover:not(:disabled){filter:brightness(1.06)}.book-enter:active:not(:disabled){transform:translateY(1px)}.book-enter:disabled{cursor:not-allowed;filter:saturate(.85);opacity:.92}.book-note{text-align:center;font-size:max(12px, calc(var(--u) * .85));color:#5a3d22;margin:0}.book-note a{color:#8a4b12;font-weight:700}.book-form .error{font-size:calc(var(--u) * .85);margin:0}.book-form .muted{color:#6b4a26;font-size:calc(var(--u) * .95);margin:0}.book-extra{max-width:560px;margin:0 auto;padding:0 1rem 2rem}.book-extra .card{background:#f6ead3;border-color:#d8bd85}.book-tabs{isolation:isolate}.book-pin .pin-slots{gap:calc(var(--u) * .35)}@media (width>=1100px) and (height>=620px){.book-scene{background:radial-gradient(60% 22% at 50% 0,#74532ed9,#0000),linear-gradient(#351f14,#3e2819 45%,#342116 75%,#29180f);height:100vh;padding:0;position:relative;overflow:hidden;container-type:size}.book-stage{aspect-ratio:2752/1536;--u:1.02cqw;width:min(100cqw,179.167cqh);max-width:none;margin:0;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);container-type:inline-size}.book-scene .book-bands{pointer-events:none;display:block;position:absolute;inset:0}.band{contain:layout paint;position:absolute;overflow:hidden}.band>span{position:absolute}.band-l,.band-r{width:calc(50cqw - min(100cqw,179.167cqh)/2);top:0;bottom:0}.band-l{left:0}.band-r{right:0}.band-t,.band-b{height:calc(50cqh - min(100cqh,55.814cqw)/2);left:0;right:0}.band-t{top:0}.band-b{bottom:0}.book-pic{max-width:none;position:absolute;inset:0}.book-pic picture img{height:100%;box-shadow:none;-webkit-mask-composite:source-in;border:0;border-radius:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 2.5% 97.5%,#0000),linear-gradient(#0000,#000 3% 97%,#0000);mask-image:linear-gradient(90deg,#0000,#000 2.5% 97.5%,#0000),linear-gradient(#0000,#000 3% 97%,#0000);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:border-box,border-box;mask-clip:border-box,border-box;-webkit-mask-origin:border-box,border-box;mask-origin:border-box,border-box;-webkit-mask-composite:source-in;mask-composite:intersect;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.book-pic .fx-book{display:block}.book-pic .fx-left{display:none}.book-stage .book-head{pointer-events:none;padding:0;display:block;position:absolute;inset:0}.book-stage .book-head a{pointer-events:auto;color:#0000;background:0 0;border-color:#0000;border-radius:99px;position:absolute}.book-stage .book-head a:hover{background:#ffe6aa1a}.book-stage .book-logo{width:20%;height:8%;top:2.6%;left:6.5%}.book-stage .book-logo b,.book-stage .book-logo small{visibility:hidden}.book-stage .book-nav a{height:4.4%;min-height:0;top:3.8%}.book-stage .book-nav a:first-child{width:8.2%;left:70.3%}.book-stage .book-nav a:nth-child(2){width:6.9%;left:79.6%}.book-stage .book-nav a:nth-child(3){width:4.9%;left:88.4%}.book-stage .book-card{width:26.1%;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;position:absolute;top:30.6%;left:58.1%}.book-stage .book-card:before{display:none}.book-stage .book-title{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.book-stage .book-hint{display:none}}.book-pin{row-gap:calc(var(--u) * .3);flex-wrap:wrap}.book-pin>span{flex-basis:100%}.book-undo{white-space:nowrap;margin-left:auto}@media (width<=420px){.book-login{--u:14px}.book-card{padding-inline:.9rem}}.art-fx{pointer-events:none;contain:layout paint;position:absolute;inset:0}.book-pic.paused *,.book-pic.paused :before,.book-pic.paused :after{animation-play-state:paused}.art-fx>span{position:absolute}.bk-bokeh{width:var(--s);aspect-ratio:1;opacity:0;animation:bk-float-l var(--d) ease-in-out var(--delay) infinite;background:radial-gradient(circle,#ffecaa 0 22%,#ffc45a8c 45%,#0000 70%);border-radius:50%}@keyframes bk-float-l{0%{opacity:0;transform:translate(-50%,-50%)}20%{opacity:.95}50%{transform:translate(-250%,-550%)}80%{opacity:.7}to{opacity:0;transform:translate(-50%,-1050%)}}@keyframes bk-float-r{0%{opacity:0;transform:translate(-50%,-50%)}20%{opacity:.95}50%{transform:translate(150%,-550%)}80%{opacity:.7}to{opacity:0;transform:translate(-50%,-1050%)}}.bk-spark{width:var(--s);aspect-ratio:1;opacity:0;animation:bk-rise-a var(--d) ease-out var(--delay) infinite;background:radial-gradient(circle,#fff 0 16%,#ffe696b3 32%,#0000 70%);border-radius:50%}.bk-spark.b{animation-name:bk-rise-b}@keyframes bk-rise-a{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}15%{opacity:1}70%{opacity:.8}to{opacity:0;transform:translate(-350%,-1250%)scale(1)}}@keyframes bk-rise-b{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}15%{opacity:1}70%{opacity:.8}to{opacity:0;transform:translate(217%,-1717%)scale(1)}}.bk-bokeh.r{animation-name:bk-float-r}.book-bands{display:none}@media (aspect-ratio>=2752/1536){.band-t,.band-b{display:none}}@media (aspect-ratio<=2752/1536){.band-l,.band-r{display:none}}.bk-orb{width:var(--s);aspect-ratio:1;animation:bk-orb var(--d) ease-in-out var(--delay) infinite;background:radial-gradient(circle,#ffd2828c,#ffb45029 45%,#0000 70%);border-radius:50%}@keyframes bk-orb{0%,to{opacity:.35;transform:translate(-50%,-50%)scale(.85)}50%{opacity:.85;transform:translate(-35%,-75%)scale(1.1)}}.bk-glow{width:var(--s);aspect-ratio:1;background:radial-gradient(circle,#ffde8c8c,#ffbe502e 40%,#0000 70%);border-radius:50%;animation:4.8s ease-in-out infinite art-glow}.art-star,.art-glint{width:var(--s,1.6cqw);aspect-ratio:1;background:radial-gradient(circle,#fff 0 9%,#fff6d68c 20%,#0000 62%)}.art-star.big:before,.art-star.big:after,.art-glint:before,.art-glint:after{content:"";background:linear-gradient(90deg,#0000,#ffffffeb 50%,#0000);position:absolute}.art-star.big:before,.art-glint:before{height:8%;top:46%;left:0;right:0}.art-star.big:after,.art-glint:after{background:linear-gradient(#0000,#ffffffeb 50%,#0000);width:8%;top:0;bottom:0;left:46%}.art-star{animation:art-twinkle var(--d) ease-in-out var(--delay) infinite;transform:translate(-50%,-50%)}@keyframes art-twinkle{0%,to{opacity:.3;transform:translate(-50%,-50%)scale(.45)}50%{opacity:1;transform:translate(-50%,-50%)scale(1)}}.art-glint{--s:5cqw;opacity:0;animation:art-glint var(--d) ease-in-out var(--delay) infinite;background:radial-gradient(circle,#fff 0 5%,#ffdc8299 13%,#0000 42%)}@keyframes art-glint{0%,68%,to{opacity:0;transform:translate(-50%,-50%)scale(.2)rotate(0)}80%{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(45deg)}92%{opacity:0;transform:translate(-50%,-50%)scale(.3)rotate(90deg)}}.art-meteor{width:0;height:0;transform:rotate(148deg)}.art-meteor i{opacity:0;width:10cqw;height:max(1.5px,.3cqw);animation:art-meteor var(--d) linear var(--delay) infinite;background:linear-gradient(90deg,#0000,#beebff80 65%,#fff);border-radius:99px;position:absolute;top:0;left:0}@keyframes art-meteor{0%{opacity:0;transform:translate(-10cqw)}1.5%{opacity:1}7%{opacity:.9}9.5%,to{opacity:0;transform:translateX(calc(var(--len) - 10cqw))}}.art-door{aspect-ratio:1;background:radial-gradient(circle,#ffcd64bf,#ffaa3c00 65%);border-radius:50%;width:9cqw;animation:3.4s ease-in-out infinite art-flicker;transform:translate(-50%,-50%)}@keyframes art-flicker{0%,to{opacity:.5}18%{opacity:.85}30%{opacity:.6}47%{opacity:.95}62%{opacity:.68}80%{opacity:.9}}.art-puff{aspect-ratio:1;opacity:0;width:6cqw;animation:art-smoke 8s ease-out var(--delay) infinite;background:radial-gradient(circle,#fff0dcb3,#fff0dc00 70%);border-radius:50%}@keyframes art-smoke{0%{opacity:0;transform:translate(-50%,-50%)scale(.35)}12%{opacity:.75}35%{transform:translate(calc(1.4cqw - 50%),calc(-50% - 6cqw))scale(.8)}65%{opacity:.35;transform:translate(calc(-50% - 1.6cqw),calc(-50% - 12cqw))scale(1.3)}to{opacity:0;transform:translate(calc(1cqw - 50%),calc(-50% - 18cqw))scale(1.9)}}.art-glow{aspect-ratio:1;background:radial-gradient(circle,#ffeeaf7a,#ffdc7829 36%,#0000 68%);border-radius:50%;width:34cqw;animation:4.5s ease-in-out infinite art-glow}@keyframes art-glow{0%,to{opacity:.55;transform:translate(-50%,-50%)scale(.9)}50%{opacity:1;transform:translate(-50%,-50%)scale(1.08)}}.art-orbit{width:var(--w);aspect-ratio:1;transform:translate(-50%, -50%) rotate(var(--tilt)) scaleY(.3)}.art-orbit i{background:conic-gradient(transparent 0 52%, var(--c0) 56%, var(--c1) 99%, transparent 100%);filter:drop-shadow(0 0 .7cqw var(--c1));animation:art-spin var(--d) linear infinite var(--dir,normal);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - .95cqw),#000 calc(100% - .8cqw));mask:radial-gradient(farthest-side,#0000 calc(100% - .95cqw),#000 calc(100% - .8cqw))}@keyframes art-spin{to{transform:rotate(1turn)}}.art-spark{width:var(--s);aspect-ratio:1;opacity:0;animation:art-rise var(--d) ease-out var(--delay) infinite;background:radial-gradient(circle,#fff 0 16%,#ffe696b3 32%,#0000 70%);border-radius:50%}@keyframes art-rise{0%{opacity:0;transform:translate(-50%,-50%)scale(.4)}15%{opacity:1}70%{opacity:.8}to{opacity:0;transform:translate(calc(-50% + var(--dx)), calc(-50% + var(--dy))) scale(1)}}.art-fly{opacity:0;width:3.2cqw;height:2.1cqw;animation:art-fly var(--d) ease-in-out var(--delay) infinite;margin:-1.05cqw 0 0 -1.6cqw}.art-fly b{background:radial-gradient(circle at 50% 45%,#fff 0 18%,#aafaf0d9 45%,#78e6dc00 75%);width:50%;height:100%;animation:.38s ease-in-out infinite alternate art-flap;position:absolute;top:0}.art-fly b:first-child{transform-origin:100%;border-radius:80% 20% 40% 60%;left:0}.art-fly b:last-child{transform-origin:0;border-radius:20% 80% 60% 40%;right:0}@keyframes art-flap{to{transform:scaleX(.25)}}@keyframes art-fly{0%{opacity:0;transform:translate(0)}10%{opacity:1}35%{transform:translate(var(--x1), var(--y1))}65%{transform:translate(var(--x2), var(--y2))}88%{opacity:.9}to{opacity:0;transform:translate(var(--x3), var(--y3))}}.art-firefly{aspect-ratio:1;width:1.2cqw;animation:art-drift var(--d) ease-in-out var(--delay) infinite;background:radial-gradient(circle,#fffbcd 0 24%,#ffe16e8c 44%,#0000 70%);border-radius:50%}@keyframes art-drift{0%,to{opacity:.15;transform:translate(-50%,-50%)}25%{opacity:.95;transform:translate(calc(-50% + 1.6cqw * var(--m)), calc(-50% - 1.2cqw))}50%{opacity:.35;transform:translate(calc(-50% + .4cqw * var(--m)), calc(-50% - 2.6cqw))}75%{opacity:.9;transform:translate(calc(-50% - 1.4cqw * var(--m)), calc(-50% - 1cqw))}}.demo-accounts{margin:0;padding:0;list-style:none}.demo-accounts li{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;align-items:center;gap:.1rem .65rem;padding:.65rem 0;display:grid}.demo-accounts li:first-child{border-top:0}.demo-accounts .num{background:var(--brand-soft);width:40px;height:40px;color:var(--brand);border-radius:12px;grid-row:span 2;place-items:center;font-weight:900;display:grid}.demo-accounts .pics{letter-spacing:.1em;font-size:1.1rem}.demo-accounts .btn{grid-area:1/3/span 2}.demo-accounts .meta{color:var(--ink-soft);overflow-wrap:anywhere;grid-column:2;font-size:.82rem}.pin-label{margin-bottom:.25rem;font-weight:700}.pin-slots{justify-content:center;gap:.5rem;margin:.5rem 0 .75rem;display:flex}.pin-slot{background:var(--paper);border:2px dashed #c7ab78;border-radius:14px;place-items:center;width:54px;height:54px;font-size:1.7rem;display:grid}.pin-slot.filled{border:2px solid var(--brand);background:var(--brand-soft);animation:.18s ease-out pop}.pin-grid{grid-template-columns:repeat(4,1fr);gap:.5rem;display:grid}.pin-grid button{border:1.5px solid var(--line);background:var(--card);cursor:pointer;border-radius:14px;min-height:60px;font-size:1.9rem;transition:transform .1s,border-color .15s,background-color .15s}.pin-grid button:hover{border-color:var(--brand-mid)}.pin-grid button:active{background:var(--brand-soft);transform:scale(.95)}.book-login{--paper:#f3e7cf;--card:#fffaf0;--line:#d8bd85;--ink-soft:#6b4a26;--brand:#0f4b55;--brand-deep:#0a3a42;--brand-mid:#1f727a;--brand-soft:#fff3d4;--danger:#b42318}.book-form .book-field input{font-weight:500}.home-hero{gap:1rem;margin-bottom:1.3rem;display:grid}.home-hello{border-radius:var(--radius);background:linear-gradient(135deg, #ffe07a, var(--sun));box-shadow:0 4px 0 var(--sun-deep);padding:1.2rem 1.3rem;position:relative;overflow:hidden}.home-hello:after{content:"";z-index:0;background:radial-gradient(circle,#fff6c9 0 38%,#fff6c98c 39% 58%,#fff6c940 59% 78%,#0000 79%);border-radius:50%;width:7rem;height:7rem;position:absolute;top:-2.6rem;right:-2.6rem}.home-hello h1{z-index:1;max-width:22ch;margin-bottom:.8rem;padding-right:2.5rem;position:relative}.path-row{justify-content:space-between;gap:.5rem;margin-bottom:.35rem;font-size:.92rem;font-weight:800;display:flex;position:relative}.path-track{background:#ffffffbf;border-radius:99px;height:16px;position:relative;overflow:hidden;box-shadow:inset 0 2px #7850002e}.path-fill{background:linear-gradient(90deg,#7c5cff,#2f86ff 30%,#f0479a 55%,#ff8a1f 78%,#2fbf5b);border-radius:99px;height:100%;transition:width .4s}.home-next{border-color:var(--line-strong);box-shadow:0 4px 0 var(--line-strong);grid-template-columns:auto 1fr;align-items:center;gap:.2rem .9rem;margin-bottom:0;display:grid}.home-next .num-badge{--tile-size:64px;grid-row:span 2;font-size:1.6rem}.home-next-label{color:var(--ink-soft);margin:0;font-size:.9rem;font-weight:800}.home-next-title{margin:0;font-size:1.35rem;font-weight:900;line-height:1.2}.home-next-foot{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:.75rem;margin-top:.6rem;display:flex}.lesson-list{gap:.6rem;display:grid}.lesson-card{color:inherit;background:var(--card);border:2px solid var(--line);box-shadow:var(--shadow);border-radius:20px;grid-template-columns:auto 1fr;align-items:center;gap:.15rem .75rem;padding:.6rem .75rem;text-decoration:none;transition:transform .1s,box-shadow .1s,border-color .12s;display:grid}.lesson-card:hover{border-color:var(--line-strong);box-shadow:0 6px 0 var(--line-strong);transform:translateY(-2px)}.lesson-card:active{box-shadow:0 1px 0 var(--line-strong);transform:translateY(3px)}.lesson-card.next{border-color:var(--sun-deep);box-shadow:0 4px 0 var(--sun-deep);background:#fffbea}.num-badge{width:var(--tile-size,46px);height:var(--tile-size,46px);color:var(--brand-deep);background:linear-gradient(160deg, #fff, var(--brand-soft));box-shadow:inset 0 0 0 2px var(--line-strong), 0 3px 0 var(--line-strong);border-radius:30%;flex:none;place-items:center;font-size:1.15rem;font-weight:900;display:grid}.lesson-card.next .num-badge,.home-next .num-badge{color:var(--ink);background:linear-gradient(160deg, #ffe89a, var(--sun));box-shadow:inset 0 2px 0 #ffffff80, 0 3px 0 var(--sun-deep)}.lesson-card.complete .num-badge{color:#fff;background:linear-gradient(160deg,#6fdc8f,#2fbf5b);box-shadow:inset 0 2px #ffffff73,0 3px #1c8a40}.lesson-card .body{min-width:0}.lesson-card .topic{color:var(--ink-soft);font-size:.78rem;font-weight:700;display:none}.lesson-card .title{color:var(--ink);font-size:1.08rem;font-weight:900;line-height:1.25}.lesson-card .value{font-size:.86rem;display:none}.lesson-foot{grid-column:2;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.lesson-status{color:var(--ink-soft);white-space:nowrap;font-size:.8rem;font-weight:900}.lesson-card.next .lesson-status{color:var(--warn)}.lesson-card.complete .lesson-status{color:var(--good)}.done-group{background:#ffffffb3;margin-top:.9rem}.done-group[open]{padding-bottom:.7rem}.list-title{margin:1.2rem 0 .6rem}.gems{gap:.22rem;display:flex}.gem{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 .6 19.4 7.4 15.8 19.4H4.2L.6 7.4Z' fill='%23d5e3ee'/%3E%3Cpath d='M10 .6 19.4 7.4 10 9.2Z' fill='%23c7d9e7'/%3E%3Cpath d='M5.2 5.4 8.4 3.2 7 8.2 4.4 8.4Z' fill='white' fill-opacity='0'/%3E%3C/svg%3E") 50%/contain no-repeat;width:20px;height:20px}.gem.done.stage-read{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 .6 19.4 7.4 15.8 19.4H4.2L.6 7.4Z' fill='%238e75ff'/%3E%3Cpath d='M10 .6 19.4 7.4 10 9.2Z' fill='%236c4cf1'/%3E%3Cpath d='M5.2 5.4 8.4 3.2 7 8.2 4.4 8.4Z' fill='white' fill-opacity='.55'/%3E%3C/svg%3E")}.gem.done.stage-understand{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 .6 19.4 7.4 15.8 19.4H4.2L.6 7.4Z' fill='%233f8cff'/%3E%3Cpath d='M10 .6 19.4 7.4 10 9.2Z' fill='%231a62d0'/%3E%3Cpath d='M5.2 5.4 8.4 3.2 7 8.2 4.4 8.4Z' fill='white' fill-opacity='.55'/%3E%3C/svg%3E")}.gem.done.stage-feel{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 .6 19.4 7.4 15.8 19.4H4.2L.6 7.4Z' fill='%23f55aa5'/%3E%3Cpath d='M10 .6 19.4 7.4 10 9.2Z' fill='%23c81e74'/%3E%3Cpath d='M5.2 5.4 8.4 3.2 7 8.2 4.4 8.4Z' fill='white' fill-opacity='.55'/%3E%3C/svg%3E")}.gem.done.stage-deliver{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 .6 19.4 7.4 15.8 19.4H4.2L.6 7.4Z' fill='%23ff8a1f'/%3E%3Cpath d='M10 .6 19.4 7.4 10 9.2Z' fill='%23c65a05'/%3E%3Cpath d='M5.2 5.4 8.4 3.2 7 8.2 4.4 8.4Z' fill='white' fill-opacity='.55'/%3E%3C/svg%3E")}.gem.done.stage-create{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M10 .6 19.4 7.4 15.8 19.4H4.2L.6 7.4Z' fill='%232fbf5b'/%3E%3Cpath d='M10 .6 19.4 7.4 10 9.2Z' fill='%23137a39'/%3E%3Cpath d='M5.2 5.4 8.4 3.2 7 8.2 4.4 8.4Z' fill='white' fill-opacity='.55'/%3E%3C/svg%3E")}.gems.big .gem{width:28px;height:28px}@media (width>=900px){.home-hero{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:stretch}.home-hello{flex-direction:column;justify-content:center;padding:1.6rem 1.8rem;display:flex}.lesson-list{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:.9rem}.lesson-card{align-items:start;padding:.85rem .95rem}.lesson-card .topic,.lesson-card .value{display:block}.lesson-card{grid-template-rows:1fr auto}.lesson-foot{grid-column:1/-1;align-self:end;margin-top:.55rem}}.dash-hero{color:#fff;background:linear-gradient(135deg,#0a4f7d,#0d6ca3 55%,#0f78b3);border-radius:28px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem 1.5rem;margin-bottom:1.1rem;padding:1.3rem 1.3rem 1.5rem;display:grid;position:relative;overflow:hidden;box-shadow:0 6px #073a5c}.dash-sky{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.dash-hero-text,.dash-ring{z-index:1;min-width:0;position:relative}.dash-eyebrow{color:#fff;margin:0 0 .2rem;font-size:.9rem;font-weight:800}.dash-hero h1{color:#fff;margin:0 0 .9rem;font-size:clamp(1.7rem,3vw,2.5rem)}.dash-today{align-items:center;gap:.9rem;margin-bottom:1.1rem;display:flex}.dash-today .num-badge{--tile-size:62px;color:var(--ink);background:linear-gradient(160deg, #ffe89a, var(--sun));box-shadow:inset 0 2px 0 #ffffff80, 0 4px 0 var(--sun-deep);font-size:1.6rem}.dash-today-label{letter-spacing:.04em;text-transform:uppercase;color:#ffe07a;margin:0;font-size:.85rem;font-weight:800}.dash-today-title{color:#fff;margin:0;font-size:clamp(1.25rem,2.2vw,1.7rem);font-weight:900;line-height:1.2}.dash-today-value{color:#fff;margin:.15rem 0 0;font-size:.95rem;font-weight:700}.dash-actions{gap:.7rem}.dash-ring{width:150px;height:150px}.dash-ring svg{width:100%;height:100%;display:block}.dash-ring-text{text-align:center;place-content:center;line-height:1.1;display:grid;position:absolute;inset:0}.dash-ring-text b{font-size:2.6rem;font-weight:900}.dash-ring-text span{font-size:.85rem;font-weight:800}@media (width>=1000px){.dash-hero{padding:1.8rem 2.4rem 2rem 2.2rem}.dash-ring{width:210px;height:210px}.dash-ring-text b{font-size:3.6rem}.dash-ring-text span{font-size:1rem}}@media (width<=560px){.dash-hero{grid-template-columns:minmax(0,1fr)}.dash-ring{width:86px;height:86px;position:absolute;top:1rem;right:1rem}.dash-ring-text b{font-size:1.5rem}.dash-ring-text span{font-size:.62rem}.dash-eyebrow,.dash-hero h1{padding-right:96px}.dash-actions .btn{flex:100%}}.dash-tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem;margin:0 0 1.1rem;padding:0;list-style:none;display:grid}.dash-tile{color:#fff;background:var(--t);min-width:0;box-shadow:inset 0 2px 0 #ffffff38, 0 5px 0 var(--t-edge);border-radius:22px;padding:.8rem .8rem .9rem;position:relative;overflow:hidden}.dash-tile.t-blue{--t:#1a62d0;--t-edge:#10428f}.dash-tile.t-green{--t:#137a39;--t-edge:#0b5527}.dash-tile.t-violet{--t:#6c4cf1;--t-edge:#4a2fc0}.dash-tile>.icon{opacity:.22;width:64px;height:64px;position:absolute;bottom:-8px;right:-8px}.dash-tile b{white-space:nowrap;font-size:1.7rem;font-weight:900;line-height:1.05;display:block;position:relative}.dash-tile b small{font-size:.55em;font-weight:800}.dash-tile span{margin-top:.25rem;font-size:.8rem;font-weight:800;line-height:1.2;display:block;position:relative}@media (width>=1000px){.dash-tiles{gap:1.1rem}.dash-tile{padding:1.1rem 1.4rem 1.2rem}.dash-tile>.icon{width:96px;height:96px;bottom:-6px;right:10px}.dash-tile b{font-size:2.7rem}.dash-tile span{font-size:1rem}}.dash-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem 1rem;margin-bottom:.8rem;display:flex}.dash-card-head h2{margin:0}.dash-tabs{background:#e3eff8;border-radius:99px;padding:4px;display:inline-flex}.dash-tabs button{font:inherit;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:99px;padding:.4rem .95rem;font-size:.92rem;font-weight:800}.dash-tabs button[aria-pressed=true]{color:var(--ink);box-shadow:0 2px 0 var(--line-strong);background:#fff}.dash-insight{background:var(--good-bg);color:var(--good);border-radius:14px;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0 0 .9rem;padding:.55rem .85rem;font-weight:800;display:flex}.dash-insight b{font-size:1.25rem;font-weight:900}.dash-matrix{gap:.5rem;display:grid}.dash-matrix>div{grid-template-columns:6.2rem repeat(3,minmax(0,1fr));align-items:stretch;gap:.5rem;display:grid}.dash-matrix small{color:var(--ink-soft);font-size:.78rem;font-weight:700;display:block}.dash-matrix-head span{padding:0 .2rem;font-size:.88rem;font-weight:900;line-height:1.2}.dash-matrix [role=rowheader]{align-self:center;font-size:.98rem}.dash-matrix [role=cell]{background:#f1f7fc;border-radius:16px;justify-content:space-between;align-items:center;gap:.4rem;min-height:54px;padding:.5rem .6rem;display:flex}.dash-matrix [role=cell]>b{font-size:1.2rem;font-weight:900}.dash-dots{flex-wrap:wrap;gap:4px;min-width:0;display:flex}.dash-dots .dot{background:var(--d);width:20px;height:20px;box-shadow:inset 0 2px 0 #ffffff59, 0 2px 0 var(--d-edge);border-radius:50%}.dot.lv-beginning{--d:#a9d9f5;--d-edge:#78b7dc}.dot.lv-middle{--d:#2f9be0;--d-edge:#1a74b3}.dot.lv-high{--d:#0b5f93;--d-edge:#063d60}.dash-note{margin:.8rem 0 0;font-size:.88rem}@media (width<=560px){.dash-matrix>div{grid-template-columns:4.6rem repeat(3,minmax(0,1fr));gap:.35rem}.dash-matrix-head span{font-size:.74rem}.dash-matrix-head small{font-size:.68rem}.dash-matrix [role=rowheader]{font-size:.85rem}.dash-matrix [role=cell]{flex-direction:column-reverse;align-items:flex-start;gap:.25rem;padding:.4rem .45rem}.dash-dots{gap:3px}.dash-dots .dot{width:13px;height:13px}}.dash-bars{gap:.6rem;display:grid}.dash-bar-row{grid-template-columns:minmax(0,13rem) minmax(0,1fr) 2.2rem;align-items:center;gap:.6rem;display:grid}.dash-bar-label{font-size:.92rem;font-weight:700;line-height:1.2}.dash-track{background:#e9f1f7;border-radius:6px;height:18px;position:relative}.dash-fill{background:#1f8fd6;border-radius:6px;position:absolute;inset:0 auto 0 0}.dash-tick{background:var(--ink);width:4px;box-shadow:0 0 0 2px var(--card);border-radius:2px;margin-left:-2px;position:absolute;top:-4px;bottom:-4px}.dash-bar-value{text-align:right;font-size:.95rem}.dash-legend{color:var(--ink-soft);flex-wrap:wrap;gap:.3rem 1rem;margin:.9rem 0 0;padding:0;font-size:.85rem;font-weight:700;list-style:none;display:flex}.dash-legend li{align-items:center;gap:.4rem;display:flex}.dash-legend .swatch{background:#1f8fd6;border-radius:4px;flex:none;width:14px;height:14px}.dash-legend .swatch.tick{background:var(--ink);border-radius:2px;width:4px}@media (width<=520px){.dash-bar-row{grid-template-columns:minmax(0,1fr) 2.2rem}.dash-bar-label{grid-column:1/-1;margin-bottom:-.35rem}}.dash-todo{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.dash-todo a{border:2px solid var(--line);background:var(--card);color:var(--ink);box-shadow:0 3px 0 var(--line);border-radius:18px;align-items:center;gap:.7rem;padding:.65rem .75rem;font-size:.98rem;font-weight:800;line-height:1.25;text-decoration:none;transition:transform .1s,box-shadow .1s,border-color .12s;display:flex}.dash-todo a:hover{border-color:var(--line-strong);box-shadow:0 5px 0 var(--line-strong);transform:translateY(-2px)}.dash-todo a:active{box-shadow:0 1px 0 var(--line-strong);transform:translateY(2px)}.dash-todo .icon-tile{--tile-size:42px}.dash-todo a>span:nth-child(2){flex:1;min-width:0}.dash-todo a>.icon{color:var(--ink-soft);flex:none}.dash-clear{color:var(--good);align-items:center;gap:.7rem;margin:0;font-weight:800;display:flex}@media (width>=1000px){.dash-bottom{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:stretch}}@media print{.dash-hero,.dash-tile{box-shadow:none}}.lesson-top{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.lesson-top h1{flex:12rem;margin:0}.lesson-crumbs{flex-wrap:wrap;align-items:center;gap:.3rem 1rem;display:flex}.lesson-crumbs p{margin:0}.back-link{min-height:44px;color:var(--brand);align-items:center;gap:.3rem;font-size:.92rem;font-weight:800;text-decoration:none;display:inline-flex}.back-link:hover{text-decoration:underline}.text-size{gap:.35rem;margin-left:auto;display:flex}.text-size button{min-width:46px;min-height:44px;color:var(--brand);font:inherit;cursor:pointer;box-shadow:inset 0 0 0 2px var(--line-strong), 0 3px 0 var(--line-strong);background:#fff;border:0;border-radius:13px;font-weight:900;transition:transform 80ms,box-shadow 80ms}.text-size button:active:not(:disabled){box-shadow:inset 0 0 0 2px var(--line-strong), 0 1px 0 var(--line-strong);transform:translateY(2px)}.text-size button:disabled{opacity:.4;cursor:not-allowed}.stage-nav{grid-template-columns:repeat(5,1fr);gap:clamp(.3rem,1vw,.8rem);margin:.7rem 0 1.1rem;display:grid}.stage-nav button{--edge:color-mix(in srgb, var(--stage) 32%, #fff);font:inherit;letter-spacing:-.02em;white-space:nowrap;color:var(--stage);cursor:pointer;overflow-wrap:anywhere;min-height:76px;box-shadow:inset 0 0 0 2px var(--edge), 0 4px 0 var(--edge);background:#fff;border:0;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:.3rem;padding:.5rem .15rem .45rem;font-size:clamp(.58rem,2.75vw,.8rem);font-weight:900;transition:transform 80ms,box-shadow 80ms,background-color .12s;display:flex;position:relative}.stage-nav button:active{box-shadow:inset 0 0 0 2px var(--edge), 0 1px 0 var(--edge);transform:translateY(3px)}.stage-nav .icon-tile{--tile-size:40px}.stage-nav button[aria-current=step]{--edge:color-mix(in srgb, var(--stage) 62%, #000);background:var(--stage);color:#fff;box-shadow:inset 0 2px 0 #ffffff40, 0 4px 0 var(--edge)}.stage-nav button[aria-current=step] .icon-tile{color:var(--stage);box-shadow:none;background:#fff}.stage-nav button.done:after{content:"";background:#2fbf5b url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 7 10 16l-4.5-4.5'/%3E%3C/svg%3E") 50%/70% no-repeat;border:2px solid #fff;border-radius:50%;width:24px;height:24px;animation:.35s cubic-bezier(.3,1.6,.5,1) pop-in;position:absolute;top:-6px;right:-4px}.lesson-grid.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1.2rem;display:grid}.text-panel{top:calc(var(--header-h) + 1.2rem);max-height:calc(100vh - var(--header-h) - 2.4rem);margin-bottom:0;position:sticky;overflow:auto}.text-panel h2{color:var(--ink-soft);font-size:1rem}.text-panel .reading-text{margin-bottom:0}.stage-card{--edge:color-mix(in srgb, var(--stage) 30%, #fff);border-color:var(--edge);box-shadow:0 4px 0 var(--edge)}.stage-head{align-items:center;gap:.8rem;margin-bottom:.9rem;display:flex}.stage-head h2{color:var(--stage);margin-bottom:.05rem;font-size:1.45rem}.stage-head p{margin:0}.stage-head .icon-tile{--tile-size:54px}.stage-badge{background:color-mix(in srgb, var(--stage) 12%, #fff);width:44px;height:44px;color:var(--stage);border-radius:14px;flex:none;place-items:center;display:grid}.reading-text{font-size:calc(1.28rem * var(--text-scale,1));white-space:pre-wrap;background:var(--page-tint);border:2px solid #f1e3b4;border-left:6px solid var(--stage,var(--brand-mid));border-radius:16px;margin:.75rem 0;padding:1rem 1.15rem;line-height:1.8}.segment{background:var(--page-tint);font-size:calc(1.28rem * var(--text-scale,1));border:2px solid #f1e3b4;border-radius:14px;margin-bottom:.5rem;padding:.6rem .85rem;line-height:1.7}.segment.current{border-color:var(--stage,var(--brand));background:#fff}.chip-row{flex-wrap:wrap;gap:.35rem;display:flex}.chip{background:var(--warn-bg);color:var(--warn);border-radius:99px;padding:.15rem .7rem;font-size:.88rem;font-weight:800}.chip.ok-chip{background:var(--good-bg);color:var(--good)}.chip.gray{color:var(--ink-soft);background:#e3edf5}.word-list{gap:.45rem;margin:0;padding:0;list-style:none;display:grid}.word-list li{background:color-mix(in srgb, var(--stage) 8%, #fff);border-radius:14px;padding:.55rem .8rem}.word-list b{color:var(--stage)}@media (width>=1100px){.read-layout{grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);align-items:start;gap:1.4rem;display:grid}.read-layout .reading-text{margin-top:0}}details{border:2px solid var(--line);border-radius:14px;padding:0 .85rem}details summary{cursor:pointer;align-items:center;min-height:46px;font-weight:800;list-style:none;display:flex}details summary::-webkit-details-marker{display:none}details summary:after{content:"";border-right:3px solid var(--ink-soft);border-bottom:3px solid var(--ink-soft);width:9px;height:9px;margin:-4px 4px 0 auto;transition:transform .15s;transform:rotate(45deg)}details[open] summary:after{margin-top:4px;transform:rotate(225deg)}.question{margin-bottom:1.3rem}.question .q{margin-bottom:.5rem;font-size:1.05rem;font-weight:800}.option{--edge:var(--line-strong);text-align:left;width:100%;min-height:52px;font:inherit;color:var(--ink);cursor:pointer;box-shadow:inset 0 0 0 2px var(--edge), 0 3px 0 var(--edge);background:#fff;border:0;border-radius:16px;align-items:center;gap:.65rem;margin-bottom:.6rem;padding:.5rem .85rem;font-weight:700;transition:transform 80ms,box-shadow 80ms,background-color .12s;display:flex}.option:hover{--edge:color-mix(in srgb, var(--stage,var(--brand)) 45%, #fff)}.option:active{box-shadow:inset 0 0 0 2px var(--edge), 0 1px 0 var(--edge);transform:translateY(2px)}.opt-letter{width:30px;height:30px;color:var(--ink-soft);background:#e3edf5;border-radius:10px;flex:none;place-items:center;font-size:.9rem;font-weight:900;display:grid}.option[aria-pressed=true]{--edge:var(--stage);background:color-mix(in srgb, var(--stage) 9%, #fff);font-weight:900}.option[aria-pressed=true] .opt-letter{background:var(--stage);color:#fff}.option.correct{--edge:#2fa457;background:var(--good-bg)}.option.correct .opt-letter{background:var(--good);color:#fff}.option-grid{grid-template-columns:1fr 1fr;gap:.6rem .5rem;margin-bottom:.9rem;display:grid}.option-grid .option{text-align:center;justify-content:center;margin-bottom:0}.hint{color:var(--warn);font-size:.95rem;font-weight:700}.deliver-line{font-size:calc(1.2rem * var(--text-scale,1));background:var(--page-tint);border:2px solid #f1e3b4;border-radius:14px;margin-bottom:.45rem;padding:.65rem .9rem}mark.emphasis{background:color-mix(in srgb, var(--deliver) 16%, #fff);color:var(--deliver);border-radius:6px;padding:0 .15em;font-weight:900}.lab{background:color-mix(in srgb, var(--deliver) 6%, #fff);border:2px solid color-mix(in srgb, var(--deliver) 28%, #fff);border-radius:18px;margin-top:.9rem;padding:1rem}.lab h3{color:var(--deliver);align-items:center;gap:.4rem;display:flex}.record-btn{width:100%}button.btn.record-btn{--btn-bg:var(--stage,var(--brand));--btn-edge:color-mix(in srgb, var(--stage,var(--brand)) 62%, #000);--btn-ink:#fff;min-height:58px}button.btn.record-btn.on{--btn-bg:var(--danger);--btn-edge:#7e150c;animation:1.4s ease-in-out infinite pulse}audio{width:100%;height:40px;margin-top:.4rem}.download-link{align-items:center;min-height:40px;font-size:.88rem;font-weight:700;display:inline-flex}.check-row{cursor:pointer;align-items:center;gap:.6rem;min-height:40px;padding:.4rem 0;font-weight:700;display:flex}.check-row input{width:24px;height:24px;accent-color:var(--brand);flex:none}.check-grid{gap:.5rem;margin-bottom:1rem;display:grid}.check-grid .check-row{box-shadow:inset 0 0 0 2px var(--line-strong);border-radius:14px;padding:.55rem .8rem;transition:background-color .15s,box-shadow .15s}.check-grid .check-row:has(input:checked){background:var(--good-bg);box-shadow:inset 0 0 0 2px #2fa457}.check-grid .check-row input{accent-color:var(--good)}.confirm-box{background:#fff5f3;border:2px solid #efb1aa;border-radius:16px;padding:.75rem .85rem}.confirm-box p{margin-bottom:.55rem;font-weight:700}.teacher-note{background:var(--brand-soft);border-radius:14px;margin:.5rem 0;padding:.55rem .8rem;font-size:.95rem}.save-bar{z-index:2;background:var(--card);border:2px solid var(--line-strong);box-shadow:0 4px 0 var(--line-strong);border-radius:18px;padding:.5rem .75rem;position:sticky;bottom:.5rem}.has-nav-few .save-bar{bottom:5.4rem}.nav-actions{justify-content:space-between;gap:.6rem;margin-top:1.2rem;display:flex}.nav-actions .btn{padding-inline:.9rem}.nav-actions .btn:last-child{flex:0 auto}@media (width<=899px){.nav-actions .btn:last-child{flex:auto}}@media (width<=400px){.logout-label{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app-header .link-btn{padding-inline:.6rem}}.finish-row{gap:1.1rem;margin-top:1.1rem;display:grid}.finish-row>.card{margin-bottom:0}@media (width>=1000px){.finish-row.two{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}}.done-card{text-align:center;background:linear-gradient(#e9fbe6,#fff 70%);border-color:#a8dfb5;position:relative;overflow:hidden;box-shadow:0 4px #a8dfb5}.done-stars{color:var(--gold);justify-content:center;gap:.35rem;margin-bottom:.5rem;display:flex}.done-stars svg{fill:var(--gold);stroke:#d48f00}.done-card.fresh .done-stars svg{animation:.45s cubic-bezier(.3,1.6,.5,1) backwards pop-in}.done-card.fresh .done-stars svg:nth-child(2){animation-delay:80ms}.done-card.fresh .done-stars svg:nth-child(3){animation-delay:.16s}.done-card.fresh .done-stars svg:nth-child(4){animation-delay:.24s}.done-card.fresh .done-stars svg:nth-child(5){animation-delay:.32s}.done-strip{background:var(--good-bg);color:var(--good);border-radius:16px;flex-wrap:wrap;align-items:center;gap:.6rem;margin:1rem 0 0;padding:.6rem .9rem;font-weight:800;display:flex}.done-strip .link-btn{color:var(--good);margin-left:auto;text-decoration:underline}.confetti{pointer-events:none;position:absolute;inset:0}.confetti i{opacity:0;border-radius:3px;width:10px;height:14px;animation:1.5s ease-in forwards confetti;position:absolute;top:-12px}.confetti i:nth-child(5n+1){background:#7c5cff}.confetti i:nth-child(5n+2){background:#2f86ff}.confetti i:nth-child(5n+3){background:#f0479a}.confetti i:nth-child(5n+4){background:#ff8a1f}.confetti i:nth-child(5n){background:#2fbf5b}.empty-note{border:2px dashed var(--line-strong);color:var(--ink-soft);background:#fff;border-radius:16px;margin-bottom:0;padding:.8rem 1rem;font-size:.95rem;font-weight:700}.memorize,.sequence,.roles,.wheel{border-top:2px dashed var(--line);margin-top:1rem;padding-top:.9rem}.read-side>:first-child{border-top:0;margin-top:0;padding-top:0}.memorize-text div{min-height:1.4em}.memorize-text .stanza-gap{min-height:.8em}.sequence-options .option:disabled{opacity:1;cursor:default}.role-chip{min-height:46px;font:inherit;color:var(--ink);cursor:pointer;box-shadow:inset 0 0 0 2px var(--line-strong), 0 3px 0 var(--line-strong);background:#fff;border:0;border-radius:99px;padding:.3rem 1rem;font-weight:900}.role-chip[aria-pressed=true]{background:var(--stage,var(--brand));color:#fff;box-shadow:0 3px 0 color-mix(in srgb, var(--stage,var(--brand)) 62%, #000)}.role-lines{margin-top:.7rem}.role-line{font-size:calc(1.1rem * var(--text-scale,1));border-radius:12px;margin-bottom:.3rem;padding:.45rem .7rem}.role-line.mine{background:color-mix(in srgb, var(--stage,var(--brand)) 12%, #fff);border-left:5px solid var(--stage,var(--brand));font-weight:700}.role-line.other{color:var(--ink-soft)}.wheel{text-align:center}.wheel-stage{width:min(280px,100%);margin:.5rem auto 1rem;position:relative}.wheel-pointer{color:var(--ink);z-index:1;font-size:1.5rem;line-height:1;position:absolute;top:-6px;left:50%;transform:translate(-50%)}.wheel-disc{width:100%;height:auto;transition:transform 2.5s cubic-bezier(.17,.67,.2,1);display:block}.wheel-result{margin-top:.7rem;font-size:1.1rem}.wheel-result b{color:var(--stage,var(--brand))}.drawing .row{margin-bottom:.5rem}.color-dot{width:38px;height:38px;box-shadow:0 0 0 2px var(--line-strong);cursor:pointer;border:3px solid #fff;border-radius:50%}.color-dot[aria-pressed=true]{box-shadow:0 0 0 3px var(--ink)}.drawing-canvas{aspect-ratio:3/2;border:2px solid var(--line-strong);touch-action:none;cursor:crosshair;background:#fff;border-radius:16px;width:100%;height:auto}.work-drawing{border:2px solid var(--line);border-radius:12px;width:100%;max-width:320px;margin-top:.3rem;display:block}.chest{text-align:center;background:linear-gradient(170deg,#fff3c4,#fff 75%);border-color:#f0cf6e;box-shadow:0 4px #f0cf6e}.chest-head{text-align:left;justify-content:center;align-items:center;gap:.8rem;margin-bottom:.9rem;display:flex}.chest-head p{margin:0}.chest-head .icon-tile{--tile-size:60px}.chest-open{min-width:220px}.chest-card{border:3px dashed var(--gold);background:#fff;border-radius:18px;padding:1rem;animation:.45s cubic-bezier(.3,1.5,.5,1) chest-pop}.chest-text{margin:.6rem 0 1rem;font-size:1.2rem;font-weight:800}.chest-card .row{justify-content:center}.class-mode{background:var(--card);border-radius:var(--radius);min-height:70vh;padding:clamp(1rem,3vw,2.5rem)}.class-mode:fullscreen{border-radius:0;overflow:auto}.class-toolbar{align-items:center;gap:.5rem;margin-bottom:1rem;display:flex}.class-toolbar select{max-width:420px;margin-top:0}.class-stages{flex-wrap:wrap;gap:.4rem;margin-bottom:1.2rem;display:flex}.class-stages button{border:2px solid var(--stage);background:var(--card);min-height:48px;color:var(--stage);font:inherit;cursor:pointer;border-radius:99px;align-items:center;gap:.4rem;padding:.4rem 1rem;font-weight:800;display:inline-flex}.class-stages button[aria-current=step]{background:var(--stage);color:#fff}.class-title{color:var(--stage);font-size:clamp(2rem,4vw,3.4rem)}.class-goal{color:var(--ink-soft);font-size:clamp(1.1rem,2vw,1.6rem);font-weight:700}.class-text{white-space:pre-wrap;font-size:clamp(1.4rem,2.6vw,2.3rem);line-height:1.7}.class-line{border-left:6px solid var(--stage);padding-left:1rem;font-size:clamp(1.4rem,2.6vw,2.3rem);line-height:1.6}.class-tip{background:color-mix(in srgb, var(--stage) 8%, var(--card));border-radius:14px;padding:.8rem 1rem;font-size:clamp(1.1rem,2vw,1.6rem)}.class-questions{font-size:clamp(1.3rem,2.4vw,2.1rem);line-height:1.6}.class-questions li{margin-bottom:.6rem}.class-note{color:var(--ink-soft);margin-top:1.5rem;font-size:.95rem}.class-mode .wheel{max-width:420px;margin:1rem auto 0}.class-mode .wheel-stage{width:min(380px,100%)}.listen-head{min-height:var(--header-h);color:var(--ink);background:linear-gradient(#45c6f3,#19b1e8);border-bottom:4px solid #0e8fcc;align-items:center;gap:.55rem;padding:.4rem clamp(.75rem,2vw,1.5rem);font-weight:900;display:flex}.listen-head img{border-radius:12px;width:38px;height:38px}.plan-table input[type=date]{min-width:150px;margin-top:0}.plan-table .chip{margin:.25rem .25rem 0 0;display:inline-block}.plan-check{width:24px;height:24px;accent-color:var(--brand)}.work-lesson{margin-bottom:.5rem}.work-stage{border-top:2px solid var(--line);padding:.6rem 0}.work-stage h3{color:var(--stage);margin-bottom:.35rem}.work-answer{overflow-wrap:anywhere;margin-bottom:.5rem}.work-answer>span{color:var(--ink-soft);font-size:.82rem;font-weight:700;display:block}.period-tiles{grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:.9rem;display:grid}.period-tile{background:var(--paper);border-radius:16px;padding:.6rem .7rem}.period-tile .label{color:var(--ink-soft);font-size:.75rem;font-weight:800}.period-tile .value{color:var(--brand);font-size:1.35rem;font-weight:900;line-height:1.2}.period-tile .value small{color:var(--ink-soft);font-size:.8rem;font-weight:700}.period-track{background:#d5e3ee;border-radius:99px;height:8px;margin-top:.3rem;overflow:hidden}.period-fill{background:var(--brand-mid);border-radius:99px;height:100%}.table-wrap{overflow-x:auto}table.data{border-collapse:separate;border-spacing:0;background:var(--card);border:2px solid var(--line);border-radius:16px;width:100%;font-size:.92rem;overflow:hidden}table.data th,table.data td{border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;padding:.5rem .65rem}table.data tr:last-child>*{border-bottom:0}table.data th{background:var(--brand-soft);font-size:.85rem;font-weight:900}table.data td.num,table.data th.num{text-align:center}table.data tbody tr:hover td{background:#f5fbff}.score-row{border-bottom:2px solid var(--line);padding:.8rem 0}.score-row .label{margin-bottom:.4rem;font-weight:800}.score-options{grid-template-columns:repeat(3,1fr);gap:.4rem;display:grid}.score-options button{--score:var(--deliver);border:2px solid var(--line-strong);background:var(--card);font:inherit;cursor:pointer;color:var(--ink);border-radius:14px;min-height:62px;padding:.4rem;font-size:.78rem;font-weight:700;line-height:1.25;transition:border-color .15s,background-color .15s}.score-options button:nth-child(2){--score:var(--understand)}.score-options button:nth-child(3){--score:var(--create)}.score-options button b{color:var(--score);font-size:1.1rem;font-weight:900;display:block}.score-options button:hover{border-color:var(--score)}.score-options button[aria-pressed=true]{border-color:var(--score);background:var(--score);color:#fff}.score-options button[aria-pressed=true] b{color:#fff}.total-box{color:var(--brand-deep);background:var(--brand-soft);z-index:2;border-radius:16px;flex-wrap:wrap;align-items:center;gap:.6rem;padding:.55rem .85rem;font-size:1.3rem;font-weight:900;display:flex;position:sticky;bottom:.5rem}.bars{gap:.35rem;display:grid}.bar-row{grid-template-columns:76px 1fr 44px;align-items:center;gap:.4rem;font-size:.85rem;display:grid}.bar-track{background:#d5e3ee;border-radius:99px;height:12px;overflow:hidden}.bar-fill{background:var(--brand-mid);border-radius:99px;height:100%}.draft-tag{background:var(--warn-bg);color:var(--warn);border-radius:8px;padding:.1rem .5rem;font-size:.8rem;font-weight:800}.approved-tag{background:var(--good-bg);color:var(--good);border-radius:8px;padding:.1rem .5rem;font-size:.8rem;font-weight:800}.qr-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:1rem;display:grid}.qr-card{text-align:center}.qr-card img{aspect-ratio:1;width:160px;max-width:100%;height:auto}@media (width<=700px){.qr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.qr-card{padding:.7rem .5rem}}.cred-table td{font-size:1rem}.page-head{align-items:center;gap:.9rem;margin-bottom:1.1rem;display:flex}.page-head .icon-tile{--tile-size:48px}.page-head h1{margin:0}.page-head p{margin:.15rem 0 0}.head-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;margin-bottom:1.1rem;display:flex}.head-row .page-head{flex:22rem;margin-bottom:0}.col,.cols-2>*,.cols-3>*,.cols-main>*{min-width:0}.col>.card:last-child{margin-bottom:0}.cols-main{align-items:start;gap:1.1rem;margin-bottom:1.1rem;display:grid}.cols-main>.card{margin-bottom:0}.cols-2,.cols-3{margin-bottom:1.1rem}@media (width>=1000px){.page-head .icon-tile{--tile-size:58px}.cols-main{grid-template-columns:minmax(0,2.2fr) minmax(0,1fr)}}.period-tiles{gap:.6rem}.period-tile{box-shadow:inset 0 0 0 2px var(--line-strong), 0 3px 0 var(--line-strong);background:#fff;padding:.65rem .8rem .75rem}.period-tile:first-child{--p:#2f86ff}.period-tile:nth-child(2){--p:#ff8a1f}.period-tile:nth-child(3){--p:#2fbf5b}.period-tile .value{color:var(--ink);font-size:1.6rem}.period-track{height:10px}.period-fill{background:var(--p,var(--brand-mid))}.chest-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));align-items:start;gap:1rem;display:grid}.chest-lesson{border-color:#f0cf6e;margin-bottom:0;box-shadow:0 4px #f0cf6e}.chest-lesson h2{font-size:1.15rem}.chest-item{background:var(--paper);border-left:5px solid var(--k,var(--brand-mid));border-radius:14px;margin:.6rem 0 0;padding:.55rem .75rem;font-weight:700}.chest-item>span{color:var(--k-ink,var(--ink-soft))}.chest-item.kind-question{--k:#2f86ff;--k-ink:var(--understand)}.chest-item.kind-value{--k:#f0479a;--k-ink:var(--feel)}.chest-item.kind-proverb{--k:#ff8a1f;--k-ink:var(--deliver)}.chest-item.kind-creative{--k:#2fbf5b;--k-ink:var(--create)}.form-card{max-width:1100px}@media (width>=1000px){.feedback-questions{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1.2rem;display:grid}}@media (width<=700px){table.data{font-size:.86rem}table.data th,table.data td{padding:.45rem .4rem}table.data.fit{table-layout:fixed}table.data.fit th:first-child,table.data.fit td:first-child{width:37%}table.data.fit th{letter-spacing:-.03em;padding-inline:.15rem;font-size:.6rem}table.data.fit th:first-child{padding-inline:.4rem;font-size:.7rem}.table-wrap table.data:not(.fit){overflow:visible}.table-wrap table.data:not(.fit) td:first-child,.table-wrap table.data:not(.fit) th:first-child{z-index:1;box-shadow:2px 0 0 var(--line);position:sticky;left:0}.table-wrap table.data:not(.fit) td:first-child{background:#fff}.hide-narrow{display:none}.plan-table input[type=date]{min-width:128px;padding-inline:.4rem}}.masonry{margin-bottom:1.1rem}.masonry>.card{break-inside:avoid}@media (width>=1000px){.masonry{columns:2;column-gap:1.1rem}}.cards-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));align-items:start;gap:1rem;display:grid}.cards-grid>.card{margin-bottom:0}.info-nav{gap:.3rem;display:flex}.info-nav a{min-height:40px;color:var(--ink);border-radius:99px;align-items:center;padding:0 .75rem;font-size:.92rem;font-weight:800;text-decoration:none;display:inline-flex}.info-nav a:hover{background:#ffffff73}.info-nav a[aria-current=page]{background:#fff;box-shadow:0 3px #003c6459}.info-stages{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.info-stages li{align-items:center;gap:.75rem;display:flex}.info-stages li b{color:var(--stage);display:block}.info-stages .icon-tile{--tile-size:42px}@media (width<=520px){.info-nav a{padding:0 .5rem;font-size:.82rem}.app-header:has(.info-nav) .logo span{display:none}}.listen-title{color:var(--deliver);align-items:center;gap:.6rem;display:flex}.class-stages button{box-shadow:inset 0 0 0 2px var(--stage), 0 3px 0 color-mix(in srgb, var(--stage) 55%, #fff);border:0;transition:transform 80ms,box-shadow 80ms}.class-stages button:active{box-shadow:inset 0 0 0 2px var(--stage), 0 1px 0 color-mix(in srgb, var(--stage) 55%, #fff);transform:translateY(2px)}.class-stages button[aria-current=step]{box-shadow:0 3px 0 color-mix(in srgb, var(--stage) 62%, #000)}.class-mode{border:2px solid var(--line);box-shadow:var(--shadow)}@keyframes page-in{0%{transform:translateY(10px)}to{transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(.8)}to{transform:scale(1)}}@keyframes pop-in{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@keyframes chest-pop{0%{opacity:0;transform:scale(.6)rotate(-4deg)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{box-shadow:0 4px 0 var(--btn-edge), 0 0 0 0 #c0271a73}50%{box-shadow:0 4px 0 var(--btn-edge), 0 0 0 9px #c0271a00}}@keyframes confetti{0%{opacity:1;transform:translateY(0)rotate(0)}to{opacity:0;transform:translateY(260px)rotate(540deg)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}@media (width>=900px){.stage-nav button{flex-direction:row;gap:.6rem;min-height:68px;padding:.5rem .6rem;font-size:1rem}.stage-nav .icon-tile{--tile-size:44px}.check-grid{grid-template-columns:1fr 1fr}}@media print{.app-header,.app-nav,.demo-banner,.network-banner,.no-print{display:none!important}:root{--card:#fff;--paper:#fff;--line:#cfcfcf;--line-strong:#bdbdbd}body{background:#fff}.app-body.has-nav{display:block}main.page{padding:0;animation:none}.card{box-shadow:none;break-inside:avoid}.save-bar{display:none}.total-box{position:static}.masonry{columns:1}}.page-swap{animation:.22s ease-out page-in}@media print{.page-swap{animation:none}}
