*,:before,:after{box-sizing:border-box}html,body{height:100%;margin:0;padding:0}#root{height:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.github-logo{color:#fff;border-radius:4px;justify-content:center;align-items:center;padding:8px;text-decoration:none;transition:background-color .2s;display:flex}.github-logo:hover{background-color:#ffffff1a}.github-logo svg{display:block}.header{color:#fff;background-color:#282c34;justify-content:space-between;align-items:center;height:40px;padding:0 12px;display:flex}.header-left{align-items:center;gap:8px;display:flex}.header-logo{color:#fff;font-size:20px;font-weight:700;text-decoration:none}.header-cost{color:#78909c;font-family:monospace;font-size:12px;font-weight:600}.header-actions{align-items:center;gap:12px;display:flex}.header-settings{color:#282c34;background-color:#61dafb;border:none;border-radius:4px;padding:5px 12px;font-weight:500;text-decoration:none}.header-settings:hover{background-color:#4fa8c7}.header-back{color:#fff;background-color:#607d8b;border-radius:4px;padding:5px 12px;font-weight:500;text-decoration:none}.header-back:hover{background-color:#546e7a}.color-spinner{justify-content:center;align-items:center;display:inline-flex;position:relative}.color-spinner__ring{border:4px solid #0000;border-top-color:#61dafb;border-radius:50%;width:14px;height:14px;margin:auto;animation:.7s linear infinite color-spinner-spin;position:absolute;inset:0}@keyframes color-spinner-spin{to{transform:rotate(360deg)}}.agent-card{background:#aaa;flex-direction:column;height:100%;padding:12px;display:flex}.agent-card__header{margin-bottom:2px}.agent-card__name-row{align-items:center;gap:4px;display:flex}.agent-card__name{font-size:14px;font-weight:700}.agent-card__reroll{cursor:pointer;opacity:.6;background:0 0;border:none;padding:0 2px;font-size:14px}.agent-card__reroll:hover{opacity:1}.agent-card__status{margin-left:auto;font-size:12px}.agent-card__status--error{color:#d32f2f;font-weight:700}.agent-card__error{color:#d32f2f;background:#ffeaea;border-radius:4px;padding:4px 6px;font-size:11px}.agent-card__config{flex-direction:column;gap:6px;display:flex}.agent-card__label{color:#444;flex-direction:column;gap:2px;font-size:11px;font-weight:600;display:flex}.agent-card__select{border:1px solid #bbb;border-radius:3px;width:100%;padding:3px 4px;font-size:11px}.agent-card__textarea{resize:vertical;box-sizing:border-box;border:1px solid #bbb;border-radius:3px;width:100%;padding:4px;font-family:inherit;font-size:11px}.agent-card__textarea--readonly{color:#666;cursor:default;background:#f0f0f0}.agent-card__messages{background:#f8f8f8;border:1px solid #ccc;border-radius:4px;flex-direction:column;flex:1;gap:6px;min-height:60px;margin-top:6px;padding:6px;display:flex;overflow-y:auto}.panel-message{word-break:break-word;background:#fff;border-radius:4px;padding:4px 6px;font-size:12px;line-height:1.4}.panel-message--system{background:beige;font-style:italic}.panel-message--player{background:#e8f0fe}.panel-message__sender{text-transform:uppercase;opacity:.7;margin-right:4px;font-size:10px;font-weight:600}.panel-message__move{background:#d4edda;border-radius:2px;margin-right:4px;padding:1px 4px;font-family:monospace;font-weight:700;display:inline-block}.panel-message__reasoning{opacity:.75;margin-top:2px;font-size:11px;font-style:italic;display:block}.panel-message__text{margin-top:2px;display:block}.agent-card__loader{align-items:center;gap:4px;padding:4px 6px;display:flex}.agent-card__loader-dot{background:#888;border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite agent-dot-bounce}.agent-card__loader-dot:nth-child(2){animation-delay:.2s}.agent-card__loader-dot:nth-child(3){animation-delay:.4s}@keyframes agent-dot-bounce{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1.2)}}@keyframes agent-pulse{0%,to{opacity:1}50%{opacity:.3}}.agent-card__info{cursor:pointer;opacity:.5;background:0 0;border:none;margin-left:auto;padding:0 2px;font-size:16px;line-height:1}.agent-card__info:hover{opacity:1}.agent-log-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.agent-log{color:#d4d4d4;background:#1e1e1e;border-radius:8px;flex-direction:column;width:90vw;max-width:720px;max-height:80vh;display:flex;box-shadow:0 8px 32px #0006}.agent-log__header{border-bottom:1px solid #333;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.agent-log__title{color:#ccc;font-size:13px;font-weight:600}.agent-log__close{color:#888;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.agent-log__close:hover{color:#fff}.agent-log__content{flex:1;padding:8px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:11px;line-height:1.5;overflow:auto}.agent-log__empty{color:#888;text-align:center;padding:14px}.agent-log__call-wrap{margin-bottom:4px;position:relative}.agent-log__call{border:1px solid #333;border-radius:4px}.agent-log__call-summary{cursor:pointer;color:#9cdcfe;-webkit-user-select:none;user-select:none;background:#252526;border-radius:4px;align-items:center;gap:8px;padding:6px 60px 6px 10px;font-size:12px;font-weight:600;display:flex}.agent-log__call-summary:hover{background:#2a2d2e}.agent-log__call-count{color:#888;margin-left:auto;font-size:10px;font-weight:400}.agent-log__call-cost{color:#4ec9b0;margin-left:4px;font-size:10px;font-weight:400}.agent-log__copy{color:#ccc;cursor:pointer;z-index:1;background:#333;border:1px solid #555;border-radius:3px;padding:1px 8px;font-size:10px;position:absolute;top:7px;right:8px}.agent-log__copy:hover{color:#fff;background:#444}.agent-log__call-messages{padding:4px 6px;overflow:hidden}.agent-log__msg{width:100%;margin-bottom:2px}.agent-log__msg-summary{cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:3px;align-items:baseline;gap:6px;padding:3px 6px;display:flex}.agent-log__msg-summary:hover{background:#2a2d2e}.agent-log__role{text-transform:uppercase;border-radius:2px;flex-shrink:0;padding:1px 4px;font-size:9px;font-weight:700}.agent-log__role--system{color:#dcdcaa;background:#3e3e00}.agent-log__role--user{color:#a5d6a7;background:#1e3a1e}.agent-log__role--assistant{color:#9cdcfe;background:#1e2a3e}.agent-log__role--tool{color:#ce93d8;background:#3e1e3e}.agent-log__role--unknown{color:#888;background:#333}.agent-log__preview{color:#888;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;overflow:hidden}.agent-log__msg-body{white-space:pre-wrap;word-break:break-word;color:#ccc;background:#181818;border-left:2px solid #444;border-radius:3px;margin:2px 0 4px 20px;padding:6px 8px;font-size:10px;line-height:1.4}.white-panel{width:0;min-width:0;transition:min-width .2s;overflow:hidden}.white-panel--open{width:280px;min-width:280px}.white-panel__content{box-sizing:border-box;flex-direction:column;width:280px;height:100%;display:flex}.chess-board-wrap{flex-direction:column;align-items:flex-start;margin:0 auto;display:inline-flex}.chess-board__file-labels{color:#333;margin-left:24px;font-size:12px;display:flex}.chess-board__file-label{justify-content:center;align-items:center;width:44px;display:flex}.chess-board__body{align-items:stretch;display:flex}.chess-board__rank-labels{color:#333;text-align:center;flex-direction:column;flex-shrink:0;justify-content:space-around;width:24px;font-size:12px;display:flex}.chess-board__rank-label{justify-content:center;align-items:center;height:44px;display:flex}.chess-board{border:2px solid #333;flex-direction:column;display:flex}.chess-board__row{display:flex}.chess-square{cursor:pointer;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.chess-square--light{background-color:#f0d9b5}.chess-square--dark{background-color:#b58863}.chess-square--selected{box-shadow:inset 0 0 5px 5px #61dafbb3}.chess-square--highlight{position:relative}.chess-square--highlight:after{content:"";background-color:#61dafbb3;border-radius:50%;width:12px;height:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.chess-square--last-move{box-shadow:inset 0 0 5px 5px #64fa32b3}.chess-square--over{background-color:#a8d8a8}.chess-piece{-webkit-user-select:none;user-select:none;cursor:grab;-webkit-text-stroke:2px #111;paint-order:stroke fill;font-family:DejaVu Serif,Apple Symbols,Segoe UI Symbol,Noto Sans Symbols,sans-serif;font-size:36px;font-weight:400;line-height:1}.chess-piece--white{color:#fff}.chess-piece--black{color:#555}.chess-piece:active{cursor:grabbing}.chess-piece--dragging{z-index:1}.game-chat{background:#f5f5f5;border-top:1px solid #ccc;flex-direction:column;flex:1;min-height:0;display:flex}.game-chat__messages{flex-direction:column;flex:1;gap:8px;min-height:0;padding:12px;display:flex;overflow-y:auto}.game-chat__empty{color:#999;flex:1;justify-content:center;align-items:center;font-size:13px;font-style:italic;display:flex}.game-chat__message{flex-direction:column;gap:2px;max-width:85%;display:flex}.game-chat__message--white{align-self:flex-start}.game-chat__message--black{align-self:flex-end}.game-chat__message--moderator,.game-chat__message--system{align-self:center;max-width:90%}.game-chat__message--system .game-chat__bubble{color:#888;white-space:pre-line;text-align:center;background:0 0;border:1px dashed #ccc;border-radius:8px;font-size:12px;font-style:italic}.game-chat__bubble{word-break:break-word;border-radius:12px;padding:8px 12px;font-size:13px;line-height:1.4}.game-chat__message--white .game-chat__bubble{color:#333;background:#fff;border:1px solid #ddd;border-bottom-left-radius:4px}.game-chat__message--black .game-chat__bubble{color:#fff;background:#333;border-bottom-right-radius:4px}.game-chat__message--moderator .game-chat__bubble{color:#fff;background:#1a73e8}.game-chat__sender{color:#888;padding:0 4px;font-size:11px}.game-chat__controls{background:#f0f0f0;border-top:1px solid #ddd;justify-content:center;gap:6px;padding:6px 12px;display:flex}.game-chat__ctrl-btn{color:#fff;cursor:pointer;background-color:#455a64;border:1px solid #607d8b;border-radius:4px;padding:4px 12px;font-size:12px;font-weight:500}.game-chat__ctrl-btn:hover:not(:disabled){background-color:#546e7a}.game-chat__ctrl-btn:disabled{opacity:.5;cursor:not-allowed}.game-chat__auto-label{color:#455a64;cursor:pointer;align-items:center;gap:4px;padding:0 4px;font-size:12px;font-weight:500;display:flex}.game-chat__input-row{background:#fff;border-top:1px solid #ddd;gap:8px;padding:8px 12px;display:flex}.game-chat__input{border:1px solid #ccc;border-radius:20px;outline:none;flex:1;padding:8px 12px;font-size:13px;transition:border-color .2s}.game-chat__input:focus{border-color:#1a73e8}.game-chat__send{color:#fff;cursor:pointer;white-space:nowrap;background:#1a73e8;border:none;border-radius:20px;padding:6px 16px;font-size:13px;transition:background .2s}.game-chat__send:hover{background:#1557b0}.game-chat__send:disabled{cursor:default;background:#ccc}.arena{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.arena__content{background:#e0e0e0;border-left:1px solid #ccc;border-right:1px solid #ccc;flex:none;justify-content:center;padding:16px;display:flex}.black-panel{width:0;min-width:0;transition:min-width .2s;overflow:hidden}.black-panel--open{width:280px;min-width:280px}.black-panel__content{box-sizing:border-box;flex-direction:column;width:280px;height:100%;display:flex}.home{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.toolbar{background:#282c34;align-items:center;gap:12px;height:28px;min-height:32px;max-height:32px;padding:0 8px 4px;display:flex}.toolbar__toggle{cursor:pointer;color:#aaa;background:0 0;border:1px solid #555;border-radius:3px;flex-shrink:0;height:24px;padding:0 8px;font-size:11px;line-height:24px;transition:color .2s,border-color .2s}.toolbar__toggle:hover{color:#fff;border-color:#888}.toolbar__toggle--active{color:#61dafb;border-color:#61dafb}.toolbar__notation{scrollbar-width:none;white-space:nowrap;color:#ccc;cursor:pointer;background:#ffffff12;border:1px solid #444;border-radius:3px;flex:1;min-width:0;height:24px;padding:2px 8px;font-family:monospace;font-size:12px;line-height:24px;transition:background .15s;overflow:auto hidden}.toolbar__notation--copied{background:#64fa324d}.toolbar__notation-empty{color:#666;font-style:italic}.toolbar__notation-move{margin-right:4px}.toolbar__notation-num{color:#888;margin-right:2px}.home__layout{flex:1;align-items:stretch;min-height:0;display:flex;position:relative}@media (width<=767px){.home__layout .white-panel,.home__layout .black-panel{z-index:10;width:0;min-width:0;position:absolute;top:0;bottom:0}.home__layout .white-panel{left:0}.home__layout .black-panel{right:0}.home__layout .white-panel.white-panel--open,.home__layout .black-panel.black-panel--open{width:280px;min-width:280px}}.settings{box-sizing:border-box;justify-content:center;align-items:flex-start;width:100%;padding:24px 24px 48px;display:flex;position:fixed;inset:60px 0 0;overflow-y:auto}.settings-content{flex-direction:column;width:100%;max-width:600px;display:flex}.settings h1{margin-bottom:24px}.settings-section{flex-direction:column;gap:8px;width:100%;display:flex}.settings-label{font-weight:500}.settings-hint{color:#888;font-weight:400}.settings-input{border:1px solid #ccc;border-radius:4px;padding:10px 12px;font-size:16px}.settings-input:focus{border-color:#61dafb;outline:none}.settings-buttons{gap:8px;margin-top:12px;margin-bottom:24px;display:flex}.settings-button{color:#282c34;cursor:pointer;background-color:#61dafb;border:none;border-radius:4px;padding:10px 20px;font-size:16px;font-weight:500}.settings-button:hover{background-color:#4fa8c7}.settings-button:disabled{opacity:.7;cursor:not-allowed}.settings-button-test.success{color:#fff;background-color:#4caf50}.settings-button-test.error{color:#fff;background-color:#f44336}.settings-section+.settings-section{margin-top:32px}.selected-models{flex-wrap:wrap;gap:8px;display:flex}.selected-model-tag{background:#e3f2fd;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:13px;display:inline-flex}.selected-model-tag button{cursor:pointer;color:#666;background:0 0;border:none;padding:0 2px;font-size:14px}.selected-model-tag button:hover{color:#f44336}.models-list{border:1px solid #ddd;border-radius:4px;max-height:300px;padding:8px;overflow-y:auto}.model-item{cursor:pointer;align-items:center;gap:8px;padding:6px 4px;display:flex}.model-item:hover{background:#f5f5f5}.model-id{text-overflow:ellipsis;flex:1;min-width:0;font-family:monospace;font-size:13px;overflow:hidden}.model-badge{white-space:nowrap;border-radius:3px;padding:1px 5px;font-size:10px;font-weight:500}.model-badge--tools{color:#2e7d32;background:#e8f5e9}.model-price{color:#888;white-space:nowrap;background:#f0f0f0;border-radius:3px;margin-left:auto;padding:1px 6px;font-size:11px}.settings-label--small{margin-top:8px;font-size:14px}.settings-textarea{resize:vertical;box-sizing:border-box;border:1px solid #ccc;border-radius:4px;width:100%;padding:10px 12px;font-family:inherit;font-size:14px}.settings-textarea:focus{border-color:#61dafb;outline:none}.settings-button--secondary{color:#333;background-color:#e0e0e0}.settings-button--secondary:hover{background-color:#ccc}.settings-checkbox{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.settings-retry{align-items:center;gap:12px;display:flex}.settings-retry__input{text-align:center;border:1px solid #ccc;border-radius:4px;width:60px;padding:4px 8px;font-size:14px}.settings-retry__input:focus{border-color:#61dafb;outline:none}.App{flex-direction:column;height:100%;display:flex;overflow:hidden}
