@font-face{font-family:system;src:local('PingFang SC')}
*{box-sizing:border-box}
:root{--paper:#faf6ec;--ink:#344a43;--muted:#78867a;--line:#e3e5d9;--green:#3f7564;--rose:#c77786;--white:#fffdf6;--game-scale:1;--frame-width:960px;--frame-height:540px;--frame-left:0px;--frame-top:0px}
html,body{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;background:#243b32;color:var(--ink);font-family:system,'PingFang SC','Microsoft YaHei',sans-serif}
body{font-size:18px}button,input,textarea{font:inherit}button{cursor:pointer;border:0;color:inherit;background:none;touch-action:manipulation}button:hover{filter:brightness(.96)}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit;text-decoration:none}[hidden]{display:none!important}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,canvas:focus-visible{outline:3px solid #d09b61;outline-offset:2px}
.game-host{position:fixed;inset:0;display:grid;place-items:center;background:#243b32;overflow:hidden}
.game-viewport{position:relative;width:var(--frame-width);height:var(--frame-height);overflow:hidden;box-shadow:0 0 80px #10271a60}
.game-frame,.modal-stage,.toast-stage{position:absolute;left:0;top:0;width:960px;height:540px;transform:scale(var(--game-scale));transform-origin:top left;overflow:hidden}
.game-frame{isolation:isolate;background:#ccddba}.stage{position:absolute;inset:0;background:#ccddba;overflow:hidden}
.game-frame[data-scene=clothing] .stage,.game-frame[data-scene=furniture] .stage{background:#eee6d4}.game-frame[data-scene=party] .stage{background:linear-gradient(#ebc79f,#dfd1a8 60%,#e5ceb0)}
#world{position:absolute;inset:0;height:540px;width:960px;display:block;touch-action:none}
.game-hud{position:absolute;inset:14px 18px auto;display:flex;align-items:center;justify-content:space-between;gap:14px;pointer-events:none;z-index:5}.game-hud button{pointer-events:auto}
.brand{display:flex;gap:9px;align-items:center;font-size:22px;font-weight:650;letter-spacing:1px;text-shadow:0 1px #f5f3dd;min-width:190px}.brand-mark{width:46px;height:46px;display:grid;place-items:center;background:#bd778b;color:#fff;border:2px solid #fbeedb;border-radius:16px 16px 16px 6px;font-size:27px;box-shadow:0 3px 0 #8e57651f}.brand small{display:block;font-size:11px;margin-top:3px;font-weight:500;color:#667a5c;letter-spacing:.5px}
.scene-header{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 17px;border:1px solid #fff8dc;border-radius:16px;background:#fffae4df;box-shadow:0 3px 0 #73886515;min-width:175px}.scene-header strong{font-size:18px}.scene-header span{font-size:11px;color:#819270}
.header-right{display:flex;gap:8px;align-items:center}.wallet{border:2px solid #fff8dc;border-radius:30px;background:#fff9dedb;padding:13px 14px;font-size:16px;white-space:nowrap}.profile-button{border:2px solid #fff8dc;border-radius:18px;background:#e4edde;padding:13px 14px;font-size:16px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hud-icon{width:46px;height:46px;border:2px solid #fff8dc;border-radius:16px;background:#fffae4df;font-size:25px;font-weight:650}
.back-town,.panel-toggle{position:absolute;top:79px;border:2px solid #fff8dc;background:#fff9e4ed;box-shadow:0 3px 0 #78945b15;border-radius:16px;font-size:18px;min-height:48px;padding:8px 17px;z-index:6}.back-town{left:18px}.panel-toggle{right:18px}.scene-note{position:absolute;top:82px;left:50%;transform:translateX(-50%);font-size:12px;letter-spacing:1px;padding:6px 12px;background:#fff9ebb7;border:1px solid #ffffff99;border-radius:30px;pointer-events:none;white-space:nowrap}
.context-panel{position:absolute;right:18px;top:82px;bottom:105px;width:280px;background:#fff9edee;backdrop-filter:blur(9px);border:2px solid #fffdf0;border-radius:22px;box-shadow:0 7px 0 #455d4012;display:flex;flex-direction:column;z-index:7;overflow:hidden}.game-frame[data-panel=closed] .context-panel{display:none}.game-frame[data-panel=open] .panel-toggle{display:none}
.context-heading{height:52px;min-height:52px;display:flex;align-items:center;justify-content:space-between;padding:7px 12px 7px 18px;border-bottom:1px solid #e0dfc7}.context-heading strong{font-size:19px}.side-panel{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:13px;min-height:0;scrollbar-width:thin;scrollbar-color:#b6c2a5 #f1eedf}
.game-frame[data-scene=town] .panel-card.featured{display:none}
.game-frame:is([data-scene=clothing],[data-scene=furniture]) .side-panel{overflow:hidden}
.game-frame:is([data-scene=clothing],[data-scene=furniture]) .panel-card{height:100%;display:flex;flex-direction:column;padding:0;margin:0;min-height:0}
.game-frame:is([data-scene=clothing],[data-scene=furniture]) .panel-card>.eyebrow,
.game-frame:is([data-scene=clothing],[data-scene=furniture]) .panel-card>h2,
.game-frame:is([data-scene=clothing],[data-scene=furniture]) .panel-card>p,
.game-frame:is([data-scene=clothing],[data-scene=furniture]) .side-panel>.panel-note{display:none}
.game-frame:is([data-scene=clothing],[data-scene=furniture]) .product-list{flex:1;min-height:0;overflow-y:auto;margin:0;padding-right:3px;align-content:start;scrollbar-width:thin}
.game-frame:is([data-scene=clothing],[data-scene=furniture]) .item-detail{margin:7px 0;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.game-frame:is([data-scene=clothing],[data-scene=furniture]) .action-stack{display:block}
.game-frame:is([data-scene=clothing],[data-scene=furniture]) .action-stack :is([data-action=camera],[data-action=goto],[data-action=try-furniture]){display:none}
.panel-card{padding:0 0 12px;margin-bottom:12px}.panel-card:last-child{margin:0}.panel-card h2{font-size:23px;line-height:1.3;margin:8px 0}.panel-card h3{font-size:18px;margin:8px 0}.panel-card p{font-size:16px;line-height:1.6;margin:0 0 12px;color:#78866d}.panel-card.featured{background:#efe8d6;border-radius:13px;padding:13px}.eyebrow{font-size:11px;letter-spacing:1.7px;color:#89927b;font-weight:600}h2,h3{font-weight:650}p{line-height:1.65}.panel-note{font-size:13px;line-height:1.7;color:#899277;margin:10px 0}.panel-divider{border:0;border-top:1px dashed #cdd3be;margin:14px 0}
.primary-button,.tool-button,.quiet-button,.text-button{border-radius:13px;min-height:49px;padding:10px 15px;font-size:17px;font-weight:550;display:inline-flex;align-items:center;justify-content:center;text-align:center}.primary-button{background:var(--green);color:#fff;border:1px solid #376a5b;box-shadow:0 3px 0 #2c594e15}.tool-button,.quiet-button{border:1px solid #dce2ca;background:#f3f3e4}.text-button{color:var(--green)}.wide{width:100%}.close-button{font-size:29px;border-radius:50%;width:48px;height:48px;min-width:48px;display:grid;place-items:center;background:#e8eddc}.button-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.button-row .primary-button{flex:1}.action-stack{display:grid;gap:9px}
.tag{display:inline-block;font-size:13px;padding:5px 9px;border-radius:7px;background:#e2e9d5;color:#6b8567;margin:3px}.tag.pink{background:#f2e0e3;color:#ac7082}.tag.gold{background:#eee1bb;color:#97784b}
.module-link{display:flex;align-items:center;gap:10px;width:100%;text-align:left;min-height:74px;border-bottom:1px solid #e1e5d6;padding:9px 0}.module-link:last-child{border:0}.module-icon{height:44px;width:44px;border-radius:13px;background:#e8eedf;display:grid;place-items:center;font-size:24px;flex-shrink:0}.module-link strong{font-size:18px}.module-link small{display:block;font-size:12px;color:var(--muted);margin-top:4px}.module-link .arrow{margin-left:auto}
.product-list{display:grid;gap:9px;margin:13px 0}.product{display:flex;gap:10px;align-items:center;text-align:left;min-height:64px;padding:10px;border:1px solid #d9dec9;border-radius:14px;background:#faf9ef}.product.selected{border:2px solid #87a488;background:#e5edda}.swatch{width:36px;height:42px;border-radius:10px;background:#e8e8d7;display:grid;place-items:center;flex-shrink:0;font-size:24px}.product strong{font-size:17px}.product small{display:block;font-size:13px;color:#819074;margin-top:4px}.product .status{margin-left:auto;font-size:12px;color:#4a7866;white-space:nowrap}.item-detail{font-size:14px;color:#879277;margin:11px 0;line-height:1.6}
.move-pad{position:absolute;left:23px;bottom:23px;display:flex;flex-direction:column;align-items:center;gap:5px;z-index:5;user-select:none}.move-pad>div{display:flex;gap:5px}.move-pad button{width:62px;height:60px;border:2px solid #fffbe0;border-radius:19px;background:#fff7e2bc;font-size:28px;color:#648066;box-shadow:0 3px 0 #77956415;touch-action:none}.interaction-hint{position:absolute;bottom:126px;left:50%;transform:translateX(-50%);background:#fffcf0ed;border:2px solid #fff8de;border-radius:25px;min-height:50px;padding:10px 20px;font-size:19px;box-shadow:0 4px 0 #6a82561a;white-space:nowrap;z-index:5}
.journey{position:absolute;left:225px;bottom:25px;pointer-events:none;z-index:4}.journey>span{font-size:13px;color:#647e60;letter-spacing:1px;display:block;margin-bottom:8px}.journey ol{list-style:none;display:flex;gap:6px;padding:0;margin:0}.journey li{width:31px;height:31px;border:1px solid #f8efd9;border-radius:50%;background:#fff7df8c;color:#9d9f87;display:grid;place-items:center;font-size:11px}.journey li.done{background:#5e8e70;color:#fff;border-color:#f9f1d7}
.game-toolbar{position:absolute;right:19px;bottom:20px;display:flex;gap:8px;align-items:center;z-index:5}.game-toolbar button{position:relative;background:#fff9e6ed;border:2px solid #fffdea;border-radius:19px;width:70px;height:73px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;box-shadow:0 4px 0 #5d72551a;font-size:14px;white-space:nowrap}.game-toolbar button>span{font-size:27px;line-height:1.1;color:#648566}.game-toolbar b{position:absolute;top:2px;right:4px;font-size:10px;border-radius:10px;background:#c28290;color:#fff;min-width:16px;padding:2px}.game-toolbar button.camera-launch{background:#4f806a;color:#fff;width:90px;font-size:15px}
.game-frame.camera-mode .game-toolbar,.game-frame.camera-mode .context-panel,.game-frame.camera-mode .panel-toggle,.game-frame.camera-mode .move-pad,.game-frame.camera-mode .journey,.game-frame.camera-mode .scene-note,.game-frame.camera-mode .back-town{display:none}.camera-overlay{position:absolute;inset:106px 139px 113px;pointer-events:none}.camera-corner{position:absolute;width:31px;height:31px;border-color:white;border-style:solid}.tl{left:0;top:0;border-width:3px 0 0 3px}.tr{right:0;top:0;border-width:3px 3px 0 0}.bl{left:0;bottom:0;border-width:0 0 3px 3px}.br{right:0;bottom:0;border-width:0 3px 3px 0}.camera-label{position:absolute;top:-30px;color:#fff;font-size:14px;letter-spacing:1px}.camera-controls{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);width:685px;background:#fff9e3ee;border:2px solid #fffde9;border-radius:22px;box-shadow:0 5px 0 #53754715;padding:12px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;z-index:8}.camera-controls>span{font-size:14px;max-width:92px;color:#82916d}.camera-controls>div{display:flex;gap:9px;align-items:center}.filter{border:1px solid #cdd7b8;background:#fffce9;border-radius:14px;min-height:52px;min-width:64px;font-size:17px}.filter.active{background:#dce9c9;color:#4f765b;border:2px solid #93ae7e}
.question-overlay{position:absolute;left:160px;right:160px;top:123px;text-align:center;pointer-events:none;color:#39553f;padding:13px;border:2px solid #fff7df;border-radius:18px;background:#fffbedef;box-shadow:0 5px 0 #697e3915;z-index:4}.question-overlay .question-meta{font-size:12px;color:#82926a;display:flex;justify-content:space-between;margin-bottom:6px}.question-overlay h2{font-size:20px;margin:4px 0 9px}.answers{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;text-align:center;font-size:13px}.answers>div{border-radius:10px;padding:7px 5px;color:#fff;line-height:1.35}.answers strong{display:block;font-size:17px;margin-bottom:3px}.game-frame[data-scene=party][data-panel=open] .question-overlay{left:126px;right:312px;font-size:12px}.game-frame[data-scene=party][data-panel=open] .question-overlay h2{font-size:16px}.game-frame[data-scene=party][data-panel=open] .answers{font-size:11px}
dialog{position:fixed;left:var(--frame-left);top:var(--frame-top);width:var(--frame-width);height:var(--frame-height);max-width:none;max-height:none;margin:0;border:0;padding:0;background:#31483b87;color:var(--ink);overflow:hidden;contain:paint}dialog::backdrop{background:transparent}
#modal-body{position:absolute;left:36px;top:26px;width:888px;height:488px;border:2px solid #fff9e6;border-radius:24px;background:var(--white);box-shadow:0 8px 0 #283d391a;overflow:hidden;display:flex;flex-direction:column}.modal-header{min-height:77px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:13px 22px;gap:10px;background:#f7f4e8}.modal-header h2{font-size:26px;margin:5px 0 0;line-height:1.2}.modal-content{padding:18px 22px 22px;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b3c09b #f0eedc}.modal-content p{font-size:17px;color:#78886b;margin:9px 0 15px}.modal-content h3{font-size:21px}.modal-content label{font-size:17px;color:#708368;display:block;margin:12px 0 6px}.modal-content input,.modal-content textarea{width:100%;padding:12px;border:1px solid #d5debf;border-radius:13px;background:#fffdf5;color:var(--ink);font-size:19px;resize:none;min-height:49px}.modal-content textarea{min-height:80px}.modal-content input[type=checkbox]{min-height:24px;width:24px;height:24px;accent-color:#4f806a;flex-shrink:0}.modal-content label.button-row{display:flex;font-size:16px;line-height:1.5}.modal-content .primary-button,.modal-content .tool-button{min-height:53px}
dialog:is([data-view=leave-store],[data-view=leave-party]) #modal-body{left:160px;top:130px;width:640px;height:280px}
dialog:is([data-view=leave-store],[data-view=leave-party]) .modal-header h2{font-size:23px}
.empty{padding:25px;text-align:center;color:#8c9a80;background:#f3f3e5;border-radius:15px;line-height:1.8}.album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.photo-card{border:1px solid #dae1c7;border-radius:15px;overflow:hidden;background:#f5f4e9}.photo-card img{display:block;width:100%;aspect-ratio:1.6;object-fit:cover}.photo-card>div{padding:10px;font-size:16px}.photo-card button{font-size:16px}.preview-photo{width:100%;border-radius:15px;display:block;border:1px solid #dce2c9}.compose-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:21px}.compose-grid p{font-size:16px}.compose-grid label:first-child{margin-top:0}
dialog[data-view=photo] .modal-content{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;align-content:center}dialog[data-view=photo] .preview-photo{grid-row:1/3;align-self:center}dialog[data-view=photo] .button-row{display:grid;gap:8px}dialog[data-view=photo] .modal-content p{margin:0}
.community-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.post-card{border:1px solid #dce3cc;border-radius:17px;overflow:hidden;background:#fffef7}.post-image{display:block;width:100%;aspect-ratio:1.6;object-fit:cover;background:#e5ead9}.post-content{padding:14px}.post-author{font-size:18px;font-weight:650;display:flex;align-items:center;gap:8px}.post-author:before{content:'';width:25px;height:25px;min-width:25px;border-radius:9px;background:#d4e1c2}.post-content p{font-size:17px;margin:10px 0;line-height:1.6}.post-tools{display:flex;gap:7px;align-items:center;margin-top:10px;flex-wrap:wrap}.post-tools button{background:#eef2df;border-radius:10px;padding:9px 11px;font-size:15px;min-height:43px}.post-tools button.liked{color:#b4657e;background:#f6e5e6}.comments{font-size:14px;line-height:1.7;color:#849674;padding-top:8px}.comment-form{display:flex;gap:7px;margin-top:9px}.comment-form input{font-size:16px;min-width:0;padding:8px}.comment-form button{background:#e6edcf;border-radius:10px;padding:8px;white-space:nowrap;font-size:16px}
.activity-tabs{display:flex;gap:10px;margin:15px 0}.activity-tabs button{font-size:17px;border:1px solid #d2dfc2;background:#f2f5e6;border-radius:12px;min-height:48px;padding:8px 20px}.activity-tabs button.active{background:#dfeacb;border-color:#8ca974;color:#4d7754}.activity-banner{background:#efe5cf;border-radius:17px;padding:16px 20px;display:flex;justify-content:space-between;gap:18px;align-items:center}.activity-banner h3{font-size:25px;margin:5px 0}.activity-banner p{font-size:15px;margin:0}.phase-tag{font-size:16px;border:1px solid #c3c59a;background:#faf3dc;border-radius:22px;padding:8px 13px;white-space:nowrap}.demo-controls{padding:13px;margin-top:15px;border-radius:15px;display:flex;justify-content:space-between;align-items:center;gap:15px;background:#eef1df;font-size:15px;color:#839674}.demo-controls button{background:#dde7c9;border-radius:12px;min-height:46px;padding:8px 13px;font-size:16px;color:#5c8059;white-space:nowrap}
.inventory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.inventory-grid .product{flex-direction:column;text-align:center;min-height:130px}.inventory-grid .swatch{width:45px;height:47px}.help-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.help-grid section{padding:18px;border:1px solid #d9e1c8;border-radius:15px;background:#f6f5e7}.help-grid h3{font-size:21px;margin:0}.help-grid p{font-size:16px;margin:9px 0 14px}
.onboard{max-width:440px;margin:auto;text-align:center;padding:0}.onboard .brand-mark{width:42px;height:42px;font-size:27px;margin:auto}.onboard p{font-size:17px;margin:8px 0}.onboard input{text-align:center;font-size:22px}.onboard .primary-button{width:100%;margin-top:13px;min-height:55px}.onboard>p:last-child{font-size:12px!important;line-height:1.5;margin-top:9px}
.room-code{font-family:monospace;font-size:29px;letter-spacing:4px;color:#527e62;margin:12px 0}.player-list{display:grid;gap:7px;margin:12px 0}.player-row{background:#eef2dd;border-radius:12px;display:flex;justify-content:space-between;padding:11px;font-size:15px;gap:9px}.player-row.ready{background:#dfebcf}.result-card{text-align:center;border:1px solid #d9d3b9;background:#f0e7d4;border-radius:17px;padding:15px;margin-bottom:14px}.result-card h2{font-size:26px;margin:8px 0}.result-card p{font-size:16px}.result-symbol{font-size:30px;color:#bf9a67}.connection-note{font-size:12px;padding:8px;background:#e8efda;border-radius:9px;color:#7a9170;margin:10px 0}.connection-note.error{background:#f4dedb;color:#a35a64}.network-dot{display:inline-block;width:6px;height:6px;background:#77a781;border-radius:50%;margin-right:5px}.offline-banner{background:#f3dfda;color:#a35b5b;border-radius:14px;padding:16px}
.toast-host{position:fixed;left:var(--frame-left);top:var(--frame-top);width:var(--frame-width);height:var(--frame-height);pointer-events:none;z-index:30;overflow:hidden}.toast{position:absolute;bottom:110px;left:50%;transform:translateX(-50%);max-width:680px;background:#344e42f2;color:#fff;font-size:18px;line-height:1.5;padding:12px 22px;border:1px solid #fffcda88;border-radius:17px;box-shadow:0 5px 20px #20322430;text-align:center;z-index:30;pointer-events:none}
.rotate-hint{display:none;position:fixed;inset:0;background:#263e34;color:#f7f0df;z-index:90;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:30px}.rotate-hint>span{font-size:75px;color:#d5b186}.rotate-hint strong{font-size:23px}.rotate-hint p{font-size:14px;line-height:1.8}
@media(orientation:portrait) and (pointer:coarse){.rotate-hint{display:flex}dialog[open]{visibility:hidden}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* 第一套视觉基准：暖光玩具小镇；以下只调整表现，不改变玩法和存档。 */
:root{--paper:#fff9ee;--ink:#4d6257;--muted:#8a927d;--line:#e4ddcc;--green:#72987e;--rose:#da8793;--white:#fffaf0}
.ui-icon{display:inline-block;width:25px;height:25px;object-fit:contain;vertical-align:middle;flex-shrink:0;opacity:.72}.small-icon{width:16px;height:16px}.light-icon{filter:invert(1);opacity:1}.coin-icon{filter:invert(65%) sepia(49%) saturate(527%) hue-rotate(349deg) brightness(97%);opacity:1}
.asset-loading{position:absolute;inset:0;z-index:40;display:grid;place-items:center;background:#fff8ec;color:#778970;font-size:22px}
.game-hud{top:18px;align-items:flex-start}.brand{min-width:0;gap:7px;font-size:20px;letter-spacing:1px;padding:2px 12px 2px 5px;background:#fff9eadc;border:1px solid #fffdf1;border-radius:30px;box-shadow:0 3px 9px #6c634713;height:43px}.brand-mark{width:39px;height:39px;display:block;object-fit:contain;border:0;border-radius:0;box-shadow:none;background:none}.brand small{display:none}
.scene-header{padding:6px 14px;min-width:130px;border:1px solid #fff8ea;background:#fff9e8d9;border-radius:18px}.scene-header strong{font-size:15px}.scene-header span{font-size:10px}.game-frame[data-scene=town] .scene-header{display:none}
.header-right{gap:8px}.wallet{height:41px;display:flex;align-items:center;gap:6px;padding:7px 14px;border:1px solid #fffdf1;background:#fffae6e8;font-size:18px;color:#7c8163;box-shadow:0 3px 9px #6c634713}.wallet .ui-icon{width:26px;height:26px}.profile-button,.hud-icon{width:42px;height:42px;padding:8px;border:1px solid #fffdf1;border-radius:50%;background:#fff9e8e6;box-shadow:0 3px 9px #6c634713;display:grid;place-items:center}.profile-button .ui-icon{width:24px;height:24px}.profile-button{background:#edf1dded}
.scene-note{display:none}.back-town{top:76px;min-height:39px;padding:7px 12px;font-size:15px;border:1px solid #fffdf1;display:flex;align-items:center;gap:5px;border-radius:22px}.back-town .ui-icon{width:20px;height:20px}
.context-panel{top:76px;bottom:124px;width:270px;border:1px solid #fffdf1;border-radius:22px;background:#fff9eef2;box-shadow:0 8px 26px #6a63441b}.context-heading{height:47px;min-height:47px;padding-left:16px}.context-heading strong{font-size:17px}.close-button{width:37px;height:37px;min-width:37px;background:#e9eddf}.close-button .ui-icon{width:21px;height:21px}.side-panel{padding:12px}.context-footer{padding:8px 12px;border-top:1px solid #e6e0cf;display:flex;gap:7px;flex-wrap:wrap;background:#fffaef}.menu-tool{height:35px;background:#eaf0df;border-radius:18px;padding:6px 9px;display:flex;align-items:center;gap:5px;font-size:14px}.menu-tool .ui-icon{width:19px;height:19px}.menu-tool:first-child{flex:1}.menu-tool b{font-size:12px;color:#9a8168}.context-footer .journey{position:static;display:flex;gap:12px;align-items:center;width:100%;margin-top:2px}.journey>span{font-size:11px;margin:0;letter-spacing:0}.journey ol{gap:4px}.journey li{width:23px;height:23px;font-size:9px;border:1px solid #e4ddca;background:#f3ebda}.journey li.done{background:#87a789}
.game-frame:not([data-scene=town]) .context-footer .journey{display:none}.game-frame:not([data-scene=town]) .context-footer{padding:7px 12px}.game-frame[data-scene=town] .side-panel>.panel-note{display:none}
.module-link{min-height:64px;gap:10px}.module-link strong{font-size:16px}.module-link small{font-size:11px}.module-icon{width:39px;height:39px;border-radius:50%;background:#e7eddc}.module-icon .ui-icon{width:23px;height:23px}.module-link .arrow{display:flex}
.product-list{gap:7px}.product{min-height:61px;padding:5px 8px;gap:7px;background:#fffaf0;border-color:#e3dcc9;border-radius:14px}.product.selected{border:2px solid #a4b996;background:#edf2e2}.product strong{font-size:15px}.product small{font-size:11px}.product .status{font-size:11px}.product-art{display:block;object-fit:contain;flex-shrink:0}.outfit-art{width:42px;height:52px}.furniture-art{width:58px;height:43px;border-radius:9px}.inventory-grid .product-art{width:80px;height:100px}.inventory-grid .product{min-height:156px}
.primary-button{background:#7e9d82;border-color:#719476;box-shadow:0 3px 0 #53704f18}.primary-button,.tool-button,.quiet-button,.text-button{gap:6px;font-size:15px;min-height:43px;border-radius:15px}.tool-button,.quiet-button{background:#edf1df;border-color:#dce3cb}.primary-button .ui-icon{filter:invert(1);opacity:.95}.panel-card h2{font-size:21px}.panel-card p{font-size:14px}.item-detail{font-size:12px}
.move-pad{left:27px;bottom:32px;width:132px;height:132px;display:block;border:2px solid #fffcdfb8;border-radius:50%;background:#fff9df70;box-shadow:0 4px 16px #5c765419;backdrop-filter:blur(2px)}.joystick-cap{position:absolute;left:44px;top:44px;width:40px;height:40px;border-radius:50%;background:#f6f2d7c9;border:1px solid #fff8df;box-shadow:0 3px 8px #6b7c5826}.move-pad button{position:absolute;border:0;background:transparent;box-shadow:none;border-radius:50%;width:44px;height:44px;display:grid;place-items:center;padding:10px;touch-action:none}.move-pad button:active{background:#fff9e6b0}.move-pad .ui-icon{width:24px;height:24px;opacity:.35}.move-pad [data-move=up]{left:42px;top:0}.move-pad [data-move=left]{left:0;top:42px}.move-pad [data-move=down]{left:42px;bottom:0}.move-pad [data-move=right]{right:0;top:42px}
.game-toolbar{right:27px;bottom:30px;gap:11px;align-items:flex-end}.game-toolbar button{width:72px;height:72px;border:2px solid #fffdf1;border-radius:50%;font-size:12px;background:#fff9e9ed;box-shadow:0 4px 12px #5a704326;gap:4px}.game-toolbar .ui-icon{width:28px;height:28px;opacity:.58}.game-toolbar button.camera-launch{width:88px;height:88px;background:#dc8d97;color:#fff;font-size:14px;gap:5px}.camera-launch .ui-icon{width:34px;height:34px;filter:invert(1);opacity:1}.game-toolbar button>span{font-size:14px;color:inherit}
.interaction-hint{bottom:126px;min-height:38px;padding:8px 15px;font-size:14px;border:1px solid #fffbed;background:#fff9e9ed;box-shadow:0 4px 12px #6879501c}.game-frame.camera-mode .game-hud{display:none}.camera-controls{width:615px;border:1px solid #fffdf1;border-radius:27px;padding:9px 12px}.camera-controls>span{font-size:14px}.camera-controls>div{gap:8px}.filter{font-size:15px;min-height:43px;min-width:61px;border-radius:20px}.filter.active{background:#e5edda;border-color:#acbea0}.camera-overlay{inset:92px 120px 110px}.camera-label{text-shadow:0 1px 4px #536742}
.question-overlay{top:80px;left:180px;right:180px;border:1px solid #fffdf1;background:#fff9eeed;border-radius:24px;box-shadow:0 5px 15px #65744925}.question-overlay h2{font-size:18px}.answers{font-size:12px}.question-overlay .question-meta{font-size:11px}.game-frame[data-scene=party][data-panel=open] .question-overlay{left:125px;right:302px}
.post-author:before{content:none}.author-avatar{width:32px;height:35px;object-fit:cover;object-position:top;border-radius:50%;background:#eef0df}.post-tools button{display:flex;align-items:center;gap:4px}.post-tools .ui-icon{width:18px;height:18px}.post-tools button.liked .ui-icon{filter:invert(45%) sepia(40%) saturate(577%) hue-rotate(300deg)}.post-image,.photo-card img{aspect-ratio:16/9}.result-avatar{width:76px;height:90px;object-fit:contain;display:block;margin:auto}.onboard .brand-mark{width:58px;height:58px;display:block;margin:auto}.modal-header{background:#faf6e9}.modal-header h2{font-size:24px}.modal-content p{font-size:16px}.result-card{background:#f6ecd8}.toast{font-size:16px;border-radius:22px}
.game-frame:is([data-scene=clothing],[data-scene=furniture]) .scene-header{display:none}
.scene-interactions{position:absolute;inset:0;z-index:5;pointer-events:none}.scene-interactions button{pointer-events:auto;position:absolute;transform:translate(-50%,-50%);border:1px solid #fffdf1;box-shadow:0 4px 14px #67634b24;backdrop-filter:blur(5px)}.scene-object-button{width:105px;min-height:62px;border-radius:22px;background:#fff9e6dc;display:grid;grid-template-columns:25px 1fr;align-content:center;align-items:center;gap:3px 4px;padding:8px;color:#788167}.scene-object-button>.ui-icon{width:23px;height:23px;grid-row:1}.scene-object-button strong{font-size:15px;text-align:left}.scene-object-button small{grid-column:1/-1;font-size:11px;white-space:nowrap}.scene-object-button.in-range{background:#edf4e4f2;border-color:#b2c89f;color:#496f53}.scene-object-button.is-active{background:#87a18bea;color:#fff}.scene-object-button.is-active .ui-icon{filter:invert(1);opacity:.95}.scene-price-button{min-height:43px;max-width:160px;padding:8px 12px;display:flex;gap:5px;align-items:center;border-radius:17px;font-size:13px;background:#fff9e6f2;color:#8c805f;white-space:nowrap}.scene-price-button.in-range{background:#f9e8bcf5;color:#806532}.shop-cart-button{position:absolute;left:50%;top:0;transform:translateX(-50%);min-height:43px;padding:8px 15px;display:flex;align-items:center;gap:7px;border-radius:25px;background:#fff9e8eb;border:1px solid #fffdf1;box-shadow:0 3px 9px #6c634713;font-size:16px;pointer-events:auto;white-space:nowrap}.shop-cart-button .ui-icon{width:24px;height:24px}.game-frame.camera-mode .scene-interactions{display:none}
.cart-item{display:flex;align-items:center;gap:14px;border:1px solid #e2e2d2;background:#fffbee;border-radius:16px;padding:10px 14px;margin:9px 0;cursor:pointer}.cart-item>img{width:62px;height:72px;object-fit:contain;border-radius:9px}.cart-item>span{flex:1;display:grid;gap:6px}.cart-item strong{font-size:18px}.cart-item small{font-size:14px;color:#8e957f}.cart-item input{width:27px;height:27px;accent-color:#7e9d82;margin:0;cursor:pointer}.trial-history{margin:16px 0;padding:12px 14px;background:#f0f0e2;border-radius:16px}.trial-history summary{cursor:pointer;font-size:17px;font-weight:600;min-height:35px}.shop-checkout-bar{position:sticky;bottom:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;background:#faf6ec;z-index:1}.shop-checkout-bar>span{font-size:18px}.shop-checkout-bar strong{font-size:26px;color:#768e68}.shop-explanation{font-size:13px!important;color:#949986}.furniture-shop-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:30px}.furniture-preview{background:#f1ead9;border-radius:20px;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:18px}.furniture-preview>img{width:100%;height:220px;object-fit:contain}.furniture-preview>p{font-size:12px;color:#9b957d;margin:15px 0 0}.furniture-price{font-size:35px;color:#7d8e68;margin:15px 0}.furniture-price small{font-size:16px}.checkout-items>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid #e0e2d1;padding:15px 0;font-size:18px}.scene-object-button:focus-visible,.scene-price-button:focus-visible,.shop-cart-button:focus-visible{outline:3px solid #708e67;outline-offset:4px}
.modal-content label.cart-item{display:flex;margin:9px 0}.cart-item>img{flex-shrink:0}.modal-content .cart-item input[type=checkbox]{width:27px;height:27px;padding:0}
