:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-pitch-black:#000;--color-ghost-white:#fff;--color-cloud-gray:#f9f8f6;--color-inkwell:#55534e;--color-platinum-gray:#e6e8ec;--color-oatmeal:#dad4c8;--color-clay-violet:#3859f9;--color-vivid-sky:#429dff;--color-tangerine:#ff7614;--color-lime-pop:#cbd810;--color-azure-glow:#3bd3fd;--color-ube-haze:#c1b0ff;--shadow-subtle:#0000001a 0 1px 1px 0, #0000000a 0 -1px 1px 0 inset, #0000000d 0 -.5px 1px 0;background:var(--color-ghost-white);color:var(--color-pitch-black);font-family:Roobert,Arial,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--color-ghost-white);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0}button:disabled{cursor:default}a{color:inherit;text-decoration:none}.app-shell{background:linear-gradient(var(--color-platinum-gray) 1px, transparent 1px), linear-gradient(90deg, var(--color-platinum-gray) 1px, transparent 1px), var(--color-ghost-white);background-size:48px 48px;min-height:100vh}.topbar{z-index:10;border-bottom:1px solid var(--color-oatmeal);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;justify-content:space-between;align-items:center;gap:20px;padding:14px max(20px,50vw - 700px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;font-size:18px;font-weight:700;display:inline-flex}.brand-mark{width:40px;height:40px;color:var(--color-pitch-black);background:var(--color-lime-pop);border:2px solid var(--color-pitch-black);border-radius:14px;place-items:center;display:grid}.topbar-metrics{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.metric{background:var(--color-ghost-white);border:1px solid var(--color-oatmeal);min-height:34px;box-shadow:var(--shadow-subtle);white-space:nowrap;border-radius:1584px;align-items:center;gap:5px;padding:7px 10px;font-size:13px;line-height:1;display:inline-flex}.metric svg{color:var(--color-clay-violet)}.metric strong{font-weight:700}.metric span:last-child{color:var(--color-inkwell)}.study-layout{grid-template-columns:minmax(230px,280px) minmax(0,1fr) minmax(270px,320px);gap:20px;width:min(100%,1480px);margin:0 auto;padding:20px;display:grid}.path-panel,.practice-panel,.coach-panel{min-width:0}.path-panel,.coach-panel{flex-direction:column;gap:16px;display:flex}.path-panel,.practice-panel,.coach-block{background:var(--color-ghost-white);border:1px solid var(--color-oatmeal);box-shadow:var(--shadow-subtle)}.path-panel{border-radius:32px;align-self:start;max-height:calc(100vh - 104px);padding:20px;position:sticky;top:84px;overflow:auto}.panel-heading,.coach-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-heading{display:block}.eyebrow{color:var(--color-clay-violet);text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:700;line-height:1.2;display:block}h1,h2,p{margin:0}h1{margin-top:14px;font-size:56px;font-weight:700;line-height:1}h2{font-size:22px;font-weight:700;line-height:1.2}.region-list{gap:8px;margin-top:18px;display:grid}.region-row{text-align:left;background:var(--color-cloud-gray);border:1px solid #0000;border-radius:16px;gap:10px;width:100%;padding:13px;display:grid}.region-row:hover,.region-row:focus-visible{border-color:var(--color-pitch-black);outline:none}.region-row.is-active{color:var(--color-ghost-white);background:var(--color-pitch-black)}.region-main{gap:3px;display:grid}.region-name{font-size:15px;font-weight:700}.region-detail{color:var(--color-inkwell);font-size:13px;line-height:1.3}.region-row.is-active .region-detail{color:#ffffffb8}.region-progress{background:#0000001a;border-radius:1584px;height:7px;display:block;position:relative;overflow:hidden}.region-row.is-active .region-progress{background:#ffffff38}.region-progress span{background:var(--color-lime-pop);border-radius:inherit;min-width:8px;height:100%;display:block}.practice-panel{border-radius:40px;gap:18px;padding:24px;display:grid}.practice-header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.mode-tabs,.interval-controls{background:var(--color-cloud-gray);border:1px solid var(--color-oatmeal);border-radius:16px;align-items:center;gap:6px;padding:5px;display:inline-flex}.mode-tab,.interval-button{min-height:34px;color:var(--color-inkwell);background:0 0;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:7px 12px;font-size:13px;font-weight:700;display:inline-flex}.mode-tab.is-active,.interval-button.is-active{color:var(--color-ghost-white);background:var(--color-pitch-black);box-shadow:var(--shadow-subtle)}.prompt-line{max-width:640px;color:var(--color-inkwell);margin-top:10px;font-size:18px;line-height:1.5}.target-card{background:var(--color-ube-haze);border:1px solid var(--color-pitch-black);border-radius:24px;align-items:center;gap:12px;width:min(270px,100%);padding:12px;display:flex}.target-card strong,.target-card small{display:block}.target-card strong{font-size:16px;line-height:1.2}.target-card small{color:#000000a8;margin-top:3px;font-size:13px;line-height:1.25}.target-flag{background:var(--color-ghost-white);border:1px solid var(--color-pitch-black);border-radius:16px;flex:none;place-items:center;width:46px;height:46px;font-size:28px;display:grid}.map-frame{aspect-ratio:960/520;border:1px solid var(--color-oatmeal);background:var(--color-cloud-gray);border-radius:40px;width:100%;position:relative;overflow:hidden}.world-map{touch-action:manipulation;width:100%;height:100%;display:block}.world-map[role=button]{cursor:crosshair}.world-map:focus-visible{outline:3px solid var(--color-clay-violet);outline-offset:3px}.country{fill:var(--color-ghost-white);stroke:var(--color-oatmeal);stroke-width:.7px;vector-effect:non-scaling-stroke;transition:fill .18s,stroke .18s}.country.is-target{fill:var(--color-lime-pop);stroke:var(--color-pitch-black);stroke-width:1.6px}.target-pin,.guess-pin{pointer-events:none}.answer-zone{gap:12px;display:grid}.choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.choice-button{overflow-wrap:anywhere;text-align:left;background:var(--color-cloud-gray);border:1px solid var(--color-oatmeal);min-height:54px;box-shadow:var(--shadow-subtle);border-radius:16px;justify-content:flex-start;align-items:center;gap:9px;padding:12px 14px;font-size:15px;font-weight:700;line-height:1.25;display:flex}.choice-button:hover:not(:disabled),.choice-button:focus-visible:not(:disabled){border-color:var(--color-pitch-black);outline:none;transform:translateY(-1px)}.choice-button.is-correct{background:var(--color-lime-pop);border-color:var(--color-pitch-black)}.choice-button.is-wrong{color:var(--color-ghost-white);background:var(--color-tangerine);border-color:var(--color-pitch-black)}.map-instruction{width:fit-content;max-width:100%;color:var(--color-inkwell);background:var(--color-cloud-gray);border:1px solid var(--color-oatmeal);border-radius:16px;align-items:center;gap:8px;padding:10px 13px;font-size:14px;line-height:1.35;display:inline-flex}.feedback{border:1px solid var(--color-pitch-black);border-radius:24px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.feedback.is-correct{background:var(--color-lime-pop)}.feedback.is-wrong{background:#ffe1cf}.feedback-icon{width:42px;height:42px;color:var(--color-ghost-white);background:var(--color-pitch-black);border-radius:16px;place-items:center;display:grid}.feedback strong{font-size:16px;display:block}.feedback p{color:var(--color-inkwell);margin-top:3px;font-size:14px;line-height:1.35}.primary-button,.ghost-button,.reset-button{border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:9px 14px;font-size:14px;font-weight:700;line-height:1;display:inline-flex}.primary-button{color:var(--color-ghost-white);background:var(--color-pitch-black);box-shadow:var(--shadow-subtle)}.ghost-button{background:var(--color-ghost-white);border:1px solid var(--color-oatmeal)}.primary-button:hover,.ghost-button:hover,.reset-button:hover,.primary-button:focus-visible,.ghost-button:focus-visible,.reset-button:focus-visible{outline:none;transform:translateY(-1px)}.coach-panel{align-self:start;max-height:calc(100vh - 104px);position:sticky;top:84px;overflow:auto}.coach-block{border-radius:28px;gap:14px;padding:18px;display:grid}.coach-title{justify-content:flex-start}.coach-title svg{color:var(--color-clay-violet)}.coach-title h2{font-size:18px}.progress-ring{background:conic-gradient(var(--color-clay-violet) var(--progress,0%), var(--color-platinum-gray) 0);border:1px solid var(--color-oatmeal);border-radius:50%;place-items:center;width:128px;height:128px;margin:0 auto;display:grid}.progress-ring span{background:var(--color-ghost-white);border-radius:50%;place-items:center;width:94px;height:94px;font-size:26px;font-weight:700;display:grid}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.stat{background:var(--color-cloud-gray);border:1px solid var(--color-platinum-gray);border-radius:14px;gap:3px;padding:11px;display:grid}.stat strong{font-size:18px;line-height:1.1}.stat span,.coach-copy,.due-row small{color:var(--color-inkwell);font-size:13px;line-height:1.35}.due-list{gap:8px;display:grid}.due-row{text-align:left;background:var(--color-cloud-gray);border:1px solid #0000;border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:10px;display:grid}.due-row:hover,.due-row:focus-visible{border-color:var(--color-pitch-black);outline:none}.due-row strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;line-height:1.2;display:block;overflow:hidden}.reminder-block{background:#f4f0ff}.account-block{background:#f6fbff}.signed-in-card{background:var(--color-ghost-white);border:1px solid var(--color-oatmeal);border-radius:16px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.signed-in-avatar{width:42px;height:42px;color:var(--color-ghost-white);background:var(--color-pitch-black);border-radius:14px;place-items:center;font-size:17px;font-weight:700;display:grid}.signed-in-card strong,.signed-in-card small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.signed-in-card strong{font-size:14px}.signed-in-card small,.auth-note{color:var(--color-inkwell);font-size:13px;line-height:1.35}.icon-action{width:34px;height:34px;color:var(--color-inkwell);background:var(--color-cloud-gray);border:1px solid var(--color-oatmeal);border-radius:12px;place-items:center;display:grid}.auth-form{gap:10px;display:grid}.auth-switch{background:var(--color-ghost-white);border:1px solid var(--color-oatmeal);border-radius:16px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:5px;display:grid}.auth-tab{min-height:34px;color:var(--color-inkwell);background:0 0;border-radius:12px;font-size:13px;font-weight:700}.auth-tab.is-active{color:var(--color-ghost-white);background:var(--color-pitch-black)}.field-label{color:var(--color-inkwell);gap:5px;font-size:12px;font-weight:700;display:grid}.field-label input{width:100%;min-height:42px;color:var(--color-pitch-black);font:inherit;background:var(--color-ghost-white);border:1px solid var(--color-oatmeal);border-radius:12px;padding:10px 12px;font-size:14px}.field-label input:focus{border-color:var(--color-pitch-black);outline:none}.interval-controls{width:100%}.interval-button{flex:1}.reminder-actions{grid-template-columns:1fr auto;gap:8px;display:grid}.reset-button{width:100%;color:var(--color-inkwell);background:var(--color-ghost-white);border:1px solid var(--color-oatmeal)}@media (prefers-reduced-motion:no-preference){.choice-button,.primary-button,.ghost-button,.reset-button,.icon-action,.region-row,.due-row{transition:transform .16s,border-color .16s,background .16s}.practice-panel{animation:.42s both surface-in}.target-pin{animation:.42s cubic-bezier(.2,.8,.2,1) both pop-pin}.guess-pin{animation:.24s cubic-bezier(.2,.8,.2,1) both pop-pin}}@keyframes surface-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes pop-pin{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@media (width<=1180px){.study-layout{grid-template-columns:minmax(210px,260px) minmax(0,1fr)}.coach-panel{grid-column:1/-1;grid-template-columns:repeat(3,minmax(0,1fr));max-height:none;display:grid;position:static;overflow:visible}.reset-button{grid-column:1/-1}}@media (width<=820px){.topbar{flex-direction:column;align-items:flex-start;position:static}.topbar-metrics{justify-content:flex-start;width:100%;padding-bottom:2px;overflow-x:auto}.study-layout{grid-template-columns:1fr;padding:14px}.path-panel,.coach-panel{max-height:none;position:static;overflow:visible}.practice-panel{order:-1}.path-panel{order:0}.coach-panel{order:1}.path-panel{border-radius:28px}.region-list{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-panel{border-radius:30px;padding:16px}.practice-header{flex-direction:column}.target-card{width:100%}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.feedback{grid-template-columns:auto minmax(0,1fr)}.feedback .primary-button{grid-column:1/-1}.coach-panel{grid-template-columns:1fr}}@media (width<=560px){.brand{font-size:16px}.metric{font-size:12px}h1{font-size:38px}.prompt-line{font-size:16px}.map-frame{aspect-ratio:4/3;border-radius:26px}.region-list,.choice-grid{grid-template-columns:1fr}.mode-tabs{width:100%}.mode-tab{flex:1}}
