*,:before,:after{box-sizing:border-box}:root{--bg-app:#f0e8d0;--bg-panel:#fff;--bg-panel-alt:#f5f5f5;--bg-nav-enabled:#fff;--bg-nav-disabled:#f0f0f0;--bg-nav-hover:#f0f4ff;--bg-ghost-hover:#e4e4e4;--bg-history-highlight:#f0f7ff;--bg-card-hand:#e8e2d4;--bg-card-hand-sel:#c8dcff;--text-card-hand:#1a1a2e;--timer-bg:#f5f5f5;--border-default:#ddd;--border-subtle:#eee;--border-ghost-hover:#bbb;--timer-border:#eee;--text-primary:#1a1a2e;--text-secondary:#666;--text-muted:#767676;--text-faint:#767676;--text-nav-enabled:#333;--text-nav-disabled:#bbb;--timer-color:#333;--timer-color-over:#666;--board-bg:var(--bg-panel);--board-border:var(--border-default);--board-empty-fill:#e8e2d4;--board-empty-stroke:#a0b4be;--board-card-stroke:#00000040;--withdraw-fill:#ffe066;--withdraw-stroke:#e6a800}[data-theme=dark]{--bg-app:#0f1923;--bg-panel:#1a2535;--bg-panel-alt:#22304a;--bg-nav-enabled:#1a2535;--bg-nav-disabled:#131d2a;--bg-nav-hover:#1a2f4f;--bg-ghost-hover:#243350;--bg-history-highlight:#1a2f4f;--bg-card-hand:#1e2d42;--bg-card-hand-sel:#0d2a52;--text-card-hand:#ccd6f0;--timer-bg:#1a2535;--border-default:#2e4060;--border-subtle:#243350;--border-ghost-hover:#3a5070;--timer-border:#2e4060;--text-primary:#e8eaf0;--text-secondary:#89b;--text-muted:#8a9ab8;--text-faint:#7a8eaa;--text-nav-enabled:#ccd6f0;--text-nav-disabled:#3a4e6a;--timer-color:#ccd6f0;--timer-color-over:#89b;--board-empty-fill:#1e2d3e;--board-empty-stroke:#2a3f58;--board-card-stroke:#0003;--withdraw-fill:#4d3800;--withdraw-stroke:#ffd000}body{background:var(--bg-app);-webkit-font-smoothing:antialiased;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif}#root{width:100%}button{-webkit-tap-highlight-color:transparent}.app-root{flex-direction:column;gap:10px;height:100dvh;padding:10px;font-family:system-ui,sans-serif;display:flex;overflow:hidden}.main-area{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex;overflow-y:auto}.left-col{flex-direction:column;flex-shrink:0;gap:10px;display:flex}.board-wrap{flex:0 0 50dvh;min-width:0;min-height:0}.sidebar{flex-direction:column;gap:10px;display:flex}.history-log{max-height:72px;color:var(--text-secondary);font-size:12px;line-height:1.8;overflow-y:auto}@media (width>=768px){.main-area{flex-direction:row;overflow-y:hidden}.sidebar{order:-1}.left-col{flex:1;min-width:0;min-height:0}.board-wrap{flex:1}.sidebar{flex-shrink:0;width:528px;overflow-y:auto}.history-log{max-height:220px}.history-panel{flex-direction:column;flex:1;min-height:0;display:flex}.history-panel .history-log{flex:1;max-height:none}}.scores-desktop{display:none}.scores-mobile{display:block}@media (width>=768px){.scores-desktop{display:block}.scores-mobile{display:none}}@keyframes dot-bounce{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-5px)}}.bot-thinking{color:var(--text-secondary);align-items:center;gap:10px;padding:6px 2px;font-size:13px;display:flex}.bot-thinking__dots{gap:5px;display:flex}.bot-thinking__dots span{background:#bbb;border-radius:50%;width:7px;height:7px;animation:1.2s ease-in-out infinite dot-bounce;display:inline-block}.bot-thinking__dots span:nth-child(2){animation-delay:.18s}.bot-thinking__dots span:nth-child(3){animation-delay:.36s}.btn-nav{transition:background .15s,border-color .15s,color .15s}.btn-nav:hover:not(:disabled){background:var(--bg-nav-hover)!important;color:#1e7fff!important;border-color:#1e7fff!important}.btn-nav:active:not(:disabled){transform:scale(.95)}.btn-primary{transition:filter .15s}.btn-primary:hover{filter:brightness(1.1)}.btn-primary:active{filter:brightness(.95);transform:scale(.97)}.btn-ghost{transition:background .15s,border-color .15s}.btn-ghost:hover{background:var(--bg-ghost-hover)!important;border-color:var(--border-ghost-hover)!important}.btn-ghost:active{transform:scale(.97)}.btn-icon{transition:background .15s,color .15s;border-radius:6px!important}.btn-icon:hover{color:#444!important;background:#eee!important}.btn-icon:active{background:#ddd!important}.btn-toggle{transition:background .15s,border-color .15s,color .15s}.btn-toggle:not([data-selected=true]):hover{background:var(--bg-nav-hover)!important;color:#1e7fff!important;border-color:#aac4ff!important}.btn-card{transition:border-color .15s,background .15s,box-shadow .15s,transform .1s}.btn-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.btn-card:active{transform:translateY(0)scale(.97)}input::placeholder{color:var(--text-faint)}
