@import"https://fonts.googleapis.com/css2?family=Cinzel+Decorative:wght@400;700&family=EB+Garamond:ital,wght@0,400;0,600;1,400&display=swap";:root{font-family:EB Garamond,serif;color:var(--cream);background:var(--purple);line-height:1.5;font-weight:400;--purple: #6e4f91;--purple-light: #8a6bae;--manor-dark: #100c15;--teal: #2d6b66;--teal-light: #3d8078;--gold: #e8dba8;--pink: #d98fa8;--cream: #f0e4c8;--shadow: 0 18px 40px rgba(16, 12, 21, .35);--shadow-strong: 0 24px 56px rgba(16, 12, 21, .45)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--purple);color:var(--cream)}button,select,input{font:inherit}#root{min-height:100vh}.app-shell{height:100vh;max-height:100vh;display:flex;flex-direction:column;overflow-y:auto;background:var(--purple)}.content-frame{flex:1 1 auto;display:flex;flex-direction:column;width:100%;max-width:640px;margin:0 auto;background:var(--purple-light);min-height:0}.topbar{display:flex;justify-content:center;padding:10px 0 4px;flex:0 0 auto}.topbar img{height:32px;filter:drop-shadow(0 2px 6px rgba(16,12,21,.4))}.manor-scene{position:relative;flex:0 1 auto;height:clamp(320px,60vh,600px);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.manor-illustration{height:100%;width:auto;max-width:100%;object-fit:contain;object-position:bottom}.banner{background:var(--manor-dark);color:var(--cream);text-align:center;padding:16px 24px;margin:0 auto;max-width:560px;width:100%;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:8px}.banner-text{margin:0;font-family:Cinzel Decorative,serif;font-size:17px;line-height:1.7;letter-spacing:.01em}.banner-logo{height:132px;width:auto;max-width:100%;object-fit:contain}.roles-row{background:var(--manor-dark);padding:12px 30px 14px;display:flex;gap:14px;max-width:560px;margin:0 auto;width:100%;flex:0 0 auto}.role-card{flex:1;background:var(--teal);border-radius:10px;padding:12px 10px;text-align:center;cursor:pointer;border:2px solid transparent;transition:.15s}.role-card:disabled{opacity:.55;cursor:not-allowed}.role-card.active{border-color:var(--gold);background:var(--teal-light)}.role-card .icon{width:40px;height:40px;border-radius:50%;background:#f0e4c833;margin:0 auto 8px;display:flex;align-items:center;justify-content:center;color:var(--cream);font-family:Cinzel Decorative,serif;font-size:17px}.role-card .label{display:block;color:var(--cream);font-family:EB Garamond,serif;font-size:14px;font-weight:600;letter-spacing:.03em}.role-card .sub{display:block;color:#f0e4c8a6;font-size:11px;margin-top:5px}.controls-row{background:var(--manor-dark);padding:0 30px 14px;display:flex;align-items:center;gap:12px;max-width:560px;margin:0 auto;width:100%;flex-wrap:wrap;flex:0 0 auto}.timer-pill{background:var(--teal);border-radius:8px;padding:12px 16px;text-align:center;flex:1;min-width:110px}.timer-pill .t-label{color:#f0e4c8b3;font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-family:sans-serif}.timer-pill .t-value{color:var(--cream);font-family:Cinzel Decorative,serif;font-size:19px;margin-top:2px;display:flex;align-items:center;justify-content:center;gap:8px}.timer-pill .t-value button{background:none;border:none;color:var(--cream);font-size:16px;cursor:pointer;padding:0 4px;min-height:auto;box-shadow:none}.timer-pill .t-value button:hover{transform:none;box-shadow:none;color:var(--gold)}.play-btn,.primary-button{background:var(--teal);border-radius:8px;padding:18px 30px;color:var(--cream);font-family:Cinzel Decorative,serif;font-size:17px;letter-spacing:.05em;border:none;cursor:pointer;flex:1.2;text-align:center;transition:background .16s ease,transform .16s ease}.play-btn:hover,.primary-button:hover{background:var(--teal-light);transform:translateY(-1px)}.play-btn:disabled,.primary-button:disabled{opacity:.55;cursor:not-allowed;transform:none}.settings-panel{background:var(--manor-dark);padding:4px 30px 14px;display:flex;gap:14px;max-width:560px;margin:0 auto;width:100%;flex:0 0 auto;flex-wrap:wrap}.field{display:flex;align-items:center;gap:8px;flex:1;min-width:150px}.field span{color:var(--cream);font-size:11px;text-transform:uppercase;letter-spacing:.06em;font-family:sans-serif;white-space:nowrap}.field select{background:var(--teal);color:var(--cream);border:1px solid rgba(240,228,200,.2);border-radius:8px;padding:8px 10px;min-height:36px;flex:1;min-width:0}.field select:disabled{opacity:.55}.bottom-row{padding:12px 30px 16px;display:flex;gap:12px;max-width:560px;margin:0 auto;width:100%;flex-wrap:wrap;flex:0 0 auto}.bottom-btn,.secondary-button{flex:1;min-width:140px;border:1.5px solid var(--cream);background:transparent;border-radius:8px;padding:10px;text-align:center;color:var(--cream);font-family:sans-serif;font-size:12px;font-weight:600;letter-spacing:.03em;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:background .16s ease}.bottom-btn:hover,.secondary-button:hover{background:#f0e4c81f}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.status{color:#f0e4c8d9;text-align:center;font-size:13px;padding:10px 30px;background:var(--manor-dark);max-width:560px;margin:0 auto;width:100%}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#100c15a6;display:flex;align-items:center;justify-content:center;padding:20px;z-index:50}.help-panel{position:relative;display:grid;gap:10px;width:100%;max-width:420px;max-height:80vh;overflow-y:auto;padding:22px 20px 20px;border-radius:10px;background:var(--manor-dark);color:var(--cream);box-shadow:var(--shadow-strong)}.help-panel p{margin:0;font-size:14px}.help-panel-close{position:absolute;top:8px;right:10px;background:none;border:none;color:var(--cream);font-size:20px;line-height:1;cursor:pointer;padding:6px 8px;min-height:auto}.help-panel-close:hover{color:var(--gold);transform:none}.empty-state{display:grid;place-items:center;min-height:420px;text-align:center}.game-screen{display:grid;gap:10px;align-content:start;max-width:620px;margin:0 auto;width:100%;padding:10px 20px}.game-header{text-align:center}.round-status{margin:0;color:var(--gold);font-size:1.04rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;font-family:Cinzel Decorative,serif}.timer-shell{display:grid;justify-items:center;gap:8px;padding:18px;border-radius:10px;background:var(--manor-dark);box-shadow:var(--shadow)}.timer-label,.narration-label{margin:0;text-transform:uppercase;letter-spacing:.18em;font-size:.76rem;color:var(--gold)}.timer-display{min-width:180px;padding:16px 24px;border-radius:8px;background:var(--teal);text-align:center;font-family:Cinzel Decorative,serif;font-size:clamp(2rem,5vw,3.2rem);color:var(--cream)}.narration-card{display:grid;gap:10px;min-height:148px;place-items:center;text-align:center;padding:24px;border-radius:10px;background:var(--manor-dark);box-shadow:var(--shadow)}.narration-text{margin:0;font-family:Cinzel Decorative,serif;font-size:clamp(1.4rem,3vw,2rem);color:var(--cream)}.narration-subtext{margin:0;color:var(--gold);font-size:.98rem}.image-card{position:relative;min-height:250px;overflow:hidden;border-radius:10px;box-shadow:var(--shadow-strong);background:var(--manor-dark)}.mystery-image{width:100%;height:100%;min-height:250px;display:block;object-fit:cover}.image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#100c150d,#100c1559);pointer-events:none}.image-fallback{display:grid;place-items:center;gap:10px;min-height:250px;padding:24px;text-align:center;color:var(--cream)}.controls-row.game-controls{padding:0;max-width:none;justify-content:center}.game-screen button{background:var(--teal);color:var(--cream);border:none;border-radius:8px;padding:12px 20px;min-height:44px;font-family:EB Garamond,serif;font-weight:600;font-size:14px;letter-spacing:.02em;cursor:pointer;transition:background .16s ease,transform .16s ease}.game-screen button:hover{background:var(--teal-light);transform:translateY(-1px)}.game-screen button:disabled{opacity:.55;cursor:not-allowed;transform:none}.game-screen .controls-row{background:none;padding:0;max-width:none;justify-content:center}.game-screen .manor-scene{height:clamp(156px,28.75vh,293px);margin:0 auto}.game-screen .banner{padding:8px 24px}.game-screen .timer-shell{padding:6px;gap:2px}.game-screen .timer-display{padding:6px 16px;font-size:clamp(1.3rem,3.2vw,1.8rem)}.game-screen .narration-card{min-height:0;gap:2px;padding:8px}.fade-in{animation:fadeIn .28s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
