@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;700;900&display=swap";:root{--primary:#ff5f6d;--secondary:#7df9ff;--accent:#ffd166;--bg-dark:#130f1f;--bg-deep:#09070f;--glass:#ffffff14;--glass-strong:#ffffff24;--glass-border:#ffffff2e;--font-main:"Outfit", sans-serif;--transition:.3s cubic-bezier(.4, 0, .2, 1);--shadow-soft:0 18px 60px #00000059}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{font-family:var(--font-main);color:#fff;background:linear-gradient(#000,#050505);flex-direction:column;min-height:100vh;display:flex;overflow-x:hidden}#root{flex-direction:column;width:100%;min-height:100vh;display:flex}.app-bg{z-index:-1;background:#000;width:100%;height:100%;position:fixed;top:0;left:0}.app-bg:after{content:"";background:linear-gradient(#00000014,#00000038);width:100%;height:100%;position:absolute;top:0;left:0}h1,h2,h3{text-transform:uppercase;letter-spacing:2px;text-shadow:0 0 10px #ff00ff80;font-weight:900}button{cursor:pointer;transition:var(--transition);border:none;font-family:inherit;font-weight:700}.glass-panel{background:var(--glass);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);box-shadow:var(--shadow-soft);border-radius:24px;padding:2rem}.input-group{width:100%;margin-bottom:1.5rem}.input-group label{color:var(--secondary);text-transform:uppercase;margin-bottom:.5rem;font-size:.8rem;font-weight:700;display:block}.input-group input{border:1px solid var(--glass-border);color:#fff;width:100%;transition:var(--transition);background:#07080f8c;border-radius:14px;padding:12px 15px;font-size:1rem}.input-group input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 15px #ff00ff4d}.btn-primary{background:linear-gradient(135deg, var(--primary), #f96);color:#fff;text-transform:uppercase;letter-spacing:.08em;border-radius:50px;width:100%;padding:15px;font-size:1.1rem;position:relative;overflow:hidden;box-shadow:0 12px 24px #ff5f6d59}.btn-primary:hover{transform:translateY(-1px)}.btn-primary:active{transform:scale(.95)}.app-container{min-height:100vh}.loading-screen{text-align:center;place-items:center;gap:1rem;min-height:100vh;padding:2rem;display:grid}.loading-orb{background:radial-gradient(circle at 30% 30%, var(--secondary), var(--primary));border-radius:50%;width:64px;height:64px;animation:1.8s infinite pulse;box-shadow:0 0 40px #ff5f6d73}.eyebrow,.auth-kicker{text-transform:uppercase;letter-spacing:.14em;color:var(--secondary);align-items:center;gap:.45rem;font-size:.8rem;font-weight:800;display:inline-flex}.auth-shell,.roulette-shell,.dashboard-shell{min-height:100vh;padding:24px}.auth-shell{place-items:center;display:grid}.auth-stage{grid-template-columns:1.1fr .9fr;align-items:stretch;gap:1.5rem;width:min(1080px,100%);display:grid}.auth-stage-single{grid-template-columns:1fr;max-width:520px}.auth-copy{flex-direction:column;justify-content:center;gap:1rem;padding:1rem;display:flex}.auth-copy h1,.dashboard-header h1,.roulette-header h1{font-size:clamp(2.2rem,4vw,4.6rem);line-height:.95}.auth-copy p,.auth-card p,.roulette-subtitle{color:#ffffffc2;line-height:1.6}.auth-card{justify-self:end;width:100%;max-width:440px}.auth-card-minimal{justify-self:center;max-width:380px;padding:2rem 1.5rem}.auth-card-compact{justify-self:stretch;max-width:none}.auth-card-header{gap:.35rem;margin-bottom:1.25rem;display:grid}.auth-card-header h2{font-size:1.8rem}.auth-card-header-minimal{text-align:center;margin-bottom:1.5rem}.auth-card-header-minimal h1{text-shadow:none;letter-spacing:.08em;font-size:2rem}.auth-card-header-minimal p{color:#ffffff9e;text-transform:uppercase;letter-spacing:.12em;font-size:.75rem}.input-field{border:1px solid var(--glass-border);background:#07080f8c;border-radius:14px;align-items:center;gap:.75rem;padding:0 .75rem;display:flex}.input-field input{box-shadow:none;background:0 0;border:0}.input-group-tight{margin-bottom:1rem}.password-row{grid-template-columns:1fr auto;align-items:center;gap:.5rem;display:grid}.password-row input{margin:0}.input-icon,.password-toggle,.icon-button{color:#ffffffb8}.form-feedback{margin-bottom:.75rem;font-size:.88rem}.form-feedback-error{color:#ff8c8c}.password-toggle,.icon-button{justify-content:center;align-items:center;display:inline-flex}.password-toggle-inline{background:#ffffff0d;border:1px solid #ffffff1a;border-radius:14px;width:44px;height:44px}.icon-button{background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;width:44px;height:44px}.icon-button-danger{background:#ff4d4d24}.icon-button:disabled,.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.dashboard-shell,.roulette-shell{justify-content:center;align-items:center;display:flex}.dashboard-panel{flex-direction:column;gap:1.25rem;width:min(1120px,100%);min-height:calc(100vh - 48px);display:flex}.dashboard-header,.roulette-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.dashboard-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.summary-card{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:18px;align-items:center;gap:.9rem;padding:1rem 1.1rem;display:flex}.summary-card strong,.user-row strong{display:block}.summary-card span{color:#ffffffb8}.tab-row{gap:.75rem;display:flex}.tab-button{color:#ffffffb3;background:#ffffff0f;border:1px solid #ffffff14;border-radius:999px;justify-content:center;align-items:center;gap:.5rem;padding:.9rem 1.1rem;display:inline-flex}.tab-button-active{color:#fff;background:linear-gradient(135deg,#ff5f6d47,#ffd1662e);border-color:#ffffff24}.dashboard-content,.section-stack,.user-list{gap:1rem;display:grid}.dashboard-content{flex:1;overflow-y:auto}.loading-block,.empty-state{text-align:center;justify-items:center;gap:.75rem;display:grid}.empty-state p{color:#ffffffb8;max-width:42ch;line-height:1.55}.empty-state-narrow{max-width:520px}.toolbar-row{align-items:center;gap:.75rem;display:flex}.toolbar-row-split{justify-content:space-between}.search-field{border:1px solid var(--glass-border);background:#07080f8c;border-radius:14px;flex:1;align-items:center;gap:.7rem;padding:.9rem 1rem;display:flex}.search-field input{color:#fff;background:0 0;border:0;width:100%}.search-field input:focus{outline:none}.upload-button{cursor:pointer;justify-content:center;align-items:center;gap:.75rem;display:flex}.meme-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;display:grid}.meme-card{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:18px;min-height:210px;position:relative;overflow:hidden}.meme-thumb,.roulette-image{object-fit:cover;width:100%;height:100%}.meme-delete{position:absolute;top:10px;right:10px}.meme-confirm{z-index:2;gap:.45rem;display:flex;position:absolute;top:10px;right:10px}.form-panel{gap:.9rem;display:grid}.panel-input{border:1px solid var(--glass-border);color:#fff;background:#07080f8c;border-radius:14px;width:100%;padding:12px 15px}textarea.panel-input{resize:vertical;min-height:160px;line-height:1.55}.panel-select{max-width:220px}.user-row{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.1rem;display:flex}.user-row-copy{gap:.2rem;display:grid}.user-row-copy span{word-break:break-word}.user-row-meta{color:#ffffff9e;font-size:.82rem;line-height:1.45}.user-row-actions{align-items:center;gap:.6rem;display:flex}.toggle-group{gap:.6rem;display:grid}.toggle-label{color:#ffffffc7;font-size:.9rem;font-weight:700}.toggle-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.toggle-pill{color:#ffffffb8;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:16px;min-height:48px;padding:.8rem 1rem}.toggle-pill-active{color:#fff;background:linear-gradient(135deg,#ff5f6d47,#ffd1662e);border-color:#ffffff2e;box-shadow:0 10px 24px #ff5f6d29}.create-user-button{justify-content:center;align-items:center;gap:.65rem;display:inline-flex}.modal-backdrop{z-index:40;background:#0000009e;place-items:center;padding:1.25rem;display:grid;position:fixed;inset:0}.modal-panel{width:min(480px,100%)}.modal-actions{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.modal-secondary{color:#fff;text-transform:uppercase;letter-spacing:.08em;background:#ffffff14;border:1px solid #ffffff1f;border-radius:50px;width:100%;padding:15px}.modal-note{color:#ffffff9e;font-size:.88rem;line-height:1.5}.config-panel{max-width:560px}.config-divider{background:linear-gradient(90deg,#0000,#ffffff2e,#0000);height:1px;margin:.35rem 0}.config-field{gap:.6rem;display:grid}.config-field span{color:#ffffffc7;font-weight:600}.mission-textarea{font-family:var(--font-main)}.roulette-shell{text-align:center;flex-direction:column;justify-content:center;gap:1rem;position:relative}.roulette-header{text-align:center;justify-content:center;width:min(760px,100%)}.roulette-subtitle{max-width:560px}.roulette-status{background:#ffffff14;border:1px solid #ffffff1f;border-radius:999px;justify-content:space-between;align-items:center;gap:1rem;width:min(560px,100%);padding:.9rem 1rem;display:flex}.roulette-status span{align-items:center;gap:.45rem;display:inline-flex}.roulette-status-minimal{text-align:center;justify-content:center}.roulette-stage{aspect-ratio:1;width:min(460px,92vw);margin:.5rem 0;padding:18px;position:relative;overflow:hidden}.roulette-stage-ring{background:radial-gradient(circle at top,#ff5f6d38,#0000 30%),linear-gradient(135deg,#ffffff14,#ffffff05);border:1px solid #ffffff1f;border-radius:28px;position:absolute;inset:0}.roulette-image-wrap{z-index:1;background:#000;border-radius:22px;width:100%;height:100%;position:relative;overflow:hidden}.roulette-placeholder{color:#ffffff94;text-transform:uppercase;letter-spacing:.16em;background:#000;place-items:center;width:100%;height:100%;padding:2rem;font-size:.82rem;font-weight:700;display:grid}.mission-card{text-align:center;color:#161616;background:linear-gradient(#fffffffa,#f2f2f2eb);align-content:center;justify-items:center;gap:1rem;width:100%;height:100%;padding:2rem;display:grid}.mission-card-kicker{color:#9f2e2e;letter-spacing:.14em;text-transform:uppercase;background:#ff5f6d1a;border-radius:999px;justify-content:center;align-items:center;padding:.45rem .8rem;font-size:.78rem;font-weight:800;display:inline-flex}.mission-card h2{color:#111;max-width:12ch;text-shadow:none;font-size:clamp(2rem,6vw,3.5rem);line-height:1.02}.roulette-glow{z-index:5;pointer-events:none;border-radius:28px;animation:2s infinite pulse;position:absolute;inset:0;box-shadow:0 0 50px #ff5f6d8c}.spin-button{background:linear-gradient(135deg,#ff5f6d3d,#ffd16624);border:1px solid #ffffff1a;border-radius:999px;min-width:220px;padding:.35rem;box-shadow:0 20px 40px #00000047}.spin-button-core{background:linear-gradient(135deg, var(--primary), #f96);color:#fff;letter-spacing:.08em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;gap:.6rem;width:100%;padding:1rem 1.4rem;font-size:1rem;font-weight:800;display:inline-flex}.roulette-result{gap:.35rem;display:grid}.roulette-result h2{color:var(--accent);font-size:clamp(1.8rem,4vw,2.4rem)}.roulette-result p{color:#ffffffb8}.toast-stack{z-index:50;gap:.75rem;width:min(360px,100vw - 32px);display:grid;position:fixed;top:20px;right:20px}.toast{box-shadow:var(--shadow-soft);background:#0a0b13eb;border:1px solid #ffffff1f;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:start;gap:.85rem;padding:1rem;display:grid}.toast-success{border-color:#70ffb252}.toast-error{border-color:#ff77775c}.toast-info{border-color:#7df9ff47}.toast-icon-wrap{background:#ffffff14;border-radius:999px;place-items:center;width:34px;height:34px;display:grid}.toast-copy{gap:.25rem;display:grid}.toast-copy p{color:#ffffffb8;line-height:1.45}.toast-close{color:#fff9;background:0 0;padding:.15rem}@keyframes spin-inf{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}@keyframes flash{0%{filter:brightness()}50%{filter:brightness(2)contrast(1.5)}to{filter:brightness()}}@media (width<=480px){.glass-panel{border-radius:15px;padding:1.5rem}}@media (width<=900px){.auth-stage{grid-template-columns:1fr}.auth-card{justify-self:stretch;max-width:none}.dashboard-summary,.roulette-status{grid-template-columns:1fr}}@media (width<=640px){.auth-shell,.roulette-shell,.dashboard-shell{padding:16px}.dashboard-panel{min-height:calc(100vh - 32px)}.toast-stack{width:auto;inset:auto 16px 16px}.dashboard-summary,.tab-row,.roulette-status{display:grid}.roulette-stage{width:min(100%,420px)}.toolbar-row,.toolbar-row-split{flex-direction:column;align-items:stretch}.panel-select{max-width:none}.user-row,.dashboard-header,.roulette-header{flex-direction:column;align-items:center}.user-row-actions,.modal-actions{width:100%}.modal-actions{grid-template-columns:1fr}}
