*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font-family:Meiryo UI,Meiryo,Hiragino Sans,sans-serif;font-size:13px;color:#1a1a1a}.app{display:flex;flex-direction:column;height:100%}.app-header{display:flex;align-items:center;gap:12px;padding:6px 12px;border-bottom:1px solid #ccc;background:#f4f4f4;flex:none}.app-brand{font-weight:700;font-size:14px;color:#1d5fb0;white-space:nowrap}.app-brand-stage{font-weight:400;font-size:12px;color:#777}.open-btn{padding:4px 12px;cursor:pointer}.file-name{color:#444}.file-name .warn{color:#a0600c}.sw-update{margin-left:auto;padding:4px 10px;background:#1d5fb0;color:#fff;border:none;border-radius:4px;cursor:pointer}.app-error{padding:6px 12px;background:#fbe3e3;color:#9c2b2b;border-bottom:1px solid #e0b0b0}.app-empty{display:grid;place-items:center;height:100%;color:#777;padding:24px;text-align:center}.app-body{display:flex;flex:1;min-height:0}.app-footer{flex:none;display:flex;align-items:center;gap:16px;padding:4px 12px;border-top:1px solid #ccc;background:#f4f4f4;font-size:11px}.app-footer a{color:#555;text-decoration:none}.app-footer a:hover{text-decoration:underline;color:#1d5fb0}.app-footer-links{margin-left:auto;display:flex;gap:16px}.app-sidebar{width:220px;flex:none;overflow:auto;border-right:1px solid #ccc;background:#fafafa}.app-main{flex:1;min-width:0;display:flex;flex-direction:column}.rosen-tree{padding:8px}.rosen-name{font-weight:700;margin-bottom:6px}.dia-node{margin-bottom:8px}.dia-name{font-weight:600;color:#333}.view-list,.eki-list{list-style:none;margin:2px 0 0;padding-left:12px}.eki-list{max-height:240px;overflow:auto}.view-list button,.eki-list button{background:none;border:none;color:#1d5fb0;cursor:pointer;padding:2px 0;text-align:left;font:inherit}.view-list button:hover,.eki-list button:hover{text-decoration:underline}.tab-bar{display:flex;flex-wrap:wrap;gap:2px;padding:4px 4px 0;border-bottom:1px solid #ccc;background:#eee;flex:none}.tab{display:flex;align-items:center;background:#ddd;border:1px solid #bbb;border-bottom:none;border-radius:4px 4px 0 0}.tab.active{background:#fff;font-weight:600}.tab-label{background:none;border:none;padding:4px 8px;cursor:pointer;font:inherit}.tab-close{background:none;border:none;cursor:pointer;padding:0 6px;color:#888}.tab-close:hover{color:#333}.view-container{flex:1;min-height:0;position:relative;overflow:hidden}.diagram-root,.diagram-canvas{position:absolute;inset:0}.diagram-canvas{touch-action:none;cursor:grab}.grid-root{position:absolute;inset:0;outline:none}.grid-root:focus-visible{box-shadow:inset 0 0 0 2px #1d5fb066}.grid-content{position:absolute;inset:0;pointer-events:none}.grid-scroller{position:absolute;inset:0;overflow:auto}.eki-jikokuhyou{position:absolute;inset:0;overflow:auto;padding:8px}.eki-jikokuhyou table{border-collapse:collapse}.eki-jikokuhyou th.hour{width:32px;text-align:center;vertical-align:top;border:1px solid #ccc;background:#f0f0f0;padding:2px 4px}.eki-jikokuhyou td{border:1px solid #ccc;padding:2px 4px}.eki-jikokuhyou .dep{display:inline-block;margin-right:10px;white-space:nowrap}.eki-jikokuhyou .min{font-weight:600}.eki-jikokuhyou .syubetsu{color:#1d5fb0;margin:0 2px;font-size:11px}.eki-jikokuhyou .dest{color:#555;font-size:11px}.view-error{padding:24px;color:#9c2b2b}.view-note{padding:24px;color:#666}.prop-dialog{border:1px solid #888;border-radius:6px;padding:0;min-width:320px;box-shadow:0 8px 32px #00000040}.prop-dialog::backdrop{background:#0000004d}.prop-dialog .dialog-title{font-weight:600;padding:10px 14px;border-bottom:1px solid #ddd;background:#f5f5f5}.prop-dialog .dialog-body{padding:14px;display:flex;flex-direction:column;gap:10px;max-height:70vh;overflow-y:auto}.prop-dialog .dialog-field{display:flex;flex-direction:column;gap:4px;font-size:13px}.prop-dialog fieldset.dialog-field{border:1px solid #ddd;border-radius:4px;padding:6px 10px;flex-direction:row;gap:14px;align-items:center}.prop-dialog fieldset.dialog-field legend{font-size:12px;color:#666}.prop-dialog .dialog-field input[type=text],.prop-dialog .dialog-field select{padding:4px 6px;border:1px solid #bbb;border-radius:3px;font-size:13px}.prop-dialog .dialog-check{flex-direction:row;align-items:center;gap:6px}.prop-dialog .dialog-group{display:flex;flex-direction:column;gap:6px;border:1px solid #ddd;border-radius:3px;padding:8px;margin:0}.prop-dialog .dialog-radio{display:flex;flex-direction:row;align-items:center;gap:6px;flex-wrap:wrap}.prop-dialog .dialog-radio input[type=text],.prop-dialog .dialog-radio select{padding:2px 4px;border:1px solid #bbb;border-radius:3px;font-size:13px}.prop-dialog .dialog-error{color:#9c2b2b;font-size:12px;margin:0}.prop-dialog .dialog-footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid #ddd}.prop-dialog .dialog-footer button{padding:5px 16px;border:1px solid #999;border-radius:4px;background:#fff;cursor:pointer}.prop-dialog .dialog-footer .dialog-ok{background:#1d5fb0;color:#fff;border-color:#1d5fb0}.prop-dialog .dialog-footer .dialog-ok:disabled{opacity:.5;cursor:default}.prop-dialog input.dialog-num{width:3.5em;margin:0 4px}.prop-dialog select{margin:0 4px}.op-dialog{display:flex;flex-direction:column;gap:12px;min-width:460px}.op-lists{display:flex;gap:10px}.op-list{flex:1;border:1px solid #ddd;border-radius:4px;overflow:hidden}.op-list-title{font-size:12px;color:#666;padding:4px 8px;background:#f5f5f5;border-bottom:1px solid #ddd}.op-list-items{list-style:none;margin:0;padding:0;max-height:180px;overflow-y:auto}.op-row{display:block;width:100%;text-align:left;border:none;background:none;padding:3px 8px;font-size:12px;font-family:inherit;cursor:pointer;white-space:nowrap}.op-row:hover{background:#eef4fb}.op-row-sel{background:#1d5fb0;color:#fff}.op-row-sel:hover{background:#1d5fb0}.op-editor{display:flex;flex-direction:column;gap:8px;border-top:1px solid #ddd;padding-top:10px}.op-radios{display:flex;flex-wrap:wrap;gap:8px 14px}.op-radio{display:flex;align-items:center;gap:4px;font-size:13px}.op-buttons{display:flex;gap:6px;flex-wrap:wrap}.op-buttons button{padding:4px 10px;border:1px solid #999;border-radius:4px;background:#fff;font-size:12px;cursor:pointer}.op-buttons button:disabled{opacity:.5;cursor:default}.timetable-view{position:absolute;inset:0;display:flex;flex-direction:column}.timetable-view .grid-root{position:relative;inset:auto;flex:1;min-height:0}.grid-toolbar{flex:none;display:flex;gap:4px;padding:4px 8px;background:#f4f4f4;border-bottom:1px solid #ccc}.grid-toolbar button{padding:3px 8px;font-size:11px;border:1px solid #999;border-radius:3px;background:#fff;cursor:pointer}.grid-toolbar button:hover{background:#eef4fb}.toolbar-menu{position:relative}.toolbar-backdrop{position:fixed;inset:0;z-index:10}.toolbar-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:11;display:flex;flex-direction:column;gap:4px;min-width:240px;padding:8px;background:#fff;border:1px solid #999;border-radius:6px;box-shadow:0 2px 12px #0000002e;font-size:12px}.toolbar-dropdown label{display:flex;align-items:center;gap:6px;white-space:nowrap;cursor:pointer}.toolbar-dropdown hr{width:100%;border:none;border-top:1px solid #ddd;margin:2px 0}.renzoku-indicator{position:absolute;bottom:8px;left:8px;z-index:10;padding:4px 10px;background:#1d5fb0;color:#fff;border-radius:4px;font-size:12px;box-shadow:0 2px 8px #00000040;pointer-events:none}.train-search-bar{position:absolute;top:8px;right:8px;z-index:10;display:flex;gap:4px;padding:6px;background:#fff;border:1px solid #999;border-radius:6px;box-shadow:0 2px 12px #0000002e}.train-search-bar input{padding:4px 6px;border:1px solid #bbb;border-radius:3px;font-size:13px}.train-search-bar input.not-found{border-color:#c0392b;background:#fdecea}.train-search-bar button{padding:4px 8px;border:1px solid #999;border-radius:3px;background:#f5f5f5;cursor:pointer;font-size:12px}.new-btn,.edit-btn{padding:4px 10px;cursor:pointer}.rosen-level-list{list-style:none;margin:0 0 8px;padding:0;border-bottom:1px solid #ddd}.rosen-level-list li{margin:0}.rosen-level-list button{display:block;width:100%;text-align:left;padding:4px 8px;border:none;background:none;cursor:pointer;font-size:13px}.rosen-level-list button:hover{background:#eef}.row-grid-view{display:flex;flex-direction:column;height:100%;overflow:auto}.row-grid-toolbar{display:flex;gap:6px;padding:6px 8px;border-bottom:1px solid #ddd;flex:0 0 auto}.row-grid-toolbar button{padding:3px 10px;cursor:pointer}.row-grid-toolbar button:disabled{opacity:.4;cursor:default}.row-grid{border-collapse:collapse;font-size:13px;width:100%}.row-grid th,.row-grid td{border:1px solid #ddd;padding:3px 8px;text-align:left;white-space:nowrap}.row-grid thead th{background:#f0f0f0;position:sticky;top:0}.row-grid tbody tr{cursor:pointer}.row-grid tbody tr:hover{background:#f7f9ff}.row-grid tbody tr.selected{background:#dde8ff}.row-grid .empty-row{color:#888;text-align:center;font-style:italic}.color-chip{display:inline-block;width:18px;height:12px;border:1px solid #999;vertical-align:middle}.sen-sample{vertical-align:middle}.dia-list{list-style:none;margin:0 0 10px;padding:0;max-height:240px;overflow:auto;border:1px solid #ccc}.dia-list li{padding:4px 10px;cursor:pointer}.dia-list li:hover{background:#f7f9ff}.dia-list li.selected{background:#dde8ff}.dia-list li.empty-row{color:#888;font-style:italic;cursor:default}.dia-list-buttons{display:flex;flex-wrap:wrap;gap:6px}.dia-list-buttons button{padding:3px 12px;cursor:pointer}.dia-list-buttons button:disabled{opacity:.4;cursor:default}.dialog-tablist{display:flex;gap:2px;margin-bottom:10px;border-bottom:1px solid #ccc}.dialog-tab{padding:4px 12px;border:1px solid transparent;border-bottom:none;background:none;cursor:pointer;font-size:13px}.dialog-tab-active{border-color:#ccc;background:#fff;font-weight:700}.track-editor-toolbar{display:flex;gap:4px;margin-bottom:4px}.track-editor-toolbar button{padding:2px 8px;cursor:pointer}.track-editor-toolbar button:disabled{opacity:.4;cursor:default}.track-editor-table{border-collapse:collapse;font-size:12px}.track-editor-table th,.track-editor-table td{border:1px solid #ddd;padding:1px 3px}.track-editor-table thead th{background:#f0f0f0}.track-editor-table tr.selected{background:#dde8ff}.track-editor-table input[type=text]{width:6em;font-size:12px}.row-grid-toolbar button.active{background:#dde8ff;border:1px solid #1d5fb0;border-radius:3px}.row-grid.setting-mode th{vertical-align:top}.setting-col-head{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px}.setting-cycle-buttons{display:flex;gap:1px}.setting-cycle-buttons button{padding:0 4px;font-size:11px;cursor:pointer;line-height:1.4}.setting-cycle-buttons button:disabled{opacity:.4;cursor:default}.prop-dialog .dialog-note{font-size:12px;color:#555;margin:0 0 4px}.view-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:6px 10px;border-bottom:1px solid #ccc;background:#f6f6f6;font-size:12px}.view-toolbar label{display:inline-flex;gap:4px;align-items:center}.view-toolbar .stale-note{color:#b06000}.view-toolbar .error-note{color:#9c2b2b}.view-toolbar .op-number-title{font-weight:700}.all-operation-table,.operation-table,.inout-link-code-list{overflow:auto;height:100%}.all-operation-grid,.operation-table-grid,.inout-link-grid{border-collapse:collapse;font-size:12px;white-space:nowrap}.all-operation-grid th,.all-operation-grid td,.operation-table-grid th,.operation-table-grid td,.inout-link-grid th,.inout-link-grid td{border:1px solid #ddd;padding:2px 6px}.all-operation-grid th,.operation-table-grid th,.inout-link-grid th{background:#eee;position:sticky;top:0}.all-operation-grid .jikoku,.operation-table-grid .jikoku{text-align:right;font-variant-numeric:tabular-nums}.all-operation-grid .arrow,.operation-table-grid .arrow,.inout-link-grid .arrow{text-align:center}.all-operation-grid tbody tr:hover,.operation-table-grid tbody tr:hover,.inout-link-grid tbody tr:hover{background:#f0f6ff}.all-operation-grid .ressya-cell>span{margin-right:6px}.all-operation-graph{position:relative;font-size:11px}.all-operation-graph .graph-scale{position:relative;height:18px;border-bottom:1px solid #ccc}.all-operation-graph .graph-scale .hour{position:absolute;transform:translate(-50%);color:#666}.all-operation-graph .graph-row{position:relative;height:20px;border-bottom:1px solid #eee}.all-operation-graph .graph-label{position:absolute;left:0;width:60px;font-weight:700}.all-operation-graph .graph-out{position:absolute;left:60px;width:58px;overflow:hidden;color:#666}.all-operation-graph .graph-band{position:absolute;top:6px;height:8px;background:#3b6ea5;border-radius:4px}.all-operation-graph .graph-in{position:absolute;right:0;color:#666}.box-operation-table{border-collapse:collapse;font-size:12px;white-space:nowrap}.box-operation-table th,.box-operation-table td{padding:0 4px;text-align:center}.box-operation-table thead th{border-bottom:1px solid #999;background:#f4f4f4;font-weight:400}.box-operation-table tbody th{border-bottom:1px solid #ccc;border-right:1px solid #ccc;font-weight:400;text-align:left}.box-operation-table .box-tr-hatsu td{border-bottom:1px solid #ccc}.box-operation-table .box-chaku,.box-operation-table .box-hatsu{position:relative;height:15px;min-width:40px}.box-operation-table .tsuuka{color:gray}.box-operation-table .box-line-cell{position:relative;height:3px;padding:0}.box-operation-table .box-line{position:absolute;top:0;height:3px}.box-operation-table .box-vline{position:absolute;left:calc(50% - 1px);top:0;width:3px;height:100%}.box-operation-table .box-mark{position:absolute;left:50%;width:12px;height:12px;transform:translate(-50%)}.box-operation-table .box-mark-circle{bottom:0}.box-operation-table .box-mark-triangle{top:0}.all-operation-graph-root{position:absolute;inset:0;display:flex;flex-direction:column}.all-operation-graph-root .graph-toolbar{flex:none}.all-operation-graph-root .graph-range{color:#666}.all-operation-graph-canvas{position:relative;flex:1;min-height:0}.all-operation-graph-canvas canvas{position:absolute;inset:0;touch-action:none}.customize-timetable{position:absolute;inset:0;display:flex;flex-direction:column;outline:none}.customize-scroller{flex:1;min-height:0;overflow:auto}.customize-grid{border-collapse:collapse;font-size:12px;white-space:nowrap}.customize-grid th,.customize-grid td{border:1px solid #ddd;padding:1px 4px;text-align:center;font-weight:400}.customize-grid .row-ekimei,.customize-grid .row-sub{position:sticky;background:#f4f4f4;text-align:left;z-index:1}.customize-grid .row-ekimei{left:0;min-width:84px}.customize-grid .row-sub{left:84px;min-width:68px;color:#666}.customize-grid .header-row td{background:#fcfcfc}.customize-grid .cell-mark{color:#888}
