:root{color-scheme:dark;--bg:#090810;--surface:#141321;--line:#393147;--pink:#ff89a9;--rose:#fd5a99;--purple:#b59cff;--cyan:#86dafc;--mint:#9de9d1;--soft:#c5c0d5;--light:#f8f5ff}*{box-sizing:border-box}html{font-family:Inter,"Arial",system-ui,sans-serif;scroll-behavior:smooth}body{margin:0;min-width:320px;background:var(--bg);color:var(--light);line-height:1.45}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{opacity:.48;cursor:not-allowed}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ade5ff;outline-offset:3px}button{touch-action:manipulation}.hidden{display:none!important}.muted{color:#aaa4bd}.page-shell{position:relative;z-index:1;max-width:1350px;margin:auto;padding:0 24px 48px}.ambient{position:fixed;pointer-events:none;border-radius:50%;filter:blur(65px);opacity:.22}.ambient-a{width:550px;height:480px;left:-230px;top:25%;background:#9b55ee}.ambient-b{width:560px;height:400px;right:-180px;top:-130px;background:#ad2764}.grain{position:fixed;inset:0;opacity:.1;pointer-events:none;background-image:radial-gradient(#fff9 .5px,transparent .5px);background-size:5px 5px}.topbar{min-height:97px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid #ffffff1d}.brand{color:white;text-decoration:none;display:inline-flex;align-items:center;gap:12px;font-weight:950;font-size:24px;letter-spacing:-1px;line-height:.82}.brand-symbol{font-size:46px;color:#fcaac5;font-weight:500;text-shadow:0 0 25px #e86f9d99}.brand-second{display:inline-block;margin-left:4px;color:#ec8fbf;font-size:13px;letter-spacing:-.3px;line-height:1.03}.header-right{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.badge{font-size:10px;letter-spacing:1.8px;border:1px solid #ffffff33;border-radius:99px;padding:9px 12px;color:#ccc5db;font-weight:800}.connection-status{display:flex;gap:7px;align-items:center;font-size:12px;color:#a3ebd7}.connection-status i{height:7px;width:7px;border-radius:50%;background:#63e5ad;box-shadow:0 0 10px #63e5ad}.connection-status.offline{color:#ffb9a6}.connection-status.offline i{background:#ff9a7e;box-shadow:0 0 10px #ff9a7e}.eyebrow{color:#ccb8e2;letter-spacing:2.4px;font-size:11px;font-weight:900;display:flex;align-items:center;gap:10px}.eyebrow-line{width:24px;height:2px;background:linear-gradient(90deg,#fc8fb9,#a492ff)}.gradient-text{background:linear-gradient(135deg,#fdbbd0 10%,#ff79a8 48%,#a88bff 100%);color:transparent;background-clip:text}.landing{min-height:620px;display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);align-items:center;gap:38px;padding-top:42px}.landing-copy{position:relative;min-width:0}.landing-copy h1{font-weight:1000;font-size:clamp(55px,7.2vw,115px);letter-spacing:-.085em;line-height:.91;margin:26px 0}.punct{color:#f68ab9}.lede{font-size:17px;line-height:1.7;color:#c9c1d6;max-width:520px}.feature-line{display:flex;gap:15px;flex-wrap:wrap;margin-top:30px}.feature-line span{font-size:11px;letter-spacing:1px;font-weight:800;color:#d9b8e3}.landing-art{height:130px;max-width:390px;position:relative;margin-top:19px}.big-orbit{position:absolute;border:1px solid #eea2c455;border-radius:50%;width:120px;height:120px;top:1px;left:105px;transform:rotate(-21deg)}.orbit-two{width:160px;height:65px;top:31px;left:84px;transform:rotate(32deg)}.center-star{position:absolute;left:145px;top:13px;font-size:71px;font-weight:1000;color:#fcd0ed;text-shadow:0 0 30px #fd66b9;animation:float 5s ease-in-out infinite}.floating-note{position:absolute;border:1px solid #ffffff40;background:#191327;border-radius:9px;padding:8px 11px;font-size:10px;letter-spacing:1px;font-weight:900}.note-one{top:22px;left:8px;transform:rotate(-7deg);color:var(--cyan)}.note-two{top:85px;right:20px;transform:rotate(6deg);color:var(--pink)}.entry-card{border:1px solid #635374;border-radius:23px;padding:35px;background:linear-gradient(150deg,#262033 0%,#191723 55%,#12131f 100%);box-shadow:0 24px 90px #0007,0 0 90px #c85aa10a;position:relative;overflow:hidden}.entry-card:before{content:'';position:absolute;right:-80px;top:-115px;width:260px;height:260px;background:radial-gradient(circle,#aa85fc42,transparent 70%);pointer-events:none}.entry-kicker,.mini-label{color:#d2afd4;font-size:10px;letter-spacing:1.6px;font-weight:900}.entry-card h2{font-weight:950;font-size:37px;letter-spacing:-1.7px;line-height:1.1;margin:17px 0 10px}.entry-card p{font-size:14px;line-height:1.55}.entry-form{display:flex;flex-direction:column;gap:12px;margin-top:27px}.entry-form label{font-size:10px;letter-spacing:1.5px;color:#ddd1e7;font-weight:900}.entry-form input,.field{background:#110e1b;color:#fff;border:1px solid #655473;border-radius:13px;width:100%;padding:14px 16px;min-height:51px;font-size:16px}.entry-form input::placeholder,.field::placeholder{color:#898096}.primary-button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;border:0;border-radius:13px;padding:15px 18px;color:#281524;font-weight:950;font-size:13px;letter-spacing:.4px;background:linear-gradient(100deg,#fdd0db,#ff82af 54%,#bc9bfc);box-shadow:0 8px 22px #e478a321;min-height:50px;transition:transform .2s,filter .2s}.primary-button:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-2px)}.entry-bottom{border-top:1px solid #ffffff1c;margin-top:24px;padding-top:18px;display:flex;align-items:flex-start;gap:12px;font-size:11px;color:#a69caf;line-height:1.6}.star-small{color:#ffacda;font-size:28px;line-height:1}.game{padding-top:34px}.session-header{display:flex;align-items:end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:23px}.session-header h1{font-size:clamp(29px,4vw,49px);font-weight:1000;letter-spacing:-2.3px;line-height:1.04;margin:15px 0 0}.stage-counter{color:#ff93bf}.session-actions{display:flex;gap:8px;flex-wrap:wrap}.icon-button{border:1px solid #5d506c;background:#211a2c;padding:11px 13px;border-radius:11px;color:#efcbe3;font-size:12px;font-weight:800;min-height:43px}.icon-button.subtle{color:#b4a7be;background:transparent}.progress-steps{display:flex;gap:6px;margin-bottom:22px}.step{flex:1;min-width:0;height:5px;background:#3d3448;border-radius:20px;overflow:hidden}.step.active{background:linear-gradient(90deg,#f789ad,#a488f2);box-shadow:0 0 14px #db80d988}.step.done{background:#8974a4}.room-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(280px,1fr);gap:18px;align-items:start}.stage-shell{min-height:675px;overflow:hidden;position:relative;background:radial-gradient(ellipse at 50% -10%,#563a67 0%,#2c2441 25%,#151021 62%,#0d0c17 100%);border-radius:23px;border:1px solid #6a526e;box-shadow:0 25px 80px #0007,inset 0 0 100px #b3609333}.stage-noise{pointer-events:none;position:absolute;inset:0;background:repeating-linear-gradient(0deg,#ffffff04 0 1px,transparent 1px 13px);opacity:.7}.stage-spot{position:absolute;width:220px;height:380px;top:-70px;filter:blur(15px);opacity:.13;background:linear-gradient(#ffe3fc,transparent);clip-path:polygon(38% 0,62% 0,100% 100%,0 100%);transform-origin:top}.stage-spot-left{left:2%;transform:rotate(24deg)}.stage-spot-right{right:2%;transform:rotate(-24deg)}.stage-content{position:relative;z-index:1;padding:29px;min-height:675px;display:flex;flex-direction:column}.stage-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.live-pill{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:1000;letter-spacing:1.7px;padding:8px 11px;border:1px solid #ffffff37;background:#ffffff14;border-radius:30px}.live-light{display:block;width:7px;height:7px;border-radius:50%;background:#ff84ac;box-shadow:0 0 11px #ff84ac;animation:blink 1.8s infinite}.duration{font-size:11px;letter-spacing:1.2px;color:#d4c1df;font-weight:750}.hero-icon{width:150px;height:150px;border-radius:50%;margin:34px auto 21px;display:flex;align-items:center;justify-content:center;position:relative;background:radial-gradient(circle at 35% 25%,#d5a4ec88 0%,#8564b677 44%,#312443 100%);box-shadow:0 0 0 9px #ffffff08,0 0 0 27px #ffffff05,0 0 62px #ce87df77,inset 0 2px 20px #ffffff27;border:1px solid #d9a6ef88;animation:float 4s ease-in-out infinite}.hero-icon:before,.hero-icon:after{content:'';position:absolute;inset:-26px;border-radius:50%;border:1px dashed #bb9dc75c;animation:spin 22s linear infinite}.hero-icon:after{inset:-46px;border-color:#a58ab13b;animation-direction:reverse}.hero-icon span{font-weight:1000;font-size:82px;line-height:1;color:#ffe1ff;text-shadow:0 6px 18px #cc83ff77}.stage-caption{font-size:10px;letter-spacing:3px;font-weight:900;color:#ffc4e0}.stage-title{font-size:clamp(35px,4.6vw,63px);font-weight:1000;line-height:1.01;letter-spacing:-2px;text-transform:uppercase;margin:13px 0}.stage-description{font-size:15px;color:#d8cfe5;line-height:1.7;max-width:550px;margin:0 0 18px}.dynamic-controls{margin-top:8px;display:grid;gap:11px}.stage-message{margin-top:14px;color:#ffe4eb;background:#ffffff0e;padding:11px 14px;border-left:3px solid #ff8fbd;border-radius:0 10px 10px 0;font-size:13px;min-height:40px;line-height:1.5}.stage-message:empty{display:none}.stage-footnote{margin-top:auto;padding-top:30px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;color:#9087a1;font-size:9px;font-weight:850;letter-spacing:1px}.control-side{display:flex;flex-direction:column;gap:13px}.side-panel{border:1px solid #46384f;border-radius:18px;padding:21px;background:linear-gradient(150deg,#1b1726,#15121e)}.panel-title-line{display:flex;align-items:center;justify-content:space-between;gap:9px}.room-pill{border:1px solid #b68bac;background:#462c48;color:#ffd4ed;padding:5px 9px;border-radius:7px;font-size:12px;letter-spacing:2px;font-weight:900}.side-heading{font-size:25px;letter-spacing:-.6px;font-weight:930;margin:15px 0 5px}.side-copy{color:#aaa0b6;font-size:13px;line-height:1.55;margin:10px 0 16px}.invite-button{background:#2e213a;color:#f2c3e2;border:1px solid #895d86;border-radius:11px;padding:13px 10px;width:100%;font-size:11px;letter-spacing:.4px;font-weight:930;min-height:45px}.invite-button:hover{background:#3c284b}.inline-feedback{min-height:0;margin:8px 0 0;color:#a8e8d1;font-size:12px}.player-list{display:grid;gap:9px;margin-top:16px}.player-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}.player-left{display:flex;gap:10px;align-items:center;min-width:0}.avatar{display:grid;place-items:center;flex-shrink:0;width:35px;height:35px;border-radius:11px;background:linear-gradient(135deg,#573769,#30253b);border:1px solid #885e92;font-weight:900;color:#ffd4e6}.player-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;font-size:13px;font-weight:850}.player-meta{font-size:10px;color:#a99aac}.score{font-size:11px;font-weight:950;background:#31283b;border:1px solid #584768;border-radius:8px;padding:5px 8px;white-space:nowrap}.tiny-dot{width:7px;height:7px;border-radius:50%;background:#ff85ac;box-shadow:0 0 10px #ff85ac}.director-button{font-size:12px}.fine-print{display:block;color:#978a9c;font-size:11px;margin-top:12px;line-height:1.45}.game-footer{margin-top:22px;color:#80778e;font-size:10px;letter-spacing:1.5px;text-align:center;font-weight:800}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:#f8d6e4;color:#2d1e2a;border-radius:13px;box-shadow:0 12px 32px #000a;padding:12px 17px;font-weight:850;font-size:13px;max-width:calc(100% - 32px);z-index:100;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}.toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.action-button{width:100%;padding:12px 14px;text-align:center;border-radius:12px;font-size:13px;font-weight:900;letter-spacing:.3px;border:1px solid #9772a9;color:#fbe6f4;background:#533b60;min-height:47px}.action-button.selected{background:linear-gradient(90deg,#b276a9,#67548f);border-color:#f7b1dd}.action-button:hover:not(:disabled){border-color:#fac8ed}.action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.option-list{display:grid;gap:9px}.option{border:1px solid #9e779b6b;background:#392b45;display:flex;gap:12px;align-items:center;padding:12px;text-align:left;border-radius:12px;color:white;line-height:1.4;min-height:49px;font-size:13px}.option b{font-size:18px;color:#ffb8df}.option.selected{border-color:#ffc9ef;background:#61466d}.user-role,.secret-card{background:linear-gradient(135deg,#9a599332,#573f7b4a);padding:16px;border:1px solid #a675ac;border-radius:14px}.user-role span,.secret-card span{color:#ddafd4;font-size:10px;letter-spacing:1.6px;font-weight:900}.user-role strong,.secret-card strong{display:block;font-size:19px;font-weight:950;line-height:1.35;margin-top:7px}.field{border-color:#aa88b0;background:#241c32;resize:vertical}.field:focus{background:#30213c}.text-form{display:grid;gap:8px}.text-form label{font-weight:850;letter-spacing:.8px;font-size:11px;color:#ecc5e4}.small-hint{font-size:11px;color:#c4b4d2;line-height:1.5}.counter{font-size:12px;color:#e9b8e1;font-weight:850;letter-spacing:.2px}.answer-list{display:grid;gap:10px}.answer-card{background:#251c33;border:1px solid #674c70;padding:13px;border-radius:13px;overflow:hidden}.answer-head{display:flex;justify-content:space-between;gap:8px;align-items:center;margin-bottom:9px}.answer-head strong{font-size:14px}.answer-card img{display:block;width:100%;max-height:245px;object-fit:contain;background:white;border-radius:8px}.answer-card p{color:#f3d9f0;font-size:14px;margin:8px 0 0;overflow-wrap:anywhere}.answer-card button{margin-top:10px}.canvas-holder{background:#fff;border-radius:14px;overflow:hidden;border:2px solid #f8d9f0;touch-action:none}.canvas-holder canvas{display:block;width:100%;height:auto;aspect-ratio:16/9;touch-action:none;cursor:crosshair}.tool-row{display:flex;flex-wrap:wrap;gap:8px}.tool-row button{width:auto;flex:1;min-width:90px}.status-tag{border:1px solid #b88dba;background:#4a385c;border-radius:9px;padding:8px 12px;color:#f9d8f3;font-weight:750;font-size:12px}.result-lead{text-align:center;color:#ffd4e9;font-size:15px;font-weight:750}.winner-name{font-weight:1000;text-align:center;font-size:clamp(33px,7vw,70px);letter-spacing:-2px;color:#ffe6a8;text-shadow:0 0 30px #ffd58e77}.count-card{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#ffffff0b;border-radius:12px;border:1px solid #ffffff23;padding:12px}.count-card strong{color:#ffe2f1}.confetti{pointer-events:none;position:absolute;inset:0;overflow:hidden;z-index:3}.confetti i{position:absolute;display:block;width:9px;height:15px;background:var(--c);left:var(--x);top:-30px;opacity:0;animation:confetti-fall 2.5s ease-in var(--delay) forwards}.pulse-pop{animation:pop .5s ease-out}.shimmer{animation:shimmer 1.3s ease}.room-panel{background:linear-gradient(150deg,#282037,#181521)}@keyframes float{50%{transform:translateY(-10px) rotate(5deg)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink{50%{opacity:.25}}@keyframes pop{0%{transform:scale(.9);filter:brightness(1.7)}100%{transform:scale(1);filter:brightness(1)}}@keyframes shimmer{50%{filter:brightness(1.5)}}@keyframes confetti-fall{5%{opacity:1}85%{opacity:1}100%{opacity:0;transform:translate(var(--drift),720px) rotate(850deg)}}@media(max-width:900px){.room-grid{grid-template-columns:minmax(0,1fr)}.control-side{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.director-panel{grid-column:1/-1}.stage-shell,.stage-content{min-height:600px}.landing{gap:25px}}@media(max-width:620px){.page-shell{padding:0 14px 33px}.topbar{min-height:76px}.brand{font-size:21px}.brand-symbol{font-size:36px}.brand-second{font-size:11px}.beta-badge{font-size:8px;letter-spacing:.5px}.landing{display:flex;flex-direction:column;gap:15px;align-items:stretch;padding-top:28px}.landing-copy h1{font-size:clamp(58px,13vw,94px);margin:24px 0}.lede{font-size:14px}.landing-art{display:none}.feature-line{margin-top:18px;gap:9px}.feature-line span{font-size:9px}.entry-card{padding:25px;margin-top:18px}.entry-card h2{font-size:29px}.session-header h1{font-size:34px;letter-spacing:-1.6px}.game{padding-top:23px}.session-actions{width:100%}.icon-button{flex:1;font-size:11px}.stage-shell,.stage-content{min-height:630px}.stage-content{padding:20px}.hero-icon{width:117px;height:117px;margin:36px auto 30px}.hero-icon span{font-size:66px}.stage-title{font-size:37px}.stage-description{font-size:14px}.control-side{grid-template-columns:1fr}.director-panel{grid-column:auto}.side-panel{padding:18px}.game-footer{line-height:1.8}.progress-steps{margin-bottom:15px}.duration{font-size:10px}.stage-footnote{font-size:8px}.action-grid{gap:7px}.answer-card img{max-height:195px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition:none!important;scroll-behavior:auto!important}}
