@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/atkinson-hyperlegible-latin-400-normal-BrHNak5F.woff2) format("woff2")}@font-face{font-family:Atkinson Hyperlegible;font-style:italic;font-weight:400;font-display:swap;src:url(/assets/atkinson-hyperlegible-latin-400-italic-D-qjh7ci.woff2) format("woff2")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/atkinson-hyperlegible-latin-700-normal-GZI4o3u0.woff2) format("woff2")}@font-face{font-family:Fredoka;font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fredoka-latin-500-normal-B0JifZgm.woff2) format("woff2")}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fredoka-latin-600-normal-C4zohCW5.woff2) format("woff2")}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fredoka-latin-700-normal-BOIZVyIN.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2) format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/jetbrains-mono-latin-600-normal-C8RAYTDA.woff2) format("woff2")}:root{--desk: #FBF5EA;--paper: #FFFDF8;--paper-2: #F6EFE2;--ink: #2A2833;--ink-soft: #5B5866;--edge: #857B67;--rule: #E8DFCE;--mint: #CFEFDF;--peach: #FDDCCB;--lavender: #E3DCF7;--sky: #D5E8F8;--butter: #FFEFB8;--rose: #F9D5E0;--leaf: #1A6B4A;--leaf-dark: #0F4A32;--ocean: #1F5E99;--plum: #6B4FA8;--coral: #A33A25;--honey: #8A5A00;--on-accent: #FFFFFF;--focus: #1F5E99;--shadow: 0 2px 0 var(--rule), 0 10px 24px rgba(42, 40, 51, .07);--shadow-lift: 0 2px 0 var(--rule), 0 16px 34px rgba(42, 40, 51, .12);--code-bg: #2A2833;--code-ink: #F3EFE6;--dot: #E8DFCE;--radius: 18px;--radius-s: 12px;--font-body: "Atkinson Hyperlegible", "Segoe UI", system-ui, -apple-system, sans-serif;--font-display: "Fredoka", "Atkinson Hyperlegible", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", Menlo, Consolas, monospace;--header-h: 112px;--fs: 1.0625rem;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--desk: #1C1B22;--paper: #26252E;--paper-2: #2E2D37;--ink: #F3EFE6;--ink-soft: #C2BDCB;--edge: #9C96A8;--rule: #3A3844;--mint: #1F4436;--peach: #4A2E25;--lavender: #352D52;--sky: #1E3A55;--butter: #4A3C12;--rose: #4A2534;--leaf: #7BD9AA;--leaf-dark: #4FB585;--ocean: #8EC5F5;--plum: #C9B8F5;--coral: #F5A48C;--honey: #F2CF6B;--on-accent: #16151B;--focus: #8EC5F5;--shadow: 0 2px 0 #14131A, 0 10px 24px rgba(0, 0, 0, .35);--shadow-lift: 0 2px 0 #14131A, 0 16px 34px rgba(0, 0, 0, .45);--code-bg: #121117;--dot: #2C2B34;color-scheme:dark}}:root[data-theme=dark]{--desk: #1C1B22;--paper: #26252E;--paper-2: #2E2D37;--ink: #F3EFE6;--ink-soft: #C2BDCB;--edge: #9C96A8;--rule: #3A3844;--mint: #1F4436;--peach: #4A2E25;--lavender: #352D52;--sky: #1E3A55;--butter: #4A3C12;--rose: #4A2534;--leaf: #7BD9AA;--leaf-dark: #4FB585;--ocean: #8EC5F5;--plum: #C9B8F5;--coral: #F5A48C;--honey: #F2CF6B;--on-accent: #16151B;--focus: #8EC5F5;--shadow: 0 2px 0 #14131A, 0 10px 24px rgba(0, 0, 0, .35);--shadow-lift: 0 2px 0 #14131A, 0 16px 34px rgba(0, 0, 0, .45);--code-bg: #121117;--dot: #2C2B34;color-scheme:dark}:root[data-text=large]{--fs: 1.1875rem}:root[data-text=xl]{--fs: 1.375rem}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html{scroll-padding-top:calc(var(--header-h) + 16px);-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;font-family:var(--font-body);font-size:var(--fs);line-height:1.6;color:var(--ink);background-color:var(--desk);background-image:radial-gradient(var(--dot) 1.2px,transparent 1.2px);background-size:24px 24px}img,svg{max-width:100%}a{color:var(--ocean);text-underline-offset:.18em;text-decoration-thickness:.08em}a:hover{text-decoration-thickness:.14em}:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.2;margin:0 0 .5em;font-weight:600;text-wrap:balance}p{margin:0 0 .8em;text-wrap:pretty}code,kbd,pre{font-family:var(--font-mono)}.ic{font-size:.9em;background:var(--paper-2);border:1px solid var(--rule);border-radius:6px;padding:.05em .35em;white-space:pre-wrap;word-break:break-word}.code-block{background:var(--code-bg);color:var(--code-ink);border-radius:var(--radius-s);padding:14px 16px;overflow-x:auto;font-size:.92rem;line-height:1.6;margin:0 0 1em;white-space:pre}.code-block code{font-family:var(--font-mono)}.rich-list{margin:0 0 1em;padding-left:1.3em}.rich-list li{margin:.25em 0}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.muted{color:var(--ink-soft)}.small{font-size:.875em}.mono{font-family:var(--font-mono);font-size:.92em}.row{display:flex;align-items:center}.wrap{flex-wrap:wrap}.gap-xs{gap:6px}.gap-s{gap:12px}.mt{margin-top:1.5em}.noscript{padding:2rem}.skip-link{position:absolute;left:16px;top:-100px;z-index:1000;background:var(--leaf);color:var(--on-accent);padding:12px 18px;border-radius:12px;font-weight:700;text-decoration:none}.skip-link:focus{top:12px}.topbar{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 94%,transparent);backdrop-filter:blur(8px);border-bottom:2px solid var(--rule)}.topbar-inner{max-width:1280px;margin:0 auto;padding:8px 20px 0;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"brand tools" "nav nav";align-items:center;column-gap:16px;row-gap:4px}.brand{grid-area:brand;display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--ink);font-family:var(--font-display);font-weight:700;font-size:1.3rem;white-space:nowrap;min-height:44px}.lumi-logo{width:76px;height:44px}.lumi.lumi-logo{overflow:hidden}.main-nav{grid-area:nav}.nav{list-style:none;margin:0 0 -2px;padding:0;display:flex;gap:4px;flex-wrap:wrap}.nav-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:12px 12px 0 0;color:var(--ink);text-decoration:none;font-family:var(--font-display);font-weight:500;position:relative;border:2px solid transparent;border-bottom:0}.nav-link:hover{background:var(--paper-2)}.nav-link[aria-current=page]{background:var(--desk);border-color:var(--rule);font-weight:600}.nav-link[aria-current=page]:after{content:"";position:absolute;left:14px;right:14px;top:6px;height:3px;border-radius:3px;background:var(--leaf)}.nav-badge{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--coral);color:var(--on-accent);font-size:.78rem;font-weight:700;display:inline-grid;place-items:center;font-family:var(--font-body)}.tools{grid-area:tools;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.tool-btn{min-height:44px;min-width:44px;padding:0 12px;border-radius:12px;border:2px solid var(--rule);background:var(--paper);color:var(--ink);font:inherit;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}.tool-btn:hover{border-color:var(--edge)}.tool-btn.icon-only{padding:0}.kbd{font-size:.72rem;border:1px solid var(--edge);border-radius:6px;padding:1px 5px;color:var(--ink-soft)}.menu-btn,.ring-fg[stroke-dasharray^="0 "]{display:none}.chip{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border-radius:999px;font-weight:700;white-space:nowrap;text-decoration:none}.chip-xp{background:var(--butter);color:var(--honey);border:2px solid color-mix(in srgb,var(--honey) 35%,transparent)}.chip-xp.bump{animation:bump .6s cubic-bezier(.3,1.6,.5,1)}.chip-streak{background:var(--peach);color:var(--coral);border:2px solid color-mix(in srgb,var(--coral) 30%,transparent)}.icon{width:1.25em;height:1.25em;flex:none;vertical-align:-.22em}.icon-sm{width:1em;height:1em}.icon-star path{fill:#e0a321;stroke:#b07a0e}.icon-flame path{fill:#e2643f;stroke:#b5462a}.icon-filled path{fill:currentColor}.sync-dot{width:12px;height:12px;border-radius:50%;background:var(--edge)}.sync-dot.sync-idle{background:#2e9e6b}.sync-dot.sync-syncing{background:var(--ocean);animation:pulse 1s infinite}.sync-dot.sync-error{background:var(--coral)}.sync-dot.sync-offline{background:var(--honey)}.rank-chip{font-weight:700}.main{max-width:1280px;margin:0 auto;padding:24px 20px 64px;outline:none}.page{animation:page-in .35s ease-out}.page.narrow{max-width:860px;margin:0 auto}.page-head{margin-bottom:20px}.page-title{font-size:clamp(1.8rem,1.2rem + 2vw,2.6rem);font-weight:700;margin-bottom:.3em}.lead{font-size:1.1em;color:var(--ink-soft);max-width:70ch}.eyebrow{font-family:var(--font-display);font-weight:600;color:var(--ink-soft);margin:0 0 4px;text-transform:none;letter-spacing:.01em}.footer{border-top:2px solid var(--rule);background:var(--paper)}.footer-inner{max-width:1280px;margin:0 auto;padding:20px;font-size:.9rem}.card{background:var(--paper);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);margin-bottom:20px}.h-card{font-size:1.25rem;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.h-small{font-size:1.05rem;display:flex;align-items:center;gap:6px;margin-bottom:.5em}.label{display:flex;align-items:center;gap:6px;font-weight:700;margin-bottom:6px}.empty{color:var(--ink-soft);padding:16px;border:2px dashed var(--rule);border-radius:var(--radius-s)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:14px;border:2px solid transparent;font-family:var(--font-display);font-weight:600;font-size:1.05rem;text-decoration:none;cursor:pointer;transition:transform .12s,box-shadow .12s,background-color .2s;line-height:1.15;text-align:center}.btn:active:not(:disabled){transform:translateY(2px)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--leaf);color:var(--on-accent);box-shadow:0 4px 0 var(--leaf-dark)}.btn-primary:hover:not(:disabled){filter:brightness(1.07)}.btn-primary:active:not(:disabled){box-shadow:0 2px 0 var(--leaf-dark)}.btn-secondary{background:var(--paper);color:var(--ink);border-color:var(--ink);box-shadow:0 4px 0 var(--ink)}.btn-secondary:active:not(:disabled){box-shadow:0 2px 0 var(--ink)}.btn-ghost{background:transparent;color:var(--ocean);text-decoration:underline;text-underline-offset:4px;padding:0 12px}.btn-hint{background:var(--butter);color:var(--ink);border-color:color-mix(in srgb,var(--honey) 55%,transparent);box-shadow:0 4px color-mix(in srgb,var(--honey) 55%,transparent)}.btn-danger{background:var(--coral);color:var(--on-accent)}.btn-danger-outline{background:var(--paper);color:var(--coral);border-color:var(--coral)}.btn-lg{min-height:54px;font-size:1.15rem;padding:0 24px}.btn-sm{min-height:44px;padding:0 14px;font-size:.95rem}.icon-btn{min-width:44px;min-height:44px;border-radius:12px;border:2px solid var(--rule);background:var(--paper);color:var(--ink);display:inline-grid;place-items:center;cursor:pointer}.icon-btn:hover{border-color:var(--edge)}.icon-btn:disabled{opacity:.4;cursor:not-allowed}.icon-btn.sm{min-width:40px;min-height:40px}.icon-btn.xs{min-width:32px;min-height:32px;border-width:1px}.pill{display:inline-flex;align-items:center;gap:5px;padding:3px 12px;border-radius:999px;font-weight:700;font-size:.85rem;font-family:var(--font-body)}.pill .icon{width:1em;height:1em}.pill-guided{background:var(--mint);color:var(--leaf)}.pill-assisted{background:var(--sky);color:var(--ocean)}.pill-solo{background:var(--lavender);color:var(--plum)}.lvl{display:inline-block;font-family:var(--font-mono);font-weight:600;font-size:.78rem;padding:2px 8px;border-radius:7px;border:2px solid var(--ink);color:var(--ink);line-height:1.4}.lvl-aa{background:var(--ink);color:var(--paper)}.lvl-aaa{border-style:dashed;border-color:var(--plum);color:var(--plum)}.new-tag{font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:7px;background:var(--rose);color:var(--ink)}.xp-badge{display:inline-block;font-weight:700;color:var(--honey);background:var(--butter);padding:3px 12px;border-radius:999px}.washi{position:absolute;top:-12px;width:110px;height:26px;transform:rotate(-4deg);opacity:.92;pointer-events:none}.washi-a{left:28px;background:repeating-linear-gradient(90deg,#ffe7a0 0 12px,#f7c9d6 12px 24px)}.washi-b{right:32px;transform:rotate(3deg);background:repeating-linear-gradient(135deg,#cfe3f7 0 10px,#e0d8f6 10px 20px)}.ring{position:relative;display:inline-grid;place-items:center;flex:none}.ring svg{display:block}.ring-bg{stroke:var(--rule)}.ring-fg{stroke:var(--leaf);transition:stroke-dasharray .8s ease-out}.ring-sky .ring-fg{stroke:var(--ocean)}.ring-butter .ring-fg{stroke:var(--honey)}.ring-lavender .ring-fg{stroke:var(--plum)}.ring-mint .ring-fg{stroke:var(--leaf)}.ring-label{position:absolute;font-weight:700;font-size:.8rem}.bar{display:block;height:14px;border-radius:999px;background:var(--rule);overflow:hidden;margin:8px 0}.bar-fill{display:block;height:100%;border-radius:999px;background:repeating-linear-gradient(135deg,var(--leaf) 0 10px,color-mix(in srgb,var(--leaf) 85%,white) 10px 20px);transition:width .8s ease-out}.lumi-box{display:flex;align-items:flex-end;gap:10px}.lumi-art{flex:none}.lumi-sm .lumi-art{width:120px}.lumi-md .lumi-art{width:180px}.lumi-lg .lumi-art{width:260px}.lumi-art .lumi{width:100%;height:auto;display:block}.lumi-bubble{position:relative;background:var(--paper);border:2px solid var(--ink);border-radius:20px;padding:14px 18px;box-shadow:4px 4px 0 var(--ink);margin-bottom:40px;flex:1;min-width:0}.lumi-bubble:before{content:"";position:absolute;left:-12px;bottom:22px;width:20px;height:20px;background:var(--paper);border-left:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg)}.lumi-bubble.pop{animation:pop .35s cubic-bezier(.3,1.5,.5,1)}.lumi-name{font-family:var(--font-display);font-weight:600;font-size:.85rem;color:var(--leaf);margin:0 0 4px}.lumi-heading{font-family:var(--font-display);font-weight:600;font-size:1.2rem;margin:0 0 6px}.lumi-text p:last-child{margin-bottom:0}.quest-aside .lumi-box,.level-intro .lumi-box{flex-direction:column;align-items:stretch}.quest-aside .lumi-bubble{margin-bottom:0;order:-1}.quest-aside .lumi-bubble:before{left:60px;bottom:-12px;transform:rotate(-45deg)}.quest-aside .lumi-art{align-self:center}.lumi{--b: #6CCB98;--d: #3E9E6E;--bl: #CDEFD9;--s: #4DB383;overflow:visible}.lumi .l-body{fill:var(--b);transition:fill .8s}.lumi .l-belly{fill:var(--bl);transition:fill .8s}.lumi .l-spot{fill:var(--s);transition:fill .8s}.lumi .l-crest{fill:none;stroke:var(--d);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.lumi .l-casque{fill:var(--d);transition:fill .8s}.lumi .l-tail{fill:none;stroke:var(--b);stroke-width:11;stroke-linecap:round;transform-box:view-box;transform-origin:64px 128px;animation:l-tail 4s ease-in-out infinite;transition:stroke .8s}.lumi .l-limb{fill:none;stroke:var(--b);stroke-width:9;stroke-linecap:round;transition:stroke .8s}.lumi .l-limb-far{fill:none;stroke:var(--d);stroke-width:8;stroke-linecap:round}.lumi .l-cheek{fill:#f4a3b6;opacity:.8}.lumi .l-nostril{fill:#2a2833}.lumi .l-mouth{fill:none;stroke:#2a2833;stroke-width:2.6;stroke-linecap:round;display:none}.lumi .l-mouth-fill{fill:#2a2833;display:none}.lumi .l-eye-turret{fill:var(--d)}.lumi .l-eye-ring{fill:var(--b)}.lumi .l-eye-white{fill:#fff}.lumi .l-pupil-dot{fill:#2a2833}.lumi .l-glint{fill:#fff}.lumi .l-pupil{transform-box:view-box;animation:l-look 7s ease-in-out infinite;transition:transform .4s}.lumi .l-lid{fill:var(--b);transform-box:fill-box;transform-origin:center;transform:scaleY(0);animation:l-blink 5s infinite}.lumi .l-glasses circle{fill:#ffffff2e;stroke:#2a2833;stroke-width:2.5}.lumi .l-glasses path{fill:none;stroke:#2a2833;stroke-width:2.5;stroke-linecap:round}.lumi .l-tongue{transform-box:view-box;transform-origin:209px 112px;transform:scaleX(0)}.lumi .l-tongue path{stroke:#e8698a;stroke-width:4;stroke-linecap:round}.lumi .l-tongue circle{fill:#e8698a}.lumi .l-cap,.lumi .l-spark,.lumi .l-arm-wave{display:none}.lumi .l-arm-wave{transform-box:view-box;transform-origin:146px 136px}.lumi .l-bob{transform-box:view-box;transform-origin:120px 162px;animation:l-breathe 3.2s ease-in-out infinite}.lumi.mood-idle .m-smile,.lumi.mood-explain .m-smile,.lumi.mood-hint .m-smile,.lumi.mood-happy .m-grin,.lumi.mood-cheer .m-grin,.lumi.mood-think .m-o,.lumi.mood-encourage .m-wobble{display:inline}.lumi.mood-think{--b: #A99BE0;--d: #7B69C4;--bl: #E6E0F8;--s: #8F7FD6}.lumi.mood-hint{--b: #F4C35E;--d: #D19A2C;--bl: #FFF0C4;--s: #EDAD3A}.lumi.mood-encourage{--b: #F4A98A;--d: #D27C5C;--bl: #FDE1D3;--s: #EC9273}.lumi.mood-explain{--b: #8CC3EE;--d: #4F94CC;--bl: #D8EAF9;--s: #6EADE2}.lumi.mood-think .l-pupil{animation:none;transform:translate(-2px,-4px)}.lumi.mood-hint .l-tongue{animation:l-tongue 2.6s ease-in-out infinite}.lumi.mood-hint .l-pupil{animation:none;transform:translate(3px)}.lumi.mood-happy .l-bob{animation:l-hop 1.4s ease-in-out infinite}.lumi.mood-cheer .l-bob{animation:l-jump .9s ease-in-out infinite,l-hue 3s linear infinite}.lumi.mood-cheer .l-cap{display:inline}.lumi.mood-cheer .l-arm,.lumi.mood-explain .l-arm{display:none}.lumi.mood-cheer .l-arm-wave{display:inline;animation:l-wave .45s ease-in-out infinite alternate}.lumi.mood-explain .l-arm-wave{display:inline;transform:rotate(-10deg)}.lumi.mood-cheer .l-spark{display:inline;animation:l-twinkle 1.2s ease-in-out infinite}.lumi.mood-encourage .l-bob{animation:l-sway 3s ease-in-out infinite}@keyframes l-blink{0%,93%,to{transform:scaleY(0)}96%{transform:scaleY(1)}}@keyframes l-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.02,.985)}}@keyframes l-look{0%,22%{transform:translate(0)}27%,47%{transform:translate(-4px,1px)}52%,72%{transform:translate(1px,-3px)}77%,to{transform:translate(0)}}@keyframes l-tail{0%,to{transform:rotate(0)}50%{transform:rotate(-6deg)}}@keyframes l-tongue{0%,35%{transform:scaleX(0)}45%,62%{transform:scaleX(1)}72%,to{transform:scaleX(0)}}@keyframes l-hop{0%,to{transform:translateY(0)}30%{transform:translateY(-8px)}50%{transform:translateY(0)}}@keyframes l-jump{0%,to{transform:translateY(0) rotate(0)}35%{transform:translateY(-16px) rotate(-3deg)}65%{transform:translateY(-16px) rotate(3deg)}}@keyframes l-hue{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}@keyframes l-wave{0%{transform:rotate(-14deg)}to{transform:rotate(12deg)}}@keyframes l-sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes l-twinkle{0%,to{opacity:.2}50%{opacity:1}}.hero{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:start;margin-bottom:24px}.hero-lumi{padding-top:12px}.hero-side{display:flex;flex-direction:column;gap:20px}.stats-card{margin:0}.stats-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}.stat{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--paper-2);border-radius:12px;padding:10px 6px}.stat strong{font-family:var(--font-display);font-size:1.35rem}.stat span{font-size:.8rem;color:var(--ink-soft)}.rank-line{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px}.rank-name{font-family:var(--font-display);font-weight:600;display:inline-flex;align-items:center;gap:6px}.daily-card{position:relative;background:var(--butter);border-radius:6px;padding:26px 22px 18px;transform:rotate(-.8deg);box-shadow:0 10px 20px #2a28331a}.daily-title{font-family:var(--font-display);font-size:1.25rem;font-weight:600;margin-bottom:6px}.daily-title a{color:var(--ink)}.how{padding:0}.how summary{cursor:pointer;padding:16px 22px;font-family:var(--font-display);font-weight:600;font-size:1.15rem;display:flex;align-items:center;gap:8px;min-height:44px}.how ul{padding:0 22px 18px 44px;margin:0}.worlds{display:flex;flex-direction:column;gap:28px}.world{background:var(--paper);border-radius:26px;padding:26px;box-shadow:var(--shadow);position:relative;overflow:hidden}.world:before{content:"";position:absolute;inset:0 0 auto;height:10px;background:var(--wc, var(--mint))}.world-mint{--wc: var(--mint)}.world-sky{--wc: var(--sky)}.world-butter{--wc: var(--butter)}.world-lavender{--wc: var(--lavender)}.world-head{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:18px}.world-title{font-size:clamp(1.6rem,1.2rem + 1.4vw,2.2rem);font-weight:700;margin:0}.world-blurb{color:var(--ink-soft);margin:4px 0 0;max-width:62ch}.world-progress{display:flex;flex-direction:column;align-items:center;gap:4px}.level-path{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(230px,100%),1fr));gap:18px;counter-reset:lvl}.level-card{position:relative;background:var(--wc, var(--mint));border-radius:18px;padding:16px 16px 16px 18px;display:flex;align-items:center;gap:12px;box-shadow:0 2px #2a28331a,0 8px 18px #2a283312;transition:transform .2s,box-shadow .2s}.level-card:hover{transform:translateY(-3px) rotate(-.4deg);box-shadow:var(--shadow-lift)}.level-card.tilt-1{transform:rotate(.6deg)}.level-card.tilt-2{transform:rotate(-.6deg)}.level-link{flex:1;display:flex;flex-direction:column;gap:2px;color:var(--ink);text-decoration:none;min-height:44px}a.level-link:after{content:"";position:absolute;inset:0;border-radius:18px}a.level-link:focus-visible{outline:none}a.level-link:focus-visible:after{outline:3px solid var(--focus);outline-offset:3px}.level-num{font-family:var(--font-mono);font-weight:600;font-size:.9rem}.level-title{font-family:var(--font-display);font-weight:600;font-size:1.15rem;line-height:1.2}.level-meta{font-size:.85rem;color:var(--ink-soft)}.level-card .ring-label{font-size:.72rem}.boss-card{background:var(--paper-2);border:3px dashed var(--edge)}.boss-card.is-locked{opacity:.85}.boss-card:not(.is-locked){background:repeating-linear-gradient(135deg,var(--wc) 0 14px,var(--paper) 14px 28px);border-style:solid;border-color:var(--ink)}.stamp-mini{position:absolute;top:-10px;right:-8px;width:34px;height:34px;border-radius:50%;background:var(--leaf);color:var(--on-accent);display:grid;place-items:center;transform:rotate(-12deg);box-shadow:0 3px 0 var(--leaf-dark)}.crumbs ol{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:6px;font-size:.92rem}.crumbs li:not(:last-child):after{content:"›";margin-left:6px;color:var(--ink-soft)}.level-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;flex-wrap:wrap}.level-intro{margin:10px 0 18px;max-width:760px}.level-intro .lumi-box{flex-direction:row;align-items:flex-end}.item-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;margin:8px 0 22px}.sc-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(420px,100%),1fr));gap:22px}.sc-card{background:var(--paper);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);border-top:8px solid var(--wc, var(--mint))}.sc-card.is-aaa{border-top-style:dashed}:root[data-aaa=hide] .is-aaa{display:none}.sc-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.sc-title{font-size:1.2rem;margin:0 0 8px}.sc-num{font-family:var(--font-mono);font-weight:600;color:var(--ink-soft);font-size:.85em}.sc-summary{color:var(--ink)}.quest-stamps{list-style:none;margin:10px 0;padding:0;display:flex;flex-direction:column;gap:8px}.quest-stamp-link{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center;padding:10px 12px;border-radius:12px;border:2px solid var(--rule);text-decoration:none;color:var(--ink);background:var(--paper);min-height:48px}.quest-stamp-link:hover{border-color:var(--edge);background:var(--paper-2)}.quest-stamp-title{font-weight:700}.quest-stamp-status{grid-column:2;font-size:.85rem;color:var(--ink-soft)}.quest-stamp.is-done .quest-stamp-link{border-color:color-mix(in srgb,var(--leaf) 60%,transparent);background:color-mix(in srgb,var(--mint) 45%,var(--paper))}.quest-stamp.is-done .quest-stamp-status{color:var(--leaf);font-weight:700}.sc-more{margin:0}.pager{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-top:28px}.quest-head{margin-bottom:12px}.practice-note{display:inline-flex;gap:6px;align-items:center;background:var(--sky);padding:6px 12px;border-radius:10px;font-weight:700}.quest-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;align-items:start}.quest-aside{position:sticky;top:calc(var(--header-h) + 16px);display:flex;flex-direction:column;gap:16px}.quest-main{display:flex;flex-direction:column;gap:20px;min-width:0}.story-card{position:relative;background:var(--paper);border-radius:6px;padding:28px 24px 18px 34px;box-shadow:var(--shadow);border-top:6px solid color-mix(in srgb,var(--ocean) 45%,var(--paper))}.story-card:before{content:"";position:absolute;left:14px;top:0;bottom:0;width:2px;background:#f4a3b6}.story-card>*{position:relative}.lesson-card{background:var(--sky);border-radius:var(--radius);padding:20px 22px}.lesson-card.recap{padding:0}.lesson-card.recap summary{cursor:pointer;padding:14px 20px;font-family:var(--font-display);font-weight:600;display:flex;gap:8px;align-items:center;min-height:44px}.lesson-card.recap>:not(summary){margin-left:20px;margin-right:20px}.lesson-card.recap[open]{padding-bottom:12px}.summary-card{background:var(--mint);border-radius:var(--radius);padding:20px 22px;margin-bottom:20px}.criterion-page .lesson-card{margin-bottom:20px}.task-card{background:var(--paper);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow-lift);border:3px solid var(--ink)}.task-card.support-assisted{border-color:var(--ocean)}.task-card.support-solo{border-color:var(--plum)}.task-card.is-solved{border-color:var(--leaf)}.task-card.shake{animation:shake .45s}.guide-box,.tip-box{background:var(--mint);border-radius:12px;padding:14px 16px;margin-bottom:16px}.tip-box{background:var(--sky)}.guide-box ol,.guide-box ul{margin-bottom:0}.task-legend{font-size:1.05em;margin-bottom:8px}.task-legend p:last-child{margin-bottom:4px}.task-sub{color:var(--ink-soft);font-size:.92rem;display:flex;align-items:center;gap:6px}.task-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:18px}.worth{color:var(--honey);font-weight:700;margin:10px 0 0;font-size:.92rem}.feedback{margin-top:12px}.feedback:empty{display:none}.feedback.ok,.feedback.bad{border-radius:12px;padding:12px 16px}.feedback.ok{background:var(--mint)}.feedback.bad{background:var(--peach)}.fb-title{font-weight:700;display:flex;align-items:center;gap:6px;margin-bottom:4px}.fb-list{list-style:none;margin:0;padding:0}.fb-list li{display:flex;gap:8px;align-items:flex-start;margin:4px 0}.fb-list li .icon{margin-top:.25em}.fb-list li span p{margin:0}.fb-ok .icon{color:var(--leaf)}.fb-bad .icon{color:var(--coral)}.hints{margin-top:18px}.hint-list{list-style:none;margin:0;padding:0;display:grid;gap:14px}.hint-note{background:var(--butter);padding:14px 16px;box-shadow:0 8px 16px #2a28331a;animation:drop-in .4s cubic-bezier(.3,1.4,.5,1)}.hint-note.hint-1{transform:rotate(.8deg)}.hint-note.hint-2{background:var(--peach);transform:rotate(-.6deg)}.hint-note.hint-3{background:var(--lavender);transform:rotate(.4deg)}.hint-label{font-family:var(--font-display);font-weight:600;margin:0 0 4px}.hint-body p:last-child{margin-bottom:0}.quest-notes{margin-top:28px;background:var(--paper);border-radius:var(--radius);padding:18px 22px;box-shadow:var(--shadow)}.quest-notes .item-actions{margin:0 0 8px}.note-editor{display:flex;flex-direction:column;gap:8px;min-width:min(100%,320px);flex:1}.note-editor>.btn{align-self:flex-start}.note-panel{display:flex;flex-direction:column;gap:8px}.note-area,.text-input{width:100%;font:inherit;color:var(--ink);background:var(--paper);border:2px solid var(--edge);border-radius:12px;padding:10px 12px;min-height:48px}.note-area{min-height:110px;resize:vertical}.note-preview{background:var(--butter);padding:10px 14px;border-radius:4px;white-space:pre-wrap;margin:0;max-width:60ch}.note-status:empty{display:none}.text-input.mono{font-family:var(--font-mono)}.text-input[aria-invalid=true]{border-color:var(--coral)}.field-help{color:var(--ink-soft);font-size:.88rem;margin-top:6px}.affix{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.affix .text-input{flex:1;min-width:160px}.affix-part{font-family:var(--font-mono);background:var(--code-bg);color:var(--code-ink);padding:10px 8px;border-radius:8px}.choice{border:0;padding:0;margin:0;min-width:0}.options{display:flex;flex-direction:column;gap:10px}.options-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr))}.option{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;border-radius:14px;border:2px solid var(--rule);background:var(--paper);cursor:pointer;min-height:48px;position:relative;transition:border-color .15s,background-color .15s,transform .15s}.option:hover{border-color:var(--edge)}.option-input{position:absolute;opacity:0;width:1px;height:1px}.option-box{flex:none;width:24px;height:24px;border:2px solid var(--edge);border-radius:50%;margin-top:2px;display:grid;place-items:center;background:var(--paper)}input[type=checkbox]+.option-box{border-radius:7px}.option-input:checked+.option-box{border-color:var(--leaf);background:var(--leaf);box-shadow:inset 0 0 0 4px var(--paper)}input[type=checkbox]:checked+.option-box{box-shadow:none;background:var(--leaf) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/18px no-repeat}.option-input:focus-visible+.option-box{outline:3px solid var(--focus);outline-offset:3px}.option:has(.option-input:checked){border-color:var(--leaf);background:color-mix(in srgb,var(--mint) 40%,var(--paper))}.option-text{flex:1;min-width:0}.option-text p{margin:0}.option.is-right{border-color:var(--leaf);background:var(--mint)}.option.is-wrong{border-color:var(--coral);background:var(--peach)}.option.is-wrong .option-mark:after{content:"✗";font-weight:700;color:var(--coral)}.option.is-right .option-mark:after{content:"✓";font-weight:700;color:var(--leaf)}.option-why{display:flex;gap:8px;margin:6px 0 4px 14px;padding:8px 12px;border-left:4px solid var(--rule);font-size:.95rem}.option-why p{margin:0}.code-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;align-items:start}.code-editor{width:100%;min-height:160px;font-family:var(--font-mono);font-size:.92rem;line-height:1.6;color:var(--code-ink);background:var(--code-bg);border:3px solid var(--code-bg);border-radius:12px;padding:12px 14px;resize:vertical;tab-size:2;white-space:pre-wrap;overflow-wrap:anywhere}.code-editor:focus-visible{border-color:var(--focus);outline:none}.sr-preview{background:var(--paper-2);border-radius:12px;padding:12px 14px;border:2px dashed var(--edge)}.sr-lines{margin:0;padding-left:1.4em;font-family:var(--font-mono);font-size:.82rem;line-height:1.55}.sr-line{margin:2px 0}.sr-heading{font-weight:600}.sr-landmark{color:var(--plum)}.sr-meta{color:var(--ink-soft)}.sr-warn{color:var(--coral);font-weight:600}.sr-warn .icon{width:1em;height:1em;margin-right:4px}.blanks-code{white-space:pre-wrap;line-height:2.2}.blanks-prose{line-height:2.2}.blank{font-family:var(--font-mono);font-size:.92rem;background:var(--butter);color:#2a2833;border:0;border-bottom:3px solid var(--honey);border-radius:6px 6px 0 0;padding:4px 6px;margin:0 2px;min-height:36px;max-width:100%}.blanks-prose .blank{font-family:var(--font-body)}.blank.is-right{background:#cfefdf;border-bottom-color:#1a6b4a}.blank.is-wrong{background:#fddccb;border-bottom-color:#a33a25}.blank:focus-visible{outline:3px solid #8EC5F5;outline-offset:2px}.order-list{list-style:none;margin:10px 0;padding:0;display:flex;flex-direction:column;gap:8px}.order-item{display:grid;grid-template-columns:auto auto 1fr auto;align-items:center;gap:10px;background:var(--paper);border:2px solid var(--rule);border-radius:14px;padding:8px 10px;user-select:none}.order-item.dragging{box-shadow:var(--shadow-lift);border-color:var(--ocean);transform:scale(1.02) rotate(-.5deg);z-index:2;position:relative}.order-item .grip{cursor:grab;color:var(--ink-soft);touch-action:none;display:grid;place-items:center;min-width:32px;min-height:40px}.order-pos{font-family:var(--font-mono);font-weight:600;width:28px;height:28px;border-radius:50%;background:var(--paper-2);display:grid;place-items:center;font-size:.85rem}.order-text{min-width:0;touch-action:none;cursor:grab}.order-text p{margin:0}.order-btns{display:flex;gap:6px}.order-item.is-right{border-color:var(--leaf);background:color-mix(in srgb,var(--mint) 55%,var(--paper))}.order-item.is-wrong{border-color:var(--coral);background:color-mix(in srgb,var(--peach) 55%,var(--paper))}.order-why{grid-column:1 / -1;font-size:.92rem;color:var(--ink);background:var(--paper-2);padding:6px 10px;border-radius:8px}.order-why p{margin:0}.order-end{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--ink-soft);margin:4px 0;font-weight:700}.bucket-pool-wrap{background:var(--paper-2);border-radius:14px;padding:12px;margin:10px 0 14px;border:2px dashed var(--edge)}.bucket-pool,.bucket-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.chip-item{display:inline-flex;align-items:stretch;gap:2px;border-radius:12px;position:relative}.chip-card{font:inherit;text-align:left;color:var(--ink);background:var(--paper);border:2px solid var(--edge);border-radius:12px;padding:8px 12px;min-height:44px;cursor:grab;box-shadow:0 3px 0 var(--rule);touch-action:none;max-width:100%}.chip-card p{margin:0}.chip-card[aria-pressed=true]{border-color:var(--ocean);background:var(--sky);box-shadow:0 0 0 3px color-mix(in srgb,var(--ocean) 35%,transparent)}.chip-item.is-dragging{opacity:.4}.chip-item.is-right .chip-card{border-color:var(--leaf);background:var(--mint)}.chip-item.is-wrong .chip-card{border-color:var(--coral);background:var(--peach)}.chip-item.is-locked .chip-card{border-color:var(--leaf);background:var(--mint);cursor:default;opacity:1}.chip-item.is-locked .chip-card:after{content:" ✓";color:var(--leaf);font-weight:700}.chip-back{align-self:center}.drag-ghost{position:fixed;z-index:2000;pointer-events:none;transform:translate(-50%,-60%) rotate(-3deg);box-shadow:var(--shadow-lift);background:var(--paper)}.bucket-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(min(200px,100%),1fr))}.bucket{background:var(--paper);border:3px solid var(--rule);border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:8px;min-height:140px;transition:border-color .15s,background-color .15s,transform .15s}.bucket.is-over{border-color:var(--ocean);background:var(--sky);transform:scale(1.02)}.bucket-title{font-size:1.05rem;margin:0}.bucket-title p{margin:0}.bucket-hint{font-size:.85rem;color:var(--ink-soft);margin:0}.bucket-list{flex:1;align-content:flex-start}.bucket-put{align-self:flex-start}.bucket-mint{background:color-mix(in srgb,var(--mint) 40%,var(--paper))}.bucket-peach{background:color-mix(in srgb,var(--peach) 40%,var(--paper))}.bucket-sky{background:color-mix(in srgb,var(--sky) 40%,var(--paper))}.bucket-lavender{background:color-mix(in srgb,var(--lavender) 40%,var(--paper))}.bucket-butter{background:color-mix(in srgb,var(--butter) 40%,var(--paper))}.bucket-instant{margin-top:12px;display:flex;gap:8px;align-items:flex-start;border-radius:12px}.bucket-instant:empty{display:none}.bucket-instant.ok{background:var(--mint);padding:10px 14px}.bucket-instant.bad{background:var(--peach);padding:10px 14px}.bucket-instant p{margin:0}.mock-frame{border:3px solid var(--ink);border-radius:14px;overflow:hidden;background:#fff;box-shadow:6px 6px 0 var(--ink);margin:10px 0}.mock-bar{display:flex;align-items:center;gap:6px;padding:8px 12px;background:#ede6d8;border-bottom:2px solid var(--ink)}.mock-bar span{width:11px;height:11px;border-radius:50%;background:#e8806a}.mock-bar span:nth-child(2){background:#f2c94c}.mock-bar span:nth-child(3){background:#6ccb98}.mock-bar em{margin-left:10px;font-style:normal;font-family:var(--font-mono);font-size:.8rem;color:#4a4552;background:#fff;border-radius:6px;padding:2px 10px;flex:1;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.mock-scroll{max-height:520px;overflow:auto}.bug-counter{font-weight:700;color:var(--plum)}.mock{--m-ink: #22222A;color:var(--m-ink);background:#fff;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.5;padding:16px}.mock *{box-sizing:border-box}.mock a{color:#1a55a0}.mock h1,.mock h2,.mock h3{font-family:Georgia,Times New Roman,serif;color:#22222a;margin:.2em 0 .4em;line-height:1.2}.mock h1{font-size:1.7rem}.mock h2{font-size:1.3rem}.mock h3{font-size:1.1rem}.mock p{margin:0 0 .8em}.mock button,.mock .m-btn{font:inherit;padding:8px 14px;border-radius:6px;border:1px solid #22222A;background:#f1f1f4;color:#22222a;cursor:pointer;display:inline-block;text-decoration:none}.mock input,.mock select,.mock textarea{font:inherit;padding:8px;border:1px solid #6A6A75;border-radius:4px;background:#fff;color:#22222a;max-width:100%}.mock label{display:block;font-weight:700;margin:8px 0 4px}.mock img{display:block;max-width:100%}.mock .m-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;background:#2d3e50;color:#fff;padding:10px 14px;margin:-16px -16px 14px}.mock .m-head a{color:#fff}.mock .m-logo{font-family:Georgia,serif;font-weight:700;font-size:1.2rem;display:flex;align-items:center;gap:8px}.mock .m-nav{display:flex;gap:12px;flex-wrap:wrap;list-style:none;margin:0;padding:0}.mock .m-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.mock .m-card{border:1px solid #D5D5DD;border-radius:8px;padding:10px;background:#fafafc}.mock .m-pic{height:90px;border-radius:6px;background:linear-gradient(135deg,#9ed5c5,#f7d58b);display:grid;place-items:center;font-size:2rem;color:#22222a}.mock .m-pic.sky{background:linear-gradient(135deg,#a9cdf0,#e4d3f5)}.mock .m-pic.sun{background:linear-gradient(135deg,#f9c98d,#f59a8a)}.mock .m-icon{width:36px;height:36px;border-radius:50%;background:#2d3e50;color:#fff;display:inline-grid;place-items:center;font-weight:700}.mock .m-low{color:#a8a8a8}.mock .m-lowbg{background:#8fd3ff;color:#fff}.mock .m-red{color:#d0021b}.mock .m-green{color:#2e8b57}.mock .m-err-border{border:2px solid #D0021B}.mock .m-ok-border{border:2px solid #2E8B57}.mock .m-tiny{font-size:11px}.mock .m-small-target{font-size:11px;padding:1px 3px}.mock .m-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.mock .m-banner{background:#fff3c4;border:1px solid #E0C060;padding:10px;border-radius:6px}.mock .m-sticky{background:#2d3e50;color:#fff;padding:10px;border-radius:6px}.mock .m-video{background:#22222a;color:#fff;border-radius:8px;height:140px;display:grid;place-items:center;position:relative}.mock .m-video:after{content:"▶";position:absolute;font-size:2rem}.mock .m-cc{position:absolute;bottom:8px;right:8px;font-size:12px;border:1px solid #FFFFFF;padding:0 4px;border-radius:3px}.mock .m-ticker{background:#22222a;color:#ffe88a;padding:6px 10px;border-radius:6px;white-space:nowrap;overflow:hidden;font-family:monospace}.mock .m-chart{display:flex;align-items:flex-end;gap:8px;height:100px;padding:8px;border:1px solid #D5D5DD;border-radius:6px}.mock .m-chart span{flex:1;border-radius:4px 4px 0 0}.mock .m-bar1{height:40%;background:#e57373}.mock .m-bar2{height:75%;background:#81c784}.mock .m-bar3{height:55%;background:#f06292}.mock .m-help{position:relative}.mock .m-dialog{border:2px solid #22222A;border-radius:8px;padding:12px;background:#fff;box-shadow:0 8px 20px #00000040;margin-top:10px}.mock .m-tablist{display:flex;gap:4px;border-bottom:2px solid #22222A}.mock [role=tab]{border-radius:6px 6px 0 0;border-bottom:0}.mock [role=tab][aria-selected=true]{background:#2d3e50;color:#fff}.mock .m-panel{border:1px solid #D5D5DD;border-top:0;padding:10px}.mock :focus-visible{outline:3px solid #1A55A0;outline-offset:2px}.mock .m-nofocus:focus{outline:none}.mock .m-badfocus:focus{outline:1px dotted #DDDDDD}.mock .m-hidden-label{position:absolute;left:-9999px}.mock .m-caps{text-transform:uppercase;letter-spacing:.05em}.mock .m-justify{text-align:justify}.mock .m-tight{line-height:1.05}.mock .m-fixed-h{height:48px;overflow:hidden;border:1px solid #D5D5DD;padding:4px}.mock .m-wide{width:900px}.mock .m-flash{background:repeating-linear-gradient(90deg,red 0 20px,#fff 20px 40px);height:30px;border-radius:4px}.mock .m-cookie{background:#22222a;color:#fff;padding:10px;border-radius:6px;display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}.mock .m-cookie a{color:#fff}.mock .m-step{display:flex;gap:6px;font-size:.9rem;margin-bottom:10px}.mock .m-step span{padding:2px 8px;border-radius:999px;background:#eeeef2}.mock .m-step span.on{background:#2d3e50;color:#fff}.mock .spot{cursor:pointer;border-radius:6px;outline:2px dashed transparent;outline-offset:3px;transition:outline-color .15s,background-color .15s;position:relative}.mock .spot *{pointer-events:none}.mock .spot:hover{outline-color:#8a5a00}.mock .spot:focus-visible{outline:3px solid #1A55A0}.mock .spot.is-marked{outline:3px solid #A33A25;background-color:#fddccb8c}.mock .spot.is-marked:after{content:"!";position:absolute;top:-12px;right:-10px;width:24px;height:24px;border-radius:50%;background:#a33a25;color:#fff;font:700 15px/24px Arial,sans-serif;text-align:center;box-shadow:0 2px #6e2414}.mock .spot.is-right{outline-color:#1a6b4a;background-color:#cfefdf99}.mock .spot.is-right:after{content:"✓";background:#1a6b4a;box-shadow:0 2px #0f4a32}.mock .spot.is-wrong{outline:3px dashed #A33A25}.mock .spot.is-missed{outline:3px dashed #6B4FA8}.mock .spot.shake{animation:shake .45s}.kq-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:16px;align-items:start}.kq-region{position:relative}.kq-region[data-started=true] .mock{cursor:not-allowed}.kq-region.nope{animation:shake .4s}.kq-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#fffdf8d1}.kq-overlay[hidden]{display:none}.kq-side{background:var(--paper-2);border-radius:12px;padding:12px 14px}.kq-steps{margin:0 0 10px;padding:0;list-style:none;display:flex;flex-direction:column;gap:8px;counter-reset:kq}.kq-step{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:start;padding:6px 8px;border-radius:10px}.kq-step .kq-manual{grid-column:2;justify-self:start}.kq-step p{margin:0}.kq-check{width:26px;height:26px;border-radius:50%;border:2px solid var(--edge);display:grid;place-items:center;color:transparent}.kq-step.is-current{background:var(--sky)}.kq-step.is-done .kq-check{background:var(--leaf);border-color:var(--leaf);color:var(--on-accent)}.kq-step.is-done .kq-step-text{text-decoration:line-through;text-decoration-thickness:2px;color:var(--ink-soft)}.kq-msg{color:var(--coral);font-weight:700;min-height:1.4em;margin:6px 0 0}.contrast-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px;align-items:stretch}.contrast-sample{--fg: #777777;--bg: #FFFFFF;color:var(--fg);background:var(--bg);border-radius:14px;padding:24px;display:grid;place-items:center;border:2px solid var(--rule);min-height:160px;font-size:18px}.contrast-sample.large{font-size:26px;font-weight:700}.contrast-sample p{margin:0;text-align:center}.contrast-sample.ui{color:inherit;gap:12px;grid-auto-flow:column}.contrast-sample.ui .cs-input{display:inline-block;padding:10px 14px;border:2px solid var(--fg);border-radius:6px;color:#22222a;background:var(--bg);font-size:16px}.contrast-sample.ui .cs-check{width:34px;height:34px;border:2px solid var(--fg);border-radius:6px;display:grid;place-items:center;color:var(--fg)}.contrast-sample.ui .cs-icon{color:var(--fg)}.contrast-sample.ui .icon{width:28px;height:28px}.contrast-controls{display:flex;flex-direction:column;gap:8px}.range{width:100%;accent-color:var(--leaf);min-height:44px}.hex-input{max-width:160px}.ratio-box{display:grid;grid-template-columns:auto auto;gap:2px 12px;align-items:baseline;background:var(--paper-2);border-radius:12px;padding:10px 14px}.ratio-label{grid-column:1 / -1;font-weight:700;font-size:.85rem;color:var(--ink-soft)}.ratio-num{font-family:var(--font-display);font-size:2rem;font-weight:700}.ratio-verdict{display:inline-flex;align-items:center;gap:4px;font-weight:700;padding:2px 10px;border-radius:999px}.ratio-verdict.pass{background:var(--mint);color:var(--leaf)}.ratio-verdict.fail{background:var(--peach);color:var(--coral)}.ratio-target{grid-column:1 / -1;font-size:.85rem;color:var(--ink-soft)}.dialog{border:0;padding:0;background:transparent;max-width:min(640px,calc(100vw - 24px));width:100%;color:var(--ink)}.dialog::backdrop{background:#2a28338c}.dialog-inner{position:relative;background:var(--paper);border-radius:22px;padding:26px 24px 22px;box-shadow:0 30px 60px #0000004d;border:3px solid var(--ink);animation:pop .35s cubic-bezier(.3,1.4,.5,1);max-height:calc(100vh - 40px);overflow:auto}.dialog-x{position:absolute;top:12px;right:12px}.dialog-title{padding-right:48px;font-size:1.5rem}.dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:12px;margin-top:18px}.dialog-search{max-width:min(760px,calc(100vw - 24px))}.dialog-search .dialog-inner{min-height:280px}.celebrate{display:grid;grid-template-columns:170px 1fr;gap:16px;align-items:center}.celebrate-art .lumi{width:100%;height:auto}.celebrate-xp{font-family:var(--font-display);font-size:2.2rem;font-weight:700;color:var(--honey);display:flex;align-items:center;gap:8px;margin:0 0 6px;animation:pop .6s .2s both cubic-bezier(.3,1.6,.5,1)}.celebrate-line{display:flex;gap:8px;align-items:center;font-weight:700;margin:4px 0}.celebrate-line.rank-up{color:var(--plum)}.celebrate-line.badge-line{color:var(--leaf)}.celebrate-why{grid-column:1 / -1;background:var(--sky);border-radius:14px;padding:14px 16px}.celebrate-why p:last-child{margin-bottom:0}.toast-host{position:fixed;top:calc(var(--header-h) + 10px);left:50%;transform:translate(-50%);z-index:3000;display:flex;flex-direction:column;gap:8px;pointer-events:none;width:max-content;max-width:calc(100vw - 32px)}.toast{display:flex;gap:8px;align-items:center;background:var(--ink);color:var(--paper);padding:10px 16px;border-radius:999px;font-weight:700;box-shadow:0 10px 24px #00000040;animation:drop-in .35s cubic-bezier(.3,1.4,.5,1)}.toast.out{opacity:0;transform:translateY(-8px);transition:opacity .35s,transform .35s}.toast-ok .icon{color:#7bd9aa}.confetti{position:fixed;inset:0;pointer-events:none;z-index:2500;overflow:hidden}.confetti i{position:absolute;top:-20px;left:var(--x);width:10px;height:14px;border-radius:2px;animation:confetti var(--d) var(--delay) cubic-bezier(.2,.6,.4,1) forwards}.confetti i.round{border-radius:50%;width:10px;height:10px}.confetti i.strip{width:6px;height:18px}.xp-fly{position:fixed;z-index:2600;pointer-events:none;font-family:var(--font-display);font-weight:700;font-size:1.6rem;color:var(--honey);background:var(--butter);padding:4px 14px;border-radius:999px;transform:translate(-50%,-50%);animation:xp-fly 1.1s cubic-bezier(.5,0,.3,1) forwards;box-shadow:0 6px 16px #00000026}.term{font:inherit;color:inherit;background:none;border:0;padding:0;margin:0;cursor:help;border-bottom:2px dotted var(--plum);line-height:inherit;text-align:inherit;display:inline;border-radius:0}.term:hover{background:color-mix(in srgb,var(--lavender) 60%,transparent)}.term-tip{position:absolute;z-index:2800;background:var(--ink);color:var(--paper);border-radius:14px;padding:12px 14px;box-shadow:0 14px 30px #00000047;display:flex;flex-direction:column;gap:6px;font-size:.95rem;line-height:1.5}.term-tip[hidden]{display:none}.term-tip-name{font-family:var(--font-display);font-weight:600;font-size:1.05rem}.term-tip-hint{font-size:.8rem;opacity:.85}.sc-link{font-weight:700}.term-card .term-other{color:var(--ink-soft);font-size:.9rem}.term-def{font-size:1.05rem}.term-long{background:var(--paper-2);border-radius:12px;padding:10px 14px;margin-bottom:12px}.chip-list{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-wrap:wrap;gap:8px}.chip-list a,.chip-link{display:inline-block;padding:6px 12px;border-radius:999px;background:var(--lavender);color:var(--ink);text-decoration:none;font-weight:700;font-size:.9rem;min-height:32px}.link-list{padding-left:1.2em}.link-list li{margin:6px 0}.icon-ext{width:.9em;height:.9em;margin-left:3px;vertical-align:-.08em}.cards-top{display:flex;flex-wrap:wrap;align-items:flex-end;gap:20px;margin-bottom:18px}.cards-top .lumi-box{max-width:520px}.boxes{list-style:none;margin:0 0 24px;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.box{border-radius:14px;padding:14px 10px;text-align:center;display:flex;flex-direction:column;gap:2px;align-items:center;box-shadow:0 6px #2a283314;position:relative}.box:before{content:"";position:absolute;top:-8px;left:50%;transform:translate(-50%);width:44%;height:12px;border-radius:8px 8px 0 0;background:inherit;filter:brightness(.95)}.box-mint{background:var(--mint)}.box-sky{background:var(--sky)}.box-lavender{background:var(--lavender)}.box-butter{background:var(--butter)}.box-rose{background:var(--rose)}.box-count{font-family:var(--font-display);font-weight:700;font-size:2rem;line-height:1}.box-name{font-weight:700}.box-due{font-size:.85rem;color:var(--coral);font-weight:700}.box-link{font-size:.85rem;margin-top:4px}.card-browse{display:flex;flex-direction:column;gap:10px}.browse-box{background:var(--paper);border-radius:14px;box-shadow:var(--shadow)}.browse-box summary{padding:12px 16px;cursor:pointer;font-weight:700;min-height:44px}.browse-list{list-style:none;margin:0;padding:0 16px 12px}.browse-list li{border-top:1px solid var(--rule);padding:8px 0}.browse-q{margin:0;font-weight:700}.review-grid{display:grid;grid-template-columns:200px minmax(0,1fr);gap:24px;align-items:start}.review-lumi .lumi-box{flex-direction:column;align-items:stretch}.review-lumi .lumi-bubble{margin-bottom:0;order:-1}.review-lumi .lumi-bubble:before{left:50px;bottom:-12px;transform:rotate(-45deg)}.flashcard{position:relative;background:var(--paper);border-radius:18px;padding:26px 28px 26px 70px;min-height:240px;box-shadow:0 2px 0 var(--rule),8px 8px 0 var(--lavender),16px 16px 0 var(--sky);border-top:6px solid color-mix(in srgb,var(--ocean) 45%,var(--paper));margin-bottom:24px}.flashcard:before{content:"";position:absolute;left:50px;top:0;bottom:0;width:2px;background:#f4a3b6}.flashcard.flipped{animation:flip .45s ease-out}.fc-meta{font-family:var(--font-mono);font-size:.85rem;color:var(--plum);font-weight:600}.fc-label{font-size:.8rem;font-weight:700;color:var(--ink-soft);margin:0;text-transform:uppercase;letter-spacing:.06em}.fc-question{font-size:1.45rem;margin:4px 0 14px}.fc-answer{border-top:2px dashed var(--edge);padding-top:12px}.review-actions{display:flex;flex-wrap:wrap;gap:12px}.review-done{background:var(--paper);border-radius:18px;padding:24px;box-shadow:var(--shadow)}.filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 16px;margin-bottom:18px;background:var(--paper);padding:14px 18px;border-radius:var(--radius);box-shadow:var(--shadow)}.filter-bar .label{width:100%;margin:0}.filter-bar .text-input{flex:1;min-width:220px}.filter-bar p{margin:0}.glossary-list{display:grid;gap:18px}.gl-group{background:var(--paper);border-radius:var(--radius);padding:14px 20px;box-shadow:var(--shadow)}.gl-letter{font-size:1.6rem;color:var(--plum);margin:0 0 6px}.gl-items{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:6px 22px}.gl-item{padding:8px 0;border-bottom:1px solid var(--rule)}.gl-name{font-weight:700;font-size:1.05rem;display:inline-flex;gap:6px;align-items:center}.gl-short{margin:2px 0 0;color:var(--ink-soft);font-size:.92rem}.segmented{border:0;padding:0;margin:0 0 18px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.segmented legend{width:100%;margin-bottom:6px;float:left}.seg{position:relative}.seg input{position:absolute;opacity:0;width:1px;height:1px}.seg span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:12px;border:2px solid var(--edge);background:var(--paper);font-weight:700;cursor:pointer}.seg input:checked+span{background:var(--ink);color:var(--paper);border-color:var(--ink)}.seg input:focus-visible+span{outline:3px solid var(--focus);outline-offset:3px}.criteria-list{display:grid;gap:22px}.crit-world{background:var(--paper);border-radius:var(--radius);padding:18px 22px;box-shadow:var(--shadow);border-top:10px solid var(--wc)}.crit-guideline{margin-top:12px}.crit-items{list-style:none;margin:0;padding:0}.crit-item{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--rule)}.crit-link{font-weight:700;flex:1;min-width:220px}.new-tag.new-21{background:var(--sky)}.notebook-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:26px;align-items:start}.note-cards{list-style:none;margin:0;padding:0;display:grid;gap:16px}.note-card{background:var(--butter);padding:16px 18px;box-shadow:0 10px 18px #2a28331a}.note-card:nth-child(2n){transform:rotate(.5deg);background:var(--rose)}.note-card:nth-child(3n){transform:rotate(-.4deg);background:var(--mint)}.note-card .note-area{background:var(--paper)}.note-card .note-preview{background:transparent;padding:0}.note-title{font-size:1.1rem;margin-bottom:6px}.bm-groups{display:grid;gap:14px}.bm-group{background:var(--paper);border-radius:14px;padding:12px 16px;box-shadow:var(--shadow)}.bm-list{list-style:none;margin:0;padding:0}.bm-item{display:flex;align-items:center;gap:8px;padding:6px 0;border-bottom:1px solid var(--rule)}.bm-item a{flex:1;font-weight:700}.bm-item>.icon{color:var(--coral)}.search-form{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}.search-input{font-size:1.15rem}.search-results{display:grid;gap:14px}.search-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.search-hit{display:flex;flex-direction:column;padding:8px 12px;border-radius:10px;border:2px solid var(--rule);text-decoration:none;color:var(--ink);background:var(--paper)}.search-hit:hover{border-color:var(--edge);background:var(--paper-2)}.profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.profile-grid .card{margin:0}.span-2{grid-column:1 / -1}.big-xp{font-family:var(--font-display);font-size:2.4rem;font-weight:700;color:var(--honey);display:flex;align-items:center;gap:10px;margin:0}.rank-ladder{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:6px}.rank-ladder li{display:grid;grid-template-columns:30px 1fr auto;gap:8px;align-items:center;padding:6px 10px;border-radius:10px}.rank-ladder li.is-current{background:var(--mint);font-weight:700}.rank-dot{width:26px;height:26px;border-radius:50%;border:2px solid var(--edge);display:grid;place-items:center}.rank-ladder li.is-reached .rank-dot{background:var(--leaf);border-color:var(--leaf);color:var(--on-accent)}.stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0}.stat-cell{background:var(--paper-2);border-radius:12px;padding:10px 14px}.stat-cell dt{font-size:.85rem;color:var(--ink-soft)}.stat-cell dd{margin:0;font-family:var(--font-display);font-size:1.5rem;font-weight:700}.badge-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:18px}.stamp{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:18px 10px 14px;border-radius:50%/40%;border:4px double var(--sc, var(--leaf));background:var(--sb, var(--mint));min-height:170px;justify-content:center}.stamp:nth-child(3n){transform:rotate(-4deg)}.stamp:nth-child(3n+1){transform:rotate(3deg)}.stamp-mint{--sb: var(--mint);--sc: var(--leaf)}.stamp-sky{--sb: var(--sky);--sc: var(--ocean)}.stamp-lavender{--sb: var(--lavender);--sc: var(--plum)}.stamp-butter{--sb: var(--butter);--sc: var(--honey)}.stamp-peach{--sb: var(--peach);--sc: var(--coral)}.stamp-rose{--sb: var(--rose);--sc: var(--coral)}.stamp-icon .icon{width:30px;height:30px}.stamp-name{font-family:var(--font-display);font-weight:700;font-size:.95rem;text-transform:uppercase;letter-spacing:.03em;line-height:1.15}.stamp-desc{font-size:.78rem;color:var(--ink);line-height:1.3}.stamp.is-locked{background:transparent;border:3px dashed var(--edge);color:var(--ink-soft)}.stamp.is-locked .stamp-desc{color:var(--ink-soft)}.settings{display:flex;flex-direction:column;gap:6px}.switch-row{display:flex;align-items:center;gap:10px;min-height:44px;position:relative}.switch-input{position:absolute;opacity:0;width:1px;height:1px}.switch-label{display:flex;align-items:center;gap:12px;cursor:pointer;font-weight:700}.switch-track{width:50px;height:28px;border-radius:999px;background:var(--edge);position:relative;flex:none;transition:background-color .2s}.switch-thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:var(--paper);transition:transform .2s}.switch-input:checked+.switch-label .switch-track{background:var(--leaf)}.switch-input:checked+.switch-label .switch-thumb{transform:translate(22px)}.switch-input:focus-visible+.switch-label .switch-track{outline:3px solid var(--focus);outline-offset:3px}.prose{font-size:1.05rem}.boss-progress{list-style:none;margin:0;padding:12px;display:flex;flex-direction:column;gap:8px;background:var(--paper);border-radius:14px;box-shadow:var(--shadow)}.boss-progress li{display:flex;gap:8px;align-items:center}.boss-dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--edge);display:grid;place-items:center;font-weight:700;flex:none;font-size:.85rem}.boss-progress li.is-current .boss-dot{background:var(--sky);border-color:var(--ocean)}.boss-progress li.is-done .boss-dot{background:var(--leaf);border-color:var(--leaf);color:var(--on-accent)}.boss-stage{display:flex;flex-direction:column;gap:20px}.dialog-keys{max-width:min(720px,calc(100vw - 24px))}.keys-help section{margin-top:14px}.key-list{margin:0;display:grid;gap:6px}.key-row{display:grid;grid-template-columns:minmax(130px,auto) 1fr;gap:12px;align-items:center;padding:4px 0;border-bottom:1px solid var(--rule)}.key-row dt,.key-row dd{margin:0}.kbd-lg{font-size:.85rem;padding:3px 8px;border-width:2px;border-color:var(--edge);background:var(--paper-2);color:var(--ink);border-radius:8px;box-shadow:0 2px 0 var(--rule);white-space:nowrap}.keys-btn{margin-top:4px;padding-left:0}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pop{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}@keyframes drop-in{0%{transform:translateY(-14px) rotate(-2deg);opacity:0}to{opacity:1}}@keyframes bump{0%{transform:scale(1)}40%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-7px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(3px)}}@keyframes pulse{50%{opacity:.35}}@keyframes flip{0%{transform:rotateX(0)}50%{transform:rotateX(8deg) scale(.98)}to{transform:rotateX(0)}}@keyframes confetti{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(var(--dx),105vh) rotate(var(--r));opacity:.9}}@keyframes xp-fly{0%{transform:translate(-50%,-50%) scale(.6);opacity:0}20%{transform:translate(-50%,-110%) scale(1.15);opacity:1}to{transform:translate(calc(-50% + var(--tx)),calc(-50% + var(--ty))) scale(.5);opacity:0}}@media(prefers-reduced-motion:reduce){:root:not([data-motion=full]) *,:root:not([data-motion=full]) *:before,:root:not([data-motion=full]) *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}:root[data-motion=reduced] *,:root[data-motion=reduced] *:before,:root[data-motion=reduced] *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}@media(max-width:1100px){.search-btn-label,.search-btn .kbd{display:none}.nav-link span{font-size:.95rem}}@media(max-width:960px){:root{--header-h: 64px}.menu-btn{display:inline-flex;grid-area:menu}.topbar-inner{grid-template-columns:auto auto minmax(0,1fr);grid-template-areas:"brand menu tools";padding:8px 16px;position:relative}.main-nav{position:absolute;top:100%;left:0;right:0;background:var(--paper);border-bottom:2px solid var(--rule);padding:10px 16px;display:none;box-shadow:var(--shadow)}.main-nav.open{display:block}.nav{flex-direction:column;margin:0}.nav-link{border-radius:12px;width:100%}.nav-link[aria-current=page]:after{top:auto;bottom:6px}.brand-name{display:none}.tools{gap:6px}.hero,.quest-grid,.code-grid,.kq-grid,.contrast-grid,.notebook-grid,.profile-grid,.review-grid{grid-template-columns:minmax(0,1fr)}.quest-aside{position:static}.quest-aside .lumi-box{flex-direction:row;align-items:flex-end}.quest-aside .lumi-bubble{order:0;margin-bottom:30px}.quest-aside .lumi-bubble:before{left:-12px;bottom:22px;transform:rotate(45deg)}.quest-aside .lumi-art{width:110px}.review-lumi .lumi-box{flex-direction:row}.review-lumi .lumi-bubble{order:0;margin-bottom:30px}.review-lumi .lumi-bubble:before{left:-12px;bottom:22px;transform:rotate(45deg)}.lumi-lg .lumi-art{width:180px}.boxes{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.span-2{grid-column:auto}}@media(max-width:560px){.main{padding:16px 16px 48px}.topbar-inner{padding:6px 12px}.chip{padding:0 8px;min-height:36px}.chip-streak{display:none}.stats-row{grid-template-columns:repeat(2,minmax(0,1fr))}.lumi-box{flex-direction:column;align-items:stretch}.lumi-bubble{order:-1;margin-bottom:0}.lumi-bubble:before{left:46px;bottom:-12px;transform:rotate(-45deg)}.lumi-art{align-self:flex-start}.lumi-md .lumi-art,.lumi-lg .lumi-art,.quest-aside .lumi-art{width:120px}.quest-aside .lumi-box,.review-lumi .lumi-box,.level-intro .lumi-box{flex-direction:column}.quest-aside .lumi-bubble,.review-lumi .lumi-bubble{order:-1;margin-bottom:0}.quest-aside .lumi-bubble:before,.review-lumi .lumi-bubble:before{left:46px;bottom:-12px;transform:rotate(-45deg)}.celebrate{grid-template-columns:1fr}.celebrate-art{width:130px;justify-self:center}.flashcard{padding-left:46px}.flashcard:before{left:30px}.task-card{padding:16px}.order-item{grid-template-columns:auto 1fr auto}.order-item .grip{display:none}.world{padding:20px 16px}}@media(forced-colors:active){.btn,.tool-btn,.icon-btn,.chip-card,.option,.bucket,.seg span{border:2px solid ButtonText}.term{border-bottom:2px dotted LinkText}.spot.is-marked{outline:3px solid Highlight}.bar-fill,.ring-fg{forced-color-adjust:none}}@media print{.topbar,.footer,.quest-aside,.task-actions,.pager{display:none!important}body{background:#fff}}
