:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#363b35;background:#f6f4ee;font-synthesis:none;--paper:#f6f4ee;--ink:#363b35;--muted:#6e7369;--line:#dedfd5;--green:#445b46;--accent:#65835f}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:active{transform:scale(.98)}button:disabled{cursor:wait;opacity:.55}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #749185;outline-offset:3px}button{color:inherit}a{color:inherit;text-decoration:none}button,select{min-height:44px}button{border:0}img{max-width:100%}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2{font-family:Georgia,"Times New Roman",serif;font-weight:400}h1{font-size:clamp(1.9rem,3.2vw,2.85rem);line-height:1.12;letter-spacing:-.045em}h2{font-size:1.5rem;letter-spacing:-.035em}h3{font-size:.79rem;line-height:1.4;font-weight:650;margin-bottom:12px}.site-header{max-width:1440px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:12px 32px;border-bottom:1px solid var(--line);height:86px}.brand{display:flex;align-items:center;width:178px;height:61px;overflow:hidden}.brand img{width:178px;height:auto;display:block}.original-link{font-size:.76rem;color:#606757;display:flex;align-items:center;gap:16px;min-height:44px}.original-link span{font-size:1.15rem}.studio{max-width:1440px;margin:auto;padding:0 32px}.introduction{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:35px 0 28px}.introduction p{font-size:.87rem;line-height:1.6;color:var(--muted);margin-top:11px}.primary,.secondary{padding:0 18px;min-height:46px;border-radius:7px;font-size:.8rem;font-weight:550;display:inline-flex;align-items:center;justify-content:center;gap:24px;white-space:nowrap}.primary{background:var(--green);color:#fff}.secondary{background:transparent;border:1px solid #cbd0c3}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 8px;background:none;font-size:.75rem;color:#5d6658;min-width:44px}.text-button:hover{color:#263d2f}.world-picker{display:grid;grid-template-columns:repeat(6,1fr);border-bottom:1px solid var(--line);gap:14px;margin-bottom:22px}.world-choice{display:flex;align-items:center;justify-content:center;gap:9px;position:relative;min-width:0;padding:12px 3px 18px;background:none;color:#72786c;font-size:.81rem;white-space:nowrap}.world-choice svg{width:20px;height:20px;flex-shrink:0;stroke:currentColor;stroke-width:1.3;fill:none;stroke-linecap:round;stroke-linejoin:round}.world-choice[aria-current="true"]{color:#3b523e;font-weight:650}.world-choice[aria-current="true"]:after{content:"";position:absolute;bottom:-1px;left:6px;right:6px;height:2px;background:var(--accent)}.world-choice:hover{color:var(--ink)}.workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:28px;align-items:start}.workspace.panel-open{grid-template-columns:minmax(0,1fr) 300px}.experience{min-width:0}.world-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:0 0 12px}.world-heading h2{font-size:1.4rem}.world-heading .text-button{font-size:.7rem}.art-frame{position:relative;isolation:isolate;border-radius:13px;overflow:hidden;background:#dce5d1;box-shadow:0 12px 30px -28px #283c2e4d}.world-stage{width:100%;height:clamp(480px,63vh,740px);overflow:hidden}.world-canvas{display:block;width:100%;height:100%;touch-action:pan-y pinch-zoom;cursor:grab;outline-offset:-5px}.world-canvas:focus-visible{outline:2px solid #6c8b71}.camera-tools{position:absolute;bottom:15px;right:15px;display:flex;background:#fcfaf1d9;border:1px solid #ffffff79;border-radius:7px;box-shadow:0 2px 12px #253a3010}.camera-tools button{background:none;width:44px;min-height:44px;font-size:1.17rem;color:#4f6053}.camera-tools button+button{border-left:1px solid #52644315}.camera-tools button:hover{background:#ffffff80}.loading{position:absolute;left:18px;top:18px;display:flex;align-items:center;gap:8px;font-size:.78rem;background:#faf8eedf;padding:12px 15px;border-radius:5px;color:#42543f}.loading-dot{width:6px;height:6px;background:#6f886b;border-radius:50%;animation:breathe 1s ease-in-out infinite alternate}@keyframes breathe{to{opacity:.3}}.error-message{position:absolute;inset:25% 14%;padding:20px;background:#fcfaf2f5;border-radius:12px;display:grid;place-items:center;text-align:center;gap:18px}.error-message p{font-size:.9rem;line-height:1.5}.view-tools{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:5px 0 10px;min-height:44px}.view-tools p{font-size:.7rem;color:#737c6e;line-height:1.5}.view-tools>div{display:flex;gap:4px;align-items:center}.view-tools .text-button{font-size:.69rem;padding:0 7px;white-space:nowrap}.interaction-actions{display:flex;gap:9px;flex-wrap:wrap}.interaction-action{background:#eeeee5;border:1px solid #dfe2d7;border-radius:6px;font-size:.74rem;padding:7px 14px;min-height:44px;color:#4e5a49;display:flex;align-items:center;gap:9px;transition:background 120ms,color 120ms}.interaction-action:before{content:"↗";font-size:.95rem;color:#8a9980}.interaction-action:hover,.interaction-action.hovered{background:#e4eadc}.interaction-action[aria-pressed="true"]{background:#dae4cf;border-color:#b7c7a8;color:#354c35}.interaction-action[data-running="true"]:before{content:"·";font-size:1.4rem;color:#456a3d;line-height:.7}.world-caption{display:flex;justify-content:space-between;gap:20px;padding:17px 0 8px;min-height:57px}.world-caption p{font-size:.74rem;line-height:1.65;color:#7a8175;max-width:510px}.world-caption .action-status{color:#4a6750;min-width:0;text-align:right}.style-panel{border:1px solid var(--line);border-radius:10px;background:#fbfaf5;overflow:hidden;position:sticky;top:14px;max-height:calc(100dvh - 30px);display:flex;flex-direction:column}.panel-heading{display:flex;align-items:center;justify-content:space-between;padding:11px 16px 8px;border-bottom:1px solid #e9e9e0;flex-shrink:0;background:#fbfaf5;z-index:2}.panel-heading h2{font-size:1.34rem}.panel-heading .text-button{font-size:.76rem;gap:12px}.panel-heading .text-button span{font-size:1.2rem}.panel-content{padding:20px 19px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ced4c6 transparent}.panel-content>section{padding-bottom:21px;margin-bottom:20px;border-bottom:1px solid #e6e8de}.panel-content>section:last-of-type{margin-bottom:15px}.upload-target{position:relative;display:flex;gap:13px;align-items:center;padding:15px 12px;min-height:80px;background:#f0f2e9;border:1px dashed #c4ceb9;border-radius:6px;cursor:pointer}.upload-target.drag-over{background:#dbe7d0;border-color:#687e62}.upload-icon{font-size:1.35rem;color:#64795c}.upload-target strong{display:block;font-size:.78rem;font-weight:550;color:#4b5d43}.upload-target small{display:block;font-size:.65rem;color:#7b8274;line-height:1.5;margin-top:3px}.upload-target input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.upload-target:focus-within{outline:3px solid #749185;outline-offset:3px}.fine-print{font-size:.65rem;line-height:1.65;color:#798173;margin-top:9px}.reference-preview{display:flex;gap:11px;align-items:center;margin-top:12px}.reference-preview img{width:78px;height:78px;object-fit:contain;background:#e8e9de;border-radius:5px}.reference-preview>div{min-width:0}.reference-preview strong{display:block;font-size:.69rem;font-weight:550;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;max-width:145px}.reference-preview .text-button{padding:0 4px;font-size:.65rem}.style-presets{display:grid;grid-template-columns:1fr 1fr;gap:8px}.style-preset{display:flex;gap:8px;align-items:center;padding:7px 8px;min-height:44px;text-align:left;border:1px solid #e0e4d8;border-radius:5px;background:transparent;font-size:.66rem;color:#65715d}.style-preset:first-child{grid-column:1 / -1}.style-preset[aria-pressed="true"]{border-color:#96aa87;background:#e9efdf;color:#3b5337}.mood-dots{display:flex;flex-shrink:0;gap:2px}.mood-dots i{display:block;width:10px;height:18px;border-radius:2px}.select-field{display:flex;flex-direction:column;gap:6px;font-size:.69rem;line-height:1.4;color:#687461;margin-top:13px}.select-field select{width:100%;border:1px solid #d9dfd1;border-radius:5px;background:#fbfbf5;padding:8px 11px;color:#414f3a;font-size:.76rem;min-width:0}.sliders{margin-top:15px;display:grid;gap:8px}.sliders label>span{display:flex;justify-content:space-between;align-items:center;font-size:.71rem;color:#63725b}.sliders output{font-size:.66rem;font-variant-numeric:tabular-nums;color:#87927f}.sliders input{display:block;width:100%;height:32px;accent-color:#697f5e;margin:0;cursor:pointer}.palette{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 8px}.palette label{min-width:0;display:flex;flex-direction:column;gap:5px;font-size:.6rem;color:#6b785f;line-height:1.3}.palette input{border:1px solid #d7dccf;min-height:44px;border-radius:5px;padding:3px;width:100%;height:44px;background:#f9faf3;cursor:pointer}.save-actions{display:flex;gap:7px}.save-actions .secondary{flex:1;padding:0 7px;min-height:44px;font-size:.68rem;gap:4px}.diagnostics{border-top:1px solid #e4e8dc;padding-top:13px;margin-top:16px}.diagnostics summary{cursor:pointer;font-size:.72rem;min-height:44px;display:flex;align-items:center;color:#6b765f}.diagnostics summary:before{content:"+";margin-right:9px}.diagnostics[open] summary:before{content:"−"}.studio footer{border-top:1px solid var(--line);padding:18px 0 24px;margin-top:19px;display:flex;justify-content:space-between;font-size:.65rem;color:#8c9484}.touch-only,.mobile-customize{display:none}
@media(min-width:1500px){.workspace.panel-open{grid-template-columns:minmax(0,1fr) 320px}.world-stage{height:680px}}
@media(max-width:1050px) and (min-width:701px){.site-header{padding:10px 22px}.studio{padding:0 22px}.workspace.panel-open{grid-template-columns:minmax(0,1fr) 280px;gap:18px}.world-stage{height:570px}.world-choice{font-size:.72rem;gap:6px}.world-caption{display:block}.world-caption .action-status{text-align:left}.view-tools{align-items:flex-start;flex-direction:column;gap:0;margin-bottom:8px}.view-tools p{margin-top:10px}}
@media(max-width:700px){.site-header{height:66px;padding:4px 16px}.brand{width:140px;height:54px}.brand img{width:140px}.original-link{font-size:.65rem;gap:8px}.studio{padding:0 16px}.introduction{padding:24px 0 19px;gap:12px;align-items:flex-start}.introduction h1{font-size:1.9rem;max-width:300px}.introduction p{font-size:.75rem;line-height:1.5;margin-top:8px;max-width:300px}.introduction>.primary{display:none}.world-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 6px;margin-bottom:16px;border-bottom:0}.world-choice{font-size:.68rem;min-height:44px;gap:7px;padding:9px 4px;border-bottom:1px solid #e1e3d9}.world-choice svg{width:18px;height:18px}.world-choice[aria-current="true"]:after{left:2px;right:2px}.world-choice[aria-current="true"]{background:#e9ede1;border-radius:4px 4px 0 0}.workspace,.workspace.panel-open{display:block}.world-heading{padding-bottom:8px}.world-heading h2{font-size:1.26rem}.world-heading .text-button{font-size:.61rem;padding-right:0}.art-frame{border-radius:10px}.world-stage{height:auto;aspect-ratio:4/5}.camera-tools{bottom:10px;right:10px}.camera-tools button{width:44px;min-height:44px}.view-tools{flex-direction:column;align-items:stretch;gap:0;margin:5px 0 10px}.view-tools p{font-size:.65rem;padding:6px 0 0}.view-tools>div{justify-content:space-between}.view-tools .text-button{font-size:.65rem;padding:0 4px}.touch-only{display:inline-flex}.touch-only[aria-pressed="true"]{color:#365f3b;background:#e0e8d7;border-radius:5px;padding:0 9px}.interaction-actions{gap:7px;display:grid;grid-template-columns:1fr}.interaction-action{font-size:.73rem;justify-content:flex-start;padding:8px 12px}.world-caption{display:block;padding:12px 0 13px;min-height:65px}.world-caption p{font-size:.71rem}.world-caption .action-status{text-align:left;margin-top:5px}.mobile-customize{display:flex;width:100%;justify-content:space-between;padding:0 16px}.style-panel{position:relative;top:auto;max-height:none;margin-top:20px}.panel-content{overflow:visible;padding:18px}.panel-heading{position:sticky;top:0}.workspace.panel-open .experience{position:sticky;top:0;z-index:3;padding-top:6px;background:var(--paper)}.workspace.panel-open .world-stage{aspect-ratio:4/3;height:auto;max-height:40dvh;min-height:190px}.workspace.panel-open .world-heading{padding-bottom:4px}.workspace.panel-open .view-tools,.workspace.panel-open .interaction-actions,.workspace.panel-open .world-caption,.workspace.panel-open .mobile-customize{display:none}.workspace.panel-open .experience:after{content:"";display:block;height:8px;background:linear-gradient(var(--paper),transparent)}.workspace.panel-open .style-panel{scroll-margin-top:calc(40dvh + 55px);overflow:visible}.workspace.panel-open .panel-heading{z-index:4;top:calc(40dvh + 45px)}.studio footer{font-size:.6rem;margin-top:22px}.style-presets{grid-template-columns:1fr 1fr}.style-preset{font-size:.72rem}.fine-print{font-size:.69rem}.sliders input{height:44px}.palette label{font-size:.67rem}.panel-heading h2{font-size:1.3rem}.error-message{inset:18% 6%}.reference-preview strong{max-width:220px}.original-link span{font-size:1rem}}
@media(max-width:370px){.studio{padding:0 12px}.site-header{padding:4px 12px}.introduction h1{font-size:1.72rem}.world-choice{font-size:.62rem;gap:4px}.world-choice svg{width:16px}.world-heading h2{font-size:1.1rem}.world-heading .text-button{font-size:.57rem}.workspace.panel-open .experience{position:relative;top:auto}.workspace.panel-open .panel-heading{top:0}.workspace.panel-open .style-panel{scroll-margin-top:8px}.workspace.panel-open .world-stage{aspect-ratio:4/4;max-height:none;min-height:0}.original-link{font-size:.59rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}button:active{transform:none}}@media(prefers-reduced-transparency:reduce){.camera-tools,.loading{background:#fcfaf1}}@media(prefers-contrast:more){:root{--muted:#46513e;--line:#a5b19c}.fine-print,.world-caption p,.view-tools p{color:#485640}.text-button{color:#354a2d}}
