@font-face{font-family:Inter;font-weight:100 900;font-display:swap;font-style:normal;font-optical-sizing:auto;src:url(Inter-Variable.25edf01c.ttf)}*{box-sizing:border-box;margin:0;padding:0}:root{--ink:#0c0d16;--panel:#171826;--panel-2:#1f2033;--accent-rgb:99, 91, 255;--accent:#635bff;--accent-2:#8b7cf6;--text-primary:#f5f5f7;--text-secondary:#8e8e99;--line:#ffffff0f;--ring-fill:var(--accent);--ring-track:var(--line);--control-height:58px;--control-radius:18px;--control-bg:#0000004d}body{background-color:var(--ink);min-height:100vh;color:var(--text-primary);-webkit-font-smoothing:antialiased;justify-content:center;align-items:center;padding:20px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;display:flex}.container{width:100%;max-width:620px}.calculator-card{background-color:var(--panel);border-radius:24px;padding:8px}.header{text-align:center;padding:32px 24px 8px}.moon-icon{margin-bottom:20px}.header h1{letter-spacing:-.03em;margin-bottom:10px;font-size:clamp(2.1rem,7vw,2.5rem);font-weight:800}.subtitle{color:var(--text-secondary);font-size:1rem;font-weight:500}.form-group{padding:20px 24px}.form-group+.form-group{border-top:1px solid var(--line)}.form-group label{color:var(--text-secondary);margin-bottom:14px;font-size:.95rem;font-weight:600;display:block}select{width:100%;color:var(--text-primary);cursor:pointer;appearance:none;background-color:#0000;border:none;padding:0;font-size:1rem}select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}select#ageRange{height:var(--control-height);line-height:var(--control-height);border-radius:var(--control-radius);background-color:var(--control-bg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%238e8e99' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;background-size:20px;padding:0 40px 0 16px;font-size:1rem;font-weight:600}select option{background-color:var(--panel-2);color:var(--text-primary)}.mode-toggle{height:var(--control-height);background:var(--control-bg);border-radius:var(--control-radius);grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.mode-btn,.ampm-btn{color:var(--text-secondary);cursor:pointer;background-color:#0000;border:2px solid #0000;border-radius:14px;font-size:1rem;font-weight:600;transition:background-color .15s,color .15s,border-color .15s}.mode-btn:focus-visible,.ampm-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mode-btn{justify-content:center;align-items:center;gap:8px;padding:12px 10px;display:flex}.mode-btn svg{flex-shrink:0}.mode-btn:hover,.ampm-btn:hover{color:var(--text-primary)}.mode-btn.active,.ampm-btn.active{background-color:rgba(var(--accent-rgb), .2);border-color:var(--accent);color:var(--text-primary)}.time-inputs{align-items:center;gap:10px;display:flex}.time-inputs select{width:90px;height:var(--control-height);line-height:var(--control-height);border-radius:var(--control-radius);background-color:var(--control-bg);letter-spacing:-.02em;font-variant-numeric:tabular-nums;text-align:center;flex:none;font-size:1.2rem;font-weight:600}.time-inputs select option{font-size:1rem;font-weight:400}.time-separator{color:var(--text-secondary);font-size:1.5rem;font-weight:600}.ampm-toggle{height:var(--control-height);background:var(--control-bg);border-radius:var(--control-radius);margin-left:auto;padding:3px;display:flex}.ampm-btn{padding:9px 16px}.calculate-btn{background:var(--accent);color:#fff;cursor:pointer;width:calc(100% - 48px);height:58px;box-shadow:0 10px 28px rgba(var(--accent-rgb), .3);border:none;border-radius:18px;justify-content:center;align-items:center;margin:8px 24px 24px;padding:0 18px;font-family:inherit;font-size:1.05rem;font-weight:700;transition:background-color .15s,transform .1s;display:flex}.calculate-btn:hover{background:var(--accent-2)}.calculate-btn:active{transform:scale(.99)}.calculate-btn:focus-visible,.share-btn:focus-visible{outline-offset:2px;outline:2px solid #fff}.results{margin-top:48px;padding:0 24px 24px}.results.hidden{display:none}.results-header{text-align:center;border-top:1px solid var(--line);flex-direction:column;align-items:center;gap:16px;margin-bottom:48px;padding-top:48px;display:flex}.results-header p{color:var(--text-secondary);font-size:1rem;line-height:1.6}.results-header strong{color:var(--text-primary);font-weight:700}.results-list{flex-direction:column;gap:12px;margin-bottom:8px;display:flex}.share-btn{background:var(--accent);width:160px;height:60px;color:var(--text-primary);cursor:pointer;box-shadow:0 10px 28px rgba(var(--accent-rgb), .3);border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;margin-top:48px;font-family:inherit;font-size:.95rem;font-weight:700;transition:background-color .15s;display:inline-flex}.share-btn:hover{background:var(--accent-2)}.share-btn:disabled{opacity:.7;cursor:default}.result-item{background-color:var(--panel-2);border-radius:18px;grid-template-columns:1fr auto;align-items:center;gap:12px;padding:22px;display:grid}.result-item.recommended{background:var(--accent);box-shadow:0 0 15px rgba(var(--accent-rgb), .45);--ring-fill:#fff;--ring-track:#ffffff47;position:relative}.suggested-label{border:1px solid var(--text-primary);color:var(--text-primary);white-space:nowrap;cursor:help;z-index:1;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.72rem;font-weight:700;display:inline-flex;position:absolute;top:22px;left:50%;transform:translate(-50%)}.suggested-label .tooltip{visibility:hidden;background-color:var(--panel-2);border:1px solid var(--line);color:var(--text-primary);white-space:normal;opacity:0;z-index:10;border-radius:10px;width:190px;margin-bottom:10px;padding:10px 12px;font-size:.78rem;font-weight:400;transition:opacity .2s,visibility .2s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.suggested-label .tooltip a{color:var(--accent-2);text-decoration:underline}.suggested-label:hover .tooltip{visibility:visible;opacity:1}.result-icon-stack{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.result-right{justify-content:flex-end;align-items:center;display:flex}.result-icon-small{color:var(--accent-2);align-items:center;display:flex}.result-icon-small svg{width:22px;height:22px}.result-item.recommended .result-icon-small{color:#ffffffd9}.result-label{color:var(--text-secondary);font-size:.9rem;font-weight:600}.result-item.recommended .result-label{color:#ffffffbf}.result-time{letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--text-primary);margin-top:-2px;font-size:1.9rem;font-weight:800}.sleep-circle-container{justify-content:center;align-items:center;display:inline-flex;position:relative}.circle-center{text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hours-text{color:var(--text-primary);font-size:1rem;font-weight:700;line-height:1;display:block}.hours-label{color:var(--text-primary);margin-top:0;font-size:.8rem;font-weight:600;display:block}.result-item.recommended .hours-text,.result-item.recommended .hours-label{color:#fff}.result-info{text-align:center;border-top:1px solid var(--line);color:var(--text-secondary);grid-column:1/-1;padding-top:12px;font-size:.85rem}.result-item.recommended .result-info{color:#ffffffbf;border-top-color:#ffffff26}@media (width<=480px){.header{padding:24px 16px 8px}.form-group{padding:18px 16px}.calculate-btn{width:calc(100% - 32px);margin:8px 16px 0}.results{padding:0 16px 16px}.mode-toggle{height:auto;min-height:var(--control-height)}.mode-btn{padding:12px 8px;font-size:.85rem}.time-inputs{flex-wrap:wrap}.time-inputs select{flex:1 1 0;width:auto}.ampm-toggle{width:100%;margin-left:0}.ampm-btn{flex:1}.result-item{text-align:center;grid-template-columns:1fr;gap:12px}.suggested-label{justify-self:center;margin-bottom:0;position:static;transform:none}.result-icon-stack{align-items:center}.result-right{justify-content:center}}.legal-card{background-color:var(--panel);color:var(--text-primary);border-radius:24px;margin:20px 0;padding:40px;line-height:1.7}.intro-section{padding:28px 4px}.intro-section p{color:var(--text-secondary);font-size:1rem;line-height:1.7}.sleep-age-section{padding:24px 4px}.sleep-age-section h2{letter-spacing:-.02em;color:var(--text-primary);margin-bottom:12px;font-size:1.6rem;font-weight:800}.sleep-age-section>p{color:var(--text-secondary);margin-bottom:24px;font-size:1rem;line-height:1.7}.age-table{border-collapse:collapse;width:100%;font-size:.95rem}.age-table thead th{text-align:left;color:var(--accent-2);border-bottom:1px solid var(--line);padding:12px 16px;font-weight:700}.age-table tbody td{color:var(--text-secondary);border-bottom:1px solid var(--line);padding:12px 16px}.age-table tbody tr:last-child td{border-bottom:none}.how-it-works-section{padding:24px 4px}.how-it-works-section h2{letter-spacing:-.02em;color:var(--text-primary);margin-bottom:16px;font-size:1.6rem;font-weight:800}.how-it-works-section p{color:var(--text-secondary);margin-bottom:16px;font-size:1rem;line-height:1.7}.how-it-works-section p:last-child{margin-bottom:0}.faq-section{padding:24px 4px}.faq-section h2{letter-spacing:-.02em;color:var(--text-primary);margin-bottom:16px;font-size:1.6rem;font-weight:800}.faq-list{flex-direction:column;display:flex}.faq-item{border-bottom:1px solid var(--line)}.faq-item summary{cursor:pointer;color:var(--text-primary);padding:16px 24px 16px 0;font-size:1rem;font-weight:600;list-style:none;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";color:var(--accent-2);font-size:1.25rem;font-weight:300;transition:transform .2s;position:absolute;top:50%;right:0;transform:translateY(-50%)}.faq-item[open] summary:after{content:"−"}.faq-item summary:hover{color:var(--accent-2)}.faq-item p{color:var(--text-secondary);padding:0 0 16px;font-size:.95rem;line-height:1.7}.back-home{margin-bottom:24px;display:inline-block}.back-home:hover{opacity:.8}.legal-card h1{letter-spacing:-.02em;color:var(--text-primary);margin-top:24px;margin-bottom:16px;font-weight:800}.legal-card h2{letter-spacing:-.02em;color:var(--accent-2);margin-top:24px;margin-bottom:16px;font-weight:800}.legal-card h3,.legal-card h4{color:var(--accent-2);margin-top:20px;margin-bottom:12px}.legal-card p{color:var(--text-primary);margin-bottom:16px}.legal-card ul{color:var(--text-primary);margin-bottom:16px;padding-left:24px}.legal-card ol{color:var(--text-primary);margin-top:8px;padding-left:24px;list-style-type:decimal}.legal-card li{margin-bottom:8px}.legal-card hr{border:none;border-top:1px solid var(--line);margin:24px 0}.legal-card a{color:var(--text-primary);-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.legal-card a:hover{color:var(--text-primary);text-decoration:underline}.footer{clear:both;text-align:center;color:var(--text-secondary);margin-top:24px;padding:24px 16px;font-size:14px;display:block}.footer p{margin:0}.footer p+p{margin-top:8px}.footer a{color:var(--text-secondary);text-decoration:none}.footer a:hover{cursor:pointer;text-decoration:underline}