@import url('../assets/fonts/fonts.css');
:root{color-scheme:dark;--paper:#f6f0e5;--gold:#d3ba85;--ink:#26312b}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#252b28;color:var(--paper);font-family:'DM Sans',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.65}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}button{color:inherit}a{color:inherit}button svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.25}#world{position:fixed;inset:0;width:100%;height:100%;outline:0;touch-action:none}.film-edge{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,#111b2040,transparent 25%,transparent 64%,#141b2460),linear-gradient(90deg,#11182065,transparent 50%)}body.playing .film-edge{background:linear-gradient(180deg,#121c243b,transparent 20%,transparent 75%,#141b2445)}.hud{transition:opacity .35s}.topbar{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:30px 42px;z-index:2}.brand{text-decoration:none;display:flex;align-items:center;gap:17px;font-size:17px;letter-spacing:6px;font-weight:500}.brand small{display:block;font-size:8px;letter-spacing:2.7px;margin-top:8px}.monogram{font-family:Georgia,serif;font-style:italic;font-size:61px;line-height:1;letter-spacing:-7px;color:#ead8b3}.time{display:flex;align-items:center;gap:13px;font-size:18px;letter-spacing:1px}.time>span{font-size:26px;color:#e9d6ab}.time small{display:block;font-size:8px;letter-spacing:2px;margin-top:6px}.topbar nav{display:flex;gap:9px;align-items:center}.topbar button{border:1px solid #ffffff29;border-radius:50%;background:#1e292638;backdrop-filter:blur(12px);width:42px;height:42px;display:flex;align-items:center;justify-content:center}.topbar #mapBtn{border-radius:25px;width:auto;padding:0 16px;gap:9px;font-size:11px}.topbar button:hover,.bottom button:hover{background:#e7dfcf28}.welcome{position:fixed;left:7%;bottom:17%;z-index:2;max-width:480px}.eyebrow{font-size:9px;letter-spacing:2.3px;font-weight:500;line-height:1.5}.welcome .eyebrow{display:flex;align-items:center;gap:10px}.eyebrow>span{width:5px;height:5px;border-radius:50%;background:var(--gold)}h1{font-family:'Italiana',Georgia,serif;font-size:clamp(68px,7.3vw,112px);font-weight:400;line-height:.93;margin:28px 0 25px;letter-spacing:-3px}h1 em{font-family:Georgia,serif;font-weight:400;font-size:.93em;letter-spacing:-5px}.welcome>p{font-size:14px;line-height:1.85;color:#f3ecdfc9;margin:0 0 25px}.primary{border:1px solid #f3ead1;background:#f0e8d9;color:#233129;padding:17px 23px;min-width:248px;text-align:left;font-size:12px;display:flex;justify-content:space-between;gap:35px}.primary span{font-size:20px;line-height:.75}.primary:hover{background:#fff8e8}.welcome-foot{font-size:8px;letter-spacing:1.8px;margin-top:19px;color:#e6e2d5aa}.welcome-foot i{font-style:normal;margin:0 9px}.bottom{position:fixed;bottom:27px;left:42px;right:42px;display:flex;align-items:center;justify-content:space-between;gap:16px;z-index:2}.render-badge{display:flex;align-items:center;gap:10px}.render-badge>i{width:5px;height:5px;background:#b6c29f;border-radius:50%}.render-badge span{font-size:8px;letter-spacing:1.2px}.render-badge small{display:block;font-size:10px;letter-spacing:0;margin-top:6px;color:#e4e4d7a0}#controlsHint{font-size:10px;color:#eee8d3bd;display:flex;gap:8px;align-items:center}kbd{font:9px 'DM Sans';border:1px solid #eee3c850;border-radius:3px;padding:4px}#controlsHint b{font-weight:400;margin:0 5px}.bottom button{display:flex;align-items:center;gap:10px;background:#24302a40;border:1px solid #f3e9d62b;border-radius:30px;padding:11px 16px;backdrop-filter:blur(8px);font-size:10px}.live-info{position:fixed;left:42px;bottom:110px;pointer-events:none;text-shadow:0 2px 15px #0007}.live-info h2{font-family:'Italiana',Georgia,serif;font-size:38px;font-weight:400;line-height:1.1;margin:9px 0}.live-info p{font-size:11px;color:#fff9}.person-label{position:fixed;z-index:2;transform:translate(-50%,-100%);display:flex;align-items:center;gap:12px;padding:13px 17px;border-radius:7px;border:1px solid #eadccf7a;color:#29322b;background:#fff7e8e6;box-shadow:0 8px 28px #0002;text-align:left}.person-label:after{content:'';position:absolute;left:50%;bottom:-7px;border-left:7px solid transparent;border-right:7px solid transparent;border-top:7px solid #fff7e8e6}.person-icon{font-size:23px;color:#8b7655}.person-label strong{display:block;font-size:13px;font-weight:600}.person-label small{display:block;font-size:9px;margin-top:4px;color:#52594c}.person-label>span:last-child{margin-left:8px;font-size:17px}#crosshair{position:fixed;left:50%;top:50%;width:3px;height:3px;border-radius:50%;background:#fff7;pointer-events:none}#toast{position:fixed;left:50%;bottom:95px;transform:translate(-50%,12px);background:#26312bea;border:1px solid #d7c5a344;padding:12px 20px;border-radius:6px;font-size:12px;opacity:0;transition:.3s;pointer-events:none;z-index:8}#toast.show{opacity:1;transform:translate(-50%,0)}#transition{position:fixed;inset:0;pointer-events:none;z-index:6;opacity:0;transition:opacity .35s;background:#1e2622}#transition.active{opacity:1}.dialogue{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);width:min(740px,calc(100% - 40px));padding:26px 30px 18px;background:#f5f0e7f5;backdrop-filter:blur(20px);border:1px solid #fff9;color:#2f3932;z-index:5;box-shadow:0 10px 70px #0003;border-radius:3px}.dialogue-head{display:flex;justify-content:space-between;align-items:flex-start}.dialogue .eyebrow{color:#8b795c;font-size:8px}.dialogue h2{font-family:Georgia,serif;font-weight:400;font-size:27px;margin:7px 0 0}.dialogue h2 span{font:10px 'DM Sans';margin-left:12px;color:#777b6e}.dialogue button#closeDialogue{font-size:25px;border:0;background:none;color:#7c8073}.dialogue>p{font-size:14px;line-height:1.8;margin:18px 0}#choices{display:grid;gap:7px}#choices button{border:1px solid #45554924;background:#ffffff70;color:#344237;text-align:left;padding:11px 14px;font-size:12px;border-radius:3px}#choices button:hover{background:#e3dece;border-color:#b3a683}#choices button:before{content:'↗';margin-right:12px;color:#8e7c58}.dialogue-bottom{display:flex;justify-content:space-between;gap:10px;font-size:8px;letter-spacing:1px;border-top:1px solid #65736126;margin-top:18px;padding-top:13px;color:#7a8170}.dialogue-bottom>span:first-child{letter-spacing:0;font-size:10px;color:#6c7c60}body.talking .live-info,body.talking .bottom,body.talking .person-label{opacity:0;pointer-events:none}dialog{background:#f3eee4;color:#344038;border:1px solid #fff5;padding:40px;max-width:min(900px,calc(100% - 40px));border-radius:4px;box-shadow:0 25px 100px #0005}dialog::backdrop{background:#101b227a;backdrop-filter:blur(8px)}dialog h2{font-family:Georgia,serif;font-weight:400;font-size:32px;line-height:1.2;margin:16px 0}dialog>p{font-size:13px;line-height:1.8;color:#778071}.close{position:absolute;right:14px;top:12px;border:0;background:none;font-size:26px;color:#687263}.view-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}.view-cards button{text-align:left;border:1px solid #6e7a6838;background:#eae6da;color:#344038;padding:24px 21px}.view-cards button:hover{background:#dbe0d0}.view-cards span{font-family:Georgia;font-size:38px;color:#9fa68f}.view-cards h3{font-family:Georgia;font-size:20px;font-weight:400}.view-cards p{font-size:11px;line-height:1.7;color:#6d7768}.view-cards b{display:block;font-size:10px;font-weight:500;margin-top:30px}#help{max-width:560px}dl{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-size:12px;margin:28px 0}dt{font-weight:600}dd{margin:0;color:#7a8071}#help a{font-size:11px;color:#6c775e}#loading{position:fixed;inset:0;z-index:20;background:#253029;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .65s}.load-monogram{font-family:Georgia;font-style:italic;font-size:100px;color:#d3ba85;margin-bottom:22px}#loading h2{font-family:'Italiana',Georgia;font-weight:400;font-size:33px;margin:18px 0 25px}.load-track{width:220px;height:2px;background:#ffffff20;overflow:hidden}.load-track i{display:block;height:100%;background:#d3ba85;width:3%;transition:width .3s}#loading p{font-size:11px;color:#dadacc99;margin-top:19px}#retry{padding:12px 22px;background:#e8dec9;color:#26312b;border:0;margin-top:15px}#loading.done{opacity:0;pointer-events:none}.photo-mode .hud,.photo-mode #welcome,.photo-mode #crosshair,.photo-mode #touchPad{opacity:0!important;pointer-events:none!important}.photo-mode .film-edge{opacity:0}#photoHint{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);font-size:10px;color:#fff9;text-shadow:0 1px 5px #000;background:#1d27294d;border-radius:20px;padding:8px 14px;z-index:10;white-space:nowrap}#photoHint button{border:0;background:none;text-decoration:underline;font-size:10px;margin-left:10px}#touchPad{position:fixed;bottom:100px;left:20px;z-index:4;text-align:center}#touchPad button{width:43px;height:43px;border:1px solid #fff5;background:#25322b66;border-radius:50%;margin:3px}#touchPad>div{display:flex}[hidden]{display:none!important}@media(max-width:850px){.topbar{padding:23px}.bottom{left:23px;right:23px}.time{display:none}.brand{font-size:14px}.monogram{font-size:52px}.welcome{left:7%;bottom:19%}h1{font-size:85px}#controlsHint{display:none}.live-info{left:24px;bottom:100px}.view-cards{grid-template-columns:1fr}.view-cards button{padding:15px}.view-cards span{float:left;margin-right:20px;font-size:32px}.view-cards h3{margin:3px 0}.view-cards p{margin:6px 0}.view-cards b{margin-top:8px}.dialogue h2 span{display:block;margin:5px 0 0}.dialogue{padding:20px;bottom:20px}.dialogue-bottom>span:last-child{display:none}dialog{max-height:85dvh;overflow:auto;padding:28px}.render-badge span{font-size:7px}.bottom button span{display:none}.live-info h2{font-size:29px}}@media(max-width:500px){.brand small{font-size:6px}.brand{gap:13px}.topbar #mapBtn span{display:none}.topbar #mapBtn{width:39px;padding:0}.topbar button{width:37px;height:37px}.topbar nav{gap:5px}.welcome{bottom:21%}h1{font-size:73px}.welcome>p{font-size:13px}.welcome .eyebrow{font-size:8px}.live-info{top:105px;bottom:auto}.live-info p{display:none}.dialogue>p{font-size:13px;line-height:1.65}.view-cards h3{font-size:18px}#photoHint{font-size:8px}}
@media(min-width:851px){.dialogue{left:auto;right:42px;transform:none;width:min(480px,41vw);bottom:100px;padding:25px}.dialogue h2 span{display:block;margin:6px 0 0}.dialogue-bottom>span:last-child{display:none}.dialogue>p{font-size:13px}.dialogue #choices button{line-height:1.5}}

.portrait-active .live-info,.portrait-active #controlsHint,.portrait-active #crosshair,.portrait-active .render-badge {display:none!important}.portrait-active #touchPad{display:none!important}#portraitBtn{font-size:11px;border:1px solid #c4ad7755;padding:10px 13px;border-radius:3px}.portrait-active .bottom{pointer-events:none}.portrait-active #photoBtn{pointer-events:auto}@media(max-width:850px){.portrait-active .bottom{display:none}#portraitBtn{padding:8px;font-size:9px}.portrait-active .topbar .time{display:none}}

.topbar #portraitBtn{width:auto;min-width:58px;white-space:nowrap}.portrait-active #portraitBtn{display:none}
 .study-link{color:inherit;font:inherit;font-size:12px;text-decoration:none;border:1px solid #ffffff36;border-radius:999px;padding:11px 15px;white-space:nowrap}.study-link:hover{background:#ffffff20}.study-link:focus-visible{outline:2px solid #e6c99a;outline-offset:4px}@media(max-width:600px){.study-link{font-size:10px;padding:9px}.topbar .brand>span:last-child{display:none}.topbar{padding:18px}.topbar .brand{margin-right:15px}.topbar nav{gap:5px}}

.comfort-settings{border:1px solid #c4ad7755;border-radius:8px;padding:14px;margin:20px 0}.comfort-settings legend{font-size:12px;letter-spacing:.03em}.comfort-settings label{display:flex;align-items:center;gap:10px;margin:10px 0;font-size:13px;line-height:1.5}.comfort-settings input{accent-color:#bfa570;width:17px;height:17px}

/* Room selection remains readable when the bedroom is available. */
.view-cards{grid-template-columns:repeat(2,minmax(0,1fr))}#transition.active{pointer-events:auto}.hud,.portrait-controls{user-select:none;-webkit-user-select:none}
@media(max-width:600px){.view-cards{grid-template-columns:1fr}#map{max-height:85dvh;overflow:auto}.view-cards button{padding:18px}.view-cards b{margin-top:16px}}

.topbar #accountLink{display:flex;align-items:center;justify-content:center;width:38px;height:38px;color:inherit;border-radius:50%}.topbar #accountLink svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.4}.save-status{position:fixed;z-index:10;left:50%;top:80px;transform:translateX(-50%);background:#f7f1e7;color:#344b3d;padding:10px 16px;border-radius:8px;font-size:12px;max-width:90vw;text-align:center}.save-status[hidden]{display:none}
