:root{--ink:#2b2440;--paper:#fffaf0;--accent:#6b4fd8;--accent-dark:#4e36b0;--strike:#e5484d;--progress:#2fae6b;--studybot:#ffd84d;--display:"Baloo 2", "Trebuchet MS", system-ui, sans-serif;--body:"Nunito", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--ink);color:var(--ink);font-family:var(--body);overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;overflow:hidden}.game{position:fixed;inset:0}.game canvas{touch-action:none}.hud{pointer-events:none;padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));position:fixed;inset:0}.hud-hint{top:max(12px, env(safe-area-inset-top));border:3px solid var(--ink);font-family:var(--display);white-space:nowrap;background:#fffaf0eb;border-radius:999px;padding:4px 14px;font-size:15px;font-weight:600;position:absolute;left:50%;transform:translate(-50%)}.joystick{left:max(20px, env(safe-area-inset-left));bottom:max(28px, env(safe-area-inset-bottom));pointer-events:auto;touch-action:none;background:#fffaf059;border:3px solid #fffaf0cc;border-radius:50%;width:132px;height:132px;position:absolute}.joystick-knob{background:var(--paper);border:3px solid var(--ink);border-radius:50%;width:58px;height:58px;margin:-29px 0 0 -29px;position:absolute;top:50%;left:50%;box-shadow:0 4px #2b244059}.screen{height:100%;padding:max(20px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:radial-gradient(circle at 30% 20%, #4b3d7a 0%, var(--ink) 70%);display:flex;overflow-y:auto}.card{background:var(--paper);border:4px solid var(--ink);border-radius:24px;gap:12px;width:min(380px,100%);margin:auto;padding:24px 20px;display:grid;box-shadow:0 8px #00000059}.title{font-family:var(--display);text-align:center;color:var(--accent);margin:0;font-size:40px;font-weight:800;line-height:.95}.tagline{text-align:center;margin:0 0 6px;font-size:15px}.heading{font-family:var(--display);margin:0;font-size:28px;font-weight:800}.field{gap:4px;font-size:14px;font-weight:700;display:grid}.field input,.share input{font:inherit;border:3px solid var(--ink);color:var(--ink);-webkit-user-select:text;user-select:text;background:#fff;border-radius:12px;min-width:0;padding:10px 12px;font-size:18px}.code-input{letter-spacing:.3em;text-align:center;text-transform:uppercase;font-family:var(--display)!important;font-size:28px!important}.btn{font-family:var(--display);border:3px solid var(--ink);color:var(--ink);box-shadow:0 4px 0 var(--ink);cursor:pointer;background:#fff;border-radius:14px;padding:10px 16px;font-size:20px;font-weight:800}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--ink);transform:translateY(3px)}.btn.primary{background:var(--accent);color:#fff}.btn.small{padding:6px 10px;font-size:15px}.btn:disabled{opacity:.5;cursor:default}.btn:focus-visible,.field input:focus-visible{outline:3px solid var(--studybot);outline-offset:2px}.error{color:var(--strike);text-align:center;margin:0;font-weight:700}.label{text-transform:uppercase;letter-spacing:.08em;opacity:.7;margin:0;font-size:13px;font-weight:700}.room-code{font-family:var(--display);letter-spacing:.15em;text-align:center;color:var(--accent);margin:-6px 0 0;font-size:56px;font-weight:800;line-height:1}.share{gap:8px;display:flex}.share input{flex:1;padding:8px;font-size:13px}.players{gap:6px;margin:0;padding:0;list-style:none;display:grid}.players li{background:#fff;border:2px solid #2b244033;border-radius:12px;align-items:center;gap:10px;padding:6px 10px;font-size:17px;font-weight:700;display:flex}.dot{border:2px solid var(--ink);border-radius:50%;flex:none;width:18px;height:18px}.tag{text-transform:uppercase;background:var(--ink);color:#fff;border-radius:999px;padding:1px 8px;font-size:12px;font-weight:700}.waiting{text-align:center;margin:4px 0 0;font-weight:700}.banner{left:50%;bottom:max(16px, env(safe-area-inset-bottom));background:var(--studybot);color:var(--ink);border:3px solid var(--ink);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;max-width:calc(100% - 32px);padding:6px 14px;font-size:14px;font-weight:700;position:fixed;overflow:hidden;transform:translate(-50%)}.statusbar{top:max(10px, env(safe-area-inset-top));right:max(10px, env(safe-area-inset-right));justify-items:end;gap:6px;display:grid;position:absolute}.strikes,.progress{border:3px solid var(--ink);background:#fffaf0f0;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-weight:700;display:flex}.status-label{text-transform:uppercase;letter-spacing:.06em;font-size:12px}.strike{font-family:var(--display);color:#2b244033;font-size:18px;font-weight:800;line-height:1}.strike.on{color:var(--strike)}.progress-track{background:#2b244026;border-radius:999px;width:90px;height:10px;overflow:hidden}.progress-fill{background:var(--progress);height:100%;transition:width .4s}.progress-num{font-variant-numeric:tabular-nums;font-size:13px}.tasklist{top:max(10px, env(safe-area-inset-top));left:max(10px, env(safe-area-inset-left));border:3px solid var(--ink);pointer-events:auto;background:#fffaf0f0;border-radius:14px;width:min(230px,100% - 190px);min-width:150px;position:absolute;overflow:hidden}.tasklist-head{width:100%;font:800 16px var(--display);background:var(--accent);color:#fff;cursor:pointer;border:0;justify-content:space-between;padding:4px 10px;display:flex}.role-bluffer .tasklist-head{background:var(--strike)}.role-factChecker .tasklist-head{background:var(--progress)}.tasklist-body{padding:6px 10px 8px;font-size:13px}.tasklist-body p{margin:0 0 4px}.tasklist-body ul{margin:0;padding-left:18px;font-weight:700}.reminder{font-style:italic}.fake-note{color:var(--strike);font-weight:700}.done{color:var(--progress);font-weight:700}.keys-hint{left:50%;bottom:max(14px, env(safe-area-inset-bottom));color:#fff;white-space:nowrap;background:#2b2440bf;border-radius:999px;padding:4px 12px;font-size:13px;font-weight:700;position:absolute;transform:translate(-50%)}.actions{right:max(18px, env(safe-area-inset-right));bottom:max(28px, env(safe-area-inset-bottom));pointer-events:auto;align-items:flex-end;gap:12px;display:flex;position:absolute}.action{border:4px solid var(--ink);width:92px;height:92px;font:800 20px var(--display);box-shadow:0 5px 0 var(--ink);cursor:pointer;border-radius:50%}.action.use{background:var(--studybot);color:var(--ink)}.vision-shade{pointer-events:none;position:absolute;inset:0}.action.examine{color:var(--ink);background:#fff;font-size:17px}.action.examine.searched{background:#ece9f3}.action.hack{background:var(--strike);color:#fff;width:76px;height:76px;font-size:16px}.action:disabled{opacity:.55;cursor:default}.action:active:not(:disabled){box-shadow:0 2px 0 var(--ink);transform:translateY(3px)}.toast{background:var(--ink);color:#fff;text-align:center;border-radius:14px;max-width:calc(100% - 32px);padding:8px 16px;font-weight:700;position:fixed;top:30%;left:50%;transform:translate(-50%)}.panel-backdrop{padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));background:#1410228c;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden auto}.panel{background:var(--paper);border:4px solid var(--ink);border-radius:22px;gap:10px;width:min(440px,100%);padding:14px 16px 16px;display:grid;box-shadow:0 8px #00000059}.panel-top{justify-content:space-between;font-size:13px;font-weight:700;display:flex}.panel-leave{font:700 13px var(--body);color:var(--ink);border:2px solid var(--ink);cursor:pointer;background:#fff;border-radius:999px;margin-left:auto;padding:0 10px}.panel-top{align-items:center;gap:8px}.panel-subject{background:var(--ink);color:#fff;border-radius:999px;padding:0 8px}.countdown{align-items:center;gap:8px;display:flex}.countdown-track{background:#2b244026;border-radius:999px;flex:1;height:10px;overflow:hidden}.countdown-fill{background:var(--accent);height:100%}.countdown-fill.low{background:var(--strike)}.countdown-num{font:800 16px var(--display);font-variant-numeric:tabular-nums;text-align:right;min-width:32px}.panel-prompt{font:800 21px/1.15 var(--display);margin:0}.bot{align-items:flex-start;gap:8px;display:flex}.bot-avatar{background:var(--studybot);border:3px solid var(--ink);border-radius:12px;flex:none;place-items:center;width:42px;height:42px;font-size:22px;display:grid}.bot-bubble{border:3px solid var(--ink);background:#fff;border-radius:4px 16px 16px;flex:1;gap:3px;padding:8px 10px;font-size:15px;display:grid;position:relative}.bot-name{letter-spacing:.1em;color:var(--accent);font-size:11px;font-weight:700}.bot-line{font-style:italic;animation:.35s both fade-up}.bot-typing{gap:4px;padding:2px 0;display:inline-flex}.bot-typing i{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1s ease-in-out infinite typing-dot}.bot-typing i:nth-child(2){animation-delay:.15s}.bot-typing i:nth-child(3){animation-delay:.3s}@keyframes typing-dot{50%{opacity:.4;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.bot-typing i,.bot-line{animation:none}}.bot-confidence{opacity:.8;align-items:center;gap:6px;font-size:12px;display:flex}.bot-confidence meter{width:80px}.stamp{font:800 18px var(--display);background:#fff;border:3px solid;border-radius:6px;padding:0 8px;position:absolute;top:-12px;right:8px;transform:rotate(8deg)}.stamp.true{color:var(--progress)}.stamp.false{color:var(--strike)}.hint{background:#eef6ff;border:2px dashed #5b8def;border-radius:10px;margin:0;padding:6px 10px;font-size:14px;font-weight:700}.choices{gap:8px;display:grid}.choice{text-align:left;font:700 16px var(--body);color:var(--ink);border:3px solid var(--ink);cursor:pointer;box-shadow:0 3px 0 var(--ink);background:#fff;border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.choice.bot-pick{background:#fff8d6}.choice.picked{background:var(--accent);color:#fff}.choice:disabled{cursor:default}.choice-letter{background:var(--ink);color:#fff;width:26px;height:26px;font:800 14px var(--display);border-radius:50%;flex:none;place-items:center;display:grid}.panel-tools{flex-wrap:wrap;gap:8px;display:flex}.btn.verify{background:var(--progress);color:#fff}.result{text-align:center;border:3px solid var(--ink);border-radius:12px;gap:2px;padding:8px;display:grid}.result b{font:800 24px var(--display)}.result.good{background:#dcf5e6}.result.bad{background:#ffdede}.result.meh{background:#f1eef6}.result .truth{margin-top:4px;font-size:15px;line-height:1.35}.result .truth b{font:inherit;font-weight:800}.tasklist-body li.ready{color:var(--accent)}.pieces-count{opacity:.8;font-weight:400}.slots{gap:6px;display:grid}.slot{text-align:left;min-height:42px;font:700 16px var(--body);color:#2b244059;background:#2b24400f;border:3px dashed #2b24404d;border-radius:12px;padding:6px 10px}.slot.filled{color:var(--ink);border:3px solid var(--ink);cursor:pointer;background:#fff}.cards{flex-wrap:wrap;gap:8px;min-height:10px;display:flex}.card-piece{font:700 15px var(--body);color:var(--ink);border:3px solid var(--ink);box-shadow:0 3px 0 var(--ink);cursor:pointer;background:#fffdf4;border-radius:10px;padding:6px 10px}.card-piece:active{box-shadow:0 1px 0 var(--ink);transform:translateY(2px)}.arrange-wrong{color:var(--strike);margin:0;font-weight:700}.bot-arrange{background:var(--studybot);justify-self:start}.arranged-by{background:var(--studybot);border:2px solid var(--ink);border-radius:999px;justify-self:start;margin:0;padding:0 8px;font-size:12px;font-weight:700}.your-pieces{flex-wrap:wrap;align-items:center;gap:4px;margin:-4px 0 0;font-size:13px;display:flex}.chip{border:2px solid var(--ink);background:#fffdf4;border-radius:8px;padding:0 6px;font-weight:700}.screen{scrollbar-width:none}.screen::-webkit-scrollbar{display:none}.menu-wallpaper{background:#ffcf5a;position:fixed;inset:0}.title-screen{cursor:pointer;width:100%;font-family:var(--body);background:0 0;border:0;padding:0;position:fixed;inset:0;overflow:hidden}.title-bg{width:100%;height:100%;position:absolute;inset:0}.title-content{padding:max(20px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex;position:absolute;inset:0 50% 0 4%}@media (aspect-ratio<=11/10){.title-content{padding-right:max(16px, env(safe-area-inset-right));inset:0 0 45%}}.title-screen .title{color:#ffd84d;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:0 7px 0 var(--ink);font-size:clamp(44px,6.4vw,96px)}.title-screen .tagline{max-width:26ch;font:800 clamp(20px, 2.2vw, 30px) / 1.1 var(--display);color:var(--ink)}.press-start{font:800 clamp(15px, 1.7vw, 22px) var(--display);letter-spacing:.1em;color:#fff;background:var(--accent);box-shadow:0 5px 0 var(--ink);border:4px solid #fff;border-radius:999px;padding:8px 24px;animation:1.4s ease-in-out infinite bob}@keyframes bob{50%{transform:translateY(-4px)scale(1.04)}}@media (prefers-reduced-motion:reduce){.press-start{animation:none}}.title-screen:focus-visible .press-start{outline:4px solid var(--studybot);outline-offset:4px}.title.small{color:#ffd84d;-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--ink);font-size:34px}.screen.themed{background:0 0;position:relative}.screen.themed .card{box-shadow:0 8px 0 var(--ink);position:relative}@media (aspect-ratio>=11/10){.screen.themed .card{margin:auto auto auto max(16px,15vw)}}.me-chip{border:3px solid var(--ink);cursor:pointer;text-align:left;color:var(--ink);background:#fff;border-radius:16px;align-items:center;gap:12px;padding:6px 12px 6px 6px;display:flex}.me-chip .avatar-preview{border-width:2px;border-radius:12px;flex:none;width:72px;height:72px}.me-chip span{font-size:18px;display:grid}.me-chip small{opacity:.7;font-size:13px}.mode{text-align:left;border:4px solid var(--ink);cursor:pointer;box-shadow:0 5px 0 var(--ink);color:#fff;border-radius:18px;gap:2px;padding:12px 16px;display:grid}.mode b{font:800 34px/1 var(--display)}.mode small{font:700 14px var(--body);opacity:.9}.mode.vs{background:var(--accent)}.mode.practice{background:var(--progress)}.mode:active{box-shadow:0 2px 0 var(--ink);transform:translateY(3px)}.mode:focus-visible,.me-chip:focus-visible{outline:3px solid var(--studybot);outline-offset:2px}.menu-note{margin:-4px 0 2px;font-size:15px}.btn.back{justify-self:start}.card{animation:.6s cubic-bezier(.2,1.3,.4,1) both slide-in}@keyframes slide-in{0%{opacity:0;transform:translate(-48px)scale(.96)}}@keyframes pop-in{0%{opacity:0;transform:scale(.6)}}.title-screen .title{animation:.95s cubic-bezier(.2,1.5,.4,1) both drop-in}.title-screen .tagline{animation:.6s .45s both fade-up}.title-screen .press-start{animation:.55s cubic-bezier(.2,1.6,.4,1) .75s both pop-in,1.4s ease-in-out 1.3s infinite bob}@keyframes drop-in{0%{opacity:0;transform:translateY(-80px)scale(.8)}}@keyframes fade-up{0%{opacity:0;transform:translateY(12px)}}.title-screen .title-content{transition:transform .5s ease-in,opacity .5s ease-in}.title-screen.leaving .title-content{opacity:0;transform:translate(-90px)scale(.95)}.intro{z-index:50;pointer-events:none;position:fixed;inset:0;overflow:hidden}.door{border:6px solid var(--ink);background:repeating-linear-gradient(90deg,#ffd84d 0 46px,#ffcf3a 46px 50px);width:50.5%;animation:1s cubic-bezier(.6,0,.3,1) 1.5s forwards door-open;position:absolute;top:0;bottom:0}.door.left{--open:-105%;left:0}.door.right{--open:105%;right:0}.door-window{border:6px solid var(--ink);background:#bfe3f2;border-radius:12px;width:34%;height:22%;position:absolute;top:18%}.door.left .door-window{right:14%}.door.right .door-window{left:14%}@keyframes door-open{to{transform:translateX(var(--open))}}.intro-text{text-align:center;color:var(--ink);place-content:center;justify-items:center;gap:6px;animation:1.6s both intro-text;display:grid;position:absolute;inset:0}.intro-text b{font:800 clamp(44px, 8vw, 96px) / 1 var(--display);color:#fff;-webkit-text-stroke:3px var(--ink);paint-order:stroke fill;text-shadow:0 6px 0 var(--ink)}.intro-text span:last-child{font:800 clamp(18px, 2.6vw, 30px) var(--display);border:4px solid var(--ink);background:#fff;border-radius:999px;padding:4px 20px}.bell{transform-origin:50% 10%;font-size:clamp(54px,8vw,96px);animation:.5s ease-in-out 3 ring}@keyframes ring{25%{transform:rotate(18deg)}75%{transform:rotate(-18deg)}}@keyframes intro-text{0%{opacity:0;transform:scale(.6)}18%{opacity:1;transform:scale(1.06)}26%,82%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.1)}}@media (prefers-reduced-motion:reduce){.card,.bell,.intro-text,.title-screen .title,.title-screen .tagline,.title-screen .press-start{animation:none}.door{animation-duration:10ms}}.role-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.role-btn{gap:2px;padding:8px;font-size:18px;display:grid}.role-btn small{font:600 12px var(--body);opacity:.85}.role-btn.role-student{background:var(--accent);color:#fff}.role-btn.role-bluffer{background:var(--strike);color:#fff}.role-btn.role-factChecker{background:var(--progress);color:#fff}.avatar-picker{gap:8px;display:grid}.avatar-stage{grid-template-columns:40px 1fr 40px;align-items:center;gap:4px;display:grid}.avatar-preview{border:3px solid var(--ink);background:radial-gradient(circle at 50% 70%,#fff3c4 0%,#f3dfa2 70%);border-radius:16px;min-width:0;height:clamp(110px,20vh,170px);overflow:hidden}.arrow{border:3px solid var(--ink);height:40px;color:var(--ink);cursor:pointer;box-shadow:0 3px 0 var(--ink);background:#fff;border-radius:50%;font-size:15px}.avatar-label{text-align:center;font:800 16px var(--display);margin:-4px 0 0}.swatches{justify-content:center;gap:10px;display:flex}.swatch{border:3px solid var(--ink);cursor:pointer;border-radius:50%;width:34px;height:34px}.swatch.on{outline:4px solid var(--ink);outline-offset:2px}.swatch:focus-visible,.arrow:focus-visible{outline:3px solid var(--studybot);outline-offset:2px}.action.meeting{background:var(--strike);color:#fff}.spectator{color:#fff;text-align:center;background:#2b2440d9;border-radius:999px;max-width:calc(100% - 32px);padding:6px 14px;font-size:14px;font-weight:700;position:fixed;top:110px;left:50%;transform:translate(-50%)}.meeting-backdrop{background:#e5484d59}.meeting{width:min(480px,100%)}.meeting-head{justify-content:space-between;align-items:center;display:flex}.meeting-caller{color:var(--strike);margin:-8px 0 0;font-weight:700}.chat-log{border:3px solid var(--ink);-webkit-user-select:text;user-select:text;background:#fff;border-radius:12px;align-content:start;gap:4px;height:150px;padding:8px 10px;display:grid;overflow-y:auto}.chat-line{overflow-wrap:anywhere;margin:0;font-size:15px}.chat-empty{opacity:.7;margin:0;font-size:14px}.chat-form{gap:8px;display:flex}.chat-form input{min-width:0;font:inherit;border:3px solid var(--ink);-webkit-user-select:text;user-select:text;border-radius:12px;flex:1;padding:8px 10px;font-size:16px}.voters{grid-template-columns:1fr 1fr;gap:8px;display:grid}.voter{font:700 15px var(--body);color:var(--ink);border:3px solid var(--ink);cursor:pointer;box-shadow:0 3px 0 var(--ink);background:#fff;border-radius:12px;align-items:center;gap:8px;min-width:0;padding:8px;display:flex}.voter:disabled{cursor:default;opacity:.75}.voter.picked{background:var(--strike);color:#fff;opacity:1}.voter.skip{justify-content:center}.voted{color:var(--progress);margin-left:auto;font-size:11px}.vote-result{text-align:center;justify-items:center}.vote-result.caught{background:#dcf5e6}.ejected-dot{border:4px solid var(--ink);border-radius:50%;width:64px;height:64px}.verdict{margin:0;font-size:18px}.tally{opacity:.8;margin:0;padding:0;font-size:14px;list-style:none}.game-over{text-align:center;flex-direction:column;max-height:calc(100dvh - 24px);display:flex;overflow:hidden}.game-over>*{flex:none}.game-over.class-won{background:#dcf5e6}.game-over.bluffer-won{background:#ffdede}.game-over>.myths{flex:auto;min-height:96px}.myths{text-align:left;background:var(--paper);border:3px solid var(--ink);border-radius:12px;padding:10px 12px;overflow-y:auto}.myths h3{font:800 18px var(--display);margin:0 0 6px}.myths ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.myths li{gap:2px;display:grid}.myth-q{font-size:14px;font-weight:700}.myth-row{flex-wrap:wrap;gap:4px 12px;font-weight:700;display:flex}.myth-lie{color:var(--strike)}.myth-truth{color:var(--progress)}.myth-why{opacity:.75;font-size:13px}.reason{margin:-6px 0 4px;font-weight:700}.role-tag{text-transform:uppercase;background:var(--accent);color:#fff;border-radius:999px;margin-left:auto;padding:1px 8px;font-size:12px;font-weight:700}.role-tag.role-bluffer{background:var(--strike)}.role-tag.role-factChecker{background:var(--progress)}.players li.is-bluffer{border-color:var(--strike)}.pool-note{opacity:.75;margin:-6px 0 0;font-size:13px}.bag-title{font-weight:700;margin-top:4px!important}.tasklist-body ul.bag{gap:3px;padding-left:0;list-style:none;display:grid}.tasklist-body ul.bag li{background:#fffdf4;border:2px solid #2b244040;border-radius:8px;padding:1px 6px}.empty-bag,.team-tip{opacity:.75}.reveal-backdrop{z-index:40;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:#14102280;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.book-drop{width:min(820px,100%);animation:.55s cubic-bezier(.2,1.4,.4,1) 2s both book-drop}@keyframes book-drop{0%{opacity:0;transform:translateY(-40px)rotate(-4deg)scale(.9)}}.book-cover{border:4px solid var(--ink);background:linear-gradient(90deg, #00000038 0 16px, transparent 16px), var(--accent);width:100%;height:100%;box-shadow:0 10px 0 var(--ink);color:#fff;cursor:pointer;font-family:var(--display);border-radius:10px 22px 22px 10px;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:24px;display:flex}.book-cover:disabled{cursor:default}.cover-class{letter-spacing:.2em;opacity:.85;font-size:16px;font-weight:800}.cover-title{color:var(--studybot);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;font-size:clamp(32px,6vw,42px);font-weight:800;line-height:1}.cover-name{font:800 20px var(--body);color:var(--ink);border:3px solid var(--ink);background:#fff;border-radius:8px;padding:4px 14px;transform:rotate(-2deg)}.book{perspective:1800px;grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:100%;min-height:min(480px,80vh);transition:transform .6s ease-in-out;display:grid;position:relative}.book.closed{transform:translate(-25%)}.book.closed .book-page{visibility:hidden}.book-page{border:4px solid var(--ink);background:repeating-linear-gradient(transparent 0 31px, #6b4fd81f 31px 32px), var(--paper);flex-direction:column;padding:24px;display:flex}.book-page.left{border-right-width:1px;border-radius:14px 0 0 14px;justify-content:center;align-items:center;gap:4px;box-shadow:inset -14px 0 18px -14px #00000059,0 10px #14102299}.book-page.right{border-left-width:1px;border-radius:0 14px 14px 0;box-shadow:inset 14px 0 18px -14px #00000059,0 10px #14102299}.book-photo{border:3px solid var(--ink);background:#fff;border-radius:6px;flex:none;width:200px;height:250px;position:relative;transform:rotate(-2.5deg);box-shadow:0 5px #2b244040}.book-photo .avatar-photo{object-fit:cover;border:2px solid var(--ink);background:#cfe7ff;border-radius:4px;width:calc(100% - 20px);height:calc(100% - 44px);position:absolute;top:10px;left:10px}.tape{z-index:1;background:#ffd84dd9;border:2px solid #2b244040;width:80px;height:24px;position:absolute;top:-12px;left:50%;transform:translate(-50%)rotate(3deg)}.book-id{text-align:center}.book-name{font:800 24px var(--display);margin:12px 0 0}.book-class{font:700 15px var(--body);opacity:.7;margin:0}.book-label{font:800 14px var(--display);letter-spacing:.14em;text-transform:uppercase;opacity:.6;margin:0}.book-role{font:800 clamp(36px, 5vw, 48px) / 1.05 var(--display);color:var(--accent);margin:0 0 8px}.book.open .book-role{animation:.45s cubic-bezier(.2,1.5,.4,1) .45s both role-stamp}@keyframes role-stamp{0%{opacity:0;transform:scale(1.8)rotate(-6deg)}}.book.role-bluffer .book-role{color:var(--strike)}.book.role-factChecker .book-role{color:var(--progress)}.book-facts{font:700 18px / 1.5 var(--body)}.book-facts p{margin:0 0 12px}.book-win b{font-family:var(--display)}.caret{vertical-align:-.15em;background:var(--ink);width:3px;height:1.1em;margin-left:2px;animation:.8s step-end infinite caret-blink;display:inline-block}@keyframes caret-blink{50%{opacity:0}}.book-foot{gap:8px;margin-top:auto;display:grid}.book-skip{justify-self:end}.book-wait,.book-timer{font:700 15px var(--body);text-align:center;opacity:.75;margin:0}.book>.book-cover{transform-origin:0;backface-visibility:hidden;width:50%;height:auto;position:absolute;top:0;bottom:0;right:0}.book-cover.flipping{animation:.6s linear forwards cover-open}@keyframes cover-open{to{transform:rotateY(-180deg)}}.book.open .book-page.left{transform-origin:100%;animation:.3s cubic-bezier(.2,.8,.3,1) .3s both page-land}@keyframes page-land{0%{transform:rotateY(90deg)}}@media (width<=640px){.book{grid-template-columns:minmax(0,1fr)}.book.closed{transform:none}.book.open .book-page.left{animation-name:fade-up}.book-page.left{border-width:4px 4px 1px;border-radius:14px 14px 0 0;flex-direction:row;gap:14px;padding:18px;box-shadow:inset 0 -14px 18px -14px #00000059}.book-page.right{border-width:1px 4px 4px;border-radius:0 0 14px 14px;padding:18px;box-shadow:0 10px #14102299}.book-photo{width:110px;height:140px}.book-photo .avatar-photo{width:calc(100% - 12px);height:calc(100% - 26px);top:6px;left:6px}.book>.book-cover{width:100%;left:0}.book-facts{font-size:16px}}@media (prefers-reduced-motion:reduce){.book-drop,.book.open .book-role,.caret,.book-cover.flipping{animation:none}.book{transition:none}.book.open .book-page.left{animation:none}}.book-drop.reread{animation-duration:.35s;animation-delay:0s}.open-book{width:100%;margin:4px 0 8px}.avatar-photo{object-fit:contain;width:100%;height:100%;display:block}.myths,.chat-log,.panel-backdrop,.card.howto{scrollbar-width:thin;scrollbar-color:var(--accent) transparent}.myths::-webkit-scrollbar{width:10px}.chat-log::-webkit-scrollbar{width:10px}.panel-backdrop::-webkit-scrollbar{width:10px}.card.howto::-webkit-scrollbar{width:10px}.myths::-webkit-scrollbar-track{background:#6b4fd81a;border-radius:999px;margin:6px 0}.chat-log::-webkit-scrollbar-track{background:#6b4fd81a;border-radius:999px;margin:6px 0}.panel-backdrop::-webkit-scrollbar-track{background:#6b4fd81a;border-radius:999px;margin:6px 0}.myths::-webkit-scrollbar-thumb{background:var(--accent);border:2px solid var(--paper);border-radius:999px}.chat-log::-webkit-scrollbar-thumb{background:var(--accent);border:2px solid var(--paper);border-radius:999px}.panel-backdrop::-webkit-scrollbar-thumb{background:var(--accent);border:2px solid var(--paper);border-radius:999px}.myths::-webkit-scrollbar-thumb:hover{background:var(--accent-dark)}.chat-log::-webkit-scrollbar-thumb:hover{background:var(--accent-dark)}.panel,.myths,.chat-log{overflow-wrap:anywhere}.myths::-webkit-scrollbar-button{display:none}.chat-log::-webkit-scrollbar-button{display:none}.panel-backdrop::-webkit-scrollbar-button{display:none}.loading-screen{z-index:100;background:#ffcf5a;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.loading-card{justify-items:center;gap:14px;width:min(360px,100%);display:grid}.loading-bot{background:var(--ink);border:8px solid var(--studybot);outline:4px solid var(--ink);border-radius:22px;justify-content:center;align-items:center;gap:18px;width:96px;height:78px;animation:1.4s ease-in-out infinite bob;display:flex}.loading-eye{background:#7fe3ff;border-radius:16px 16px 0 0;width:16px;height:9px;animation:2.4s infinite blink}@keyframes blink{0%,92%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}.loading-title{font:800 28px var(--display);color:var(--ink);margin:0}.loading-track{border:3px solid var(--ink);background:#fff;border-radius:999px;width:100%;height:16px;overflow:hidden}.loading-fill{background:var(--accent);height:100%;transition:width .15s linear}.loading-screen{transition:opacity .4s}.loading-screen.leaving{opacity:0}.loading-credit{font:700 13px var(--body);color:var(--ink);opacity:.6;margin:18px 0 0}.loading-text{font:700 15px var(--body);color:var(--ink);margin:0}@media (prefers-reduced-motion:reduce){.loading-bot,.loading-eye{animation:none}}.action.examine{align-content:center;place-items:center;line-height:1;display:grid}.action-icon{font-size:26px;line-height:1}.search-progress{left:50%;bottom:max(84px, calc(env(safe-area-inset-bottom) + 72px));background:var(--paper);border:3px solid var(--ink);width:min(320px,100% - 32px);box-shadow:0 4px 0 var(--ink);font:800 16px var(--display);color:var(--ink);text-align:center;border-radius:14px;gap:8px;padding:10px 14px 12px;display:grid;position:absolute;transform:translate(-50%)}.search-track{border:2px solid var(--ink);background:#fff;border-radius:999px;height:10px;overflow:hidden}.search-fill{background:var(--studybot);transform-origin:0;width:100%;height:100%;animation:linear forwards search-fill}@keyframes search-fill{0%{transform:scaleX(0)}}.bag li.new{border-color:var(--studybot);background:#fff6d6;animation:.5s cubic-bezier(.2,1.6,.4,1) bag-pop}.new-tag{font:800 10px var(--display);letter-spacing:.08em;color:var(--ink);background:var(--studybot);vertical-align:2px;border-radius:999px;margin-left:6px;padding:1px 6px}@keyframes bag-pop{0%{opacity:0;transform:scale(.6)}}@media (prefers-reduced-motion:reduce){.search-fill,.bag li.new{animation:none}}.action.expel{color:#fff;background:#2b2440;width:84px;height:84px;font-size:17px}.minimap{border:3px solid var(--ink);pointer-events:auto;background:#fffaf0f0;border-radius:14px;width:min(260px,42vw);overflow:hidden}.minimap.closed{width:auto}.minimap-head{width:100%;font:800 12px var(--display);letter-spacing:.06em;text-transform:uppercase;text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:0;padding:3px 10px;display:block}.minimap svg{width:100%;height:auto;padding:0 6px 6px;display:block}.minimap-label{font:800 1.5px var(--display);fill:#2b2440;opacity:.65}.minimap-legend{font:700 11px var(--body);color:var(--ink);flex-wrap:wrap;align-items:center;gap:3px 6px;margin:0;padding:0 10px 6px;display:flex}.minimap-legend .key{border:1.5px solid var(--ink);width:10px;height:10px;margin-left:4px;display:inline-block}.minimap-legend .key:first-child{margin-left:0}.minimap-legend .terminal{background:#ffd84d;border-radius:2px}.minimap-legend .hacked{background:#e5484d;border-radius:2px}.minimap-legend .button,.minimap-legend .you{border-radius:50%}.minimap-legend .button{background:#e5484d}.leave-game{pointer-events:auto;font:800 12px var(--display);letter-spacing:.04em;color:var(--ink);border:3px solid var(--ink);cursor:pointer;background:#fffaf0f0;border-radius:999px;padding:4px 12px}.leave-game.asking{background:var(--strike);color:#fff}.players .tag.left{background:#9a93ad}.avatar-float{z-index:2;pointer-events:none;opacity:0;width:72px;height:72px;position:fixed;top:0;left:-200px;overflow:hidden}.book-terminal{background:#ffd84d2e;border:2px dashed #6b4fd873;border-radius:12px;align-items:center;gap:12px;margin:4px 0 18px;padding:8px 12px;animation:.35s both fade-up;display:flex}.book-terminal img{flex:none;width:96px;height:80px}.book-terminal p{font:600 15px / 1.4 var(--body);margin:0}.howto-btn{font-size:16px}.screen.themed .card.howto{gap:14px;width:min(1120px,100%);max-height:calc(100dvh - 32px);margin:auto;overflow-y:auto}.howto-body{grid-template-columns:1.35fr 1fr;align-items:start;gap:20px;display:grid}.howto-steps{grid-template-columns:1fr 1fr;gap:12px;margin:0;padding:0;list-style:none;display:grid}.howto-steps li{align-content:start;gap:6px;display:grid}.howto-steps img{aspect-ratio:16/10;object-fit:cover;border:3px solid var(--ink);background:#2b2440;border-radius:12px;width:100%;height:auto}.howto-steps p{font:600 14px / 1.4 var(--body);margin:0}.howto-steps b,.howto-role-text b{font-family:var(--display);font-weight:800}.howto-num{background:var(--studybot);border:2px solid var(--ink);width:22px;height:22px;font:800 12px / 18px var(--display);text-align:center;vertical-align:1px;border-radius:50%;margin-right:6px;display:inline-block}.howto-side{gap:10px;display:grid}.howto-label{font:800 13px var(--display);letter-spacing:.08em;text-transform:uppercase;opacity:.7;margin:0}.howto-tabs{flex-wrap:wrap;gap:6px;display:flex}.howto-tab{border:3px solid var(--ink);font:800 15px var(--display);color:#fff;cursor:pointer;opacity:.55;border-radius:12px;flex:1;padding:8px 10px;transition:opacity .15s,transform .15s}.howto-tab.role-student{background:var(--accent)}.howto-tab.role-factChecker{background:var(--progress)}.howto-tab.role-bluffer{background:var(--strike)}.howto-tab.on{opacity:1;box-shadow:0 3px 0 var(--ink);transform:translateY(-2px)}.howto-tab:focus-visible{outline:3px solid var(--studybot);outline-offset:2px}.howto-role{border:3px solid var(--ink);background:repeating-linear-gradient(#0000 0 27px,#6b4fd81a 27px 28px),#fffdf6;border-radius:14px;grid-template-columns:120px 1fr;gap:14px;padding:14px;animation:.25s both fade-up;display:grid}.howto-role-photo{border:3px solid var(--ink);background:#d6ecff;border-radius:10px;width:120px;height:140px;overflow:hidden}.howto-role-photo .avatar-photo{object-fit:cover;width:100%;height:100%}.howto-role-text p{font:600 14px / 1.45 var(--body);margin:0 0 8px}@media (width<=760px){.howto-body{grid-template-columns:1fr}.howto-role{grid-template-columns:84px 1fr}.howto-role-photo{width:84px;height:100px}}.status-buttons{pointer-events:auto;justify-content:flex-end;gap:6px;display:flex}.sound-toggle{pointer-events:auto;border:3px solid var(--ink);cursor:pointer;background:#fffaf0f0;border-radius:999px;width:36px;height:30px;font-size:16px;line-height:1}.sound-toggle.floating{top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));z-index:30;width:44px;height:40px;font-size:20px;position:fixed}
