@import url('../characters.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
:root{font-family:'Noto Sans KR',system-ui,sans-serif;color:#283c5b;background:#fbf8f1;font-synthesis:none;--navy:#304a76;--line:#dedfdc;--muted:#697587;--accent:#b46d2f}*{box-sizing:border-box}body{margin:0}button,select{font:inherit;color:inherit}button,a,select{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.6}button,a{transition:background .15s}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #2478cc;outline-offset:3px}button{border:1px solid #d4dce6;background:white;border-radius:12px;padding:12px 15px;min-height:46px;font-size:15px;line-height:1.6}button[aria-pressed=true]{background:#eaf0fc;border:2px solid #304a76;padding:11px 14px}a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip{position:absolute;top:-80px;padding:12px;background:white;z-index:10}.skip:focus{top:8px}header{max-width:1160px;margin:auto;padding:18px 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:12px}.brand{font-weight:900;font-size:24px;display:flex;align-items:center;gap:8px;text-decoration:none}.brand .corgi{--corgi-size:40px}.tools{display:flex;gap:10px;align-items:center}.tools button{background:transparent;border:0;padding:8px;font-size:14px}select{padding:10px;border:1px solid var(--line);border-radius:9px;background:white;min-height:44px}main{max-width:1120px;margin:auto;padding:22px 28px 40px}nav{display:flex;flex-wrap:wrap;gap:8px}nav a{font-size:13px;text-decoration:none;border:1px solid var(--line);background:#fff;padding:10px 12px;min-height:44px;border-radius:10px}nav a[aria-current]{background:var(--navy);color:white}.heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:30px 0 24px}.host{--corgi-size:130px}.eyebrow{color:#987040;font-size:13px;font-weight:800;letter-spacing:.05em;margin:0 0 8px}h1{font-size:34px;line-height:1.35;margin:0;font-weight:900;letter-spacing:-.05em}h2{font-size:24px;line-height:1.5;margin:0 0 12px;word-break:keep-all}h3{font-size:17px;margin:0 0 12px}.subtitle{font-size:16px;line-height:1.8;color:var(--muted);margin:12px 0 0}.workbench{display:grid;grid-template-columns: minmax(0, .85fr) minmax(0,1.3fr);gap:22px;align-items:start}.panel{border:1px solid var(--line);border-radius:21px;background:#fff;padding:24px;min-width:0}.panel p,.story p{font-size:16px;line-height:1.9;word-break:keep-all;overflow-wrap:anywhere}.round{font-size:13px;font-weight:800;color:#876747;margin:0 0 12px}.rules{padding-left:23px;line-height:1.85}.rules li{padding:10px 6px;border-bottom:1px solid #ede9e1;font-size:16px}.rules li:last-child{border:0}.rule-status{font-size:13px;font-weight:800;display:block;color:#546e54}.rule-status.bad{color:#a55625}.instructions{font-size:14px!important;color:var(--muted)}.primary{background:var(--navy);border-color:var(--navy);color:white;font-weight:800;padding:14px 20px;min-height:52px;border-radius:12px;text-decoration:none}.primary:disabled{background:#e1e6ec;color:#778090;border-color:#e1e6ec;opacity:1}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.actions .primary{flex:1}.feedback{padding:16px 18px;background:#fff0d8;color:#765224;border-radius:13px;margin-top:18px;font-size:15px;line-height:1.8}.feedback.success{background:#eaf2e8;color:#345c3d}.help-row{display:flex;justify-content:space-between;gap:15px;margin-top:20px}.help-row button{background:transparent;border:0;text-decoration:underline;text-underline-offset:4px}.hint{padding:18px 22px;background:#fff4d5;border-left:4px solid #e8b547;border-radius:12px;font-size:15px;line-height:1.9;margin-top:10px}.foot{font-size:13px;line-height:1.8;color:var(--muted);text-align:center;margin-top:28px}.festival{background:linear-gradient(#fff4d6,#fdf9ee);padding:26px 14px 20px;border-radius:16px;border:1px solid #eee1be}.bunting{display:flex;justify-content:space-evenly;border-top:2px solid #c6b089;margin-bottom:18px}.bunting i{width:27px;height:35px;background:#dc856b;clip-path:polygon(0 0,100% 0,50% 100%)}.bunting i:nth-child(even){background:#719aad}.stage{text-align:center;background:#ead8b7;border-radius:8px;font-size:13px;letter-spacing:.15em;padding:8px;margin:12px 0 20px}.seats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.seat{height:105px;background:#fff;border:2px dashed #baa98b;padding:8px!important;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;font-size:15px}.seat small{font-size:11px;font-weight:500;color:#7d745f}.seat.filled{border-style:solid;box-shadow:0 7px 0 #ded0b3}.person-pool{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:18px}.person-pool button{padding:10px 4px!important;font-weight:700;min-height:65px}.avatar{width:27px;height:27px;display:grid;place-items:center;margin:0 auto 5px;border-radius:50%;background:#d9e6f4;font-size:13px}.person-pool button:nth-child(2) .avatar{background:#f8dfcb}.person-pool button:nth-child(3) .avatar{background:#e6dfef}.person-pool button:nth-child(4) .avatar{background:#e1eaca}.selection-status{min-height:26px;font-size:14px!important;color:#365783;margin:16px 0 0}.paper{background:#fffdf5;border:1px solid #eadcbd;box-shadow:4px 5px 0 #e8deca;padding:22px;border-radius:3px 15px 8px 4px;position:relative}.paper:before{content:'';display:block;width:65px;height:15px;background:#edd69b99;margin:-29px auto 20px;transform:rotate(-3deg)}.paper h3{font-size:16px;color:#997347}.paper p{line-height:2;font-size:16px}.source{display:block;width:100%;text-align:left;margin-bottom:10px;padding:14px 16px;line-height:1.85}.source .tag{font-size:12px;color:#927140;font-weight:800;display:block;margin-bottom:5px}.source[aria-pressed=true] .tag:after{content:' ✓'}.gap{padding:18px;border:2px dashed #c6ad75;border-radius:12px;background:#fff9e7;min-height:100px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.8;font-weight:700;margin-bottom:16px}.piece-list{display:grid;gap:10px}.piece-list button{text-align:left;width:100%}.linked{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.linked span{font-size:13px;padding:8px 12px;background:#eff3fa;border-radius:8px}.draft{display:grid;gap:10px;margin-bottom:20px}.draft button{text-align:left;line-height:1.9;border-left:4px solid #dfcc9f}.draft button[aria-pressed=true]{border-left:4px solid #304a76}.label{font-size:13px;font-weight:700;color:var(--muted);margin:15px 0 10px}.timeline{display:grid;gap:10px}.event{background:#f6f3ea;border-radius:12px;padding:14px;font-size:14px;line-height:1.8}.event strong{display:block;font-size:12px;color:#92724a;margin-bottom:4px}.view-tabs{display:flex;gap:10px;margin-bottom:16px}.view-tabs button{flex:1;font-weight:800}.knowledge{background:#f0f4fa;border-radius:14px;padding:16px;margin-bottom:20px}.knowledge h3{color:#304a76;font-size:16px}.knowledge li{font-size:15px;line-height:1.9;margin:5px 0}.knowledge ul{padding-left:20px;margin:0}.places{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.place{display:flex;align-items:center;gap:10px;text-align:left;min-height:72px!important}.box-symbol{font-size:25px;display:grid;place-items:center;min-width:36px;height:40px;background:#f5dfbb;border:1px solid #d7b57e;border-radius:7px}.reasons{display:grid;gap:8px}.reasons button{text-align:left;font-size:14px}.reason-label{display:block;font-size:12px;color:#7c8592}.answer-board{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.answer-board>div{border:1px solid #dce2ec;background:#fafbfe;border-radius:12px;padding:13px;font-size:13px;line-height:1.8}.answer-board strong{display:block;font-size:14px}.finish{max-width:650px;margin:auto;text-align:center;padding:30px;background:white;border:1px solid var(--line);border-radius:24px}.winner{--corgi-size:185px;display:block;margin:auto}.finish h2{font-size:30px}.finish p{line-height:1.9}.seal{width:140px;height:140px;border:4px dashed #c5b48f;border-radius:50%;display:flex;flex-direction:column;justify-content:center;font-size:46px;margin:22px auto;color:#bfae8e;background:#fffaf0}.seal span{font-size:13px;letter-spacing:.1em}.seal.stamped{color:#304a76;border-style:double;border-width:8px;background:#f4bf3b;transform:rotate(-9deg)}.finish-links{display:flex;flex-direction:column;gap:14px;margin:26px 0}.finish small{display:block;color:var(--muted);line-height:1.7}dialog{border:1px solid #d6dce6;border-radius:18px;padding:24px;max-width:500px;width:calc(100% - 28px);max-height:85vh;overflow:auto;color:#283c5b}dialog::backdrop{background:#20324d99}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-top button{font-size:24px}.dialog-top h2{margin:0;font-size:21px}dialog p,dd{font-size:16px;line-height:1.8}dt{font-weight:800;margin-top:18px}dd{margin:5px 0 15px}.dialog-actions{display:flex;gap:12px;margin-top:20px}#play:focus,#finish-title:focus{outline:none}@media(max-width:780px){header{padding:14px 16px}.brand{font-size:20px}.brand .corgi{--corgi-size:32px}main{padding:18px 16px 30px}.heading{gap:10px;margin:24px 0 20px}.host{--corgi-size:80px}h1{font-size:27px}.subtitle{font-size:14px}.workbench{grid-template-columns:1fr;gap:18px}.panel{padding:20px}h2{font-size:22px}.rules li{font-size:15px;padding:7px 4px}.tools{gap:3px}.tools button{font-size:12px;padding:6px}select{font-size:12px;padding:8px}nav{gap:6px}nav a{font-size:12px;padding:9px 10px}.heading .eyebrow{font-size:11px}.paper{margin-top:5px}.finish{padding:22px 18px}.answer-board{gap:8px}}@media(max-width:370px){main{padding:14px 12px}.panel{padding:16px}.host{--corgi-size:65px}h1{font-size:24px}.seats{gap:5px}.seat{height:92px;font-size:13px}.seat small{font-size:10px}.person-pool{gap:5px}.person-pool button{font-size:13px}.festival{padding:18px 8px}.places{gap:7px}.place{font-size:13px;padding:10px!important}.box-symbol{min-width:27px;font-size:21px}.brand{font-size:18px}.brand .corgi{--corgi-size:27px}.tools button{max-width:48px}.answer-board>div{padding:10px}}@media(prefers-reduced-motion:no-preference){.seal.stamped{animation:stamp .5s ease-out}.winner{animation:cheer .65s ease-out}@keyframes stamp{from{transform:scale(1.8) rotate(-20deg);opacity:0}to{transform:scale(1) rotate(-9deg);opacity:1}}@keyframes cheer{0%{transform:translateY(15px)}50%{transform:translateY(-10px)}100%{transform:none}}}


fieldset{border:0;padding:0;margin:18px 0;min-width:0}legend{font-size:14px;font-weight:700;margin-bottom:10px;padding:0;line-height:1.7}

/* Keep the growing game menu compact on phones. */
@media(max-width:780px){nav{flex-wrap:nowrap;overflow-x:auto;padding:4px 3px 10px;max-width:100%;scrollbar-width:thin}nav a{flex:0 0 auto;white-space:nowrap}}

/* Soft paw pads replace the generic reward star in all regular games. */
.seal{align-items:center;gap:4px}.jelly-paw{display:block;width:78px;height:78px;flex:none}.paw-pads{fill:#fff1e7;stroke:#c5b48f}.paw-shine{stroke:#fffaf5}.seal.stamped .paw-pads{fill:#f7b6aa;stroke:#8c493d}.seal.stamped .paw-shine{stroke:#fff0e9}.seal.stamped{border-color:#d5a12d}

.story-scene{display:block;width:100%;height:auto;border-radius:13px;margin:0 0 18px}

/* Intro art must not push the interactive clues off screen. */
.story-scene{max-width:100%;height:auto;max-height:180px;object-fit:contain;background:#fbf8f1}
.step-guide{list-style:none;counter-reset:action;display:grid;gap:8px;margin:0 0 20px;padding:14px 16px;border:1px solid #d6dfeb;border-radius:13px;background:#f5f8fc;font-size:14px;line-height:1.7}
.step-guide li{counter-increment:action;display:flex;align-items:baseline;gap:9px}
.step-guide li:before{content:counter(action);display:inline-grid;place-items:center;width:23px;height:23px;flex-shrink:0;border-radius:50%;background:#304a76;color:#fff;font-size:12px;font-weight:800}
.step-guide .step-done:before{content:'✓';background:#487250}
.next-action{background:#fff5d9;border-radius:10px;padding:12px 14px!important;font-size:14px!important;line-height:1.7!important;margin:14px 0}
.next-action a{display:inline-block;font-weight:700;min-height:44px;padding:10px 0;text-underline-offset:3px}
.evidence-count{font-size:14px;font-weight:800;margin:12px 0}
.torn-note button.source .tag{display:flex;align-items:center;gap:8px;font-size:13px;color:#765728}
.torn-note button.source .tag:before{content:' ';display:inline-grid;place-items:center;width:22px;height:22px;border:2px solid #7c8ba5;border-radius:5px;background:#fff;flex:none;color:#304a76}
.torn-note button.source[aria-pressed=true] .tag:before{content:'✓';border-color:#304a76;background:#eaf0fc}
.torn-note .source[aria-pressed=true] .tag:after{content:none}
#note-evidence,#robot-map,#note-answer,#robot-controls{scroll-margin-top:18px}
@media(max-width:780px){.story-scene{max-height:150px;margin-bottom:14px}.step-guide{font-size:13px;padding:12px}.heading{margin-top:20px}}

@media(max-width:370px){.delivery-robot .commands{grid-template-columns:repeat(3,minmax(0,1fr))}}
