:root{font-family:"Yu Gothic UI","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;color:#18342d;background:#f5f7f3}*{box-sizing:border-box}body{margin:0;line-height:1.65}a{color:#17664f}button,input,select{font:inherit}[hidden]{display:none!important}.shell{width:min(1160px,calc(100% - 48px));margin-inline:auto}header{background:white;border-bottom:1px solid #dfe7df}.brand{min-height:68px;display:flex;align-items:center;gap:10px;font-size:14px}.mark{background:#17664f;color:#fff;border-radius:10px;padding:4px 11px;font:bold 23px Georgia}.hero{padding:34px 0 24px}.hero h1{font-size:clamp(28px,3vw,39px);line-height:1.3;letter-spacing:-.035em;margin:0 0 12px}.hero h1 span{color:#28776e}.hero p{font-size:14px;margin:0;color:#526c5d}.panel{background:#fff;border:1px solid #dfe7df;border-radius:12px;padding:20px 24px;margin-bottom:18px;box-shadow:0 7px 24px rgba(22,55,37,.035)}h2{margin:0 0 14px;font-size:21px}h2 small{font-size:13px;color:#228270}.inputs{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:12px}label{display:grid;gap:4px;font-weight:700;font-size:13px}input,select{width:100%;height:42px;padding:7px;border:1px solid #c9d8cc;border-radius:6px;background:#fff;color:#18342d}.extra{margin:14px 0;border:1px solid #dce9df;border-radius:7px;padding:9px 12px}.extra summary{cursor:pointer;font-weight:700;color:#17664f}.extra p,.help,.date-note{font-size:13px;color:#526c5d}.extra-grid,.floor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:10px}.floor-grid{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}button{border:0;border-radius:7px;background:#17664f;color:#fff;font-weight:700;padding:11px 17px;cursor:pointer}.clear{background:#edf3ed;color:#315d49;margin-left:8px}.notice{padding:12px;background:#f0f7f2;border-radius:7px;font-size:14px}.counts{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.counts span{padding:9px 12px;border:1px solid #dfe7df;border-radius:7px;font-size:14px}.counts b{font-size:20px;color:#17664f}.group-title{font-size:16px;margin:24px 0 8px}.equipment-row{border-top:1px solid #e1e9e2;padding:13px 12px}.equipment-row.candidate{background:#fff9e7;border-left:4px solid #d3ad4b}.row-head{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,2fr);gap:10px;align-items:start}.row-head p{margin:0;font-size:14px}.badge{display:inline-block;padding:2px 8px;margin-right:8px;border-radius:5px;background:#eaf2ec;color:#315d49;font-size:12px;font-weight:700}.candidate .badge{background:#f7e6aa;color:#5b4b1a}.row-details{margin-top:7px;font-size:14px}.row-details summary{color:#17664f;cursor:pointer;font-weight:700}.detail-content{padding:10px 0}.detail-content h4{font-size:14px;margin:10px 0 3px}.detail-content p{margin:0}.detail-content ul{margin:3px 0;padding-left:20px}.detail-content details{margin-top:10px}footer{font-size:13px;color:#667a6f;padding:12px 0 30px}@media(max-width:700px){.shell{width:calc(100% - 28px)}.inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.inputs label:first-child{grid-column:1/-1}.panel{padding:17px 15px}.row-head{grid-template-columns:1fr;gap:3px}.extra-grid{grid-template-columns:1fr}.hero{padding-top:25px}.counts{display:grid;grid-template-columns:1fr 1fr}.counts span{padding:8px;font-size:13px}.clear{margin-top:8px}}
.inputs{grid-template-columns:2fr repeat(5,minmax(0,1fr))}.floor-choices{display:flex;gap:12px;flex-wrap:wrap}.floor-choices label{display:flex;align-items:center;gap:5px}.floor-choices input{width:auto;height:auto}@media(max-width:700px){.inputs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.inputs{grid-template-columns:minmax(200px,2fr) repeat(2,minmax(100px,1fr))}.floor-heading{margin:18px 0 4px;font-size:16px}.floor-grid{display:grid;grid-template-columns:1fr;gap:8px}.floor-card{display:grid;grid-template-columns:70px repeat(3,minmax(120px,1fr)) minmax(160px,1.2fr);gap:10px;align-items:end;background:#f8fbf8;border:1px solid #dfe9e0;border-radius:8px;padding:10px}.floor-card h4{margin:0;align-self:center}.floor-card details{font-size:13px}.floor-card summary{cursor:pointer;color:#17664f;font-weight:700}.totals{display:flex;flex-wrap:wrap;gap:10px 25px;margin:12px 0;font-size:14px}.totals p{margin:0}@media(max-width:700px){.inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.floor-card{grid-template-columns:repeat(2,minmax(0,1fr))}.floor-card h4,.floor-card details{grid-column:1/-1}.floor-card label:nth-of-type(3){grid-column:1/-1}.totals{display:block}}
.law-date-status,.law-caution{font-size:14px;line-height:1.65;color:#315d49;margin:10px 0}.law-info ul{margin:8px 0;padding-left:20px}.law-info li{margin:12px 0;font-size:14px}.law-info code{overflow-wrap:anywhere;word-break:break-all;font-size:12px}.law-info p{overflow-wrap:anywhere}

/* review24: readability, scoped to the standalone tool inside its iframe. */
:root{font-size:17px;color:#18342d}body{line-height:1.6;overflow-wrap:anywhere}
.brand{font-size:16px}.hero h1{font-size:clamp(24px,2.2vw,26px);line-height:1.4;letter-spacing:normal}
.hero p{font-size:17px;color:#304d3e}.hero .law-header{margin-top:12px;font-weight:700;color:#18342d}
h2{font-size:24px;line-height:1.4}h2 small{font-size:16px;color:#17664f}
label{font-size:16px;line-height:1.5}input,select,button{font-size:16px;min-height:44px}
.extra p,.help,.date-note,.law-date-status,.law-caution,footer{font-size:16px;color:#304d3e}
.extra summary,.floor-card summary{color:#135b45}.floor-card details{font-size:16px}
.floor-heading,.floor-card h4{font-size:18px}.totals{font-size:17px}
.notice{font-size:17px;font-weight:700;line-height:1.6;color:#18342d;border-left:4px solid #17664f}
.counts span{font-size:16px}.counts b{font-size:20px}.group-title{font-size:19px}
.row-head{grid-template-columns:minmax(0,1fr) minmax(0,2fr)}
.row-head strong{font-size:19px;line-height:1.5}.row-head p,.row-details,.detail-content h4{font-size:17px}
.badge{font-size:16px;line-height:1.5}.candidate .badge{color:#51420c}
.law-info li,.law-info code{font-size:15px}.law-info code{overflow-wrap:anywhere;word-break:break-all}
@media(max-width:700px){.row-head{grid-template-columns:minmax(0,1fr)}.counts span{font-size:16px}.panel{padding:17px 14px}.floor-card{min-width:0}.floor-card>*{min-width:0}}

/* review24: KEA readability follow-up; presentation only. */
.brand,label,input,select,button,.extra p,.help,.date-note,.law-date-status,.law-caution,footer,.floor-card details,.counts span,.badge{font-size:17px}
.law-info li,.law-info code{font-size:16px}
.results .date-note{margin:0 0 5px}.results .law-date-status{font-weight:700;margin:0 0 12px}
.results .counts{margin:12px 0}.results .notice{margin:12px 0}.results .law-caution{margin:12px 0}
@media(max-width:700px){.counts span{font-size:17px}}

/* Compact density for the standalone tool; keep touch targets usable. */
body{line-height:1.5}
.brand{min-height:56px;font-size:14px}
.hero{padding:24px 0 16px}.hero p{font-size:15px;line-height:1.5}.hero .law-header{margin-top:8px}
.panel{padding:16px 20px;margin-bottom:12px}
h2{font-size:18px;margin:0 0 10px}h2 small{font-size:14px}
label{font-size:14px;line-height:1.4;gap:3px}
input,select{font-size:15px;height:40px;min-height:40px;padding:6px 8px}
button{font-size:15px;min-height:44px;padding:9px 15px}
.inputs{gap:9px}.floor-heading{font-size:17px;margin:12px 0 4px}
.floor-grid{gap:6px}.floor-card{gap:8px;padding:7px 9px}.floor-card h4{font-size:16px}
.floor-card details,.floor-card summary{font-size:14px}.totals{font-size:15px;gap:8px 20px;margin:8px 0}
.help,.date-note,.law-date-status,.law-caution,.extra p,footer{font-size:15px;line-height:1.5}
.help{margin:7px 0}.notice{font-size:15px;line-height:1.5;padding:10px}
.counts{gap:8px}.counts span{font-size:14px;padding:7px 10px}.counts b{font-size:18px}
.group-title{font-size:17px;margin:16px 0 6px}.equipment-row{padding:9px 10px}
.row-head strong{font-size:17px;line-height:1.4}.row-head p,.row-details,.detail-content h4{font-size:15px;line-height:1.5}
.badge{font-size:14px;line-height:1.4}.detail-content{padding:7px 0}.detail-content h4{margin:8px 0 2px}
.law-info li,.law-info code{font-size:15px}.law-info li{margin:8px 0}
@media(max-width:700px){
 .shell{width:calc(100% - 28px)}.panel{padding:14px 12px}
 input,select{font-size:16px;min-height:44px;height:44px}
 label{font-size:14px}.floor-card{gap:7px;padding:9px}.floor-card details{font-size:14px}
 .counts span{font-size:14px}.row-head{gap:4px}
}
.special-panel{margin:14px 0}.special-panel[hidden],.special-panel [hidden]{display:none}.special-add,.special-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:end}.special-card{border:1px solid #d5e3d7;border-radius:8px;background:#f8fbf8;padding:12px;margin:12px 0}.special-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}.special-remove{background:#fff;color:#345744;border:1px solid #a8c1ae;padding:7px 10px;font-size:14px}.special-fields label,.special-add label{min-width:0}.special-fields input,.special-fields select,.special-add select{width:100%;min-width:0}@media(max-width:600px){.special-add,.special-fields{grid-template-columns:1fr}.special-head{flex-wrap:wrap}}
.equipment-row.additional{background:#edf6fa;border-left:4px solid #478ba3}.equipment-row.additional .badge{background:#d8eaf7;color:#174866}.equipment-row.unverified{background:#f5f6f5;border-left:4px solid #a5afab}.equipment-row.unverified .badge{background:#e0e4e5;color:#344348}
.special-common{background:#edf6fa;border:1px solid #b9d7e4;border-left:4px solid #478ba3;border-radius:6px;margin:12px 0;padding:12px 14px;font-size:15px;line-height:1.55;overflow-wrap:anywhere}.special-common h4{margin:0 0 6px;font-size:16px}.special-common p{margin:5px 0}.special-common section{margin:10px 0}.special-common ul{margin:3px 0;padding-left:22px}
