*{box-sizing:border-box}body{margin:0;background:#f5f8f8;color:#173540;font-family:Arial,Helvetica,sans-serif;font-size:18px;line-height:1.55}header,main,footer{max-width:1050px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;align-items:center;gap:12px}.brand{font-size:20px;font-weight:800;text-decoration:none;color:#09294b}.brand span{font-size:13px;color:#58727b}h1{font-size:clamp(32px,5vw,54px);line-height:1.12;letter-spacing:-1px;margin:12px 0 20px}h2{font-size:25px;line-height:1.25}.eyebrow{font-size:12px;font-weight:800;letter-spacing:2px;color:#326e73}.lead{font-size:22px;color:#536c73}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:22px 0 38px}.art{background:none;border:0;padding:0;box-shadow:none;min-height:0}.art img{display:block;width:100%;height:auto}.art:hover{transform:translateY(-2px)}.banner{width:100%;margin-top:20px}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid #afc5ca;border-radius:13px;padding:13px 20px;background:white;color:#173540;font-weight:700;min-height:50px}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:#187d83;color:white;border-color:#187d83}button:hover:not(:disabled){filter:brightness(.97)}:focus-visible{outline:3px solid #225fda;outline-offset:4px}.quiet,.back{background:transparent;border:0;color:#196c77}.back{padding-left:0}.sectionTitle,.actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.card,.recordCard{background:#fff;border:1px solid #dce6e7;border-radius:20px;padding:26px;margin:20px 0;box-shadow:0 4px 18px #244b4b05}label{display:block;font-weight:700;margin:20px 0 7px}input:not([type=checkbox]),select,textarea{display:block;width:100%;padding:14px;border:1px solid #99b2bc;border-radius:10px;background:#fff;color:#173540;min-width:0}textarea{resize:vertical}form>button{margin-top:22px}.check{display:flex;align-items:flex-start;gap:12px;font-weight:400}.check input{width:23px;height:23px;flex-shrink:0}.small,.privacy{font-size:15px;color:#536c73}.privacy{padding:18px;background:#e9f1f1;border-radius:12px}.upload{background:#e7f3f8;border:2px dashed #83b3c3;padding:25px;text-align:center;border-radius:14px;cursor:pointer}.preview{max-width:100%;max-height:340px;object-fit:contain;border-radius:12px;margin:16px auto;display:block}.badge{display:inline-block;font-size:13px;padding:4px 10px;border-radius:20px;background:#edf2f7;color:#334e6b}.unreviewed{background:#fff0ce;color:#6b4c00}.recordCard h3{margin:10px 0;font-size:22px}.recordCard p{white-space:pre-wrap;overflow-wrap:anywhere}#notice:not(:empty){padding:16px;background:#fff1ca;border-radius:12px;position:sticky;top:8px;z-index:5}audio{width:100%;margin:14px 0}footer{font-size:13px;color:#6b8085;border-top:1px solid #dce6e7;margin-top:38px;display:flex;justify-content:space-between} [hidden]{display:none!important}.empty{padding:35px;background:white;border:1px dashed #aabfc5;border-radius:16px;text-align:center}.numberGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px} @media(max-width:550px){header,main,footer{padding:16px}.brand span{display:none}.tiles{gap:7px;margin-top:14px}.card{padding:20px}.lead{font-size:19px}.sectionTitle h2{font-size:22px}.sectionTitle button{font-size:15px;padding:8px}header button{font-size:14px;padding:10px}h1{font-size:36px}.numberGrid{grid-template-columns:1fr}}
.tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;aspect-ratio:1/1;border:1px solid #c9dddc;border-radius:22px;box-shadow:0 5px 0 #183f4810;font-size:clamp(15px,2.5vw,27px);line-height:1.2;padding:20px 8px;color:#153747}.tile.mint{background:#e1f3ed}.tile.blue{background:#e3f0fb}.tile.purple{background:#eee9fa}.icon{display:grid;place-items:center;width:40%;aspect-ratio:1;background:white;border-radius:50%;padding:9%}.icon svg{width:100%;height:100%;overflow:visible;stroke:currentColor;fill:none;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.mint .icon{color:#247e6c}.blue .icon{color:#2873b4}.purple .icon{color:#7755b0}.arrow{color:#387583}.tile:focus-visible{outline-offset:3px}@media(max-width:550px){.tile{min-height:166px;gap:11px;border-radius:16px;padding:14px 3px;font-size:14px}.icon{width:48%;padding:10%}.arrow{font-size:23px}}

/* Phone layout: fluid content, Safari form sizing and safe-area insets. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{min-width:0}main,.page,.card,.recordCard,.tiles>*{min-width:0}
header,main,footer{width:100%;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
header{padding-top:max(20px,env(safe-area-inset-top));flex-wrap:wrap}
footer{padding-bottom:max(24px,env(safe-area-inset-bottom));gap:12px;flex-wrap:wrap}
.brand{min-width:0;overflow-wrap:anywhere}.brand span{display:inline-block}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent;touch-action:manipulation}
button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
input:not([type=checkbox]),select,textarea{max-width:100%;min-height:52px;font-size:18px}
input[type=date],input[type=datetime-local]{-webkit-appearance:none;appearance:none;min-width:0;width:100%;display:block}
input::-webkit-date-and-time-value{text-align:left;min-height:1.5em}
input[type=file]{overflow:hidden;font-size:16px;padding:12px 8px}
input[type=file]::file-selector-button{font:inherit;max-width:100%;padding:8px;border:0;border-radius:6px;margin-right:8px;background:#e7f3f8;color:#173540}
.card p,.page h1,.page h2,.privacy,#notice{overflow-wrap:anywhere}
.banner{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:100px;text-align:left;padding:20px 24px;background:linear-gradient(115deg,#167c78,#226b9d);color:white;border-radius:18px}
.banner-copy{display:grid;gap:6px}.banner strong{font-size:clamp(20px,3vw,32px);line-height:1.2}.banner-copy>span{font-size:16px;font-weight:400}.banner>span:last-child{font-size:28px}
.icon{padding:0;flex-shrink:0}.icon svg{width:62%;height:62%}
.check{min-height:44px;align-items:center}.check input{margin:0}
@media(max-width:600px){
body{font-size:17px}header,main,footer{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
h1{font-size:clamp(30px,8.5vw,40px);letter-spacing:-.6px}h2{font-size:23px}.lead{font-size:19px}
.card,.recordCard{padding:18px;border-radius:16px}.tiles{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:28px}
.tile{aspect-ratio:auto;min-height:174px;padding:14px 4px;font-size:15px;gap:12px;hyphens:auto}.icon{width:52px;height:52px}.tile .arrow{font-size:24px}
.banner{padding:18px;min-height:110px}.banner strong{font-size:23px}
.actions{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.actions button,form>button,.card>button{width:100%}.card>button{margin-top:12px}
.sectionTitle{align-items:flex-start}.sectionTitle h2{margin-bottom:8px}.small,.privacy{font-size:15px}.upload{padding:20px 12px}
#notice:not(:empty){position:static}.empty{padding:24px 18px}
}
@media(max-width:359px){.tiles{grid-template-columns:minmax(0,1fr)}.tile{display:grid;grid-template-columns:52px minmax(0,1fr) 24px;min-height:94px;text-align:left;font-size:18px;padding:14px;gap:12px}.tile br{display:none}.tile .icon{width:52px;height:52px}.banner strong{font-size:21px}header .brand{font-size:18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.art:hover{transform:none}}

.photo-actions{margin:20px 0 12px}.photo-actions button{flex:1;min-height:56px}

#localText{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;padding:12px;background:#f1f5f5}#localResults{margin-top:16px}summary{cursor:pointer;min-height:44px}

#scanState:empty{display:none}#scanState:not(:empty){background:#fff1ca;color:#173540;padding:16px;border-radius:12px;margin:16px 0;overflow-wrap:anywhere}

#voiceChoices{display:grid;gap:12px;margin-top:14px}#voiceHelp{overflow-wrap:anywhere}
