:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--bg: #0a0a0a;--card-bg: #111827;--card-border: #1f2937;--accent: #8b5cf6;--accent-dim: #7c3aed;--gold: #f59e0b;--red: #ef4444;--green: #22c55e;--text: #d1d5db;--text-dim: #9ca3af;--text-bright: #f3f4f6}*{box-sizing:border-box;margin:0}html,body,#root{min-height:100vh;background:var(--bg);color:var(--text)}h1{font-size:1.5rem;font-weight:700;color:var(--text-bright);letter-spacing:-.02em}h3{font-size:1rem;font-weight:600;color:var(--text-bright)}p{margin:0}.mansion-root{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(ellipse at 50% 20%,#1a1025,#0a0a0a 70%)}.btn{border:none;border-radius:8px;padding:.6rem 1.4rem;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .15s ease}.btn:disabled{opacity:.4;cursor:default}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-dim)}.btn-accent{background:var(--gold);color:#111}.btn-accent:hover{background:#d97706}.btn-ghost{background:transparent;color:var(--text-dim);border:1px solid var(--card-border)}.btn-ghost:hover{color:var(--text-bright);border-color:#374151}.intro-card{max-width:32rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;padding:2.5rem;text-align:center}.intro-ghost{font-size:4rem;margin-bottom:1rem}.intro-sub{color:var(--text-dim);margin:.75rem 0 1.5rem}.intro-rules{text-align:left;background:#ffffff08;border:1px solid var(--card-border);border-radius:10px;padding:1.25rem;margin-bottom:1.5rem}.intro-rules h3{margin-bottom:.5rem}.intro-rules ul{padding-left:1.2rem;color:var(--text-dim);font-size:.9rem}.intro-rules li{margin-bottom:.3rem}.game-layout{display:flex;gap:1.5rem;width:100%;max-width:64rem;min-height:80vh}.sidebar{width:16rem;flex-shrink:0;background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;padding:1.25rem;display:flex;flex-direction:column}.sidebar-title{font-size:1.1rem;font-weight:700;color:var(--accent);margin-bottom:1rem;letter-spacing:-.01em}.room-list{display:flex;flex-direction:column;gap:.35rem;flex:1}.room-btn{display:flex;align-items:center;gap:.6rem;background:transparent;border:1px solid transparent;border-radius:8px;padding:.55rem .7rem;color:var(--text-dim);font-size:.85rem;cursor:pointer;transition:all .12s ease;text-align:left}.room-btn:hover{background:#ffffff0a;color:var(--text)}.room-btn.active{background:#8b5cf61f;border-color:#8b5cf64d;color:var(--accent)}.room-btn.locked{opacity:.5}.room-emoji{font-size:1.1rem;flex-shrink:0}.room-name{flex:1}.lock-icon{font-size:.8rem}.check-icon{color:var(--green);font-size:.85rem;font-weight:700}.sidebar-footer{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--card-border);display:flex;flex-direction:column;gap:.75rem}.inventory-label{font-size:.8rem;color:var(--text-dim);text-align:center}.main-area{flex:1;display:flex;flex-direction:column;gap:1.25rem}.room-header{display:flex;gap:1rem;align-items:flex-start;background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;padding:1.5rem}.room-header-emoji{font-size:2.5rem;flex-shrink:0}.room-desc{color:var(--text-dim);font-size:.9rem;margin-top:.35rem}.message-banner{background:#8b5cf61f;border:1px solid rgba(139,92,246,.25);border-radius:10px;padding:.85rem 1.2rem;font-size:.9rem;color:#c4b5fd;display:flex;align-items:center;justify-content:space-between;gap:1rem}.msg-close{background:none;border:none;color:#c4b5fd;font-size:1.3rem;cursor:pointer;line-height:1}.actions{display:flex;gap:.75rem}.room-clues{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;padding:1.25rem}.room-clues h3{margin-bottom:.75rem;color:var(--gold)}.clue-card{background:#f59e0b0f;border:1px solid rgba(245,158,11,.15);border-radius:8px;padding:.85rem 1rem;margin-bottom:.5rem}.clue-card:last-child{margin-bottom:0}.clue-card strong{color:var(--gold);display:block;margin-bottom:.25rem;font-size:.9rem}.clue-card p{color:var(--text-dim);font-size:.85rem;font-style:italic}.inventory-section{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;padding:1.25rem}.inventory-section h3{margin-bottom:.75rem}.inventory-grid{display:flex;flex-wrap:wrap;gap:.5rem}.inv-item{background:#8b5cf61a;border:1px solid rgba(139,92,246,.2);border-radius:6px;padding:.35rem .75rem}.inv-name{font-size:.8rem;color:#c4b5fd;font-weight:500}.accuse-card{max-width:40rem;width:100%;background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;padding:2rem}.accuse-sub{color:var(--text-dim);margin:.5rem 0 1.25rem}.evidence-summary{background:#ffffff05;border:1px solid var(--card-border);border-radius:10px;padding:1.25rem;margin-bottom:1.5rem}.evidence-summary h3{margin-bottom:.75rem;color:var(--gold)}.evidence-summary ul{padding-left:1.2rem;font-size:.85rem;color:var(--text-dim)}.evidence-summary li{margin-bottom:.5rem}.evidence-summary strong{color:var(--gold)}.no-evidence{color:var(--text-dim);font-size:.9rem;font-style:italic}.suspects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.25rem}.suspect-card{background:#ffffff08;border:1px solid var(--card-border);border-radius:10px;padding:1.25rem;cursor:pointer;text-align:left;transition:all .15s ease;color:var(--text)}.suspect-card:hover{border-color:var(--red);background:#ef44440f}.suspect-card h3{margin-bottom:.25rem}.suspect-role{font-size:.75rem;color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.suspect-card p{color:var(--text-dim);font-size:.8rem;margin-top:.5rem}.ending-text p{color:var(--text-dim);margin-bottom:.75rem;font-size:.95rem}.ending-text strong{color:var(--text-bright)}.clue-count{margin:1.25rem 0;font-size:.85rem;color:var(--text-dim);text-align:center}@media(max-width:700px){.game-layout{flex-direction:column}.sidebar{width:100%;flex-direction:row;flex-wrap:wrap;padding:1rem}.sidebar-title{width:100%;margin-bottom:.5rem}.room-list{flex-direction:row;flex-wrap:wrap;gap:.3rem;width:100%}.room-btn{flex:1;min-width:6rem;justify-content:center}.sidebar-footer{width:100%;flex-direction:row;align-items:center;justify-content:space-between;border-top:1px solid var(--card-border);padding-top:.75rem;margin-top:.5rem}.suspects-grid{grid-template-columns:1fr}}
