:root{--bg:#fbf4ec;--card:#fff;--ink:#3b2a3f;--muted:#7d6d66;--line:#eadfd3;--mint:#2ec4a6;--mint-dark:#1a8f78;--mint-soft:#ddf5ef;--danger:#c9423e;--warn-soft:#fff1d6;--bubble-me:#1f9c84;--bubble-them:#f3ece4;--ann:#e4f1ff;--ann-ink:#1f5f9e;--font:"Fredoka", "Trebuchet MS", system-ui, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#1d1820;--card:#29222d;--ink:#f3ebf1;--muted:#b3a5ae;--line:#3b3240;--mint:#3fd0b2;--mint-dark:#5fdcc2;--mint-soft:#1f3a35;--danger:#ff7b76;--warn-soft:#3d3220;--bubble-me:#23977f;--bubble-them:#352c3a;--ann:#1e3550;--ann-ink:#9cc9f5;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);font-family:var(--font);margin:0;font-size:15px}button,input,textarea,select{font:inherit;color:inherit}a{color:inherit}h1{margin:0 0 16px;font-size:24px}h2{margin:28px 0 12px;font-size:18px}.logo{color:var(--mint-dark);white-space:nowrap;font-size:22px;font-weight:700}.logo span{color:var(--muted);margin-left:4px;font-size:15px;font-weight:500}.muted{color:var(--muted)}.small{font-size:13px}.err{color:var(--danger);min-height:1.2em;margin:4px 0;font-size:14px}.pad{padding:16px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px}.card h3{margin:0 0 12px;font-size:16px}.btn{cursor:pointer;background:var(--bubble-them);text-align:center;border:0;border-radius:12px;padding:9px 16px;font-weight:600;text-decoration:none;display:inline-block}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--mint-dark);color:#fff}.btn.primary:hover:not(:disabled){filter:brightness(1.08)}.btn.ghost{color:var(--muted);background:0 0}.btn.small{border-radius:9px;padding:5px 10px;font-size:13px}.btn.danger{color:var(--danger)}.btn.danger-fill{background:var(--danger);color:#fff}.btn:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,.convo:focus-visible{outline:3px solid var(--mint);outline-offset:2px}input,textarea,select{background:var(--card);border:2px solid var(--line);border-radius:12px;width:100%;padding:9px 12px}select{border-radius:9px;width:auto;padding:5px 8px}input:focus,textarea:focus,select:focus{border-color:var(--mint);outline:none}label{flex-direction:column;gap:4px;font-size:14px;font-weight:500;display:flex}label .count{color:var(--muted);font-size:12px;font-weight:400;position:absolute;right:0}label:has(.count){position:relative}.form{flex-direction:column;gap:10px;display:flex}.form select{border-radius:12px;width:100%;padding:9px 12px}.center{place-items:center;min-height:100vh;padding:16px;display:grid}.narrow{flex-direction:column;gap:12px;width:100%;max-width:340px;display:flex}.narrow .logo{text-align:center;margin-bottom:4px}.narrow-left{max-width:420px}.shell{grid-template-columns:240px minmax(0,1fr);min-height:100vh;display:grid}.side{background:var(--card);border-right:1px solid var(--line);flex-direction:column;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.side-head{justify-content:space-between;align-items:center;padding:0 10px 18px;display:flex}.side-nav{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.side-nav a{color:var(--muted);border-radius:12px;align-items:center;gap:10px;padding:10px 12px;font-weight:600;text-decoration:none;display:flex}.side-nav a:hover{background:var(--bubble-them);color:var(--ink)}.side-nav a[aria-current=page]{background:var(--mint-soft);color:var(--mint-dark)}.side-nav .ico{text-align:center;width:22px;font-size:17px}.side-nav .lbl{flex:1}.side-nav a:focus-visible{outline:3px solid var(--mint);outline-offset:2px}.side-user{border-top:1px solid var(--line);align-items:center;gap:10px;padding:14px 6px 0;display:flex}.avatar{background:var(--mint-soft);width:36px;height:36px;color:var(--mint-dark);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.side-user .who{flex-direction:column;flex:1;min-width:0;line-height:1.2;display:flex}.side-user .who b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.role{color:var(--muted);font-size:12px}.badge{background:var(--danger);color:#fff;text-align:center;border-radius:10px;min-width:20px;padding:0 6px;font-size:12px;line-height:20px;display:inline-block}.icon-btn{cursor:pointer;width:40px;height:40px;color:var(--ink);background:0 0;border:0;border-radius:10px;font-size:20px}.icon-btn:hover{background:var(--bubble-them)}.icon-btn.close{font-size:16px;display:none}.mobile-bar,.scrim{display:none}.page{width:100%;max-width:1240px;padding:28px 32px}.title-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.title-row h1{margin:0}.intro{max-width:70ch;margin-top:-8px}.stats{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:16px;display:grid}.stat .v{font-variant-numeric:tabular-nums;font-size:30px;font-weight:700;line-height:1.1}.stat .l{color:var(--muted);font-size:14px}.stat .s{color:var(--mint-dark);margin-top:2px;font-size:13px;font-weight:600}.charts{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:12px;display:grid}.bars{border-bottom:1px solid var(--line);grid-template-columns:repeat(14,1fr);align-items:end;gap:2px;height:160px;display:grid;position:relative}.bar{cursor:default;align-items:flex-end;height:100%;display:flex;position:relative}.bar i{background:var(--mint);border-radius:4px 4px 0 0;width:100%;min-height:1px;display:block}.bar:hover i{background:var(--mint-dark)}.bar-labels{color:var(--muted);text-align:center;grid-template-columns:repeat(14,1fr);gap:2px;margin-top:4px;font-size:11px;display:grid}.bar-max{color:var(--muted);font-size:11px;position:absolute;top:-2px;left:0}.tooltip{pointer-events:none;background:var(--ink);color:var(--bg);z-index:20;white-space:nowrap;border-radius:8px;padding:6px 10px;font-size:13px;position:fixed}.support{grid-template-columns:300px 1fr;gap:12px;height:calc(100vh - 120px);min-height:420px;display:grid}.convos{padding:8px;overflow-y:auto}.convo-list{flex-direction:column;gap:2px;display:flex}.convo{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;grid-template-columns:1fr auto;gap:2px 8px;padding:10px;display:grid}.convo:hover{background:var(--bubble-them)}.convo.on{background:var(--mint-soft)}.convo .n{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.convo .t{color:var(--muted);font-size:12px}.convo .p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:13px;overflow:hidden}.convo.unread .n:after{content:"";background:var(--danger);vertical-align:middle;border-radius:50%;width:8px;height:8px;margin-left:6px;display:inline-block}.thread{flex-direction:column;padding:0;display:flex;overflow:hidden}.thread-head{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;display:flex}.thread-head b{font-size:17px}.thread-head .back{display:none}.messages{flex-direction:column;flex:1;gap:8px;padding:16px;display:flex;overflow-y:auto}.msg{white-space:pre-wrap;word-break:break-word;border-radius:16px;max-width:70%;padding:9px 13px;line-height:1.4}.msg.player{background:var(--bubble-them);border-bottom-left-radius:4px;align-self:flex-start}.msg.admin{background:var(--bubble-me);color:#fff;border-bottom-right-radius:4px;align-self:flex-end}.msg .w{opacity:.8;margin-top:3px;font-size:11px;display:block}.reply{border-top:1px solid var(--line);align-items:flex-end;gap:8px;padding:12px;display:flex}.reply textarea{resize:none}.toolbar{max-width:320px;margin-bottom:12px}.table-wrap{padding:4px 12px;overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;vertical-align:middle;padding:10px 8px}tr:last-child td{border-bottom:0}th{color:var(--muted);font-size:13px;font-weight:600}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.wrap{white-space:normal;min-width:240px}td.actions{text-align:right}td.actions .btn{margin-left:4px}.tag{background:var(--bubble-them);color:var(--muted);white-space:nowrap;border-radius:8px;margin-left:6px;padding:2px 7px;font-size:11px}.tag.live{background:var(--mint-soft);color:var(--mint-dark)}.tag.warn{background:var(--warn-soft);color:var(--ink)}.ann-grid{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:16px;display:grid}.ann-form{flex-direction:column;gap:10px;display:flex}.ann-form textarea{resize:vertical}.preview-wrap{flex-direction:column;gap:6px;display:flex}.phone{border:1px solid var(--line);background:#fff4e8;border-radius:24px;padding:28px 14px}.game-ann{color:#3b2a3f;background:#e4f1ff;border-radius:16px;padding:10px 36px 10px 16px;line-height:1.35;position:relative;box-shadow:0 4px #b9d6f5}.game-ann b{color:#1f5f9e;overflow-wrap:anywhere;font-weight:600;display:block}.game-ann span{overflow-wrap:anywhere;margin-top:2px;font-size:14px;display:block}.game-ann .x{color:#1f5f9e;margin:0;font-size:14px;position:absolute;top:9px;right:12px}.roles{margin-bottom:12px;font-size:14px}.roles p{margin:4px 0}.creds{background:var(--bubble-them);-webkit-user-select:all;user-select:all;white-space:pre-wrap;border-radius:12px;padding:12px;font-size:15px}.modal{background:var(--card);color:var(--ink);border:0;border-radius:18px;width:min(420px,100vw - 32px);padding:0;box-shadow:0 20px 60px #00000040}.modal::backdrop{background:#1e142373}.modal-body{padding:20px}.modal-body h3{margin:0 0 12px;font-size:18px}.modal-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.toast{background:var(--ink);color:var(--bg);z-index:30;border-radius:12px;max-width:calc(100vw - 32px);padding:10px 16px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}@media (max-width:860px){.shell{display:block}.mobile-bar{z-index:10;background:var(--card);border-bottom:1px solid var(--line);align-items:center;gap:8px;height:56px;padding:0 8px;display:flex;position:sticky;top:0}.mobile-title{flex:1;font-weight:600}.side{z-index:30;visibility:hidden;width:260px;max-width:85vw;transition:transform .2s,visibility .2s;position:fixed;top:0;left:0;transform:translate(-100%);box-shadow:0 0 40px #0003}.menu-open .side{visibility:visible;transform:none}.menu-open .scrim{z-index:20;background:#1e142373;display:block;position:fixed;inset:0}.icon-btn.close{display:block}.page{padding:16px}.support{grid-template-columns:1fr;height:calc(100vh - 150px)}.support.has-open .convos,.support:not(.has-open) .thread{display:none}.thread-head .back{display:inline-block}.msg{max-width:85%}.ann-grid{grid-template-columns:1fr}}
