:root{--paper: #faf6ef;--ink: #22333b;--accent: #e2a33d;--sage: #7c9885;--line: #d8cfc0}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Noto Sans JP,system-ui,sans-serif;line-height:1.8}.breadcrumb{max-width:880px;margin:0 auto;padding:20px 24px 0;font-size:.8rem;color:#6b6156}.breadcrumb a{color:inherit;text-decoration:none;border-bottom:1px solid var(--line)}.breadcrumb .sep{margin:0 6px;color:var(--line)}.search-page{max-width:880px;margin:0 auto;padding:24px 24px 64px}.page-head{border-bottom:2px solid var(--ink);padding-bottom:20px;margin-bottom:24px}.page-head h1{margin:0 0 10px;font-family:"Noto Serif JP",serif;font-size:1.7rem}.lead{margin:0;color:#6b6156;font-size:.9rem}.pref-picker{margin-bottom:24px;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.pref-picker label{display:flex;flex-direction:column;gap:6px;font-size:.8rem;color:#6b6156}.station-empty{padding:14px 4px;color:#6b6156;font-size:.9rem;border-top:1px solid var(--line)}.pref-picker select{font-family:inherit;font-size:1rem;padding:10px 12px;border:1px solid var(--line);border-radius:4px;background:#fff;color:var(--ink)}.loading{padding:24px 0;color:#6b6156}.error-message{margin-top:16px;padding:14px 16px;background:#fff6e8;border:1px solid var(--accent);color:var(--ink);font-size:.9rem;border-radius:4px}.line-section,.station-section{margin-bottom:32px}.line-section h2,.station-section h2{font-family:"Noto Serif JP",serif;font-size:1.2rem;margin:0 0 12px}.station-hint{font-size:.82rem;color:#6b6156;margin:0 0 12px}.line-section-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.clear-lines{font:inherit;font-size:.82rem;background:none;border:1px solid var(--line);border-radius:999px;padding:4px 12px;color:var(--ink);cursor:pointer}.cat-nav{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px}.cat-nav a{font-size:.82rem;text-decoration:none;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 12px}.cat-nav a:hover{border-color:var(--ink)}.line-group{background:#fffdfa;border:1px solid var(--line);border-radius:8px;margin-bottom:12px;scroll-margin-top:12px}.line-group>summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:10px;padding:12px 16px;border-bottom:1px solid var(--line)}.line-group>summary::-webkit-details-marker{display:none}.line-group>summary:before{content:"▾";color:#8a7f70}.line-group:not([open])>summary{border-bottom:0}.line-group:not([open])>summary:before{content:"▸"}.cat-title{font-weight:700;font-size:1rem}.cat-meta{color:#8a7f70;font-size:.8rem}.company-title{margin:12px 16px 0;font-size:.8rem;font-weight:700;color:var(--sage);border-left:3px solid var(--sage);padding-left:8px}.line-list{list-style:none;margin:0;padding:8px 16px 12px;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:4px 12px}.selection-bar{position:sticky;bottom:12px;z-index:5;max-width:832px;margin:0 auto 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--ink);color:#fff;border-radius:10px;padding:10px 14px;font-size:.85rem;box-shadow:0 4px 14px #0000002e}.selection-go{color:#fff;font-weight:700;white-space:nowrap;text-decoration:none;background:var(--accent);padding:6px 12px;border-radius:6px}.selection-bar[hidden],.clear-lines[hidden]{display:none}.station-section{scroll-margin-top:12px}.line-item label{display:flex;align-items:center;gap:8px;font-size:.88rem;cursor:pointer;padding:4px 0}.line-item input[type=checkbox]{flex-shrink:0}.line-name{flex:1}.line-count{color:#8a7f70;font-size:.78rem;flex-shrink:0}.station-list{list-style:none;margin:0;padding:0}.station-item{border-top:1px solid var(--line)}.station-item:last-child{border-bottom:1px solid var(--line)}.station-item a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 4px;text-decoration:none;color:var(--ink)}.station-name{font-weight:700;flex-shrink:0}.station-lines{flex:1;font-size:.78rem;color:#6b6156}.station-count{font-family:"Noto Serif JP",serif;color:var(--accent);font-weight:700;flex-shrink:0}@media(max-width:480px){.line-list{grid-template-columns:1fr}.station-lines{display:none}}
