.pet-batch{--font-sm:var(--text-label,1.4rem);--font-md:var(--text-body,1.6rem);font-size:var(--font-sm,.875rem);color:var(--ink,#514a42);min-width:0;line-height:1.45}.pet-batch .batch-heading{border:0;margin:0 0 .5rem;padding:0;display:block}.batch-heading h3{font-size:var(--font-md,1rem);margin:0 0 .25rem;line-height:1.3}.batch-heading p{margin:0 0 .5rem}.pet-batch details{border:1px solid #dcd2c4;border-radius:.5rem;margin:.375rem 0;padding:.375rem .5rem}.pet-batch summary{cursor:pointer;align-content:center;min-height:2.75rem;font-weight:600;display:list-item}.pet-batch details p{font-size:var(--font-sm,.875rem);margin:.375rem 0}.pet-batch input[type=file]{font:inherit;max-width:100%;min-height:2.75rem!important;margin:.25rem 0!important;padding:.25rem!important}.pet-batch input[type=file]::file-selector-button{font:inherit;color:inherit;background:#fffaf0;border:1px solid #bfb29f;border-radius:.375rem;min-height:2.75rem;margin-right:.5rem;padding:.5rem}.pet-batch button{font:inherit;cursor:pointer;color:inherit;min-height:2.75rem;box-shadow:none;background:#fffaf1;border:1px solid #cdbda9;border-radius:.375rem;margin:0;padding:.25rem .5rem;line-height:1.25}.pet-batch button:disabled{opacity:.5;cursor:default}.pet-batch button:focus-visible,.pet-batch a:focus-visible,.pet-batch input:focus-visible,.batch-original-viewport:focus-visible{outline-offset:2px;outline:2px solid #8b6d4d}.batch-status-line{justify-content:space-between;align-items:center;gap:.5rem;min-height:2rem;display:flex}.batch-status-line button{font-size:var(--font-sm,.875rem);flex:none}.batch-error{font-size:var(--font-sm,.875rem);color:#994936;margin:.25rem 0}.batch-error:empty{display:none}.batch-tabs{gap:.25rem;margin:.375rem 0;display:flex}.batch-tabs button{min-width:0;font-size:var(--font-sm,.875rem);white-space:nowrap;flex:1;padding:.25rem .375rem}.batch-tabs [aria-selected=true],.batch-viewer-tools [aria-pressed=true],.batch-action-row [aria-pressed=true]{background:#e8dcc5;border-color:#a58b65;font-weight:600}.batch-stage{background:repeating-conic-gradient(#f6f0e5 0 25%,#eee6d8 0 50%) 0 0/1rem 1rem;contain:layout paint;border:1px solid #ded4c5;border-radius:.5rem;justify-content:center;align-items:center;height:clamp(8rem,30dvh,15rem);min-height:8rem;display:flex;position:relative;overflow:hidden}.batch-stage>img{object-fit:contain;width:100%;height:100%;display:block}.batch-stage>canvas{aspect-ratio:1;object-fit:contain;width:min(100%,14rem);height:auto;max-height:100%;image-rendering:pixelated}.batch-stage>p{font-size:var(--font-sm,.875rem);text-align:center;background:#fff9eddd;max-width:90%;padding:.75rem}.batch-action-row{justify-content:center;gap:.25rem;padding-top:.25rem;display:flex}.batch-action-row button{font-size:var(--font-sm,.875rem);flex:1;min-width:0;padding:.25rem}.batch-action-row.is-inactive{visibility:hidden}.batch-downloads{font-size:var(--font-sm,.875rem);flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.25rem;display:flex}.batch-downloads a{color:#775b3e;text-underline-offset:.1875rem;align-items:center;min-height:44px;display:inline-flex}.batch-quality{font-size:var(--font-sm,.875rem);color:#786b5c;margin:.25rem 0}.batch-footer{z-index:2;background:#fffaf1;border-top:1px solid #dcd0bf;align-items:center;gap:.5rem;padding:.375rem 0 .125rem;display:flex;position:sticky;bottom:0}.batch-footer p{font-size:var(--font-sm,.875rem);flex:1;margin:0}.batch-footer button{color:#fffdf8;background:#795f43;flex:none;max-width:11.5rem}.batch-bottom{align-items:center;gap:.5rem;margin:.25rem 0;display:flex}.batch-bottom small{font-size:var(--font-sm,.875rem);color:#81705f;flex:1}.batch-bottom button{font-size:var(--font-sm,.875rem);max-width:55%}.pet-batch [hidden]{display:none!important}#batch-source-image img{object-fit:contain;border-radius:.375rem;width:3.5rem;height:3.5rem}#batch-retry-area{border-top:1px dashed #d2bda5;padding:.25rem 0}.batch-photo-help{border-left:2px solid #bda98b;padding-left:.5rem;color:#675540!important;font-size:var(--font-sm,.875rem)!important}.pet-batch input[type=file]:disabled{opacity:.55;cursor:not-allowed}.pet-batch input[type=file]:disabled::file-selector-button{color:#79756e;cursor:not-allowed;background:#e4dfd5}.batch-viewer-tools{white-space:nowrap;align-items:center;gap:.25rem;min-height:2.75rem;margin:0 0 .25rem;display:flex;overflow-x:auto}.batch-viewer-tools button{font-size:var(--font-sm,.875rem);flex:none;padding:.25rem .5rem}.batch-viewer-tools select{min-width:4.75rem;max-width:8rem;min-height:2.75rem;font:inherit;font-size:var(--font-sm,.875rem);flex:0 7.5rem;margin:0;padding:.25rem}.batch-original-viewport{overscroll-behavior:contain;touch-action:pan-x pan-y;outline-offset:-3px;width:100%;height:100%;overflow:auto}.batch-original-viewport img{object-fit:contain;max-width:none;max-height:none;display:block}.batch-original-viewport img.is-fit{object-fit:contain;width:100%;height:100%}.batch-artifact-note{font-size:var(--font-sm,.875rem);color:#786b5c;margin:.25rem 0;line-height:1.4}.batch-artifact-note:empty{display:none}.batch-entry{padding:.25rem 0}.batch-entry h3{font-size:var(--font-md,1rem);margin:0 0 .5rem}.batch-entry p{margin:.5rem 0}.batch-entry-hint{color:#786b5c}#batch-current-summary{flex-wrap:wrap;align-items:center;gap:.5rem;margin:.25rem 0 .5rem;display:flex}#batch-current-summary img{object-fit:cover;border-radius:.375rem;width:5.6rem;height:5.6rem}#batch-current-summary strong{font-size:var(--font-md,1rem)}#batch-current-summary span{font-size:var(--font-sm,.875rem);color:#786b5c}#batch-current-summary:empty{display:none}@media (width<=480px){.batch-footer{gap:.375rem}.batch-footer button{max-width:9rem}.batch-bottom{align-items:flex-start}.batch-stage{height:clamp(8rem,27dvh,13rem)}.batch-action-row button{padding:.25rem .125rem}}@media (prefers-reduced-motion:reduce){.pet-batch *{scroll-behavior:auto}}.onboarding-host{z-index:4;pointer-events:none;place-items:center;min-width:0;padding:.8rem;display:grid;position:absolute;inset:0}.onboarding-host[hidden]{display:none!important}.onboarding-panel{pointer-events:auto;overscroll-behavior:contain;width:min(100%,42rem);max-width:42rem;max-height:100%;color:var(--ink,#45483d);background:#fbf7edee;border:1px solid #d9d2bf;border-radius:.8rem;padding:1.2rem;overflow:auto;box-shadow:0 .4rem 1.6rem #514a4214}.onboarding-panel h2{font-family:Georgia,Songti SC,serif;font-size:calc(2.1rem * var(--text-scale,1));overflow-wrap:anywhere;margin:0 0 .4rem;font-weight:400;line-height:1.3}.onboarding-panel p{font-size:var(--text-label,1.4rem);overflow-wrap:anywhere;margin:.4rem 0 .8rem;line-height:1.45}.onboarding-actions{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.onboarding-actions button{font:inherit;font-size:var(--text-label,1.4rem);min-width:44px;min-height:44px;color:inherit;cursor:pointer;overflow-wrap:anywhere;background:#f9f6ed;border:1px solid #c7cbb8;border-radius:.4rem;padding:.4rem .8rem;line-height:1.35}.onboarding-actions button:disabled{opacity:.65;cursor:wait}.onboarding-actions .onboarding-primary{color:#fffdf5;background:#788866;border-color:#788866}.onboarding-actions button:focus-visible{outline-offset:2px;outline:2px solid #63754e}.onboarding-secondary-actions{flex-wrap:wrap;gap:.4rem;display:flex}.onboarding-host[data-phase=new] .onboarding-actions{grid-template-columns:1fr;display:grid}.onboarding-host[data-phase=new] .onboarding-secondary-actions>button{flex:1}.onboarding-host[data-phase=new] .onboarding-secondary-actions{display:flex}.onboarding-host:is([data-phase=demo],[data-phase=creating],[data-phase=confirmed]){place-items:start}.onboarding-host:is([data-phase=demo],[data-phase=creating],[data-phase=confirmed]) .onboarding-panel{width:auto;max-width:min(100%,42rem);padding:.8rem 1rem}.onboarding-host:is([data-phase=demo],[data-phase=creating],[data-phase=confirmed]) h2{font-size:calc(1.7rem * var(--text-scale,1));font-family:inherit;font-weight:600}.onboarding-status{font-size:var(--text-help,1.3rem)!important;margin:.6rem 0 0!important}@media (width<=480px){.onboarding-panel{padding:.8rem}.onboarding-panel h2{font-size:calc(1.9rem * var(--text-scale,1))}.onboarding-host{padding:.4rem}.onboarding-actions{gap:.4rem}}body:is([data-entry-mode=welcome],[data-entry-mode=creating]) .controls{visibility:hidden;pointer-events:none}body:is([data-entry-mode=welcome],[data-entry-mode=creating]) #sample-label{visibility:hidden}:root{font-synthesis:none;color:#45483d;--text-scale:1;--text-body:calc(1.6rem * var(--text-scale));--text-label:calc(1.4rem * var(--text-scale));--text-help:calc(1.3rem * var(--text-scale));--text-small:calc(1.2rem * var(--text-scale));--s1:.4rem;--s2:.8rem;--s3:1.2rem;--s4:1.6rem;--s6:2.4rem;--ink:#45483d;--muted:#6e7561;--line:#d7dacb;--paper:#f7f4ec;--accent:#788866;--scene-width:min(100%,978px,max(258px,calc((100svh - 390px)*1.5 + 18px)));background:#f4f1e9;font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;font-size:62.5%}*{box-sizing:border-box}body{font-size:var(--text-body);margin:0;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit;max-width:100%}button{cursor:pointer}button:disabled,input:disabled,select:disabled{opacity:.5;cursor:default}button,input,select,summary,a{touch-action:manipulation}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,canvas:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #87966b}button{min-width:44px;min-height:44px;line-height:1.4}a{color:#566b43;text-underline-offset:.2em}p{overflow-wrap:anywhere}.hidden,[hidden]{display:none!important}canvas{image-rendering:pixelated;display:block}.shell{width:min(100%,1440px);padding:var(--s4) clamp(12px,3vw,40px) var(--s6);margin:auto}.shell>header{justify-content:space-between;align-items:center;gap:var(--s3);padding-bottom:var(--s2);border-bottom:1px solid #deded0;display:flex}.brand{font-family:Georgia,serif;font-size:calc(2.8rem * var(--text-scale));letter-spacing:-.04em;white-space:nowrap;line-height:1.2}.brand span{color:#89916e;margin-right:var(--s2)}.topnote{font-size:var(--text-small);letter-spacing:.12em;color:var(--muted);text-align:center}.toplinks{gap:var(--s2);flex-wrap:wrap;justify-content:flex-end;display:flex}.textbutton{padding:var(--s2);font-size:var(--text-label);background:0 0;border:0}.intro{justify-content:space-between;align-items:end;gap:var(--s4);margin:var(--s4) 0 var(--s2);display:flex}h1{font-family:Georgia,Songti SC,serif;font-size:calc(2.8rem * var(--text-scale));overflow-wrap:anywhere;margin:0;font-weight:400;line-height:1.2}.eyebrow{font-size:var(--text-small);letter-spacing:.12em;color:var(--muted);margin-bottom:var(--s1)}.intro p{font-size:var(--text-label);color:var(--muted);margin:var(--s1) 0 0}.date{font-family:Georgia,serif;font-size:var(--text-label);color:var(--muted);font-style:italic}.title-sample{vertical-align:middle;font:400 var(--text-small)/1.4 Inter,"PingFang SC",sans-serif;margin-left:var(--s2);color:#61744f;border:1px solid #cdd3bd;border-radius:.3rem;padding:.2rem .6rem;display:inline-block}.room-toolbar{align-items:center;gap:var(--s2);width:var(--scene-width);height:60px;margin:0 auto var(--s1);z-index:21;display:flex;position:relative}.room-mode-actions{align-items:center;gap:var(--s1);scrollbar-width:thin;flex:1;min-width:0;display:flex;overflow-x:auto}.room-toolbar button,.room-toolbar summary{font-size:var(--text-label);white-space:nowrap;min-height:44px;padding:var(--s2);background:#f8f6ee;border:1px solid #cbd2bf;border-radius:.4rem}#edit-mode[aria-pressed=true],#immersive-mode[aria-pressed=true]{background:#e4ebd9;border-color:#87996e}.preset-picker{border:0;flex:none;margin:0;padding:0;position:relative}.preset-picker summary{cursor:pointer;align-items:center;list-style:none;display:flex}.preset-picker summary::-webkit-details-marker{display:none}.preset-picker-body{z-index:46;width:min(320px,100vw - 24px);max-height:calc(100svh - 140px);padding:var(--s3);background:#f8f6ee;border:1px solid #cbd2bf;border-radius:.5rem;position:absolute;top:calc(100% + 4px);right:0;overflow:auto;box-shadow:0 8px 26px #43503322}.room-menu{z-index:61;border:0;flex:none;margin:0;padding:0;display:none;position:relative}.room-menu>summary{cursor:pointer;min-width:44px;min-height:44px;font-size:var(--text-label);justify-content:center;align-items:center;line-height:1.4;list-style:none;display:flex}.room-menu>summary::-webkit-details-marker{display:none}.room-menu-body{z-index:70;gap:var(--s1);overscroll-behavior:contain;width:min(260px,100vw - 24px);max-height:min(260px,100svh - 180px);padding:var(--s2);border:1px solid var(--line);background:var(--paper);border-radius:.5rem;flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);right:0;overflow:auto;box-shadow:0 8px 26px #43503322}.room-menu-body button{width:100%;min-height:44px;font-size:var(--text-label);text-align:left;white-space:normal;overflow-wrap:anywhere;line-height:1.4}body.is-immersive .room-menu{display:block}body.is-immersive .room-menu-body{left:0;right:auto}body.is-immersive .room-toolbar{flex-wrap:wrap;align-content:start;height:auto;min-height:60px}body.is-immersive .room-mode-actions{flex-wrap:wrap;flex-basis:100%;overflow:visible}.preset-picker-body label{margin-top:0}.preset-picker-body button,.preset-picker-body select{width:100%;margin-top:var(--s2)}.room-wrap{width:var(--scene-width);background:#d2c5ab;max-width:none;margin:0 auto;padding:9px;position:relative;box-shadow:0 12px 32px #5a493a12}.room-wrap:after{content:"";pointer-events:none;border:1px solid #eee4cb;position:absolute;inset:3px}.room-wrap #room{aspect-ratio:3/2;touch-action:none;cursor:pointer;background:#ddcfb4;width:100%;height:auto;max-height:none;display:block}body[data-room-mode=edit] #room{cursor:grab}body[data-room-mode=edit] #room:active{cursor:grabbing}.room-dock{align-items:stretch;gap:var(--s2);width:var(--scene-width);margin:var(--s2) auto var(--s1);display:flex;position:relative}.controls{gap:var(--s1);flex:1;grid-template-columns:repeat(4,minmax(0,1fr));min-width:0;margin:0;display:grid}.action{min-width:44px;min-height:44px;padding:var(--s2) var(--s3);font-size:var(--text-label);text-align:center;background:#f9f7f0;border:1px solid #d0d6c3;border-radius:.4rem;line-height:1.4}.action:hover{background:#e9ecdf}.action.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.room-dock .action{justify-content:center;align-items:center;gap:var(--s1);padding:var(--s2) var(--s1);overflow-wrap:anywhere;min-width:0;display:flex}.action .icon{flex:none;font-size:1.2em;line-height:1}body[data-room-mode=view] .items-dock-slot{display:none}.items-dock-slot{flex:none;width:130px;min-height:44px;position:relative}.items-toggle{color:#536446;width:100%;height:100%;min-height:44px;font-size:var(--text-label);padding:var(--s2);background:#e7eddf;border:1px solid #8a9876;border-radius:.4rem}.items-toggle.items-open{color:#fff;background:#788866}.put-away-drop{visibility:hidden;pointer-events:none;padding:var(--s1) var(--s2);color:#4d663a;text-align:center;font-size:var(--text-label);background:#e3edd7;border:2px dashed #7b9166;border-radius:.4rem;justify-content:center;align-items:center;line-height:1.4;display:flex;position:absolute;inset:0}.items-dock-slot.drag-active .items-toggle{visibility:hidden}.items-dock-slot.drag-active .put-away-drop{visibility:visible}.items-dock-slot.drop-over .put-away-drop{color:#344b25;background:#cddbba;border-style:solid;box-shadow:0 0 0 2px #9eb68566}.companion-feedback{width:var(--scene-width);min-height:56px;margin:0 auto var(--s1);position:relative}.message{min-height:56px;font-family:Songti SC,Georgia,serif;font-size:var(--text-label);text-align:center;color:#657254;justify-content:center;align-items:center;margin:0;line-height:1.5;display:flex}.companion-feedback.show-return .message{visibility:hidden}.return-feedback{align-items:center;gap:var(--s1);min-height:56px;font-size:var(--text-help);color:#657254;margin:0;line-height:1.4;display:flex;position:absolute;inset:0}.return-feedback>span{overflow-wrap:anywhere;flex:1;min-width:0}.return-feedback button{min-height:44px;padding:var(--s1) var(--s2);font-size:var(--text-label);background:#edf1e5;border:1px solid #cfd8c2;border-radius:.3rem;flex:none;line-height:1.4}.room-meta{justify-content:space-between;gap:var(--s3);width:var(--scene-width);padding:var(--s2) 0;font-size:var(--text-small);color:var(--muted);margin:auto;line-height:1.5;display:flex}.dot{width:5px;height:5px;margin-right:var(--s1);background:#8c9973;border-radius:50%;display:inline-block}.legacy-note{width:var(--scene-width);margin:var(--s2) auto;padding:var(--s2) var(--s3);font-size:var(--text-help);color:#756b55;background:#eee9da;line-height:1.5}.footer{justify-content:space-between;gap:var(--s4);margin-top:var(--s4);padding-top:var(--s3);font-size:var(--text-small);color:var(--muted);border-top:1px solid #deded0;line-height:1.5;display:flex}.sample{max-width:50%;padding:var(--s1) var(--s2);font-size:var(--text-small);border:1px solid #d7dacb;border-radius:1rem;line-height:1.5}#selection-bar.room-context-toolbar{z-index:24;align-items:center;gap:var(--s1);background:#f8f6eef5;border:1px solid #cbd1be;border-radius:.4rem;max-width:calc(100vw - 24px);padding:3px;line-height:1.4;display:flex;position:fixed;box-shadow:0 4px 15px #4e57351a}#selection-bar.context-offscreen{visibility:hidden;pointer-events:none}#selection-bar #selected-name,#selection-bar #selected-plane,#selection-bar #dismiss-selection{display:none}#selection-bar button{min-width:44px;min-height:44px;padding:var(--s2);font-size:var(--text-label);color:#566c43;white-space:nowrap;background:#e7eddf;border-radius:.3rem;flex:none;line-height:1.4}#inventory-panel{z-index:25;gap:var(--s2);min-width:0;padding:var(--s2);background:#f7f5edf9;border:1px solid #cbd2bf;border-radius:.5rem;flex-direction:column;margin:0;display:flex;position:fixed;overflow:hidden;box-shadow:0 8px 26px #43503317}.inventory-heading{flex:none;margin:0}.inventory-heading h2{font-size:var(--text-label);margin:0;font-weight:500;line-height:1.4}.inventory-heading p{font-size:var(--text-small);margin:var(--s1) 0 0;line-height:1.4}.inventory-list{gap:var(--s1);overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;min-height:0;padding-right:3px;display:grid;overflow-y:auto}.inventory-card{justify-content:center;align-items:center;gap:var(--s1);min-width:0;min-height:110px;padding:var(--s1);touch-action:pan-y;-webkit-user-select:none;user-select:none;cursor:default;color:#5b6450;background:#f8f7ef;border:1px solid #dbddcf;border-radius:.3rem;flex-direction:column;display:flex}.inventory-card:hover{background:#ecefe2}.inventory-card.in-room{background:#e7ebde;border-color:#bec9ac}.inventory-card canvas.inventory-art{aspect-ratio:auto;touch-action:pan-y;background:0 0;width:48px;max-width:100%;height:36px}.inventory-name{font-size:var(--text-label);overflow-wrap:anywhere;text-align:center;line-height:1.4}.inventory-card small{font-size:var(--text-small);color:var(--muted);text-align:center;line-height:1.4}.inventory-card-actions{gap:var(--s1);width:100%;margin:0;display:flex}.inventory-card-actions button{min-width:44px;min-height:44px;padding:var(--s1);font-size:var(--text-label);color:#566b43;overflow-wrap:anywhere;background:#f7f8f0;border:1px solid #cfd7c1;border-radius:.3rem;flex:1;line-height:1.35}.inventory-place{touch-action:pan-y}.inventory-drag-handle{touch-action:none;cursor:grab}#inventory-panel.items-narrow .inventory-list,#inventory-panel.items-tight .inventory-list{grid-template-columns:1fr}#inventory-panel.items-narrow .inventory-card,#inventory-panel.items-tight .inventory-card{align-items:center;gap:0 var(--s1);grid-template-rows:auto auto;grid-template-columns:32px minmax(0,1fr) minmax(100px,42%);min-height:60px;display:grid}#inventory-panel.items-narrow canvas.inventory-art,#inventory-panel.items-tight canvas.inventory-art{grid-area:1/1/3;width:32px;height:30px}#inventory-panel.items-narrow .inventory-name,#inventory-panel.items-tight .inventory-name{text-align:left;grid-area:1/2}#inventory-panel.items-narrow .inventory-card small,#inventory-panel.items-tight .inventory-card small{text-align:left;grid-area:2/2}#inventory-panel.items-narrow .inventory-card-actions,#inventory-panel.items-tight .inventory-card-actions{grid-area:1/3/3}#inventory-panel.items-tight .inventory-heading{display:none}.inventory-panel.drop-target{outline-offset:3px;background:#e2e9d6;outline:2px dashed #97a57f}.recently-put-away{box-shadow:inset 0 0 0 1px #9cb584;background:#e0eacf!important;border-color:#78915d!important}.drag-ghost{pointer-events:none;z-index:48;padding:var(--s2) var(--s3);font-size:var(--text-label);color:#fff;background:#768565;border-radius:.3rem;position:fixed;transform:translate(14px,-50%)}.toast{z-index:50;max-width:calc(100vw - 24px);padding:var(--s2) var(--s3);font-size:var(--text-label);color:#fff;pointer-events:none;background:#46503d;border-radius:.4rem;line-height:1.5;position:fixed;bottom:16px;left:50%;transform:translate(-50%)}dialog{background:var(--paper);width:min(760px,100vw - 24px);max-width:calc(100vw - 24px);height:fit-content;max-height:calc(100svh - 24px);color:var(--ink);font-size:var(--text-body);border:0;border-radius:.8rem;padding:0;line-height:1.5;overflow:hidden;box-shadow:0 25px 90px #302b2440}dialog[open]{flex-direction:column;display:flex}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#30352b66}.modal-header{justify-content:space-between;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);flex:none;margin:0;display:flex}.modal-header h2{font-family:Songti SC,Georgia,serif;font-size:calc(2rem * var(--text-scale));overflow-wrap:anywhere;margin:0;font-weight:400;line-height:1.35}.close{background:0 0;border:0;border-radius:.4rem;flex:none;justify-content:center;align-items:center;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:2.6rem;line-height:1;display:flex}.modal-body{overscroll-behavior:contain;min-height:0;padding:var(--s4);scrollbar-gutter:stable;flex:1;overflow:auto}.modal-footer{border-top:1px solid var(--line);padding:var(--s3) var(--s4);background:var(--paper);flex:none}.modal-footer .dialog-actions{margin:0}.modal-footer:empty{display:none}.modal-footer:has(>.dialog-actions.hidden){display:none}dialog p{font-size:var(--text-label);color:var(--muted);margin:var(--s2) 0 var(--s3);line-height:1.6}label{font-size:var(--text-label);margin:var(--s3) 0 var(--s1);line-height:1.5;display:block}input[type=text],select{width:100%;min-height:44px;padding:var(--s2);font-size:var(--text-body);background:#fffdf7;border:1px solid #cbd2bf;border-radius:.3rem;line-height:1.5}input[type=file]{width:100%;font-size:var(--text-label);min-height:44px;line-height:1.5}.dialog-actions{justify-content:flex-end;gap:var(--s2);margin-top:var(--s4);flex-wrap:wrap;display:flex}.dialog-actions>*{min-width:0;max-width:100%}.dialog-actions .action{font-size:var(--text-label);line-height:1.5}.hint{font-size:var(--text-help);padding:var(--s3);background:#eeeddf;line-height:1.6}.error{font-size:var(--text-label);color:#934632;overflow-wrap:anywhere;min-height:1.5em;line-height:1.5}.error:empty{min-height:0}.file-control{align-items:center;gap:var(--s2);min-height:44px;margin:var(--s2) 0;display:flex;position:relative}.file-button{min-height:44px;padding:var(--s2);cursor:pointer;background:#fdfbf4;border:1px solid #cdd1be;border-radius:.3rem;flex:none;align-items:center;margin:0;display:inline-flex}.file-input{opacity:0;position:absolute;overflow:hidden;width:1px!important;height:1px!important;min-height:0!important}.file-control:focus-within .file-button{outline-offset:2px;outline:3px solid #87966b}.file-status{min-width:0;font-size:var(--text-help);overflow-wrap:anywhere;line-height:1.5}.preview{justify-content:center;align-items:center;gap:var(--s3);min-height:90px;margin:var(--s3) 0;padding:var(--s3);background:#e6e6d8;display:flex}.preview img{object-fit:contain;max-width:100%;max-height:240px;image-rendering:pixelated}.preview canvas{aspect-ratio:1;background:#d5d8c5;width:128px;height:128px}.reference-strip{gap:var(--s2);margin-top:var(--s2);flex-wrap:wrap;display:flex}.reference-strip img{object-fit:cover;width:55px;height:55px}.debug-grid{gap:var(--s1);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.debug-grid canvas{aspect-ratio:1;background:#dedfd0;width:100%}#debug-content>img{max-width:100%;max-height:400px;image-rendering:pixelated;margin:auto;display:block}#preset-preview{aspect-ratio:3/2;object-fit:contain;width:100%;height:auto;max-height:52svh;image-rendering:pixelated;background:#ddcfb4;display:block}.import-preview{margin-top:var(--s4);padding:var(--s3);background:#edf0e4;border:1px solid #c8d2b9;border-radius:.4rem}.import-preview h3{font-size:calc(1.8rem * var(--text-scale));margin:0 0 var(--s2);font-weight:500;line-height:1.4}.import-preview-body{align-items:center;gap:var(--s3);min-width:0;display:flex}.import-preview-body canvas{aspect-ratio:1;background:#e0e5d5;flex:none;width:88px;height:88px}.import-preview p{overflow-wrap:anywhere}.undo-row{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--line)}.undo-row p{font-size:var(--text-help)}.recovery-banner{justify-content:space-between;align-items:center;gap:var(--s3);margin:var(--s3) 0;padding:var(--s3);color:#756a4c;background:#f0eadb;border:1px solid #d5c6a2;border-radius:.4rem;display:flex}.recovery-banner strong{font-size:var(--text-body);font-weight:500}.recovery-banner p{font-size:var(--text-label);margin:var(--s1) 0 0;line-height:1.5}.recovery-actions{gap:var(--s1);flex-wrap:wrap;display:flex}.recovery-actions button{min-height:44px;font-size:var(--text-label);background:#faf7ed;border:1px solid #d5cdb7;border-radius:.3rem}.generation-panel{margin:var(--s4) 0;padding:var(--s3) 0;border-block:1px solid var(--line)}.generation-panel h3{font:400 calc(1.9rem * var(--text-scale))/1.4 Georgia,"Songti SC",serif;margin:0 0 var(--s3)}.generation-panel p,.manual-import p{font-size:var(--text-label);margin:var(--s2) 0;line-height:1.6}.generation-source-preview{min-height:80px;color:var(--muted);font-size:var(--text-label);padding:var(--s2);background:#e9ecdf;border:1px dashed #cbd4bc;border-radius:.3rem;justify-content:center;align-items:center;display:flex}.generation-source-preview img{object-fit:contain;max-width:100%;max-height:160px}.generation-consent{padding:var(--s2) var(--s3);color:#596b49;background:#edf0e5;border-left:2px solid #a2ae8b}.generation-actions{gap:var(--s2);margin-top:var(--s3);flex-wrap:wrap;align-items:center;display:flex}.generation-actions button{font-size:var(--text-label)}.manual-import{margin:var(--s3) 0;border:1px solid var(--line);padding:var(--s2) var(--s3);border-radius:.3rem}.manual-import summary{cursor:pointer;min-height:44px;font-size:var(--text-label);padding:var(--s2) 0;line-height:1.5}.manual-import[open] summary{margin-bottom:var(--s1)}.pet-output-fields{gap:0 var(--s3);grid-template-columns:1fr 1fr;display:grid}.pet-output-fields .hint{grid-column:1/-1}.pet-name-row{align-items:center;gap:var(--s2);min-width:0;display:flex}.pet-name-row input{flex:1;width:auto;min-width:0;margin:0}.pet-name-row button{padding:var(--s2);font-size:var(--text-label);white-space:nowrap;flex:none}.pet-name-status{font-size:var(--text-help);color:var(--muted);margin:var(--s1) 0 var(--s2);line-height:1.5}#name[aria-invalid=true]{outline-offset:1px;outline:2px solid #994936}#saved-artworks{border-top:1px solid var(--line);margin-top:var(--s4);padding-top:var(--s3)}#saved-artworks-list{gap:var(--s3);font-size:var(--text-label);color:var(--muted);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.memorial-card{min-width:0}.memorial-card img{object-fit:contain;background:#f3ede4;border-radius:.6rem;width:100%;height:180px;display:block}.memorial-card p{margin:var(--s1) 0}.memorial-card a{align-items:center;min-height:44px;display:inline-flex}#pet-batch{font-size:var(--text-body);line-height:1.5}#pet-batch .batch-heading h3{font-size:calc(1.9rem * var(--text-scale));line-height:1.4}#pet-batch p,#pet-batch label,#pet-batch button,#pet-batch select,#pet-batch summary{font-size:var(--text-label);line-height:1.5}#pet-batch small,#pet-batch .batch-quality,#pet-batch .batch-downloads,#pet-batch .batch-artifact-note{font-size:var(--text-help);line-height:1.5}#pet-batch button,#pet-batch select,#pet-batch summary{min-height:44px}#pet-batch .batch-viewer-tools{height:52px}#pet-batch .batch-viewer-tools button{font-size:var(--text-label);line-height:1.4}#pet-batch .batch-action-row{flex-wrap:wrap}#pet-batch .batch-action-row button{flex:1;min-width:64px;line-height:1.4}#pet-batch .batch-footer{gap:var(--s2);padding-top:var(--s2)}#pet-batch .batch-footer button{max-width:45%;font-size:var(--text-label);line-height:1.4}#pet-batch .batch-bottom{flex-wrap:wrap}#pet-batch .batch-bottom small{font-size:var(--text-help)}body.is-immersive .shell>header,body.is-immersive .intro,body.is-immersive .footer,body.is-immersive .room-meta,body.is-immersive .legacy-note{display:none}body.is-immersive{--scene-width:min(100%,978px,max(258px,calc((100svh - 230px)*1.5 + 18px)))}body.is-immersive .shell{padding-top:var(--s2)}@media (width<=1080px){body[data-room-mode=edit] .room-dock .controls,body[data-room-mode=edit] .companion-feedback,body[data-room-mode=edit] .intro,body[data-room-mode=edit] .room-meta,body[data-room-mode=edit] .footer{display:none}body[data-room-mode=edit] .companion-feedback.show-return{display:block}body[data-room-mode=edit] .companion-feedback.show-return .message{display:none}body[data-room-mode=edit] .companion-feedback.show-return .return-feedback{grid-template-columns:minmax(0,1fr) auto auto;height:auto;min-height:56px;display:grid;position:static}body[data-room-mode=edit] .shell{padding-bottom:var(--s4)}body[data-room-mode=edit] .items-dock-slot{width:100%;height:48px;position:relative;inset:auto}body[data-room-mode=edit] .room-dock{display:block}body[data-room-mode=edit] .shell>header .topnote{display:none}.shell{padding-bottom:76px}.items-dock-slot{z-index:35;width:auto;height:48px;position:fixed;bottom:8px;left:clamp(12px,3vw,40px);right:clamp(12px,3vw,40px)}.items-toggle{color:#fff;background:#788866;box-shadow:0 4px 15px #46543818}.items-toggle.items-open{background:#657750}.toast{bottom:68px}#inventory-panel .inventory-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=650px){.shell{padding-top:var(--s2);padding-inline:12px}.shell>header{gap:var(--s1);align-items:center}.brand{flex:none;font-size:2.4rem}.brand span{margin-right:var(--s1)}.topnote,.date,.eyebrow,.intro p{display:none}.toplinks{flex:1;grid-template-columns:repeat(3,minmax(44px,1fr));gap:0;min-width:0;max-width:24rem;display:grid}.toplinks .textbutton{padding:var(--s1);font-size:var(--text-label);overflow-wrap:anywhere;min-width:44px;line-height:1.35}.intro{margin:var(--s2) 0 var(--s1)}h1{font-size:calc(2.4rem * var(--text-scale));line-height:1.3}.title-sample{margin-left:var(--s1)}.room-dock .action .icon{display:none}.room-dock .action{font-size:var(--text-label);padding:var(--s2) var(--s1);line-height:1.35}.room-meta{font-size:var(--text-small);line-height:1.5}.footer{gap:var(--s3);margin-top:var(--s3)}.sample{padding:var(--s1);border-radius:.5rem}.inventory-heading p{display:none}.inventory-heading h2{font-size:var(--text-label)}.modal-header,.modal-footer{padding:var(--s2) var(--s3)}.modal-body{padding:var(--s3)}.modal-header h2{font-size:calc(1.8rem * var(--text-scale))}.import-preview-body{gap:var(--s2)}.recovery-banner{display:block}.recovery-actions{margin-top:var(--s2)}.pet-output-fields{grid-template-columns:1fr}.generation-actions .action{width:100%}.return-feedback button{font-size:var(--text-label);padding:var(--s1)}}@media (width<=360px){#inventory-panel .inventory-list{grid-template-columns:repeat(2,minmax(0,1fr))}.inventory-card-actions{gap:2px}.pet-name-row{flex-wrap:wrap}.pet-name-row input{flex-basis:60%}.pet-name-row button{flex:1}.memorial-card img{height:120px}.dialog-actions .action{flex:1}.import-preview-body{align-items:flex-start}.import-preview-body canvas{width:64px;height:64px}}@media (height<=500px) and (width>=480px){.room-menu{display:block}.room-menu-body,body.is-immersive .room-menu-body{left:auto;right:0}.room-toolbar,body.is-immersive .room-toolbar{flex-wrap:wrap;align-content:start;height:auto;min-height:60px}.room-mode-actions,body.is-immersive .room-mode-actions{flex-wrap:wrap;flex-basis:100%;overflow:visible}:root,body.is-immersive{--scene-width:min(100%,calc((100svh - 160px)*1.5 + 18px))}.shell,body.is-immersive .shell{gap:var(--s2);min-height:100svh;padding:var(--s2);grid-template:"room tools""room actions""room feedback"1fr/minmax(0,1fr) clamp(180px,28vw,270px);display:grid}.shell>header,.intro,.room-meta,.footer,.legacy-note{display:none}.room-wrap{grid-area:room;align-self:start}.room-toolbar{grid-area:tools;align-self:start;width:100%;height:auto;min-height:60px;margin:0}.room-mode-actions{gap:2px}.room-toolbar button,.room-toolbar summary{font-size:var(--text-label);padding:var(--s1)}.room-dock{flex-direction:column;grid-area:actions;align-self:start;width:100%;margin:0;display:flex}.controls{grid-template-columns:repeat(2,minmax(0,1fr))}.room-dock .action .icon{display:none}.room-dock .action{font-size:var(--text-label);padding:var(--s1);line-height:1.35}.items-dock-slot{width:100%;height:44px;min-height:44px;position:relative;inset:auto}.items-toggle{font-size:var(--text-label)}.companion-feedback{grid-area:feedback;align-self:start;width:100%;min-height:44px;margin:0}.message{font-size:var(--text-help);min-height:44px}.return-feedback{flex-wrap:wrap;min-height:44px;position:static}.companion-feedback.show-return .message{display:none}.return-feedback>span{flex-basis:100%}.return-feedback button{font-size:var(--text-label);flex:1}.toast{bottom:8px}dialog{max-height:calc(100svh - 16px)}.modal-header,.modal-footer{padding:var(--s1) var(--s3)}.modal-body{padding:var(--s2) var(--s3)}.modal-header h2{font-size:calc(1.8rem * var(--text-scale))}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.current-item{padding:var(--s3);margin:var(--s3) 0;border:1px solid var(--line);align-items:center;gap:var(--s3);border-radius:.5rem;flex-wrap:wrap;display:flex}.current-item h3{font-size:var(--text-body);flex-basis:100%;margin:0;font-weight:500;line-height:1.4}.current-item-image{object-fit:contain;width:100px;height:90px;image-rendering:pixelated}.current-reference-image{object-fit:contain;width:64px;height:64px}.current-item .textbutton{margin-left:auto}#current-item.current-item{display:block}#current-item>h3,#current-item>p{margin:0 0 var(--s2)}#current-item>.textbutton{margin:0 var(--s2) var(--s2) 0}.keepsake-list{gap:var(--s3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.keepsake-card{min-width:0;padding:var(--s3);border:1px solid var(--line);background:#fffaf1;border-radius:.5rem}.keepsake-card.is-target{background:#edf1e5;border-color:#87996e}.keepsake-card h4{font-size:var(--text-body);margin:0;line-height:1.4}.keepsake-card p{font-size:var(--text-help);margin:var(--s1) 0}.keepsake-card img{vertical-align:middle;max-width:100%;margin:var(--s1)}.keepsake-card>a{min-height:44px;font-size:var(--text-label);align-items:center;display:flex}.keepsake-card-actions{gap:var(--s1);flex-wrap:wrap;display:flex}#current-item .keepsake-card-actions .textbutton{font-size:var(--text-label);white-space:normal;flex:1;margin:0;line-height:1.4}.keepsake-editor{margin-bottom:var(--s3)}.keepsake-name-row{align-items:center;gap:var(--s2);min-width:0;display:flex}.keepsake-name-row input{flex:1;min-width:0}.keepsake-name-row button{font-size:var(--text-label);flex:none}@media (width<=500px){.keepsake-list{grid-template-columns:1fr}.keepsake-name-row{flex-wrap:wrap}.keepsake-name-row input{flex-basis:100%}}.cloud-sync{border-top:1px solid var(--line,#d7cbbc);border-bottom:1px solid var(--line,#d7cbbc);padding:var(--s3) 0;margin:var(--s3) 0}.cloud-sync h3{margin:0 0 var(--s2)}.cloud-sync p{margin:var(--s2) 0}.cloud-sync-actions{align-items:center;gap:var(--s2);margin-top:var(--s2);flex-wrap:wrap;display:flex}.cloud-sync-actions button{max-width:100%;min-height:44px}.cloud-account{font-size:var(--text-label);color:var(--muted,#766b61)}.cloud-comparison{gap:var(--s2);margin:var(--s3) 0;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.cloud-room-preview{border:1px solid var(--line,#d7cbbc);min-width:0;padding:var(--s2);gap:var(--s1);border-radius:8px;display:grid}.cloud-room-preview strong,.cloud-room-preview span{overflow-wrap:anywhere}.cloud-room-preview img{object-fit:contain;width:64px;height:64px;image-rendering:pixelated}.cloud-choice-preview{margin:var(--s3) 0}.cloud-choice-preview .cloud-room-preview{max-width:240px}@media (width<=360px){.cloud-comparison{grid-template-columns:1fr}.cloud-sync-actions .action{flex:1}}
