:root{--tg-bg: #f2f2f7;--tg-text: #0b0b0d;--tg-hint: #6d6d72;--tg-link: #2481cc;--tg-button: #2481cc;--tg-button-text: #ffffff;--tg-secondary-bg: #e5e5ea;--card-red: #c0392b;--card-black: #1c1c1e;--card-face: #fbfbfa;--card-border: #c9c9ce}@media(prefers-color-scheme:dark){:root{--tg-bg: #14171a;--tg-text: #e6e9ec;--tg-hint: #8a8f95;--tg-link: #5eb3f5;--tg-button: #2481cc;--tg-button-text: #ffffff;--tg-secondary-bg: #1f2327}}*{box-sizing:border-box}body{margin:0;background:var(--tg-bg);color:var(--tg-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}#root{min-height:100vh}.screen{max-width:480px;margin:0 auto;padding:1rem 1rem 2rem;display:flex;flex-direction:column;gap:1rem}h1{font-size:1.4rem;margin:0}h2{font-size:.9rem;text-transform:uppercase;letter-spacing:.04em;color:var(--tg-hint);margin:0 0 .5rem}.setup-screen__subtitle{color:var(--tg-hint);margin:-.5rem 0 0}.setup-section{background:var(--tg-secondary-bg);border-radius:12px;padding:.75rem 1rem 1rem;display:flex;flex-direction:column;gap:.6rem}.setup-section h2{margin:0}.setup-section h3{margin:.35rem 0 0;font-size:.8rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--tg-hint)}.setup-section .setup-hint,.setup-section .lobby-error{margin:0}.setup-section .primary-button,.setup-section .join-input{width:100%}.setup-section .primary-button{margin-top:.25rem}.option-row{display:flex;gap:.5rem;flex-wrap:wrap}.option-button{flex:1 0 auto;min-width:56px;padding:.6rem .8rem;border-radius:10px;border:1px solid var(--card-border);background:var(--tg-bg);color:var(--tg-text);font-size:.95rem;cursor:pointer}.option-button--active{background:var(--tg-button);color:var(--tg-button-text);border-color:var(--tg-button)}.option-button:disabled{opacity:.35;cursor:not-allowed}.setup-hint{margin:.5rem 0 0;font-size:.8rem;color:var(--tg-hint)}.toggle-row{display:flex;align-items:flex-start;gap:.6rem;padding:0;cursor:pointer}.toggle-row input{margin-top:.25rem}.toggle-row small{display:block;color:var(--tg-hint);font-weight:400}.primary-button{padding:.85rem 1rem;border-radius:12px;border:none;background:var(--tg-button);color:var(--tg-button-text);font-size:1rem;font-weight:600;cursor:pointer}.link-button{background:none;border:none;color:var(--tg-link);font-size:.9rem;cursor:pointer;padding:.3rem}.game-header{display:flex;align-items:center;justify-content:space-between}.opponents-row{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:.25rem}.opponent-chip{flex:0 0 auto;background:var(--tg-secondary-bg);border-radius:10px;padding:.5rem .75rem;min-width:88px;text-align:center;position:relative}.opponent-chip--out{opacity:.5}.opponent-chip__name{font-weight:600;font-size:.85rem}.opponent-chip__count{font-size:.75rem;color:var(--tg-hint)}.opponent-chip__role{font-size:.7rem;color:var(--tg-link);text-transform:uppercase;letter-spacing:.03em;margin-top:.15rem;min-height:.9em}.opponent-chip__badge{position:absolute;top:-6px;right:-6px;background:var(--card-red);color:#fff;font-size:.6rem;font-weight:700;border-radius:6px;padding:1px 4px}.board{display:flex;gap:.75rem;align-items:flex-start;background:var(--tg-secondary-bg);border-radius:12px;padding:.75rem}.board__side{display:flex;flex-direction:column;gap:.5rem;align-items:center;flex:0 0 auto}.trump-indicator{text-align:center}.trump-indicator__label{font-size:.65rem;color:var(--tg-hint);text-transform:uppercase}.trump-indicator__suit{font-size:1.6rem}.pile-stat{text-align:center}.pile-stat__label{font-size:.65rem;color:var(--tg-hint);text-transform:uppercase}.pile-stat__value{font-size:1.1rem;font-weight:600}.bout{flex:1;display:flex;flex-wrap:wrap;gap:.5rem;min-height:72px;align-content:flex-start}.bout__empty{color:var(--tg-hint);font-size:.85rem;align-self:center;margin:0 auto}.bout__pair{display:flex;position:relative}.bout__pair .card:last-child:not(:only-child){margin-left:-30px;transform:translateY(10px) rotate(6deg)}.turn-indicator{flex-basis:100%;text-align:center;font-size:.8rem;color:var(--tg-hint)}.actions-row{display:flex;gap:.5rem}.action-button{flex:1;padding:.65rem;border-radius:10px;border:none;background:var(--tg-button);color:var(--tg-button-text);font-weight:600;cursor:pointer}.hand__cards{display:flex;gap:.4rem;overflow-x:auto;padding:.25rem 0 .5rem}.move-log{background:var(--tg-secondary-bg);border-radius:12px;padding:.5rem .75rem .75rem}.move-log__list{max-height:120px;overflow-y:auto;display:flex;flex-direction:column;gap:.15rem}.move-log__line{font-size:.8rem;color:var(--tg-hint)}.seed-footer{text-align:center;font-size:.7rem;color:var(--tg-hint);font-family:ui-monospace,monospace}.card{width:44px;height:64px;border-radius:8px;border:1px solid var(--card-border);background:var(--card-face);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:700;font-size:1rem;line-height:1.1;flex:0 0 auto;padding:0}.card--small{width:36px;height:52px;font-size:.85rem}.card__suit{font-size:1.1em}.card--clickable{cursor:pointer;box-shadow:0 2px 4px #00000026}.card--disabled{opacity:.4;filter:grayscale(.6);cursor:not-allowed}.card--back{background:repeating-linear-gradient(45deg,var(--tg-link),var(--tg-link) 4px,var(--tg-secondary-bg) 4px,var(--tg-secondary-bg) 8px);border:1px solid var(--card-border)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:10}.overlay__card{background:var(--tg-bg);color:var(--tg-text);border-radius:16px;padding:1.5rem;max-width:360px;width:100%;text-align:center}.finish-order{text-align:left;padding-left:1.2rem}.overlay__actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.lobby-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.lobby-balance{font-weight:600;font-variant-numeric:tabular-nums}.lobby-error{margin:8px 0;padding:8px 10px;border-radius:8px;background:#dc3c3c1f;color:var(--tg-text, #222);font-size:14px}.join-row{display:flex;gap:8px}.join-input{flex:1;min-width:0;padding:10px 12px;border:1px solid var(--tg-hint, #bbb);border-radius:8px;font:inherit;letter-spacing:.08em;text-transform:uppercase;background:var(--tg-bg, #fff);color:var(--tg-text, #222)}.table-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.table-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;background:var(--tg-secondary-bg, #f2f2f2)}.table-row--resume{flex-wrap:wrap}.table-row__code{font-weight:700;letter-spacing:.08em}.table-row__meta{flex:1;min-width:0;font-size:13px;opacity:.8}.waiting-room{display:flex;flex-direction:column;gap:10px}.share-code{display:flex;align-items:center;gap:.6rem}.share-code__value{flex:1;padding:.6rem .8rem;border-radius:10px;background:var(--tg-bg);border:1px solid var(--card-border);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.35rem;font-weight:700;letter-spacing:.18em;text-align:center;-webkit-user-select:all;user-select:all}
