:root{color-scheme:light;--accent: #e7091b;--accent-dark: #b8060f;--bg: #f4f5f7;--surface: #ffffff;--text: #22272e;--text-muted: #5b6472;--border: #e1e4e9;--chip-bg: #f4f5f7;--chip-bg-active: #e7091b;--chip-text-active: #ffffff}*{box-sizing:border-box}html{font-size:17px}body{margin:0;background:var(--bg);color:var(--text);font-family:Meiryo,Yu Gothic,Hiragino Sans,-apple-system,BlinkMacSystemFont,MS PGothic,sans-serif;line-height:1.65}a{color:var(--accent-dark)}button{font-family:inherit;font-size:1rem;cursor:pointer;border:none;border-radius:6px;background:var(--accent);color:#fff;padding:8px 16px;transition:background-color .15s}button:hover{background:var(--accent-dark)}button:disabled{background:#c7ccd3;cursor:not-allowed}button.secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}button.secondary:hover{background:var(--bg)}input,select,textarea{font-family:inherit;font-size:1rem;border:1px solid #cbd0d8;border-radius:6px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}.app-shell{min-height:100vh;display:flex;flex-direction:column}.top-nav{display:flex;align-items:center;gap:20px;padding:10px 24px;background:var(--surface);border-bottom:3px solid var(--accent)}.brand{display:flex;align-items:center;gap:8px}.brand img{height:28px;width:auto}.brand-badge{display:inline-block;background:none;color:var(--accent);font-weight:800;font-size:1.05rem;letter-spacing:.02em;line-height:1}.top-nav a{color:var(--text-muted);text-decoration:none;font-size:.95rem;padding:6px 2px;border-bottom:2px solid transparent}.top-nav a.active,.top-nav a:hover{color:var(--text);border-bottom-color:var(--accent)}.spacer{flex:1}.button-link{display:inline-block;background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:6px;padding:6px 14px;font-size:.9rem;text-decoration:none;line-height:1.4}.button-link:hover{background:var(--bg);border-color:var(--accent)}.top-nav button{font-size:.9rem;padding:6px 14px}.page{flex:1;padding:28px 24px;max-width:980px;width:100%;margin:0 auto}.card{background:var(--surface);border-radius:10px;padding:22px 24px;box-shadow:0 1px 3px #00000014;margin-bottom:18px;border-top:3px solid transparent}.card.accent{border-top-color:var(--accent)}.fallback-banner{background:var(--accent);color:#fff;text-align:center;padding:10px;font-size:.95rem}.tag-chip{display:inline-block;padding:3px 12px;border-radius:999px;background:var(--chip-bg);color:var(--text);font-size:.85rem;margin:3px 6px 3px 0;border:1px solid var(--border)}.tag-pill{display:inline-flex;align-items:center;padding:5px 14px;border-radius:999px;background:var(--chip-bg);color:var(--text);font-size:.88rem;border:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s,color .15s,border-color .15s}.tag-pill:hover{background:var(--chip-bg);border-color:var(--accent)}.tag-pill.selected{background:var(--chip-bg-active);color:var(--chip-text-active);border-color:var(--chip-bg-active)}.tag-pill.selected:hover{background:var(--chip-bg-active);border-color:var(--chip-bg-active)}.error-text{color:var(--accent);font-size:.9rem}.chat-message{padding:14px 16px;border-radius:10px;margin-bottom:12px;white-space:pre-wrap;line-height:1.7}.chat-message.user{background:#eef1f5;margin-left:12%}.chat-message.assistant{background:#fbeaec;margin-right:12%}.toggle-switch{display:inline-flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.95rem}.toggle-switch input{display:none}.toggle-switch .track{width:42px;height:24px;border-radius:999px;background:#c7ccd3;position:relative;transition:background-color .15s;flex:none}.toggle-switch .track:after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 2px #00000040}.toggle-switch input:checked+.track{background:var(--accent)}.toggle-switch input:checked+.track:after{transform:translate(18px)}.collapsible summary{cursor:pointer;font-size:.9rem;font-weight:600;color:var(--text-muted);list-style:none;display:flex;align-items:center;gap:6px;padding:4px 0}.collapsible summary::-webkit-details-marker{display:none}.collapsible summary:before{content:"▸";font-size:.75rem;transition:transform .15s}.collapsible[open] summary:before{transform:rotate(90deg)}
