/* Comfortable sleep/wake setting: wooden champagne + graphite/steel wheel. */
.ht-schedule-input{display:flex;flex-direction:column;gap:7px;min-width:0}
.ht-schedule-input>span{font-size:12px;font-weight:760;color:#4d6356}
.ht-schedule-button{display:flex;align-items:center;gap:9px;width:100%;min-height:58px;padding:10px 13px;border-radius:13px;border:1.5px solid #c2cab9;background:linear-gradient(120deg,#fffdfa,#ecf0e7);color:#284939;text-align:left;box-shadow:0 5px 13px #30473513;cursor:pointer}
.ht-schedule-button:hover,.ht-schedule-button:focus-visible{border-color:#b68c50;outline:2px solid #d1a75c33;outline-offset:2px}
.ht-schedule-button .ht-schedule-icon{display:grid;place-items:center;background:#dde5d9;border-radius:10px;width:32px;height:32px;flex-shrink:0;color:#45664e;font-size:20px}
.ht-schedule-button strong{font-size:21px;letter-spacing:.5px;font-variant-numeric:tabular-nums;color:#2f4d3b}
.ht-schedule-button .ht-schedule-action{font-size:11px;font-weight:730;margin-left:auto;color:#897247}
.htw-backdrop{position:fixed;inset:0;z-index:2147483000;background:rgba(18,26,24,.57);display:flex;align-items:center;justify-content:center;padding:14px;overflow-y:auto;overscroll-behavior:contain}
.htw-dialog{box-sizing:border-box;width:min(100%,510px);max-height:min(96vh,820px);overflow-y:auto;border:1px solid #d9c5a4;border-radius:24px;background:linear-gradient(145deg,#f9f8f1,#eef1e9);box-shadow:0 24px 100px rgba(18,31,27,.3);color:#2d4638;padding:clamp(14px,3vw,24px);scrollbar-width:thin}
.htw-dialog *{box-sizing:border-box}
.htw-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}
.htw-top span{display:block;font-size:10px;font-weight:850;letter-spacing:1.6px;color:#8a7046}
.htw-top h3{font:500 clamp(22px,5vw,29px) Georgia,serif;color:#2d513b;margin:7px 0 0;line-height:1.25}
.htw-top button{background:#f4f1e7;color:#4e5d4c;border:1px solid #d4d7ca;border-radius:12px;min-width:38px;min-height:38px;flex-shrink:0;font-weight:800}
.htw-explain{font-size:12px;line-height:1.5;color:#687b6d;margin:11px 0}
.htw-value{text-align:center;font:600 46px/1.2 Georgia,"Times New Roman",serif;color:#315841;margin:9px 0 13px;font-variant-numeric:tabular-nums;letter-spacing:1px}
.htw-unit{margin:10px 0 15px}
.htw-unit-label{font-size:11px;font-weight:850;letter-spacing:1px;text-transform:uppercase;color:#526e59;margin-bottom:9px}
.htw-control{display:flex;align-items:center;gap:9px}
.htw-control>button{width:43px;min-width:43px;height:50px;border:1px solid #c4d2bd;border-radius:12px;background:linear-gradient(130deg,#f7f7ec,#e5ecdf);color:#3d684b;font-size:27px;font-weight:750;box-shadow:0 3px 10px rgba(26,51,31,.07)}
.htw-control>button:hover{border-color:#a7b9a0}
.htw-railframe{position:relative;min-width:0;flex:1;height:68px;overflow:hidden;border:1px solid #c5d7c6;border-radius:15px;background:linear-gradient(180deg,#eff4ed,#fffdfa 30%,#f4f5ed 90%);box-shadow:inset 0 2px 9px rgba(28,55,37,.06)}
.htw-railframe:before,.htw-railframe:after{content:"";position:absolute;top:0;bottom:0;width:16%;z-index:2;pointer-events:none}
.htw-railframe:before{left:0;background:linear-gradient(90deg,rgba(244,246,239,.96),transparent)}
.htw-railframe:after{right:0;background:linear-gradient(270deg,rgba(244,246,239,.96),transparent)}
.htw-centerline{position:absolute;z-index:0;width:58px;height:52px;border-radius:12px;left:calc(50% - 29px);top:7px;border:1.5px solid #d7b97a;background:linear-gradient(155deg,#f8f0d7,#e5eedc);pointer-events:none}
.htw-rail{height:100%;display:flex;align-items:center;gap:0;overflow-x:auto;overflow-y:hidden;scroll-padding:0 calc(50% - 29px);padding:0 calc(50% - 29px);scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;touch-action:pan-x}
.htw-rail::-webkit-scrollbar{display:none}
.htw-tick{flex:0 0 58px;width:58px;height:52px;scroll-snap-align:center;border:0;background:transparent;font-size:18px;font-weight:550;color:#779080;font-variant-numeric:tabular-nums;position:relative;z-index:1;cursor:pointer}
.htw-tick.active{color:#355943;font-weight:850;font-size:23px}
.htw-tick:focus-visible{outline:2px solid #b68a47;outline-offset:-3px;border-radius:10px}
.htw-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:13px 0}
.htw-presets button{background:#eff1e6;color:#47624f;border:1px solid #cbd8c5;border-radius:12px;min-height:38px;font-size:13px;font-weight:730}
.htw-presets button:hover,.htw-presets button:focus-visible{background:#eee0c1;border-color:#c5a362;color:#4d4e3c}
.htw-hint{min-height:21px;font-size:12px;color:#62786a;text-align:center;margin:10px 0;line-height:1.45}
.htw-footer{display:grid;grid-template-columns:1fr 1.25fr;gap:10px;margin-top:13px}
.htw-footer button{border-radius:12px;border:1px solid #c6cec0;background:#fffdf6;color:#617364;font-size:14px;font-weight:800;min-height:49px;padding:11px}
.htw-footer button:last-child{background:linear-gradient(105deg,#496a51,#2c583c);border-color:#376947;color:white;box-shadow:0 5px 15px #27523325}
/* male: more wood, bronze, brushed-steel touches */
body[data-gender="male"] .ht-schedule-input>span{color:#62543b}
body[data-gender="male"] .ht-schedule-button{background:linear-gradient(120deg,#f4eddf,#e1e3de);color:#3e443d;border:1px solid #b4aa9a;box-shadow:0 4px 11px #443f311b}
body[data-gender="male"] .ht-schedule-button .ht-schedule-icon{background:#d8c1a0;color:#62472c}
body[data-gender="male"] .ht-schedule-button strong{color:#414a45}
body[data-gender="male"] .ht-schedule-button .ht-schedule-action{color:#95703a}
body[data-gender="female"] .htw-dialog{background:linear-gradient(145deg,#fbfcf1,#e3f1eb)}
@media(max-width:440px){
 .htw-backdrop{padding:8px;align-items:center}
 .htw-dialog{border-radius:20px;padding:15px 11px;max-height:97vh}
 .htw-value{font-size:40px}
 .htw-control{gap:6px}
 .htw-control>button{width:39px;min-width:39px;height:48px}
 .htw-railframe{height:65px}
 .htw-rail{height:100%}
 .htw-presets{gap:6px}
 .htw-presets button{font-size:12px;padding:7px}
}
@media(prefers-reduced-motion:reduce){.htw-rail{scroll-behavior:auto}}
