:root{--bg: #0e0e10;--bg-dark: #0a0a0a;--surface: #16161a;--surface-2: #1c1c22;--line: #2a2a30;--line-dark: #262626;--text: #ededed;--text-54: rgba(255,255,255,.54);--text-38: rgba(255,255,255,.38);--text-70: rgba(255,255,255,.7);--muted: #a1a1aa;--muted-dim: #6b7280;--accent: #7c7cff;--accent-tint: rgba(124,124,255,.15);--positive: #4ade80;--ios-blue: #007aff;--ios-blue-border: #4da3ff;--ios-blue-deep: #0b3765;--ios-blue-text: #dceeff;--ios-blue-sub: #e6f3ff;--mono: "Roboto Mono", "Courier New", monospace}*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--text);background:var(--bg);min-height:100vh;-webkit-font-smoothing:antialiased}.app-shell{min-height:100vh;display:flex;justify-content:center;background:var(--bg)}.app-frame{width:100%;max-width:430px;min-height:100vh;background:var(--bg-dark);border-left:1px solid var(--line-dark);border-right:1px solid var(--line-dark);display:flex;flex-direction:column}.app-header{padding:12px 16px;border-bottom:1px solid var(--line-dark);background:var(--bg-dark);display:flex;align-items:center;justify-content:space-between;gap:12px}.header-content{flex:1;min-width:0;text-align:center}.header-cta{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 12px;border-radius:999px;border:1px solid var(--line);background:var(--surface-2);color:var(--muted);text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;transition:border-color .15s,background .15s,color .15s,transform .12s}.header-cta:hover{border-color:#ffffff57;color:var(--text)}.header-cta:active{transform:translateY(1px)}.header-cta-primary{border-color:#7c7cff73;background:var(--accent-tint);color:var(--text)}.header-cta-primary:hover{border-color:var(--accent);background:#7c7cff38}.app-title{margin:0;font-size:28px;font-weight:700;letter-spacing:-1px;color:var(--text);line-height:1.2}.header-subtitle{margin:4px 0 0;font-size:10px;color:var(--text-54);font-family:var(--mono);letter-spacing:2px;text-transform:uppercase}@media(max-width:420px){.app-header{padding:16px 12px;gap:8px}.header-cta{min-height:34px;padding:0 10px;font-size:10px}.app-title{font-size:22px}}.setup-section{background:var(--surface);border-bottom:1px solid var(--line);padding:24px;flex-shrink:0}.section-eyebrow{margin:0 0 16px;color:var(--text-54);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;text-align:center}.setup-content{display:flex;flex-direction:column;gap:20px}.setup-question{margin:0;color:var(--text-54);font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:2px;text-transform:uppercase;text-align:center}.setup-helper{margin:-12px 0 0;color:var(--muted);font-size:12px;line-height:1.4;text-align:center}.mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tab{position:relative;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--muted);padding:12px;min-height:46px;font-family:inherit;font-size:13px;font-weight:700;cursor:pointer;transition:border-color .15s,background .15s,color .15s,transform .12s,box-shadow .12s;box-shadow:inset 0 -2px #00000040}.tab.is-active{border-color:var(--accent);background:var(--accent-tint);color:var(--text);box-shadow:0 0 0 1px #7c7cff80,inset 0 -2px #7c7cff59}.tab.is-active:after{content:"✓";position:absolute;top:6px;right:8px;width:16px;height:16px;border-radius:999px;display:grid;place-items:center;background:#7c7cfff2;color:#0e0e10;font-size:11px;font-weight:700}.tab:hover{border-color:#ffffff57;color:var(--text)}.tab:active{transform:translateY(1px)}.tab:focus-visible,.media-tile:focus-visible,.chip:focus-visible,.primary-btn:focus-visible,.outlined-btn:focus-visible,.next-btn:focus-visible{outline:2px solid rgba(124,124,255,.85);outline-offset:2px}.tap-hint{margin:0 0 14px;color:var(--muted);font-family:var(--mono);font-size:10px;letter-spacing:.8px;text-align:center;display:none}.field-group{margin-bottom:14px}.field-label{margin:0 0 8px;color:var(--muted-dim);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase}.field-label.label-blue{color:var(--ios-blue)}.option-hint{margin:-2px 0 8px;color:var(--muted-dim);font-family:var(--mono);font-size:10px}.media-tile-list[data-mode=random]{display:flex;flex-direction:column;gap:12px}.media-tile-list[data-mode=random] .media-tile{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2);color:var(--muted);cursor:pointer;text-align:left;transition:border-color .15s,background .15s,transform .12s}.media-tile-list[data-mode=random] .media-tile.is-active{border:2px solid var(--accent);background:var(--accent-tint);color:var(--text)}.media-tile-list[data-mode=random] .media-tile:hover{border-color:#ffffff4d}.media-tile-list[data-mode=random] .media-tile:active{transform:translateY(1px)}.tile-check{width:18px;height:18px;flex-shrink:0;border:2px solid var(--muted);border-radius:3px;display:flex;align-items:center;justify-content:center;transition:border-color .15s,background .15s}.media-tile.is-active .tile-check{border-color:var(--accent);background:var(--accent)}.media-tile.is-active .tile-check:after{content:"";width:4px;height:8px;border-right:2px solid #0e0e10;border-bottom:2px solid #0e0e10;transform:rotate(45deg) translate(-1px,-1px)}.tile-label{font-family:inherit;font-size:16px;font-weight:600}.media-tile-list[data-mode=mood]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.media-tile-list[data-mode=mood] .media-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-height:104px;padding:14px 12px;border:1px solid var(--line-dark);border-radius:10px;background:var(--surface);color:var(--muted);cursor:pointer;text-align:left;transition:background .16s,border-color .16s,box-shadow .16s,transform .12s}.media-tile-list[data-mode=mood] .media-tile.is-active{background:var(--ios-blue);border:2px solid var(--ios-blue-border);box-shadow:0 4px 10px #007aff40}.media-tile-list[data-mode=mood] .media-tile:hover{border-color:#ffffff52}.media-tile-list[data-mode=mood] .media-tile:active{transform:translateY(1px)}.selection-badge{position:absolute;top:8px;right:8px;width:18px;height:18px;border-radius:999px;display:grid;place-items:center;font-family:var(--mono);font-size:11px;font-weight:700;opacity:0;transform:scale(.8);transition:opacity .12s,transform .12s;pointer-events:none}.media-tile-list[data-mode=random] .selection-badge{background:#7c7cfff2;color:#0e0e10}.media-tile-list[data-mode=mood] .selection-badge{background:#ffffffeb;color:#004ea2}.media-tile.is-active .selection-badge{opacity:1;transform:scale(1)}.mc-icon{width:20px;height:20px;color:var(--muted-dim);margin-bottom:8px;display:block}.media-tile-list[data-mode=mood] .media-tile.is-active .mc-icon{color:#fff}.mc-title{font-size:13px;font-weight:700;color:var(--text);letter-spacing:.8px;display:block}.media-tile-list[data-mode=mood] .media-tile.is-active .mc-title{color:#fff}.mc-sub{font-size:10px;color:var(--muted-dim);margin-top:2px;display:block}.media-tile-list[data-mode=mood] .media-tile.is-active .mc-sub{color:var(--ios-blue-sub)}.mood-panel{margin-top:4px}.mood-heading{margin:0 0 6px;font-size:16px;font-weight:700;color:var(--text);letter-spacing:.2px}.mood-subheading{margin:0 0 14px;font-size:12px;color:#8a8f98;line-height:1.4}.section-label{margin:0 0 8px;color:#9ca3af;font-size:11px;font-weight:700;letter-spacing:1.2px}.mood-footer-hint{margin:8px 0 0;font-family:var(--mono);font-size:9px;color:#64748b;letter-spacing:1px;text-align:center}.chip-group{display:flex;flex-wrap:wrap;gap:7px}.chip{border:1px solid var(--line-dark);border-radius:20px;background:var(--surface);color:#e5e7eb;padding:6px 12px;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:border-color .12s,background .12s,color .12s}.chip.is-active{border-color:var(--ios-blue);background:var(--ios-blue-deep);color:var(--ios-blue-text)}.primary-btn{display:block;width:100%;margin-top:8px;padding:14px 16px;border:0;border-radius:8px;background:var(--accent);color:#0e0e10;font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;cursor:pointer;text-align:center;text-decoration:none;transition:opacity .15s,transform .12s;min-height:48px;display:flex;align-items:center;justify-content:center}.primary-btn.btn-mood{background:var(--ios-blue);color:#fff}.primary-btn:hover{opacity:.88}.primary-btn:active{transform:translateY(1px)}.is-hidden{display:none!important}.status{margin:0;color:var(--text-38);font-family:var(--mono);font-size:11px;letter-spacing:.5px;text-align:center;padding-bottom:8px}.card-section{flex:1;background:var(--bg-dark);padding:20px 16px;display:flex;flex-direction:column;gap:16px}.mode-shift-btn{width:100%;margin-bottom:12px;padding:12px 16px;border:0;border-radius:8px;background:var(--accent);color:#fff;font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;cursor:pointer;text-align:center;transition:opacity .15s,transform .12s;min-height:44px}.mode-shift-btn:hover{opacity:.88}.mode-shift-btn:active{transform:translateY(1px)}.rec-card{border:1px solid var(--line-dark);border-radius:10px;overflow:hidden;background:var(--surface);margin:12px 0}.card-title-section{padding:20px 20px 14px;border-bottom:1px solid var(--line-dark)}.card-title-section h2{margin:0 0 6px;font-size:clamp(18px,5vw,24px);font-weight:700;color:var(--text);letter-spacing:-.5px;line-height:1.2}.meta{margin:0;color:var(--text-38);font-family:var(--mono);font-size:11px;letter-spacing:1px}.card-body-row{display:flex;gap:16px;padding:20px}.card-poster-wrap{width:90px;height:135px;flex-shrink:0;background:#18181b;border:1px solid #2a2a2a;overflow:hidden}.card-poster-wrap img{width:100%;height:100%;object-fit:cover;display:block}.card-detail{flex:1;min-width:0}.summary{margin:0;color:var(--text-70);font-size:14px;line-height:1.5}.card-actions{display:flex;flex-direction:column;gap:12px;padding:16px 20px;border-top:1px solid var(--line-dark)}.app-upsell{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#ffffff08}.app-upsell-text{margin:0;color:var(--text-70);font-size:12px;line-height:1.55}.app-upsell-btn{align-self:flex-start;color:#a78bfa;font-size:12px;font-weight:700;text-decoration:none;letter-spacing:.02em;transition:opacity .15s}.app-upsell-btn:hover{opacity:.8}.outlined-btn{padding:12px 8px;border:1px solid rgba(255,255,255,.3);background:transparent;color:#ffffffb3;font-family:var(--mono);font-size:11px;font-weight:700;letter-spacing:.5px;cursor:pointer;transition:border-color .15s,color .15s}.outlined-btn:hover{border-color:#ffffff8c;color:var(--text)}.next-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin-top:0;padding:14px 16px;border:0;border-radius:8px;background:#fff;color:#0e0e10;font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:opacity .15s,transform .12s;min-height:50px}.next-btn:hover{opacity:.88}.next-btn:active{transform:translateY(1px)}.btn-arrow{font-size:16px;line-height:1}.install-popup{width:min(92vw,420px);border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);padding:20px}.install-popup h3{margin:0 0 10px;font-size:16px;font-weight:700}.install-popup p{margin:0 0 16px;color:var(--muted);font-size:14px;line-height:1.5}.install-popup::backdrop{background:#000000b8}.popup-actions{display:flex;gap:8px;justify-content:flex-end}.popup-actions .primary-btn{margin-top:0;width:auto;text-decoration:none}.popup-actions .outlined-btn{border-color:var(--line);color:var(--muted);padding:10px 14px}.app-footer{border-top:1px solid var(--line-dark);padding:24px 16px;text-align:center;background:var(--bg-dark);flex-shrink:0}.data-sources-section{border-top:1px solid var(--line-dark);padding:18px 16px;background:var(--surface)}.data-sources-title{margin:0 0 10px;color:var(--text-54);font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;text-align:center}.data-sources-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.data-source-logo-card{min-height:54px;border:1px solid var(--line-dark);border-radius:8px;background:var(--bg-dark);display:flex;align-items:center;justify-content:center;padding:8px}.data-source-logo-card img{width:86px;height:20px;object-fit:contain;display:block}.wiki-wordmark{width:86px;height:20px;display:inline-flex;align-items:center;justify-content:center;color:var(--text);font-family:Times New Roman,serif;font-size:12px;font-weight:600;letter-spacing:1.2px}.data-sources-note{margin:10px 0 0;color:var(--text-54);font-size:10px;text-align:center;line-height:1.4}.data-sources-note-sub{margin-top:4px;color:var(--text-38)}.footer-title{margin:0 0 8px;font-size:14px;font-weight:700;letter-spacing:.5px;color:var(--text-54);font-family:var(--mono)}.footer-subtitle{margin:0;font-size:11px;color:var(--text-38);line-height:1.5;letter-spacing:-.2px}.footer-link-row{margin:10px 0 0}.footer-link{color:var(--accent);font-size:11px;text-decoration:none}.footer-link:hover{text-decoration:underline}@media(min-width:641px){.app-shell{padding:24px 0;align-items:flex-start}.app-frame{min-height:calc(100vh - 48px);border-top:1px solid var(--line-dark);border-bottom:1px solid var(--line-dark);box-shadow:0 8px 24px #0009}}@media(max-width:640px){.app-frame{max-width:none;border:0}.data-sources-logos{grid-template-columns:1fr}}
