:root{font-family:'Trebuchet MS',system-ui,sans-serif;color:#304b41;background:#faf8f0;color-scheme:light;--green:#426b56;--muted:#7d887b}*{box-sizing:border-box}body{margin:0}button{font:inherit;cursor:pointer;color:inherit;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.45}button:focus-visible,canvas:focus-visible{outline:3px solid #b5833b;outline-offset:3px}[hidden]{display:none!important}.app{max-width:940px;margin:auto;padding:24px 32px 16px}.heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.8px;margin:0;color:#70816d}h1{font-family:Georgia,serif;font-weight:500;font-size:clamp(30px,5vw,44px);letter-spacing:-1.5px;margin:8px 0 5px}h1 span{display:inline-block;font-family:serif;color:#bbaa72;font-size:36px;margin-left:12px}.subtitle{font-size:13px;color:var(--muted);margin:0}.round-button{background:#f0f0e5;border:1px solid #e0e5d5;border-radius:50%;width:54px;height:54px;flex-shrink:0;font-size:24px}.round-button span{display:block;font-size:9px;line-height:1;margin-top:2px}.rooms{display:flex;gap:8px;margin:22px 0 18px}.rooms button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;flex:1;border:1px solid #dfe4d8;background:#f8f8ee;border-radius:11px;padding:10px;font-size:12px}.rooms button[aria-current="true"]{background:var(--green);border-color:var(--green);color:#fff}.rooms .room-dot{display:grid;place-items:center;border:1px solid currentColor;width:21px;height:21px;border-radius:50%;font-size:10px}.workspace{border:1px solid #e1e4d6;border-radius:22px;background:#fffdf5;padding:18px 22px 10px}.room-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.room-heading h2{font-family:Georgia,serif;font-size:24px;font-weight:500;margin:6px 0 10px}.progress-label{text-align:right}.progress-label strong{display:block;font-size:24px;line-height:1}.progress-label span{font-size:9px;color:var(--muted)}.progress-track{height:5px;overflow:hidden;background:#e9eddf;border-radius:8px}.progress-track span{display:block;height:100%;background:#8ca887;transition:width .2s;width:0}.room-subtitle{font-size:12px;color:var(--muted);margin:10px 0 0}.scene-wrap{position:relative;margin:-12px -10px -14px}#scene{display:block;width:100%;height:auto;touch-action:none;user-select:none;-webkit-user-select:none}#scene [role="button"]{cursor:pointer}#scene .found{filter:drop-shadow(0 0 6px #e0a937);outline:3px dashed #b5833b;outline-offset:4px}.scene-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);position:relative}.scene-footer button,.game-footer button{border:0;background:none;font-size:11px;text-decoration:underline;text-underline-offset:3px;min-height:44px;padding:5px 4px}.tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:18px auto 0;max-width:580px}.tools button{border:1px solid #dfe4d8;background:#f4f5ea;border-radius:15px;padding:10px;display:flex;align-items:center;gap:10px;text-align:left;min-height:70px}.tools button[aria-pressed="true"]{border:2px solid #5b7c61;background:#e7edda;padding:9px;box-shadow:0 3px 0 #d3dec4}.tools canvas{width:36px;height:36px;flex-shrink:0;color:#7b9173}.tools strong{display:block;font-size:13px}.tools small{display:block;font-size:10px;color:#7b8575;margin-top:4px}.instruction{text-align:center;font-size:12px;min-height:32px;line-height:1.55;margin:12px 0 0;color:#5e725d}.game-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:10px;color:#8a907e;flex-wrap:wrap}.game-footer #save-status{flex:1;text-align:center}.win{text-align:center;background:#edf2e2;border:1px solid #d1debe;border-radius:18px;padding:20px;margin:14px 0}.sparkle{color:#b49b48;font-size:28px}.win h2{font:26px Georgia,serif;margin:8px 0}.win p{font-size:13px;line-height:1.6;margin:10px 0 15px}.button{border:0;border-radius:11px;background:var(--green);color:white;padding:13px 23px;min-height:44px;font-size:13px}.button.secondary{background:#e9eddd;color:#405642}.loading{padding:35px;text-align:center;line-height:1.7}dialog{max-width:440px;width:90vw;border:1px solid #d9e1ce;border-radius:20px;padding:26px;background:#fffdf4;color:#304b41;max-height:85dvh}dialog::backdrop{background:#2c463f80}dialog h2{font:26px Georgia,serif;margin:0 0 16px}dialog p,dialog li{font-size:13px;line-height:1.7}dialog li{margin-bottom:10px}dialog ol{padding-left:20px}.dialog-actions{display:flex;gap:12px;flex-wrap:wrap}dialog form{margin:0}@media(max-width:600px){.app{padding:17px 12px 12px}.eyebrow{font-size:8px;letter-spacing:1.1px}.rooms{gap:6px;margin:17px 0 12px}.rooms button{padding:8px 5px;font-size:10px;gap:5px}.rooms .room-dot{width:17px;height:17px;font-size:9px}.workspace{padding:14px 10px 5px;border-radius:16px}.room-heading h2{font-size:20px}.progress-label strong{font-size:22px}.scene-wrap{margin:0 -10px -12px}.tools{gap:7px;margin-top:14px}.tools button{padding:10px 5px;gap:4px;min-height:67px;justify-content:center}.tools button[aria-pressed="true"]{padding:9px 4px}.tools canvas{width:27px;height:30px}.tools strong{font-size:11px}.tools small{font-size:8px}.subtitle{font-size:11px}.instruction{font-size:11px}.game-footer{gap:3px}.game-footer button{font-size:10px}.room-subtitle{font-size:10px}.round-button{width:46px;height:46px}.scene-footer{font-size:10px}.game-footer #save-status{font-size:9px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}

.scene-wrap{border-radius:14px;overflow:hidden;margin:14px 0 0}#scene{aspect-ratio:4/3;cursor:crosshair}.tools canvas{width:40px;height:40px}.task-details{font-size:11px;color:#62745d;margin:0 0 8px}.task-details summary{cursor:pointer;min-height:36px;padding:10px 0}#task-list{display:flex;flex-wrap:wrap;gap:6px}#task-list button{border:1px solid #cdd8c2;border-radius:8px;background:#f3f5e9;font-size:11px;padding:10px;min-height:44px}@media(max-width:600px){.scene-wrap{margin:12px -5px 0;border-radius:10px}.tools canvas{width:30px;height:30px}}
