:root{font-family:Manrope,system-ui,sans-serif;color:#343e35;background:#faf7ef;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:0;color:inherit}button:focus-visible,a:focus-visible{outline:3px solid #517453;outline-offset:5px}button:active{transform:scale(.96)}[hidden]{display:none!important}#home{max-width:1000px;margin:auto;padding:30px 36px}header{display:flex;justify-content:space-between;align-items:center}.brand{text-decoration:none;color:inherit;font-size:20px;font-weight:800;display:flex;gap:10px;align-items:center}.sun{color:#da8c40;font-size:42px;line-height:1}.help{border:1px solid #d7d8c9;background:transparent;border-radius:50%;width:36px;height:36px;font-weight:700}.intro{text-align:center;margin:48px 0 34px}.eyebrow{font-size:10px;letter-spacing:2.4px;color:#8a8d77;font-weight:800}.intro h1{font-size:43px;line-height:1.2;letter-spacing:-1.5px;margin:19px 0 14px;position:relative}.intro h1 span{color:#8a9976}.intro i{color:#dda454;font-style:normal;position:absolute;font-size:40px;margin:0 12px}.intro p{font-size:14px;color:#85877a}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.tile{border-radius:24px;padding:17px 20px 20px;text-align:left;position:relative;transition:transform .15s;min-height:211px}.tile:hover{transform:translateY(-3px)}.tile .art{display:block;text-align:center;font-size:86px;height:121px;filter:drop-shadow(0 8px 4px #0000000b)}.tile h2{font-size:20px;margin:6px 0 4px}.tile p{font-size:11px;margin:0;opacity:.6}.tile .arrow{position:absolute;bottom:23px;right:21px;border-radius:50%;width:26px;height:26px;background:#ffffff70;text-align:center;line-height:26px}footer{text-align:center;font-size:11px;color:#969887;padding:28px 0 12px}footer span{color:#b3ba9b;margin-right:7px}#welcome{position:fixed;inset:0;background:#faf7ef;z-index:10;display:grid;place-content:center;text-align:center;transition:opacity .35s}#welcome span{font-size:90px}#welcome h1{font-size:32px;letter-spacing:-1px}#welcome p{color:#8a9976}#viewer{position:fixed;inset:0;padding:max(22px,env(safe-area-inset-top)) 25px max(22px,env(safe-area-inset-bottom));display:flex;align-items:center;flex-direction:column;touch-action:none;user-select:none;overflow:hidden}.cardtop{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:900px;font-size:14px}.cardtop button,.nav button{width:48px;height:48px;background:#ffffff80;border-radius:50%;font-size:24px}.cardtop #count{width:48px;text-align:right;opacity:.6;font-size:12px}.grip{position:absolute;top:10px;width:36px;height:4px;border-radius:4px;background:#343e3520}#picture{flex:1;min-height:0;display:grid;place-items:center;font-size:clamp(130px,36vmin,320px);width:100%;filter:drop-shadow(0 16px 8px #0000000c)}.wordrow{display:flex;align-items:center;justify-content:center;gap:24px}.wordrow h1{font-size:clamp(32px,7vw,56px);margin:0;letter-spacing:-1px}#speak{width:76px;height:76px;border-radius:50%;background:#fffaf0;box-shadow:0 5px 0 #343e3514;display:grid;place-items:center}#speak svg{width:32px;height:32px}#speak.playing{background:#517453;color:white}#audioStatus{height:25px;font-size:12px;text-align:center;margin-top:10px}.nav{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:500px;margin-top:25px}.nav span{font-size:11px;opacity:.5}.nav b{margin-left:8px}.nav button:disabled{opacity:.2}dialog{padding:0;border:0;border-radius:30px;width:min(90vw,400px);background:#faf7ef;color:#343e35}dialog::backdrop{background:#25372d66;backdrop-filter:blur(8px)}.modal{padding:32px;display:flex;flex-direction:column;text-align:center;gap:14px}.modalpic{font-size:60px}.modal h2{margin:4px 0 12px;font-size:23px}.modal p{font-size:13px;line-height:1.7;margin:0 0 10px}.primary,.secondary{padding:19px;border-radius:18px;font-size:18px;font-weight:700}.primary{background:#647b57;color:white}.secondary{background:#e9e8db}#offlineStatus{font-size:10px;text-align:center;color:#85877a;padding:0 15px 10px}body.incards{overflow:hidden}body.incards #offlineStatus{display:none}@media(max-width:600px){#home{padding:22px 20px}.intro{margin:37px 0 28px}.intro h1{font-size:31px}.intro i{font-size:26px;margin-left:5px}.intro p{font-size:12px}.grid{grid-template-columns:repeat(2,1fr);gap:12px}.tile{padding:13px 16px 17px;border-radius:22px;min-height:180px}.tile .art{font-size:72px;height:103px}.tile h2{font-size:17px}.tile p{font-size:10px}.tile .arrow{right:13px;bottom:19px;width:22px;height:22px;line-height:22px}.brand{font-size:17px}footer{font-size:10px}.wordrow{gap:18px}#speak{width:68px;height:68px}.nav{margin-top:12px}}@media(max-height:500px){#picture{font-size:120px}.wordrow h1{font-size:30px}#speak{width:50px;height:50px}.nav{margin-top:0}.cardtop button,.nav button{height:36px;width:36px}}

/* Small phones and older Safari: explicit viewport and non-shrinking controls. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;min-width:280px}body{min-width:280px}button{flex-shrink:0}#welcome,#viewer{top:0;left:0;right:0;bottom:auto;height:100vh;height:var(--app-height,100vh)}#viewer{padding:12px 16px 14px;padding-top:max(12px,env(safe-area-inset-top));padding-bottom:max(14px,env(safe-area-inset-bottom))}.cardtop{flex:0 0 44px}.cardtop button,.nav button{width:44px;height:44px}.grip{top:5px}#picture{flex:1 1 0;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;line-height:1;overflow:hidden;filter:none;font-family:'Apple Color Emoji','Segoe UI Emoji','Noto Color Emoji',sans-serif}.wordrow{flex:0 0 auto;width:100%;max-width:750px;min-width:0;justify-content:space-between;gap:12px;padding-top:8px}.wordrow h1{min-width:0;flex:1;font-size:34px;font-size:clamp(24px,7vw,50px);line-height:1.15;overflow-wrap:anywhere;letter-spacing:-.7px}#speak{width:64px;height:64px;flex:0 0 64px}#audioStatus{flex:0 0 auto;min-height:18px;height:auto;max-width:100%;font-size:11px;line-height:1.3;margin-top:6px}.nav{flex:0 0 44px;margin-top:8px;max-width:750px}.nav span{font-size:11px}dialog{max-height:85vh;overflow:auto;max-width:400px;width:90%}dialog:not([open]){display:none}.modal{gap:12px;padding:24px}.modalpic{font-size:48px}.modal h2{font-size:22px}.primary,.secondary{min-height:54px;padding:15px}dialog.compat{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;z-index:30;box-shadow:0 0 0 100vmax #25372d99}.intro i{position:static;display:inline-block;margin-left:5px}.tile{min-width:0}.tile p{padding-right:18px}
@media(max-width:600px){#home{padding:14px 14px 8px}.intro{margin:20px 0 18px}.eyebrow{font-size:8px;letter-spacing:1.4px}.intro h1{font-size:26px;letter-spacing:-.8px;margin:10px 0}.intro p{font-size:11px;margin:8px 0}.brand{font-size:16px}.sun{font-size:32px}.help{width:36px;height:36px}.grid{gap:10px}.tile{min-height:142px;padding:9px 12px 13px;border-radius:18px}.tile .art{font-size:62px;height:82px;line-height:82px}.tile h2{font-size:16px;margin:4px 0}.tile p{font-size:9px}.tile .arrow{right:10px;bottom:15px}footer{padding:15px 0 8px;font-size:9px}#offlineStatus{font-size:9px;padding-bottom:8px}}
@media(max-width:350px){.intro h1{font-size:23px}.wordrow h1{font-size:25px}.tile .art{font-size:54px;height:70px;line-height:70px}.tile{min-height:130px}.brand{font-size:14px}}
@media(orientation:landscape) and (max-height:500px){#viewer{padding:6px 20px}.cardtop{flex-basis:36px}.cardtop button,.nav button{width:36px;height:36px}.wordrow{padding-top:0;max-width:600px}.wordrow h1{font-size:27px}#speak{width:46px;height:46px;flex-basis:46px}#speak svg{width:26px;height:26px}.nav{flex-basis:36px;margin-top:2px}#audioStatus{min-height:14px;margin-top:2px}.modal{padding:16px}.modalpic{display:none}.modal h2{margin:0;font-size:18px}}

#welcome{pointer-events:none;animation:welcome-out .35s 2s forwards}@keyframes welcome-out{to{opacity:0;visibility:hidden}}

#picture img{display:block;width:92%;height:92%;object-fit:contain;pointer-events:none}

.tile .art img{display:block;width:100%;height:95%;object-fit:contain;pointer-events:none}

#picture img{border-radius:18px} .tile .art img{border-radius:12px}
