:root{color-scheme:dark;--bg:#160f2c;--panel:#241a3b;--panel-soft:#2b2046;--stroke:#ffffff20;--text:#fff8ff;--muted:#bcafcf;--pink:#ff78ab;--violet:#b79bff;--yellow:#ffe8b9;--radius:24px;--shadow:0 15px 65px #0a052252}*{box-sizing:border-box}html{min-height:100%;background:var(--bg)}body{margin:0;min-height:100vh;color:var(--text);font:500 15px/1.5 Nunito,system-ui,sans-serif;-webkit-tap-highlight-color:transparent;overflow-x:hidden}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48;filter:grayscale(.4)}button:focus-visible,input:focus-visible{outline:2px solid #ff9fca;outline-offset:3px}a{color:inherit}.background-art{position:fixed;inset:0;z-index:-1;overflow:hidden;background:radial-gradient(ellipse at 48% -18%,#48215d 0,transparent 53%),radial-gradient(ellipse at 102% 72%,#211a53 0,transparent 46%),linear-gradient(165deg,#150d29 0%,#1b1232 60%,#1a102c 100%)}.orb{position:absolute;display:block;border-radius:50%;filter:blur(3px);opacity:.22}.orb-a{width:360px;height:360px;left:-170px;top:16%;background:radial-gradient(circle,#fc528a,transparent 67%)}.orb-b{width:300px;height:300px;right:-150px;top:34%;background:radial-gradient(circle,#9877ff,transparent 68%)}.orb-c{width:270px;height:270px;left:25%;bottom:-210px;background:radial-gradient(circle,#fd6b92,transparent 70%)}.star{position:absolute;color:#fcbbe2;opacity:.55;font-size:30px;animation:twinkle 4s ease-in-out infinite}.star-a{top:18%;left:10%}.star-b{right:13%;top:11%;animation-delay:1.2s}.star-c{bottom:19%;right:8%;animation-delay:2.3s}@keyframes twinkle{50%{opacity:.12;transform:scale(.75) rotate(24deg)}}.app{width:min(100% - 32px,980px);margin:0 auto;padding:26px 0 max(48px,env(safe-area-inset-bottom));min-height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:34px}.brand{display:inline-flex;align-items:center;gap:10px;font:800 23px/1 Outfit,Nunito,sans-serif;letter-spacing:-.7px}.brand-mark{width:37px;height:37px;border:1px solid #ffffff30;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#f36fa6,#b774e5);box-shadow:0 7px 22px #f6779a39;font-size:20px}.top-actions{display:flex;align-items:center;gap:9px}.top-pill,.icon-button{border:1px solid var(--stroke);background:#ffffff0a;color:var(--text);border-radius:999px;padding:9px 15px;display:inline-flex;align-items:center;gap:7px;font-weight:800;font-size:12px;white-space:nowrap}.icon-button{padding:10px 12px}.dot{width:8px;height:8px;border-radius:50%;display:inline-block;background:#8e7c9f;flex:none}.dot.live{background:#67dbb3;box-shadow:0 0 12px #67dbb376}.intro{max-width:670px;margin:0 auto;text-align:center;padding:18px 0 18px}.eyebrow{color:#ffb5d0;letter-spacing:.19em;font-size:11px;font-weight:900;text-transform:uppercase}.hero-heart{width:105px;height:105px;margin:5px auto 20px;border-radius:31px;background:linear-gradient(145deg,#ff9fc1,#ff5f98 55%,#ae7af9);transform:rotate(-10deg);display:grid;place-items:center;box-shadow:0 18px 55px #ff69a84e;animation:float 5s ease-in-out infinite;font-size:59px}.hero-heart span{transform:rotate(10deg)}@keyframes float{50%{transform:translateY(-9px) rotate(-7deg)}}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:Outfit,Nunito,sans-serif;letter-spacing:-.035em}h1{font-size:clamp(40px,7vw,65px);line-height:1.08;margin:12px auto 14px;font-weight:800}.gradient-text{background:linear-gradient(90deg,#ffa8c8,#ffd4e7 43%,#c8b5ff);color:transparent;background-clip:text}.intro p{font-size:17px;color:var(--muted);max-width:465px;margin:0 auto 32px}.glass{background:linear-gradient(145deg,#ffffff12,#ffffff06);border:1px solid var(--stroke);box-shadow:var(--shadow);border-radius:var(--radius);backdrop-filter:blur(18px)}.entry{width:min(100%,510px);margin:0 auto;padding:22px}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px;background:#100a20aa;border:1px solid #ffffff12;border-radius:16px;padding:5px;margin-bottom:23px}.tab{padding:12px;border:0;background:transparent;color:var(--muted);font-weight:900;border-radius:12px}.tab.active{color:white;background:linear-gradient(100deg,#f56d9f,#aa7bf4);box-shadow:0 5px 18px #e76caa36}.field{display:block;margin-bottom:17px}.field span{display:block;font-weight:900;font-size:13px;margin:0 0 8px;color:#e8deef}.field input{width:100%;min-height:50px;border-radius:14px;background:#130d27d9;border:1px solid #ffffff26;color:white;padding:12px 16px;outline:0;font-weight:800}.field input::placeholder{color:#9e8cad}.field input:focus{border-color:#ed92c4;box-shadow:0 0 0 4px #ff94c815}.code-input{text-transform:uppercase;letter-spacing:.24em;text-align:center;font-size:22px!important}.btn{border:0;border-radius:15px;padding:14px 20px;min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:900;transition:transform .16s,filter .16s;user-select:none}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:linear-gradient(100deg,#ff79aa,#c48afb);color:#260d2c;box-shadow:0 10px 25px #fa73aa31}.btn-secondary{border:1px solid #ffffff2a;background:#ffffff0f;color:white}.btn-quiet{background:transparent;color:#d7c7e1;border:1px solid transparent}.btn-block{width:100%}.tiny-note{font-size:12px;color:#9588ac;text-align:center;margin:15px 0 0}.features{display:flex;justify-content:center;gap:23px;flex-wrap:wrap;margin:27px auto 4px;color:#b5a4c8;font-weight:800;font-size:12px}.feature{display:flex;align-items:center;gap:7px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:16px}.section-head h2{font-size:29px;line-height:1.14;margin:5px 0 0}.section-head p{color:var(--muted);font-size:13px;margin:5px 0 0}.room-strip{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:19px 23px;margin:0 0 22px}.room-label{display:block;color:#b6a6c7;font-size:11px;letter-spacing:.14em;font-weight:900;margin-bottom:4px}.room-code{font-family:Outfit,monospace;font-weight:800;font-size:30px;letter-spacing:.16em;color:#fff3ff;line-height:1.1}.copy-actions{display:flex;gap:9px}.players{display:grid;grid-template-columns:1fr 30px 1fr;gap:11px;align-items:center;margin-bottom:25px}.player{min-width:0;padding:18px 12px;text-align:center}.avatar{display:grid;place-items:center;margin:0 auto 9px;width:60px;height:60px;border-radius:20px;font-size:29px;background:linear-gradient(135deg,#ff94bb55,#c38dff52);border:1px solid #ffffff2a}.player:last-child .avatar{background:linear-gradient(135deg,#a3a1ff66,#fa8cba44)}.player-name{font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-status{font-size:11px;color:#ab9dbf;font-weight:700}.player-status.online{color:#9ceac6}.between-heart{text-align:center;color:var(--pink);font-size:24px;animation:beat 2s infinite}@keyframes beat{50%{transform:scale(1.22)}}.game-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.game-card{position:relative;text-align:left;overflow:hidden;min-height:198px;padding:22px;border-radius:23px;border:1px solid #ffffff21;background:linear-gradient(150deg,#352242,#261b3b 80%);color:white;transition:transform .2s,border .2s;display:flex;align-items:flex-start;flex-direction:column}.game-card:hover:not(:disabled){transform:translateY(-3px);border-color:#ffffff58}.game-card:active:not(:disabled){transform:scale(.985)}.game-card:nth-child(2){background:linear-gradient(148deg,#3d254c,#2c1b43)}.game-card:nth-child(3){background:linear-gradient(148deg,#2d2858,#241b3d)}.game-card:nth-child(4){background:linear-gradient(148deg,#462440,#2a193d)}.game-card:nth-child(5){background:linear-gradient(148deg,#2d2d5a,#251a40)}.game-card .game-icon{display:grid;place-items:center;width:55px;height:55px;border:1px solid #ffffff25;border-radius:17px;background:#ffffff16;font-size:31px;margin-bottom:19px}.game-card h3{font-size:19px;margin:0 0 5px}.game-card p{font-size:12px;font-weight:700;color:#c8b9d6;margin:0}.game-card .arrow{position:absolute;right:17px;top:20px;color:#ffffff7c;font-size:18px}.soft-footer{text-align:center;margin:30px auto;color:#9d8eae;font-size:12px}.small-link{color:#dbb7ea;text-decoration:underline;text-underline-offset:3px;border:0;background:none;font-size:12px;padding:6px}.game-layout{max-width:690px;margin:0 auto}.game-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:21px;gap:10px}.back{padding:9px 13px;font-weight:900;border-radius:13px;background:#ffffff0b;border:1px solid var(--stroke);color:#e8dbef}.game-title{font-family:Outfit,Nunito,sans-serif;font-size:17px;font-weight:800}.status-pill{padding:9px 12px;background:#ffffff10;border:1px solid #ffffff17;border-radius:13px;font-size:12px;font-weight:900;color:#f8d5e9}.game-panel{padding:clamp(18px,4vw,32px);text-align:center}.game-panel h2{font-size:clamp(25px,5vw,36px);line-height:1.2;margin:12px 0 12px}.game-panel .subtext{color:#c4b4d4;font-size:14px;margin:0 auto 20px}.game-illustration{font-size:50px;margin:2px auto 12px;line-height:1.25}.score-board{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;background:#120c28a8;border-radius:18px;padding:17px 12px;margin:0 0 20px}.score-name{font-weight:800;font-size:12px;color:#dacbe8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.score-num{font:800 31px Outfit,sans-serif;margin:1px auto 0}.score-divider{font-weight:900;color:#917da7}.turn-banner{display:inline-flex;align-items:center;gap:8px;border:1px solid #ff96c452;background:#ff83b421;color:#ffd5e7;padding:8px 13px;border-radius:999px;font-weight:900;font-size:12px;margin-bottom:20px}.xo-grid{width:min(100%,340px);aspect-ratio:1;display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0 auto 20px}.xo-cell{display:grid;place-items:center;background:#130d2d;border:1px solid #ffffff1d;border-radius:17px;color:white;font:800 clamp(40px,8vw,62px)/1 Outfit,sans-serif;min-width:0;min-height:0}.xo-cell.x{color:#ff91b9}.xo-cell.o{color:#c4a8ff}.xo-cell.win{background:#74456e;border-color:#ffb1d5;box-shadow:inset 0 0 18px #ff97ba25}.answers{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:21px auto}.choice{border:1px solid #ffffff2b;border-radius:18px;background:#170e2f;padding:20px 12px;min-height:100px;color:white;font-size:17px;font-weight:900;transition:background .2s,transform .2s;line-height:1.4}.choice.selected{border-color:#ff8bb8;background:#ff80af31;box-shadow:0 0 0 2px #ff90b21a inset}.choice.correct{border-color:#96e5bf;background:#4db88c33}.choice.wrong{opacity:.6}.choice:active:not(:disabled){transform:scale(.97)}.question-progress{font-size:12px;color:#deafd1;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.progress-track{margin:15px auto 20px;width:100%;height:6px;border-radius:9px;overflow:hidden;background:#ffffff14}.progress-fill{height:100%;border-radius:9px;background:linear-gradient(90deg,#f980b1,#caa4ff);transition:width .3s}.reveal{background:#ff89b21b;border:1px solid #ff8ebb47;border-radius:18px;padding:15px;margin:18px 0;font-weight:800}.reveal.good{background:#65cba521;border-color:#8ce6b551}.reveal small{font-size:12px;color:#c9b2d3}.waiting{color:#bcadd0;font-weight:800;font-size:13px;margin:19px 0}.truth-choices{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:19px 0}.truth-btn{padding:28px 12px;border-radius:20px;border:1px solid #ffffff30;color:white;font-size:19px;font-weight:900;background:linear-gradient(140deg,#70436b,#48294f)}.truth-btn:last-child{background:linear-gradient(140deg,#57458c,#38285e)}.prompt-card{border:1px solid #f7b3cd75;border-radius:23px;padding:28px 18px;background:linear-gradient(145deg,#70446e80,#32204f);margin:18px 0}.prompt-card .kind{font-weight:900;color:#ffb8d3;font-size:12px;letter-spacing:.13em;text-transform:uppercase}.prompt-card p{font-size:21px;font-weight:900;margin:15px 0 0;line-height:1.45}.heart-stage{border-radius:24px;border:1px solid #ffffff27;background:radial-gradient(circle at 50% 40%,#642c615c,#180f36 75%);min-height:254px;display:flex;flex-direction:column;align-items:center;justify-content:center;margin:18px 0;position:relative;overflow:hidden}.big-heart{font-size:99px;line-height:1;cursor:pointer;border:0;background:none;filter:drop-shadow(0 16px 25px #ff75ac8c);transform-origin:center;user-select:none;touch-action:manipulation}.big-heart:active:not(:disabled){transform:scale(.86)}.heart-stage .hint{color:#eacbe0;font-weight:900;margin-top:15px}.heart-float{position:absolute;font-size:31px;pointer-events:none;animation:heartFly .8s ease-out forwards}@keyframes heartFly{0%{opacity:1;transform:translate(-50%,0) scale(.7)}100%{opacity:0;transform:translate(calc(-50% + var(--spread)), -125px) scale(1.6)}}.timer{font:800 47px Outfit,sans-serif;color:#ffe5f2}.timer.done{color:#ffa8c8}.emoji-puzzle{font-size:clamp(39px,10vw,61px);letter-spacing:.035em;white-space:nowrap;margin:19px auto}.answers.vertical{grid-template-columns:1fr;margin:20px 0}.answers.vertical .choice{min-height:64px;padding:14px}.chat-toggle{position:relative}.unread{position:absolute;top:-6px;right:-4px;border-radius:100%;background:#ff6699;width:12px;height:12px;border:2px solid #1a112d}.chat-backdrop{position:fixed;inset:0;background:#0b071ab8;z-index:10;display:flex;justify-content:flex-end}.chat-drawer{width:min(100%,425px);height:100%;background:#231936;border-left:1px solid #ffffff28;display:flex;flex-direction:column;box-shadow:-14px 0 45px #0005}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--stroke)}.chat-header h2{font-size:20px;margin:0}.chat-messages{flex:1;overflow:auto;padding:17px 17px 25px;display:flex;flex-direction:column;gap:11px}.chat-bubble{padding:11px 14px;max-width:87%;border-radius:16px;background:#35264a;align-self:flex-start;overflow-wrap:anywhere}.chat-bubble.mine{background:#9c507eb0;align-self:flex-end}.chat-bubble .who{display:block;font-size:10px;font-weight:900;color:#e9b8da;margin-bottom:3px}.chat-bubble .message{font-size:14px}.chat-input-row{display:flex;gap:8px;padding:13px 14px calc(13px + env(safe-area-inset-bottom));border-top:1px solid var(--stroke)}.chat-input-row input{background:#100b22;border:1px solid #ffffff2a;min-width:0;flex:1;border-radius:13px;color:white;padding:10px 13px;outline:none}.chat-input-row button{padding:10px 14px}.reaction-row{display:flex;justify-content:space-between;gap:8px;padding:10px 14px}.reaction-row button{font-size:25px;border:1px solid #ffffff1c;background:#ffffff09;border-radius:13px;padding:7px;flex:1}.reaction-pop{position:fixed;top:85px;left:50%;transform:translateX(-50%);z-index:30;pointer-events:none;font-size:56px;filter:drop-shadow(0 10px 22px #0006);animation:reactionFloat 2.6s ease-out both}@keyframes reactionFloat{10%{transform:translateX(-50%) scale(1.2)}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-85px) scale(1.65)}}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(20px);z-index:40;min-width:180px;max-width:calc(100vw - 24px);text-align:center;background:#f5d8ef;color:#26182b;font-weight:900;font-size:13px;box-shadow:0 15px 45px #0006;border-radius:13px;padding:12px 18px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s}#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.entry-footnote{margin:19px auto 0;max-width:460px;font-size:12px;color:#a99ab7;text-align:center}.empty{color:#a99ab7;text-align:center;margin:auto}.celebrate{animation:celebrate .7s ease-in-out both}@keyframes celebrate{50%{transform:scale(1.09)}}.muted{color:var(--muted)}.mt{margin-top:15px}.mini-gap{margin-bottom:12px!important}.button-row{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}.leader-text{font-size:20px;font-weight:900;color:#ffc0db;margin:17px 0 23px}
@media(max-width:700px){.app{width:min(100% - 26px,540px);padding-top:18px}.topbar{margin-bottom:24px}.top-pill{padding:8px 10px}.room-strip{gap:12px;padding:15px}.room-code{font-size:23px}.copy-actions{gap:5px}.copy-actions .btn{padding:10px;min-height:40px;font-size:11px}.game-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.game-card{min-height:177px;padding:17px}.game-card .game-icon{width:48px;height:48px;font-size:27px;margin-bottom:14px}.game-card h3{font-size:17px}.game-card p{font-size:12px}.section-head h2{font-size:27px}.players{grid-template-columns:1fr 18px 1fr;gap:7px}.between-heart{font-size:17px}.player{padding:13px 8px}.avatar{height:52px;width:52px;border-radius:15px;font-size:26px}.game-panel{padding:19px 16px}.intro{padding-top:5px}.features{gap:12px}}
@media(max-width:390px){.brand{font-size:19px}.brand-mark{width:32px;height:32px}.top-actions{gap:5px}.top-pill{font-size:11px}.room-strip{flex-wrap:wrap;gap:11px}.copy-actions{margin-left:auto}.game-card{min-height:169px;padding:14px}.game-card h3{font-size:16px}.game-card p{font-size:11px}.choice{padding:16px 8px;font-size:14px}.intro p{font-size:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}
