/* Owner-requested game typography and warm pixel UI; letters retain readable Onest. */
@font-face{font-family:'Press Start 2P';src:url('../assets/typography/fonts/PressStart2P-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
.owned-type{--font-display:'Press Start 2P',monospace;--display:'Press Start 2P',monospace;--font-body:'Onest',sans-serif;--body:'Onest',sans-serif;--paper:#f8edce;--white:#fff6dc;--ink:#46243c;--muted:#85644f;--plum:#653149;--plum-deep:#43203b;--coral:#ae592d;--line:#dcb77a;color:var(--ink);background:radial-gradient(ellipse at 80% 0,#fff8e6,transparent 38rem),#f8edce}
.owned-type :where(h1,h2,h3,h4),.brand-copy h1,.modal-header h2,.memory-card h2,.item-story-paper h2{font-family:var(--display);font-weight:400;font-synthesis:none;letter-spacing:0;line-height:1.6}
.brand-copy h1{font-size:18px}.brand-mark{background:#ffe8ad;border:2px solid #6a3446;border-radius:2px;box-shadow:2px 2px 0 #d8ac64}.brand-mark .pixel-icon{width:32px;height:32px}
.eyebrow,.section-kicker,.surface-caption{color:#865938}.section-kicker{font-size:10px}.room-prompt{color:#5a3044}
.pixel-icon{display:block;flex:0 0 auto;width:28px;height:28px;fill:none;stroke:none;image-rendering:pixelated;overflow:hidden}
.pixel-icon image{image-rendering:pixelated}.icon-button .pixel-icon{width:28px;height:28px}.settings-menu .pixel-icon{width:23px;height:23px}
.scene-frame,.play-dock,.box-card,.modal,.held-item,.album-summary{border-radius:2px;border:2px solid #75404b;box-shadow:3px 3px 0 #c9975866;background-color:#fff3d2}
.scene-frame{border-color:#63314a;padding:6px}.scene-wrap{border-radius:0}.scene-corner{display:none}.play-dock{background:#fbebc5}.box-card{background:#f8dfab;border-color:#a9693f;box-shadow:inset 2px 2px 0 #fff6d6}
.box-number{border-radius:0;background:#683247;color:#ffeab0;border:2px solid #43203b;font:400 12px var(--display)}
.story-note .note-mark{border-radius:2px;color:#a65329;background:#f1cc86}.held-item{background:#f5da9f;border-color:#b57b46;box-shadow:none}.held-item p{color:#71513e}
.icon-button,.secondary-button,.quiet-button,.primary-button,.close-button,.zone-actions button,.box-item,.surface-select,.scene-view-controls button,.gift-card button{border-radius:2px;border:2px solid #6b3545;box-shadow:0 3px 0 #6b3545;transition:background .15s ease,transform .1s ease;background:#ffe8b2;color:#542640}
.primary-button,.cell-controls .place-button{background:#784051;color:#fff4d3;border-color:#43203b;box-shadow:0 3px 0 #43203b}
.icon-button:hover,.secondary-button:hover,.quiet-button:hover,.box-item:hover,.gift-card button:hover{background:#ffeec7;border-color:#81422d}.primary-button:hover{background:#8e4e57;border-color:#43203b;box-shadow:0 3px 0 #43203b;transform:none}
button:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 #43203b}.icon-button[aria-pressed=true],.zone-actions button[aria-pressed=true],.card-actions button[aria-pressed=true]{background:#f3c66c;border-color:#854120;color:#4c2439}
.owned-type .primary-button,.owned-type .secondary-button,.owned-type .quiet-button,.owned-type .close-button,.owned-type .icon-button,.owned-type .gift-card button{font-family:var(--display);font-weight:400;font-synthesis:none;font-size:10px;line-height:1.6;white-space:normal}
.icon-button b{font-family:var(--body);font-size:11px;font-weight:700;color:#8d3827}.item-actions .secondary-button,.item-actions .quiet-button{font-size:9px;gap:6px}.item-actions .pixel-icon{width:24px;height:24px}
.close-button{min-width:44px;width:44px;height:44px;padding:6px;background:#ffeec4}.close-button .pixel-icon{width:24px;height:24px}
.box-item{box-shadow:0 2px 0 #bc864e;font-family:var(--body);font-size:11px;font-weight:600;background:#fff0c5}.box-card-top{margin-bottom:14px}.box-contents{gap:9px;padding-bottom:8px}
.box-copy{color:#62374a}.box-item img{image-rendering:pixelated}.surface-picker,.settings-menu{border-top-color:#d4b17a}.surface-heading h2{font-size:12px;line-height:1.7}.surface-select{font-family:var(--body);font-size:16px;background:#fff8e1;color:#542640}
.zone-actions button{font-family:var(--body);font-size:12px;font-weight:600}.cell-controls button{font-size:20px}.cell-controls .place-button{font-family:var(--display);font-size:11px;font-weight:400}.cell-status{display:flex;align-items:center;gap:6px;color:#6b503c}.cell-status .pixel-icon{width:18px;height:18px}
.scene-view-controls{gap:6px}.scene-view-controls button{min-width:44px;min-height:44px;padding:6px;background:#ffebbfed}.scene-view-controls .pixel-icon{width:27px;height:27px}.scene-view-controls #zoom-reset{font:400 9px/1.6 var(--display);padding-inline:8px}
.modal{background:#fff0cc;box-shadow:5px 5px 0 #48223988}.modal::backdrop{background:#321c3da6;backdrop-filter:blur(3px)}
.modal-header h2,.modal-shell--ending h2{font-size:20px}.modal-shell--small h2{font-size:18px;line-height:1.7}.modal-intro,.dialog-copy{color:#785641}
.album-summary{padding:12px;background:#f5daa6;border-color:#b77f43;box-shadow:none}.album-count b{font:400 16px var(--display);color:#975124}.album-count,.album-whisper{color:#78543e}
.gift-card{background:#f9e6b9;border:2px solid #955731;border-radius:2px;box-shadow:2px 3px 0 #ad753c55;overflow:hidden;padding:24px 19px;gap:4px}
.gift-card::before,.gift-card::after{display:none}.gift-card h3{font:400 11px/1.7 var(--display);color:#563147}.gift-card p{font-size:12px;color:#7a5844}.gift-card .gift-card-status{font-size:9px;color:#94572e;letter-spacing:.06em}
.gift-card .read-story{background:#ffefc6;color:#6a4253}.gift-card button{padding:7px 8px;min-height:44px}.gift-card .gift-icon.envelope-preview{width:140px;max-width:100%;height:94px;margin:12px auto}
.memory-card{min-height:0;padding:62px 42px 44px;background:#fff0c6;border:0;gap:6px;overflow:hidden}.memory-card h2{font-size:18px;line-height:1.65}.memory-card .card-message{font-family:var(--body);font-size:16px;line-height:1.7;color:#5d3b3c}.memory-card .card-signoff{color:#964d2a}
.pixel-paper{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;image-rendering:pixelated}.sealed-card-envelope{position:relative;z-index:1;width:200px;height:130px;max-width:100%;margin:0 auto 16px}
.item-story-modal{background:#fff0c6;border:2px solid #71374a;border-radius:2px}.item-story-paper{position:relative;isolation:isolate;padding:30px 40px;background:#fff0c6;overflow:visible}
.item-story-paper>.pixel-paper{z-index:-1}.item-story-paper h2{font-size:17px;line-height:1.7;margin-bottom:20px}.story-text{font:400 16px/1.75 var(--body);color:#593c3d}.story-sign{color:#954e2c}
.story-letter-header{background:#fff0c6;margin-bottom:12px;gap:12px}.story-letter-header .eyebrow{font:600 11px/1.5 var(--body);color:#7a4d37}.story-actions{background:linear-gradient(#fff0c600,#fff0c6 12px)}.story-actions .text-button{font-family:var(--body);color:#80543b}.story-image{margin:12px auto 20px}
.album-empty{grid-column:1/-1;overflow:hidden;border:2px solid #764048;box-shadow:3px 3px 0 #d2a16b66;background:#fff0ca}.album-empty-copy{padding:22px 24px;text-align:center}.album-empty-copy h3{font:400 14px/1.8 var(--display);margin-bottom:14px}.album-empty-copy p{max-width:48ch;margin:0 auto 18px;color:#785442;font:400 14px/1.6 var(--body)}.album-empty-copy button{max-width:250px;margin:auto}
.loading-overlay{padding:14px;background:#2c1c35;backdrop-filter:none;z-index:80}.loading-card{width:min(680px,calc(100vw - 28px),calc((100dvh - 150px)*1.5));max-height:calc(100dvh - 28px);overflow:auto;padding:0;border:3px solid #a96b42;border-radius:2px;background:#ffeac1;box-shadow:0 0 0 3px #4c243b,8px 8px 0 #150f20;text-align:center}
.loading-caption{padding:16px 20px 20px}.loading-caption h2{font:400 clamp(12px,3vw,20px)/1.7 var(--display);margin:8px 0 12px;color:#532a41}.loading-card p:last-of-type{font:400 12px/1.5 var(--body);color:#835733;margin-bottom:10px}.loading-caption .eyebrow{color:#9e5d30}
.loading-line{height:10px;border:2px solid #75404b;border-radius:0;background:#ead19c}.loading-line span{width:var(--load-progress,0%);height:100%;border-radius:0;background:#bb703e;animation:none;transition:width .15s linear}
.toast{border:2px solid #4c243d;border-radius:2px;background:#66344beF;color:#fff0c9;box-shadow:2px 3px 0 #bd925d77}.page-footer{color:#8a674f}.save-status{color:#795a45}
html[data-cover-paused=true] .sofi-cover *{animation-play-state:paused!important}
@media(max-width:720px){
 .brand-copy h1{font-size:12px;line-height:1.7}.brand-mark{width:32px;height:32px}.brand-mark .pixel-icon{width:25px;height:25px}.top-actions .icon-button{padding:0 7px;min-width:44px}.top-actions .icon-button>span{font-size:0}.icon-button .pixel-icon{width:24px;height:24px}.icon-button b{font:700 10px var(--body)}
 .scene-frame{padding:4px}.scene-wrap,.play-dock,.box-card,.album-summary{border-radius:0}.play-dock{padding:10px}.box-number{font-size:10px}.box-card-top{margin-bottom:10px}.box-contents{padding-bottom:10px}
 .surface-heading h2{font-size:11px}.item-actions .secondary-button,.item-actions .quiet-button{padding:0 8px;font-size:9px}.surface-select{font-size:16px}.held-item{border-radius:0}
 .modal,.item-story-modal{border-radius:2px}.modal-shell{padding:18px}.modal-header h2{font-size:17px}.modal-shell--ending h2{font-size:19px}.album-empty-copy{padding:18px 16px}.album-empty-copy h3{font-size:12px;line-height:1.9}.album-empty-copy p{font-size:13px}
 .memory-card{padding:50px 25px 32px}.memory-card h2{font-size:15px}.memory-card .card-message{font-size:15px;line-height:1.7}.memory-card::after{display:none}.item-story-paper{padding:20px 26px}.item-story-paper h2{font-size:15px;line-height:1.7}.story-text{font-size:16px;line-height:1.65}.story-letter-header{margin-top:0;padding-bottom:4px}.story-image{margin:10px auto 16px}.story-actions{padding-top:12px}
 .scene-view-controls{bottom:7px;right:7px;gap:5px}.scene-view-controls #zoom-reset{font-size:8px}.gift-card h3{font-size:10px}.gift-card .read-story,.gift-card button{font-size:9px}.sealed-card-envelope{width:170px;height:110px}
}
@media(max-width:380px){.brand-copy h1{font-size:10px}.item-story-paper{padding:18px 22px}.item-story-paper h2{font-size:14px}.loading-caption{padding:14px 12px}.album-empty-copy h3{font-size:11px}.modal-header h2{font-size:15px}}
@media(max-width:1000px) and (max-height:500px) and (orientation:landscape){.brand-copy h1{font-size:14px}.top-actions .icon-button{font-size:9px}.item-story-paper{padding:16px 32px}.item-story-paper h2{font-size:15px}.story-image{width:48px;height:48px;margin:6px auto}.story-letter-header{padding-bottom:4px}.story-actions{background:#fff0c6}.loading-caption{padding:10px 14px}.loading-caption h2{font-size:13px;margin:5px 0}.loading-caption .eyebrow{display:none}.loading-card p:last-of-type{font-size:11px}.loading-card{width:min(570px,calc(100vw - 28px),calc((100dvh - 112px)*1.5))}}
@media(prefers-reduced-motion:reduce){.loading-line span{transition:none}}

/* Keep the stationery ornaments clear of live text and controls. */
.item-story-paper{padding-top:58px;padding-bottom:54px}.album-empty{max-width:480px;margin-inline:auto;width:100%}.album-empty-copy{padding:16px 18px}.album-empty-copy h3{font-size:12px;margin-bottom:12px}.album-empty-copy p{font-size:13px;margin-bottom:14px}
@media(max-width:720px){.item-story-paper{padding-top:50px;padding-bottom:48px}.album-empty-copy{padding:16px 14px}.album-empty-copy h3{font-size:11px}}
@media(max-width:1000px) and (max-height:500px) and (orientation:landscape){.item-story-paper{padding-top:40px;padding-bottom:44px}}
.memory-card{padding-bottom:62px}.card-close-form{position:sticky;top:0;right:auto;display:flex;justify-content:flex-end;height:0;transform:translate(12px,-12px);z-index:4}
@media(max-width:720px){.memory-card{padding-bottom:56px}}

@media(hover:hover) and (pointer:fine) and (min-width:721px){
 body[data-native-cursors=true],body[data-native-cursors=true] .modal,body[data-native-cursors=true] #scene{cursor:var(--pixel-cursor-arrow,auto)!important}
 body[data-native-cursors=true] :is(button:not(:disabled),a,summary,select),body[data-native-cursors=true] #scene[data-cursor-kind=hand]{cursor:var(--pixel-cursor-hand,pointer)!important}
 body[data-native-cursors=true][data-holding=true] #scene{cursor:var(--pixel-cursor-grab,grabbing)!important}
}
