/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.start{inset-inline-start:var(--spacing)}.table{display:table}}:root{--cream:#f4e7c9;--paper:#fffaf0;--ink:#2e3b2d;--muted:#66705f;--sage:#87a77b;--sage-dark:#587153;--terracotta:#d77652;--terracotta-dark:#9e4e36;--sun:#efc56b;--sky:#b9d8d2;--wood:#a66c45;--line:#3a4635;--danger:#a84337;--shadow:6px 6px 0 #2e3b2d33;--pixel-font:ui-monospace, "SFMono-Regular", Menlo, Monaco, Consolas, monospace}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--cream)}body{background:linear-gradient(90deg, #2e3b2d09 1px, transparent 1px) 0 0 / 24px 24px, linear-gradient(#2e3b2d09 1px, transparent 1px) 0 0 / 24px 24px, var(--cream);min-width:320px;color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,PingFang TC,Noto Sans TC,Microsoft JhengHei,sans-serif;line-height:1.55}button,input,textarea,select{color:inherit;font:inherit}button,summary,label,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit}img{max-width:100%;display:block}:focus-visible{outline-offset:3px;outline:4px solid #2458c6}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{z-index:100;background:var(--ink);color:#fff;padding:12px 18px;font-weight:800;position:fixed;top:-80px;left:12px}.skip-link:focus{top:12px}.game-shell{width:min(1180px,100%);min-height:100vh;padding:0 max(14px, env(safe-area-inset-left)) calc(48px + env(safe-area-inset-bottom));margin:0 auto}.game-header{z-index:30;min-height:74px;padding:max(10px, env(safe-area-inset-top)) 2px 10px;border-bottom:3px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f4e7c9f0;justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.brand{align-items:center;gap:10px;min-height:48px;text-decoration:none;display:inline-flex}.brand-mark{border:3px solid var(--line);background:var(--terracotta);width:42px;height:42px;color:var(--paper);box-shadow:3px 3px 0 var(--line);font:900 22px/1 var(--pixel-font);place-items:center;display:grid}.brand strong,.brand small{display:block}.brand strong{font:900 17px/1.1 var(--pixel-font);letter-spacing:-.04em}.brand small{color:var(--muted);letter-spacing:.12em;margin-top:4px;font-size:11px;font-weight:800}.score-badge{border:3px solid var(--line);background:var(--paper);min-width:102px;box-shadow:3px 3px 0 var(--line);text-align:right;grid-template-columns:auto auto;align-items:baseline;padding:7px 10px;display:grid}.score-badge .score-label{color:var(--muted);letter-spacing:.1em;grid-column:1/-1;font-size:9px;font-weight:900}.score-badge strong{font:900 26px/1 var(--pixel-font)}.score-badge>span:last-child{color:var(--muted);font:700 11px/1 var(--pixel-font);margin-left:3px}.stage-nav{margin:16px 0 4px;padding:0 4px;position:relative}.stage-track{background:#2e3b2d29;height:4px;position:absolute;top:18px;left:8%;right:8%;overflow:hidden}.stage-track span{background:var(--terracotta);height:100%;transition:width .35s steps(5,end);display:block}.stage-nav ol{grid-template-columns:repeat(5,1fr);gap:4px;margin:0;padding:0;list-style:none;display:grid;position:relative}.stage-nav li{text-align:center}.stage-nav button{background:0 0;border:0;justify-items:center;min-width:50px;min-height:54px;display:inline-grid}.stage-nav button>span{border:3px solid var(--line);background:var(--cream);width:36px;height:36px;box-shadow:2px 2px 0 var(--line);font:900 14px/1 var(--pixel-font);place-items:center;display:grid}.stage-nav li.is-reached button>span{background:var(--sage);color:#fff}.stage-nav button[aria-current=step]>span{background:var(--terracotta)}.stage-nav small{margin-top:5px;font-size:10px;font-weight:800}.save-line{min-height:24px;color:var(--muted);justify-content:flex-end;align-items:center;gap:6px;font-size:11px;font-weight:700;display:flex}.save-dot{background:var(--sage-dark);width:8px;height:8px;box-shadow:1px 1px 0 var(--line)}.stage-panel{animation:.32s steps(4,end) both stage-in}#game-main{scroll-margin-top:180px}@keyframes stage-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.eyebrow{color:var(--terracotta-dark);font:900 11px/1.3 var(--pixel-font);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px}.pixel-button{border:3px solid var(--line);min-height:50px;box-shadow:4px 4px 0 var(--line);justify-content:center;align-items:center;gap:9px;padding:11px 17px;font-weight:900;text-decoration:none;transition:transform 80ms linear,box-shadow 80ms linear;display:inline-flex}.pixel-button:not(:disabled):active{box-shadow:1px 1px 0 var(--line);transform:translate(3px,3px)}.pixel-button.primary{background:var(--terracotta);color:#fff}.pixel-button.secondary{background:var(--paper);color:var(--ink)}.text-button{min-height:44px;color:var(--terracotta-dark);background:0 0;border:0;border-bottom:2px solid;padding:8px 2px;font-weight:900}.stage-actions{padding:18px 0 calc(4px + env(safe-area-inset-bottom));border-top:2px dashed #2e3b2d40;justify-content:space-between;gap:12px;margin-top:26px;display:flex}.intro-stage{gap:22px;padding-top:28px;display:grid}.intro-copy h1{letter-spacing:-.07em;max-width:760px;margin:0;font-size:clamp(42px,12vw,78px);font-weight:950;line-height:.98}.intro-copy h1 em{color:var(--terracotta);text-shadow:4px 4px 0 var(--line);-webkit-text-stroke:2px var(--line);font-style:normal}.intro-lead{color:#4c5948;max-width:640px;margin:24px 0;font-size:clamp(17px,4.5vw,22px);font-weight:650;line-height:1.65}.intro-actions{gap:12px;display:grid}.intro-actions>span{color:var(--muted);font-size:12px;font-weight:700}.intro-scene{border:4px solid var(--line);background:linear-gradient(90deg, transparent 49%, #3a463514 50%) 0 0 / 48px 48px, linear-gradient(transparent 49%, #3a463514 50%) 0 0 / 48px 48px, var(--sun);min-height:360px;box-shadow:9px 9px 0 var(--line);position:relative;overflow:hidden}.intro-scene:after{content:"";border-top:4px solid var(--line);background:repeating-linear-gradient(90deg,#ad7148 0 38px,#925d3c 38px 41px);height:36%;position:absolute;bottom:0;left:0;right:0}.pixel-window{z-index:2;border:8px solid var(--paper);outline:4px solid var(--line);background:var(--sky);grid-template-columns:1fr 1fr;width:122px;height:110px;display:grid;position:absolute;top:38px;left:30px}.pixel-window span{border:2px solid var(--line)}.pixel-shelf{z-index:2;border-bottom:9px solid var(--wood);align-items:end;gap:12px;width:128px;height:70px;padding:10px 12px 0;display:flex;position:absolute;top:54px;right:22px}.pixel-shelf i{border:3px solid var(--line);background:var(--sage);width:25px;height:42px}.pixel-shelf i:nth-child(2){background:var(--terracotta);height:54px}.pixel-shelf i:nth-child(3){background:var(--paper);height:33px}.pixel-rug{z-index:3;border:4px solid var(--line);background:repeating-linear-gradient(90deg, var(--terracotta) 0 18px, var(--paper) 18px 36px);width:68%;height:74px;position:absolute;bottom:26px;left:28px}.speech-bubble{z-index:6;border:3px solid var(--line);background:var(--paper);max-width:190px;box-shadow:4px 4px 0 var(--line);padding:13px 14px;font-size:13px;font-weight:800;position:absolute;top:158px;right:22px}.speech-bubble:after{content:"";border-right:3px solid var(--line);border-bottom:3px solid var(--line);background:var(--paper);width:16px;height:16px;position:absolute;bottom:-14px;right:24px;transform:rotate(45deg)}.pixel-cat{width:92px;height:110px;display:block;position:relative}.intro-scene>.pixel-cat{z-index:5;position:absolute;bottom:36px;right:78px}.cat-ear,.cat-head,.cat-body,.cat-tail,.cat-eye,.cat-nose{display:block;position:absolute}.cat-ear{z-index:3;border:4px solid var(--line);background:var(--terracotta);width:28px;height:30px;top:10px;transform:rotate(45deg)}.cat-ear-left{left:10px}.cat-ear-right{right:10px}.cat-head{z-index:4;border:4px solid var(--line);background:var(--terracotta);width:66px;height:56px;top:22px;left:13px}.cat-eye{background:var(--line);width:8px;height:8px;top:20px}.cat-eye-left{left:13px}.cat-eye-right{right:13px}.cat-nose{background:var(--paper);width:8px;height:6px;bottom:9px;left:27px}.pixel-cat-sleep .cat-eye{height:3px}.pixel-cat-alert .cat-eye{height:11px}.cat-body{z-index:2;border:4px solid var(--line);background:var(--terracotta);width:65px;height:50px;bottom:0;right:9px}.cat-tail{z-index:1;border:4px solid var(--line);background:var(--terracotta);transform-origin:0;width:45px;height:18px;animation:1.4s steps(3,end) infinite alternate tail-wag;bottom:18px;right:-12px}@keyframes tail-wag{to{transform:rotate(-18deg)}}.mission-strip{border:3px solid var(--line);background:var(--paper);box-shadow:var(--shadow);grid-template-columns:repeat(2,1fr);display:grid}.mission-strip>div{border:1px solid #2e3b2d3d;align-items:center;gap:10px;min-height:76px;padding:12px;display:flex}.mission-strip strong{color:var(--terracotta);font:900 20px/1 var(--pixel-font)}.mission-strip span{font-size:12px;font-weight:800}.stage-heading{gap:16px;margin:28px 0 22px;display:grid}.stage-heading h1{letter-spacing:-.055em;max-width:800px;margin:0 0 10px;font-size:clamp(32px,8vw,56px);font-weight:950;line-height:1.04}.stage-heading p:not(.eyebrow){max-width:720px;color:var(--muted);margin:0}.chapter-score{border:3px solid var(--line);background:var(--sun);box-shadow:4px 4px 0 var(--line);justify-self:start;align-items:baseline;padding:10px 14px;display:flex}.chapter-score strong{font:900 28px/1 var(--pixel-font)}.chapter-score span{margin-left:4px;font-size:12px;font-weight:800}.room-tabs{border:3px solid var(--line);grid-template-columns:repeat(3,1fr);display:grid}.room-tabs button{border:0;border-right:2px solid var(--line);background:var(--paper);min-height:54px;padding:8px 4px;font-size:13px;font-weight:900}.room-tabs button:last-child{border-right:0}.room-tabs button[aria-selected=true]{background:var(--sage);color:#fff}.room-tabs button span{font:800 10px/1 var(--pixel-font);margin-top:2px;display:block}.room-toolbar{justify-content:space-between;align-items:center;gap:14px;margin:12px 0;display:flex}.room-toolbar p{color:var(--muted);margin:0;font-size:13px}.room-map{aspect-ratio:4/5;border:4px solid var(--line);background:var(--sky);max-height:640px;box-shadow:8px 8px 0 var(--line);isolation:isolate;position:relative;overflow:hidden}.room-wall{background:linear-gradient(90deg,#0000 47%,#2e3b2d14 48% 52%,#0000 53%) 0 0/64px 64px,linear-gradient(#0000 47%,#2e3b2d14 48% 52%,#0000 53%) 0 0/64px 64px,#e7c78c;position:absolute;inset:0 0 36%}.room-kitchen .room-wall{background-color:#bad3bd}.room-bedroom .room-wall{background-color:#d9c2ca}.room-floor{border-top:4px solid var(--line);background:repeating-linear-gradient(90deg,#af754c 0 42px,#975d3c 42px 46px);position:absolute;inset:64% 0 0}.room-furniture{z-index:1;border:4px solid var(--line);background:var(--paper);position:absolute;box-shadow:5px 5px #2e3b2d4d}.furniture-a{background:var(--terracotta);width:34%;height:23%;top:46%;left:8%}.furniture-b{background:var(--sage);width:22%;height:34%;top:22%;right:8%}.room-kitchen .furniture-a{background:var(--paper);width:50%;height:18%;top:48%}.room-kitchen .furniture-b{background:#8ca4a0;width:26%;height:45%;top:20%}.room-bedroom .furniture-a{background:#c98172;width:46%;height:19%;top:52%}.room-bedroom .furniture-b{background:var(--paper);height:31%;top:29%}.hazard-hotspot{z-index:8;border:3px solid var(--line);background:var(--paper);width:52px;height:52px;box-shadow:4px 4px 0 var(--line);place-items:center;display:grid;position:absolute;transform:translate(-50%,-50%)}.hazard-icon{font:900 25px/1 var(--pixel-font)}.hazard-hotspot.is-found{background:var(--sage);color:#fff}.hazard-hotspot.is-hint{animation:.7s steps(2,end) infinite hint-pulse}@keyframes hint-pulse{50%{background:var(--sun);transform:translate(-50%,-50%)scale(1.16)}}.found-check{border:2px solid var(--line);background:var(--sun);width:24px;height:24px;color:var(--ink);place-items:center;font-weight:950;display:grid;position:absolute;top:-10px;right:-10px}.room-map>.pixel-cat{z-index:5;transform-origin:bottom;position:absolute;bottom:8%;right:13%;transform:scale(.72)}.hazard-drawer{border:3px solid var(--line);background:var(--paper);box-shadow:5px 5px 0 var(--line);gap:12px;margin-top:18px;padding:18px;display:grid}.drawer-number{border:3px solid var(--line);background:var(--sun);width:60px;height:52px;font:900 21px/1 var(--pixel-font);place-items:center;display:grid}.hazard-drawer h2{margin:0;font-size:24px}.hazard-drawer p{margin:9px 0}.hazard-drawer small{color:var(--muted)}.risk-check{border:2px solid var(--line);background:#f4e8bd;align-items:center;gap:10px;min-height:48px;padding:10px;font-weight:800;display:flex}.risk-check input,.privacy-confirm input{width:24px;height:24px;accent-color:var(--sage-dark);flex:none}.text-mode{border:3px solid var(--line);background:#fffaf0bd;margin-top:18px}.text-mode summary,.document-preview summary,.form-sections summary{cursor:pointer;list-style:none}.text-mode summary::-webkit-details-marker{display:none}.document-preview summary::-webkit-details-marker{display:none}.form-sections summary::-webkit-details-marker{display:none}.text-mode summary{min-height:50px;padding:13px 15px;font-weight:900}.text-mode>p{color:var(--muted);padding:0 15px}.text-mode ul{margin:0;padding:0 14px 14px;list-style:none}.text-mode li+li{margin-top:7px}.text-mode button{border:2px solid var(--line);background:var(--paper);text-align:left;align-items:center;gap:10px;width:100%;min-height:46px;padding:8px 12px;font-weight:800;display:flex}.text-mode button.is-found{background:#dbe8d6}.quiz-card{border:4px solid var(--line);background:var(--paper);box-shadow:8px 8px 0 var(--line);padding:18px}.quiz-progress{grid-template-columns:repeat(6,1fr);gap:5px;display:grid}.quiz-progress span{background:#2e3b2d24;height:7px}.quiz-progress span.is-active{background:var(--terracotta)}.question-number{color:var(--terracotta-dark);font:900 12px/1 var(--pixel-font);margin:22px 0 7px}.quiz-card h2{margin:0;font-size:clamp(23px,6vw,34px);line-height:1.35}.quiz-options{gap:10px;margin-top:22px;display:grid}.quiz-options button{border:3px solid var(--line);min-height:58px;box-shadow:3px 3px 0 var(--line);text-align:left;background:#fffdf7;align-items:center;gap:12px;padding:10px 12px;font-weight:800;display:flex}.quiz-options button>span{border:2px solid var(--line);background:var(--cream);width:34px;height:34px;font:900 14px/1 var(--pixel-font);flex:none;place-items:center;display:grid}.quiz-options button.is-correct{opacity:1;background:#d8ead4}.quiz-options button.is-wrong{opacity:1;background:#f2d0c4}.quiz-options button:disabled:not(.is-correct):not(.is-wrong){opacity:.58}.answer-feedback{border-left:8px solid var(--sage-dark);background:#e4efdf;margin-top:20px;padding:15px}.answer-feedback.wrong{border-color:var(--terracotta-dark);background:#f6dfd6}.answer-feedback p{margin:6px 0}.answer-feedback small{color:var(--muted)}.retake{margin:18px auto 0;display:block}.privacy-banner,.missing-warning,.ready-banner{border:3px solid var(--line);box-shadow:4px 4px 0 var(--line);background:#dbe8d6;align-items:flex-start;gap:12px;margin:18px 0;padding:15px;display:flex}.privacy-banner>span{background:var(--sage-dark);color:#fff;width:40px;height:40px;font:900 20px/1 var(--pixel-font);flex:none;place-items:center;display:grid}.privacy-banner p,.missing-warning p{margin:4px 0 0;font-size:13px}.form-sections{gap:16px;display:grid}.form-sections details{border:3px solid var(--line);background:var(--paper);box-shadow:5px 5px #2e3b2d40}.form-sections summary,.document-preview summary{align-items:center;gap:12px;min-height:68px;padding:12px;display:flex}.form-sections summary>span,.document-preview summary>span{border:3px solid var(--line);background:var(--sun);width:42px;height:42px;font:900 13px/1 var(--pixel-font);flex:none;place-items:center;display:grid}.form-sections summary strong,.form-sections summary small,.document-preview summary strong,.document-preview summary small{display:block}.form-sections summary small,.document-preview summary small{color:var(--muted);margin-top:3px;font-size:11px}.form-grid{border-top:2px dashed #2e3b2d38;gap:15px;padding:4px 14px 18px;display:grid}.field{gap:6px;display:grid}.field-label{font-size:13px;font-weight:900}.field-label>span{color:var(--danger)}.field-hint{color:var(--muted);font-size:11px}.field input,.field textarea,.field select{border:3px solid var(--line);background:#fff;border-radius:0;width:100%;min-height:48px;padding:10px 11px;box-shadow:3px 3px #2e3b2d2e}.field textarea{resize:vertical;min-height:82px}.date-row{grid-template-columns:1fr auto;gap:8px;display:grid}.date-row button{border:3px solid var(--line);background:var(--sun);min-height:48px;padding:8px 12px;font-size:12px;font-weight:900;box-shadow:3px 3px #2e3b2d2e}.photo-missions,.improvement-list,.share-section,.print-center,.next-actions{border:4px solid var(--line);background:var(--paper);box-shadow:7px 7px 0 var(--line);margin-top:28px;padding:18px}.section-title{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.section-title h2,.share-section h2,.next-actions h2{margin:0 0 6px;font-size:clamp(24px,6vw,36px);line-height:1.1}.section-title p:not(.eyebrow),.share-section p{color:var(--muted);margin:0}.section-title>strong{color:var(--terracotta);font:900 22px/1 var(--pixel-font);flex:none}.photo-grid{gap:12px;display:grid}.photo-task{border:3px solid var(--line);background:#fffdf7;grid-template-columns:84px 1fr;gap:12px;padding:10px;display:grid}.photo-task>img,.photo-placeholder{object-fit:cover;border:3px solid var(--line);image-rendering:auto;width:84px;height:84px}.photo-placeholder{background:var(--sky);font:900 19px/1 var(--pixel-font);place-items:center;display:grid;position:relative}.photo-placeholder i{background:var(--paper);border:2px solid var(--line);place-items:center;width:25px;height:25px;font-style:normal;display:grid;position:absolute;bottom:4px;right:4px}.photo-copy h3{margin:2px 0 3px;font-size:15px}.photo-copy p{color:var(--muted);margin:0;font-size:11px}.photo-actions{grid-column:1/-1;gap:8px;display:flex}.photo-upload,.photo-actions button{border:2px solid var(--line);background:var(--sage);color:#fff;flex:1;place-items:center;min-height:44px;padding:8px;font-weight:900;display:grid}.photo-upload input{opacity:0;width:1px;height:1px;position:absolute}.photo-actions button{background:var(--paper);color:var(--ink)}.improvement-list h2{margin-top:0}.improvement-list ul{gap:10px;padding:0;list-style:none;display:grid}.improvement-list li{gap:10px;display:flex}.improvement-list li>span{font:900 22px/1 var(--pixel-font)}.improvement-list p{color:var(--muted);margin:4px 0;font-size:13px}.result-hero{border:4px solid var(--line);background:var(--sun);box-shadow:8px 8px 0 var(--line);text-align:center;justify-items:center;margin-top:26px;padding:28px 16px;display:grid;position:relative;overflow:hidden}.result-hero:before,.result-hero:after{content:"";border:12px solid #ffffff73;width:80px;height:80px;position:absolute;transform:rotate(45deg)}.result-hero:before{top:30px;left:-45px}.result-hero:after{bottom:30px;right:-45px}.result-hero .pixel-cat{transform-origin:bottom;margin-bottom:-10px;transform:scale(.82)}.result-hero h1{margin:0;font-size:clamp(30px,8vw,54px);line-height:1.05}.result-hero>p:last-child{margin:6px 0 0;font-weight:700}.result-score{align-items:baseline;margin:10px 0 0;display:flex}.result-score strong{font:950 clamp(62px, 18vw, 112px)/.95 var(--pixel-font)}.result-score span{font:900 19px/1 var(--pixel-font)}.score-breakdown{gap:10px;margin-top:22px;display:grid}.score-breakdown>div{border:3px solid var(--line);background:var(--paper);grid-template-columns:1fr auto;align-items:center;gap:8px;padding:12px;display:grid}.score-breakdown span{font-weight:900}.score-breakdown strong{font:900 21px/1 var(--pixel-font)}.score-breakdown small{color:var(--muted);font-size:11px}.score-breakdown i{background:#e0d6be;grid-column:1/-1;height:8px}.score-breakdown b{background:var(--sage-dark);height:100%;display:block}.share-section{background:#dbe8d6;gap:16px;display:grid}.button-row{flex-wrap:wrap;gap:12px;display:flex}.button-row .pixel-button{flex:1;min-width:180px}.missing-warning{background:#f6dfd6}.ready-banner{background:#dbe8d6;align-items:center}.ready-banner span{color:var(--muted);font-size:13px}.preview-grid{gap:14px;display:grid}.document-preview{border:3px solid var(--line);background:#e8dfca;overflow:hidden}.document-preview summary{background:var(--paper)}.scaled-preview{max-height:540px;padding:12px;overflow:auto}.wallet-preview{background:#c9d8c4}.poster-card{border:3px solid var(--line);color:#1f2a20;background:#fff;width:100%;min-height:620px;padding:20px;font-size:11px;box-shadow:4px 4px #2e3b2d40}.poster-header{border-bottom:7px solid var(--terracotta);grid-template-columns:1fr auto;gap:14px;padding-bottom:14px;display:grid}.poster-kicker,.wallet-kicker{color:var(--terracotta-dark);font:900 9px/1 var(--pixel-font);letter-spacing:.15em;margin:0}.poster-header h2{margin:4px 0;font-size:23px;line-height:1.1}.poster-header p:last-child{margin:0}.poster-count{border:3px solid var(--line);background:var(--sun);text-align:center;place-content:center;min-width:74px;display:grid}.poster-count strong{font:900 32px/1 var(--pixel-font)}.poster-count span{font-weight:900}.poster-main{grid-template-columns:112px 1fr;gap:14px;margin:15px 0;display:grid}.poster-cat-photo,.poster-photo-placeholder{border:3px solid var(--line);object-fit:cover;width:112px;height:112px}.poster-photo-placeholder{color:#777;background:#eee;place-items:center;display:grid}.poster-details{gap:8px;margin:0;display:grid}.poster-details div,.poster-grid section,.poster-care-grid section,.poster-medical{border:2px solid var(--line);padding:8px}.poster-details dt,.poster-grid h3,.poster-care-grid h3,.poster-medical h3{margin:0 0 3px;font-size:10px;font-weight:900}.poster-details dd,.poster-grid p,.poster-care-grid p,.poster-medical p{white-space:pre-line;margin:0}.poster-grid,.poster-care-grid{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:8px;display:grid}.poster-emphasis{font-size:13px;font-weight:900}.poster-medical{min-height:56px}.poster-footer{border-top:2px solid var(--line);justify-content:space-between;gap:8px;margin-top:14px;padding-top:8px;font-weight:800;display:flex}.wallet-pair{justify-content:center;gap:12px;display:grid}.wallet-card{aspect-ratio:85.6/54;border:3px solid var(--line);background:var(--paper);width:min(100%,85.6mm);padding:15px;font-size:10px;position:relative;overflow:hidden;box-shadow:4px 4px #2e3b2d47}.wallet-front{background:var(--sun)}.wallet-card h2{margin:5px 0;font-size:22px;line-height:1.05}.wallet-cat-count{text-align:center;display:grid;position:absolute;top:46px;right:14px}.wallet-cat-count strong{font:900 42px/1 var(--pixel-font)}.wallet-call{margin:16px 0 2px;font-weight:900}.wallet-phone{font:900 15px/1 var(--pixel-font);margin:0}.wallet-card dl{gap:2px;margin:7px 0;display:grid}.wallet-card dl div{border-bottom:1px dotted var(--line);grid-template-columns:36px 1fr;display:grid}.wallet-card dt{font-weight:900}.wallet-card dd{margin:0}.wallet-date{margin:0;position:absolute;bottom:8px;right:12px}.privacy-confirm{border:3px solid var(--line);background:var(--sun);align-items:flex-start;gap:11px;margin:18px 0;padding:13px;display:flex}.privacy-confirm strong,.privacy-confirm small{display:block}.privacy-confirm small{color:#4a503f;margin-top:3px}.next-actions ol{gap:12px;margin:18px 0 0;padding:0;list-style:none;display:grid}.next-actions li{align-items:flex-start;gap:11px;display:flex}.next-actions li>span{border:2px solid var(--line);background:var(--sage);color:#fff;width:34px;height:34px;font:900 13px/1 var(--pixel-font);flex:none;place-items:center;display:grid}.next-actions p{margin:0}.next-actions strong{display:block}.site-footer{border-top:4px solid var(--line);gap:18px;margin-top:54px;padding:26px 4px 0;display:grid}.site-footer>div:first-child>strong{font:900 20px/1 var(--pixel-font)}.site-footer p{margin:4px 0}.site-footer h2{margin:0 0 8px;font-size:14px}.site-footer ul{gap:8px;margin:0;padding-left:18px;font-size:12px;display:grid}.site-footer a{text-underline-offset:3px}.medical-note{border:2px solid var(--line);background:var(--paper);padding:12px;font-size:12px}.footer-actions{flex-wrap:wrap;gap:10px;display:flex}.footer-actions button{border:2px solid var(--line);background:0 0;min-height:44px;padding:8px 12px;font-size:12px;font-weight:800}.footer-actions button.danger{background:var(--danger);color:#fff}.print-output{display:none}@media (width>=720px){.game-shell{padding-inline:28px}.game-header{min-height:82px}.stage-nav{max-width:720px;margin:20px auto 4px}.stage-nav small{font-size:11px}.intro-stage{grid-template-columns:1.05fr .95fr;align-items:center;min-height:680px;padding-top:38px}.mission-strip{grid-column:1/-1;grid-template-columns:repeat(4,1fr)}.intro-actions{grid-template-columns:max-content 1fr;align-items:center}.stage-heading{grid-template-columns:1fr auto;align-items:end;margin-top:44px}.chapter-score{justify-self:end}.room-map{aspect-ratio:16/10;max-height:none}.hazard-drawer{grid-template-columns:auto 1fr;align-items:start}.risk-check{grid-column:2}.quiz-card{padding:28px}.quiz-options,.two-columns{grid-template-columns:1fr 1fr}.two-columns .field:has(textarea){grid-column:span 1}.form-grid{padding:14px 22px 24px}.photo-grid{grid-template-columns:1fr 1fr}.score-breakdown{grid-template-columns:repeat(3,1fr)}.share-section{grid-template-columns:1fr auto;align-items:center}.preview-grid{grid-template-columns:1.15fr .85fr;align-items:start}.wallet-pair{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr 1.3fr}.medical-note,.footer-actions{grid-column:1/-1}}@media (width>=1020px){.intro-scene{min-height:500px}.speech-bubble{max-width:230px;font-size:15px;top:190px;right:34px}.intro-scene>.pixel-cat{bottom:54px;right:120px;transform:scale(1.25)}.room-tabs{max-width:700px}.room-map>.pixel-cat{transform:scale(1)}.photo-grid{grid-template-columns:repeat(3,1fr)}.photo-task{grid-template-columns:96px 1fr}.photo-task>img,.photo-placeholder{width:96px;height:96px}}@media (width<=430px){.game-header{min-height:68px}.brand-mark{width:38px;height:38px}.brand strong{font-size:14px}.score-badge{min-width:92px}.score-badge strong{font-size:23px}.stage-nav{margin-top:12px}.stage-nav button{min-width:44px}.stage-nav button>span{width:32px;height:32px}.stage-track{top:16px}.stage-actions{z-index:20;padding:12px 14px calc(12px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f4e7c9f5;margin-inline:-14px;position:sticky;bottom:0}.stage-actions .pixel-button{min-width:0;padding-inline:10px;font-size:13px}.intro-scene{min-height:330px}.speech-bubble{top:145px}.room-toolbar{align-items:flex-start}.room-toolbar .text-button{flex:none}.room-map{min-height:430px}.poster-main{grid-template-columns:82px 1fr}.poster-cat-photo,.poster-photo-placeholder{width:82px;height:82px}.poster-header h2{font-size:18px}.poster-grid,.poster-care-grid{grid-template-columns:1fr}.scaled-preview{max-height:460px}.button-row{display:grid}.button-row .pixel-button{min-width:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{@page{size:A4 portrait;margin:10mm}html,body{color:#000;width:210mm;min-width:0;background:#fff!important}.game-shell{display:none!important}.print-output{display:none}html[data-print-mode=poster] .poster-output,html[data-print-mode=wallet] .wallet-output{display:block}.print-output{width:190mm;margin:0 auto}.poster-output .poster-card{width:190mm;min-height:276mm;box-shadow:none;border:1.2mm solid #1f2a20;padding:8mm;font-size:10pt}.poster-output .poster-header h2{font-size:26pt}.poster-output .poster-kicker{font-size:8pt}.poster-output .poster-count{min-width:32mm}.poster-output .poster-count strong{font-size:34pt}.poster-output .poster-main{grid-template-columns:42mm 1fr;gap:5mm}.poster-output .poster-cat-photo,.poster-output .poster-photo-placeholder{width:42mm;height:42mm}.poster-output .poster-details dt,.poster-output .poster-grid h3,.poster-output .poster-care-grid h3,.poster-output .poster-medical h3{font-size:9pt}.poster-output .poster-emphasis{font-size:13pt}.poster-output .poster-details div,.poster-output .poster-grid section,.poster-output .poster-care-grid section,.poster-output .poster-medical{break-inside:avoid;border-width:.5mm;padding:3mm}.poster-output .poster-footer{font-size:9pt}.wallet-output{padding-top:18mm}.wallet-output .wallet-pair{grid-template-columns:85.6mm 85.6mm;align-items:start;gap:10mm;display:grid}.wallet-output .wallet-card{width:85.6mm;height:54mm;box-shadow:none;break-inside:avoid;border:.7mm solid #000;padding:4mm;font-size:7.5pt}.wallet-output .wallet-card:after{content:"沿外框裁切";color:#555;font-size:7pt;position:absolute;bottom:-6mm;right:2mm}.wallet-output .wallet-card h2{font-size:16pt}.wallet-output .wallet-cat-count strong{font-size:30pt}.wallet-output .wallet-phone{font-size:12pt}}
