:root{--ink:#273c45;--muted:#687477;--paper:#f1eee5;--blue:#344750;--red:#885047;--line:#c8c9c1;--serif:"Songti SC","STSong","Noto Serif CJK SC",SimSun,serif;font-family:"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible{outline:3px solid #b56c4f;outline-offset:6px}button{border:0}a{color:inherit}button.primary{background:var(--ink);color:var(--paper);padding:16px 32px;min-height:52px;letter-spacing:.15em}.text-button{padding:12px 0;background:none;border-bottom:1px solid currentColor;font-size:14px;letter-spacing:.1em}.eyebrow{font-size:12px;letter-spacing:.18em;line-height:1.7;color:var(--muted)}h1,h2,p{margin:0}h1,h2{font-family:var(--serif);font-weight:500}button:active{translate:0 1px}.signature{position:fixed;z-index:10;bottom:0;right:0;padding:10px 25px 10px 36px;background:var(--paper);font-family:Georgia,serif;font-size:13px;color:#53646a;letter-spacing:.04em}.skip{position:fixed;top:-100px;z-index:50;background:var(--paper);padding:15px}.skip:focus{top:0}.masthead{height:94px;display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 5.6vw;border-bottom:1px solid #adb6b340}.brand{border:0;background:none;text-align:left;padding:12px 0;font-family:var(--serif);letter-spacing:.15em;font-size:18px}.masthead .text-button{border:0}.cover{min-height:100svh;background:var(--blue);color:var(--paper);position:relative;overflow:hidden}.cover .masthead{border-color:#edf0e525}.cover .eyebrow{color:#c2cdc9}.cover-content{max-width:1260px;min-height:calc(100svh - 160px);margin:auto;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px;padding:60px 60px 85px}.cover-title{position:relative;z-index:2}.cover-title h1{font-size:clamp(45px,5.7vw,86px);line-height:1.32;letter-spacing:.075em;margin:24px 0 42px}.cover-title h1 span{display:block;font-size:1.36em;letter-spacing:.22em;margin-bottom:6px}.cover-title .primary{background:var(--paper);color:var(--ink);min-width:190px}.cover-title .sub{font-family:var(--serif);margin-top:27px;font-size:15px;color:#c6cdc8;letter-spacing:.12em}.cover-photo{position:relative;max-width:435px;width:100%;justify-self:center;transform:rotate(4deg);padding:14px 14px 49px;background:#e7e0d1;box-shadow:0 18px 50px #0a182344}.cover-photo:before{content:"";position:absolute;inset:16px -12px -12px 10px;background:#a7b0ac;z-index:-1;transform:rotate(-8deg)}.cover-photo img{display:block;width:100%;height:clamp(290px,35vw,440px);object-fit:cover;object-position:center 43%;filter:saturate(.75)}.tape:after{content:"";position:absolute;top:-13px;left:calc(50% - 47px);width:94px;height:29px;background:#c5bb9b9c;transform:rotate(-5deg);box-shadow:0 1px 2px #26342d10}.photo-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;color:#576268;padding-top:16px;font-family:var(--serif);font-size:14px;letter-spacing:.14em}.margin-note{position:absolute;right:-30px;bottom:-35px;font-family:"Kaiti SC",KaiTi,var(--serif);font-size:22px;color:#d5d5c7;transform:rotate(-8deg)}.cover-bottom{position:absolute;left:5.6vw;bottom:22px;font-size:12px;color:#b7c1bd;letter-spacing:.15em}.folio{max-width:1170px;margin:auto;padding:48px 52px 80px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:40px}.section-heading h1{font-size:38px;letter-spacing:.15em;margin-top:10px}.section-heading .aside{font-family:var(--serif);color:var(--muted);font-size:15px;letter-spacing:.1em}.wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 38px;padding:6px 6px 15px}.person{position:relative;text-align:left;background:#faf8f0;padding:11px 11px 17px;box-shadow:0 5px 12px #263c4512;transform:rotate(var(--tilt));transition:transform .2s;align-self:start}.person:nth-child(even){margin-top:25px}.person:nth-child(3n){margin-top:8px}.person img{display:block;width:100%;aspect-ratio:4/4.5;object-fit:cover;object-position:center 24%;filter:saturate(.67)}.person:disabled img{filter:saturate(.32);opacity:.78}.person .number{position:absolute;top:18px;left:18px;z-index:1;background:#f3eee5db;padding:3px 6px;font-size:12px;letter-spacing:.1em}.person-meta{display:flex;align-items:center;justify-content:space-between;gap:5px;padding-top:14px}.person-name{font-family:var(--serif);font-size:21px;letter-spacing:.07em}.person-state{font-size:12px;color:#737b79}.person:not(:disabled) .person-state{color:var(--red);border-bottom:1px solid #ae8277;padding-bottom:3px}.wall-foot{margin-top:32px;color:var(--muted);font-size:13px;letter-spacing:.06em}.conversation{max-width:1180px;display:grid;grid-template-columns:40% 60%;padding:58px 45px 80px;margin:auto;align-items:center}.portrait-sheet{position:relative;z-index:2;padding:12px 12px 22px;background:#faf7ed;transform:rotate(-3deg);box-shadow:0 10px 22px #253e4b1b;margin-right:-24px}.portrait-sheet img{display:block;width:100%;max-height:520px;aspect-ratio:4/5;object-fit:cover;object-position:center 43%;filter:saturate(.8)}.dialogue-paper{position:relative;background:#fcfaf4;box-shadow:7px 9px 20px #293d4910;padding:44px 42px 32px 70px;min-height:470px;display:flex;flex-direction:column}.dialogue-paper:before{content:"";position:absolute;z-index:-1;background:#e4e2d9;inset:10px -7px -7px 8px;transform:rotate(1.2deg)}.dialogue-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d3d4cc;padding-bottom:18px;margin-bottom:29px;gap:15px}.dialogue-heading h1{font-size:29px;letter-spacing:.16em}.speaker{font-size:14px;color:var(--muted);margin-bottom:18px;letter-spacing:.15em}.speech{font-family:var(--serif);font-size:23px;line-height:1.9;letter-spacing:.045em;white-space:pre-line}.dialogue-body{flex:1}.dialogue-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:15px;margin-top:35px}.dialogue-actions .text-button{font-size:14px}.choices{display:grid;grid-template-columns:1fr 1fr;gap:0 22px;margin-top:15px}.choice{display:flex;align-items:center;justify-content:space-between;text-align:left;gap:7px;padding:14px 2px;min-height:49px;background:none;border-bottom:1px solid #d5d5ca;font-size:17px;font-family:var(--serif)}.choice .seen{font-size:12px;color:#7a827f;font-family:sans-serif}.prompt{font-size:19px}.quiet{font-size:13px;line-height:1.7;color:var(--muted)}.stamp{color:var(--red);font-family:var(--serif);font-size:15px;margin-top:22px;letter-spacing:.1em}.dialogue-footer{display:flex;gap:25px;justify-content:space-between;margin-top:25px}.dialogue-footer .text-button{border:0;color:var(--muted)}.mini-note{font-size:14px;color:var(--red);margin-top:15px;line-height:1.7}dialog{border:0;color:var(--ink);background:#f7f4eb;padding:55px;max-width:510px;width:calc(100% - 40px);box-shadow:0 20px 100px #10253044}dialog::backdrop{background:#1d303aba;backdrop-filter:blur(4px)}dialog h2{font-size:30px;margin:20px 0 28px}dialog p{font-size:17px;line-height:2;margin-bottom:25px}.close{position:absolute;right:15px;top:10px;font-size:28px;background:none;padding:6px 12px}.fade{animation:arrive .3s ease-out}@keyframes arrive{from{opacity:0;translate:0 5px}to{opacity:1;translate:0 0}}@media(hover:hover){.person:not(:disabled):hover{transform:rotate(0) translateY(-4px)}.choice:hover{color:var(--red);border-color:var(--red)}}@media(min-width:1500px){.cover-content{gap:100px}}@media(max-width:900px){.cover-content{padding:60px 40px 100px}.cover-title h1{font-size:48px}.cover-photo{max-width:330px}.wall{gap:28px}.folio{padding:40px 35px 75px}.person-name{font-size:19px}.person-meta{display:block}.person-state{display:inline-block;margin-top:6px}.conversation{padding:55px 30px 70px;grid-template-columns:38% 62%}.dialogue-paper{padding:30px 25px 25px 45px}.speech{font-size:21px}.portrait-sheet img{aspect-ratio:3/4}.masthead{height:78px}}@media(max-width:600px){.masthead{height:70px;margin:0 23px}.brand{font-size:15px}.masthead .eyebrow{font-size:12px;letter-spacing:.06em}.cover-content{grid-template-columns:1fr;min-height:auto;padding:34px 32px 90px;gap:36px}.cover-title h1{font-size:37px;margin:15px 0 25px}.cover-title h1 span{font-size:1.45em;margin-bottom:0}.cover-title .sub{display:none}.cover-title .eyebrow{font-size:12px}.cover-photo{width:65%;max-width:280px;justify-self:end;margin-right:15px;padding:9px 9px 24px}.cover-photo img{height:205px}.photo-caption{padding-top:11px;font-size:12px;letter-spacing:.07em}.margin-note{font-size:18px;right:auto;left:-90px;bottom:25px}.cover-bottom{left:25px;bottom:18px;font-size:12px}.signature{font-size:12px;padding:9px 16px}.folio{padding:30px 24px 65px}.section-heading{margin-bottom:28px}.section-heading h1{font-size:30px}.section-heading .aside{display:none}.wall{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 23px;padding:0}.person{padding:8px 8px 14px}.person:nth-child(even){margin-top:18px}.person:nth-child(3n){margin-top:0}.person:nth-child(6){margin-top:18px}.person-name{font-size:21px}.person-meta{display:block;padding:11px 3px 0}.person img{aspect-ratio:4/4.8}.person-state{font-size:12px}.person .number{top:13px;left:13px}.conversation{display:block;padding:30px 23px 70px}.portrait-sheet{width:66%;max-width:270px;margin:0 0 -20px 6px;padding:8px 8px 12px;transform:rotate(-3deg)}.portrait-sheet img{height:215px;aspect-ratio:auto;object-position:center 35%}.portrait-sheet .photo-caption{font-size:12px}.dialogue-paper{min-height:390px;margin-left:12px;padding:45px 24px 23px}.dialogue-heading{padding-bottom:15px;margin-bottom:24px}.dialogue-heading h1{font-size:26px}.speech{font-size:21px;line-height:1.85}.dialogue-actions{margin-top:30px}.dialogue-actions .primary{padding:14px 26px}.choices{gap:0 18px}.choice{font-size:17px}.dialogue-footer{margin-top:16px}.speaker{margin-bottom:12px}.prompt{font-size:18px}dialog{padding:40px 27px}dialog h2{font-size:27px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}@media(max-height:700px) and (min-width:901px){.cover-content{padding-top:30px;padding-bottom:70px}.cover-photo img{height:320px}.cover-title h1{font-size:60px}.conversation{padding-top:30px}.portrait-sheet img{max-height:420px}}

.cover-photo:before{background:#e5dfd0}.person-meta{flex-wrap:wrap;column-gap:10px;row-gap:6px}.person-name{white-space:nowrap}
#main:focus{outline:none}.fade{animation:none}
/* Updated supplied group photo and portrait assets retain their full framing. */
.cover-content{grid-template-columns:.95fr 1.05fr;gap:42px}
.cover-photo{max-width:520px;margin:0;padding:10px;transform:rotate(3deg)}
.cover-photo img{height:auto;aspect-ratio:auto;object-fit:contain;filter:saturate(.85)}
.portrait-sheet{margin-top:0;margin-bottom:0}
.portrait-sheet img{height:auto;max-height:560px;aspect-ratio:auto;object-fit:contain;object-position:center;filter:none}
.direction{font-size:15px;color:var(--muted);line-height:1.8;margin-bottom:15px;font-family:var(--serif)}
.choices.single{grid-template-columns:1fr;margin-top:25px}
.trial-end{font-size:29px;letter-spacing:.1em;margin:25px 0}
@media(max-width:900px){.cover-content{gap:28px}.cover-title h1{font-size:42px}}
@media(max-width:600px){.cover-content{grid-template-columns:1fr;padding:40px 30px 85px;gap:65px}.cover-photo{width:100%;max-width:400px;margin:0;justify-self:center;padding:6px}.cover-photo img{height:auto}.cover-title h1{font-size:37px}.portrait-sheet{width:64%;max-width:250px;margin:0 0 -20px 6px}.portrait-sheet img{height:auto;max-height:none}.conversation{padding-top:26px}.dialogue-paper{padding-top:44px}}
.dialogue-footer{padding-left:50px}
@media(max-width:600px){.dialogue-footer{padding-left:12px}}
/* Reading space is fixed; the action row never follows the length of a sentence. */
.masthead nav{display:flex;gap:24px;align-items:center}.new-dot{position:absolute;right:16px;top:17px;width:8px;height:8px;border-radius:50%;background:var(--red);z-index:2}.in-conversation{height:100dvh;overflow:hidden}.in-conversation #app{height:calc(100dvh - 34px)}.in-conversation .masthead{height:76px}.conversation{height:calc(100% - 76px);max-width:1240px;padding:32px 45px 10px;grid-template-columns:39% 61%;gap:0;align-items:stretch}.portrait-sheet{align-self:center;margin:0 -20px 0 0;max-height:100%;max-width:400px;width:100%;justify-self:center}.portrait-sheet img{max-height:calc(100dvh - 220px);width:100%;object-fit:contain}.dialogue-column{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) 48px}.dialogue-paper{height:100%;min-height:0;padding:30px 35px 24px 58px}.dialogue-heading{flex:none;margin:0 0 18px;padding:0 0 12px}.dialogue-heading h1{font-size:27px}.dialogue-heading .text-button{font-size:12px;padding:8px 0;border:0}.dialogue-footer{margin:0;padding:0 0 0 40px;align-items:center}.dialogue-footer .text-button{font-size:12px;padding:10px 0}.dialogue-paper #dialogue-live{flex:1;min-height:0;display:flex;flex-direction:column}.dialogue-body{min-height:0;flex:1}.reading-body{display:flex;flex-direction:column}.speaker{flex:none;margin:2px 0 16px}.reading-text{flex:1;min-height:0;overflow:hidden}.speech{font-size:22px;line-height:1.9;letter-spacing:.03em;margin:0}.narration{color:#6d7876;font-size:19px;font-family:var(--serif)}.dialogue-actions{flex:none;height:58px;min-height:58px;margin-top:16px;flex-wrap:nowrap;gap:20px}.dialogue-actions .primary{min-width:126px;height:52px;padding:12px 20px}.previous{font-size:13px;background:none;padding:12px 3px;min-height:44px;color:var(--muted)}.previous:disabled{opacity:.3}.page-indicator{margin-right:auto;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}.menu-body{overflow:auto;overscroll-behavior:contain}.menu-title{font-family:var(--serif);font-size:20px;line-height:1.65;margin:8px 0 14px}.menu-body>.text-button{display:block;margin:14px 0}.menu-body>.quiet{display:block;margin-top:24px}.choices{margin:0;gap:0 24px}.choice{min-height:46px;font-size:17px;padding:10px 2px}.signature{height:34px;display:flex;align-items:center}.scene .portrait-sheet img{object-fit:contain}.index-tabs{display:flex;flex-wrap:wrap;gap:8px 14px;margin-bottom:35px}.index-tabs button{background:none;padding:10px 12px;color:var(--muted);font-family:var(--serif);border-bottom:2px solid transparent}.index-tabs button[aria-pressed=true]{color:var(--ink);border-color:var(--red)}.notebook{min-height:75vh}.note-groups{display:flex;flex-wrap:wrap;align-items:flex-start;gap:26px 24px;padding:5px 0 40px}.note-tag{text-align:left;background:#e6e8df;box-shadow:2px 3px 5px #273c4510;padding:19px 25px;transform:rotate(var(--tilt));min-width:125px;position:relative}.note-tag:nth-child(3n){background:#eadfcf}.note-tag:nth-child(3n+1){background:#e2e7e7}.note-tag span{display:block;font:21px var(--serif);line-height:1.6}.note-tag small{font-size:12px;display:block;margin-top:9px;color:var(--muted)}.album{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}.album-photo{background:#faf8f0;padding:10px 10px 20px;box-shadow:2px 5px 10px #273c4512;align-self:start;text-align:left}.album-photo img{width:100%;height:230px;object-fit:contain;display:block}.album-photo span{display:block;padding:13px 8px 0;font-family:var(--serif)}.album-photo.instant{transform:rotate(-2deg);background:transparent;box-shadow:none;padding:0}.album-photo.instant:nth-child(2n){transform:rotate(2deg)}.photo-dialog{max-width:950px;padding:42px 20px 18px;width:calc(100% - 28px);max-height:94dvh;overflow:auto}.photo-dialog figure{margin:0}.photo-full{display:block;margin:auto;max-width:100%;max-height:73dvh;object-fit:contain}.photo-dialog figcaption{font:16px var(--serif);text-align:center;margin:12px}.photo-controls{display:flex;justify-content:space-between;align-items:center;padding:0 10px;font-size:13px}.log-dialog{max-height:85dvh;overflow:auto;max-width:660px}.log-dialog small{color:var(--muted);font-size:13px}.transcript p{font-family:var(--serif);font-size:19px;margin-bottom:24px;white-space:pre-line}.transcript small{display:block}.confirmed-pair{display:flex;flex-wrap:wrap;gap:12px 28px;font-family:var(--serif);font-size:19px;margin:-8px 0 45px}.confirmed-pair small{font:12px sans-serif;color:var(--muted);align-self:center}.prediction-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 55px}.prediction-card{display:flex;align-items:center;gap:22px;padding:0 0 25px;border-bottom:1px solid #c8c9c180}.prediction-card>img{width:100px;aspect-ratio:4/5;object-fit:cover;padding:5px;background:#faf8f0;transform:rotate(-2deg);box-shadow:2px 3px 9px #273c4512}.prediction-card>div{flex:1}.prediction-card label{display:block;font:19px var(--serif);margin-bottom:9px}.prediction-card select{width:100%;background:none;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:11px 0;font:18px var(--serif);color:var(--red);min-height:46px}.prediction-card .text-button{font-size:12px;border:0;margin-top:8px}.seal-actions{display:flex;align-items:center;justify-content:space-between;margin-top:35px;gap:20px}.primary:disabled{opacity:.4}.modal-actions{display:flex;justify-content:space-between;gap:20px}.result{max-width:760px}.record-paper{background:#fcfaf4;padding:40px 50px;box-shadow:4px 5px 15px #273c4512;position:relative;transform:rotate(-.6deg)}.record-date{font:12px sans-serif;color:var(--muted);margin-bottom:25px}.record-lines p{display:grid;grid-template-columns:1fr 30px 1fr 50px;gap:8px;align-items:center;font:23px var(--serif);padding:10px 0}.record-lines small{font:11px sans-serif;color:var(--muted)}.record-arrow{color:#9a9f97;font-size:17px}.record-stamp{display:block;width:max-content;margin:28px 0 0 auto;transform:rotate(-9deg);border:2px solid #885047b0;padding:7px 15px;font:23px var(--serif);color:var(--red);letter-spacing:.2em}.result-actions{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin:34px 0 20px}.save-warning{position:fixed;left:15px;bottom:34px;background:var(--paper);color:var(--red);font-size:12px;z-index:30;padding:8px}
@media(max-width:900px){.conversation{padding:24px 28px 8px;grid-template-columns:34% 66%}.dialogue-paper{padding:26px 28px 20px 40px}.speech{font-size:21px}.portrait-sheet{padding:8px 8px 16px}.album{grid-template-columns:repeat(2,minmax(0,1fr))}.prediction-grid{gap:30px}.prediction-card{gap:14px}.prediction-card>img{width:80px}}
@media(max-width:600px){
 .masthead nav{gap:15px}.masthead .text-button{font-size:12px;letter-spacing:0}.masthead{margin:0 20px}.brand{font-size:14px;letter-spacing:.07em}.in-conversation .masthead{height:52px}.in-conversation #app{height:calc(100dvh - 28px - env(safe-area-inset-bottom,0px))}.in-conversation .signature{height:28px;bottom:env(safe-area-inset-bottom,0px);background:transparent;font-size:11px;padding:4px 18px}.conversation{height:calc(100% - 52px);display:grid;grid-template-columns:1fr;grid-template-rows:clamp(95px,18dvh,145px) minmax(0,1fr);padding:10px 18px 0;gap:0}.portrait-sheet{height:100%;width:105px;max-width:none;max-height:100%;margin:0 0 -8px 8px;padding:5px 5px 8px;justify-self:start;align-self:start;transform:rotate(-3deg);display:flex;flex-direction:column;z-index:2}.portrait-sheet img{flex:1;min-height:0;height:100%;max-height:none;object-fit:contain;width:100%}.portrait-sheet .photo-caption{display:none}.portrait-sheet:after{width:54px;height:17px;top:-5px;left:25px}.dialogue-column{grid-template-rows:minmax(0,1fr) 38px;min-height:0}.dialogue-paper{margin:0 0 0 5px;padding:20px 20px 14px;min-height:0}.dialogue-heading{margin-bottom:12px;padding-bottom:10px}.dialogue-heading h1{font-size:24px}.dialogue-heading .text-button{font-size:12px}.speaker{font-size:13px;margin:0 0 10px}.speech{font-size:20px;line-height:1.8;letter-spacing:.02em}.narration{font-size:18px}.direction{font-size:14px;line-height:1.7;margin-bottom:9px}.dialogue-actions{height:48px;min-height:48px;gap:16px;margin-top:12px}.dialogue-actions .primary{height:48px;min-height:48px;min-width:112px;padding:10px 18px;letter-spacing:.08em}.dialogue-footer{padding-left:6px;gap:15px}.dialogue-footer .text-button{font-size:12px;letter-spacing:0}.menu-title{font-size:17px;margin:2px 0 12px}.choices{gap:0 17px}.choice{font-size:16px;min-height:44px;padding:10px 1px}.choice .seen{font-size:10px}.menu-body>.text-button{margin:8px 0}.page-indicator{font-size:10px}.previous{font-size:12px}.scene .portrait-sheet{width:135px}.scene .group-sheet{width:180px}.folio{padding:27px 23px 65px}.section-heading{gap:12px}.section-heading h1{font-size:29px}.section-heading>.text-button{font-size:12px}.note-groups{gap:20px 15px}.note-tag{padding:15px 19px;min-width:110px}.note-tag span{font-size:18px}.index-tabs{gap:3px 7px;margin-bottom:26px}.index-tabs button{font-size:14px;padding:10px}.album{gap:25px 18px}.album-photo img{height:170px}.album-photo span{font-size:14px}.confirmed-pair{font-size:16px;gap:10px 18px;margin-bottom:30px}.prediction-grid{grid-template-columns:1fr;gap:25px}.prediction-card{gap:25px;padding-bottom:20px}.prediction-card>img{width:84px}.prediction-card label{font-size:20px}.seal-actions{align-items:flex-start;flex-direction:column}.seal-actions .primary{width:100%}.record-paper{padding:27px 22px}.record-lines p{font-size:19px;grid-template-columns:1fr 23px 1fr 38px;gap:4px}.record-lines small{font-size:10px}.record-stamp{font-size:20px}.result-actions{gap:16px}.log-dialog p{font-size:17px}.photo-dialog{padding-top:45px}
}
@media(max-width:360px){.in-conversation .masthead{margin:0 15px}.masthead nav{gap:10px}.conversation{padding-right:12px;padding-left:12px;grid-template-rows:90px minmax(0,1fr)}.dialogue-paper{padding:16px 16px 12px}.speech{font-size:19px}.dialogue-heading h1{font-size:22px}.brand{font-size:13px}.portrait-sheet{width:85px}.choice{font-size:15px}.menu-title{font-size:16px}.choices{gap:0 12px}}
@media(max-height:600px) and (min-width:601px){.in-conversation .masthead{height:48px}.conversation{height:calc(100% - 48px);padding:14px 25px 0;grid-template-columns:28% 72%}.portrait-sheet img{max-height:calc(100dvh - 170px)}.dialogue-paper{padding:16px 24px 14px 36px}.dialogue-heading{margin-bottom:8px;padding-bottom:8px}.dialogue-heading h1{font-size:23px}.dialogue-column{grid-template-rows:minmax(0,1fr) 33px}.dialogue-actions{height:44px;min-height:44px;margin-top:8px}.dialogue-actions .primary{height:44px;min-height:44px}.speech{font-size:19px;line-height:1.7}.speaker{margin-bottom:8px}.choice{min-height:40px;padding:8px 0}.menu-title{margin:0 0 7px;font-size:17px}}
.choice[hidden]{display:none}.dialogue-actions>[data-action="more-topics"]{margin-right:auto;font-size:12px;letter-spacing:0;white-space:nowrap;border:0}.menu-body:has(.choices){overflow:hidden}

/* Give the supplied portraits more room without moving the reading controls. */
@media(max-width:600px){
 .conversation{grid-template-rows:clamp(145px,28dvh,235px) minmax(0,1fr)}
 .portrait-sheet,.scene .portrait-sheet{width:clamp(120px,40vw,180px)}
 .scene .group-sheet{width:clamp(190px,60vw,260px)}
 .dialogue-heading{margin-bottom:8px;padding-bottom:7px}
 .speaker{margin-bottom:8px}
}
.unlock-dialog{max-height:85dvh;overflow:auto;padding:35px 28px 25px}
.unlock-dialog h2{font-size:25px;margin:10px 0 25px}
.unlock-photos{display:flex;gap:15px;justify-content:center;margin-bottom:25px}
.unlock-photos figure{margin:0;flex:1;min-width:0}
.unlock-photos img{width:100%;height:150px;object-fit:contain;background:#eee9dd}
.unlock-photos figcaption{font:14px var(--serif);line-height:1.6;margin-top:10px}
.unlock-dialog .modal-actions{align-items:center}
@media(max-width:360px){.unlock-dialog{padding:30px 20px 20px}.unlock-photos img{height:100px}.unlock-dialog h2{font-size:22px}}

.save-dialog{max-width:560px;max-height:88dvh;overflow:auto;padding:35px 28px 25px}
.save-dialog h2{margin:10px 0 18px}.save-dialog .save-explanation{font-size:14px;line-height:1.8;color:var(--muted);margin-bottom:20px}
.save-slots section{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 0;border-bottom:1px solid #c8c9c180}.save-slots h3{font:19px var(--serif);margin:0 0 7px}.save-slots p{font-size:12px;line-height:1.7;margin:0;color:var(--muted)}.save-slots section>div:last-child{display:flex;gap:15px}.save-slots .text-button{font-size:13px;white-space:nowrap}
.save-file-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:25px}.save-file-actions .primary{font-size:14px;min-height:44px;padding:12px 17px;letter-spacing:0}.import-save{position:relative;cursor:pointer;display:inline-flex;align-items:center;min-height:44px;font-size:14px;border-bottom:1px solid currentColor;overflow:hidden}.import-save input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.import-save:focus-within{outline:2px solid var(--red);outline-offset:4px}#save-message{font-size:13px;line-height:1.7;margin:18px 0 5px;color:var(--red)}
@media(max-width:600px){.masthead nav{gap:10px}.in-conversation .masthead{gap:10px}.save-dialog{padding:28px 20px 20px}.save-dialog h2{font-size:25px}.save-slots section{gap:10px}.save-slots section>div:last-child{gap:12px}}
