:root{--bg: #f6f2ea;--card: #fffdf8;--ink: #2b2620;--muted: #8a8071;--accent: #c0392b;--accent-dark: #96281b;--green: #2e7d32;--border: #e5ddcd;--shadow: 0 2px 8px rgba(60, 50, 30, .08);font-family:Hiragino Kaku Gothic ProN,Noto Sans JP,Yu Gothic UI,Meiryo,sans-serif;color:var(--ink)}*{box-sizing:border-box}body{margin:0;background:var(--bg)}.app{max-width:1080px;margin:0 auto;padding:24px 16px 48px}.header-row{display:flex;align-items:center;justify-content:space-between}.header h1{margin:0;font-size:1.9rem;letter-spacing:.02em}.settings-btn{border:1px solid var(--border);background:var(--card);border-radius:10px;font-size:1.2rem;padding:6px 12px;cursor:pointer;box-shadow:var(--shadow)}.settings-btn:hover{background:var(--bg)}.tagline{margin:4px 0 20px;color:var(--muted)}.stats{background:linear-gradient(135deg,#3b3129,#56483b);color:#fdf8ef;border-radius:16px;padding:24px;box-shadow:var(--shadow)}.stats-main{text-align:center;margin-bottom:20px}.stats-label{margin:0;font-size:.9rem;opacity:.85}.stats-amount{margin:4px 0;font-size:3rem;font-weight:800;color:#ffb3a7;font-variant-numeric:tabular-nums}.stats-rank{margin:0 0 12px;font-size:1.05rem}.share-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.share-btn{background:#fdf8ef;color:#3b3129;border:none;border-radius:999px;padding:8px 20px;font-size:.9rem;font-weight:700;cursor:pointer}.share-btn:hover{background:#f0e6d4}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px}.stat-card{background:#ffffff1a;border-radius:10px;padding:10px;display:flex;flex-direction:column;align-items:center;gap:2px}.stat-value{font-size:1.4rem;font-weight:700;font-variant-numeric:tabular-nums}.stat-value.recovered{color:#a5d6a7;font-size:1.1rem}.stat-name{font-size:.78rem;opacity:.85}.recovery-header{display:flex;justify-content:space-between;font-size:.85rem;margin-bottom:6px}.recovery-rate{font-weight:700}.recovery-bar{height:10px;background:#ffffff26;border-radius:999px;overflow:hidden}.recovery-fill{height:100%;background:linear-gradient(90deg,#81c784,#a5d6a7);border-radius:999px;transition:width .4s ease}.main{display:grid;grid-template-columns:340px 1fr;gap:24px;margin-top:24px;align-items:start}@media(max-width:800px){.main{grid-template-columns:1fr}}.book-form{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;box-shadow:var(--shadow);position:sticky;top:16px}.book-form h2{margin:0 0 14px;font-size:1.1rem}.field{margin-bottom:12px;flex:1}.field label{display:block;font-size:.78rem;color:var(--muted);margin-bottom:4px}.field input,.field select{width:100%;padding:9px 10px;border:1px solid var(--border);border-radius:8px;font-size:.95rem;background:#fff;color:var(--ink)}.field input:focus,.field select:focus{outline:2px solid #c9a86a;outline-offset:1px}.field-row{display:flex;gap:10px}.autocomplete{position:relative}.searching{position:absolute;right:10px;top:10px;font-size:.72rem;color:var(--muted)}.suggestions{position:absolute;z-index:10;top:calc(100% + 4px);left:0;right:0;margin:0;padding:4px;list-style:none;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #3c321e2e;max-height:280px;overflow-y:auto}.suggestions button{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:none;background:none;cursor:pointer;text-align:left;border-radius:8px}.suggestions button:hover{background:var(--bg)}.suggestions img{width:32px;height:46px;object-fit:cover;border-radius:4px;flex-shrink:0}.suggestions span{display:flex;flex-direction:column;min-width:0}.suggestions strong{font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestions small{color:var(--muted);font-size:.75rem}.submit-btn{width:100%;padding:12px;background:var(--accent);color:#fff;border:none;border-radius:10px;font-size:1rem;font-weight:700;cursor:pointer;margin-top:4px}.submit-btn:hover{background:var(--accent-dark)}.list-section h2{margin:0 0 14px;font-size:1.1rem}.book-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}.book-card{display:flex;gap:14px;align-items:center;background:var(--card);border:1px solid var(--border);border-left:5px solid var(--accent);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow)}.book-card.status-reading{border-left-color:#e6a23c}.book-card.status-done{border-left-color:var(--green);opacity:.82}.book-cover{width:48px;height:68px;object-fit:cover;border-radius:6px;flex-shrink:0}.book-cover.placeholder{display:flex;align-items:center;justify-content:center;background:var(--bg);font-size:1.4rem}.book-info{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;flex:1;border:none;background:none;padding:0;cursor:pointer;text-align:left;font:inherit;color:inherit;border-radius:8px}.book-info:hover .book-title{text-decoration:underline}.memo-badge{font-size:.8rem}.book-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.book-title{font-size:1rem}.idle-badge{font-size:.72rem;background:#fdeaea;color:var(--accent-dark);border-radius:999px;padding:2px 9px;white-space:nowrap}.book-author{color:var(--muted);font-size:.82rem}.book-price{font-weight:700;font-size:.92rem;font-variant-numeric:tabular-nums}.book-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.status-buttons{display:flex;border:1px solid var(--border);border-radius:8px;overflow:hidden}.status-buttons button{border:none;background:#fff;padding:7px 11px;font-size:.8rem;cursor:pointer;color:var(--muted)}.status-buttons button+button{border-left:1px solid var(--border)}.status-buttons button:hover:not(:disabled){background:var(--bg)}.status-buttons button.active{background:var(--ink);color:#fff;font-weight:700}.delete-btn{border:none;background:none;cursor:pointer;font-size:1rem;opacity:.55}.delete-btn:hover{opacity:1}.empty{background:var(--card);border:1px dashed var(--border);border-radius:12px;padding:36px 20px;text-align:center;color:var(--muted)}.empty p{margin:4px 0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2b26208c;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;z-index:100;overflow-y:auto}.modal{background:var(--card);border-radius:16px;padding:24px;max-width:620px;width:100%;box-shadow:0 16px 48px #2b262059}.modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:8px}.modal-header h2{margin:0;font-size:1.25rem}.close-btn{border:none;background:var(--bg);border-radius:8px;padding:6px 10px;cursor:pointer;font-size:.9rem;flex-shrink:0}.detail-meta{color:var(--muted);font-size:.9rem;margin:0 0 16px}.detail-meta a{color:var(--accent-dark)}.memo-label{display:block;font-weight:700;font-size:.9rem;margin-bottom:6px}.memo-input{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px;font:inherit;font-size:.92rem;resize:vertical;background:#fff;color:var(--ink)}.ai-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}.ai-btn{background:var(--ink);color:#fdf8ef;border:none;border-radius:999px;padding:9px 18px;font-size:.88rem;font-weight:700;cursor:pointer}.ai-btn:disabled{opacity:.45;cursor:not-allowed}.ai-hint{font-size:.78rem;color:var(--muted)}.ai-error{color:var(--accent-dark);font-size:.85rem;background:#fdeaea;border-radius:8px;padding:8px 12px}.ai-summary pre{white-space:pre-wrap;font:inherit;font-size:.9rem;background:var(--bg);border-radius:10px;padding:14px;margin:0}.modal h3{font-size:1rem;margin:18px 0 8px}.quiz-item{border:1px solid var(--border);border-radius:12px;padding:14px;margin-bottom:12px}.quiz-question{font-weight:700;margin:0 0 10px;font-size:.92rem}.quiz-choices{display:flex;flex-direction:column;gap:6px}.quiz-choice{text-align:left;border:1px solid var(--border);background:#fff;border-radius:8px;padding:9px 12px;font-size:.88rem;cursor:pointer;color:var(--ink)}.quiz-choice:hover:not(:disabled){background:var(--bg)}.quiz-choice:disabled{cursor:default}.quiz-choice.correct{border-color:var(--green);background:#e8f5e9;font-weight:700}.quiz-choice.wrong{border-color:var(--accent);background:#fdeaea}.quiz-explanation{font-size:.82rem;color:var(--muted);margin:10px 0 0}.field-note{font-size:.76rem;color:var(--muted);margin:6px 0 0}.field-note a{color:var(--accent-dark)}.backup-actions{display:flex;gap:10px;flex-wrap:wrap}.secondary-btn{border:1px solid var(--border);background:#fff;border-radius:8px;padding:9px 14px;font-size:.86rem;cursor:pointer;color:var(--ink)}.secondary-btn:hover{background:var(--bg)}.chart,.chart-empty{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px 20px;margin-top:16px;box-shadow:var(--shadow)}.chart-empty{color:var(--muted);font-size:.85rem;text-align:center}.chart h3{margin:0 0 8px;font-size:1rem}.chart svg{width:100%;height:auto;display:block}.chart-grid{stroke:var(--border);stroke-width:1}.chart-label{fill:var(--muted);font-size:11px}.chart-area{fill:#c0392b1f}.chart-line{stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round}.chart-dot{fill:var(--accent)}.footer{margin-top:40px;text-align:center;color:var(--muted);font-size:.78rem}@media(max-width:560px){.stats-amount{font-size:2.2rem}.stats-grid{grid-template-columns:repeat(2,1fr)}.book-card{flex-wrap:wrap}.book-actions{width:100%;justify-content:space-between}.book-form{position:static}}
