:root{--ink: #0b1c24;--ink-2: #143040;--paper: #f4efe6;--panel: rgba(255, 250, 243, .94);--muted: #5d6f7c;--line: rgba(11, 28, 36, .12);--accent: #ff5a1f;--easy: #0f8f78;--medium: #d97706;--hard: #d62839;--font-d: "Sora", sans-serif;--font-b: "Manrope", sans-serif;--shadow: 0 12px 32px rgba(11, 28, 36, .1)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:var(--font-b);color:var(--ink);background:radial-gradient(ellipse 70% 50% at 10% -10%,rgba(255,200,87,.28),transparent 55%),radial-gradient(ellipse 60% 40% at 100% 0%,rgba(255,90,31,.18),transparent 50%),linear-gradient(165deg,#f7f2e9,#e8eef0)}html{overflow-y:auto}body.page-host,body.page-client{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}.eyebrow{text-transform:uppercase;letter-spacing:.06em;font-size:.8rem;font-weight:700;line-height:1.35;color:var(--muted);margin:0 0 8px}.muted{color:var(--muted)}.hint{font-size:.88rem;color:var(--muted);line-height:1.5}.warn{color:var(--hard);font-size:.9rem;line-height:1.4}.btn-primary,.btn-secondary{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:15px 22px;min-height:3.1rem;font-weight:700;font-family:var(--font-b);font-size:.98rem;line-height:1.3;letter-spacing:.01em;text-decoration:none;border:none;cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--accent),#ff8a4c);color:#fffaf3;box-shadow:0 10px 24px #ff5a1f47}.btn-secondary{background:var(--ink);color:#fffaf3}.btn-primary.wide,.btn-secondary.wide{width:100%}.btn-primary:disabled,.btn-secondary:disabled{opacity:.45;cursor:not-allowed}.pill{display:inline-flex;align-items:center;padding:7px 12px;border-radius:999px;font-size:.84rem;font-weight:700;line-height:1.25;font-family:var(--font-b)}.pill.ok{background:color-mix(in srgb,var(--easy) 18%,white);color:var(--easy)}.pill.bad{background:color-mix(in srgb,var(--hard) 18%,white);color:var(--hard)}.panel{background:var(--panel);border:1px solid rgba(255,255,255,.7);border-radius:22px;padding:18px;box-shadow:var(--shadow)}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;font-weight:700;font-size:.86rem;color:var(--muted)}.field input,.field select{padding:12px 14px;border-radius:12px;border:2px solid transparent;background:#ebe4d8;color:var(--ink);font:inherit}.field input:focus,.field select:focus{outline:none;border-color:var(--accent);background:#fff}.home{min-height:100vh;display:grid;place-items:center;padding:clamp(20px,3vh,36px) 24px}.home-stage{width:min(1080px,100%);min-height:min(560px,78vh);display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,1.05fr);gap:24px;align-items:stretch}.home-brand{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:36px;padding:40px 34px;border-radius:28px;color:#fffaf3;overflow:hidden;background:linear-gradient(145deg,#0b1c2433,#0b1c248c),linear-gradient(160deg,#143040,#0b1c24 55%,#0f3d38);box-shadow:var(--shadow)}.home-brand:after{content:"";position:absolute;inset:auto -10% -20% 20%;height:70%;background:radial-gradient(circle at 30% 40%,rgba(255,200,87,.45),transparent 40%),radial-gradient(circle at 70% 60%,rgba(255,90,31,.4),transparent 42%);filter:blur(8px);pointer-events:none}.home-brand-top{position:relative;z-index:1}.setup-kicker{display:inline-flex;padding:8px 14px;border-radius:999px;background:#fffaf31f;border:1px solid rgba(255,250,243,.18);font-size:.82rem;font-weight:700;letter-spacing:.05em;line-height:1.3;text-transform:uppercase;font-family:var(--font-b)}.home-brand h1{position:relative;z-index:1;margin:20px 0 14px;font-family:var(--font-d);font-size:clamp(2.6rem,5vw,3.85rem);line-height:1.1;letter-spacing:-.02em;font-weight:700}.home-brand p{position:relative;z-index:1;margin:0;max-width:32ch;font-size:1.05rem;line-height:1.55;color:#fffaf3d1}.setup-lanes{position:relative;z-index:1;display:grid;gap:10px}.setup-lane{height:10px;border-radius:999px;background:#fffaf31f;overflow:hidden}.setup-lane span{display:block;height:100%;width:28%;border-radius:inherit;animation:lanePulse 2.8s ease-in-out infinite}.setup-lane:nth-child(1) span{background:#e23d48;width:34%}.setup-lane:nth-child(2) span{background:#2f7fd1;width:46%;animation-delay:.2s}.setup-lane:nth-child(3) span{background:#1aaa8e;width:22%;animation-delay:.4s}.setup-lane:nth-child(4) span{background:#e8922a;width:58%;animation-delay:.6s}@keyframes lanePulse{0%,to{transform:translate(0)}50%{transform:translate(40%)}}.home-card{display:flex;flex-direction:column;justify-content:center;padding:28px 26px}.home-card h2{margin:0 0 8px;font-family:var(--font-d);font-size:1.75rem;line-height:1.2;font-weight:700;letter-spacing:-.015em}.home-card .lede{margin:0 0 20px;color:var(--muted);line-height:1.5;font-size:1.02rem}.home-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:8px}.home-actions.col{flex-direction:column}.home-card .hint{margin-top:16px;line-height:1.5}.btn-ghost{border-radius:999px;padding:10px 16px;font-weight:700;font-size:.88rem;cursor:pointer;font-family:var(--font-b);border:2px solid var(--line);background:transparent;color:var(--muted)}.btn-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.setup-preview{margin:0 0 8px;font-weight:700;line-height:1.35;color:var(--easy)}.setup-status{margin:0 0 12px;font-size:.88rem;line-height:1.5;color:var(--ink-2);background:#0b1c240d;border-radius:12px;padding:10px 12px;word-break:break-word}.subhead{margin:16px 0 8px;font-family:var(--font-b);font-size:1rem;font-weight:700;line-height:1.3}.mode-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.mode-row.compact{margin:0}.mode{border-radius:999px;padding:9px 14px;border:2px solid var(--line);background:#fffaf3;font-weight:700;font-size:.86rem;line-height:1.25;cursor:pointer;font-family:var(--font-b)}.mode.on{border-color:var(--ink);background:var(--ink);color:#fffaf3}.lobby-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lobby-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lobby-stack{display:flex;flex-direction:column;gap:14px;min-width:0}.q-img{max-width:100%;max-height:28vh;object-fit:contain;border-radius:12px;margin-bottom:10px}.host-shell{min-height:100vh;height:auto;padding:14px 16px 28px;display:flex;flex-direction:column;gap:12px}.host-shell.lobby{overflow:visible}.host-shell.game{min-height:100vh}.host-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.host-top h1{margin:0;font-family:var(--font-d);font-size:1.8rem;line-height:1.2;font-weight:700;letter-spacing:-.015em}.lobby-grid{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:14px;min-height:0;align-content:start}.lobby-grid .panel{overflow:visible;height:auto}.qr{width:min(280px,100%);border-radius:16px;margin:12px 0;background:#fff}.join-url{font-size:.88rem;line-height:1.45;word-break:break-all;background:#ebe4d8;padding:10px 12px;border-radius:12px}.roster{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:8px}.roster li{display:flex;justify-content:space-between;padding:10px 12px;border-radius:12px;background:#ebe4d8;font-weight:700}.roster li.on{outline:2px solid var(--easy)}.roster li.off{opacity:.55}.game-topbar{display:flex;align-items:center;gap:10px}.room-chip,.exit-btn{padding:9px 14px;border-radius:999px;font-weight:700;font-size:.88rem;line-height:1.25;font-family:var(--font-b)}.room-chip{background:#0b1c2414}.exit-btn{margin-left:auto;border:2px solid var(--line);background:#fffaf3;cursor:pointer}.toast{padding:9px 14px;border-radius:999px;font-weight:700;font-size:.9rem;line-height:1.3;font-family:var(--font-b)}.feedback-correct{background:var(--easy);color:#fff}.feedback-wrong{background:var(--hard);color:#fff}.feedback-void{background:var(--medium);color:#fff}.game-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:12px;min-height:0;flex:1.2}.game-body{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,320px);gap:12px;flex:1 1 auto;min-height:0;align-items:stretch}.game-left{display:flex;flex-direction:column;gap:8px;min-height:0;min-width:0}.game-left .question-hero{flex:1 1 auto;display:flex;flex-direction:column;min-height:0;overflow:hidden}.q-stage{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;overflow:hidden;padding:2px 2px 4px}.q-stage.has-img{justify-content:flex-start}.question-hero .q-img{flex:0 0 auto;max-width:min(100%,560px);max-height:min(26vh,200px);width:auto;height:auto;object-fit:contain;border-radius:12px;margin:0;box-shadow:0 6px 18px #0b1c241f}.q-text-wrap{flex:1 1 auto;min-height:0;width:100%;overflow:hidden;display:flex;align-items:flex-start}.question-hero .q-text,.question-hero .q-text-fit{width:100%;margin:0;text-align:left;font-family:var(--font-b);font-weight:500;font-size:clamp(.95rem,1.6vw,1.55rem);line-height:1.4;letter-spacing:.01em;color:var(--ink);overflow:hidden;text-wrap:pretty}.answers-bar{flex:0 0 auto;padding:2px 2px 0}.answers-bar .ans-hint{margin:0 0 6px;font-size:.86rem;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ans-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:6px}.ans-tile{flex-direction:row;align-items:center;justify-content:flex-start;gap:8px;min-height:48px;max-height:58px;padding:10px 12px;border-radius:12px;touch-action:manipulation}.ans-tile span{width:26px;height:26px;font-size:.85rem;font-family:var(--font-b);font-weight:700}.ans-tile em{font-style:normal;font-weight:700;font-size:.92rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.host-shell.game{height:100dvh;max-height:100dvh;overflow:hidden;padding-bottom:12px}.climb-panel{display:flex;flex-direction:column;min-height:0;height:100%;padding:12px}.climb-head{display:flex;justify-content:space-between;align-items:baseline;font-weight:700}.climb-head h3{margin:0;font-family:var(--font-d);font-size:1.05rem;line-height:1.25;font-weight:700}.climb-head span{color:var(--muted);font-size:.84rem;line-height:1.3}.climb-hint{margin:4px 0 10px;font-size:.84rem;line-height:1.4;color:var(--muted);font-weight:600}.climb-board{flex:1;display:flex;flex-direction:column;min-height:0;border-radius:20px;padding:8px 6px 6px;position:relative;overflow:hidden;background:linear-gradient(180deg,#4f9fd4,#8ec5e8 28%,#c5ddb0 68%,tan);box-shadow:inset 0 0 0 1px #fff6,0 10px 28px #0b1c241f}.climb-sky{position:absolute;inset:0 0 42%;pointer-events:none;overflow:hidden}.climb-sky .sun{position:absolute;top:8%;right:10%;width:36px;height:36px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff7c2,#ffb703 55%,#fb8500);box-shadow:0 0 24px 8px #ffb70373;animation:sun-pulse 3.5s ease-in-out infinite}.climb-sky .cloud{position:absolute;height:14px;background:#fff;border-radius:999px;opacity:.78;filter:blur(.2px)}.climb-sky .cloud:before,.climb-sky .cloud:after{content:"";position:absolute;background:#fff;border-radius:50%}.climb-sky .cloud:before{width:18px;height:18px;top:-8px;left:8px}.climb-sky .cloud:after{width:14px;height:14px;top:-6px;left:22px}.climb-sky .c1{width:44px;top:18%;left:-20%;animation:cloud-drift 18s linear infinite}.climb-sky .c2{width:36px;top:38%;left:-30%;animation:cloud-drift 24s linear infinite 4s;opacity:.55}.climb-sky .c3{width:28px;top:12%;left:-15%;animation:cloud-drift 28s linear infinite 9s;opacity:.45}.climb-sky .bird{position:absolute;width:10px;height:4px;border:2px solid rgba(26,36,48,.35);border-bottom:none;border-radius:10px 10px 0 0;animation:bird-fly 12s linear infinite}.climb-sky .b1{top:28%;left:-10%}.climb-sky .b2{top:44%;left:-20%;animation-duration:16s;animation-delay:3s}.climb-peaks{position:absolute;left:0;right:0;bottom:18%;height:28%;pointer-events:none;background:linear-gradient(135deg,transparent 40%,rgba(90,120,90,.35) 40.5%,transparent 41%),linear-gradient(45deg,transparent 50%,rgba(70,100,80,.28) 50.5%,transparent 51%),linear-gradient(120deg,transparent 30%,rgba(110,130,100,.22) 30.5%,transparent 31%);opacity:.7}.climb-finish{position:relative;z-index:2;display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 0 10px;flex-shrink:0}.climb-finish .flag-pole{width:3px;height:22px;background:linear-gradient(#d4a574,#6b4423);border-radius:2px}.climb-finish .flag{position:relative;display:inline-flex;align-items:center;gap:6px;font-family:var(--font-b);font-weight:700;font-size:.84rem;letter-spacing:.06em;line-height:1.2;color:#fffaf3;background:#1a2430;padding:7px 14px;border-radius:8px;border:2px solid #fffaf3;box-shadow:0 6px 16px #0b1c2447;transform-origin:left center;animation:flag-wave 1.4s ease-in-out infinite}.climb-finish .flag i{width:14px;height:10px;background:linear-gradient(90deg,#1a1a1a 25%,#fff 25% 50%,#1a1a1a 50% 75%,#fff 75%),linear-gradient(#1a1a1a 25%,#fff 25% 50%,#1a1a1a 50% 75%,#fff 75%);background-size:8px 8px;border-radius:2px}.climb-lanes{flex:1;display:grid;grid-template-columns:28px repeat(4,1fr);gap:0;min-height:0;position:relative;z-index:1;padding:0 4px}.climb-scale{position:relative;height:100%;pointer-events:none}.climb-scale i{position:absolute;right:2px;transform:translateY(50%);font-style:normal;font-size:.7rem;font-weight:700;line-height:1;color:#0b1c2480;text-shadow:0 1px 0 rgba(255,255,255,.35)}.climb-lane{position:relative;height:100%;min-height:160px}.climb-lane .rope{position:absolute;left:46%;top:0;bottom:12px;width:6px;transform:translate(-50%);animation:rope-sway 2.8s ease-in-out infinite;transform-origin:top center}.climb-lane .rope-core{position:absolute;inset:0;border-radius:4px;background:repeating-linear-gradient(180deg,#5c3a1e 0 6px,#a67c52 6px 9px,#7a4f28 9px 13px,#c4a574 13px 15px);box-shadow:2px 0 #ffffff47,-1px 0 3px #00000040}.climb-lane .rope-shine{position:absolute;left:1.5px;top:0;bottom:0;width:1.5px;background:#fff6;border-radius:1px}.climb-lane .rope-knot{position:absolute;left:50%;width:10px;height:8px;margin-left:-5px;border-radius:3px;background:#6b4423;box-shadow:inset 0 1px #ffffff40}.climb-lane .rope-knot.k1{top:22%}.climb-lane .rope-knot.k2{top:48%}.climb-lane .rope-knot.k3{top:74%}.climber{position:absolute;left:50%;transform:translate(-14%);z-index:2;transition:bottom 1s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column;align-items:center;pointer-events:none;animation:climb-bob .52s ease-in-out infinite}.climb-lane.idle .climber{animation:climb-idle 2.4s ease-in-out infinite}.climb-lane.idle .climber-svg .arm-up,.climb-lane.idle .climber-svg .arm-low,.climb-lane.idle .climber-svg .leg-front,.climb-lane.idle .climber-svg .leg-back{animation-duration:2.4s}.climb-lane.buzz .climber{animation-duration:.34s;filter:drop-shadow(0 0 12px var(--c));z-index:4;scale:1.06}.climb-lane.leader .climber{z-index:3}.climb-lane.tried{opacity:.48;filter:grayscale(.25)}.climber .trail{position:absolute;left:40%;top:55%;width:4px;height:28px;border-radius:999px;background:linear-gradient(180deg,var(--c),transparent);opacity:0;transform:translate(-50%)}.climb-lane.moving .climber .trail{opacity:.55;animation:trail-fade .7s ease-out infinite}.climber .spark{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--glow);opacity:0;box-shadow:0 0 6px var(--glow)}.climb-lane.moving .spark{animation:spark-pop .9s ease-out infinite}.climber .spark.s1{left:10%;top:70%;animation-delay:0s}.climber .spark.s2{left:70%;top:60%;animation-delay:.3s}.climber .spark.s3{left:40%;top:85%;animation-delay:.55s}.climber .crown{position:absolute;top:-10px;right:-2px;font-size:14px;color:#ffb703;filter:drop-shadow(0 1px 2px rgba(0,0,0,.35));animation:crown-bob 1.2s ease-in-out infinite;z-index:5}.climber .aura{position:absolute;inset:-8px -4px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--c) 35%,transparent),transparent 70%);animation:aura-pulse 1.1s ease-in-out infinite;z-index:-1}.climber-svg{display:block;overflow:visible;filter:drop-shadow(0 4px 5px rgba(11,28,36,.3))}.climber-svg .climber-body{transform-origin:36px 56px;animation:torso-lean .52s ease-in-out infinite}.climber-svg .cape{transform-origin:36px 44px;animation:cape-flap .7s ease-in-out infinite}.climber-svg .arm-up{transform-box:fill-box;transform-origin:right center;animation:climb-arm-high .52s ease-in-out infinite}.climber-svg .arm-low{transform-box:fill-box;transform-origin:right center;animation:climb-arm-low .52s ease-in-out infinite}.climber-svg .leg-front{transform-box:fill-box;transform-origin:top center;animation:climb-leg-up .52s ease-in-out infinite}.climber-svg .leg-back{transform-box:fill-box;transform-origin:top center;animation:climb-leg-push .52s ease-in-out infinite}.climber-svg .head{transform-box:fill-box;transform-origin:center bottom;animation:head-nod .52s ease-in-out infinite}.climber-svg .sweat{animation:sweat-drop .8s ease-in infinite}.climb-lane.buzz .climber-svg .climber-body,.climb-lane.buzz .climber-svg .cape,.climb-lane.buzz .climber-svg .arm-up,.climb-lane.buzz .climber-svg .arm-low,.climb-lane.buzz .climber-svg .leg-front,.climb-lane.buzz .climber-svg .leg-back,.climb-lane.buzz .climber-svg .head{animation-duration:.34s}.climb-lane.near-top .rope{animation-duration:1.6s}.climb-ground{height:12px;margin:0 8px;border-radius:8px 8px 0 0;background:linear-gradient(180deg,#7a9b4e,#5c6e36 55%,#6e5a38);flex-shrink:0;position:relative;z-index:1;overflow:hidden}.climb-ground .grass{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 6px,rgba(255,255,255,.12) 6px 7px)}.climb-base{display:grid;grid-template-columns:28px repeat(4,1fr);gap:0;margin-top:6px;flex-shrink:0;position:relative;z-index:1}.climb-base:before{content:"";display:block}.climb-score{text-align:center;background:#fffaf3f0;border-radius:12px;padding:6px 2px;margin:0 2px;display:flex;flex-direction:column;line-height:1.15;box-shadow:0 2px 8px #0b1c241a;border:1px solid transparent;transition:transform .25s ease,border-color .25s ease}.climb-score.lead{border-color:#ffb703;box-shadow:0 0 0 2px #ffb70359,0 4px 12px #ffb70333;transform:translateY(-2px)}.climb-score.hot{border-color:var(--accent);animation:score-pulse .7s ease-in-out infinite}.climb-score strong{font-family:var(--font-b);font-size:.9rem;font-weight:700;line-height:1.2}.climb-score em{font-style:normal;font-weight:700;font-size:.92rem;line-height:1.2}.climb-score small{color:var(--muted);font-size:.72rem;font-weight:600;line-height:1.3}@keyframes climb-bob{0%,to{transform:translate(-14%) translateY(0)}50%{transform:translate(-14%) translateY(-8px)}}@keyframes climb-idle{0%,to{transform:translate(-14%) translateY(0)}50%{transform:translate(-14%) translateY(-3px)}}@keyframes climb-arm-high{0%{transform:rotate(-20deg) translateY(5px)}40%{transform:rotate(10deg) translate(-3px,-12px)}70%{transform:rotate(2deg) translate(-1px,-5px)}to{transform:rotate(-20deg) translateY(5px)}}@keyframes climb-arm-low{0%{transform:rotate(12deg) translate(-2px,-10px)}40%{transform:rotate(-16deg) translateY(4px)}70%{transform:rotate(-4deg) translate(-1px,-2px)}to{transform:rotate(12deg) translate(-2px,-10px)}}@keyframes climb-leg-up{0%{transform:rotate(-18deg) translateY(2px)}45%{transform:rotate(26deg) translate(3px,-8px)}to{transform:rotate(-18deg) translateY(2px)}}@keyframes climb-leg-push{0%{transform:rotate(20deg) translate(1px,-5px)}45%{transform:rotate(-22deg) translate(-2px,5px)}to{transform:rotate(20deg) translate(1px,-5px)}}@keyframes torso-lean{0%,to{transform:rotate(-4deg) translateY(0)}50%{transform:rotate(5deg) translateY(-3px)}}@keyframes head-nod{0%,to{transform:rotate(-5deg)}50%{transform:rotate(6deg)}}@keyframes cape-flap{0%,to{transform:skew(0) scaleX(1)}50%{transform:skew(-8deg) scaleX(1.08)}}@keyframes rope-sway{0%,to{transform:translate(-50%) rotate(-.8deg)}50%{transform:translate(-50%) rotate(.8deg)}}@keyframes flag-wave{0%,to{transform:skew(0)}50%{transform:skew(-4deg)}}@keyframes cloud-drift{0%{transform:translate(0)}to{transform:translate(140vw)}}@keyframes bird-fly{0%{transform:translate(0) translateY(0);opacity:0}10%{opacity:.7}50%{transform:translate(60vw) translateY(-8px);opacity:.7}to{transform:translate(120vw) translateY(4px);opacity:0}}@keyframes sun-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}@keyframes trail-fade{0%{opacity:.65;height:18px}to{opacity:0;height:36px}}@keyframes spark-pop{0%{opacity:0;transform:translateY(0) scale(.4)}35%{opacity:1;transform:translateY(-8px) scale(1)}to{opacity:0;transform:translateY(-18px) scale(.2)}}@keyframes crown-bob{0%,to{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-3px) rotate(6deg)}}@keyframes aura-pulse{0%,to{opacity:.45;transform:scale(.95)}50%{opacity:.9;transform:scale(1.08)}}@keyframes score-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.04)}}@keyframes sweat-drop{0%{transform:translateY(0);opacity:.9}to{transform:translateY(8px);opacity:0}}@media (prefers-reduced-motion: reduce){.climber,.climber-svg .climber-body,.climber-svg .cape,.climber-svg .arm-up,.climber-svg .arm-low,.climber-svg .leg-front,.climber-svg .leg-back,.climber-svg .head,.climb-lane .rope,.climb-sky .cloud,.climb-sky .bird,.climb-finish .flag,.climber .trail,.climber .spark,.climber .crown,.climber .aura{animation:none!important}}.question .meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}.badge,.chip{padding:7px 12px;border-radius:999px;font-weight:700;font-size:.84rem;line-height:1.25;font-family:var(--font-b)}.level-easy{background:color-mix(in srgb,var(--easy) 18%,white);color:var(--easy)}.level-medium{background:color-mix(in srgb,var(--medium) 18%,white);color:var(--medium)}.level-hard{background:color-mix(in srgb,var(--hard) 18%,white);color:var(--hard)}.chip{background:#0b1c240f;color:var(--muted)}.timer{margin-left:auto;font-family:var(--font-d);font-weight:700;font-size:1.2rem;line-height:1.2;display:inline-flex;align-items:baseline;gap:6px}.timer small{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-family:var(--font-b);line-height:1.2}.timer.soal-timer.paused{opacity:.55}.timer.jawab-timer{margin-left:0;color:var(--hard);background:color-mix(in srgb,var(--hard) 12%,white);padding:4px 10px;border-radius:999px}.timer.jawab-timer small{color:var(--hard)}.timeup-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.timeup-actions .btn-primary,.timeup-actions .btn-secondary{flex:1 1 140px;min-height:44px}.verify-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px;position:relative;z-index:5}.verify-actions .btn-primary,.verify-actions .btn-secondary{flex:1 1 140px;min-height:44px}.ans-row.is-locked .ans-btn:not(.pending){opacity:.4;filter:grayscale(.25);pointer-events:none;cursor:not-allowed;border-color:transparent}.ans-row.is-locked .ans-btn.pending{pointer-events:none;cursor:default}.ans-btn.locked{opacity:.4;pointer-events:none}.session-notice{margin:6px 0 0;font-size:.85rem;font-weight:700;color:var(--easy)}.session-notice.bar{margin:0 0 8px;padding:8px 12px;border-radius:12px;background:color-mix(in srgb,var(--easy) 14%,white)}.btn-ghost.wide{width:100%}.q-text{margin:0;font-family:var(--font-b);font-size:clamp(1.2rem,2.2vw,1.85rem);line-height:1.4;font-weight:600;letter-spacing:.005em}.answers{display:flex;flex-direction:column;gap:8px}.ans-hint{margin:0 0 6px;font-weight:700;color:var(--muted);font-size:.92rem;line-height:1.35}.ans-btn{display:flex;align-items:center;gap:10px;text-align:left;padding:12px 14px;border-radius:14px;border:2px solid transparent;background:#ebe4d8;font:inherit;font-weight:700;line-height:1.3;opacity:.7;cursor:not-allowed}.ans-btn span{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:#0b1c2414;font-family:var(--font-b);font-weight:700;font-size:.9rem}.ans-btn.active{opacity:1;cursor:pointer;border-color:color-mix(in srgb,var(--accent) 70%,white)}.ans-btn.elim{opacity:.35;text-decoration:line-through}.ans-btn.pending,.ans-tile.pending{opacity:1;border-color:var(--medium);background:color-mix(in srgb,var(--medium) 16%,white);box-shadow:0 0 0 2px color-mix(in srgb,var(--medium) 35%,transparent)}.ans-btn.reveal{opacity:1;border-color:var(--easy);background:color-mix(in srgb,var(--easy) 14%,white)}.track-head{display:flex;justify-content:space-between;margin-bottom:8px;font-weight:700}.track-head h3{margin:0;font-family:var(--font-d);font-size:1rem;line-height:1.25;font-weight:700}.track-head span{color:var(--muted);font-size:.86rem;line-height:1.3}.lane{display:grid;grid-template-columns:36px 1fr 64px;gap:8px;align-items:center;margin-bottom:8px}.lane-id{width:32px;height:32px;border-radius:50%;color:#fff;display:grid;place-items:center;font-family:var(--font-b);font-weight:700;font-size:.9rem;line-height:1}.lane-bar{position:relative;height:22px;border-radius:999px;background:#e0d7c8}.lane-bar i{position:absolute;top:-14px;transform:translate(-50%);font-style:normal;font-size:.65rem;font-weight:700;color:var(--muted)}.lane-bar b{position:absolute;top:50%;width:18px;height:18px;margin-left:-9px;transform:translateY(-50%);border-radius:50%;border:2px solid #fffaf3;transition:left .35s ease}.act-meter{height:10px;border-radius:999px;background:#e0d7c8;overflow:hidden}.act-meter span{display:block;height:100%;transition:width .15s linear}.team-row{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.team-card{border:3px solid;border-radius:18px;padding:14px 10px;background:#fffaf3;text-align:center;display:flex;flex-direction:column;gap:4px}.team-card strong{font-family:var(--font-d);font-weight:700;line-height:1.25;font-size:1.05rem}.team-card em{font-style:normal;color:var(--muted);font-weight:700;line-height:1.3}.team-card small{color:var(--muted);line-height:1.35}.team-card.buzz{box-shadow:0 0 0 4px #ff5a1f40;transform:scale(1.02)}.team-card.tried{opacity:.45}.winner{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;background:radial-gradient(ellipse 80% 50% at 50% 0%,color-mix(in srgb,var(--accent, #ff5a1f) 28%,transparent),transparent 55%),linear-gradient(165deg,#0b1c24,#143040 45%,#0b1c24);color:#f4efe6;animation:winner-fade .45s ease-out;overflow:hidden}@keyframes winner-fade{0%{opacity:0}to{opacity:1}}.winner-card{flex:1;display:flex;flex-direction:column;min-height:0;width:100%;max-width:none;margin:0;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none;text-align:center;animation:winner-pop .55s cubic-bezier(.22,1.2,.36,1)}.winner-card-wide{max-width:none}@keyframes winner-pop{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}.winner-top{flex:0 0 auto;padding:20px 24px 8px;position:relative;z-index:5}.winner-eyebrow{margin:0 0 6px;text-transform:uppercase;letter-spacing:.1em;font-size:.78rem;font-weight:700;color:#f4efe6a6}.winner-card h2{font-family:var(--font-d);margin:0;font-weight:700;line-height:1.15;letter-spacing:-.02em;font-size:clamp(1.85rem,4.5vw,3rem);color:#fffaf3;text-shadow:0 8px 28px rgba(0,0,0,.35)}.winner-collage{flex:1 1 auto;min-height:0;margin:0;position:relative;display:flex;align-items:center}.winner-collage-marquee{width:100%;height:min(68vh,640px)}.winner-collage-viewport{width:100%;height:100%;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%)}.winner-collage-track{display:flex;align-items:center;gap:clamp(18px,2.4vw,36px);height:100%;width:max-content;padding:0 8vw;animation:collage-marquee-ltr var(--marquee-duration, 14s) linear infinite;will-change:transform}@keyframes collage-marquee-ltr{0%{transform:translate(-35%)}to{transform:translate(5%)}}.winner-collage-shot{position:relative;flex:0 0 auto;margin:0;width:clamp(200px,26vw,320px);height:clamp(200px,26vw,320px);border-radius:20px;overflow:hidden;border:4px solid rgba(255,250,243,.92);box-shadow:0 16px 40px #00000073,0 0 0 2px color-mix(in srgb,var(--accent) 50%,transparent);transform:rotate(var(--rot, 0deg)) scale(.9);opacity:.78;transition:transform .32s cubic-bezier(.22,1.15,.36,1),opacity .28s ease,box-shadow .28s ease}.winner-collage-shot.is-tall{width:clamp(170px,22vw,260px);height:clamp(230px,32vw,380px)}.winner-collage-shot.is-focus{transform:rotate(var(--rot, 0deg)) scale(1.42);opacity:1;box-shadow:0 28px 60px #0000008c,0 0 0 4px color-mix(in srgb,var(--accent) 80%,#fff),0 0 40px color-mix(in srgb,var(--accent) 45%,transparent)}.winner-collage-shot img{width:100%;height:100%;object-fit:cover;display:block}.winner-collage-vignette{pointer-events:none;position:absolute;inset:0;background:radial-gradient(ellipse 55% 70% at 50% 50%,transparent 35%,rgba(11,28,36,.35) 100%)}.winner-collage-empty{margin:24px auto;max-width:36ch;color:#f4efe6bf}.winner-bottom{flex:0 0 auto;display:grid;grid-template-columns:1fr auto;gap:16px 24px;align-items:end;padding:12px 24px 22px;background:linear-gradient(180deg,transparent,rgba(0,0,0,.35) 30%);position:relative;z-index:5}.winner-scores{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px;text-align:left;max-width:420px}.winner-scores li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;border-radius:10px;background:#fffaf314;font-weight:600;color:#f4efe6e6;font-size:.92rem}.winner-scores li.champ{background:color-mix(in srgb,var(--accent, #ff5a1f) 28%,rgba(255,250,243,.12));outline:2px solid color-mix(in srgb,var(--accent, #ff5a1f) 55%,transparent)}.winner-scores strong{font-variant-numeric:tabular-nums;font-size:1.05rem}.winner-actions{display:flex;flex-direction:column;align-items:flex-end;gap:8px}.winner-hint{margin:0;color:#f4efe68c;font-size:.82rem;text-align:right;max-width:28ch}.winner-lobby-btn{min-width:200px}@media (max-width: 720px){.winner-bottom{grid-template-columns:1fr}.winner-actions{align-items:stretch}.winner-hint{text-align:left;max-width:none}.winner-collage-marquee{height:min(52vh,460px)}.winner-collage-shot.is-focus{transform:rotate(var(--rot, 0deg)) scale(1.28)}}.client-shell{min-height:100dvh;padding:16px 16px 28px;display:flex;flex-direction:column;gap:12px}.client-head h1{margin:0;font-family:var(--font-d);font-size:1.6rem;line-height:1.25;font-weight:700;letter-spacing:-.015em}.team-pick{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.pick{min-height:58px;border-radius:14px;border:3px solid;background:#fffaf3;font-family:var(--font-b);font-size:1.35rem;font-weight:700;line-height:1;cursor:pointer}.pick.on{background:color-mix(in srgb,var(--team, #ff5a1f) 18%,white)}.field-label{font-weight:700;color:var(--muted);font-size:.9rem;line-height:1.35;margin:0 0 8px}.client-meta{display:flex;justify-content:space-between;gap:8px;font-weight:700;font-size:.88rem;line-height:1.35;color:var(--muted);margin-bottom:8px;font-family:var(--font-b)}.client-q{margin:0;font-family:var(--font-b);font-weight:600;font-size:1.1rem;line-height:1.45}.you-buzz{margin:10px 0 0;font-weight:700;line-height:1.4;color:var(--accent)}.answer-clock{margin:8px 0 0;font-weight:700;font-size:1.1rem;line-height:1.3;color:var(--hard)}.answer-clock strong{font-family:var(--font-d);font-size:1.35rem;font-weight:700;line-height:1.15}.cam-panel .cam{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px;background:#0b1c24;margin-bottom:10px}.cam-enable-btn{margin-top:10px;margin-bottom:6px}.act-readout{display:grid;grid-template-columns:auto 48px 1fr;gap:8px;align-items:center;margin-bottom:10px;font-weight:700;line-height:1.3}.act-bar{height:12px;border-radius:999px;background:#e0d7c8;overflow:hidden}.act-bar i{display:block;height:100%;background:var(--team, var(--accent));font-style:normal}.act-bar i.sad{background:#2f7fd1}.act-bar i.angry{background:#d62839}.expr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:8px;font-weight:700;font-size:.86rem;line-height:1.3;font-family:var(--font-b)}.expr-grid strong{display:block;font-size:1.1rem;margin:2px 0 4px;line-height:1.2;font-weight:700}.expr-label{margin:0 0 10px;font-weight:700;color:var(--muted);font-size:.92rem;line-height:1.4}.buzz-fallback{margin-top:auto;min-height:76px;border:none;border-radius:20px;font-family:var(--font-b);font-size:1.2rem;font-weight:700;line-height:1.25;letter-spacing:.01em;background:#c5bcae;color:#fffaf3;cursor:not-allowed}.buzz-fallback.ready{background:linear-gradient(135deg,var(--team, var(--accent)),#ff8a4c);cursor:pointer;box-shadow:0 12px 28px #ff5a1f4d}.unbuzz-btn{margin-top:10px;border-color:#b45309;color:#9a3412}@media (max-width: 1200px){.lobby-grid-3{grid-template-columns:1fr 1fr}.lobby-grid-3 .panel:last-child{grid-column:1 / -1}}@media (max-width: 900px){.lobby-grid,.lobby-grid-2,.lobby-grid-3,.game-grid,.game-body,.team-row,.home-stage{grid-template-columns:1fr;min-height:0}.lobby-grid-3 .panel:last-child{grid-column:auto}.host-top h1{font-size:1.45rem}.qr{width:min(220px,100%)}.host-shell.game{height:auto;max-height:none;overflow:visible}.climb-board{min-height:320px}.game-left .question-hero{max-height:none}.ans-row{grid-template-columns:1fr}.question-hero .q-img{max-height:40vh}}
