*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background:#121212;color:#e0e0e0;min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}body{overscroll-behavior:none}#root{min-height:100vh;min-height:100dvh}button,.board-container,.clock,.game-controls{user-select:none;-webkit-user-select:none}.rule-creator{display:flex;flex-direction:column;gap:10px;width:100%}.rule-creator__input-row{display:flex;gap:8px;align-items:stretch}.rule-creator__textarea{flex:1;padding:10px 14px;border:2px solid #333;border-radius:10px;background:#1a1a1a;color:#ddd;font-size:.9rem;font-family:inherit;resize:none;outline:none;transition:border-color .2s}.rule-creator__textarea:focus{border-color:#4ade80}.rule-creator__textarea::placeholder{color:#666}.rule-creator__textarea:disabled{opacity:.5}.rule-creator__mic-btn{width:48px;flex-shrink:0;border:2px solid #333;border-radius:10px;background:#1a1a1a;color:#ccc;font-size:1.3rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.rule-creator__mic-btn:hover{border-color:#555;background:#222}.rule-creator__mic-btn--active{border-color:#ef4444;background:#2a1a1a;animation:pulse-mic 1.2s ease-in-out infinite}.rule-creator__mic-btn:disabled{opacity:.4;cursor:not-allowed}@keyframes pulse-mic{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.rule-creator__submit-btn{padding:10px 24px;border:none;border-radius:10px;background:#7c3aed;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.rule-creator__submit-btn:hover:not(:disabled){background:#6d28d9;transform:scale(1.02)}.rule-creator__submit-btn:active:not(:disabled){transform:scale(.98)}.rule-creator__submit-btn:disabled{opacity:.4;cursor:not-allowed}.rule-confirm-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:200;padding:24px}.rule-confirm-dialog{background:#1a1a1a;border-radius:16px;padding:28px 32px;max-width:480px;width:100%;max-height:80vh;overflow-y:auto;color:#fff;display:flex;flex-direction:column;gap:14px}.rule-confirm__title{margin:0;font-size:1.5rem;font-weight:700}.rule-confirm__summary{margin:0;font-size:1rem;color:#ccc;line-height:1.5}.rule-confirm__error{margin:0;font-size:.9rem;color:#f87171;line-height:1.4}.rule-confirm__suggestions{display:flex;flex-direction:column;gap:6px}.rule-confirm__suggestions-label{margin:0;font-size:.85rem;color:#888}.rule-confirm__suggestion-btn{padding:8px 14px;border:1px solid #333;border-radius:8px;background:#222;color:#ccc;font-size:.85rem;cursor:pointer;text-align:left;font-family:inherit;transition:all .15s}.rule-confirm__suggestion-btn:hover{border-color:#7c3aed;background:#2a1a3a;color:#fff}.rule-confirm__details-toggle{padding:0;border:none;background:none;color:#888;font-size:.8rem;cursor:pointer;text-align:left;font-family:inherit;transition:color .15s}.rule-confirm__details-toggle:hover{color:#bbb}.rule-confirm__json{margin:0;padding:12px;border-radius:8px;background:#111;color:#9ca3af;font-size:.7rem;line-height:1.4;overflow-x:auto;max-height:200px;overflow-y:auto}.rule-confirm__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}.rule-confirm__btn{padding:10px 20px;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit}.rule-confirm__btn:disabled{opacity:.4;cursor:not-allowed}.rule-confirm__btn--confirm{background:#4ade80;color:#000;flex:1}.rule-confirm__btn--confirm:hover:not(:disabled){background:#22c55e}.rule-confirm__btn--retry{background:#7c3aed;color:#fff}.rule-confirm__btn--retry:hover{background:#6d28d9}.rule-confirm__btn--cancel{background:#333;color:#aaa}.rule-confirm__btn--cancel:hover{background:#444;color:#ccc}.mode-select{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:24px;gap:24px}.mode-select__title{font-size:2.5rem;font-weight:800;color:#fff;margin:0}.mode-select__subtitle{font-size:1.1rem;color:#888;margin:0}.mode-select__modes{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.mode-btn{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 24px;border:2px solid #333;border-radius:16px;background:#1a1a1a;color:#ccc;cursor:pointer;transition:all .2s;min-width:140px;font-family:inherit}.mode-btn:hover{border-color:#555;background:#222}.mode-btn--selected{border-color:#4ade80;background:#1a2e1a;color:#fff}.mode-btn__icon{font-size:2rem}.mode-btn__label{font-size:1rem;font-weight:600}.mode-btn__desc{font-size:.75rem;color:#888}.mode-select__color{display:flex;flex-direction:column;align-items:center;gap:8px;color:#aaa}.color-pick{display:flex;gap:12px}.color-btn{padding:10px 20px;border:2px solid #333;border-radius:10px;background:#1a1a1a;color:#ccc;font-size:1rem;cursor:pointer;transition:all .2s;font-family:inherit}.color-btn:hover{border-color:#555}.color-btn--selected{border-color:#4ade80;background:#1a2e1a;color:#fff}.mode-select__difficulty{display:flex;flex-direction:column;align-items:center;gap:8px;color:#aaa}.difficulty-pick{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.difficulty-btn{padding:8px 16px;border:2px solid #333;border-radius:10px;background:#1a1a1a;color:#ccc;font-size:.85rem;cursor:pointer;transition:all .2s;font-family:inherit}.difficulty-btn:hover{border-color:#555;background:#222}.difficulty-btn--selected{border-color:#f59e0b;background:#2e2a1a;color:#fff}.difficulty-pair{display:flex;gap:24px;justify-content:center;flex-wrap:wrap}.difficulty-column{display:flex;flex-direction:column;align-items:center;gap:8px}.difficulty-column__label{font-size:.95rem;font-weight:600;color:#ddd}.mode-select__time{display:flex;flex-direction:column;align-items:center;gap:8px;color:#aaa}.time-pick{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.time-btn{padding:8px 16px;border:2px solid #333;border-radius:10px;background:#1a1a1a;color:#ccc;font-size:.85rem;cursor:pointer;transition:all .2s;font-family:inherit}.time-btn:hover{border-color:#555;background:#222}.time-btn--selected{border-color:#38bdf8;background:#1a2a2e;color:#fff}.mode-select__rules{display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;max-width:500px}.mode-select__rules-title{color:#aaa;margin:0;font-size:1rem}.rule-presets{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.preset-btn{padding:8px 18px;border:2px solid #333;border-radius:10px;background:#1a1a1a;color:#ccc;font-size:.9rem;cursor:pointer;transition:all .2s;font-family:inherit}.preset-btn:hover{border-color:#555}.preset-btn--selected{border-color:#4ade80;background:#1a2e1a;color:#fff}.rule-toggles{width:100%}.rule-toggles__header{width:100%;padding:8px 12px;border:1px solid #333;border-radius:8px;background:#1a1a1a;color:#aaa;cursor:pointer;font-size:.85rem;text-align:left;font-family:inherit}.rule-toggles__list{display:flex;flex-direction:column;gap:4px;margin-top:8px;max-height:280px;overflow-y:auto;padding:4px}.rule-toggle{display:flex;align-items:flex-start;gap:10px;padding:8px 12px;border-radius:8px;background:#1a1a1a;cursor:pointer;transition:background .15s}.rule-toggle:hover{background:#222}.rule-toggle input[type=checkbox]{margin-top:2px;accent-color:#4ade80;width:16px;height:16px;flex-shrink:0}.rule-toggle__info{display:flex;flex-direction:column;gap:2px}.rule-toggle__name{color:#ddd;font-size:.85rem;font-weight:600}.rule-toggle__desc{color:#777;font-size:.72rem}.rule-toggle--custom{border:1px solid #7c3aed33;background:#1a1a2a}.rule-toggle__badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:4px;background:#7c3aed;color:#fff;font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;vertical-align:middle}.mode-select__inventor{width:100%;display:flex;flex-direction:column;gap:10px}.inventor-toggle{width:100%;padding:10px 14px;border:2px dashed #7c3aed55;border-radius:10px;background:transparent;color:#a78bfa;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit;text-align:center}.inventor-toggle:hover{border-color:#7c3aed;background:#1a1a2a;color:#c4b5fd}.inventor-toggle--open{border-style:solid;border-color:#7c3aed;background:#1a1a2a}.start-btn{padding:14px 48px;border:none;border-radius:12px;background:#4ade80;color:#000;font-size:1.2rem;font-weight:700;cursor:pointer;transition:all .2s;font-family:inherit;margin-top:8px}.start-btn:hover{background:#22c55e;transform:scale(1.02)}.start-btn:active{transform:scale(.98)}.board-container{width:100%;max-width:min(85vh,85vw);aspect-ratio:1;margin:0 auto;touch-action:none;position:relative;border-radius:4px;transition:box-shadow .3s ease}.board-container--your-turn{box-shadow:0 0 0 3px #4ade80,0 0 12px #4ade8040}.promotion-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100}.promotion-dialog{background:#1a1a1a;border-radius:16px;padding:20px 28px;text-align:center;color:#fff}.promotion-dialog p{margin-bottom:12px;font-size:1.1rem}.promotion-choices{display:flex;gap:12px}.promotion-btn{width:64px;height:64px;border:2px solid #444;border-radius:12px;background:#222;color:#fff;font-size:2.2rem;cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center}.promotion-btn:hover{border-color:#4ade80;background:#1a2e1a;transform:scale(1.05)}.clock{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-radius:10px;background:#2a2a2a;color:#999;font-family:SF Mono,Menlo,Consolas,monospace;font-size:1.5rem;min-width:160px;transition:all .2s ease}.clock__label{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.clock__time{font-weight:700;font-variant-numeric:tabular-nums}.clock__turn-badge{font-size:.65rem;font-weight:700;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:.08em;color:#4ade80;animation:turn-pulse 1.8s ease-in-out infinite}@keyframes turn-pulse{0%,to{opacity:1}50%{opacity:.5}}.clock--active{background:#1a3a1a;color:#fff;box-shadow:0 0 0 2px #4ade80}.clock--urgent{background:#3a1a1a;color:#ff6b6b;box-shadow:0 0 0 2px #ff6b6b;animation:pulse 1s infinite}.clock--expired{background:#3a1a1a;color:#f44}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.game-controls{display:flex;flex-direction:column;align-items:center;gap:12px;padding:8px}.game-controls__result{font-size:1.2rem;font-weight:700;color:#fbbf24;text-align:center;padding:8px 16px;background:#fbbf241a;border-radius:10px}.game-controls__buttons{display:flex;gap:12px}.ctrl-btn{padding:10px 24px;border:none;border-radius:10px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s;font-family:inherit;min-height:44px;min-width:44px}.ctrl-btn--new{background:#60a5fa;color:#000}.ctrl-btn--new:hover{background:#3b82f6}.ctrl-btn--resign{background:#444;color:#fff}.ctrl-btn--resign:hover{background:#f97316}.bench{display:flex;align-items:center;gap:8px;padding:4px 8px;border-radius:8px;background:#1a1a1a;border:1px solid #333;min-height:36px}.bench__label{font-size:.7rem;color:#666;white-space:nowrap}.bench__pieces{display:flex;flex-wrap:wrap;gap:2px}.bench__piece{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:6px;background:transparent;font-size:1.4rem;cursor:default;transition:all .15s;padding:0}.bench__piece--interactive{cursor:pointer;border-color:#444}.bench__piece--interactive:hover{border-color:#4ade80;background:#4ade801a}.captured-pieces{display:flex;align-items:center;gap:2px;min-height:22px;padding:2px 6px}.captured-pieces__icons{display:flex;flex-wrap:wrap;gap:0}.captured-pieces__icon{font-size:.95rem;line-height:1;opacity:.85}.captured-pieces__score{font-size:.75rem;color:#999;margin-left:2px;font-weight:600}.replay-bar{display:flex;justify-content:center;gap:8px;padding:6px 0}.replay-bar__btn{display:flex;align-items:center;justify-content:center;width:48px;height:36px;border:none;border-radius:8px;background:#2a2a2a;color:#ccc;font-size:1.2rem;cursor:pointer;transition:background .15s,color .15s}.replay-bar__btn:hover:not(:disabled){background:#3a3a3a;color:#fff}.replay-bar__btn:active:not(:disabled){background:#444}.replay-bar__btn:disabled{color:#555;cursor:default}.info-panel{display:flex;flex-direction:column;gap:12px;width:100%;font-size:.85rem}.info-panel__section{background:#1a1a1a;border:1px solid #333;border-radius:8px;padding:10px 12px}.info-panel__section--moves{flex:1;min-height:0;display:flex;flex-direction:column}.info-panel__heading{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:#888;margin-bottom:8px}.info-panel__rules-list{display:flex;flex-wrap:wrap;gap:6px}.info-panel__rule-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:12px;background:#6366f126;border:1px solid rgba(99,102,241,.3);color:#a5b4fc;font-size:.75rem;white-space:nowrap}.info-panel__rule-icon{font-size:.85rem}.info-panel__continuation{text-align:center;padding:5px 10px;margin-bottom:8px;background:#4ade8026;border:1px solid rgba(74,222,128,.3);border-radius:6px;color:#4ade80;font-size:.8rem;font-weight:600}.info-panel__active-mode{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px;background:#3b82f626;border:1px solid rgba(59,130,246,.4);border-radius:6px}.info-panel__mode-label{color:#93c5fd;font-size:.8rem;font-weight:500}.info-panel__cancel-btn{padding:8px 14px;border:1px solid #666;border-radius:5px;background:#333;color:#ccc;cursor:pointer;font-size:.8rem;font-family:inherit;transition:all .15s;flex-shrink:0;min-height:36px}.info-panel__cancel-btn:hover{background:#444;color:#fff}.use-once-table{display:flex;flex-direction:column;gap:2px}.use-once-table__header,.use-once-table__row{display:grid;grid-template-columns:1fr 50px 50px;align-items:center;gap:4px;padding:3px 0}.use-once-table__header{border-bottom:1px solid #333;padding-bottom:5px;margin-bottom:2px}.use-once-table__header .use-once-table__col-status{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:#666}.use-once-table__col-name{display:flex;align-items:center;gap:5px;font-size:.78rem;color:#ccc}.use-once-table__col-status{text-align:center}.use-once-table__icon{font-size:.9rem;flex-shrink:0}.use-once-cell--used{color:#555;font-size:.65rem;text-decoration:line-through;font-style:italic}.use-once-cell--available{color:#4ade80;font-size:.65rem;font-weight:600}.use-once-cell--active-turn{color:#86efac;text-shadow:0 0 6px rgba(74,222,128,.5)}.use-once-cell__activate-btn{padding:6px 12px;border:1px solid #4ade80;border-radius:4px;background:#4ade8026;color:#4ade80;cursor:pointer;font-size:.75rem;font-family:inherit;font-weight:600;transition:all .15s;min-height:36px;min-width:44px}.use-once-cell__activate-btn:hover{background:#4ade804d;color:#fff}.fen-display{display:flex;align-items:flex-start;gap:6px}.fen-display__text{flex:1;font-family:SF Mono,Fira Code,Cascadia Code,Menlo,Consolas,monospace;font-size:.65rem;line-height:1.4;color:#999;word-break:break-all;padding:4px 6px;background:#111;border-radius:4px}.fen-display__copy-btn{flex-shrink:0;padding:6px 10px;border:1px solid #444;border-radius:4px;background:#222;color:#aaa;cursor:pointer;font-size:.85rem;transition:all .15s;min-height:36px;min-width:36px;display:flex;align-items:center;justify-content:center}.fen-display__copy-btn:hover{background:#333;color:#fff}.move-history{flex:1;overflow-y:auto;max-height:200px;min-height:40px}.move-history--empty{color:#555;font-size:.78rem;text-align:center;padding:8px 0}.move-history__grid{display:flex;flex-direction:column}.move-history__row{display:grid;grid-template-columns:28px 1fr 1fr;gap:4px;padding:3px 4px;font-size:.78rem;font-family:SF Mono,Fira Code,Cascadia Code,Menlo,Consolas,monospace;min-height:28px;align-items:center}.move-history__row:nth-child(odd){background:#ffffff05}.move-history__num{color:#555;text-align:right;padding-right:4px}.move-history__white{color:#e0e0e0}.move-history__black{color:#aaa}.move-history__move--clickable{cursor:pointer;border-radius:3px;padding:4px 6px}.move-history__move--clickable:hover{background:#ffffff14}.move-history__move--active{background:#6366f14d;border-radius:3px;padding:4px 6px;color:#fff}@media(orientation:landscape)and (min-width:768px){.move-history{max-height:none}}.ai-thinking{display:flex;align-items:center;justify-content:center;gap:6px;order:3;padding:6px 0;color:#888;font-size:.8rem;font-weight:500}.ai-thinking__dot{width:6px;height:6px;border-radius:50%;background:#4ade80;animation:ai-pulse 1.2s ease-in-out infinite}.ai-thinking__dot:nth-child(2){animation-delay:.2s}.ai-thinking__dot:nth-child(3){animation-delay:.4s}.ai-thinking__label{margin-left:4px}@keyframes ai-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}.game-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:12px;gap:8px;box-sizing:border-box}.game-screen__main{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.game-screen__left-panel,.game-screen__center{display:contents}.game-screen__top-clock{order:1}.game-screen__captured--top{order:2}.game-screen__bench--top{order:3}.game-screen__board{order:4}.game-screen__bench--bottom{order:5}.game-screen__replay-bar{order:6}.game-screen__captured--bottom{order:7}.game-screen__bottom-clock{order:8}.game-screen__controls{order:9}.game-screen__captured,.game-screen__replay-bar{width:100%;max-width:min(85vh,85vw)}.game-screen__top-clock,.game-screen__bottom-clock{width:100%;max-width:min(85vh,85vw);display:flex;justify-content:center}.game-screen__board{width:100%;display:flex;justify-content:center}.game-screen__controls,.game-screen__bench,.game-screen__sidebar{width:100%;max-width:min(85vh,85vw)}.game-screen__sidebar-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;border:1px solid #333;border-radius:8px;background:#1a1a1a;color:#aaa;font-size:.8rem;font-weight:600;font-family:inherit;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:background .15s,color .15s;min-height:44px}.game-screen__sidebar-toggle:hover{background:#222;color:#ccc}.game-screen__sidebar-chevron{font-size:.65rem;transition:transform .25s ease;transform:rotate(0)}.game-screen__sidebar-chevron--open{transform:rotate(90deg)}.game-screen__sidebar-content{display:none;padding-top:8px}.game-screen__sidebar--open .game-screen__sidebar-content{display:block}@media(orientation:landscape)and (min-width:768px){.game-screen--with-sidebar{flex-direction:row;align-items:flex-start;justify-content:center;padding:16px;gap:16px}.game-screen--with-sidebar .game-screen__main{flex:1 1 auto;min-width:0;flex-direction:row;align-items:stretch}.game-screen--with-sidebar .game-screen__left-panel{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;width:180px;flex-shrink:0;gap:8px}.game-screen--with-sidebar .game-screen__center{display:flex;flex-direction:column;align-items:center;flex:1 1 auto;min-width:0;gap:8px}.game-screen--with-sidebar .game-screen__top-clock,.game-screen--with-sidebar .game-screen__bottom-clock,.game-screen--with-sidebar .game-screen__controls,.game-screen--with-sidebar .game-screen__board,.game-screen--with-sidebar .game-screen__bench--top,.game-screen--with-sidebar .game-screen__bench--bottom,.game-screen--with-sidebar .game-screen__captured--top,.game-screen--with-sidebar .game-screen__captured--bottom,.game-screen--with-sidebar .game-screen__replay-bar{order:0}.game-screen--with-sidebar .game-screen__board .board-container{max-width:min(80vh,60vw)}.game-screen--with-sidebar .game-screen__top-clock,.game-screen--with-sidebar .game-screen__bottom-clock{max-width:none;width:100%}.game-screen--with-sidebar .game-screen__controls,.game-screen--with-sidebar .game-screen__bench,.game-screen--with-sidebar .game-screen__captured,.game-screen--with-sidebar .game-screen__replay-bar{max-width:none}.game-screen--with-sidebar .game-screen__sidebar{flex:0 0 280px;max-width:280px;max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow-y:auto;align-self:stretch;display:flex}.game-screen--with-sidebar .game-screen__sidebar-toggle{display:none}.game-screen--with-sidebar .game-screen__sidebar-content{display:block;padding-top:0}.game-screen--with-sidebar .game-screen__left-panel .clock{box-sizing:border-box;width:100%;min-width:0;font-size:1.2rem;padding:8px 12px}.game-screen--with-sidebar .game-screen__left-panel .game-controls{padding:4px 0}.game-screen--with-sidebar .game-screen__left-panel .game-controls__result{font-size:1rem;padding:6px 10px}.game-screen--with-sidebar .game-screen__left-panel .game-controls__buttons{flex-direction:column;width:100%}.game-screen--with-sidebar .game-screen__left-panel .ctrl-btn{width:100%;padding:8px 12px;font-size:.85rem}}.connecting{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:16px;color:#888;font-size:1.1rem}.connecting__spinner{width:40px;height:40px;border:3px solid #333;border-top-color:#4ade80;border-radius:50%;animation:spin .8s linear infinite}.connecting__message{font-size:1.2rem;color:#ccc;margin:0}.connecting__sub{color:#666;font-size:.9rem;margin:0}.connecting__retry{margin-top:8px;padding:10px 24px;border-radius:8px;border:none;background:#4ade80;color:#111;font-weight:600;font-size:1rem;cursor:pointer;font-family:inherit}@keyframes spin{to{transform:rotate(360deg)}}.toast-error{position:fixed;bottom:24px;left:50%;transform:translate(-50%);background:#dc2626;color:#fff;padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:500;z-index:9999;animation:toast-in .25s ease-out;pointer-events:none}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}
