:root{color:#1c1c1e;background:#f5f5f7;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}body{min-height:100vh;margin:0}.app{max-width:640px;margin:0 auto;padding:32px 20px 48px}.app-header h1{margin:0 0 4px;font-size:1.6rem}.opening-tabs{flex-wrap:wrap;gap:6px;margin:10px 0 6px;display:flex}.tab-btn{color:#1c1c1e;cursor:pointer;background:#fff;border:1px solid #d0d0d5;border-radius:20px;padding:6px 16px;font-size:.875rem;transition:background .1s}.tab-btn:hover{background:#ececef}.tab-active{color:#fff;background:#1c1c1e;border-color:#1c1c1e}.tab-active:hover{background:#3a3a3c}.tagline{color:#6b6b70;margin:0 0 20px;font-size:.85rem}.board-view{flex-direction:column;gap:14px;display:flex}.board-wrap{width:600px;max-width:90vw}.info-strip{align-items:flex-start;min-height:44px;display:flex}.badge{border-radius:6px;padding:6px 12px;font-size:.85rem;font-weight:500;display:inline-block}.badge-thinking{color:#1a56b0;background:#e8f0fe;border:1px solid #aac4f0}.badge-out-of-book{color:#7a5c00;background:#fff3cd;border:1px solid #f0d060}.badge-correct{color:#155724;background:#d4edda;border:1px solid #a8d5b5;font-size:1rem}.badge-incorrect{color:#b71c1c;background:#fdecea;border:1px solid #f5c6c6;font-size:1rem}.badge-learn-prompt{color:#4527a0;background:#ede7f6;border:1px solid #c5b3e6;font-size:.9rem}.badge-error{color:#b71c1c;background:#fdecea;border:1px solid #f5c6c6;align-items:center;gap:10px;display:flex}.retry-btn{color:#b71c1c;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #b71c1c;border-radius:4px;padding:2px 10px;font-size:.8rem;font-weight:600}.retry-btn:hover{color:#fff;background:#b71c1c}.book-info{flex-direction:column;gap:2px;display:flex}.book-move{font-size:.95rem}.book-stats{color:#6b6b70;font-size:.82rem}.move-list{background:#fff;border:1px solid #e0e0e5;border-radius:8px;flex-wrap:wrap;align-content:flex-start;gap:2px 4px;min-height:44px;max-height:112px;padding:10px 12px;font-size:.9rem;display:flex;overflow-y:auto}.move-list-empty{color:#9a9aa0;font-style:italic}.move-pair{white-space:nowrap;align-items:baseline;gap:4px;display:inline-flex}.move-num{color:#9a9aa0;min-width:18px;font-size:.8rem}.move-san{min-width:28px;font-weight:500}.controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ctrl-btn{color:#1c1c1e;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d0d0d5;border-radius:8px;padding:7px 14px;font-size:.875rem}.ctrl-btn:hover:not(:disabled){background:#ececef}.ctrl-btn:disabled{opacity:.4;cursor:default}.ctrl-btn-learn{color:#4527a0;background:#ede7f6;border-color:#c5b3e6;font-weight:600}.ctrl-btn-learn:hover:not(:disabled){background:#d1c4e9}.ctrl-btn-primary{color:#fff;background:#1c1c1e;border-color:#1c1c1e}.ctrl-btn-primary:hover:not(:disabled){background:#3a3a3c}.policy-select{color:#1c1c1e;cursor:pointer;background:#fff;border:1px solid #d0d0d5;border-radius:8px;padding:7px 10px;font-size:.875rem}.board-status{align-items:center;display:flex}.status-text{font-size:1rem;font-weight:500}@keyframes shimmer{0%{background-position:-600px 0}to{background-position:600px 0}}.skeleton-board,.skeleton-line{background:linear-gradient(90deg,#e8e8ec 25%,#f2f2f5 50%,#e8e8ec 75%) 0 0/600px 100%;border-radius:6px;animation:1.4s linear infinite shimmer}.board-skeleton{flex-direction:column;gap:14px;display:flex}.skeleton-board{aspect-ratio:1;border-radius:4px;width:480px;max-width:90vw}.skeleton-line{width:480px;max-width:90vw;height:40px}.skeleton-line-short{width:240px;max-width:45vw}.load-error{color:#c0392b;margin-bottom:12px;font-size:.9rem}
