:root{font-family:Hiragino Maru Gothic ProN,Yu Gothic,system-ui,sans-serif;color:#725242;background:#f3e9df;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button{font:inherit;color:inherit;cursor:pointer;border:1px solid #e8cabc;background:#fffaf0;border-radius:16px;min-height:44px;padding:10px 12px;touch-action:manipulation}button:hover{background:#fff0e9}button:focus-visible{outline:3px solid #9c6576;outline-offset:3px}.game-shell{width:min(100%,560px);min-height:720px;height:100dvh;margin:0 auto;display:flex;flex-direction:column;background:#fff5dd;box-shadow:0 0 60px #72524212}#hud{padding:max(16px,env(safe-area-inset-top)) 22px 14px;background:#fff9ec}h1,h2,h3,p{margin:0}h1{font-size:19px;line-height:1.35;letter-spacing:.05em}.topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.coin-pill{background:#fff0bd;border:1px solid #f0d89e;border-radius:24px;padding:9px 14px;font-size:20px;font-weight:700;white-space:nowrap}.coin-pill>span:first-child{color:#b99146}.coin-unit{font-size:11px;font-weight:400;margin-left:4px}.affinity-card{margin-top:12px;padding:10px 14px;border:1px solid #edd9cd;border-radius:14px;background:#fffdf7;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:13px}#selected-name{font-weight:700}.affinity-track{height:5px;width:100%;border-radius:10px;background:#f4e4dd}.affinity-track i{display:block;width:0;height:100%}.scene-viewport{flex:1;min-height:240px;position:relative;overflow:hidden;background:#f8dce2}#game{position:absolute;inset:0;display:grid;place-items:center}#game canvas{display:block;touch-action:pan-y}.scene-caption{position:absolute;top:22px;left:10px;right:10px;text-align:center;font-size:12px;letter-spacing:.1em;pointer-events:none;color:#957361}#controls{padding:12px 16px max(14px,env(safe-area-inset-bottom));background:#fff9ec;border-top:1px solid #ebd6c4}.character-tabs{display:flex;gap:8px;justify-content:center}.character-tabs button{padding:8px 24px;border-radius:24px;font-size:13px}.character-tabs button[aria-pressed=true]{background:#f7d4dd;border-color:#dca6b4;font-weight:700}.feedback{min-height:38px;padding:9px 2px;font-size:12px;line-height:1.6;text-align:center}.care-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.care-buttons button{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:13px;font-weight:700;background:#ffe7e6;border-color:#efc5c7}.care-buttons button span{font-size:22px;font-weight:400;color:#b37c85;line-height:1.1}.menu-buttons{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:10px}.menu-buttons button{padding:8px 3px;border:none;background:transparent;font-size:12px}.menu-buttons button:hover{background:#f5e7db}[data-screen=title] #hud,[data-screen=loading] #hud{text-align:center;padding-top:28px;padding-bottom:18px}.eyebrow{font-size:10px;letter-spacing:.2em;color:#a78670;margin-bottom:12px}.title-name{font-size:clamp(26px,7vw,38px);line-height:1.4;letter-spacing:.06em}.title-subtitle{margin-top:10px;font-size:13px;color:#997362}[data-screen=title] #controls{text-align:center;padding:22px 26px 24px}.primary{display:block;width:100%;max-width:320px;margin:0 auto;background:#efbac9;border-color:#dca2b3;min-height:54px;font-weight:700;box-shadow:0 4px #dbacb7}.welcome-note{margin-top:18px;font-size:12px;color:#a0806b}[data-screen=loading] #controls{text-align:center;padding:24px}[data-screen=loading] #feedback{font-size:14px;line-height:1.7}#retry-load{margin-top:16px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}dialog{width:min(90vw,460px);max-height:80dvh;padding:20px;border:1px solid #e3c6b8;border-radius:24px;color:#725242;background:#fffaf0;box-shadow:0 18px 80px #72524233}dialog::backdrop{background:#59433666}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;position:sticky;top:-20px;background:#fffaf0;margin:-4px 0 18px}h2{font-size:20px}#close-menu{min-width:44px;font-size:24px;padding:4px;border-radius:50%}#menu-content{font-size:14px;line-height:1.8}.muted{color:#a0806b;font-size:12px;margin-top:12px}.secondary{width:100%;margin-top:20px}.collection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;text-align:center}.collection-grid article{padding:12px 4px;border-radius:16px;background:#f8ece0}.collection-grid img{width:100%;height:150px;object-fit:contain}.collection-grid h3{font-size:15px}.collection-grid p{font-size:11px}@media(max-width:350px){#hud{padding-inline:14px}#controls{padding-inline:10px}.coin-pill{padding:8px 10px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}}.mood-line{display:flex;justify-content:space-between;width:100%;font-size:11px;color:#997362}.affinity-track i{background:#e5a9bb;border-radius:10px}.save-notice{padding:5px 14px max(8px,env(safe-area-inset-bottom));text-align:center;font-size:10px;line-height:1.5;background:#fff9ec;color:#997362}.save-notice.warning{color:#8a4935;background:#ffe8d5;font-size:12px}.food-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:16px}.food-grid button{min-width:0;padding:8px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;font-size:12px}.food-grid button span{font-size:28px}.food-grid img{display:block;width:min(100%,80px);height:auto;aspect-ratio:1;object-fit:contain;margin:0;flex-shrink:0}.coin-icon{width:36px;height:36px;object-fit:contain;vertical-align:middle;margin:-6px}.furniture-list{display:grid;gap:12px;margin-top:14px}.furniture-card{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;border:1px solid #e8cabc;border-radius:16px;background:#fff5e8}.furniture-card>div{flex:1;min-width:130px}.furniture-card h3{font-size:15px}.furniture-card p{font-size:12px}.furniture-symbol{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#f6dbe1;font-size:26px}button:disabled{opacity:.55;cursor:default}#shop-message{color:#946075;min-height:28px}.furniture-preview{width:64px;height:64px;object-fit:contain;border-radius:10px}.tutorial{display:flex;align-items:center;gap:8px;padding:10px;margin-top:8px;background:#fff0bd;border-radius:12px;font-size:12px;line-height:1.7}.tutorial[hidden]{display:none}.tutorial button{flex-shrink:0}.settings-form{display:grid;gap:12px;margin-bottom:16px}.settings-form label{display:block;min-height:44px}.settings-form input[type=range]{display:block;width:100%;min-height:44px}.settings-form input[type=checkbox]{width:20px;height:20px;vertical-align:middle;margin-right:8px}[data-reduced-motion=true] *,[data-reduced-motion=true] *:before,[data-reduced-motion=true] *:after{animation:none!important;transition:none!important}.catalog-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}.catalog-tabs button{flex:1;font-size:12px;padding:8px;white-space:nowrap}.catalog-tabs button[aria-pressed=true]{background:#f7d4dd;border-color:#dca6b4;font-weight:700}.catalog-count{margin:10px 0;font-weight:700}.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.catalog-card{min-width:0;padding:12px;border:1px solid #e8cabc;border-radius:16px;background:#fff5e8;text-align:center}.catalog-image,.catalog-missing{width:100%;height:120px;object-fit:contain;border-radius:12px;background:#fffaf0}.catalog-missing{display:grid;place-items:center;color:#c9aca0;font-size:40px}.catalog-card h3{margin-top:8px;font-size:14px;line-height:1.5}.catalog-status{font-size:11px;color:#936075;margin-top:6px}.catalog-card .muted{margin-top:6px}.achievement-list{display:grid;gap:12px}.achievement-list article{display:flex;gap:12px;padding:12px;border-radius:12px;background:#fff0bd}.achievement-list span{font-size:28px}.achievement-list h3{font-size:14px}.achievement-list p{font-size:12px}.memory-grid{grid-template-columns:1fr}.memory-grid .catalog-image{height:auto;aspect-ratio:4/3;object-fit:contain}[data-screen=room].game-shell{min-height:0;overflow:hidden}[data-screen=room] #hud{flex:none;padding:8px 14px}[data-screen=room] h1{font-size:14px}[data-screen=room] .coin-pill{padding:5px 10px;font-size:17px}[data-screen=room] .affinity-card{margin-top:5px;padding:5px 10px;gap:3px;font-size:12px}[data-screen=room] .mood-line{width:auto;gap:8px}[data-screen=room] .scene-viewport{flex:1 1 auto;min-height:45dvh}[data-screen=room] #controls{position:relative;flex:0 1 auto;min-height:0;max-height:27dvh;overflow-y:auto;padding:6px 12px}[data-screen=room] .character-tabs button{min-height:36px;padding:4px 18px}[data-screen=room] .feedback{min-height:24px;padding:3px 0;line-height:1.4}[data-screen=room] .care-buttons button{flex-direction:row;justify-content:center;min-height:40px;padding:6px}[data-screen=room] #play-together{display:block;min-height:30px;padding:3px 12px;margin:4px auto 0;font-size:12px}[data-screen=room] .menu-buttons{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:2px;gap:2px}[data-screen=room] .menu-buttons button{min-height:36px;padding:3px 0}[data-screen=room] .save-notice{flex:none;padding:3px 10px}[data-screen=room] .tutorial{position:fixed;z-index:3;left:50%;bottom:29dvh;transform:translate(-50%);width:min(92vw,520px);box-shadow:0 4px 24px #72524225}.story-dialog{width:min(96vw,720px);max-height:94dvh;padding:20px;text-align:center}.story-eyebrow{font-size:12px;color:#936075;margin-bottom:8px}.story-dialog img{display:block;width:100%;max-height:58dvh;object-fit:contain;aspect-ratio:4/3;border-radius:16px;margin:16px 0}.story-text{line-height:1.9;font-size:15px;margin-bottom:20px}.story-choices{display:grid;gap:10px;margin-bottom:20px;padding:14px;border-radius:16px;background:#f8e5e8}.story-choices button{width:100%}.choice-result{padding:14px;border-radius:16px;background:#fff0bd;line-height:1.8;margin-bottom:20px}.story-placeholder{min-height:180px;display:grid;place-content:center;background:#f8e5e8;border-radius:16px;margin:16px 0;font-size:40px}.story-placeholder p{font-size:13px}.save-tools{margin-top:20px;padding-top:16px;border-top:1px solid #e8cabc}.save-file-label{display:grid;gap:8px;padding:10px;border:1px solid #e8cabc;border-radius:16px}.save-file-label input{max-width:100%}#save-confirmation{display:block;width:100%;min-height:44px;margin:8px 0;font:inherit}.save-tools summary{cursor:pointer;padding:10px 0;min-height:44px;font-weight:700}.save-tools summary:focus-visible{outline:3px solid #9c6576;outline-offset:3px}.save-tools-content{display:grid;gap:10px;padding-top:6px}[data-screen=title].game-shell{min-height:0;height:100dvh}[data-screen=title] #hud{flex:0 0 auto;padding:clamp(12px,3dvh,28px) 16px 12px}[data-screen=title] .scene-viewport{flex:1 1 0;min-height:0}[data-screen=title] #controls{flex:0 0 auto;padding:12px 22px max(12px,env(safe-area-inset-bottom))}[data-screen=title] .welcome-note{margin-top:10px}[data-screen=title] .save-notice:empty{display:none}@media(max-height:650px){[data-screen=title] .title-name{font-size:26px;line-height:1.25}[data-screen=title] .eyebrow{margin-bottom:6px}[data-screen=title] .title-subtitle{margin-top:6px}}
