:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--stage,#111114);color:var(--text,#edeae4);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Geist,Helvetica Neue,system-ui,sans-serif;font-weight:400;line-height:1.45}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:var(--stage,#111114)}a{color:var(--accent,#c8b8a2)}button,input{font:inherit}.admin-root{color:#e8e6e1;background:#12141a;grid-template-columns:220px 1fr;min-height:100vh;font-family:IBM Plex Sans,Helvetica Neue,sans-serif;display:grid}.admin-side{background:#0e1015;border-right:1px solid #2a2e38;flex-direction:column;gap:16px;padding:24px 16px;display:flex}.admin-brand{letter-spacing:.14em;text-transform:uppercase;color:#a8b0c0;margin:0;font-size:12px}.admin-nav{flex-direction:column;gap:4px;display:flex}.admin-nav a{color:#c5c9d1;border-radius:8px;align-items:center;min-height:44px;padding:10px 12px;text-decoration:none;display:flex}.admin-nav a.active,.admin-nav a:hover{color:#fff;background:#1c2230}.admin-logout{color:#c5c9d1;cursor:pointer;background:0 0;border:1px solid #3a4150;border-radius:8px;min-height:44px;margin-top:auto;padding:10px 12px}.admin-main{max-width:960px;padding:28px 32px 48px}.admin-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.admin-header h1{margin:0;font-size:24px;font-weight:500}.admin-muted{color:#8b93a3;font-size:14px}.admin-error{color:#e07060}.admin-ok{color:#6e8b74}.admin-cards{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-bottom:28px;display:grid}.admin-card{background:#1a1e28;border:1px solid #2a2e38;border-radius:12px;flex-direction:column;gap:8px;padding:14px;display:flex}.admin-card span{color:#8b93a3;text-transform:uppercase;letter-spacing:.06em;font-size:12px}.admin-card strong{font-size:22px;font-weight:500}.admin-section{margin-top:24px}.admin-section h2{margin:0 0 10px;font-size:16px;font-weight:500}.admin-checks{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.admin-checks li{align-items:center;gap:8px;font-size:14px;display:flex}.admin-checks .dot{background:#e07060;border-radius:50%;width:8px;height:8px}.admin-checks li.ok .dot{background:#6e8b74}.admin-form{gap:12px;max-width:420px;display:grid}.admin-form label{color:#8b93a3;flex-direction:column;gap:6px;font-size:13px;display:flex}.admin-form input,.admin-header select,.admin-login-card input{color:#e8e6e1;font:inherit;background:#1a1e28;border:1px solid #2a2e38;border-radius:8px;padding:10px 12px}.admin-form button,.admin-login-card button,.admin-table button{color:#12141a;cursor:pointer;font:inherit;background:#c8b8a2;border:none;border-radius:8px;width:fit-content;min-height:44px;padding:10px 16px}.admin-pre{background:#1a1e28;border:1px solid #2a2e38;border-radius:8px;padding:12px;font-size:12px;overflow:auto}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid #2a2e38;padding:10px 8px}.admin-secret-list{margin:0;padding:0;font-size:14px;list-style:none}.admin-login-page{color:#e8e6e1;background:#12141a;place-items:center;min-height:100vh;font-family:IBM Plex Sans,Helvetica Neue,sans-serif;display:grid}.admin-login-card{background:#1a1e28;border:1px solid #2a2e38;border-radius:16px;flex-direction:column;gap:14px;width:min(360px,92vw);padding:28px;display:flex}.admin-login-card h1{margin:0;font-size:22px;font-weight:500}.admin-login-card label{color:#8b93a3;flex-direction:column;gap:6px;font-size:13px;display:flex}@media (width<=720px){.admin-root{grid-template-columns:1fr}.admin-side{border-bottom:1px solid #2a2e38;border-right:none}}.shell{background:var(--stage);width:100%;max-width:390px;min-height:100vh;color:var(--text);border-inline:1px solid var(--line);padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);margin:0 auto}.page{flex-direction:column;gap:16px;padding:20px 16px 40px;display:flex}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);margin:0;font-size:11px}.dim{color:var(--text-dim)}.brand-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.locale-switcher select{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:4px 8px;font-size:12px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.error{color:var(--alert)}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}.form{flex-direction:column;gap:12px;display:flex}.form label{color:var(--text-dim);flex-direction:column;gap:6px;font-size:13px;display:flex}.form input[type=date],.form input[type=time],.form input[type=text],.form input[type=email],.form select,.form input:not([type]){background:var(--stage2);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:10px 12px}.form .check{flex-direction:row;align-items:center;gap:8px}button,.ghost{background:var(--accent);color:var(--stage);cursor:pointer;border:none;border-radius:999px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:10px 16px;text-decoration:none;display:inline-flex}button:disabled{opacity:.5;cursor:not-allowed}.form-actions{flex-direction:column;gap:8px;display:flex}.form-actions button,.form-actions .secondary-cta{width:100%}button.secondary-cta,a.secondary-cta{color:var(--text);border:1px solid var(--accent);background:0 0;border-radius:999px;justify-content:center;align-items:center;min-height:44px;padding:10px 16px;font-weight:500;text-decoration:none;display:inline-flex}.advanced-block{flex-direction:column;gap:8px;display:flex}.advanced-toggle{align-self:flex-start}.sample-hint{margin:0;font-size:12px}button.ghost,a.ghost,.ghost{color:var(--accent);border:1px solid var(--line);background:0 0;padding:6px 10px;font-size:12px}.brand h1{letter-spacing:-.02em;margin:4px 0;font-size:32px;font-weight:500}.health{color:var(--ice);font-size:12px}.ritual{text-align:center;justify-content:center;align-items:center;min-height:80vh}.ritual-steps{flex-direction:column;gap:10px;margin:24px 0;padding:0;list-style:none;display:flex}.ritual-steps li{color:var(--text-dim);letter-spacing:.2em;font-size:13px}.ritual-steps li.on{color:var(--accent)}.pulse{border:1px solid var(--accent);border-radius:50%;width:48px;height:48px;animation:1.2s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.5;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}.obs-top{grid-template-columns:auto 1fr auto;align-items:start;gap:8px;display:grid}.summary{color:var(--text-dim);margin:4px 0 0;font-size:12px}.wheel-wrap{justify-content:center;display:flex}.chart-wheel{width:100%;max-width:340px;height:auto}.wheel-ring,.wheel-spoke,.house-cusp{fill:none;stroke:var(--line);stroke-width:1px}.house-label{fill:var(--text-dim);font-size:9px}.aspect-line{stroke:var(--ice);stroke-width:.8px;opacity:.25}.aspect-line.hard{stroke:var(--alert)}.aspect-line.active{opacity:.95;stroke-width:1.4px}.planet-hit{fill:var(--stage2);stroke:var(--line)}.planet.selected .planet-hit{stroke:var(--accent);stroke-width:2px}.planet-glyph,.angle-label{fill:var(--text);pointer-events:none;font-size:12px}.angle-label{fill:var(--accent);pointer-events:auto;cursor:pointer;font-size:10px}.hud-tabs{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.hud-tabs button{background:var(--stage2);color:var(--text-dim);letter-spacing:.06em;border-radius:8px;min-width:44px;min-height:44px;padding:8px 4px;font-size:11px}.hud-tabs button.on{color:var(--text);border:1px solid var(--accent)}.hud-panel{max-height:240px;font-size:12px;overflow:auto}.hud-panel table{border-collapse:collapse;width:100%}.hud-panel th,.hud-panel td{text-align:left;border-bottom:1px solid var(--line);padding:6px 4px}.hud-panel tr.selected,.aspect-list li.selected{color:var(--accent)}.aspect-list,.house-list,.stack{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.section h2{margin:0 0 6px;font-size:16px;font-weight:500}.detail-card{flex-direction:column;gap:8px;display:flex}.detail-headline{margin:0;font-size:18px;font-weight:500}.detail-deg{font-variant-numeric:tabular-nums;margin:0}.detail-lines{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.detail-hint{margin:0}.detail-actions{flex-wrap:wrap;gap:8px;display:flex}.detail-actions a{background:var(--accent);min-height:44px;color:var(--stage);border-radius:999px;justify-content:center;align-items:center;padding:10px 16px;text-decoration:none;display:inline-flex}.detail-actions a.ghost{color:var(--accent);border:1px solid var(--line);background:0 0}.reading-hero{flex-direction:column;gap:12px;display:flex}.reading-punch{margin:0;font-size:20px;font-weight:500;line-height:1.35}.chip-row{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.chip-row li{border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:12px}.section-toggle{text-align:left;justify-content:flex-start;width:100%}.cinema-end{flex-direction:column;gap:10px;margin:0 16px 16px;display:flex}.cinema-end>button,.cinema-end>a{width:100%}.cinema-end-row{gap:8px;display:flex}.cinema-end-row .ghost{flex:1}.cinema{background:var(--stage);min-height:100vh;padding:0}.cinema-stage{aspect-ratio:9/16;background:var(--stage2);border:1px solid var(--line);border-radius:16px;flex-direction:column;justify-content:flex-start;width:calc(100% - 24px);max-height:70vh;margin:12px auto;padding:0;display:flex;position:relative;overflow:hidden}.cinema-caption-safe{left:max(8%, env(safe-area-inset-left,0px));right:max(8%, env(safe-area-inset-right,0px));top:62%;bottom:max(26%, calc(26% + env(safe-area-inset-bottom,0px)));text-align:center;pointer-events:none;flex-direction:column;justify-content:center;display:flex;position:absolute}.cinema-watermark{opacity:.7;color:var(--text-dim);font-size:11px;position:absolute;bottom:56px;left:16px}.cinema-headline{margin:0;font-size:28px;font-weight:500}.cinema-sub{color:var(--text-dim);font-size:14px}.cinema-time{color:var(--ice);font-size:11px;position:absolute;top:16px;right:16px}.cinema-actions{justify-content:center;gap:8px;padding:0 16px 16px;display:flex}.cinema-actions a{background:var(--accent);min-width:44px;min-height:44px;color:var(--stage);border-radius:999px;justify-content:center;align-items:center;padding:10px 16px;text-decoration:none;display:inline-flex}.note{text-align:center;padding-bottom:20px;font-size:11px}.foot{text-align:center;font-size:12px}.unlock-panel label,.ask-panel label{color:var(--text-dim);flex-direction:column;gap:6px;margin:10px 0;font-size:13px;display:flex}.unlock-panel input,.ask-panel input{background:var(--stage2);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:10px 12px}.unlock-panel strong{color:var(--accent)}.row-between{justify-content:space-between;align-items:center;gap:8px;display:flex}.ask-log{margin-top:12px;font-size:13px}.legal h1,.legal h2{margin:0;font-size:18px;font-weight:500}audio{width:100%}.skin-actions{flex-direction:column;gap:6px;display:flex}.skin-card button.on{border:1px solid var(--accent)}.field-error{color:var(--alert);font-size:12px}.suggest-list{flex-direction:column;gap:4px;max-height:160px;margin:6px 0 0;padding:0;list-style:none;display:flex;overflow:auto}.suggest-list button{background:var(--stage2);width:100%;color:var(--text);border-radius:8px;justify-content:flex-start;min-width:44px;min-height:44px;font-size:13px}.place-picker{flex-direction:column;gap:8px;display:flex}.place-map-block{flex-direction:column;gap:6px;display:flex}.place-map{border:1px solid var(--line);background:var(--stage2);z-index:0;border-radius:12px;width:100%;height:200px;overflow:hidden}.place-map .leaflet-container{width:100%;height:100%;font:inherit;background:var(--stage2)}.place-map-hint,.place-drag-hint,.place-map-loading,.place-tz-kept{margin:0;font-size:12px}.geo-meta,.meta-panel{font-size:12px}.meta-toggle{margin-top:6px}.aspect-list li.hard{color:var(--alert)}@media (prefers-reduced-motion:reduce){.pulse,.ritual,.cinema-stage *{transition:none!important;animation:none!important}}.page .form button[type=submit],.cinema-actions a,.hud-tabs button,.unlock-panel button,.ask-panel button{min-width:44px;min-height:44px}
