@layer base{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f8f7fc;--surface:#fff;--fg:#292538;--muted:#777284;--line:#e9e5f1;--accent:#7163c4;--accent-hover:#6051b5;--soft:#f0edf9;--error:#b33c50;--success:#34715c;--shadow:0 6px 26px #30235b05;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171520;--surface:#211e2d;--fg:#f0edf8;--muted:#aaa3ba;--line:#373143;--accent:#a193eb;--accent-hover:#b3a6f4;--soft:#302941;--error:#ffa5b1;--success:#9bd5b9;--shadow:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#171520;--surface:#211e2d;--fg:#f0edf8;--muted:#aaa3ba;--line:#373143;--accent:#a193eb;--accent-hover:#b3a6f4;--soft:#302941;--error:#ffa5b1;--success:#9bd5b9;--shadow:none}}*{box-sizing:border-box}body{background:var(--bg);color:var(--fg);margin:0;font-size:15px;line-height:1.5}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}button{touch-action:manipulation}a{color:inherit}h1,h2,h3,p{margin:0}h1{letter-spacing:-.8px;font-size:clamp(23px,5.6vw,28px);font-weight:650;line-height:1.25}h2{letter-spacing:-.3px;font-size:17px;font-weight:650}h3{margin:24px 0 8px;font-size:15px}small,.small{font-size:12px}.muted,small{color:var(--muted)}[hidden]{display:none!important}label{margin:0 0 7px;font-size:13px;font-weight:550;display:block}input:not([type=file]),select{background:var(--bg);width:100%;min-width:0;min-height:48px;color:var(--fg);border:1px solid var(--line);border-radius:12px;padding:11px 13px;font-size:16px;display:block}input[type=time],input[type=date]{appearance:none}input::-webkit-date-and-time-value{text-align:left;min-height:1.5em}input::placeholder{color:var(--muted)}input:focus,select:focus{border-color:var(--accent)}}@layer components{.sleep-location{border:0;min-width:0;margin:0 0 20px;padding:0}.sleep-location legend{margin-bottom:9px;padding:0;font-size:13px;font-weight:550}.location-options{grid-template-columns:1fr 1fr;gap:12px;display:grid}.location-options label{border:1px solid var(--line);background:var(--bg);cursor:pointer;border-radius:12px;align-items:center;gap:9px;min-height:48px;margin:0;padding:11px 13px;display:flex}.location-options label:has(input:checked){border-color:var(--accent);background:var(--soft);color:var(--accent)}.location-options input[type=radio]{width:18px;height:18px;min-height:0;accent-color:var(--accent);flex:0 0 18px;margin:0;padding:0}.sleep-location>p{margin-top:8px;font-size:11px}.crib-summary{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;padding:17px 19px;display:flex}.crib-summary>div{align-items:baseline;gap:10px;display:flex}.crib-summary strong{color:var(--accent);font-size:28px;line-height:1.2}.crib-summary span{font-size:13px}.crib-summary>small{text-align:right;font-size:11px}.summary-note{margin-top:12px}.night-outcome{color:var(--accent);margin-top:7px;font-size:12px}.shell{max-width:620px;padding:calc(24px + env(safe-area-inset-top)) 20px calc(30px + env(safe-area-inset-bottom));margin:0 auto}.app-header{justify-content:space-between;align-items:center;padding-bottom:32px;display:flex}.brand{align-items:center;gap:11px;font-size:16px;font-weight:650;text-decoration:none;display:flex}.brand img{border-radius:13px}.brand small{margin-top:1px;font-size:11px;font-weight:400;display:block}.icon-button{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:12px;width:44px;height:44px;font-size:23px}.card{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;padding:24px}.loading{text-align:center;color:var(--muted)}.intro{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:24px;display:flex}.eyebrow{letter-spacing:1.5px;color:var(--accent);margin-bottom:8px;font-size:10px;font-weight:650}.intro h1 span{color:var(--accent)}.badge,.pill{background:var(--soft);color:var(--accent);white-space:nowrap;border-radius:100px;padding:5px 9px;font-size:10px;line-height:1.5;display:inline-block}.badge{margin-top:2px}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin:26px 0 12px;display:flex}.night-card>.section-heading{margin:0 0 23px}.night-card input[type=date]{margin-bottom:21px}.time-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.time-grid small{margin-top:5px;font-size:10px;display:block}.duration{color:var(--accent);background:var(--soft);border-radius:10px;margin-top:16px;padding:10px 12px;font-size:12px}.counter-row{justify-content:space-between;align-items:center;gap:12px;padding:23px 0;display:flex}.counter-row label{margin-bottom:2px}.counter-row small{font-size:10px}.stepper{flex-shrink:0;align-items:center;gap:11px;display:flex}.stepper button{border:1px solid var(--line);background:var(--bg);width:40px;height:40px;color:var(--accent);border-radius:12px;font-size:23px}.stepper output{text-align:center;min-width:26px;font-size:23px;font-weight:600}.button{border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:12px 17px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.primary{background:var(--accent);color:#fff}.primary:hover{background:var(--accent-hover)}.secondary{background:var(--soft);color:var(--accent);border-color:var(--line)}.danger{background:var(--surface);color:var(--error);border-color:var(--line)}.wide{width:100%}.text-button{color:var(--accent);background:0 0;border:0;min-height:40px;padding:9px 4px;font-size:12px;font-weight:550}.summary-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.metric{padding:19px 16px}.metric-icon{background:var(--soft);width:30px;height:30px;color:var(--accent);text-align:center;border-radius:9px;margin-bottom:12px;font-size:20px;display:block}.metric strong{letter-spacing:-1px;font-size:30px;font-weight:600;display:block}.metric p span{font-size:12px;display:block}.metric small{margin-top:4px;font-size:10px;display:block}.night-row{margin-bottom:10px;padding:18px 19px}.night-row-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.night-row h3{margin:0;font-size:14px}.night-row .details{color:var(--muted);margin-top:6px;font-size:12px}.row-actions{gap:5px;display:flex}.row-actions button{font-size:11px}.night-row progress{appearance:none;background:var(--soft);border:0;border-radius:6px;width:100%;height:5px;margin-top:13px;display:block;overflow:hidden}progress::-webkit-progress-bar{background:var(--soft)}progress::-webkit-progress-value{background:var(--accent);border-radius:6px}progress::-moz-progress-bar{background:var(--accent)}.empty{text-align:center;color:var(--muted);padding:35px 22px}.empty strong{color:var(--fg);margin-bottom:7px;font-size:15px;display:block}.empty p{font-size:12px}.app-footer{color:var(--muted);justify-content:space-between;align-items:center;gap:15px;padding:18px 2px;font-size:10px;display:flex}.notice{border:1px solid var(--line);background:var(--soft);color:var(--accent);border-radius:12px;margin:14px 0;padding:12px 14px;font-size:13px}.error{color:var(--error)}.conflict{margin-top:14px;padding:17px}.conflict p{margin:8px 0;font-size:12px}.auth-card{text-align:center;padding:35px 26px}.moon{color:var(--accent);margin-bottom:20px;font-size:65px;line-height:1.25}.auth-card h1{margin-bottom:12px}.auth-card>.muted{max-width:320px;margin:0 auto 25px;font-size:14px}.auth-card label{text-align:left}.auth-card input{margin-bottom:16px}.fine-print{color:var(--muted);margin-top:22px;font-size:11px;line-height:1.6}.auth-card .text-button{margin-top:13px}.install-banner{justify-content:space-between;align-items:center;gap:16px;margin-top:22px;padding:17px;display:flex}.install-banner strong{font-size:13px}.install-banner p{color:var(--muted);margin-top:3px;font-size:11px}dialog{background:var(--surface);width:calc(100% - 32px);max-width:440px;max-height:calc(100dvh - 40px);color:var(--fg);border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 20px 80px #0003}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#16122580}dialog .section-heading{margin:0 0 15px}dialog form .button{margin-top:12px}dialog #account-name{margin-bottom:20px}dialog #logout-button{margin-top:20px}.dialog-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}#confirm-description{margin-top:14px;font-size:14px}.key-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:9px 0;font-size:13px;display:flex}.key-row small{font-size:10px;display:block}.file-button{cursor:pointer;margin-top:10px}.inline-actions{flex-wrap:wrap;gap:8px;display:flex}@media (max-width:380px){.shell{padding-inline:14px}.card{padding:19px}.intro{flex-direction:column;gap:10px}.stepper{gap:7px}.counter-row small{max-width:140px;display:block}.summary-grid{gap:9px}.metric{padding:16px}.row-actions{gap:0}.night-row{padding:16px}}@media (prefers-reduced-motion:no-preference){button{transition:background .15s,opacity .15s}dialog[open]{animation:.15s ease-out appear}@keyframes appear{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}}
