*{box-sizing:border-box}body{margin:0;background:linear-gradient(145deg,#e6f5ed,#f7e8cd);color:#243e38;font:17px system-ui,sans-serif}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;min-height:48px;border:2px solid #b2c7bd;border-radius:16px;background:#fffdf8;color:#24463b;padding:10px 16px;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:4px solid #ba6326;outline-offset:3px}button:disabled{cursor:default}header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px;max-width:650px;margin:auto;font-size:13px}header a{color:inherit;padding:12px 0}header button{font-size:12px;padding:8px}main{max-width:600px;margin:auto;padding:0 14px 32px}.welcome{display:flex;align-items:center;gap:10px}.welcome model-viewer{width:80px;height:100px;flex-shrink:0}.eyebrow{font-size:10px;letter-spacing:2px}h1{font-size:24px;margin:4px 0}p{line-height:1.45}.welcome p:last-child{font-size:14px;margin:8px 0 16px}.play{padding:16px;border-radius:26px;background:#ffffffc9;border:1px solid white;box-shadow:0 12px 40px #344f3812}.progress-head{display:flex;justify-content:space-between;font-size:14px}#building{height:100px;margin:8px auto;text-align:center}#building svg{height:100%;max-width:100%}#instruction{font-weight:700;text-align:center;margin:10px 0}.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.card{height:100px;padding:4px;font-size:30px;background:#3c6759;color:white;border:0;box-shadow:0 4px 0 #284d42}.card img{width:100%;height:68px;object-fit:contain;border-radius:9px}.card span{display:block;font-size:11px;color:#254336}.card.revealed{background:#fff7df}.card.matched{background:#dcefd6;box-shadow:0 0 0 2px #71946c;opacity:.75}#feedback{min-height:44px;font-size:15px;text-align:center;margin:14px 0 4px}.primary{display:block;width:100%;background:#e6ae55;border-color:#b77b28;font-weight:750}.village{margin-top:20px;padding:14px;background:#ffffff80;border-radius:20px}.village summary{padding:10px;cursor:pointer}.village model-viewer{width:100%;height:260px}.village p,footer{font-size:13px}footer{text-align:center;margin-top:24px}dialog{max-width:500px;width:92%;border:0;border-radius:24px;padding:24px;max-height:85vh}dialog::backdrop{background:#193b36aa}.dialog-title{display:flex;justify-content:space-between;align-items:center}input{font:inherit;padding:12px;max-width:100%;margin:12px 0}#storage-warning{padding:0 20px;color:#8e321c}[hidden]{display:none!important}@media(max-width:360px){header strong{max-width:100px}.card{height:88px}.card img{height:56px}.play{padding:12px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
.game-tabs{display:flex;gap:6px;margin:10px 0}.game-tabs button{flex:1;font-size:13px;padding:8px}.game-tabs [aria-pressed=true],.collection [aria-pressed=true]{background:#315c4d;color:white}.coin-purse{text-align:right;font-weight:bold}.sandbox{background:#fffdf4;border-radius:24px;padding:18px;margin-top:16px}.sandbox h2{font-size:24px}.style-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.style-fields label{font-size:14px}.style-fields select{display:block;width:100%;font:inherit;padding:12px;margin:6px 0 12px;border:1px solid #8ba99b;border-radius:10px;background:white}#avatar-preview{width:120px;margin:auto}#house-preview{width:160px;margin:auto}.plots{display:grid;gap:8px;margin:14px 0}.plots.village{grid-template-columns:repeat(3,1fr);background:#c9dfb8}.plots.room{grid-template-columns:repeat(2,1fr);background:#eedbc1;padding:12px}.plots button{min-width:0;height:100px;padding:4px}.plots img,#shop-items img{width:65px;height:58px;object-fit:contain}.plots span,#shop-items span{font-size:36px}.plots small,#shop-items small{display:block;font-size:12px}.collection{display:flex;gap:8px;flex-wrap:wrap}.collection button{font-size:13px}#quests article{border-top:1px solid #c5d1c8;padding:16px 0}#quests p{font-size:14px}#shop-items{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.sandbox summary{font-weight:bold;padding:16px 0;cursor:pointer}.sandbox button:disabled{opacity:.5}select:focus-visible{outline:3px solid #ba6326}

#world-wrap{position:relative;border-radius:20px;overflow:hidden;background:#badcce}#world{display:block;width:100%;height:440px;touch-action:none}#world-status{position:absolute;top:8px;left:10px;right:10px;margin:0;background:#ffffffde;border-radius:12px;padding:8px;font-size:13px;pointer-events:none}.world-controls{position:absolute;bottom:10px;left:10px;right:10px;display:flex;align-items:end;justify-content:space-between;gap:8px}.walk-pad{display:grid;grid-template-columns:repeat(3,48px);gap:4px}.walk-pad button{padding:0;touch-action:none;background:#ffffffe8}.walk-pad [data-walk=up]{grid-column:2}.walk-pad [data-walk=left]{grid-column:1}.world-controls #talk{max-width:145px;font-size:13px;background:#ffedb9}.place-tools{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.place-tools label{width:100%}.place-tools select{display:block;width:100%;padding:12px;font:inherit;margin:5px 0}#conversation{padding:18px;background:#ffedc7;border-radius:18px;margin:12px 0}#conversation button{margin:4px}#world-wrap+div button{font-size:14px}@media(max-width:380px){#world{height:380px}.walk-pad{grid-template-columns:repeat(3,42px)}.world-controls #talk{max-width:110px}}

[hidden]{display:none!important}.home-controls{display:flex;gap:12px;margin:12px 0}.home-controls button,#room-tools button,#room-item{min-height:48px}#room-tools label{width:100%}#room-tools select{width:100%;font-size:16px}

.furniture-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:8px 0}.furniture-actions button{min-width:48px;min-height:48px}#room-edit{width:100%}

#room-use{max-width:140px;font-size:14px;background:#ffedb9;min-height:52px}

.room-switcher{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0}.room-switcher [aria-pressed=true]{background:#315c4d;color:white}#room-tools>.style-fields{width:100%}

#avatar-canvas{display:block;width:100%;height:300px;background:radial-gradient(ellipse,#f9edd0,#e4efe5);border-radius:24px;margin-bottom:18px}.style-fields select{min-height:48px;font-size:16px}
