.dog-game{min-height:100vh;background:#0b0e12;color:#e9e3dc;padding:28px}.dog-shell{max-width:1280px;margin:auto}.dog-head{display:flex;align-items:end;justify-content:space-between;border-bottom:1px solid #313943;padding-bottom:18px;margin-bottom:22px}.dog-head h1{font-size:36px;margin:0}.dog-head p{color:#9aa4b2;margin:0}.dog-layout{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(300px,1fr);gap:18px}.dog-main,.dog-mind{border:1px solid #303944;border-radius:18px;background:#10151c;overflow:hidden}.dog-scene{height:430px;position:relative;overflow:hidden;background:#151a20}.dog-scene-art{padding:0;display:block}.dog-scene-img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;user-select:none;-webkit-user-drag:none;transition:filter .75s ease,opacity .75s ease}.dog-fade{position:absolute;inset:0;background:#030405;opacity:0;transition:opacity .75s ease;pointer-events:none}.dog-result-mode .dog-scene-img{filter:brightness(.22) saturate(.55)}.dog-result-mode .dog-fade{opacity:.48}.dog-copy{padding:26px 30px;border-top:1px solid #303944;transition:background .75s ease}.dog-result-mode .dog-copy{background:#090b0e}.dog-copy h2{font-size:24px;margin:0 0 14px}.dog-copy p{line-height:1.9;color:#c7cbd2;margin:0;min-height:30px}.dog-copy hr{border:0;border-top:1px solid #303944;margin:28px 0 18px}.dog-copy>p>small{color:#87919e}.dog-story-line{display:block;opacity:0;transform:translateY(6px);transition:opacity .35s ease,transform .35s ease;min-height:1.25em;margin:3px 0}.dog-story-line.show{opacity:1;transform:none}.dog-status-change{display:block;opacity:0;margin-top:13px;color:#d5a76d;font-size:14px;font-style:italic;transition:opacity .4s ease}.dog-status-change.show{opacity:1}.dog-ending-stat{display:inline-block;margin-top:18px;padding:10px 13px;border:1px solid #4b5665;border-radius:9px;color:#d8c5ae}.dog-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0 30px 30px}.dog-choice,.dog-next{background:#121820;border:1px solid #4b5665;color:#e8e9eb;border-radius:13px;padding:16px 14px;font-size:16px;text-align:left;line-height:1.35;cursor:pointer}.dog-choice b{display:block;font-size:16px;margin-bottom:8px}.dog-choice small{display:block;padding-left:27px;color:#7f8996;font-size:12px;font-weight:400;line-height:1.5}.dog-choice small:before{content:'('}.dog-choice small:after{content:')'}.dog-choice:hover,.dog-next:hover{border-color:#d5a76d;background:#1b1916}.dog-next{grid-column:1/-1;text-align:center;margin-top:4px;border-color:#806a4d;color:#e5c89f;font-weight:700;animation:dogNextIn .35s ease both}@keyframes dogNextIn{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}.dog-mind{padding:26px}.dog-profile{display:flex;justify-content:space-between;align-items:center;padding-bottom:22px}.dog-profile b{font-size:25px}.dog-profile span{font-size:13px;border:1px solid #394452;border-radius:999px;padding:6px 10px;color:#aeb7c4}.mind-section{border-top:1px solid #303944;padding:22px 0}.mind-section h3{margin:0 0 13px;color:#a8c9ef;font-size:18px}.mind-section p{margin:7px 0;color:#c4c9d0;line-height:1.5}.mind-section .unknown{color:#78818d}.dog-wing{display:none}.dog-close{display:none;float:right;background:none;border:0;color:#fff;font-size:28px}@media(prefers-reduced-motion:reduce){.dog-scene-img,.dog-fade,.dog-copy,.dog-story-line,.dog-status-change{transition:none}.dog-next{animation:none}}@media(max-width:760px){.dog-game{padding:14px}.dog-layout{display:block}.dog-mind{display:none}.dog-main{border-radius:13px}.dog-scene{height:auto;aspect-ratio:4/3}.dog-scene-img{object-fit:cover}.dog-copy{padding:22px 18px}.dog-copy h2{font-size:21px}.dog-head h1{font-size:28px}.dog-head p{font-size:13px;text-align:right}.dog-choices{grid-template-columns:1fr;padding:0 18px 20px}.dog-choice small{font-size:11px;margin-top:2px}.dog-next{width:100%}.dog-wing{display:block;position:fixed;right:0;top:46%;z-index:30;background:#171d25;border:1px solid #394452;color:#eee;padding:13px 9px;border-radius:12px 0 0 12px;writing-mode:vertical-rl}.dog-mind.mobile-open{display:block;position:fixed;z-index:40;right:0;top:0;bottom:0;width:min(82vw,390px);overflow:auto;border-radius:0}.dog-close{display:block!important}}
/* GAME03 focused choice/result layout */
.dog-choice{min-height:82px;padding:13px 15px;border-radius:9px;background:#0f141a}.dog-choice b{font-size:15px;margin-bottom:5px}.dog-choice small{padding-left:0;font-size:11px}
.dog-result-mode .dog-main{background:#050607;border-color:#17191d}.dog-result-mode .dog-scene{display:none}.dog-result-mode .dog-copy{min-height:430px;padding:64px 56px;background:#050607;border-top:0;display:flex;flex-direction:column;justify-content:center}.dog-result-mode .dog-copy h2{font-size:26px;color:#ead7b8}.dog-result-mode .dog-copy p{max-width:680px;line-height:2.05;color:#d0cbc3}.dog-result-mode .dog-choices{background:#050607;padding:0 56px 56px}.dog-result-mode .dog-next{max-width:680px}
@media(max-width:760px){.dog-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.dog-choice{min-height:88px;padding:12px 11px}.dog-choice b{font-size:14px;line-height:1.35}.dog-choice small{font-size:10px;line-height:1.35}.dog-result-mode{padding:0;background:#050607}.dog-result-mode .dog-shell{max-width:none}.dog-result-mode .dog-head{display:none}.dog-result-mode .dog-main{border:0;border-radius:0;min-height:calc(100vh - 70px)}.dog-result-mode .dog-copy{min-height:60vh;padding:54px 28px 28px;justify-content:center}.dog-result-mode .dog-copy h2{font-size:23px}.dog-result-mode .dog-choices{grid-template-columns:1fr;padding:0 28px 42px}.dog-result-mode .dog-next{min-height:52px}.dog-result-mode .dog-wing{display:block}}

/* Center GAME03 choice labels */
.dog-choice{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center}.dog-choice b,.dog-choice small{text-align:center;width:100%}

/* Mobile drawer: compact app-style mind panel + outside-tap dim */
.dog-mind-dim{display:none}
@media(max-width:760px){.dog-mind.mobile-open{width:min(78vw,365px)}.dog-mind-dim{display:block;position:fixed;z-index:39;inset:0;background:rgba(0,0,0,.48);opacity:0;pointer-events:none;transition:opacity .22s ease}.dog-mind-dim.open{opacity:1;pointer-events:auto}}

/* GAME03 intro */
.dog-intro{max-width:680px;margin:48px auto;padding:48px 30px;text-align:center}.dog-intro h2{margin:0 0 30px;font-size:36px;color:#ead7b8}.dog-intro p{margin:16px 0;color:#c7cbd2;line-height:1.9}.dog-intro strong{color:#ead7b8}.dog-intro button{margin-top:28px;min-width:220px;padding:14px 22px;border:1px solid #806a4d;border-radius:8px;background:#12100d;color:#e5c89f;font-size:15px;font-weight:700;cursor:pointer}@media(max-width:760px){.dog-intro{margin:18px auto;padding:34px 18px}.dog-intro h2{font-size:30px;margin-bottom:25px}.dog-intro p{font-size:14px;line-height:1.8;margin:14px 0}}

.dog-ending-image{display:block;width:100%;max-height:390px;object-fit:cover;border-radius:10px;margin:0 0 28px}

/* DEV 38 · GAME03 button polish */
.dog-intro button{position:relative;min-width:230px;padding:15px 26px;border:1px solid #a7865c;border-radius:12px;background:linear-gradient(180deg,#211b15,#15120f);color:#f0d8b5;font-weight:700;letter-spacing:.03em;box-shadow:0 8px 24px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.04);transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.dog-intro button:hover{transform:translateY(-2px);border-color:#d5a76d;background:linear-gradient(180deg,#2b2118,#19140f);box-shadow:0 11px 30px rgba(0,0,0,.38),0 0 0 1px rgba(213,167,109,.08)}.dog-intro button:active{transform:translateY(0);box-shadow:0 4px 14px rgba(0,0,0,.3)}
.dog-choice{position:relative;border-color:#3d4855;background:linear-gradient(180deg,#131a22,#0d1218);box-shadow:inset 0 1px rgba(255,255,255,.025);transition:transform .14s ease,border-color .14s ease,background .14s ease,box-shadow .14s ease}.dog-choice:hover{transform:translateY(-2px);border-color:#a98255;background:linear-gradient(180deg,#1c1c1b,#141311);box-shadow:0 8px 20px rgba(0,0,0,.25)}.dog-choice:active{transform:translateY(0)}.dog-choice b{color:#eee5da}.dog-choice small{color:#8f99a5}
.dog-next{min-height:52px;border:1px solid #9a7950;border-radius:11px;background:linear-gradient(180deg,#241d16,#15120f);color:#efd2a8;letter-spacing:.02em;box-shadow:0 7px 20px rgba(0,0,0,.24);transition:transform .14s ease,border-color .14s ease,background .14s ease}.dog-next:hover{transform:translateY(-2px);border-color:#d5a76d;background:linear-gradient(180deg,#302318,#1a1510)}.dog-next:active{transform:translateY(0)}
@media(max-width:760px){.dog-intro button{width:100%;min-width:0;min-height:52px}.dog-choice{min-height:94px}.dog-next{min-height:54px}}


/* The memory journal accompanies the dog's life across every chapter. */
.dog-game{--ink:#101c2b;--warm:#ebc99a;background:radial-gradient(circle at 50% 4%,#202b37,#0b121c 65%);color:#eee6dc}
.dog-shell{max-width:1380px}.dog-layout{grid-template-columns:minmax(0,2.45fr) minmax(290px,.95fr);gap:16px;align-items:start}
.dog-main,.dog-mind{background:#111c29;border-color:#3d4e58;border-radius:14px;box-shadow:0 15px 42px #0005}
.dog-scene{height:auto;aspect-ratio:16/9;max-height:560px;background:#0b131b}
.dog-scene-img{object-position:center 46%}
.dog-copy{position:relative;z-index:1;margin:-42px 18px 0;padding:25px 30px 20px;background:linear-gradient(140deg,#101c2bf7,#172332f0);border:1px solid #536276;border-radius:12px;box-shadow:0 12px 25px #0008}
.dog-copy h2{color:var(--warm);letter-spacing:.025em}
.dog-copy p{color:#e2dfdc;line-height:1.8}
.dog-memory-peek{padding:13px 32px 7px;color:#d6b88b;font-size:13px}
.dog-choices{padding:8px 22px 24px;gap:11px}
.dog-choice{border-color:#627184;background:linear-gradient(#1b2b3b,#13202e);min-height:75px;text-align:center}
.dog-choice small{color:#b0b7b9}
.dog-mind{background:#172433;border-color:#61717b;padding:24px}
.dog-profile{border-bottom:1px solid #6d786e;padding-bottom:18px}
.dog-profile b,.mind-section h3{color:#efd3a3}
.dog-profile span{color:#ecd1a7;border-color:#8d795b}
.mind-section{padding:16px 0;border-color:#526270}
.mind-section h3{font-size:16px}
.mind-section p{font-size:13px;line-height:1.55;color:#d8dedb}
.mind-section .dog-memory{padding:9px 10px;border-left:2px solid #ad916a;background:#ffffff08;border-radius:3px}
.dog-result-mode .dog-main{background:#111c29;border-color:#61717b}
.dog-result-mode .dog-scene{display:block}
.dog-result-mode .dog-scene-img{filter:brightness(.58) saturate(.8)}
.dog-result-mode .dog-fade{opacity:.12}
.dog-result-mode .dog-copy{min-height:0;margin:-42px 18px 0;padding:30px;background:#111c29ed;border:1px solid #536276;display:block}
.dog-result-mode .dog-copy p{max-width:none}
.dog-result-mode .dog-choices{background:transparent;padding:7px 22px 24px}
.dog-result-mode .dog-next{max-width:none}
@media(max-width:760px){.dog-game{padding:9px}.dog-main{border-radius:12px}.dog-scene{aspect-ratio:4/3}.dog-copy,.dog-result-mode .dog-copy{margin:-24px 8px 0;padding:19px 16px 15px;min-height:0}.dog-copy h2{font-size:20px}.dog-copy p{line-height:1.7}.dog-memory-peek{padding:12px 17px 5px;font-size:12px}.dog-choices,.dog-result-mode .dog-choices{padding:7px 12px 18px}.dog-choice{min-height:76px}.dog-result-mode .dog-scene{display:block}.dog-result-mode .dog-copy{display:block}.dog-mind.mobile-open{background:#172433}}

/* Phone portrait: keep the illustration and choices within a comfortable scroll. */
@media(max-width:760px){
 #dogStory{position:relative}
 .dog-game{padding:8px 10px 22px}
 .dog-head{align-items:center;min-height:57px;margin-bottom:12px;padding:0 104px 10px 2px}
 .dog-head h1{font-size:23px;line-height:1.2}
 .dog-head p{font-size:11px;margin-top:3px;text-align:left}
 .dog-head>small{display:none}
 .dog-wing{position:absolute;top:2px;right:2px;bottom:auto;width:auto;min-height:40px;writing-mode:horizontal-tb;border-radius:22px;padding:8px 11px;font-size:12px;background:#24354ae8;border-color:#8f795d;color:#f5dfc0}
 .dog-scene{aspect-ratio:16/10;max-height:270px}
 .dog-scene-img{object-position:center 40%}
 .dog-copy,.dog-result-mode .dog-copy{margin:-16px 8px 0;padding:15px 15px 13px}
 .dog-copy h2{font-size:19px;margin-bottom:8px}
 .dog-copy p{font-size:14px;line-height:1.55}
 .dog-story-line{min-height:1.1em;margin:2px 0}
 .dog-memory-peek{padding:9px 15px 4px;font-size:11px}
 .dog-choices,.dog-result-mode .dog-choices{gap:7px;padding:7px 10px 16px}
 .dog-choice{min-height:64px;padding:10px 8px}
 .dog-choice b{font-size:13px;margin-bottom:2px}
 .dog-choice small{font-size:10px}
 .dog-result-mode .dog-head{display:flex}
 .dog-result-mode .dog-main{min-height:0;border:1px solid #61717b;border-radius:12px}
}

/* Portrait-first choices; mid-size screens retain the full journal below the art. */
.dog-game{min-height:100dvh}
@media(min-width:761px) and (max-width:980px){.dog-layout{display:block}.dog-mind{margin-top:16px}.dog-scene{max-height:500px}.dog-head{margin-bottom:14px}}
@media(max-width:520px){
 .dog-game{padding:8px 9px calc(18px + env(safe-area-inset-bottom))}
 .dog-shell,.dog-main{width:100%;min-width:0}
 .dog-head{min-height:55px;padding-right:99px}
 .dog-head h1{font-size:22px}
 .dog-scene{aspect-ratio:8/5;max-height:245px}
 .dog-choices,.dog-result-mode .dog-choices{grid-template-columns:minmax(0,1fr);gap:8px;padding:9px 10px 18px}
 .dog-choice{min-height:56px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;padding:11px 14px}
 .dog-choice b{font-size:14px;line-height:1.3;margin:0;text-align:left;width:auto}
 .dog-choice small{font-size:11px;line-height:1.3;margin:0;flex:0 0 auto;text-align:right;width:auto;max-width:45%;white-space:normal}
 .dog-choice small:before,.dog-choice small:after{content:none}
 .dog-next{min-height:50px}
 .dog-mind.mobile-open{width:min(87vw,370px);padding:22px 17px}
}
@media(max-width:350px){.dog-choice small{max-width:42%}.dog-head p{font-size:10px}.dog-scene{aspect-ratio:3/2}}


/* Visible story journal: the same memories appear on phones and desktops. */
.dog-memory-peek{margin:14px 22px 2px;padding:15px 16px;border:1px solid #88765d;border-radius:12px;background:linear-gradient(145deg,#263142,#152334);box-shadow:inset 0 1px #ffffff13,0 8px 20px #0004;color:#efe4d2}
.dog-memory-peek .memory-head{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid #a997704a}
.dog-memory-peek .memory-head b{font-size:16px;color:#f0d5a5}
.dog-memory-peek .memory-head span{font-size:12px;color:#c0b5a5}
.dog-memory-peek .memory-cards{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}
.dog-memory-peek .memory-cards>div{min-width:0;padding:10px 12px;border:1px solid #b9a37b70;border-radius:7px;background:#d4ba8d15}
.dog-memory-peek .memory-cards small{display:block;color:#d4bb91;font-size:11px}
.dog-memory-peek .memory-cards strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;color:#f8e8ce;margin-top:3px}
.dog-memory-peek p{margin:0;color:#c6d7da;font-size:12px}
@media(max-width:760px){.dog-memory-peek{margin:10px 8px 2px;padding:10px 11px}.dog-memory-peek .memory-head b{font-size:14px}.dog-memory-peek .memory-cards{gap:7px;margin:9px 0}.dog-memory-peek .memory-cards>div{padding:7px 9px}.dog-memory-peek .memory-cards strong{font-size:12px}.dog-memory-peek p{font-size:11px}}

/* The illustrated scene and memory album share one stage on wide screens. */
.dog-head{gap:12px;align-items:center}.dog-head>small{margin-left:auto}.dog-fullscreen{flex:none;min-height:38px;padding:7px 12px;border:1px solid #aa926d;border-radius:9px;background:#243242;color:#efd9b8;white-space:nowrap;font-size:13px;cursor:pointer}.dog-fullscreen:hover{border-color:#e5c38c;background:#304356}
.dog-journal-portrait{position:relative;margin:14px 0 16px;border:1px solid #b6a08067;border-radius:9px;overflow:hidden;background:#192537}.dog-journal-portrait img{display:block;width:100%;height:112px;object-fit:cover;object-position:center 45%}.dog-journal-portrait p{margin:0;padding:8px 10px;color:#ead7b7;font-size:11px;line-height:1.4;background:#101b2a}
.dog-journal-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 15px}.dog-journal-photos figure{margin:0;min-width:0;padding:4px 4px 7px;background:#e8d9c3;transform:rotate(-2deg);box-shadow:0 3px 8px #0006}.dog-journal-photos figure:nth-child(2){transform:rotate(2deg)}.dog-journal-photos img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.dog-journal-photos figcaption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#493c31;text-align:center;font-size:9px;margin-top:5px}
.dog-mind{background:linear-gradient(#1d2b3a,#142130);border-color:#a18766;box-shadow:inset 0 0 35px #0003,0 15px 42px #0006}.dog-mind .mind-section{border-color:#ab936454}.dog-scene{border-radius:10px 10px 0 0}.dog-copy{background:linear-gradient(125deg,#142235f5,#182839ed);border-color:#bc9c6b88}.dog-choices .dog-choice:first-child{border-color:#b99562;background:linear-gradient(#684e3580,#30263c)}
.dog-game:fullscreen{height:100dvh;overflow:auto;padding:8px 12px;background:#101a28}.dog-game:fullscreen .dog-shell{max-width:none;height:100%}
@media(max-width:760px){.dog-head{display:flex;gap:7px;min-height:54px;padding:0 0 9px;margin-bottom:10px}.dog-head>div{flex:1;min-width:0}.dog-head>small{display:none}.dog-head h1{font-size:20px}.dog-head p{font-size:10px}.dog-wing,.dog-fullscreen{position:static;display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:38px;padding:7px 9px;border-radius:9px;writing-mode:horizontal-tb;font-size:11px;flex:none;line-height:1.1}.dog-wing{border-color:#8f795d;background:#24354a}.dog-fullscreen{border-radius:9px}.dog-result-mode .dog-head{display:flex}}
@media(orientation:landscape) and (max-width:980px){
 .dog-game{padding:6px 8px}.dog-head{display:flex;min-height:38px;padding:0 0 5px;margin-bottom:6px}.dog-head h1{font-size:17px}.dog-head p,.dog-head>small,.dog-wing{display:none}.dog-fullscreen{min-height:32px;padding:4px 8px;font-size:11px;margin-left:auto}
 .dog-layout{display:grid;grid-template-columns:minmax(0,2.35fr) minmax(210px,.95fr);gap:8px;align-items:stretch}.dog-main{position:relative;display:flex;flex-direction:column;justify-content:flex-end;height:calc(100dvh - 58px);min-height:325px;border-radius:9px;overflow:hidden}.dog-scene{position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto}.dog-scene-img{height:100%;object-fit:cover}.dog-scene:after{content:'';position:absolute;inset:38% 0 0;background:linear-gradient(transparent,#0a1622bb 50%,#0b1625ec);pointer-events:none}
 .dog-copy,.dog-result-mode .dog-copy{position:relative;margin:0 8px 0;padding:9px 12px 7px;max-height:35%;min-height:0;overflow:auto;background:#111d2dd9;border-radius:9px}.dog-copy h2{font-size:17px;margin-bottom:4px}.dog-copy p{font-size:12px;line-height:1.35}.dog-story-line{margin:1px 0;min-height:0}
 .dog-memory-peek{display:none}.dog-choices,.dog-result-mode .dog-choices{position:relative;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:6px 8px 9px;background:transparent}.dog-choice{min-height:36px;padding:6px 8px;display:block;text-align:center}.dog-choice b{font-size:11px;text-align:center}.dog-choice small{display:none}.dog-next{min-height:38px;margin:0;font-size:12px}
 .dog-mind{display:block;position:relative;max-height:calc(100dvh - 58px);min-height:325px;overflow:auto;margin:0;padding:12px;border-radius:9px}.dog-profile{padding-bottom:7px}.dog-profile b{font-size:17px}.dog-profile span{font-size:10px;padding:4px 6px}.dog-journal-portrait{margin:7px 0}.dog-journal-portrait img{height:70px}.dog-journal-portrait p{padding:4px 6px;font-size:9px}.dog-journal-photos{margin-bottom:7px;gap:4px}.dog-journal-photos figcaption{font-size:8px}.mind-section{padding:8px 0}.mind-section h3{font-size:12px;margin-bottom:5px}.mind-section p{font-size:10px;line-height:1.25;margin:4px 0}.dog-result-mode .dog-main{height:calc(100dvh - 58px);min-height:325px}.dog-result-mode .dog-scene{display:block}.dog-result-mode .dog-copy{display:block}
}
@media(orientation:landscape) and (max-height:380px){.dog-main,.dog-mind,.dog-result-mode .dog-main{height:calc(100dvh - 45px);min-height:250px}.dog-copy,.dog-result-mode .dog-copy{max-height:34%}.dog-journal-portrait{display:none}.dog-journal-photos{display:none}}

/* Mockup composition: a paper memory album beside the illustrated stage. */
.dog-game{background:#111b2a}
.dog-mind{background:#1a2735 url('/laboratory/assets/dog-v2/years.svg') center/cover no-repeat;position:relative;isolation:isolate}
.dog-mind:before{content:'';position:absolute;inset:0;background:#182536f1;z-index:-1;pointer-events:none}
.dog-profile{border-bottom:1px solid #b8a68380;align-items:start;gap:8px}
.dog-profile b{font-family:Georgia,'Noto Serif KR',serif;font-size:26px;font-weight:500;color:#f2d2a3;line-height:1.15}
.dog-profile span{background:#e8d8bf;color:#4a3827;border:0;border-radius:2px;transform:rotate(-2deg);font-size:11px}
.dog-journal-label{display:inline-block;background:#e5d4b9;color:#513d2d;transform:rotate(-3deg);padding:6px 10px;margin:12px 0 0;box-shadow:2px 3px 0 #0005;font-family:Georgia,serif;font-size:13px}
.dog-journal-portrait{width:43%;float:right;margin:-20px 1px 8px 8px;padding:5px;background:#e9ddcd;border:0;border-radius:0;transform:rotate(5deg);box-shadow:0 4px 10px #0007}
.dog-journal-portrait img{height:auto;aspect-ratio:1;object-position:50% 44%}
.dog-journal-portrait p{background:#e9ddcd;color:#624f3e;text-align:center;font-size:9px;padding:6px 2px 2px}
.dog-journal-photos{clear:both;gap:8px;padding:12px 0;border-top:1px solid #c7aa7a55}
.dog-journal-photos figure{padding:5px 5px 12px;background:#eee4d5;box-shadow:2px 4px 9px #0008}
.dog-journal-photos img{aspect-ratio:1;object-position:center}
.dog-journal-photos figcaption{font-size:10px;color:#604b37}
.dog-mind .mind-section{padding:12px 0;border-color:#d3b9884a}
.dog-mind .mind-section h3{font-family:Georgia,'Noto Serif KR',serif;color:#f2d8ac;font-weight:500;letter-spacing:.04em}
.dog-mind .mind-section p{font-size:12px;color:#e1d6c9}
.dog-mind .dog-memories,.dog-mind .dog-learned{display:none}
.dog-mind .dog-treasures p{display:inline-block;vertical-align:top;width:48%;min-height:72px;margin:4px 1%;padding:10px;background:#decbb116;color:#eadcc5;border:1px solid #ccb38a47;transform:rotate(-2deg)}
.dog-mind .dog-treasures p:nth-child(3){transform:rotate(2deg)}
.dog-mind .dog-treasures p:before{content:'🎾';display:block;font-size:23px;line-height:1.1}
.dog-mind .dog-treasures p:nth-child(3):before{content:'📿'}
.dog-mind .dog-history{max-height:160px;overflow:auto}
.dog-copy{background:#101b2ce8;backdrop-filter:blur(9px)}
.dog-choices .dog-choice,.dog-next{border-radius:13px;background:#1a293bdc;box-shadow:0 0 0 1px #f4ddb51a,inset 0 1px #ffffff24;color:#f0e4d5}
.dog-choices .dog-choice:first-child{background:#85684fa8;border:1px solid #e2b979;box-shadow:0 0 22px #d9a65e6e,inset 0 1px #fff5}
.dog-choice b:before{content:'🐾';font-size:.9em;margin-right:.45em}
.dog-fullscreen{margin-left:auto}
@media(orientation:portrait){
 .dog-layout{display:block}
 .dog-mind,.dog-mind.mobile-open{display:block;position:relative;inset:auto;width:100%;max-height:none;overflow:visible;margin-top:14px;border-radius:12px;padding:18px}
 .dog-mind-dim,.dog-close,.dog-wing{display:none!important}
 .dog-journal-portrait{max-width:160px}
 .dog-mind .dog-history{max-height:none}
}
@media(orientation:landscape){
 .dog-layout{display:grid;grid-template-columns:minmax(0,3fr) minmax(215px,1fr);gap:8px;align-items:stretch}
 .dog-main,.dog-result-mode .dog-main{position:relative;display:flex;flex-direction:column;justify-content:flex-end;height:calc(100dvh - 135px);min-height:400px;overflow:hidden}
 .dog-scene,.dog-result-mode .dog-scene{position:absolute;inset:0;width:100%;height:100%;max-height:none;aspect-ratio:auto;display:block}
 .dog-scene-img{height:100%;object-fit:cover}
 .dog-scene:after{content:'';position:absolute;inset:36% 0 0;background:linear-gradient(transparent,#0b172595 34%,#0b1725e9);pointer-events:none}
 .dog-copy,.dog-result-mode .dog-copy{position:relative;display:block;flex:none;min-height:0;max-height:39%;overflow:auto;margin:0 14px;padding:14px 20px;background:#101b2ce8;border:1px solid #b5a18277;border-radius:12px}
 .dog-copy h2{font-family:Georgia,'Noto Serif KR',serif;color:#f3d3a6}
 .dog-copy p{line-height:1.5}
 .dog-memory-peek{display:none}
 .dog-choices,.dog-result-mode .dog-choices{position:relative;grid-template-columns:repeat(2,minmax(0,1fr));padding:10px 14px 14px;background:transparent}
 .dog-choice{min-height:57px;padding:9px 12px}
 .dog-choice small{font-size:11px}
 .dog-mind{display:block;position:relative;min-height:400px;max-height:calc(100dvh - 135px);overflow:auto;margin:0;padding:16px}
 .dog-result-mode .dog-scene{display:block}
}
@media(orientation:landscape) and (max-width:980px){
 .dog-main,.dog-result-mode .dog-main{height:calc(100dvh - 58px);min-height:250px}
 .dog-mind{max-height:calc(100dvh - 58px);min-height:250px;padding:9px}
 .dog-profile b{font-size:17px}
 .dog-journal-label{font-size:9px;padding:4px 6px;margin-top:5px}
 .dog-journal-portrait{width:35%;margin:-8px 0 4px 4px;padding:3px}
 .dog-journal-portrait p{font-size:7px}
 .dog-journal-photos{gap:4px;padding:5px 0}
 .dog-journal-photos figure{padding:3px 3px 5px}
 .dog-journal-photos figcaption{font-size:7px}
 .dog-copy,.dog-result-mode .dog-copy{margin:0 7px;max-height:41%;padding:8px 10px}
 .dog-choices,.dog-result-mode .dog-choices{gap:5px;padding:6px 7px 8px}
 .dog-choice{min-height:35px;padding:5px}
 .dog-choice b{font-size:10px}
 .dog-choice small{display:none}
 .dog-mind .mind-section{padding:5px 0}
 .dog-mind .mind-section h3{font-size:11px;margin:0 0 4px}
 .dog-mind .mind-section p{font-size:9px;margin:3px 0}
 .dog-mind .dog-treasures p{min-height:40px;padding:4px}
 .dog-mind .dog-treasures p:before{font-size:14px}
 .dog-mind .dog-history{max-height:95px}
}
@media(orientation:landscape) and (max-height:380px){.dog-main,.dog-result-mode .dog-main{height:calc(100dvh - 45px);min-height:230px}.dog-mind{max-height:calc(100dvh - 45px);min-height:230px}.dog-journal-portrait,.dog-journal-photos{display:block}.dog-copy,.dog-result-mode .dog-copy{max-height:40%}}
.dog-game:fullscreen .dog-main,.dog-game:fullscreen .dog-mind{max-height:calc(100dvh - 58px)}
/* Browser fallback when the Fullscreen API is unavailable. */
.dog-game.dog-immersive{position:fixed;z-index:99999;inset:0;overflow:auto;padding:8px 12px;background:#111b2a}
.dog-game.dog-immersive .dog-shell{max-width:none}
.dog-game.dog-immersive .dog-main,.dog-game.dog-immersive .dog-mind{max-height:calc(100dvh - 58px)}


/* 2026-09-26 layout cleanup: restore intro, keep portrait journal in drawer,
   and protect landscape artwork from story text overlap. */
@media (orientation:portrait){
  .dog-layout{display:block}
  .dog-mind,.dog-mind.mobile-open{
    display:none;
    position:fixed;
    z-index:40;
    right:0;top:0;bottom:0;left:auto;
    width:min(87vw,370px);
    max-height:none;
    overflow:auto;
    margin:0;
    border-radius:0;
    padding:22px 17px
  }
  .dog-mind.mobile-open{display:block}
  .dog-mind-dim{display:block}
  .dog-mind-dim.open{opacity:1;pointer-events:auto}
  .dog-close{display:block!important}
  .dog-wing{
    display:inline-flex!important;
    position:static;
    align-items:center;
    justify-content:center;
    width:auto;
    min-height:38px;
    padding:7px 9px;
    border-radius:9px;
    writing-mode:horizontal-tb
  }
  .dog-journal-portrait{max-width:160px}
  .dog-mind .dog-history{max-height:none}
}

@media (orientation:landscape){
  .dog-main,.dog-result-mode .dog-main{
    display:grid;
    grid-template-rows:minmax(0,1fr) auto auto;
    justify-content:stretch;
  }
  .dog-scene,.dog-result-mode .dog-scene{
    position:relative;
    inset:auto;
    grid-row:1;
    width:100%;
    height:100%;
    min-height:0;
    max-height:none;
  }
  .dog-scene:after{display:none}
  .dog-copy,.dog-result-mode .dog-copy{
    grid-row:2;
    position:relative;
    margin:0;
    max-height:24vh;
    overflow:auto;
    border-radius:0;
    border-left:0;
    border-right:0;
    padding:9px 14px 8px;
    background:#101b2b;
    backdrop-filter:none
  }
  .dog-copy h2{margin-bottom:4px}
  .dog-copy p{line-height:1.4}
  .dog-choices,.dog-result-mode .dog-choices{
    grid-row:3;
    position:relative;
    padding:7px 10px 9px;
    background:#0d1724
  }
}
@media (orientation:landscape) and (max-width:980px){
  .dog-copy,.dog-result-mode .dog-copy{max-height:25vh;margin:0;padding:7px 10px 6px}
}


/* 2026-09-26 portrait cleanup: the compact in-story memory summary is redundant on phones. */
.dog-play-guide{margin-top:30px!important;padding:14px 16px;border:1px solid #806a4d66;border-radius:10px;background:#17130f;color:#bcae9c!important;font-size:13px;line-height:1.7!important}
.dog-play-guide strong{color:#e5c89f}
@media (orientation:portrait){
  .dog-memory-peek{display:none!important}
  .dog-play-guide{margin-top:24px!important;padding:12px 13px;font-size:12px}
}


/* 2026-09-26 landscape readability + artwork framing */
@media (orientation:landscape){
  .dog-main,.dog-result-mode .dog-main{
    grid-template-rows:minmax(0,1fr) auto auto;
  }
  .dog-scene,.dog-result-mode .dog-scene{
    aspect-ratio:16/9;
    background:#0b131b;
  }
  .dog-scene-img{
    object-fit:contain;
    object-position:center center;
    background:#0b131b;
  }
  .dog-copy,.dog-result-mode .dog-copy{
    max-height:26vh;
    padding:10px 15px 9px;
  }
  .dog-copy h2{font-size:20px;line-height:1.25}
  .dog-copy p{font-size:14px;line-height:1.48}
  .dog-story-line{font-size:14px;line-height:1.48}
  .dog-choice b{font-size:13px}
  .dog-choice small{font-size:11px}
  .dog-next{font-size:13px}
}
@media (orientation:landscape) and (max-width:980px){
  .dog-copy,.dog-result-mode .dog-copy{max-height:27vh;padding:8px 11px 7px}
  .dog-copy h2{font-size:18px}
  .dog-copy p,.dog-story-line{font-size:13px;line-height:1.42}
  .dog-choice b{font-size:12px}
  .dog-next{font-size:12px}
}
@media (orientation:landscape) and (max-height:380px){
  .dog-copy h2{font-size:17px}
  .dog-copy p,.dog-story-line{font-size:12px}
}


/* 2026-09-26 landscape cinematic composition: full-bleed artwork with translucent story overlay. */
@media (orientation:landscape){
  .dog-main,.dog-result-mode .dog-main{
    display:flex;
    position:relative;
    flex-direction:column;
    justify-content:flex-end;
    height:calc(100dvh - 135px);
    min-height:400px;
    overflow:hidden;
    background:#0b131b;
  }
  .dog-scene,.dog-result-mode .dog-scene{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    min-height:0;
    max-height:none;
    aspect-ratio:auto;
    display:block;
    background:#0b131b;
  }
  .dog-scene-img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
    background:transparent;
  }
  .dog-scene:after{
    display:block;
    content:'';
    position:absolute;
    inset:45% 0 0;
    background:linear-gradient(transparent,rgba(7,16,27,.50) 28%,rgba(7,16,27,.84) 100%);
    pointer-events:none;
  }
  .dog-copy,.dog-result-mode .dog-copy{
    position:relative;
    z-index:2;
    flex:none;
    width:calc(100% - 28px);
    max-height:28vh;
    overflow:auto;
    margin:0 14px;
    padding:12px 18px 10px;
    border:1px solid rgba(210,184,142,.42);
    border-radius:14px 14px 8px 8px;
    background:rgba(10,24,39,.72);
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px);
    box-shadow:0 8px 28px rgba(0,0,0,.24);
  }
  .dog-copy h2{font-size:20px;line-height:1.25;margin-bottom:5px}
  .dog-copy p,.dog-story-line{font-size:14px;line-height:1.42}
  .dog-choices,.dog-result-mode .dog-choices{
    position:relative;
    z-index:2;
    flex:none;
    width:100%;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    padding:8px 14px 13px;
    background:transparent;
  }
  .dog-choice,.dog-next{
    min-height:48px;
    background:rgba(17,35,54,.78);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
  }
  .dog-choice:first-child{background:rgba(116,85,58,.78)}
}
@media (orientation:landscape) and (max-width:980px){
  .dog-main,.dog-result-mode .dog-main{height:calc(100dvh - 58px);min-height:250px}
  .dog-copy,.dog-result-mode .dog-copy{
    width:calc(100% - 14px);
    margin:0 7px;
    max-height:29vh;
    padding:8px 11px 7px;
  }
  .dog-copy h2{font-size:18px}
  .dog-copy p,.dog-story-line{font-size:13px;line-height:1.38}
  .dog-choices,.dog-result-mode .dog-choices{gap:6px;padding:6px 7px 8px}
  .dog-choice,.dog-next{min-height:38px}
}


/* 2026-09-26 landscape compact dialogue + single-row choices + journal readability */
@media (orientation:landscape){
  .dog-copy,.dog-result-mode .dog-copy{
    max-height:18vh;
    padding:9px 16px 8px;
  }
  .dog-copy h2{font-size:20px;margin-bottom:3px}
  .dog-copy p,.dog-story-line{font-size:14px;line-height:1.34}
  .dog-choices,.dog-result-mode .dog-choices{
    display:grid;
    grid-template-columns:repeat(var(--dog-choice-count,3),minmax(0,1fr));
    grid-auto-flow:column;
    gap:7px;
    padding:7px 14px 11px;
  }
  .dog-choice,.dog-next{min-height:44px;padding:7px 9px}
  .dog-choice b{font-size:13px;white-space:normal}
  .dog-choice small{display:none}

  .dog-mind .dog-profile b{font-size:28px}
  .dog-mind .dog-profile span{font-size:13px}
  .dog-mind .dog-journal-label{font-size:14px}
  .dog-mind .dog-journal-portrait p{font-size:11px}
  .dog-mind .dog-journal-photos figcaption{font-size:11px}
  .dog-mind .mind-section h3{font-size:16px}
  .dog-mind .mind-section p{font-size:13px;line-height:1.4}
}
@media (orientation:landscape) and (max-width:980px){
  .dog-copy,.dog-result-mode .dog-copy{max-height:19vh;padding:7px 10px 6px}
  .dog-copy h2{font-size:18px}
  .dog-copy p,.dog-story-line{font-size:13px;line-height:1.3}
  .dog-choices,.dog-result-mode .dog-choices{gap:5px;padding:5px 7px 7px}
  .dog-choice,.dog-next{min-height:36px;padding:5px 6px}
  .dog-choice b{font-size:11px}
  .dog-mind .dog-profile b{font-size:19px}
  .dog-mind .dog-profile span{font-size:10px}
  .dog-mind .dog-journal-label{font-size:10px}
  .dog-mind .dog-journal-portrait p{font-size:8px}
  .dog-mind .dog-journal-photos figcaption{font-size:8px}
  .dog-mind .mind-section h3{font-size:13px}
  .dog-mind .mind-section p{font-size:11px;line-height:1.35}
}


/* 2026-09-26 fullscreen cinema header: reclaim vertical space for artwork. */
@media (orientation:landscape){
  .dog-game:fullscreen,
  .dog-game.dog-immersive{padding:0;background:#0b1420}
  .dog-game:fullscreen .dog-shell,
  .dog-game.dog-immersive .dog-shell{position:relative;height:100dvh;max-width:none}
  .dog-game:fullscreen .dog-head,
  .dog-game.dog-immersive .dog-head{
    position:absolute;
    z-index:30;
    inset:10px 10px auto 10px;
    display:block;
    min-height:0;
    padding:0;
    margin:0;
    border:0;
    pointer-events:none
  }
  .dog-game:fullscreen .dog-head>div,
  .dog-game.dog-immersive .dog-head>div{
    position:absolute;
    left:8px;
    top:4px;
    padding:6px 10px;
    border-radius:9px;
    background:rgba(7,17,28,.48);
    backdrop-filter:blur(5px);
    -webkit-backdrop-filter:blur(5px)
  }
  .dog-game:fullscreen .dog-head h1,
  .dog-game.dog-immersive .dog-head h1{font-size:15px;line-height:1;margin:0;color:#f4e7d5}
  .dog-game:fullscreen .dog-head p,
  .dog-game.dog-immersive .dog-head p,
  .dog-game:fullscreen .dog-head>small,
  .dog-game.dog-immersive .dog-head>small,
  .dog-game:fullscreen .dog-wing,
  .dog-game.dog-immersive .dog-wing{display:none!important}
  .dog-game:fullscreen .dog-fullscreen,
  .dog-game.dog-immersive .dog-fullscreen{
    position:absolute;
    right:0;
    top:0;
    display:inline-flex;
    width:auto;
    min-height:34px;
    padding:6px 10px;
    margin:0;
    border:1px solid rgba(224,197,154,.58);
    border-radius:9px;
    background:rgba(9,20,32,.58);
    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
    font-size:11px;
    pointer-events:auto
  }
  .dog-game:fullscreen .dog-layout,
  .dog-game.dog-immersive .dog-layout{height:100dvh;gap:8px}
  .dog-game:fullscreen .dog-main,
  .dog-game.dog-immersive .dog-main,
  .dog-game:fullscreen .dog-result-mode .dog-main,
  .dog-game.dog-immersive .dog-result-mode .dog-main{
    height:100dvh;
    max-height:none;
    min-height:0;
    border-radius:0
  }
  .dog-game:fullscreen .dog-mind,
  .dog-game.dog-immersive .dog-mind{
    height:100dvh;
    max-height:none;
    min-height:0;
    border-radius:0;
    padding-top:54px
  }
}


/* 2026-09-26 readability pass */
@media (orientation:landscape){
  .dog-copy,.dog-result-mode .dog-copy{max-height:23vh;padding:11px 17px 10px}
  .dog-copy h2{font-size:22px;line-height:1.28}
  .dog-copy p,.dog-story-line{font-size:16px;line-height:1.42}
  .dog-choice b{font-size:14px}
  .dog-next{font-size:14px}
  .dog-mind .dog-profile b{font-size:30px}
  .dog-mind .dog-profile span{font-size:14px}
  .dog-mind .dog-journal-label{font-size:15px}
  .dog-mind .mind-section h3{font-size:18px}
  .dog-mind .mind-section p{font-size:14px;line-height:1.45}
}
@media (orientation:landscape) and (max-width:980px){
  .dog-copy,.dog-result-mode .dog-copy{max-height:23vh;padding:9px 12px 8px}
  .dog-copy h2{font-size:20px}
  .dog-copy p,.dog-story-line{font-size:14px;line-height:1.38}
  .dog-choice b{font-size:12px}
  .dog-next{font-size:13px}
  .dog-mind .dog-profile b{font-size:21px}
  .dog-mind .dog-profile span{font-size:11px}
  .dog-mind .dog-journal-label{font-size:11px}
  .dog-mind .mind-section h3{font-size:14px}
  .dog-mind .mind-section p{font-size:12px;line-height:1.4}
}
@media (orientation:portrait){
  .dog-copy h2{font-size:25px}
  .dog-copy p,.dog-story-line{font-size:18px;line-height:1.55}
  .dog-choice b{font-size:17px}
  .dog-choice small{font-size:14px}
  .dog-mind.mobile-open .dog-close{
    display:block!important;
    position:sticky;
    top:0;
    z-index:60;
    margin-left:auto;
    visibility:visible!important;
    opacity:1!important;
  }
}

/* 2026-09-26 dialogue space follow-up */
@media (orientation:landscape){
  .dog-copy,.dog-result-mode .dog-copy{max-height:28vh;min-height:21vh}
}
@media (orientation:landscape) and (max-width:980px){
  .dog-copy,.dog-result-mode .dog-copy{max-height:27vh;min-height:20vh}
}


/* 2026-09-26 height-aware landscape sizing */
@media (orientation:landscape) and (min-height:601px){
  .dog-copy,.dog-result-mode .dog-copy{max-height:28vh;min-height:21vh}
}
@media (orientation:landscape) and (min-height:461px) and (max-height:600px){
  .dog-copy,.dog-result-mode .dog-copy{max-height:24vh;min-height:18vh}
}
@media (orientation:landscape) and (min-height:381px) and (max-height:460px){
  .dog-copy,.dog-result-mode .dog-copy{max-height:21vh;min-height:16vh;padding-top:7px;padding-bottom:6px}
}
@media (orientation:landscape) and (max-height:380px){
  .dog-copy,.dog-result-mode .dog-copy{max-height:19vh;min-height:0;padding:6px 10px 5px}
  .dog-choices,.dog-result-mode .dog-choices{padding-top:4px;padding-bottom:5px}
  .dog-choice,.dog-next{min-height:32px}
}

/* Portrait drawer must always expose its close control after fullscreen/orientation transitions. */
@media (orientation:portrait){
  .dog-mind.mobile-open{padding-top:10px!important}
  .dog-mind.mobile-open .dog-close{
    display:flex!important;
    position:fixed!important;
    top:max(10px,env(safe-area-inset-top))!important;
    right:10px!important;
    z-index:9999!important;
    width:42px!important;
    height:42px!important;
    align-items:center!important;
    justify-content:center!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
}


/* Independent portrait drawer close control: lives outside the drawer/fullscreen DOM. */
.dog-floating-close{display:none}
@media (orientation:portrait){
  .dog-floating-close.show{
    display:flex!important;
    position:fixed!important;
    top:max(12px,env(safe-area-inset-top))!important;
    right:12px!important;
    z-index:2147483647!important;
    width:44px!important;
    height:44px!important;
    padding:0!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid rgba(232,210,177,.7)!important;
    border-radius:50%!important;
    background:rgba(8,18,30,.92)!important;
    color:#fff!important;
    font-size:30px!important;
    line-height:1!important;
    box-shadow:0 4px 18px rgba(0,0,0,.45)!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
  }
}


/* 2026-09-26 landscape dialogue tuning: taller glass panel, quieter heading. */
@media (orientation:landscape){
  .dog-copy,.dog-result-mode .dog-copy{
    min-height:30vh;
    max-height:34vh;
    background:rgba(7,18,31,.90);
    backdrop-filter:blur(7px);
    -webkit-backdrop-filter:blur(7px);
  }
  .dog-copy h2{font-size:20px;line-height:1.25}
}
@media (orientation:landscape) and (max-width:980px){
  .dog-copy,.dog-result-mode .dog-copy{min-height:29vh;max-height:33vh}
  .dog-copy h2{font-size:18px}
}
