/* AONAGI RAILWAY — #071B2B / #167D8D / #B9E4E8 / #EEEEEE */
:root{--ink:#071b2b;--teal:#167d8d;--ice:#b9e4e8;--paper:#eee;color-scheme:dark;background:var(--ink);color:var(--paper);font-family:'Yu Gothic UI','Meiryo',system-ui,sans-serif}body{background:radial-gradient(ellipse at 85% 0,#167d8d1c,transparent 48%),#071b2b}header{background:#071b2bf5;border-bottom:1px solid #b9e4e826;padding:23px 3%;gap:28px}header>.identity{display:flex;align-items:center;gap:29px}.company-logo{display:block;width:211px;height:auto}.station-title{border-left:1px solid #b9e4e83d;padding-left:25px}header small,.eyebrow{color:#b9e4e8;letter-spacing:2.5px;font-size:9px}h1{font-size:22px;color:#eee;letter-spacing:4px}h1 span{font-size:11px;color:#b9e4e8;letter-spacing:1px}.clock{color:#b9e4e8;font-variant-numeric:tabular-nums;font-size:25px}.badge{border-color:#167d8d;background:#167d8d26;color:#b9e4e8;font-size:10px;letter-spacing:.5px}button,select{border-color:#b9e4e83a;background:#102c3d;color:#eee;border-radius:4px;font-size:12px;transition:background .15s,border-color .15s}button:hover{background:#167d8d40;border-color:#b9e4e8}button:focus-visible,select:focus-visible{outline-color:#b9e4e8}.primary{background:#167d8d;color:#eee;border-color:#167d8d;box-shadow:0 5px 22px #167d8d30}.primary:hover{background:#1b8b9b}main{padding-top:26px}.brief{margin-bottom:25px}.brief h2{font-size:19px;font-weight:500;letter-spacing:.5px}.muted{color:#b9e4e89e}.metric strong{color:#b9e4e8;font-size:24px}.metric small{color:#b9e4e899;font-size:10px}.brief .metrics{gap:32px}.metric{border-left:1px solid #b9e4e82e;padding-left:18px}.console{border:7px solid #b9e4e8;border-radius:7px;background:#112d3e;box-shadow:0 7px 0 #167d8d,0 20px 38px #0004}.consolehead{color:#b9e4e8;font-size:11px;font-weight:500;letter-spacing:.8px;padding:16px 18px 0}.consolehead span:first-child:before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:#b9e4e8;box-shadow:0 0 9px #b9e4e8aa;margin-right:9px}.consolefoot{background:#0c2434;border-top:1px solid #b9e4e82e;color:#b9e4e8;padding:15px 20px;font-size:12px;min-height:65px}.consolefoot b{color:#eee}.zoom{background:#167d8d4d;color:#b9e4e8;border-color:#b9e4e83a}.diagramwrap{scrollbar-color:#167d8d #071b2b}.rail{stroke:#718e9a;stroke-linecap:butt}.rail.reserved{stroke:#eee;stroke-width:6}.rail.occupied{stroke:#ff8d88;stroke-width:7}.track-label{fill:#eee;letter-spacing:.3px}.tiny{fill:#b9e4e8b3}.platform{fill:#167d8d;stroke:#b9e4e885;stroke-width:1}.platform-label{fill:#eee;font-size:13px;font-weight:500;letter-spacing:1px}.rotor-label{color:#b9e4e8;text-shadow:none}.rotor-label b{color:#eee}.rotor-label em{color:#b9e4e8}.rotor .base{background:conic-gradient(#eee,#537b89,#b9e4e8,#527482,#eee);box-shadow:2px 4px 3px #0008}.rotor .disc{background:#071b2b;color:#eee}.rotor.point .handle{background:linear-gradient(90deg,#8ab6c3,#eee 65%,#b9e4e8)}.rotor.point .disc{border-color:#b9e4e8}.rotor.locked:after{background:#071b2be8;color:#b9e4e8;border:1px solid #b9e4e838}.rotor.moving:after{color:#b9e4e8}.side,.card{background:#0e2939;border:1px solid #b9e4e826;border-radius:6px}.side{padding:20px}h2{font-weight:500;letter-spacing:.6px}.side h2:before,.card h2:before{content:'';display:inline-block;height:12px;width:3px;background:#167d8d;margin-right:9px}h3{color:#b9e4e8;font-size:12px;letter-spacing:.5px}.traincard{background:#071b2b6b;border:1px solid #b9e4e82b;border-radius:4px;padding:13px}.traincard.selected{border-color:#b9e4e8;box-shadow:inset 3px 0 #167d8d;background:#167d8d1f}.traincard p{color:#b9e4e8ba;font-size:11px}.traincard strong{font-weight:500}.traincard button{background:transparent;color:#b9e4e8;border-color:#b9e4e848}.kind{border:1px solid #b9e4e840;background:#167d8d47;color:#b9e4e8;font-weight:500}.kind.express{background:#b9e4e819;color:#eee;border-color:#eee7a}.kind.limited{background:#eee;color:#071b2b;border-color:#eee}.hintline{color:#b9e4e8;font-size:11px}.lockrow{border-color:#b9e4e826;color:#b9e4e8;font-size:11px}.empty{color:#b9e4e88c}.logs{color:#b9e4e8a6;font-size:10px;line-height:2}.below{gap:18px;margin-top:30px}.card{padding:21px}table{font-size:11px;font-variant-numeric:tabular-nums}th{background:#113749;color:#b9e4e8;font-size:10px;font-weight:500;letter-spacing:.5px}td{border-bottom:1px solid #b9e4e81c;color:#e5edef;padding:12px 9px}.selectedrow{background:#167d8d22}.good{color:#b9e4e8}.finishedrow{background:#071b2b66}.finishedrow td,.finishedrow .good,.finishedrow .muted{color:#80949f}.finishedrow .kind{background:#142d3c;color:#80949f;border-color:#80949f55}.finishedrow .eventstatus{color:#80949f}.finishedrow.selectedrow{background:#102d3d}.late{color:#ff8c87!important}.eventstatus{color:#b9e4e8}.tablewrap{scrollbar-color:#167d8d #071b2b}.modal{background:#071b2bf0;backdrop-filter:none}.modalbox{background:linear-gradient(145deg,#12394b,#071b2b 80%);border:1px solid #b9e4e85c;border-radius:10px;box-shadow:0 22px 100px #0008}.modalbox h2{font-weight:500;letter-spacing:2px}.modalbox p{color:#b9e4e8bf}.modechoices button{background:#071b2b99;border-color:#b9e4e840}.modechoices button.active{background:#167d8d52;border-color:#b9e4e8}.modechoices small{color:#b9e4e8}.instruction{background:#071b2b80;border-color:#167d8d;color:#b9e4e8}.grade{color:#b9e4e8}.resultmetric{background:#071b2b90;border:1px solid #b9e4e81f;border-radius:4px}.resultmetric b{color:#b9e4e8}.resultmetric small{color:#b9e4e899}details{border-color:#b9e4e82e;color:#b9e4e8a6}summary{color:#b9e4e8}a{color:#b9e4e8}footer{color:#b9e4e86e;letter-spacing:1.2px;font-size:9px}.eyebrow:before{content:'＋';margin-right:7px;color:#167d8d}@media(max-width:1200px){header{align-items:flex-start;flex-wrap:wrap}.company-logo{width:180px}.station-title{padding-left:20px}header>.identity{gap:20px}}@media(max-width:600px){header>.identity{gap:15px;align-items:center}.company-logo{width:144px}.station-title{padding-left:14px}h1{font-size:18px;letter-spacing:2px}h1 span{display:block;font-size:9px;margin-top:4px}header small{font-size:7px;letter-spacing:1px}header{gap:20px}.toolbar{gap:7px}.clock{font-size:22px}.console{border-width:5px}.brief .metrics{gap:15px}.metric{padding-left:10px}.metric strong{font-size:20px}.brief h2{font-size:17px}.card,.side{padding:16px}.consolehead{padding:12px 10px 0;font-size:10px}.consolefoot{padding:12px;font-size:11px}}

.rotor.pending:after{content:"予約";position:absolute;bottom:-1px;right:-5px;font-size:9px;padding:0 3px;background:#167d8d;color:#eee;border-radius:3px}.rotor.pending .base{box-shadow:0 0 10px #b9e4e8aa}.lockrow b{color:#b9e4e8}

.company-home{display:block;flex-shrink:0;line-height:0;border-radius:9px}.company-home:focus-visible{outline:3px solid #167d8d;outline-offset:6px}.leave-dialog{width:min(440px,calc(100% - 40px));box-sizing:border-box;border:1px solid #b9e4e8;border-radius:10px;padding:28px;color:#071b2b;background:#fff;box-shadow:0 20px 80px #071b2b30}.leave-dialog::backdrop{background:#071b2b88}.leave-dialog h2{font-size:20px;margin:0 0 14px;letter-spacing:1px}.leave-dialog p{font-size:13px;line-height:1.9;color:#58727d;margin:0 0 24px}.leave-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}.leave-actions button{padding:10px 14px;background:#fff;color:#167d8d;border-color:#b9e4e8}.leave-actions .leave-confirm{background:#167d8d;color:#fff;border-color:#167d8d}
