:root{--font-body: system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: system-ui, -apple-system, "Segoe UI", sans-serif;--text-xs: .6875rem;--text-sm: .8125rem;--text-md: .9375rem;--text-lg: 1.375rem;--text-xl: 2.125rem;--text-card: clamp(2rem, 6vw, 2.875rem);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.5rem;--space-6: 2rem;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-card: 22px;--radius-pill: 999px;--flip-duration: .35s;--fade-duration: .6s}:root{--color-bg: oklch(.965 .013 82);--color-surface: #ffffff;--color-surface-raised: oklch(.985 .008 82);--color-text: oklch(.24 .016 60);--color-text-muted: oklch(.52 .014 60);--color-text-faint: oklch(.64 .014 60);--color-border: oklch(.885 .014 72);--color-border-soft: oklch(.905 .012 75);--color-border-strong: oklch(.76 .018 70);--color-track: oklch(.92 .014 75);--color-pill: oklch(.925 .016 78);--color-overlay: oklch(.3 .02 60 / .35);--color-success: oklch(.45 .09 155);--color-warn: oklch(.55 .12 68);--shadow-tile: 0 1px 2px oklch(.6 .01 80 / .05), 0 8px 22px oklch(.6 .01 80 / .05);--shadow-card: 0 1px 2px oklch(.6 .01 80 / .06), 0 12px 40px oklch(.6 .01 80 / .05);--shadow-pill: 0 1px 2px oklch(.6 .01 80 / .12)}:root{--color-accent: #1f1f47;--color-accent-contrast: #ffffff;--color-accent-soft: color-mix(in oklab, var(--color-accent) 12%, var(--color-bg))}:root[data-look=index]{--fc-bg: #f0efee;--fc-card: #ffffff;--fc-ink: #1f1f47;--fc-ink-soft: #56586a;--fc-ink-mid: #41435d;--fc-line: #c9cacd;--fc-rule-blue: #d7e9ee;--fc-wing-rule: #84b7c6;--fc-rule-red: #e8734c;--fc-stamp: #d34400;--fc-highlight: #ffd000;--fc-highlight-soft: #ffe48e;--fc-manila: #ffe48e;--fc-done: #00874b;--fc-primary: #1f1f47;--fc-primary-press: #0f0d30;--fc-disabled-bg: #e5e6e9;--fc-disabled-ink: #73747f;--box-1: #d7e9ee;--box-2: #aed0da;--box-3: #569eb3;--box-4: #006175;--box-5: #1f1f47;--fc-font-display: "Sora Variable", Sora, system-ui, sans-serif;--fc-font-body: "Inter Variable", Inter, system-ui, sans-serif;--fc-rule-gap: 32px;--fc-radius-card: 6px;--fc-radius-btn: 10px;--fc-shadow-card: 0 1px 2px rgb(31 31 71 / .14), 0 14px 30px rgb(31 31 71 / .12);--fc-shadow-stack: 0 1px 2px rgb(31 31 71 / .12);--fc-shadow-tile: 0 1px 2px rgb(31 31 71 / .14), 0 6px 14px rgb(31 31 71 / .08);--fc-ease-paper: cubic-bezier(.2, .8, .2, 1);--fc-ease-stamp: cubic-bezier(.3, 1.4, .5, 1);--fc-dur-deal: .35s;--fc-dur-flip: .38s;--fc-dur-stamp: .4s;--card: var(--fc-card);--ink: var(--fc-ink);--ink-soft: var(--fc-ink-soft);--lilac: #e5e6e9;--lilac-line: var(--fc-line);--grape: var(--fc-ink);--amethyst: var(--fc-ink);--font-display: var(--fc-font-display);--font-body: var(--fc-font-body);--color-bg: var(--fc-bg);--text-xs: .8125rem;--text-sm: .9375rem;--text-md: 1.0625rem;--text-lg: 1.5rem;--color-surface: var(--fc-card);--color-surface-raised: #f7f7f6;--color-text: var(--fc-ink);--color-text-muted: var(--fc-ink-soft);--color-text-faint: #64667a;--color-border: var(--fc-line);--color-border-soft: #dcdde0;--color-border-strong: var(--fc-ink);--color-track: var(--fc-disabled-bg);--color-pill: #e7e6e4;--color-overlay: rgb(31 31 71 / .45);--color-success: var(--fc-done);--color-warn: var(--fc-stamp);--color-accent: var(--fc-primary);--color-accent-contrast: #ffffff;--color-accent-soft: var(--fc-highlight-soft);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 8px;--radius-card: var(--fc-radius-card);--shadow-tile: var(--fc-shadow-tile);--shadow-card: var(--fc-shadow-card);--shadow-pill: none;--flip-duration: var(--fc-dur-flip)}:root[data-look=index] body{background:var(--fc-bg);color:var(--fc-ink)}:root[data-look=index] h1,:root[data-look=index] h2,:root[data-look=index] h3{font-family:var(--fc-font-display);font-weight:700;letter-spacing:-.01em}:root[data-look=index] .button{font-family:var(--fc-font-display);font-weight:600;font-size:.9375rem;min-height:44px;border-radius:var(--fc-radius-btn);border:1.5px solid var(--fc-ink);background:var(--fc-card);color:var(--fc-ink);box-shadow:0 3px 0 var(--fc-line);transition:transform 80ms ease-out,box-shadow 80ms ease-out,background 80ms ease-out}:root[data-look=index] .button:hover:not(:disabled){filter:none;background:#f7f7f6}:root[data-look=index] .button:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 0 var(--fc-line)}:root[data-look=index] .button.primary{background:var(--fc-primary);border-color:var(--fc-primary);color:#fff;box-shadow:0 3px 0 var(--fc-primary-press)}:root[data-look=index] .button.primary:hover:not(:disabled){background:#2a2a5a}:root[data-look=index] .button.primary:active:not(:disabled){background:var(--fc-primary-press);box-shadow:0 0 0 var(--fc-primary-press)}:root[data-look=index] .button.subtle{background:var(--fc-card);border-color:var(--fc-ink)}:root[data-look=index] .button.small{font-size:.875rem;min-height:38px;padding:.4rem .9rem;box-shadow:0 2px 0 var(--fc-line)}:root[data-look=index] .button:disabled{background:var(--fc-disabled-bg);color:var(--fc-disabled-ink);border-color:var(--fc-disabled-bg);box-shadow:none;opacity:1;cursor:not-allowed}:root[data-look=index] :is(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:3px solid var(--fc-highlight);outline-offset:2px}:root[data-look=index] .button.grade.got-it{background:var(--fc-primary);color:#fff;border-color:var(--fc-primary);box-shadow:0 3px 0 var(--fc-primary-press)}:root[data-look=index] .button.grade.review-again{background:var(--fc-card);color:var(--fc-ink)}:root[data-look=index] .form input,:root[data-look=index] .form textarea,:root[data-look=index] .form select,:root[data-look=index] .import-col select,:root[data-look=index] .settings-panel select{background:var(--fc-card);border:1.5px solid var(--fc-line);border-radius:8px;color:var(--fc-ink);font-family:var(--fc-font-body)}:root[data-look=index] .form input:focus,:root[data-look=index] .form textarea:focus,:root[data-look=index] .form select:focus{border-color:var(--fc-ink)}:root[data-look=index] .form label{color:var(--fc-ink-mid);font-weight:500}:root[data-look=index] .scope-toggle{background:var(--fc-card);border:1.5px solid var(--fc-line)}:root[data-look=index] .scope-toggle button{font-family:var(--fc-font-display);font-weight:600;color:var(--fc-ink-soft)}:root[data-look=index] .scope-toggle button.active{background:var(--fc-primary);color:#fff;box-shadow:none}:root[data-look=index] .settings-panel{background:var(--fc-card);border-radius:6px;box-shadow:var(--fc-shadow-card)}:root[data-look=index] .settings-panel h3{font-size:.875rem;letter-spacing:.14em;text-transform:uppercase;color:var(--fc-ink-soft)}:root[data-look=index] .deck-menu{background:var(--fc-card);border:1px solid var(--fc-line);border-radius:6px;box-shadow:var(--fc-shadow-card)}:root[data-look=index] .look-option{border:1.5px solid var(--fc-line);border-radius:6px;background:var(--fc-card)}:root[data-look=index] .look-option.selected{border-color:var(--fc-ink);box-shadow:inset 0 -3px 0 var(--fc-highlight);background:var(--fc-card)}:root[data-look=index] .empty-state,:root[data-look=index] .draft-card,:root[data-look=index] .import-template,:root[data-look=index] .import-columns,:root[data-look=index] .import-ai,:root[data-look=index] .nd-option{border:none;border-radius:4px;box-shadow:var(--fc-shadow-tile)}:root[data-look=index] .import-drop{border:2px dashed var(--fc-ink-soft);border-radius:6px}:root[data-look=index] .import-drop:hover,:root[data-look=index] .import-drop.dragging{background:var(--fc-highlight-soft);border-color:var(--fc-ink)}:root[data-look=index] .back-link{font-family:var(--fc-font-display);font-weight:600;color:var(--fc-ink)}:root[data-look=index] .error-text{color:var(--fc-stamp)}:root[data-look=index] .tour-spot{outline-color:var(--fc-highlight)}.idx-ruled{background-image:repeating-linear-gradient(to bottom,transparent 0 calc(var(--fc-rule-gap) - 1px),var(--fc-rule-blue) calc(var(--fc-rule-gap) - 1px) var(--fc-rule-gap))}.idx-card-head{height:36px;box-sizing:border-box;border-bottom:2px solid var(--fc-rule-red);display:flex;align-items:flex-end;padding:0 18px 6px;font-family:var(--fc-font-display);font-weight:700;font-size:13px;letter-spacing:.14em;color:var(--fc-ink-soft)}.idx-stamp{--tilt: -9deg;display:inline-flex;flex-direction:column;align-items:center;padding:6px 12px;border:3px double var(--fc-stamp);border-radius:6px;color:var(--fc-stamp);background:#fff9;line-height:1.15;transform:rotate(var(--tilt));animation:idx-stamp var(--fc-dur-stamp) var(--fc-ease-stamp) both;font-family:var(--fc-font-display)}.idx-stamp-big{font-weight:800;font-size:18px;letter-spacing:.1em}.idx-stamp-small{font-weight:600;font-size:12px;letter-spacing:.12em}@keyframes idx-stamp{0%{transform:rotate(var(--tilt)) scale(1.5);opacity:0}55%{transform:rotate(var(--tilt)) scale(.96);opacity:1}to{transform:rotate(var(--tilt)) scale(1)}}@keyframes idx-deal{0%{transform:translate(40px,-20px) rotate(6deg);opacity:0}to{transform:none;opacity:1}}@keyframes idx-perch{0%,to{transform:rotate(0)}45%{transform:rotate(-2deg)}55%{transform:rotate(1.5deg) translateY(1px)}}@keyframes idx-swipe{0%{background-size:0% 45%}to{background-size:100% 45%}}@keyframes idx-write{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}@keyframes idx-punch{0%{transform:translateY(-50px)}to{transform:translateY(40px)}}@keyframes idx-nudge{0%,to{transform:none}40%{transform:translate(2px,2px)}}.idx-icon svg{display:block}:root[data-look=index] .tabbar{background:var(--fc-card);border-top:1px solid var(--fc-line);box-shadow:0 -2px 10px #1f1f470d}:root[data-look=index] .tabbar button{color:var(--fc-ink-soft);font-family:var(--fc-font-display);font-weight:600;font-size:14px}:root[data-look=index] .tabbar button[aria-current=page]{color:var(--fc-ink)}:root[data-look=index] .tabbar .tab-icon{border-radius:6px}:root[data-look=index] .tabbar button[aria-current=page] .tab-icon{background:var(--fc-highlight);color:var(--fc-ink)}:root[data-look=index] .shell.has-tabbar .shell-main{padding-bottom:0}.idx-home{width:100%;max-width:560px;margin:0 auto;box-sizing:border-box;padding:18px 16px 110px;display:flex;flex-direction:column;gap:20px;color:var(--fc-ink)}.idx-top{display:flex;align-items:baseline;gap:10px}.idx-logo{font-family:var(--fc-font-display);font-weight:800;font-size:24px;letter-spacing:-.02em}.idx-date{font-size:15px;color:var(--fc-ink-soft)}.idx-today{position:relative;margin-top:40px;background:var(--fc-card);border-radius:4px;box-shadow:0 1px 2px #1f1f471f,0 10px 24px #1f1f471a}.idx-today .idx-card-head{border-radius:4px 4px 0 0}.idx-perch{position:absolute;right:18px;top:-70px;transform-origin:40% 90%;animation:idx-perch 6s ease-in-out infinite}.idx-today-body{padding:14px 18px 18px;display:flex;flex-direction:column;gap:14px}.idx-today-goal{display:flex;align-items:center;gap:16px}.idx-today-words{display:flex;flex-direction:column;gap:2px}.idx-today-words b{font-family:var(--fc-font-display);font-weight:700;font-size:19px;line-height:1.25}.idx-today-words span{font-size:16px;color:var(--fc-ink-soft)}.idx-ring{position:relative;flex:none;display:inline-block}.idx-ring svg{display:block}.idx-ring-ink{transition:stroke-dashoffset .4s var(--fc-ease-paper)}.idx-ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}.idx-ring-text b{font-family:var(--fc-font-display);font-weight:700;font-size:20px}.idx-ring-text span{font-size:12px;color:var(--fc-ink-soft);margin-top:2px}.idx-ring-text .idx-ring-check{margin:0;font-family:var(--fc-font-display);font-weight:800;font-size:30px;color:var(--fc-stamp);transform:rotate(-8deg);animation:idx-stamp var(--fc-dur-stamp) var(--fc-ease-stamp) both;--tilt: -8deg}.idx-streak-row{display:flex;justify-content:space-between;align-items:center;font-size:15px;font-weight:600}.idx-streak-row span{display:flex;align-items:center;gap:5px}.idx-streak-row .soft{color:var(--fc-ink-soft)}.idx-week{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.idx-day{height:44px;box-sizing:border-box;border:1.5px solid var(--fc-line);border-radius:3px;background:var(--fc-card);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.idx-day-label{font-size:12px;font-weight:700;color:var(--fc-ink-soft)}.idx-day-mark{font-family:var(--fc-font-display);font-weight:800;font-size:14px;line-height:1.1;min-height:14px;transform:rotate(-8deg);color:var(--fc-stamp)}.idx-day.week-frozen{border-color:#569eb3}.idx-day.week-frozen .idx-day-mark{color:#006175;font-size:12px}.idx-day.week-today-open,.idx-day.week-today-done{border-color:var(--fc-ink)}.idx-day.week-today-open{border-style:dashed}.idx-day.week-future{border-style:dashed;opacity:.7}.idx-note{display:flex;align-items:center;gap:12px;background:var(--fc-card);border-radius:4px;box-shadow:var(--fc-shadow-stack);padding:10px 14px;font-size:16px;line-height:1.45}.idx-note .mascot{flex:none}.idx-practice{display:flex;align-items:center;gap:14px;min-height:64px;padding:10px 18px;box-sizing:border-box;width:100%;background:var(--fc-primary);border:none;border-radius:10px;box-shadow:0 4px 0 var(--fc-primary-press);color:#fff;text-align:left;font:inherit;cursor:pointer;transition:transform 80ms ease-out,box-shadow 80ms ease-out}.idx-practice:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px 0 var(--fc-primary-press)}.idx-practice:disabled{background:var(--fc-disabled-bg);color:var(--fc-disabled-ink);box-shadow:none;cursor:default}.idx-practice:disabled svg circle,.idx-practice:disabled svg path{stroke:var(--fc-disabled-ink);fill:none}.idx-practice-text{display:flex;flex-direction:column;flex:1}.idx-practice-text b{font-family:var(--fc-font-display);font-weight:700;font-size:18px}.idx-practice-text span{font-size:15px;color:#c9cacd}.idx-practice:disabled .idx-practice-text span{color:var(--fc-disabled-ink)}.idx-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:6px}.idx-head h1,.idx-head h2{margin:0;font-size:20px}.idx-head h1{font-size:26px}.idx-head-note{font-size:15px;color:var(--fc-ink-soft)}.idx-head-actions{display:flex;gap:6px}.idx-link{min-height:44px;padding:0 12px;background:transparent;border:none;font-family:var(--fc-font-display);font-weight:600;font-size:16px;color:var(--fc-ink);text-decoration:underline;text-underline-offset:4px;cursor:pointer}.idx-empty{display:flex;align-items:center;gap:12px;color:var(--fc-ink-soft)}.idx-empty p{margin:0}.idx-stacks{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 14px}.idx-stack{position:relative;padding-top:8px;min-width:0}.idx-stack-back{position:absolute;left:2px;right:2px;top:4px;bottom:0;background:var(--fc-card);border-radius:4px;box-shadow:var(--fc-shadow-stack)}.idx-stack-back.b2{left:6px;right:-2px;top:0;transform:rotate(2.5deg)}.idx-stack-back.b1{transform:rotate(-1.5deg)}.idx-stack-card{position:relative;min-height:132px;background:var(--fc-card);border-radius:4px;box-shadow:var(--fc-shadow-tile);display:flex;flex-direction:column}.idx-stack-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px;padding:0 12px 12px;background:none;border:none;font:inherit;color:inherit;text-align:left;cursor:pointer;border-radius:4px}.idx-stack-rule{display:block;height:22px;margin:0 -12px;border-bottom:1.5px solid var(--fc-rule-red)}.idx-stack-name{font-family:var(--fc-font-display);font-weight:600;font-size:17px;line-height:1.3;padding-right:22px;overflow-wrap:anywhere}.idx-boxes{display:flex;height:6px;gap:2px;background:var(--fc-disabled-bg);border-radius:1px;overflow:hidden}.idx-boxes i{display:block;border-radius:1px}.idx-stack-meta{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:14px;color:var(--fc-ink-soft)}.idx-due{padding:1px 6px;background:var(--fc-highlight);color:var(--fc-ink);font-weight:700;transform:rotate(-2deg);white-space:nowrap}.idx-done{font-weight:700;color:var(--fc-done)}.idx-meta-soft{color:var(--fc-ink-soft)}.idx-menu-btn{position:absolute;top:0;right:2px;width:40px;height:40px;border:none;background:none;font-size:18px;color:var(--fc-ink-soft);cursor:pointer;border-radius:6px}.idx-stack-card .deck-menu{top:40px;right:4px;bottom:auto}.idx-folders{display:flex;flex-direction:column;gap:14px;margin-top:12px}.idx-folder{position:relative;padding-top:14px}.idx-folder-tab{position:absolute;top:0;left:0;width:120px;height:20px;background:var(--fc-manila);border-radius:6px 6px 0 0}.idx-folder-body{position:relative;padding:14px;background:var(--fc-manila);border-radius:0 6px 6px;display:flex;flex-direction:column;gap:10px}.idx-folder-top{display:flex;justify-content:space-between;gap:8px}.idx-folder-top>div{display:flex;flex-direction:column;gap:2px}.idx-folder-top b{font-family:var(--fc-font-display);font-weight:600;font-size:18px}.idx-folder-top>div span{font-size:15px;color:var(--fc-ink-mid)}.idx-view-only{align-self:flex-start;display:flex;align-items:center;gap:3px;font-size:14px;font-weight:600;color:var(--fc-ink-mid);white-space:nowrap}.idx-folder-actions{display:flex;gap:8px}:root[data-look=index] .idx-folder-actions .button{box-shadow:none}:root[data-look=index] .idx-folder-actions .button:not(.primary){flex:1}.idx-unfollow{align-self:flex-start;background:none;border:none;font:inherit;font-size:15px;color:var(--fc-ink-mid);text-decoration:underline;cursor:pointer;padding:4px 0;min-height:32px}.idx-archived:empty{display:none}.idx-collection{padding-top:18px}:root[data-look=index] .idx-study-page{height:100dvh;max-height:100dvh;overflow:hidden;max-width:640px;width:100%;margin:0 auto;padding:0;gap:0;display:flex;flex-direction:column;background:var(--fc-bg)}.idx-study-page .gem-scope{padding:10px 20px 0}.idx-topbar{display:flex;align-items:center;gap:12px;padding:16px 20px 0}.idx-close{width:44px;height:44px;flex:none;box-sizing:border-box;display:flex;align-items:center;justify-content:center;background:transparent;border:1.5px solid var(--fc-line);border-radius:8px;cursor:pointer}.idx-progress{flex:1;display:flex;flex-direction:column;gap:6px}.idx-progress-count{font-size:15px;color:var(--fc-ink-soft);text-align:right}.idx-segs{display:flex;gap:3px}.idx-segs i{flex:1;height:4px;border-radius:2px;background:var(--fc-line)}.idx-segs i.done{background:var(--fc-ink)}.idx-segs i.now{background:var(--fc-highlight)}.idx-study{flex:1;min-height:0;display:flex;flex-direction:column;gap:10px;padding:14px 20px 96px;box-sizing:border-box}.idx-desk{position:relative;flex:1 1 auto;min-height:0;margin:6px 4px 10px;animation:idx-deal var(--fc-dur-deal) var(--fc-ease-paper) both;transition:transform .3s var(--fc-ease-paper),opacity .3s ease}.idx-desk.leaving-done{transform:translate(115%) rotate(8deg);opacity:0}.idx-desk.leaving-tuck{transform:translateY(16px) scale(.94);opacity:0}.idx-sheet{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--fc-card);border-radius:6px;box-shadow:var(--fc-shadow-stack)}.idx-sheet.s2{transform:translate(6px,10px) rotate(2deg)}.idx-sheet.s1{transform:translate(-3px,5px) rotate(-1.2deg)}.idx-card{all:unset;position:absolute;top:0;right:0;bottom:0;left:0;display:block;cursor:pointer;perspective:1400px;border-radius:6px;-webkit-tap-highlight-color:transparent}.idx-card:focus-visible{outline:3px solid var(--fc-highlight);outline-offset:3px}.idx-card-inner{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:minmax(0,1fr);transform-style:preserve-3d;transition:transform var(--fc-dur-flip) var(--fc-ease-paper)}.idx-card[data-flipped=true] .idx-card-inner{transform:rotateY(180deg)}.idx-face{grid-area:1 / 1;min-height:0;display:flex;flex-direction:column;background:var(--fc-card);border-radius:6px;box-shadow:var(--fc-shadow-card);overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;color:var(--fc-ink);text-align:center}.idx-back{transform:rotateY(180deg)}.idx-front,.idx-back{transition:visibility 0s linear calc(var(--fc-dur-flip) * .13)}.idx-face *{backface-visibility:hidden;-webkit-backface-visibility:hidden}.idx-back,.idx-card[data-flipped=true] .idx-front{visibility:hidden}.idx-card[data-flipped=true] .idx-back{visibility:visible}.idx-face-head{height:48px;flex:none;box-sizing:border-box;border-bottom:2px solid var(--fc-rule-red);display:flex;align-items:flex-end;justify-content:space-between;gap:10px;padding:0 18px 8px;font-size:12px;color:var(--fc-ink-soft);text-align:left}.idx-face-head b{font-family:var(--fc-font-display);font-weight:700;letter-spacing:.14em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idx-face-head span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.idx-front-body{flex:1;min-height:0;overflow-y:auto;padding:24px;display:flex;flex-direction:column;align-items:center;gap:12px}.idx-front-text{margin:auto 0 0;font-family:var(--fc-font-display);font-weight:700;letter-spacing:-.01em;line-height:1.15;overflow-wrap:anywhere}.idx-front-text.size-xl{font-size:clamp(28px,9vw,36px)}.idx-front-text.size-lg{font-size:24px;line-height:1.3}.idx-front-text.size-md{font:500 20px/32px var(--fc-font-body)}.idx-front-sub{font-size:14px;color:var(--fc-ink-soft)}.idx-front-body>:last-child{margin-bottom:auto}.idx-clue{font:500 18px/32px var(--fc-font-body)}.idx-highlight{padding:0 3px;background-image:linear-gradient(var(--fc-highlight-soft),var(--fc-highlight-soft));background-repeat:no-repeat;background-position:0 85%;background-size:100% 45%;animation:idx-swipe .25s ease-out both}.idx-tap{flex:none;padding:0 0 18px;font-size:13px;color:var(--fc-ink-soft)}.idx-back-body{flex:1;min-height:0;overflow-y:auto;padding:6px 22px 22px;display:flex}.idx-back-text{margin:0 auto;font:500 20px/32px var(--fc-font-body);text-wrap:pretty;white-space:pre-line}.idx-level-stamp{position:absolute;right:18px;bottom:26px;z-index:2;pointer-events:none}.idx-desk:has(.idx-level-stamp) .idx-card{animation:idx-nudge .25s .15s ease-out}.idx-helper{flex:none;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;min-height:64px}.idx-helper .meet-btn{flex:none}.idx-helper-line{flex:1;margin-bottom:14px;font-size:16px;color:var(--fc-ink-mid)}.idx-clue-btn{min-height:44px;padding:0 6px 0 14px;display:flex;align-items:center;gap:8px;background:transparent;border:none;font-family:var(--fc-font-display);font-weight:600;font-size:16px;color:var(--fc-ink);cursor:pointer}.idx-clue-btn span{text-decoration:underline;text-underline-offset:4px}.idx-grade{position:fixed;left:0;right:0;bottom:0;z-index:5;background:var(--fc-bg);padding:10px max(20px,calc((100vw - 600px)/2)) 12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.idx-grade-btn{height:60px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1.5px solid var(--fc-ink);border-radius:10px;font-family:var(--fc-font-display);font-weight:600;font-size:17px;cursor:pointer;transition:transform 80ms ease-out,box-shadow 80ms ease-out}.idx-grade-btn small{font-family:var(--fc-font-body);font-weight:500;font-size:14px}.idx-grade-btn.review{background:var(--fc-card);color:var(--fc-ink);box-shadow:0 3px 0 var(--fc-line)}.idx-grade-btn.review small{color:var(--fc-ink-soft)}.idx-grade-btn.gotit{background:var(--fc-primary);color:#fff;box-shadow:0 3px 0 var(--fc-primary-press)}.idx-grade-btn.gotit small{color:#c9cacd}.idx-grade-btn:active:not(:disabled){transform:translateY(3px);box-shadow:none}.idx-grade-btn:disabled{cursor:default}.idx-grade-btn.gotit:disabled{background:var(--fc-primary-press)}.idx-recap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;overflow-x:hidden;overflow-y:auto;background:var(--fc-bg);color:var(--fc-ink);display:flex;flex-direction:column;align-items:center;gap:18px;padding:34px 20px 28px;box-sizing:border-box}.idx-recap>*{max-width:520px}.idx-dot{position:absolute;border-radius:50%;box-shadow:0 1px 1px #1f1f4733;animation:idx-punch 2.6s ease-in infinite alternate;pointer-events:none}.idx-fan{position:relative;width:300px;height:150px;margin-top:10px;flex:none}.idx-fan-card{position:absolute;left:30px;top:6px;width:240px;height:144px;background:var(--fc-card);border-radius:4px;box-shadow:0 2px 6px #1f1f471f;overflow:hidden}.idx-fan-card.f1{transform:rotate(-12deg);animation:idx-fan1 .5s var(--fc-ease-paper) both}.idx-fan-card.f2{transform:rotate(10deg);animation:idx-fan2 .5s var(--fc-ease-paper) both}.idx-fan-card.f3{top:0;box-shadow:0 4px 14px #1f1f4729}.idx-fan-card .idx-stack-rule{margin:0;height:30px;border-bottom-width:2px}@keyframes idx-fan1{0%{transform:rotate(0)}to{transform:rotate(-12deg)}}@keyframes idx-fan2{0%{transform:rotate(0)}to{transform:rotate(10deg)}}.idx-fan-stamp{position:absolute;left:50%;top:48px;transform:translate(-50%)}.idx-fan-stamp .idx-stamp{animation-delay:.2s}.idx-fan-stamp .idx-stamp-big{font-size:22px;white-space:nowrap}.idx-fan-stamp .idx-stamp-small{letter-spacing:.16em}.idx-fan-wren{position:absolute;right:-16px;top:-40px}.idx-recap-title{position:relative;margin:6px 0 0;font-size:30px;text-align:center}.idx-recap-sub{position:relative;margin:-8px 0 0;font-size:17px;color:var(--fc-ink-soft);text-align:center}.idx-recap-card{position:relative;width:100%;background:var(--fc-card);border-radius:4px;box-shadow:0 1px 2px #1f1f471f,0 10px 24px #1f1f471a;overflow:hidden}.idx-recap-card .idx-card-head{height:30px;font-size:13px;padding-bottom:5px}.idx-recap-lines{list-style:none;margin:0;padding:0 18px;background-image:repeating-linear-gradient(to bottom,transparent 0 39px,var(--fc-rule-blue) 39px 40px)}.idx-recap-lines li{min-height:40px;display:flex;align-items:center;gap:10px;font-size:17px}.idx-recap-lines b{font-family:var(--fc-font-display);font-size:20px;min-width:34px}.idx-tick{font-family:var(--fc-font-display);font-weight:800;color:var(--fc-stamp);width:20px;text-align:center}.idx-mark{background:var(--fc-highlight-soft);color:inherit;padding:0 3px}.write-in{animation:idx-write .3s var(--fc-ease-paper) both}.idx-recap-actions{position:relative;width:100%;margin-top:auto;display:flex;flex-direction:column;gap:10px}:root[data-look=index] .idx-recap-actions .button{height:54px;font-size:17px}.idx-intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:var(--fc-bg);display:flex;flex-direction:column;align-items:center;padding:0 20px;box-sizing:border-box;overflow-y:auto}.idx-intro-skip-row{width:100%;max-width:480px;display:flex;justify-content:flex-end;padding-top:12px}.idx-intro-card{position:relative;width:100%;max-width:480px;margin-top:110px;background:var(--fc-card);border-radius:4px;box-shadow:var(--fc-shadow-card);animation:idx-deal var(--fc-dur-deal) var(--fc-ease-paper) both}.idx-intro-wren{position:absolute;right:12px;top:-128px;transform-origin:40% 90%;animation:idx-perch 6s ease-in-out infinite}.idx-intro-body{padding:6px 22px 26px}.idx-intro-body h2{margin:0;font-size:26px;line-height:32px}.idx-intro-body p{margin:0;font-size:17px;line-height:32px}.idx-intro-foot{width:100%;max-width:480px;margin-top:auto;padding:24px 0 calc(28px + env(safe-area-inset-bottom,0px))}:root[data-look=index] .idx-intro-go{width:100%;height:56px;font-size:17px}.idx-intro-card{touch-action:pan-y}.idx-intro-dots{display:flex;gap:8px;justify-content:center;margin-top:20px}.idx-intro-dot{width:8px;height:8px;border-radius:50%;background:var(--fc-line)}.idx-intro-dot.on{background:var(--fc-ink)}.idx-intro-back{display:block;margin:8px auto 0}:root[data-look=index] .badges-page{padding:18px 16px 110px;color:var(--fc-ink)}:root[data-look=index] .badge-chip{background:var(--fc-card);box-shadow:var(--fc-shadow-stack);border-radius:4px;font-family:var(--fc-font-display);font-weight:600}:root[data-look=index] button.crew-tile,:root[data-look=index] .crew-tile{background:var(--fc-card);border-radius:4px;box-shadow:var(--fc-shadow-tile)}:root[data-look=index] .sticker-book{background:var(--fc-card);border-radius:4px;box-shadow:var(--fc-shadow-tile)}:root[data-look=index] .sticker-art,:root[data-look=index] .sticker-art.role-keeper,:root[data-look=index] .sticker-art.role-helper{background:var(--fc-bg);border-radius:6px}:root[data-look=index] .sticker-locked{border:2px dashed var(--fc-line);color:var(--fc-ink-soft);background:transparent}:root[data-look=index] .badge-card{background:none;box-shadow:none}:root[data-look=index] .badge-art{width:96px;height:96px;border-radius:50%;border:3px double var(--fc-ink);background:transparent;color:var(--fc-ink);box-shadow:none;transform:rotate(4deg)}:root[data-look=index] .badge-card.earned .badge-art{box-shadow:none}:root[data-look=index] .badge-first-mastery{border-color:var(--fc-stamp);color:var(--fc-stamp);transform:rotate(-6deg)}:root[data-look=index] .badge-cards-100{border-color:#006175;color:#006175;transform:rotate(-3deg)}:root[data-look=index] .badge-streak-7,:root[data-look=index] .badge-streak-30{border-color:var(--fc-ink);color:var(--fc-ink)}:root[data-look=index] .badge-card.locked .badge-art{border:3px double #aeafb2;color:#8b8c93;transform:none}:root[data-look=index] .badge-new{background:var(--fc-highlight);color:var(--fc-ink)}.idx-badge-words{display:flex;flex-direction:column;align-items:center;line-height:1;font-family:var(--fc-font-display)}.idx-badge-words b{font-weight:800;font-size:1em}.idx-badge-words small{font-weight:600;font-size:.42em;letter-spacing:.14em;margin-top:3px}:root[data-look=index] .meet-overlay{background:#1f1f4773}:root[data-look=index] .meet-sheet,:root[data-look=index] .meet-sheet.role-host,:root[data-look=index] .meet-sheet.role-helper{border-radius:6px 6px 0 0;box-shadow:var(--fc-shadow-card)}:root[data-look=index] .meet-art,:root[data-look=index] .meet-sheet.role-host .meet-art,:root[data-look=index] .meet-sheet.role-helper .meet-art{background:var(--fc-bg);border-radius:6px}:root[data-look=index] .meet-tag,:root[data-look=index] .meet-sheet.role-host .meet-tag,:root[data-look=index] .meet-sheet.role-helper .meet-tag{background:var(--fc-highlight-soft);color:var(--fc-ink);border-radius:3px}:root[data-look=index] .meet-quote,:root[data-look=index] .meet-sheet.role-host .meet-quote,:root[data-look=index] .meet-sheet.role-helper .meet-quote{background:var(--fc-bg);border-radius:4px;border-left:3px solid var(--fc-rule-red)}:root[data-look=index] .meet-close{background:transparent;border:1.5px solid var(--fc-line);border-radius:8px}:root[data-look=index] .tour-bubble{border-radius:4px;border-color:var(--fc-ink)}@media (prefers-reduced-motion: reduce){.idx-desk,.idx-perch,.idx-intro-wren,.idx-intro-card,.idx-dot,.idx-fan-card,.idx-stamp,.write-in,.idx-highlight,.idx-ring-check{animation:none!important}.idx-card-inner{transition:none;transform:none!important}.idx-back{transform:none;opacity:0}.idx-front,.idx-back{transition:opacity .15s}.idx-card[data-flipped=true] .idx-front{opacity:0}.idx-card[data-flipped=true] .idx-back{opacity:1}}:root[data-motion=reduced] :is(.idx-desk,.idx-perch,.idx-intro-wren,.idx-intro-card,.idx-dot,.idx-fan-card,.idx-stamp,.write-in,.idx-highlight,.idx-ring-check){animation:none!important}:root[data-motion=reduced] .idx-card-inner{transition:none;transform:none!important}:root[data-motion=reduced] .idx-back{transform:none;opacity:0}:root[data-motion=reduced] .idx-front,:root[data-motion=reduced] .idx-back{transition:opacity .15s}:root[data-motion=reduced] .idx-card[data-flipped=true] .idx-front{opacity:0}:root[data-motion=reduced] .idx-card[data-flipped=true] .idx-back{opacity:1}html:has(.idx-study-page),body:has(.idx-study-page){overflow:hidden}.idx-recap>:not(.idx-dot){position:relative;z-index:1}:root[data-look=index] .tour-title{font-weight:700}.idx-key,.idx-keys-hint,.idx-enter-hint{display:none}.idx-key{font:500 13px var(--fc-font-body);color:inherit;opacity:.7;margin-left:4px}.idx-keys-hint{grid-column:1 / -1;margin:0;text-align:center;font-size:15px;color:var(--fc-ink-soft)}@media (min-width: 900px){:root[data-look=index] .topnav{background:var(--fc-bg);border-bottom:none;box-shadow:none}:root[data-look=index] .topnav-logo{font-family:var(--fc-font-display);font-weight:800;font-size:28px;letter-spacing:-.02em;color:var(--fc-ink)}:root[data-look=index] .topnav-pill{background:none;box-shadow:none;padding:0;gap:20px}:root[data-look=index] .topnav-pill button{font-family:var(--fc-font-display);font-weight:600;font-size:15px;color:var(--fc-ink);background:none;padding:8px 2px;border-radius:0}:root[data-look=index] .topnav-pill button[aria-current=page]{background:none;color:var(--fc-ink);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}:root[data-look=index] .topnav-pill button:hover{background:none;text-decoration:underline;text-underline-offset:6px}.idx-home{max-width:1200px;padding:8px 32px 48px;gap:28px}.idx-top{display:none}.idx-columns{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start}.idx-left{flex:0 1 380px;min-width:300px;display:flex;flex-direction:column;gap:16px;padding-top:30px}.idx-right{flex:999 1 520px;min-width:0}.idx-right .idx-head{margin-top:0}.idx-head h2{font-size:22px}.idx-stacks{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:28px 22px;margin-top:18px}.idx-stack-card{min-height:150px}.idx-folders{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:18px}.idx-enter-hint{display:inline}.idx-collection{max-width:1200px}:root[data-look=index] .idx-study-page{max-width:860px}.idx-topbar{padding:24px 32px 0}.idx-study{padding:26px 32px 130px;align-items:center}.idx-desk{flex:0 1 auto;width:min(100%,760px,calc((100dvh - 330px) * 5 / 3));aspect-ratio:5 / 3;margin:10px 0}:root[data-look=index]{--fc-rule-gap: 40px}.idx-face-head{height:56px;padding:0 28px 10px;font-size:13px}.idx-front-text.size-md,.idx-back-text{font:500 26px/40px var(--fc-font-body)}.idx-front-text.size-xl{font-size:40px}.idx-back-body{padding:6px 40px 28px}.idx-helper{width:min(100%,760px)}.idx-grade{padding:10px max(32px,calc((100vw - 560px)/2)) 16px;row-gap:10px}.idx-key,.idx-keys-hint{display:inline}.idx-keys-hint{display:block}.idx-today{margin-top:50px}.idx-perch{top:-78px}}.idx-demo{padding-top:8px}.idx-demo-hello{display:flex;align-items:flex-end;gap:12px}.idx-demo-hello h1{margin:0 0 4px;font-size:28px}.idx-demo-hello p{margin:0;font-size:17px;line-height:1.5;color:var(--fc-ink-mid)}.idx-demo-wren{flex:none;align-self:flex-start;transform-origin:40% 90%;animation:idx-perch 6s ease-in-out infinite}.idx-stack-note{font-size:14px;color:var(--fc-ink-soft);margin-top:-4px}@media (prefers-reduced-motion: reduce){.idx-demo-wren{animation:none}}:root[data-motion=reduced] .idx-demo-wren{animation:none}@media (min-width: 900px){.idx-demo{max-width:1000px}}.idx-stack-boxes{display:flex;flex-direction:column;gap:6px;min-height:44px;padding:8px 12px 10px;background:none;border:none;border-top:1.5px dashed var(--fc-line);font:inherit;color:var(--fc-ink);text-align:left;cursor:pointer;border-radius:0 0 4px 4px}.idx-stack-boxes:hover{background:#fafaf9}.idx-stack-boxes-label{font-family:var(--fc-font-display);font-weight:600;font-size:14px;letter-spacing:.04em}.idx-stack-boxes .idx-boxes{height:8px}:root[data-look=index] .box-row{border:none;border-radius:4px}:root[data-look=index] .boxes-explain{border-radius:4px;border-left:3px solid var(--fc-rule-red)}:root[data-look=index] .crew-role{font-size:14px}:root[data-look=index] .sticker-label{font-size:13px}:root[data-look=index] .badge-title{font-size:16px}:root[data-look=index] .badge-progress{font-size:14px}:root[data-look=index] .badge-new{font-size:13px}:root[data-look=index] .box-card-deck{font-size:14px}.idx-stack-set{padding-top:26px}.idx-set-tab{position:absolute;top:8px;left:0;width:42%;height:22px;background:color-mix(in srgb,var(--fc-manila) 88%,#8a6a1f);border-radius:6px 6px 0 0}.idx-set-paper{position:absolute;top:4px;height:40px;background:var(--fc-card);border-radius:3px;box-shadow:0 1px 2px #1f1f4726;border-top:2px solid var(--fc-rule-red)}.idx-set-paper.p1{left:36%;right:16px;transform:rotate(-2deg)}.idx-set-paper.p2{left:46%;right:5px;top:9px;transform:rotate(1.5deg)}.idx-set-paper:after{content:"";position:absolute;left:0;right:0;top:11px;border-top:1px solid var(--fc-rule-blue)}.idx-stack-set .idx-stack-card{background:var(--fc-manila);border-radius:0 6px 6px;box-shadow:0 1px 2px #1f1f471f,0 6px 14px #1f1f4714}.idx-stack-set .idx-stack-body{padding-top:12px}.idx-set-label{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--fc-ink-mid)}.idx-stack-set .idx-stack-meta{color:var(--fc-ink-mid)}.idx-stack-set .idx-stack-boxes{border-top-color:#1f1f4733}.idx-stack-set .idx-stack-boxes:hover{background:#ffffff40}.idx-follow-from{display:inline-flex;align-items:center;gap:4px;font-size:14px;color:var(--fc-ink-mid);margin-top:-4px}:root[data-look=gem-crew]{--grape: #6A3FF0;--grape-lip: #4B23C2;--amethyst: #8F6BFF;--lilac: #EFE9FF;--lilac-line: #D3C6FF;--card: #FFFFFF;--lemon: #FFD84D;--lemon-lip: #C99A00;--mint: #33D6A6;--mint-lip: #139C74;--bubblegum: #FF6FA8;--tangerine: #FF9A1F;--ice: #9FE6FF;--ink: #23163F;--ink-soft: #5B4F7A;--box-1: #C9BEEB;--box-2: #FFD84D;--box-3: #FF9A1F;--box-4: #FF6FA8;--box-5: #8F6BFF;--font-display: "Fredoka Variable", Fredoka, system-ui, sans-serif;--font-body: "Lexend Variable", Lexend, system-ui, sans-serif;--radius-sm: 14px;--radius-md: 22px;--radius-lg: 30px;--radius-card: 30px;--radius-pill: 999px;--jelly: inset 0 -6px 0 rgb(35 22 63 / .16), inset 0 4px 0 rgb(255 255 255 / .45);--shadow-lip: 0 6px 0 var(--lip, var(--grape-lip));--ease-jelly: cubic-bezier(.3, 1.6, .5, 1);--dur-tap: .12s;--dur-flip: .6s;--dur-pop: .55s;--color-bg: var(--lilac);--color-surface: var(--card);--color-surface-raised: #FBF9FF;--color-text: var(--ink);--color-text-muted: var(--ink-soft);--color-text-faint: #66598A;--color-border: var(--lilac-line);--color-border-soft: #E3DAFF;--color-border-strong: #B9A8F0;--color-track: #E3DAFF;--color-pill: #E8E0FF;--color-overlay: rgb(35 22 63 / .45);--color-success: var(--mint-lip);--color-warn: #B86A00;--color-accent: var(--grape);--color-accent-contrast: #FFFFFF;--color-accent-soft: #E3DAFF;--shadow-tile: 0 6px 0 var(--lilac-line);--shadow-card: 0 12px 0 var(--lilac-line);--shadow-pill: 0 3px 0 var(--lilac-line);--flip-duration: var(--dur-flip)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--color-surface);border-top:2px solid #E3DAFF;padding:10px 18px calc(10px + env(safe-area-inset-bottom,0px));display:grid;grid-template-columns:repeat(3,minmax(0,1fr));text-align:center;font-weight:600;font-size:13px}.tabbar button{all:unset;box-sizing:border-box;cursor:pointer;min-height:44px;display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--ink-soft)}.tabbar button[aria-current=page]{color:var(--grape)}.tabbar .tab-icon{width:52px;height:32px;border-radius:16px;display:flex;align-items:center;justify-content:center;transition:background var(--dur-tap)}.tabbar button[aria-current=page] .tab-icon{background:var(--lilac)}.tabbar button:focus-visible{outline:3px solid var(--amethyst);outline-offset:2px;border-radius:12px}.shell.has-tabbar .shell-main{padding-bottom:96px}@keyframes fx-wiggle{0%,80%,to{transform:rotate(0)}84%{transform:rotate(-6deg)}88%{transform:rotate(6deg)}92%{transform:rotate(-3deg)}}@keyframes fx-gem{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-8px) rotate(4deg)}}@keyframes fx-shine{0%,60%{transform:translate(-120%) skew(-20deg)}to{transform:translate(220%) skew(-20deg)}}@keyframes fx-pop{0%{transform:scale(.6)}25%{transform:scale(1.12)}45%,to{transform:scale(1)}}@keyframes fx-sparkle{0%,to{transform:scale(.4);opacity:.3}50%{transform:scale(1);opacity:1}}.fx-wiggle{animation:fx-wiggle 2.4s ease-in-out infinite}.fx-gem{animation:fx-gem 1.6s ease-in-out infinite}.fx-shine{animation:fx-shine 2.6s ease-in-out infinite}.fx-rot{animation:fx-rot 30s linear infinite}.shell.fun-look .shell-header{display:none}:root[data-look=gem-crew] .button{--lip: var(--lilac-line);font-family:var(--font-display);font-weight:600;font-size:1.0625rem;min-height:44px;border:none;border-radius:var(--radius-md);background:var(--card);color:#4b23c2;box-shadow:var(--jelly),0 6px 0 var(--lip);transition:transform var(--dur-tap) var(--ease-jelly),box-shadow var(--dur-tap)}:root[data-look=gem-crew] .button:hover:not(:disabled){filter:none;transform:translateY(-1px)}:root[data-look=gem-crew] .button:active:not(:disabled){transform:translateY(5px) scale(1.03,.94);box-shadow:inset 0 -3px #23163f29,inset 0 4px #ffffff73,0 1px 0 var(--lip)}:root[data-look=gem-crew] .button:focus-visible{outline:3px solid var(--amethyst);outline-offset:3px}:root[data-look=gem-crew] .button:disabled{opacity:.6;box-shadow:var(--jelly),0 6px 0 var(--lip)}:root[data-look=gem-crew] .button.primary{--lip: var(--grape-lip);background:var(--grape);color:#fff}:root[data-look=gem-crew] .button.subtle{--lip: var(--lilac-line);background:var(--card);color:#4b23c2}:root[data-look=gem-crew] .button.small{font-size:.9375rem;padding:.5rem 1rem;min-height:40px}:root[data-look=gem-crew] .button.grade.got-it{--lip: var(--mint-lip);background:var(--mint);color:var(--ink)}:root[data-look=gem-crew] .button.grade.review-again{--lip: var(--lilac-line);background:var(--card);color:#4b23c2}:root[data-look=gem-crew] .scope-toggle{background:#e3daff}:root[data-look=gem-crew] .scope-toggle button{font-family:var(--font-display);font-weight:600;min-height:36px}:root[data-look=gem-crew] .scope-toggle button.active{background:var(--card);color:var(--grape-lip);box-shadow:0 3px 0 var(--lilac-line)}:root[data-look=gem-crew] select{font-family:var(--font-body);font-size:1rem;padding:.5rem .75rem;border:2px solid var(--lilac-line);border-radius:var(--radius-sm);background:var(--card);color:var(--ink)}.gem-home{display:flex;flex-direction:column;gap:22px;width:100%;max-width:760px;margin:0 auto;padding:22px 18px 24px}.gem-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.gem-hello{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-weight:700;font-size:24px}.gem-avatar{width:44px;height:44px;border-radius:50%;background:var(--bubblegum);display:flex;align-items:center;justify-content:center;font-size:20px}.gem-chips{display:flex;gap:8px}.gem-chip{display:flex;align-items:center;gap:4px;background:var(--card);border-radius:999px;padding:6px 12px 6px 8px;font-family:var(--font-display);font-weight:700;font-size:19px;box-shadow:0 4px 0 var(--lilac-line)}.gem-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}.gem-head h2,.gem-head-solo{font-family:var(--font-display);font-weight:700;font-size:24px;margin:0}.gem-head-actions{display:flex;gap:12px;flex-wrap:wrap;padding-bottom:6px}.gem-sub-head{margin:0 0 12px;font-size:15px;color:var(--ink-soft)}.gem-empty{text-align:center;color:var(--ink-soft);background:var(--card);border-radius:24px;padding:18px;box-shadow:0 6px 0 var(--lilac-line)}.gem-empty p{margin:0}.gem-chest{background:var(--grape);border-radius:30px;padding:18px 18px 26px;position:relative;overflow:hidden;box-shadow:0 8px 0 var(--grape-lip);color:#fff}.gem-chest-rays{position:absolute;left:50%;top:150px;width:600px;height:600px;margin:-300px 0 0 -300px;border-radius:50%;background:repeating-conic-gradient(rgb(255 255 255 / .07) 0 12deg,transparent 12deg 24deg);pointer-events:none}.gem-chest-head{position:relative;display:flex;justify-content:space-between;align-items:center}.gem-chest-head h2{margin:0;font-family:var(--font-display);font-weight:700;font-size:22px;color:#fff}.gem-chest-head span{font-weight:600;font-size:14px}.gem-ring{position:relative;width:220px;height:220px;margin:6px auto 0}.gem-chest-icon{position:absolute;left:45px;top:64px;transform-origin:50% 100%}.gem-chest-moss{position:absolute;left:-8px;bottom:-6px}.gem-chest-pebble{position:absolute;right:-10px;bottom:-6px}:root[data-look=gem-crew] .gem-chest-btn{--lip: var(--lemon-lip);position:relative;width:100%;height:76px;margin-top:10px;background:var(--lemon);color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}.gem-chest-btn-title{font-family:var(--font-display);font-size:25px;line-height:1.1}.gem-chest-btn-sub{font-family:var(--font-body);font-weight:500;font-size:14px}.pack-row{display:flex;gap:16px;overflow-x:auto;padding:8px 10px 22px 6px;margin:0 -6px;scroll-snap-type:x proximity}.pack-row{scrollbar-width:none}.pack-row::-webkit-scrollbar{display:none}.pack{position:relative;flex:none;width:168px;height:232px;scroll-snap-align:start}.pack-back{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:22px}.pack-back-1{background:var(--p1);transform:rotate(-6deg) translate(-4px,4px)}.pack-back-2{background:var(--p2);transform:rotate(4deg) translate(4px,2px)}.pack-face{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--card);border:none;border-radius:22px;box-shadow:0 8px 0 var(--lilac-line);padding:14px;display:flex;flex-direction:column;gap:6px;overflow:hidden;text-align:left;cursor:pointer;font:inherit;color:var(--ink);transition:transform var(--dur-tap) var(--ease-jelly),box-shadow var(--dur-tap)}.pack:hover .pack-face{transform:translateY(-3px)}.pack-face:active{transform:translateY(4px) scale(1.02,.97);box-shadow:0 2px 0 var(--lilac-line)}.pack-face:focus-visible{outline:3px solid var(--amethyst);outline-offset:3px}.pack-shine{position:absolute;top:0;bottom:0;left:0;width:40%;background:#ffffffb3;pointer-events:none}.pack-pill{align-self:flex-start;border-radius:999px;padding:2px 10px;font-weight:700;font-size:13px;background:var(--tangerine);position:relative}.pack-pill.done{background:#c8f5e6}.pack-pill.empty{background:var(--lilac);color:var(--ink-soft)}.pack-title{font-family:var(--font-display);font-weight:700;font-size:21px;line-height:1.1;margin-top:4px;position:relative;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.pack-meta{font-size:14px;color:var(--ink-soft);position:relative}.pack-fill{flex:1}.pack-boxes{display:flex;height:14px;border-radius:8px;overflow:hidden;background:var(--lilac);position:relative}.pack-boxes i{display:block;height:100%}.pack-menu-btn{position:absolute;top:6px;right:6px;z-index:3;width:44px;height:44px;border:none;border-radius:50%;background:#ffffffe6;color:var(--ink-soft);font-size:22px;line-height:1;cursor:pointer}.pack-menu-btn:focus-visible{outline:3px solid var(--amethyst)}.pack .deck-menu{top:52px;right:6px;bottom:auto;border:2px solid var(--lilac-line);border-radius:var(--radius-sm);box-shadow:0 6px 0 var(--lilac-line)}.pack .deck-menu button{font-family:var(--font-body);min-height:40px}.follow-list{display:flex;flex-direction:column;gap:14px;padding-bottom:6px}.follow-card{background:var(--card);border-radius:24px;padding:14px;display:flex;flex-direction:column;gap:12px;box-shadow:0 6px 0 var(--lilac-line)}.follow-top{display:flex;gap:12px;align-items:center}.follow-avatar{width:48px;height:48px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:17px;flex:none}.follow-main{flex:1;min-width:0;text-align:left;background:none;border:none;cursor:pointer;font:inherit;color:inherit;padding:4px 0}.follow-title{display:block;font-family:var(--font-display);font-weight:700;font-size:19px}.follow-sub{display:block;font-size:14px;color:var(--ink-soft)}.follow-tag{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:600;color:var(--ink-soft);background:var(--lilac);border-radius:999px;padding:4px 10px;flex:none}.follow-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding-bottom:6px}.follow-actions .button:first-child{flex:1;min-width:10rem}.gem-study-page{max-width:600px;margin:0 auto;width:100%;padding:18px 18px 24px;gap:14px}.gem-topbar{display:flex;align-items:center;gap:12px}.gem-close{width:44px;height:44px;border-radius:50%;background:var(--card);border:none;box-shadow:0 4px 0 var(--lilac-line);display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}.gem-close:focus-visible{outline:3px solid var(--amethyst);outline-offset:2px}.gem-progress{flex:1;height:20px;background:#dcd2ff;border-radius:12px;position:relative}.gem-progress-fill{height:100%;min-width:20px;background:var(--grape);border-radius:12px;box-shadow:inset 0 4px #ffffff4d;transition:width .4s var(--ease-jelly)}.gem-progress-gem{position:absolute;top:-6px;transition:left .4s var(--ease-jelly)}.gem-count{font-family:var(--font-display);font-weight:700;font-size:17px}.gem-scope{display:flex;justify-content:center}.gem-study{display:flex;flex-direction:column;align-items:center;width:100%}.gem-card-wrap{position:relative;width:100%;margin-top:64px}.gem-peek{position:absolute!important;left:50%;top:-70px;margin-left:-46px;z-index:0}.gem-card{position:relative;z-index:1;display:block;width:100%;border:none;padding:0;background:transparent;perspective:1200px;cursor:pointer;text-align:left;font:inherit;color:var(--ink);border-radius:30px;-webkit-tap-highlight-color:transparent}.gem-card:focus-visible{outline:3px solid var(--amethyst);outline-offset:6px}.gem-card-inner{display:grid;transform-style:preserve-3d;transition:transform var(--dur-flip) var(--ease-jelly)}.gem-card[data-flipped=true] .gem-card-inner{transform:rotateY(180deg)}.gem-face{grid-area:1 / 1;display:flex;flex-direction:column;background:var(--card);border-radius:30px;box-shadow:0 12px 0 var(--lilac-line);min-height:420px;min-height:clamp(240px,calc(100dvh - 380px),420px);overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}.gem-back{transform:rotateY(180deg)}.gem-band{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 18px;font-weight:600;font-size:14px;width:100%;box-sizing:border-box}.gem-band-lemon{background:var(--lemon);color:var(--ink)}.gem-band-grape{background:var(--grape);color:#fff;padding:14px 20px}.gem-box{display:flex;align-items:center;gap:4px;font-weight:700;flex:none}.gem-back-title{font-family:var(--font-display);font-weight:700;font-size:22px;line-height:1.15}.gem-main{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:18px 20px;font-family:var(--font-display);font-weight:700;line-height:1.1;overflow-wrap:anywhere}.gem-main.size-xl{font-size:clamp(34px,12vw,50px)}.gem-main.size-lg{font-size:clamp(26px,8vw,34px)}.gem-main.size-md{font-size:24px;line-height:1.25}.gem-clue{text-align:center;padding:0 20px 10px;color:var(--grape-lip);font-weight:600;font-size:18px}.gem-sub{text-align:center;padding:0 20px 6px;color:var(--ink-soft);font-size:15px}.gem-hint{padding-bottom:20px;text-align:center;font-weight:600;font-size:15px;color:var(--ink-soft)}.gem-body{flex:1;display:flex;text-align:center;padding:22px;overflow:auto}.gem-body-text{margin:auto}.gem-body-text{font-size:22px;line-height:1.55;text-wrap:pretty}.gem-clue-row{display:flex;justify-content:center;margin-top:26px;min-height:48px}.gem-clue-btn{background:var(--card);border:none;border-radius:999px;box-shadow:0 4px 0 var(--lilac-line);padding:10px 18px;min-height:44px;font-family:var(--font-body);font-weight:600;font-size:15px;color:#4b23c2;cursor:pointer}.gem-clue-btn:focus-visible{outline:3px solid var(--amethyst);outline-offset:3px}.gem-actions{width:100%;margin-top:18px;padding-bottom:12px}:root[data-look=gem-crew] .gem-flip{width:100%;height:64px;font-size:24px}.gem-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}:root[data-look=gem-crew] .gem-grade .button{height:64px;font-size:20px}:root[data-look=gem-crew] .gem-grade .button.got-it{font-size:22px}@media (prefers-reduced-motion: reduce){.gem-card-inner{transition:none;transform:none!important}.gem-back{transform:none;opacity:0}.gem-front,.gem-back{transition:opacity .15s}.gem-card[data-flipped=true] .gem-front{opacity:0}.gem-card[data-flipped=true] .gem-back{opacity:1}.gem-progress-fill,.gem-progress-gem{transition:none}}:root[data-motion=reduced] .gem-card-inner{transition:none;transform:none!important}:root[data-motion=reduced] .gem-back{transform:none;opacity:0}:root[data-motion=reduced] .gem-front,:root[data-motion=reduced] .gem-back{transition:opacity .15s}:root[data-motion=reduced] .gem-card[data-flipped=true] .gem-front{opacity:0}:root[data-motion=reduced] .gem-card[data-flipped=true] .gem-back{opacity:1}@media (prefers-reduced-motion: reduce){.fx-wiggle,.fx-gem,.fx-shine,.fx-rot{animation:none}}:root[data-motion=reduced] .fx-wiggle,:root[data-motion=reduced] .fx-gem,:root[data-motion=reduced] .fx-shine,:root[data-motion=reduced] .fx-rot{animation:none}.gem-chips{all:unset;box-sizing:border-box;display:flex;gap:8px;cursor:pointer;border-radius:999px}.gem-chips:focus-visible{outline:3px solid var(--amethyst);outline-offset:3px}.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}.streak-note{background:#ddf8ef;border-radius:22px;padding:14px 18px;display:flex;align-items:center;gap:16px}.streak-note-title{font-family:var(--font-display);font-weight:700;font-size:22px}.streak-note-text{font-size:16px;line-height:1.45}.streak-panel{background:var(--card);border-radius:24px;padding:16px;display:flex;flex-direction:column;gap:14px;box-shadow:0 6px 0 var(--lilac-line)}.streak-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.streak-stat{display:flex;align-items:center;gap:10px;background:#fff1e0;border-radius:22px;padding:10px 16px}.streak-stat-freeze{background:#e3f8ff}.streak-num{font-family:var(--font-display);font-weight:700;font-size:30px;line-height:1}.streak-label{font-weight:600;font-size:13px}.streak-moss{flex:1;min-width:80px;display:flex;justify-content:flex-end}.week-strip{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;text-align:center;font-weight:600;font-size:13px}.week-day{display:flex;flex-direction:column;align-items:center;gap:4px}.week-box{width:38px;height:38px;border-radius:14px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.week-studied .week-box{background:var(--tangerine)}.week-frozen .week-box{background:var(--ice)}.week-today-done .week-box{background:var(--lemon);box-shadow:0 0 0 3px #fff,0 0 0 6px var(--grape)}.week-today-done .week-box svg path{stroke:var(--ink)}.week-today-open .week-box{border:2px dashed var(--grape);background:var(--lilac);box-shadow:0 0 0 3px #fff,0 0 0 6px var(--grape)}.week-future{color:var(--ink-soft)}.week-future .week-box{border:2px dashed #C9BEEB}.week-missed{color:var(--ink-soft)}.week-missed .week-box{background:var(--lilac)}.streak-message{margin:0;font-size:15px;color:var(--ink-soft)}.streak-panel-home{display:none}@media (min-width: 900px){.streak-panel-home{display:flex}}@media (max-width: 520px){.streak-moss{display:none}.streak-stat{flex:1;padding:10px 12px;gap:8px}}.streak-note .mascot,.streak-moss .mascot{flex:none}@keyframes fx-fly{0%{transform:translate(0) scale(.3);opacity:0}20%{opacity:1}to{transform:translate(var(--dx),var(--dy)) scale(1) rotate(200deg);opacity:0}}.fx-fly{animation:fx-fly 2.2s cubic-bezier(.2,.8,.4,1) infinite}.fx-pop{animation:fx-pop 1.8s cubic-bezier(.3,1.6,.5,1) infinite;transform-origin:50% 50%}.fx-sparkle{animation:fx-sparkle 1.4s ease-in-out infinite}.pop-in{animation:pop-in .5s cubic-bezier(.3,1.6,.5,1) both}.slide-up{animation:slide-up .45s cubic-bezier(.3,1.4,.5,1) both}.gem-clue-row{align-items:center;gap:8px}.gem-moment{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;align-items:center;overflow-x:hidden;overflow-y:auto}.gem-moment-actions{position:relative;width:100%;max-width:600px;box-sizing:border-box;padding:0 18px 28px;margin-top:auto}.gem-rays{position:fixed;left:50%;top:330px;width:900px;height:900px;margin:-450px 0 0 -450px;border-radius:50%;background:repeating-conic-gradient(rgb(255 255 255 / .08) 0 10deg,transparent 10deg 20deg);pointer-events:none}.gem-rays-light{top:200px;background:repeating-conic-gradient(rgb(255 255 255 / .35) 0 10deg,transparent 10deg 20deg)}.gem-up{background:var(--grape);color:#fff;cursor:pointer}.gem-up-title{position:relative;margin-top:76px;font-family:var(--font-display);font-weight:700;font-size:50px;text-align:center;padding:0 12px}.gem-up-gem{position:relative;margin-top:30px;width:240px;height:240px;display:flex;align-items:center;justify-content:center}.gem-sparkle{position:absolute;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%)}.gem-up-chips{position:relative;margin-top:8px;display:flex;align-items:center;gap:12px;font-family:var(--font-display);font-weight:700;font-size:22px}.gem-up-chips span:not([aria-hidden]){color:var(--ink);border-radius:999px;padding:4px 14px}.gem-up-wait{position:relative;margin-top:16px;font-size:18px;text-align:center;line-height:1.4}.gem-up-crew{position:relative;display:flex;align-items:flex-end;gap:4px;margin:auto 0 22px;padding-top:16px}.gem-up .gem-moment-actions{margin-top:0}:root[data-look=gem-crew] .gem-up-next{--lip: var(--lemon-lip);width:100%;height:62px;background:var(--lemon);color:var(--ink);font-size:23px}.gem-miss{background:var(--lilac)}.gem-miss-pebble{margin-top:110px}.gem-miss-title{margin-top:20px;font-family:var(--font-display);font-weight:700;font-size:38px}.gem-miss-text{margin:12px 30px 0;max-width:420px;background:var(--card);border-radius:22px;box-shadow:0 6px 0 var(--lilac-line);padding:14px 18px;text-align:center;font-size:17px;line-height:1.5}:root[data-look=gem-crew] .gem-miss-next{width:100%;height:62px;font-size:23px}.gem-recap{background:var(--lemon);color:var(--ink)}.gem-chest-open{position:relative;margin-top:56px;width:220px;height:190px;flex:none}.gem-chest-open .fx-fly{position:absolute;left:96px;top:90px}.gem-recap-title{position:relative;font-family:var(--font-display);font-weight:700;font-size:46px;line-height:1;text-align:center}.gem-recap-sub{position:relative;margin-top:8px;font-weight:600;font-size:16px;text-align:center;padding:0 18px}.gem-recap-tiles{position:relative;margin-top:18px;display:grid;gap:10px;width:min(346px,calc(100% - 36px))}.gem-recap-tile{background:var(--card);border-radius:20px;box-shadow:0 6px #e0b800;padding:12px 6px;text-align:center}.gem-recap-num{font-family:var(--font-display);font-weight:700;font-size:32px;line-height:1}.gem-recap-label{font-weight:600;font-size:13px}.gem-recap-note{position:relative;margin-top:12px;width:min(346px,calc(100% - 36px));box-sizing:border-box;background:var(--grape);color:#fff;border-radius:20px;padding:10px 14px;display:flex;align-items:center;gap:12px}.gem-recap-note-icon{width:46px;height:46px;border-radius:50%;background:var(--ice);display:flex;align-items:center;justify-content:center;flex:none}.gem-recap-note-title{font-family:var(--font-display);font-weight:700;font-size:18px}.gem-recap-note-text{font-size:14px}.gem-recap-crew{position:relative;display:flex;align-items:flex-end;margin-top:14px}.gem-recap-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:12px;padding-top:12px}:root[data-look=gem-crew] .gem-recap-actions .button{height:58px;font-size:19px}:root[data-look=gem-crew] .gem-recap-actions .button.primary{font-size:21px}@media (prefers-reduced-motion: reduce){.pop-in,.slide-up,.fx-pop,.fx-sparkle,.fx-fly{animation:none}.fx-fly{opacity:1;transform:translate(var(--dx),var(--dy))}}:root[data-motion=reduced] .pop-in,:root[data-motion=reduced] .slide-up,:root[data-motion=reduced] .fx-pop,:root[data-motion=reduced] .fx-sparkle,:root[data-motion=reduced] .fx-fly{animation:none}:root[data-motion=reduced] .fx-fly{opacity:1;transform:translate(var(--dx),var(--dy))}.badges-page{display:flex;flex-direction:column;gap:22px;width:100%;max-width:760px;margin:0 auto;padding:22px 18px 24px}.badges-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.badges-top h1{margin:0;font-family:var(--font-display);font-weight:700;font-size:30px}.badges-chips{display:flex;gap:8px;font-family:var(--font-display);font-weight:700;font-size:16px}.badge-chip{border-radius:999px;padding:5px 12px}.chip-streak{background:#fff1e0}.chip-freeze{background:#e3f8ff}.badges-h2{margin:0;font-family:var(--font-display);font-weight:700;font-size:23px}.badges-h2-row{display:flex;justify-content:space-between;align-items:baseline}.badges-count{font-weight:600;font-size:15px}.crew-row{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.crew-tile{color:var(--ink);border-radius:22px;padding:10px 6px 12px;display:flex;flex-direction:column;align-items:center;gap:2px;background:#fff7d1;box-shadow:0 5px #e8d27a}.crew-tile.role-keeper{background:#ddf8ef;box-shadow:0 5px #9fdcc7}.crew-tile.role-helper{background:#ffe3ef;box-shadow:0 5px #f2b3ce}.crew-name{font-family:var(--font-display);font-weight:700;font-size:20px}.crew-role{font-weight:600;font-size:12px;color:var(--ink-soft)}.sticker-book{margin-top:12px;background:var(--card);border-radius:26px;box-shadow:0 6px 0 var(--lilac-line);padding:14px 10px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 6px}.sticker{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.sticker-art{width:74px;height:74px;border-radius:50%;background:#fff7d1;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.sticker-art.role-keeper{background:#ddf8ef}.sticker-art.role-helper{background:#ffe3ef}.sticker-locked{border:3px dashed #C9BEEB;box-sizing:border-box;align-items:center;font-family:var(--font-display);font-weight:700;font-size:30px;color:#6e6588;background:transparent}.sticker-label{font-weight:600;font-size:12px}.sticker-hint{font-weight:400;color:var(--ink-soft)}.badge-grid{list-style:none;margin:12px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.badge-card{position:relative;background:var(--card);border-radius:22px;box-shadow:0 6px 0 var(--lilac-line);padding:14px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.badge-art{width:70px;height:70px;border-radius:22px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;font-family:var(--font-display);font-weight:700;font-size:24px}.badge-card.earned .badge-art{box-shadow:inset 0 -5px #23163f2e,inset 0 4px #fff6}.badge-first-mastery{background:var(--amethyst)}.badge-cards-100{background:var(--lemon)}.badge-streak-7{background:var(--tangerine)}.badge-streak-30{background:var(--bubblegum)}.badge-card.locked .badge-art{background:transparent;border:3px dashed #C9BEEB;color:#6e6588}.badge-card.locked .badge-art svg path,.badge-card.locked .badge-art svg rect{fill:#c9beeb}.badge-title{font-weight:600;font-size:14px}.badge-progress{font-size:12px;color:var(--ink-soft)}.badge-new{position:absolute;top:-8px;right:-4px;background:var(--bubblegum);color:#fff;font-weight:700;font-size:12px;border-radius:999px;padding:2px 10px;box-shadow:0 3px #d6457f}.gem-badge-coin{color:var(--ink);font-family:var(--font-display);font-weight:700;font-size:16px}.gem-recap-note-many{flex-direction:column;align-items:flex-start;gap:8px}.gem-badge-coins{display:flex;gap:8px}.gem-badge-coins .gem-recap-note-icon{width:38px;height:38px;border-radius:12px;font-size:14px}.meet-btn{all:unset;box-sizing:border-box;cursor:pointer;display:inline-block;border-radius:24px;-webkit-tap-highlight-color:transparent;transition:transform var(--dur-tap) var(--ease-jelly)}.meet-btn:hover{transform:translateY(-3px)}.meet-btn:active{transform:scale(.95)}.meet-btn:focus-visible{outline:3px solid var(--amethyst);outline-offset:3px}button.crew-tile{border:none;font:inherit;cursor:pointer;transition:transform var(--dur-tap) var(--ease-jelly),box-shadow var(--dur-tap)}button.crew-tile:hover{transform:translateY(-3px)}button.crew-tile:active{transform:translateY(3px) scale(1.02,.97);box-shadow:0 1px #00000026}button.crew-tile:focus-visible{outline:3px solid var(--amethyst);outline-offset:3px}.meet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:60;background:#23163f80;display:flex;align-items:flex-end;justify-content:center;padding:10px}.meet-sheet{position:relative;width:100%;max-width:520px;background:var(--card);border-radius:34px;box-shadow:0 10px #139c74;padding:12px 20px 24px;display:flex;flex-direction:column;gap:14px;max-height:calc(100vh - 20px);max-height:calc(100dvh - 20px);overflow-y:auto}.meet-sheet.role-host{box-shadow:0 10px 0 var(--lemon-lip)}.meet-sheet.role-helper{box-shadow:0 10px #d6457f}.meet-grabber{align-self:center;width:48px;height:6px;border-radius:3px;background:var(--lilac-line)}.meet-head{display:flex;gap:14px;align-items:center}.meet-art{width:120px;height:120px;border-radius:30px;background:#ddf8ef;display:flex;align-items:flex-end;justify-content:center;flex:none;overflow:hidden}.meet-sheet.role-host .meet-art{background:#fff7d1}.meet-sheet.role-helper .meet-art{background:#ffe3ef}.meet-who{flex:1;min-width:0}.meet-name{font-family:var(--font-display);font-weight:700;font-size:36px;line-height:1}.meet-tag{display:inline-block;margin-top:6px;background:#ddf8ef;border-radius:999px;padding:3px 10px;font-weight:600;font-size:13px;color:#0e7a5a}.meet-sheet.role-host .meet-tag{background:#fff7d1;color:#8a6a00}.meet-sheet.role-helper .meet-tag{background:#ffe3ef;color:#a3245a}.meet-close{align-self:flex-start;width:44px;height:44px;border-radius:50%;background:var(--lilac);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none}.meet-close:focus-visible{outline:3px solid var(--amethyst);outline-offset:2px}.meet-quote{background:#ddf8ef;border-radius:20px;padding:12px 16px;font-family:var(--font-display);font-weight:600;font-size:18px;line-height:1.35}.meet-sheet.role-host .meet-quote{background:#fff7d1}.meet-sheet.role-helper .meet-quote{background:#ffe3ef}.meet-facts{margin:0;display:flex;flex-direction:column;gap:10px;font-size:16px;line-height:1.35}.meet-facts>div{display:flex;gap:10px}.meet-facts dt{font-weight:700;width:78px;flex:none}.meet-facts dd{margin:0}.meet-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:2px dashed var(--lilac-line);padding-top:12px;font-weight:600;font-size:15px}.meet-link{background:none;border:none;font:inherit;font-weight:600;color:var(--grape);padding:8px 0;min-height:44px;cursor:pointer;text-decoration:underline}.meet-link:focus-visible{outline:3px solid var(--amethyst)}.intro-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:var(--lilac);display:flex;flex-direction:column}.intro-track{flex:1;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;min-height:0}.intro-track::-webkit-scrollbar{display:none}.intro-slide{flex:0 0 100%;scroll-snap-align:center;display:flex;flex-direction:column;min-height:0;overflow-y:auto}.intro-band{position:relative;flex:none;height:min(420px,48dvh);border-radius:0 0 40px 40px;overflow:hidden;display:flex;flex-direction:column}.intro-rays{position:absolute;left:50%;top:260px;width:800px;height:800px;margin:-400px 0 0 -400px;border-radius:50%;pointer-events:none}.intro-skip-row{position:relative;height:64px;padding:22px 22px 0;display:flex;justify-content:flex-end}.intro-skip{background:none;border:none;font:inherit;font-weight:600;font-size:16px;padding:10px 6px;min-height:44px;cursor:pointer}.intro-skip:focus-visible{outline:3px solid var(--grape);border-radius:8px}.intro-freeze-tag{position:absolute;right:40px;top:96px;display:flex;align-items:center;gap:4px;background:#fff;border-radius:999px;padding:5px 12px 5px 8px;font-family:var(--font-display);font-weight:700;font-size:17px;transform:rotate(6deg);box-shadow:0 4px #139c74;z-index:2}.intro-mascot{position:relative;flex:1;display:flex;align-items:flex-end;justify-content:center;padding-bottom:20px;min-height:0}.intro-copy{flex:1;width:100%;max-width:480px;margin:0 auto;box-sizing:border-box;padding:22px 26px 8px;display:flex;flex-direction:column;gap:8px;text-align:center}.intro-copy h2{margin:0;font-family:var(--font-display);font-weight:700;font-size:34px;line-height:1}.intro-tag{font-weight:600;font-size:13px;letter-spacing:.5px}.intro-copy p{margin:0;font-size:17px;line-height:1.5}.intro-foot{width:100%;max-width:480px;margin:0 auto;box-sizing:border-box;padding:8px 18px calc(28px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:16px}.intro-dots{display:flex;justify-content:center;gap:8px}.intro-dots span{width:12px;height:12px;border-radius:6px;background:var(--lilac-line);transition:width .25s var(--ease-jelly),background .25s}.intro-dots span.on{width:28px;background:var(--grape)}:root[data-look=gem-crew] .gem-intro-next{height:62px;font-size:24px;width:100%}:root[data-look=gem-crew] .gem-intro-next.last{--lip: var(--lemon-lip);background:var(--lemon);color:var(--ink);font-size:23px}@media (prefers-reduced-motion: reduce){.intro-dots span{transition:none}}:root[data-motion=reduced] .intro-dots span{transition:none}:root[data-look=gem-crew] .empty-state{background:var(--card);border:none;border-radius:26px;box-shadow:0 6px 0 var(--lilac-line);padding:22px 18px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}:root[data-look=gem-crew] .empty-state p{margin:0;font-size:1.0625rem}:root[data-look=gem-crew] .empty-state p:first-of-type{font-family:var(--font-display);font-weight:700;font-size:1.5rem}:root[data-look=gem-crew] .empty-state .button-row{justify-content:center;margin-top:8px}.gem-collection-title{margin:0;font-family:var(--font-display);font-weight:700;font-size:30px}.gem-hero{display:grid;gap:24px}.gem-chest{display:flex;flex-direction:column}.gem-chest-text{display:contents}.gem-chest-head{order:1}.gem-ring{order:2;flex:none}.gem-chest-btn{order:3}.gem-chest-desc,.gem-chest-spark,.pack-new,.topnav{display:none}@media (min-width: 900px){.tabbar{display:none}.shell.has-tabbar .shell-main{padding-bottom:0}.topnav{display:block}.topnav-inner{max-width:1180px;margin:0 auto;padding:22px 24px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.topnav-logo{font-family:var(--font-display);font-weight:700;font-size:30px;color:var(--grape)}.topnav-pill{display:flex;gap:6px;align-items:center;flex-wrap:wrap;background:var(--card);border-radius:999px;padding:6px;box-shadow:0 4px 0 var(--lilac-line)}.topnav-pill button{all:unset;box-sizing:border-box;cursor:pointer;font-family:var(--font-body);font-weight:600;font-size:15px;padding:10px 16px;min-height:44px;border-radius:999px;color:var(--ink-soft);display:inline-flex;align-items:center}.topnav-pill button:hover{color:var(--grape-lip)}.topnav-pill button[aria-current=page]{background:var(--grape);color:#fff}.topnav-pill button:focus-visible{outline:3px solid var(--amethyst);outline-offset:2px}.gem-home{max-width:1180px;padding:0 24px 60px;gap:40px}.gem-top{display:none}.gem-hero{grid-template-columns:repeat(auto-fit,minmax(min(480px,100%),1fr));align-items:start}.gem-chest{flex-direction:row;align-items:center;flex-wrap:wrap;gap:22px;padding:26px;border-radius:32px}.gem-chest-rays{left:140px;top:150px;width:700px;height:700px;margin:-350px 0 0 -350px}.gem-ring{order:0}.gem-chest-moss,.gem-chest-pebble{display:none}.gem-chest-spark{display:block;position:absolute;left:70px;bottom:-4px}.gem-chest-text{display:flex;flex-direction:column;gap:12px;flex:1;min-width:220px;position:relative}.gem-chest-head{order:0}.gem-chest-head h2{font-size:34px;line-height:1.05}.gem-chest-head span{display:none}.gem-chest-desc{display:block;margin:0;font-size:17px}:root[data-look=gem-crew] .gem-chest-btn{order:0;height:70px;margin-top:0}.gem-chest-btn-sub{display:none}.gem-chest-btn-title{font-size:25px}.streak-panel-home{display:flex;border-radius:32px;padding:24px;box-shadow:0 8px 0 var(--lilac-line)}.gem-head h2,.gem-head-solo{font-size:30px}.gem-head-actions:not(.always){display:none}.pack-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(200px,100%),1fr));gap:28px;overflow:visible;padding:8px 4px 22px;margin:0}.pack{width:auto;height:250px;transition:transform .2s var(--ease-jelly)}.pack:hover{transform:translateY(-8px) rotate(-2deg)}.pack:hover .pack-face{transform:none}.pack-title{font-size:22px}.pack-new{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:250px;border:3px dashed #C9BEEB;border-radius:24px}.pack-new button{all:unset;box-sizing:border-box;cursor:pointer;text-align:center}.pack-new .pack-new-main{font-family:var(--font-display);font-weight:600;font-size:18px;color:#4b23c2;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 16px;min-height:44px}.pack-new .pack-new-plus{font-size:40px;line-height:1}.pack-new .pack-new-ai{font-weight:500;font-size:14px;color:var(--ink-soft);padding:8px 12px;min-height:44px;text-decoration:underline}.pack-new button:focus-visible{outline:3px solid var(--amethyst);border-radius:12px}.follow-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:18px}.follow-card{flex-direction:row;align-items:center;flex-wrap:wrap;gap:14px}.follow-top{flex:1;min-width:240px}.follow-actions{flex:none;padding-bottom:0}.follow-actions .button:first-child{min-width:0}.badges-page{max-width:1180px;padding:0 24px 60px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}.badges-top{grid-column:1 / -1}.badges-page>*{min-width:0}.sticker-book{grid-template-columns:repeat(4,minmax(0,1fr))}.gem-study-page{max-width:640px;padding-top:28px}}.gem-face *{backface-visibility:hidden;-webkit-backface-visibility:hidden}.pack:has(.pack-boxes-btn) .pack-face{padding-bottom:64px}.pack-boxes-btn{position:absolute;left:0;right:0;bottom:0;z-index:2;display:flex;flex-direction:column;gap:6px;padding:8px 14px 12px;background:var(--card);border:none;border-top:2px dashed var(--lilac-line);border-radius:0 0 22px 22px;font:inherit;color:var(--ink);text-align:left;cursor:pointer;min-height:52px;box-sizing:border-box}.pack-boxes-btn:hover{background:#fbf9ff}.pack-boxes-btn:focus-visible{outline:3px solid var(--amethyst);outline-offset:2px}.pack-boxes-label{font-family:var(--font-display);font-weight:700;font-size:14px}.pack-set .pack-face{background:#f6f0ff}.pack-follow-from{display:inline-flex;align-items:center;gap:4px}.pack-follow-from svg{width:14px;height:14px;flex:none}:root[data-look=hop-quest]{--sky: #8ED8FB;--sky-deep: #5FC3F2;--sky-pale: #E6F6FF;--grass: #4CC35A;--grass-deep: #2E8F3C;--go: #2FB54A;--coin: #FFC928;--coin-deep: #E09A00;--ember: #FF7A3D;--cherry: #F0455B;--ice: #BDEBFF;--ice-deep: #1B87C9;--ink: #1B2340;--ink-soft: #4A5378;--card: #FFFFFF;--box-1: #FFF1B8;--box-2: #FFC928;--box-3: #FF9E3D;--box-4: #F0602E;--box-5: #B23A1A;--font-display: "Lilita One", system-ui, sans-serif;--font-body: "Nunito Variable", Nunito, system-ui, sans-serif;--stroke: 3px;--radius-sm: 12px;--radius-md: 20px;--radius-lg: 28px;--radius-card: 28px;--radius-pill: 999px;--shadow-btn: 0 6px 0 var(--ink);--ease-spring: cubic-bezier(.3, 1.6, .5, 1);--dur-tap: 80ms;--dur-flip: .55s;--dur-pop: .5s;--color-bg: var(--sky);--color-surface: var(--card);--color-surface-raised: #F4FAFF;--color-text: var(--ink);--color-text-muted: var(--ink-soft);--color-text-faint: #55607F;--color-border: var(--ink);--color-border-soft: #C9D3E0;--color-border-strong: var(--ink);--color-track: #FFFFFF;--color-pill: var(--sky-pale);--color-overlay: rgb(27 35 64 / .55);--color-success: #1E8A38;--color-warn: #B24F17;--color-accent: var(--coin);--color-accent-contrast: var(--ink);--color-accent-soft: var(--sky-pale);--shadow-tile: 0 5px 0 var(--ink);--shadow-card: 0 10px 0 var(--ink);--shadow-pill: 0 4px 0 var(--ink);--flip-duration: var(--dur-flip)}:root[data-look=hop-quest] .button{font-family:var(--font-display);font-weight:400;letter-spacing:.4px;font-size:1.1875rem;min-height:44px;border:var(--stroke) solid var(--ink);border-radius:var(--radius-md);background:var(--card);color:var(--ink);box-shadow:var(--shadow-btn);transition:transform var(--dur-tap) ease-out,box-shadow var(--dur-tap) ease-out}:root[data-look=hop-quest] .button:hover:not(:disabled){filter:none}:root[data-look=hop-quest] .button:active:not(:disabled){transform:translateY(6px);box-shadow:0 0 0 var(--ink)}:root[data-look=hop-quest] .button:focus-visible{outline:4px solid var(--sky-deep);outline-offset:3px}:root[data-look=hop-quest] .button:disabled{background:#d5dee6;color:#5b6680;border-color:#8c99ae;box-shadow:0 6px #8c99ae;opacity:1;cursor:not-allowed}:root[data-look=hop-quest] .button.primary{background:var(--coin);color:var(--ink)}:root[data-look=hop-quest] .button.subtle{background:var(--card);border-color:var(--ink)}:root[data-look=hop-quest] .button.small{font-size:1rem;padding:.45rem .9rem;min-height:40px;border-radius:16px;box-shadow:0 4px 0 var(--ink)}:root[data-look=hop-quest] .button.grade.got-it{background:var(--coin)}:root[data-look=hop-quest] .button.grade.review-again{background:var(--card)}:root[data-look=hop-quest] .scope-toggle{background:var(--card);border:3px solid var(--ink)}:root[data-look=hop-quest] .scope-toggle button{font-family:var(--font-display);letter-spacing:.3px;min-height:36px}:root[data-look=hop-quest] .scope-toggle button.active{background:var(--coin);color:var(--ink);box-shadow:none;border:2px solid var(--ink)}:root[data-look=hop-quest] select{font-family:var(--font-body);font-weight:700;font-size:1rem;padding:.5rem .75rem;border:3px solid var(--ink);border-radius:var(--radius-sm);background:var(--card);color:var(--ink)}:root[data-look=hop-quest] .settings-panel{border:4px solid var(--ink);border-radius:var(--radius-lg);box-shadow:0 8px 0 var(--ink)}:root[data-look=hop-quest] .deck-menu{border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink)}:root[data-look=hop-quest] .look-option{border:3px solid var(--ink)}:root[data-look=hop-quest] .look-option.selected{background:var(--coin);border-color:var(--ink)}:root[data-look=hop-quest] .empty-state{background:var(--card);border:3px solid var(--ink);border-radius:26px;box-shadow:0 6px 0 var(--ink);padding:22px 18px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}:root[data-look=hop-quest] .empty-state p{margin:0}:root[data-look=hop-quest] .empty-state p:first-of-type{font-family:var(--font-display);font-size:1.6rem}:root[data-look=hop-quest] .empty-state .button-row{justify-content:center;margin-top:8px}:root[data-look=hop-quest] .back-link{font-weight:800;color:var(--ink)}@keyframes hop-cloud{0%{transform:translate(-140px)}to{transform:translate(calc(100vw + 140px))}}.fx-cloud{animation:hop-cloud 48s linear infinite}@media (prefers-reduced-motion: reduce){.fx-cloud{animation:none;transform:translate(40px)}}:root[data-motion=reduced] .fx-cloud{animation:none;transform:translate(40px)}:root[data-look=hop-quest] .tabbar{background:#fff;border-top:4px solid var(--ink)}:root[data-look=hop-quest] .tabbar button{color:var(--ink-soft);font-family:var(--font-body);font-weight:900}:root[data-look=hop-quest] .tabbar button[aria-current=page]{color:var(--ink)}:root[data-look=hop-quest] .tabbar .tab-icon{width:58px;height:36px;border-radius:14px}:root[data-look=hop-quest] .tabbar button[aria-current=page] .tab-icon{background:var(--coin);border:3px solid var(--ink)}:root[data-look=hop-quest] .tabbar button:focus-visible{outline:4px solid var(--sky-deep);outline-offset:2px;border-radius:14px}:root[data-look=hop-quest] .shell.has-tabbar .shell-main{padding-bottom:0}.hop-home{width:100%;display:flex;flex-direction:column;flex:1;background:#fff}.hop-sky{position:relative;background:var(--sky);overflow:hidden}.hop-cloud-a{position:absolute;top:96px;left:0}.hop-cloud-b{position:absolute;top:190px;left:0;animation-duration:34s;animation-delay:-14s}.hop-top{position:relative;padding:22px 18px 0;display:flex;align-items:center;gap:8px}.hop-logo{font-family:var(--font-display);font-size:28px;color:var(--ink);margin-right:auto}.hop-chips{all:unset;box-sizing:border-box;display:flex;gap:8px;cursor:pointer;border-radius:999px}.hop-chips:focus-visible{outline:4px solid var(--sky-deep);outline-offset:3px}.hop-chip{display:flex;align-items:center;gap:4px;background:#fff;border:3px solid var(--ink);border-radius:999px;box-shadow:0 4px 0 var(--ink);padding:4px 12px 4px 8px;font-family:var(--font-display);font-size:20px}.hop-avatar{width:44px;height:44px;border-radius:50%;border:3px solid var(--ink);background:var(--ember);font-family:var(--font-display);font-size:20px;box-shadow:0 4px 0 var(--ink);display:grid;place-items:center;flex:none}.hop-note-slot:not(:empty){position:relative;padding:14px 18px 0}.hop-note-slot:empty{display:none}.hop-hero{position:relative;height:250px;margin-top:8px}.hop-speech{position:absolute;left:0;top:0;bottom:0;width:60%}.hop-greeting{display:none}.hop-bubble{position:absolute;left:22px;top:6px;background:#fff;border:3px solid var(--ink);border-radius:18px;padding:10px 14px;font-weight:900;font-size:17px;max-width:170px;line-height:1.25}.hop-bubble i{position:absolute;left:40px;bottom:-14px;width:20px;height:20px;background:#fff;border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:rotate(45deg)}.hop-hops{position:absolute;left:34px;bottom:-6px;z-index:2}.hop-goal{position:absolute;right:22px;top:30px;display:flex;flex-direction:column;align-items:center;gap:6px}.hop-ring{position:relative;width:132px;height:132px}.hop-ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.hop-ring-text b{font-family:var(--font-display);font-weight:400;font-size:29px;line-height:1}.hop-ring-text span{font-weight:800;font-size:11.5px;max-width:70px;line-height:1.1}.hop-goal-pill{background:var(--ink);color:#fff;border-radius:999px;padding:3px 12px;font-weight:900;font-size:13px}.hop-hill{display:block;width:100%;height:70px;position:relative}.hop-hero .hop-streak-desktop{display:none}.hop-grass{background:var(--grass);padding:6px 18px 24px;border-bottom:4px solid var(--ink)}:root[data-look=hop-quest] .hop-practice{width:100%;height:84px;background:var(--coin);display:flex;align-items:center;gap:14px;padding:0 16px;text-align:left;justify-content:flex-start;white-space:normal}.hop-practice-icon{width:52px;height:52px;border-radius:50%;background:#fff;border:3px solid var(--ink);display:flex;align-items:center;justify-content:center;flex:none}.hop-practice-text{display:flex;flex-direction:column;gap:2px}.hop-practice-title{font-size:26px;line-height:1.1}.hop-practice-sub{font-family:var(--font-body);font-weight:800;font-size:15px;letter-spacing:0}.hop-practice-min{display:none}.hop-decks{background:var(--sky-pale);padding:22px 18px 26px}.hop-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.hop-head h2,.hop-following h2{margin:0;font-family:var(--font-display);font-weight:400;font-size:26px}.hop-head-actions{display:flex;gap:14px;flex-wrap:wrap}.hop-link{background:none;border:none;font:inherit;font-weight:900;font-size:15px;color:var(--ink);text-decoration:underline;cursor:pointer;padding:8px 0;min-height:44px}.hop-link:focus-visible{outline:4px solid var(--sky-deep);border-radius:8px}.hop-empty{text-align:center;padding:20px 0}.hop-empty p{margin:0;font-weight:800}.hop-path{list-style:none;margin:16px 0 0;padding:0 0 0 62px;position:relative;display:flex;flex-direction:column;gap:18px}.hop-path:before{content:"";position:absolute;left:25px;top:24px;bottom:24px;border-left:6px dashed #9DB8CC}.hop-node-row{position:relative}.hop-node{position:absolute;left:-62px;top:20px;width:50px;height:50px;border-radius:50%;background:var(--ember);border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);display:flex;align-items:center;justify-content:center}.hop-node.done{background:var(--go)}.hop-tile{position:relative;background:#fff;border:3px solid var(--ink);border-radius:20px;box-shadow:0 5px 0 var(--ink);transition:transform .2s var(--ease-spring)}.hop-tile-body{display:flex;flex-direction:column;gap:8px;width:100%;padding:14px 14px 16px;text-align:left;font:inherit;color:inherit;background:none;border:none;cursor:pointer;border-radius:17px}.hop-tile-body:focus-visible{outline:4px solid var(--sky-deep);outline-offset:3px}.hop-tile-head{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;padding-right:40px}.hop-tile-title{font-family:var(--font-display);font-size:21px;line-height:1.1}.hop-pill{background:var(--ember);border:2.5px solid var(--ink);border-radius:999px;padding:1px 10px;font-weight:900;font-size:14px;white-space:nowrap}.hop-pill.done{background:#cff3d4}.hop-pill.empty{background:#eef2f6}.hop-tile-meta{font-weight:800;font-size:14px;color:var(--ink-soft)}.hop-boxes{display:flex;height:14px;border:2.5px solid var(--ink);border-radius:8px;overflow:hidden;background:#fff}.hop-boxes i{display:block;height:100%}.hop-menu-btn{position:absolute;top:4px;right:4px;width:44px;height:44px;border:none;border-radius:50%;background:none;font-size:22px;line-height:1;cursor:pointer;color:var(--ink)}.hop-menu-btn:focus-visible{outline:4px solid var(--sky-deep)}.hop-tile .deck-menu{top:48px;right:6px;bottom:auto}.hop-following{background:#fff;border-top:4px solid var(--ink);padding:22px 18px 110px;display:flex;flex-direction:column;gap:6px}.hop-sub{margin:0 0 8px;font-weight:800;font-size:15px;color:var(--ink-soft)}.hop-follow-list{display:flex;flex-direction:column;gap:14px}.hop-follow-card{border:3px dashed var(--ink);border-radius:20px;padding:14px;display:flex;flex-direction:column;gap:12px;background:#f4faff}.hop-follow-top{display:flex;gap:12px;align-items:center}.hop-follow-avatar{width:46px;height:46px;border-radius:14px;border:3px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:18px;flex:none}.hop-follow-main{flex:1;min-width:0;text-align:left;background:none;border:none;font:inherit;color:inherit;cursor:pointer;padding:4px 0}.hop-follow-title{display:block;font-family:var(--font-display);font-size:20px;line-height:1.1}.hop-follow-sub{display:block;font-weight:800;font-size:14px;color:var(--ink-soft)}.hop-view-only{display:flex;align-items:center;gap:4px;font-weight:900;font-size:13px;flex:none}.hop-follow-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding-bottom:6px}.hop-follow-actions .button:first-child{flex:1;min-width:10rem;height:50px;border-radius:16px;box-shadow:0 5px 0 var(--ink)}.hop-archived{background:#fff;padding:0 18px 100px}.hop-archived:empty{display:none}.hop-collection .hop-decks{padding-top:14px;min-height:60dvh}.hop-streak{background:#fff;border:3px solid var(--ink);border-radius:24px;box-shadow:0 6px 0 var(--ink);padding:18px;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"ring line" "week week" "msg msg";gap:12px 16px;align-items:center}.hop-streak-ring{grid-area:ring;position:relative;width:128px;height:128px}.hop-streak-body{display:contents}.hop-streak-line{grid-area:line;display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:24px;flex-wrap:wrap}.hop-streak-freeze{display:flex;align-items:center;gap:4px;background:var(--ice);border:2.5px solid var(--ink);border-radius:999px;padding:0 10px 0 6px;font-size:18px}.hop-week{grid-area:week;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;text-align:center;font-weight:900;font-size:12px}.hop-week-day{display:flex;flex-direction:column;align-items:center;gap:3px}.hop-week-dot{width:34px;height:34px;border-radius:50%;border:2.5px solid var(--ink);background:#eef2f6;display:flex;align-items:center;justify-content:center;box-sizing:border-box}.hop-week-day.week-studied .hop-week-dot{background:var(--ember)}.hop-week-day.week-frozen .hop-week-dot{background:var(--ice)}.hop-week-day.week-today-done .hop-week-dot{background:var(--coin);box-shadow:0 0 0 3px #fff,0 0 0 5px var(--ink)}.hop-week-day.week-today-open .hop-week-dot{background:#fff;border-style:dashed;box-shadow:0 0 0 3px #fff,0 0 0 5px var(--ink)}.hop-week-day.week-future .hop-week-dot{background:#fff;border:2.5px dashed #8C99AE}.hop-week-day.week-future{color:var(--ink-soft)}.hop-streak-message{grid-area:msg;margin:0;font-weight:800;font-size:14px;color:var(--ink-soft)}.hop-note{background:var(--sky-pale);border:3px solid var(--ink);border-radius:20px;padding:14px 18px;display:flex;align-items:center;gap:16px}.hop-note .mascot{flex:none}.hop-note-title{font-family:var(--font-display);font-size:22px}.hop-note-text{font-weight:800;font-size:16px;line-height:1.4}:root[data-look=hop-quest] .hop-study-page{height:100dvh;max-height:100dvh;overflow:hidden;max-width:none;padding:0;gap:0;margin:0;flex:1;width:100%;background:var(--sky);position:relative}.hop-study-page .gem-scope{padding:12px 18px 0}.hop-topbar{position:relative;padding:22px 18px 0;width:100%;max-width:640px;margin:0 auto;box-sizing:border-box}.hop-topbar-row{display:flex;align-items:center;gap:12px}.hop-close{width:46px;height:46px;border-radius:50%;background:#fff;border:3px solid var(--ink);box-shadow:0 4px 0 var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;transition:transform var(--dur-tap),box-shadow var(--dur-tap)}.hop-close:active{transform:translateY(4px);box-shadow:0 0 0 var(--ink)}.hop-close:focus-visible{outline:4px solid var(--sky-deep);outline-offset:2px}.hop-progress{flex:1;height:24px;background:#fff;border:3px solid var(--ink);border-radius:14px;overflow:hidden;position:relative}.hop-progress-fill{height:100%;background:var(--go);border-right:3px solid var(--ink);transition:width .5s var(--ease-spring);min-width:0}.hop-progress-shine{position:absolute;left:6px;right:6px;top:4px;height:4px;border-radius:2px;background:#fff;opacity:.5}.hop-count{text-align:center;font-weight:900;font-size:16px;margin:10px 0 0}.hop-study{display:flex;flex-direction:column;flex:1;min-height:0;width:100%}.hop-card-wrap{position:relative;width:calc(100% - 44px);max-width:560px;margin:18px auto 0;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.hop-card{all:unset;box-sizing:border-box;display:block;width:100%;perspective:1200px;cursor:pointer;border-radius:28px;-webkit-tap-highlight-color:transparent;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.hop-card:focus-visible{outline:4px solid var(--sky-deep);outline-offset:6px}.hop-card-inner{display:grid;flex:1 1 auto;min-height:0;grid-template-rows:minmax(0,1fr);transform-style:preserve-3d;transition:transform var(--dur-flip) cubic-bezier(.3,1.35,.5,1)}.hop-card[data-flipped=true] .hop-card-inner{transform:rotateY(180deg)}.hop-face{grid-area:1 / 1;display:flex;flex-direction:column;background:#fff;border:4px solid var(--ink);border-radius:28px;box-shadow:0 10px 0 var(--ink);min-height:0;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;box-sizing:border-box;color:var(--ink)}.hop-front{padding:18px;overflow-y:auto}.hop-back{transform:rotateY(180deg)}.hop-face-top{display:flex;justify-content:space-between;align-items:center;gap:8px}.hop-chip-sky{font-weight:900;font-size:13px;background:var(--sky-pale);border:2px solid var(--ink);border-radius:999px;padding:3px 10px}.hop-chip-box{display:flex;gap:4px;align-items:center;font-weight:900;font-size:13px;background:var(--coin);border:2px solid var(--ink);border-radius:999px;padding:3px 10px;flex:none}.hop-main{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--font-display);line-height:1.05;overflow-wrap:anywhere;padding:8px 0}.hop-main.size-xl{font-size:clamp(40px,13vw,54px)}.hop-main.size-lg{font-size:clamp(30px,9vw,40px)}.hop-main.size-md{font-size:26px;line-height:1.2}.hop-clue{text-align:center;font-weight:800;font-size:18px;color:var(--ink-soft);padding-bottom:6px}.hop-sub{text-align:center;font-weight:800;font-size:15px;color:var(--ink-soft);padding-bottom:6px}.hop-hint{display:flex;justify-content:center;align-items:center;gap:6px;font-weight:900;font-size:15px;color:var(--ink-soft)}.hop-back-band{background:var(--coin);border-bottom:3px solid var(--ink);padding:12px 18px;display:flex;flex-direction:column;align-items:flex-start;gap:4px}.hop-back-title{font-family:var(--font-display);font-size:22px;line-height:1.15}.hop-back-note{font-weight:900;font-size:14px}.hop-body{flex:1;padding:22px;display:flex;text-align:center;overflow:auto}.hop-body-text{margin:auto}.hop-body-text{font-weight:700;font-size:22px;line-height:1.5;text-wrap:pretty}.hop-bo{position:absolute;right:-14px;bottom:-34px;z-index:2}.hop-clue-row{display:flex;justify-content:center;margin-top:34px;min-height:48px}.hop-clue-btn{display:flex;align-items:center;gap:6px;background:#fff;border:3px solid var(--ink);border-radius:999px;padding:8px 16px;font-family:var(--font-body);font-weight:900;font-size:16px;color:var(--ink);cursor:pointer;min-height:44px}.hop-clue-btn:focus-visible{outline:4px solid var(--sky-deep);outline-offset:3px}.hop-bar{margin-top:auto;background:var(--grass);border-top:4px solid var(--ink);padding:22px 18px 12px;position:fixed;left:0;right:0;bottom:0;z-index:5}.hop-study{padding-bottom:112px;box-sizing:border-box}.hop-bar>*{max-width:560px;margin:0 auto}:root[data-look=hop-quest] .hop-flip{width:100%;height:64px;font-size:24px;background:var(--coin)}.hop-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}:root[data-look=hop-quest] .hop-grade .button{height:64px;font-size:21px;gap:6px}:root[data-look=hop-quest] .hop-gotit{background:var(--coin)}:root[data-look=hop-quest] .hop-review{background:#fff}.hop-moment{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;align-items:center;overflow-x:hidden;overflow-y:auto;color:var(--ink)}.hop-moment-actions{position:relative;width:100%;max-width:600px;box-sizing:border-box;padding:0 18px 30px;margin-top:auto;display:flex;flex-direction:column;gap:12px}.hop-rays{position:fixed;left:50%;top:220px;width:900px;height:900px;margin:-450px 0 0 -450px;border-radius:50%;background:repeating-conic-gradient(#7fd3fa 0,#7fd3fa 9deg,#5fc3f2 9deg,#5fc3f2 18deg);opacity:.8;pointer-events:none}.hop-rays-gold{background:repeating-conic-gradient(#ffd95a 0,#ffd95a 9deg,#ffc928 9deg,#ffc928 18deg);opacity:1;top:120px}.hop-up{background:var(--sky-deep);cursor:pointer}.hop-up-title{position:relative;margin-top:70px;font-family:var(--font-display);font-size:60px;color:var(--coin);text-align:center;text-shadow:3px 0 0 var(--ink),-3px 0 0 var(--ink),0 3px 0 var(--ink),0 -3px 0 var(--ink),3px 3px 0 var(--ink),-3px 3px 0 var(--ink),3px -3px 0 var(--ink),-3px -3px 0 var(--ink),0 8px 0 var(--ink)}.hop-up-pill{position:relative;margin-top:16px;background:#fff;border:3px solid var(--ink);border-radius:999px;padding:8px 18px;font-weight:900;font-size:18px}.hop-steps{position:relative;margin-top:26px;width:min(350px,calc(100% - 40px));min-height:340px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;align-items:end}.hop-step-col{display:flex;flex-direction:column;gap:6px;align-items:stretch}.hop-step{position:relative;background:#c77a3e;border:3px solid var(--ink);border-top:12px solid var(--grass);border-radius:10px 10px 4px 4px;box-sizing:border-box}.hop-step.now{background:var(--coin);border-top-color:var(--go);box-shadow:0 0 0 4px #fff}.hop-step.later{opacity:.55}.hop-step-label{text-align:center;font-weight:900;font-size:13px;border-radius:999px;padding:1px 0}.hop-step-label.now{background:var(--ink);color:#fff}.hop-steps-hops{position:absolute;left:50%;bottom:100%;transform:translate(-50%);margin-bottom:6px;z-index:2}.hop-burst{position:absolute;left:50%;top:10px;width:110px;height:110px;margin-left:-55px;border-radius:50%;border:6px solid #fff}.hop-up-note{position:relative;margin-top:26px;text-align:center;font-weight:900;font-size:20px;line-height:1.35;background:#fff;border:3px solid var(--ink);border-radius:20px;padding:12px 18px;box-shadow:0 5px 0 var(--ink)}.hop-up-skip{position:relative;margin:18px 0 30px;font-weight:800;font-size:15px}.hop-miss{background:var(--sky)}.hop-miss-bo{margin-top:110px}.hop-miss-title{margin-top:26px;font-family:var(--font-display);font-size:40px}.hop-miss-text{margin:10px 30px 0;max-width:420px;background:#fff;border:3px solid var(--ink);border-radius:20px;padding:14px 18px;text-align:center;font-weight:800;font-size:18px;line-height:1.4}:root[data-look=hop-quest] .hop-miss-next{width:100%;height:62px;font-size:24px}.hop-recap{background:var(--coin)}.hop-confetti{position:absolute;top:0;border:2px solid var(--ink)}.hop-recap-crew{position:relative;margin-top:46px;display:flex;align-items:flex-end;justify-content:center}.hop-recap-title{position:relative;margin-top:4px;font-family:var(--font-display);font-size:52px;line-height:1;text-align:center}.hop-recap-sub{position:relative;margin-top:8px;font-weight:900;font-size:17px;text-align:center;padding:0 18px}.hop-recap-tiles{position:relative;margin-top:20px;display:grid;gap:10px;width:min(346px,calc(100% - 36px))}.hop-recap-tile{background:#fff;border:3px solid var(--ink);border-radius:18px;box-shadow:0 5px 0 var(--ink);padding:10px 6px;display:flex;flex-direction:column;align-items:center;gap:2px}.hop-recap-num{font-family:var(--font-display);font-size:30px;line-height:1}.hop-recap-label{font-weight:900;font-size:13px;text-align:center}.hop-recap-note{position:relative;margin-top:14px;width:min(346px,calc(100% - 36px));box-sizing:border-box;background:var(--ink);color:#fff;border-radius:18px;padding:10px 14px;display:flex;align-items:center;gap:12px}.hop-recap-note-many{flex-direction:column;align-items:flex-start;gap:8px}.hop-recap-note-title{font-family:var(--font-display);font-size:19px}.hop-recap-note-text{font-weight:700;font-size:14px;color:#cfe3f2}.hop-note-coin{width:46px;height:46px;border-radius:50%;border:3px solid #fff;background:var(--coin);color:var(--ink);display:flex;align-items:center;justify-content:center;flex:none;font-family:var(--font-display);font-size:16px;box-sizing:border-box}.hop-note-ice{background:var(--ice)}.hop-note-coins{display:flex;gap:8px}.hop-note-coins .hop-note-coin{width:40px;height:40px;font-size:14px}.hop-note-coin.badge-first-mastery{background:var(--go)}.hop-note-coin.badge-streak-7{background:var(--ember)}.hop-note-coin.badge-cards-100{background:var(--coin)}.hop-note-coin.badge-streak-30{background:var(--cherry)}.hop-recap-actions{padding-top:12px}:root[data-look=hop-quest] .hop-recap-actions .button{height:54px;font-size:20px}:root[data-look=hop-quest] .hop-recap-actions .hop-done{height:62px;font-size:24px;background:var(--go);order:-1}@media (prefers-reduced-motion: reduce){.hop-card-inner{transition:none;transform:none!important}.hop-back{transform:none;opacity:0}.hop-front,.hop-back{transition:opacity .15s}.hop-card[data-flipped=true] .hop-front{opacity:0}.hop-card[data-flipped=true] .hop-back{opacity:1}.hop-progress-fill{transition:none}}:root[data-motion=reduced] .hop-card-inner{transition:none;transform:none!important}:root[data-motion=reduced] .hop-back{transform:none;opacity:0}:root[data-motion=reduced] .hop-front,:root[data-motion=reduced] .hop-back{transition:opacity .15s}:root[data-motion=reduced] .hop-card[data-flipped=true] .hop-front{opacity:0}:root[data-motion=reduced] .hop-card[data-flipped=true] .hop-back{opacity:1}:root[data-look=hop-quest] body:has(.badges-page){background:var(--sky-pale)}:root[data-look=hop-quest] .badges-page{padding:22px 18px 110px;gap:22px}:root[data-look=hop-quest] .badges-top{margin:-22px -18px 0;padding:22px 18px 18px;background:var(--sky);border-bottom:4px solid var(--ink)}:root[data-look=hop-quest] .badges-top h1{font-family:var(--font-display);font-weight:400}:root[data-look=hop-quest] .badge-chip{background:#fff;border:3px solid var(--ink);padding:3px 12px;font-size:18px}:root[data-look=hop-quest] .chip-freeze{background:var(--ice)}:root[data-look=hop-quest] .badges-h2{font-family:var(--font-display);font-weight:400;font-size:24px}:root[data-look=hop-quest] .badges-count{font-weight:900}:root[data-look=hop-quest] button.crew-tile,:root[data-look=hop-quest] .crew-tile{background:#fff;border:3px solid var(--ink);border-radius:20px;box-shadow:0 5px 0 var(--ink)}:root[data-look=hop-quest] .crew-tile.role-keeper,:root[data-look=hop-quest] .crew-tile.role-helper{background:#fff;box-shadow:0 5px 0 var(--ink)}:root[data-look=hop-quest] .crew-name{font-family:var(--font-display);font-weight:400}:root[data-look=hop-quest] .crew-role{font-weight:800}:root[data-look=hop-quest] .sticker-book{border:3px solid var(--ink);border-radius:22px;box-shadow:none}:root[data-look=hop-quest] .sticker-art,:root[data-look=hop-quest] .sticker-art.role-keeper,:root[data-look=hop-quest] .sticker-art.role-helper{background:#fff1b8;border:3px solid var(--ink);box-sizing:border-box}:root[data-look=hop-quest] .sticker-locked{background:#eef2f6;border:3px dashed #8C99AE;color:#5b6680;font-family:var(--font-display);font-weight:400}:root[data-look=hop-quest] .sticker-label{font-weight:900}:root[data-look=hop-quest] .sticker-hint{font-weight:800;color:var(--ink-soft)}:root[data-look=hop-quest] .badge-card{background:none;box-shadow:none;padding:4px}:root[data-look=hop-quest] .badge-art{width:96px;height:96px;border-radius:50%;border:4px solid var(--ink);box-shadow:0 6px 0 var(--ink);font-family:var(--font-display);font-weight:400;font-size:32px;box-sizing:border-box}:root[data-look=hop-quest] .badge-card.earned .badge-art{box-shadow:0 6px 0 var(--ink)}:root[data-look=hop-quest] .badge-first-mastery{background:var(--go)}:root[data-look=hop-quest] .badge-cards-100{background:var(--coin)}:root[data-look=hop-quest] .badge-streak-7{background:var(--ember)}:root[data-look=hop-quest] .badge-streak-30{background:var(--cherry)}:root[data-look=hop-quest] .badge-card.locked .badge-art{background:#eef2f6;border:4px dashed #8C99AE;box-shadow:none;color:#5b6680}:root[data-look=hop-quest] .badge-card.locked .badge-art svg{opacity:.45}:root[data-look=hop-quest] .badge-title{font-weight:900;font-size:15px}:root[data-look=hop-quest] .badge-progress{font-weight:800}:root[data-look=hop-quest] .badge-new{background:var(--cherry);color:var(--ink);border:2.5px solid var(--ink);box-shadow:none;font-family:var(--font-display);font-weight:400}:root[data-look=hop-quest] .streak-panel-home{display:none}:root[data-look=hop-quest] .meet-btn{border-radius:24px}:root[data-look=hop-quest] .meet-btn:focus-visible{outline:4px solid var(--sky-deep)}:root[data-look=hop-quest] .meet-overlay{padding:0}:root[data-look=hop-quest] .meet-sheet,:root[data-look=hop-quest] .meet-sheet.role-host,:root[data-look=hop-quest] .meet-sheet.role-helper{max-width:560px;border:4px solid var(--ink);border-bottom:none;border-radius:32px 32px 0 0;box-shadow:none;padding:12px 20px 28px}:root[data-look=hop-quest] .meet-grabber{background:#c9d3e0}:root[data-look=hop-quest] .meet-art,:root[data-look=hop-quest] .meet-sheet.role-host .meet-art,:root[data-look=hop-quest] .meet-sheet.role-helper .meet-art{background:var(--sky-pale);border:3px solid var(--ink);border-radius:28px;box-sizing:border-box}:root[data-look=hop-quest] .meet-name{font-family:var(--font-display);font-weight:400}:root[data-look=hop-quest] .meet-tag,:root[data-look=hop-quest] .meet-sheet.role-host .meet-tag,:root[data-look=hop-quest] .meet-sheet.role-helper .meet-tag{background:#cff3d4;color:var(--ink);border:2.5px solid var(--ink);font-weight:900;padding:2px 10px}:root[data-look=hop-quest] .meet-sheet.role-host .meet-tag{background:#ffe3a6}:root[data-look=hop-quest] .meet-sheet.role-helper .meet-tag{background:#ffd9b8}:root[data-look=hop-quest] .meet-close{background:#fff;border:3px solid var(--ink)}:root[data-look=hop-quest] .meet-quote,:root[data-look=hop-quest] .meet-sheet.role-host .meet-quote,:root[data-look=hop-quest] .meet-sheet.role-helper .meet-quote{background:#fff7da;border:3px solid var(--ink);border-radius:18px;font-family:var(--font-body);font-weight:800;font-size:17px}:root[data-look=hop-quest] .meet-facts dt{font-weight:900}:root[data-look=hop-quest] .meet-facts dd{font-weight:700}:root[data-look=hop-quest] .meet-foot{border-top:2px dashed #C9D3E0;font-weight:900}:root[data-look=hop-quest] .meet-link{color:var(--ink);font-weight:900}.hop-intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:var(--grass);display:flex;flex-direction:column}.hop-intro-track{flex:1;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;min-height:0}.hop-intro-track::-webkit-scrollbar{display:none}.hop-intro-slide{flex:0 0 100%;scroll-snap-align:center;display:flex;flex-direction:column;min-height:0;overflow-y:auto}.hop-intro-sky{position:relative;flex:none;height:min(400px,48dvh);background:var(--sky);display:flex;flex-direction:column;overflow:hidden}.hop-intro-sky .hop-hill{position:absolute;left:0;right:0;bottom:-2px;height:56px;z-index:0}.hop-intro-sky .hop-cloud-a{top:90px}.hop-intro-skip-row{position:relative;z-index:2;height:64px;padding:22px 22px 0;display:flex;justify-content:flex-end}.hop-intro-skip{background:none;border:none;font:inherit;font-weight:900;font-size:16px;padding:10px 6px;min-height:44px;cursor:pointer;color:var(--ink)}.hop-intro-skip:focus-visible{outline:4px solid #fff;border-radius:8px}.hop-intro-freeze{position:absolute;right:54px;top:70px;z-index:3;display:flex;align-items:center;gap:4px;background:var(--ice);border:3px solid var(--ink);border-radius:999px;padding:4px 12px 4px 8px;font-family:var(--font-display);font-size:18px;transform:rotate(6deg)}.hop-intro-mascot{position:relative;z-index:1;flex:1;display:flex;align-items:flex-end;justify-content:center;min-height:0}.hop-intro-card{width:calc(100% - 36px);max-width:480px;margin:16px auto 0;box-sizing:border-box;background:#fff;border:3px solid var(--ink);border-radius:24px;box-shadow:0 6px 0 var(--ink);padding:20px 20px 22px;display:flex;flex-direction:column;gap:8px}.hop-intro-card h2{margin:0;font-family:var(--font-display);font-weight:400;font-size:34px;line-height:1}.hop-intro-tag{font-weight:800;font-size:14px}.hop-intro-card p{margin:0;font-weight:700;font-size:18px;line-height:1.45}.hop-intro-foot{width:100%;max-width:480px;margin:0 auto;box-sizing:border-box;padding:8px 18px calc(28px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:16px}.hop-intro-dots{display:flex;justify-content:center;gap:8px}.hop-intro-dots span{width:12px;height:12px;border-radius:6px;background:#fff;border:2px solid var(--ink);box-sizing:border-box;transition:width .25s var(--ease-spring)}.hop-intro-dots span.on{width:28px;background:var(--ink)}:root[data-look=hop-quest] .hop-intro-next{height:62px;font-size:24px;width:100%;background:var(--coin)}@media (prefers-reduced-motion: reduce){.hop-intro-dots span{transition:none}}:root[data-motion=reduced] .hop-intro-dots span{transition:none}@media (min-width: 900px){:root[data-look=hop-quest] .topnav{background:var(--sky)}:root[data-look=hop-quest] .topnav-logo{color:var(--ink);font-size:32px}:root[data-look=hop-quest] .topnav-pill{background:none;box-shadow:none;padding:0;gap:10px}:root[data-look=hop-quest] .topnav-pill button{font-family:var(--font-body);font-weight:900;font-size:16px;color:var(--ink);padding:8px 14px;border-radius:999px;border:3px solid transparent}:root[data-look=hop-quest] .topnav-pill button:hover{color:var(--ink);background:#ffffff80}:root[data-look=hop-quest] .topnav-pill button[aria-current=page]{background:var(--coin);color:var(--ink);border-color:var(--ink)}:root[data-look=hop-quest] .topnav-pill button:focus-visible{outline:4px solid #fff}.hop-top{display:none}.hop-note-slot:not(:empty){max-width:1180px;margin:0 auto;padding:14px 24px 0}.hop-hero{max-width:1180px;margin:0 auto;padding:18px 24px 0;height:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(420px,100%),1fr));gap:24px;align-items:end;box-sizing:border-box}.hop-speech{position:static;width:auto;display:flex;align-items:flex-end;gap:18px;flex-wrap:wrap;padding-bottom:8px}.hop-hops{position:static;order:-1;margin-bottom:-6px}.hop-greeting{display:block;margin:0 0 40px;font-family:var(--font-display);font-weight:400;font-size:40px;line-height:1.05;flex:1;min-width:240px}.hop-bubble,.hop-goal{display:none}.hop-hero .hop-streak-desktop{display:grid;margin-bottom:40px;grid-template-areas:"ring line" "ring week" "ring msg"}.hop-streak .hop-streak-body{display:contents}.hop-grass{padding:14px 24px 22px;display:flex;justify-content:center}:root[data-look=hop-quest] .hop-practice{max-width:440px}.hop-practice-min{display:inline}.hop-decks{padding:30px 24px 56px}.hop-decks>*{max-width:1132px;margin-left:auto;margin-right:auto}.hop-head h2{font-size:30px}.hop-path{padding:0;margin-top:16px;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:20px}.hop-path:before,.hop-node{display:none}.hop-tile{border-radius:22px;box-shadow:0 6px 0 var(--ink)}.hop-tile:hover{transform:translateY(-4px)}.hop-tile-body{padding:18px;gap:10px}.hop-tile-title{font-size:22px}.hop-following{padding:44px 24px 60px;gap:6px}.hop-following>*{max-width:1132px;margin-left:auto;margin-right:auto;width:100%;box-sizing:border-box}.hop-follow-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:18px}.hop-follow-card{flex-direction:row;align-items:center;flex-wrap:wrap}.hop-follow-top{flex:1;min-width:240px}.hop-follow-actions{padding-bottom:0;flex:none}.hop-archived{padding:0 24px 60px}:root[data-look=hop-quest] .badges-page{max-width:1180px;padding:0 24px 60px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}:root[data-look=hop-quest] .badges-top{grid-column:1 / -1;margin:0 -24px;padding:18px 24px;max-width:none}.badges-page>*{min-width:0}:root[data-look=hop-quest] .badges-page{padding-top:0}:root[data-look=hop-quest] .streak-panel-home{display:none}.hop-streak{grid-template-areas:"ring line" "ring week" "ring msg"}.hop-topbar,.hop-card-wrap{max-width:600px}}html:has(.hop-study-page),body:has(.hop-study-page){overflow:hidden}.hop-face *{backface-visibility:hidden;-webkit-backface-visibility:hidden}.hop-tile-boxes{display:flex;flex-direction:column;gap:6px;width:100%;box-sizing:border-box;min-height:44px;padding:8px 14px 12px;background:none;border:none;border-top:2.5px dashed #C9D3E0;border-radius:0 0 17px 17px;font:inherit;color:var(--ink);text-align:left;cursor:pointer}.hop-tile-boxes:hover{background:var(--sky-pale)}.hop-tile-boxes:focus-visible{outline:4px solid var(--sky-deep);outline-offset:2px}.hop-tile-boxes-label{font-family:var(--font-display);font-size:15px;letter-spacing:.3px}.hop-node-row.is-set{padding-top:28px}.hop-node-row.is-set .hop-node{top:48px}.hop-set-tab{position:absolute;top:4px;left:0;width:42%;height:34px;background:#ffe07a;border:3px solid var(--ink);border-radius:14px 14px 0 0}.hop-set-paper{position:absolute;top:2px;height:44px;background:#fff;border:3px solid var(--ink);border-radius:10px}.hop-set-paper.p1{left:36%;right:18px;transform:rotate(-3deg)}.hop-set-paper.p2{left:50%;right:6px;top:8px;transform:rotate(2deg);background:#ddf4ff}.hop-tile.hop-tile-set{background:#fff2bf;border-top-left-radius:0}.hop-set-meta{display:inline-flex;align-items:center;gap:6px}.hop-follow-from{display:inline-flex;align-items:center;gap:5px}.hop-follow-path{margin-top:14px}:root[data-look=night-arcade]{--night: #14112B;--night-deep: #0B0920;--panel: #221D45;--panel-2: #1B1640;--panel-line: #3A3466;--text: #F5F3FF;--text-soft: #B9B3E6;--bit: #7B6CFF;--pink: #FF4FB8;--cyan: #3BE8FF;--coin: #FFE14D;--lime: #8CFF6B;--ember: #FF8A5B;--screen: #FFF8E7;--screen-ink: #14112B;--box-1: #FF4FB8;--box-2: #FF8A5B;--box-3: #E0B800;--box-4: #3FCB2A;--box-5: #12A9BE;--font-display: "Bungee", system-ui, sans-serif;--font-pixel: "Silkscreen", ui-monospace, monospace;--font-body: "Atkinson Hyperlegible", system-ui, sans-serif;--stroke: 3px;--radius-sm: 8px;--radius-md: 16px;--radius-lg: 26px;--radius-card: 26px;--radius-pill: 999px;--shadow-btn: inset 0 3px 0 rgb(255 255 255 / .45), 0 6px 0 var(--night-deep);--glow-cyan: 0 0 22px rgb(59 232 255 / .35);--glow-pink: 0 0 22px rgb(255 79 184 / .35);--dur-tap: 80ms;--dur-flip: .45s;--color-bg: var(--night);--color-surface: var(--panel);--color-surface-raised: #2C2752;--color-text: var(--text);--color-text-muted: var(--text-soft);--color-text-faint: #A49DD6;--color-border: var(--panel-line);--color-border-soft: var(--panel-line);--color-border-strong: var(--cyan);--color-track: var(--panel-line);--color-pill: var(--panel-2);--color-overlay: rgb(11 9 32 / .75);--color-success: var(--lime);--color-warn: var(--ember);--color-accent: var(--coin);--color-accent-contrast: var(--night);--color-accent-soft: var(--panel-2);--shadow-tile: 0 5px 0 var(--night-deep);--shadow-card: var(--glow-cyan);--shadow-pill: 0 4px 0 var(--night-deep);--flip-duration: var(--dur-flip);color-scheme:dark}:root[data-look=night-arcade] body{background:var(--night);color:var(--text)}@keyframes arc-blink{0%{opacity:1}to{opacity:.25}}@keyframes arc-star{0%{opacity:.2}50%{opacity:1}to{opacity:.4}}@keyframes arc-grid{0%{background-position:0 0}to{background-position:0 32px}}@keyframes arc-glitch{0%,88%,to{transform:translate(0)}90%{transform:translate(-3px,1px)}93%{transform:translate(3px,-1px)}}@keyframes arc-fall{0%{transform:translateY(-40px)}to{transform:translateY(110vh)}}@keyframes arc-type{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:none}}.fx-blink{animation:arc-blink 1s steps(2) infinite}.fx-star{animation:arc-star 2.4s steps(3) infinite}.fx-grid{animation:arc-grid 1.6s linear infinite}.fx-glitch{animation:arc-glitch 2.4s steps(1) infinite}.type-in{animation:arc-type .3s steps(3) both}.arc-star{position:absolute;pointer-events:none}.arc-grid{position:absolute;left:-40px;right:-40px;bottom:0;height:110px;background-image:linear-gradient(var(--grid) 2px,transparent 2px),linear-gradient(90deg,var(--grid) 2px,transparent 2px);background-size:32px 32px;opacity:.35;transform:perspective(200px) rotateX(55deg);transform-origin:50% 100%;pointer-events:none}.arc-grid-big{left:-100px;right:-100px;height:300px;transform:perspective(240px) rotateX(58deg)}:root[data-look=night-arcade] .pop-in{animation-timing-function:steps(4)}:root[data-look=night-arcade] .slide-up{animation-timing-function:steps(5)}.arc-px{font-family:var(--font-pixel)}.ember{color:var(--ember)}.cyan{color:var(--cyan)}.lime{color:var(--lime)}.coin{color:var(--coin)}.soft{color:var(--text-soft)}.cyan-glow{color:var(--cyan);text-shadow:0 0 12px rgb(59 232 255 / .6)}.pink-glow{color:var(--pink);text-shadow:0 0 12px rgb(255 79 184 / .6)}:root[data-look=night-arcade] .button{font-family:var(--font-display);font-weight:400;font-size:1.05rem;min-height:44px;border:var(--stroke) solid var(--night-deep);border-radius:var(--radius-md);background:var(--panel);color:var(--text);box-shadow:inset 0 3px #ffffff1f,0 6px 0 var(--night-deep);transition:transform var(--dur-tap) ease-out,box-shadow var(--dur-tap) ease-out}:root[data-look=night-arcade] .button:hover:not(:disabled){filter:brightness(1.08)}:root[data-look=night-arcade] .button:active:not(:disabled){transform:translateY(6px);box-shadow:inset 0 3px #00000026,0 0 0 var(--night-deep)}:root[data-look=night-arcade] .button:focus-visible{outline:3px solid var(--coin);outline-offset:2px}:root[data-look=night-arcade] .button:disabled{background:#2c2752;color:#8f88c8;border-color:var(--panel-line);box-shadow:0 6px 0 var(--night-deep);opacity:1;cursor:not-allowed}:root[data-look=night-arcade] .button.primary{background:var(--coin);color:var(--night);box-shadow:var(--shadow-btn)}:root[data-look=night-arcade] .button.primary:disabled{background:#2c2752;color:#8f88c8}:root[data-look=night-arcade] .button.subtle{background:var(--panel);border-color:var(--panel-line)}:root[data-look=night-arcade] .button.small{font-size:.9rem;padding:.45rem .9rem;min-height:40px;border-radius:12px;box-shadow:0 4px 0 var(--night-deep)}:root[data-look=night-arcade] .button.grade.got-it{background:var(--lime);color:var(--night)}:root[data-look=night-arcade] .button.grade.review-again{background:transparent;border-color:var(--pink);color:var(--pink)}:root[data-look=night-arcade] .arc-outline{background:transparent;border-color:var(--cyan);color:var(--cyan);box-shadow:0 6px #0e6f7c}:root[data-look=night-arcade] .arc-outline:active:not(:disabled){background:var(--cyan);color:var(--night);box-shadow:0 0 #0e6f7c}:root[data-look=night-arcade] .arc-outline-quiet{background:transparent;border-color:var(--panel-line);color:var(--text-soft);font-family:var(--font-body);font-weight:700}:root[data-look=night-arcade] .scope-toggle{background:var(--panel);border:3px solid var(--panel-line)}:root[data-look=night-arcade] .scope-toggle button{font-family:var(--font-pixel);min-height:36px;color:var(--text-soft)}:root[data-look=night-arcade] .scope-toggle button.active{background:var(--cyan);color:var(--night);box-shadow:none}:root[data-look=night-arcade] select,:root[data-look=night-arcade] input[type=text],:root[data-look=night-arcade] input[type=number],:root[data-look=night-arcade] input:not([type]),:root[data-look=night-arcade] textarea{background:var(--night);color:var(--text);border:2px solid var(--panel-line);border-radius:10px;font-family:var(--font-body)}:root[data-look=night-arcade] select:focus-visible,:root[data-look=night-arcade] input:focus-visible,:root[data-look=night-arcade] textarea:focus-visible{outline:3px solid var(--coin);outline-offset:1px}:root[data-look=night-arcade] ::placeholder{color:#8f88c8}:root[data-look=night-arcade] .settings-panel{background:var(--panel);border:3px solid var(--cyan);border-radius:var(--radius-lg);box-shadow:var(--glow-cyan)}:root[data-look=night-arcade] .deck-menu{background:var(--panel);border:3px solid var(--panel-line);box-shadow:0 4px 0 var(--night-deep)}:root[data-look=night-arcade] .deck-menu button{color:var(--text)}:root[data-look=night-arcade] .look-option{border:3px solid var(--panel-line);background:var(--night);color:var(--text)}:root[data-look=night-arcade] .look-option.selected{border-color:var(--cyan);background:var(--panel-2);box-shadow:var(--glow-cyan)}:root[data-look=night-arcade] .empty-state{background:var(--panel);border:3px solid var(--panel-line);border-radius:22px;padding:22px 18px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px}:root[data-look=night-arcade] .empty-state p{margin:0}:root[data-look=night-arcade] .empty-state p:first-of-type{font-family:var(--font-display);font-size:1.4rem;color:var(--coin)}:root[data-look=night-arcade] .empty-state .button-row{justify-content:center;margin-top:8px}:root[data-look=night-arcade] .back-link{font-family:var(--font-pixel);color:var(--cyan)}:root[data-look=night-arcade] a{color:var(--cyan)}:root[data-look=night-arcade] .tabbar{background:var(--panel);border-top:3px solid var(--panel-line)}:root[data-look=night-arcade] .tabbar button{color:var(--text-soft);font-family:var(--font-pixel);font-weight:400;font-size:12px;text-transform:uppercase}:root[data-look=night-arcade] .tabbar button[aria-current=page]{color:var(--cyan)}:root[data-look=night-arcade] .tabbar .tab-icon{width:56px;height:36px;border-radius:10px}:root[data-look=night-arcade] .tabbar button[aria-current=page] .tab-icon{background:var(--cyan);color:var(--night)}:root[data-look=night-arcade] .tabbar button:focus-visible{outline:3px solid var(--coin);outline-offset:2px;border-radius:10px}:root[data-look=night-arcade] .shell.has-tabbar .shell-main{padding-bottom:0}.arc-home{position:relative;width:100%;display:flex;flex-direction:column;flex:1;background:var(--night);color:var(--text);overflow:hidden}.arc-top{position:relative;padding:22px 18px 0;display:flex;justify-content:space-between;align-items:center}.arc-logo{font-family:var(--font-display);font-size:24px;color:var(--coin);text-shadow:3px 3px 0 var(--pink)}.arc-avatar{width:44px;height:44px;border-radius:12px;background:var(--bit);border:3px solid var(--night-deep);box-shadow:0 4px 0 var(--night-deep);font-family:var(--font-display);font-size:18px;color:var(--night-deep);display:grid;place-items:center;box-sizing:border-box}.arc-scorebar{all:unset;box-sizing:border-box;position:relative;margin:16px 18px 0;background:var(--panel);border:3px solid var(--panel-line);border-radius:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));cursor:pointer;color:var(--text)}.arc-scorebar:focus-visible{outline:3px solid var(--coin);outline-offset:2px}.arc-scorecell{padding:12px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-right:3px solid var(--panel-line)}.arc-scorecell .arc-px{font-size:12px;color:var(--text-soft)}.arc-scorering{border-right:none;padding:8px}.arc-scorenum{display:flex;align-items:center;gap:4px;font-family:var(--font-display);font-size:26px;line-height:1}.arc-ring{position:relative;width:76px;height:76px;display:block}.arc-ring-lg{width:120px;height:120px;flex:none}.arc-ring-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.arc-ring-text b{font-family:var(--font-display);font-weight:400;font-size:18px;line-height:1}.arc-ring-lg .arc-ring-text b{font-size:22px}.arc-ring-text b.lime{font-size:16px}.arc-ring-lg .arc-ring-text b.lime{font-size:20px}.arc-ring-text span{font-family:var(--font-pixel);font-size:9px;color:var(--text-soft)}.arc-ring-lg .arc-ring-text span{font-size:11px}.arc-note-slot:not(:empty){position:relative;padding:14px 18px 0}.arc-note-slot:empty{display:none}.arc-hero{position:relative}.arc-hero .arc-streak-desktop{display:none}.arc-practice{position:relative;margin:18px 18px 0;border-radius:22px;overflow:hidden;border:3px solid var(--pink);box-shadow:0 0 24px #ff4fb873;background:var(--panel-2)}.arc-practice-head{margin:0;background:var(--pink);padding:8px;text-align:center;font-family:var(--font-display);font-weight:400;font-size:18px;color:var(--night);letter-spacing:1px}.arc-practice-body{position:relative;display:flex;align-items:flex-end;gap:10px;padding:14px 16px 18px}.arc-practice-bot{flex:none}.arc-practice-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px;padding-bottom:6px}.arc-practice-greet{display:none}.arc-practice-text{font-weight:700;font-size:17px;line-height:1.3}.arc-practice-min{display:none}:root[data-look=night-arcade] .arc-start{height:60px;font-size:20px;padding:0 10px;white-space:nowrap}.arc-decks{position:relative;padding:26px 18px 0}.arc-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px 12px;flex-wrap:wrap}.arc-h2{margin:0;font-family:var(--font-display);font-weight:400;font-size:20px}.arc-head-actions{display:flex;gap:12px;flex-wrap:wrap}.arc-link{background:none;border:none;font-family:var(--font-pixel);font-size:13px;color:var(--cyan);cursor:pointer;padding:8px 0;min-height:44px;text-decoration:underline;text-underline-offset:3px}.arc-link:hover{color:var(--coin)}.arc-link:focus-visible{outline:3px solid var(--coin);border-radius:6px}.arc-sub{margin:2px 0 0;font-size:12px;color:var(--text-soft);text-align:left}.arc-empty{text-align:center;padding:10px 0 0}.arc-empty p{margin:0;font-weight:700;color:var(--text-soft)}.arc-shelf{list-style:none;margin:14px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px}.arc-cart-item{display:flex;flex-direction:column;gap:10px;min-width:0}.arc-cart-wrap{position:relative}.arc-cart{position:relative;display:flex;width:100%;aspect-ratio:1.22;box-sizing:border-box;border:3px solid var(--night-deep);border-radius:30px 30px 6px 6px;box-shadow:inset 0 -9px #0b092047,inset 0 4px #ffffff59,0 6px 0 var(--night-deep);padding:22px 13px 19px;cursor:pointer;font:inherit;text-align:left;transition:transform var(--dur-tap) ease-out,box-shadow var(--dur-tap) ease-out}.arc-cart:active{transform:translateY(6px);box-shadow:inset 0 -9px #0b092047,inset 0 4px #ffffff59,0 0 0 var(--night-deep)}.arc-cart:focus-visible{outline:3px solid var(--coin);outline-offset:3px}.arc-cart-ridges{position:absolute;left:24px;right:24px;top:7px;height:9px;border-radius:4px;background:repeating-linear-gradient(90deg,rgb(11 9 32 / .5) 0 3px,transparent 3px 7px)}.arc-cart-notch{position:absolute;bottom:20px;width:8px;height:24px;background:var(--night);border:3px solid var(--night-deep)}.arc-cart-notch.left{left:-3px;border-left:none;border-radius:0 4px 4px 0}.arc-cart-notch.right{right:-3px;border-right:none;border-radius:4px 0 0 4px}.arc-cart-label{flex:1;min-width:0;background:var(--text);border:2px solid var(--night-deep);border-radius:10px;overflow:hidden;display:flex;flex-direction:column}.arc-cart-title{background:var(--night);color:var(--coin);font-family:var(--font-display);font-size:12px;line-height:1.15;padding:6px 30px 6px 8px;text-transform:uppercase;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.arc-cart-bars{flex:1;display:flex;align-items:flex-end;padding:6px 8px 8px}.arc-eq{display:flex;align-items:flex-end;gap:3px}.arc-eq i{display:block;width:9px}.arc-cart-meta{display:flex;justify-content:space-between;align-items:center;gap:6px;font-size:12px;color:var(--text-soft)}.arc-chip{padding:1px 6px;border-radius:4px;white-space:nowrap;color:var(--night)}.arc-chip.due{background:var(--coin)}.arc-chip.clear{background:var(--lime)}.arc-chip.empty{background:var(--panel-line);color:var(--text-soft)}.arc-menu-btn{position:absolute;top:24px;right:14px;z-index:2;width:34px;height:34px;border:none;border-radius:8px;background:transparent;color:var(--coin);font-size:20px;line-height:1;cursor:pointer}.arc-menu-btn:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px}.arc-menu-btn:focus-visible{outline:3px solid var(--coin)}.arc-cart-wrap .deck-menu{top:60px;right:6px;bottom:auto}.arc-new-cart{width:100%;height:100%;min-height:140px;border:3px dashed var(--panel-line);border-radius:18px;background:transparent;color:var(--text-soft);font-family:var(--font-pixel);font-size:14px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;text-align:center}.arc-new-cart:hover{border-color:var(--bit);color:var(--text)}.arc-new-cart:focus-visible{outline:3px solid var(--coin);outline-offset:2px}.arc-plus{font-family:var(--font-display);font-size:34px;line-height:1;color:var(--bit)}.arc-following{position:relative;padding:30px 18px 0}.arc-follow-list{margin-top:14px;display:flex;flex-direction:column;gap:14px}.arc-follow-card{border:3px solid var(--panel-line);border-radius:18px;padding:14px;display:flex;flex-direction:column;gap:12px;background:var(--panel-2)}.arc-follow-top{display:flex;gap:12px;align-items:center}.arc-follow-avatar{width:46px;height:46px;border-radius:10px;border:3px solid var(--night-deep);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-size:15px;color:var(--night);flex:none;box-sizing:border-box}.arc-follow-main{flex:1;min-width:0;text-align:left;background:none;border:none;font:inherit;color:inherit;cursor:pointer;padding:4px 0}.arc-follow-main:focus-visible{outline:3px solid var(--coin);border-radius:6px}.arc-follow-title{display:block;font-family:var(--font-display);font-size:15px;text-transform:uppercase}.arc-follow-sub{display:block;font-size:14px;color:var(--text-soft)}.arc-view-only{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-soft);flex:none}.arc-follow-actions{display:flex;flex-direction:column;gap:10px;padding-bottom:6px}:root[data-look=night-arcade] .arc-follow-actions .arc-outline{height:50px;font-size:16px}:root[data-look=night-arcade] .arc-follow-actions .arc-outline-quiet{align-self:center}.arc-archived{position:relative;padding:0 18px}.arc-archived:empty{display:none}.arc-home:after{content:"";display:block;height:110px;flex:none}.arc-collection .arc-decks{padding-top:14px;min-height:60dvh}.arc-streak{background:var(--panel);border:3px solid var(--panel-line);border-radius:24px;padding:20px;display:flex;flex-direction:column;gap:16px;color:var(--text)}.arc-streak-top{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.arc-scores{flex:1;min-width:140px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.arc-score{background:var(--night);border-radius:14px;padding:10px 12px;display:flex;flex-direction:column;gap:2px}.arc-score .arc-px{font-size:12px;color:var(--text-soft)}.arc-score b{font-family:var(--font-display);font-weight:400;font-size:34px;line-height:1.05}.arc-week{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;font-family:var(--font-pixel);font-size:12px;text-align:center}.arc-week-day{display:flex;flex-direction:column;gap:4px}.arc-week-bar{height:34px;border-radius:4px;box-sizing:border-box;border:2px dashed var(--panel-line);display:flex;align-items:center;justify-content:center;color:var(--night);font-size:11px}.arc-week-day.week-studied .arc-week-bar{background:var(--ember);border:none}.arc-week-day.week-frozen .arc-week-bar{background:var(--cyan);border:none}.arc-week-day.week-today-done .arc-week-bar{background:var(--coin);border:none}.arc-week-day.week-today-open .arc-week-bar{border:2px dashed var(--coin)}.arc-week-day.week-future,.arc-week-day.week-missed{color:var(--text-soft)}.arc-streak-message{margin:0;font-size:16px;color:var(--text-soft)}.arc-note{background:var(--night);border:3px solid var(--cyan);border-radius:18px;padding:14px 18px;display:flex;align-items:center;gap:16px}.arc-note .mascot{flex:none}.arc-note-title{font-family:var(--font-display);font-size:20px;color:var(--cyan)}.arc-note-text{font-size:16px;line-height:1.45}:root[data-look=night-arcade] .arc-study-page{height:100dvh;max-height:100dvh;overflow:hidden;max-width:none;padding:0;gap:0;margin:0;flex:1;width:100%;background:var(--night);color:var(--text);position:relative}.arc-study-page .gem-scope{padding:12px 18px 0}.arc-topbar{position:relative;padding:22px 18px 0;width:100%;max-width:640px;margin:0 auto;box-sizing:border-box}.arc-topbar-row{display:flex;align-items:center;gap:12px}.arc-close{width:44px;height:44px;border-radius:12px;background:var(--panel);border:3px solid var(--panel-line);display:flex;align-items:center;justify-content:center;cursor:pointer;flex:none;box-sizing:border-box}.arc-close:focus-visible{outline:3px solid var(--coin);outline-offset:2px}.arc-cells{flex:1;display:grid;gap:4px}.arc-cells i{display:block;height:18px;border-radius:3px;background:var(--panel-line)}.arc-cells i.done{background:var(--lime)}.arc-cells i.now{background:var(--coin)}.arc-count{margin:10px 0 0;display:flex;justify-content:space-between;font-size:13px;color:var(--text-soft)}.arc-study{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;padding-bottom:112px;box-sizing:border-box}.arc-card-wrap{position:relative;width:calc(100% - 36px);max-width:560px;margin:16px auto 0;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.arc-card{all:unset;box-sizing:border-box;width:100%;perspective:1200px;cursor:pointer;border-radius:26px;-webkit-tap-highlight-color:transparent;flex:1 1 auto;min-height:0;display:flex;flex-direction:column}.arc-card:focus-visible{outline:3px solid var(--coin);outline-offset:4px}.arc-card-inner{display:grid;flex:1 1 auto;min-height:0;grid-template-rows:minmax(0,1fr);transform-style:preserve-3d;transition:transform var(--dur-flip) steps(6)}.arc-card[data-flipped=true] .arc-card-inner{transform:rotateX(180deg)}.arc-face{grid-area:1 / 1;display:flex;flex-direction:column;min-height:0;box-sizing:border-box;background:var(--panel);border:3px solid var(--cyan);border-radius:26px;padding:14px;box-shadow:var(--glow-cyan);backface-visibility:hidden;-webkit-backface-visibility:hidden}.arc-back{transform:rotateX(180deg);border-color:var(--pink);box-shadow:var(--glow-pink)}.arc-screen{backface-visibility:hidden;-webkit-backface-visibility:hidden}.arc-front,.arc-back{transition:visibility 0s linear calc(var(--dur-flip) / 2)}.arc-back,.arc-card[data-flipped=true] .arc-front{visibility:hidden}.arc-card[data-flipped=true] .arc-back{visibility:visible}.arc-screen{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;box-sizing:border-box;background:var(--screen);color:var(--screen-ink);border:3px solid var(--night-deep);border-radius:16px;padding:14px;overflow-y:auto}.arc-scan{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(0deg,rgb(20 17 43 / .035) 0 2px,transparent 2px 4px);pointer-events:none}.arc-face-top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px}.arc-face-deck{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase}.arc-pips{display:flex;align-items:center;gap:3px;flex:none}.arc-pips i{display:block;width:8px;height:8px}.arc-main{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.1;overflow-wrap:anywhere;padding:10px 0}.arc-main.size-xl{font-family:var(--font-display);font-size:clamp(32px,10vw,44px);text-transform:uppercase}.arc-main.size-lg{font-family:var(--font-display);font-size:clamp(24px,7vw,30px);text-transform:uppercase}.arc-main.size-md{font-family:var(--font-body);font-weight:700;font-size:24px;line-height:1.3}.arc-clue{align-self:center;margin-bottom:10px;background:var(--coin);border:2px solid var(--night-deep);border-radius:8px;padding:6px 12px;font-size:18px;font-weight:700;text-align:center}.arc-front-sub{text-align:center;font-size:16px;font-weight:700;color:#4a4470;padding-bottom:8px}.arc-hint{align-self:center;font-size:14px}.arc-screen-back{background:#fff;padding:0;overflow:hidden}.arc-back-band{background:var(--night);color:var(--coin);padding:10px 14px;display:flex;flex-direction:column;gap:4px;flex:none}.arc-back-title{font-family:var(--font-display);font-size:17px;line-height:1.2;text-transform:uppercase;overflow-wrap:anywhere}.arc-back-note{font-family:var(--font-body);font-weight:700;font-size:14px;color:var(--text-soft)}.arc-body{flex:1;min-height:0;display:flex;padding:18px;overflow:auto;text-align:center}.arc-body-text{margin:auto;font-size:23px;line-height:1.5;text-wrap:pretty}.arc-dot{position:absolute;left:-12px;bottom:-38px;z-index:2}.arc-clue-row{display:flex;justify-content:center;margin-top:28px;min-height:48px}.arc-clue-btn{background:transparent;border:2px solid var(--coin);color:var(--coin);border-radius:10px;padding:8px 14px;min-height:44px;font-size:14px;cursor:pointer}.arc-clue-btn:focus-visible{outline:3px solid var(--coin);outline-offset:3px}.arc-bar{position:fixed;left:0;right:0;bottom:0;z-index:5;background:var(--night);padding:18px 18px 12px}.arc-bar>*{max-width:560px;margin:0 auto}:root[data-look=night-arcade] .arc-flip{width:100%;height:64px;font-size:24px}.arc-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}:root[data-look=night-arcade] .arc-grade .button{height:64px}:root[data-look=night-arcade] .arc-review{background:transparent;border-color:var(--pink);color:var(--pink);box-shadow:0 6px #8a1f5e;font-size:17px}:root[data-look=night-arcade] .arc-review:active:not(:disabled){background:var(--pink);color:var(--night);box-shadow:0 0 #8a1f5e}:root[data-look=night-arcade] .arc-gotit{background:var(--lime);color:var(--night);box-shadow:var(--shadow-btn);font-size:20px}.arc-moment{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;flex-direction:column;align-items:center;overflow-x:hidden;overflow-y:auto;background:var(--night);color:var(--text)}.arc-moment-actions{position:relative;width:100%;max-width:600px;box-sizing:border-box;padding:20px 18px 30px;margin-top:auto;display:flex;flex-direction:column;gap:12px}.arc-up{cursor:pointer}.arc-up-title-wrap{position:relative;margin-top:90px}.arc-up-title{font-family:var(--font-display);font-size:56px;color:var(--coin);text-shadow:-4px 0 0 var(--pink),4px 0 0 var(--cyan);text-align:center;line-height:1}.arc-up-boxes{position:relative;margin-top:10px;font-size:18px}.arc-up-bit{position:relative;margin-top:26px}.arc-up-eq{position:relative;margin-top:22px;display:flex;align-items:flex-end;gap:10px;height:120px}.arc-up-col{display:flex;flex-direction:column;align-items:center;gap:6px;font-size:11px}.arc-up-bar{width:40px;border:3px solid var(--night-deep);background:var(--panel-line);box-sizing:border-box}.arc-up-bar.now{background:var(--coin)!important;box-shadow:0 0 20px var(--coin)}.arc-up-note{position:relative;margin-top:24px;background:var(--panel);border:3px solid var(--panel-line);border-radius:14px;padding:12px 18px;text-align:center;font-size:18px;line-height:1.4}.arc-up-skip{position:relative;margin:18px 0 30px;font-size:12px;color:var(--text-soft)}.arc-miss-dot{margin-top:120px}.arc-miss-title{margin-top:24px;font-family:var(--font-display);font-size:34px;color:var(--cyan)}.arc-miss-text{margin:12px 30px 0;max-width:420px;background:var(--panel);border:3px solid var(--panel-line);border-radius:14px;padding:14px 18px;text-align:center;font-size:18px;line-height:1.45}:root[data-look=night-arcade] .arc-next,:root[data-look=night-arcade] .arc-continue{width:100%;height:62px;font-size:22px}.arc-confetti{position:absolute;top:0;width:10px;height:10px;animation:arc-fall 2.8s steps(14) infinite}.arc-recap-crew{position:relative;margin-top:50px;display:flex;align-items:flex-end;justify-content:center}.arc-recap-title{position:relative;margin-top:10px;font-family:var(--font-display);font-size:44px;line-height:1;color:var(--lime);text-shadow:4px 4px 0 var(--bit);text-align:center}.arc-recap-sub{position:relative;margin-top:10px;font-weight:700;font-size:16px;text-align:center;padding:0 18px;color:var(--text-soft)}.arc-score-rows{position:relative;margin-top:18px;width:min(340px,calc(100% - 36px));box-sizing:border-box;background:var(--panel);border:3px solid var(--cyan);border-radius:16px;padding:14px 18px;display:flex;flex-direction:column;gap:10px;font-size:16px}.arc-score-row{display:flex;justify-content:space-between;gap:12px}.arc-recap-note{position:relative;margin-top:14px;width:min(340px,calc(100% - 36px));box-sizing:border-box;border-radius:14px;padding:10px 14px;display:flex;align-items:center;gap:12px;color:var(--night)}.arc-recap-note.coin-note{background:var(--coin)}.arc-recap-note.ice-note{background:var(--cyan);animation-delay:.2s}.arc-recap-note-title{font-family:var(--font-display);font-size:15px}.arc-recap-note-text{font-size:15px;font-weight:700}.arc-note-badges{display:flex;gap:6px;flex:none}.arc-note-badge{width:46px;height:46px;border-radius:10px;border:3px solid var(--night-deep);background:var(--pink);color:var(--night);display:flex;align-items:center;justify-content:center;font-family:var(--font-display);flex:none;box-sizing:border-box}.arc-note-badge.ice{background:var(--night)}.arc-note-badge.badge-first-mastery{background:var(--lime)}.arc-note-badge.badge-streak-7{background:var(--ember)}.arc-note-badge.badge-cards-100{background:var(--pink)}.arc-note-badge.badge-streak-30{background:var(--cyan)}@media (prefers-reduced-motion: reduce){.arc-card-inner{transition:none;transform:none!important}.arc-back{transform:none;opacity:0}.arc-front,.arc-back{transition:opacity .12s}.arc-card[data-flipped=true] .arc-front{opacity:0}.arc-card[data-flipped=true] .arc-back{opacity:1}.type-in,.arc-confetti{animation:none!important}}:root[data-motion=reduced] .arc-card-inner{transition:none;transform:none!important}:root[data-motion=reduced] .arc-back{transform:none;opacity:0}:root[data-motion=reduced] .arc-front,:root[data-motion=reduced] .arc-back{transition:opacity .12s}:root[data-motion=reduced] .arc-card[data-flipped=true] .arc-front{opacity:0}:root[data-motion=reduced] .arc-card[data-flipped=true] .arc-back{opacity:1}:root[data-motion=reduced] .type-in,:root[data-motion=reduced] .arc-confetti{animation:none!important}:root[data-look=night-arcade] .badges-page{padding:22px 18px 110px;gap:22px;color:var(--text)}:root[data-look=night-arcade] .badges-top{margin:-22px -18px 0;padding:22px 18px 16px;border-bottom:3px solid var(--panel-line)}:root[data-look=night-arcade] .badges-top h1{font-family:var(--font-display);font-weight:400;color:var(--pink);text-shadow:0 0 12px rgb(255 79 184 / .5);text-transform:uppercase}:root[data-look=night-arcade] .badge-chip{background:var(--panel);border:none;border-radius:8px;padding:4px 8px;font-family:var(--font-pixel);font-size:13px;text-transform:uppercase}:root[data-look=night-arcade] .chip-streak{color:var(--ember)}:root[data-look=night-arcade] .chip-freeze{color:var(--cyan)}:root[data-look=night-arcade] .badges-h2{font-family:var(--font-display);font-weight:400;font-size:20px;color:var(--cyan);text-transform:uppercase}:root[data-look=night-arcade] .badges-count{font-family:var(--font-pixel)}:root[data-look=night-arcade] button.crew-tile,:root[data-look=night-arcade] .crew-tile,:root[data-look=night-arcade] .crew-tile.role-keeper,:root[data-look=night-arcade] .crew-tile.role-helper{background:var(--panel);border:3px solid var(--panel-line);border-radius:16px;box-shadow:none;color:var(--text)}:root[data-look=night-arcade] .crew-name{font-family:var(--font-display);font-weight:400;color:var(--coin);text-transform:uppercase}:root[data-look=night-arcade] .crew-role{font-family:var(--font-pixel);font-size:10px;color:var(--text-soft);text-transform:uppercase}:root[data-look=night-arcade] .sticker-book{background:var(--panel);border:3px solid var(--panel-line);border-radius:18px;box-shadow:none}:root[data-look=night-arcade] .sticker-art,:root[data-look=night-arcade] .sticker-art.role-keeper,:root[data-look=night-arcade] .sticker-art.role-helper{background:var(--night);border:3px solid var(--cyan);border-radius:14px;box-sizing:border-box}:root[data-look=night-arcade] .sticker-locked{background:transparent;border:3px dashed var(--panel-line);border-radius:14px;color:#8f88c8;font-family:var(--font-display);font-weight:400}:root[data-look=night-arcade] .sticker-label{font-family:var(--font-pixel);font-size:10px;text-transform:uppercase}:root[data-look=night-arcade] .sticker-label.sticker-hint{color:var(--text-soft);font-family:var(--font-body);font-size:12px;text-transform:none}:root[data-look=night-arcade] .badge-card{background:none;box-shadow:none;padding:4px}:root[data-look=night-arcade] .badge-art{width:70px;height:80px;border-radius:8px 8px 16px 16px;border:3px solid var(--night-deep);box-shadow:0 5px 0 var(--night-deep);font-family:var(--font-display);font-weight:400;font-size:22px;color:var(--night);box-sizing:border-box}:root[data-look=night-arcade] .badge-card.earned .badge-art{box-shadow:0 5px 0 var(--night-deep)}:root[data-look=night-arcade] .badge-first-mastery{background:var(--lime)}:root[data-look=night-arcade] .badge-cards-100{background:var(--coin)}:root[data-look=night-arcade] .badge-streak-7{background:var(--ember)}:root[data-look=night-arcade] .badge-streak-30{background:var(--cyan)}:root[data-look=night-arcade] .badge-card.locked .badge-art{background:transparent;border:3px dashed var(--panel-line);box-shadow:none;color:#8f88c8}:root[data-look=night-arcade] .badge-title{font-size:14px;font-weight:700}:root[data-look=night-arcade] .badge-progress{color:var(--text-soft)}:root[data-look=night-arcade] .badge-new{background:var(--pink);color:var(--night);border:none;box-shadow:none;font-family:var(--font-pixel);font-weight:400}:root[data-look=night-arcade] .streak-panel-home{display:none}:root[data-look=night-arcade] .meet-btn{border-radius:16px}:root[data-look=night-arcade] .meet-btn:focus-visible{outline:3px solid var(--coin)}:root[data-look=night-arcade] .meet-overlay{padding:0;background:#0b0920b3}:root[data-look=night-arcade] .meet-sheet,:root[data-look=night-arcade] .meet-sheet.role-host,:root[data-look=night-arcade] .meet-sheet.role-helper{max-width:560px;background:var(--panel);color:var(--text);border:none;border-top:3px solid var(--cyan);border-radius:28px 28px 0 0;box-shadow:0 -10px 30px #3be8ff40;padding:12px 20px 28px}:root[data-look=night-arcade] .meet-grabber{background:var(--panel-line);border-radius:0}:root[data-look=night-arcade] .meet-art,:root[data-look=night-arcade] .meet-sheet.role-host .meet-art,:root[data-look=night-arcade] .meet-sheet.role-helper .meet-art{background:var(--night);border:3px solid var(--panel-line);border-radius:18px;box-sizing:border-box}:root[data-look=night-arcade] .meet-name{font-family:var(--font-display);font-weight:400;color:var(--coin);text-transform:uppercase}:root[data-look=night-arcade] .meet-tag,:root[data-look=night-arcade] .meet-sheet.role-host .meet-tag,:root[data-look=night-arcade] .meet-sheet.role-helper .meet-tag{background:var(--cyan);color:var(--night);border:none;border-radius:6px;font-family:var(--font-pixel);font-weight:400;font-size:11px;padding:3px 8px;text-transform:uppercase}:root[data-look=night-arcade] .meet-sheet.role-helper .meet-tag{background:var(--pink)}:root[data-look=night-arcade] .meet-close{background:var(--night);border:3px solid var(--panel-line);border-radius:12px;color:var(--text)}:root[data-look=night-arcade] .meet-close path{stroke:var(--text)}:root[data-look=night-arcade] .meet-quote,:root[data-look=night-arcade] .meet-sheet.role-host .meet-quote,:root[data-look=night-arcade] .meet-sheet.role-helper .meet-quote{background:var(--night);border:2px solid var(--coin);border-radius:12px;color:var(--coin);font-family:var(--font-body);font-size:18px}:root[data-look=night-arcade] .meet-facts dt{font-family:var(--font-pixel);font-size:13px;color:var(--text-soft);text-transform:uppercase;font-weight:400}:root[data-look=night-arcade] .meet-facts dd{color:var(--text)}:root[data-look=night-arcade] .meet-foot{border-top:2px dashed var(--panel-line);font-family:var(--font-pixel);font-size:13px;text-transform:uppercase;font-weight:400}:root[data-look=night-arcade] .meet-link{color:var(--cyan);font-family:var(--font-pixel);text-transform:uppercase}.arc-intro{position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:var(--night);color:var(--text);display:flex;flex-direction:column}.arc-intro-track{flex:1;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;min-height:0}.arc-intro-track::-webkit-scrollbar{display:none}.arc-intro-slide{position:relative;flex:0 0 100%;scroll-snap-align:center;display:flex;flex-direction:column;min-height:0;overflow-y:auto}.arc-intro-skip-row{position:relative;z-index:2;height:64px;padding:22px 22px 0;display:flex;justify-content:flex-end;box-sizing:border-box}.arc-intro-skip{background:none;border:none;font-size:14px;padding:10px 6px;min-height:44px;cursor:pointer;color:var(--cyan)}.arc-intro-skip:focus-visible{outline:3px solid var(--coin);border-radius:6px}.arc-intro-stage{position:relative;flex:none;height:min(340px,42dvh);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.arc-intro-stage .arc-grid{left:-60px;right:-60px;height:120px;opacity:.4}.arc-intro-freeze{position:absolute;right:40px;top:60px;z-index:2;background:var(--cyan);color:var(--night);border:3px solid var(--night-deep);border-radius:8px;padding:4px 10px;font-size:13px;transform:rotate(6deg)}.arc-intro-mascot{position:relative;margin-bottom:10px}.arc-intro-card{width:calc(100% - 36px);max-width:480px;margin:18px auto 0;box-sizing:border-box;background:var(--panel);border:3px solid var(--cyan);border-radius:20px;box-shadow:0 0 22px #3be8ff4d;padding:18px 18px 20px;display:flex;flex-direction:column;gap:8px}.arc-intro-slide.role-helper .arc-intro-card{box-shadow:0 0 22px #ff4fb84d}.arc-intro-card h2{margin:0;font-family:var(--font-display);font-weight:400;font-size:28px;line-height:1;color:var(--coin)}.arc-intro-tag{font-size:12px}.arc-intro-card p{margin:0;font-size:18px;line-height:1.45}.arc-intro-foot{width:100%;max-width:480px;margin:0 auto;box-sizing:border-box;padding:12px 18px calc(28px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;gap:16px}.arc-intro-dots{display:flex;justify-content:center;gap:8px}.arc-intro-dots span{width:10px;height:10px;background:var(--panel-line)}.arc-intro-dots span.on{width:26px;background:var(--cyan)}:root[data-look=night-arcade] .arc-intro-next{height:62px;font-size:22px;width:100%}:root[data-look=night-arcade] .arc-intro-next.go{background:var(--lime)}@media (min-width: 900px){:root[data-look=night-arcade] .topnav{background:var(--night);border-bottom:none}:root[data-look=night-arcade] .topnav-logo{font-family:var(--font-display);color:var(--coin);text-shadow:3px 3px 0 var(--pink);font-size:30px;text-transform:uppercase}:root[data-look=night-arcade] .topnav-pill{background:none;box-shadow:none;padding:0;gap:6px}:root[data-look=night-arcade] .topnav-pill button{font-family:var(--font-pixel);font-size:14px;color:var(--cyan);padding:12px;border-radius:10px;text-transform:uppercase}:root[data-look=night-arcade] .topnav-pill button:hover{color:var(--coin);background:none}:root[data-look=night-arcade] .topnav-pill button[aria-current=page]{background:var(--cyan);color:var(--night)}:root[data-look=night-arcade] .topnav-pill button:focus-visible{outline:3px solid var(--coin)}.arc-top,.arc-scorebar{display:none}.arc-note-slot:not(:empty){max-width:1180px;width:100%;margin:0 auto;padding:14px 24px 0;box-sizing:border-box}.arc-hero{max-width:1180px;width:100%;margin:0 auto;padding:18px 24px 0;box-sizing:border-box;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:24px;align-items:stretch}.arc-practice{margin:0;border-radius:24px;box-shadow:0 0 30px #ff4fb866}.arc-practice-head{font-size:20px;padding:10px}.arc-practice-body{padding:18px 24px 26px;gap:20px;flex-wrap:wrap}.arc-practice-greet{display:block;font-family:var(--font-display);font-size:26px;line-height:1.1}.arc-practice-text{font-weight:400;font-size:18px}.arc-practice-min{display:inline}:root[data-look=night-arcade] .arc-start{height:66px;font-size:24px}.arc-hero .arc-streak-desktop{display:flex}.arc-decks{max-width:1180px;width:100%;margin:0 auto;padding:40px 24px 0;box-sizing:border-box}.arc-h2{font-size:26px}.arc-shelf{grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));gap:22px;margin-top:18px}.arc-cart-title{font-size:15px}.arc-eq{gap:3px}.arc-eq i{width:12px}.arc-new-cart{min-height:180px;border-radius:20px}.arc-following{max-width:1180px;width:100%;margin:0 auto;padding:40px 24px 0;box-sizing:border-box}.arc-follow-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(380px,100%),1fr));gap:18px}.arc-follow-card{flex-direction:row;align-items:center;flex-wrap:wrap}.arc-follow-top{flex:1;min-width:240px}.arc-follow-actions{padding-bottom:0;flex:none;flex-direction:row;align-items:center}.arc-archived{max-width:1180px;width:100%;margin:0 auto;padding:0 24px;box-sizing:border-box}.arc-home:after{height:60px}:root[data-look=night-arcade] .badges-page{max-width:1180px;padding:0 24px 60px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;align-items:start}:root[data-look=night-arcade] .badges-top{grid-column:1 / -1;margin:0 -24px;padding:18px 24px;max-width:none}.badges-page>*{min-width:0}.arc-topbar,.arc-card-wrap{max-width:600px}}html:has(.arc-study-page),body:has(.arc-study-page){overflow:hidden}.arc-face *{backface-visibility:hidden;-webkit-backface-visibility:hidden}.arc-cart-boxes{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:40px;padding:4px 10px;background:transparent;border:2px dashed var(--panel-line);border-radius:8px;color:var(--cyan);font-size:12px;cursor:pointer}.arc-cart-boxes:hover{border-color:var(--cyan)}.arc-cart-boxes:focus-visible{outline:3px solid var(--coin);outline-offset:2px}.arc-cart-boxes .arc-eq i{width:7px}.arc-cart-wrap.is-set{padding-top:26px}.arc-set-cart{position:absolute;top:0;height:60px;border:3px solid var(--night-deep);border-radius:26px 26px 6px 6px}.arc-set-cart.c1{left:18px;right:22px;top:10px;background:var(--cyan);transform:rotate(-5deg)}.arc-set-cart.c2{left:34px;right:2px;top:0;background:var(--pink);transform:rotate(4deg)}.arc-set-cart:before{content:"";position:absolute;left:20px;right:20px;top:6px;height:8px;border-radius:4px;background:repeating-linear-gradient(90deg,rgb(11 9 32 / .5) 0 3px,transparent 3px 7px)}.arc-set-tag{position:absolute;z-index:2;left:8px;top:2px;padding:2px 6px;background:var(--night);border:2px solid var(--coin);border-radius:6px;color:var(--coin);font-size:11px;letter-spacing:.08em;box-shadow:0 0 8px #ffe14d73}.arc-follow-from{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--cyan);margin-top:-4px;overflow-wrap:anywhere}.arc-follow-shelf{margin-top:14px}.mascot{transform-origin:50% 100%}.mascot.mood-ready,.mascot.mood-encourage{animation:m-bob 1.8s ease-in-out infinite}.mascot.mood-cheer{animation:m-jump .9s cubic-bezier(.3,1.6,.5,1) infinite}.mascot.mood-sleepy{animation:m-breathe 3s ease-in-out infinite}.mascot.mood-thinking{animation:m-bob 2.8s ease-in-out infinite}.mascot.mood-hello{animation:m-bob 1.3s ease-in-out infinite}.mascot.mood-wow{animation:m-wow 1.3s cubic-bezier(.3,1.6,.5,1) infinite}.m-blink{transform-box:fill-box;transform-origin:center;animation:m-blink 4s infinite}.m-twinkle,.m-twinkle2{transform-box:fill-box;transform-origin:center;animation:m-tw 1.2s ease-in-out infinite}.m-twinkle2{animation-delay:.6s}.m-zz{animation:m-zz 2.6s ease-in-out infinite}.m-zz2{animation:m-zz 2.6s ease-in-out 1.3s infinite}.m-wave{transform-box:fill-box;transform-origin:0% 100%;animation:m-wave 1s ease-in-out infinite}.m-hi{transform-box:fill-box;transform-origin:0% 100%;animation:m-hi .7s ease-in-out infinite}.m-float{animation:m-float 2s ease-in-out infinite}.m-glow{animation:m-glow 1.2s steps(2) infinite}.m-prop{transform-box:fill-box;transform-origin:center;animation:m-prop .25s linear infinite}.m-ear{transform-box:fill-box;transform-origin:50% 100%;animation:m-ear 3s ease-in-out infinite}.m-ear2{transform-box:fill-box;transform-origin:50% 100%;animation:m-ear 3s ease-in-out .4s infinite}@keyframes m-bob{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-6px) scale(.98,1.03)}}@keyframes m-jump{0%,to{transform:translateY(0) scale(1.06,.94)}40%{transform:translateY(-22px) scale(.96,1.05)}70%{transform:translateY(0) scale(1.08,.92)}}@keyframes m-breathe{0%,to{transform:scale(1)}50%{transform:scale(1.03,.97)}}@keyframes m-wow{0%,to{transform:scale(1)}20%{transform:scale(1.1,.9)}45%{transform:translateY(-10px) scale(.95,1.06)}}@keyframes m-blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes m-tw{0%,to{transform:scale(.7) rotate(0)}50%{transform:scale(1.15) rotate(20deg)}}@keyframes m-zz{0%{opacity:0;transform:translateY(6px)}30%{opacity:1}to{opacity:0;transform:translate(8px,-14px)}}@keyframes m-wave{0%,to{transform:rotate(0)}50%{transform:rotate(-12deg)}}@keyframes m-hi{0%,to{transform:rotate(0)}50%{transform:rotate(-18deg)}}@keyframes m-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes m-glow{0%{opacity:1}to{opacity:.45}}@keyframes m-prop{0%,to{transform:scaleX(1)}50%{transform:scaleX(.2)}}@keyframes m-ear{0%,85%,to{transform:rotate(0)}90%{transform:rotate(-8deg)}95%{transform:rotate(5deg)}}@keyframes pop-in{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.08);opacity:1}to{transform:scale(1)}}@keyframes slide-up{0%{transform:translateY(60px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fx-fall{0%{transform:translateY(-80px) rotate(0)}to{transform:translateY(900px) rotate(540deg)}}@keyframes fx-rot{to{transform:rotate(360deg)}}@keyframes fx-flicker{0%,to{transform:scale(1) rotate(-2deg)}50%{transform:scale(.94,1.08) rotate(3deg)}}@media (prefers-reduced-motion: reduce){.mascot,.mascot *,[class*=fx-],.pop-in,.slide-up{animation:none!important;transition:none!important}}:root[data-motion=reduced] .mascot,:root[data-motion=reduced] .mascot *,:root[data-motion=reduced] [class*=fx-]{animation:none!important}@keyframes fx-spin{0%{transform:scaleX(1)}50%{transform:scaleX(.15)}to{transform:scaleX(1)}}@keyframes fx-pulse{0%,to{transform:translate(0)}50%{transform:translate(4px)}}@keyframes fx-burst{0%{transform:scale(.4);opacity:0}30%{opacity:1}to{transform:scale(1.5);opacity:0}}.fx-flame{transform-origin:50% 90%;animation:fx-flicker 1.1s ease-in-out infinite}.fx-coin{animation:fx-spin 2.4s linear infinite}.fx-pulse{animation:fx-pulse 1.4s ease-in-out infinite}.fx-confetti{animation:fx-fall 3.2s linear infinite}.fx-burst{animation:fx-burst 1.8s ease-out infinite}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;transition:background .2s ease}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}h1{font-family:var(--font-display);font-weight:400;font-size:var(--text-xl);letter-spacing:-.01em;margin:0}h2{font-family:var(--font-display);font-weight:400;font-size:var(--text-lg);margin:0}h3{font-size:var(--text-xs);font-weight:400;text-transform:uppercase;letter-spacing:.14em;color:var(--color-text-muted);margin:0 0 var(--space-2)}.muted{color:var(--color-text-muted);font-size:var(--text-md)}.error-text{color:var(--color-warn);font-size:var(--text-sm);line-height:1.5}.shell{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.shell-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5)}.app-title{font-family:var(--font-display);font-weight:400;font-size:1.25rem;letter-spacing:-.01em}.icon-button{font-size:var(--text-lg);line-height:1;color:var(--color-text-faint);width:2.125rem;height:2.125rem;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:var(--radius-pill);transition:color .14s ease,border-color .14s ease}.icon-button:hover{color:var(--color-text);border-color:var(--color-border)}.shell-main{flex:1;display:flex;flex-direction:column}.page{width:100%;max-width:56rem;margin:0 auto;padding:var(--space-4) var(--space-5) var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.page.narrow{max-width:32rem}.page-header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.center-screen{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-4);text-align:center}.notice,.signin{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--space-6);max-width:26rem;display:flex;flex-direction:column;gap:var(--space-4)}.back-link{align-self:flex-start;color:var(--color-text-muted);font-size:var(--text-sm);padding:var(--space-1) 0}.back-link:hover{color:var(--color-text)}.button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:.6875rem 1.25rem;border-radius:var(--radius-pill);font-size:var(--text-md);border:1px solid transparent;white-space:nowrap;transition:border-color .14s ease,background .14s ease,filter .14s ease}.button.wraps{white-space:normal;text-align:center;line-height:1.25;max-width:100%}.button:hover:not(:disabled){filter:brightness(1.04)}.button:disabled{opacity:.5;cursor:default}.button.primary{background:var(--color-accent);color:var(--color-accent-contrast)}.button.subtle{background:var(--color-surface);border-color:var(--color-border)}.button.subtle:hover:not(:disabled){border-color:var(--color-border-strong);filter:none}.button.small{font-size:var(--text-xs);padding:.5rem .875rem}.button-row{display:flex;gap:var(--space-3);flex-wrap:wrap}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(15rem,1fr));gap:var(--space-5) var(--space-5);padding-top:8px}.tile{position:relative;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-tile);display:flex;flex-direction:column;transition:border-color .14s ease,box-shadow .14s ease}.tile:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-card)}.tile:before,.tile:after{content:"";position:absolute;z-index:-1;border-radius:var(--radius-md)}.tile:before{top:-7px;left:12px;right:-7px;bottom:7px;background:color-mix(in oklab,var(--color-surface) 55%,var(--color-bg));border:1px solid var(--color-border)}.tile:after{top:-3.5px;left:6px;right:-3.5px;bottom:3.5px;background:color-mix(in oklab,var(--color-surface) 80%,var(--color-bg));border:1px solid var(--color-border-soft)}.tile-body{text-align:left;padding:var(--space-4) var(--space-4) var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);flex:1;border-radius:var(--radius-md) var(--radius-md) 0 0}.tile-body h2{font-size:1.375rem;line-height:1.2;text-wrap:pretty}.tile-subtitle{margin:0;font-size:var(--text-xs);color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.14em;order:-1}.tile-counts{margin:0;font-size:var(--text-sm);color:var(--color-text-muted)}.tile-actions{position:relative;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:0 var(--space-3) var(--space-3) var(--space-4)}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:4;background:transparent}.deck-menu{position:absolute;right:var(--space-3);bottom:calc(100% + 4px);z-index:5;min-width:11rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);padding:var(--space-1);display:flex;flex-direction:column;animation:fade-in .15s ease both}.deck-menu button{text-align:left;font-size:var(--text-sm);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);white-space:nowrap}.deck-menu button:hover{background:var(--color-accent-soft)}.mini-progress{display:flex;align-items:center;gap:var(--space-2);margin-top:auto;padding-top:var(--space-3)}.mini-progress-track{flex:1;display:flex;height:4px;border-radius:var(--radius-pill);background:var(--color-track);overflow:hidden}.mini-progress-fill{height:100%;background:var(--color-accent);transition:width .3s}.mini-progress-fill[data-box="1"]{opacity:.18}.mini-progress-fill[data-box="2"]{opacity:.38}.mini-progress-fill[data-box="3"]{opacity:.58}.mini-progress-fill[data-box="4"]{opacity:.78}.mini-progress-fill[data-box="5"]{opacity:1}.mini-progress-label{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap}.archived-section{border-top:1px solid var(--color-border-soft);padding-top:var(--space-4)}.archived-toggle{width:100%;min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:0 var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:14px;color:var(--color-text);font:inherit;font-family:var(--font-display);font-size:var(--text-md);font-weight:600;cursor:pointer}.archived-count{display:inline-block;min-width:1.6em;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--color-border-soft);font-size:.9em;text-align:center}.archived-chevron{font-size:1.3rem;line-height:1;transition:transform .3s ease}.archived-section.open .archived-chevron{transform:rotate(180deg)}.archived-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}.archived-section.open .archived-body{grid-template-rows:1fr}.archived-inner{overflow:hidden;min-height:0}.archived-section ul{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.archived-section li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:14px;padding:var(--space-3) var(--space-4);font-family:var(--font-display);font-size:1.125rem;transform:translateY(12px);opacity:0;transition:transform .3s ease,opacity .3s ease}.archived-section.open li{transform:none;opacity:1}.archived-more{display:block;margin:var(--space-3) auto 0;min-height:44px;background:none;border:none;color:var(--color-text);font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:3px;cursor:pointer}@media (prefers-reduced-motion: reduce){.archived-body,.archived-chevron,.archived-section li{transition:none}}:root[data-motion=reduced] :is(.archived-body,.archived-chevron,.archived-section li){transition:none}.up-next{border-top:1px solid var(--color-border-soft);padding-top:var(--space-4);margin-bottom:var(--space-4)}.up-next-title{margin:0;font-family:var(--font-display);font-size:1.25rem;font-weight:700}.up-next-sub{margin:4px 0 var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm)}.up-next-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.up-next-row{display:flex;align-items:center;gap:var(--space-2);background:var(--color-surface);border:1px dashed var(--color-border);border-radius:14px;padding:var(--space-2) var(--space-3)}.up-next-open{flex:1;min-width:0;min-height:44px;display:flex;align-items:center;gap:var(--space-3);background:none;border:none;padding:0;color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.up-next-pause{font-size:1.2rem;opacity:.6}.up-next-text{display:flex;flex-direction:column;min-width:0}.up-next-text strong{font-family:var(--font-display);font-size:1.05rem;overflow-wrap:anywhere;line-height:1.2}.up-next-text small{color:var(--color-text-muted);font-size:var(--text-xs)}.up-next-start{flex:none;white-space:nowrap}.is-paused,.is-swapped{position:relative}.is-paused>:not(.paused-start):not(.paused-tag){opacity:.45;filter:grayscale(.8)}.paused-start{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;white-space:nowrap;box-shadow:0 2px 8px #0000002e}.paused-tag{position:absolute;top:-11px;left:50%;transform:translate(-50%);white-space:nowrap;box-shadow:0 1px 4px #0000001f;z-index:3;padding:2px 8px;border-radius:999px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text);font-size:var(--text-xs);font-weight:700}.started-label{display:block;font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.settings-panel.pacing-note{gap:var(--space-3)}.pacing-note h2{margin:0;font-size:1.3rem}.pacing-note p{margin:0;line-height:1.5}.pacing-note-hide{display:flex;gap:var(--space-2);align-items:center;font-size:var(--text-sm);cursor:pointer}.pacing-note-hide input{width:20px;height:20px;margin:0}.empty-state{text-align:center;padding:4rem var(--space-6);background:transparent;border:1px dashed var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;gap:var(--space-3);align-items:center}.empty-state p{margin:0;font-size:var(--text-md);color:var(--color-text-muted);line-height:1.6;max-width:38ch}.empty-state p:first-child{font-family:var(--font-display);font-size:1.5rem;color:var(--color-text)}.study-page{align-items:stretch}.save-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;background:var(--color-accent-soft);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);animation:fade-in .26s ease both}.study-header{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.study-header h1{flex:1;font-size:var(--text-lg)}.scope-toggle{display:inline-flex;gap:2px;background:var(--color-pill);border:none;border-radius:var(--radius-pill);padding:3px}.scope-toggle button{padding:.4375rem .875rem;border-radius:var(--radius-pill);font-size:var(--text-sm);color:var(--color-text-muted);transition:background .14s ease;white-space:nowrap}.scope-toggle button.active{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-pill)}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.button.grade{flex:1;min-width:0;padding:var(--space-4);border-radius:14px;font-size:var(--text-md)}.button.got-it{background:var(--color-accent);color:var(--color-accent-contrast)}.button.review-again{background:var(--color-surface);border-color:var(--color-border);color:var(--color-text);order:-1}.button.review-again:hover:not(:disabled){border-color:var(--color-border-strong);filter:none}.form{display:flex;flex-direction:column;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-5)}.form label{display:flex;flex-direction:column;gap:.375rem;font-size:var(--text-sm);font-weight:400;color:var(--color-text-muted)}.form input,.form textarea,.form select,.import-col select{font:inherit;font-size:1rem;color:var(--color-text);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:10px;padding:var(--space-3) .875rem}.form textarea{line-height:1.5;resize:vertical}.form input:focus,.form textarea:focus,.form select:focus,.import-col select:focus{outline:none;border-color:var(--color-accent)}.draft-card{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3)}.draft-card.discarded{opacity:.55;background:transparent}.draft-head{display:flex;justify-content:flex-end}.draft-keep{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer}.draft-keep input{width:1rem;height:1rem;accent-color:var(--color-accent)}.draft-fields{background:transparent;border:none;padding:0}.draft-discarded-note{margin:0;text-decoration:line-through}.photo-preview{display:flex;flex-direction:column;gap:var(--space-3)}.photo-preview img{max-width:100%;max-height:220px;object-fit:contain;align-self:center;border-radius:var(--radius-md);border:1px solid var(--color-border)}.photo-preview-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;font-size:var(--text-sm)}.revise-bar{display:flex;gap:var(--space-2)}.revise-bar input{flex:1;min-width:0;font:inherit;font-size:var(--text-md);color:var(--color-text);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:var(--space-2) var(--space-4)}.revise-bar input:focus{outline:none;border-color:var(--color-accent)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay);display:flex;align-items:flex-start;justify-content:flex-end;z-index:50;overscroll-behavior:contain}.overlay.centered{align-items:center;justify-content:center}.share-dialog{width:min(24rem,calc(100vw - 2 * var(--space-4)))}.share-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);font-size:var(--text-md)}.switch{position:relative;flex-shrink:0;width:2.75rem;height:1.625rem;border-radius:var(--radius-pill);background:var(--color-track);border:1px solid var(--color-border);transition:background .16s ease,border-color .16s ease}.switch[aria-checked=true]{background:var(--color-accent);border-color:transparent}.switch-knob{position:absolute;top:2px;left:2px;width:1.25rem;height:1.25rem;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .16s ease}.switch[aria-checked=true] .switch-knob{transform:translate(1.125rem)}.share-link-row{display:flex;gap:var(--space-2)}.share-link-row input{flex:1;min-width:0;font:inherit;font-size:var(--text-sm);color:var(--color-text-muted);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:10px;padding:var(--space-2) var(--space-3)}.share-hint{margin:0;font-size:var(--text-sm);line-height:1.55;color:var(--color-text-muted)}.share-field{display:flex;flex-direction:column;gap:.375rem;font-size:var(--text-sm);color:var(--color-text-muted)}.share-field select,.share-field input{font:inherit;font-size:1rem;color:var(--color-text);background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:10px;padding:var(--space-3) .875rem}.share-field select:focus,.share-field input:focus{outline:none;border-color:var(--color-accent)}.save-banner-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.switch-row{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) 0;cursor:pointer}.switch-row input{margin-top:.3rem;width:1.25rem;height:1.25rem;accent-color:var(--color-accent);flex:none}.switch-row strong,.switch-row small{display:block}.switch-row small{color:var(--color-text-muted);font-size:var(--text-sm)}.look-picker{display:grid;gap:var(--space-2)}.look-option{all:unset;box-sizing:border-box;cursor:pointer;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.look-option strong,.look-option small{display:block}.look-option small{color:var(--color-text-muted);font-size:var(--text-sm)}.look-option.selected{border-color:var(--color-accent);background:var(--color-accent-soft)}.look-option:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.look-option-art{position:relative;width:56px;display:grid;place-items:center;flex:none}.look-option.locked{cursor:default}.look-option.locked .look-option-art .mascot{opacity:.35;filter:grayscale(1)}.look-lock{position:absolute;right:-2px;bottom:-2px;font-size:18px}.look-progress{display:block;height:6px;margin:6px 0 2px;border-radius:3px;background:#0000001a;overflow:hidden}.look-progress>span{display:block;height:100%;border-radius:3px;background:var(--color-accent, #1f1f47)}.look-progress-text{font-weight:600}.theme-prizes .badge-card.locked .mascot{opacity:.35;filter:grayscale(1)}.chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border-soft);border-radius:var(--radius-pill);font-size:var(--text-sm);background:var(--color-accent-soft)}.share-choice{background:var(--color-accent-soft);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);padding:var(--space-4);font-size:var(--text-sm);animation:fade-in .26s ease both}.share-choice-title{margin:0 0 var(--space-3);font-weight:600}.share-choice-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:var(--space-4)}.share-choice-option p{margin:var(--space-2) 0 0}.visitor-prompt{text-align:center;margin:var(--space-4) 0 0}.settings-panel{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);margin:var(--space-4);padding:var(--space-5);width:min(20rem,calc(100vw - 2 * var(--space-4)));display:flex;flex-direction:column;gap:var(--space-5);box-shadow:var(--shadow-card);box-sizing:border-box;max-height:calc(100dvh - 2 * var(--space-4));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.settings-page{width:100%;max-width:560px;margin:0 auto;padding:22px 18px 110px;box-sizing:border-box;display:flex;flex-direction:column;gap:18px}.settings-panel.settings-card{width:100%;margin:0;max-height:none;overflow:visible}@media (min-width: 900px){.settings-page{padding-top:0;padding-bottom:60px}}html:has(.overlay,.meet-overlay),body:has(.overlay,.meet-overlay){overflow:hidden}.settings-header{display:flex;align-items:center;justify-content:space-between}.error-bar{position:fixed;bottom:var(--space-4);left:50%;transform:translate(-50%);background:var(--color-surface);border:1px solid var(--color-warn);color:var(--color-text);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);display:flex;align-items:center;gap:var(--space-3);box-shadow:var(--shadow-card);max-width:calc(100vw - 2 * var(--space-4));font-size:var(--text-sm)}.import-page h2{font-family:var(--font-display);font-size:var(--text-lg);margin:0 0 var(--space-2)}.import-template{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-4);margin:var(--space-4) 0}.import-template>div{flex:1;min-width:14rem}.import-template p{margin:var(--space-1) 0 0}.import-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);text-align:center;min-height:9rem;padding:var(--space-5) var(--space-4);border:2px dashed var(--color-border-strong);border-radius:var(--radius-lg);background:var(--color-surface);cursor:pointer;transition:background .14s ease,border-color .14s ease}.import-drop:hover,.import-drop.dragging{background:var(--color-accent-soft);border-color:var(--color-accent)}.import-drop:focus-within{outline:3px solid var(--color-accent);outline-offset:2px}.import-drop-icon{font-size:2rem;line-height:1}.import-or{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-5) 0 var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm)}.import-or:before,.import-or:after{content:"";flex:1;border-top:1px solid var(--color-border-soft)}.import-columns{background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-4);margin:var(--space-4) 0}.import-header-toggle{margin-bottom:var(--space-3)}.import-col-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(13rem,100%),1fr));gap:var(--space-3)}.import-col{display:flex;flex-direction:column;gap:var(--space-1);min-width:0}.import-col-name{font-weight:600;font-size:var(--text-sm)}.import-col-name em{font-style:normal;font-weight:400;color:var(--color-text-muted)}.import-col-sample{font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import-cards{list-style:none;margin:var(--space-4) 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.import-card{flex-direction:row;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.import-card .draft-keep{padding-top:2px}.import-card-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;overflow-wrap:anywhere}.import-q{font-weight:700}.import-a{white-space:pre-line}.import-note{font-size:var(--text-sm)}.import-actions{position:sticky;bottom:0;background:var(--color-bg);padding:var(--space-3) 0 var(--space-4);z-index:2}.new-deck-page h2{font-family:var(--font-display);font-size:var(--text-lg);margin:0}.nd-section{margin-top:var(--space-5)}.nd-lead{margin:var(--space-1) 0 var(--space-3)}.nd-options{list-style:none;margin:var(--space-3) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.nd-option{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-2) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:var(--space-4)}.nd-icon{font-size:1.6rem;line-height:1}.nd-text{min-width:0}.nd-text p{margin:2px 0 0;font-size:var(--text-sm)}.nd-option-more{grid-column:1 / -1}@media (max-width: 520px){.nd-option{grid-template-columns:auto 1fr}.nd-option>.button{grid-column:1 / -1;justify-self:start}}.ai-prompt-box{display:flex;flex-direction:column;gap:var(--space-3);border-top:1px dashed var(--color-border-soft);padding-top:var(--space-3);margin-top:var(--space-1)}.ai-steps{margin:0;padding-left:1.25rem;display:flex;flex-direction:column;gap:var(--space-2);font-size:var(--text-sm)}.ai-prompt-details summary{cursor:pointer;font-size:var(--text-sm);color:var(--color-text-muted)}.ai-prompt-text{white-space:pre-wrap;font-size:var(--text-xs);line-height:1.5;max-height:16rem;overflow:auto;background:var(--color-surface-raised);border:1px solid var(--color-border-soft);border-radius:10px;padding:var(--space-3);margin:var(--space-2) 0 0}.nd-host{display:flex;align-items:flex-end;gap:var(--space-2)}.nd-host-mascot{flex:none;margin-bottom:-6px}.nd-host h2{padding-bottom:var(--space-3)}.tour{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;pointer-events:none}.tour-block{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:auto}.tour-spot{position:fixed;border-radius:18px;box-shadow:0 0 0 9999px #0000008c;outline:3px solid var(--color-accent);outline-offset:2px;transition:top .3s ease,left .3s ease,width .3s ease,height .3s ease;pointer-events:none}.tour-bubble{position:fixed;box-sizing:border-box;display:flex;gap:var(--space-3);align-items:flex-start;background:var(--color-surface);color:var(--color-text);border:2px solid var(--color-border-strong);border-radius:20px;box-shadow:0 10px 30px #0000004d;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-3);pointer-events:auto;animation:tour-in .25s ease both}.tour-arrow{position:absolute;width:16px;height:16px;margin-left:-8px;background:var(--color-surface);border:2px solid var(--color-border-strong);transform:rotate(45deg)}.tour-bubble.below .tour-arrow{top:-10px;border-right:none;border-bottom:none}.tour-bubble.above .tour-arrow{bottom:-10px;border-left:none;border-top:none}.tour-host{flex:none;margin:-4px 0 -6px}.tour-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.tour-who{font-size:var(--text-xs);font-weight:700;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.tour-title{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.15}.tour-text{margin:0;font-size:var(--text-sm);line-height:1.45}.tour-foot{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-2)}.tour-count{font-size:var(--text-xs);color:var(--color-text-muted);margin-right:auto}.tour-skip{background:none;border:none;font:inherit;font-size:var(--text-sm);color:var(--color-text-muted);text-decoration:underline;cursor:pointer;padding:8px 4px;min-height:40px}.tour-tips .tour-foot{justify-content:flex-end}@keyframes tour-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.tour-bubble{animation:none}.tour-spot{transition:none}}:root[data-motion=reduced] .tour-bubble{animation:none}:root[data-motion=reduced] .tour-spot{transition:none}.intro-guide{position:absolute;left:14px;top:58px;z-index:3;display:flex;align-items:flex-start;gap:4px;pointer-events:none}.intro-guide-bubble{margin-top:6px;background:#fff;color:#1b1b2f;border-radius:14px;padding:6px 10px;font-size:14px;font-weight:700;box-shadow:0 3px #0000002e;white-space:nowrap}.intro-guide-bubble b{font-weight:800}.gem-card,.hop-card,.arc-card,.idx-card{touch-action:pan-y}.boxes-explain{background:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-tile);padding:var(--space-4);margin:var(--space-3) 0 var(--space-4)}.boxes-explain p{margin:var(--space-2) 0 0;line-height:1.5}.box-rows,.box-cards{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.box-row{width:100%;display:flex;align-items:center;gap:var(--space-3);min-height:60px;padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-tile);font:inherit;color:inherit;text-align:left;cursor:pointer}.box-row:hover{border-color:var(--color-border-strong)}.box-chip{width:14px;align-self:stretch;border-radius:3px;flex:none}.box-chip.new{background:repeating-linear-gradient(45deg,var(--color-border-soft) 0 4px,transparent 4px 8px);border:1px solid var(--color-border)}.box-row-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.box-row-text small,.box-row-side small{color:var(--color-text-muted);font-size:var(--text-sm)}.box-row-side{display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.box-row-count{font-family:var(--font-display);font-weight:700;font-size:1.4rem;line-height:1}.box-card{width:100%;text-align:left;font:inherit;color:inherit;border:0;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:var(--space-3) var(--space-4);background:var(--color-surface);border-radius:var(--radius-md);box-shadow:var(--shadow-tile)}.box-card-deck{font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.box-card-front{font-weight:600;overflow-wrap:anywhere}.box-card-when{font-size:var(--text-sm);color:var(--color-text-muted)}.box-card-when.now{color:var(--color-warn);font-weight:700}.settings-note{margin:0 0 var(--space-3);font-size:var(--text-sm);line-height:1.45}.boxes-howto{color:var(--color-text)}.boxes-howto p{margin:0 0 var(--space-2)}.boxes-howto ul{margin:0 0 var(--space-2);padding-left:1.1rem;display:flex;flex-direction:column;gap:4px}.boxes-schedule{list-style:none;margin:0 0 var(--space-2);padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:4px 12px}.boxes-schedule li{white-space:nowrap}.boxes-explain .boxes-howto{margin-top:var(--space-2)}.boxes-explain .boxes-howto>:last-child{margin-bottom:0}.boxes-all-link{display:inline-flex;align-items:center;min-height:44px;padding:0;margin-top:var(--space-1);background:none;border:none;font:inherit;font-weight:600;color:var(--color-text);text-decoration:underline;text-underline-offset:4px;cursor:pointer}.peek{position:relative;width:min(26rem,calc(100vw - 2 * var(--space-4)));display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.peek-close{align-self:flex-end;width:44px;height:44px;border-radius:50%;border:0;background:var(--color-surface);color:var(--color-text);font-size:1.8rem;line-height:1;cursor:pointer;box-shadow:var(--shadow-tile)}.peek-card{width:100%;min-height:15rem;max-height:65dvh;overflow-y:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-6) var(--space-4);border:0;border-radius:var(--radius-lg, 16px);background:var(--color-surface);color:var(--color-text);font:inherit;text-align:center;cursor:pointer;box-shadow:var(--shadow-tile);touch-action:pan-y;animation:peek-flip .28s ease-out}.peek-card.is-back{outline:3px solid var(--box-3, currentColor);outline-offset:-3px}.peek-side{font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-muted)}.peek-text{font-size:1.4rem;font-weight:700;line-height:1.3;white-space:pre-wrap;overflow-wrap:anywhere}.peek-sub{color:var(--color-text-muted);white-space:pre-wrap;overflow-wrap:anywhere}.peek-hint{margin:0;color:#fff;font-size:var(--text-sm);text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.5)}@keyframes peek-flip{0%{transform:perspective(800px) rotateY(-90deg)}to{transform:none}}@media (prefers-reduced-motion: reduce){.peek-card{animation:none}}html[data-motion=reduced] .peek-card{animation:none}.install-nudge{position:fixed;left:12px;right:12px;bottom:calc(84px + env(safe-area-inset-bottom,0px));z-index:45;max-width:440px;margin:0 auto;display:flex;gap:10px;align-items:flex-start;padding:14px 14px 10px;background:var(--color-surface);color:var(--color-text);border-radius:var(--radius-lg);box-shadow:0 10px 30px #0000002e;animation:fade-in .25s ease both}@media (min-width: 900px){.install-nudge{bottom:24px}}.install-nudge-host{flex:none;margin-top:-4px}.install-nudge-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.install-nudge-body strong{font-family:var(--font-display);font-size:1.05rem;line-height:1.25}.install-note{margin:0;font-size:var(--text-sm);line-height:1.45;color:var(--color-text-muted)}.install-steps{margin:2px 0 0;padding-left:1.2rem;display:flex;flex-direction:column;gap:6px;font-size:var(--text-sm);line-height:1.45}.install-share{vertical-align:-3px;margin:0 2px}.install-btn{align-self:flex-start}.install-later{align-self:flex-end;min-height:44px;padding:0 8px;background:transparent;border:0;color:var(--color-text-muted);font:inherit;font-size:var(--text-sm);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.switch-row.is-disabled{opacity:.55;cursor:default}.reminder-time{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-2) 0 0 calc(1.25rem + var(--space-3));font-size:var(--text-sm)}.reminder-time select{min-height:44px}.reminder-problem{color:var(--color-warn);margin-top:var(--space-2)}.admin-page .back-link{align-self:flex-start}.admin-note{margin:0;padding:10px 14px;border-radius:var(--radius-md);background:var(--color-surface);box-shadow:var(--shadow-card);font-size:var(--text-sm)}.admin-stats{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-stats li{display:flex;flex-direction:column;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-bg)}.admin-stats b{font-family:var(--font-display);font-size:1.6rem;line-height:1.1}.admin-stats span{font-size:var(--text-sm);color:var(--color-text-muted)}.admin-h4{margin:14px 0 6px;font-size:var(--text-sm)}.admin-top{margin:0;padding-left:1.3rem;font-size:var(--text-sm);display:flex;flex-direction:column;gap:4px}.admin-top .muted{font-size:inherit}.admin-search{width:100%;box-sizing:border-box;min-height:44px;margin-bottom:10px}.admin-people,.admin-decks{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.admin-person{padding:12px 0;border-top:1px solid var(--color-border-soft, rgb(0 0 0 / .08))}.admin-person:first-child{border-top:0;padding-top:0}.admin-person-head{display:flex;flex-direction:column}.admin-person-head small{color:var(--color-text-muted);overflow-wrap:anywhere}.admin-you{font-weight:400;color:var(--color-text-muted)}.admin-person-facts{margin:6px 0 4px;font-size:var(--text-sm);line-height:1.5;color:var(--color-text-muted)}.admin-switches .switch-row{padding:4px 0}.admin-lines{margin-top:12px;font-size:var(--text-sm)}.admin-lines summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-weight:600}.admin-lines ul{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:4px}.unlock{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;overflow:hidden;display:flex;align-items:center;justify-content:center;padding:24px 20px calc(24px + env(safe-area-inset-bottom,0px));box-sizing:border-box;text-align:center;animation:fade-in .3s ease both}.unlock-rays{position:absolute;left:50%;top:42%;width:900px;height:900px;margin:-450px 0 0 -450px;background:repeating-conic-gradient(var(--unlock-ray) 0 10deg,transparent 10deg 20deg);border-radius:50%;-webkit-mask-image:radial-gradient(circle,#000 20%,transparent 65%);mask-image:radial-gradient(circle,#000 20%,transparent 65%);animation:fx-rot 40s linear infinite}.unlock-confetti{position:absolute;top:-30px;width:12px;height:16px;border-radius:3px;animation:fx-fall 3.4s linear infinite}.unlock-body{position:relative;z-index:1;width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:8px;animation:pop-in .5s cubic-bezier(.3,1.5,.5,1) both}.unlock-kicker{margin:0;font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:14px}.unlock-title{margin:0;font-size:46px;line-height:1.05}.unlock-why{margin:0;font-size:17px;font-weight:600}.unlock-crew{display:flex;align-items:flex-end;justify-content:center;gap:4px;margin:10px 0 4px}.unlock-side{animation:unlock-bounce 1.6s ease-in-out infinite}.unlock-side:last-child{animation-delay:-.8s}.unlock-host{animation:unlock-bounce 1.2s ease-in-out infinite}@keyframes unlock-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.unlock-tagline{margin:0 0 8px;font-size:15px;line-height:1.4;opacity:.85}.unlock-actions{width:100%;display:flex;flex-direction:column;gap:6px}.unlock-try{width:100%;min-height:56px;border:0;font:inherit;font-size:19px;font-weight:800;cursor:pointer}.unlock-later{min-height:44px;border:0;background:transparent;font:inherit;font-size:15px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;color:inherit;opacity:.8}.unlock-hop-quest{--unlock-ray: rgb(255 210 63 / .55);background:linear-gradient(#8ed8fb 0,#8ed8fb 62%,#7ed957 62%,#7ed957);color:#23233f;font-family:Nunito Variable,Nunito,sans-serif}.unlock-hop-quest .unlock-title{font-family:Lilita One,sans-serif;font-weight:400;color:#fff;-webkit-text-stroke:2px #23233F;paint-order:stroke fill;text-shadow:0 4px 0 #23233F}.unlock-hop-quest .unlock-try{background:#ffd23f;color:#23233f;border:3px solid #23233F;border-radius:18px;box-shadow:0 6px #23233f;font-family:Lilita One,sans-serif;font-weight:400}.unlock-hop-quest .unlock-try:active{transform:translateY(6px);box-shadow:none}.unlock-night-arcade{--unlock-ray: rgb(255 79 184 / .22);background:radial-gradient(circle at 50% 35%,#2a1f5c,#14112b 70%);color:#ede9ff;font-family:Atkinson Hyperlegible,sans-serif}.unlock-night-arcade .unlock-confetti{width:10px;height:10px;border-radius:0;animation-timing-function:steps(24)}.unlock-night-arcade .unlock-kicker{font-family:Silkscreen,monospace;font-weight:400;color:#3be8ff;text-shadow:0 0 10px rgb(59 232 255 / .7)}.unlock-night-arcade .unlock-title{font-family:Bungee,sans-serif;font-weight:400;font-size:40px;color:#ff4fb8;text-shadow:0 0 16px rgb(255 79 184 / .7);text-transform:uppercase}.unlock-night-arcade .unlock-try{background:#3be8ff;color:#14112b;border-radius:14px;box-shadow:inset 0 -5px #00000040,0 0 18px #3be8ff8c;font-family:Bungee,sans-serif;font-weight:400;text-transform:uppercase}.unlock-gem-crew{--unlock-ray: rgb(255 255 255 / .7);background:radial-gradient(circle at 50% 35%,#fff,#efe9ff 55%,#dcd0ff);color:#3b2a7a;font-family:Lexend Variable,Lexend,sans-serif}.unlock-gem-crew .unlock-confetti{width:13px;height:13px;border-radius:2px;transform:rotate(45deg)}.unlock-gem-crew .unlock-title{font-family:Fredoka Variable,Fredoka,sans-serif;font-weight:700;color:#7b5cff}.unlock-gem-crew .unlock-try{background:#7b5cff;color:#fff;border-radius:999px;box-shadow:0 6px #5a3fd6;font-family:Fredoka Variable,Fredoka,sans-serif;font-weight:700;transition:transform .12s}.unlock-gem-crew .unlock-try:active{transform:scale(1.06,.92)}@media (prefers-reduced-motion: reduce){.unlock-rays,.unlock-side,.unlock-host{animation:none}.unlock-confetti{animation:none;top:var(--y);opacity:.7}}:root[data-motion=reduced] :is(.unlock-rays,.unlock-side,.unlock-host){animation:none}:root[data-motion=reduced] .unlock-confetti{animation:none;top:var(--y);opacity:.7}.card-picture{display:flex;justify-content:center;width:100%;flex:none}.card-picture img{display:block;max-width:100%;max-height:min(34dvh,300px);object-fit:contain;border-radius:10px;box-shadow:0 1px 3px #00000026;background:#fff;-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.card-picture-wait{display:block;width:min(60%,220px);aspect-ratio:4 / 3;border-radius:10px;background:#0000000f}.card-picture:only-child img,.card-picture.solo img{max-height:min(48dvh,420px)}.idx-pic{margin-bottom:8px}.idx-pic img{border-radius:2px;box-shadow:0 1px 2px #1f1f4733}.hop-pic img{border:3px solid var(--ink, #23233F);border-radius:16px}.arc-pic img{border:3px solid var(--cyan, #3BE8FF);border-radius:8px;box-shadow:0 0 14px #3be8ff59;image-rendering:auto}.gem-pic img{border-radius:20px}.idx-pic-back,.hop-pic-back,.arc-pic-back,.gem-pic-back{margin-bottom:10px}.picture-picker{display:flex;flex-direction:column;gap:6px}.picture-picker-label{font-weight:600}.picture-picker-add{align-self:flex-start}.picture-picker-chosen{display:flex;align-items:center;gap:12px}.picture-picker-chosen img{width:96px;height:96px;object-fit:cover;border-radius:10px;box-shadow:0 1px 3px #0003}.picture-picker-actions{display:flex;flex-direction:column;gap:6px}.picture-picker-note{font-size:var(--text-sm);line-height:1.4}.box-card-pic{justify-content:flex-start}.box-card-pic img{width:64px;height:64px;object-fit:cover;border-radius:8px}.peek-pic img{max-height:min(40dvh,340px)}.card-picture.is-thumb img{max-height:110px;max-width:60%}.idx-back-text.is-short,.hop-body-text.is-short,.arc-body-text.is-short,.gem-body-text.is-short{display:block;text-align:center;font-size:2rem;line-height:1.2;font-weight:700}.idx-back-body:has(.card-picture),.idx-front-body:has(.card-picture){flex-direction:column;align-items:center;justify-content:center}.hop-pic,.arc-pic,.gem-pic{flex:1 1 auto;align-items:center;min-height:0}.hop-pic.is-thumb,.arc-pic.is-thumb,.gem-pic.is-thumb{flex:none}.hop-body:has(.card-picture),.arc-body:has(.card-picture),.gem-body:has(.card-picture){flex-direction:column;align-items:center;justify-content:center;gap:10px}.rotate-notice{display:none}@media (orientation: landscape) and (max-height: 500px) and (pointer: coarse){.rotate-notice{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;gap:20px;padding:24px;background:var(--color-bg);color:var(--color-text);text-align:left}.rotate-notice p{margin:0;display:flex;flex-direction:column;gap:4px}.rotate-notice b{font-family:var(--font-display);font-size:1.4rem}.rotate-notice span{color:var(--color-text-muted)}html,body{overflow:hidden}}.picture-picker-existing{width:auto;justify-content:flex-start}.picture-picker-existing img{width:96px;height:96px;object-fit:cover;border-radius:10px}.edit-cards-page{padding-bottom:120px}.edit-cards-lead{margin-top:-4px}.edit-cards-tools{display:flex;gap:var(--space-3);align-items:center;flex-wrap:wrap;margin:var(--space-3) 0}.edit-cards-search{flex:1;min-width:160px;min-height:44px}.edit-cards-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.edit-card{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3) var(--space-4) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:14px}.edit-card.dirty{border-color:var(--color-accent, #1f1f47);box-shadow:0 0 0 1px var(--color-accent, #1f1f47)}.edit-card.has-error{border-color:var(--color-warn);box-shadow:0 0 0 1px var(--color-warn)}.edit-card label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:var(--text-sm)}.edit-card textarea,.edit-card input{font:inherit;font-weight:400;font-size:var(--text-md)}.edit-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.edit-card-num{font-weight:700;font-size:var(--text-sm);color:var(--color-text-muted)}.edit-card-changed{color:var(--color-text)}.edit-card-delete,.edit-card-more{min-height:44px;padding:0 4px;background:none;border:none;font:inherit;font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer}.edit-card-delete:hover{color:var(--color-warn)}.edit-card-more{align-self:flex-start;text-decoration:underline;text-underline-offset:3px;color:var(--color-text)}.edit-card-extra{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-2);border-top:1px dashed var(--color-border-soft)}.edit-cards-note{margin:var(--space-4) 0 0;text-align:center;font-weight:600}.edit-cards-bar{position:fixed;left:12px;right:12px;bottom:calc(14px + env(safe-area-inset-bottom,0px));z-index:45;max-width:560px;margin:0 auto;display:flex;align-items:center;gap:var(--space-3);padding:10px 12px 10px 16px;background:var(--color-surface);color:var(--color-text);border-radius:16px;box-shadow:0 10px 30px #0003;animation:fade-in .2s ease both}.edit-cards-bar span{flex:1;font-weight:600}.admin-legend{margin:0 0 var(--space-2);padding-left:1.1rem;font-size:var(--text-sm);line-height:1.45;display:flex;flex-direction:column;gap:4px}.admin-deck-row{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-top:1px solid var(--color-border-soft, rgb(0 0 0 / .08))}.admin-deck-row:first-child{border-top:0}.admin-deck-row>span{display:flex;flex-direction:column}.admin-deck-row small{color:var(--color-text-muted)}.admin-deck-row select{min-height:44px}.admin-owner{font-weight:600}.photo-deck-page{padding-bottom:60px}.photo-deck-into,.photo-deck-privacy{margin:0}.photo-deck-list{list-style:none;margin:var(--space-4) 0 var(--space-3);padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.photo-deck-list li{display:flex;align-items:center;gap:var(--space-3);padding:8px;background:var(--color-surface);border:1px solid var(--color-border-soft);border-radius:14px}.photo-deck-list li.needs-name{border-color:var(--color-warn);box-shadow:0 0 0 1px var(--color-warn)}.photo-deck-list img{width:76px;height:76px;flex:none;object-fit:cover;border-radius:10px}.photo-deck-list label{flex:1;min-width:0}.photo-deck-list input{width:100%;box-sizing:border-box;min-height:44px;font:inherit;font-size:var(--text-md)}.photo-deck-remove{flex:none;width:44px;height:44px;border:none;background:none;font-size:1.6rem;line-height:1;color:var(--color-text-muted);cursor:pointer}.photo-deck-add{display:block;width:100%;min-height:52px;margin:var(--space-3) 0}.photo-deck-save{align-items:center}.import-pics{display:flex;gap:6px;flex:none}.import-pic img{width:56px;height:56px;object-fit:cover;border-radius:8px}.new-cards-setting .settings-note{margin-top:var(--space-2)}
