:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#203d47;background:#f5f6f2;font-synthesis:none;font-weight:400;--ink:#203d47;--teal:#1d655e;--line:#d8e1dd;--muted:#617274;--paper:#fff;--error:#9d3c30}
*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,summary,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ba7130;outline-offset:3px}a{color:var(--teal)}input,select,textarea{width:100%;min-width:0;color:var(--ink);background:#fff;border:1px solid #b9c9c3;border-radius:9px;padding:11px 12px;min-height:44px}input:hover,select:hover{border-color:#668c81}input[aria-invalid=true]{border-color:var(--error);box-shadow:inset 0 -2px var(--error)}select:disabled{background:#edf0ec;color:#617274}p{line-height:1.6;margin:0}button{min-height:44px}.app-shell{max-width:1328px;margin:0 auto;padding:0 48px}.topbar{display:flex;align-items:center;justify-content:space-between;padding:31px 0;border-bottom:1px solid var(--line);gap:20px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font-weight:700;letter-spacing:-.8px;font-size:26px}.brand-light{font-weight:400}.brand-mark{font-family:Georgia,serif;font-size:40px;line-height:32px;transform:rotate(-18deg);display:block}.private-note{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px}.private-note>span{font-size:18px;color:#457c70}.intro{display:flex;align-items:center;justify-content:space-between;position:relative;padding:58px 30px 42px 0;gap:32px}.eyebrow{font-size:11px;letter-spacing:2.8px;font-weight:700;color:#46776b;margin-bottom:15px}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(35px,4.3vw,56px);line-height:1.12;letter-spacing:-1.8px;margin:0 0 18px;font-weight:400}.intro-text{font-size:15px;line-height:1.7;color:var(--muted)}.intro-art{position:relative;width:290px;height:220px;flex-shrink:0}.orbit{position:absolute;border:1px solid #d0dcd1;border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-20deg)}.orbit-one{width:245px;height:150px}.orbit-two{width:180px;height:205px;transform:translate(-50%,-50%) rotate(30deg)}.moon{position:absolute;width:104px;height:104px;border-radius:50%;background:#e5d8b8;left:90px;top:48px;box-shadow:inset 25px -9px #d6c79e}.moon:after{content:"";position:absolute;width:92px;height:92px;border-radius:50%;background:#f5f6f2;left:33px;top:-14px}.star{position:absolute;color:#6e9a88}.star-one{font-size:27px;left:210px;top:41px}.star-two{font-size:42px;left:54px;top:21px}.star-three{font-size:19px;left:48px;top:142px}.art-label{position:absolute;bottom:0;left:0;width:100%;text-align:center;font-family:Georgia,serif;font-size:14px;font-style:italic;color:#70867d}.guide{display:flex;gap:13px;background:#eaf0e9;border:1px solid #dde6db;padding:17px 21px;border-radius:12px;margin-bottom:37px;align-items:flex-start}.guide-icon{display:grid;place-items:center;border:1px solid #6a8c79;color:#466d5b;flex-shrink:0;font-size:12px;font-weight:700;font-family:Georgia,serif;border-radius:50%;height:19px;width:19px;margin-top:2px}.guide p{font-size:12px;color:#506658;line-height:1.65}.guide strong{font-weight:650}.workspace-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px}.workspace-toolbar h2{font-size:20px;letter-spacing:-.4px;font-weight:650;margin:0;display:flex;align-items:center;gap:11px}.count{font-size:11px;color:#6b8079;font-weight:400;letter-spacing:0;background:#e7ece6;padding:5px 9px;border-radius:20px;white-space:nowrap}.workspace-toolbar p{font-size:12px;color:var(--muted);margin-top:8px}.toolbar-actions{display:flex;gap:10px;flex-shrink:0}.button{border-radius:9px;padding:11px 17px;border:1px solid transparent;display:inline-flex;align-items:center;justify-content:center;gap:13px;font-weight:600;font-size:12px;line-height:1.4;transition:background .15s}.button-primary{background:#213f49;color:#fff}.button-primary:hover{background:#315764}.button-light{border-color:#cbd7cf;background:transparent;color:#3d5f58}.button-light:hover{background:#e7eee7}.button-teal{background:#e6efea;color:#245a4e;border-color:#c9ddd1}.button-teal:hover{background:#d2e5d9}.button-small{border-color:#bfd0c7;color:#315e52;background:#fff;padding:8px 12px;font-size:12px;min-height:40px}.save-note{font-size:11px;color:var(--muted);display:flex;gap:7px;align-items:center;margin:19px 0 21px}.save-dot{display:block;height:6px;width:6px;border-radius:50%;background:#72998b;flex-shrink:0}.save-dot.unsaved{background:#b3813e}.share-warning{font-size:11px;color:#76664b;margin:-11px 0 20px}.cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.sleep-card{background:var(--paper);border:1px solid #d9e0da;border-radius:16px;padding:23px 25px 0;box-shadow:0 4px 15px #1c3f3510;min-width:0;overflow:hidden}.card-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:23px}.variant{display:flex;gap:10px;align-items:center;min-width:0}.variant-number{font-size:10px;color:#52756a;display:grid;place-items:center;width:28px;height:28px;border:1px solid #dce6dd;border-radius:50%;font-variant-numeric:tabular-nums}.variant h2{font-size:15px;font-weight:600;margin:0}.card-actions{display:flex;gap:2px}.icon-button{border:0;background:transparent;min-width:40px;min-height:40px;color:#61776e;font-size:24px;border-radius:8px;padding:3px}.icon-button:hover{background:#eff4ef;color:#1e5548}.icon-button.remove{font-size:27px;font-weight:300}.icon-button.remove:hover{color:var(--error);background:#fff0ed}.time-fields{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.field{min-width:0}.field label{font-size:11px;font-weight:600;display:flex;align-items:baseline;justify-content:space-between;gap:4px;margin-bottom:9px;line-height:1.4}.field label span{font-size:9px;font-weight:400;color:#74827e}.time-input{font-size:25px;font-weight:400;letter-spacing:-.8px;font-variant-numeric:tabular-nums;padding:13px 10px;text-align:center;background:#fafbf8;border-color:#d1ddd5;border-radius:10px;height:61px}.time-input::placeholder{color:#a4b4ab;font-size:24px}.duration-field .time-input{background:#f0f5ef}.day-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px 12px;margin:12px 0 22px;font-size:10px;min-width:0;min-height:24px;color:#586f63}.day-indicator{color:#8ba293;font-size:17px}.evaluation{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:11px;min-height:20px}.evaluation strong{font-weight:600}.status-dot{width:6px;height:6px;background:#8eab9b;border-radius:50%;flex-shrink:0}.expected{color:#667b70;margin-left:auto;font-size:10px}.issues{font-size:11px;color:#738079;min-height:48px;padding:8px 0 12px;line-height:1.6}.issues p{line-height:1.6}.issues ul{margin:0;padding-left:17px}.issues li+li{margin-top:4px}.invalid .evaluation,.inconsistent .evaluation,.ambiguous .evaluation{color:#9d4939}.invalid .status-dot,.inconsistent .status-dot,.ambiguous .status-dot{background:#b27051}.invalid .issues,.inconsistent .issues,.ambiguous .issues{color:#9d4939}.valid .evaluation{color:#2e7160}.calculate-row{display:flex;align-items:flex-end;gap:11px;margin:3px 0 22px}.calculate-row .field{flex:1}.calculate-row .field label{margin-bottom:6px;font-size:10px;color:#6d7f76}.calculate-row select{font-size:12px;min-height:43px;padding:9px 11px;background:#fff;border-color:#d6e0d8}.calculate-row .button{min-width:106px;height:43px;min-height:43px}.context{border-top:1px solid #e3e9e3;margin:0 -25px;background:#fafbf8}.context summary{padding:17px 25px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;font-weight:600;list-style:none;min-height:54px}.context summary:after{content:"+";font-size:17px;color:#709181;font-weight:400}.context[open] summary:after{content:"−"}.context summary::-webkit-details-marker{display:none}.context-short{margin-left:auto;font-size:9px;color:#79877d;font-weight:400;overflow-wrap:anywhere;text-align:right;max-width:46%}.context-content{padding:2px 25px 22px;display:grid;grid-template-columns:1fr 1fr;gap:18px 13px}.context-content input,.context-content select{font-size:11px;padding:10px 9px}.context-content>.field:nth-last-child(1),.field-note,.context-content>.button{grid-column:1/-1}.field-note{font-size:10px;color:#718075;margin-top:-6px;line-height:1.6}.comparison{margin:0 -25px;padding:20px 25px;background:#f0f5ef;border-top:1px solid #dde7db}.comparison h3{font-size:12px;margin:0 0 4px;overflow-wrap:anywhere}.comparison>p{font-size:10px;color:#6c8375}.comparison dl{margin:13px 0 0;display:grid;gap:10px}.comparison dl>div{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.comparison dt{font-size:10px;color:#657c6e}.comparison dd{margin:0;font-size:11px;text-align:right;font-variant-numeric:tabular-nums}.comparison dd strong{font-size:15px;font-weight:600;margin-right:6px}.comparison dd span{display:block;font-size:9px;margin-top:3px;color:#698070}.add-card{width:100%;min-height:193px;align-self:stretch;background:#edf2eb66;border:1px dashed #b8ccbd;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#4e7563;padding:28px}.add-card:hover:enabled{background:#e5ede2;border-color:#7ea38b}.add-plus{width:39px;height:39px;border-radius:50%;display:grid;place-items:center;background:#e2eade;font-size:25px;font-weight:300;margin-bottom:4px}.add-card strong{font-size:12px;font-weight:600}.add-card>span:last-child{font-size:10px;color:#7b8d7e}.how-it-works{margin:35px 0 38px;border-top:1px solid var(--line);padding-top:22px;color:#687e70;font-size:12px}.how-it-works summary{cursor:pointer;font-weight:600;min-height:30px;width:fit-content}.how-it-works>div{max-width:800px;margin-top:15px;display:grid;gap:12px}.how-it-works p{font-size:12px}.banner{display:flex;align-items:center;gap:15px;border-radius:10px;padding:18px;margin:18px 0;font-size:12px;border:1px solid}.banner>div:first-child{flex:1}.banner p{margin-top:5px;font-size:12px;overflow-wrap:anywhere}.banner strong{font-size:13px}.error-banner{border-color:#e1c5bb;background:#fff3ec;color:#8c4c3a}.info-banner{background:#eaf1e8;border-color:#c9d8c7}.pending-banner{border-color:#bbcebd;background:#eaf0e7;flex-wrap:wrap}.pending-actions{display:flex;gap:10px;flex-wrap:wrap}.manual-copy{background:#eaf1e7;border:1px solid #cfddca;border-radius:12px;padding:20px;margin:18px 0}.manual-copy label{display:block;font-size:12px;font-weight:600;margin-bottom:10px}.manual-copy textarea{font-family:monospace;font-size:11px;resize:vertical;overflow-wrap:anywhere;word-break:break-all}.manual-copy p{font-size:11px;margin:9px 0}.empty-note{font-size:13px;margin-top:18px;color:var(--muted)}footer{border-top:1px solid var(--line);padding:23px 0 32px;display:flex;justify-content:space-between;gap:15px;color:#7a8b7f;font-size:10px}footer>span{white-space:nowrap}footer p{max-width:650px}.skip-link{position:fixed;top:-100px;left:20px;background:#213f49;color:#fff;z-index:10;padding:14px;border-radius:0 0 8px 8px}.skip-link:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#blazor-error-ui{display:none;position:fixed;bottom:0;background:#fff0db;color:#6b391a;width:100%;padding:20px;z-index:100;font-size:14px}.loading{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px}.loading h1{font-size:38px}.loading p{font-size:14px;color:var(--muted)}.loading-moon{font-size:80px;color:var(--teal)}
@media(min-width:1450px){.app-shell{max-width:1400px}.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.sleep-card{padding-left:20px;padding-right:20px}.context,.comparison{margin-left:-20px;margin-right:-20px}.context summary,.context-content,.comparison{padding-left:20px;padding-right:20px}.time-fields{gap:10px}.time-input{font-size:24px}.time-input::placeholder{font-size:24px}}
@media(max-width:850px){.app-shell{padding:0 26px}.intro{padding-top:40px}.intro-art{width:210px;transform:scale(.85);transform-origin:center right}.context-short{display:none}.time-fields{gap:9px}.sleep-card{padding:20px 18px 0}.time-input{font-size:24px;padding-left:5px;padding-right:5px}.time-input::placeholder{font-size:24px}.context,.comparison{margin-left:-18px;margin-right:-18px}.context summary,.context-content,.comparison{padding-left:18px;padding-right:18px}.field label{font-size:10px}.workspace-toolbar{align-items:flex-start}.toolbar-actions{gap:7px}.toolbar-actions .button{padding:10px 12px}.cards-grid{gap:18px}.expected{margin-left:0;width:100%;padding-left:13px}.day-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px 12px;margin:12px 0 22px;font-size:10px;min-width:0;min-height:24px;color:#586f63}.private-note{font-size:10px}}
@media(max-width:680px){.app-shell{padding:0 20px}.topbar{padding:22px 0}.brand{font-size:24px}.private-note{max-width:140px;line-height:1.5}.intro{padding:36px 0 28px;gap:0}.intro-art{display:none}h1{font-size:42px;letter-spacing:-1.2px}.intro-text{font-size:13px}.eyebrow{font-size:10px}.guide{padding:15px;margin-bottom:29px}.guide p{font-size:11px}.workspace-toolbar{display:block}.workspace-toolbar h2{font-size:19px}.toolbar-actions{margin-top:19px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.toolbar-actions .button{min-height:44px}.save-note{font-size:10px;margin-top:15px;line-height:1.6}.share-warning{font-size:10px}.cards-grid{grid-template-columns:1fr;gap:19px}.sleep-card{padding:22px 22px 0}.time-fields{gap:14px}.field label{font-size:11px}.time-input{font-size:29px;height:64px}.time-input::placeholder{font-size:29px}.context-short{display:block}.context,.comparison{margin-left:-22px;margin-right:-22px}.context summary,.context-content,.comparison{padding-left:22px;padding-right:22px}.expected{width:auto;margin-left:auto;padding-left:0}.evaluation{font-size:11px}.add-card{min-height:165px}.banner{flex-wrap:wrap;padding:15px;gap:12px}.banner .icon-button{margin-left:auto}.pending-actions{width:100%}.pending-actions .button{width:100%}.how-it-works{margin-top:28px;font-size:11px}.how-it-works p{font-size:11px}footer{flex-direction:column;gap:8px;font-size:9px}.comparison dd{font-size:11px}}
@media(max-width:360px){.app-shell{padding:0 14px}.private-note{max-width:115px;font-size:9px}h1{font-size:35px}.sleep-card{padding-left:15px;padding-right:15px}.time-fields{gap:8px}.time-input{font-size:25px}.time-input::placeholder{font-size:25px}.field label span{font-size:8px}.field label{font-size:10px}.context,.comparison{margin-left:-15px;margin-right:-15px}.context summary,.context-content,.comparison{padding-left:15px;padding-right:15px}.context-short{display:none}.context-content{grid-template-columns:1fr}.expected{width:100%;margin-left:13px}.toolbar-actions .button{font-size:11px}.card-heading{margin-bottom:19px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Keep secondary text and example values readable at small sizes. */
.field label span,.context-short,.issues,.expected,.field-note,.comparison>p,.comparison dt,.comparison dd span,.add-card>span:last-child,.how-it-works,footer,.art-label,.calculate-row .field label,.save-note,.count{color:#586f63}
input::placeholder,.time-input::placeholder,textarea::placeholder{color:#63776c;opacity:1}

.day-note{display:inline-flex;align-items:center;gap:5px}.clock-note{flex-basis:100%;text-align:right;line-height:1.5}
.date-shortcuts{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.date-shortcuts .button{flex:1 1 140px;white-space:normal}
.variant{flex:1}.variant-number,.card-actions{flex-shrink:0}.variant input.variant-name{min-width:0;width:100%;font-size:15px;font-weight:600;padding:8px 5px;border:1px solid transparent;background:transparent;border-radius:6px}.variant-name::placeholder{color:var(--ink);opacity:1}.variant input.variant-name:hover{border-color:#d1ddd5}.variant input.variant-name:focus{border-color:#52756a;background:#fafbf8}
