:root{--bg:#14161c;--fg:#f1f2f4;--card-bg:#1e2129;--card-border:#313644;--accent:#60a5fa;--accent-strong:#3b82f6;--muted:#9198a4;--table-felt-a:#1b7a51;--table-felt-b:#0c3d27;--table-rim:#071f15;--shadow-sm:0 1px 2px #00000059;--shadow-md:0 8px 20px #00000073;--shadow-lg:0 20px 48px #0000008c;--radius-sm:8px;--radius-md:14px;--radius-lg:22px;--buncss-light: ;--buncss-dark:initial;color-scheme:dark}*{box-sizing:border-box}body{color:var(--fg);background-color:var(--bg);background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNjAnIGhlaWdodD0nMjYwJz4KICA8dGV4dCB4PScxOCcgeT0nNDgnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzMwJyBmaWxsPScjZmZmZmZmJyBvcGFjaXR5PScwLjA1JyB0cmFuc2Zvcm09J3JvdGF0ZSgtMTQgMTggNDgpJz7imaA8L3RleHQ+CiAgPHRleHQgeD0nMTUwJyB5PSczNCcgZm9udC1mYW1pbHk9J3NhbnMtc2VyaWYnIGZvbnQtc2l6ZT0nMjAnIGZpbGw9JyNmZmZmZmYnIG9wYWNpdHk9JzAuMDQ1JyB0cmFuc2Zvcm09J3JvdGF0ZSgxNiAxNTAgMzQpJz7imaU8L3RleHQ+CiAgPHRleHQgeD0nMjEwJyB5PScxMjAnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzM2JyBmaWxsPScjZmZmZmZmJyBvcGFjaXR5PScwLjA1JyB0cmFuc2Zvcm09J3JvdGF0ZSgtMjIgMjEwIDEyMCknPuKZpjwvdGV4dD4KICA8dGV4dCB4PSc0MCcgeT0nMTYwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScyNCcgZmlsbD0nI2ZmZmZmZicgb3BhY2l0eT0nMC4wNCcgdHJhbnNmb3JtPSdyb3RhdGUoOSA0MCAxNjApJz7imaM8L3RleHQ+CiAgPHRleHQgeD0nMTIwJyB5PScyMTUnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzMwJyBmaWxsPScjZmZmZmZmJyBvcGFjaXR5PScwLjA1JyB0cmFuc2Zvcm09J3JvdGF0ZSgtNyAxMjAgMjE1KSc+4pmgPC90ZXh0PgogIDx0ZXh0IHg9JzIyNScgeT0nMjMwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScxOCcgZmlsbD0nI2ZmZmZmZicgb3BhY2l0eT0nMC4wNCcgdHJhbnNmb3JtPSdyb3RhdGUoMjAgMjI1IDIzMCknPuKZpTwvdGV4dD4KICA8dGV4dCB4PSc3NScgeT0nOTUnIGZvbnQtZmFtaWx5PSdzYW5zLXNlcmlmJyBmb250LXNpemU9JzE2JyBmaWxsPScjZmZmZmZmJyBvcGFjaXR5PScwLjAzNScgdHJhbnNmb3JtPSdyb3RhdGUoLTI4IDc1IDk1KSc+4pmmPC90ZXh0PgogIDx0ZXh0IHg9JzE2MCcgeT0nMTgwJyBmb250LWZhbWlseT0nc2Fucy1zZXJpZicgZm9udC1zaXplPScyMicgZmlsbD0nI2ZmZmZmZicgb3BhY2l0eT0nMC4wNCcgdHJhbnNmb3JtPSdyb3RhdGUoMTIgMTYwIDE4MCknPuKZozwvdGV4dD4KPC9zdmc+Cg==),radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--accent)20%,transparent),transparent 45%),radial-gradient(circle at 80% 75%,color-mix(in srgb,var(--table-felt-a)26%,transparent),transparent 50%);animation:bg-drift 40s ease-in-out infinite alternate;background-position:0 0,0 0,100% 100%;background-repeat:repeat,no-repeat,no-repeat;background-size:260px 260px,140% 140%,140% 140%;background-attachment:fixed,fixed,fixed;min-height:100vh;margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif}@keyframes bg-drift{0%{background-position:0 0,0 0,100% 100%}to{background-position:0 0,22% 16%,74% 88%}}h1{letter-spacing:-.01em;margin:0;font-size:1.5rem;font-weight:800}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.button-primary{border-radius:var(--radius-sm);background:linear-gradient(135deg,var(--accent),var(--accent-strong));color:#fff;box-shadow:var(--shadow-md);border:none;padding:.8rem 1.6rem;transition:transform .15s,box-shadow .15s;font-size:1rem;font-weight:600}.button-primary:not(:disabled):hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.button-primary:not(:disabled):active{transform:translateY(0)}.button-secondary{border-radius:var(--radius-sm);border:1px solid var(--card-border);background:var(--card-bg);color:var(--fg);box-shadow:var(--shadow-sm);padding:.55rem 1.1rem;transition:transform .15s,box-shadow .15s,border-color .15s;font-weight:500}.button-secondary:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:translateY(-1px)}.landing,.room-connecting{display:flex;text-align:center;flex-direction:column;justify-content:center;align-items: center;gap:1rem;min-height:100vh;padding:2rem}.auth-card{display:flex;border-radius:var(--radius-lg);border:1px solid var(--card-border);background:var(--card-bg);box-shadow:var(--shadow-lg);animation:rise-in .35s ease-out;flex-direction:column;align-items: center;gap:1.25rem;width:min(380px,100%);padding:2.5rem 2rem}.brand{display:flex;flex-direction:column;align-items: center;gap:.5rem}.brand-logo{filter:drop-shadow(0 4px 10px #0003);font-size:2.75rem}.auth-card p{color:var(--muted);margin:0}.auth-card form{display:flex;flex-direction:column;gap:1.1rem;width:100%}.auth-card label{display:flex;text-align:left;color:var(--muted);flex-direction:column;gap:.4rem;font-size:.9rem;font-weight:600}.join-form-checkbox{align-items: center;flex-direction:row!important;gap:.5rem!important;font-weight:500!important}.join-form-avatar{display:flex;flex-direction:column;align-items: center;gap:.5rem}.join-form-avatar-label{text-align:center;color:var(--muted);font-size:.9rem;font-weight:600}.join-form-avatar-anchor{position:relative}.join-form-avatar-button{border:1px solid var(--card-border);background:var(--bg);display:flex;border-radius:50%;justify-content:center;align-items: center;width:56px;height:56px;transition:transform .15s,border-color .15s;font-size:1.6rem}.join-form-avatar-button:hover{border-color:var(--accent);transform:scale(1.05)}.auth-card input[type=text]{border-radius:var(--radius-sm);border:1px solid var(--card-border);background:var(--bg);color:var(--fg);padding:.7rem .85rem;transition:border-color .15s,box-shadow .15s;font-size:1rem;font-weight:400}.auth-card input[type=text]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent)25%,transparent)}.error{color:#ef4444;font-size:.9rem}.room{height:100vh;display:flex;flex-direction:column;height:100dvh}.room-header{display:flex;background:color-mix(in srgb,var(--card-bg)70%,transparent);backdrop-filter:blur(8px);border-bottom:1px solid var(--card-border);position:sticky;z-index:20;flex-wrap:wrap;justify-content:space-between;align-items: center;gap:.6rem;padding:1.1rem 9.5rem 1.1rem 1.75rem;top:0}.room-header .brand{flex-direction:row;gap:.6rem}.room-header .brand-logo{filter:none;font-size:1.6rem}.room-connecting p{color:var(--muted);font-size:1.05rem}.table-area{position:relative;z-index:2;display:flex;container-type:size;flex:1;justify-content:center;align-items: center;min-height:0;padding:1.5rem 0}.table{position:relative;--seat-count:8;--table-size:clamp(200px,85cqmin,900px);width:var(--table-size);font-size:clamp(.6rem,calc(var(--table-size)*(.0247 - max(0,var(--seat-count) - 10)*.0013)),1.5rem);aspect-ratio:1;flex-shrink:0}.table-surface{position:absolute;background:radial-gradient(circle at 50% 38%,var(--table-felt-a),var(--table-felt-b)75%);box-shadow:inset 0 0 0 .625em color-mix(in srgb,var(--table-rim)80%,black 10%),inset 0 .625em 2.5em #0006,var(--shadow-lg);display:flex;color:#fff;border-radius:50%;flex-direction:column;justify-content:center;align-items: center;gap:.85em;inset:10%}.evaluation{text-align:center}.evaluation-average{text-shadow:0 2px 8px #00000059;font-size:2.25em;font-weight:800;line-height:1}.evaluation-recommendation{display:inline-flex;backdrop-filter:blur(4px);background:#ffffff26;border-radius:999px;align-items: center;gap:.4em;margin-top:.4em;padding:.3em .8em;font-size:.85em;font-weight:600}.new-round-button{border-radius:var(--radius-sm);color:var(--table-rim);box-shadow:var(--shadow-md);background:#fff;border:none;padding:.6em 1.3em;transition:transform .15s;font-weight:700}.new-round-button:hover{transform:translateY(-2px)scale(1.03)}.seat-position{position:absolute;transform:translate(-50%,-50%)}.participant-tile{position:relative;z-index:1;border-radius:var(--radius-md);border:1px solid var(--card-border);background:var(--card-bg);color:var(--fg);box-shadow:var(--shadow-md);min-width:4.875em;transition:transform .15s,box-shadow .15s}.participant-tile-active{z-index:30}.participant-tile:hover{box-shadow:var(--shadow-lg);border-color:var(--seat-color,var(--accent));transform:translateY(-3px)}.participant-tile-self{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent)55%,transparent),var(--shadow-md)}.participant-tile-disconnected{opacity:.4}.participant-tile-main{display:flex;color:inherit;font:inherit;background:0 0;border:none;flex-direction:column;align-items: center;gap:.35em;width:100%;padding:.65em .85em .55em}.participant-tile-main-self{cursor:default}.kick-badge{position:absolute;display:flex;border:1px solid var(--card-border);background:var(--card-bg);color:var(--muted);box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items: center;width:1.375em;height:1.375em;transition:transform .15s,background .15s,color .15s;font-size:.7em;line-height:1;top:-.5em;left:-.5em}.kick-badge:hover{color:#fff;background:#ef4444;border-color:#ef4444;transform:scale(1.15)}.rps-challenge-badge{position:absolute;display:flex;border:1px solid var(--card-border);background:var(--card-bg);box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items: center;width:1.375em;height:1.375em;transition:transform .15s;font-size:.8em;bottom:-.5em;right:-.5em}.rps-challenge-badge:hover{transform:scale(1.15)}.rps-overlay{position:fixed;z-index:65;animation:rise-in .15s ease-out;bottom:1rem;left:1rem}.rps-modal{border-radius:var(--radius-lg);border:1px solid var(--card-border);background:var(--card-bg);box-shadow:var(--shadow-lg);text-align:center;width:min(320px,100vw - 2rem);padding:1.5rem}.rps-modal p{font-weight:600}.rps-result-moves{font-size:2rem}.rps-result-outcome{margin-top:.5rem;font-size:1.1rem}.rps-best-of{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.75rem;font-weight:600}.rps-score{margin-top:.15rem;font-size:1.5rem;font-weight:800}.rps-move-buttons{display:flex;justify-content:center;gap:.75rem;margin-top:1.25rem}.rps-move-button{border-radius:var(--radius-md);border:1px solid var(--card-border);background:var(--bg);padding:.5rem .9rem;transition:transform .15s;font-size:2rem}.rps-move-button:hover{transform:translateY(-2px)scale(1.05)}.participant-avatar-wrap{position:relative}.participant-avatar{display:flex;background:var(--card-bg);color:var(--fg);box-shadow:0 0 0 .08em var(--seat-color,var(--accent)),var(--shadow-sm);border-radius:50%;justify-content:center;align-items: center;width:2.25em;height:2.25em;font-size:1.1em;font-weight:700}.host-badge{position:absolute;filter:drop-shadow(0 1px 2px #0006);font-size:.85em;top:-.5em;right:-.5em}.avatar-edit-badge{position:absolute;display:flex;border:1px solid var(--card-border);background:var(--card-bg);cursor:pointer;box-shadow:var(--shadow-sm);border-radius:50%;justify-content:center;align-items: center;width:1.375em;height:1.375em;transition:transform .15s;font-size:.7em;bottom:-.5em;right:-.5em}.avatar-edit-badge:hover{transform:scale(1.15)}.participant-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:6.25em;font-size:.85em;font-weight:600}.participant-badge{color:var(--muted);background:color-mix(in srgb,var(--muted)15%,transparent);border-radius:999px;padding:.15em .55em;font-size:.65em;font-weight:600}.participant-badge-guess{color:var(--accent-strong);background:color-mix(in srgb,var(--accent)18%,transparent)}.participant-badge-trophy{color:#fbbf24;background:#eab30838}.guess-input{display:flex;align-items: center;gap:.4em;margin-top:.5em}.guess-input-field{border-radius:var(--radius-sm);border:1px solid var(--card-border);color:#fff;text-align:center;background:#ffffff1a;width:4.375em;padding:.35em .5em}.guess-input-submit{border-radius:var(--radius-sm);color:#fff;backdrop-filter:blur(4px);background:#ffffff26;border:none;padding:.35em .75em;font-weight:600}.guess-input-locked{backdrop-filter:blur(4px);background:#ffffff26;border-radius:999px;padding:.3em .8em;font-size:.85em;font-weight:600}.participant-vote{display:block;perspective:18.75em;width:2.25em;height:3.125em}.participant-vote-empty{visibility:hidden}.participant-vote-inner{display:block;position:relative;transition:transform .5s;transition-delay:var(--flip-delay,0s);transform-style:preserve-3d;width:100%;height:100%}.participant-vote-revealed .participant-vote-inner{transform:rotateY(180deg)}.participant-vote-face{position:absolute;display:flex;border:1px solid var(--card-border);backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:6px;justify-content:center;align-items: center;font-size:1.1em;font-weight:700;inset:0}.participant-vote-front{background:linear-gradient(160deg,var(--accent),var(--accent-strong));font-size:1.2em;transform:translateZ(1px)}.participant-vote-back{background:linear-gradient(160deg,var(--card-bg),color-mix(in srgb,var(--card-bg)85%,var(--muted)15%));color:var(--fg);box-shadow:var(--shadow-sm);transform:rotateY(180deg)translateZ(1px)}.flying-emoji{position:absolute;left:var(--from-x);top:var(--from-y);pointer-events:none;animation:throw 1.9s cubic-bezier(.33,0,.2,1)forwards;z-index:5;filter:drop-shadow(0 4px 6px #00000059);font-size:1.85rem}.confetti-overlay{position:fixed;pointer-events:none;overflow:hidden;z-index:50;inset:0}.confetti-piece{position:absolute;top:-5%;left:var(--x);background:var(--color);animation:confetti-fall var(--duration)var(--delay)ease-in forwards;width:8px;height:14px}@keyframes confetti-fall{0%{transform:translateY(0)rotate(0);opacity:1}to{transform:translateY(110vh)rotate(var(--rotate));opacity:.85}}@keyframes throw{0%{left:var(--from-x);top:var(--from-y);transform:translate(-50%,-50%)scale(.7);opacity:1}50%{left:var(--mid-x);top:var(--mid-y);transform:translate(-50%,-50%)scale(1.3);opacity:1}to{left:var(--to-x);top:var(--to-y);transform:translate(-50%,-50%)scale(.9);opacity:0}}.emoji-picker{position:absolute;z-index:10;display:flex;border-radius:var(--radius-md);border:1px solid var(--card-border);background:var(--card-bg);box-shadow:var(--shadow-lg);animation:rise-in .15s ease-out;flex-direction:column;gap:.45rem;width:270px;max-height:230px;margin-top:.6rem;padding:.6rem;top:100%;left:50%;transform:translate(-50%)}.emoji-picker-search{border-radius:var(--radius-sm);border:1px solid var(--card-border);background:var(--bg);color:var(--fg);padding:.5rem .65rem}.emoji-picker-search:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent)25%,transparent)}.emoji-picker-grid{display:grid;grid-template-columns:repeat(6,1fr);overflow-y:auto;gap:.2rem}.emoji-picker-item{border-radius:var(--radius-sm);background:0 0;border:none;padding:.3rem;transition:transform .1s,background .1s;font-size:1.3rem}.emoji-picker-item:hover{background:var(--bg);transform:scale(1.2)}.emoji-picker-empty{grid-column:1/-1;color:var(--muted);text-align:center;padding:.5rem 0;font-size:.85rem}.room-footer{display:flex;flex-direction:column;align-items: center;gap:1rem;margin-top:auto;padding:1.5rem 1.5rem 2rem}.room-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items: center;gap:.75rem}.spectator-toggle{color:var(--muted);border-radius:999px;font-size:.85rem}.spectator-toggle-active{background:linear-gradient(135deg,var(--accent),var(--accent-strong));border-color:var(--accent);color:#fff}.spectator-toggle-active:hover{border-color:var(--accent)}.card-hand{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}.card-hand-disabled{opacity:.55}.playing-card{border-radius:var(--radius-sm);border:1px solid var(--card-border);background:linear-gradient(160deg,var(--card-bg),color-mix(in srgb,var(--card-bg)85%,var(--muted)15%));color:var(--fg);display:flex;box-shadow:var(--shadow-sm);justify-content:center;align-items: center;width:56px;height:80px;transition:transform .15s,box-shadow .15s,border-color .15s;font-size:1.2rem;font-weight:700}.playing-card:not(:disabled):hover{box-shadow:var(--shadow-md);border-color:var(--accent);transform:translateY(-8px)scale(1.05)}.playing-card-selected{border-color:var(--accent);background:linear-gradient(160deg,var(--accent),var(--accent-strong));color:#fff;box-shadow:0 8px 20px color-mix(in srgb,var(--accent)45%,transparent);transform:translateY(-6px)}@keyframes rise-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.top-toolbar{position:fixed;z-index:50;display:flex;align-items: center;gap:.6rem;top:1rem;right:1rem}.language-toggle{border:1px solid var(--card-border);background:var(--card-bg);color:var(--fg);box-shadow:var(--shadow-md);display:flex;border-radius:999px;justify-content:center;align-items: center;height:44px;padding:0 .9rem;transition:transform .15s,box-shadow .15s;font-size:.85rem;font-weight:600}.language-toggle:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.theme-toggle{border:1px solid var(--card-border);background:var(--card-bg);box-shadow:var(--shadow-md);display:flex;border-radius:50%;justify-content:center;align-items: center;width:44px;height:44px;transition:transform .15s,box-shadow .15s;font-size:1.3rem}.theme-toggle:hover{box-shadow:var(--shadow-lg);transform:rotate(20deg)translateY(-2px)}.no-light-overlay{position:fixed;z-index:100;display:flex;backdrop-filter:blur(3px);animation:rise-in .15s ease-out;background:#000000a6;justify-content:center;align-items: center;padding:1.5rem;inset:0}.no-light-modal{text-align:center;border-radius:var(--radius-lg);border:1px solid var(--card-border);background:var(--card-bg);box-shadow:var(--shadow-lg);animation:shake .5s ease;width:min(440px,100%);padding:2.5rem 2rem}.no-light-emoji{display:block;margin-bottom:1rem;font-size:4rem}.no-light-modal h2{margin:0 0 .6rem;font-size:1.5rem}.no-light-modal p{color:var(--muted);margin:0 0 1.75rem}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-10px)rotate(-1.5deg)}40%{transform:translate(10px)rotate(1.5deg)}60%{transform:translate(-6px)rotate(-1deg)}80%{transform:translate(6px)rotate(1deg)}}.version-badge{position:fixed;z-index:50;color:var(--muted);background:var(--card-bg);border:1px solid var(--card-border);box-shadow:var(--shadow-sm);border-radius:999px;padding:.2rem .55rem;transition:transform .15s,box-shadow .15s,color .15s;font-size:.7rem;font-weight:500;bottom:.75rem;left:.75rem}.version-badge:hover{box-shadow:var(--shadow-md);color:var(--fg);transform:translateY(-2px)}.changelog-overlay{position:fixed;z-index:100;display:flex;backdrop-filter:blur(3px);animation:rise-in .15s ease-out;background:#000000a6;justify-content:center;align-items: center;padding:1.5rem;inset:0}.changelog-modal{display:flex;border-radius:var(--radius-lg);border:1px solid var(--card-border);background:var(--card-bg);box-shadow:var(--shadow-lg);overflow:hidden;flex-direction:column;width:min(480px,100%);max-height:min(70vh,600px)}.changelog-header{display:flex;border-bottom:1px solid var(--card-border);flex-shrink:0;justify-content:space-between;align-items: center;padding:1.25rem 1.5rem}.changelog-header h2{font-size:1.15rem}.changelog-close{display:flex;border:1px solid var(--card-border);background:var(--bg);color:var(--muted);border-radius:50%;justify-content:center;align-items: center;width:28px;height:28px}.changelog-close:hover{color:var(--fg)}.changelog-body{overflow-y:auto;padding:1.25rem 1.5rem 1.5rem}.changelog-empty{color:var(--muted);text-align:center;padding:1rem 0}.changelog-version{margin-bottom:1.5rem}.changelog-version:last-child{margin-bottom:0}.changelog-version h3{margin:0 0 .5rem;font-size:1rem;font-weight:700}.changelog-date{color:var(--muted);font-size:.85rem;font-weight:400}.changelog-category{margin-bottom:.75rem}.changelog-category h4{text-transform:uppercase;letter-spacing:.04em;color:var(--accent);margin:0 0 .35rem;font-size:.75rem}.changelog-category ul{display:flex;flex-direction:column;gap:.3rem;margin:0;padding-left:1.1rem}.changelog-category li{font-size:.9rem;line-height:1.4}.chat-widget{position:fixed;z-index:60;display:flex;flex-direction:column;align-items: flex-end;gap:.75rem;bottom:1rem;right:1rem}.chat-toggle{position:relative;border:1px solid var(--card-border);background:var(--card-bg);color:var(--fg);box-shadow:var(--shadow-lg);border-radius:50%;width:52px;height:52px;transition:transform .15s,border-color .15s;font-size:1.4rem}.chat-toggle:hover{border-color:var(--accent);transform:translateY(-2px)scale(1.05)}.chat-unread{position:absolute;color:#fff;display:flex;box-shadow:var(--shadow-sm);background:#ef4444;border-radius:999px;justify-content:center;align-items: center;min-width:20px;height:20px;padding:0 5px;font-size:.7rem;font-weight:700;top:-4px;right:-4px}.chat-panel{display:flex;border-radius:var(--radius-lg);border:1px solid var(--card-border);background:var(--card-bg);box-shadow:var(--shadow-lg);overflow:hidden;animation:rise-in .15s ease-out;flex-direction:column;width:min(320px,100vw - 2rem);height:420px;max-height:calc(100vh - 8rem)}.chat-panel-header{display:flex;border-bottom:1px solid var(--card-border);flex-shrink:0;justify-content:space-between;align-items: center;padding:.9rem 1.1rem}.chat-panel-header h2{font-size:1rem}.chat-messages{overflow-y:auto;display:flex;flex-direction:column;flex:1;gap:.5rem;padding:.75rem 1.1rem}.chat-empty{color:var(--muted);text-align:center;margin:auto 0;font-size:.85rem}.chat-message{word-break:break-word;font-size:.85rem;line-height:1.4}.chat-message-author{margin-right:.4rem;font-weight:700}.chat-form{display:flex;border-top:1px solid var(--card-border);flex-shrink:0;gap:.5rem;padding:.75rem}.chat-form input{border-radius:var(--radius-sm);border:1px solid var(--card-border);background:var(--bg);color:var(--fg);flex:1;min-width:0;padding:.5rem .7rem}.chat-form input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent)25%,transparent)}.chat-form .button-primary{padding:.5rem 1rem;font-size:.85rem}.chat-emoji-anchor{position:relative;flex-shrink:0}.chat-emoji-toggle{border-radius:var(--radius-sm);border:1px solid var(--card-border);background:var(--bg);width:36px;height:36px;font-size:1rem}.chat-emoji-toggle:hover{border-color:var(--accent)}.chat-emoji-anchor .emoji-picker{margin-top:0;margin-bottom:.5rem;top:auto;bottom:100%;left:0;transform:none}.chat-message-text a{color:var(--accent);text-decoration:underline;word-break:break-all}.chat-message-text a:hover{color:var(--accent-strong)}.leaderboard-widget{position:absolute;z-index:15;display:flex;flex-direction:column;align-items: flex-end;gap:.75rem;top:1rem;right:1rem}.leaderboard-toggle{position:relative;border:1px solid var(--card-border);background:var(--card-bg);color:var(--fg);box-shadow:var(--shadow-lg);border-radius:50%;width:44px;height:44px;transition:transform .15s,border-color .15s;font-size:1.2rem}.leaderboard-toggle:hover{border-color:#eab308;transform:translateY(-2px)scale(1.05)}.leaderboard-badge{position:absolute;color:#1e1a05;display:flex;box-shadow:var(--shadow-sm);background:#eab308;border-radius:999px;justify-content:center;align-items: center;min-width:20px;height:20px;padding:0 5px;font-size:.7rem;font-weight:700;top:-4px;right:-4px}.leaderboard-panel{display:flex;border-radius:var(--radius-lg);border:1px solid var(--card-border);background:var(--card-bg);box-shadow:var(--shadow-lg);overflow:hidden;animation:rise-in .15s ease-out;flex-direction:column;width:min(280px,100vw - 2rem);max-height:min(60vh,420px)}.leaderboard-panel-header{display:flex;border-bottom:1px solid var(--card-border);flex-shrink:0;justify-content:space-between;align-items: center;padding:.9rem 1.1rem}.leaderboard-panel-header h2{font-size:1rem}.leaderboard-list{overflow-y:auto;display:flex;flex-direction:column;gap:.3rem;padding:.6rem}.leaderboard-empty{color:var(--muted);text-align:center;padding:.75rem 0;font-size:.85rem}.leaderboard-row{display:flex;border-radius:var(--radius-sm);align-items: center;gap:.55rem;padding:.4rem .5rem}.leaderboard-row-disconnected{opacity:.4}.leaderboard-rank{text-align:center;color:var(--muted);flex-shrink:0;width:1.4rem;font-size:.85rem;font-weight:700}.leaderboard-avatar{display:flex;background:var(--card-bg);color:var(--fg);box-shadow:0 0 0 1px var(--seat-color,var(--accent));border-radius:50%;flex-shrink:0;justify-content:center;align-items: center;width:26px;height:26px;font-size:.85rem;font-weight:700}.leaderboard-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;font-size:.85rem;font-weight:600}.leaderboard-count{color:#fbbf24;flex-shrink:0;font-size:.8rem;font-weight:700}.session-evaluation-widget{position:absolute;z-index:15;display:flex;flex-direction:column;align-items: flex-start;gap:.75rem;top:1rem;left:1rem}.session-evaluation-toggle{position:relative;border:1px solid var(--card-border);background:var(--card-bg);color:var(--fg);box-shadow:var(--shadow-lg);border-radius:50%;width:44px;height:44px;transition:transform .15s,border-color .15s;font-size:1.2rem}.session-evaluation-toggle:hover{border-color:var(--accent);transform:translateY(-2px)scale(1.05)}.session-evaluation-panel{display:flex;border-radius:var(--radius-lg);border:1px solid var(--card-border);background:var(--card-bg);box-shadow:var(--shadow-lg);overflow:hidden;animation:rise-in .15s ease-out;flex-direction:column;width:min(240px,100vw - 2rem)}.session-evaluation-panel-header{display:flex;border-bottom:1px solid var(--card-border);flex-shrink:0;justify-content:space-between;align-items: center;padding:.9rem 1.1rem}.session-evaluation-panel-header h2{font-size:1rem}.session-evaluation-empty{color:var(--muted);text-align:center;margin:0;padding:1rem;font-size:.85rem}.session-evaluation-list{display:flex;flex-direction:column;gap:.5rem;margin:0;padding:.6rem 1.1rem .9rem}.session-evaluation-row{display:flex;justify-content:space-between;align-items: center;gap:.5rem}.session-evaluation-row dt{color:var(--muted);font-size:.85rem}.session-evaluation-row dd{margin:0;font-size:.95rem;font-weight:700}
