:root{--ink:#193c35;--muted:#586a62;--brand:#176454;--brand-hover:#104c40;--tint:#e8f1eb;--border:#d9e2da;--focus:#397e69;font-family:Inter,-apple-system,BlinkMacSystemFont,Noto Sans TC,Microsoft JhengHei,sans-serif;color:var(--ink);background:#fcfaf5;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}h1{font-size:clamp(2rem,4vw,3.8rem);line-height:1.2;margin:.35em 0}h2{font-size:clamp(1.3rem,2.4vw,2rem);margin:.4em 0 1em}h3{margin:.5em 0}p{line-height:1.85;color:var(--muted)}.wrap{width:min(1170px,calc(100% - 40px));margin:auto}.header{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--border);z-index:10}.header-inner{max-width:1290px;margin:auto;padding:14px 22px;display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:78px}.brand{display:flex;align-items:center;gap:10px;border:0;background:none;font-weight:900;color:var(--ink);font-size:clamp(14px,1.5vw,21px);white-space:nowrap}.brand-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:var(--tint);color:var(--brand)}.nav,.tools{display:flex;align-items:center;gap:clamp(8px,1.6vw,24px)}.nav button,.mobile-menu button{border:0;background:none;font-weight:700;color:var(--ink);padding:12px 4px;white-space:nowrap}.nav button:hover,.text-btn:hover{color:var(--brand)}.tools{gap:10px}.icon-btn{background:none;border:0;position:relative;color:var(--ink);display:grid;place-items:center;width:40px;height:40px;border-radius:10px}.icon-btn:hover{background:var(--tint)}.count{position:absolute;right:0;top:-3px;border-radius:100px;color:#fff;background:#b4532a;font-size:11px;min-width:17px;padding:2px 4px}.member{position:relative}.member-menu{position:absolute;right:0;top:48px;background:#fff;border:1px solid var(--border);box-shadow:0 12px 34px #173d3620;width:235px;padding:8px;border-radius:14px}.member-menu button{width:100%;padding:12px;text-align:left;background:none;border:0;border-radius:8px}.member-menu button:hover{background:var(--tint)}.menu-caption{color:var(--muted);font-size:12px;padding:10px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--brand);border:1px solid var(--brand);border-radius:11px;color:#fff;font-weight:750;padding:11px 17px;line-height:1.2}.btn:hover:not(:disabled){background:var(--brand-hover)}.btn.secondary{background:#fff;color:var(--brand);border-color:var(--border)}.btn.secondary:hover:not(:disabled){background:var(--tint)}.btn.large{padding:15px 21px}.hamburger,.mobile-menu{display:none}.hero{background:linear-gradient(115deg,#e5efe6,#f7f5eb 65%,#f2e9d6);padding:85px 0 82px}.hero .wrap{max-width:1170px}.hero h1{font-size:clamp(2.4rem,5vw,4.7rem);max-width:780px;letter-spacing:-.04em}.hero em{font-style:normal;color:var(--brand)}.hero p{font-size:18px;max-width:720px}.pill{display:inline-block;background:#fff;border-radius:100px;padding:8px 14px;color:var(--brand);font-size:13px;font-weight:800}.hero-actions,.product-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.hero-note{display:flex;align-items:center;gap:7px;margin-top:31px;color:var(--brand);font-weight:750}.section{padding-top:62px;padding-bottom:64px}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}.eyebrow{font-size:12px;font-weight:900;color:var(--brand);letter-spacing:.1em}.text-btn{background:none;border:0;display:inline-flex;gap:6px;align-items:center;font-weight:700;color:var(--brand);padding:8px}.mode-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}.mode-card{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:12px;border:1px solid var(--border);background:#fff;border-radius:16px;padding:20px;color:var(--brand);min-height:185px;box-shadow:0 7px 22px #173d3608}.mode-card strong{color:var(--ink);font-size:16px}.mode-card span{font-size:13px;color:var(--muted);line-height:1.65}.mode-card:hover,.mode-card.selected{border-color:var(--focus);box-shadow:0 7px 25px #173d3620}.products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:24px}.product{background:#fff;border:1px solid var(--border);border-radius:20px;padding:20px;display:flex;flex-direction:column}.product .cover{height:135px;display:grid;place-items:center;border-radius:13px;background:var(--tint);font-size:58px;margin-bottom:18px}.product h3{font-size:21px}.product p{flex:1}.product-actions{margin-top:12px}.narrow{max-width:780px}.muted{color:var(--muted)}.search{border:1px solid var(--border);border-radius:14px;padding:14px;display:flex;align-items:center;gap:12px;margin:24px 0;max-width:560px}.search input{border:0;outline:0;width:100%;background:transparent}.detail{display:grid;grid-template-columns:40% 1fr;gap:45px;align-items:center;padding-top:30px}.detail-emoji{display:grid;place-items:center;background:var(--tint);border-radius:25px;min-height:320px;font-size:120px}.detail h2{font-size:23px;color:var(--brand);margin-top:20px}.notice{background:#fff9ed;padding:14px;border-radius:12px;color:#836237;font-size:14px;margin-top:20px}.info-card{display:flex;gap:18px;border:1px solid var(--border);padding:22px;border-radius:18px;margin-top:30px}.info-card svg{flex-shrink:0;color:var(--brand)}.empty{text-align:center;padding:74px 25px;border:1px dashed var(--border);border-radius:20px;display:flex;flex-direction:column;align-items:center;gap:10px}.empty svg{color:#8b9d95}.empty h2{margin:0}.cart-list{padding-top:20px}.cart-item{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--border);padding:14px}.cart-item span{font-size:28px}.cart-item strong{flex:1}details{border-bottom:1px solid var(--border);padding:20px 0}summary{list-style:none;display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-weight:800}summary::-webkit-details-marker{display:none}.practice{margin-top:30px;border:1px solid var(--border);border-radius:18px;padding:28px;max-width:760px}.choice{display:block;border:1px solid var(--border);border-radius:12px;padding:13px;margin:8px 0;cursor:pointer}.choice:has(input:checked){background:var(--tint);border-color:var(--focus)}.explanation{margin-top:20px;background:var(--tint);padding:20px;border-radius:12px}.days{display:flex;gap:8px;flex-wrap:wrap}.days button{background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px}.days button.active{background:var(--brand);color:#fff}.footer{border-top:1px solid var(--border);color:var(--muted)}.footer-row{min-height:100px;display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:13px}@media(max-width:1080px){.nav{gap:8px}.nav button{font-size:13px}.mode-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.products{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:790px){.header-inner{min-height:68px;padding:9px 16px}.nav{display:none}.hamburger{display:grid}.mobile-menu{display:flex;flex-direction:column;padding:8px 20px 16px;border-top:1px solid #eee}.mobile-menu button{text-align:left;width:100%;padding:11px}.study-btn{display:none}.brand-icon{width:36px;height:36px}.hero{padding:50px 0}.hero p{font-size:16px}.mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.products{grid-template-columns:1fr}.detail{grid-template-columns:1fr;gap:15px}.detail-emoji{min-height:200px}.section{padding-top:40px;padding-bottom:40px}.footer-row{flex-direction:column;justify-content:center}}@media(max-width:400px){.wrap{width:calc(100% - 28px)}.brand{font-size:13px}.header-inner{gap:5px}.tools{gap:2px}.icon-btn{width:34px}.mode-card{padding:13px;min-height:178px}.mode-card strong{font-size:14px}}:focus-visible{outline:3px solid var(--focus);outline-offset:3px}input{min-width:0}main{min-height:70vh}.product-actions>*{flex:1}.member-menu{max-height:75vh;overflow:auto}@media(max-width:360px){.brand{white-space:normal;text-align:left}.brand-icon{flex-shrink:0}.header-inner{padding:8px}.tools{flex-shrink:0}.section-heading{align-items:start;flex-direction:column}}.auth-form{display:grid;gap:16px;margin:24px 0;max-width:480px}.auth-form label{display:grid;gap:8px}.auth-form input{padding:12px;border:1px solid var(--border);border-radius:10px;width:100%}input{accent-color:var(--brand)}.search:focus-within{outline:3px solid var(--focus);outline-offset:3px}
