:root{--cream:#f7f1e5;--ink:#18332a;--green:#176b4d;--felt:#254a3e;--orange:#e67735;--line:#ded4c3}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--cream);color:var(--ink);font-family:Pretendard,"Noto Sans KR",system-ui,sans-serif}.app-shell{width:min(1100px,calc(100% - 32px));margin:auto;padding:22px 0 30px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:58px;border-bottom:1px solid var(--line)}.topbar a{color:#536a61;font-size:.82rem;font-weight:800;text-decoration:none}.topbar strong{font-size:.85rem;letter-spacing:.12em}button,.upload-button{font:inherit;font-size:.82rem;font-weight:800;cursor:pointer;border:1px solid var(--line);border-radius:11px;padding:11px 15px;background:#fffdf8;color:var(--ink)}button:hover,.upload-button:hover{border-color:var(--green)}button:focus-visible,a:focus-visible,canvas:focus-visible,.upload-button:focus-within{outline:3px solid var(--orange);outline-offset:4px}.topbar button{border:0;background:none;padding:10px 0;color:#536a61}.hero{display:flex;align-items:center;justify-content:space-between;padding:32px 0 24px}.kicker{font-size:.65rem;letter-spacing:.22em;color:var(--orange);font-weight:900}h1{margin:10px 0;font-size:clamp(2rem,5vw,3.6rem);letter-spacing:-.065em}h1 em{font-style:normal;color:var(--green)}.hero p{margin:0;color:#66766f;font-size:.9rem;line-height:1.6}.hero-mark{color:var(--orange);font-size:5rem;margin-right:18px}.image-tools{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.upload-button{background:var(--green);color:white;border-color:var(--green)}#image-upload{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}.image-tools:has(#image-upload:focus-visible) .upload-button{outline:3px solid var(--orange);outline-offset:3px}#image-name{margin-left:auto;color:#718078;font-size:.78rem;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scorebar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:22px 0 12px;font-size:.85rem}.dot{display:inline-block;width:7px;height:7px;background:var(--orange);border-radius:50%;margin-right:6px}#weapon-hint{margin-left:12px;font-size:.78rem;color:#68766f}.stats{display:flex;gap:16px;white-space:nowrap;color:#68766f}.stats b{color:var(--green);font-size:1.05rem;font-variant-numeric:tabular-nums;margin-left:4px}.stage-wrap{position:relative;padding:14px;background:linear-gradient(135deg,#6f4324,#b17845 45%,#704324);border-radius:25px;box-shadow:0 20px 40px #38251133;overflow:hidden}.stage-wrap::after{content:"";position:absolute;inset:6px;border:1px solid #c99562;border-radius:20px;pointer-events:none}canvas{display:block;width:100%;height:auto;aspect-ratio:1000/620;background:var(--felt);border-radius:14px;cursor:crosshair;touch-action:none}.stage-tag{position:absolute;bottom:26px;left:30px;color:#ffffff75;letter-spacing:.2em;font-size:.55rem;pointer-events:none}.impact-label{position:absolute;left:50%;top:22px;color:#fff1c3;text-shadow:0 2px 8px #0008;letter-spacing:.08em;font-size:clamp(1rem,3vw,1.7rem);font-weight:1000;transform:translateX(-50%);pointer-events:none;white-space:nowrap}.arsenal{margin-top:24px;padding:20px;background:#fffdf8;border:1px solid var(--line);border-radius:22px}.arsenal-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px}h2{margin:0;font-size:.9rem}.arsenal-head>span{color:#78847d;font-size:.7rem}.weapons{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.weapon{position:relative;display:flex;align-items:center;flex-direction:column;gap:7px;padding:14px 5px;background:#f7f5ed;border-color:#e5dfd1;transition:transform .15s,background .15s}.weapon:hover{transform:translateY(-3px)}.weapon[aria-pressed=true]{color:white;background:var(--green);border-color:var(--green);box-shadow:0 5px 12px #176b4d33}.weapon .icon{font-size:1.7rem}.weapon small{font-size:.6rem;opacity:.7}.weapon .key{position:absolute;top:6px;left:8px;font-size:.6rem;opacity:.55}.help{display:flex;justify-content:space-between;gap:15px;margin-top:16px;color:#78847d;font-size:.7rem;line-height:1.6}.help p{margin:0}#status{min-height:1.5em;margin:12px 0;color:var(--green);font-size:.78rem}footer{margin-top:24px;text-align:center;color:#8c958a;font-size:.7rem}@media(max-width:650px){.app-shell{width:calc(100% - 24px);padding-top:10px}.topbar strong{display:none}.hero{padding-top:24px}.hero-mark{font-size:3rem;margin-right:0}.hero p{font-size:.78rem}#image-name{width:100%;max-width:100%;margin:2px 0}.scorebar{align-items:flex-start;margin-top:16px}#weapon-hint{display:block;margin:5px 0 0;font-size:.66rem}.stats{gap:10px;font-size:.72rem}.stats b{font-size:.9rem}.stage-wrap{padding:9px;border-radius:20px}.stage-tag{bottom:18px;left:22px;font-size:.45rem}.arsenal{padding:16px}.weapons{grid-template-columns:repeat(3,1fr);gap:8px}.weapon{padding:10px 5px;gap:4px}.weapon .icon{font-size:1.45rem}.help{flex-direction:column;gap:4px}.arsenal-head>span{font-size:.6rem}}
@media(prefers-reduced-motion:reduce){.weapon{transition:none}.weapon:hover{transform:none}}

button.hero-mark { flex-shrink: 0; padding: 0 8px; border: 0; background: transparent; line-height: 1.2; cursor: pointer; }
button.hero-mark:disabled { opacity: .65; cursor: wait; }
.secret-title-status { margin: 0 0 16px; color: var(--green); font-size: .85rem; line-height: 1.5; }
.secret-title-status:empty { display: none; }
