:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:#282d25;background:#f5f1e8;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--green: #416b4f;--muted: #817f73}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(ellipse at 50% 25%,#fffdf6 0,#f5f1e8 67%)}button,a{font:inherit}.shell{width:min(100%,1040px);min-height:100vh;margin:0 auto;padding:24px 36px 20px;display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.brand-mark{display:grid;place-items:center;width:40px;height:40px;border:1px solid #d6cbb5;border-radius:50%;color:var(--green);font-family:serif;font-size:18px}.brand strong,.brand small{display:block}.brand strong{font-family:serif;font-size:17px;letter-spacing:.08em}.brand small{margin-top:1px;color:var(--muted);font-size:9px;letter-spacing:.2em}.language{border:1px solid #ded8ca;border-radius:99px;padding:9px 13px;color:#615f55;background:#ffffff80;font-size:12px}.account-button{border:1px solid #ded8ca;border-radius:99px;padding:9px 14px;color:var(--green);background:#fffdf9;cursor:pointer;font-size:12px}.welcome{width:min(100%,520px);margin:auto;padding:50px 0 62px;text-align:center}.eyebrow{margin:0 0 15px;color:#9a7651;font-size:10px;font-weight:700;letter-spacing:.19em}h1{margin:0;color:#293e31;font-family:"Noto Serif SC",Songti SC,Georgia,serif;font-size:clamp(34px,6vw,48px);font-weight:600;letter-spacing:.08em}.intro{max-width:400px;margin:17px auto 30px;color:#737166;font-size:14px;line-height:1.9}.daily-card{position:relative;overflow:hidden;padding:18px 24px 25px;border:1px solid #e4ddce;border-radius:18px;background:#fffdf9;box-shadow:0 18px 50px #5443260b,0 3px 10px #54432608}.card-top{display:flex;align-items:center;justify-content:space-between;color:#817f73;font-size:11px}.today{color:var(--green);font-weight:700}.round-count{letter-spacing:.02em}.dish-preview{position:relative;display:grid;place-items:center;width:116px;height:116px;margin:22px auto 10px;border:1px solid #e8e0d1;border-radius:50%;background:radial-gradient(circle,#fffdfa 55%,#f7f2e8 56%)}.dish-preview span{font-size:43px;transform:rotate(-18deg)}.dish-preview i{position:absolute;top:11px;right:16px;color:#c79b64;font-size:18px;font-style:normal}.dish-preview b{position:absolute;bottom:12px;left:18px;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;color:#fff;background:var(--green);font-family:serif;font-size:15px}.prompt{margin:12px 0 21px;color:#3e4038;font-family:serif;font-size:16px}.start-button{display:flex;align-items:center;justify-content:center;gap:18px;width:100%;min-height:52px;border:0;border-radius:10px;color:#fff;background:var(--green);box-shadow:0 5px 12px #416b4f28;cursor:pointer;font-weight:600;letter-spacing:.08em}.start-button:hover{background:#345c42}.start-button span{font-size:18px;font-weight:400}.daily-note{margin:17px 0 0;color:#939084;font-size:11px;letter-spacing:.04em}footer{display:flex;justify-content:space-between;padding-top:15px;border-top:1px solid #e7e1d5;color:#969184;font-size:10px}footer a{color:inherit;text-decoration:none}.game-screen{width:min(100%,1080px);margin:auto;padding:24px 0 28px}.game-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}.game-heading .eyebrow{margin-bottom:7px;text-align:left}.game-heading h1{font-size:clamp(24px,4vw,34px);text-align:left}.round-badge{flex:none;padding:8px 12px;border:1px solid #ded8ca;border-radius:99px;color:#6d6b5f;background:#fffdf9;font-size:11px}.map-frame{position:relative;height:min(62vh,570px);min-height:330px;overflow:hidden;border:1px solid #ddd5c5;border-radius:15px;background:#e8e5da;box-shadow:0 15px 40px #54432612}#game-map{width:100%;height:100%}.map-loading{position:absolute;z-index:2;top:50%;left:50%;margin:0;padding:11px 15px;border-radius:99px;color:#444a40;background:#fffdf0e8;font-size:12px;transform:translate(-50%,-50%);pointer-events:none}.map-loading[hidden]{display:none}.map-actions{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:14px}.map-actions p{margin:0;color:#69685f;font-size:13px}.map-buttons{display:flex;gap:8px}.map-actions button,.share-actions button{min-height:46px;padding:0 20px;border:0;border-radius:9px;color:#fff;background:var(--green);cursor:pointer;font-weight:600}.map-actions button:disabled{color:#848276;background:#e5e0d4;cursor:not-allowed}.guess-marker,.answer-marker{width:22px;height:22px;border:3px solid #fff;border-radius:50%;box-shadow:0 2px 9px #30291f80}.guess-marker{background:#416b4f}.answer-marker{width:25px;height:25px;background:#dc7444}.maplibregl-ctrl-group{overflow:hidden;border-radius:9px!important;box-shadow:0 2px 8px #30291f1c!important}.result-screen{width:min(100%,520px);margin:auto;padding:35px 0 45px;text-align:center}.privacy-screen{width:min(100%,620px);margin:auto;padding:60px 0 70px}.privacy-screen h1{margin-bottom:20px;font-size:clamp(32px,5vw,42px)}.privacy-body{color:#646359;font-size:15px;line-height:1.9}.privacy-back{display:inline-block;margin-top:20px;color:var(--green);font-size:14px;font-weight:600;text-decoration:none}.account-screen,.shared-screen{width:min(100%,520px);margin:auto;padding:42px 0 55px}.account-screen h1,.shared-screen h1{margin-bottom:16px;font-size:clamp(30px,5vw,40px)}.account-intro{color:#69685f;font-size:14px;line-height:1.8}.account-screen form{display:grid;gap:10px;margin:22px 0}.account-screen label{margin-top:8px;color:#615f55;font-size:12px;font-weight:600;text-align:left}.account-screen input{min-height:48px;padding:0 13px;border:1px solid #ded8ca;border-radius:9px;background:#fffdf9;color:#282d25;font:inherit}.account-screen>p[role=status]{min-height:22px;color:var(--green);font-size:13px;line-height:1.6}#account-history{margin-top:28px;padding:18px;border:1px solid #e4ddce;border-radius:14px;background:#fffdf9}#account-history h2{color:#293e31;font-family:serif;font-size:20px}#account-history ul{padding-left:18px;color:#69685f;font-size:13px;line-height:1.9}#history-list li{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #eee8dc}#history-list li a{display:block;overflow-wrap:anywhere;color:var(--green);font-size:11px}#history-list li button{margin:2px 8px 2px 0;border:1px solid #c8bead;border-radius:7px;padding:6px 10px;color:var(--green);background:transparent;cursor:pointer;font-size:11px}#account-sign-out,#delete-account{border:1px solid #c8bead;border-radius:8px;padding:9px 14px;color:#5c5a50;background:transparent;cursor:pointer}#delete-account{margin-left:8px;border-color:#c98d82;color:#8c3d33}#account-history button:disabled{opacity:.55;cursor:wait}.shared-screen{text-align:center}.shared-screen>p{color:#777467}.shared-screen .shared-score{margin:26px 0 12px;color:#293e31;font-size:48px;font-weight:700}.shared-screen #shared-points{font-size:24px}.result-player{margin:-8px 0 16px;color:var(--green);font-size:13px;font-weight:600}.result-screen>.eyebrow{margin-bottom:10px}.result-screen>h1{margin-bottom:23px;font-size:clamp(30px,5vw,40px)}.result-card{padding:22px 24px 24px;border:1px solid #e4ddce;border-radius:18px;background:#fffdf9;box-shadow:0 18px 50px #5443260b,0 3px 10px #54432608}.result-date{margin:0 0 18px;color:#9a7651;font-size:12px;letter-spacing:.08em}.result-score-label,.result-rank span,.result-meta p>span{color:#817f73;font-size:12px}.result-score-label{margin:0 0 5px}.result-score{display:flex;align-items:baseline;justify-content:center;gap:9px;margin:0;color:#293e31}.result-score strong{font-size:clamp(42px,9vw,60px);font-weight:650;letter-spacing:-.04em}.result-score span{color:#8b897d;font-size:13px}.result-rank{display:flex;align-items:center;justify-content:center;gap:10px;margin:8px 0 21px}.result-rank strong{color:#416b4f;font-family:serif;font-size:19px}.result-meta{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:16px 0;border-top:1px solid #eee8dc;border-bottom:1px solid #eee8dc}.result-meta p{display:grid;gap:5px;margin:0}.result-meta p+p{border-left:1px solid #eee8dc}.result-meta strong{color:#3d453a;font-size:16px}.result-completed{margin:16px 0;color:#8a887d;font-size:12px;line-height:1.6}.share-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.share-actions button{padding:0 10px;min-height:44px;font-size:12px}.share-feedback{min-height:18px;margin:12px 0 0;color:#416b4f;font-size:12px}.language-wrap{display:flex;align-items:center;gap:7px}.language-wrap>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}@media(max-width:560px){.shell{padding:18px 20px 16px}.welcome{padding:42px 0 50px}.intro{font-size:13px}.daily-card{padding:16px 18px 20px}}@media(max-width:560px){.shell:has(.game-screen:not([hidden])){padding:14px 12px 12px}.game-screen{padding:14px 0 20px}.map-frame{height:calc(100dvh - 270px);min-height:330px;border-radius:11px}.map-actions{align-items:stretch;flex-direction:column}.map-actions button{width:100%}footer{margin-top:auto}}@media(max-width:560px){.result-screen{padding:28px 0 35px}.result-card{padding:20px 16px}.share-actions{grid-template-columns:1fr}.share-actions button{min-height:46px}}.reveal-panel{margin-top:14px;padding:15px;border:1px solid #ddd7c8;border-radius:14px;background:#fffdf7;color:#3e4038}.reveal-panel h2{margin:0 0 8px;font:600 18px/1.35 serif}.reveal-panel h3{margin:12px 0 4px;font-size:13px}.reveal-panel p{margin:6px 0;font-size:14px;line-height:1.5}.reveal-panel ul{margin:4px 0 10px;padding-left:20px;font-size:13px;line-height:1.6}.reveal-panel a{color:#8d3d22}#report-question{margin-top:8px;border:1px solid #b8ad98;border-radius:8px;padding:8px 12px;background:transparent;color:inherit}
