:root{font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#203e36;background:#faf4e9;--green:#184e43;--orange:#af421f;--line:#dedbcd;line-height:1.55}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default;opacity:.65}a{color:var(--green)}header{max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:22px 24px}header a{text-decoration:none;font-weight:700}.brand{display:flex;align-items:center;gap:12px;font-weight:900;font-size:1.7rem}.brand span{font-size:.9rem;max-width:160px;line-height:1.25}main{max-width:1200px;padding:0 24px;margin:auto}.hero{background:var(--green);color:white;border-radius:24px;padding:36px;display:grid;grid-template-columns:1.4fr 1fr;gap:25px;align-items:center;overflow:hidden}.eyebrow{letter-spacing:.13em;font-size:.75rem;font-weight:850;margin:0 0 14px}.hero h1{font-size:clamp(2.3rem,5vw,3.6rem);line-height:1.15;margin:0}.hero h1 span{display:block;font-size:clamp(1.6rem,3vw,2.6rem);margin-top:12px}.hero p{color:#e2ece7}.chips{display:flex;flex-wrap:wrap;gap:8px}.chips span{padding:6px 12px;border-radius:100px;background:#ffffff16;font-size:.8rem;border:1px solid #ffffff30}.restaurant{position:relative;text-align:center;border:7px solid #f2d5aa;border-radius:12px;background:#f9ead1;min-height:240px;color:var(--green);box-shadow:12px 12px 0 #123e36}.awning{height:30px;background:repeating-linear-gradient(90deg,#ba5238 0 33px,#fff4da 33px 66px);border-radius:0 0 15px 15px}.sign{font-size:2rem;font-weight:900;margin:16px 0 5px}.sign small{display:block;font-size:.6rem;letter-spacing:.14em}.meal{font-size:3.8rem;white-space:nowrap;position:relative;z-index:1}.tablecloth{display:block;height:30px;background:#c9583b;width:90%;margin:-6px auto 10px;border-radius:5px}.sale-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}.primary,.secondary{display:inline-block;border:1px solid transparent;border-radius:12px;text-decoration:none;font-size:.95rem;font-weight:750;padding:12px 18px;line-height:1.4}.primary{color:white;background:var(--orange)}.secondary{color:var(--green);background:white;border-color:#c9d6ce}.primary:hover{background:#8f3419}.secondary:hover{background:#edf5ed}.layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:22px}.game,aside{background:#fffdf8;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:0 8px 24px #1f3d3108}h2{font-size:1.6rem;line-height:1.4;margin:12px 0}h3{font-size:1.1rem}p{margin:12px 0}.tabs{display:flex;gap:8px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:24px}.tabs button{background:transparent;border:0;padding:10px;color:#557168;font-weight:800;border-radius:10px}.tabs button[aria-pressed=true]{color:var(--green);background:#e8efe4}.journey{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:0;list-style:none;margin:24px 0}.journey li,.journey span{text-align:center;font-size:.82rem;background:#f3efdf;border-radius:9px;padding:12px 5px}.journey .active{background:var(--green);color:white}.journey .complete{background:#e2efdd}form{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px}form label{font-weight:700}form input{width:100%;border:1px solid #c8d4ca;border-radius:10px;padding:12px;margin-top:6px;background:white;color:#203e36}form button{grid-column:1/-1}.hint{font-size:.83rem;color:#60736a;line-height:1.6}.meta{display:flex;justify-content:space-between;gap:10px;font-size:.9rem}.meta time{font-variant-numeric:tabular-nums}progress{width:100%;height:10px;accent-color:var(--green);margin:12px 0}.chapter-track{margin:8px 0 20px}.tools{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:.85rem}.tools input{accent-color:var(--green)}.scene{display:flex;gap:14px;align-items:center;background:#f9edcf;padding:12px 16px;border-radius:12px;margin-top:18px}.scene span{font-size:2.5rem}.scene p{font-size:.95rem;margin:0}.pinyin{color:#63796d;font-size:.94rem;line-height:1.7}#prompt{font-size:clamp(1.45rem,3.5vw,1.95rem);letter-spacing:.01em}details{font-size:.86rem}summary{cursor:pointer;color:#6d6b36;font-weight:700}.options{display:grid;gap:12px;margin:14px 0 18px}.option{display:flex;align-items:flex-start;gap:12px;border:2px solid #e3e3d7;background:#fff;color:#234839;border-radius:14px;padding:17px;text-align:left;width:100%;font-size:1.15rem;line-height:1.6}.option .letter{background:#f5efdc;border-radius:8px;flex:0 0 30px;height:32px;display:grid;place-items:center;font-size:.86rem;font-weight:800}.option small{display:block;font-size:.82rem;font-weight:400;color:#63796d}.option:hover:not(:disabled){border-color:#b99a61;background:#fffaf0}.option:disabled{opacity:1}.option.correct{border-color:#347345;background:#edf6e8}.option.wrong{border-color:#b65536;background:#fff0e8}.feedback{border-radius:14px;padding:18px;background:#edf6e8;border:1px solid #b2ceab}.feedback.bad{background:#fff2e5;border-color:#e3ba98}.feedback strong{font-size:1.02rem}.feedback p{font-size:.95rem}.feedback .han{font-size:1.2rem}.feedback small{display:block}.status{color:#9b421b;font-size:.9rem;min-height:1.5em;margin-bottom:0}.result-score{font-size:3rem;font-weight:900;color:var(--green);margin:12px 0}.review-row{border-bottom:1px solid var(--line);padding:16px 0}.review-row h4{margin:0;font-size:1rem}.review-row p{margin:7px 0}.review-row .han{font-size:1.1rem;color:var(--green)}.review-row .wrong-answer{color:#a04624}.word-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.word-card{padding:17px;background:#f5efdf;border-radius:12px;display:grid;gap:4px}.word-card strong{font-size:1.35rem}.word-card small{color:#69776c}#leaderboard{padding:0;list-style:none;margin:22px 0}#leaderboard li{display:flex;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid var(--line);font-size:.9rem}#leaderboard li>strong{display:grid;place-items:center;border-radius:50%;width:27px;height:27px;background:#f3e6b6;flex-shrink:0}.person{flex:1;min-width:0;overflow-wrap:anywhere}.person small,.record small{display:block;font-size:.75rem;color:#63786c}.record{text-align:right;white-space:nowrap}aside h2{margin-top:0}footer{text-align:center;padding:35px 20px;font-size:.83rem;color:#63756c}:focus-visible{outline:3px solid #df9c23;outline-offset:3px}@media(max-width:880px){.layout{grid-template-columns:1fr}.hero{padding:28px;grid-template-columns:1fr .8fr}.meal{font-size:2.8rem}.restaurant{min-height:200px}.sign{font-size:1.6rem}}@media(max-width:580px){header{padding:16px;align-items:flex-start}header>a:last-child{font-size:.78rem;max-width:105px;text-align:right}.brand span{font-size:.78rem}.hero{grid-template-columns:1fr;padding:24px}.restaurant{max-width:290px;width:100%;margin:0 auto;min-height:180px}.meal{font-size:3rem}main{padding:0 14px}.game,aside{padding:20px}.tabs button{padding:10px 7px;font-size:.86rem}form{grid-template-columns:1fr}.journey li,.journey span{font-size:.7rem;padding:10px 3px}.word-grid{grid-template-columns:1fr}.scene{align-items:flex-start}.scene span{font-size:2rem}.option{padding:14px 12px;font-size:1.1rem}.tools .secondary{padding:9px 12px}}
