/* Character-first facility hub; all art remains the approved in-game artwork. */
.home-screen{height:100dvh;min-height:650px;padding:0 28px;background:#101722;overflow:hidden}.home-background{opacity:.92}.home-shade{background:linear-gradient(90deg,#0b1422bd,transparent 46%,#0b14224d),linear-gradient(0deg,#0b1422f5 0%,#0b142210 44%,#0b142279 100%)}
.home-header{padding:19px 0 14px;gap:12px;border:0;align-items:center}.home-brand strong{font-size:21px}.home-header-actions{gap:6px}.home-quiet{background:#1017228a;backdrop-filter:blur(12px);border-radius:8px;font-size:10px}.home-screen .home-portrait-wrap[data-actor-frame=true]{top:85px;bottom:95px;right:10%;width:66%;opacity:1;mask-image:linear-gradient(#000 88%,transparent);-webkit-mask-image:linear-gradient(#000 88%,transparent);cursor:pointer;pointer-events:auto}.home-portrait-wrap:focus-visible{outline:1px solid #ddb4c1;outline-offset:-5px}
.home-content{position:absolute;left:28px;bottom:138px;width:min(310px,29vw);padding:0;pointer-events:none}.home-content>*{pointer-events:auto}.home-content>.home-eyebrow,.home-description{display:none}.home-content h1{font-size:17px;letter-spacing:0;line-height:1.5;margin:0 0 14px;color:#e4d0d8}.home-content .hz-profile{background:#121d2bd9;border:1px solid #c8afba26;padding:10px;border-radius:10px;backdrop-filter:blur(14px)}.home-progress{padding:12px;margin:13px 0;border:1px solid #c8afba26;border-radius:10px;background:#101b2bd9;backdrop-filter:blur(14px)}.home-progress strong{font-size:18px}.home-progress p{font-size:10px}.home-progress .home-last-decision{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.home-main-actions{gap:7px}.home-main-actions button{font-size:10px;min-height:44px;padding:12px 16px}.home-intake-note{font-size:12px}.home-notice{font-size:11px}
.home-cast{top:115px;bottom:auto;right:28px;width:132px}.home-cast>.home-eyebrow{text-align:center;font-size:8px;letter-spacing:1px}.home-cast-buttons{flex-direction:column;align-items:stretch;gap:9px}.home-cast-buttons button{display:flex;align-items:center;gap:9px;padding:6px 9px;font:11px var(--serif);border-radius:9px;background:#121d2bbd;backdrop-filter:blur(12px);text-align:left}.home-cast-buttons img{width:38px;height:42px;object-fit:cover;object-position:50% 12%;border-radius:6px;background:#152133}.home-cast-caption{text-align:center}.home-cast-caption strong{display:block;font-size:25px;margin:18px 0 7px}.home-cast-caption span{font-size:8px;line-height:1.5}.hub-greeting{position:absolute;right:28px;bottom:157px;width:min(250px,24vw);font:14px/1.7 var(--serif);text-align:left;border:1px solid #d4b7c74a;border-radius:14px 14px 3px 14px;color:#e4d9df;background:#152031d9;backdrop-filter:blur(18px);padding:17px;cursor:pointer;z-index:3}
.hub-dock{position:absolute;z-index:4;bottom:49px;left:50%;transform:translateX(-50%);display:grid;grid-template-columns:repeat(6,minmax(60px,100px));gap:6px;width:min(720px,calc(100% - 48px));padding:8px 15px;border:1px solid #cfb3c33b;background:#101a2ee6;backdrop-filter:blur(22px);border-radius:16px;box-shadow:0 12px 40px #050a174a}.hub-dock-button{display:flex;flex-direction:column;align-items:center;gap:5px;justify-content:center;min-height:56px;border:0;border-radius:8px;background:transparent;color:#e5d3dd;font:10px var(--mono);cursor:pointer}.hub-dock-button:hover,.hub-dock-button:focus-visible{background:#d1a8ba19}.hub-nav-symbol{font:24px/1 Georgia,serif;color:#dfbbc8}.home-footer{left:28px;right:28px;padding:16px 0;font-size:7px}.home-more .home-nav,.home-dialog .home-nav{margin:18px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.home-dialog .home-nav button{background:#1c2a3f;border:1px solid #c4a5ba2a;min-height:52px;border-radius:8px;padding:12px}
.home-dialog:has(.home-chapters){width:min(900px,95vw)}.home-chapters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.journey-card{position:relative;display:block;overflow:hidden;width:100%;min-height:160px;text-align:left;border:1px solid #dac0ca4a;border-radius:12px;padding:0;background:#192438;color:#f0e6eb;cursor:pointer}.journey-card>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.48}.journey-card:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b1424d9,#0b142433)}.journey-card-copy{position:relative;z-index:1;display:grid;gap:8px;padding:24px 40px 24px 22px}.journey-card small{font:9px var(--mono);letter-spacing:2px;color:#e4bdcc}.journey-card strong{font:27px/1.1 var(--serif);font-weight:400}.journey-card-copy>span{font:11px/1.5 Arial,sans-serif;color:#c5c8d2}.journey-card:disabled{cursor:default;border-color:#d8bec71c}.journey-card:disabled>img{filter:grayscale(1) blur(5px);opacity:.16}.journey-card:disabled strong{color:#98a6bc}.journey-arrow{position:absolute;z-index:2;right:20px;bottom:23px;font-size:23px;color:#e0b5c5}.journey-scene{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:15px;border:1px solid #d6bac531;padding:18px;border-radius:10px;background:#18263b}.journey-scene h3{font:21px var(--serif);margin:7px 0}.journey-scene p{font:12px/1.7 Arial,sans-serif;color:#b1bed0}.journey-scene small{font:9px var(--mono);color:#d8acbd}.home-dialog .case-person img{max-width:100%;height:180px;object-fit:cover;object-position:50% 12%}.home-dialog .story-cast{display:grid;gap:16px}.home-dialog .case-person{display:grid;grid-template-columns:130px 1fr;gap:18px;background:#1a293e;padding:14px}.home-dialog .case-bonds{display:flex;flex-wrap:wrap;gap:8px}.home-dialog .case-bond{font:11px Arial,sans-serif;background:#26374c;padding:6px;border-radius:5px}.home-dialog .case-known{font:12px/1.6 Arial,sans-serif}.home-dialog .case-known dt{color:#dcb3c4;margin-top:8px}.home-dialog .case-known dd{margin:0}.home-dialog .case-evidence{padding:16px;border:1px solid #d4b5c62b;margin:12px 0}.home-dialog .case-connection-form label{display:grid;gap:6px}.home-dialog select{color:#f1dce7;background:#142134;border:1px solid #a79aaa;padding:12px;max-width:100%}
.companion-inbox{box-sizing:border-box;padding:0;width:min(970px,96vw);height:min(780px,94dvh);max-height:94dvh;overflow:hidden;border:1px solid #c8a9bb55;border-radius:15px;background:#111c2d;color:#e9dfe8;font-family:Arial,sans-serif}.companion-inbox::backdrop{background:#060c18d9;backdrop-filter:blur(8px)}.inbox-top{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:22px 25px;border-bottom:1px solid #c5afbd26}.inbox-top small{font:8px var(--mono);letter-spacing:2px;color:#d7a9bc}.inbox-top h2{font:32px var(--serif);font-weight:400;margin:8px 0 0}.inbox-close{width:44px;height:44px;border:1px solid #c5afbd4d;border-radius:50%;background:transparent;color:#e6d5df;font:25px Georgia;cursor:pointer}.inbox-layout{display:grid;grid-template-columns:230px 1fr;height:calc(100% - 102px);min-height:0}.inbox-contacts{padding:15px 10px;background:#0e1828;overflow:auto;border-right:1px solid #c5afbd26}.inbox-contact{display:flex;align-items:center;gap:12px;width:100%;min-height:84px;margin-bottom:9px;border:1px solid transparent;border-radius:10px;padding:10px;color:#e4d9e4;background:transparent;text-align:left;cursor:pointer}.inbox-contact[aria-pressed=true]{background:#293044;border-color:#b991a650}.inbox-contact img{width:48px;height:56px;border-radius:8px;object-fit:cover;object-position:50% 12%;background:#19273a}.inbox-contact span{display:grid;gap:8px}.inbox-contact strong{font:19px var(--serif)}.inbox-contact small{font-size:10px;line-height:1.5;color:#aeb7c8}.inbox-conversation{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.inbox-thread-head{padding:17px 23px;border-bottom:1px solid #c5afbd20}.inbox-thread-head h3{font:25px var(--serif);margin:0 0 7px;font-weight:400}.inbox-thread-head span{font:8px var(--mono);letter-spacing:1px;color:#bbafc3}.inbox-log{flex:1;min-height:80px;overflow:auto;padding:15px 22px;display:flex;flex-direction:column;gap:12px;background:radial-gradient(ellipse at 80% 10%,#a26c8621,transparent 65%)}.inbox-bubble{max-width:85%;align-self:flex-start;margin:0;border-radius:13px 13px 13px 3px;background:#263247;border:1px solid #bcc6d719;padding:12px 15px;font:13px/1.7 Arial,sans-serif;overflow-wrap:anywhere}.inbox-bubble.mine{align-self:flex-end;background:#655060;color:#f9eef4;border-radius:13px 13px 3px 13px}.inbox-choices{max-height:210px;overflow:auto;display:grid;gap:7px;padding:12px 22px 0}.inbox-response{padding:11px 13px;min-height:44px;background:#1b2b40;color:#e1c6d6;border:1px solid #d4aabf44;border-radius:8px;font:12px/1.5 Arial;text-align:left;cursor:pointer}.inbox-response:disabled{opacity:.45;cursor:default}.inbox-response:hover:not(:disabled){background:#344058}.inbox-note{font:10px/1.6 Arial;color:#a5b2c5;padding:10px 22px;margin:0}
.chapter-transfer{box-sizing:border-box;position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;border:0;padding:0;background:#101722;color:#eee4ec;overflow:hidden}.chapter-transfer::backdrop{background:#101722}.chapter-transfer>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.4}.chapter-transfer:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#101722f5,transparent 90%);pointer-events:none}.chapter-transfer-copy{position:relative;z-index:1;margin:auto;display:flex;flex-direction:column;justify-content:center;min-height:100%;width:min(670px,calc(100% - 48px));text-align:center}.chapter-transfer-number{font:10px var(--mono);letter-spacing:3px;color:#e0b1c5}.chapter-transfer h2{font:clamp(35px,6vw,65px)/1.15 var(--serif);font-weight:400;margin:25px 0}.chapter-transfer-copy>p:not(.chapter-transfer-number){font:14px/1.6 var(--serif);color:#bdc4d0}.chapter-transfer-progress{font:10px var(--mono);letter-spacing:1px;color:#d8b6c8;margin:30px 0}.chapter-transfer-progress:before{content:'';display:block;width:140px;height:2px;margin:0 auto 18px;background:linear-gradient(90deg,transparent,#d8b6c8,transparent);animation:chapter-signal 1.2s ease-in-out infinite}.chapter-transfer button{align-self:center;background:transparent;color:#c0bdcb;border:1px solid #bdadbf55;border-radius:7px;padding:12px 18px;min-height:44px;font:11px var(--mono);cursor:pointer}.story-background.scene-enter{animation:scene-background-in .65s ease-out}@keyframes chapter-signal{50%{opacity:.25;transform:scaleX(.6)}}@keyframes scene-background-in{from{opacity:.2}to{opacity:1}}
@media(max-width:900px) and (orientation:portrait){.home-screen{padding:0 18px;min-height:650px}.home-header{align-items:start}.home-brand strong{font-size:17px}.home-header-actions{max-width:66%;flex-wrap:wrap}.home-quiet{font-size:9px;min-height:38px;padding:8px}.home-screen .home-portrait-wrap[data-actor-frame=true]{top:105px;right:-9%;width:112%;bottom:115px;opacity:1}.home-content{left:18px;bottom:143px;width:42vw;max-width:280px}.home-content h1{font-size:13px}.home-progress strong{font-size:15px}.home-cast{right:14px;top:133px;width:105px}.home-cast>.home-eyebrow{display:none}.home-cast-buttons button{gap:6px;font-size:10px;padding:5px}.home-cast-buttons img{width:31px;height:36px}.hub-greeting{right:18px;bottom:174px;font-size:12px;width:35vw;padding:13px}.home-footer{left:18px;right:18px;font-size:6px}.hub-dock{width:calc(100% - 24px);grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;padding:7px 5px}.hub-dock-button{font-size:9px;min-width:44px}.home-chapters{grid-template-columns:1fr}.journey-scene{flex-direction:column;align-items:stretch}.journey-card{min-height:138px}}
@media(max-width:540px){.home-header-actions .home-wallet{font-size:8px}.home-brand small{font-size:6px;letter-spacing:1.3px}.home-screen .home-portrait-wrap[data-actor-frame=true]{top:130px;bottom:142px;right:-6%;width:114%}.home-content{bottom:145px;width:48vw}.home-content h1,.home-progress>p,.home-progress>.home-eyebrow{display:none}.home-content .hz-profile{padding:7px}.home-content .hz-profile img{width:30px;height:36px}.home-content .hz-profile small{font-size:8px}.home-progress{padding:9px;margin:8px 0}.home-progress strong{font-size:13px}.home-main-actions button{padding:10px 8px;font-size:9px}.home-cast{top:145px;width:84px;right:9px}.home-cast-buttons img{width:25px;height:31px}.home-cast-buttons button{font-size:9px;min-height:44px;gap:4px;padding:4px}.home-cast-caption strong{font-size:21px}.home-cast-caption span{font-size:7px}.hub-greeting{right:12px;bottom:180px;width:36vw;padding:11px;font-size:11px}.home-dialog{padding:19px}.home-dialog .case-person{grid-template-columns:85px 1fr;padding:10px;gap:10px}.home-dialog .case-person img{height:150px}.inbox-top{padding:16px}.inbox-top small{font-size:7px;letter-spacing:1px}.inbox-top h2{font-size:27px}.inbox-layout{height:calc(100% - 89px);grid-template-columns:1fr;grid-template-rows:auto 1fr}.inbox-contacts{display:grid;grid-template-columns:repeat(4,1fr);padding:7px;border-right:0;border-bottom:1px solid #c5afbd26;gap:4px}.inbox-contact{flex-direction:column;gap:5px;min-height:66px;padding:5px;margin:0;justify-content:center}.inbox-contact img{width:34px;height:36px}.inbox-contact strong{font:12px var(--serif)}.inbox-contact small{display:none}.inbox-contact span{gap:0}.inbox-thread-head{padding:12px 17px}.inbox-thread-head h3{font-size:20px}.inbox-log{padding:13px}.inbox-choices{padding:10px 13px 0;max-height:180px}.inbox-note{padding:8px 13px}.inbox-bubble{max-width:91%;font-size:12px}.inbox-response{font-size:11px}}
@media(max-height:600px) and (orientation:landscape){.home-screen{min-height:440px}.home-header{padding-top:10px}.home-content{bottom:114px;width:29vw}.home-content h1,.home-content .hz-profile,.home-progress p{display:none}.home-progress{margin:5px 0;padding:8px}.home-progress strong{font-size:14px}.home-screen .home-portrait-wrap[data-actor-frame=true]{top:70px;bottom:85px;width:55%;right:20%}.home-cast{top:80px;width:110px}.home-cast-buttons{gap:4px}.home-cast-buttons button{min-height:35px}.home-cast-buttons img{height:28px;width:26px}.home-cast-caption{display:none}.hub-greeting{bottom:145px;font-size:11px;width:22vw;padding:10px}.hub-dock{bottom:40px;padding:3px}.hub-dock-button{min-height:45px}.home-footer{padding:12px 0}}
@media(prefers-reduced-motion:reduce){.chapter-transfer-progress:before,.story-background.scene-enter{animation:none}}
