body{flex-direction:column;min-height:100vh;display:flex}.main-container{flex-direction:column;flex-grow:1;align-items:center;padding-top:20px;display:flex}.page-hero{text-align:center;background:var(--glass-bg,#ffffff1f);border:1px solid var(--glass-border,#fff3);border-radius:var(--radius-lg);backdrop-filter:blur(14px);width:92%;max-width:800px;box-shadow:var(--glass-shadow);padding:30px}.page-hero h1{color:var(--brand-heading);margin:.5rem 0;font-size:2rem;font-weight:700}.page-hero p{color:var(--brand-text);margin:.75rem 0 0;font-size:1rem;line-height:1.6}.hero-eyebrow{text-transform:uppercase;letter-spacing:.15em;color:var(--brand-subtle-text);margin:0 0 .5rem;font-size:.75rem;font-weight:800}.gender-toggle{border:1px solid var(--brand-border);border-radius:24px;justify-content:center;align-self:center;gap:0;width:fit-content;margin:24px 0 0;display:flex;overflow:hidden}.gender-btn{background:var(--brand-surface);color:var(--brand-heading);cursor:pointer;font-size:.9rem;font-weight:700;font-family:var(--brand-font-family);border:none;padding:9px 24px;transition:background .2s,color .2s}.gender-btn:first-child{border-right:1px solid var(--brand-border)}.gender-btn.active{background:var(--brand-accent);color:var(--brand-accent-contrast-text,#fff)}.gender-btn:focus-visible{box-shadow:var(--brand-focus-ring);outline:none}.season-toggle{flex-wrap:wrap;justify-content:center;gap:8px;margin:10px 0 0;display:flex}.season-btn{border:1px solid var(--brand-border);background:var(--brand-surface);color:var(--brand-heading);cursor:pointer;font-size:.85rem;font-weight:700;font-family:var(--brand-font-family);border-radius:20px;padding:7px 18px;transition:all .2s}.season-btn:hover{background:var(--brand-accent-muted);border-color:var(--brand-accent);color:var(--brand-accent-strong)}.season-btn.active{background:var(--brand-accent);border-color:var(--brand-accent-strong);color:var(--brand-accent-contrast-text,#fff)}.season-btn:focus-visible{box-shadow:var(--brand-focus-ring);outline:none}.preset-btns{flex-wrap:wrap;justify-content:center;gap:10px;width:92%;max-width:800px;margin:24px 0 8px;display:flex}.preset-btn{border:1px solid var(--brand-border);background:var(--brand-surface);color:var(--brand-heading);cursor:pointer;font-size:.9rem;font-weight:600;font-family:var(--brand-font-family);border-radius:20px;padding:8px 16px;transition:all .2s}.preset-btn:hover{background:var(--brand-accent-muted);border-color:var(--brand-accent);color:var(--brand-accent-strong);transform:translateY(-2px);box-shadow:0 4px 12px #3498db26}.preset-btn.active{background:var(--brand-accent);border-color:var(--brand-accent-strong);color:var(--brand-accent-contrast-text,#fff)}.preset-btn:focus-visible{box-shadow:var(--brand-focus-ring);outline:none}.outfit-grid{grid-template-columns:repeat(5,1fr);gap:14px;width:92%;max-width:860px;margin:20px 0;display:grid}.outfit-card{background:var(--glass-bg,#ffffff1f);border:1px solid var(--glass-border,#fff3);border-radius:var(--radius-lg);backdrop-filter:blur(14px);box-shadow:var(--glass-shadow);flex-direction:column;align-items:center;gap:10px;min-height:160px;padding:16px 12px 14px;transition:border-color .2s,box-shadow .2s,transform .15s;display:flex}.outfit-card.locked{border-color:var(--brand-accent);box-shadow:0 0 0 2px var(--brand-accent-muted), var(--glass-shadow)}@keyframes slotLand{0%{opacity:.5;transform:scale(.85)}60%{opacity:1;transform:scale(1.12)}to{transform:scale(1)}}.outfit-card.landed .slot-emoji{animation:.4s cubic-bezier(.34,1.56,.64,1) slotLand}.slot-reel{will-change:transform;flex-direction:column;width:100%;display:flex;position:absolute;top:0;left:0}.slot-frame{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:6px;height:100px;display:flex}.card-header{justify-content:center;align-items:center;gap:6px;width:100%;display:flex;position:relative}.card-emoji{font-size:1.4rem;line-height:1}.card-label{text-transform:uppercase;letter-spacing:.1em;color:var(--brand-subtle-text);font-size:.75rem;font-weight:800}.lock-btn{cursor:pointer;opacity:.6;background:0 0;border:none;padding:2px;font-size:1rem;line-height:1;transition:opacity .15s,transform .15s;position:absolute;right:0}.lock-btn:hover{opacity:1;transform:scale(1.15)}.outfit-card.locked .lock-btn{opacity:1}.slot-viewport{width:100%;height:100px;position:relative;overflow:hidden}.slot-viewport>.slot-emoji{text-align:center;font-size:3rem;line-height:1;display:block}.slot-viewport>.slot-label{color:var(--brand-heading);text-align:center;padding:0 4px;font-size:.82rem;font-weight:700;line-height:1.3}.slot-static{flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;height:100px;display:flex}.slot-static .slot-emoji{font-size:3rem;line-height:1}.slot-static .slot-label{color:var(--brand-heading);text-align:center;padding:0 4px;font-size:.82rem;font-weight:700;line-height:1.3}.reroll-btn{border:1px solid var(--brand-border);color:var(--brand-subtle-text);font-size:.75rem;font-weight:600;font-family:var(--brand-font-family);cursor:pointer;white-space:nowrap;background:0 0;border-radius:12px;padding:5px 10px;transition:all .2s}.reroll-btn:hover{border-color:var(--brand-accent);color:var(--brand-accent-strong);background:var(--brand-accent-muted)}.outfit-card.locked .reroll-btn{opacity:.35;cursor:not-allowed;pointer-events:none}.reroll-btn:focus-visible{box-shadow:var(--brand-focus-ring);outline:none}#randomizeBtn{border-radius:var(--radius-md);background:linear-gradient(to bottom right, var(--brand-accent), var(--brand-accent-strong));color:#fff;cursor:pointer;font-size:1.15rem;font-weight:700;font-family:var(--brand-font-family);border:none;margin:6px auto 0;padding:14px 40px;transition:all .2s;display:block}#randomizeBtn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #3498db59}#randomizeBtn:focus-visible{box-shadow:var(--brand-focus-ring);outline:none}.lock-hint{color:var(--brand-subtle-text);text-align:center;margin:10px 0 20px;font-size:.85rem}@media (width<=860px){.outfit-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=560px){.outfit-grid{grid-template-columns:repeat(2,1fr);gap:10px}.outfit-card{min-height:140px;padding:14px 10px 12px}.card-pick{font-size:.85rem}#randomizeBtn{padding:12px 28px;font-size:1rem}.page-hero{width:95%;padding:20px}.page-hero h1{font-size:1.5rem}}