@font-face{font-family:Noto Sans JP Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/mailmichi-ui.woff2) format("woff2");unicode-range:U+0020-007E,U+2192,U+2318,U+3001-3002,U+300C-300D,U+3010-3011,U+3042,U+3044,U+3046,U+3048,U+304A-304F,U+3051,U+3053-3055,U+3057-305B,U+305D,U+305F-3061,U+3063-306B,U+306E-3070,U+3076,U+3078-3079,U+307B,U+307E-3082,U+3084,U+3088-308C,U+308F,U+3092-3093,U+30A1-30A2,U+30A4,U+30A6,U+30A9,U+30AC-30AD,U+30AF-30B0,U+30B3,U+30B5-30B6,U+30B8-30B9,U+30BB,U+30BD-30C0,U+30C3,U+30C6-30C9,U+30CD,U+30D0,U+30D3-30D8,U+30DA-30DC,U+30DF-30E2,U+30E9-30ED,U+30F3,U+30FB-30FC,U+4E00,U+4E0A-4E0B,U+4E0D,U+4E16,U+4E26,U+4ED5-4ED6,U+4ED8,U+4EE5,U+4EF6,U+4F34,U+4F5C,U+4F75,U+4F7F,U+4F9D,U+4FDD,U+4FE1,U+5024,U+505C,U+507D,U+5143,U+5148,U+5165,U+5168,U+516C,U+5171,U+5185,U+518D,U+51E6,U+51FA,U+5206-5207,U+521D,U+5224,U+5229,U+5236,U+523B,U+524D,U+529B,U+52B9,U+52D5,U+533A,U+5354,U+5358,U+539F,U+53D6-53D7,U+53EF,U+5404,U+5408,U+540C-540D,U+542B,U+544A,U+554F,U+56E0,U+56F2,U+5728,U+5730,U+57DF,U+57FA,U+5831,U+5909,U+5916,U+591A,U+5927,U+59CB,U+5B57-5B58,U+5B89,U+5B8C,U+5B9A,U+5B9F,U+5BB9,U+5BFE,U+5DE6,U+5DEE,U+5E38,U+5E83,U+5E8F,U+5EF6,U+5F0F,U+5F15,U+5F27,U+5F62,U+5F85,U+5F8C,U+5F93,U+5F97,U+5FA1,U+5FC5,U+5FDC,U+6027,U+60C5,U+610F,U+6210,U+6240,U+6271,U+629E,U+62EC,U+63DB,U+64CD,U+6539,U+6570,U+6574,U+6587,U+65AD,U+65B9,U+65E5,U+65E7,U+660E,U+6642,U+66DC,U+66F4,U+66F8,U+66FF-6700,U+6709,U+672B-672C,U+6790,U+6848,U+696D,U+69D8,U+6A19,U+6A2A,U+6A5F,U+6B04,U+6B20,U+6B62,U+6B8B,U+6CC1,U+6CD5,U+6CE8,U+6D88,U+6E21,U+6E96,U+7167,U+7248,U+72B6,U+72EC,U+73FE,U+7406,U+7528,U+7531,U+753B,U+754C,U+7565,U+7570,U+76EE,U+7701,U+771F,U+78BA,U+793A,U+79D2,U+7A7A,U+7AEF,U+7B26,U+7B97,U+7BA1,U+7BC4,U+7D30,U+7D44,U+7D4C,U+7D71,U+8005,U+81EA,U+81F4,U+843D,U+884C,U+8868,U+88C5,U+8907,U+8981,U+898B,U+8996,U+89A7,U+89E3,U+8A08,U+8A18,U+8A2D,U+8A66,U+8A73,U+8A8D,U+8A9E,U+8AAD,U+8ABF,U+8C61,U+8CBC,U+8D77,U+8DEF,U+8EE2,U+8F09,U+8FBC,U+8FD4,U+9001,U+9006,U+901A,U+9023,U+9045,U+9053,U+9055,U+9078,U+90E8,U+914D,U+9332,U+9577,U+9589,U+958B,U+9593,U+95A2,U+9650,U+969B,U+9762,U+9805-9806,U+9818,U+9858,U+FF08-FF09,U+FF3B,U+FF3D,U+FF5C}:root{font-family:Noto Sans JP Variable,Noto Sans JP,Yu Gothic,Meiryo,sans-serif;color:#132d4d;background:#fff;font-synthesis:none;font-weight:450;--blue:#1264e8;--ink:#102a49;--muted:#4b6486;--line:#cbd6e5;--tint:#f2f6fc}*{box-sizing:border-box}body{margin:0}button,select,textarea{font:inherit}button,a,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.48}a{color:var(--blue);text-underline-offset:4px}button:focus-visible,a:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #124bb8;outline-offset:4px}button,select{min-height:42px}button{border:0}textarea{resize:vertical;line-height:1.62;color:var(--ink);border:1px solid #b7c7dc;border-radius:5px;background:#fff;padding:15px;min-width:0}textarea:focus{border-color:var(--blue)}.page-shell{max-width:1600px;margin:0 auto;padding:12px 30px 0}.site-header{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:81px}.brand{display:flex;align-items:center;gap:4px;color:var(--blue);font-size:44px;font-weight:850;letter-spacing:-.045em;text-decoration:none;line-height:1}.brand img{object-fit:contain;display:block;width:108px;height:86px}.site-header nav{display:flex;align-items:center;gap:28px;font-size:16px;color:var(--ink)}.local-label{display:inline-flex;align-items:center;gap:9px;white-space:nowrap}.help-link{border-left:1px solid var(--line);padding-left:29px!important}.text-link{display:inline-flex;align-items:center;gap:6px;padding:2px 0;background:transparent;color:var(--blue);font-size:14px;text-decoration:underline;text-underline-offset:4px}.text-link:hover{color:#0c44a1}.text-link.muted{color:var(--muted)}.intro{padding:25px 10px 18px}.intro h1{font-size:clamp(28px,3.5vw,51px);letter-spacing:-.035em;line-height:1.35;margin:0 0 11px;font-weight:850;color:#092443}.intro p{margin:0;font-size:23px;line-height:1.65;font-weight:480;letter-spacing:.025em;color:#3c577b}.workspace{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:20px;margin-top:0}.panel{border-radius:6px;padding:22px 24px;background:var(--tint);min-width:0}.input-panel{display:flex;flex-direction:column}.section-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:19px}.section-header h2,.result-heading h2,.memo-heading h2{font-size:26px;font-weight:800;line-height:1.45;letter-spacing:-.035em;margin:0}.section-header h2{font-size:24px}.subtle{font-size:13px;color:var(--muted);white-space:nowrap}.input-panel>textarea{width:100%;flex:1;min-height:455px;font-family:ui-monospace,SFMono-Regular,Consolas,Noto Sans JP Variable,monospace;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}.input-tools{display:flex;justify-content:space-between;align-items:center;margin:4px 0}.input-help{display:flex;flex-wrap:wrap;justify-content:space-between;font-size:12px;color:var(--muted);margin:0 0 10px;gap:3px}.error-message{font-size:14px;color:#a82921;line-height:1.5;margin-bottom:10px}.error-message:empty{display:none}.button{display:inline-flex;justify-content:center;align-items:center;gap:13px;min-height:58px;padding:12px 20px;border-radius:5px;font-weight:700;font-size:19px;letter-spacing:.005em;line-height:1.5;transition:background-color .15s}.primary{background:var(--blue);color:#fff;border:1px solid var(--blue)}.primary:hover:not(:disabled){background:#0b51c7;border-color:#0b51c7}.secondary{background:#fff;border:1px solid #aabdd6;color:var(--blue)}.secondary:hover:not(:disabled){background:#f4f8ff}.analyze-button{width:100%}.result-panel{background:#edf5ff;padding:12px 18px 17px;display:flex;flex-direction:column}.result-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:0 3px 12px;min-height:60px}.zone-control{display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:0}.sample-caption{font-size:12px;color:#536f96;white-space:nowrap}select{background:#fff;border:1px solid #b6c6dc;color:var(--ink);border-radius:5px;padding:5px 30px 5px 12px;font-size:14px;max-width:100%;cursor:pointer}.route-surface{background:#fff;border-radius:4px;padding:8px 16px 0}.route-list{list-style:none;margin:0;padding:0;max-height:340px;overflow:auto;scrollbar-gutter:stable}.route-item{display:grid;grid-template-columns:17px minmax(0,43%) minmax(0,1fr);gap:15px;padding:13px 0;position:relative;min-height:91px}.route-point{background:var(--blue);border-radius:50%;width:16px;height:16px;position:relative;align-self:start;margin-top:5px}.route-item:not(:last-child) .route-point:after{content:"";position:absolute;top:21px;height:calc(100% + 64px);width:1px;background:#2472ea;left:7px}.station{display:flex;flex-direction:column;gap:4px;min-width:0}.station strong{font-size:18px;font-weight:650;line-height:1.45;overflow-wrap:anywhere}.station time{color:#496486;font-size:15px;line-height:1.6;overflow-wrap:anywhere}.handoff{border-left:1px solid #d9e2ee;padding-left:17px;min-width:0;font-size:14px;line-height:1.55;color:#405d84}.handoff>span{font-size:14px}.handoff p{margin:2px 0;overflow-wrap:anywhere;font-size:13px}.handoff svg{display:inline-block;vertical-align:middle}.handoff details{font-size:12px;margin-top:5px}.handoff summary{cursor:pointer;color:#125ac7;min-height:25px}.handoff pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;line-height:1.6;color:var(--ink);margin:5px 0;padding:8px;background:#f3f6fb}.time-span{display:flex;align-items:baseline;gap:15px;padding:13px 0 15px;border-top:1px solid #d3ddeb;font-size:16px}.time-span strong{font-size:22px;color:var(--ink);white-space:nowrap}.memo-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:23px 3px 12px}.memo-output{width:100%;min-height:172px;height:172px;font-size:14px;line-height:1.8;resize:vertical}.output-actions{display:flex;gap:13px;margin:15px 3px 0}.output-actions .primary,.output-actions .secondary{flex:1}.status-message{font-size:12px;line-height:1.6;color:#385578;margin:8px 3px 0;min-height:20px}.reading-notes{margin:12px 3px 0;padding:10px 14px;background:#fff8e9;border-left:3px solid #af761b;font-size:13px;line-height:1.7;color:#6d4c18}.reading-notes p{margin:0;display:flex;align-items:center;gap:7px;font-weight:700}.reading-notes ul{margin:3px 0 0;padding-left:20px}.empty-state{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:534px;padding:34px 20px}.empty-mark{color:#6998d2;margin-bottom:10px}.empty-state h3{font-size:24px;margin:0 0 12px;font-weight:700}.empty-state>p{font-size:16px;color:var(--muted);line-height:1.9;margin:0 0 18px}.empty-note{display:flex;align-items:center;gap:9px;margin-top:58px;text-align:left;color:#4b6587}.empty-note p{font-size:13px;line-height:1.7;margin:0}footer{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;border-top:1px solid #bac9dd;margin-top:22px;padding:9px 0 15px;font-size:12px;color:#506b8f;line-height:1.8}footer p{margin:0}footer p:first-child{display:flex;flex-wrap:wrap;gap:0 10px;align-items:center}footer .text-link{font-size:12px;min-height:30px}.skip-link{position:fixed;left:15px;top:-100px;z-index:20;padding:10px;background:#fff}.skip-link:focus{top:10px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{max-width:min(700px,calc(100vw - 32px));max-height:calc(100vh - 40px);border:1px solid #c2d0e4;border-radius:12px;padding:25px;color:var(--ink);background:#fff;box-shadow:0 20px 80px #102a4930}dialog::backdrop{background:#102a4980}.dialog-header{display:flex;gap:15px;align-items:center;justify-content:space-between}.dialog-header h2{margin:0;font-size:24px}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:42px;background:#edf4ff;color:var(--ink);border-radius:6px}.dialog-body{font-size:15px;line-height:1.9;margin-top:18px}.dialog-body h3{font-size:18px;margin:20px 0 4px}.dialog-body p{margin:8px 0 14px}.dialog-body ol{padding-left:23px}.dialog-done{display:flex;margin:22px 0 0 auto;min-height:45px;font-size:16px;padding:8px 30px}@media(min-width:1600px){.intro h1{font-size:54px}}@media(max-width:1150px){.page-shell{padding:12px 20px 0}.brand{font-size:36px}.brand img{width:90px;height:76px}.intro{padding-left:3px}.intro p{font-size:19px}.panel{padding:17px}.result-panel{padding:10px 14px 14px}.section-header{flex-wrap:wrap;gap:2px}.section-header h2{font-size:21px}.result-heading h2,.memo-heading h2{font-size:22px}.result-heading{gap:8px}.route-item{grid-template-columns:15px minmax(0,1fr);gap:12px}.handoff{grid-column:2;border:0;padding:0}.route-point{grid-row:1 / 3;width:14px;height:14px}.route-item:not(:last-child) .route-point:after{height:100px;left:6px}.station strong{font-size:16px}.station time{font-size:14px}.route-list{max-height:350px}.time-span{flex-wrap:wrap;gap:0 10px;font-size:14px}.time-span strong{font-size:19px}.button{font-size:16px;gap:8px;padding:11px 14px}.memo-heading .subtle{display:none}.site-header nav{font-size:14px;gap:16px}.help-link{padding-left:17px!important}footer{flex-direction:column;gap:3px}.input-panel>textarea{min-height:570px}}@media(max-width:760px){.page-shell{padding:7px 16px 0}.site-header{align-items:flex-start;gap:9px;min-height:69px}.brand{font-size:29px;gap:0}.brand img{width:74px;height:61px}.site-header nav{flex-direction:column;align-items:flex-end;gap:0;padding-top:8px;font-size:11px}.local-label{gap:4px}.local-label svg{width:17px;height:17px}.help-link{border:0;padding-left:0!important;font-size:11px;min-height:30px}.intro{padding:13px 1px 21px}.intro h1{font-size:30px;line-height:1.5;letter-spacing:-.045em;margin-bottom:8px}.intro p{font-size:15px;line-height:1.8;letter-spacing:0}.workspace{grid-template-columns:minmax(0,1fr);gap:17px}.panel{padding:18px 16px}.section-header{margin-bottom:14px;flex-wrap:nowrap}.section-header h2{font-size:20px}.section-header .subtle{font-size:11px}.input-panel>textarea{min-height:245px;height:245px;flex:none;font-size:13px;padding:12px}.input-tools .text-link{font-size:13px}.input-help{font-size:11px;margin-bottom:9px}.analyze-button{font-size:17px;min-height:54px}.result-heading{align-items:flex-start;min-height:48px;margin-bottom:13px}.result-heading h2{font-size:21px;padding-top:4px}.zone-control{gap:4px}select{font-size:12px;min-height:37px;padding:5px 18px 5px 8px;max-width:175px}.sample-caption{font-size:10px}.route-surface{padding:5px 11px 0}.route-item{gap:3px 11px;padding:12px 0;min-height:108px}.station strong{font-size:15px}.station time{font-size:13px}.handoff{font-size:12px}.handoff>span{font-size:12px}.handoff p{font-size:11px}.handoff summary{font-size:11px}.route-item:not(:last-child) .route-point:after{height:94px}.time-span{font-size:12px;gap:3px 10px}.time-span strong{font-size:18px}.memo-heading{padding:21px 0 11px}.memo-heading h2{font-size:21px}.memo-output{font-size:13px;min-height:190px;height:190px;padding:12px}.output-actions{gap:9px;margin:13px 0 0}.output-actions .button{font-size:14px;min-height:52px;padding:9px;gap:6px}.output-actions svg{width:21px}.empty-state{min-height:330px;padding:20px 5px}.empty-state h3{font-size:21px}.empty-state>p{font-size:13px}.empty-note{margin-top:30px}.empty-note p,.status-message{font-size:11px}.reading-notes{font-size:12px}footer{margin-top:18px;font-size:11px}footer .text-link{font-size:11px}.dialog-header h2{font-size:20px}.dialog-body{font-size:14px}dialog{padding:20px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media(max-width:360px){.site-header{flex-wrap:wrap;gap:0}.site-header nav{flex-direction:row;align-items:center;gap:15px;width:100%;padding:0 2px 6px;justify-content:space-between}.intro h1{font-size:27px}.section-header{flex-wrap:wrap}.section-header .subtle{font-size:11px}.result-heading{flex-wrap:wrap}.zone-control{align-items:flex-start}}
