
    #construction-chart{padding:16px 0;color-scheme:light dark;font-family:"Noto Sans JP","Yu Gothic",sans-serif;--sheet:light-dark(#fff,#182621);--ink:light-dark(#173f37,#e2eee7);--sub:light-dark(#586f65,#b1c4b8);--line:light-dark(#d7e1d6,#42564a);--soft:light-dark(#f2f5ed,#24382b);--field:light-dark(#fff,#203229);--brand:light-dark(#285d4c,#b9d9c0);--onbrand:light-dark(#fff,#173629);color:var(--ink);font-size:17px;line-height:1.65}
    #construction-chart *{box-sizing:border-box}
    #construction-chart .work-sheet{background:var(--sheet);border:1px solid var(--line);border-radius:16px;max-width:736px;margin:auto;overflow:hidden}
    #construction-chart .sheet-top{padding:25px 28px 21px;background:var(--soft);border-bottom:1px solid var(--line)}
    #construction-chart .eyebrow{color:var(--sub);font-size:13px;letter-spacing:.08em;margin:0 0 7px}
    #construction-chart h1{font-family:"Yu Mincho",serif;font-size:28px;font-weight:500;margin:0 0 4px}
    #construction-chart .subtitle{margin:0;font-size:16px;color:var(--sub)}
    #construction-chart form{padding:0 28px}
    #construction-chart fieldset{border:0;border-bottom:1px solid var(--line);padding:22px 0 24px;margin:0;min-width:0}
    #construction-chart legend{float:left;width:100%;font-size:19px;font-weight:500;margin-bottom:15px;display:flex;gap:10px;align-items:center}
    #construction-chart .step{display:inline-grid;place-items:center;width:27px;height:27px;border-radius:50%;background:var(--soft);font-size:14px;flex-shrink:0}
    #construction-chart .fields{clear:both;display:grid;grid-template-columns:1fr 1fr;gap:18px}
    #construction-chart label{display:block;min-width:0}
    #construction-chart .field-label{display:block;margin-bottom:7px;font-size:16px}
    #construction-chart input:not([type=checkbox]),#construction-chart select{width:100%;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:7px;background:var(--field);color:var(--ink);font:inherit;font-size:17px}
    #construction-chart input[type=checkbox]{width:19px;height:19px;accent-color:var(--brand);flex-shrink:0;margin:0}
    #construction-chart input:disabled{background:var(--soft);color:var(--sub);border-color:var(--line);opacity:.65;cursor:not-allowed}
    #construction-chart .wide{grid-column:1/-1}
    #construction-chart .check{display:flex;align-items:center;gap:10px;min-height:44px;font-size:16px}
    #construction-chart .checks{display:flex;gap:8px 22px;flex-wrap:wrap}
    #construction-chart .with-unit{display:flex;align-items:center;gap:10px}
    #construction-chart .with-unit input{flex:1;width:0!important}
    #construction-chart .note{font-size:14px;color:var(--sub);margin:8px 0 0}
    #construction-chart .optional{font-size:13px;font-weight:400;color:var(--sub);margin-left:6px}
    #construction-chart .weather-fields{clear:both;display:grid;grid-template-columns:1.2fr 1fr;gap:18px}
    #construction-chart .actions{padding:22px 0 25px}
    #construction-chart .summary{margin:0 0 16px;font-size:16px}
    #construction-chart button{font:inherit;font-weight:500;min-height:49px;padding:12px 22px;border-radius:7px;border:1px solid var(--brand);background:var(--brand);color:var(--onbrand);width:100%}
    #construction-chart .results{padding:24px 28px 28px;background:var(--soft)}
    #construction-chart .result-title{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:15px}
    #construction-chart h3{font-size:20px;font-weight:500;margin:0}
    #construction-chart .sample{border:1px solid var(--line);padding:3px 9px;border-radius:5px;color:var(--sub);font-size:13px}
    #construction-chart .candidate{background:var(--sheet);padding:16px 18px;border-radius:8px;margin:10px 0;border:1px solid var(--line)}
    #construction-chart .candidate-top{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
    #construction-chart .rank{font-size:14px;color:var(--sub)}
    #construction-chart .dates{font-size:20px;font-weight:500}
    #construction-chart .candidate-data{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:8px;font-size:16px}
    #construction-chart .value{font-size:21px;font-weight:500;white-space:nowrap}
    #construction-chart .schedule{display:grid;grid-template-columns:1fr auto;gap:7px 16px;margin:12px 0 0;font-size:16px}
    #construction-chart .schedule dt,#construction-chart .schedule dd{margin:0}
    #construction-chart .schedule dd{text-align:right;font-variant-numeric:tabular-nums}
    #construction-chart .margin-row{border-top:1px solid var(--line);padding-top:10px;margin-top:4px!important;font-weight:500}
    #construction-chart .priority{margin:0 0 15px;font-size:16px;font-weight:500}
    #construction-chart .empty{padding:12px 0;color:var(--sub);font-size:16px;margin:0}
    #construction-chart [hidden]{display:none!important}
    #construction-chart .error{color:light-dark(#9c2929,#ffbdb0);font-size:15px;margin:0 0 12px}
    @media(max-width:540px){#construction-chart .sheet-top,#construction-chart .results{padding:20px}#construction-chart form{padding:0 20px}#construction-chart .fields,#construction-chart .weather-fields{grid-template-columns:1fr}#construction-chart .wide{grid-column:auto}#construction-chart .candidate{padding:14px}#construction-chart .dates{font-size:19px}}
    @media(max-width:400px){#construction-chart .schedule{grid-template-columns:1fr;gap:2px}#construction-chart .schedule dt{margin-top:10px}#construction-chart .schedule dd{text-align:left}#construction-chart .schedule dd.margin-row{border-top:0;padding-top:0;margin-top:0!important}}
  
.construction-page{padding-top:28px;padding-bottom:24px}
#construction-chart .construction-preview-note{margin:15px 0 0;padding:12px 15px;background:var(--sheet);border:1px solid var(--line);border-radius:7px;color:var(--sub);font-size:15px;line-height:1.7}
#construction-chart h1{font-family:"Yu Mincho",serif}
#construction-chart [name="deadline"]{min-height:49px}
#construction-chart button:disabled{opacity:.5;cursor:wait}
.construction-footer{max-width:800px;margin:0 auto;padding:0 24px 28px;color:var(--muted);font-size:14px;line-height:1.8}
#construction-chart .candidate-weather-controls{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:16px 0 8px;font-size:15px}
#construction-chart .candidate-weather-controls label{display:grid;gap:6px}
#construction-chart .candidate-weather{margin-top:20px;border-top:1px solid var(--line);padding-top:16px;min-width:0}
#construction-chart .candidate-calendar-guide{font-size:15px;font-weight:500;margin:0 0 8px}
#construction-chart .candidate-calendar-legend{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:13px;margin:0 0 14px}
#construction-chart .phase-key{display:inline-flex;align-items:center;gap:6px}
#construction-chart .phase-key:before{content:"";width:13px;height:13px;border-radius:3px;display:inline-block}
#construction-chart .phase-key.phase-work:before{background:light-dark(#dcebdd,#385c43)}
#construction-chart .phase-key.phase-buffer:before{background:light-dark(#ffe8aa,#6b551d)}
#construction-chart .phase-key.phase-outside:before{background:light-dark(#eef0ec,#2d3c33)}
#construction-chart .candidate-months{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:22px 16px;align-items:start}
#construction-chart .candidate-month{width:100%;table-layout:fixed;border-collapse:separate;border-spacing:2px;background:transparent;margin:0}
#construction-chart .candidate-month caption{text-align:left;font-size:18px;font-weight:500;padding:0 0 9px;color:var(--ink)}
#construction-chart .candidate-month th{padding:3px 0 8px;text-align:center;font-size:13px;font-weight:400;color:var(--sub);border:0}
#construction-chart .candidate-month th:first-child{color:light-dark(#a64646,#edaaa4)}
#construction-chart .candidate-month th:last-child{color:light-dark(#386087,#acc9e9)}
#construction-chart .candidate-month td{padding:4px 1px;vertical-align:top;border:0;border-radius:4px;text-align:center;color:var(--ink)}
#construction-chart .candidate-month .phase-work,#construction-chart .candidate-month .phase-rest{background:light-dark(#e4efe3,#2c4d37)}
#construction-chart .candidate-month .phase-buffer{background:light-dark(#fff0c5,#59491d)}
#construction-chart .candidate-month .phase-outside{background:light-dark(#f4f5f1,#26362c);color:var(--sub)}
#construction-chart .candidate-day.phase-start,#construction-chart .candidate-day.phase-end{box-shadow:inset 0 0 0 2px var(--brand)}
#construction-chart .candidate-day span,#construction-chart .candidate-day strong{display:block}
#construction-chart .candidate-day-number{font-size:14px;line-height:1.4}
#construction-chart .candidate-day-phase{font-size:11px;min-height:19px;white-space:nowrap}
#construction-chart .phase-rest .candidate-day-phase{color:var(--sub)}
#construction-chart .candidate-day-percentage{font-size:16px;font-weight:500;line-height:1.45;font-variant-numeric:tabular-nums}
#construction-chart .candidate-day-years{font-size:11px;line-height:1.6;white-space:nowrap}
#construction-chart .candidate-day-rain{border-top:1px solid var(--line);margin-top:6px;padding-top:5px}
#construction-chart .candidate-rain-label{font-size:11px;line-height:1.6;white-space:normal}
#construction-chart .candidate-rain-label span{display:inline-block;white-space:nowrap}
#construction-chart .candidate-rain-mean{font-size:14px;font-weight:500;line-height:1.6;font-variant-numeric:tabular-nums;white-space:nowrap;letter-spacing:-.025em}
#construction-chart .candidate-rain-years{font-size:11px;line-height:1.6;white-space:nowrap}
@media(max-width:360px){#construction-chart .candidate-rain-mean{font-size:11px;letter-spacing:-.04em}#construction-chart .candidate-rain-label,#construction-chart .candidate-rain-years{font-size:10px}}
#construction-chart .candidate-calendar-footnote{font-size:13px;color:var(--sub);margin:12px 0 0;line-height:1.8}
@media(max-width:540px){#construction-chart .candidate-weather-controls{grid-template-columns:1fr}#construction-chart .candidate-calendar-guide{font-size:14px}#construction-chart .candidate-months{gap:22px}#construction-chart .candidate-month td{padding:4px 0}#construction-chart .candidate-day-percentage{font-size:14px}#construction-chart .candidate-day-number{font-size:13px}#construction-chart .candidate-month caption{font-size:17px}}
