/* Hallmark · macrostructure: Map / Diagram · nav: N5 Floating pill · footer: Ft2 Inline rule · theme: Hum
 * audience: families · use: free imaginative play · tone: warm and playful
 * enrichment: original interactive SVG world · pre-emit critique: P5 H4 E4 S5 R4 V5 */
:root{--color-paper:#f7f5e9;--color-paper-2:#efeddf;--color-ink:#314b42;--color-muted:#657368;--color-accent:#e8e998;--color-accent-ink:#314b42;--color-focus:#304c7b;--color-mint:#dbe9d3;--color-cyan:#d5eaf0;--color-coral:#edb7a6;--color-line:#dcded0;--color-shadow:#314b4218;--color-white:#fffdf5;--font-body:'Trebuchet MS',Arial,sans-serif;--font-display:'Trebuchet MS',Arial,sans-serif;--space:8px;--radius:24px}
*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:15px}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;white-space:nowrap}button,a{touch-action:manipulation}button{transition:background .18s,transform .18s,box-shadow .18s}button:active{transform:translateY(2px)}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}button:disabled{opacity:.6;cursor:default;transform:none}h1,h2,h3,p{margin:0}h1,h2,h3{font-style:normal;min-width:0;overflow-wrap:anywhere}h1{font-size:clamp(26px,3vw,39px);letter-spacing:-1.5px;font-weight:700;line-height:1.2}.topbar{max-width:1440px;padding:24px 48px;margin:auto;display:flex;align-items:center;gap:24px}.brand{display:flex;gap:7px;align-items:center;text-decoration:none;color:var(--color-ink);font-size:27px;letter-spacing:-1.3px;font-weight:bold}.brand svg{width:43px;height:43px}.brand-dot{color:var(--color-muted)}.prototype{font-size:10px;letter-spacing:1.6px;border:1px solid var(--color-line);padding:6px 10px;border-radius:6px}.account{margin-left:auto;display:flex;gap:16px;align-items:center}.wallet{display:flex;align-items:center;gap:12px;background:var(--color-accent);padding:9px 12px 9px 17px;border-radius:50px;min-height:44px;font-weight:bold;font-size:18px;font-variant-numeric:tabular-nums}.star{font-size:26px;line-height:1}.plus{border-radius:50%;background:var(--color-white);width:26px;height:26px;display:grid;place-items:center}.icon-button{border:1px solid var(--color-line);background:var(--color-white);border-radius:50%;width:44px;height:44px;display:grid;place-items:center;font-size:21px}.icon-button svg{width:22px;height:22px}main{max-width:1440px;padding:0 48px;margin:auto}.intro{display:flex;align-items:flex-end;justify-content:space-between;padding:27px 0 27px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:bold;margin-bottom:12px}.intro p:last-child{font-size:14px;color:var(--color-muted);margin-top:9px}.save-note{font-size:11px;display:flex;gap:7px;align-items:center;color:var(--color-muted);padding-bottom:4px}.status-dot{background:var(--color-ink);width:6px;height:6px;border-radius:50%}.playground{border:1px solid var(--color-line);border-radius:26px;overflow:clip;background:var(--color-mint);position:relative;box-shadow:0 7px 0 var(--color-paper-2)}.scene-top{position:absolute;left:22px;right:22px;top:19px;z-index:2;display:flex;justify-content:space-between;gap:8px;pointer-events:none}.scene-top>*{pointer-events:auto}.location-button{display:flex;align-items:center;gap:12px;padding:9px 16px;background:var(--color-white);border-radius:13px;min-height:44px;font-weight:bold;font-size:13px;box-shadow:0 3px 0 var(--color-shadow)}.mini-icon svg{width:22px;height:22px;display:block}.scene-tools{display:flex;align-items:center;gap:8px}.day-label{font-size:11px;background:var(--color-white);padding:7px 10px;border-radius:20px;margin-right:3px}.scene-tools .icon-button{border:0}.scene-scroll{overflow:auto;overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--color-muted) var(--color-mint)}#world{width:100%;display:block;min-width:740px;aspect-ratio:2/1;user-select:none;-webkit-user-select:none}#world .movable{cursor:grab;touch-action:none}#world .movable.dragging{cursor:grabbing;filter:drop-shadow(0 8px 4px var(--color-shadow))}#world .movable:focus-visible{outline:none;filter:drop-shadow(0 0 3px var(--color-focus))}#world .movable .select-ring{opacity:0}#world .movable:focus .select-ring{opacity:1}.scene-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:10px 22px;background:var(--color-white);font-size:11px;min-height:51px}.hint-hand{font-size:20px;vertical-align:middle;margin-right:7px}.text-button{background:none;font-size:11px;padding:12px 0;min-height:44px}.text-button span{font-size:17px;margin-left:8px}.toolbox{display:flex;align-items:center;justify-content:center;gap:6px;background:var(--color-white);border:1px solid var(--color-line);box-shadow:0 6px 0 var(--color-paper-2);border-radius:24px;width:max-content;max-width:100%;padding:9px 14px;margin:25px auto 22px}.toolbox button{background:none;border-radius:14px;min-height:64px;min-width:102px;padding:8px 16px;display:flex;align-items:center;justify-content:center;gap:6px;flex-direction:column;position:relative;font-size:11px;font-weight:bold}.toolbox svg{width:27px;height:27px}.toolbox .shop-tool{background:var(--color-accent)}.tool-divider{height:40px;width:1px;background:var(--color-line);margin:0 7px}.new-dot{position:absolute;width:7px;height:7px;background:var(--color-ink);border:2px solid var(--color-accent);border-radius:50%;top:9px;right:28px}.underworld{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--color-muted);padding:0 2px 12px}.tiny-star{font-size:21px;vertical-align:middle;margin-right:7px}footer{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--color-line);max-width:1344px;padding:18px 0 24px;margin:0 auto;color:var(--color-muted);font-size:10px}dialog{position:fixed;inset:0;margin:auto;width:min(750px,calc(100% - 32px));max-height:85dvh;height:fit-content;padding:28px;border:1px solid var(--color-line);border-radius:28px;background:var(--color-paper);color:var(--color-ink);box-shadow:0 20px 100px var(--color-shadow)}dialog::backdrop{background:var(--color-shadow);backdrop-filter:blur(7px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:22px}h2{font-size:29px;letter-spacing:-1px}.dialog-top .eyebrow{margin-bottom:5px}.tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:20px}.tabs button{padding:10px 17px;min-height:44px;background:var(--color-paper-2);border-radius:50px;font-weight:bold;font-size:12px}.tabs button[aria-pressed=true]{background:var(--color-ink);color:var(--color-paper)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.item-card{background:var(--color-white);border:1px solid var(--color-line);border-radius:20px;overflow:clip;display:flex;flex-direction:column}.item-art{height:145px;display:grid;place-items:center;background:var(--color-mint)}.item-card:nth-child(3n+2) .item-art{background:var(--color-cyan)}.item-card:nth-child(3n) .item-art{background:var(--color-coral)}.item-art svg{width:100%;height:100%}.item-body{padding:14px;display:flex;flex-direction:column;flex:1}.item-body h3{font-size:15px;margin-bottom:5px}.item-body p{font-size:11px;line-height:1.5;color:var(--color-muted);margin-bottom:14px}.item-body button{margin-top:auto;min-height:44px;padding:10px;background:var(--color-accent);border-radius:11px;font-weight:bold;font-size:12px}.dialog-copy{font-size:14px;line-height:1.7;color:var(--color-muted)}.dialog-copy p{margin-bottom:14px}.reward-art{text-align:center;font-size:80px;color:var(--color-ink);padding:10px 0;background:var(--color-accent);border-radius:22px;margin-bottom:20px}.primary{min-height:48px;padding:13px 22px;background:var(--color-accent);color:var(--color-accent-ink);border-radius:14px;font-weight:bold;box-shadow:0 4px 0 var(--color-line)}.wide{width:100%}.note{font-size:11px;line-height:1.6;color:var(--color-muted);margin-top:14px}.info-list{display:grid;gap:12px;font-size:14px;line-height:1.6}.info-list strong{color:var(--color-ink)}.map-preview{height:115px}.toast{opacity:0}#toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);padding:14px 22px;border-radius:16px;background:var(--color-ink);color:var(--color-paper);z-index:20;opacity:0;pointer-events:none;transition:.25s;max-width:calc(100% - 28px);font-size:13px;text-align:center}#toast.visible{opacity:1;transform:translate(-50%,0)}.night #world{filter:brightness(.65) saturate(.8)}.night .scene-scroll{background:var(--color-focus)}.night .lamp-glow{opacity:1}.lamp-glow{opacity:0;transition:opacity .2s}.empty{padding:20px;background:var(--color-mint);border-radius:16px}.reaction{animation:pop .9s forwards;transform-box:fill-box;transform-origin:center}@keyframes pop{0%{opacity:0;translate:0 10px}30%{opacity:1;translate:0 -10px}100%{opacity:0;translate:0 -45px}}@media(hover:hover){button:hover{background:var(--color-mint)}.wallet:hover,.primary:hover,.shop-tool:hover{background:var(--color-accent);box-shadow:0 4px 0 var(--color-line);transform:translateY(-2px)}.item-body button:hover{background:var(--color-mint)}.movable:hover{filter:drop-shadow(0 2px 2px var(--color-shadow))}}@media(max-width:60rem){.topbar{padding:18px 24px}main{padding:0 24px}.prototype{display:none}.intro{padding-top:20px}.save-note{display:none}footer{margin:0 24px}.scene-bottom{font-size:10px}.brand{font-size:25px}}
@media(max-width:40rem){.topbar{padding:14px 16px;gap:4px}.brand{font-size:22px}.brand svg{width:32px;height:32px}.account{gap:8px}.account>.icon-button{display:none}.wallet{font-size:16px;gap:9px;padding:7px 9px 7px 12px}main{padding:0 12px}.intro{padding:18px 4px 21px}.eyebrow{font-size:8px;letter-spacing:1.6px;margin-bottom:10px}h1{font-size:28px;letter-spacing:-1px}.intro p:last-child{font-size:11px;line-height:1.6;max-width:240px}.playground{border-radius:19px}.scene-top{top:13px;left:12px;right:12px}.location-button{font-size:11px;gap:6px;padding:8px 10px}.day-label{display:none}.scene-tools{gap:5px}.scene-tools .icon-button{width:44px;height:44px;border-radius:12px}.scene-tools .icon-button svg{width:19px}.scene-bottom{padding:9px 12px;gap:5px;align-items:flex-start}.scene-bottom>span{max-width:190px;line-height:1.5}.hint-hand{display:none}.scene-bottom .text-button{font-size:10px;padding:0 0 0 8px;min-height:40px}.scene-bottom .text-button span{margin-left:1px}#world{min-width:740px;height:370px}.toolbox{padding:6px;gap:0;border-radius:20px;width:100%;margin:21px auto 14px}.toolbox button{min-width:0;flex:1;padding:8px 4px;font-size:9px;gap:7px;min-height:66px}.toolbox svg{width:25px;height:25px}.tool-divider{margin:0 3px}.new-dot{right:15px}.underworld{padding:0 5px 7px;flex-direction:column;align-items:flex-start;gap:0;font-size:10px}.underworld .text-button{font-size:10px}footer{margin:0 16px;font-size:9px;flex-direction:column;gap:8px;padding:15px 0 20px}dialog{padding:20px;width:calc(100% - 20px);border-radius:21px}h2{font-size:25px}.card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.item-art{height:125px}.item-body{padding:11px}.item-body h3{font-size:14px}.item-body p{font-size:10px}.item-body button{font-size:11px;padding:8px 2px}.tabs button{font-size:11px;padding:9px 13px}.dialog-copy{font-size:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
