:root{--bg: #0a0a0a;--bg-elev: #141414;--bg-card: #1a1a1a;--border: #2a2a2a;--border-strong: #3a3a3a;--gold: #c9a86a;--gold-bright: #e0c184;--gold-dim: #8a7549;--text: #ededed;--text-dim: #9a9a9a;--text-faint: #5a5a5a;--danger: #d9534f;--success: #66bb6a;--font-display: "Oswald", system-ui, sans-serif;--font-script: "Cormorant Garamond", serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--radius: 10px;--shadow-gold: 0 0 0 1px rgba(201, 168, 106, .18), 0 6px 24px rgba(0, 0, 0, .6);color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;min-height:100vh;min-height:100dvh;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none}body{background:radial-gradient(ellipse at top,rgba(201,168,106,.06),transparent 60%),radial-gradient(ellipse at bottom,rgba(201,168,106,.03),transparent 50%),#0a0a0a}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:none;border:none;padding:0}a{color:var(--gold);text-decoration:none}input[type=text],input[type=number],input[type=date],input[type=password]{width:100%;background:var(--bg-elev);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #c9a86a26}.app{max-width:560px;margin:0 auto;padding:max(env(safe-area-inset-top),20px) 20px max(env(safe-area-inset-bottom),24px);min-height:100dvh;display:flex;flex-direction:column}.h-display{font-family:var(--font-display);font-weight:600;letter-spacing:.18em;text-transform:uppercase;margin:0}.h-script{font-family:var(--font-script);font-style:italic;color:var(--gold);font-weight:500;margin:0}.muted{color:var(--text-dim)}.faint{color:var(--text-faint)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;border-radius:var(--radius);font-family:var(--font-display);font-weight:600;letter-spacing:.12em;text-transform:uppercase;font-size:14px;transition:transform .05s,background .15s,border-color .15s;border:1px solid transparent;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:#1a1306;border-color:var(--gold)}.btn-primary:disabled{background:var(--border);color:var(--text-faint);border-color:var(--border);cursor:not-allowed}.btn-ghost{background:transparent;border-color:var(--border-strong);color:var(--text)}.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}.btn-danger{background:transparent;border-color:#d9534f80;color:var(--danger)}.btn-block{width:100%}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card-link{display:block;color:inherit;transition:border-color .15s,transform .05s}.card-link:active{transform:scale(.99)}.card-link:hover{border-color:var(--gold-dim)}.stack{display:flex;flex-direction:column}.stack-sm>*+*{margin-top:8px}.stack-md>*+*{margin-top:14px}.stack-lg>*+*{margin-top:22px}.row{display:flex;align-items:center;gap:10px}.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}.grow{flex:1}.label{font-family:var(--font-display);font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);margin-bottom:6px;display:block}.divider{height:1px;background:var(--border);margin:16px 0}.hairline-gold{height:1px;background:linear-gradient(90deg,transparent,var(--gold-dim),transparent)}.counter-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.counter{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:4px}.counter .num{font-family:var(--font-display);font-size:28px;color:var(--gold);line-height:1}.counter .lbl{font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);font-size:11px}.toast{position:fixed;bottom:max(env(safe-area-inset-bottom),24px);left:50%;transform:translate(-50%);background:var(--bg-card);border:1px solid var(--gold-dim);color:var(--gold-bright);padding:10px 18px;border-radius:999px;font-size:14px;z-index:100;box-shadow:var(--shadow-gold);animation:toast-in .2s ease-out}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50;display:flex;align-items:flex-end;justify-content:center;padding:16px;animation:fade-in .2s ease-out}@media (min-width: 600px){.modal-backdrop{align-items:center}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.modal{background:var(--bg-elev);border:1px solid var(--border-strong);border-radius:16px;padding:22px;width:100%;max-width:480px;max-height:90dvh;overflow-y:auto;box-shadow:var(--shadow-gold);animation:modal-in .22s ease-out}@keyframes modal-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.choice{display:block;width:100%;text-align:left;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;color:var(--text);transition:border-color .15s}.choice:hover,.choice:focus-visible{border-color:var(--gold)}.choice.recommended{border-color:var(--gold-dim);background:linear-gradient(180deg,rgba(201,168,106,.08),transparent)}.choice .choice-title{font-family:var(--font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-size:13px;margin-bottom:4px}.choice .choice-body{font-size:14px;color:var(--text-dim);line-height:1.45}.pair-row{display:grid;grid-template-columns:auto 1fr auto 1fr;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius)}.pair-row .pair-index{font-family:var(--font-display);font-size:13px;letter-spacing:.08em;color:var(--gold-dim);min-width:24px;text-align:center}.pair-row .name-btn{text-align:left;padding:10px 12px;border-radius:8px;border:1px solid transparent;background:var(--bg-elev);color:var(--text);transition:all .12s;min-height:44px;display:flex;align-items:center}.pair-row .name-btn.passed{border-color:var(--gold);background:#c9a86a1f;color:var(--gold-bright)}.pair-row .name-btn .role-tag{font-family:var(--font-display);font-size:10px;letter-spacing:.18em;color:var(--text-faint);margin-right:8px}.pair-row .name-btn.passed .role-tag{color:var(--gold-dim)}.pair-row .name-btn .grow{flex:1;text-align:left}.pair-row .name-btn .double-tag{font-family:var(--font-display);font-size:10px;letter-spacing:.1em;color:var(--gold);background:#c9a86a1f;padding:2px 6px;border-radius:4px;margin-left:6px}.pair-row .pair-sep{color:var(--gold-dim);font-family:var(--font-script);font-style:italic;font-size:18px}.tag{display:inline-block;padding:4px 10px;border-radius:999px;font-family:var(--font-display);font-size:10px;letter-spacing:.18em;text-transform:uppercase;border:1px solid var(--border-strong);color:var(--text-dim)}.tag-gold{border-color:var(--gold-dim);color:var(--gold)}.tag-status-running{border-color:var(--success);color:var(--success)}.tag-status-completed{border-color:var(--gold-dim);color:var(--gold)}.tag-status-draft{border-color:var(--border-strong);color:var(--text-dim)}.empty{text-align:center;padding:40px 20px;color:var(--text-dim)}.empty .h-script{font-size:28px;margin-bottom:6px}.brand{text-align:center;padding:24px 0 12px}.brand .top{font-family:var(--font-display);font-size:26px;letter-spacing:.32em;color:var(--text)}.brand .bot{font-family:var(--font-script);font-style:italic;font-size:22px;color:var(--gold);margin-top:-4px}.app-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:10px}.back-btn{font-family:var(--font-display);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);padding:8px 0}.back-btn:hover{color:var(--gold)}.fab{position:fixed;bottom:max(env(safe-area-inset-bottom),20px);right:20px;z-index:20;background:linear-gradient(180deg,var(--gold-bright),var(--gold));color:#1a1306;width:56px;height:56px;border-radius:999px;font-family:var(--font-display);font-size:28px;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #00000080,0 0 0 1px var(--gold)}.shuffle-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,rgba(201,168,106,.08),transparent 60%),#0a0a0af5;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:200;display:flex;align-items:center;justify-content:center;padding:20px;animation:fade-in .2s ease-out}.shuffle-content{text-align:center;width:100%;max-width:420px}.shuffle-title{font-size:32px;margin-bottom:6px}.shuffle-sub{font-family:var(--font-display);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--text-dim);margin-bottom:28px}.shuffle-rows{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}.shuffle-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:12px 14px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);animation:shuffle-pulse .42s ease-out}@keyframes shuffle-pulse{0%{opacity:.4;transform:translateY(4px) scale(.98);border-color:var(--gold-dim)}60%{opacity:1;transform:translateY(0) scale(1)}to{border-color:var(--border)}}.shuffle-name{font-family:var(--font-display);letter-spacing:.06em;font-size:14px;color:var(--text);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shuffle-name.follower{text-align:right}.shuffle-amp{color:var(--gold);font-family:var(--font-script);font-style:italic;font-size:22px}.shuffle-dots{display:inline-flex;gap:8px;justify-content:center}.shuffle-dots span{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gold);opacity:.3;animation:shuffle-dot 1s infinite ease-in-out}.shuffle-dots span:nth-child(2){animation-delay:.18s}.shuffle-dots span:nth-child(3){animation-delay:.36s}@keyframes shuffle-dot{0%,to{opacity:.25;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}.winners{text-align:center;padding:40px 0}.winners .crown{font-family:var(--font-script);font-style:italic;font-size:34px;color:var(--gold)}.winners .name{font-family:var(--font-display);font-size:30px;letter-spacing:.18em;text-transform:uppercase;margin:8px 0}
