@font-face{font-family:IKILato;src:url('assets/Lato-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:IKILato;src:url('assets/Lato-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
body{margin:0;background:#f5f8fb}
#iki-sleep-app{--blue:#236BB0;--navy:#363A53;--cyan:#34A7D7;--line:#ccd7e1;font:17px/1.55 IKILato,Lato,Arial,sans-serif;color:var(--navy);background:#f5f8fb;min-height:100vh}
#iki-sleep-app *{box-sizing:border-box}
#iki-sleep-app [hidden]{display:none!important}
#iki-sleep-app h1,#iki-sleep-app h2,#iki-sleep-app h3,#iki-sleep-app p{margin-top:0}
#iki-sleep-app h1{font-size:46px;line-height:1.12;letter-spacing:-1.2px;margin-bottom:19px}
#iki-sleep-app h2{font-size:24px;line-height:1.3;margin-bottom:16px}
#iki-sleep-app h3{font-size:18px;line-height:1.35;margin-bottom:10px}
#iki-sleep-app p{margin-bottom:17px}
#iki-sleep-app a{color:#1b609c;text-underline-offset:3px}
#iki-sleep-app button,#iki-sleep-app summary,#iki-sleep-app input{font:inherit}
#iki-sleep-app button{min-height:46px;padding:10px 19px;border:1px solid var(--blue);background:#fff;color:var(--blue);font-weight:700;cursor:pointer;border-radius:0;line-height:1.35}
#iki-sleep-app button:hover{background:#edf5fb}
#iki-sleep-app button.primary{background:var(--blue);color:#fff}
#iki-sleep-app button.primary:hover{background:#1d5c98}
#iki-sleep-app button.text-button{border-color:transparent;text-decoration:underline;text-underline-offset:3px;padding-left:0;padding-right:0}
#iki-sleep-app button:disabled{cursor:default;opacity:.55}
#iki-sleep-app :focus-visible{outline:3px solid var(--navy);outline-offset:4px}
#iki-sleep-app .brand-header{border-top:6px solid var(--cyan);background:#fff;padding:25px max(28px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}
#iki-sleep-app .brand{display:flex;align-items:center;gap:16px}
#iki-sleep-app .brand img{display:block;width:62px;height:62px;object-fit:contain}
#iki-sleep-app .brand strong{display:block;font-size:23px;line-height:1.2}
#iki-sleep-app .brand span{display:block;color:var(--blue);font-size:10.5px;letter-spacing:1.3px;margin-top:7px}
#iki-sleep-app .edition{text-align:right;font-size:14px;line-height:1.6;flex-shrink:0}
#iki-sleep-app .edition span{color:#59657a}
#iki-sleep-app .page-title,#iki-sleep-app main,#iki-sleep-app footer{max-width:1160px;margin:auto}
#iki-sleep-app .page-title{padding-top:42px;padding-bottom:15px}
#iki-sleep-app .page-title>p:last-child{max-width:860px;font-size:19px;line-height:1.6}
#iki-sleep-app .eyebrow{font-size:12px;font-weight:700;letter-spacing:1.7px;color:var(--blue);margin-bottom:14px}
#iki-sleep-app .safety{padding:18px 22px;background:#edf6fb;border-left:4px solid var(--blue);display:flex;align-items:baseline;gap:20px;margin:0 0 28px}
#iki-sleep-app .safety h2{font-size:16px;margin:0;flex-shrink:0}
#iki-sleep-app .safety p{font-size:16px;line-height:1.5;margin:0}
#iki-sleep-app .layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:28px;align-items:start}
#iki-sleep-app #workspace{min-width:0;outline:none}
#iki-sleep-app .panel{background:#fff;border:1px solid var(--line);padding:32px}
#iki-sleep-app .panel-top{display:flex;justify-content:space-between;align-items:baseline;gap:20px;margin-bottom:16px}
#iki-sleep-app .panel-top p{margin:0;font-size:14px}
#iki-sleep-app .progress-track{height:5px;background:#e9eff4;margin:0 0 24px}
#iki-sleep-app progress{display:block;width:100%;height:5px;accent-color:var(--blue);border:0;background:#e9eff4}
#iki-sleep-app progress::-webkit-progress-bar{background:#e9eff4}
#iki-sleep-app progress::-webkit-progress-value{background:var(--blue)}
#iki-sleep-app progress::-moz-progress-bar{background:var(--blue)}
#iki-sleep-app .intro-kicker{font-size:14px;color:var(--blue);font-weight:700}
#iki-sleep-app .overview-points{list-style:none;padding:0;margin:24px 0 28px;border-top:1px solid var(--line)}
#iki-sleep-app .overview-points li{padding:13px 0;border-bottom:1px solid var(--line);display:flex;gap:15px}
#iki-sleep-app .overview-points b{color:var(--blue);width:25px;flex-shrink:0;font-size:20px}
#iki-sleep-app .small{font-size:14px;color:#5a6578}
#iki-sleep-app .instructions{font-size:16px;background:#f5f8fb;padding:16px 18px;border-left:3px solid var(--cyan);margin-bottom:24px}
#iki-sleep-app fieldset{border:0;margin:0;padding:0;min-width:0}
#iki-sleep-app legend{font-size:24px;line-height:1.36;font-weight:700;padding:0;margin-bottom:10px;width:100%}
#iki-sleep-app .options{display:grid;gap:11px;margin:22px 0 15px}
#iki-sleep-app .option{display:flex;align-items:center;gap:14px;border:1px solid #bccbd8;padding:14px 17px;min-height:55px;cursor:pointer;color:var(--navy);line-height:1.45}
#iki-sleep-app .option:hover{background:#f3f8fc;border-color:var(--blue)}
#iki-sleep-app .option:has(input:checked){border:2px solid var(--blue);padding:13px 16px;background:#edf6fb}
#iki-sleep-app .option input{width:19px;height:19px;flex-shrink:0;margin:0;accent-color:var(--blue)}
#iki-sleep-app .response-state{font-size:14px;color:#5b6677;min-height:22px;margin-bottom:12px}
#iki-sleep-app .nav-row,#iki-sleep-app .actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
#iki-sleep-app .nav-row{justify-content:space-between;border-top:1px solid var(--line);padding-top:22px;margin-top:22px}
#iki-sleep-app .alternate-actions{display:flex;gap:10px 22px;flex-wrap:wrap}
#iki-sleep-app .alternate-actions button{font-size:15px}
#iki-sleep-app .bottom-tools{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:14px 2px 0}
#iki-sleep-app .bottom-tools button{font-size:14px}
#iki-sleep-app .guidance{background:#fff;border:1px solid var(--line);padding:28px;font-size:16px}
#iki-sleep-app .guidance h2{font-size:22px}
#iki-sleep-app .section-marker{height:4px;width:44px;background:var(--cyan);margin-bottom:18px}
#iki-sleep-app .guidance .disclaimer{font-size:14px;padding-top:18px;border-top:1px solid var(--line)}
#iki-sleep-app .privacy{margin:22px -28px -28px;background:#edf3f8;padding:23px 28px;font-size:14px}
#iki-sleep-app .privacy p:last-child{margin-bottom:0}
#iki-sleep-app .tips{margin:30px 0;background:#fff;border:1px solid var(--line)}
#iki-sleep-app .tips summary{cursor:pointer;font-weight:700;font-size:21px;padding:22px 28px;line-height:1.4}
#iki-sleep-app .tip-count{font-size:14px;font-weight:400;color:#5b6677;margin-left:18px;white-space:nowrap}
#iki-sleep-app .tips ol{margin:0 32px 18px 55px;padding:0;columns:2;column-gap:55px}
#iki-sleep-app .tips li{padding:0 0 14px 5px;break-inside:avoid;line-height:1.6}
#iki-sleep-app .tips li::marker{font-weight:700;color:var(--blue)}
#iki-sleep-app .tips details>p,#iki-sleep-app .tips details>a{display:block;margin:0 28px 22px}
#iki-sleep-app .summary-list{list-style:none;padding:0;margin:28px 0 0}
#iki-sleep-app .summary-list li{padding:20px 0;border-top:1px solid var(--line);break-inside:avoid}
#iki-sleep-app .summary-list h3{font-size:17px;margin-bottom:9px}
#iki-sleep-app .summary-list p{margin:0;font-size:17px;color:#1d609b;overflow-wrap:anywhere}
#iki-sleep-app .summary-list .empty-answer{color:#647084;font-style:italic}
#iki-sleep-app .summary-list button{font-size:14px;min-height:42px;margin-top:7px}
#iki-sleep-app .summary-counts{padding:14px 18px;background:#edf6fb;font-size:15px;margin:20px 0}
#iki-sleep-app footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);padding:24px 0 32px;font-size:13px;color:#5b6677}
#iki-sleep-app dialog{border:1px solid var(--navy);padding:28px;color:var(--navy);max-width:480px;width:calc(100% - 40px);font:inherit}
#iki-sleep-app dialog::backdrop{background:rgba(27,35,54,.55)}
#iki-sleep-app .print-only{display:none}
#iki-sleep-app .sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#iki-sleep-app .skip-link{position:absolute;top:-100px;left:16px;background:white;padding:12px;z-index:10}
#iki-sleep-app .skip-link:focus{top:16px}
@media(max-width:1220px){#iki-sleep-app .page-title,#iki-sleep-app main,#iki-sleep-app footer{margin-left:28px;margin-right:28px}}
@media(max-width:820px){#iki-sleep-app .layout{grid-template-columns:1fr}#iki-sleep-app .guidance{font-size:16px}#iki-sleep-app .privacy{margin-top:20px}#iki-sleep-app .tips ol{columns:1}#iki-sleep-app h1{font-size:39px}#iki-sleep-app .brand strong{font-size:20px}#iki-sleep-app .brand span{font-size:9px;letter-spacing:.7px}#iki-sleep-app .brand img{width:53px;height:53px}#iki-sleep-app .edition{font-size:12px}}
@media(max-width:540px){#iki-sleep-app .brand-header{padding:20px;align-items:flex-start;gap:12px}#iki-sleep-app .brand{gap:10px}#iki-sleep-app .brand strong{font-size:17px}#iki-sleep-app .brand span{font-size:8px;max-width:185px}#iki-sleep-app .brand img{width:44px;height:50px}#iki-sleep-app .edition{display:none}#iki-sleep-app .page-title,#iki-sleep-app main,#iki-sleep-app footer{margin-left:20px;margin-right:20px}#iki-sleep-app .page-title{padding-top:30px}#iki-sleep-app h1{font-size:35px}#iki-sleep-app .page-title>p:last-child{font-size:17px}#iki-sleep-app .safety{display:block;padding:16px 18px;margin-bottom:22px}#iki-sleep-app .safety h2{margin-bottom:6px}#iki-sleep-app .safety p{font-size:15px}#iki-sleep-app .panel{padding:23px 20px}#iki-sleep-app legend{font-size:22px}#iki-sleep-app .option{padding:14px 12px;gap:11px;font-size:16px}#iki-sleep-app .option:has(input:checked){padding:13px 11px}#iki-sleep-app .panel-top{gap:8px}#iki-sleep-app .panel-top p{font-size:13px}#iki-sleep-app .nav-row button{flex:1}#iki-sleep-app .alternate-actions{gap:4px 17px}#iki-sleep-app .tips summary{padding:20px;font-size:20px}#iki-sleep-app .tips ol{margin-left:43px;margin-right:24px}#iki-sleep-app .tips details>p,#iki-sleep-app .tips details>a{margin-left:20px;margin-right:20px}#iki-sleep-app .tip-count{display:block;margin:7px 0 0 20px}#iki-sleep-app footer{display:block}#iki-sleep-app footer span{display:block;margin-bottom:5px}#iki-sleep-app .actions button{flex:1}#iki-sleep-app .guidance{padding:23px}#iki-sleep-app .privacy{margin-left:-23px;margin-right:-23px;margin-bottom:-23px;padding:23px}}
@media(prefers-reduced-motion:no-preference){#iki-sleep-app button,#iki-sleep-app .option{transition:background-color .12s ease,border-color .12s ease}}
@page{margin:16mm 14mm;size:auto}
@media print{body{background:#fff}#iki-sleep-app{font-size:10pt;line-height:1.45;background:#fff;color:#111;min-height:0}#iki-sleep-app>.skip-link,#iki-sleep-app>.page-title,#iki-sleep-app main>.safety,#iki-sleep-app main>.layout,#iki-sleep-app main>.tips,#iki-sleep-app>footer,#iki-sleep-app>dialog,#iki-sleep-app>#status{display:none!important}#iki-sleep-app .brand-header{padding:0 0 14pt;border-top:0;border-bottom:1pt solid #888;margin-bottom:18pt}#iki-sleep-app .brand img{width:42pt;height:42pt}#iki-sleep-app .brand strong{font-size:15pt}#iki-sleep-app .brand span{font-size:7pt}#iki-sleep-app .edition{display:block;font-size:9pt}#iki-sleep-app main{margin:0;max-width:none}#iki-sleep-app .print-only{display:block}#iki-sleep-app .print-only h1{font-size:23pt;letter-spacing:0;margin-bottom:10pt}#iki-sleep-app .print-only h2{font-size:14pt;margin:20pt 0 10pt;break-after:avoid}#iki-sleep-app .print-only h3{font-size:10.5pt;margin-bottom:4pt}#iki-sleep-app .print-only p{margin-bottom:9pt}#iki-sleep-app .print-only ol{padding-left:20pt}#iki-sleep-app .print-only li{break-inside:avoid;margin-bottom:10pt}#iki-sleep-app .print-only .print-answers{list-style:none;padding:0}#iki-sleep-app .print-only .print-answers li{border-bottom:.5pt solid #ddd;padding-bottom:8pt}#iki-sleep-app .print-only .print-answers p{margin:0}#iki-sleep-app .print-only .print-notice{font-size:9pt;border-top:.5pt solid #888;padding-top:8pt}#iki-sleep-app .print-only .print-guidance{break-inside:avoid}}
#iki-sleep-app .day-options{grid-template-columns:repeat(2,minmax(0,1fr))}
#iki-sleep-app fieldset{margin-top:25px}
#iki-sleep-app .score-box{background:#edf6fb;border-top:4px solid var(--blue);padding:24px;margin:26px 0}
#iki-sleep-app .score-box h2{font-size:35px;color:var(--blue)}
#iki-sleep-app .flags,#iki-sleep-app .plan,#iki-sleep-app .contributors{margin:32px 0}
#iki-sleep-app .flag{border-left:4px solid var(--blue);padding:18px;background:#f5f8fb;margin:15px 0}
#iki-sleep-app .flag.urgent{border-color:#994520;background:#fff5ec}
#iki-sleep-app .flag p:last-child{margin-bottom:0}
#iki-sleep-app .goal-options,#iki-sleep-app .context-options{display:grid;gap:9px;margin:18px 0}
#iki-sleep-app .action-card{padding:18px 0;border-top:1px solid var(--line)}
#iki-sleep-app .suggested{padding:15px;background:#f5f8fb}
#iki-sleep-app .answer-details{border-top:1px solid var(--line);padding-top:20px}
#iki-sleep-app .answer-details>summary{cursor:pointer;color:var(--blue);font-weight:700;padding:10px 0}
#iki-sleep-app .references{font-size:14px}
@media(max-width:540px){#iki-sleep-app .score-box{padding:18px}#iki-sleep-app .score-box h2{font-size:29px}#iki-sleep-app .day-options .option{gap:8px;padding:12px 10px}#iki-sleep-app .day-options .option:has(input:checked){padding:11px 9px}}
@media print{#iki-sleep-app .score-box{padding:12pt;margin:12pt 0;border-top:2pt solid #555;break-inside:avoid}#iki-sleep-app .score-box h2{font-size:21pt}#iki-sleep-app .flag,#iki-sleep-app .action-card{break-inside:avoid}#iki-sleep-app .flags,#iki-sleep-app .plan,#iki-sleep-app .contributors{margin:12pt 0}#iki-sleep-app .print-only .summary-list li{padding:6pt 0}}

.sleep-gate label{display:block;margin:1rem 0}.sleep-gate input[type=email]{display:block;min-height:48px;width:100%;font:inherit;border:1px solid #363a53;padding:.6rem}.sleep-gate button{margin:.5rem .5rem .5rem 0}.gate-honeypot{position:absolute;left:-9999px;width:1px;height:1px}

#iki-sleep-app .access-confirm{max-width:720px;margin:24px auto;padding:28px;background:#fff;border-top:4px solid var(--blue)}
#iki-sleep-app .access-confirm #verify-status{margin-top:24px;font-weight:700}
@media(max-width:600px){#iki-sleep-app .access-confirm{margin:16px;padding:22px}#iki-sleep-app .access-confirm h1{font-size:32px}}
