@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-display:swap;font-weight:300 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-latin-wght-normal-BWQ3gi2K.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans;font-style:normal;font-display:swap;font-weight:200 1000;src:url(/assets/nunito-sans-latin-ext-wght-normal-DMEAsnHD.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--paper: #f7f3ea;--paper-deep: #efe8da;--ink: #243b36;--ink-soft: #4c6259;--green: #315e4c;--green-deep: #24473a;--green-bright: #3e7860;--sage: #dde8da;--sage-deep: #c6d8c2;--terracotta: #c87859;--terracotta-deep: #a05437;--gold: #e6bd69;--gold-deep: #a97f21;--danger: #8f3524;--font-display: "Fraunces", Georgia, "Times New Roman", serif;--font-text: "Nunito Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--step--1: clamp(.86rem, .83rem + .15vw, .94rem);--step-0: clamp(1rem, .96rem + .2vw, 1.09rem);--step-1: clamp(1.18rem, 1.1rem + .4vw, 1.4rem);--step-2: clamp(1.42rem, 1.28rem + .7vw, 1.8rem);--step-3: clamp(1.75rem, 1.45rem + 1.4vw, 2.5rem);--step-4: clamp(2.1rem, 1.6rem + 2.4vw, 3.3rem);--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: 4rem;--r-sm: 8px;--r-md: 14px;--r-lg: 22px;--r-pill: 999px;--border: 1.5px solid rgba(36, 59, 54, .18);--lift: 0 2px 0 rgba(36, 59, 54, .14);--lift-lg: 0 12px 26px -16px rgba(36, 59, 54, .5);--t-fast: .15s;--t-base: .2s;--t-slow: .25s;--ease: cubic-bezier(.32, .72, .36, 1);--measure: 62ch;--tap: 48px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background-color:var(--paper);background-image:radial-gradient(rgba(36,59,54,.045) 1px,transparent 1px);background-size:4px 4px;color:var(--ink);font-family:var(--font-text);font-size:var(--step-0);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.1;letter-spacing:-.01em;margin:0;text-wrap:balance}h1{font-size:var(--step-4)}h2{font-size:var(--step-3)}h3{font-size:var(--step-2)}p{margin:0;max-width:var(--measure)}img,svg{display:block;max-width:100%}button{font:inherit;color:inherit;cursor:pointer}a{color:var(--green-deep)}:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:var(--r-sm)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.skip-link{position:absolute;left:var(--s-4);top:calc(var(--s-4) * -6);z-index:50;background:var(--green);color:var(--paper);padding:var(--s-3) var(--s-4);border-radius:var(--r-md);transition:top var(--t-fast) var(--ease)}.skip-link:focus{top:var(--s-4)}.shell{min-height:100%;display:flex;flex-direction:column}.wrap{width:min(100% - 2rem,68rem);margin-inline:auto}.wrap--narrow{width:min(100% - 2rem,42rem);margin-inline:auto}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);min-height:var(--tap);min-width:var(--tap);padding:var(--s-3) var(--s-5);border-radius:var(--r-pill);border:2px solid transparent;font-weight:700;font-size:var(--step-0);text-decoration:none;transition:transform var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}.btn:active{transform:translateY(1px)}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn--primary{background:var(--green);color:var(--paper);box-shadow:var(--lift)}.btn--primary:hover:not([disabled]){background:var(--green-deep)}.btn--quiet{background:transparent;color:var(--green-deep);border-color:#243b3647}.btn--quiet:hover:not([disabled]){background:var(--sage)}.btn--ghost{background:transparent;color:var(--ink-soft);border-color:transparent;padding-inline:var(--s-3)}.btn--ghost:hover:not([disabled]){color:var(--ink);background:var(--paper-deep)}.btn--danger{background:transparent;color:var(--danger);border-color:#8f352466}.btn--danger:hover:not([disabled]){background:#8f352414}.btn--block{width:100%}.tag{display:inline-flex;align-items:center;gap:var(--s-2);padding:.15rem var(--s-3);border-radius:var(--r-pill);background:var(--sage);color:var(--green-deep);font-size:var(--step--1);font-weight:700}.tag--muted{background:var(--paper-deep);color:var(--ink-soft)}.note{color:var(--ink-soft);font-size:var(--step--1);max-width:var(--measure)}.stack>*+*{margin-top:var(--s-4)}.stack-lg>*+*{margin-top:var(--s-6)}.row{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center}.panel{background:#ffffff9e;border:var(--border);border-radius:var(--r-lg);padding:var(--s-5)}.divider{border:0;border-top:var(--border);margin:var(--s-6) 0}.status-line{min-height:1.5rem;font-weight:700;color:var(--green-deep)}.status-line[data-tone=warn]{color:var(--danger)}.page{flex:1;padding-block:var(--s-5) var(--s-8)}.page:focus{outline:none}.route-loading{padding:var(--s-8);text-align:center;color:var(--ink-soft)}.row--between{justify-content:space-between;width:100%}.field-title{font-family:var(--font-text);font-size:var(--step-0);font-weight:800;letter-spacing:.01em;margin:0}.tag--offline{background:var(--paper-deep);color:var(--green-deep);border:1.5px solid var(--sage-deep)}.mission__hint,.mission .wrap>nav{padding-top:var(--s-2);border-top:var(--border)}.note--warn{color:var(--danger);font-weight:600}.brand{display:inline-flex;align-items:center;gap:var(--s-2)}.brand__name{font-family:var(--font-display);font-size:var(--step-1);font-weight:700}.lang-toggle{display:inline-flex;border:var(--border);border-radius:var(--r-pill);background:#fff9;padding:3px}.lang-toggle__btn{min-height:40px;padding-inline:var(--s-4);border:0;border-radius:var(--r-pill);background:transparent;font-weight:700;color:var(--ink-soft);transition:background-color var(--t-fast) var(--ease)}.lang-toggle__btn[aria-pressed=true]{background:var(--green);color:var(--paper)}.welcome__bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--s-6)}.welcome__hero{display:grid;gap:var(--s-6);align-items:center}.welcome__kicker{font-weight:700;color:var(--green-deep);font-size:var(--step--1)}.welcome__lead{font-size:var(--step-1);color:var(--ink-soft);line-height:1.5}.welcome__art .town,.map__canvas .town{width:100%;height:auto;border-radius:var(--r-lg);border:var(--border);box-shadow:var(--lift-lg)}.welcome__steps{margin-top:var(--s-8)}.steps{list-style:none;padding:0;margin:var(--s-5) 0 0;display:grid;gap:var(--s-5);counter-reset:step}.steps li{display:grid;gap:var(--s-3)}.steps .vignette{width:100%;height:auto;border-radius:var(--r-md);border:var(--border)}.welcome__worlds{margin-top:var(--s-8)}.world-strip{list-style:none;padding:0;margin:var(--s-5) 0 0;display:grid;gap:var(--s-4)}.world-strip li{border-top:4px solid var(--green);padding-top:var(--s-3)}.world-strip h3{font-size:var(--step-1)}.welcome__foot{margin-top:var(--s-8);padding-top:var(--s-4);border-top:var(--border)}.avatar-picker{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-3)}.avatar-picker__item{display:grid;justify-items:center;gap:var(--s-2);min-height:var(--tap);padding:var(--s-3);border:var(--border);border-radius:var(--r-lg);background:#ffffff8c;font-weight:700;transition:border-color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease)}.avatar-picker__item[aria-checked=true]{border-color:var(--green);border-width:3px;background:var(--sage)}.text-input{width:100%;min-height:var(--tap);padding:var(--s-3) var(--s-4);border:var(--border);border-radius:var(--r-md);background:var(--paper);font:inherit;color:inherit}.segmented{display:inline-flex;gap:4px;padding:4px;border:var(--border);border-radius:var(--r-pill);background:#fff9}.segmented button{min-height:40px;padding-inline:var(--s-4);border:0;border-radius:var(--r-pill);background:transparent;font-weight:700;color:var(--ink-soft)}.segmented button[aria-pressed=true]{background:var(--green);color:var(--paper)}.map__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--s-4);margin-bottom:var(--s-5)}.map__canvas{position:relative;display:none}.map__hotspots{position:absolute;inset:0}.hotspot{position:absolute;transform:translate(-50%,-50%);display:grid;justify-items:center;gap:2px;min-height:var(--tap);padding:var(--s-2) var(--s-4);border-radius:var(--r-pill);background:var(--paper);border:2px solid var(--ink);color:var(--ink);text-decoration:none;font-weight:800;box-shadow:var(--lift);transition:transform var(--t-fast) var(--ease)}.hotspot:hover{transform:translate(-50%,calc(-50% - 3px))}.hotspot__count{font-size:var(--step--1);font-weight:700;color:var(--green-deep)}.destinations{list-style:none;padding:0;margin:0;display:grid;gap:var(--s-3)}.destination{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--s-4);padding:var(--s-4);border:var(--border);border-inline-start:6px solid var(--green);border-radius:var(--r-lg);background:#fff9;text-decoration:none;color:inherit;min-height:84px}.destination__text{display:grid}.destination__count{font-weight:800;color:var(--green-deep)}.map__continue{margin-top:var(--s-6)}.continue-card{display:flex;align-items:center;gap:var(--s-5);flex-wrap:wrap;padding:var(--s-5);border-radius:var(--r-lg);background:var(--sage)}.world__head{display:grid;gap:var(--s-5)}.world__art .scene{width:100%;height:auto;border-radius:var(--r-lg);border:var(--border)}.mission-list{list-style:none;padding:0;margin:var(--s-4) 0 0;display:grid;gap:var(--s-3);counter-reset:mission}.mission-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--s-4);min-height:76px;padding:var(--s-3) var(--s-4);border:var(--border);border-radius:var(--r-md);background:#fff9;text-decoration:none;color:inherit}.mission-card[data-done=true]{background:var(--sage)}.mission-card__index{width:34px;height:34px;display:grid;place-items:center;border-radius:var(--r-pill);background:var(--paper-deep);font-weight:800}.mission-card__text{display:grid}.mission-card__phrase{font-family:var(--font-display);color:var(--green-deep)}.mission__bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.dots{display:inline-flex;gap:6px}.dots__dot{width:10px;height:10px;border-radius:var(--r-pill);background:var(--sage-deep)}.dots__dot[data-state=now]{background:var(--green);transform:scale(1.25)}.dots__dot[data-state=done]{background:var(--green-bright)}.mission__scene .scene{width:100%;height:auto;border-radius:var(--r-lg);border:var(--border)}.mission__situation{font-size:var(--step-1)}.mission__phrase{font-family:var(--font-display);font-size:var(--step-2);font-weight:600;color:var(--green-deep)}.mission__phrase--big{font-size:var(--step-3)}.mission__meaning{color:var(--ink-soft)}.audio-button{display:grid;gap:var(--s-2)}.btn--audio .audio-button__icon[data-busy=true]{animation:pulse 1s var(--ease) infinite}@keyframes pulse{50%{opacity:.45}}.activity-title{font-family:var(--font-text);font-size:var(--step-1);font-weight:800}.options{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-3)}.options--scenes{grid-template-columns:1fr}.option{width:100%;display:grid;justify-items:center;gap:var(--s-2);min-height:132px;padding:var(--s-3);border:2px solid rgba(36,59,54,.18);border-radius:var(--r-lg);background:#ffffffb3;font-weight:700;text-align:center;transition:border-color var(--t-base) var(--ease),transform var(--t-fast) var(--ease),background-color var(--t-base) var(--ease)}.option:hover{border-color:var(--green)}.option[data-state=right]{border-color:var(--green);background:var(--sage)}.option[data-state=wrong]{border-color:var(--terracotta-deep);animation:nudge var(--t-slow) var(--ease)}@keyframes nudge{25%{transform:translate(-4px)}75%{transform:translate(4px)}}.option--scene .vignette{width:100%;height:auto;border-radius:var(--r-md)}.repeat__body{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap;padding:var(--s-4);border-radius:var(--r-lg);background:var(--sage)}.hint{padding:var(--s-3) var(--s-4);border-radius:var(--r-md);background:var(--paper-deep);border-inline-start:5px solid var(--gold-deep)}.complete__head{display:flex;align-items:center;gap:var(--s-4);flex-wrap:wrap}.sticker{display:flex;align-items:center;gap:var(--s-4);padding:var(--s-4);border:2px dashed var(--gold-deep);border-radius:var(--r-lg);background:#ffffff80}.gate__form{display:grid;gap:var(--s-3);max-width:22rem}.gate__form input{min-height:var(--tap);padding:var(--s-3);border:var(--border);border-radius:var(--r-md);font:inherit;background:var(--paper)}.tabs{display:flex;gap:var(--s-2);border-bottom:var(--border)}.tabs__btn{min-height:var(--tap);padding:var(--s-3) var(--s-4);border:0;background:transparent;font-weight:700;color:var(--ink-soft);border-bottom:3px solid transparent}.tabs__btn[aria-selected=true]{color:var(--ink);border-bottom-color:var(--green)}.figure{font-size:var(--step-2);font-family:var(--font-display)}.figure strong{font-size:var(--step-4);color:var(--green-deep)}.phrase-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--s-2)}.phrase-list li{display:grid;grid-template-columns:1fr auto;gap:var(--s-1) var(--s-3);padding:var(--s-3);border-bottom:var(--border)}.phrase-list li>span:first-child{font-weight:700}.phrase-list li .tag{grid-row:span 2;align-self:center}.offline-list{list-style:none;padding:0;margin:0;display:grid;gap:var(--s-3)}.offline-list li{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);flex-wrap:wrap}.offline-list li>span{display:grid}.update-prompt{position:fixed;inset-inline:var(--s-4);bottom:var(--s-4);z-index:40;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-4);border-radius:var(--r-lg);border:2px solid var(--ink);background:var(--paper);box-shadow:var(--lift-lg)}.notfound__body{display:grid;justify-items:start;gap:var(--s-4)}@media(min-width:48rem){.avatar-picker{grid-template-columns:repeat(4,1fr)}.steps,.world-strip,.options--scenes{grid-template-columns:repeat(3,1fr)}.world__head{grid-template-columns:1fr 1.1fr;align-items:center}.mission__panel{max-width:46rem}}@media(min-width:64rem){.welcome__hero{grid-template-columns:.9fr 1.1fr}.map__canvas{display:block}.map__list{display:none}.mission .wrap{display:grid;grid-template-columns:1.05fr .95fr;column-gap:var(--s-6);row-gap:var(--s-4);align-items:start}.mission .wrap>*+*{margin-top:0}.mission__bar{grid-column:1 / -1}.mission__scene{grid-column:1;grid-row:2 / span 8;position:sticky;top:var(--s-4)}.mission .wrap>*:not(.mission__bar):not(.mission__scene){grid-column:2}}
