:root{--ink: #1f2836;--panel: #fff4d8;--paper: #fffdf7;--line: #26384a;--blue: #2b86c5;--teal: #20b2a6;--rose: #f05374;--yellow: #ffd45c;--green: #75c96b;--brick: #e96e4c;--shadow: 0 10px 0 rgba(23, 32, 42, .2);font-family:Inter,ui-rounded,Trebuchet MS,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);background:#18222f;touch-action:manipulation}*{box-sizing:border-box}html,body,#app{width:100%;min-width:320px;min-height:100%;margin:0}body{overflow:hidden;background:radial-gradient(circle at 18% 12%,rgba(255,212,92,.18),transparent 24%),radial-gradient(circle at 86% 16%,rgba(32,178,166,.14),transparent 25%),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(0deg,rgba(255,255,255,.045) 1px,transparent 1px),#15202d;background-size:auto,auto,30px 30px,30px 30px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}button{font:inherit;color:inherit}.shell{position:relative;display:grid;grid-template-rows:auto 1fr;width:min(100vw,1400px);height:100vh;min-height:620px;margin:0 auto;padding:clamp(10px,1.35vw,18px);gap:10px}.shell.game{grid-template-rows:auto auto minmax(0,1fr)}.shell.menu,.shell.results,.shell.upgrades,.shell.howto{grid-template-rows:auto minmax(0,1fr)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;border:3px solid rgba(255,253,247,.94);border-radius:8px;padding:7px 10px;background:linear-gradient(90deg,#f05374f5,#ff7545f0 52%,#ffa41cf0),repeating-linear-gradient(90deg,rgba(255,253,247,.16) 0 12px,transparent 12px 24px);color:#fffdf7;box-shadow:0 5px #00000038}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-mark{display:grid;width:42px;height:42px;place-items:center;border:3px solid var(--line);border-radius:10px 10px 7px 7px;background:linear-gradient(180deg,rgba(255,255,255,.58),transparent 58%),var(--yellow);color:var(--ink);font-size:28px;font-weight:950;box-shadow:inset 0 -5px #ffa41c73,3px 3px #00000038;transform:rotate(-3deg)}.brand-mark span{display:block;transform:translateY(-1px)}h1,h2,h3,p{margin:0}h1{font-size:clamp(19px,2.1vw,32px);line-height:1;letter-spacing:0}.brand p{width:fit-content;margin-top:4px;border:2px solid rgba(23,32,42,.82);border-radius:999px;padding:2px 7px;background:#fffdf738;color:#fff6d2;font-size:12px;font-weight:950;line-height:1.05}.top-actions,.result-actions,.upgrade-bottom{display:flex;align-items:center;gap:8px}.primary,.secondary,.ghost-btn,.danger-btn,.icon-btn{min-height:42px;border:3px solid var(--line);border-radius:8px;padding:10px 14px;background:linear-gradient(180deg,rgba(255,255,255,.52),transparent 56%),var(--paper);box-shadow:0 5px #0000003d;cursor:pointer;font-weight:850;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.primary{background:linear-gradient(180deg,rgba(255,255,255,.55),transparent 60%),var(--yellow)}.primary.big{width:100%;min-height:58px;font-size:22px}.secondary{background:linear-gradient(180deg,rgba(255,255,255,.5),transparent 60%),#bde0fe}.secondary.compact{min-width:90px}.ghost-btn{border-color:#7a8ca0;background:#fffdf7bd;color:inherit;box-shadow:0 3px #00000024}.danger-btn{background:linear-gradient(180deg,rgba(255,255,255,.5),transparent 60%),#ffcad4}.icon-btn{color:var(--ink)}button:hover:not(:disabled){filter:brightness(1.04);transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #0003}button:disabled{cursor:not-allowed;opacity:.55;filter:grayscale(.25)}.menu-grid{display:grid;grid-template-columns:minmax(420px,1.1fr) minmax(320px,.8fr);gap:18px;min-height:0}.poster,.menu-panel,.result-card,.replay-card,.upgrade,.queue,.inspector,.event-log,.tutorial{border:4px solid var(--line);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.poster{position:relative;display:grid;place-items:center;overflow:hidden;min-height:420px;background:url(../art/menu-hotel.webp) center / cover no-repeat,linear-gradient(180deg,#2a2140,#1b3048)}.poster:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(23,32,42,.08),transparent 26% 74%,rgba(23,32,42,.18))}.poster:after{content:"NO BAD ROOMMATES";position:absolute;right:28px;bottom:20px;border:5px solid rgba(255,253,247,.9);border-radius:8px;padding:8px 18px;background:#f05374;color:#fffdf7;font-size:clamp(18px,1.8vw,28px);font-weight:950;opacity:.96;transform:rotate(-9deg)}.poster-title-badge{position:absolute;top:18px;left:22px;z-index:5;max-width:min(440px,58%);border:4px solid var(--line);border-radius:8px;padding:9px 13px;background:linear-gradient(180deg,rgba(255,255,255,.65),transparent 62%),var(--yellow);box-shadow:7px 7px #17202a40;font-size:clamp(16px,2vw,26px);font-weight:950;line-height:1.05;transform:rotate(-2deg)}.hotel-preview{position:relative;z-index:2;width:min(66%,540px);border:5px solid var(--line);background:repeating-linear-gradient(90deg,rgba(233,110,76,.16) 0 14px,transparent 14px 28px),#fefae0;box-shadow:14px 14px #17202a3d,0 0 0 8px #fffdf733;transform:translateY(24px) rotate(-1deg)}.preview-roof,.preview-lobby{padding:13px;background:linear-gradient(180deg,rgba(255,255,255,.35),transparent 55%),#e63946;color:#fffdf7;font-weight:950;text-align:center}.preview-lobby{background:linear-gradient(180deg,rgba(255,255,255,.35),transparent 55%),#20b2a6}.preview-floor{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:8px;padding:8px;border-top:4px solid var(--line)}.preview-floor span{display:grid;min-height:60px;place-items:center;border:3px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.65),transparent 58%),#fffdf7;font-weight:900}.preview-floor span b{font-size:22px;line-height:1}.preview-floor span small{border:2px solid rgba(38,56,74,.72);border-radius:999px;padding:1px 6px;background:#caffbf;font-size:10px;font-weight:900}.menu-guest{position:absolute;z-index:4;display:block;width:clamp(82px,9.5vw,132px);height:clamp(96px,11vw,152px);border:0;background-color:transparent;filter:drop-shadow(0 12px 0 rgba(23,32,42,.22));animation:menu-bob 3.2s ease-in-out infinite}.menu-baby{animation-delay:-.6s}.menu-dj{animation-delay:-1.3s}.menu-influencer{animation-delay:-1.9s}.menu-ghost{animation-delay:-2.5s;animation-duration:4.2s}@keyframes menu-bob{0%,to{translate:0 0}50%{translate:0 -9px}}.menu-vampire{left:3%;bottom:12%;transform:rotate(-7deg)}.menu-baby{right:4%;top:25%;transform:rotate(7deg)}.menu-dj{right:5%;bottom:19%;transform:rotate(4deg)}.menu-influencer{left:4%;top:36%;transform:rotate(-5deg)}.menu-ghost{right:30%;top:10%;opacity:.9;transform:rotate(-4deg) scale(.72)}.panic-card{position:absolute;z-index:5;border:3px solid var(--line);border-radius:8px;padding:10px 12px;background:#fffdf7;box-shadow:5px 5px #17202a33;font-weight:950}.panic-card.one{top:24%;right:18%;background:#ffcad4;transform:rotate(7deg);display:none}.panic-card.two{bottom:15%;left:5%;background:#caffbf;transform:rotate(-6deg)}.panic-card.three{right:8%;bottom:5%;background:#fdffb6;transform:rotate(3deg);display:none}.panic-card.four{top:11%;right:8%;background:#d8d2ff;transform:rotate(-6deg)}.clip-teaser{position:absolute;left:74%;top:46%;z-index:6;display:grid;width:min(38%,310px);min-height:190px;place-items:center;border:5px solid var(--line);border-radius:8px;padding:12px;background:radial-gradient(circle at 50% 58%,rgba(255,209,102,.9),transparent 26%),repeating-linear-gradient(135deg,rgba(255,255,255,.34) 0 12px,transparent 12px 24px),#ffcad4;box-shadow:9px 9px #17202a38;text-align:center;transform:translate(-50%,-50%) rotate(2deg);animation:teaser-pop 2.6s ease-in-out infinite}.clip-handle,.social-head{border:3px solid var(--line);border-radius:999px;padding:4px 9px;background:#fffdf7;font-size:12px;font-weight:950;line-height:1}.clip-pair{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;width:100%;min-height:92px;margin-top:4px}.clip-pair b{align-self:center;border:3px solid var(--line);border-radius:999px;padding:2px 9px;background:#ffd166;font-size:28px;line-height:1;transform:rotate(-7deg)}.clip-guest{display:block;justify-self:center;width:82px;height:96px;border:0;background-color:transparent;filter:drop-shadow(0 6px 0 rgba(23,32,42,.18))}.clip-baby{animation:teaser-baby .9s ease-in-out infinite alternate}.clip-dj{animation:teaser-dj .72s ease-in-out infinite alternate}.clip-teaser strong{color:#17202a;font-size:15px;font-weight:950;line-height:1}.clip-boom{border:3px solid var(--line);border-radius:8px;padding:5px 9px;background:#ef476f;color:#fffdf7;box-shadow:4px 4px #17202a33;font-size:13px;font-weight:950;line-height:1;transform:rotate(-2deg)}.menu-panel{position:relative;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:clamp(18px,3vw,36px);background:radial-gradient(circle at 95% 8%,rgba(255,212,92,.55),transparent 24%),radial-gradient(circle at 8% 92%,rgba(32,178,166,.22),transparent 22%),linear-gradient(180deg,rgba(255,255,255,.42),transparent 55%),var(--panel)}.menu-panel:before{content:"HOTEL SHIFT";position:absolute;top:18px;right:18px;border:3px solid var(--line);border-radius:999px;padding:5px 10px;background:#caffbf;font-size:12px;font-weight:950;transform:rotate(3deg)}.menu-kicker{width:fit-content;border:3px solid var(--line);border-radius:999px;padding:6px 10px;background:linear-gradient(180deg,rgba(255,255,255,.58),transparent 60%),#ffcad4;box-shadow:0 4px #17202a2e;font-size:14px;font-weight:950}.menu-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.menu-actions .primary.big{grid-column:1 / -1;animation:play-pulse 2.4s ease-in-out infinite}@keyframes play-pulse{0%,to{scale:1}8%{scale:1.025}16%{scale:1}}.menu-actions .danger-btn{grid-column:1 / -1}.menu-panel h2{font-size:clamp(28px,4vw,58px);line-height:.95;letter-spacing:0}.menu-panel p{max-width:52ch;font-size:18px;line-height:1.35}.howto-screen{display:grid;grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:0}.howto-head{display:flex;align-items:center;justify-content:space-between;gap:14px;border:4px solid var(--line);border-radius:8px;padding:16px;background:radial-gradient(circle at 88% 12%,rgba(255,212,92,.52),transparent 24%),linear-gradient(90deg,#fff8eaf0 0 46%,#fff8ea8c),url(../art/menu-hotel.webp) right 22% / cover no-repeat,var(--panel);box-shadow:var(--shadow)}.howto-head h2{margin-top:10px;font-size:clamp(30px,4.4vw,56px);line-height:.95}.howto-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.howto-grid{display:grid;grid-template-columns:repeat(4,minmax(190px,1fr));align-items:start;gap:12px;min-height:0}.howto-card{position:relative;display:grid;grid-template-rows:168px auto 1fr;gap:10px;overflow:hidden;border:4px solid var(--line);border-radius:8px;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.58),transparent 60%),#fff4d8;box-shadow:var(--shadow)}.howto-card:nth-child(2){background:linear-gradient(180deg,rgba(255,255,255,.58),transparent 60%),#d7f7c9}.howto-card:nth-child(3){background:linear-gradient(180deg,rgba(255,255,255,.58),transparent 60%),#ffcad4}.howto-card:nth-child(4){background:linear-gradient(180deg,rgba(255,255,255,.58),transparent 60%),#bde0fe}.step-badge{position:absolute;top:10px;left:10px;z-index:3;display:grid;width:38px;height:38px;place-items:center;border:3px solid var(--line);border-radius:50%;background:var(--yellow);box-shadow:0 4px #17202a2e;font-size:20px;font-weight:950}.howto-visual{position:relative;display:grid;overflow:hidden;place-items:center;border:3px solid rgba(38,56,74,.82);border-radius:8px;background:linear-gradient(180deg,transparent 0 56%,rgba(42,157,143,.22) 56% 78%,rgba(38,56,74,.1) 78%),repeating-linear-gradient(90deg,rgba(255,255,255,.24) 0 16px,transparent 16px 32px),#fffdf78c}.howto-guest{display:block;width:96px;height:112px;border:0;background-color:transparent;filter:drop-shadow(0 6px 0 rgba(23,32,42,.18))}.howto-guest.small{width:76px;height:88px}.howto-speech{position:absolute;right:8px;bottom:14px;display:grid;gap:2px;max-width:58%;border:3px solid var(--line);border-radius:8px;padding:8px;background:#fffdf7;box-shadow:0 5px #17202a2e}.howto-speech small,.shift-demo small{color:#4d5f6e;font-weight:900}.demo-room{position:relative;display:flex;align-content:flex-start;align-items:flex-start;flex-wrap:wrap;gap:6px;width:min(100%,220px);height:130px;border:4px solid var(--line);border-radius:8px;padding:12px;background:linear-gradient(180deg,#ffffffb8,#ffffff2e),repeating-linear-gradient(90deg,rgba(91,42,134,.1) 0 10px,transparent 10px 20px),#d8d2ff}.demo-room b{width:100%;font-size:28px;line-height:1}.demo-room>span:not(.demo-room-guest){border:2px solid var(--line);border-radius:999px;padding:2px 6px;background:#fffdf7;font-size:11px;font-weight:900}.demo-room-guest{position:absolute;right:8px;bottom:0;width:72px;height:84px;border:0;background-color:transparent;filter:drop-shadow(0 4px 0 rgba(23,32,42,.18))}.conflict-demo{grid-template-columns:1fr auto 1fr;gap:6px;font-size:34px;font-weight:950}.conflict-demo em{grid-column:1 / -1;border:4px solid var(--line);border-radius:8px;padding:5px 12px;background:#ffd45c;font-style:normal;transform:rotate(-2deg)}.shift-demo{grid-template-columns:1fr 1fr;gap:8px;padding:12px}.shift-demo>div{display:grid;width:100%;min-height:64px;align-content:center;border:3px solid var(--line);border-radius:8px;padding:8px;background:#fffdf7}.shift-demo b{font-size:30px;line-height:1}.demo-chaos{grid-column:1 / -1;min-height:28px!important}.demo-chaos span{display:block;width:42%;height:12px;border-radius:999px;background:linear-gradient(90deg,#2a9d8f,#ffd166,#ef476f)}.howto-card h3{font-size:21px;line-height:1.05}.howto-card p{color:#334250;font-weight:780;line-height:1.3}.stat-row,.result-stats{display:flex;flex-wrap:wrap;gap:8px}.stat-row span,.result-stats span,.unlock-strip span{border:2px solid var(--line);border-radius:999px;padding:6px 10px;background:linear-gradient(180deg,rgba(255,255,255,.62),transparent 60%),#fffdf7;font-weight:800}.hud{display:grid;grid-template-columns:96px 124px minmax(220px,1fr) 98px 156px;align-items:stretch;gap:8px}.meter,.chaos{min-height:56px;border:3px solid var(--line);border-radius:8px;padding:7px 10px;background:linear-gradient(180deg,rgba(255,255,255,.68),transparent 60%),repeating-linear-gradient(90deg,rgba(32,178,166,.08) 0 10px,transparent 10px 20px),#fff8ea;box-shadow:0 5px #00000029}.meter label,.chaos label{display:block;color:#5d6f7d;font-size:12px;font-weight:900;text-transform:uppercase}.meter strong{display:flex;align-items:baseline;gap:2px;margin-top:2px;font-size:27px;line-height:1}.meter strong small{font-size:13px;font-weight:950}.streak-meter strong{color:inherit;transition:color .16s ease}.combo-hot .streak-meter strong{color:#ef476f}.chaos-top{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px}.bar{overflow:hidden;height:14px;border:2px solid var(--line);border-radius:999px;background:#dbe7ef}.bar span{position:relative;display:block;height:100%;background:linear-gradient(90deg,#2a9d8f,#ffd166,#ef476f);transition:width .2s ease}.hud-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;min-width:0}.hud-actions .compact{min-width:0;padding-inline:8px}.bar span:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.64),transparent);opacity:0;transform:translate(-100%)}.playfield{position:relative;display:grid;grid-template-columns:minmax(640px,1fr) minmax(330px,360px);gap:12px;min-height:0}.screen-shake .playfield{animation:screen-shake .33s ease both}.chaos-warning .hotel{box-shadow:inset 0 0 0 4px #ffffff47,0 12px #00000038,0 0 0 4px #ffd1666b}.chaos-warning .bar span{animation:chaos-bar-wobble .76s ease-in-out infinite alternate}.chaos-danger .hotel{animation:chaos-pulse .86s ease-in-out infinite alternate;box-shadow:inset 0 0 0 4px #ffffff3d,0 12px #00000038,0 0 0 5px #ef476f80}.chaos-danger .chaos{animation:chaos-panel-danger .56s ease-in-out infinite alternate}.chaos-danger .bar{background:#ffd1dc}.chaos-danger .bar span{animation:chaos-bar-wobble .36s ease-in-out infinite alternate}.chaos-hit .chaos{animation:chaos-hit .52s ease both}.chaos-hit .bar span:after{animation:bar-surge .52s ease both}.time-critical .hud .meter:first-child{animation:time-pulse .52s ease-in-out infinite alternate}.queue-critical .queue{box-shadow:0 0 0 4px #ef476f57,0 8px #17202a33}.combo-hot .streak-meter{background:radial-gradient(circle at 82% 18%,rgba(255,209,102,.82),transparent 26%),repeating-linear-gradient(90deg,rgba(255,255,255,.42) 0 12px,transparent 12px 24px),#fff4d8;animation:combo-meter .68s ease-in-out infinite alternate}.feedback-layer{position:absolute;inset:0;z-index:30;pointer-events:none}.chaos-burst{position:absolute;inset:0;z-index:35;display:grid;place-items:center;padding:18px;background:#17202a29;pointer-events:none;animation:burst-fade 1.05s ease both}.pause-overlay{position:absolute;inset:0;z-index:42;display:grid;place-items:center;padding:18px;background:#17202a5c}.pause-card{display:grid;gap:10px;width:min(440px,90%);border:5px solid var(--line);border-radius:8px;padding:22px;background:linear-gradient(180deg,rgba(255,255,255,.72),transparent 60%),#fff4d8;box-shadow:14px 14px #17202a47;text-align:center;transform:rotate(-1deg)}.pause-card span{width:fit-content;margin:0 auto;border:3px solid var(--line);border-radius:999px;padding:5px 12px;background:#bde0fe;font-weight:950;text-transform:uppercase}.pause-card strong{font-size:clamp(34px,5vw,58px);font-weight:950;line-height:.95}.pause-card p{margin:0;font-weight:850;line-height:1.25}.burst-card{display:grid;gap:8px;max-width:min(520px,86%);border:5px solid var(--line);border-radius:8px;padding:18px 22px;background:linear-gradient(180deg,rgba(255,255,255,.72),transparent 62%),#ffcad4;box-shadow:12px 12px #17202a3d;text-align:center;transform:rotate(-2deg)}.burst-card strong{font-size:clamp(28px,5vw,64px);font-weight:950;line-height:.92;text-transform:uppercase}.burst-card em{width:fit-content;margin:0 auto;border:3px solid var(--line);border-radius:999px;padding:4px 12px;background:var(--yellow);font-style:normal;font-weight:950}.burst-card span{font-size:clamp(13px,1.5vw,18px);font-weight:850;line-height:1.2}.combo-burst{position:absolute;top:12px;left:50%;z-index:34;display:grid;gap:4px;min-width:min(360px,78%);border:5px solid var(--line);border-radius:8px;padding:12px 18px;background:linear-gradient(135deg,rgba(255,255,255,.72),transparent 58%),#caffbf;box-shadow:10px 10px #17202a3d;pointer-events:none;text-align:center;transform:translate(-50%) rotate(-2deg);animation:combo-burst .85s cubic-bezier(.17,.9,.28,1) both}.combo-burst strong{color:var(--ink);font-size:clamp(28px,4vw,54px);font-weight:950;line-height:.9;text-transform:uppercase}.combo-burst span{color:#2b3a45;font-size:clamp(13px,1.6vw,18px);font-weight:950;line-height:1.1}.shift-intro{position:absolute;inset:0;z-index:32;display:grid;place-items:center;padding:18px;pointer-events:none;animation:intro-layer 1.45s ease both}.shift-intro-card{display:grid;gap:7px;width:min(560px,88%);border:5px solid var(--line);border-radius:8px;padding:18px 22px;background:linear-gradient(135deg,rgba(255,255,255,.78),transparent 58%),#ffd166;box-shadow:12px 12px #17202a47;text-align:center;transform:rotate(-2deg);animation:intro-card 1.45s cubic-bezier(.17,.9,.28,1) both}.shift-intro-card span,.shift-intro-card em{width:fit-content;margin:0 auto;border:3px solid var(--line);border-radius:999px;padding:4px 12px;background:#caffbf;font-size:clamp(11px,1.4vw,14px);font-style:normal;font-weight:950;line-height:1.1;text-transform:uppercase}.shift-intro-card strong{font-size:clamp(28px,5vw,62px);font-weight:950;line-height:.92;text-transform:uppercase}.shift-intro-card p{max-width:42ch;margin:0 auto;font-size:clamp(14px,1.7vw,18px);font-weight:850;line-height:1.2}.shift-intro-card em{background:#bde0fe}.float-note{position:absolute;left:var(--fx);top:var(--fy);max-width:min(260px,42vw);border:4px solid var(--line);border-radius:8px;padding:8px 12px;background:linear-gradient(180deg,rgba(255,255,255,.72),transparent 62%),#caffbf;color:var(--ink);box-shadow:7px 7px #17202a38;font-size:clamp(16px,2.1vw,24px);font-weight:950;line-height:1.05;text-align:center;text-transform:uppercase;transform:translate(-50%,-50%) rotate(-3deg);animation:float-note .95s cubic-bezier(.17,.9,.28,1) both}.float-note.bad{background:linear-gradient(180deg,rgba(255,255,255,.58),transparent 60%),#ffcad4;animation-name:float-note-bad}.float-note.combo{background:linear-gradient(180deg,rgba(255,255,255,.7),transparent 60%),#ffd166}.float-note.neutral{background:linear-gradient(180deg,rgba(255,255,255,.68),transparent 60%),#bde0fe}.float-note.coin{background:linear-gradient(180deg,rgba(255,255,255,.7),transparent 60%),#ffd166}.hotel{position:relative;display:grid;grid-template-rows:repeat(3,minmax(130px,1fr)) 58px;gap:10px;min-height:0;border:5px solid var(--line);border-radius:8px;padding:48px 10px 10px;background:linear-gradient(180deg,#f36f4c 0 40px,transparent 40px),repeating-linear-gradient(90deg,rgba(80,45,40,.12) 0 14px,transparent 14px 28px),repeating-linear-gradient(0deg,rgba(255,253,247,.16) 0 8px,transparent 8px 16px),linear-gradient(180deg,#ffd28a,#f39b5b);box-shadow:inset 0 0 0 4px #ffffff47,0 12px #00000038}.hotel:before{content:"OTEL CHAOS";position:absolute;top:7px;left:50%;z-index:2;display:grid;width:min(420px,72%);height:34px;place-items:center;border:4px solid var(--line);border-radius:8px;background:radial-gradient(circle at 18% 50%,#fff2b8 0 5px,transparent 6px),radial-gradient(circle at 82% 50%,#fff2b8 0 5px,transparent 6px),linear-gradient(180deg,#fff8cf,#ffd45c);box-shadow:0 4px #0003;color:var(--ink);font-size:18px;font-weight:950;transform:translate(-50%) rotate(-1deg)}.floor{display:grid;grid-template-columns:76px 1fr;gap:8px;min-height:0}.floor-label,.lobby-strip{display:grid;place-items:center;border:3px solid var(--line);border-radius:8px;background:linear-gradient(180deg,rgba(255,255,255,.38),transparent 55%),#f4a261;color:#17202a;font-weight:950;text-align:center}.floor-label{position:relative;border-radius:8px 0 0 8px;padding:6px;font-size:13px;line-height:1.05;writing-mode:horizontal-tb;transform:none}.floor-label:after{content:"";position:absolute;top:50%;right:-8px;width:14px;height:14px;border-top:3px solid var(--line);border-right:3px solid var(--line);background:#f4a261;transform:translateY(-50%) rotate(45deg)}.rooms{display:grid;grid-template-columns:repeat(var(--room-count),minmax(0,1fr));gap:8px;min-width:0;padding:3px;border:3px solid rgba(38,56,74,.35);border-radius:8px;background:repeating-linear-gradient(90deg,#fffdf747 0 16px,#fffdf724 16px 32px),#fffdf747}.room{position:relative;display:grid;grid-template-rows:auto auto 1fr;align-items:center;overflow:hidden;min-width:0;min-height:126px;border:4px solid var(--line);border-radius:8px;padding:8px;background:linear-gradient(180deg,#ffffffad,#ffffff29),repeating-linear-gradient(90deg,rgba(35,116,171,.08) 0 10px,transparent 10px 20px),#bde0fe;box-shadow:0 6px #17202a33;text-align:left;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.room:hover,.room:focus-visible{transform:translateY(-2px);box-shadow:0 8px #17202a38;filter:saturate(1.05)}.room:before{content:"";position:absolute;inset:0;background:var(--room-art, url(../art/room-interior.webp)) center 78% / cover no-repeat;opacity:.5}.room:nth-child(2n){background:linear-gradient(180deg,#ffffffb8,#ffffff2e),repeating-linear-gradient(90deg,rgba(42,157,143,.08) 0 10px,transparent 10px 20px),#caffbf}.room.occupied{background:linear-gradient(180deg,#fffc,#ffffff26),repeating-linear-gradient(90deg,rgba(244,162,97,.1) 0 10px,transparent 10px 20px),#ffd6a5}.room.tag-luxury{background-color:#ffe6a7}.room.tag-haunted{background-color:#d8d2ff}.room.tag-pet{background-color:#d7f7c9}.room.tag-noisy,.room.tag-party{background-color:#ffc8dd}.room.effect-noisy,.room.effect-haunted,.room.effect-smoke,.room.effect-blocked{box-shadow:inset 0 0 0 4px #fffdf76b,0 0 0 4px #ef476f33;animation:room-alert-pulse .78s ease-in-out infinite alternate}.room.effect-noisy{background-image:linear-gradient(180deg,#ffffffb3,#ffffff24),repeating-linear-gradient(90deg,rgba(239,71,111,.12) 0 8px,transparent 8px 16px)}.room.effect-haunted{background-image:linear-gradient(180deg,#ffffffb3,#ffffff24),radial-gradient(circle at 74% 28%,rgba(184,247,255,.72) 0 18px,transparent 19px)}.room.effect-smoke,.room.effect-blocked{filter:saturate(.9)}.room-alerts{position:absolute;right:8px;bottom:40px;z-index:4;display:grid;gap:3px;max-width:58%;justify-items:end;pointer-events:none}.room-alerts b{border:2px solid var(--line);border-radius:999px;padding:2px 7px;background:#ffcad4;box-shadow:3px 3px #17202a33;font-size:10px;font-weight:950;line-height:1.1;text-transform:uppercase;animation:alert-pop .72s ease-in-out infinite alternate}.room.effect-haunted .room-alerts b{background:#bde0fe}.room.effect-noisy .room-alerts b{background:#ffd166}.room.effect-blocked .room-alerts b,.room.effect-smoke .room-alerts b{background:#ffadad}.room.preview-safe{box-shadow:0 6px #17202a33,0 0 0 4px #75c96b61}.room.preview-neighbor{box-shadow:0 6px #17202a33,0 0 0 4px #ffd16675}.room.preview-danger{box-shadow:0 6px #17202a33,0 0 0 5px #ef476f94;animation:preview-danger .72s ease-in-out infinite alternate}.room.tutorial-target{box-shadow:0 6px #17202a33,0 0 0 5px #ffd166c7,0 0 0 10px #fffdf747;animation:tutorial-target .9s ease-in-out infinite alternate}.room-preview-alert{position:absolute;right:8px;top:8px;z-index:5;display:inline-flex;align-items:center;max-width:calc(100% - 72px);gap:4px;border:3px solid var(--line);border-radius:999px;padding:3px 7px;background:#ffcad4;box-shadow:4px 4px #17202a2e;pointer-events:none}.room-preview-alert.good{background:#caffbf}.room-preview-alert.soft,.room-preview-alert.guide{background:#ffd166}.room-preview-alert b,.room-preview-alert small{font-size:10px;font-weight:950;line-height:1;text-transform:uppercase}.room-preview-alert small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-summary{display:grid;gap:5px;margin-top:8px;border:3px solid var(--line);border-radius:8px;padding:8px;background:linear-gradient(180deg,rgba(255,255,255,.68),transparent 64%),#fff4d8;box-shadow:0 4px #17202a29}.preview-summary b,.preview-summary span,.preview-summary small{line-height:1.15}.preview-summary b{font-size:14px;font-weight:950}.preview-summary span{color:#26384a;font-size:12px;font-weight:900}.preview-summary small{color:#4d5f6e;font-size:12px;font-weight:780}.room-number{position:relative;z-index:1;display:inline-flex;align-items:center;gap:6px;width:fit-content;border:3px solid var(--line);border-radius:999px;padding:2px 4px 2px 8px;background:#fffdf7e6;font-weight:950}.room-number b{line-height:1}.room-number small{border-radius:999px;padding:1px 5px;background:#dbe7ef;font-size:11px;font-weight:950;line-height:1.15}.room-tags{display:flex;align-items:flex-start;align-content:flex-start;flex-wrap:wrap;gap:4px;min-height:34px;margin-top:5px;position:relative;z-index:1}.room-tags i{border:2px solid rgba(23,32,42,.9);border-radius:999px;padding:2px 5px;background:#fffdf7e6;font-size:10px;font-style:normal;font-weight:850;line-height:1.2}.room-decor{display:none}.room-guest{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:center;gap:0;min-height:74px;place-items:center}.mini-guest,.guest-face{display:grid;flex:0 0 auto;width:46px;height:46px;place-items:center;border:3px solid var(--line);border-radius:50%;background:var(--guest);color:#17202a;box-shadow:inset -4px -5px #00000024;font-size:16px;font-weight:950}.mini-guest{width:min(56px,38%);min-width:42px;height:56px;border-radius:45% 45% 38% 38%}.lobby-strip{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:7px;padding:8px;border-radius:0 0 8px 8px;background:linear-gradient(180deg,rgba(255,255,255,.32),transparent 62%),repeating-linear-gradient(90deg,rgba(255,253,247,.22) 0 12px,transparent 12px 24px),#20b2a6}.lobby-strip span{display:grid;min-width:0;place-items:center;border:2px solid var(--line);border-radius:8px;padding:6px 8px;background:linear-gradient(180deg,rgba(255,255,255,.68),transparent 60%),#fff8ea;box-shadow:0 4px #17202a29}.lobby-strip b,.lobby-strip small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-strip b{font-size:15px;line-height:1.05}.lobby-strip small{color:#526676;font-size:11px;font-weight:900;line-height:1.15}.side-panel{display:grid;grid-template-rows:auto auto minmax(150px,1fr) minmax(104px,auto) minmax(96px,auto);gap:9px;min-height:0}.queue,.inspector,.event-log,.tutorial{padding:10px;border:3px solid var(--line);border-radius:8px;box-shadow:0 4px #00000029}.queue{overflow:auto;background:linear-gradient(180deg,#ffffffc2,#fff4d8d6),repeating-linear-gradient(90deg,rgba(244,162,97,.14) 0 22px,transparent 22px 44px),var(--panel)}.panel-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px;font-weight:950;text-transform:uppercase;letter-spacing:0}.panel-title span{border:2px solid var(--line);border-radius:999px;padding:2px 7px;background:#ffd166;font-size:12px}.guest-card{display:flex;align-items:flex-end;width:100%;min-height:96px;margin-bottom:8px;border:0;border-radius:8px;padding:6px 4px;background:linear-gradient(180deg,transparent 0 58%,rgba(42,157,143,.2) 58% 78%,rgba(38,56,74,.1) 78% 100%),linear-gradient(90deg,#ffd6a538,#bde0fe2e);box-shadow:none;text-align:left;touch-action:none;-webkit-user-select:none;user-select:none}.guest-card .guest-face{animation:guest-idle 2.6s ease-in-out infinite}.guest-card:nth-of-type(2n) .guest-face{animation-delay:-.9s}.guest-card.mood-hurry .guest-copy{animation:hurry-pulse .9s ease-in-out infinite alternate}.guest-card.mood-panic{animation:panic-card .36s ease-in-out infinite}.guest-card.mood-panic .guest-copy{background:linear-gradient(180deg,rgba(255,255,255,.76),transparent 60%),#ffcad4}.guest-card.picked{opacity:.35}.guest-card.selected .guest-face{filter:drop-shadow(0 0 0 #fffdf7) drop-shadow(0 5px 0 rgba(42,157,143,.32));transform:translateY(-2px) scale(1.03)}.guest-card.selected .guest-copy{background:linear-gradient(180deg,rgba(255,255,255,.8),transparent 62%),#caffbf;box-shadow:0 4px #17202a2e,0 0 0 4px #2a9d8f52}.guest-card.dragging{position:fixed;z-index:50;width:300px;margin:0;pointer-events:none;transform:translate(-50%,-50%) rotate(2deg) scale(1.04)}.guest-copy{position:relative;display:grid;min-width:0;flex:1;margin-left:6px;gap:2px;border:3px solid var(--line);border-radius:8px;padding:7px;background:linear-gradient(180deg,rgba(255,255,255,.78),transparent 62%),#fffdf7f5;box-shadow:0 4px #17202a2e}.guest-copy:before{content:"";position:absolute;left:-10px;bottom:18px;width:14px;height:14px;border-left:3px solid var(--line);border-bottom:3px solid var(--line);background:#fffdf7f0;transform:rotate(45deg)}.guest-copy strong{overflow-wrap:anywhere;font-size:15px;line-height:1.1}.guest-copy small{color:#4d5f6e;font-size:12px;font-weight:750;line-height:1.2}.character-sprite{background-image:url(../art/guest-sprite-sheet-v3.webp);background-position:var(--sx) var(--sy);background-repeat:no-repeat;background-size:500% 400%}.guest-face.character-sprite{width:76px;height:88px;border:0;border-radius:0;background-color:transparent;background-origin:content-box;background-clip:content-box;box-shadow:none}.mini-guest.character-sprite{width:66px;min-width:46px;height:74px;border:0;border-radius:8px;background-color:transparent;filter:drop-shadow(0 4px 0 rgba(23,32,42,.18));box-shadow:none}.room-guest .mini-guest+.mini-guest{margin-left:-30px}.room-guest .mini-guest.character-sprite{width:86px;height:94px}.preview-conflict-guest{filter:drop-shadow(0 4px 0 rgba(23,32,42,.18)) drop-shadow(0 0 0 #fffdf7) drop-shadow(0 0 9px rgba(239,71,111,.8))!important;animation:conflict-guest-pulse .52s ease-in-out infinite alternate}.patience-track{display:block;overflow:hidden;width:100%;height:8px;margin-top:6px;border:2px solid var(--line);border-radius:999px;background:#dbe7ef}.patience-track span{display:block;height:100%;background:linear-gradient(90deg,#ef476f,#ffd166,#2a9d8f)}.inspector{min-height:104px;background:linear-gradient(180deg,rgba(255,255,255,.7),transparent 62%),var(--panel)}.inspector p,.tutorial span,.event-log span{font-size:14px;font-weight:750;line-height:1.3}.intel-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.tag-cloud{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.tag-cloud b{border:2px solid var(--line);border-radius:999px;padding:4px 7px;background:#caffbf;font-size:12px}.tag-cloud b.bad{background:#ffcad4}.tutorial{display:grid;gap:6px;background:linear-gradient(180deg,rgba(255,255,255,.5),transparent 62%),#fdffb6}.guided-card{background:linear-gradient(180deg,rgba(255,255,255,.58),transparent 62%),#ffd166}.tutorial-device{width:fit-content;border:2px solid var(--line);border-radius:999px;padding:3px 7px;background:#fffdf7;font-size:11px;font-style:normal;font-weight:950;text-transform:uppercase;letter-spacing:0}.twist-card{background:linear-gradient(180deg,rgba(255,255,255,.55),transparent 62%),#bde0fe}.mission-card{background:linear-gradient(180deg,rgba(255,255,255,.55),transparent 62%),#d7f7c9}.mission-list{display:grid;gap:5px;margin:0;padding:0;list-style:none}.mission-list li{display:flex;align-items:center;justify-content:space-between;gap:8px;border:2px solid rgba(38,56,74,.78);border-radius:999px;padding:4px 7px;background:#fffdf7d1;font-size:12px;font-weight:850;line-height:1.1}.mission-list li.done{background:#caffbf}.mission-list b{flex:0 0 auto;font-size:11px;font-weight:950;text-transform:uppercase}.event-log{display:grid;gap:4px;min-height:96px;align-content:start;background:linear-gradient(180deg,rgba(255,255,255,.5),transparent 62%),#fffdf7}.event-log b{font-size:12px;font-weight:950;text-transform:uppercase}.front-message{display:block}.feed-list{display:grid;gap:3px;margin:4px 0 0;padding:0;list-style:none}.feed-list li{overflow:hidden;border:2px solid rgba(23,32,42,.72);border-radius:999px;padding:2px 7px;background:#fffdf7d1;color:#334250;font-size:11px;font-weight:850;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.feed-list li.good,.feed-list li.combo{background:#caffbf}.feed-list li.bad{background:#ffcad4}.feed-list li.twist,.feed-list li.goal{background:#bde0fe}.feed-list li.gold{background:#ffd166}.results-screen{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(420px,1.08fr);gap:16px;align-items:stretch;min-height:0}.result-card,.replay-card{padding:clamp(14px,2.6vh,28px) clamp(18px,3vw,34px);background:radial-gradient(circle at 90% 10%,rgba(255,212,92,.45),transparent 26%),radial-gradient(circle at 8% 92%,rgba(32,178,166,.22),transparent 24%),linear-gradient(180deg,rgba(255,255,255,.45),transparent 55%),var(--panel)}.result-card{position:relative;display:grid;align-content:center;gap:clamp(7px,1.5vh,14px);overflow:hidden}.result-card:before{content:"FRONT DESK RECEIPT";position:absolute;top:20px;right:-42px;z-index:1;border:4px solid var(--line);padding:6px 48px;background:#ffcad4;font-size:13px;font-weight:950;transform:rotate(14deg)}.result-card h2{position:relative;z-index:2;max-width:calc(100% - 124px);font-size:min(clamp(34px,5vw,68px),7.2vh);line-height:.95}.grade-stamp{position:absolute;top:70px;right:24px;z-index:3;display:grid;width:104px;height:104px;place-items:center;border:5px solid var(--line);border-radius:50%;background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.78),transparent 20%),#ffd166;box-shadow:8px 8px #17202a3d;text-align:center;transform:rotate(8deg);animation:stamp-in .56s cubic-bezier(.17,.9,.28,1) .18s both}@keyframes stamp-in{0%{transform:rotate(20deg) scale(2.6);opacity:0}62%{transform:rotate(6deg) scale(.9);opacity:1}to{transform:rotate(8deg) scale(1)}}.grade-stamp b{display:block;font-size:50px;font-weight:950;line-height:.82}.grade-stamp span{max-width:82px;font-size:11px;font-weight:950;line-height:1;text-transform:uppercase}.grade-s,.grade-a{background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.78),transparent 20%),#caffbf}.grade-c,.grade-f{background:radial-gradient(circle at 28% 22%,rgba(255,255,255,.78),transparent 20%),#ffcad4}.level-up-banner{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:center;width:fit-content;gap:8px;border:4px solid var(--line);border-radius:8px;padding:8px 12px;background:linear-gradient(180deg,rgba(255,255,255,.64),transparent 60%),#ffd166;box-shadow:0 5px #17202a33;animation:level-pop .9s ease both}.level-up-banner strong{font-size:20px;font-weight:950;text-transform:uppercase}.level-up-banner span{font-weight:900}.tier{position:relative;z-index:2;width:fit-content;border:3px solid var(--line);border-radius:999px;padding:7px 12px;background:linear-gradient(180deg,rgba(255,255,255,.62),transparent 60%),var(--yellow);box-shadow:0 5px #17202a2e;font-weight:950}.result-stats,.result-card p{position:relative;z-index:2}.result-card>.result-stats{padding-right:118px}.progress-report{position:relative;z-index:2;display:grid;gap:7px;border:3px solid var(--line);border-radius:8px;padding:9px;background:linear-gradient(180deg,rgba(255,255,255,.58),transparent 60%),#bde0feb3}.progress-report .result-stats{gap:6px}.mission-results,.next-action{position:relative;z-index:2}.mission-results{display:flex;flex-wrap:wrap;gap:6px}.mission-results span,.next-action{border:3px solid var(--line);border-radius:8px;padding:8px 10px;background:linear-gradient(180deg,rgba(255,255,255,.62),transparent 60%),#d7f7c9;box-shadow:0 4px #17202a24;font-size:13px;font-weight:900;line-height:1.15}.next-action{width:fit-content;background:linear-gradient(180deg,rgba(255,255,255,.62),transparent 60%),#ffd166}.run-recap{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.run-recap span{display:grid;min-width:0;border:3px solid var(--line);border-radius:8px;padding:8px;background:linear-gradient(180deg,rgba(255,255,255,.62),transparent 60%),#fff4d8;box-shadow:0 4px #17202a24}.run-recap b{overflow-wrap:anywhere;font-size:clamp(17px,2vw,24px);font-weight:950;line-height:1}.run-recap small{color:#4d5f6e;font-size:11px;font-weight:950;line-height:1.1;text-transform:uppercase}.xp-track{overflow:hidden;height:12px;border:2px solid var(--line);border-radius:999px;background:#fffdf7}.xp-track span{display:block;height:100%;background:linear-gradient(90deg,#2a9d8f,#ffd166)}.result-card p{font-size:18px;line-height:1.35}.result-actions{position:relative;z-index:2;flex-wrap:wrap}.result-actions .share-card-btn{background:linear-gradient(180deg,rgba(255,255,255,.62),transparent 60%),#caffbf}.gold-video{background:linear-gradient(180deg,rgba(255,255,255,.62),transparent 60%),#ffd166}.result-card small{position:relative;z-index:2;max-width:48ch;color:#4d5f6e;font-size:12px;font-weight:800;line-height:1.1}.replay-card{position:relative;display:grid;overflow:hidden;place-items:center;min-height:360px;text-align:center;background:repeating-linear-gradient(45deg,rgba(255,255,255,.36) 0 16px,transparent 16px 32px),radial-gradient(circle at 18% 18%,rgba(255,212,92,.64),transparent 22%),linear-gradient(160deg,#ffafcc,#bde0fe)}.replay-card:before{content:"HOTEL CAM";position:absolute;top:14px;left:14px;z-index:1;border:3px solid var(--line);border-radius:999px;padding:5px 10px;background:#caffbf;font-size:12px;font-weight:950;transform:rotate(-3deg)}.replay-card-inner{position:relative;z-index:1;display:grid;gap:8px;width:min(100%,540px);min-height:74%;place-items:center;border:5px solid var(--line);border-radius:8px;padding:24px;background:linear-gradient(180deg,rgba(255,255,255,.74),transparent 62%),#fffdf7;box-shadow:11px 11px #17202a2e}.social-head{background:#fffdf7;transform:rotate(2deg)}.replay-card strong{position:relative;z-index:1;width:fit-content;border:3px solid var(--line);border-radius:999px;padding:6px 12px;background:#ffcad4;font-size:clamp(18px,2.3vw,28px);transform:rotate(-2deg)}.replay-card .replay-label{position:relative;z-index:1;border:4px solid var(--line);border-radius:8px;padding:12px 18px;background:linear-gradient(180deg,rgba(255,255,255,.56),transparent 60%),var(--yellow);font-size:clamp(30px,4.8vw,70px);font-weight:950;line-height:.95;transform:rotate(1deg)}.replay-card blockquote{max-width:38ch;margin:0;border:3px solid var(--line);border-radius:8px;padding:9px 12px;background:linear-gradient(180deg,rgba(255,255,255,.58),transparent 60%),#caffbf;box-shadow:5px 5px #17202a29;font-size:clamp(15px,1.8vw,20px);font-weight:950;line-height:1.12;transform:rotate(-1deg)}.replay-card p{max-width:42ch;font-size:16px;font-weight:850;line-height:1.25}.result-guest{position:absolute;z-index:1;width:120px;height:140px;border:0;background-color:transparent;filter:drop-shadow(0 8px 0 rgba(23,32,42,.18))}.result-influencer{right:22px;bottom:18px;opacity:.86;transform:rotate(5deg)}.result-vampire{right:122px;bottom:-8px;opacity:.72;transform:rotate(-8deg) scale(.86)}.replay-guest{position:relative;z-index:1;width:clamp(96px,12vw,160px);height:clamp(112px,14vw,184px);transform:rotate(-4deg)}.upgrade-screen{display:grid;grid-template-rows:auto 1fr auto;gap:12px;min-height:0}.upgrade-head{display:flex;align-items:center;justify-content:space-between;gap:12px;border:4px solid var(--line);border-radius:8px;padding:14px;background:linear-gradient(90deg,#fff8eaf0 0 46%,#fff8ea8c),url(../art/menu-hotel.webp) right 24% / cover no-repeat,var(--panel)}.upgrade-head h2{font-size:clamp(24px,4vw,42px)}.upgrade-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-content:start;gap:10px;overflow:auto}.upgrade{display:flex;flex-direction:column;gap:10px;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.45),transparent 60%),var(--panel)}.upgrade.recommended{box-shadow:var(--shadow),0 0 0 4px #ffd1667a}.upgrade-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.upgrade-category,.recommended-badge{width:fit-content;border:2px solid var(--line);border-radius:999px;padding:3px 7px;background:#bde0fe;font-size:11px;font-weight:950;line-height:1;text-transform:uppercase}.recommended-badge{background:#ffd166}.upgrade h3{font-size:21px}.upgrade p{flex:1;font-size:14px;line-height:1.35}.upgrade-effects{display:grid;gap:4px}.upgrade-effects span,.upgrade small{color:#4d5f6e;font-size:12px;font-weight:850;line-height:1.15}.upgrade-bottom{justify-content:space-between;margin-top:auto}.unlock-strip{display:flex;flex-wrap:wrap;gap:8px;padding-bottom:4px}.unlock-strip span{flex:0 0 auto;background:#dbe7ef;opacity:.65}.unlock-strip span.unlocked{background:#caffbf;opacity:1}.correct{animation:correct .65s ease both}.wrong,.fx-cry,.fx-noise,.fx-smoke,.fx-review,.fx-haunt,.fx-chase,.fx-pets,.fx-snore,.fx-alarm,.fx-meltdown,.fx-leave,.fx-refund,.fx-money,.fx-zap,.fx-rush,.fx-papers,.fx-kids{animation:disaster .85s ease both}.fx-cry:after,.fx-noise:after,.fx-smoke:after,.fx-review:after,.fx-haunt:after,.fx-chase:after,.fx-pets:after,.fx-snore:after,.fx-alarm:after,.fx-meltdown:after,.fx-leave:after,.fx-refund:after,.fx-money:after,.fx-zap:after,.fx-rush:after,.fx-papers:after,.fx-kids:after,.replay-card:after{position:absolute;inset:8px;display:grid;place-items:center;border:4px dashed rgba(23,32,42,.7);border-radius:8px;color:#17202ae6;font-size:clamp(18px,3vw,42px);font-weight:950;pointer-events:none;text-align:center}div.chaos-burst:after{content:none}div.chaos-burst{animation:burst-fade 1.05s ease both}.fx-cry:after{content:"WAA!";background:#ffca3ab3}.fx-noise:after{content:"BASS!";background:#00a6fb99}.fx-smoke:after{content:"PUFF!";background:#5b2a864d}.fx-review:after{content:"1 STAR";background:#ef476f73}.fx-haunt:after{content:"BOO!";background:#b8f7ff8c}.fx-chase:after{content:"CHASE!";background:#ffafcca6}.fx-pets:after{content:"FIGHT!";background:#f4a261b3}.fx-snore:after{content:"ZZZ!";background:#7bdff2a6}.fx-alarm:after{content:"ALARM!";background:#e639468c}.fx-meltdown:after{content:"MELTDOWN!";background:#ef476fcc}.fx-leave:after{content:"I'M OUT!";background:#adb5bdb3}.fx-refund:after{content:"REFUND!";background:#ffca3ab3}.fx-money:after{content:"NO PAY!";background:#ffd166bf}.fx-zap:after{content:"ZAP!";background:#80ed99a6}.fx-rush:after{content:"RUN!";background:#fb560799}.fx-papers:after{content:"PAPERS!";background:#f1fa8cb3}.fx-kids:after{content:"KIDS!";background:#4cc9f0a6}@keyframes correct{0%,to{transform:translateY(0)}40%{transform:translateY(-8px) rotate(-1deg);box-shadow:0 10px #2a9d8f59}}@keyframes disaster{0%,to{transform:translate(0)}15%{transform:translate(-8px) rotate(-2deg)}35%{transform:translate(8px) rotate(2deg)}55%{transform:translate(-5px) rotate(-1deg)}}@keyframes float-note{0%{opacity:0;transform:translate(-50%,-30%) rotate(-6deg) scale(.72)}16%{opacity:1;transform:translate(-50%,-50%) rotate(-3deg) scale(1.08)}to{opacity:0;transform:translate(-50%,-120%) rotate(3deg) scale(.92)}}@keyframes float-note-bad{0%{opacity:0;transform:translate(-50%,-30%) rotate(7deg) scale(.72)}18%{opacity:1;transform:translate(-50%,-50%) rotate(-5deg) scale(1.08)}to{opacity:0;transform:translate(-50%,-110%) rotate(6deg) scale(.92)}}@keyframes screen-shake{0%,to{transform:translate(0)}20%{transform:translate(-7px,3px) rotate(-.3deg)}42%{transform:translate(6px,-3px) rotate(.3deg)}64%{transform:translate(-4px,-2px) rotate(-.2deg)}82%{transform:translate(3px,2px) rotate(.16deg)}}@keyframes chaos-pulse{0%{filter:saturate(1)}to{filter:saturate(1.2) contrast(1.04)}}@keyframes chaos-panel-danger{0%{transform:translateY(0);box-shadow:0 5px #00000029}to{transform:translateY(-1px) rotate(-.3deg);box-shadow:0 5px #00000029,0 0 0 4px #ef476f61}}@keyframes chaos-hit{0%,to{transform:translate(0)}18%{transform:translate(-5px) rotate(-1deg)}40%{transform:translate(5px) rotate(1deg)}64%{transform:translate(-3px) rotate(-.5deg)}}@keyframes chaos-bar-wobble{0%{filter:saturate(1)}to{filter:saturate(1.35) contrast(1.08)}}@keyframes bar-surge{0%{opacity:0;transform:translate(-100%)}22%{opacity:1}to{opacity:0;transform:translate(100%)}}@keyframes time-pulse{0%{transform:translateY(0);box-shadow:0 6px #17202a33}to{transform:translateY(-2px) rotate(-1deg);box-shadow:0 6px #17202a33,0 0 0 4px #ef476f6b}}@keyframes combo-meter{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-2px) rotate(.5deg)}}@keyframes combo-burst{0%{opacity:0;transform:translate(-50%,-22px) rotate(3deg) scale(.78)}18%{opacity:1;transform:translate(-50%) rotate(-2deg) scale(1.08)}72%{opacity:1;transform:translate(-50%) rotate(-1deg) scale(1)}to{opacity:0;transform:translate(-50%,-18px) rotate(2deg) scale(.92)}}@keyframes guest-idle{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-4px) rotate(1deg)}}@keyframes hurry-pulse{0%{box-shadow:0 4px #17202a2e}to{box-shadow:0 4px #17202a2e,0 0 0 3px #ffd1667a}}@keyframes panic-card{0%,to{transform:translate(0)}33%{transform:translate(-2px) rotate(-.5deg)}66%{transform:translate(2px) rotate(.5deg)}}@keyframes teaser-pop{0%,to{transform:translate(-50%,-50%) rotate(2deg) scale(1)}48%{transform:translate(-50%,-52%) rotate(-1deg) scale(1.03)}}@keyframes teaser-baby{0%{transform:translateY(0) rotate(-2deg)}to{transform:translateY(-5px) rotate(4deg)}}@keyframes teaser-dj{0%{transform:translateY(2px) rotate(4deg)}to{transform:translateY(-4px) rotate(-5deg)}}@keyframes room-alert-pulse{0%{filter:saturate(1)}to{filter:saturate(1.18) contrast(1.03)}}@keyframes preview-danger{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-2px) rotate(-.4deg)}}@keyframes tutorial-target{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-3px) rotate(.4deg)}}@keyframes conflict-guest-pulse{0%{transform:translateY(0) scale(1)}to{transform:translateY(-3px) scale(1.06)}}@keyframes alert-pop{0%{transform:translateY(0) rotate(-1deg) scale(1)}to{transform:translateY(-2px) rotate(1deg) scale(1.04)}}@keyframes burst-fade{0%{opacity:0;transform:scale(.92)}14%{opacity:1;transform:scale(1)}78%{opacity:1}to{opacity:0;transform:scale(1.03)}}@keyframes intro-layer{0%{opacity:0;background:#17202a00}12%,72%{opacity:1;background:#17202a2e}to{opacity:0;background:#17202a00}}@keyframes intro-card{0%{opacity:0;transform:translateY(28px) rotate(2deg) scale(.82)}16%{opacity:1;transform:translateY(0) rotate(-2deg) scale(1.05)}72%{opacity:1;transform:translateY(0) rotate(-1deg) scale(1)}to{opacity:0;transform:translateY(-20px) rotate(2deg) scale(.92)}}@keyframes level-pop{0%{opacity:0;transform:translateY(8px) rotate(-2deg) scale(.86)}58%{opacity:1;transform:translateY(-2px) rotate(1deg) scale(1.04)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@media(max-width:980px){body{overflow:auto}.shell{width:100%;max-width:100%;height:auto;min-height:100vh;overflow-x:hidden}.menu-grid,.playfield,.results-screen{grid-template-columns:1fr;min-width:0}.playfield{grid-template-rows:auto auto}.side-panel{grid-template-rows:auto auto auto auto auto}.inspector,.event-log{min-height:0}.queue{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.howto-head{align-items:flex-start;flex-direction:column}.howto-actions{justify-content:flex-start;width:100%}.howto-actions>*{flex:1 1 160px}.howto-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.queue .panel-title{grid-column:1 / -1}.guest-card{margin-bottom:0}.upgrade-grid{grid-template-columns:repeat(2,minmax(180px,1fr))}}@media(max-width:680px){.shell{padding:8px;gap:8px}.shell.game{padding-bottom:150px}.topbar,.upgrade-head{width:100%;min-width:0;align-items:flex-start;flex-direction:column}.top-actions{width:100%;flex-wrap:wrap}.top-actions>*{flex:1 1 140px}.brand{align-items:flex-start}.brand h1{font-size:20px;line-height:1.05;overflow-wrap:anywhere}.poster{width:100%;min-width:0;min-height:300px}.poster:after{display:none}.poster-title-badge{top:10px;left:12px;max-width:70%;padding:7px 9px;font-size:14px}.hotel-preview{width:74%;transform:rotate(-1deg) translateY(18px)}.clip-teaser{top:55%;width:min(52%,240px);min-height:150px;padding:8px}.clip-handle,.social-head{font-size:10px}.clip-pair{min-height:70px}.clip-guest{width:58px;height:68px}.clip-pair b{font-size:20px}.clip-teaser strong,.clip-boom{font-size:10px}.preview-floor{gap:5px;padding:5px}.preview-floor span{min-height:48px}.preview-floor span b{font-size:16px}.preview-floor span small{display:none}.preview-roof,.preview-lobby{padding:8px;font-size:12px}.menu-guest{width:78px;height:90px}.menu-vampire{left:3%;bottom:18%}.menu-influencer{left:12%;top:22%}.menu-baby{right:4%;top:16%}.menu-dj{right:4%;bottom:22%}.menu-ghost{right:24%;top:3%}.panic-card{padding:6px 8px;font-size:12px}.panic-card.one{top:25%;right:16%}.panic-card.two{bottom:12%;left:7%}.panic-card.three,.panic-card.four{display:none}.menu-panel:before{display:none}.menu-kicker{max-width:100%;font-size:13px;overflow-wrap:anywhere}.menu-panel{width:100%;min-width:0}.menu-panel h2,.menu-panel p{max-width:100%;overflow-wrap:anywhere}.menu-actions{grid-template-columns:1fr}.menu-actions .primary.big,.menu-actions .danger-btn{grid-column:auto}.howto-grid{grid-template-columns:1fr}.howto-card{grid-template-rows:150px auto auto}.howto-head h2{font-size:34px}.howto-actions{display:grid;grid-template-columns:1fr}.result-card{padding-bottom:26px}.grade-stamp{position:relative;top:auto;right:auto;width:86px;height:86px;margin-top:-4px;justify-self:start;transform:rotate(6deg);animation:none}.grade-stamp b{font-size:42px}.result-card h2{max-width:100%}.result-card>.result-stats{padding-right:0}.result-actions>*{flex:1 1 150px}.run-recap{grid-template-columns:repeat(2,minmax(0,1fr))}.result-card small{max-width:34ch}.result-influencer,.result-vampire{display:none}.replay-card{min-height:430px}.replay-card-inner{min-height:330px;padding:18px 14px}.replay-card .replay-label{font-size:42px}.hud{grid-template-columns:1fr 1fr 1fr}.streak-meter{grid-column:3;grid-row:1}.hud .chaos{grid-column:1 / -1}.hud-actions{grid-column:1 / -1;grid-template-columns:repeat(2,minmax(0,1fr))}.floor{grid-template-columns:1fr;gap:6px}.floor-label{min-height:34px;border-radius:8px;font-size:13px;writing-mode:horizontal-tb;transform:none}.floor-label:after{display:none}.hotel{grid-template-rows:repeat(3,auto) 48px;padding:46px 6px 6px}.rooms{grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}.room{min-height:132px;padding:6px}.room-preview-alert{right:7px;top:62px;max-width:calc(100% - 10px);padding:2px 5px}.room-preview-alert b,.room-preview-alert small{font-size:9px}.room-number{font-size:15px}.room-tags i{font-size:10px;padding:1px 4px}.room-guest{min-height:82px}.room-guest .mini-guest.character-sprite{width:68px;height:78px}.room-guest .mini-guest+.mini-guest{margin-left:-24px}.lobby-strip{grid-template-columns:repeat(3,minmax(0,1fr));font-size:12px}.lobby-strip span{padding:5px 4px}.lobby-strip b{font-size:11px}.lobby-strip small{font-size:9px}.queue{position:fixed;right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));left:max(8px,env(safe-area-inset-left));z-index:48;display:flex;align-items:stretch;gap:8px;max-height:132px;padding:8px;overflow-x:auto;overflow-y:hidden;border-width:3px;border-radius:10px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.queue .panel-title{flex:0 0 82px;align-items:flex-start;justify-content:center;flex-direction:column;margin-bottom:0;font-size:11px;line-height:1.05}.queue .panel-title span{font-size:11px}.guest-card{flex:0 0 214px;min-height:108px;scroll-snap-align:start}.guest-copy{padding:6px}.guest-copy strong{font-size:14px}.guest-copy small{font-size:10px}.guest-card .guest-face{width:58px;height:66px}.upgrade-grid{grid-template-columns:1fr}}
