/* Visual foundation: Tom task #32. Completed and reviewed by Sean. */
:root{--cream:#fffaf0;--ink:#173c37;--orange:#ee8656;--green:#dcebcf;--line:#e3e3d5;font-family:ui-rounded,'Segoe UI','Microsoft YaHei',system-ui,sans-serif;color:var(--ink);background:var(--cream);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{min-height:48px;border:0;border-radius:16px;padding:13px 22px;cursor:pointer;font-weight:650;background:#eaf0df;color:var(--ink)}button:hover{filter:brightness(.97)}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #b44c22;outline-offset:4px}a{color:inherit;text-decoration:none}p{line-height:1.8}h1,h2,h3,p{margin:0 0 16px}h1{font-size:clamp(34px,5vw,60px);line-height:1.2;letter-spacing:-2px}h2{font-size:28px}h3{font-size:20px}.shell{width:100%;max-width:1100px;margin:auto;padding:0 30px 100px}.top{display:flex;justify-content:space-between;align-items:center;padding:26px 0;border-bottom:1px solid var(--line);gap:12px}.brand{display:flex;align-items:center;gap:12px;font-size:19px;font-weight:800}.brand small{display:block;font-size:9px;letter-spacing:2px;margin-top:5px}.brand-icon{display:grid;place-items:center;width:44px;height:44px;background:var(--ink);border-radius:14px;font-size:27px}.pill{font-size:12px;font-weight:600;padding:8px 12px;background:#edf0df;border-radius:30px;display:inline-block}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:35px;align-items:center;padding:44px 0}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;margin-bottom:18px;color:#647769}.hero p{color:#52675e;font-size:16px}.accent{color:#b95532}.hero-art{background:#e7efd8;border-radius:140px 140px 36px 36px;min-height:340px;display:grid;place-items:center;position:relative;overflow:hidden}.sun{position:absolute;right:30px;top:28px;background:#ffdb8a;border-radius:50%;width:65px;height:65px;display:grid;place-items:center;font-size:30px}.tabletop{position:relative;width:85%;height:180px;margin-top:80px;background:#ead2ae;border-radius:50%;border:8px solid #f5e6c9;box-shadow:0 20px 0 #d6b78c;display:flex;align-items:center;justify-content:center;gap:15px}.breakfast{font-size:76px;filter:drop-shadow(0 7px 2px #173c3718);transform:rotate(-8deg)}.little-note{position:absolute;bottom:19px;background:#fffdf5;padding:10px 20px;transform:rotate(-4deg);border-radius:8px;font-size:13px}.primary{background:var(--ink);color:white}.secondary{background:#fff;border:1px solid #cfd7c9;color:var(--ink)}.orange{background:var(--orange);color:#311a10}.actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}.section-title{display:flex;justify-content:space-between;align-items:center;margin:25px 0 8px}.muted{color:#586c63;font-size:14px}.card{background:#fffefa;border:1px solid var(--line);border-radius:24px;padding:26px;margin:18px 0;box-shadow:0 6px 0 #243a2b03}.lesson-card{display:grid;grid-template-columns:80px 1fr auto;gap:20px;align-items:center}.lesson-icon{font-size:45px;background:#f9e5d2;width:80px;height:80px;border-radius:23px;display:grid;place-items:center}.lesson-card h3{margin-bottom:5px}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:24px 0}.word-card{min-width:0;text-align:center;padding:22px 10px;border:1px solid var(--line);border-radius:23px;background:white;display:flex;flex-direction:column;align-items:center;gap:7px}.word-card:nth-child(2){background:#fff0db}.word-card:nth-child(3){background:#f4ecf9}.word-card:nth-child(4){background:#e8f2f3}.word-card strong{font-size:23px}.word-card .emoji{display:block;font-size:58px;margin:10px 0}.word-card .muted{font-size:13px}.word-card.selected{outline:3px solid #547e4f}.nav{position:fixed;z-index:3;bottom:0;left:0;right:0;display:flex;justify-content:center;gap:65px;background:#fffef9f5;border-top:1px solid var(--line);backdrop-filter:blur(12px);padding:10px 16px calc(10px + env(safe-area-inset-bottom))}.nav a{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:23px;min-width:60px;min-height:48px}.nav span{font-size:11px}.nav a[aria-current=page]{color:#af4c28;font-weight:bold}.stepbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:28px 0 12px;font-size:13px}.track{height:6px;background:#e8e9da;border-radius:5px;margin-bottom:28px}.progress{height:100%;background:var(--orange);border-radius:5px;transition:width .3s}.lesson-head{text-align:center;margin-top:24px}.lesson-head h1{font-size:36px;letter-spacing:-1px}.dialogue{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:16px 0;padding:20px;border-radius:20px;background:#eaf1df}.dialogue:nth-child(odd){background:#fae8db;margin-left:35px}.dialogue strong{display:block;font-size:21px;margin:7px 0}.dialogue button{flex-shrink:0;background:#fff}.toast{position:fixed;z-index:5;bottom:100px;left:50%;transform:translateX(-50%);width:max-content;max-width:90vw;background:var(--ink);color:white;padding:14px 20px;border-radius:16px;box-shadow:0 8px 25px #0002;font-size:14px}.toast:empty{display:none}.feedback{min-height:32px;text-align:center;font-weight:600;margin:18px}.record-panel{text-align:center}.record-panel .emoji{font-size:70px}.record-panel audio{display:block;max-width:100%;margin:20px auto}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stats .card{text-align:center;padding:22px 10px}.stat{font-size:38px;font-weight:800;display:block;margin-bottom:8px}.consent{max-width:620px;margin:40px auto}.consent h1{font-size:38px}.field{display:block;margin:20px 0}select{padding:12px;border-radius:12px;border:1px solid #b6c4af;background:white;max-width:100%}label{line-height:1.8}input[type=checkbox]{width:21px;height:21px;vertical-align:middle;margin-right:10px}.success{text-align:center;padding:40px 20px}.success .emoji{font-size:80px}.empty{padding:25px 0;border-top:1px dashed var(--line)}footer{text-align:center;font-size:14px;color:#687769;margin:45px 0 0;line-height:2}.break-note{padding:16px;border-radius:15px;background:#f7eac9;font-size:14px;line-height:1.8}.price{font-size:50px;font-weight:800}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.flexline{display:flex;justify-content:space-between;align-items:center;gap:10px}.steps{font-size:14px;line-height:2.1}.linkbutton{background:transparent;padding:10px;color:#426348;text-decoration:underline}#app:focus{outline:none}
@media(max-width:700px){.shell{padding:0 20px 105px}.top{padding:20px 0}.top>.pill{display:none}.hero{grid-template-columns:1fr;gap:25px;padding:32px 0 15px}.hero h1{font-size:40px}.hero-art{min-height:250px;border-radius:95px 95px 28px 28px}.tabletop{height:140px;margin-top:55px}.breakfast{font-size:62px}.sun{width:50px;height:50px;font-size:25px;top:20px}.little-note{bottom:10px;font-size:12px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.card{padding:22px 18px}.lesson-card{grid-template-columns:60px 1fr;gap:14px}.lesson-card>.primary{grid-column:1/-1;width:100%}.lesson-icon{width:60px;height:60px;font-size:34px}.nav{gap:0;justify-content:space-around}.stats{gap:8px}.stats .card{padding:20px 5px}.stat{font-size:30px}.stats .muted{font-size:12px}.dialogue{gap:10px;padding:16px}.dialogue:nth-child(odd){margin-left:12px}.dialogue strong{font-size:17px}.dialogue button{padding:12px}.lesson-head h1{font-size:29px}.actions>button{flex-grow:1}.section-title h2{font-size:23px}.consent h1{font-size:32px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
