:root{--bg:#f4f1ea;--panel:#fff;--ink:#2b2b2b;--muted:#7c7c7c;--line:#e3ddd0;--accent:#2d7dd2;--accent-ink:#fff;--tile-bg:#2b2b2b;--shadow:0 1px 3px rgba(0,0,0,.12);--radius:12px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--accent)}.muted{color:var(--muted)}button{font:inherit;cursor:pointer}.btn{border:none;border-radius:10px;padding:10px 16px;background:var(--accent);color:var(--accent-ink);font-weight:600;box-shadow:var(--shadow);transition:filter .15s ease,transform .05s ease}.btn:hover:not(:disabled){filter:brightness(1.05)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn--ghost{background:var(--panel);color:var(--ink);border:1px solid var(--line);box-shadow:none}.btn--danger{background:#c0392b}.input{border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;background:var(--panel);color:var(--ink);width:100%}.home{max-width:560px;margin:0 auto;padding:56px 20px}.home h1{font-size:2.4rem;margin:0 0 6px}.home .tagline{color:var(--muted);margin:0 0 28px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow);margin-bottom:18px}.card h2{margin:0 0 12px;font-size:1.05rem}.row{gap:10px;align-items:center}.row,.stack{display:flex}.stack{flex-direction:column;gap:12px}.game{max-width:1360px;margin:0 auto;padding:16px 20px 120px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.topbar .brand{font-weight:700;font-size:1.1rem}.more-menu{position:relative;flex:none}.more-menu__trigger{background:none;border:1px solid var(--line);border-radius:8px;color:var(--muted);cursor:pointer;font-size:1.1rem;line-height:1;padding:7px 10px}.more-menu__trigger:hover{color:var(--ink);background:#efe9dd}.more-menu__dropdown{position:absolute;right:0;top:calc(100% + 6px);z-index:30;min-width:210px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);padding:6px}.more-menu__item{display:block;width:100%;text-align:left;background:none;border:none;padding:9px 10px;border-radius:8px;font:inherit;color:var(--ink);cursor:pointer;white-space:nowrap}.more-menu__item:hover{background:#efe9dd}.layout{display:grid;grid-template-columns:320px 1fr;grid-gap:20px;gap:20px;align-items:start}.layout>*{min-width:0}@media (max-width:760px){.layout{grid-template-columns:1fr}.layout--in-game>section{order:-1}}@media (max-width:560px){.game{padding:12px 12px 132px}}.sidebar{display:flex;flex-direction:column;gap:16px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.panel h3{margin:0 0 10px;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.players{display:flex;flex-direction:column;gap:8px}.player-row{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;border:2px solid transparent;background:#faf8f3}.player-row--current{background:#fff;box-shadow:var(--shadow)}.player-meta{min-width:0}.player-name{font-weight:600;display:flex;align-items:center;gap:6px;min-width:0}.player-name__text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-name .badge{flex:none}.player-sub{font-size:.82rem}.badge{font-size:.62rem;text-transform:uppercase;letter-spacing:.04em;padding:1px 6px;border-radius:999px;font-weight:700}.badge--turn{background:var(--accent);color:#fff}.badge--off{background:#ddd;color:#666}.badge--win{background:#f1c40f;color:#4a3b00}.badge--bot{background:#e6e0f7;color:#5b3b9b}.player-remove{margin-left:auto;flex:none;width:26px;height:26px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--muted);line-height:1;font-size:1rem}.player-remove:hover{color:#c0392b;border-color:#e3b4ad}.bag{display:flex;align-items:center;gap:8px}.bag-meter{display:flex;gap:3px}.bag-seg{width:14px;height:10px;border-radius:2px;background:var(--line)}.bag-seg--on{background:var(--accent)}.add-bot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:14px 0 8px}.add-bot__level{width:auto;flex:none}.players--rows-desktop{display:none}@media (min-width:761px){.players--rows-desktop{display:flex}.players--compact-mobile{display:none}}.players--compact{gap:6px}.player-chips{display:flex;flex-wrap:wrap;gap:18px}.pchip{display:flex;flex-direction:column;align-items:center;gap:3px;width:42px;background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.pchip--selected .pchip__score{color:var(--accent)}.pchip svg{border-radius:9px;outline:3px solid transparent;outline-offset:4px}.pchip--current svg{outline-color:var(--accent)}.pchip--win svg{outline-color:#f1c40f}.pchip--away{opacity:.45}.pchip__score{font-size:.82rem;font-weight:700;line-height:1;margin-top:6px}.pchip__tag{font-size:.55rem;text-transform:uppercase;letter-spacing:.03em;color:#5b3b9b;background:#e6e0f7;border-radius:999px;padding:0 5px;font-weight:700}.players-note{font-weight:600;font-size:.9rem}.board-wrap{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;box-shadow:var(--shadow)}.board-scroll{overflow:auto}.board-toolbar{display:flex;justify-content:flex-end;margin-bottom:10px}.board-zoom{padding:6px 12px;font-size:.85rem}.board-fit{width:100%}.board{flex-direction:column;width:max-content;margin:0 auto}.board,.board-row{display:flex;gap:3px}.cell{border-radius:7px;background:#ece6d8;display:flex;align-items:center;justify-content:center;flex:none}.cell--open{background:#e0eaf6;cursor:pointer;outline:1px dashed #b9cce4}.cell--open:hover{background:#cfe0f5}.cell--staged{cursor:pointer;outline:2px solid var(--accent)}.cell--last{outline:2px solid #f1c40f;box-shadow:0 0 0 3px rgba(241,192,18,.35)}.tile{background:var(--tile-bg);border-radius:7px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 -2px 0 rgba(0,0,0,.25)}.tile--selected{outline:3px solid #f1c40f}.rack{display:flex;gap:8px;flex-wrap:wrap;align-items:center;min-height:60px}.rack-tile{background:none;border:none;padding:0;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:transform .08s ease,opacity .08s ease}.rack-tile--dragging{opacity:.6;transform:scale(1.08)}.controls{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:12px}.dock{position:fixed;left:0;right:0;bottom:0;background:var(--panel);border-top:1px solid var(--line);box-shadow:0 -2px 8px rgba(0,0,0,.06);padding:12px 20px calc(12px + env(safe-area-inset-bottom, 0px));z-index:10}@media (max-width:560px){.dock{padding-left:12px;padding-right:12px}}@media (min-width:761px){.dock{position:static;margin-top:16px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px}}.dock-inner{max-width:1360px;margin:0 auto}.turn-banner{font-weight:600;margin-bottom:8px}.turn-banner--you{color:var(--accent)}.notice{background:#fdecea;color:#a33;border:1px solid #f5c6c0;border-radius:10px}.install-hint,.notice{padding:10px 12px;margin-bottom:12px}.install-hint{display:flex;align-items:center;gap:10px;background:#eef4fb;border:1px solid #cfe0f5;color:var(--ink);border-radius:10px;font-size:.9rem}.install-hint__text{flex:1 1;line-height:1.4}.install-hint__share{vertical-align:-3px;margin:0 1px;color:var(--accent)}.install-hint__close{flex:none;background:none;border:none;color:var(--muted);font-size:1.25rem;line-height:1;cursor:pointer;padding:2px 6px;border-radius:6px}.install-hint__close:hover{color:var(--ink);background:#dce8f7}.link-box{display:flex;gap:8px;align-items:center}.link-box code{background:#f0ece2;padding:6px 10px;border-radius:8px;font-size:.9rem;flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.link-box .btn{flex:none}.overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:50}.overlay .card{max-width:420px;width:90%;margin:0}.results-row{display:flex;justify-content:space-between;padding:6px 0;border-bottom:1px solid var(--line)}.results-row--win{font-weight:700}.results-row--win strong{color:var(--accent)}.results-bar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:flex;align-items:center;gap:10px;padding:12px 20px calc(12px + env(safe-area-inset-bottom, 0px));background:var(--panel);border-top:1px solid var(--line);box-shadow:0 -2px 8px rgba(0,0,0,.06)}@media (max-width:560px){.results-bar{padding-left:12px;padding-right:12px}}.results-bar__label{font-weight:700;margin-right:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.results-bar .btn{flex:none;padding:8px 14px;font-size:.9rem}.name-edit{display:flex;gap:6px;align-items:center;min-width:0}.name-edit input{width:240px;max-width:100%}@media (max-width:560px){.topbar .name-edit{flex:1 1 100%}.name-edit input{width:auto;flex:1 1;min-width:0}}