:root{color-scheme:light;--page:#efedf7;--surface:#fffaf3;--ink:#17294f;--muted:#726a78;--coral:#f47f73;--coral-dark:#c85455;--coral-text:#a54b54;--sage:#7eae98;--sage-dark:#476f5b;--lavender:#8065bc;--lavender-text:#6b59a6;--content-max:1200px;--radius-card:30px;--radius-control:18px}*{box-sizing:border-box}body,html{min-height:100%;margin:0}html{background:var(--page)}body{min-width:320px;background:radial-gradient(circle at 8% 4%,color-mix(in srgb,var(--coral) 22%,transparent),transparent 30rem),radial-gradient(circle at 92% 12%,color-mix(in srgb,var(--sage) 24%,transparent),transparent 34rem),linear-gradient(180deg,color-mix(in srgb,var(--page) 78%,white),var(--page));color:var(--ink);font-family:Georgia,Times New Roman,serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}::selection{background:color-mix(in srgb,var(--coral) 45%,white);color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{min-height:100vh}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;width:min(var(--content-max),100%);min-height:76px;margin:0 auto;padding:16px clamp(18px,4vw,36px)}.brand-wordmark{padding:6px 0;font:800 clamp(1rem,2.5vw,1.2rem)/1 system-ui,sans-serif;letter-spacing:.18em}.brand-wordmark,.site-header__link{display:inline-flex;align-items:center;min-height:44px;color:var(--ink)}.site-header__link{gap:9px;padding:7px 12px;border-radius:14px;font:700 .9rem/1 system-ui,sans-serif}.site-header__link:hover{background:color-mix(in srgb,var(--surface) 72%,transparent)}.site-header__link svg{width:28px;height:28px;color:var(--coral-dark)}.site-header__link-mark{display:inline-grid;width:28px;height:28px;place-items:center;color:var(--sage-dark);font-size:1.35rem;line-height:1}.auth-page,.public-page{min-height:100vh;padding-bottom:56px}.public-header{padding-inline:16px}.auth-layout,.public-hero{width:min(var(--content-max),calc(100% - 32px));margin:20px auto 0}.public-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);align-items:center;grid-gap:clamp(24px,5vw,72px);gap:clamp(24px,5vw,72px);min-height:min(680px,calc(100vh - 132px));overflow:hidden;padding:clamp(32px,6vw,80px)}.public-hero__content{position:relative;z-index:1}.public-hero h1{max-width:11ch;margin:0;font-size:clamp(3rem,6vw,5.6rem);line-height:.92;letter-spacing:-.06em}.public-hero .button{margin-top:28px}.public-hero__art{width:min(100%,520px);height:auto;justify-self:center}.auth-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:24px;gap:24px}.auth-panel{min-width:0;padding:clamp(28px,4vw,48px)}.auth-panel h1,.auth-panel h2{margin:0;font-size:clamp(2.25rem,4vw,3.5rem);line-height:1;letter-spacing:-.045em}.auth-panel .auth-form{margin-top:30px}.auth-panel .button{margin-top:8px}.page{display:grid;width:100%;min-height:calc(100vh - 76px);padding:28px 16px 56px;place-items:start center}.content-frame{width:min(var(--content-max),100%);min-width:0;margin:0 auto}.answer-feedback,.completion-card,.dashboard-priority,.dashboard-progress,.hero,.lesson-card,.lesson-content-card,.lesson-row,.priority-card,.progress-panel,.surface{border:1px solid color-mix(in srgb,var(--ink) 11%,transparent);border-radius:var(--radius-card);background:color-mix(in srgb,var(--surface) 94%,white);box-shadow:0 18px 50px color-mix(in srgb,var(--ink) 10%,transparent)}.hero{width:min(720px,100%);padding:clamp(28px,5vw,64px)}.content-frame>.hero{width:100%}.hero h1{max-width:13ch;margin:0;font-size:clamp(2.25rem,5vw,4.5rem);line-height:.95;letter-spacing:-.055em}.hero section{margin-top:28px;padding-top:22px;border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}.hero ol{display:grid;grid-gap:14px;gap:14px;padding-left:22px;line-height:1.5}.hero label{display:block;margin:12px 0}.hero input{accent-color:var(--coral-dark)}.eyebrow{margin:0 0 12px;color:color-mix(in srgb,var(--coral-dark) 75%,var(--ink));font:800 .78rem/1.2 system-ui,sans-serif;letter-spacing:.18em;text-transform:uppercase}.copy{max-width:42ch;margin:20px 0 0;color:var(--muted);font-size:1.1rem;line-height:1.6}.button,.cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:13px 20px;border:1px solid transparent;border-radius:var(--radius-control);background:var(--coral);color:var(--ink);font:800 .95rem/1.1 system-ui,sans-serif;transition:background-color .16s ease,color .16s ease,transform .16s ease}.cta{margin-top:28px}.button:hover,.cta:hover{background:color-mix(in srgb,var(--coral) 75%,var(--surface));color:var(--ink);transform:translateY(-1px)}.button--quiet,.cta--quiet{border-color:color-mix(in srgb,var(--ink) 20%,transparent);background:transparent;color:var(--ink)}.button--quiet:hover,.cta--quiet:hover{border-color:var(--lavender);background:color-mix(in srgb,var(--lavender) 11%,transparent);color:var(--ink)}.button:disabled,.cta:disabled{opacity:.55;transform:none}.achievement-preview li,.status-pill{display:inline-flex;align-items:center;min-height:30px;padding:6px 11px;border-radius:999px;background:color-mix(in srgb,var(--lavender) 15%,var(--surface));color:color-mix(in srgb,var(--lavender) 75%,var(--ink));font:800 .75rem/1 system-ui,sans-serif}.progress-meter{--meter-color:var(--lavender);--meter-track:color-mix(in srgb,var(--lavender) 16%,var(--surface));display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:10px;gap:10px}.progress-meter--coral{--meter-color:var(--coral-dark);--meter-track:color-mix(in srgb,var(--coral) 22%,var(--surface))}.progress-meter--sage{--meter-color:var(--sage-dark);--meter-track:color-mix(in srgb,var(--sage) 25%,var(--surface))}.progress-meter--lavender{--meter-color:var(--lavender);--meter-track:color-mix(in srgb,var(--lavender) 18%,var(--surface))}.progress-meter__track{height:9px;overflow:hidden;border-radius:999px;background:var(--meter-track)}.progress-meter__fill{display:block;width:var(--progress);height:100%;border-radius:inherit;background:var(--meter-color);transition:width .36s ease-out}.progress-meter__label{color:var(--muted);font:800 .75rem/1 system-ui,sans-serif}.auth-form{display:grid;grid-gap:16px;gap:16px;margin-top:28px}.auth-form label{display:grid;grid-gap:8px;gap:8px;font-weight:700}.auth-form input,.writing-surface{width:100%;padding:13px 14px;border:1px solid color-mix(in srgb,var(--ink) 18%,transparent);border-radius:var(--radius-control);background:white;color:var(--ink)}.drawing-surface{display:block;width:min(320px,100%);aspect-ratio:1;margin-top:12px;border:2px solid color-mix(in srgb,var(--ink) 18%,transparent);border-radius:var(--radius-control);background:linear-gradient(color-mix(in srgb,var(--ink) 12%,transparent),color-mix(in srgb,var(--ink) 12%,transparent)) 50% 0 /1px 100% no-repeat,linear-gradient(90deg,color-mix(in srgb,var(--ink) 12%,transparent),color-mix(in srgb,var(--ink) 12%,transparent)) 0 50% /100% 1px no-repeat,white;cursor:crosshair;touch-action:none}.reward-toast{position:fixed;z-index:10;right:16px;bottom:16px;display:grid;grid-gap:6px;gap:6px;width:max-content;max-width:min(360px,calc(100vw - 32px));overflow:hidden;padding:16px 20px 16px 24px;border:1px solid color-mix(in srgb,var(--ink) 16%,transparent);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);box-shadow:0 22px 54px color-mix(in srgb,var(--ink) 26%,transparent);font-family:system-ui,sans-serif}.reward-toast:before{position:absolute;inset:0 auto 0 0;width:7px;background:linear-gradient(180deg,var(--coral),var(--sage));content:""}.reward-toast__xp{color:var(--coral-text);font-size:1rem}.reward-toast__achievement{color:var(--muted);font-size:.9rem;font-weight:700;line-height:1.35}.japanese-display{max-width:13ch;margin:22px 0 10px;color:var(--ink);font-family:Hiragino Mincho ProN,Yu Mincho,"Noto Serif JP",Georgia,serif;font-size:clamp(4.5rem,17vw,10rem);line-height:.82;letter-spacing:-.055em}.intro-card,.lesson-hero{position:relative;isolation:isolate;min-width:0;overflow:hidden}.intro-card:before,.lesson-hero:before{position:absolute;z-index:-1;width:290px;height:250px;background:radial-gradient(ellipse 52px 20px at 20% 24%,color-mix(in srgb,var(--sage) 26%,transparent) 68%,transparent 72%),radial-gradient(ellipse 48px 18px at 47% 42%,color-mix(in srgb,var(--sage) 20%,transparent) 68%,transparent 72%),radial-gradient(ellipse 54px 21px at 25% 63%,color-mix(in srgb,var(--sage) 23%,transparent) 68%,transparent 72%),linear-gradient(74deg,transparent 47%,color-mix(in srgb,var(--sage-dark) 18%,transparent) 48% 50%,transparent 51%);content:"";pointer-events:none}.intro-card:after,.lesson-hero:after{position:absolute;z-index:-2;width:420px;height:420px;border-radius:50%;background:color-mix(in srgb,var(--coral) 11%,transparent);content:"";pointer-events:none}.lesson-hero{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);align-items:center;grid-gap:clamp(24px,5vw,72px);gap:clamp(24px,5vw,72px);min-height:440px;padding:clamp(32px,6vw,72px)}.lesson-hero:before{top:-64px;left:-70px;transform:rotate(18deg)}.lesson-hero:after{right:-140px;bottom:-210px}.intro-card__aside,.intro-card__content,.lesson-hero__content,.lesson-hero__illustration{position:relative;z-index:1;min-width:0}.lesson-hero h1{max-width:12ch;margin:0;overflow-wrap:anywhere;font-size:clamp(2.8rem,5.8vw,5.4rem);line-height:.92;letter-spacing:-.06em}.lesson-hero__illustration{width:min(100%,360px);height:auto;justify-self:end}.section-heading{margin:44px 0 16px;font-size:1.05rem;letter-spacing:.08em;text-transform:uppercase}.dashboard-grid,.lesson-grid{display:grid;grid-gap:18px;gap:18px;margin-top:28px}.dashboard-priority{position:relative;min-width:0;min-height:390px;overflow:hidden;padding:clamp(28px,5vw,56px)}.dashboard-priority__content{position:relative;z-index:2}.dashboard-priority h1{max-width:12ch;margin:0 0 14px;font-size:clamp(2.5rem,6vw,4.8rem);line-height:.94;letter-spacing:-.055em}.dashboard-priority__illustration{position:absolute;z-index:1;right:-20px;bottom:-28px;width:clamp(150px,28vw,260px);height:auto}.priority-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.priority-actions .cta{margin-top:0}.dashboard-progress{position:relative;min-width:0;overflow:hidden;padding:clamp(24px,3vw,34px)}.dashboard-progress__garden{position:absolute;right:-15%;bottom:-12%;width:92%;height:auto;opacity:.13}.dashboard-progress__content{position:relative;z-index:1}.completion-card__topline,.dashboard-progress__topline,.lesson-content-card__meta,.lesson-row__topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.dashboard-progress__xp{margin:10px 0 0;font-size:clamp(2rem,6vw,3.8rem);font-weight:700;letter-spacing:-.06em}.achievement-preview__empty,.dashboard-progress__rank{color:var(--muted)}.dashboard-progress__rank{margin:0 0 20px;font-size:1.05rem;font-weight:700}.dashboard-progress__achievements{margin-top:28px;padding-top:20px;border-top:1px solid color-mix(in srgb,var(--ink) 12%,transparent)}.achievement-preview{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}.achievement-preview__empty{display:flex;align-items:center;gap:9px;margin:12px 0 0}.achievement-preview__mark{display:inline-grid;flex:0 0 auto;width:24px;height:24px;place-items:center;border-radius:50%;background:color-mix(in srgb,var(--lavender) 16%,var(--surface));color:var(--lavender);font-size:.7rem}.lesson-content-list,.lesson-list{display:grid;grid-gap:12px;gap:12px;margin:0;padding:0;list-style:none}.lesson-card,.lesson-content-card{padding:20px}.lesson-row{--lesson-accent:var(--lavender);--lesson-wash:color-mix(in srgb,var(--lavender) 8%,var(--surface));display:grid;grid-template-areas:"ordinal content progress";grid-template-columns:64px minmax(0,1fr) minmax(220px,.42fr);align-items:center;grid-gap:clamp(16px,3vw,36px);gap:clamp(16px,3vw,36px);min-width:0;padding:20px clamp(20px,3vw,34px);background:var(--lesson-wash)}.lesson-row--coral{--lesson-accent:var(--coral-dark);--lesson-wash:color-mix(in srgb,var(--coral) 9%,var(--surface))}.lesson-row--sage{--lesson-accent:var(--sage-dark);--lesson-wash:color-mix(in srgb,var(--sage) 11%,var(--surface))}.lesson-row--lavender{--lesson-accent:var(--lavender);--lesson-wash:color-mix(in srgb,var(--lavender) 9%,var(--surface))}.lesson-row__ordinal{grid-area:ordinal;align-self:stretch;display:grid;place-items:center;border-right:1px solid color-mix(in srgb,var(--lesson-accent) 28%,transparent);color:var(--lesson-accent);font:800 clamp(1.35rem,3vw,2rem)/1 system-ui,sans-serif;letter-spacing:-.05em}.lesson-row__content{grid-area:content;min-width:0}.lesson-row__topline{justify-content:flex-start;flex-wrap:wrap}.lesson-row__topline .eyebrow{margin-bottom:0;color:var(--lesson-accent)}.lesson-row__topline .status-pill{min-height:26px;padding:5px 9px}.lesson-row__link{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px;margin-top:5px;border-radius:10px;font-size:clamp(1.15rem,2.4vw,1.45rem);font-weight:700;line-height:1.18}.lesson-row__arrow{flex:0 0 auto;color:var(--lesson-accent);font:800 1.35rem/1 system-ui,sans-serif}.lesson-row__copy{margin:7px 0 0;color:var(--muted);font:700 .76rem/1.4 system-ui,sans-serif}.lesson-row__progress{grid-area:progress;min-width:0}.lesson-card__link{display:block;margin-top:8px;font-size:1.25rem;font-weight:700}.lesson-card__copy,.lesson-content-card__meaning{margin:10px 0 16px;color:var(--muted);line-height:1.5}.lesson-content-card{--lesson-accent:var(--lavender);--lesson-text:var(--lavender-text);--lesson-wash:color-mix(in srgb,var(--lavender) 8%,var(--surface));position:relative;display:grid;isolation:isolate;grid-gap:8px;gap:8px;min-width:0;overflow:hidden;border-color:color-mix(in srgb,var(--lesson-accent) 24%,transparent);background:var(--lesson-wash)}.lesson-content-card:after{position:absolute;z-index:0;inset:0;background-position:right -36px bottom -28px;background-repeat:no-repeat;background-size:250px auto;content:"";filter:saturate(.82);opacity:.12;pointer-events:none}.lesson-content-card>*{position:relative;z-index:1}.lesson-content-card--coral{--lesson-accent:var(--coral-dark);--lesson-text:var(--coral-text);--lesson-wash:color-mix(in srgb,var(--coral) 9%,var(--surface))}.lesson-content-card--coral:after{background-image:url(/illustrations/botanical-coral.png)}.lesson-content-card--sage{--lesson-accent:var(--sage-dark);--lesson-text:var(--sage-dark);--lesson-wash:color-mix(in srgb,var(--sage) 11%,var(--surface))}.lesson-content-card--sage:after{background-image:url(/illustrations/botanical-sage.png)}.lesson-content-card--lavender{--lesson-accent:var(--lavender);--lesson-text:var(--lavender-text);--lesson-wash:color-mix(in srgb,var(--lavender) 9%,var(--surface))}.lesson-content-card__ordinal{color:var(--lesson-text);font:800 1.15rem/1 system-ui,sans-serif;letter-spacing:-.04em}.lesson-content-card__prompt{min-width:0;font-family:Hiragino Mincho ProN,Yu Mincho,"Noto Serif JP",Georgia,serif;font-size:clamp(2.4rem,8vw,4rem);line-height:.95;line-break:strict;overflow-wrap:anywhere;word-break:normal}.lesson-content-card__meta,.lesson-content-card__reading{color:var(--muted)}.intro-card{display:grid;grid-gap:clamp(24px,5vw,64px);gap:clamp(24px,5vw,64px);min-height:540px;padding:clamp(28px,6vw,72px)}.intro-card:before{right:-80px;bottom:-70px;transform:rotate(-22deg)}.intro-card:after{top:-250px;left:-190px}.intro-card__content{align-self:center}.intro-card__prompt{max-width:100%;margin:18px 0 16px;font-family:Hiragino Mincho ProN,Yu Mincho,"Noto Serif JP",Georgia,serif;font-size:clamp(3.5rem,22vw,8rem);font-weight:700;line-height:.94;letter-spacing:-.055em;line-break:strict;overflow-wrap:anywhere;word-break:normal}.intro-card__meaning,.intro-card__reading{margin:0}.intro-card__reading{color:var(--muted);font:700 .9rem/1.5 system-ui,sans-serif}.intro-card__meaning{margin-top:12px;color:var(--ink);font-size:clamp(1.35rem,3vw,2rem);line-height:1.25}.intro-card__aside{display:grid;align-content:start;grid-gap:22px;gap:22px;padding:clamp(22px,3vw,32px);border:1px solid color-mix(in srgb,var(--ink) 11%,transparent);border-radius:calc(var(--radius-card) - 6px);background:color-mix(in srgb,var(--surface) 88%,white);box-shadow:0 14px 40px color-mix(in srgb,var(--ink) 7%,transparent)}.intro-card__topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.intro-type{margin:0;color:var(--muted);font:700 .86rem/1.4 system-ui,sans-serif}.intro-card__illustration{width:min(100%,190px);height:auto;justify-self:center}.intro-card__action{display:grid;grid-gap:10px;gap:10px}.intro-card__action .cta{width:100%;margin-top:0}.intro-card__reward{margin:0;color:var(--coral-text);font:800 .85rem/1.2 system-ui,sans-serif}.practice-surface{position:relative;width:min(920px,100%);overflow:hidden;padding:clamp(28px,5vw,56px)}.practice-surface:after{position:absolute;top:-18px;right:clamp(10px,4vw,32px);color:color-mix(in srgb,var(--coral) 18%,transparent);font-family:Hiragino Mincho ProN,Yu Mincho,Georgia,serif;font-size:clamp(6rem,14vw,9rem);line-height:1;content:"練";pointer-events:none}.answer-feedback,.practice-actions,.practice-prompt,.practice-workspace,.self-assessment{position:relative;z-index:1}.practice-prompt h1{max-width:13ch;margin:0;font-size:clamp(2.4rem,6vw,4.75rem);line-height:.96;letter-spacing:-.05em}.practice-workspace{margin-top:clamp(26px,4vw,40px)}.choice-list{display:grid;grid-gap:12px;gap:12px;margin:0;padding:0;border:0}.choice-tile{display:flex;align-items:center;gap:12px;min-height:56px;padding:14px 18px;border:2px solid color-mix(in srgb,var(--ink) 18%,transparent);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font:700 1rem/1.35 system-ui,sans-serif;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.choice-tile:not([data-disabled=true]):hover{border-color:color-mix(in srgb,var(--coral-dark) 58%,var(--ink));transform:translateY(-1px)}.choice-tile[data-disabled=true]{cursor:not-allowed}.choice-tile[data-disabled=true]:hover{transform:none}.choice-tile input{width:20px;height:20px;flex:0 0 auto;margin:0;accent-color:var(--coral-dark)}.choice-tile__status{margin-left:auto;padding:5px 8px;border-radius:999px;background:color-mix(in srgb,currentColor 9%,transparent);font-size:.72rem;line-height:1;text-align:right}.choice-tile[data-state=selected]{border-color:var(--coral-dark);background:color-mix(in srgb,var(--coral) 18%,var(--surface));box-shadow:0 0 0 3px color-mix(in srgb,var(--coral) 18%,transparent)}.choice-tile[data-state=correct]{border-color:var(--sage-dark);background:color-mix(in srgb,var(--sage) 24%,var(--surface));color:var(--sage-dark)}.choice-tile[data-state=incorrect]{border-color:var(--coral-dark);background:color-mix(in srgb,var(--coral) 22%,var(--surface));color:color-mix(in srgb,var(--coral-dark) 76%,var(--ink))}.choice-tile[data-state=disabled]{border-style:dashed;opacity:.58;cursor:not-allowed}.choice-tile:has(input:focus-visible){outline:3px solid var(--lavender);outline-offset:3px}.writing-field{display:grid;grid-gap:10px;gap:10px;color:var(--ink);font:800 .9rem/1.2 system-ui,sans-serif}.writing-surface{min-height:72px;padding:14px 18px;border-width:2px;border-color:color-mix(in srgb,var(--ink) 24%,transparent);background:color-mix(in srgb,white 84%,var(--surface));color:var(--ink);font:500 clamp(1.4rem,5vw,2rem)/1.2 Hiragino Mincho ProN,Yu Mincho,Georgia,serif}.practice-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.practice-actions .cta{min-width:150px;margin-top:0}.drawing-layout{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:22px;gap:22px}.drawing-panel,.stroke-reference{min-width:0;padding:clamp(18px,3vw,28px);border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:calc(var(--radius-card) - 8px);background:color-mix(in srgb,var(--surface) 90%,white)}.drawing-label{display:block;margin-bottom:12px;color:var(--ink);font:800 .9rem/1.2 system-ui,sans-serif}.drawing-panel .drawing-surface{margin:0 auto}.practice-actions--drawing{justify-content:center;margin-top:16px}.stroke-reference{display:grid;align-content:start;justify-items:center;grid-gap:16px;gap:16px;text-align:center}.stroke-reference h2,.stroke-reference p{margin:0}.stroke-reference h2{font-size:clamp(1.7rem,4vw,2.4rem)}.stroke-reference img{width:min(100%,320px);max-height:320px;object-fit:contain}.stroke-reference p{color:var(--muted);line-height:1.5}.self-assessment{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-top:24px}.self-assessment .cta{width:100%;margin-top:0}.self-assessment .cta:disabled{border-color:color-mix(in srgb,var(--ink) 20%,transparent);border-style:dashed}.answer-feedback{margin-top:20px;padding:14px 16px;border-radius:var(--radius-control);font-weight:700}.answer-feedback--correct{border-color:color-mix(in srgb,var(--sage-dark) 35%,transparent);background:color-mix(in srgb,var(--sage) 22%,var(--surface));color:var(--sage-dark)}.answer-feedback--incorrect{border-color:color-mix(in srgb,var(--coral-dark) 35%,transparent);background:color-mix(in srgb,var(--coral) 18%,var(--surface));color:color-mix(in srgb,var(--coral-dark) 75%,var(--ink))}.answer-feedback--neutral{border-color:color-mix(in srgb,var(--lavender) 32%,transparent);background:color-mix(in srgb,var(--lavender) 13%,var(--surface));color:color-mix(in srgb,var(--lavender) 72%,var(--ink))}.completion-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(200px,280px);align-items:center;grid-gap:clamp(18px,5vw,64px);gap:clamp(18px,5vw,64px);width:min(1040px,100%);min-width:0;min-height:430px;overflow:hidden;padding:clamp(30px,6vw,68px);text-align:left}.completion-card h1{max-width:13ch;margin:0;overflow-wrap:normal;font-size:clamp(2.45rem,5vw,4rem);line-height:.95;letter-spacing:-.055em;word-break:normal}.completion-card__content{position:relative;z-index:1;min-width:0}.completion-card__topline .eyebrow{margin-bottom:0}.completion-card__mark{display:inline-grid;flex:0 0 auto;width:48px;height:48px;place-items:center;border:1px solid color-mix(in srgb,var(--sage-dark) 20%,transparent);border-radius:50%;background:color-mix(in srgb,var(--sage) 25%,var(--surface));color:var(--sage-dark);font:800 1.35rem/1 system-ui,sans-serif}.completion-card__description{max-width:48ch}.completion-card__art{width:min(100%,270px);justify-self:center}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--lavender);outline-offset:3px}@media (min-width:960px){.dashboard-grid{grid-template-columns:minmax(0,2fr) minmax(300px,1fr)}.dashboard-priority{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(190px,.55fr);align-items:center;min-height:430px}.dashboard-priority__illustration{position:static;width:min(100%,290px);justify-self:end}.dashboard-progress{align-self:stretch}.lesson-content-list{grid-template-columns:repeat(2,minmax(0,1fr))}.intro-card{grid-template-columns:minmax(0,1fr) minmax(300px,.42fr);align-items:stretch}.drawing-layout{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.completion-card{grid-template-columns:minmax(0,1fr);gap:12px;min-height:0}.completion-card__art{width:min(30vw,180px)}}@media (max-width:640px){.auth-page,.public-page{padding-bottom:40px}.auth-layout,.public-hero{width:calc(100% - 32px);margin-top:12px;grid-template-columns:minmax(0,1fr)}.public-hero{min-height:0;gap:24px;padding:30px 22px 22px}.public-hero h1{font-size:clamp(2.7rem,14vw,4.25rem)}.auth-panel .button,.public-hero .button{width:100%}.public-hero__art{width:min(100%,360px)}.auth-layout{gap:16px}.auth-panel{padding:28px 22px}.auth-form input,.auth-panel .button{min-height:44px}.dashboard-priority{min-height:510px;padding:28px 22px 174px}.dashboard-priority h1{font-size:clamp(2.35rem,13vw,3.5rem)}.dashboard-priority__illustration{right:-8px;bottom:-18px;width:min(52vw,174px)}.priority-actions{display:grid}.priority-actions .cta{width:100%}.dashboard-progress__topline{align-items:flex-start}.lesson-row{grid-template-areas:"ordinal content" ". progress";grid-template-columns:42px minmax(0,1fr);align-items:start;gap:12px;padding:18px 16px}.lesson-row__ordinal{min-height:100%}.lesson-row__topline{gap:8px}.lesson-row__progress{padding-top:2px}.lesson-hero{grid-template-columns:minmax(0,1fr);gap:8px;min-height:0;padding:28px 22px 14px}.lesson-hero h1{font-size:clamp(2.2rem,12vw,3.6rem)}.lesson-hero .cta{width:100%}.lesson-hero__illustration{width:min(58vw,176px);margin-top:-8px}.lesson-content-card{padding:18px}.lesson-content-card__prompt{font-size:clamp(2.35rem,15vw,3.35rem)}.intro-card{grid-template-columns:minmax(0,1fr);gap:24px;min-height:0;padding:28px 20px 20px}.intro-card__aside{padding:20px}.intro-card__illustration{width:min(52vw,156px)}}@media (max-width:600px){.site-header{gap:12px;padding-inline:16px}.site-header__link{gap:5px;padding-inline:4px;font-size:.78rem}.page{padding:24px 16px 48px}.hero{padding:28px 22px}.hero h1{font-size:clamp(2.5rem,16vw,4rem)}.practice-surface{padding:28px 20px}.practice-prompt h1{font-size:clamp(2.35rem,13vw,3.75rem)}.practice-actions .cta{width:100%}.drawing-panel,.stroke-reference{padding:16px}.completion-card{grid-template-columns:minmax(0,1fr);gap:8px;min-height:0;padding:28px 22px 18px}.completion-card h1{max-width:100%;overflow-wrap:normal;font-size:clamp(2rem,10vw,2.75rem);line-height:.98}.completion-card .cta{width:100%}.completion-card__art{width:min(42vw,150px);margin-top:-6px}}@media (max-width:479px){.self-assessment{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}.admin-shell{max-width:1180px;margin:0 auto;padding:2rem 1rem 4rem}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:1rem;gap:1rem;margin:1rem 0}.admin-shell .panel{background:var(--surface,#fff);border:1px solid var(--line,#ddd);border-radius:1rem;padding:1rem}.admin-audit-list{display:grid;grid-gap:.85rem;gap:.85rem;padding-left:1.35rem}.admin-audit-event p,.admin-audit-event pre{overflow-wrap:anywhere}.admin-audit-event pre{white-space:pre-wrap}.admin-shell ul{display:grid;grid-gap:.6rem;gap:.6rem;padding-left:1.25rem}.admin-form{display:grid;grid-gap:.65rem;gap:.65rem}.admin-form input,.admin-form select,.admin-form textarea{width:100%;border:1px solid var(--line,#bbb);border-radius:.55rem;padding:.65rem .7rem;font:inherit}.admin-form textarea{min-height:6rem;resize:vertical}.crossword-editor{display:grid;grid-gap:.55rem;gap:.55rem;margin-top:.8rem;padding:.8rem;border:1px solid var(--line,#ddd);border-radius:.65rem}.crossword-editor textarea{width:100%;min-height:8rem;resize:vertical;border:1px solid var(--line,#bbb);border-radius:.55rem;padding:.65rem .7rem;font:.9rem/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.crossword-editor p{margin:0;color:var(--muted,#667);font-size:.9rem}.admin-shell button{margin-left:.5rem}.admin-search{display:grid;grid-gap:.4rem;gap:.4rem;margin:1rem 0;max-width:32rem}.admin-search input{border:1px solid var(--line,#bbb);border-radius:.55rem;padding:.65rem .7rem;font:inherit}.journey-page,.scene-card{max-width:960px;margin:0 auto}.journey-page{display:grid;grid-gap:1rem;gap:1rem}.journey-hero{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-width:0;padding:clamp(1.25rem,4vw,2rem)}.journey-hero h2{margin:0;overflow-wrap:anywhere}.journey-hero .copy{margin:.5rem 0 0}.journey-chapter{padding:clamp(1.25rem,3vw,2rem)}.journey-stations{display:grid;grid-gap:.75rem;gap:.75rem;list-style:none;margin:1.25rem 0 0;padding:0}.journey-station{align-items:center;border:1px solid var(--line,#ddd);border-radius:.9rem;display:flex;gap:1rem;justify-content:space-between;padding:1rem}.journey-station[data-completed=true]{background:color-mix(in srgb,var(--surface,#fff) 85%,#8abf9a)}.journey-page--v2{max-width:72rem}.journey-page--v2,.journey-page--v2>.journey-map{justify-self:stretch;width:100%}.journey-map{display:grid;grid-gap:1rem;gap:1rem;padding:clamp(1.1rem,3vw,1.5rem)}.journey-map__header{align-items:start;display:flex;gap:1rem;justify-content:space-between;min-width:0}.journey-map__header .copy{margin:.35rem 0 0}.journey-destination{color:var(--muted,#667);font-size:.9rem;font-weight:700;text-align:right}.journey-progress{display:grid;grid-gap:.6rem;gap:.6rem;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));list-style:none;margin:0;padding:0}.journey-progress__step{align-items:center;border:1px solid var(--line,#ddd);border-radius:.75rem;display:flex;gap:.55rem;min-width:0;padding:.7rem}.journey-progress__step>span:last-child{overflow-wrap:anywhere}.journey-progress__step[data-completed=true]{background:color-mix(in srgb,var(--surface,#fff) 84%,#8abf9a);border-color:color-mix(in srgb,var(--line,#ddd) 65%,#5c9f76)}.journey-progress__step[data-current=true]{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--coral,#d96852) 30%,transparent)}.journey-progress__dot{align-items:center;background:var(--line,#ddd);border-radius:999px;display:inline-flex;flex:0 0 1.65rem;font-size:.8rem;font-weight:800;height:1.65rem;justify-content:center}.journey-progress__step[data-completed=true] .journey-progress__dot{background:#5c9f76;color:#fff}.journey-progress__bar{background:color-mix(in srgb,var(--line,#ddd) 70%,#fff);border-radius:999px;height:.55rem;overflow:hidden}.journey-progress__bar>span{background:linear-gradient(90deg,#78b755,#4d8f5e);border-radius:inherit;display:block;height:100%;transition:width .2s ease}.journey-map--illustrated{overflow:hidden;padding:clamp(.75rem,2vw,1.25rem)}.journey-map__panel{align-items:start;background:color-mix(in srgb,var(--surface,#fff) 94%,#e6c58f);border:1px solid color-mix(in srgb,var(--line,#ddd) 78%,#c79f67);border-radius:.85rem;display:flex;gap:1rem;justify-content:space-between;padding:clamp(.9rem,2vw,1.35rem);position:relative;z-index:1}.journey-map__panel h2{margin:0}.journey-map__next-title,.journey-map__subtitle{margin:.35rem 0 0}.journey-map__count{align-items:baseline;color:var(--muted,#667);display:flex;flex:0 0 auto;gap:.25rem;margin:0;white-space:nowrap}.journey-map__count strong{color:var(--ink,#282622);font-size:1.5rem}.journey-map__canvas{aspect-ratio:16/9;border-radius:.9rem;isolation:isolate;overflow:hidden;position:relative}.journey-map__backdrop{height:100%;inset:0;object-fit:cover;position:absolute;width:100%;z-index:-2}.journey-map__canvas:after{background:linear-gradient(180deg,rgba(20,43,48,.05),rgba(20,43,48,.16));content:"";inset:0;pointer-events:none;position:absolute;z-index:-1}.journey-map__markers{inset:0;list-style:none;margin:0;padding:0;position:absolute}.journey-map__marker{align-items:center;display:flex;flex-direction:column;gap:.22rem;position:absolute;transform:translate(-50%,-50%)}.journey-map__node{align-items:center;background:#fff8e9;border:3px solid #fff;border-radius:999px;box-shadow:0 3px 10px rgba(35,45,35,.28);color:#3b5f34;display:inline-flex;font-weight:850;height:2.75rem;justify-content:center;min-height:44px;min-width:44px;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease;width:2.75rem}.journey-map__node:hover{transform:translateY(-2px) scale(1.04)}.journey-map__node:focus-visible{outline:3px solid #1c4f88;outline-offset:3px}.journey-map__node[data-current=true]{background:#f5bf4f;border-color:#fffdf5;color:#563811;transform:scale(1.12)}.journey-map__node[data-completed=true]{background:#6ca84d;color:#fff}.journey-map__node--locked{background:rgba(255,250,237,.82);color:#52605e;cursor:default;filter:saturate(.7)}.journey-map__marker-label{background:rgba(255,250,237,.9);border-radius:.35rem;color:#243b32;font-size:clamp(.62rem,1.2vw,.8rem);font-weight:750;max-width:9rem;padding:.16rem .35rem;text-align:center;text-shadow:0 1px rgba(255,255,255,.6)}.journey-map__destination{background:rgba(255,250,237,.9);border-radius:.5rem;bottom:.8rem;color:#3b5f34;font-weight:800;padding:.35rem .55rem;position:absolute;right:.8rem}.journey-map__footer{display:flex;justify-content:flex-end}.journey-map__continue{min-height:44px}.journey-map__complete{color:var(--muted,#667);font-weight:700;margin:0}.journey-stage-art{aspect-ratio:16/9;border-radius:.95rem;isolation:isolate;overflow:hidden;position:relative}.journey-stage-art__background{height:100%;inset:0;object-fit:cover;position:absolute;width:100%;z-index:-2}.journey-stage-art:after{background:linear-gradient(180deg,rgba(20,43,48,.02) 45%,rgba(20,43,48,.22));content:"";z-index:-1}.journey-stage-art:after,.journey-stage-art__overlays{inset:0;pointer-events:none;position:absolute}.journey-stage-art__overlay{pointer-events:none;position:absolute}.journey-stage-art__overlay img{display:block;height:auto;object-fit:contain;width:clamp(5rem,20vw,12rem)}.journey-stage-art__overlay--landmark img{width:clamp(8rem,34vw,22rem)}.journey-stage-art__actors{bottom:0;inset-inline:0;pointer-events:none;position:absolute}.journey-stage-art__actor{bottom:0;position:absolute}.journey-stage-art__actor img{display:block;height:clamp(8rem,28vw,19rem);max-width:min(32vw,19rem);object-fit:contain;width:auto}.journey-stage-art__actor--0{left:4%}.journey-stage-art__actor--1{left:22%}.journey-stage-art__actor--2{right:7%}.journey-scene{background:color-mix(in srgb,var(--surface,#fff) 88%,#d9c5a1);border-left:.25rem solid #c79f67;border-radius:.25rem .75rem .75rem .25rem;display:grid;grid-gap:.7rem;gap:.7rem;padding:1rem 1.1rem}.journey-scene--dialogue{box-shadow:0 4px 16px rgba(42,46,37,.08)}.journey-scene p{margin:0;line-height:1.6}.journey-scene strong{color:var(--ink,#282622)}.journey-lesson-prompt{border-left:.25rem solid var(--coral,#d96852);margin:0;padding-left:.9rem;font-weight:650;line-height:1.5}.journey-outcome{display:grid;grid-gap:.7rem;gap:.7rem;padding:1rem}.journey-outcome .copy,.journey-outcome h2{margin:0}.journey-outcome .cta{width:-moz-fit-content;width:fit-content;max-width:100%}.journey-travel-transition{align-items:center;color:var(--muted,#667);display:flex;gap:.6rem;font-size:.9rem;line-height:1.4}.journey-travel-transition__character{animation:journey-travel-pulse 1.8s ease-in-out infinite;color:var(--coral,#d96852);font-size:1.2rem}@keyframes journey-travel-pulse{50%{transform:translateX(.35rem)}}.scene-card{display:grid;grid-gap:1rem;gap:1rem;margin-top:1rem;min-width:0;padding:clamp(1.25rem,4vw,2.5rem)}.scene-card h1,.scene-card>*,.scene-lines{min-width:0;max-width:100%;overflow-wrap:anywhere}.scene-card>.cta{width:-moz-fit-content;width:fit-content;max-width:100%}.scene-lines{display:grid;grid-gap:.75rem;gap:.75rem;line-height:1.6}.scene-lines p{margin:0}.scene-lines img{border-radius:.7rem;max-height:16rem;max-width:100%;object-fit:contain}.crossword-grid{display:grid;grid-gap:3px;gap:3px;justify-content:center;margin:1rem 0}.crossword-cell{aspect-ratio:1;border:1px solid var(--line,#bbb);border-radius:.25rem;display:grid;min-width:2.2rem;place-items:center}.crossword-cell[data-filled=true]{background:var(--surface,#fff)}.crossword-cell[data-active=true]{border-color:var(--coral,#d96852);box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--coral,#d96852) 25%,transparent)}.crossword-cell:not([data-filled=true]){background:var(--line,#ddd);color:transparent}.crossword-clues{margin:1rem auto;max-width:38rem;text-align:left}.crossword-clues ol{display:grid;grid-gap:.45rem;gap:.45rem;margin:0;padding-left:1.5rem}.crossword-clues li{display:flex;align-items:baseline;gap:.5rem;padding:.35rem .5rem;border-radius:.4rem}.crossword-clues li[data-active=true]{background:color-mix(in srgb,var(--coral,#d96852) 12%,transparent);font-weight:700}.crossword-clues li[data-completed=true]{color:var(--muted,#667)}.crossword-clues__current{margin-left:auto;color:var(--muted,#667);font-size:.8rem;font-weight:600}.field-help{margin:.5rem 0 0;color:var(--muted,#667);font-size:.9rem;line-height:1.45}.exercise-progress{margin:0;color:var(--muted,#667);font-size:.85rem;font-weight:650}@media (max-width:560px){.journey-hero{align-items:stretch;flex-direction:column}.journey-hero .cta{width:100%}.journey-station{align-items:stretch;flex-direction:column}.journey-station .cta,.scene-card>.cta{width:100%}.journey-map__header{align-items:stretch;flex-direction:column}.journey-destination{text-align:left}.journey-progress{grid-template-columns:1fr}.journey-outcome .cta{width:100%}.journey-map__panel{align-items:stretch;flex-direction:column}.journey-map__count{order:-1}.journey-map__canvas{aspect-ratio:4/3}.journey-map__marker-label{display:none}.journey-map__destination{bottom:.45rem;right:.45rem}.journey-map__footer{display:block}.journey-map__continue{width:100%}.journey-stage-art{aspect-ratio:4/3}.journey-stage-art__actor img{height:clamp(7rem,34vw,12rem);max-width:35vw}.journey-stage-art__actor--0{left:2%}.journey-stage-art__actor--1{left:23%}.journey-stage-art__actor--2{right:2%}}@media (prefers-reduced-motion:reduce){.journey-travel-transition__character{animation:none}}