@font-face{font-family:Inter;font-style:normal;font-weight:400 750;font-display:swap;src:url(/fonts/inter-latin.woff2)format("woff2")}:root{color:#fff;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--surface:#083f5163;--surface-raised:#05384a7a;--ink:#fff;--muted:#e2f0f4;--line:#dff7ff38;--primary:#edf6f8;--primary-hover:#fff;--on-primary:#325063;--popover:#245f74;--popover-border:#daf9ff66;--option-active:#d5f1fb26;--scrollbar-track:#2b7186;--scrollbar-thumb:#9ecbd6;--scrollbar-thumb-hover:#c3e7ed;--good-bg:#e0f5e9;--good:#155c3a;--caution-bg:#fff0cd;--caution:#674712;--danger-bg:#ffe6e1;--danger:#8a3029;background:#277b93;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:999px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border:2px solid var(--scrollbar-track);border-radius:999px;min-height:32px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}::-webkit-scrollbar-corner{background:var(--scrollbar-track)}html{min-height:100%;scroll-padding-top:24px}body{background:linear-gradient(155deg,#277b93 0%,#8dcdd8 52%,#277b93 100%);min-width:320px;min-height:100dvh;margin:0}button,input,select,textarea{font:inherit}button,a,summary,select,input[type=checkbox]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button,summary,select,label.check{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}button,a,input,select,textarea,summary{transition:background-color .18s,border-color .18s,box-shadow .18s,opacity .18s}a{color:inherit;text-underline-offset:4px}:focus-visible{outline-offset:4px;outline:3px solid #b9edff}.main-content:focus{outline:none}h1,h2,h3,p{margin:0}h1{letter-spacing:-.035em;font-size:clamp(26px,4vw,36px);font-weight:600;line-height:1.2}h2{letter-spacing:-.02em;font-size:20px;font-weight:600;line-height:1.4}h3{font-size:17px;font-weight:600;line-height:1.5}p,li{line-height:1.6}.app-shell{width:min(960px,100% - 28px);padding-bottom:calc(112px + env(safe-area-inset-bottom));margin:0 auto}.header{justify-content:space-between;align-items:center;gap:16px;min-height:76px;padding:8px 4px;display:flex}.brand{color:#fff;letter-spacing:.18em;font-size:19px;font-weight:750;text-decoration:none}.header-actions{flex:1;justify-content:flex-end;align-items:center;gap:6px;min-width:0;display:flex}.icon-button{width:44px;height:44px;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-button:hover{border-color:var(--line);background:#ffffff14}.location-chip{color:#fff;background:0 0;border:1px solid #0000;border-radius:24px;align-items:center;gap:6px;min-width:0;max-width:230px;min-height:44px;padding:8px 10px;font-size:12px;display:flex}.location-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.location-chip:hover{border-color:var(--line);background:#ffffff14}.status-dot{background:#b7eed8;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.icon{object-fit:contain;vertical-align:middle;flex-shrink:0;display:inline-block}.design-icon{place-items:center;display:inline-grid;position:relative}.design-icon img{display:block;position:absolute}.navigation .design-icon img{filter:brightness(0)invert()}.navigation{z-index:20;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(20px);background:#044e66ad;border:1px solid #d5f4ff59;border-radius:50px;grid-template-columns:repeat(4,minmax(0,1fr));width:min(370px,100% - 32px);padding:7px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 8px 32px #124b6440}.nav-indicator{transform-origin:0;pointer-events:none;background:#fffffff0;border-radius:999px;width:100px;position:absolute;left:0;box-shadow:0 2px 8px #103f5312}.navigation a{z-index:1;color:#fff;border-radius:40px;flex-direction:column;justify-content:center;align-items:center;gap:3px;min-height:60px;padding:6px 2px;font-size:11px;font-weight:500;text-decoration:none;transition:color .16s,background-color .16s;display:flex;position:relative}.navigation a[aria-current=page]{color:var(--on-primary)}.navigation a[aria-current=page]>.icon{animation:.38s both nav-pop}.navigation a:active>.icon{transform:scale(.9)}@media (hover:hover){.navigation a:not([aria-current=page]):hover{background:#ffffff1a}}@keyframes nav-pop{0%{transform:scale(.86)}55%{transform:scale(1.13)}78%{transform:scale(.97)}to{transform:scale(1)}}.navigation a[aria-current=page] img{filter:brightness(0)saturate()invert(27%)sepia(18%)saturate(988%)hue-rotate(158deg)brightness(96%)contrast(89%)}.nav-full{display:none}.main-content{min-height:55dvh;padding:8px 0 32px}.greeting{max-width:660px;margin:0 auto;padding:12px 6px 24px}.greeting h1{letter-spacing:-.025em;font-size:28px}.page-intro{width:100%;max-width:660px;margin:0 auto;padding:12px 6px 24px}.page-batuk .page-intro{max-width:600px}.page-title{letter-spacing:-.025em;font-size:25px;font-weight:600;line-height:1.25}.offline-status{margin:0 0 16px}.profile-bar{flex-wrap:wrap;align-items:flex-end;gap:12px;margin-bottom:20px;display:flex}.name-field{margin-bottom:24px}.grow{flex:1;min-width:0}.field{color:var(--ink);flex-direction:column;gap:9px;font-size:14px;font-weight:500;display:flex}input:not([type=checkbox]),textarea,.select-trigger{color:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#083e4f40;border:1px solid #daf9ff52;border-radius:12px;width:100%;min-height:48px;padding:12px 14px;font-size:16px}input:disabled{opacity:.65}input::placeholder,textarea::placeholder{color:#d0e6ed;opacity:.85}input:hover:not(:disabled),.select-trigger:hover:not(:disabled),textarea:hover{border-color:#e1f9ffa6}.custom-select{width:100%;min-width:0}.select-trigger{text-align:left;justify-content:space-between;align-items:center;gap:12px;font-weight:500;line-height:1.5;display:flex}.select-trigger>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.select-trigger.is-placeholder{color:#d0e6ed}.select-trigger[aria-expanded=true]{background:#083e4f66;border-color:#c4eef7;box-shadow:0 0 0 3px #c4eef714}.select-chevron{color:#c7e9f1;flex-shrink:0;transition:transform .24s cubic-bezier(.34,1.56,.64,1)}.select-trigger[aria-expanded=true] .select-chevron{transform:rotate(180deg)}.select-popup{z-index:50;border:1px solid var(--popover-border);background:linear-gradient(145deg,#ffffff0d,transparent),var(--popover);color:var(--ink);border-radius:18px;flex-direction:column;padding:6px;animation:.17s cubic-bezier(.16,1,.3,1) select-appear;display:flex;position:fixed;overflow:hidden;box-shadow:0 16px 48px #07384840,0 3px 10px #07384820}.select-options{overscroll-behavior:contain;min-height:0;padding:2px;overflow-y:auto}.select-search{border-bottom:1px solid var(--line);color:#c7e9f1;flex-shrink:0;align-items:center;gap:10px;margin:2px 2px 6px;padding:4px 10px 8px;display:flex}.select-search>svg{flex-shrink:0}.select-search input{min-width:0;min-height:44px;box-shadow:none;background:0 0;border:0;border-radius:5px;padding:8px 0;font-size:16px}.select-search input:focus-visible{outline-offset:2px}.select-group{color:#bfdee8;letter-spacing:.045em;padding:13px 12px 7px;font-size:11px;font-weight:500}.select-option{cursor:pointer;touch-action:manipulation;border:1px solid #0000;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;min-height:46px;padding:10px 12px;font-size:14px;font-weight:400;line-height:1.5;display:flex}.select-option>span{overflow-wrap:anywhere;min-width:0}.select-option>svg{flex-shrink:0}.select-option.is-active{background:var(--option-active)}.select-option[aria-selected=true]{color:var(--on-primary);background:#e5f1f5;font-weight:550}.select-option[aria-selected=true].is-active{background:#f2f9fb}.select-empty{color:var(--muted);padding:20px 12px;font-size:14px}@keyframes select-appear{0%{opacity:0;transform:translateY(-4px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.stack{flex-direction:column;gap:20px;display:flex}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.eyebrow{letter-spacing:.13em;color:var(--muted);margin-bottom:6px;font-size:10px;font-weight:600;line-height:1.6;display:block}.card{background:var(--surface);border:1px solid #0000;border-color:#e3fcff66 #0000 #0000 #e3fcff26;border-radius:28px;min-width:0;padding:24px;box-shadow:0 6px 24px #104d6009}.button{border:1px solid #0000;border-radius:30px;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:12px 20px;font-size:14px;font-weight:550;line-height:1.5;text-decoration:none;display:inline-flex}.primary{background:var(--primary);color:var(--on-primary)}.primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:0 3px 16px #0f52692b}.secondary{color:#fff;background:#ffffff14;border-color:#dff7ff59}.secondary:hover:not(:disabled){background:#ffffff2b;border-color:#d7f2f9}.small{min-height:44px;padding:8px 13px;font-size:12px}.text-button{color:#fff;text-underline-offset:4px;background:0 0;border:0;align-items:center;gap:7px;min-height:44px;padding:8px 4px;font-size:13px;text-decoration:underline;display:inline-flex}.text-button:hover:not(:disabled){color:#c5efff}.align-start{align-self:flex-start}.actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.home-overview,.forecast{width:100%;max-width:660px;margin:0 auto}.forecast{gap:16px}.home-actions{gap:12px;display:grid}.feature-link{align-items:center;gap:16px;padding:20px;text-decoration:none;display:flex}.feature-link>div{flex:1;min-width:0}.feature-link h2{margin-bottom:4px;font-size:17px}.feature-link:hover{background:var(--surface-raised);border-color:var(--line)}.accuracy-note strong{font-weight:600;display:block}.accuracy-note p{margin-top:4px;font-size:12px}.regional-validation h3{margin:16px 0 4px;font-size:13px}.forecast-attribution{padding:0 4px}.risk-workspace{max-width:660px;margin:0 auto}.risk-profile{min-width:0}.risk-profile>.feedback{margin-bottom:24px}.location-state{gap:20px;width:100%;max-width:660px;margin:0 auto}.needs-location .greeting,.needs-location.page-prakiraan .page-intro{max-width:660px;margin:0 auto}.forecast>.section-heading{padding:0 5px}.days{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.day{background:var(--surface);text-align:left;min-width:0;color:var(--ink);border:1px solid #e3fcff38;border-radius:20px;flex-direction:column;align-items:flex-start;gap:14px;padding:16px 10px;display:flex}.day:hover{background:var(--surface-raised);border-color:#ffffffa6}.day[aria-pressed=true]{background:#083f5191;border-color:#e2f8ff;box-shadow:inset 0 0 0 1px #e2f8ff40}.day>span:first-child{font-size:12px}.day strong{letter-spacing:-.04em;font-size:26px;font-weight:550}.day small{color:var(--muted);letter-spacing:normal;margin-top:2px;font-size:11px;font-weight:400;display:block}.badge{text-transform:capitalize;border-radius:7px;align-self:flex-start;padding:5px 9px;font-size:12px;font-weight:550;line-height:1.45;display:inline-flex}.day .badge{overflow-wrap:anywhere;padding:4px 6px;font-size:10px}.good{color:var(--good);background:var(--good-bg)}.caution{color:var(--caution);background:var(--caution-bg)}.danger{color:var(--danger);background:var(--danger-bg)}.forecast-location{align-items:center;gap:8px;min-width:0;display:flex}.forecast-location strong{font-size:18px;font-weight:600;line-height:1.5}.forecast-location .caption{margin-top:2px}.forecast-detail{gap:18px}.forecast-detail .section-heading h2{font-size:16px;font-weight:500}.forecast-detail .section-heading .muted{font-size:12px}.forecast-metric-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.forecast-metric-row .badge{margin-top:14px}.metric{letter-spacing:-.055em;font-variant-numeric:tabular-nums;font-size:clamp(44px,10vw,64px);font-weight:500;line-height:1.15}.metric span{letter-spacing:normal;margin-left:10px;font-size:16px;font-weight:400;display:inline-block}.observation{gap:16px}.observation-location{border-bottom:1px solid var(--line);flex-direction:column;gap:8px;padding-bottom:18px;display:flex}.observation-location>.caption{font-size:14px}.observation h2{font-size:17px}.observation .section-heading .button{padding:8px 12px;font-size:11px}.observation-metric{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:8px 0;display:flex}.observation-value{letter-spacing:-.05em;font-variant-numeric:tabular-nums;font-size:60px;font-weight:500;line-height:1.1}.observation-value span{letter-spacing:normal;margin-left:8px;font-size:16px}.live-label{background:#0000001f;border-radius:30px;align-items:center;gap:7px;padding:7px 10px;font-size:11px;display:inline-flex}.muted{color:var(--muted);font-size:14px}.caption{color:var(--muted);overflow-wrap:anywhere;font-size:12px;line-height:1.7}.details{border-top:1px solid var(--line);color:var(--muted);font-size:13px}.details summary{color:#fff;min-height:44px;padding:12px 0;font-weight:500;line-height:1.6}.details p{margin:4px 0 12px}.notice{border:1px solid var(--line);border-radius:16px;padding:16px;font-size:14px;line-height:1.65}.notice .caption,.notice .muted{color:inherit}.feedback{background:var(--danger-bg);min-width:0;color:var(--danger);border:1px solid #f3b5a8;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;padding:16px 18px;font-size:14px;display:grid}.feedback>p{overflow-wrap:anywhere;min-width:0;line-height:1.6}.feedback .button{color:var(--danger);background:0 0;border-color:#d79b91}.feedback:not(:has(>.button)){grid-template-columns:minmax(0,1fr)}.location-state .empty-state{padding:36px 24px}@media (width<=480px){.feedback{grid-template-columns:minmax(0,1fr);gap:12px;padding:16px}.feedback>.button{justify-self:start}}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:40px 24px;display:flex}.empty-state .muted{max-width:43ch}.empty-state>.icon{margin-bottom:8px}.form-grid{grid-template-columns:1fr;gap:20px;display:grid}fieldset{border:0;min-width:0;margin:0;padding:0}legend{margin-bottom:12px;padding:0;font-size:14px;font-weight:600}.checks{grid-template-columns:1fr;gap:8px 20px;display:grid}.check{align-items:center;gap:12px;min-height:44px;font-size:14px;line-height:1.6;display:flex}input[type=checkbox]{accent-color:#325063;flex-shrink:0;width:19px;height:19px;margin:0}.consent{border-top:1px solid var(--line);padding-top:16px}.reasons{margin:0;padding-left:20px;font-size:14px}.reasons li+li{margin-top:8px}.risk-meter{background:#edf1ee;border:0;border-radius:12px;width:100%;height:12px;margin-top:16px;display:block}.risk-meter::-webkit-meter-bar{background:#edf1ee;border:0}.risk-meter::-webkit-meter-optimum-value{background:#279b75}.risk-meter.danger::-webkit-meter-optimum-value{background:var(--danger)}.risk-meter.caution::-webkit-meter-optimum-value{background:#b07b24}.risk-meter::-moz-meter-bar{background:currentColor}.danger-button{color:#fff;background:var(--danger)}.cough-layout,.cough-panel>article{width:100%;max-width:600px;margin:0 auto}.cough-form{gap:20px;padding:24px 20px}.cough-form h1{letter-spacing:-.015em;font-size:20px;line-height:1.5}.symptom-field{gap:10px;font-size:16px}.symptom-field textarea{--notes-height:140px;height:var(--notes-height);min-height:var(--notes-height);resize:none;border-radius:10px;padding:16px;line-height:1.6;overflow-y:auto}.notes-help{margin-top:-14px}.field-label{font-size:16px;font-weight:500}.record-field{gap:10px}.recorder{background:#0037493d;border-top:1px solid #c9edf080;border-left:1px solid #c9edf066;border-radius:50px;align-items:center;gap:8px;height:90px;padding:9px;display:flex;position:relative;overflow:hidden}.record-button{color:#fff;background:#003c4c54;border:0;border-radius:50%;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:5px;width:70px;height:70px;display:flex}.record-count{font-size:11px;line-height:1.2}.record-button:hover:not(:disabled){background:#00304099}.record-button img{display:block}.stop-symbol{background:#fff;border-radius:4px;width:20px;height:20px}.is-recording{background:#60192347}.is-recording .record-button{background:var(--danger)}.waveform{flex:1;min-width:0;overflow:hidden}.waveform img{opacity:.8;max-width:none;display:block}.upload-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.upload-row .caption{font-size:11px}.upload-row .text-button{margin-top:-4px;font-size:12px}.recording{color:#fff;align-items:center;gap:10px;font-size:13px;display:flex}.record-dot{background:#ffd4ca;border-radius:50%;flex-shrink:0;width:8px;height:8px}.mic-level{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.mic-level meter{width:130px;height:12px}.cough-submit{width:100%;font-size:16px}.cough-form>.caption:last-child{text-align:center;margin-top:-10px;font-size:11px}.accuracy-note{gap:8px}.accuracy-note p,.accuracy-note a{font-size:12px;line-height:1.65}.accuracy-note .actions{gap:6px 20px}.accuracy-note a{align-items:center;min-height:44px;display:inline-flex}.audio-preview{border-top:1px solid var(--line);padding-top:16px}.file-name{overflow-wrap:anywhere;min-width:0;font-size:14px}audio{width:100%;height:48px}.result-kuning{border-color:#f4d18c}.result-hijau{border-color:#b6e4cd}.pwa-controls{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.pwa-update{justify-content:center;padding-bottom:16px;display:flex}.dialog{color:#fff;background:#28677b;border:1px solid #c7e9f155;border-radius:28px;width:min(440px,100% - 32px);max-height:calc(100dvh - 32px);padding:20px 24px 24px;animation:.18s ease-out dialog-appear;overflow-y:auto;box-shadow:0 24px 80px #07384850}.dialog::backdrop{-webkit-backdrop-filter:blur(6px);background:#062e3e66}.dialog-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.dialog-heading h2:focus{outline:none}.dialog-content{gap:18px}.dialog-content>.button{width:100%}.dialog-divider{color:var(--muted);align-items:center;gap:12px;font-size:12px;display:flex}.dialog-divider:before,.dialog-divider:after{content:"";background:var(--line);flex:1;height:1px}.dialog .pwa-controls{width:100%}@keyframes dialog-appear{0%{opacity:0}to{opacity:1}}.status-list{margin:8px 0;padding-left:20px}.loading{align-items:center;gap:10px;min-height:44px;display:flex}.spinner{border:2px solid var(--line);border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}input.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;min-height:0;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{color:#325063;z-index:30;background:#fff;border-radius:12px;padding:12px 16px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:12px}@keyframes spin{to{transform:rotate(360deg)}}@media (width>=600px){html{scrollbar-gutter:stable}.app-shell{width:min(960px,100% - 64px)}.card{padding:28px}.day{padding:20px 18px}.day>span:first-child{font-size:13px}.day .badge{font-size:12px}.form-grid,.checks{grid-template-columns:1fr 1fr}.cough-form{padding:28px}}@media (width>=900px){body{background-image:linear-gradient(125deg,#277b93 0%,#78b7c7 52%,#277b93 100%)}.app-shell{padding-bottom:28px}.header{min-height:80px;padding:8px 0}.brand{font-size:21px}.navigation{width:max-content;max-width:100%;box-shadow:none;background:#0b506461;border-radius:40px;gap:4px;margin:0 auto 20px;padding:6px;display:flex;position:relative;inset:auto;transform:none}.navigation a{flex-direction:row;gap:8px;min-height:46px;padding:10px 16px;font-size:12px}.navigation .icon{flex-shrink:0}.nav-short{display:none}.nav-full{display:inline}.main-content{padding:8px 0 32px}.greeting{padding:12px 4px 24px}.greeting h1{font-size:32px}.page-intro{padding:12px 4px 24px}.page-title{font-size:30px}.forecast-detail{gap:20px;padding:28px 32px}.observation{gap:20px;padding:28px 30px}.observation-value{font-size:72px}.observation .section-heading .button{font-size:12px}.empty-state{padding:64px 32px}.cough-form{padding:32px}.cough-form h1{font-size:22px}.symptom-field textarea{--notes-height:192px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
