@import url(https://fonts.googleapis.com/css2?family=Kosugi+Maru&display=swap);:root{--bbs-accent:#059669;--bbs-accent-dark:#047857;--bbs-accent-hover:#065f46;--bbs-accent-light:#d1fae5;--bbs-accent-xlight:#ecfdf5;--bbs-bg:#f0fdf4;--bbs-surface:#fff;--bbs-surface-2:#e6f9ef;--bbs-surface-3:#d1f5dc;--bbs-border:#a7f3d0;--bbs-border-strong:#6ee7b7;--bbs-text-primary:#064e3b;--bbs-text-secondary:#065f46;--bbs-text-muted:#6b9e88;--bbs-radius-sm:6px;--bbs-radius:8px;--bbs-radius-lg:12px;--bbs-shadow:0 1px 4px #04785712;--bbs-shadow-md:0 4px 14px #0478571a}.bbs-container{background:#f0fdf4;background:var(--bbs-bg);border-radius:12px;border-radius:var(--bbs-radius-lg);box-shadow:0 2px 8px #0000000d;box-sizing:border-box;color:#064e3b;color:var(--bbs-text-primary);margin:40px auto;max-width:800px;padding:0 16px 60px}.bbs-title{color:#047857;color:var(--bbs-accent-dark);font-size:1.75rem;font-weight:700;letter-spacing:.04em;margin:0 0 4px;padding:28px 0 22px;position:relative;text-align:center}.bbs-title:after{background:#059669;background:var(--bbs-accent);border-radius:2px;content:"";display:block;height:3px;margin:8px auto 0;width:40px}.thread-list-wrapper{padding-top:4px}.thread-list-toolbar{align-items:center;display:flex;gap:8px;margin-bottom:12px}.thread-search-wrap{align-items:center;display:flex;flex:1 1;position:relative}.search-icon{color:#6b9e88;color:var(--bbs-text-muted);display:flex;left:11px;pointer-events:none;position:absolute}.thread-search-input{background:#fff;background:var(--bbs-surface);border:1px solid #a7f3d0;border:1px solid var(--bbs-border);border-radius:8px;border-radius:var(--bbs-radius);box-sizing:border-box;color:#064e3b;color:var(--bbs-text-primary);font-family:inherit;font-size:1rem;height:40px;outline:none;padding:0 14px 0 34px;transition:border-color .15s,box-shadow .15s;width:100%}.thread-search-input:focus{border-color:#059669;border-color:var(--bbs-accent);box-shadow:0 0 0 3px #0596691f}.thread-search-input::placeholder{color:#6b9e88;color:var(--bbs-text-muted)}.btn-new-thread{background:#059669;background:var(--bbs-accent);border:1px solid #059669;border:1px solid var(--bbs-accent);border-radius:8px;border-radius:var(--bbs-radius);color:#fff;cursor:pointer;font-family:inherit;font-size:.88rem;font-weight:500;height:40px;padding:0 16px;transition:background .15s,border-color .15s;white-space:nowrap}.btn-new-thread:hover{background:#047857;background:var(--bbs-accent-dark);border-color:#047857;border-color:var(--bbs-accent-dark)}.btn-new-thread.active{background:#fff;background:var(--bbs-surface);border-color:#6ee7b7;border-color:var(--bbs-border-strong);color:#6b9e88;color:var(--bbs-text-muted)}.category-filter{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.cat-chip{background:#fff;background:var(--bbs-surface);border:1px solid #a7f3d0;border:1px solid var(--bbs-border);border-radius:99px;color:#065f46;color:var(--bbs-text-secondary);cursor:pointer;font-family:inherit;font-size:.82rem;height:30px;padding:0 13px;transition:all .15s}.cat-chip:hover{background:#ecfdf5;background:var(--bbs-accent-xlight);color:#059669;color:var(--bbs-accent)}.cat-chip.selected,.cat-chip:hover{border-color:#059669;border-color:var(--bbs-accent)}.cat-chip.selected{background:#059669;background:var(--bbs-accent);color:#fff}.new-thread-form{background:#fff;background:var(--bbs-surface);border:1px solid #a7f3d0;border:1px solid var(--bbs-border);border-radius:12px;border-radius:var(--bbs-radius-lg);box-shadow:0 1px 4px #04785712;box-shadow:var(--bbs-shadow);margin-bottom:14px;padding:16px}.form-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.form-input,.form-select{background:#f0fdf4;background:var(--bbs-bg);border:1px solid #a7f3d0;border:1px solid var(--bbs-border);border-radius:8px;border-radius:var(--bbs-radius);box-sizing:border-box;color:#064e3b;color:var(--bbs-text-primary);font-family:inherit;font-size:1rem;height:40px;outline:none;padding:0 12px;transition:border-color .15s,box-shadow .15s}.form-input{flex:1 1 200px}.form-input:focus,.form-select:focus{background:#fff;border-color:#059669;border-color:var(--bbs-accent);box-shadow:0 0 0 3px #0596691f}.form-select{min-width:120px}.btn-submit{background:#059669;background:var(--bbs-accent);border:none;border-radius:8px;border-radius:var(--bbs-radius);color:#fff;cursor:pointer;font-family:inherit;font-size:.9rem;font-weight:500;height:38px;padding:0 20px;transition:background .15s}.btn-submit:hover:not(:disabled){background:#047857;background:var(--bbs-accent-dark)}.btn-submit:disabled{cursor:not-allowed;opacity:.5}.thread-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.thread-item{align-items:center;background:#e6f9ef;background:var(--bbs-surface-2);border:1px solid #0000;border-radius:8px;border-radius:var(--bbs-radius);box-sizing:border-box;cursor:pointer;display:flex;gap:12px;justify-content:space-between;padding:14px 16px;transition:all .15s}.thread-item:hover{background:#d1f5dc;background:var(--bbs-surface-3);border-color:#6ee7b7;border-color:var(--bbs-border-strong);box-shadow:0 4px 14px #0478571a;box-shadow:var(--bbs-shadow-md);transform:translateY(-1px)}.thread-item-main{align-items:center;display:flex;flex:1 1;gap:8px;min-width:0}.thread-cat-badge{background:#ecfdf5;background:var(--bbs-accent-xlight);border:1px solid #a7f3d0;border:1px solid var(--bbs-border);border-radius:99px;color:#047857;color:var(--bbs-accent-dark);flex-shrink:0;font-size:.74rem;font-weight:500;padding:2px 9px}.thread-title{color:#064e3b;color:var(--bbs-text-primary);font-size:.93rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-item-meta{align-items:center;display:flex;flex-shrink:0;gap:12px}.thread-posts-count{align-items:center;color:#065f46;color:var(--bbs-text-secondary);display:flex;font-size:.82rem}.thread-date{color:#6b9e88;color:var(--bbs-text-muted);font-size:.78rem;white-space:nowrap}.bbs-thread-wrapper{padding-top:4px}.thread-header{background:#fff;background:var(--bbs-surface);border:1px solid #a7f3d0;border:1px solid var(--bbs-border);border-radius:12px;border-radius:var(--bbs-radius-lg);box-shadow:0 1px 4px #04785712;box-shadow:var(--bbs-shadow);margin-bottom:16px;padding:14px 18px}.btn-back{align-items:center;background:none;border:none;color:#059669;color:var(--bbs-accent);cursor:pointer;display:inline-flex;font-family:inherit;font-size:.85rem;gap:5px;margin-bottom:10px;padding:0;transition:color .15s}.btn-back:hover{color:#047857;color:var(--bbs-accent-dark);text-decoration:underline}.thread-header-title{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px}.thread-name{color:#064e3b;color:var(--bbs-text-primary);font-size:1.1rem;font-weight:600;margin:0}.thread-post-total{color:#6b9e88;color:var(--bbs-text-muted);font-size:.8rem}.reply-form{margin-bottom:20px}.reply-form-inner{background:#fff;background:var(--bbs-surface);border:1px solid #a7f3d0;border:1px solid var(--bbs-border);border-radius:12px;border-radius:var(--bbs-radius-lg);box-shadow:0 1px 4px #04785712;box-shadow:var(--bbs-shadow);overflow:hidden;transition:border-color .2s,box-shadow .2s}.reply-form-inner:focus-within{border-color:#059669;border-color:var(--bbs-accent);box-shadow:0 0 0 3px #0596691f}.reply-form-label{color:#6b9e88;color:var(--bbs-text-muted);font-size:.78rem;font-weight:500;letter-spacing:.03em;padding:10px 14px 4px}.reply-textarea{background:#0000;border:none;box-sizing:border-box;color:#064e3b;color:var(--bbs-text-primary);font-family:inherit;font-size:1rem;line-height:1.65;max-height:240px;min-height:80px;outline:none;padding:6px 14px 10px;resize:none;width:100%}.reply-textarea::placeholder{color:#6b9e88;color:var(--bbs-text-muted)}.reply-form-footer{align-items:center;background:#ecfdf5;background:var(--bbs-accent-xlight);border-top:1px solid #a7f3d0;border-top:1px solid var(--bbs-border);display:flex;gap:10px;padding:8px 14px}.char-counter{color:#6b9e88;color:var(--bbs-text-muted);font-size:.78rem}.post-error{color:#b91c1c;flex:1 1;font-size:.8rem}.btn-post{background:#059669;background:var(--bbs-accent);border:none;border-radius:8px;border-radius:var(--bbs-radius);color:#fff;cursor:pointer;font-family:inherit;font-size:.85rem;font-weight:500;height:32px;margin-left:auto;padding:0 18px;transition:background .15s}.btn-post:hover:not(:disabled){background:#047857;background:var(--bbs-accent-dark)}.btn-post:disabled{cursor:not-allowed;opacity:.45}.post-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.post-item{background:#e6f9ef;background:var(--bbs-surface-2);border:1px solid #0000;border-radius:12px;border-radius:var(--bbs-radius-lg);box-shadow:0 1px 4px #04785712;box-shadow:var(--bbs-shadow);box-sizing:border-box;padding:14px 16px;transition:box-shadow .15s,border-color .15s}.post-item:hover{border-color:#a7f3d0;border-color:var(--bbs-border);box-shadow:0 4px 14px #0478571a;box-shadow:var(--bbs-shadow-md)}.post-header{gap:10px;margin-bottom:8px}.post-avatar,.post-header{align-items:center;display:flex}.post-avatar{background:#d1fae5;background:var(--bbs-accent-light);border:1px solid #a7f3d0;border:1px solid var(--bbs-border);border-radius:50%;color:#047857;color:var(--bbs-accent-dark);flex-shrink:0;font-size:.85rem;font-weight:600;height:32px;justify-content:center;width:32px}.post-meta{align-items:center;display:flex;flex:1 1;gap:7px;min-width:0}.post-username{color:#065f46;color:var(--bbs-text-secondary);font-size:.88rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.post-num{flex-shrink:0;font-size:.75rem}.post-date,.post-num{color:#6b9e88;color:var(--bbs-text-muted)}.post-date{font-size:.78rem;margin-left:auto;white-space:nowrap}.post-content{color:#064e3b;color:var(--bbs-text-primary);font-size:.9rem;line-height:1.72;padding-left:42px;white-space:pre-wrap;word-break:break-word}.pagination{gap:4px;margin:14px 0}.page-btn,.pagination{align-items:center;display:flex;justify-content:center}.page-btn{background:#fff;background:var(--bbs-surface);border:1px solid #a7f3d0;border:1px solid var(--bbs-border);border-radius:8px;border-radius:var(--bbs-radius);color:#065f46;color:var(--bbs-text-secondary);cursor:pointer;font-family:inherit;font-size:.85rem;height:34px;min-width:34px;padding:0 6px;transition:all .15s}.page-btn:hover:not(:disabled){background:#ecfdf5;background:var(--bbs-accent-xlight);color:#059669;color:var(--bbs-accent)}.page-btn.active,.page-btn:hover:not(:disabled){border-color:#059669;border-color:var(--bbs-accent)}.page-btn.active{background:#059669;background:var(--bbs-accent);color:#fff;font-weight:500}.page-btn:disabled{cursor:not-allowed;opacity:.35}.page-ellipsis{font-size:.85rem;padding:0 4px}.loading-state,.page-ellipsis{color:#6b9e88;color:var(--bbs-text-muted)}.loading-state{align-items:center;display:flex;font-size:.9rem;gap:10px;justify-content:center;padding:48px 0}.spinner{animation:spin .6s linear infinite;border:2px solid #a7f3d0;border-top-color:#059669;border:2px solid var(--bbs-border);border-radius:50%;border-top-color:var(--bbs-accent);height:18px;width:18px}@keyframes spin{to{transform:rotate(1turn)}}.error-state{color:#b91c1c;padding:40px 0}.empty-state,.error-state{font-size:.9rem;text-align:center}.empty-state{padding:48px 0}.btn-delete-post,.empty-state{color:#6b9e88;color:var(--bbs-text-muted)}.btn-delete-post{align-items:center;background:#fff;background:var(--bbs-surface);border:1px solid #a7f3d0;border:1px solid var(--bbs-border);border-radius:6px;border-radius:var(--bbs-radius-sm);cursor:pointer;display:flex;flex-shrink:0;font-size:.75rem;height:26px;justify-content:center;margin-left:6px;transition:all .15s;width:26px}.btn-delete-post:hover:not(:disabled){background:#fff1f1;border-color:#fca5a5;color:#dc2626}.btn-delete-post:disabled{cursor:not-allowed;opacity:.45}.post-item--staff{background:#eff6ff;border-color:#93c5fd}.post-item--staff:hover{border-color:#3b82f6;box-shadow:0 4px 14px #3b82f61f}.post-avatar--staff{background:#1d4ed8;border-color:#3b82f6;color:#fff}.role-badge{align-items:center;border-radius:3px;display:inline-flex;flex-shrink:0;font-size:.65rem;font-weight:700;letter-spacing:.04em;padding:2px 7px;white-space:nowrap}.role-badge--staff{background:#1d4ed8;color:#fff}.role-badge--user{background:#166534;color:#fff}@media (max-width:560px){.bbs-container{border-radius:8px;border-radius:var(--bbs-radius);margin:16px auto}.thread-item{align-items:flex-start;flex-direction:column;gap:6px}.thread-item-meta{justify-content:space-between;width:100%}.post-content{padding-left:0}.form-input,.form-select{flex:1 1 100%}.btn-submit{width:100%}}:root{--adm-font:"Hiragino Sans","Noto Sans JP",sans-serif;--adm-bg:#f4f5f7;--adm-surface:#fff;--adm-border:#e2e4e9;--adm-border-light:#eef0f4;--adm-radius-sm:6px;--adm-radius:10px;--adm-radius-lg:14px;--adm-shadow:0 1px 4px #00000012,0 4px 16px #0000000d;--adm-shadow-lg:0 8px 32px #0000001f;--adm-text-primary:#111318;--adm-text-secondary:#5a6070;--adm-text-muted:#9ba3b2;--adm-blue:#2563eb;--adm-blue-light:#dbeafe;--adm-blue-mid:#bfdbfe;--adm-blue-dark:#1e3a8a;--adm-green:#16a34a;--adm-green-light:#dcfce7;--adm-green-mid:#bbf7d0;--adm-green-dark:#14532d;--adm-red:#dc2626;--adm-red-light:#fee2e2;--adm-red-mid:#fecaca;--adm-red-dark:#7f1d1d;--adm-amber:#d97706;--adm-amber-light:#fef3c7;--adm-amber-mid:#fde68a;--adm-amber-dark:#78350f;--adm-violet:#7c3aed;--adm-violet-light:#ede9fe;--adm-violet-mid:#ddd6fe;--adm-violet-dark:#3b0764;--adm-teal:#0d9488;--adm-teal-light:#ccfbf1;--adm-teal-mid:#99f6e4;--adm-teal-dark:#134e4a}.adm-page{background:#f4f5f7;background:var(--adm-bg);color:#111318;color:var(--adm-text-primary);font-family:Hiragino Sans,Noto Sans JP,sans-serif;font-family:var(--adm-font);margin:0 auto;max-width:960px;min-height:100vh;padding:1.75rem 1.25rem}.adm-page-narrow{max-width:820px}.adm-header{flex-wrap:wrap;gap:.75rem;justify-content:space-between;margin-bottom:1.5rem}.adm-header,.adm-header-left{align-items:center;display:flex}.adm-header-left{gap:.625rem}.adm-title{color:#111318;color:var(--adm-text-primary);font-size:1.125rem;font-weight:700;letter-spacing:-.02em;margin:0}.adm-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.6875rem;font-weight:600;letter-spacing:.02em;line-height:1;padding:.2rem .625rem}.adm-badge--red{background:#fee2e2;background:var(--adm-red-light);color:#7f1d1d;color:var(--adm-red-dark)}.adm-badge--green{background:#dcfce7;background:var(--adm-green-light);color:#14532d;color:var(--adm-green-dark)}.adm-badge--blue{background:#dbeafe;background:var(--adm-blue-light);color:#1e3a8a;color:var(--adm-blue-dark)}.adm-badge--amber{background:#fef3c7;background:var(--adm-amber-light);color:#78350f;color:var(--adm-amber-dark)}.adm-badge--violet{background:#ede9fe;background:var(--adm-violet-light);color:#3b0764;color:var(--adm-violet-dark)}.adm-badge--teal{background:#ccfbf1;background:var(--adm-teal-light);color:#134e4a;color:var(--adm-teal-dark)}.adm-badge--count-high{background:#fee2e2;background:var(--adm-red-light);border-radius:999px;color:#dc2626;color:var(--adm-red);font-weight:700;padding:.2rem .625rem}.adm-badge--count-normal{color:#111318;color:var(--adm-text-primary)}.adm-card{background:#fff;background:var(--adm-surface);border:1px solid #e2e4e9;border:1px solid var(--adm-border);border-radius:14px;border-radius:var(--adm-radius-lg);box-shadow:0 1px 4px #00000012,0 4px 16px #0000000d;box-shadow:var(--adm-shadow);overflow:hidden}.adm-card__header{align-items:center;background:#fafbfc;border-bottom:1px solid #eef0f4;border-bottom:1px solid var(--adm-border-light);color:#111318;color:var(--adm-text-primary);display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:space-between;padding:.75rem 1rem}.adm-card__header-sub{color:#9ba3b2;color:var(--adm-text-muted);font-size:.75rem;font-weight:400}.adm-filter-box{background:#fff;background:var(--adm-surface);border:1px solid #e2e4e9;border:1px solid var(--adm-border);border-radius:14px;border-radius:var(--adm-radius-lg);box-shadow:0 1px 4px #00000012,0 4px 16px #0000000d;box-shadow:var(--adm-shadow);margin-bottom:1rem;padding:1rem}.adm-filter-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:.625rem}.adm-filter-field{display:flex;flex-direction:column;gap:.25rem}.adm-filter-label{color:#9ba3b2;color:var(--adm-text-muted);font-size:.6875rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.adm-input,.adm-select{background:#fff;background:var(--adm-surface);border:1px solid #e2e4e9;border:1px solid var(--adm-border);border-radius:10px;border-radius:var(--adm-radius);color:#111318;color:var(--adm-text-primary);font-family:Hiragino Sans,Noto Sans JP,sans-serif;font-family:var(--adm-font);font-size:1rem;outline:none;padding:.4375rem .625rem;transition:border-color .15s,box-shadow .15s}.adm-input:focus,.adm-select:focus{border-color:#2563eb;border-color:var(--adm-blue);box-shadow:0 0 0 3px #2563eb1f}.adm-input--full,.adm-select--full{box-sizing:border-box;width:100%}.adm-field-hint{color:var(--adm-mute);display:block;font-size:.72rem;margin-top:.25rem}.adm-btn{align-items:center;border:1px solid #0000;border-radius:10px;border-radius:var(--adm-radius);cursor:pointer;display:inline-flex;font-family:Hiragino Sans,Noto Sans JP,sans-serif;font-family:var(--adm-font);font-size:1rem;font-weight:500;gap:.375rem;justify-content:center;line-height:1;padding:.4375rem .875rem;transition:background .15s,border-color .15s,opacity .15s,transform .1s;white-space:nowrap}.adm-btn:disabled{cursor:default;opacity:.45;transform:none!important}.adm-btn--primary{background:#111318;background:var(--adm-text-primary);border-color:#111318;border-color:var(--adm-text-primary);color:#fff}.adm-btn--primary:not(:disabled):hover{background:#2a2d36;transform:translateY(-1px)}.adm-btn--default{background:#fff;background:var(--adm-surface);border-color:#e2e4e9;border-color:var(--adm-border);color:#5a6070;color:var(--adm-text-secondary)}.adm-btn--default:not(:disabled):hover{background:#f4f5f7;background:var(--adm-bg);border-color:#c0c5d0}.adm-btn--danger{background:#0000;border-color:#fecaca;border-color:var(--adm-red-mid);color:#dc2626;color:var(--adm-red)}.adm-btn--danger:not(:disabled):hover{background:#fee2e2;background:var(--adm-red-light);border-color:#dc2626;border-color:var(--adm-red)}.adm-btn--sm{border-radius:6px;border-radius:var(--adm-radius-sm);font-size:.75rem;padding:.3125rem .625rem}.adm-table-wrap{overflow-x:auto}.adm-table{border-collapse:collapse;font-size:1rem;width:100%}.adm-table thead tr{background:#fafbfc}.adm-table th{color:#9ba3b2;color:var(--adm-text-muted);font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-align:left;text-transform:uppercase;white-space:nowrap}.adm-table td,.adm-table th{border-bottom:1px solid #eef0f4;border-bottom:1px solid var(--adm-border-light);padding:.5625rem .75rem}.adm-table td{vertical-align:middle}.adm-table tbody tr{transition:background .1s}.adm-table tbody tr:hover{background:#f7f8fa}.adm-table tbody tr:last-child td{border-bottom:none}.adm-table__id{color:#9ba3b2;color:var(--adm-text-muted);font-size:.75rem}.adm-table__bold{font-weight:600}.adm-table__mute{color:#5a6070;color:var(--adm-text-secondary)}.adm-table__ellipsis{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-pagination{align-items:center;border-top:1px solid #eef0f4;border-top:1px solid var(--adm-border-light);color:#5a6070;color:var(--adm-text-secondary);display:flex;font-size:1rem;gap:.5rem;padding:.625rem .75rem}.adm-pagination__count{color:#9ba3b2;color:var(--adm-text-muted);font-size:.75rem;margin-left:auto}.adm-flash{align-items:center;animation:adm-slide-in .2s ease;border-radius:10px;border-radius:var(--adm-radius);display:flex;font-size:1rem;justify-content:space-between;margin-bottom:1rem;padding:.625rem .875rem}.adm-flash--success{background:#dcfce7;background:var(--adm-green-light);border:1px solid #bbf7d0;border:1px solid var(--adm-green-mid);color:#14532d;color:var(--adm-green-dark)}.adm-flash--error{background:#fee2e2;background:var(--adm-red-light);border:1px solid #fecaca;border:1px solid var(--adm-red-mid);color:#7f1d1d;color:var(--adm-red-dark)}.adm-flash__close{background:none;border:none;color:inherit;cursor:pointer;font-size:.875rem;line-height:1;opacity:.6;padding:0 .25rem}.adm-flash__close:hover{opacity:1}@keyframes adm-slide-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.adm-overlay{align-items:center;animation:adm-fade-in .15s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0f1980;display:flex;inset:0;justify-content:center;position:fixed;z-index:300}@keyframes adm-fade-in{0%{opacity:0}to{opacity:1}}.adm-modal{animation:adm-scale-in .18s ease;background:#fff;background:var(--adm-surface);border:1px solid #e2e4e9;border:1px solid var(--adm-border);border-radius:14px;border-radius:var(--adm-radius-lg);box-shadow:0 8px 32px #0000001f;box-shadow:var(--adm-shadow-lg);max-width:92vw;padding:1.5rem;width:400px}.adm-modal--sm{width:340px}@keyframes adm-scale-in{0%{opacity:0;transform:scale(.96) translateY(6px)}to{opacity:1;transform:scale(1) translateY(0)}}.adm-modal__title{color:#111318;color:var(--adm-text-primary);font-size:1rem;font-weight:700;margin:0 0 1rem}.adm-modal__body{color:#5a6070;color:var(--adm-text-secondary);font-size:1rem;margin-bottom:.5rem}.adm-modal__confirm-target{color:#111318;color:var(--adm-text-primary);font-size:.875rem;font-weight:600;margin-bottom:1.25rem}.adm-modal__actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1.25rem}.adm-form-field{margin-bottom:.875rem}.adm-form-label{color:#5a6070;color:var(--adm-text-secondary);display:block;font-size:.6875rem;font-weight:600;letter-spacing:.04em;margin-bottom:.3125rem;text-transform:uppercase}.adm-form-required{color:#dc2626;color:var(--adm-red);margin-left:.125rem}.adm-form-hint{color:#9ba3b2;color:var(--adm-text-muted);font-size:.6875rem;margin-top:.25rem}.adm-sort-row{align-items:center;display:flex;gap:.375rem}.adm-empty{color:#9ba3b2;color:var(--adm-text-muted);font-size:1rem;padding:2.5rem 1rem;text-align:center}.adm-menu-grid{grid-gap:.875rem;display:grid;gap:.875rem;grid-template-columns:repeat(auto-fill,minmax(175px,1fr))}.adm-menu-card{border-radius:14px;border-radius:var(--adm-radius-lg);border-style:solid;border-width:1px;cursor:pointer;display:flex;flex-direction:column;gap:.625rem;padding:1.125rem 1rem;text-decoration:none;transition:filter .15s,transform .15s,box-shadow .15s}.adm-menu-card:hover{box-shadow:0 6px 20px #0000001a;filter:brightness(.96);transform:translateY(-2px)}.adm-menu-card__icon{align-items:center;border-radius:9px;display:flex;flex-shrink:0;height:38px;justify-content:center;width:38px}.adm-menu-card__label{font-size:.875rem;font-weight:600;margin-bottom:.1875rem}.adm-menu-card__desc{font-size:.75rem;line-height:1.45}.adm-menu-card__arrow{font-size:.75rem;margin-top:auto;opacity:.55;text-align:right}.adm-nowrap{white-space:nowrap}.adm-center{text-align:center}.adm-mt-auto{margin-top:auto}.adm-gap-sm{display:flex;flex-wrap:wrap;gap:.375rem}.anl-page{--anl-text:#1f2937;--anl-muted:#6b7280;--anl-line:#d1fae5;--anl-line-strong:#a7f3d0;--anl-bg:#ecfdf5;--anl-hover:#f0fdf4;--anl-card:#fff;--anl-accent:#047857;--anl-accent-dark:#065f46;--anl-accent-line:#6ee7b7;--anl-observed:#047857;--anl-forecast:#7c3aed;--anl-missing:#9ca3af;--anl-warn:#b45309;color:var(--anl-text);font-size:1rem}.anl-header{margin-bottom:1rem}.anl-title{align-items:center;color:var(--anl-accent-dark);display:flex;flex-wrap:wrap;font-size:1.25rem;font-weight:700;gap:.5rem;margin:0 0 .25rem}.anl-subtitle{color:var(--anl-muted);font-size:.8125rem;margin:0}.anl-back{align-items:center;background:none;border:none;color:var(--anl-accent);cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:600;gap:.375rem;margin-bottom:.5rem;padding:0}.anl-back:before{transform:rotate(-135deg)}.anl-back:hover{text-decoration:underline}.anl-badge{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:600;line-height:1.5;padding:.125rem .5rem;white-space:nowrap}.anl-badge--weekday{background:#047857;color:#fff}.anl-badge--sat{background:#1e40af;color:#fff}.anl-badge--holiday{background:#b91c1c;color:#fff}.anl-badge--now{background:#047857;color:#fff}.anl-badge--code{background:#fff;border:1px solid var(--anl-accent);color:var(--anl-accent-dark)}.anl-badge--link{cursor:pointer;font:inherit;font-size:.75rem;line-height:inherit;padding:2px 6px}.anl-badge--link:hover{background:var(--anl-accent);color:#fff}.anl-badge--vertical{align-items:center;border-radius:.25rem;display:flex;letter-spacing:.05em;padding:.375rem .125rem;text-orientation:upright;writing-mode:vertical-rl}.anl-badge--depot{background:#dbeafe;color:#1e3a8a}.anl-badge--high{background:#d1fae5;color:#065f46}.anl-badge--mid{background:#fef3c7;color:#92400e}.anl-badge--low{background:#fee2e2;color:#991b1b}.anl-badge--unknown{background:#f3f4f6;color:#4b5563}.anl-badge--foreign{background:#ffedd5;color:#9a3412}.anl-card{background:var(--anl-card);border:1px solid var(--anl-line);border-radius:.5rem;box-shadow:0 1px 4px #04785714;margin-bottom:1rem;overflow:hidden}.anl-card__header{align-items:center;background:var(--anl-bg);border-bottom:1px solid var(--anl-line);color:var(--anl-accent-dark);display:flex;font-size:.8125rem;font-weight:600;gap:.5rem;justify-content:space-between;padding:.625rem .875rem}.anl-card__body{padding:.875rem}.anl-stats{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr))}.anl-stat__label{margin-bottom:.125rem}.anl-stat__value{font-size:1.125rem}.anl-timeline{list-style:none;margin:0;padding:0}.anl-trip{grid-gap:.5rem;align-items:center;border-bottom:1px dashed var(--anl-line);display:grid;gap:.5rem;grid-template-columns:2.25rem 3.25rem auto minmax(0,1fr) auto;padding:.5rem .25rem}.anl-trip:last-child{border-bottom:none}.anl-trip__mark{background:#fff;border:2px solid var(--anl-missing);border-radius:9999px;height:.75rem;justify-self:center;width:.75rem}.anl-trip--observed .anl-trip__mark{background:var(--anl-observed);border-color:var(--anl-observed)}.anl-trip--forecast .anl-trip__mark{background:#fff;border-color:var(--anl-forecast);border-style:dashed}.anl-trip__time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.anl-trip--observed .anl-trip__time{color:var(--anl-accent-dark)}.anl-trip--forecast .anl-trip__time{color:var(--anl-forecast)}.anl-trip--missing .anl-trip__time{color:var(--anl-missing)}.anl-trip__where{min-width:0;white-space:nowrap}.anl-trip__no{align-items:center;display:flex;min-width:0;overflow:hidden}.anl-trip__no .anl-no{align-items:center;display:inline-flex;margin-left:0;max-width:100%;min-width:0}.anl-trip__route{border-radius:.25rem;display:inline-block;font-weight:600;margin-right:.375rem;padding:0 .375rem}.anl-trip--missing .anl-trip__route{opacity:.45}.anl-trip__start{color:var(--anl-text)}.anl-trip--missing .anl-trip__start{color:var(--anl-missing)}.anl-trip__tag{color:var(--anl-muted);font-size:.6875rem;margin-left:.375rem}.anl-trip__tag--warn{color:var(--anl-warn)}.anl-trip__right{color:var(--anl-muted);font-size:.6875rem;text-align:right}.anl-forecast-band{background:#faf5ff;border-left:3px dashed var(--anl-forecast);border-radius:0 .25rem .25rem 0;color:#5b21b6;font-size:.75rem;margin:.5rem 0;padding:.375rem .625rem}.anl-next{background:#faf5ff;border:2px dashed var(--anl-forecast);border-radius:.5rem;margin-bottom:1rem;padding:.75rem .875rem}.anl-next__label{color:#6d28d9;font-size:.75rem;font-weight:600;margin-bottom:.25rem}.anl-next__value{color:#4c1d95;font-size:1.0625rem;font-weight:700}.anl-table{border-collapse:collapse;font-size:.8125rem;width:100%}.anl-table td,.anl-table th{border-bottom:1px solid var(--anl-line);padding:.4375rem .5rem;text-align:left;white-space:nowrap}.anl-table th{background:var(--anl-bg);border-bottom-color:var(--anl-line-strong);color:var(--anl-accent-dark);font-size:.75rem;font-weight:600}.anl-table tbody tr:hover{background:var(--anl-hover)}.anl-table__num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.anl-table-wrap{overflow-x:auto}.anl-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.75rem}.anl-tab{background:#fff;border:1px solid var(--anl-line-strong);border-radius:9999px;color:var(--anl-accent-dark);cursor:pointer;font-size:.8125rem;padding:.3125rem .75rem}.anl-tab:hover{background:var(--anl-bg)}.anl-tab--active{background:var(--anl-accent);border-color:var(--anl-accent);color:#fff;font-weight:600}.anl-tab--active:hover{background:var(--anl-accent-dark)}.anl-link{background:none;border:none;color:var(--anl-accent);cursor:pointer;font-family:inherit;font-size:inherit;font-weight:600;padding:0}.anl-link:hover{text-decoration:underline}.anl-table .anl-link{display:inline-block;margin:-.4375rem -.5rem;padding:.4375rem .5rem}.anl-row-link{cursor:pointer}.anl-row-link>td,.anl-row-link>td .anl-link{padding-bottom:.75rem;padding-top:.75rem}.anl-row-link>td .anl-link{margin-bottom:-.75rem;margin-top:-.75rem}.anl-row-link:active{background:var(--anl-line)}.anl-empty{color:var(--anl-muted);font-size:.8125rem;padding:1.5rem .875rem;text-align:center}.anl-note{color:var(--anl-muted);margin:.5rem 0 0}.anl-note,.anl-warning{font-size:.75rem;line-height:1.6}.anl-warning{background:#fffbeb;border:1px solid #fcd34d;border-radius:.375rem;color:#92400e;margin-bottom:1rem;padding:.625rem .75rem}.anl-search{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.anl-input{border:1.5px solid var(--anl-accent-line);border-radius:.375rem;flex:1 1 8rem;font-size:1rem;padding:.4375rem .625rem}.anl-input:focus{border-color:var(--anl-accent);box-shadow:0 0 0 3px #0478571f;outline:none}.anl-input--short{flex:0 1 8rem;min-width:0}.anl-btn{background:var(--anl-accent);border:1px solid var(--anl-accent);border-radius:.375rem;color:#fff;cursor:pointer;font-size:1rem;font-weight:600;padding:.4375rem .875rem;white-space:nowrap}.anl-btn:hover:not(:disabled){background:var(--anl-accent-dark);border-color:var(--anl-accent-dark)}.anl-btn:disabled{cursor:default;opacity:.5}.anl-depot-grid{grid-gap:.625rem;display:grid;gap:.625rem;grid-template-columns:repeat(auto-fill,minmax(9rem,1fr))}.anl-depot-card{background:#fff;border:1px solid var(--anl-line-strong);border-radius:.5rem;cursor:pointer;padding:.75rem;text-align:left}.anl-depot-card:hover{background:var(--anl-hover);border-color:var(--anl-accent-line)}.anl-depot-card__name{color:var(--anl-accent-dark);font-weight:700;margin-bottom:.25rem}.anl-depot-card__meta{color:var(--anl-muted);font-size:.6875rem}.anl-route-badge{border:none;border-radius:.25rem;cursor:pointer;font-size:.8125rem;font-weight:700;line-height:1.6;padding:.125rem .5rem;white-space:nowrap}.anl-route-badge:hover{filter:brightness(1.1)}.anl-route-badge--lg{font-size:.875rem;padding:.25rem .75rem}.anl-route-chips{display:flex;flex-wrap:wrap;gap:.375rem}.anl-route-group+.anl-route-group{margin-top:.625rem}.anl-route-group__name{color:var(--anl-muted);font-size:.6875rem;font-weight:700;margin-bottom:.25rem}.anl-depot-select{align-items:center;color:var(--anl-muted);display:inline-flex;font-size:.75rem;font-weight:400;gap:.375rem}.anl-depot-select__label{white-space:nowrap}.anl-select{background:var(--anl-card);border:1px solid var(--anl-line-strong);border-radius:.25rem;color:var(--anl-text);font-family:inherit;font-size:.75rem;min-height:1.75rem;padding:.1875rem .375rem}.anl-select:focus{outline:2px solid var(--anl-accent);outline-offset:1px}.anl-chips{display:inline-flex;flex-wrap:wrap;gap:.1875rem}.anl-chip{border-radius:.1875rem;display:inline-block;font-size:.6875rem;font-weight:700;line-height:1.5;padding:0 .3125rem;white-space:nowrap}.anl-chip--many{background:#f3f4f6;color:var(--anl-muted);font-weight:400}.anl-route-cell{background:var(--anl-bg);border-right:1px solid var(--anl-line-strong);vertical-align:top;white-space:nowrap}.anl-route-cell__count{color:var(--anl-muted);font-size:.6875rem;margin-top:.25rem}.anl-route-break>td{border-top:2px solid var(--anl-line-strong)}.anl-chain{grid-gap:.375rem;align-items:start;display:grid;gap:.375rem;grid-template-columns:1fr auto 1fr auto 1fr}.anl-chain--half{grid-template-columns:1fr auto 1fr}.anl-chain__col{display:flex;flex-direction:column;gap:.25rem;min-width:0}.anl-chain__head{color:var(--anl-muted);font-size:.625rem;font-weight:600;text-align:center;white-space:nowrap}.anl-chain__arrow{align-items:center;align-self:center;color:var(--anl-accent);display:flex;flex:0 0 auto;justify-content:center;min-width:.875rem;padding-top:1.25rem}.anl-chain__arrow:before{transform:rotate(45deg)}.anl-chain__node{align-items:center;background:#fff;border:1px solid var(--anl-line-strong);border-radius:.375rem;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:.0625rem;padding:.375rem .1875rem;width:100%}.anl-chain__node:hover{background:var(--anl-hover);border-color:var(--anl-accent-line)}.anl-chain__node--self{background:var(--anl-bg);border:2px solid var(--anl-accent);cursor:default}.anl-chain__code{color:var(--anl-accent-dark);font-size:.875rem;font-weight:700;line-height:1.2}.anl-chain__span{font-feature-settings:"tnum";align-items:center;display:flex;flex-direction:column;font-size:.6875rem;font-variant-numeric:tabular-nums;line-height:1.25}.anl-chain__to:before{color:var(--anl-muted);content:"〜"}.anl-chain__meta{color:var(--anl-muted);font-size:.5625rem;line-height:1.3}.anl-chain__meta--when{max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.anl-chain__or{color:var(--anl-muted);font-size:.5625rem;text-align:center}.anl-chain__none{color:var(--anl-missing);font-size:.6875rem;padding:.75rem 0;text-align:center}@media (max-width:30rem){.anl-chain{gap:.1875rem}.anl-chain__arrow{padding-top:1.125rem}.anl-chain__code{font-size:.8125rem}.anl-chain__span{font-size:.625rem}.anl-chain__node{padding:.3125rem .125rem}.anl-chain__meta--when{font-size:.5rem}}.anl-cal{display:flex;flex-direction:column;gap:2px}.anl-cal__row{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,1fr)}.anl-cal__head{color:var(--anl-muted);font-size:.6875rem;font-weight:600;padding:.125rem 0;text-align:center}.anl-cal__head--sun{color:#b91c1c}.anl-cal__head--sat{color:#1e40af}.anl-cal__cell{background:#fafafa;border:1px solid #e5e7eb;border-radius:.25rem;display:flex;flex-direction:column;gap:.125rem;min-height:3rem;padding:.1875rem}.anl-cal__cell--has{background:var(--anl-hover);border-color:var(--anl-accent-line)}.anl-cal__cell--future{opacity:.45}.anl-cal__date{color:var(--anl-muted);font-size:.625rem;line-height:1}.anl-cal__bus{font-feature-settings:"tnum";background:var(--anl-accent);border:none;border-radius:.1875rem;color:#fff;cursor:pointer;font-size:.75rem;font-variant-numeric:tabular-nums;font-weight:700;padding:.1875rem 0;width:100%}.anl-cal__bus:hover{background:var(--anl-accent-dark)}.anl-cal__blank{flex:1 1}.anl-cal__bus--weak{background:var(--anl-line-strong);color:var(--anl-accent-dark)}.anl-cal__bus--weak:hover{background:var(--anl-accent-line)}.anl-cal__duty{background:#fff;border:1px solid var(--anl-accent-line);border-radius:.1875rem;cursor:pointer;display:block;font-family:inherit;line-height:1.2;padding:.125rem .125rem .1875rem;width:100%}.anl-cal__duty:hover{background:var(--anl-bg)}.anl-cal__code{font-feature-settings:"tnum";color:var(--anl-accent-dark);display:block;font-size:.75rem;font-variant-numeric:tabular-nums;font-weight:700}.anl-cal__code-line{display:block;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.anl-cal__code-arrow{border-left:3px solid #0000;border-right:3px solid #0000;border-top:4px solid;display:block;height:0;margin:1px auto;opacity:.55;width:0}.anl-cal__route{border-radius:.125rem;display:block;font-size:.625rem;font-weight:600;overflow:hidden;padding:0 .125rem;text-overflow:ellipsis;white-space:nowrap}.anl-cal__route+.anl-cal__route{margin-top:1px}.anl-cal__route--many{background:#f3f4f6;color:var(--anl-muted);font-size:.5625rem;font-weight:400}.anl-cal__duty--weak{border-color:var(--anl-line-strong)}.anl-cal__duty--weak .anl-cal__code{color:var(--anl-muted)}.anl-cal__duty--unknown{background:#f9fafb;border-color:#d1d5db}.anl-cal__duty--unknown .anl-cal__code{color:#6b7280}.anl-notice{border:1px solid #0000;border-radius:.375rem;font-size:.8125rem;line-height:1.6;margin-bottom:.625rem;padding:.5rem .75rem}.anl-notice strong{font-weight:700}.anl-notice--find{background:#eff6ff;border-color:#93c5fd;color:#1e3a8a;cursor:pointer}.anl-notice--find:hover{background:#dbeafe}.anl-notice--quiet{background:#f3f4f6;border-color:#d1d5db;color:#4b5563}.anl-notice--change{background:#fff7ed;border-color:#fdba74;color:#9a3412}.anl-cal__bus--changed{background:#ea580c}.anl-cal__bus--changed:hover{background:#c2410c}.anl-trip--other .anl-trip__mark{background:#fff;border:3px double #ea580c}.anl-trip--other .anl-trip__time{color:#9a3412}.anl-trip--other .anl-trip__start{color:var(--anl-text)}.anl-handover{align-items:center;display:flex;flex-wrap:wrap;gap:.375rem}.anl-handover__arrow{align-items:center;color:#c2410c;display:inline-flex}.anl-handover__arrow:before{transform:rotate(45deg)}.anl-handover__seg{align-items:baseline;background:#fff;border:1px solid #fdba74;border-radius:.25rem;display:inline-flex;gap:.25rem;padding:.125rem .5rem}.anl-handover__seg--self{border-color:#ea580c;border-width:2px}.anl-handover__span{color:#9a3412;font-size:.6875rem}.anl-legend{grid-gap:.375rem;border-top:1px solid var(--anl-line);display:grid;gap:.375rem;list-style:none;margin:.75rem 0 0;padding:.625rem .75rem}.anl-legend__item{grid-gap:.5rem;display:grid;font-size:.75rem;gap:.5rem;grid-template-columns:1rem auto 1fr}.anl-legend__item .anl-trip__mark{justify-self:center}.anl-legend__label{color:var(--anl-text);font-weight:600;white-space:nowrap}.anl-legend__note{color:var(--anl-muted)}@media (max-width:30rem){.anl-legend__item{grid-template-columns:1rem auto}.anl-legend__note{grid-column:2}}.anl-duty{margin-bottom:1.25rem}.anl-duty--current{border-left:3px solid var(--anl-observed);margin-left:-.625rem;padding-left:.625rem}.anl-chain__partial{color:var(--anl-warn);font-size:.5625rem;line-height:1.3;white-space:nowrap}.anl-daynav:before{border-style:solid;content:"";display:block;height:0;margin:0 auto;width:0}.anl-back:before,.anl-chain__arrow:before,.anl-handover__arrow:before{border:solid;border-width:.125rem .125rem 0 0;content:"";display:inline-block;height:.375rem;width:.375rem}.anl-daynav{background:#fff;border:1.5px solid var(--anl-accent-line);border-radius:.375rem;color:var(--anl-accent-dark);cursor:pointer;flex:0 0 auto;line-height:1;min-width:2.75rem;padding:.5rem}.anl-daynav--prev:before{border-color:#0000 currentColor #0000 #0000;border-width:.375rem .4375rem .375rem 0}.anl-daynav--next:before{border-color:#0000 #0000 #0000 currentColor;border-width:.375rem 0 .375rem .4375rem}.anl-daynav:hover:not(:disabled){background:var(--anl-bg);border-color:var(--anl-accent)}.anl-daynav:active:not(:disabled){background:var(--anl-line)}.anl-daynav:disabled{cursor:default;opacity:.35}.anl-no{background:#fff;border:1px solid var(--anl-line-strong);border-radius:.1875rem;color:var(--anl-muted);display:inline-block;font-size:.6875rem;font-weight:600;line-height:1.5;margin-left:.375rem;padding:0 .3125rem;white-space:nowrap}.anl-marquee{display:block;min-width:0;overflow:hidden;white-space:nowrap}.anl-marquee__text{display:inline-block;white-space:nowrap;will-change:transform}.anl-link--tentative{color:var(--anl-missing);font-weight:400}.anl-chart{position:relative}.anl-chart__svg{display:block;height:auto;min-width:20rem;width:100%}.anl-chart__tick{fill:var(--anl-muted);font-size:11px}.anl-chart__value{fill:var(--anl-text);font-size:12px;font-weight:700}.anl-chart__tip{align-items:center;background:var(--anl-bg);border:1px solid var(--anl-line);border-radius:.375rem;gap:.25rem .75rem;margin-top:.5rem;padding:.4375rem .625rem}.anl-chart__tip,.anl-legend{display:flex;flex-wrap:wrap;font-size:.8125rem}.anl-legend{color:var(--anl-text);gap:.25rem 1rem;margin-bottom:.5rem}.anl-legend__item{align-items:center;display:inline-flex;gap:.3125rem}.anl-legend__swatch{border-radius:.1875rem;display:inline-block;flex:none;height:.75rem;width:.75rem}.anl-legend__swatch--target{border-radius:0;border-top:2px dashed #6b7280;height:0}.anl-stats{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));margin:.75rem 0}.anl-stat{background:var(--anl-bg);border:1px solid var(--anl-line);border-radius:.375rem;padding:.625rem .75rem}.anl-stat__label{color:var(--anl-muted);font-size:.75rem;font-weight:600}.anl-stat__value{font-feature-settings:"tnum";align-items:center;color:var(--anl-accent-dark);display:flex;flex-wrap:wrap;font-size:1.375rem;font-variant-numeric:tabular-nums;font-weight:700;gap:.375rem;margin:.125rem 0}.anl-stat__note{color:var(--anl-muted);font-size:.6875rem;line-height:1.4}.anl-flag--open{border-left:3px solid var(--anl-warn)}.anl-flag--dismissed,.anl-flag--resolved{opacity:.7}.anl-flag__summary{font-weight:600;line-height:1.5;margin:0 0 .5rem}.anl-flag__list{font-size:.875rem;line-height:1.7;margin:0 0 .5rem;padding-left:1.25rem}.anl-flag__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.625rem 0 .375rem}.anl-btn--quiet{background:#fff;color:var(--anl-accent-dark)}.anl-btn--quiet:hover:not(:disabled){background:var(--anl-bg);border-color:var(--anl-accent-dark);color:var(--anl-accent-dark)}.anl-similarity{display:flex;flex-wrap:wrap;gap:2px;margin:.75rem 0 .5rem}.anl-similarity__cell{background:var(--anl-accent);border-radius:.125rem;flex:none;height:1.5rem;width:.75rem}.anl-similarity__cell--unknown{background:repeating-linear-gradient(45deg,#fff,#fff 3px,var(--anl-line) 3px,var(--anl-line) 6px)}.anl-similarity__cell--low{background:#b91c1c;opacity:1!important}.fav-today{--anl-muted:#6b7280;--anl-line:#d1fae5;--anl-line-strong:#a7f3d0;--anl-bg:#ecfdf5;--anl-accent:#047857;--anl-accent-dark:#065f46;--anl-observed:#047857;--anl-forecast:#7c3aed;--anl-missing:#9ca3af;color:#1f2937;margin:0 0 14px}.fav-today__head{align-items:baseline;background:linear-gradient(90deg,#ecfdf5,#f8fffe 70%,#fff);border-left:4px solid var(--anl-accent);border-radius:0 8px 8px 0;box-shadow:0 1px 4px #04785714;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin:0 0 8px;padding:11px 16px 11px 18px}.fav-today__title{color:var(--anl-accent-dark);font-size:1rem;font-weight:700;letter-spacing:.05em}.fav-today__meta{color:var(--anl-muted);font-size:.75rem}.fav-today__at{margin-left:.5rem}.fav-today__list{display:flex;gap:.5rem;overflow-x:auto;padding:0 0 .25rem}.fav-today__card{background:#fff;border:1px solid var(--anl-line);border-radius:.5rem;border-top:3px solid var(--anl-line-strong);flex:none;font-size:.8125rem;padding:.5rem .625rem .625rem;width:13.5rem}.fav-today__card--running{border-top-color:var(--anl-observed)}.fav-today__card--unknown{border-top-color:var(--anl-missing)}.fav-today__card--idle,.fav-today__card--unavailable{background:#fafafa}.fav-today__card-head{align-items:center;display:flex;flex-wrap:wrap;gap:.375rem;margin:0 0 .375rem}.fav-today__bus{color:var(--anl-accent-dark);font-size:1rem;font-weight:700}.fav-today__stat{color:var(--anl-muted);font-size:.75rem;margin:0 0 .375rem}.fav-today__multi{background:#ffedd5;border-radius:9999px;color:#9a3412;margin-left:.375rem;padding:.0625rem .375rem}.fav-today__trip{align-items:baseline;border-left:2px solid var(--anl-observed);display:flex;gap:.375rem;padding:.1875rem 0 .1875rem .5rem}.fav-today__trip--forecast{border-left:2px dashed var(--anl-forecast);color:var(--anl-forecast)}.fav-today__trip--done{color:#1f2937}.fav-today__time{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:700}.fav-today__where{font-size:.75rem}.fav-today__tag{margin-left:auto}.fav-today__more,.fav-today__tag{color:var(--anl-muted);font-size:.6875rem}.fav-today__more,.fav-today__note{margin:.25rem 0 0}.fav-today__note{color:var(--anl-muted);font-size:.75rem;line-height:1.5}.fav-today__legend{align-items:center;color:var(--anl-muted);display:flex;font-size:.6875rem;gap:.375rem;margin:.5rem 0 0}.fav-today__forecast-mark{border-top:2px dashed var(--anl-forecast);display:inline-block;flex:none;width:1rem}@media (max-width:30rem){.fav-today__card{width:12rem}}.anl-stop-chip{background:#fff;border:1px solid var(--anl-line-strong);border-radius:9999px;color:var(--anl-accent-dark);cursor:pointer;font-size:.8125rem;font-weight:600;padding:.25rem .75rem}.anl-stop-chip:not(.anl-stop-chip--active):hover{background:var(--anl-hover)}.anl-stop-chip--active{background:var(--anl-accent-dark);border-color:var(--anl-accent-dark);color:#fff}.anl-stop-chip--active:hover{background:var(--anl-accent)}.anl-badge--forecast{background:#ede9fe;color:#5b21b6}.anl-board{list-style:none;margin:.5rem 0 0;padding:0}.anl-board__row{align-items:center;border-top:1px solid var(--anl-line);display:flex;gap:.625rem;padding:.5rem .25rem}.anl-board__row:first-child{border-top:none}.anl-board__time{font-feature-settings:"tnum";color:var(--anl-accent-dark);flex:none;font-size:1.125rem;font-variant-numeric:tabular-nums;font-weight:700}.anl-board__where{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:.125rem;min-width:0}.anl-board__line{align-items:center;display:flex;flex-wrap:nowrap;gap:.375rem;min-width:0;width:100%}.anl-board__line>.anl-route-badge{flex:none}.anl-board__dest{flex:1 1 auto;font-size:.875rem;font-weight:600;min-width:0;overflow:hidden;white-space:nowrap}.anl-board__dest-inner{display:inline-block;transform:scaleX(1);transform:scaleX(var(--dest-scale,1));transform-origin:left center}.anl-board__origin{color:var(--anl-muted);font-size:.6875rem}.anl-board__head{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end}.anl-toggle{background:#fff;border:1px solid var(--anl-line-strong);border-radius:9999px;color:var(--anl-muted);cursor:pointer;font-size:.6875rem;font-weight:600;padding:.125rem .625rem;white-space:nowrap}.anl-toggle--on{background:var(--anl-accent-dark);border-color:var(--anl-accent-dark);color:#fff}.anl-toggle:not(.anl-toggle--on):hover{background:var(--anl-hover)}.anl-toggle--on:hover{background:var(--anl-accent)}.anl-board__bus{align-items:stretch;display:flex;flex:none;gap:.375rem}.anl-board__bus-stack{align-items:flex-end;display:flex;flex-direction:column;gap:.125rem;justify-content:center}@media (max-width:30rem){.anl-board__row{flex-wrap:wrap}.anl-board__bus{margin-left:auto}}*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.\!visible{visibility:visible!important}.visible{visibility:visible}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.\!block{display:block!important}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.flex-wrap{flex-wrap:wrap}.break-all{word-break:break-all}.border{border-width:1px}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.underline{-webkit-text-decoration-line:underline;text-decoration-line:underline}.outline{outline-style:solid}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}*,button,input,select,textarea{font-family:Kosugi Maru}input,select,textarea{font-size:16px}body,html{height:100%;margin:0;overflow-y:auto;padding:0}#root{min-height:100%}
/*# sourceMappingURL=main.908e5585.css.map*/