:root{--color-bg:#f4f6fa;--color-surface:#fff;--color-surface-alt:#eef4f3;--color-surface-muted:#f5f6f8;--color-fg:#1f2937;--color-border:#dfe3ea;--color-primary:#2f7f76;--color-primary-hover:#256b63;--color-primary-soft:#8fbfb8;--color-primary-fg:#fff;--color-accent:#1f5f58;--color-danger:#b91c1c;--color-success:#047857;--color-muted:#6b7280;--color-success-bg:#d1fae5;--color-danger-bg:#fee2e2;--color-disabled-bg:#e5e7eb;--color-disabled-fg:#4b5563;--color-disabled-border:#9ca3af;--color-attention:#b45309;--color-attention-hover:#92400e;--color-attention-border:#7c2d12;--color-header-fg:#1f5c56;--shadow-sm:0 1px 2px #1f5c560f;--shadow-md:0 4px 14px #1f5c5614;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Hiragino Sans,Yu Gothic UI,sans-serif;font-size:14px}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--color-bg);color:var(--color-fg);margin:0;overflow:hidden}button{cursor:pointer;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-fg);border-radius:6px;padding:6px 12px;font-size:14px;transition:background .15s,border-color .15s,color .15s}button:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-accent)}button.primary{background:var(--color-primary);color:var(--color-primary-fg);border-color:var(--color-primary);font-weight:600}button.primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-primary-fg)}button.primary:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}button.danger{background:var(--color-surface);color:var(--color-danger);border-color:var(--color-danger)}button.danger:hover:not(:disabled){border-color:var(--color-danger);color:var(--color-danger);background:#fef2f2}button:disabled{opacity:.5;cursor:not-allowed}button.primary:disabled,button.danger:disabled,button:not([class]):disabled,.icon-button:disabled,.ssml-tuning-button:disabled{opacity:1;background:var(--color-disabled-bg);border-color:var(--color-disabled-border);color:var(--color-disabled-fg);cursor:not-allowed;border-style:dashed;font-weight:400}input,select,textarea{border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-fg);border-radius:6px;padding:6px 8px;font-size:14px}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:-1px;border-color:var(--color-primary)}textarea:disabled{background:var(--color-disabled-bg);border-color:var(--color-disabled-border);color:var(--color-disabled-fg);cursor:not-allowed;resize:none;border-style:dashed}label{color:var(--color-muted);flex-direction:column;gap:4px;min-width:0;font-size:13px;display:flex}label>span{color:var(--color-fg);font-weight:600}label>span.required:after{content:"必須";background:var(--color-danger);color:#fff;border-radius:3px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:700;line-height:1.4;display:inline-block}.form-required-hint{color:var(--color-muted);margin:0 0 4px;font-size:12px}.form-required-hint .required-mark{background:var(--color-danger);color:#fff;border-radius:3px;padding:1px 6px;font-size:11px;font-weight:700;line-height:1.4;display:inline-block}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px 16px;display:grid}.form-grid__full{grid-column:1/-1}.form-grid__span2{grid-column:span 2}@media (width>=1100px){.form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.form-grid input.input--numeric{max-width:140px}.form-grid__group{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;padding:8px 10px}.form-grid__group>label+label,.form-grid__group>label+.hint{margin-top:6px}.form-grid__inline{flex-wrap:wrap;align-content:flex-start;align-items:flex-end;gap:4px 8px;display:flex}.form-grid__inline>label{flex:120px;min-width:0}.form-grid__inline>.form-grid__heading{color:var(--color-fg);flex:0 0 100%;font-size:13px;font-weight:600}.form-grid__row-match{align-self:stretch}@media (width<=768px){.form-grid{grid-template-columns:1fr}.form-grid__span2{grid-column:auto}}.app-shell{flex-direction:column;height:100dvh;min-height:0;display:flex;overflow:hidden}.app-header{background:var(--color-surface);border-bottom:2px solid var(--color-primary);box-shadow:var(--shadow-sm);flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 20px;display:flex}.app-header h1{color:var(--color-header-fg);letter-spacing:.02em;white-space:nowrap;margin:0;font-size:16px}.app-header__right{flex-wrap:wrap;align-items:center;gap:8px 16px;min-width:0;max-width:100%;display:flex}.app-header__home{font-size:inherit;font-weight:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-family:inherit}.app-header__home:hover:not(:disabled){color:var(--color-accent);border-color:#0000;text-decoration:underline}.app-header__home:disabled{opacity:.6;cursor:not-allowed}.app-header .user-info{color:var(--color-muted);white-space:nowrap;align-items:center;gap:12px;font-size:13px;display:flex}.app-nav{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:8px;align-items:stretch;min-width:0;max-width:100%;display:flex;overflow:auto hidden}.app-nav__link{color:var(--color-header-fg);white-space:nowrap;background:0 0;flex:none;align-items:center;padding:6px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:inline-flex}.app-nav__link+.app-nav__link{border-left:1px solid var(--color-border)}.app-nav__label-stack{flex-direction:column;align-items:center;line-height:1.2;display:flex}.app-nav__link:hover{background:var(--color-surface);color:var(--color-accent);text-decoration:none}.app-nav__link:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.app-nav__link--active,.app-nav__link--active:hover{background:var(--color-primary);color:var(--color-primary-fg)}.app-nav__link[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}@media (width<=768px){.app-header h1{white-space:normal}}.app-main{flex:1;min-height:0;padding:0;overflow:hidden}.section{background:0 0;border:none;border-radius:0;min-width:0;margin-bottom:0;padding:12px 16px}.section+.section{border-top:1px solid var(--color-border)}.section h2{color:var(--color-header-fg);margin:0 0 12px;font-size:15px}.section--page{box-sizing:border-box;height:100%;min-height:0;overflow-y:auto}.list-page{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.list-page>*{flex-shrink:0}.list-page>.list-page__body{flex:auto;min-height:0;overflow:auto}.list-page__body .table-wrapper{overflow:visible}.section--card{background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);border-radius:8px;margin-bottom:16px}.points-layout{background:var(--color-surface);flex-direction:column;height:100%;min-height:0;display:flex}.points-layout__controls{flex:none;padding:6px 12px}.points-layout__list{flex-direction:column;flex:1;min-height:0;padding-top:6px;padding-bottom:6px;display:flex;overflow:hidden}.points-layout__list h2{margin-bottom:4px}.points-layout__list .table-wrapper{flex:1;min-height:0;overflow:auto}.points-layout__map{flex-direction:column;height:100%;min-height:0;padding:0;display:flex;overflow:hidden}.route-landing{background:var(--color-surface);height:100%;padding:28px 32px 40px;overflow-y:auto}.route-landing__title{color:var(--color-header-fg);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 6px;font-size:18px;display:flex}.route-landing__lead,.route-landing__loading{color:var(--color-muted);margin:0 0 20px;font-size:13px}.route-landing__grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;max-width:1080px;margin:0;padding:0;list-style:none;display:grid}.route-landing__card{text-align:left;border:1px solid var(--color-border);background:var(--color-surface);width:100%;box-shadow:var(--shadow-sm);border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px 14px 24px;display:flex;position:relative;overflow:hidden}.route-landing__card-accent{width:8px;position:absolute;top:0;bottom:0;left:0}.route-landing__card-name{font-size:16px;font-weight:600}.route-landing__card-sub{color:var(--color-muted);font-size:12px}.route-landing__directions{flex-wrap:wrap;gap:8px;width:100%;margin-top:10px;display:flex}.route-landing__direction{border:2px solid var(--color-border);background:var(--color-surface);cursor:pointer;border-radius:8px;flex:auto;min-width:84px;padding:8px 12px;font-size:14px;font-weight:600;transition:box-shadow .15s,transform .1s}.route-landing__direction:hover:not(:disabled){box-shadow:var(--shadow-md);color:var(--color-fg);transform:translateY(-1px)}.route-landing__empty{color:var(--color-muted);align-items:center;gap:12px;display:flex}.route-selector{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.route-selector--colored{border:3px solid var(--route-color,var(--color-primary));background:var(--color-surface);box-shadow:0 0 0 1px #0f172a1f, var(--shadow-sm);border-radius:10px;padding:6px 10px}@supports (background:color-mix(in srgb, red 8%, white)){.route-selector--colored{background:color-mix(in srgb, var(--route-color,var(--color-primary)) 8%, #fff)}}.route-selector__selects{flex-wrap:wrap;align-items:center;gap:6px 12px;min-width:0;display:flex}.route-selector__selects>label{flex-direction:row;align-items:center;gap:6px}.route-selector__selects select{text-overflow:ellipsis;white-space:nowrap;width:100%;min-width:0;max-width:220px;padding:3px 6px;overflow:hidden}.route-selector__back{white-space:nowrap;align-self:center;font-size:13px}.route-selector .create-button{align-self:center}.route-selector button{padding-top:3px;padding-bottom:3px}.route-selector .actions{flex-wrap:wrap;align-items:center;gap:6px;margin-left:auto;display:flex}@media (height<=720px){.points-layout__controls{padding:4px 8px}.route-selector--colored{border-width:2px;padding:3px 8px}.points-layout__list{padding-top:4px;padding-bottom:4px}.points-layout__list h2{margin-bottom:2px;font-size:14px}.points-layout__list .sort-filter-bar{padding-bottom:4px}}.sort-filter-bar{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:center;gap:4px 16px;margin-bottom:4px;padding:2px 0 6px;display:flex}.sort-filter-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.sort-filter-label{color:var(--color-muted);white-space:nowrap;font-size:13px;font-weight:600}.sort-filter-radio{color:var(--color-fg);cursor:pointer;flex-direction:row;align-items:center;gap:4px;font-size:13px;font-weight:400;display:flex}.sort-filter-radio input[type=radio]{width:auto;accent-color:var(--color-primary);border:none;padding:0}.sort-filter-select-label{color:var(--color-fg);flex-direction:row;align-items:center;gap:8px;font-size:13px;display:flex}.table-wrapper{overflow-x:auto}table.points-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}table.points-table th,table.points-table td{border-bottom:1px solid var(--color-border);text-align:left;padding:8px 10px}table.points-table th{background:var(--color-surface-alt);color:var(--color-header-fg);z-index:1;font-weight:600;position:sticky;top:0}.bulk-actions{flex-wrap:wrap;align-items:center;gap:4px 8px;margin-bottom:4px;display:flex}table.points-table .select-cell{text-align:center;width:1%}table.points-table .enabled-cell{white-space:nowrap}table.points-table tr.point-row--disabled td:not(.enabled-cell):not(.select-cell):not(.row-actions){opacity:.55}.enabled-toggle{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.enabled-toggle input{opacity:0;width:0;height:0;position:absolute}.enabled-toggle__slider{background:#b0b7c3;border-radius:9px;width:34px;height:18px;transition:background .15s;position:relative}.enabled-toggle__slider:after{content:"";background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .15s;position:absolute;top:2px;left:2px}.enabled-toggle input:checked+.enabled-toggle__slider{background:#2e9e5b}.enabled-toggle input:checked+.enabled-toggle__slider:after{transform:translate(16px)}.enabled-toggle input:focus-visible+.enabled-toggle__slider{outline-offset:2px;outline:2px solid #2b6cb0}.enabled-toggle input:disabled+.enabled-toggle__slider{opacity:.5;cursor:not-allowed}table.points-table tbody tr:hover{background:var(--color-surface-alt)}table.points-table .row-actions{white-space:nowrap}table.points-table .row-actions button+button{margin-left:6px}.master-history-link{box-sizing:border-box;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-fg);white-space:nowrap;border-radius:6px;padding:6px 12px;font-size:14px;line-height:normal;text-decoration:none;transition:background .15s,border-color .15s,color .15s;display:inline-block}.master-history-link:hover{border-color:var(--color-primary);color:var(--color-accent)}.master-history-link:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}table .row-actions .master-history-link,.data-table td .master-history-link{margin-left:6px}table.points-table .contents-cell{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}table.points-table .contents-cell li{padding-left:12px;line-height:1.4;position:relative}table.points-table .contents-cell li:before{content:"・";color:var(--color-muted);position:absolute;left:0}table.points-table .contents-empty{color:var(--color-muted)}.empty-state{text-align:center;color:var(--color-muted);padding:24px 16px}.error-message{color:var(--color-danger);margin:8px 0;font-size:13px}.success-message{color:var(--color-success);margin:8px 0;font-size:13px}.login-page{background:var(--color-bg);justify-content:center;align-items:center;min-height:100dvh;padding:24px 16px;display:flex;overflow-y:auto}.login-box{background:var(--color-surface);border:1px solid var(--color-border);width:380px;max-width:90vw;box-shadow:var(--shadow-md);border-radius:10px;padding:28px 24px}.login-box h1{color:var(--color-fg);margin:0 0 16px;font-size:18px}.login-box button[type=submit]{margin-top:4px;padding:8px 12px}.login-box form{flex-direction:column;gap:12px;display:flex}.form-disabled-reason{color:var(--color-muted);border-left:3px solid var(--color-disabled-border);padding:2px 8px;font-size:12px}.login-subtitle{color:var(--color-muted);margin:0 0 12px;font-size:14px;font-weight:600}.login-footer{color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;font-size:13px;display:flex}.login-footer a{color:var(--color-accent);font-weight:600;text-decoration:none}.login-footer a:hover{text-decoration:underline}.info-message{color:var(--color-success);background:#ecfdf5;border:1px solid #a7f3d0;border-radius:4px;margin:4px 0;padding:8px 10px;font-size:13px}.modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(3px);background:#0f172a8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.modal-backdrop{background:#0f172a9e}}.modal{background:var(--color-surface);border-radius:10px;flex-direction:column;width:min(1280px,94vw);max-height:96vh;display:flex;overflow:hidden;box-shadow:0 16px 40px #0f172a38}.modal-header,.modal-footer{background:var(--color-surface-alt);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.modal-header{color:var(--color-header-fg);font-weight:600}.modal-footer{border-top:1px solid var(--color-border);border-bottom:none;justify-content:flex-end;gap:8px}.modal-body{flex:1;grid-template-columns:360px 1fr;gap:16px;min-height:0;padding:16px;display:grid;overflow:hidden}.modal-body .form-pane{flex-direction:column;gap:10px;min-width:0;min-height:0;padding-right:4px;display:flex;overflow-y:auto}.modal-body .map-pane{border:1px solid var(--color-border);border-radius:4px;height:100%;min-height:0;overflow:hidden}@media (width<=768px){.modal-body{grid-template-columns:1fr;overflow:auto}.modal-body .form-pane{overflow:visible}.modal-body .map-pane{height:auto;min-height:360px}}.modal.modal--single-column{width:min(1100px,90vw);max-height:86vh}.modal-body.modal-body--single-column{grid-template-columns:1fr;overflow-y:auto}.modal-body.modal-body--single-column .form-pane{overflow-y:visible}.map-popup{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 8px 24px #0f172a33}.map-popup__header{background:var(--color-surface-alt);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.map-popup__title{color:var(--color-header-fg)}.map-popup__close{cursor:pointer;color:var(--color-muted);background:0 0;border:none;padding:2px 8px;font-size:14px}.map-popup__close:hover{color:var(--color-fg)}.map-popup__body{flex:1;min-height:0;position:relative}.map-popup__body .leaflet-container{width:100%;height:100%}.map-popup__hint{background:var(--color-surface);border-bottom:1px dashed var(--color-border);color:var(--color-muted);margin:0;padding:6px 12px;font-size:12px}.map-popup__footer{background:var(--color-surface-alt);border-top:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.map-popup__coords{color:var(--color-fg);font-variant-numeric:tabular-nums;font-size:12px}.map-popup__coords--empty{color:var(--color-muted)}.map-popup__footer button{white-space:nowrap}.leaflet-container{width:100%;height:100%}.map-with-overlay{isolation:isolate;width:100%;height:100%;position:relative}.overview-map{border:none;border-radius:0;flex:1;width:100%;min-height:0;overflow:hidden}@media (width<=768px){.overview-map{flex:none;height:60vh;min-height:320px}}.split-pane{align-items:stretch;gap:0;width:100%;display:flex}.split-pane--full{background:var(--color-surface);height:100%;min-height:0}.split-pane--full>.split-pane__pane{min-height:0;overflow:hidden}.split-pane__pane{flex-direction:column;min-width:0;display:flex}.split-pane__pane>.section{flex:1;min-width:0;overflow-x:auto}.split-pane__splitter{cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;background:0 0;flex:0 0 10px;justify-content:center;align-self:stretch;align-items:center;display:flex}.split-pane__splitter:hover .split-pane__splitter-grip,.split-pane__splitter:focus-visible .split-pane__splitter-grip{background:var(--color-primary)}.split-pane__splitter:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.split-pane__splitter-grip{background:var(--color-border);border-radius:2px;width:4px;height:48px;display:block}.split-pane--full>.split-pane__splitter{background:var(--color-surface-alt);border-left:1px solid var(--color-border);border-right:1px solid var(--color-border)}@media (width<=768px){.split-pane{flex-direction:column}.split-pane__pane{width:100%;flex-basis:auto!important}.split-pane__splitter{display:none}.split-pane--full{height:100%;overflow-y:auto}.split-pane--full>.split-pane__pane{overflow:visible}}.map-overlay-stack{z-index:1001;pointer-events:none;flex-direction:column;align-items:stretch;gap:6px;display:flex;position:absolute;top:8px;right:8px}.map-context-menu{z-index:1002;border:1px solid var(--color-border);min-width:160px;max-width:260px;color:var(--color-fg);background:#fff;border-radius:6px;padding:4px;font-size:13px;position:absolute;box-shadow:0 4px 12px #0f172a33}.map-context-menu__item{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 10px;display:block}.map-context-menu__item:hover:not(:disabled),.map-context-menu__item:focus-visible:not(:disabled){background:#e0ecff}.map-context-menu__item:disabled{color:#94a3b8;cursor:not-allowed}.map-context-menu__hint{color:#64748b;padding:2px 10px 4px;font-size:11px}.map-station-marker{pointer-events:none;width:12px;height:12px;position:relative}.map-station-marker__dot{box-sizing:border-box;background:#fff;border:3px solid #334155;border-radius:50%;width:12px;height:12px;display:block}.map-station-marker__label{color:#1e293b;white-space:nowrap;text-shadow:-1px -1px #fff,1px -1px #fff,-1px 1px #fff,1px 1px #fff;font-size:11px;font-weight:600;line-height:1.2;position:absolute;top:-2px;left:16px}.map-station-jump{z-index:1001;border:1px solid var(--color-border);color:var(--color-fg);pointer-events:auto;background:#fffffff2;border-radius:6px;min-width:168px;padding:6px 10px;font-size:12px;position:relative;box-shadow:0 2px 6px #0f172a1f}.map-station-jump__label{color:var(--color-fg);white-space:nowrap;flex-direction:row;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.map-station-jump__select{flex:1;min-width:0;padding:3px 4px;font-size:12px}.map-color-toggle{z-index:1001;border:1px solid var(--color-border);color:var(--color-fg);pointer-events:auto;background:#fffffff2;border-radius:6px;flex-direction:column;gap:6px;min-width:168px;padding:8px 10px;font-size:12px;display:flex;position:relative;box-shadow:0 2px 6px #0f172a1f}.map-color-toggle__segmented{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:6px;width:100%;display:flex;overflow:hidden}.map-color-toggle__segment{appearance:none;color:var(--color-muted);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;background:0 0;border:none;flex:1;padding:5px 8px;font-size:12px;font-weight:600;transition:background .15s,color .15s}.map-color-toggle__segment+.map-color-toggle__segment{border-left:1px solid var(--color-border)}.map-color-toggle__segment:hover{background:var(--color-surface-alt)}.map-color-toggle__segment.is-active{background:var(--color-primary);color:var(--color-primary-fg)}.map-color-toggle__segment.is-active:hover{background:var(--color-primary)}.map-color-toggle__legend{flex-direction:column;gap:3px;margin:0;padding:0;list-style:none;display:flex}.map-color-toggle__legend li{color:var(--color-muted);align-items:center;gap:6px;font-size:11px;display:flex}.legend-swatch{border:1px solid #0f172a26;border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.map-color-toggle__gradient{color:var(--color-muted);grid-template-columns:auto 1fr auto;align-items:center;gap:4px;font-size:11px;display:grid}.map-color-toggle__gradient .legend-label{white-space:nowrap}.map-color-toggle__gradient .legend-bar{border:1px solid #0f172a1a;border-radius:4px;height:8px;display:block}.map-color-toggle__gradient .legend-range{text-align:center;color:var(--color-muted);grid-column:1/-1;font-size:10px}.map-help{color:var(--color-muted);margin:0 0 8px;font-size:13px}.contents-editor{border-top:1px dashed var(--color-border);flex-direction:column;gap:8px;margin-top:8px;padding-top:8px;display:flex}.contents-editor-header{flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:8px 16px;display:flex}.add-content-buttons{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.add-content-buttons__label{color:var(--color-text-muted,#555);font-size:13px}.modal-footer-left{flex-wrap:wrap;align-items:center;gap:8px 16px;margin-right:auto;display:flex}.modal-footer-preview{border-left:1px solid var(--color-border);padding-left:16px}.modal-footer-main{flex-direction:column;flex:1;align-items:stretch;gap:8px;min-width:0;display:flex}.modal-footer-main .modal-footer-left{margin-right:0}.modal-footer-main .validation-error-summary{box-sizing:border-box;width:100%}.modal-footer--with-issues{align-items:flex-end}.map-location-status{align-self:flex-end;padding:6px 0;font-size:14px}.map-location-status--invalid{color:var(--color-danger);font-weight:600}.hint-tooltip{vertical-align:middle;align-items:center;margin-left:4px;display:inline-flex}.hint-tooltip__trigger{all:unset;cursor:help;color:var(--color-muted);border-radius:50%;font-size:14px;line-height:1}.hint-tooltip__trigger:hover,.hint-tooltip__trigger:focus-visible{color:var(--color-primary)}.hint-tooltip__trigger:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.hint-tooltip__bubble{z-index:10000;color:#fff;text-align:left;white-space:normal;pointer-events:none;background:#1f2937;border-radius:6px;max-width:320px;padding:6px 10px;font-size:12px;font-weight:400;line-height:1.5;position:fixed;box-shadow:0 4px 12px #0f172a4d}.contents-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.contents-item{border:1px solid var(--color-border);background:var(--color-surface-alt);border-radius:6px;flex-direction:column;gap:6px;padding:10px;display:flex}.contents-item-header{align-items:center;gap:8px;display:flex}.contents-item-enabled{white-space:nowrap}.contents-item--disabled>:not(.contents-item-header){opacity:.55}.contents-item-index{color:var(--color-muted);min-width:28px;font-weight:600}.placeholder-help-table{border-collapse:collapse}.placeholder-help-table th,.placeholder-help-table td{border-bottom:1px solid var(--color-border);vertical-align:top;padding:6px 8px}.radius-presets{flex-wrap:wrap;gap:6px;margin-top:4px;display:flex}.radius-preset{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;white-space:nowrap;border-radius:999px;padding:3px 12px;font-size:12px;font-weight:600}.radius-preset.is-active{background:var(--color-primary);color:var(--color-primary-fg);border-color:var(--color-primary)}.contents-item-toggle{color:var(--color-muted);background:0 0;border:none;padding:2px 6px;font-size:12px;line-height:1.2}.contents-item-category-label{color:var(--color-fg);white-space:nowrap;font-size:12px;font-weight:600}.contents-item--collapsed{gap:0;padding:6px 10px}.connecting-line-tabs,.connecting-direction-tabs{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:4px;margin-top:4px;padding-bottom:2px;display:flex}.connecting-line-tab,.connecting-direction-tab{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;white-space:nowrap;border-bottom-width:3px;border-radius:4px 4px 0 0;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.connecting-line-tab.is-active,.connecting-direction-tab.is-active{box-shadow:0 1px 3px #0f172a26}.connecting-direction-tab.is-active{background:var(--color-primary);color:var(--color-primary-fg);border-color:var(--color-primary)}.connecting-line-tab__swatch{border:1px solid #0f172a33;border-radius:2px;flex-shrink:0;width:10px;height:10px;display:inline-block}.contents-item-actions{gap:4px;margin-left:auto;display:flex}.contents-item-actions button{padding:2px 8px;font-size:12px}.delay-pattern-add,.delay-pattern-remove{text-align:center;width:28px;padding:2px 0;font-size:14px;line-height:1.2}.contents-item-description{color:var(--color-muted);font-size:12px}.contents-fields{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:6px 12px;display:grid}@media (width>=1100px){.contents-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=768px){.contents-fields{grid-template-columns:1fr}}.contents-fields>table,.contents-fields>p,.contents-fields>fieldset,.contents-fields>.connecting-line-tabs,.contents-fields>.connecting-direction-tabs,.contents-fields>.connecting-line-delay-patterns,.contents-fields>.connecting-station-line-delay-patterns,.contents-fields>.connecting-direction-block,.contents-fields>.error-message,.contents-fields>.contents-fields,.contents-fields>.field-pair-2col,.contents-fields>.ssml-preview-field,.contents-fields>.contents-fields--full{grid-column:1/-1}.contents-fields>div:has(table){grid-column:1/-1}.contents-fields>label:has(textarea){grid-column:1/-1}.contents-fields textarea{resize:vertical;width:100%;font-family:inherit;font-size:13px}.connecting-station-top{grid-template-columns:fit-content(60%) minmax(320px,1fr);align-items:start;gap:6px 16px;display:grid}.connecting-station-top__left{min-width:0}@media (width<=1100px){.connecting-station-top{grid-template-columns:minmax(0,1fr)}}.field-pair-2col{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:6px 12px;display:grid}.field-pair-2col>label,.field-pair-2col>div>label{width:100%}.field-pair-2col p.hint{margin:4px 0 0}@media (width<=768px){.field-pair-2col{grid-template-columns:1fr}}.connecting-section{background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:8px;flex-direction:column;align-items:stretch;gap:6px;margin:8px 0;padding:8px 10px;display:flex}.connecting-section__title{color:var(--color-accent);font-size:13px;font-weight:600}.connecting-section__lead{color:var(--color-muted);margin:0;font-size:12px}.connecting-section__empty{color:var(--color-muted);font-size:12px}.connecting-section__empty.is-required{color:var(--color-danger);background:var(--color-danger-bg);border-radius:6px;padding:6px 10px}.istations-lines-select__header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.istations-lines-select__count{color:var(--color-muted);font-size:12px}.istations-chip-list{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.istations-chip-list>li{background:var(--color-surface);border:1px solid var(--color-primary-soft);border-radius:999px;align-items:center;gap:4px;padding:2px 4px 2px 10px;font-size:13px;display:inline-flex}.istations-chip-list__name code{color:var(--color-muted);margin-left:6px;font-size:11px}.istations-chip-list__warn{color:var(--color-danger);margin-left:6px;font-size:11px}.istations-chip-list__remove{border-radius:50%;flex:none;width:22px;height:22px;padding:0;font-size:14px;line-height:1}.connecting-section>select{align-self:flex-start;min-width:240px;max-width:100%}.connecting-section__summary{color:var(--color-fg);background:var(--color-surface);border-left:3px solid var(--color-primary);border-radius:4px;padding:4px 8px;font-size:12px}.connecting-section__details summary{cursor:pointer;color:var(--color-accent);font-size:12px}.connecting-section__details .hint{color:var(--color-muted);margin:4px 0 0;font-size:12px}.connecting-route-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.connecting-route-list:empty{display:none}.connecting-route-list>li{background:var(--color-surface);border:1px solid var(--color-border);border-radius:6px;align-items:center;gap:8px;padding:4px 8px;font-size:13px;display:flex}.connecting-route-list__name code{color:var(--color-muted);margin-left:6px;font-size:11px}.connecting-route-list__name{flex:1;min-width:0}.connecting-route-list__warn{color:var(--color-danger);margin-left:6px;font-size:11px}.connecting-route-list__remove{flex:none;padding:1px 8px;font-size:12px}.field-pair-2col>.connecting-section{margin:0}.connecting-direction-block{grid-template-columns:minmax(0,1fr);align-items:start;gap:6px;display:grid}.connecting-direction-block>.connecting-section{margin:0}.route-direction-overrides{flex-direction:column;gap:4px;display:flex}.route-direction-overrides__table{border-collapse:collapse;width:100%;margin:4px 0}.route-direction-overrides__table th{text-align:left;padding:2px 4px;font-size:12px}.route-direction-overrides__table td{padding:2px 4px;font-size:12px}.route-name-guide{border-left:3px solid var(--color-border);background:var(--color-surface-muted);flex-direction:column;gap:2px;margin:8px 0;padding:6px 8px;font-size:12px;display:flex}.route-name-guide__title{font-weight:600}.route-name-guide__list{margin:0;padding:0;list-style:none}.route-name-guide__list li{flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex}.route-name-guide__lang{min-width:4em;color:var(--color-muted)}.route-name-guide__note{color:var(--color-muted)}.direction-name-input-row{flex-wrap:nowrap;align-items:center;gap:6px;display:flex}.direction-name-input-row>input[type=text]{flex:1;min-width:0}.direction-name-suffix{color:var(--color-muted);white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:13px}.schedule-panel-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;display:grid}.schedule-panel-grid>fieldset{min-width:0;margin:0}.schedule-panel-grid input[type=date],.schedule-panel-grid input[type=time]{min-width:0;max-width:100%}@media (width<=1099px){.schedule-panel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){.schedule-panel-grid{grid-template-columns:1fr}}.sort-filter-radio input[type=checkbox]{width:auto;accent-color:var(--color-primary);border:none;padding:0}.data-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px}.data-table th,.data-table td{border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap;padding:8px 12px}.data-table thead th{background:var(--color-surface-alt);color:var(--color-fg);z-index:1;font-weight:600;position:sticky;top:0}.data-table tbody tr:hover{background:var(--color-surface-alt)}.data-table__empty{text-align:center;color:var(--color-muted);padding:24px 12px}.device-name-cell{align-items:center;gap:6px;display:flex}.device-name-cell__input{min-width:160px;max-width:240px}.device-name-cell__error{color:var(--color-danger);max-width:240px;margin:4px 0 0;font-size:12px}.icon-button{width:28px;height:28px;color:var(--color-muted);border-radius:6px;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.icon-button:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-accent)}.icon-button--edit{background:0 0;border-color:#0000}.icon-button--edit:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-primary)}.icon-button--primary{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-primary-fg)}.icon-button--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-primary-fg)}.status-badge{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;line-height:1.6;display:inline-block}.status-badge--normal{background:var(--color-success-bg);color:var(--color-success)}.status-badge--abnormal{background:var(--color-danger-bg);color:var(--color-danger);cursor:help}.status-badge--abnormal:focus-visible{outline:2px solid var(--color-danger);outline-offset:2px;border-radius:2px}.status-badge--unknown{background:var(--color-surface-alt);color:var(--color-muted)}.is-invalid{box-shadow:0 0 0 3px var(--color-danger-bg);border-color:var(--color-danger)!important}.is-invalid:focus,.is-invalid:focus-visible{outline:2px solid var(--color-danger);outline-offset:1px}.validation-error-summary{border:1px solid var(--color-danger);background:var(--color-danger-bg);border-radius:4px;max-height:180px;padding:6px 8px;overflow-y:auto}.validation-error-summary__head{color:var(--color-danger);margin-bottom:4px;font-size:12px;font-weight:700}.validation-error-summary__list{margin:0;padding-left:18px;font-size:12px}.validation-error-summary__item{width:100%;color:var(--color-danger);text-align:left;cursor:pointer;background:0 0;border:none;padding:1px 0;font-size:12px;text-decoration:underline;display:block}.validation-error-summary__item:hover{background:#b91c1c14;text-decoration:none}.contents-item--invalid{outline:2px solid var(--color-danger);outline-offset:-1px}.contents-item-error-badge{border:1px solid var(--color-danger);background:var(--color-danger-bg);color:var(--color-danger);cursor:pointer;border-radius:999px;padding:0 6px;font-size:11px;font-weight:700;line-height:1.6}.connecting-line-tab__error,.connecting-direction-tab__error{color:var(--color-danger);font-weight:700}.connecting-line-tab.is-active .connecting-line-tab__error,.connecting-direction-tab.is-active .connecting-direction-tab__error{color:#fff;text-shadow:0 0 2px #0009}.visually-hidden{clip:rect(0, 0, 0, 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.ssml-tuning-page,.ssml-readme-page{flex-direction:column;gap:16px;width:100%;max-width:960px;height:100%;min-height:0;margin:0 auto;padding:16px 20px 24px;display:flex;overflow-y:auto}.ssml-tuning-page{max-width:1600px;padding-top:0}.ssml-tuning-page__top{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));align-items:stretch;gap:16px;display:grid}.ssml-readme-page__header{flex-direction:column;gap:6px;display:flex}.ssml-tuning-page__header{z-index:2;background:var(--color-bg);border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:6px 16px;margin:0 -20px;padding:26px 20px 8px;display:flex;position:sticky;top:0}.ssml-tuning-page__title-group{flex-wrap:wrap;align-items:baseline;gap:4px 8px;min-width:0;display:flex}.ssml-tuning-page__engine{color:var(--color-muted);font-size:13px}.ssml-tuning-page__title,.ssml-readme-page__title{color:var(--color-accent);margin:0;font-size:18px}.ssml-readme-page__lead{color:var(--color-muted);margin:0;font-size:13px;line-height:1.7}.ssml-tuning-page__readme-link{white-space:nowrap;color:var(--color-accent);margin-left:auto;font-size:13px;font-weight:600;text-decoration:underline}.ssml-tuning-page__no-history{cursor:help;text-underline-offset:3px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.ssml-tuning-step{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:6px;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.ssml-tuning-step__title{color:var(--color-fg);margin:0;font-size:14px}.ssml-tuning-step__title-row{flex-wrap:wrap;align-items:baseline;gap:2px 4px;display:flex}.ssml-tuning-step__title-row--with-action{justify-content:space-between;align-items:center}.ssml-tuning-button--small{padding:2px 12px;font-size:13px}.ssml-tuning-button.ssml-tuning-reset-button{border:1.5px solid var(--color-danger);background:var(--color-surface);color:var(--color-danger);white-space:nowrap;align-items:center;gap:6px;font-weight:600;display:inline-flex}.ssml-tuning-button.ssml-tuning-reset-button:hover:not(:disabled){border-color:var(--color-danger);color:var(--color-danger);background:#fef2f2}.ssml-tuning-button.ssml-tuning-reset-button:focus-visible{outline:3px solid var(--color-danger);outline-offset:2px}.ssml-tuning-reset-button__icon{flex:none}.ssml-tuning-step__summary{color:var(--color-muted);font-size:13px}.ssml-tuning-preview{flex-direction:column;gap:4px;display:flex}.ssml-tuning-preview__row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px 12px;display:flex}.ssml-tuning-preview__lead{flex-wrap:wrap;flex:240px;align-items:center;gap:4px 8px;min-width:0;display:flex}.ssml-tuning-preview__label{font-size:13px}.ssml-tuning-preview__stale{color:#8a5a00;background:#fff8e1;border:1px solid #f0b429;border-radius:999px;align-items:center;padding:1px 8px;font-size:12px;line-height:1.6;display:inline-flex}.ssml-tuning-preview__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-left:auto;display:flex}.ssml-tuning-preview__player{flex:0 280px}.ssml-tuning-preview__loading{color:var(--color-muted);align-items:center;gap:6px;font-size:12px;display:inline-flex}.ssml-tuning-preview__spinner{border:2px solid var(--color-border);border-top-color:var(--color-primary,#1a73e8);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite ssml-tuning-preview-spin}@keyframes ssml-tuning-preview-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.ssml-tuning-preview__spinner{animation:none}}.ssml-tuning-step__footer{border-top:1px solid var(--color-border);margin-top:auto;padding-top:10px}.ssml-tuning-step__footer:empty{display:none}.ssml-tuning-step__placeholder{color:var(--color-muted);margin:0;font-size:13px;line-height:1.7}.ssml-tuning-step__note{color:var(--color-muted);font-size:12px;line-height:1.5}.ssml-tuning-step2__ssml{box-sizing:border-box;border:1px solid var(--color-border);white-space:pre-wrap;word-break:break-all;resize:vertical;background:#fff;border-radius:6px;width:100%;min-height:120px;max-height:320px;margin:0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.7;overflow:auto}.ssml-tuning-step__disabled-reason{color:var(--color-muted);margin:0;font-size:12px;line-height:1.5}.ssml-tuning-field{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.ssml-tuning-field__header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:2px 12px;display:flex}.ssml-tuning-field__textarea{box-sizing:border-box;border:1px solid var(--color-border);resize:vertical;border-radius:6px;width:100%;padding:8px 10px;font-family:inherit;font-size:14px;line-height:1.7}.ssml-tuning-field__readonly{background:var(--color-surface-muted,#f5f7fa);white-space:pre-wrap;border-radius:6px;margin:0;padding:8px 10px;font-size:14px;line-height:1.7}.ssml-tuning-field__counter{color:var(--color-muted);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right;margin:0 0 0 auto;font-size:12px}.ssml-audio-controls{flex-direction:column;gap:6px;display:flex}.ssml-audio-controls__row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ssml-audio-controls__player{flex:220px;min-width:200px;height:36px}.ssml-audio-controls__status{color:var(--color-muted);flex:220px;font-size:13px}.ssml-audio-controls__button{white-space:nowrap;flex:none;align-items:center;padding:6px 14px;font-size:13px;text-decoration:none;display:inline-flex}.ssml-audio-controls__dirty{color:var(--color-warning-text,#8a6100);margin:0;font-size:12px;font-weight:600}.ssml-audio-controls__dirty:before{content:"⚠ "}.ssml-tuning-button.ssml-audio-controls__button--dirty:not(:disabled){border:2px solid var(--color-attention-border);background:var(--color-attention);color:#fff;padding:5px 13px;font-weight:700}.ssml-tuning-button.ssml-audio-controls__button--dirty:not(:disabled):before{content:"⚠";margin-right:6px;font-size:14px;line-height:1}.ssml-tuning-button.ssml-audio-controls__button--dirty:hover:not(:disabled){border-color:var(--color-attention-border);background:var(--color-attention-hover);color:#fff}.ssml-tuning-button.ssml-audio-controls__button--dirty:focus-visible{outline:3px solid var(--color-attention-border);outline-offset:2px}.ssml-tuning-step__actions{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.ssml-tuning-button{border:1px solid var(--color-border);cursor:pointer;background:#fff;border-radius:6px;padding:8px 20px;font-size:14px}.ssml-tuning-button--primary{border-color:var(--color-primary,#1a73e8);background:var(--color-primary,#1a73e8);color:#fff;font-weight:600}.ssml-tuning-button:disabled{cursor:not-allowed}.ssml-download-button{border-color:var(--color-primary);background:var(--color-primary);min-width:140px;color:var(--color-primary-fg);white-space:nowrap;flex:none;justify-content:center;align-items:center;gap:6px;padding:6px 16px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.ssml-download-button:before{content:"⬇";font-size:14px;line-height:1}.ssml-download-button:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover);color:var(--color-primary-fg)}.ssml-download-button:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.ssml-tuning-error{color:#b3261e;background:#fdecea;border-radius:6px;margin:8px 0 0;padding:8px 10px;font-size:13px;line-height:1.7}.ssml-sample-list{--ssml-sample-gap:12px;--ssml-sample-card-min-width:480px;grid-template-columns:repeat(auto-fill, minmax(min(100%, max(var(--ssml-sample-card-min-width), calc((100% - var(--ssml-sample-gap)) / 2 - 1px))), 1fr));gap:var(--ssml-sample-gap);margin:8px 0 0;padding:0;list-style:none;display:grid}.ssml-sample-card{border:1px solid var(--color-border);background:#fff;border-radius:8px;flex-direction:column;gap:8px;min-width:0;padding:8px 12px;display:flex}.ssml-sample-card__ssml{flex-direction:column;gap:6px;min-width:0;display:flex}.ssml-sample-card__header{align-items:baseline;gap:8px;display:flex}.ssml-sample-card__index{color:var(--color-muted);flex:none;font-size:12px}.ssml-sample-card__title{margin:0;font-size:15px;font-weight:600}.ssml-sample-card__ssml-body{white-space:pre-wrap;word-break:break-all;background:#f6f7f9;border-radius:6px;margin:0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.7}.ssml-sample-card__ssml-editor{box-sizing:border-box;border:1px solid var(--color-border,#d0d3d8);resize:vertical;background:#fff;border-radius:6px;width:100%;padding:6px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.7}.ssml-readme-page__meta{color:var(--color-muted);margin:0;font-size:12px}.ssml-readme-tabs{border-bottom:1px solid var(--color-border);flex-wrap:wrap;gap:4px;padding-bottom:2px;display:flex}.ssml-readme-tab{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;white-space:nowrap;border-bottom-width:3px;border-radius:4px 4px 0 0;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:inline-flex}.ssml-readme-tab.is-active{background:var(--color-primary);color:var(--color-primary-fg);border-color:var(--color-primary)}.ssml-readme-tab__count{opacity:.75;font-size:11px;font-weight:400}.ssml-readme-panel{border:1px solid var(--color-border);background:var(--color-surface);box-shadow:var(--shadow-sm);border-radius:6px;flex-direction:column;gap:10px;padding:14px 16px;display:flex}.ssml-readme-panel__title{color:var(--color-fg);margin:0;font-size:14px}.ssml-readme-panel__description,.ssml-readme-panel__empty{color:var(--color-muted);margin:0;font-size:13px;line-height:1.7}.ssml-readme-entries{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.ssml-readme-entry{border:1px solid var(--color-border);border-left:3px solid var(--color-primary);background:var(--color-surface-muted);border-radius:4px;padding:12px 14px}.ssml-readme-entry__title{color:var(--color-fg);margin:0 0 8px;font-size:13px}.ssml-readme-entry__fields{grid-template-columns:96px 1fr;gap:4px 12px;margin:0;font-size:12px;line-height:1.7;display:grid}.ssml-readme-entry__fields dt{color:var(--color-muted);font-weight:600}.ssml-readme-entry__fields dd{color:var(--color-fg);margin:0}.ssml-readme-entry__syntax{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.ssml-readme-entry__usages{margin:0;padding-left:18px}.ssml-readme-entry__sample{border:1px solid var(--color-border);background:var(--color-surface);white-space:pre-wrap;word-break:break-all;border-radius:4px;margin:0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.ssml-readme-sections{flex-wrap:wrap;gap:8px;display:flex}.ssml-readme-section-tab{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;white-space:nowrap;border-radius:999px;padding:8px 18px;font-size:14px;font-weight:700}.ssml-readme-section-tab.is-active{background:var(--color-primary);color:var(--color-primary-fg);border-color:var(--color-primary)}.ssml-readme-syntax{flex-direction:column;gap:10px;display:flex}.ssml-usecase-filter{border:1px solid var(--color-border);background:var(--color-surface-muted);border-radius:6px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.ssml-usecase-filter__label{color:var(--color-muted);margin:0;font-size:12px;font-weight:600}.ssml-usecase-filter__tags{flex-wrap:wrap;gap:6px;display:flex}.ssml-usecase-tag{border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;white-space:nowrap;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;display:inline-flex}.ssml-usecase-tag.is-active{background:var(--color-primary);color:var(--color-primary-fg);border-color:var(--color-primary)}.ssml-usecase-tag__count{opacity:.75;font-size:11px}.ssml-usecase-cards{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.ssml-usecase-card{border:1px solid var(--color-border);border-left:4px solid var(--color-primary);background:var(--color-surface-muted);border-radius:4px;padding:14px 16px}.ssml-usecase-card__head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.ssml-usecase-card__title{color:var(--color-fg);margin:0;font-size:14px}.ssml-usecase-card__confidence{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-muted);border-radius:999px;padding:2px 8px;font-size:11px}.ssml-usecase-card__confidence.is-trial{color:var(--color-warning-text,#8a6100);border-color:var(--color-warning-text,#8a6100)}.ssml-usecase-card__tags{flex-wrap:wrap;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.ssml-usecase-card__tag{background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-muted);border-radius:999px;padding:1px 8px;font-size:11px}.ssml-usecase-card__fields{grid-template-columns:88px 1fr;gap:6px 12px;margin:10px 0 0;font-size:12px;line-height:1.8;display:grid}.ssml-usecase-card__fields dt{color:var(--color-muted);font-weight:600}.ssml-usecase-card__fields dd{color:var(--color-fg);margin:0}.ssml-usecase-card__examples{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ssml-usecase-card__example-label{margin:0 0 4px;font-weight:600}.ssml-usecase-card__example-note{color:var(--color-muted);margin:4px 0 0;font-size:11px}.ssml-usecase-card__ssml{border:1px solid var(--color-border);background:var(--color-surface);white-space:pre-wrap;word-break:break-all;border-radius:4px;margin:0;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.ssml-usecase-card__related{flex-wrap:wrap;gap:4px 10px;margin:0;padding:0;list-style:none;display:flex}.ssml-usecase-card__related-link{color:var(--color-primary);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;text-decoration:underline}.ssml-usecase-card__related-empty{color:var(--color-muted)}.ssml-knowledge{border:1px dashed var(--color-border);border-radius:6px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.ssml-knowledge__title{color:var(--color-fg);margin:0;font-size:13px}.ssml-knowledge__lead{color:var(--color-muted);margin:0;font-size:12px;line-height:1.7}.ssml-knowledge__legend{background:var(--color-surface);border-radius:4px;flex-direction:column;gap:2px;margin:0;padding:8px 10px;font-size:11px;line-height:1.7;list-style:none;display:flex}.ssml-knowledge__legend-item{flex-wrap:wrap;gap:4px 8px;display:flex}.ssml-knowledge__legend-label{color:var(--color-fg);flex:none;font-weight:600}.ssml-knowledge__legend-description{color:var(--color-muted)}.ssml-knowledge__list{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.ssml-knowledge-card{border:1px solid var(--color-border);border-left:4px solid var(--color-border);background:var(--color-surface);border-radius:4px;padding:10px 12px}.ssml-knowledge-card.is-solved{border-left-color:var(--color-success,#1f7a4d)}.ssml-knowledge-card.is-mitigated{border-left-color:var(--color-warning-text,#8a6100)}.ssml-knowledge-card.is-unsolved{border-left-color:var(--color-muted)}.ssml-knowledge-card__head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.ssml-knowledge-card__title{color:var(--color-fg);margin:0;font-size:12px;font-weight:700}.ssml-knowledge-card__status{background:var(--color-surface-muted);border:1px solid var(--color-border);color:var(--color-muted);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:11px}.ssml-knowledge-card__status.is-solved{color:var(--color-success,#1f7a4d);border-color:var(--color-success,#1f7a4d)}.ssml-knowledge-card__status.is-mitigated{color:var(--color-warning-text,#8a6100);border-color:var(--color-warning-text,#8a6100)}.ssml-knowledge-card__verified{color:var(--color-muted);white-space:nowrap;font-size:11px}.ssml-knowledge-card__fields{grid-template-columns:132px 1fr;gap:4px 12px;margin:8px 0 0;font-size:12px;line-height:1.7;display:grid}.ssml-knowledge-card__fields dt{color:var(--color-muted);font-weight:600}.ssml-knowledge-card__fields dd{color:var(--color-fg);margin:0}.alert-recipient-table{table-layout:fixed;min-width:1370px}.alert-recipient-table__col--email{width:380px}.alert-recipient-table__col--label{width:200px}.alert-recipient-table__col--notify-types{width:230px}.alert-recipient-table__col--route-ids{width:240px}.alert-recipient-table__col--updated{width:170px}.alert-recipient-table__col--actions{width:150px}.alert-recipient-table td{white-space:normal;overflow-wrap:anywhere}.alert-recipient-table td.alert-recipient-table__updated{white-space:nowrap}.alert-recipient-table td input{width:100%}.alert-recipient-table__actions{flex-wrap:wrap;gap:6px;display:flex}.notify-type-fieldset{border:1px solid var(--border-color,#d0d7de);border-radius:4px;flex-direction:column;gap:4px;margin:0;padding:8px 12px;display:flex}.notify-type-fieldset legend{padding:0 4px;font-size:.85rem;font-weight:600}.notify-type-checkboxes{flex-direction:column;gap:4px;display:flex}.notify-type-checkboxes__item{white-space:nowrap;flex-direction:row;align-items:center;gap:6px;margin:0;font-weight:400;display:flex}.notify-type-checkboxes__item input[type=checkbox]{width:auto;margin:0}.route-id-select{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.route-id-select>select{min-width:180px;max-width:100%}.ssml-dictionary-page{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.ssml-dictionary-page>.section:first-child{flex:none}.ssml-dictionary-list-section{flex-direction:column;flex:auto;min-height:0;padding-bottom:0;display:flex}.ssml-dictionary-list-header{flex:none}.ssml-dictionary-list-body{flex:auto;min-height:0;padding-bottom:12px;overflow-y:auto}.ssml-dictionary-lead{color:var(--color-muted);margin:0 0 12px;font-size:13px}.status-banner{border:1px solid;border-radius:4px;align-items:flex-start;gap:8px;margin:8px 0 12px;padding:8px 10px;font-size:13px;line-height:1.5;display:flex}.status-banner--error{color:var(--color-danger);background:var(--color-danger-bg);border-color:var(--color-danger)}.status-banner--warning{color:#7a4a00;background:#fff8e1;border-color:#f0c36d}.status-banner__icon{flex:none;font-weight:700}.status-banner__body{overflow-wrap:anywhere;flex:1;min-width:0}.status-banner__close{color:inherit;cursor:pointer;background:0 0;border:none;flex:none;padding:0 6px;line-height:1.4}.field-heading{flex-wrap:wrap;align-items:baseline;column-gap:8px;display:flex}.field-heading>span.required:after{content:"必須";background:var(--color-danger);color:#fff;border-radius:3px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:700;line-height:1.4;display:inline-block}.field-example{color:var(--color-muted);font-size:12px;font-weight:400}.ssml-dictionary-type-group{flex-flow:wrap;align-items:center;gap:20px;display:flex}.ssml-dictionary-type-option{flex-direction:row}.ssml-dictionary-accent-copy{color:var(--color-muted);align-items:center;gap:8px;font-size:12px;display:flex}.field-error{color:var(--color-danger);margin-top:4px;font-size:12px;font-weight:600;display:block}.ssml-dictionary-group+.ssml-dictionary-group{margin-top:20px}.ssml-dictionary-group h3{margin:0 0 8px;font-size:15px}table.points-table.ssml-dictionary-table{table-layout:fixed}table.points-table.ssml-dictionary-table th,table.points-table.ssml-dictionary-table td{overflow-wrap:anywhere}.ssml-dictionary-col-language{width:110px}.ssml-dictionary-col-source,.ssml-dictionary-col-replacement{width:22%}.ssml-dictionary-col-enabled{width:80px}.ssml-dictionary-col-actions{width:356px}.free-text-template-page{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.free-text-template-page>.section:first-child{flex:none}.free-text-template-list-section{flex-direction:column;flex:auto;min-height:0;padding-bottom:0;display:flex}.free-text-template-list-header{flex:none}.free-text-template-lead{color:var(--color-muted);margin:0 0 12px;font-size:13px}.free-text-template-group+.free-text-template-group{margin-top:20px}.free-text-template-group h3{margin:0 0 4px;font-size:15px}.free-text-template-group-note{color:var(--color-muted);margin:0 0 8px;font-size:12px}.free-text-template-list-body{flex:auto;min-height:0;padding-bottom:12px;overflow-y:auto}table.points-table.free-text-template-table{table-layout:fixed}table.points-table.free-text-template-table th,table.points-table.free-text-template-table td{overflow-wrap:anywhere}.free-text-template-col-route{width:268px}.free-text-template-col-title{width:280px}.free-text-template-col-actions{width:328px}.free-text-template-text-cell,.free-text-template-title-cell{white-space:pre-wrap}.free-text-template-title-unset{color:#888}.free-text-template-note{color:#555;margin-top:4px;font-size:12px;display:block}.free-text-template-picker{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.free-text-template-picker-heading{margin:8px 0 4px;font-size:14px}.modal.free-text-template-picker-modal{width:100%;max-width:720px}.free-text-template-picker-list{max-height:50vh;overflow-y:auto}table.points-table.free-text-template-picker-table{table-layout:fixed}table.points-table.free-text-template-picker-table th,table.points-table.free-text-template-picker-table td{overflow-wrap:anywhere}.free-text-template-picker-col-select{width:56px}.free-text-template-picker-col-route{width:180px}.free-text-template-picker-col-title{width:200px}table.points-table.free-text-template-picker-table tbody tr{cursor:pointer}table.points-table.free-text-template-picker-table tr.free-text-template-picker-row--selected td{background:#2563eb1f}.password-requirements{color:var(--color-text-muted,#64748b);margin:0 0 8px;padding:0;font-size:13px;list-style:none}.password-requirements li{margin:2px 0}.password-requirements li.satisfied{color:var(--color-success)}.spinner{vertical-align:-.15em;box-sizing:border-box;border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:1em;height:1em;margin-right:6px;animation:.8s linear infinite app-spinner-spin;display:inline-block}.spinner--md{border-width:3px;width:20px;height:20px}.icon-button .spinner{margin-right:0}@keyframes app-spinner-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.permission-admin-page{flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.permission-admin-page>.section:first-child{flex:none}.permission-admin-title{white-space:nowrap;margin:0 12px 0 0;font-size:15px}.permission-admin-list-section{flex-direction:column;flex:auto;min-height:0;padding-bottom:0;display:flex}.permission-admin-list-body{flex:auto;min-height:0;padding-bottom:12px;overflow-y:auto}table.points-table.permission-admin-table{table-layout:fixed}table.points-table.permission-admin-table th,table.points-table.permission-admin-table td{overflow-wrap:anywhere}.permission-admin-col-name{width:220px}.permission-admin-col-description{width:280px}.permission-admin-col-email{width:320px}.permission-admin-col-status{width:200px}.permission-admin-col-actions{width:180px}.permission-admin-col-actions-history{width:244px}.permission-admin-col-actions-wide{width:200px}.permission-admin-multiline{white-space:pre-wrap}.permission-admin-self{color:var(--color-muted);margin-left:6px;font-size:12px}.permission-feature-fieldset{border:1px solid var(--color-border);border-radius:6px;min-width:0;margin:0;padding:8px 12px}.permission-feature-fieldset legend{padding:0 6px;font-weight:600}.permission-feature-scope+.permission-feature-scope{margin-top:8px}.permission-feature-scope__title{color:var(--color-muted);margin-bottom:4px;font-size:12px;font-weight:600}.permission-feature-empty{color:var(--color-muted);margin:0}.route-id-checkboxes{flex-direction:column;gap:4px;display:flex}.route-id-checkboxes__item{color:var(--color-fg);flex-direction:row;align-items:center;gap:6px;font-size:13px;line-height:1.4;display:flex}.route-id-checkboxes__item input[type=checkbox]{flex:none;width:auto;margin:0;padding:0}.permission-assign-list{flex-direction:column;gap:6px;display:flex}.permission-assign-item{white-space:normal;align-items:flex-start}.permission-assign-item__desc{color:var(--color-muted);display:block}.permission-assign-preview{background:var(--color-surface-alt);border-radius:6px;margin-top:8px;padding:8px 12px}.broadcast-condition-fields{flex-wrap:wrap;align-items:flex-end;gap:6px 12px;display:flex}.broadcast-condition-fields>label{flex:none;width:auto}.broadcast-condition-fields select,.broadcast-condition-fields input{box-sizing:border-box;max-width:100%}.broadcast-condition-fields__header,.broadcast-condition-fields__note{flex:1 0 100%}.broadcast-condition-fields__header{justify-content:space-between;align-items:center;display:flex}.broadcast-condition-fields__note{color:#555;margin:0;font-size:.85em}.broadcast-condition-fields__note--warn{color:#a15c00}.broadcast-condition-fields__summary{color:#666;align-self:center;font-size:.9em}.broadcast-condition-field--type select{width:9em}.broadcast-condition-field--route select{width:19em}.broadcast-condition-field--mode select{width:20em}.broadcast-condition-field--stop select,.broadcast-condition-field--direction select,.broadcast-condition-field--platform select{width:11em}.broadcast-condition-field--number input,.broadcast-condition-field--operator select{width:6em}.master-history-table{table-layout:fixed;width:100%}.master-history-table th,.master-history-table td{white-space:normal;overflow-wrap:anywhere}.master-history-table__col--changed-at{width:170px}.master-history-table__col--type{width:130px}.master-history-table__col--action{width:100px}.master-history-table__col--actor{width:240px}.master-history-table--list .master-history-table__col--changed-at{width:14%}.master-history-table--list .master-history-table__col--type{width:12%}.master-history-table--list .master-history-table__col--target{width:26%}.master-history-table--list .master-history-table__col--action{width:10%}.master-history-table--list .master-history-table__col--actor{width:26%}.master-history-table--list .master-history-table__col--restore{width:12%}.master-history-changes-table{table-layout:fixed;width:100%}.master-history-changes-table th,.master-history-changes-table td{white-space:normal;overflow-wrap:anywhere;vertical-align:top}.master-history-changes-table__col--label{width:200px}.master-history-changes-table__col--kind{width:80px}
