.robbi{display:block;flex-shrink:0}.robbi-antenna-tip{transform-origin:28px 4px;animation:robbi-antenna-pulse 3.2s ease-in-out infinite}@keyframes robbi-antenna-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.75;transform:scale(1.12)}}.robbi-pose-welcome,.robbi-pose-idle{animation:robbi-float 5s var(--ease-enter, cubic-bezier(.2, .8, .2, 1)) infinite}.robbi-pose-excited{animation:robbi-hop 1.6s var(--ease-enter, cubic-bezier(.2, .8, .2, 1)) infinite}.robbi-pose-sleeping .robbi-antenna-tip{animation:none;opacity:.35}@keyframes robbi-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes robbi-hop{0%,to{transform:translateY(0)}40%{transform:translateY(-4px)}60%{transform:translateY(-2px)}}@media(prefers-reduced-motion:reduce){.robbi,.robbi-antenna-tip{animation:none!important}}.q-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:1px solid transparent;font-family:var(--sans);font-weight:500;letter-spacing:.1px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:transform var(--duration-fast) var(--ease-enter),background var(--duration-fast) var(--ease-smooth),opacity var(--duration-fast) var(--ease-smooth)}.q-btn:active:not(:disabled){transform:scale(.98)}.q-btn:disabled{opacity:.4;cursor:not-allowed}.q-btn-sm{height:36px;padding:0 14px;border-radius:10px;font-size:12px}.q-btn-md{height:48px;padding:0 20px;border-radius:14px;font-size:14px}.q-btn-lg{height:54px;padding:0 24px;border-radius:16px;font-size:15px}.q-btn-primary{background:var(--ink);color:var(--paper)}.q-btn-primary:hover:not(:disabled){background:var(--ink-2)}.q-btn-secondary{background:transparent;color:var(--ink);border-color:var(--line-2)}.q-btn-secondary:hover:not(:disabled){background:var(--paper)}.q-btn-ghost{background:transparent;color:var(--sub)}.q-btn-ghost:hover:not(:disabled){color:var(--ink)}.q-btn-rust{background:var(--rust);color:var(--paper)}.q-btn-rust:hover:not(:disabled){background:var(--rust-hi)}.q-btn-full{width:100%}.q-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;font-family:var(--sans);font-weight:500;letter-spacing:.2px;border:1px solid transparent;white-space:nowrap;transition:background var(--duration-fast) var(--ease-smooth),color var(--duration-fast) var(--ease-smooth),border-color var(--duration-fast) var(--ease-smooth);cursor:inherit}.q-chip-sm{padding:3px 8px;font-size:10px}.q-chip-md{padding:5px 11px;font-size:11px}.q-chip-stone{background:var(--stone);color:var(--ink)}.q-chip-ink{background:var(--ink);color:var(--paper)}.q-chip-ghost{background:transparent;color:var(--sub);border-color:var(--line)}.q-chip-paper{background:var(--paper);color:var(--ink);border-color:var(--line)}button.q-chip{cursor:pointer}button.q-chip:hover{color:var(--ink)}.q-chip-selected.q-chip-stone,.q-chip-selected.q-chip-ghost,.q-chip-selected.q-chip-paper{background:var(--ink);color:var(--paper);border-color:var(--ink)}.q-bar{background:var(--line);border-radius:999px;overflow:hidden;width:100%}.q-bar-fill{height:100%;background:var(--ink);border-radius:999px;transition:width var(--duration-slower) var(--ease-enter)}.q-kicker{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--sub);font-weight:400}.q-kicker-dot:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--ink)}.q-section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.q-section-action{background:transparent;border:none;padding:0;cursor:pointer;font-family:var(--mono);font-size:10px;letter-spacing:.6px;color:var(--sub)}.q-section-action:hover{color:var(--ink)}.q-big-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:6px 22px 0;min-width:0}.q-big-header-body{min-width:0;flex:1;overflow-wrap:anywhere}.q-big-header-title{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.05;letter-spacing:-.4px;color:var(--ink);margin:6px 0 0;overflow-wrap:anywhere}.q-big-header-trailing{flex-shrink:0}.q-kicker{max-width:100%;overflow-wrap:anywhere;min-width:0}.q-robbi-line{display:flex;gap:10px;align-items:flex-start}.q-robbi-bubble{flex:1;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-family:var(--sans);font-size:12.5px;color:var(--ink);line-height:1.5}.q-cat-swatch{border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:var(--serif);letter-spacing:-.2px;flex-shrink:0}.q-cat-ink{background:var(--ink);color:var(--paper)}.q-cat-outline{background:var(--paper);color:var(--ink);border:1.3px solid var(--line-2)}.q-cat-stone{background:var(--stone);color:var(--ink)}.q-cat-rust{background:var(--paper);color:var(--rust);border:1.3px solid var(--rust)}.q-check{border-radius:999px;border:1.5px solid var(--line-2);background:transparent;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:inherit;padding:0;transition:border-color var(--duration-fast) var(--ease-smooth),background var(--duration-fast) var(--ease-smooth)}button.q-check{cursor:pointer}.q-check-done{background:var(--ink);border-color:var(--ink)}.q-card{background:var(--paper);border:1px solid var(--line);border-radius:14px}.q-card-lg{border-radius:18px}.q-card-padded{padding:16px}.q-ink-card{background:var(--ink);color:var(--paper);border-radius:18px;padding:18px}.q-rule{border-top:1px solid var(--line)}.confetti-container{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:1}.confetti-dot{position:absolute;top:-10px;border-radius:999px;opacity:0;animation:confetti-fall 1.8s var(--ease-enter) forwards}@keyframes confetti-fall{0%{transform:translateY(0);opacity:0}15%{opacity:.7}to{transform:translateY(110vh);opacity:0}}@media(prefers-reduced-motion:reduce){.confetti-dot{display:none}}.aum-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:3000;display:flex;align-items:center;justify-content:center;padding:20px;animation:aum-fade .24s ease}@keyframes aum-fade{0%{opacity:0}to{opacity:1}}.aum-modal{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:32px 28px 24px;width:100%;max-width:420px;box-shadow:var(--shadow-lg);text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px;z-index:2;animation:aum-in .36s var(--ease-enter)}@keyframes aum-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.aum-robbi{display:flex;justify-content:center;padding-bottom:4px}.aum-title{font-family:var(--serif);font-weight:400;font-size:32px;line-height:1.05;letter-spacing:-.8px;color:var(--ink);margin:2px 0 0}.aum-desc{margin:0;font-size:14px;color:var(--sub);line-height:1.55;max-width:320px}.aum-stats{display:flex;gap:10px;margin:6px 0}.aum-stat{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 18px;min-width:110px}.aum-stat-glyph{font-family:var(--serif);font-size:24px;color:var(--ink);margin-bottom:4px}.aum-stat-n{font-family:var(--serif);font-size:24px;color:var(--ink);letter-spacing:-.3px;margin-bottom:4px}.aum-queue{font-family:var(--mono);font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--sub);margin-top:8px}.landing{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;min-height:100vh;overflow-x:hidden}.landing *{box-sizing:border-box}.landing a{color:inherit;text-decoration:none}.landing em{font-style:italic}.landing img{max-width:100%;display:block}.landing-container{max-width:1160px;margin:0 auto;padding:0 28px}.landing-kicker{font-family:var(--mono);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--sub);display:inline-flex;align-items:center;gap:8px}.landing-kicker:before{content:"";width:6px;height:6px;border-radius:999px;background:var(--ink)}.landing-serif{font-family:var(--serif);font-weight:400;letter-spacing:-.4px}.landing-mono{font-family:var(--mono);font-size:10px;color:var(--sub);letter-spacing:.6px}.landing-nav{padding:22px 0;position:sticky;top:0;z-index:20;background:#f3efe7cc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid transparent;transition:border-color .2s ease}.landing-nav.scrolled{border-bottom-color:var(--line)}.landing-nav-inner{display:flex;align-items:center;justify-content:space-between}.landing-logo{display:inline-flex;align-items:center;gap:10px;color:var(--ink)}.landing-logo-mark{width:28px;height:28px;border-radius:8px;background:var(--ink);display:flex;align-items:center;justify-content:center;color:var(--paper);font-family:var(--serif);font-size:16px}.landing-logo-text{font-family:var(--serif);font-size:18px;letter-spacing:-.2px}.landing-nav-links{display:flex;align-items:center;gap:28px}.landing-nav-links a{font-size:14px;color:var(--ink);opacity:.8;transition:opacity .15s ease}.landing-nav-links a:hover{opacity:1}.landing-nav-links a.landing-btn{opacity:1;white-space:nowrap}.landing-nav-links a.landing-btn-primary,.landing-nav-links a.landing-btn-primary:hover{color:var(--paper)}@media(max-width:720px){.landing-nav-links{display:none}}.landing-btn{display:inline-flex;align-items:center;gap:10px;padding:0 22px;height:48px;border-radius:14px;border:1px solid transparent;font-family:var(--sans);font-size:14px;font-weight:500;cursor:pointer;transition:transform .14s var(--ease-enter),background .16s ease,opacity .16s ease}.landing-btn:active{transform:scale(.98)}.landing-btn-primary{background:var(--ink);color:var(--paper)}.landing-btn-primary:hover{background:var(--ink-2)}.landing-btn-secondary{background:transparent;color:var(--ink);border-color:var(--line-2)}.landing-btn-secondary:hover{background:var(--paper)}.landing-btn-lg{height:56px;padding:0 28px;border-radius:16px;font-size:15px}.landing-btn-sm{height:40px;padding:0 16px;border-radius:12px;font-size:13px}.landing-hero{padding:60px 0 40px;position:relative;overflow:hidden}.landing-hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:72px;align-items:center}.landing-hero-title{font-family:var(--serif);font-weight:400;font-size:clamp(48px,7vw,92px);line-height:.98;letter-spacing:-1.8px;color:var(--ink);margin:24px 0 22px}.landing-hero-sub{font-size:18px;color:var(--sub);max-width:480px;line-height:1.55;margin-bottom:32px}.landing-hero-ctas{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.landing-hero-meta{margin-top:32px;display:flex;align-items:center;gap:14px;color:var(--sub);font-size:13px;flex-wrap:wrap}.landing-hero-dot{width:4px;height:4px;border-radius:999px;background:var(--line-2)}@media(max-width:860px){.landing-hero-grid{grid-template-columns:1fr;gap:48px}.landing-hero{padding-top:40px}}.landing-phone-wrap{position:relative;display:flex;justify-content:center;align-items:center;perspective:1600px}.landing-phone{width:330px;height:680px;border-radius:46px;background:#0a0a09;padding:9px;box-shadow:0 40px 80px -20px #1c1c1947,0 0 0 1px #0000000f,inset 0 0 0 2px #ffffff0a;animation:landing-phone-float 6s ease-in-out infinite}@keyframes landing-phone-float{0%,to{transform:translateY(0) rotate(-1.2deg)}50%{transform:translateY(-10px) rotate(-.6deg)}}.landing-phone-screen{width:100%;height:100%;border-radius:38px;background:var(--bg);overflow:hidden;position:relative;display:flex;flex-direction:column}.landing-notch{position:absolute;top:10px;left:50%;transform:translate(-50%);width:98px;height:24px;background:#0a0a09;border-radius:999px;z-index:5}.landing-status-bar{padding:14px 26px 6px;display:flex;justify-content:space-between;font-size:13px;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}.landing-phone-greeting{font-family:var(--serif);font-size:30px;font-weight:400;letter-spacing:-.4px;line-height:1.05;margin:8px 0 0;color:var(--ink)}.landing-phone-robbi{padding:22px 22px 0;display:flex;gap:10px;align-items:flex-start}.landing-phone-bubble{flex:1;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:12.5px;line-height:1.5}.landing-phone-nextup{background:var(--ink);color:var(--paper);border-radius:18px;padding:18px;display:flex;flex-direction:column;gap:8px}.landing-phone-nextup-head{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;opacity:.6}.landing-phone-nextup-head>span:last-child{text-transform:none;letter-spacing:.6px;opacity:.7}.landing-phone-nextup-title{font-family:var(--serif);font-size:20px;letter-spacing:-.3px;line-height:1.15}.landing-phone-nextup-sub{font-size:12px;opacity:.75;line-height:1.5}.landing-phone-quests{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:4px 14px}.landing-phone-quest{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.landing-phone-quest:last-child{border-bottom:none}.landing-phone-quest.done{opacity:.55}.landing-phone-quest.done .landing-phone-quest-title{text-decoration:line-through}.landing-phone-quest-title{flex:1;font-size:13px;font-weight:500}.landing-phone-quest-xp{font-family:var(--mono);font-size:10px;color:var(--sub)}.landing-phone-check{width:22px;height:22px;border-radius:999px;background:var(--ink);display:flex;align-items:center;justify-content:center}.landing-phone-check.empty{background:transparent;border:1.5px solid var(--line-2)}.landing-orb{position:absolute;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:10px 14px;font-size:12px;color:var(--ink);box-shadow:0 10px 30px -10px #1c1c191f;display:flex;align-items:center;gap:8px;animation:landing-orb-float 7s ease-in-out infinite}.landing-orb-dot{width:6px;height:6px;border-radius:999px;background:var(--rust)}.landing-orb.top{top:10%;right:0%;animation-delay:-1s}.landing-orb.mid{top:45%;left:-2%;animation-delay:-3s}.landing-orb.bot{bottom:8%;right:4%;animation-delay:-5s}@keyframes landing-orb-float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@media(max-width:860px){.landing-orb.top{right:-2%}.landing-orb.mid{display:none}}.landing-section{padding:84px 0;position:relative}.landing-section-paper{background:var(--paper)}.landing-section-head{max-width:720px;margin-bottom:56px}.landing-section-head-center{text-align:center;margin:0 auto 40px}.landing-section-title{font-family:var(--serif);font-weight:400;font-size:clamp(36px,4.6vw,54px);line-height:1.02;letter-spacing:-1.1px;margin:16px 0 18px;color:var(--ink)}.landing-section-sub{font-size:17px;color:var(--sub);max-width:560px;margin:0}.landing-tiles{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.landing-tile{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:28px;display:flex;flex-direction:column;min-height:280px;grid-column:span 6;transition:transform .2s var(--ease-enter),border-color .2s ease}.landing-tile:hover{transform:translateY(-2px);border-color:var(--line-2)}.landing-tile-num{font-family:var(--mono);font-size:11px;letter-spacing:1px;color:var(--sub);text-transform:uppercase;margin-bottom:auto}.landing-tile-h{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.15;letter-spacing:-.5px;margin:24px 0 10px;color:var(--ink)}.landing-tile-p{margin:0;color:var(--sub);font-size:14.5px;line-height:1.55}.landing-tile-visual{margin-top:24px;padding-top:20px;border-top:1px solid var(--line);display:flex;align-items:center;gap:10px;color:var(--sub);font-family:var(--mono);font-size:11px;letter-spacing:.5px}@media(max-width:860px){.landing-tile{grid-column:span 12;min-height:220px;padding:24px}.landing-tile-h{font-size:22px}}.landing-day{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}.landing-day-steps{display:flex;flex-direction:column;gap:28px}.landing-step{display:flex;gap:20px;align-items:flex-start}.landing-step-num{font-family:var(--serif);font-size:32px;line-height:1;color:var(--ink);min-width:40px}.landing-step-h{font-family:var(--serif);font-size:22px;font-weight:400;margin:0 0 4px;letter-spacing:-.3px}.landing-step-p{margin:0;color:var(--sub);font-size:15px;line-height:1.5}.landing-day-panel{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:28px}.landing-day-panel .landing-kicker{margin-bottom:16px}.landing-day-panel-h{font-family:var(--serif);font-size:28px;font-weight:400;letter-spacing:-.5px;margin:0 0 18px;line-height:1.15}.landing-day-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.landing-day-row:last-child{border-bottom:none}.landing-day-check{width:22px;height:22px;border-radius:999px;border:1.5px solid var(--line-2);flex-shrink:0;display:flex;align-items:center;justify-content:center}.landing-day-check.done{background:var(--ink);border-color:var(--ink)}.landing-day-row-title{font-size:14px;font-weight:500;color:var(--ink)}.landing-day-row-title.done{text-decoration:line-through;opacity:.55}.landing-day-row-meta{font-family:var(--mono);font-size:10px;letter-spacing:.5px;color:var(--sub);text-transform:uppercase;margin-top:3px}.landing-day-row-xp{font-family:var(--mono);font-size:11px;color:var(--sub)}@media(max-width:860px){.landing-day{grid-template-columns:1fr;gap:36px}}.landing-pull{padding:120px 0;text-align:center}.landing-pull-quote{margin:0 auto;max-width:860px;font-family:var(--serif);font-weight:400;font-size:clamp(30px,4vw,44px);line-height:1.2;letter-spacing:-.6px;color:var(--ink)}.landing-pull-cite{display:block;margin-top:28px;font-family:var(--mono);font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--sub);font-style:normal}.landing-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;padding:48px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.landing-stat{padding:0 4px}.landing-stat-n{font-family:var(--serif);font-size:56px;line-height:1;letter-spacing:-1.5px;color:var(--ink)}.landing-stat-unit{font-family:var(--serif);font-size:24px;color:var(--sub);margin-left:2px}.landing-stat-l{font-family:var(--mono);font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--sub);margin-top:10px}@media(max-width:720px){.landing-stats{grid-template-columns:repeat(2,1fr);gap:32px 20px}.landing-stat-n{font-size:42px}}.landing-cards-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.landing-card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:26px;display:flex;flex-direction:column;gap:18px;min-height:240px}.landing-card-quote{font-family:var(--serif);font-size:20px;line-height:1.35;letter-spacing:-.2px;color:var(--ink);flex:1}.landing-card-who{display:flex;align-items:center;gap:10px}.landing-avatar{width:32px;height:32px;border-radius:999px;background:var(--stone);color:var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:14px}.landing-card-name{font-size:13px;font-weight:500}.landing-card-role{font-family:var(--mono);font-size:10px;letter-spacing:.6px;color:var(--sub);margin-top:2px}@media(max-width:860px){.landing-cards-3{grid-template-columns:1fr}}.landing-faq{max-width:760px;margin:0 auto}.landing-faq details{border-bottom:1px solid var(--line);padding:24px 0}.landing-faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;font-family:var(--serif);font-size:22px;letter-spacing:-.3px;color:var(--ink)}.landing-faq summary::-webkit-details-marker{display:none}.landing-faq summary:after{content:"+";font-family:var(--serif);font-size:28px;color:var(--sub);transition:transform .2s ease}.landing-faq details[open] summary:after{content:"–"}.landing-faq details p{margin:12px 0 0;color:var(--sub);font-size:15px;line-height:1.6;max-width:620px}.landing-cta{background:var(--ink);color:var(--paper);border-radius:28px;padding:72px 56px;display:flex;flex-direction:column;align-items:flex-start;position:relative;overflow:hidden}.landing-cta .landing-kicker{color:#fbf9f499}.landing-cta .landing-kicker:before{background:var(--paper)}.landing-cta-title{font-family:var(--serif);font-weight:400;font-size:clamp(40px,5.5vw,68px);line-height:1;letter-spacing:-1.4px;margin:20px 0 18px;color:var(--paper);max-width:620px}.landing-cta-p{color:#fbf9f4b3;font-size:17px;max-width:500px;margin:0 0 36px}.landing-cta .landing-btn-primary{background:var(--paper);color:var(--ink)}.landing-cta .landing-btn-primary:hover{background:#fff}.landing-cta-robbi{position:absolute;right:48px;top:48px}@media(max-width:720px){.landing-cta{padding:48px 28px}.landing-cta-robbi{display:none}}.landing-logobar{padding:40px 0 30px}.landing-logobar-inner{display:flex;align-items:center;gap:40px;flex-wrap:wrap;justify-content:center;color:var(--sub)}.landing-logobar-name{font-size:22px;letter-spacing:-.3px;opacity:.7}.landing-logobar-name[data-italic=true]{font-style:italic}.landing-footer{padding:56px 0 48px;color:var(--sub);font-size:13px}.landing-foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:32px;padding-bottom:40px;border-bottom:1px solid var(--line)}.landing-foot-grid h5{font-family:var(--mono);font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--ink);margin:0 0 14px}.landing-foot-grid ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.landing-foot-grid a{color:var(--sub)}.landing-foot-grid a:hover{color:var(--ink)}.landing-foot-tagline{font-family:var(--serif);font-size:18px;color:var(--ink);letter-spacing:-.2px;max-width:280px;margin-top:14px}.landing-foot-bottom{padding-top:24px;display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.6px}@media(max-width:720px){.landing-foot-grid{grid-template-columns:1fr 1fr;gap:36px 20px}.landing-foot-bottom{flex-direction:column;gap:12px;align-items:flex-start}}.landing .fade{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}.landing .fade.in{opacity:1;transform:translateY(0)}.landing-grain:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(rgba(28,28,25,.04) 1px,transparent 1px);background-size:3px 3px;mix-blend-mode:multiply;opacity:.6}.login-page{min-height:100vh;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:32px 20px;padding-top:calc(32px + env(safe-area-inset-top,0px));padding-bottom:calc(32px + env(safe-area-inset-bottom,0px))}.login-shell{width:100%;max-width:420px;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:36px 28px 28px;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;align-items:flex-start;gap:16px}.login-brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);margin-bottom:4px}.login-brand-mark{width:28px;height:28px;border-radius:8px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:16px}.login-brand-text{font-family:var(--serif);font-size:18px;letter-spacing:-.2px}.login-robbi{align-self:flex-start;margin-top:4px}.login-title{font-family:var(--serif);font-weight:400;font-size:36px;letter-spacing:-.8px;line-height:1.02;color:var(--ink);margin:6px 0 4px}.login-title em{font-style:italic}.login-sub{color:var(--sub);font-size:14px;line-height:1.55;margin:0 0 12px}.login-actions{width:100%;display:flex;flex-direction:column;gap:10px;margin-top:8px}.login-divider{display:flex;align-items:center;gap:12px;margin:6px 0}.login-divider-line{flex:1;height:1px;background:var(--line)}.login-divider-text{font-family:var(--mono);font-size:10px;letter-spacing:1.5px;color:var(--sub)}.login-form{width:100%;display:flex;flex-direction:column;gap:14px;margin-top:8px}.login-label{display:flex;flex-direction:column;gap:6px}.login-input{width:100%;height:48px;padding:0 14px;background:var(--paper);border:1px solid var(--line-2);border-radius:12px;color:var(--ink);font-family:var(--sans);font-size:15px;transition:border-color var(--duration-fast) var(--ease-smooth),box-shadow var(--duration-fast) var(--ease-smooth)}.login-input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #1c1c190f}.login-input::placeholder{color:var(--sub-hi)}.login-error{background:transparent;color:var(--rust);font-size:13px;line-height:1.5;margin:0;padding:8px 0 0;font-family:var(--sans)}.login-switch{display:flex;flex-direction:column;gap:6px;margin-top:8px;align-items:center}.login-link{background:transparent;border:none;padding:6px 0;font-family:var(--sans);font-size:13px;color:var(--ink);cursor:pointer;text-align:center}.login-link:hover{opacity:.7}.login-link-muted{color:var(--sub);font-size:12px}.login-foot-meta{width:100%;padding-top:16px;border-top:1px solid var(--line);font-size:12px;color:var(--sub);text-align:center;display:flex;align-items:center;justify-content:center;gap:10px;margin:12px 0 0}.login-foot-dot{width:4px;height:4px;border-radius:999px;background:var(--rust)}@media(min-width:640px){.login-title{font-size:42px;letter-spacing:-1px}.login-shell{padding:44px 36px 36px}}.ob-page{min-height:100vh;background:var(--bg);display:flex;align-items:center;justify-content:center;padding:24px 20px;padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:10px}.ob-shell{width:100%;max-width:440px;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:20px 22px 24px;display:flex;flex-direction:column;gap:18px;box-shadow:var(--shadow-sm);min-height:620px;position:relative;box-sizing:border-box;overflow:hidden}.ob-header{display:grid;grid-template-columns:32px 1fr auto;align-items:center;gap:12px}.ob-back{width:32px;height:32px;border-radius:999px;background:transparent;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--duration-fast) var(--ease-smooth)}.ob-back:hover{background:var(--bg)}.ob-counter{font-family:var(--mono);font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--sub);text-align:center}.ob-dots{display:flex;gap:4px;justify-content:flex-end}.ob-dot{width:18px;height:3px;border-radius:2px;background:var(--line);transition:background var(--duration-fast) var(--ease-smooth)}.ob-dot.on{background:var(--ink)}.ob-content{flex:1;display:flex;flex-direction:column;animation:ob-fade .38s var(--ease-enter);min-height:0}@keyframes ob-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ob-welcome{display:flex;flex-direction:column;gap:20px;flex:1}.ob-welcome-kicker{align-self:flex-start}.ob-welcome-body{margin-top:auto;margin-bottom:10px;display:flex;flex-direction:column;gap:14px}.ob-welcome-title{font-family:var(--serif);font-weight:400;font-size:40px;line-height:1.02;letter-spacing:-.8px;color:var(--ink);margin:14px 0 0}.ob-welcome-title em{font-style:italic}.ob-welcome-sub{font-size:15px;line-height:1.55;color:var(--sub);margin:0;max-width:300px}.ob-welcome-foot{text-align:center}.ob-login-link{font-family:var(--sans);font-size:13px;color:var(--sub);text-decoration:none;padding:8px 0;display:inline-block}.ob-login-link:hover{color:var(--ink)}.ob-question{display:flex;flex-direction:column;flex:1;min-height:0}.ob-question-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:16px}.ob-bubble{background:var(--bg);border:1px solid var(--line);border-radius:4px 14px 14px;padding:10px 14px;font-family:var(--sans);font-size:13px;color:var(--ink);line-height:1.45}.ob-question-title{font-family:var(--serif);font-weight:400;font-size:28px;line-height:1.1;letter-spacing:-.4px;color:var(--ink);margin:0 0 6px}.ob-question-hint{font-size:13px;color:var(--sub);line-height:1.5;margin:0 0 18px}.ob-question-body{display:flex;flex-direction:column;gap:10px;margin-bottom:18px;flex:1;min-height:0}.ob-question-foot{margin-top:auto}.ob-text-input{width:100%;height:52px;padding:0 16px;background:var(--paper);border:1px solid var(--line-2);border-radius:14px;color:var(--ink);font-family:var(--sans);font-size:16px;transition:border-color var(--duration-fast) var(--ease-smooth),box-shadow var(--duration-fast) var(--ease-smooth)}.ob-text-input-serif{font-family:var(--serif);font-size:20px;letter-spacing:-.2px}.ob-text-input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #1c1c190f}.ob-text-input::placeholder{color:var(--sub-hi)}.ob-suggestions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.ob-city-chips{display:flex;flex-wrap:wrap;gap:8px}.ob-city-chip{padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:transparent;color:var(--ink);font-family:var(--sans);font-size:13px;cursor:pointer;transition:background var(--duration-fast) var(--ease-smooth),color var(--duration-fast) var(--ease-smooth),border-color var(--duration-fast) var(--ease-smooth)}.ob-city-chip:hover{border-color:var(--ink)}.ob-city-chip.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.ob-city-custom{display:flex;gap:8px;margin-top:4px}.ob-city-custom .ob-text-input{flex:1;height:44px;font-family:var(--sans);font-size:14px}.ob-city-add{width:44px;height:44px;border-radius:14px;border:1px solid var(--line-2);background:var(--paper);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background var(--duration-fast) var(--ease-smooth),border-color var(--duration-fast) var(--ease-smooth),color var(--duration-fast) var(--ease-smooth)}.ob-city-add:hover:not(:disabled){background:var(--ink);color:var(--paper);border-color:var(--ink)}.ob-city-add:disabled{opacity:.4;cursor:not-allowed}.ob-options{display:flex;flex-direction:column;gap:8px}.ob-option{text-align:left;padding:14px 16px;background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:14px;cursor:pointer;transition:background var(--duration-fast) var(--ease-smooth),color var(--duration-fast) var(--ease-smooth),border-color var(--duration-fast) var(--ease-smooth),transform var(--duration-fast) var(--ease-enter)}.ob-option:hover{border-color:var(--line-2)}.ob-option:active{transform:scale(.99)}.ob-option.on{background:var(--ink);color:var(--paper);border-color:var(--ink)}.ob-option-label{font-family:var(--serif);font-size:17px;letter-spacing:-.2px}.ob-option-desc{font-family:var(--sans);font-size:12px;opacity:.55;margin-top:2px}.ob-option.on .ob-option-desc{opacity:.7}.ob-finish{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;flex:1;gap:8px;padding:10px 0}.ob-finish-kicker{margin-top:26px}.ob-finish-title{font-family:var(--serif);font-weight:400;font-size:38px;line-height:1.04;letter-spacing:-.6px;color:var(--ink);margin:10px 0 6px}.ob-finish-title em{font-style:italic}.ob-finish-sub{font-size:14px;color:var(--sub);line-height:1.5;margin:0 0 24px;max-width:280px}@media(prefers-reduced-motion:reduce){.ob-content{animation:none}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:var(--paper);border-top:1px solid var(--line);display:flex;align-items:stretch;z-index:1000;padding-bottom:env(safe-area-inset-bottom,0);-webkit-tap-highlight-color:transparent}.nav-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:10px 0 12px;text-decoration:none;color:var(--sub-hi);transition:color var(--duration-fast) var(--ease-smooth);position:relative}.nav-icon-wrap{display:flex;align-items:center;justify-content:center;transition:transform var(--duration-fast) var(--ease-enter)}.nav-tab:active .nav-icon-wrap{transform:scale(.92)}.nav-tab-active,.nav-tab-active .nav-icon-wrap{color:var(--ink)}.nav-label{font-family:var(--mono);font-size:9px;letter-spacing:1px;text-transform:uppercase;font-weight:400;line-height:1}.nav-tab-active .nav-label{font-weight:500;color:var(--ink)}@media(hover:hover){.nav-tab:hover{color:var(--ink)}}.bottom-sheet-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:2000;display:flex;flex-direction:column;justify-content:flex-end;animation:bs-overlay-in .24s var(--ease-smooth)}@keyframes bs-overlay-in{0%{opacity:0}to{opacity:1}}.bottom-sheet{background:var(--paper);border-top-left-radius:22px;border-top-right-radius:22px;padding:12px 22px calc(22px + env(safe-area-inset-bottom,0px));max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-sheet);animation:bs-sheet-in var(--duration-sheet, .32s) var(--ease-enter);transition:transform var(--duration-sheet, .32s) var(--ease-enter)}@keyframes bs-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bottom-sheet-handle{width:36px;height:4px;background:var(--line-2);border-radius:999px;margin:0 auto 14px}.bottom-sheet-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:14px;border-bottom:1px solid var(--line);margin-bottom:14px}.bottom-sheet-title{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.2;letter-spacing:-.3px;color:var(--ink);margin:0}.bottom-sheet-close{width:32px;height:32px;background:transparent;border:none;border-radius:999px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--duration-fast) var(--ease-smooth)}.bottom-sheet-close:hover{background:var(--bg)}.bottom-sheet-content{display:flex;flex-direction:column}.qdm{position:relative;display:flex;flex-direction:column;gap:16px;color:var(--ink)}.qdm-head{display:flex;align-items:flex-start;gap:12px}.qdm-head-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.qdm-title{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.2;letter-spacing:-.3px;color:var(--ink);margin:0}.qdm-desc{margin:0;font-size:14px;line-height:1.55;color:var(--sub)}.qdm-locked{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--bg);border:1px solid var(--line);border-radius:12px}.qdm-locked-text{font-family:var(--serif);font-size:15px;color:var(--ink);margin-top:2px;letter-spacing:-.2px}.qdm-why-block{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:10px 12px}.qdm-why-toggle{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;padding:0;font-family:var(--mono);font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:var(--sub);cursor:pointer}.qdm-why-toggle:hover{color:var(--ink)}.qdm-why-text{margin:8px 0 0;font-size:13px;color:var(--sub);line-height:1.55;font-style:italic}.qdm-actions{display:flex;gap:10px;margin-top:4px}.qdm-completed{display:flex;align-items:center;gap:8px;padding:12px 14px;background:var(--ink);color:var(--paper);border-radius:12px;font-family:var(--sans);font-size:13px}.qdm-xp-pop{position:absolute;top:8px;right:8px;font-family:var(--serif);font-size:16px;color:var(--rust);animation:qdm-xp 1.2s var(--ease-enter) forwards;pointer-events:none}@keyframes qdm-xp{0%{opacity:0;transform:translateY(6px)}30%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-14px)}}.celebration-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg);z-index:2500;display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden;animation:celebration-in .32s var(--ease-enter)}@keyframes celebration-in{0%{opacity:0}to{opacity:1}}.celebration-body{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;max-width:420px;z-index:2}.celebration-title{font-family:var(--serif);font-weight:400;font-size:48px;line-height:1;letter-spacing:-1.2px;color:var(--ink);margin:10px 0 6px}.celebration-title em{font-style:italic}.celebration-lede{font-size:14px;color:var(--sub);line-height:1.55;margin:0 0 22px;max-width:280px}.celebration-stats{display:flex;gap:10px;margin-bottom:24px}.celebration-stat{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px 20px;min-width:110px}.celebration-stat-n{font-family:var(--serif);font-size:24px;color:var(--ink);letter-spacing:-.3px;margin-top:4px}.celebration-stat-unit{font-family:var(--sans);font-size:12px;color:var(--sub)}.celebration-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.ss-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;animation:ss-fade .2s ease}@keyframes ss-fade{0%{opacity:0}to{opacity:1}}.ss-modal{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:20px;width:100%;max-width:420px;max-height:80vh;overflow-y:auto;box-shadow:var(--shadow-lg);animation:ss-in .32s var(--ease-enter)}@keyframes ss-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ss-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.ss-close{width:32px;height:32px;background:transparent;border:none;border-radius:999px;cursor:pointer;display:flex;align-items:center;justify-content:center}.ss-close:hover{background:var(--bg)}.ss-options{display:flex;flex-direction:column;gap:4px}.ss-option{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:12px 14px;background:transparent;border:1px solid var(--line);border-radius:12px;font-family:var(--sans);font-size:14px;color:var(--ink);cursor:pointer;text-align:left;transition:border-color var(--duration-fast) var(--ease-smooth),background var(--duration-fast) var(--ease-smooth)}.ss-option:hover{border-color:var(--line-2);background:var(--paper-hi)}.ss-option.selected{border-color:var(--ink);background:var(--bg)}.ss-option-label{flex:1}.ss-back{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;padding:6px 0;margin-bottom:6px;font-family:var(--mono);font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--sub);cursor:pointer}.ss-back:hover{color:var(--ink)}.job-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px;display:flex;flex-direction:column;gap:8px;cursor:pointer;min-width:0;overflow-wrap:anywhere;transition:border-color var(--duration-fast) var(--ease-smooth),transform var(--duration-fast) var(--ease-enter)}.job-card>*{min-width:0}.job-card:hover{border-color:var(--line-2);transform:translateY(-1px)}.job-card:active{transform:scale(.99)}.job-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.job-card-co{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.job-card-co-mark{width:28px;height:28px;border-radius:8px;background:var(--stone);color:var(--ink);font-family:var(--serif);font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.job-card-co-meta{font-family:var(--sans);font-size:12px;color:var(--sub);min-width:0;flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.job-card-match{display:flex;align-items:center;gap:4px;font-family:var(--mono);font-size:10px;color:var(--ink);letter-spacing:.4px;flex-shrink:0}.job-card-match-dot{width:6px;height:6px;border-radius:999px;background:var(--rust)}.job-card-title{font-family:var(--serif);font-weight:400;font-size:18px;line-height:1.2;letter-spacing:-.2px;color:var(--ink);margin:2px 0 0;overflow-wrap:anywhere}.job-card-salary{font-family:var(--mono);font-size:11px;color:var(--sub);letter-spacing:.2px;overflow-wrap:anywhere}.job-card-snippet{margin:4px 0 0;font-size:13px;line-height:1.5;color:var(--sub);overflow-wrap:anywhere}.job-card-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px}.job-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:8px;border-top:1px solid var(--line);margin-top:4px;flex-wrap:wrap}.job-card-foot-meta{font-family:var(--mono);font-size:10px;letter-spacing:.4px;color:var(--sub);text-transform:uppercase;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.job-card-foot-actions{display:flex;align-items:center;gap:12px;flex-shrink:0}.job-card-save{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;background:transparent;border:1px solid var(--line);border-radius:999px;font-family:var(--sans);font-size:12px;color:var(--sub);cursor:pointer;transition:color var(--duration-fast) var(--ease-smooth),border-color var(--duration-fast) var(--ease-smooth)}.job-card-save:hover{color:var(--ink);border-color:var(--line-2)}.job-card-save.saved{color:var(--ink);border-color:var(--ink)}.job-card-open{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.6px;color:var(--ink)}.job-card-saved-actions{position:relative;flex-shrink:0}.job-card-more{background:transparent;border:none;padding:6px;border-radius:8px;cursor:pointer;transition:background var(--duration-fast) var(--ease-smooth)}.job-card-more:hover{background:var(--bg)}.job-card-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:20;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:4px;min-width:160px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;animation:jobcard-menu-in .16s var(--ease-enter)}@keyframes jobcard-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.job-card-menu button{background:transparent;border:none;padding:9px 12px;font-family:var(--sans);font-size:13px;text-align:left;border-radius:8px;cursor:pointer;color:var(--ink)}.job-card-menu button:hover{background:var(--bg)}.job-card-menu-danger{color:var(--rust)}.job-card-compact{padding:10px 12px;background:var(--paper);border:1px solid var(--line);border-radius:12px;cursor:pointer}.job-card-compact-title{font-family:var(--serif);font-size:15px;margin:2px 0 0;color:var(--ink)}.today{min-height:100vh;background:var(--bg);color:var(--ink);padding-top:env(safe-area-inset-top,0);padding-bottom:calc(var(--bottom-nav-height) + 24px + env(safe-area-inset-bottom,0));padding-left:var(--pad-screen);padding-right:var(--pad-screen);max-width:520px;margin:0 auto;overflow-x:hidden;box-sizing:border-box;width:100%}.today .q-big-header{padding-left:0;padding-right:0}.today-avatar{width:44px;height:44px;border-radius:999px;background:var(--stone);color:var(--ink);font-family:var(--serif);font-size:18px;display:flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;transition:background var(--duration-fast) var(--ease-smooth)}.today-avatar:hover{background:var(--line-2)}.today-section{padding:18px 0 0}.today-anon-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:14px 0 0;padding:12px 14px;background:var(--paper);border:1px solid var(--line-2);border-radius:12px;font-size:13px;color:var(--ink);text-decoration:none;transition:border-color var(--duration-fast) var(--ease-smooth)}.today-anon-banner:hover{border-color:var(--ink)}.today-stats{padding:18px 0 0;display:flex;gap:10px}.today-stat{flex:1;background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px}.today-stat-value{font-family:var(--serif);font-size:26px;color:var(--ink);margin-top:4px;letter-spacing:-.3px}.today-stat-unit{font-family:var(--sans);font-size:11px;color:var(--sub);margin-left:4px}.today-nextup{width:100%;text-align:left;background:var(--ink);color:var(--paper);border:none;border-radius:18px;padding:20px;cursor:pointer;display:flex;flex-direction:column;gap:10px;transition:transform var(--duration-fast) var(--ease-enter)}.today-nextup:active{transform:scale(.985)}.today-nextup-head{display:flex;align-items:center;justify-content:space-between}.today-nextup-xp{font-family:var(--mono);font-size:10px;opacity:.7}.today-nextup-title{font-family:var(--serif);font-size:22px;line-height:1.15;letter-spacing:-.3px;color:var(--paper)}.today-nextup-sub{font-size:13px;opacity:.75;line-height:1.5}.today-nextup-cta{margin-top:4px;display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10px;letter-spacing:.5px;text-transform:uppercase;opacity:.85}.today-done-card{background:var(--ink);color:var(--paper);border-radius:18px;padding:20px}.today-done-card .q-kicker{color:#fbf9f499}.today-done-card .q-kicker:before{background:var(--paper)}.today-done-title{font-family:var(--serif);font-size:22px;line-height:1.15;margin-top:6px;letter-spacing:-.3px}.today-start-link{text-decoration:none;color:inherit}.today-start-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;align-items:center;gap:14px;transition:border-color var(--duration-fast) var(--ease-smooth)}.today-start-card>div:nth-child(2){flex:1}.today-start-card:hover{border-color:var(--ink)}.today-start-title{font-family:var(--serif);font-size:18px;line-height:1.2;letter-spacing:-.2px;color:var(--ink);margin-top:2px}.today-quest-list{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}.today-quest-row{display:flex;align-items:center;gap:12px;width:100%;padding:14px;background:transparent;border:none;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;transition:background var(--duration-fast) var(--ease-smooth)}.today-quest-row:last-child{border-bottom:none}.today-quest-row:hover{background:var(--paper-hi)}.today-quest-row.done{opacity:.55}.today-quest-check{width:24px;height:24px;border-radius:999px;border:1.5px solid var(--line-2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.today-quest-check.done{background:var(--ink);border-color:var(--ink)}.today-quest-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.today-quest-title{font-family:var(--sans);font-size:14px;font-weight:500;color:var(--ink)}.today-quest-row.done .today-quest-title{text-decoration:line-through}.today-quest-meta{font-family:var(--mono);font-size:9.5px;color:var(--sub);letter-spacing:.4px}.today-jobs{display:flex;flex-direction:column;gap:10px}.today-jobs-loading{display:flex;align-items:center;gap:12px;padding:20px 0;color:var(--sub)}.today-empty-jobs{display:flex;align-items:center;gap:12px;padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink);font-size:14px}.today-empty-jobs>span{flex:1}.today-pipeline{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.today-pipeline-tile{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 10px;text-align:center}.today-pipeline-n{font-family:var(--serif);font-size:26px;color:var(--ink);letter-spacing:-.4px;margin-bottom:4px}.today-ach-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.today-ach-scroll::-webkit-scrollbar{display:none}.today-ach-card{flex-shrink:0;width:96px;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px 10px;text-align:center}.today-ach-glyph{font-family:var(--serif);font-size:22px;color:var(--ink);margin-bottom:6px}.today-ach-title{font-family:var(--sans);font-size:11px;color:var(--ink);font-weight:500;line-height:1.3;margin-bottom:3px}.today-ach-tier{font-family:var(--mono);font-size:8px;color:var(--sub);letter-spacing:.6px}.today-level-section{margin-top:4px}.today-level-card{background:var(--ink);color:var(--paper);border-radius:18px;padding:18px;display:flex;align-items:center}.today-level-card .q-kicker:before{background:var(--paper)}.today-level-n{font-family:var(--serif);font-size:48px;line-height:1;letter-spacing:-1px;margin-top:4px}.today-level-xp{font-family:var(--mono);font-size:13px;text-align:right;color:var(--paper)}.today-spacer{height:20px}@media(max-width:480px){.today-nextup-title{font-size:20px}.today-level-n{font-size:40px}}.jds{display:flex;flex-direction:column;gap:14px}.jds-head{display:flex;align-items:flex-start;gap:12px}.jds-co-mark{width:46px;height:46px;border-radius:12px;background:var(--stone);color:var(--ink);font-family:var(--serif);font-size:22px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.jds-head-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.jds-co{font-family:var(--sans);font-size:12px;color:var(--sub)}.jds-title{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.15;letter-spacing:-.3px;color:var(--ink)}.jds-match{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex-shrink:0}.jds-match-n{font-family:var(--serif);font-size:22px;color:var(--ink);letter-spacing:-.3px}.jds-chips{display:flex;gap:6px;flex-wrap:wrap}.jds-snippet{margin:0;font-size:14px;line-height:1.55;color:var(--ink)}.jds-actions{display:flex;gap:10px;margin-top:6px}.jds-view-raw{background:transparent;border:none;padding:6px 0;margin-top:4px;font-family:var(--mono);font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--sub);cursor:pointer;align-self:center}.jds-view-raw:hover{color:var(--ink)}.jobs-page{min-height:100vh;background:var(--bg);color:var(--ink);padding-top:env(safe-area-inset-top,0);padding-bottom:calc(var(--bottom-nav-height) + 24px + env(safe-area-inset-bottom,0));padding-left:var(--pad-screen);padding-right:var(--pad-screen);max-width:520px;margin:0 auto;overflow-x:hidden;box-sizing:border-box;width:100%}.jobs-page .q-big-header{padding-left:0;padding-right:0}.jobs-search-btn{width:40px;height:40px;background:transparent;border:1px solid var(--line);border-radius:999px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-smooth),background var(--duration-fast) var(--ease-smooth)}.jobs-search-btn:hover{border-color:var(--ink)}.jobs-search-btn:active{background:var(--paper)}.jobs-search-form{display:flex;flex-direction:column;gap:10px;margin:18px 0 0;padding:16px;background:var(--paper);border:1px solid var(--line);border-radius:14px;animation:jobs-sheet-in .32s var(--ease-enter)}@keyframes jobs-sheet-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.jobs-search-input{width:100%;height:44px;padding:0 14px;background:var(--bg);border:1px solid var(--line-2);border-radius:12px;font-family:var(--sans);font-size:14px;color:var(--ink)}.jobs-search-input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #1c1c190f}.jobs-filters{display:flex;gap:8px;padding:16px 0 0;flex-wrap:wrap;min-width:0}.jobs-body{padding:18px 0 0}.jobs-list{display:flex;flex-direction:column;gap:10px}.jobs-loading,.jobs-empty,.jobs-error{display:flex;flex-direction:column;align-items:center;text-align:center;padding:40px 20px;gap:14px;color:var(--sub)}.jobs-error-body h3{font-family:var(--serif);font-size:22px;font-weight:400;color:var(--ink);margin:0 0 8px}.jobs-error-body p{font-size:14px;color:var(--sub);margin:0 0 16px}.jobs-spacer{height:24px}.add-job-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--scrim);z-index:2000;display:flex;align-items:center;justify-content:center;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:add-job-fade .2s ease}@keyframes add-job-fade{0%{opacity:0}to{opacity:1}}.add-job-modal{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:20px;width:100%;max-width:440px;box-shadow:var(--shadow-lg);animation:add-job-in .32s var(--ease-enter)}@keyframes add-job-in{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.add-job-head{display:flex;align-items:center;justify-content:space-between}.add-job-close{width:32px;height:32px;background:transparent;border:none;border-radius:999px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background var(--duration-fast) var(--ease-smooth)}.add-job-close:hover{background:var(--bg)}.add-job-close:disabled{opacity:.4;cursor:not-allowed}.add-job-body{display:flex;flex-direction:column;gap:10px;padding-top:12px}.add-job-robbi{display:flex;justify-content:center;padding:8px 0}.add-job-title{font-family:var(--serif);font-weight:400;font-size:26px;letter-spacing:-.4px;line-height:1.05;text-align:center;color:var(--ink);margin:0}.add-job-title em{font-style:italic}.add-job-sub{text-align:center;font-size:13.5px;color:var(--sub);line-height:1.5;margin:0}.add-job-form{display:flex;flex-direction:column;gap:10px;margin-top:6px}.add-job-input{width:100%;height:46px;padding:0 14px;background:var(--bg);border:1px solid var(--line-2);border-radius:12px;font-family:var(--mono);font-size:13px;color:var(--ink)}.add-job-input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #1c1c190f}.add-job-input:disabled{opacity:.6;cursor:not-allowed}.add-job-error{margin:0;color:var(--rust);font-size:13px;font-family:var(--sans)}.tracker-page{min-height:100vh;background:var(--bg);color:var(--ink);padding-top:env(safe-area-inset-top,0);padding-bottom:calc(var(--bottom-nav-height) + 24px + env(safe-area-inset-bottom,0));overflow-x:hidden}.tracker-add-btn{width:40px;height:40px;background:var(--ink);color:var(--paper);border:none;border-radius:999px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--duration-fast) var(--ease-smooth)}.tracker-add-btn:hover{background:var(--ink-2)}.tracker-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:48px 20px}.tracker-empty{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center;padding:48px 22px;max-width:420px;margin:0 auto}.tracker-empty h3{font-family:var(--serif);font-size:24px;font-weight:400;color:var(--ink);margin:0;letter-spacing:-.3px}.tracker-empty p{font-size:14px;color:var(--sub);line-height:1.5;margin:0 0 4px}.tracker-columns{display:flex;gap:12px;padding:18px 0 0 22px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.tracker-columns::-webkit-scrollbar{display:none}.tracker-col{flex-shrink:0;width:220px;padding-right:0;display:flex;flex-direction:column;gap:10px}.tracker-col:last-child{padding-right:22px}.tracker-col-head{display:flex;align-items:center;justify-content:space-between;padding:0 2px}.tracker-col-title{font-family:var(--mono);font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:var(--ink);font-weight:500}.tracker-col-count{font-family:var(--mono);font-size:10px;color:var(--sub)}.tracker-col-body{display:flex;flex-direction:column;gap:8px}.tracker-card{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:12px;transition:border-color var(--duration-fast) var(--ease-smooth),transform var(--duration-fast) var(--ease-enter)}.tracker-card:hover{border-color:var(--line-2);transform:translateY(-1px)}.tracker-card.hot{background:var(--ink);color:var(--paper);border-color:var(--ink)}.tracker-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:2px}.tracker-card-co{font-family:var(--sans);font-size:11px;color:var(--sub)}.tracker-card.hot .tracker-card-co{color:#fbf9f4b3}.tracker-card-more{background:transparent;border:none;padding:4px;cursor:pointer;border-radius:6px;display:flex;transition:background var(--duration-fast) var(--ease-smooth)}.tracker-card-more:hover{background:#1c1c190f}.tracker-card.hot .tracker-card-more:hover{background:#fbf9f41a}.tracker-card-role{font-family:var(--serif);font-size:15px;line-height:1.2;letter-spacing:-.2px;margin-top:2px}.tracker-card-role a{color:inherit;text-decoration:none}.tracker-card-role a:hover{text-decoration:underline}.tracker-card-meta{font-family:var(--mono);font-size:9.5px;margin-top:8px;letter-spacing:.4px;color:var(--sub)}.tracker-card.hot .tracker-card-meta{color:#fbf9f4b3}.tracker-card-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:20;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:4px;min-width:160px;box-shadow:var(--shadow-md);display:flex;flex-direction:column;animation:tracker-menu-in .16s var(--ease-enter)}@keyframes tracker-menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.tracker-card.hot .tracker-card-menu{background:var(--ink-2);border-color:#fbf9f42e;color:var(--paper)}.tracker-menu-item{background:transparent;border:none;padding:9px 12px;font-family:var(--sans);font-size:13px;text-align:left;border-radius:8px;cursor:pointer;color:inherit;transition:background var(--duration-fast) var(--ease-smooth)}.tracker-menu-item:hover{background:var(--bg)}.tracker-card.hot .tracker-menu-item:hover{background:#fbf9f414}.tracker-menu-danger{color:var(--rust)}.tracker-add-card{height:58px;border-radius:12px;border:1px dashed var(--line-2);background:transparent;color:var(--sub);display:flex;align-items:center;justify-content:center;gap:6px;font-family:var(--sans);font-size:12px;cursor:pointer;transition:border-color var(--duration-fast) var(--ease-smooth),color var(--duration-fast) var(--ease-smooth)}.tracker-add-card:hover{border-color:var(--ink);color:var(--ink)}.tracker-spacer{height:24px}.qi{display:flex;gap:12px;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:14px;transition:border-color var(--duration-fast) var(--ease-smooth),opacity var(--duration-fast) var(--ease-smooth);position:relative}.qi:hover{border-color:var(--line-2)}.qi-completed{opacity:.55}.qi-completed .qi-title{text-decoration:line-through}.qi-locked{opacity:.5}.qi-swatch{flex-shrink:0}.qi-lock{width:32px;height:32px;border-radius:8px;background:var(--stone);display:flex;align-items:center;justify-content:center}.qi-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.qi-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.qi-title{font-family:var(--serif);font-weight:400;font-size:17px;line-height:1.2;letter-spacing:-.2px;color:var(--ink);margin:0}.qi-xp{font-family:var(--mono);font-size:10px;letter-spacing:.5px;color:var(--sub);text-transform:uppercase;flex-shrink:0;display:inline-flex;align-items:center;gap:4px}.qi-completed .qi-xp{color:var(--ink)}.qi-desc{font-size:13px;color:var(--sub);line-height:1.5;margin:0}.qi-why-toggle{display:inline-flex;align-items:center;gap:6px;background:transparent;border:none;padding:4px 0;font-family:var(--mono);font-size:10px;letter-spacing:.6px;text-transform:uppercase;color:var(--sub);cursor:pointer;align-self:flex-start;margin-top:2px}.qi-why-toggle:hover{color:var(--ink)}.qi-why-text{font-size:13px;color:var(--sub);line-height:1.55;margin:4px 0 0;padding:10px 12px;background:var(--bg);border-radius:8px;font-style:italic}.qi-actions{display:flex;gap:8px;margin-top:4px}.qi-xp-popup{position:absolute;top:12px;right:14px;font-family:var(--serif);font-size:14px;color:var(--rust);animation:qi-xp .9s var(--ease-enter) forwards;pointer-events:none}@keyframes qi-xp{0%{opacity:0;transform:translateY(6px)}30%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-10px)}}.qi-just-completed{animation:qi-complete .6s var(--ease-enter)}@keyframes qi-complete{0%{background:var(--paper)}40%{background:var(--paper-hi)}to{background:var(--paper)}}.qb{display:flex;flex-direction:column;gap:18px;min-width:0;width:100%}.qb>*{min-width:0}.qb-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;width:100%}.qb-day-cell{aspect-ratio:1;border-radius:10px;background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;font-family:var(--mono);font-size:10px;letter-spacing:.5px;color:var(--sub);transition:border-color var(--duration-fast) var(--ease-smooth),background var(--duration-fast) var(--ease-smooth),color var(--duration-fast) var(--ease-smooth)}.qb-day-cell:hover{border-color:var(--line-2)}.qb-day-num{font-family:var(--mono);font-size:11px;color:inherit;font-weight:500}.qb-day-fraction{font-family:var(--mono);font-size:9px;color:var(--sub);letter-spacing:.4px}.qb-day-cell-current{border-color:var(--ink)}.qb-day-cell-past{color:var(--ink)}.qb-day-cell-done{background:var(--ink);color:var(--paper);border-color:var(--ink)}.qb-day-cell-done .qb-day-num,.qb-day-cell-done .qb-day-fraction{color:var(--paper)}.qb-day-cell-selected{border-color:var(--ink);box-shadow:0 0 0 2px #1c1c1914}.qb-focus{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;flex-direction:column;gap:10px}.qb-focus-title{font-family:var(--serif);font-weight:400;font-size:20px;line-height:1.2;letter-spacing:-.3px;color:var(--ink);margin:2px 0}.qb-focus-bar{display:flex;flex-direction:column;gap:6px;margin-top:6px}.qb-focus-meta{font-family:var(--mono);font-size:10px;color:var(--sub);letter-spacing:.4px}.qb-list{display:flex;flex-direction:column;gap:8px}.ps{display:flex;flex-direction:column;gap:22px;padding:6px 0 20px}.ps-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:18px 0 4px}.ps-title{font-family:var(--serif);font-weight:400;font-size:40px;letter-spacing:-1px;line-height:1.02;color:var(--ink);margin:6px 0 4px}.ps-title em{font-style:italic}.ps-sub{font-size:14px;color:var(--sub);line-height:1.55;margin:0 auto;max-width:320px}.ps-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ps-stat{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 10px;text-align:center}.ps-stat-n{font-family:var(--serif);font-size:28px;color:var(--ink);letter-spacing:-.4px;margin-bottom:4px}.ps-stat-unit{font-family:var(--serif);font-size:16px;color:var(--sub);margin-left:1px}.ps-section{display:flex;flex-direction:column;gap:10px}.ps-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.ps-day{aspect-ratio:1;border-radius:10px;background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px}.ps-day-n{font-family:var(--mono);font-size:10px;color:var(--sub);letter-spacing:.5px}.ps-day-frac{font-family:var(--mono);font-size:10px;color:var(--ink)}.ps-day-partial{border-color:var(--line-2)}.ps-day-done{background:var(--ink);border-color:var(--ink)}.ps-day-done .ps-day-n,.ps-day-done .ps-day-frac{color:var(--paper)}.ps-xp-card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:16px}.ps-xp-head{font-family:var(--serif);color:var(--ink);letter-spacing:-.2px}.ps-xp-earned{font-size:28px}.ps-xp-total{color:var(--sub);font-size:14px}.quests-page{min-height:100vh;background:var(--bg);color:var(--ink);padding-top:env(safe-area-inset-top,0);padding-bottom:calc(var(--bottom-nav-height) + 24px + env(safe-area-inset-bottom,0));max-width:520px;margin:0 auto;overflow-x:hidden}.qp-content{padding:18px 22px 0;min-width:0}.qp-spacer{height:24px}.qp-start{padding:22px 22px 0;display:flex;flex-direction:column;gap:18px}.qp-start-robbi{display:flex;justify-content:center;padding:12px 0}.qp-start-lede{font-size:15px;line-height:1.55;color:var(--sub);text-align:center;margin:0;padding:0 16px}.qp-features{display:flex;flex-direction:column;gap:10px;margin:4px 0}.qp-feature{display:flex;gap:14px;align-items:flex-start;padding:14px;background:var(--paper);border:1px solid var(--line);border-radius:14px}.qp-feature-num{font-family:var(--serif);font-size:24px;line-height:1;color:var(--ink);letter-spacing:-.2px;min-width:32px}.qp-feature-title{font-family:var(--serif);font-size:16px;letter-spacing:-.2px;color:var(--ink);margin-bottom:2px}.qp-feature-desc{font-size:13px;color:var(--sub);line-height:1.5}.ap{aspect-ratio:1;background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:10px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:4px;transition:border-color var(--duration-fast) var(--ease-smooth)}.ap:hover{border-color:var(--line-2)}.ap-locked{opacity:.4}.ap-hidden{opacity:.25}.ap-glyph{font-family:var(--serif);font-size:24px;color:var(--ink);line-height:1}.ap-title{font-family:var(--sans);font-size:10px;color:var(--ink);font-weight:500;line-height:1.3;max-width:100%;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.ap-tier{font-family:var(--mono);font-size:8px;color:var(--sub);letter-spacing:.6px}.ap-bar{width:80%;margin-top:2px}.ads{display:flex;flex-direction:column;gap:16px}.ads-hero{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px 0;text-align:center}.ads-glyph{width:80px;height:80px;border-radius:18px;background:var(--bg);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:42px;color:var(--ink);line-height:1}.ads-glyph.locked{opacity:.35}.ads-desc{margin:0;font-size:14px;line-height:1.55;color:var(--ink);text-align:center}.ads-progress{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:14px}.ads-progress-meta{margin-top:6px;font-family:var(--mono);font-size:10px;color:var(--sub);text-align:right}.ads-unlocked{background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:14px;text-align:center;display:flex;flex-direction:column;gap:6px;align-items:center}.ads-unlocked-date{font-family:var(--serif);font-size:18px;color:var(--ink);letter-spacing:-.2px}.ads-xp{font-family:var(--mono);font-size:11px;letter-spacing:.6px;color:var(--sub);text-transform:uppercase}.cms{width:100%;display:flex;flex-direction:column;gap:10px}.cms-custom-chips,.cms-options{display:flex;flex-wrap:wrap;gap:8px}.cms-chip{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:999px;background:transparent;color:var(--ink);border:1px solid var(--line-2);font-family:var(--sans);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--duration-fast) var(--ease-smooth),color var(--duration-fast) var(--ease-smooth),border-color var(--duration-fast) var(--ease-smooth);-webkit-tap-highlight-color:transparent}.cms-chip:hover{border-color:var(--ink)}.cms-chip-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.cms-chip-active:hover{background:var(--ink-2)}.cms-chip-custom{padding-right:6px}.cms-chip-remove{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:999px;background:#fbf9f426;color:currentColor;border:none;cursor:pointer;transition:background var(--duration-fast) var(--ease-smooth)}.cms-chip-remove:hover{background:#fbf9f44d}.cms-input-wrap{position:relative;display:flex;gap:8px;align-items:stretch}.cms-input{flex:1;height:44px;padding:0 14px;background:var(--paper);border:1px solid var(--line-2);border-radius:12px;color:var(--ink);font-family:var(--sans);font-size:14px;outline:none;transition:border-color var(--duration-fast) var(--ease-smooth)}.cms-input:focus{border-color:var(--ink)}.cms-input::placeholder{color:var(--sub-hi)}.cms-add-btn{height:44px;padding:0 16px;background:var(--ink);color:var(--paper);border:none;border-radius:12px;font-family:var(--sans);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--duration-fast) var(--ease-smooth)}.cms-add-btn:hover{background:var(--ink-2)}.profile-page{min-height:100vh;background:var(--bg);color:var(--ink);padding-top:env(safe-area-inset-top,0);padding-bottom:calc(var(--bottom-nav-height) + 24px + env(safe-area-inset-bottom,0));padding-left:var(--pad-screen);padding-right:var(--pad-screen);max-width:520px;margin:0 auto;overflow-x:hidden;box-sizing:border-box;width:100%}.profile-page .q-big-header{padding-left:0;padding-right:0}.pp-section{padding:18px 0 0}.pp-identity{display:flex;align-items:center;gap:14px;padding:18px 0 0}.pp-avatar{width:60px;height:60px;border-radius:999px;background:var(--ink);color:var(--paper);font-family:var(--serif);font-size:26px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pp-identity-body{flex:1;min-width:0}.pp-name{font-family:var(--serif);font-size:22px;letter-spacing:-.3px;color:var(--ink)}.pp-subtitle{font-size:12px;color:var(--sub);margin-top:2px}.pp-level-card{background:var(--ink);color:var(--paper);border-radius:18px;padding:18px;display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.pp-level-left{min-width:0}.pp-level-right{text-align:right;flex-shrink:0}.pp-level-n{font-family:var(--serif);font-size:48px;line-height:1;letter-spacing:-1px;margin-top:4px}.pp-level-title{font-family:var(--sans);font-size:12px;opacity:.7;margin-top:4px}.pp-level-xp{font-family:var(--mono);font-size:14px;margin-top:2px}.pp-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pp-stat-tile{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 10px;text-align:center}.pp-stat-n{font-family:var(--serif);font-size:26px;color:var(--ink);letter-spacing:-.4px;margin-bottom:4px}.pp-anon-card{width:100%;text-align:left;background:var(--paper);border:1px solid var(--line-2);border-radius:14px;padding:16px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:border-color var(--duration-fast) var(--ease-smooth)}.pp-anon-card:hover{border-color:var(--ink)}.pp-anon-title{font-family:var(--serif);font-size:17px;letter-spacing:-.2px;color:var(--ink);margin-top:4px}.pp-link-form{display:flex;flex-direction:column;gap:10px;margin-top:10px}.pp-input{width:100%;height:46px;padding:0 14px;background:var(--paper);border:1px solid var(--line-2);border-radius:12px;font-family:var(--sans);font-size:14px;color:var(--ink)}.pp-input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #1c1c190f}.pp-error{color:var(--rust);font-size:13px;margin:0}.pp-achievement-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pp-achievement-tile{background:transparent;border:none;padding:0;cursor:pointer;display:block;aspect-ratio:1}.pp-achievement-tile>.ap{width:100%;height:100%;aspect-ratio:auto}.pp-settings{background:var(--paper);border:1px solid var(--line);border-radius:14px;overflow:hidden}.pp-setting-row{display:flex;align-items:center;gap:12px;width:100%;padding:14px;background:transparent;border:none;border-bottom:1px solid var(--line);text-align:left;font-family:inherit;color:var(--ink);cursor:default}.pp-setting-row:last-child{border-bottom:none}.pp-setting-editable{cursor:pointer;transition:background var(--duration-fast) var(--ease-smooth)}.pp-setting-editable:hover{background:var(--paper-hi)}.pp-setting-label{font-family:var(--sans);font-size:13px;color:var(--sub);flex-shrink:0;min-width:110px}.pp-setting-value{flex:1;font-family:var(--sans);font-size:14px;color:var(--ink);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pp-danger-section{display:flex;flex-direction:column;gap:12px;padding-top:12px}.pp-danger-link{background:transparent;border:none;padding:8px 0;font-family:var(--sans);font-size:13px;color:var(--rust);cursor:pointer;text-align:center}.pp-danger-link:hover{text-decoration:underline}.pp-edit-content{display:flex;flex-direction:column;gap:14px}.pp-delete-content{display:flex;flex-direction:column;gap:10px}.pp-delete-content p{font-size:14px;line-height:1.55;margin:0;color:var(--ink)}.pp-spacer{height:24px}.analytics-page{min-height:100vh;background:var(--gray-50);padding:0 var(--space-4);padding-top:env(safe-area-inset-top,0);padding-bottom:var(--space-6)}.analytics-loading,.analytics-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:var(--space-4);color:var(--gray-600);font-family:var(--font-body);font-size:var(--text-base)}.analytics-error{color:var(--error)}.analytics-retry-btn{padding:var(--space-3) var(--space-5);background:var(--primary);color:#fff;border:none;border-radius:var(--radius-lg);font-family:var(--font-display);font-weight:var(--weight-bold);cursor:pointer;transition:transform var(--duration-fast) var(--ease-smooth)}.analytics-retry-btn:hover{transform:scale(1.05)}.analytics-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5) 0 var(--space-4)}.analytics-header h1{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--gray-900);margin:0}.analytics-refresh-btn{padding:var(--space-2) var(--space-4);background:#fff;border:2px solid var(--gray-200);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--gray-700);cursor:pointer;transition:all var(--duration-fast) var(--ease-smooth)}.analytics-refresh-btn:hover{border-color:var(--primary);color:var(--primary)}.analytics-overview{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-bottom:var(--space-5)}.overview-card{background:#fff;border-radius:var(--radius-lg);padding:var(--space-4);border:1px solid var(--gray-200);display:flex;flex-direction:column;align-items:center;gap:var(--space-1);text-align:center;animation:fadeInUp var(--duration-slow) var(--ease-smooth) both}.overview-icon{font-size:24px;margin-bottom:var(--space-1)}.overview-value{font-family:var(--font-mono);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--gray-900);line-height:1}.overview-label{font-family:var(--font-body);font-size:var(--text-xs);color:var(--gray-600);font-weight:var(--weight-medium)}.analytics-section{margin-bottom:var(--space-5)}.analytics-section h2{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--gray-900);margin:0 0 var(--space-3) 0}.chart-container{background:#fff;border-radius:var(--radius-lg);padding:var(--space-4);border:1px solid var(--gray-200)}.chart-empty{display:flex;align-items:center;justify-content:center;height:200px;color:var(--gray-400);font-family:var(--font-body);font-size:var(--text-sm)}.analytics-table-wrap{background:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);overflow:hidden}.analytics-table{width:100%;border-collapse:collapse;font-family:var(--font-body);font-size:var(--text-sm)}.analytics-table thead{background:var(--gray-50)}.analytics-table th{padding:var(--space-3) var(--space-2);text-align:left;font-weight:var(--weight-semibold);color:var(--gray-600);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--gray-200)}.analytics-table td{padding:var(--space-3) var(--space-2);border-bottom:1px solid var(--gray-100);color:var(--gray-700)}.analytics-table tr:last-child td{border-bottom:none}.analytics-table tr:hover{background:var(--gray-50)}.user-cell{display:flex;flex-direction:column;gap:2px}.user-name{font-weight:var(--weight-medium);color:var(--gray-900)}.user-id{font-family:var(--font-mono);font-size:10px;color:var(--gray-400)}.num-cell{font-family:var(--font-mono);font-weight:var(--weight-semibold);text-align:center}.status-cell{text-align:center}.status-badge{display:inline-block;padding:2px var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.status-badge.success{background:var(--tint-green);color:var(--success-green)}.status-badge.pending{background:var(--gray-100);color:var(--gray-500)}.table-empty{display:flex;align-items:center;justify-content:center;padding:var(--space-6);color:var(--gray-400);font-family:var(--font-body);font-size:var(--text-sm)}.analytics-spacer{height:var(--space-4)}@media(min-width:768px){.analytics-page{max-width:var(--max-width-tablet);margin:0 auto;padding:0 var(--space-6)}.analytics-overview{grid-template-columns:repeat(4,1fr)}.analytics-table th,.analytics-table td{padding:var(--space-3) var(--space-4)}}@media(prefers-reduced-motion:reduce){.overview-card{animation:none!important}}:root{--bg: #F3EFE7;--paper: #FBF9F4;--paper-hi: #FFFDF7;--ink: #1C1C19;--ink-2: #2A2824;--sub: #6B655A;--sub-hi: #918879;--line: #E4DFD4;--line-2: #D9D2C4;--stone: #D9D2C4;--rust: #B8533A;--rust-hi: #D6633F;--sage: #5C7A5F;--scrim: rgba(28, 28, 25, .45);--primary: var(--ink);--primary-hover: var(--ink-2);--primary-light: rgba(28, 28, 25, .06);--primary-blue: var(--ink);--primary-purple: var(--ink);--primary-orange: var(--rust);--success-green: var(--sage);--warning-yellow: var(--rust);--error-red: var(--rust);--error: var(--rust);--gray-50: var(--paper);--gray-100: var(--bg);--gray-200: var(--line);--gray-300: var(--line-2);--gray-400: var(--sub-hi);--gray-500: var(--sub);--gray-600: var(--sub);--gray-700: var(--ink-2);--gray-800: var(--ink);--gray-900: var(--ink);--tint-blue: var(--paper);--tint-purple: var(--paper);--tint-orange: var(--paper);--tint-green: var(--paper);--tint-gold: var(--paper);--tint-red: var(--paper);--glass-bg: rgba(251, 249, 244, .92);--glass-border: var(--line);--glass-blur: 10px;--gradient-primary: var(--ink);--gradient-warm: var(--rust);--gradient-cool: var(--ink);--gradient-success: var(--sage);--gradient-gold: var(--rust);--quest-active: var(--ink);--quest-completed: var(--sage);--quest-locked: var(--sub-hi);--achievement-bronze: #A67A4E;--achievement-silver: #918879;--achievement-gold: var(--rust);--xp-bar: var(--ink);--serif: "Fraunces", "Cormorant Garamond", Georgia, serif;--sans: "Inter Tight", "Inter", -apple-system, system-ui, sans-serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-display: var(--serif);--font-body: var(--sans);--font-mono: var(--mono);--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--text-4xl: 40px;--text-5xl: 56px;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 500;--weight-bold: 500;--leading-tight: 1.1;--leading-snug: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.65;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--pad-screen: 22px;--radius-xs: 6px;--radius-sm: 10px;--radius-md: 12px;--radius-lg: 14px;--radius-xl: 18px;--radius-2xl: 22px;--radius-3xl: 28px;--radius-phone: 52px;--radius-full: 9999px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .06);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .08);--shadow-xl: 0 16px 40px rgba(0, 0, 0, .1);--shadow-hero: 0 40px 80px -20px rgba(28, 28, 25, .28), 0 0 0 1px rgba(0, 0, 0, .06);--shadow-sheet: 0 -10px 40px rgba(0, 0, 0, .12);--shadow-primary: var(--shadow-md);--shadow-orange: var(--shadow-md);--shadow-success: var(--shadow-md);--ease-smooth: cubic-bezier(.4, 0, .2, 1);--ease-enter: cubic-bezier(.2, .8, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-spring: cubic-bezier(.2, .9, .25, 1);--ease-bounce: var(--ease-enter);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--duration-slower: .6s;--duration-sheet: .32s;--header-height: 64px;--bottom-nav-height: 64px;--container-padding: var(--pad-screen);--max-width-mobile: 100%;--max-width-tablet: 520px;--max-width-desktop: 1160px;--phone-width: 375px;--phone-height: 780px}@media(min-width:768px){:root{--text-base: 16px;--text-lg: 18px;--text-2xl: 26px;--text-3xl: 36px;--text-4xl: 48px;--container-padding: var(--space-6)}}@media(min-width:1024px){:root{--text-3xl: 42px;--text-4xl: 56px;--text-5xl: 72px;--container-padding: var(--space-8)}}@media(prefers-reduced-motion:reduce){:root{--duration-fast: 0ms;--duration-normal: 0ms;--duration-slow: 0ms;--duration-slower: 0ms;--duration-sheet: 0ms}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.9) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-2deg)}75%{transform:rotate(2deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes floatSlow{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes shine{0%{transform:translate(-100%) skew(-15deg)}to{transform:translate(200%) skew(-15deg)}}@keyframes glow{0%,to{opacity:1}50%{opacity:.7}}@keyframes progressFill{0%{transform:scaleX(0);transform-origin:left}to{transform:scaleX(1);transform-origin:left}}@keyframes dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}@keyframes slideProgress{0%{background-position:0% 0%}to{background-position:200% 0%}}@keyframes confetti{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(var(--confetti-x, 0),var(--confetti-y, 100vh)) rotate(360deg);opacity:0}}@keyframes starBurst{0%{transform:scale(0);opacity:1}to{transform:scale(2);opacity:0}}.animate-fadeIn{animation:fadeIn var(--duration-normal) var(--ease-smooth)}.animate-fadeInUp{animation:fadeInUp var(--duration-slow) var(--ease-smooth)}.animate-bounceIn{animation:bounceIn var(--duration-slow) var(--ease-smooth)}.animate-popIn{animation:popIn var(--duration-normal) var(--ease-smooth)}.animate-pulse{animation:pulse 2s var(--ease-smooth) infinite}.animate-float{animation:float 4s ease-in-out infinite}.animate-spin{animation:spin 1s linear infinite}.animate-shake{animation:shake .4s var(--ease-smooth)}.stagger-1{animation-delay:.05s}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.stagger-6{animation-delay:.3s}.transition-smooth{transition:all var(--duration-normal) var(--ease-smooth)}.transition-fast{transition:all var(--duration-fast) var(--ease-smooth)}.transition-slow{transition:all var(--duration-slow) var(--ease-smooth)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.block{display:block}.inline-block{display:inline-block}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.p-0{padding:0}.p-1{padding:var(--space-1)}.p-2{padding:var(--space-2)}.p-3{padding:var(--space-3)}.p-4{padding:var(--space-4)}.p-5{padding:var(--space-5)}.p-6{padding:var(--space-6)}.p-8{padding:var(--space-8)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.px-6{padding-left:var(--space-6);padding-right:var(--space-6)}.py-6{padding-top:var(--space-6);padding-bottom:var(--space-6)}.m-0{margin:0}.m-auto{margin:auto}.m-2{margin:var(--space-2)}.m-4{margin:var(--space-4)}.m-6{margin:var(--space-6)}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:var(--space-4);margin-bottom:var(--space-4)}.my-6{margin-top:var(--space-6);margin-bottom:var(--space-6)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-display{font-family:var(--font-display)}.font-body{font-family:var(--font-body)}.font-mono{font-family:var(--font-mono)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.text-3xl{font-size:var(--text-3xl)}.text-4xl{font-size:var(--text-4xl)}.font-normal{font-weight:var(--weight-normal)}.font-medium{font-weight:var(--weight-medium)}.font-semibold{font-weight:var(--weight-semibold)}.font-bold{font-weight:var(--weight-bold)}.leading-tight{line-height:var(--leading-tight)}.leading-normal{line-height:var(--leading-normal)}.leading-relaxed{line-height:var(--leading-relaxed)}.text-primary{color:var(--primary-blue)}.text-orange{color:var(--primary-orange)}.text-success{color:var(--success-green)}.text-error{color:var(--error-red)}.text-gray-600{color:var(--gray-600)}.text-gray-800{color:var(--gray-800)}.text-gray-900{color:var(--gray-900)}.text-white{color:#fff}.bg-white{background-color:#fff}.bg-gray-50{background-color:var(--gray-50)}.bg-gray-100{background-color:var(--gray-100)}.bg-primary{background-color:var(--primary-blue)}.bg-orange{background-color:var(--primary-orange)}.bg-success{background-color:var(--success-green)}.bg-gradient-primary{background:var(--gradient-primary)}.bg-gradient-warm{background:var(--gradient-warm)}.bg-gradient-cool{background:var(--gradient-cool)}.bg-gradient-success{background:var(--gradient-success)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.shadow-none{box-shadow:none}.shadow-primary{box-shadow:var(--shadow-primary)}.shadow-orange{box-shadow:var(--shadow-orange)}.shadow-success{box-shadow:var(--shadow-success)}.w-full{width:100%}.h-full{height:100%}.w-auto{width:auto}.h-auto{height:auto}.max-w-full{max-width:100%}.min-h-screen{min-height:100vh}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-100{z-index:100}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-100{opacity:1}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.touch-none{touch-action:none}.touch-pan-x{touch-action:pan-x}.touch-pan-y{touch-action:pan-y}.select-none{-webkit-user-select:none;user-select:none}.tap-highlight-transparent{-webkit-tap-highlight-color:transparent}.pulse-glow{animation:pulse 2s ease-in-out infinite;box-shadow:0 0 20px currentColor}.shimmer-effect{position:relative;overflow:hidden}.shimmer-effect:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}.glass-effect{background:#ffffffd9;border:1px solid var(--gray-200)}.card-hover{transition:all var(--duration-normal) var(--ease-smooth)}.card-hover:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card-hover:active{transform:translateY(-2px)}.safe-top{padding-top:env(safe-area-inset-top)}.safe-bottom{padding-bottom:env(safe-area-inset-bottom)}.safe-left{padding-left:env(safe-area-inset-left)}.safe-right{padding-right:env(safe-area-inset-right)}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--container-padding);padding-right:var(--container-padding)}@media(min-width:768px){.container{max-width:var(--max-width-tablet)}}@media(min-width:1024px){.container{max-width:var(--max-width-desktop)}}@media(min-width:768px){.tablet\:flex{display:flex}.tablet\:hidden{display:none}.tablet\:grid-cols-2{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.desktop\:flex{display:flex}.desktop\:hidden{display:none}.desktop\:grid-cols-3{grid-template-columns:repeat(3,1fr)}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;font-size:16px}body{margin:0;font-family:var(--sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--ink);background:var(--bg);overflow-x:hidden}body{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}input,select,textarea{font-size:16px}h1,h2,h3,h4,h5,h6{font-family:var(--serif);font-weight:400;line-height:var(--leading-tight);letter-spacing:-.4px;margin:0;color:var(--ink)}em{font-style:italic}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-3xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base)}p{margin:0;line-height:var(--leading-normal)}a{color:var(--primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-smooth)}a:hover{color:var(--primary-hover)}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit;margin:0}button{border:none;background:none;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.6}input,textarea,select{width:100%;outline:none;border:1px solid var(--line-2);border-radius:var(--radius-md);padding:14px 16px;background:var(--paper);color:var(--ink);font-family:var(--sans);transition:border-color var(--duration-fast) var(--ease-smooth),box-shadow var(--duration-fast) var(--ease-smooth)}input:focus,textarea:focus,select:focus{border-color:var(--ink);box-shadow:0 0 0 3px #1c1c190f}input::placeholder,textarea::placeholder{color:var(--sub-hi)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}img,svg,video{max-width:100%;height:auto;display:block}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--sub-hi)}::selection{background:var(--ink);color:var(--paper)}::-moz-selection{background:var(--ink);color:var(--paper)}:focus-visible{outline:2px solid var(--ink);outline-offset:2px}#root{min-height:100vh;display:flex;flex-direction:column}@supports (padding: env(safe-area-inset-top)){body{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}@media(max-width:767px){body{-webkit-text-size-adjust:none;text-size-adjust:none}}@media(hover:none)and (pointer:coarse){.card-hover:hover{transform:none}}@supports (-webkit-overflow-scrolling: touch){*{-webkit-overflow-scrolling:touch}}@media print{*,*:before,*:after{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}img{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}}
