.home{min-height:100dvh;background:var(--bg,#09090b);color:var(--text,#fafafa);font:15px/1.5 ui-sans-serif,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased;padding:calc(16px + env(safe-area-inset-top,0px)) 20px calc(28px + env(safe-area-inset-bottom,0px));max-width:480px;margin:0 auto}.home-top{gap:10px;margin-bottom:20px}.home-brand,.home-top{display:flex;align-items:center}.home-brand{gap:8px;font-weight:650;font-size:15px;letter-spacing:-.02em;text-decoration:none;color:inherit}.home-brand span{color:#22c55e}.home-mark{width:22px;height:22px;border-radius:6px;background:#22c55e;color:#052e16;display:grid;place-items:center}.home-mark svg{width:13px;height:13px}.home-meters{margin-left:auto;display:flex;gap:6px;align-items:center}.meter{display:inline-flex;align-items:center;gap:4px;padding:5px 9px;border-radius:999px;border:1px solid #27272a;background:#111113;font-size:12px;font-weight:600;color:#a1a1aa}.meter svg{width:13px;height:13px}.meter b{color:#fafafa;font-weight:650}.meter.xp svg{color:#22c55e}.meter.streak svg{color:#eab308}.hero-card{border:1px solid #27272a;border-radius:16px;background:#111113;padding:20px;margin-bottom:18px}.hero-card .eyebrow{font-size:11px;font-weight:600;color:#71717a;letter-spacing:.04em;text-transform:uppercase;margin:0 0 8px}.hero-card h1{margin:0 0 6px;font-size:24px;font-weight:650;letter-spacing:-.03em;line-height:1.15}.hero-card h1 em{font-style:normal;color:#22c55e}.hero-card .teaser{margin:0 0 16px;font-size:13px;color:#a1a1aa;line-height:1.45}.hero-card .cta{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;background:#22c55e;color:#052e16;font-weight:600;font-size:14px;border-radius:10px;text-decoration:none;border:0;width:100%}.hero-card .cta svg{width:16px;height:16px}.hero-meta{display:flex;gap:12px;margin-top:12px;font-size:12px;color:#71717a;flex-wrap:wrap}.hero-meta b{color:#a1a1aa;font-weight:600}.sec{margin:22px 0 10px;display:flex;align-items:center;justify-content:space-between}.sec h2{margin:0;font-size:13px;font-weight:600;color:#a1a1aa;letter-spacing:.02em}.sec a{font-size:12px;color:#22c55e;text-decoration:none;font-weight:500}.ops{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.ops::-webkit-scrollbar{display:none}.op-node{flex:0 0 auto;width:88px;padding:12px 10px;border-radius:12px;border:1px solid #27272a;background:#111113;text-align:center;text-decoration:none;color:inherit;transition:border-color .15s}.op-node.today{border-color:#22c55e;background:rgba(34,197,94,.06)}.op-node.cleared{border-color:#3f3f46}.op-node .ic{width:28px;height:28px;margin:0 auto 8px;border-radius:8px;background:#18181b;display:grid;place-items:center;color:#71717a}.op-node.today .ic{color:#22c55e;background:rgba(34,197,94,.12)}.op-node.cleared .ic{color:#22c55e}.op-node .ic svg{width:15px;height:15px}.op-node .name{font-size:11px;font-weight:600;line-height:1.25;color:#fafafa}.op-node .st{font-size:10px;color:#71717a;margin-top:4px}.drill-list{display:flex;flex-direction:column;gap:8px}.drill-row{display:flex;align-items:center;gap:12px;padding:14px;border-radius:12px;border:1px solid #27272a;background:#111113;text-decoration:none;color:inherit}.drill-row .ic{width:36px;height:36px;border-radius:10px;background:#18181b;display:grid;place-items:center;color:#22c55e;flex-shrink:0}.drill-row .ic svg{width:18px;height:18px}.drill-row .t{font-size:14px;font-weight:600}.drill-row .b{font-size:12px;color:#71717a;margin-top:2px}.drill-row .done{margin-left:auto;font-size:11px;font-weight:600;color:#22c55e;display:flex;align-items:center;gap:4px}.drill-row .done svg{width:14px;height:14px}.drill-row .go{margin-left:auto;color:#71717a}.drill-row .go svg{width:16px;height:16px}.badges{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.badge{padding:14px 10px;border-radius:12px;border:1px solid #27272a;background:#111113;text-align:center}.badge.off{opacity:.45}.badge .ic{width:32px;height:32px;margin:0 auto 8px;border-radius:999px;border:1px solid #27272a;display:grid;place-items:center;color:#71717a}.badge:not(.off) .ic{color:#22c55e;border-color:rgba(34,197,94,.35);background:rgba(34,197,94,.08)}.badge .ic svg{width:16px;height:16px}.badge .t{font-size:11px;font-weight:600;line-height:1.25}.badge .b{font-size:10px;color:#71717a;margin-top:4px}.home-foot{padding-top:16px;border-top:1px solid #27272a;display:flex;gap:16px;flex-wrap:wrap}.home-foot a{font-size:12px;color:#71717a;text-decoration:none}.home-foot a:hover{color:#a1a1aa}.ob{position:fixed;inset:0;z-index:100;background:#09090b;display:flex;flex-direction:column;padding:calc(24px + env(safe-area-inset-top,0px)) 24px calc(24px + env(safe-area-inset-bottom,0px));max-width:480px;margin:0 auto}.ob-dots{display:flex;gap:6px;justify-content:center;margin-bottom:32px}.ob-dots i{width:6px;height:6px;border-radius:999px;background:#27272a;display:block;font-style:normal}.ob-dots i.on{background:#22c55e;width:16px}.ob-body{flex:1 1;display:flex;flex-direction:column;justify-content:center;text-align:center}.ob-icon{width:56px;height:56px;margin:0 auto 20px;border-radius:14px;background:rgba(34,197,94,.12);color:#22c55e;display:grid;place-items:center}.ob-icon svg{width:28px;height:28px}.ob-body h2{margin:0 0 10px;font-size:26px;font-weight:650;letter-spacing:-.03em}.ob-body p{margin:0 auto;max-width:30ch;font-size:14px;color:#a1a1aa;line-height:1.5}.ob-actions{display:flex;flex-direction:column;gap:8px;margin-top:32px}.ob-actions .btn{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border-radius:10px;font-weight:600;font-size:14px;border:0;cursor:pointer}.ob-actions .btn.primary{background:#22c55e;color:#052e16}.ob-actions .btn.ghost{background:transparent;color:#a1a1aa;border:1px solid #27272a}.drill-shell{min-height:100dvh;background:#09090b;color:#fafafa;max-width:480px;margin:0 auto;padding:calc(12px + env(safe-area-inset-top,0px)) 20px calc(20px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column;font:15px/1.5 ui-sans-serif,system-ui,sans-serif}.drill-top{display:flex;align-items:center;gap:10px;margin-bottom:16px}.drill-top a{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;color:#a1a1aa;text-decoration:none}.drill-top h1{margin:0;font-size:15px;font-weight:600;flex:1 1}.drill-prog{display:flex;gap:4px;margin-bottom:20px}.drill-prog i{flex:1 1;height:3px;border-radius:2px;background:#27272a;display:block;font-style:normal}.drill-prog i.ok,.drill-prog i.on{background:#22c55e}.drill-prog i.bad{background:#ef4444}.drill-q{font-size:18px;font-weight:600;letter-spacing:-.02em;margin:0 0 18px;line-height:1.35}.drill-choices{display:flex;flex-direction:column;gap:8px}.drill-choice{text-align:left;padding:14px 16px;border-radius:12px;border:1px solid #27272a;background:#111113;color:#fafafa;font-size:14px;font-weight:500;cursor:pointer;transition:border-color .15s,background .15s}.drill-choice:disabled{cursor:default}.drill-choice.ok{border-color:#22c55e;background:rgba(34,197,94,.1)}.drill-choice.bad{border-color:#ef4444;background:rgba(239,68,68,.08)}.drill-why{margin-top:12px;font-size:13px;color:#a1a1aa;padding:12px;border-radius:10px;background:#111113;border:1px solid #27272a}.drill-order{display:flex;flex-direction:column;gap:8px}.drill-order button{text-align:left;padding:12px 14px;border-radius:10px;border:1px solid #27272a;background:#111113;color:#fafafa;font-size:13px;display:flex;align-items:center;gap:10px;cursor:pointer}.drill-order button .n{width:22px;height:22px;border-radius:6px;background:#18181b;display:grid;place-items:center;font-size:11px;font-weight:700;color:#71717a;flex-shrink:0}.drill-order button.picked .n{background:#22c55e;color:#052e16}.drill-next{margin-top:auto;padding-top:20px}.drill-next .btn{width:100%;min-height:44px;border:0;border-radius:10px;background:#22c55e;color:#052e16;font-weight:600;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}.drill-next .btn:disabled{opacity:.35;cursor:not-allowed}.drill-next .btn.ghost{background:transparent;border:1px solid #27272a;color:#fafafa;margin-top:8px}.drill-done{text-align:center;padding:40px 8px}.drill-done h2{margin:12px 0 8px;font-size:24px;font-weight:650}.drill-done p{color:#a1a1aa;font-size:14px;margin:0 0 8px}.drill-done .xp{color:#22c55e;font-weight:600;font-size:14px}.ob-char{padding:0 4px}.ob .char-pick h2{font-size:20px}.ob .char-grid{grid-template-columns:1fr 1fr}.home-op{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;border:1px solid #27272a;background:#111113;font-size:12px;font-weight:600;color:#a1a1aa;margin-bottom:14px;text-decoration:none}.home-op b{color:#fafafa}.op-node.locked{opacity:.55}.op-node{border:0;cursor:pointer;font:inherit}.level-map{flex-wrap:wrap}.home-foot{margin-top:28px;text-align:center;font-size:12px;color:#71717a}.pricing .price-h{font-size:24px;font-weight:650;letter-spacing:-.03em;margin:8px 0 6px}.price-sub{color:#a1a1aa;font-size:14px;margin:0 0 20px}.price-grid{display:flex;flex-direction:column;gap:10px}.price-card{border:1px solid #27272a;border-radius:14px;background:#111113;padding:18px}.price-card.hi{border-color:#22c55e;background:rgba(34,197,94,.06)}.price-name{font-size:13px;font-weight:600;color:#a1a1aa}.price-amt{font-size:28px;font-weight:700;letter-spacing:-.03em;margin:6px 0}.price-amt small{font-size:13px;font-weight:500;color:#71717a;margin-left:6px}.price-alt{font-size:12px;color:#22c55e;margin-bottom:10px}.price-card ul{list-style:none;padding:0;margin:0 0 14px}.price-card li{display:flex;align-items:center;gap:8px;font-size:13px;margin:6px 0;color:#fafafa}.price-card li svg{width:14px;height:14px;color:#22c55e;flex-shrink:0}.price-card .btn{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;border:0;background:#22c55e;color:#052e16;font-weight:600;font-size:14px;width:100%;text-decoration:none;cursor:pointer}.price-card:not(.hi) .btn{background:#18181b;color:#fafafa;border:1px solid #27272a}.price-msg{text-align:center;color:#eab308;font-size:13px;margin-top:12px}.hero-meta a{color:#22c55e;text-decoration:none;font-weight:500}.login-form{gap:12px;margin-top:8px}.login-form,.login-form label{display:flex;flex-direction:column}.login-form label{gap:6px;font-size:12px;font-weight:600;color:#a1a1aa}.login-form input{min-height:44px;border-radius:10px;border:1px solid #27272a;background:#111113;color:#fafafa;padding:0 12px;font:inherit}.home,.ob{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.ob-actions .btn{min-height:52px;font-size:16px;transition:transform .08s}.cta:active,.ob-actions .btn:active,.op-node:active{transform:scale(.96)}.flame{display:inline-block;transform-origin:50% 90%;animation:flicker 1.4s ease-in-out infinite}@keyframes flicker{0%,to{transform:rotate(-3deg)}25%{transform:rotate(3deg) translateY(-1px)}50%{transform:rotate(-2deg)}75%{transform:rotate(2deg) translateY(-1px)}}.xpmini{display:inline-block;width:36px;height:4px;border-radius:999px;background:#27272a;overflow:hidden;vertical-align:middle}.xpmini i{display:block;height:100%;background:#22c55e;width:var(--to);animation:xpfill 1s cubic-bezier(.2,.8,.2,1) both}@keyframes xpfill{0%{width:0}to{width:var(--to)}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.tier-tabs{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:8px;gap:8px;margin:4px 0 10px}.tier-tab{min-height:64px;border-radius:14px;border:1px solid #27272a;background:#0c0c0e;color:#fafafa;padding:10px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;cursor:pointer;font:inherit;text-align:left}.tier-tab.on{border-color:#22c55e;background:rgba(34,197,94,.08)}.tier-tab.medium.on{border-color:#eab308;background:rgba(234,179,8,.07)}.tier-tab.hard.on{border-color:#f87171;background:rgba(248,113,113,.07)}.tt-name{font-weight:650;font-size:15px}.tt-prog{font-size:12px;color:#a1a1aa;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tt-bar{width:100%;height:4px;border-radius:999px;background:#27272a;overflow:hidden}.tt-bar i{display:block;height:100%;background:#22c55e}.tier-tab.medium .tt-bar i{background:#eab308}.tier-tab.hard .tt-bar i{background:#f87171}.tier-arc{margin:0 0 10px;font-size:13px;color:#a1a1aa}.tier-arc b{color:#fafafa}.tier-list{display:flex;flex-direction:column;gap:6px;margin-bottom:20px}.tl-row{display:flex;align-items:center;gap:12px;min-height:60px;padding:8px 12px;border-radius:14px;border:1px solid #1f1f23;background:#0c0c0e;color:#fafafa;text-align:left;font:inherit;cursor:pointer}.tl-row:active{transform:scale(.98)}.tl-row.today{border-color:rgba(34,197,94,.5)}.tl-row.locked{opacity:.6}.tl-num{width:32px;height:32px;border-radius:10px;background:#18181b;display:grid;place-items:center;font-weight:700;font-size:13px;color:#a1a1aa;flex-shrink:0}.tl-num svg{width:15px;height:15px}.tl-row.cleared .tl-num{color:#22c55e;background:rgba(34,197,94,.12)}.tl-main{flex:1 1;min-width:0;display:flex;flex-direction:column}.tl-title{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-boss{font-style:normal;font-size:10px;font-weight:800;margin-left:6px;padding:2px 6px;border-radius:999px;background:#fafafa;color:#09090b;vertical-align:2px}.tl-sub{font-size:12px;color:#71717a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-end{font-size:12px;color:#22c55e;flex-shrink:0}.tier-badge,.tl-row.locked .tl-end{color:#a1a1aa}.tier-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:999px;border:1px solid #27272a;text-transform:uppercase;letter-spacing:.04em;margin-left:6px}.tier-badge.easy{color:#22c55e;border-color:rgba(34,197,94,.45)}.tier-badge.medium{color:#eab308;border-color:rgba(234,179,8,.45)}.tier-badge.hard{color:#f87171;border-color:rgba(248,113,113,.45)}.tier-badge.boss{color:#09090b;background:#fafafa;border-color:#fafafa}.cmp-h{font-size:16px;margin:24px 0 8px}.cmp{width:100%;border-collapse:collapse;font-size:13px}.cmp th{font-size:12px;color:#a1a1aa;font-weight:600;text-align:center;padding:8px 4px;border-bottom:1px solid #27272a}.cmp td:first-child,.cmp th:first-child{text-align:left}.cmp td{padding:10px 4px;border-bottom:1px solid #18181b;text-align:center;color:#d4d4d8}.cmp td svg{width:16px;height:16px;color:#22c55e}.cmp .dash{color:#52525b}.tier-tab.legend.on{border-color:#a78bfa;background:rgba(167,139,250,.07)}.tier-tab.legend .tt-bar i{background:#a78bfa}