:root{--bg:#0b0b0c;--surface:#15151a;--surface-2:#1e1e25;--line:#2a2a33;--text:#f1efe9;--text-dim:#a7a299;--accent:#c4520a;--accent-soft:#e0712b;--good:#57c08a;--warn:#d8a534;--danger:#d9534f;--glow:rgba(196,82,10,0.35);--tap:56px;--radius:14px;--gap:12px;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,system-ui,sans-serif;--mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,monospace}*{box-sizing:border-box}body,html{margin:0;min-height:100%;font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}body{padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}button{font-family:inherit;font-size:1rem;color:var(--text);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);min-height:var(--tap);padding:0 18px;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:active{transform:scale(.98)}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:650}button.ghost{background:transparent}.muted{color:var(--text-dim)}.pad{padding:20px}.stack{display:flex;flex-direction:column;gap:var(--gap)}.mesh-bg{position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse 80% 50% at 50% -10%,var(--glow),transparent 60%),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(147,51,234,.12),transparent 50%),var(--bg)}.display-title{font-size:clamp(2rem,8vw,3.2rem);font-weight:700;letter-spacing:-.03em;line-height:1.05;margin:0}.subtitle{font-size:1.05rem;color:var(--text-dim);margin:0;line-height:1.5}@keyframes pinShake{0%,to{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}.pin-shake{animation:pinShake .35s ease}.module-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:1fr;max-width:560px;margin:0 auto;width:100%}@media (min-width:640px){.module-grid{grid-template-columns:1fr 1fr}}.module-card{display:flex;flex-direction:column;gap:8px;padding:22px;border-radius:calc(var(--radius) + 4px);border:1px solid var(--line);background:linear-gradient(145deg,var(--surface) 0,var(--surface-2) 100%);text-decoration:none;color:inherit;transition:border-color .2s,box-shadow .2s,transform .15s;min-height:140px}.module-card:hover:not(.module-card--soon){border-color:var(--accent-soft);box-shadow:0 0 32px var(--glow);transform:translateY(-2px)}.module-card--soon{opacity:.72;cursor:default;pointer-events:none}.module-card__icon{font-size:1.8rem}.module-card__name{font-size:1.35rem;font-weight:650;margin:0;letter-spacing:-.02em}.module-card__desc{font-size:.92rem;color:var(--text-dim);margin:0;line-height:1.45}.badge{display:inline-flex;align-items:center;font-size:.72rem;font-weight:650;letter-spacing:.06em;text-transform:uppercase;padding:4px 10px;border-radius:999px;width:-moz-fit-content;width:fit-content}.badge--live{background:rgba(87,192,138,.15);color:var(--good);border:1px solid rgba(87,192,138,.35)}.badge--soon{background:rgba(167,162,153,.12);color:var(--text-dim);border:1px solid var(--line)}.shell{min-height:100dvh;display:flex;flex-direction:column}.shell-main{flex:1 1;flex-direction:column;justify-content:center;padding:24px 20px 40px}.shell-main,.top-bar{display:flex;align-items:center}.top-bar{justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line);background:rgba(11,11,12,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:-webkit-sticky;position:sticky;top:0;z-index:10}.top-bar__brand{font-weight:700;letter-spacing:-.02em}.top-bar__user{font-size:.9rem;color:var(--text-dim)}.pin-gate{max-width:360px;margin:0 auto;min-height:78vh}.pin-dots,.pin-gate{justify-content:center}.pin-dots{display:flex;gap:14px;margin:16px 0 4px}.pin-dot{width:16px;height:16px;border-radius:50%;border:2px solid var(--accent);background:transparent}.pin-dot--filled{background:var(--accent)}.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.placeholder-hero{text-align:center;max-width:480px;margin:0 auto;padding:40px 20px}.placeholder-hero__icon{font-size:3rem;margin-bottom:12px}#__next,body,html{min-height:100%}a{color:inherit}