*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #131313;--surface: #1c1b1b;--surface-hi: #2a2a2a;--surface-lo: #0e0e0e;--border: rgba(134, 144, 238, .22);--text: #e5e2e1;--text2: #c6c5d4;--text3: #908f9d;--primary: #8690ee;--primary-deep: #5b4fd4;--tertiary: #ffb68d;--error: #ffb4ab;--success: #9bd8bb;--radius-lg: 1.5rem;--radius-xl: 2rem;--radius-2xl: 3rem}html{min-height:100%;scroll-behavior:smooth;background:var(--bg)}body{min-height:100vh;overflow-x:hidden;color:var(--text);background:radial-gradient(circle at 10% 18%,rgba(134,144,238,.12),transparent 28rem),radial-gradient(circle at 88% 80%,rgba(255,182,141,.1),transparent 32rem),var(--bg);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;-webkit-font-smoothing:antialiased}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;opacity:.6;background-image:linear-gradient(rgba(134,144,238,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(134,144,238,.025) 1px,transparent 1px);background-size:38px 38px;mask-image:linear-gradient(to bottom,black,transparent 85%)}a{color:inherit}button,input,select{font:inherit}button{-webkit-tap-highlight-color:transparent}.hidden{display:none!important}.topnav{position:fixed;inset:0 0 auto;z-index:100;height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;background:#131313db;border-bottom:1px solid rgba(69,70,82,.5);backdrop-filter:blur(20px)}.nav-logo{display:flex;align-items:center;text-decoration:none}.nav-logo img{display:block;width:auto;height:38px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:2.4rem}.nav-links a{position:relative;padding-bottom:6px;color:var(--text3);text-decoration:none;text-transform:uppercase;letter-spacing:.12em;font:700 .72rem/1 Manrope,sans-serif;transition:color .18s ease}.nav-links a:after{content:"";position:absolute;inset:auto 0 0;height:2px;background:var(--tertiary);transform:scaleX(0);transition:transform .18s ease}.nav-links a:hover,.nav-links a.active{color:var(--tertiary)}.nav-links a:hover:after,.nav-links a.active:after{transform:scaleX(1)}.login-link{display:inline-flex;align-items:center;justify-content:center;padding:.62rem 1.45rem;border-radius:99px;color:#fff;background:linear-gradient(135deg,#7c6af5,var(--primary-deep));box-shadow:0 4px 15px #7c6af54d;text-decoration:none;font-weight:700}.game-shell{width:min(1040px,100%);min-height:100vh;margin:0 auto;padding:8.6rem 1.5rem 5rem;display:flex;flex-direction:column;align-items:center;gap:2.4rem}.game-header{max-width:780px;text-align:center}.game-kicker{display:inline-flex;align-items:center;gap:.55rem;margin-bottom:1.2rem;color:var(--tertiary);text-transform:uppercase;letter-spacing:.22em;font:700 .7rem/1 Inter,sans-serif}.game-kicker .material-symbols-outlined{font-size:18px}.title{color:var(--text);font:800 clamp(2.6rem,7vw,5.7rem)/.98 "Manrope",sans-serif;letter-spacing:-.055em}.title span{color:transparent;background:linear-gradient(135deg,var(--tertiary),var(--primary));-webkit-background-clip:text;background-clip:text}.subtitle{max-width:650px;margin:1.35rem auto 0;color:var(--text2);font-size:1.08rem;line-height:1.72}.lobby-area,.controls,.game-area{width:100%}.lobby-area{display:flex;justify-content:center}.lobby-card{position:relative;overflow:hidden;width:min(780px,100%);padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--border);border-radius:var(--radius-2xl);background:linear-gradient(145deg,#2a2a2aeb,#141418f5);box-shadow:0 32px 90px #00000052,inset 0 1px #ffffff0d;text-align:center}.lobby-card:before{content:"";position:absolute;width:260px;height:260px;top:-160px;right:-90px;border-radius:50%;background:#8690ee2e;filter:blur(25px);pointer-events:none}.lobby-card>*{position:relative}.lobby-card h2{margin-bottom:.55rem;color:var(--text);font:800 clamp(1.8rem,4vw,2.55rem)/1.15 "Manrope",sans-serif;letter-spacing:-.035em}.lobby-card>p{margin-bottom:2.2rem;color:var(--text2);line-height:1.6}.play-mode-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-bottom:1.4rem}.play-mode-btn{display:flex;align-items:center;justify-content:center;gap:.7rem;min-height:62px;padding:.85rem 1rem;border:1px solid rgba(198,197,212,.2);border-radius:1rem;color:var(--text2);background:#0e0e0e7a;cursor:pointer;font-weight:800;transition:border-color .18s ease,color .18s ease,background .18s ease,transform .18s ease}.play-mode-btn:hover{transform:translateY(-1px);color:var(--text);border-color:#8690ee66}.play-mode-btn.active{color:var(--tertiary);border-color:#ffb68d73;background:linear-gradient(135deg,#8690ee24,#ffb68d17)}.play-mode-btn .material-symbols-outlined{font-size:22px}.card-count-setting{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.85rem;margin-bottom:1.4rem;padding:1rem 1.25rem;border:1px solid rgba(134,144,238,.15);border-radius:1rem;background:#0e0e0e7a}.card-count-setting label{color:var(--text);font-weight:700}select,#joinInput{min-height:48px;border:1px solid rgba(198,197,212,.42);border-radius:.8rem;outline:none;color:var(--text);background:#0e0e0ebf;transition:border-color .18s ease,box-shadow .18s ease}select{padding:.65rem 2.5rem .65rem 1rem;cursor:pointer}select:focus,#joinInput:focus{border-color:var(--primary);box-shadow:0 0 0 3px #8690ee26}.lobby-actions{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:1rem}.host-section,.join-section{display:flex;flex-direction:column;justify-content:center;gap:1rem;min-width:0;padding:1.55rem;border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-lg);background:#0e0e0e75}.shared-setup{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1.25rem;padding:1.55rem;border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-lg);background:#0e0e0e75;text-align:left}.shared-setup h3{margin-bottom:.35rem;color:var(--text);font:700 1.15rem/1.2 Manrope,sans-serif}.shared-setup p{color:var(--text3);font-size:.85rem;line-height:1.55}.shared-setup .btn{white-space:nowrap}.host-section h3,.join-section h3{color:var(--text);font:700 1.15rem/1.2 Manrope,sans-serif}.divider{display:flex;align-items:center;justify-content:center;color:var(--text3);font-size:.7rem;font-weight:700;letter-spacing:.14em}#joinInput{width:100%;padding:.7rem .75rem;text-align:center;text-transform:uppercase;letter-spacing:.18em;font:700 1rem/1 Manrope,sans-serif}#joinInput::placeholder{color:var(--text3);font-size:.76rem;letter-spacing:.1em}.btn{appearance:none;min-height:52px;border:0;border-radius:999px;padding:.82rem 1.55rem;color:#fff;background:linear-gradient(135deg,#7c6af5,var(--primary-deep));box-shadow:0 12px 28px #5b4fd445;cursor:pointer;font-weight:800;transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease}.btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 16px 34px #5b4fd461}.btn:active:not(:disabled){transform:translateY(0)}.btn:focus-visible{outline:3px solid rgba(255,182,141,.6);outline-offset:3px}.btn:disabled{opacity:.5;cursor:not-allowed}.skip-btn{color:var(--text2);background:#ffffff0a;border:1px solid rgba(198,197,212,.3);box-shadow:none}.next-turn-btn{color:#2b1610;background:linear-gradient(135deg,var(--tertiary),#ec906a);box-shadow:0 12px 28px #ffb68d30}.next-turn-btn:hover:not(:disabled){box-shadow:0 16px 34px #ffb68d47}.code-display{padding:1rem;border:1px dashed rgba(255,182,141,.55);border-radius:.9rem;background:#ffb68d0f}.code-display span{color:var(--text2)}.code-display strong{color:var(--tertiary);font-size:1.45rem;letter-spacing:.16em}.small-text{margin-top:.5rem;color:var(--text3)!important;font-size:.78rem}.error-text{color:var(--error)!important;font-size:.82rem;line-height:1.4}.category-tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:.45rem;padding:.55rem;border:1px solid var(--border);border-radius:999px;background:#1c1b1bc7;backdrop-filter:blur(20px)}.tab{appearance:none;border:0;border-radius:999px;padding:.7rem 1rem;color:var(--text3);background:transparent;cursor:pointer;font-size:.84rem;font-weight:700;transition:color .18s ease,background .18s ease}.tab:hover{color:var(--text);background:#ffffff0d}.tab.active{color:var(--tertiary);background:#ffb68d1a}.game-area{display:flex;flex-direction:column;align-items:center}.status-banner{margin-bottom:1.35rem;padding:.75rem 1.4rem;border:1px solid rgba(255,182,141,.35);border-radius:999px;color:var(--tertiary);background:#ffb68d17;text-transform:uppercase;letter-spacing:.13em;font-size:.72rem;font-weight:800}.status-partner-turn{color:var(--primary);border-color:#8690ee59;background:#8690ee17}.card-scene{width:min(590px,100%);aspect-ratio:16 / 10;margin-bottom:1.8rem;perspective:1200px}.card{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .78s cubic-bezier(.16,1,.3,1)}.card.is-flipped{transform:rotateY(180deg)}.card-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:clamp(1.4rem,5vw,3rem);border:1px solid var(--border);border-radius:var(--radius-2xl);overflow:hidden;backface-visibility:hidden;background:linear-gradient(145deg,#2a2a2afa,#0e0e0efa);box-shadow:0 35px 80px #0006,inset 0 1px #ffffff0f;text-align:center}.card-front:before,.card-back:before{content:"";position:absolute;inset:13px;border:1px solid rgba(255,182,141,.22);border-radius:calc(var(--radius-2xl) - 10px);pointer-events:none}.card-design,.card-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;width:100%;height:100%}.card-logo{display:grid;place-items:center;width:94px;height:94px;border:1px solid rgba(255,182,141,.42);border-radius:50%;color:var(--tertiary);background:#ffb68d14;font:600 3.35rem/1 Georgia,serif;box-shadow:0 0 40px #ffb68d17}.draw-prompt{color:var(--text3);text-transform:uppercase;letter-spacing:.16em;font-size:.7rem;font-weight:700}.card-back{transform:rotateY(180deg)}.category-badge{padding:.45rem .95rem;border:1px solid rgba(134,144,238,.38);border-radius:999px;color:var(--primary);background:#8690ee1a;text-transform:uppercase;letter-spacing:.14em;font-size:.67rem;font-weight:800}.question-text{max-width:490px;color:var(--text);font:700 clamp(1.5rem,4.5vw,2.55rem)/1.24 "Manrope",sans-serif;letter-spacing:-.035em}.switch-badge{padding:.42rem .8rem;border-radius:999px;color:#2b1610;background:linear-gradient(135deg,var(--tertiary),#ec906a);text-transform:uppercase;letter-spacing:.1em;font-size:.64rem;font-weight:800}.cat-icebreaker{color:#91c8ff;border-color:#91c8ff59;background:#91c8ff17}.cat-getting-to-know-you{color:var(--success);border-color:#9bd8bb59;background:#9bd8bb17}.cat-hashkafa---values{color:var(--tertiary);border-color:#ffb68d59;background:#ffb68d17}.cat-hot-topics,.cat-seriously-{color:var(--error);border-color:#ffb4ab59;background:#ffb4ab17}.cat-wildcard{color:#c8b8ff;border-color:#c8b8ff59;background:#c8b8ff17}.action-area{margin-bottom:.6rem}.turn-actions{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.7rem}.stats{margin-top:.7rem;color:var(--text3);font-size:.84rem}.game-note{display:flex;align-items:flex-start;gap:.65rem;width:min(650px,100%);margin-top:-.6rem;color:var(--text3);font-size:.78rem;line-height:1.55;text-align:left}.game-note .material-symbols-outlined{color:var(--primary);font-size:18px}.game-over-overlay{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:1.25rem;background:#080808d1;backdrop-filter:blur(12px)}.handoff-overlay{position:fixed;inset:0;z-index:950;display:grid;place-items:center;padding:1.25rem;background:#080808e0;backdrop-filter:blur(14px)}.handoff-card{width:min(470px,100%);padding:2.7rem 2rem;border:1px solid rgba(134,144,238,.38);border-radius:var(--radius-xl);background:linear-gradient(145deg,#2a2a2afa,#0e0e0efa);box-shadow:0 35px 90px #0000008c;text-align:center}.handoff-icon{display:grid;place-items:center;width:68px;height:68px;margin:0 auto 1.2rem;border-radius:50%;color:var(--tertiary);background:#ffb68d17;border:1px solid rgba(255,182,141,.3)}.handoff-icon .material-symbols-outlined{font-size:31px}.handoff-card h2{margin-bottom:.7rem;color:var(--text);font:800 2rem/1.15 Manrope,sans-serif}.handoff-card p{margin-bottom:1.6rem;color:var(--text2);line-height:1.6}.game-over-card{width:min(430px,100%);padding:2.6rem 2rem;border:1px solid rgba(255,182,141,.4);border-radius:var(--radius-xl);background:var(--surface);box-shadow:0 35px 90px #00000080;text-align:center}.game-over-card h2{margin-bottom:.7rem;color:var(--tertiary);font:800 2rem/1.15 Manrope,sans-serif}.game-over-card p{margin-bottom:1.5rem;color:var(--text2);line-height:1.6}footer{padding:0 1.5rem 3rem;text-align:center;color:var(--text3);font-size:.78rem}footer a{color:var(--text2);text-underline-offset:3px}@media(max-width:760px){.topnav{height:64px;padding:0 1rem}.nav-logo img{height:34px}.nav-links{display:none}.login-link{padding:.56rem 1rem;font-size:.88rem}.game-shell{padding:7.2rem 1rem 4rem;gap:1.8rem}.subtitle{font-size:.98rem}.lobby-card{border-radius:var(--radius-xl)}.play-mode-options,.lobby-actions{grid-template-columns:minmax(0,1fr)}.shared-setup{grid-template-columns:minmax(0,1fr);text-align:center}.shared-setup .btn{width:100%}.divider{min-height:18px}.host-section,.join-section{padding:1.25rem}.category-tabs{border-radius:var(--radius-lg)}.tab{padding:.62rem .82rem;font-size:.76rem}.card-scene{aspect-ratio:4 / 3}.card-face{border-radius:var(--radius-xl)}.card-front:before,.card-back:before{border-radius:calc(var(--radius-xl) - 9px)}}@media(max-width:420px){.title{font-size:clamp(2.2rem,13vw,3rem)}.game-kicker{letter-spacing:.15em}.card-count-setting{align-items:stretch;flex-direction:column}select{width:100%}.card-scene{aspect-ratio:1 / 1}.question-text{font-size:1.4rem}.turn-actions .btn{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
