:root{--bg:#0f1a2b;--bg-2:#18283f;--panel:#ffffff0d;--panel-2:#ffffff17;--chalk:#e9eef5;--chalk-dim:#9fb0c6;--accent:#f2c14e;--accent-ink:#2b1d0b;--good:#7fd6a4;--bad:#ff8a8a;--line:#e9eef52e;--tA:#6aa8ff;--tB:#ffa45c;--tC:#6fd39a;--radius:14px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body{background:radial-gradient(ellipse at 50% 0%, var(--bg-2), var(--bg) 70%) fixed var(--bg);min-height:100%;color:var(--chalk);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;margin:0;font-family:Noto Sans TC,PingFang TC,Microsoft JhengHei,system-ui,sans-serif}body{overscroll-behavior-y:none}img{max-width:100%;display:block}a{color:var(--accent)}button,input,select{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.dim{color:var(--chalk-dim)}.small{font-size:13px}.center{text-align:center}.row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.error{color:var(--bad);text-align:center}.btn{background:var(--accent);min-height:44px;color:var(--accent-ink);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:10px 18px;font-weight:700;text-decoration:none;transition:transform .12s,filter .12s,opacity .12s;display:inline-flex}.btn:hover{filter:brightness(1.06)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn-big{width:100%;min-height:54px;padding:12px 28px;font-size:18px}.btn.small{min-height:36px;padding:6px 14px;font-size:14px}.btn.ghost{color:var(--chalk);box-shadow:inset 0 0 0 1px var(--line);background:0 0}.btn.ghost:hover{background:var(--panel)}.btn.danger{color:var(--bad)}.btn.floating{right:16px;bottom:max(16px, env(safe-area-inset-bottom));z-index:30;position:fixed}.icon-btn{cursor:pointer;background:0 0;border:0;border-radius:12px;place-items:center;width:40px;height:40px;font-size:18px;display:inline-grid}.icon-btn:hover{background:var(--panel)}.toggles{gap:2px;display:inline-flex}.page{flex-direction:column;min-height:100svh;display:flex}.narrow{flex-direction:column;gap:16px;width:100%;max-width:560px;margin:0 auto;padding:24px 16px 40px;display:flex}.center-col{text-align:center;align-items:center;padding-top:12vh}.center-col h1{margin:8px 0 0}.page-title{margin:0;font-size:24px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px}.panel h2{margin:0 0 8px;font-size:18px}.panel p{margin:0 0 12px}.topbar{z-index:20;min-height:52px;padding:max(6px, env(safe-area-inset-top)) 12px 6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);background:#0f1a2bdb;align-items:center;gap:8px;display:flex;position:sticky;top:0}.brand{color:var(--chalk);white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:19px;font-weight:700;text-decoration:none}.topbar-mid{flex:1;justify-content:flex-end;align-items:center;gap:10px;min-width:0;display:flex}.deck-count{font-variant-numeric:tabular-nums}.netbar{z-index:50;color:#fff;text-align:center;background:#8a4b12;padding:6px;font-size:14px;position:fixed;top:0;left:0;right:0}.field{flex-direction:column;gap:6px;display:flex}.field span{color:var(--chalk-dim);font-size:14px}.field input,select{border:1px solid var(--line);background:#00000040;border-radius:12px;min-height:48px;padding:10px 14px;font-size:17px}select{min-height:40px;font-size:15px}.code-input{letter-spacing:.4em;text-align:center;font-variant-numeric:tabular-nums;font-size:24px!important}.home{max-width:760px;padding:0 16px max(24px, env(safe-area-inset-bottom));gap:28px;margin:0 auto}.home-top{padding-top:max(8px, env(safe-area-inset-top));justify-content:flex-end;display:flex}.hero{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex}.hero-cats{justify-content:center;gap:10px;margin-bottom:10px;display:flex}.hero-cat{border-radius:14px;width:clamp(54px,15vw,88px);animation:3.2s ease-in-out infinite bob;box-shadow:0 6px 18px #00000059}.hero-cat.c1{animation-delay:-.8s}.hero-cat.c2{animation-delay:-1.6s}.hero-cat.c3{animation-delay:-2.4s}@keyframes bob{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-8px)rotate(2deg)}}.kicker{color:var(--chalk-dim);letter-spacing:.08em;margin:0}.logo{letter-spacing:.02em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(48px,14vw,88px);line-height:1.1}.sub{color:var(--chalk-dim);margin:0 0 14px}.hero .btn-big{max-width:320px}.resume{border-radius:var(--radius);background:#f2c14e1f;border:1px solid #f2c14e66;align-items:center;gap:12px;padding:12px 14px;display:flex}.resume>div{flex-direction:column;flex:1;display:flex}.modes{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}@media (width>=640px){.modes{grid-template-columns:repeat(4,1fr)}}.mode{border:1px solid var(--line);border-radius:var(--radius);background:var(--panel);min-height:128px;color:inherit;flex-direction:column;gap:4px;padding:16px 14px;text-decoration:none;transition:transform .15s,background .15s,border-color .15s;display:flex;position:relative}.mode:hover{background:var(--panel-2);border-color:#f2c14e80;transform:translateY(-2px)}.mode.soon{opacity:.8}.mode-icon{font-size:26px}.mode-name{font-size:19px;font-weight:700}.mode-desc{color:var(--chalk-dim);font-size:13px;line-height:1.5}.badge{color:var(--accent);border:1px solid #f2c14e80;border-radius:999px;padding:1px 7px;font-size:11px;position:absolute;top:10px;right:10px}.how h2{margin:0 0 12px;font-size:20px}.steps{gap:10px;margin:0;padding:0;list-style:none;display:grid}@media (width>=640px){.steps{grid-template-columns:repeat(3,1fr)}}.step{border-radius:var(--radius);background:var(--panel);align-items:center;gap:12px;padding:12px;display:flex}.step img{object-fit:cover;border-radius:10px;flex:none;width:56px;height:56px}.step p{color:var(--chalk-dim);margin:4px 0 0;font-size:14px;line-height:1.5}.foot{text-align:center;color:var(--chalk-dim);margin-top:auto;font-size:13px}.play-grid{gap:12px;display:grid}@media (width>=560px){.play-grid{grid-template-columns:1fr 1fr}}.play-grid .panel{flex-direction:column;gap:10px;display:flex}.wait{flex-direction:column;gap:14px;width:100%;max-width:640px;margin:0 auto;padding:16px 16px 40px;display:flex}.codecard{border-radius:var(--radius);background:#f2c14e1a;border:1px dashed #f2c14e8c;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:14px;display:flex}.code{letter-spacing:.18em;font-variant-numeric:tabular-nums;color:var(--accent);font-size:clamp(32px,10vw,44px)}.seats{gap:6px;margin:0;padding:0;list-style:none;display:grid}.seat{background:#0000002e;border-radius:12px;align-items:center;gap:10px;min-height:52px;padding:6px 8px 6px 10px;display:flex}.seat.me{box-shadow:inset 0 0 0 1px #f2c14e99}.seat.offline{opacity:.6}.seat.empty{border:1px dashed var(--line);background:0 0}.seat-no{text-align:center;width:22px;color:var(--chalk-dim);font-variant-numeric:tabular-nums}.seat-name{overflow-wrap:anywhere;flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;font-weight:600;display:flex}.tag{background:var(--panel-2);color:var(--chalk-dim);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.tag.host{color:var(--accent);background:#f2c14e2e}.tag.off{color:var(--bad);background:#ff8a8a1f}.tag.bot{color:var(--tA);background:#6aa8ff29}.rename{flex:1;gap:6px;display:flex}.rename input{border:1px solid var(--line);background:#0000004d;border-radius:10px;flex:1;min-width:0;min-height:36px;padding:4px 10px}.team-chip{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:2px 8px;font-size:12px;font-weight:700;display:inline-flex}.team-chip.tA,.team-col.tA strong{color:var(--tA)}.team-chip.tB,.team-col.tB strong{color:var(--tB)}.team-chip.tC,.team-col.tC strong{color:var(--tC)}.team-chip.tA{background:#6aa8ff26}.team-chip.tB{background:#ffa45c26}.team-chip.tC{background:#6fd39a26}.teams{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.team-col{background:#0000002e;border-radius:12px;flex-direction:column;gap:6px;padding:12px;display:flex}.team-col ul{min-height:24px;margin:0;padding:0;list-style:none}.settings .set-row{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 12px;padding:8px 0;display:flex}.settings .set-row>span:first-child{width:84px;color:var(--chalk-dim);flex:none;font-size:14px}.seg{background:#00000040;border-radius:12px;flex-wrap:wrap;gap:3px;padding:3px;display:inline-flex}.seg button{cursor:pointer;color:var(--chalk-dim);background:0 0;border:0;border-radius:9px;min-height:36px;padding:7px 12px;font-size:14px}.seg button.on{background:var(--accent);color:var(--accent-ink);font-weight:700}.seg button:disabled{cursor:default}.seg button:disabled:not(.on){opacity:.5}.stepper{align-items:center;gap:6px;display:inline-flex}.stepper button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:10px;width:36px;height:36px;font-size:18px}.stepper button:disabled{opacity:.4;cursor:default}.stepper-val{font-variant-numeric:tabular-nums;justify-content:center;align-items:center;gap:4px;min-width:48px;font-weight:700;display:inline-flex}.wait-actions{flex-direction:column;gap:10px;display:flex}.game{height:100svh;min-height:0;overflow:hidden}.seats-strip{scrollbar-width:none;flex:none;gap:8px;padding:8px 12px;display:flex;overflow-x:auto}.seats-strip::-webkit-scrollbar{display:none}@media (width>=900px){.seats-strip{flex-wrap:wrap;justify-content:center}}.chip{background:var(--panel);border:1px solid var(--line);border-radius:14px;flex:none;align-items:center;gap:6px;max-width:190px;padding:5px 10px 5px 6px;transition:transform .2s,background .2s,border-color .2s;display:flex}.chip.active{border-color:var(--accent);background:#f2c14e29;transform:translateY(-1px)}.chip.me .chip-name{color:var(--accent)}.chip.out{opacity:.45}.chip.tA{border-left:4px solid var(--tA)}.chip.tB{border-left:4px solid var(--tB)}.chip.tC{border-left:4px solid var(--tC)}.chip-order{color:var(--chalk-dim);text-align:center;width:12px;font-size:11px}.chip-avatar{place-items:center;width:36px;height:36px;display:grid;position:relative}.ring{position:absolute;inset:0;transform:rotate(-90deg)}.ring circle{fill:none;stroke:var(--accent);stroke-width:3px;stroke-linecap:round;transition:stroke-dasharray .25s linear}.chip-body{flex-direction:column;min-width:0;display:flex}.chip-name{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;font-size:14px;font-weight:700;display:flex;overflow:hidden}.chip-meta{white-space:nowrap;align-items:center;gap:6px;font-size:12px;display:flex}.catscore{align-items:center;gap:1px;min-height:14px;display:inline-flex}.catscore.zero{color:var(--chalk-dim);font-size:12px}.catscore .times{font-variant-numeric:tabular-nums;margin-left:2px;font-weight:700}.team-scores{flex:none;justify-content:center;gap:8px;padding:0 12px 4px;display:flex}.table{min-height:0;padding:4px 12px max(10px, env(safe-area-inset-bottom));flex-direction:column;flex:1;justify-content:space-between;align-items:center;gap:8px;display:flex}.board-wrap{flex:1;place-items:center;width:100%;min-height:0;display:grid;position:relative;container-type:size}.board{--size:min(100cqw, 100cqh, 620px);width:var(--size);height:var(--size);min-width:200px;min-height:200px;padding:calc(var(--size) * .09);gap:calc(var(--size) * .046);background:url(/board-bg.webp) 50%/cover no-repeat;border-radius:18px;grid-template-rows:repeat(3,minmax(0,1fr));grid-template-columns:repeat(3,minmax(0,1fr));display:grid;position:relative;box-shadow:0 14px 40px #00000073}.board-svg{pointer-events:none;z-index:3;width:82%;height:82%;position:absolute;inset:9%;overflow:visible}.board-svg line{stroke-linecap:round;vector-effect:non-scaling-stroke}.ent-link{stroke-width:5px;stroke-dasharray:8 8;opacity:.85;animation:1s linear infinite dash}.ent-link.phi{stroke:#b48cff}.ent-link.psi{stroke:#5ad1e6}@keyframes dash{to{stroke-dashoffset:-16px}}.win-line{stroke:var(--accent);stroke-width:12px;opacity:.9;filter:drop-shadow(0 0 8px #f2c14ee6);stroke-dasharray:100;animation:.45s ease-out both draw}@keyframes draw{0%{stroke-dasharray:0 100}to{stroke-dasharray:100 0}}.cell{cursor:default;perspective:400px;background:0 0;border:0;border-radius:8%;place-items:center;min-width:0;min-height:0;margin:0;padding:0;display:grid;position:relative}.cell:disabled{cursor:default}.cell.target{cursor:pointer;box-shadow:0 0 0 3px var(--accent), 0 0 18px #f2c14e99;animation:1.2s ease-in-out infinite pulse}.cell.target:hover{background:#f2c14e2e}.cell.control{cursor:pointer;box-shadow:0 0 0 4px #b48cff,0 0 18px #b48cffb3}@keyframes pulse{50%{box-shadow:0 0 0 3px var(--accent), 0 0 4px #f2c14e33}}.piece{display:block;position:absolute;inset:0}.piece img{object-fit:cover;border-radius:8%;width:100%;height:100%;box-shadow:0 3px 8px #00000059}.ent-tag{color:#fff;border-radius:50%;place-items:center;width:34%;height:34%;font-size:clamp(11px,3vw,18px);font-weight:800;display:grid;position:absolute;top:-8%;right:-8%;box-shadow:0 2px 6px #0006}.ent-tag.phi{background:#8b5cf6}.ent-tag.psi{background:#0ea5c4}.cell.pop .piece{animation:.38s cubic-bezier(.2,1.6,.4,1) both pop}@keyframes pop{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}.cell.flip .piece{animation:.55s ease-out both flip}@keyframes flip{0%{transform:rotateY(180deg)scale(.9)}to{transform:rotateY(0)scale(1)}}.cell.linked .piece{animation:.5s ease-in-out both wiggle}@keyframes wiggle{25%{transform:rotate(-6deg)scale(1.05)}75%{transform:rotate(6deg)scale(1.05)}}.cell.glow .piece img{box-shadow:0 0 0 4px var(--accent), 0 0 26px #f2c14ef2}.cell.glow .piece{animation:.5s ease-in-out infinite alternate bounce}@keyframes bounce{to{transform:translateY(-6%)scale(1.04)}}.cell.clearing .piece{animation:.6s ease-in forwards vanish}@keyframes vanish{to{opacity:0;transform:scale(.1)rotate(25deg)}}.coin{z-index:4;transform-style:preserve-3d;animation:.95s cubic-bezier(.3,.1,.3,1) both spin;position:absolute;inset:14%}.coin-face{backface-visibility:hidden;border-radius:50%;position:absolute;inset:0;box-shadow:0 0 0 4px #c9a33b,0 6px 14px #00000080}.coin-face.black{background:radial-gradient(circle at 35% 30%,#4a5163,#0b0e14 70%)}.coin-face.white{background:radial-gradient(circle at 35% 30%,#fff,#cfd6e2 70%);transform:rotateY(180deg)}@keyframes spin{0%{transform:translateY(0)rotateY(0)scale(.6)}45%{transform:translateY(-60%)rotateY(900deg)scale(1.1)}to{transform:translateY(0)rotateY(1800deg)scale(1)}}.coin.landed{animation:.6s ease-out both settle}.coin.landed.v0{transform:rotateY(0)}.coin.landed.v1{transform:rotateY(180deg)}@keyframes settle{0%{opacity:1}60%{opacity:1}to{opacity:0}}.cat-burst{pointer-events:none;z-index:6;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:0}.cat-burst .fly{filter:drop-shadow(0 4px 10px #00000080);animation:.75s ease-out both fly}.cat-burst .f1{animation-delay:80ms}.cat-burst .f2{animation-delay:.16s}@keyframes fly{0%{opacity:0;transform:scale(.2)translateY(30%)}35%{opacity:1;transform:scale(1.25)translateY(0)}to{opacity:0;transform:scale(.6)translateY(-260%)}}.banner{z-index:10;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;background:#0f1a2beb;border:1px solid #f2c14e99;border-radius:999px;max-width:calc(100% - 16px);padding:8px 16px;font-weight:700;animation:1.7s both drop;position:absolute;top:2%;left:50%;overflow:hidden;transform:translate(-50%)}@keyframes drop{0%{opacity:0;transform:translate(-50%,-10px)}12%,85%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-6px)}}.hand-area{flex-direction:column;flex:none;align-items:center;gap:8px;width:100%;max-width:640px;display:flex}.hint{text-align:center;min-height:22px;color:var(--chalk-dim);flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin:0;font-size:15px;display:flex}.hint.mine{color:var(--chalk);font-weight:700}.secs{font-variant-numeric:tabular-nums;background:var(--panel-2);border-radius:999px;padding:1px 8px}.secs.hurry{color:var(--bad);background:#ff8a8a40;animation:.5s ease-in-out infinite alternate pulse-text}@keyframes pulse-text{to{transform:scale(1.12)}}.hand{justify-content:center;gap:clamp(4px,1.5vw,10px);width:100%;display:flex}.hand-card{cursor:pointer;background:0 0;border:0;width:min(18.5vw,104px);padding:0;transition:transform .18s cubic-bezier(.2,1.4,.4,1),filter .18s}.hand-card.waiting{cursor:default;filter:saturate(.6)brightness(.85)}.hand-card:not(.waiting):hover{transform:translateY(-4px)}.hand-card.selected{transform:translateY(-14px)scale(1.04)}.hand-card.selected .card img{box-shadow:0 0 0 3px var(--accent), 0 10px 24px #00000080}.card{display:block}.card img{border-radius:9px;width:100%;height:auto;box-shadow:0 4px 12px #0006}.card.mini{flex:none;width:36px}.ghost-card{aspect-ratio:502/769;border:2px dashed var(--line);border-radius:9px;width:min(18.5vw,104px)}.overlay{z-index:40;background:#050a12a8;place-items:center;padding:16px;animation:.2s both fade;display:grid;position:fixed;inset:0}@keyframes fade{0%{opacity:0}}.result-card,.sheet{background:var(--bg-2);border:1px solid var(--line);border-radius:20px;width:100%;max-width:440px;max-height:calc(100svh - 32px);padding:20px;overflow:auto;box-shadow:0 20px 60px #0009}.result-card{text-align:center;animation:.35s cubic-bezier(.2,1.4,.4,1) both rise}.result-card.won{border-color:#f2c14eb3}@keyframes rise{0%{opacity:0;transform:translateY(30px)scale(.95)}}.result-card h2{margin:8px 0 4px;font-size:28px}.result-cats{justify-content:center;animation:2.4s ease-in-out infinite bob;display:flex}.result-list{text-align:left;gap:6px;margin:16px 0;padding:0;list-style:none;display:grid}.result-list li{background:var(--panel);border-radius:12px;align-items:center;gap:10px;padding:8px 12px;display:flex}.result-list li.winner{background:#f2c14e29}.result-list .rank{width:18px;color:var(--chalk-dim)}.result-list .who{flex:1;font-weight:700}.sheet-head{align-items:center;gap:8px;display:flex}.sheet-head strong{flex:1;font-size:18px}.sheet h3{color:var(--chalk-dim);margin:16px 0 8px;font-size:15px}.card-help{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.card-help li{align-items:center;gap:10px;display:flex}.card-help li>span{flex-direction:column;font-size:14px;display:flex}.toast{left:50%;bottom:max(24px, env(safe-area-inset-bottom));z-index:60;border:1px solid var(--bad);color:#ffd7d7;background:#3a1f24;border-radius:12px;max-width:calc(100vw - 32px);padding:10px 16px;animation:.2s both fade;position:fixed;transform:translate(-50%)}.spinner{border:4px solid var(--line);border-top-color:var(--accent);border-radius:50%;width:40px;height:40px;animation:.9s linear infinite rot}@keyframes rot{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.bot-teams{flex-wrap:wrap;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.lesson-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.lesson-item{background:var(--panel);border:1px solid var(--line);color:inherit;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;display:flex}.lesson-item:hover{border-color:#f2c14e80}.lesson-item.done{background:#f2c14e14}.lesson-mark{flex:none;place-items:center;width:26px;display:grid}.lesson-dot{border:2px solid var(--chalk-dim);border-radius:50%;width:12px;height:12px}.lesson-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.lesson-goal{text-align:center;flex:none;margin:4px 12px 0;font-size:15px}.lesson-actions{justify-content:center;min-height:36px}.concept h2{margin:0 0 12px}.concept-cards{flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:8px;display:flex}.concept-cards figure{text-align:center;width:84px;margin:0}.concept-cards figcaption{color:var(--chalk-dim);margin-top:4px;font-size:12px}.concept p{line-height:1.7}.concept .goal{color:var(--accent);font-weight:700}.hand-card.coach{animation:1.1s ease-in-out infinite coach}.hand-card.coach .card img{box-shadow:0 0 0 3px var(--accent), 0 0 24px #f2c14eb3}@keyframes coach{50%{transform:translateY(-10px)}}.hint.coach-tip{color:var(--accent)}.tour-notes{text-align:left;color:var(--chalk-dim);margin:8px 0 12px;padding-left:20px;font-size:14px;line-height:1.7}@media (prefers-reduced-motion:reduce){.hand-card.coach{animation:none}}.home-top{align-items:center;gap:8px}.account{background:var(--panel);border:1px solid var(--line);min-height:36px;color:var(--chalk);border-radius:999px;align-items:center;gap:6px;max-width:60vw;padding:4px 12px 4px 6px;font-size:14px;text-decoration:none;display:inline-flex}.account span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.notice{text-align:center;background:#f2c14e1f;border:1px solid #f2c14e59;border-radius:12px;margin:0;padding:10px 14px}.profile{align-items:center;gap:14px;display:flex}.profile-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.profile-name{text-overflow:ellipsis;white-space:nowrap;font-size:20px;overflow:hidden}.profile-score{color:var(--accent);align-items:center;gap:6px;font-weight:700;display:inline-flex}.queue{flex-direction:column;gap:12px;display:flex}.queue.center{align-items:center}.queue h2{margin:4px 0 0}.queue-time{font-variant-numeric:tabular-nums;margin:0;font-size:32px;font-weight:700}.queue-cats{align-items:center;gap:14px;display:flex}.queue-dots{gap:6px;display:inline-flex}.queue-dots i{background:var(--accent);border-radius:50%;width:9px;height:9px;animation:1.2s ease-in-out infinite qdot}.queue-dots i:nth-child(2){animation-delay:.2s}.queue-dots i:nth-child(3){animation-delay:.4s}.queue-dots.small i{width:6px;height:6px}@keyframes qdot{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.queue-offer{background:var(--panel-2);border-radius:12px;flex-direction:column;align-items:center;gap:8px;padding:12px;display:flex}.queue-offer p{margin:0}.rules{flex-direction:column;gap:4px;margin:0;padding-left:20px;line-height:1.55;display:flex}.btn.google{color:#1f1f1f;background:#fff}.recent{flex-direction:column;gap:8px;margin:0 0 8px;padding:0;list-style:none;display:flex}.recent-item{background:var(--panel);border-radius:12px;align-items:center;gap:10px;padding:8px 10px;display:flex}.recent-res{background:var(--panel-2);border-radius:8px;flex:none;place-items:center;width:26px;height:26px;font-size:14px;font-weight:700;display:grid}.recent-item.win .recent-res{color:var(--good);background:#7fd6a433}.recent-item.loss .recent-res{color:var(--bad);background:#ff8a8a29}.recent-who{flex-direction:column;flex:1;min-width:0;display:flex}.recent-who strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.recent-change{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.recent-change.up,.ranked-change.up{color:var(--good)}.recent-change.down,.ranked-change.down{color:var(--bad)}.ranked-change{justify-content:center;align-items:baseline;gap:6px;margin:4px 0 8px;font-size:18px;font-weight:700;display:flex}.name-row{gap:8px;display:flex}.input{border:1px solid var(--line);background:#0000004d;border-radius:12px;flex:1;min-width:0;min-height:44px;padding:8px 12px}.avatar-grid{grid-template-columns:repeat(4,1fr);gap:10px;padding-top:4px;display:grid}.avatar-pick{background:var(--panel);cursor:pointer;border:2px solid #0000;border-radius:14px;place-items:center;min-height:64px;display:grid}.avatar-pick.on{border-color:var(--accent);background:#f2c14e24}.avatar-pick:disabled{cursor:progress}.versus{justify-content:center;align-items:stretch;gap:28px;margin-top:8px;display:flex}.versus-side{background:var(--panel);border:1px solid var(--line);opacity:.6;border-radius:16px;flex-direction:column;align-items:center;gap:4px;min-width:120px;max-width:42vw;padding:14px 12px;transition:opacity .3s;display:flex;position:relative}.versus-side.here{opacity:1;border-color:#f2c14e99}.versus-side strong{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;max-width:100%;display:flex;overflow:hidden}.versus-vs{color:var(--accent);font-size:18px;font-weight:800;position:absolute;top:50%;right:-24px;transform:translate(50%,-50%)}.queuebar{left:8px;right:8px;top:max(8px, env(safe-area-inset-top));z-index:55;background:var(--bg-2);border:1px solid #f2c14e80;border-radius:999px;align-items:center;gap:10px;width:fit-content;max-width:560px;margin:0 auto;padding:6px 8px 6px 14px;font-size:14px;display:flex;position:fixed;box-shadow:0 8px 24px #00000073}.queuebar.matched{border-color:var(--good);border-radius:16px;width:auto;padding:10px 10px 10px 12px;animation:.35s cubic-bezier(.2,1.4,.4,1) both rise}.queuebar.matched span{flex:1;min-width:0;line-height:1.45}.queuebar .btn{flex:none}.linkish{color:var(--chalk);cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:0;padding:0}.narrow.wide{max-width:760px}.admin-list{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.admin-list li{background:var(--panel);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:10px;display:flex}.admin-list li.banned{opacity:.7}.admin-who{flex-direction:column;flex:1;gap:2px;min-width:180px;display:flex}.admin-who strong{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-actions{gap:6px;display:flex}.mono{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
