:root{--ink:#1d2e47;--muted:#64768a;--line:#dce5ec;--mint:#08736e;--blue:#285f9b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#f4f7f9;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;line-height:1.65}[hidden]{display:none!important}
button,input,select{font:inherit}a{color:#1d698c}input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #57cec4;outline-offset:3px}
.page{max-width:920px;margin:auto;padding:0 22px}.site-header{height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px}.site-header>span{padding:5px 10px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--muted);font-size:10px;font-weight:800}.brand{color:#10203b;text-decoration:none;font-size:18px;font-weight:900;letter-spacing:-.04em}.brand span{font-size:10px;color:var(--muted);letter-spacing:0}
.hero{padding:31px 35px;border-radius:22px;background:linear-gradient(135deg,#10203b,#17385b);color:white;box-shadow:0 15px 34px #10203b20}.eyebrow{margin:0;color:#79ddd3;font-size:10px;font-weight:900;letter-spacing:.14em}.hero h1{margin:7px 0 6px;font-size:clamp(30px,5vw,46px);line-height:1.2;letter-spacing:-.05em}.hero>p:last-child{max-width:620px;margin:0;color:#d9e5ef;font-size:13px}
.layout{display:grid;gap:14px;margin:18px 0 0}.card,.about{border:1px solid var(--line);border-radius:17px;background:white;box-shadow:0 10px 28px #19314c0d}.card{padding:22px 24px}.section-title{display:flex;align-items:center;gap:11px;margin-bottom:16px}.section-title>span{width:32px;height:32px;display:grid;place-items:center;flex:none;border-radius:10px;background:#e4f7f4;color:var(--mint);font-size:13px;font-weight:900}.section-title small{color:var(--mint);font-size:10px;font-weight:900}.section-title h2{margin:0;font-size:19px;letter-spacing:-.03em}.fields{display:grid;gap:12px}.fields.two{grid-template-columns:repeat(2,minmax(0,1fr))}label{display:block;min-width:0;color:#52657b;font-size:11px;font-weight:800}label input,label select{display:block;width:100%;height:44px;margin-top:6px;padding:0 12px;border:1px solid #cad8e3;border-radius:10px;background:#fff;color:var(--ink);font-size:14px}input::placeholder{color:#9cabb8}.extra{margin-top:12px}.date-field{max-width:calc(50% - 6px);margin-top:12px}.hint{margin:10px 0 0;color:var(--muted);font-size:10px}.baseline{display:flex;align-items:center;gap:9px;margin:13px 0 0;color:var(--muted);font-size:11px}.baseline strong{color:#155f61;font-size:15px}.extras{margin-top:14px;padding-top:11px;border-top:1px solid var(--line)}.extras summary{width:max-content;max-width:100%;cursor:pointer;color:var(--blue);font-size:11px;font-weight:800}.extras .fields{margin-top:12px}.check{display:flex;align-items:center;gap:8px;align-self:end;min-height:44px}.check input{width:17px;height:17px;flex:none;margin:0;accent-color:var(--mint)}
.result{padding:0;overflow:hidden}.result-head{padding:20px 24px 15px}.result-head .eyebrow{color:var(--mint)}.result-head h2{margin:1px 0;font-size:22px}.result-head>p:last-child{margin:0;color:var(--muted);font-size:11px}.clock-cards{display:grid;grid-template-columns:1fr 1fr;border-block:1px solid var(--line)}.clock-cards>div{padding:18px 24px;background:#f4f9fa}.clock-cards>div+div{border-left:1px solid var(--line);background:#e9f7f4}.clock-cards span,.clock-cards small{display:block;color:var(--muted);font-size:10px}.clock-cards strong{display:block;margin:5px 0;font-size:clamp(15px,2vw,20px);line-height:1.4}.caution{margin:14px 24px;color:#6e6a64;font-size:11px}.tips{margin:0 24px 22px;padding:16px;border:1px solid #d4e7e5;border-radius:12px;background:#f8fbfa}.tips h3{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin:0 0 8px;font-size:14px}.tips h3 small{color:var(--mint);font-size:10px}.tips p{display:grid;grid-template-columns:70px 1fr;gap:8px;margin:0;padding:8px 0;border-top:1px solid #e4eeee;color:#526977;font-size:11px}.tips b{color:var(--mint)}.error{margin:0 24px 20px;padding:12px;border:1px solid #e4b7ae;border-radius:10px;background:#fff4f2;color:#913c32;font-size:12px}.about{padding:0 18px}.about summary{padding:16px 0;cursor:pointer;color:#50667b;font-size:11px;font-weight:800}.about p{margin:0 0 12px;color:var(--muted);font-size:11px}footer{display:flex;justify-content:space-between;gap:12px;padding:22px 2px 32px;color:#84919e;font-size:10px}footer a{text-decoration:none;font-weight:800}
@media(max-width:640px){.page{padding:0 12px}.site-header{height:59px}.brand{font-size:16px}.hero{padding:25px 21px;border-radius:17px}.layout{gap:10px;margin-top:12px}.card{padding:18px}.fields.two{grid-template-columns:1fr}.date-field{max-width:none}.result{padding:0}.result-head{padding:18px}.clock-cards{grid-template-columns:1fr}.clock-cards>div{padding:14px 18px}.clock-cards>div+div{border-left:0;border-top:1px solid var(--line)}.caution{margin:12px 18px}.tips{margin:0 18px 18px}.tips p{grid-template-columns:1fr;gap:2px}.about{padding:0 16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.empty{padding:24px;color:var(--muted);font-size:12px}.rest-result{display:grid;gap:5px;padding:17px 24px;background:#e8f7f4;border-block:1px solid #cce7e1}.rest-result span{color:var(--mint);font-size:11px;font-weight:900}.rest-result strong{font-size:clamp(16px,2vw,21px);line-height:1.4}.rest-result small{color:#53716e;font-size:10px}
@media(max-width:640px){.empty{padding:20px 18px}.rest-result{padding:15px 18px}}
.rest-result{display:block;padding:22px 24px 20px;background:#e8f7f4;border-block:1px solid #cce7e1}
.rest-heading{display:block;color:var(--mint);font-size:13px;font-weight:900}
.sleep-times{display:grid;grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr);align-items:center;gap:12px;max-width:570px;margin-top:15px}
.sleep-times>div{display:flex;flex-direction:column;min-width:0}
.sleep-times small{color:#4e6e70;font-size:11px;font-weight:800}
.sleep-times span:not(.sleep-arrow){margin-top:5px;color:#516c71;font-size:12px;white-space:nowrap}
.sleep-times strong{margin-top:1px;color:#17334b;font-size:clamp(30px,5.8vw,46px);font-weight:900;line-height:1.13;letter-spacing:-.05em;font-variant-numeric:tabular-nums}
.sleep-arrow{align-self:end;padding-bottom:6px;color:#218e86;font-size:25px;font-weight:700}
.rest-clock{margin:10px 0 0;color:#155f61;font-size:11px;font-weight:900}
.rest-detail{margin:5px 0 0;color:#536e6d;font-size:11px}
.rest-unavailable{display:block;margin:12px 0;color:var(--ink);font-size:clamp(17px,3vw,22px)}
.time-comparison{padding:0 24px 14px;border-bottom:1px solid var(--line);background:#f8fbfa}
.time-comparison summary{padding:14px 0 2px;cursor:pointer;color:var(--blue);font-size:11px;font-weight:800}
.time-comparison>div{display:grid;grid-template-columns:125px 1fr;gap:10px;padding-top:10px;color:#5b7180;font-size:11px}
.time-comparison>div strong{color:var(--ink);font-size:12px;font-weight:800}
@media(max-width:640px){.rest-result{padding:19px 18px}.sleep-times{gap:6px;grid-template-columns:minmax(0,1fr) 19px minmax(0,1fr)}.sleep-times strong{font-size:clamp(29px,9vw,38px)}.sleep-arrow{font-size:19px}.time-comparison{padding:0 18px 14px}.time-comparison>div{grid-template-columns:1fr;gap:1px}}
