:root{--ink:#3d2a1f;--green:#17634e;--green2:#0f4e3d;--brown:#8a4d25;--cream:#f7efe1;--paper:#fffdf8;--line:#e1d4c3;--coral:#d9654f;--yellow:#f2b84b;--shadow:0 18px 55px rgba(83,48,26,.13)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#fff6df 0,#f7efe1 40rem);color:var(--ink);font-family:Pretendard,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;min-height:100vh}
button,select,a{font:inherit}
button{cursor:pointer}
.skip{position:fixed;left:12px;top:-80px;z-index:99;background:#fff;padding:12px 16px;border-radius:10px;color:var(--ink)}
.skip:focus{top:12px}
.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;max-width:1280px;margin:auto;padding:0 28px}
.brand{display:flex;align-items:center;gap:11px;color:var(--ink);font-size:21px;font-weight:950;text-decoration:none}
.brand-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:15px;background:var(--brown);color:#fff;font-weight:950;box-shadow:0 8px 20px rgba(138,77,37,.22)}
.back{min-height:42px;display:inline-flex;align-items:center;padding:0 15px;border:1px solid rgba(23,99,78,.2);border-radius:999px;background:#fff;color:var(--green2);font-weight:900;text-decoration:none}
.shell{max-width:1180px;margin:auto;padding:20px 28px 64px}
.hero{text-align:center;padding:22px 12px 26px}
.eyebrow{display:inline-flex;padding:7px 12px;border-radius:999px;background:#fff4cc;color:#78591c;font-size:13px;font-weight:950}
.hero h1{margin:12px 0 8px;font-size:clamp(34px,5.5vw,62px);letter-spacing:-.055em;line-height:1.05}
.hero p{margin:0;color:#61736c;font-size:18px;line-height:1.65}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px;padding:14px 16px;border:1px solid #e5d6c2;border-radius:20px;background:rgba(255,253,248,.9);box-shadow:0 8px 28px rgba(83,48,26,.07)}
.settings,.actions,.stats{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.settings label{display:flex;align-items:center;gap:7px;color:#6a594d;font-size:14px;font-weight:900}
select,.btn{min-height:44px;border:1px solid #d9c6ad;border-radius:13px;background:#fff;padding:0 13px;color:var(--ink);font-weight:900}
.btn.primary{border-color:var(--green);background:var(--green);color:#fff}
.btn.warm{border-color:#e1bd77;background:#fff3d6;color:#7e531a}
.stat{min-width:82px;padding:7px 11px;border-radius:13px;background:var(--cream);text-align:center;color:#766357;font-size:12px;font-weight:900}
.stat strong{display:block;margin-top:2px;color:var(--green2);font-size:20px}
.game-panel{position:relative;padding:20px;border:1px solid var(--line);border-radius:26px;background:var(--paper);box-shadow:var(--shadow)}
.help{margin:0 0 16px;text-align:center;color:#60736b;font-weight:750;line-height:1.55}
.toast{position:fixed;left:50%;bottom:26px;z-index:60;transform:translate(-50%,120px);opacity:0;padding:13px 18px;border-radius:999px;background:var(--ink);color:#fff;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.22);transition:.25s}
.toast.show{transform:translate(-50%,0);opacity:1}
.complete{position:fixed;inset:0;z-index:50;display:none;place-items:center;padding:20px;background:rgba(19,43,35,.64);backdrop-filter:blur(8px)}
.complete.open{display:grid}
.result{width:min(500px,100%);padding:36px;border-radius:28px;background:var(--paper);text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.26)}
.result .icon{font-size:52px}.result h2{margin:7px 0;font-size:34px}.result p{color:#64756f;line-height:1.6}
.result-actions{display:flex;justify-content:center;gap:8px;margin-top:20px}
.source-note{margin:18px auto 0;text-align:center;color:#857466;font-size:12px}
@media(max-width:760px){
  .topbar{padding:0 15px}.shell{padding:12px 14px 48px}.hero{padding-top:14px}.hero p{font-size:16px}
  .toolbar{align-items:stretch;flex-direction:column}.settings,.actions,.stats{justify-content:space-between}.settings label{flex:1}.settings select{min-width:0;flex:1}
  .game-panel{padding:13px;border-radius:21px}.result-actions{flex-direction:column}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
