/* 5.93.0 · Una casa per ogni informazione. Loaded after legacy component styles. */
:root{--bg:#f4f1eb;--surface:#fffdf8;--surface-2:#eee9df;--ink:#273831;--muted:#62675f;--accent:#985239;--accent-2:#356851;--line:#dddcd1;--radius:20px;--shadow:0 16px 42px #243d3014;--ui-label:.875rem;--ui-small:.8125rem}
html[data-font-size="small"]{--ui-label:.8125rem;--ui-small:.75rem}
html[data-font-size="large"]{--ui-label:1rem;--ui-small:.9375rem}
html[data-font-size="xlarge"]{--ui-label:1.125rem;--ui-small:1rem}
html,body{background:#f4f1eb;color:var(--ink);line-height:1.5}
h1,h2,h3{letter-spacing:-.025em;line-height:1.2;text-wrap:balance}h2{font-size:clamp(1.65rem,3vw,2.25rem)}
p{line-height:1.6}.eyebrow{letter-spacing:.11em;line-height:1.5}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
:where(button,a,input,select,textarea,summary):focus-visible{outline:3px solid #356851;outline-offset:3px}
button{touch-action:manipulation}
:where(.btn,.option-btn,.choice,.icon-btn){transition:background-color .15s,border-color .15s,box-shadow .15s}
.btn,.modal .btn:not(.mini),.modal>.btn:last-child{min-height:44px;padding:11px 16px;border-radius:12px;font-size:var(--ui-label);line-height:1.4;font-weight:750;white-space:normal;overflow-wrap:anywhere;box-shadow:0 3px 8px #75483314}
.btn.mini{min-height:36px;padding:8px 11px;font-size:var(--ui-small);white-space:normal}
.btn.secondary,.btn.ghost{background:#fffdf8;border:1px solid #d7dacf;color:var(--ink);box-shadow:none}
.btn:hover{transform:none;filter:brightness(.97)}
.btn:disabled{filter:none;opacity:.55}
.text-btn,.mini-link{font-size:var(--ui-small);line-height:1.4;min-height:36px;padding-top:7px;padding-bottom:7px;text-underline-offset:4px}
.icon-btn{min-width:44px;min-height:44px}
.card{background:var(--surface);border-color:var(--line);box-shadow:0 5px 20px #243d3008;border-radius:20px}
:where(.card,.modal,.settings-index,.phone-apps-grid,.phone-device){--vc-fs-6_5:var(--ui-small);--vc-fs-7:var(--ui-small);--vc-fs-7_5:var(--ui-small);--vc-fs-8:var(--ui-small);--vc-fs-8_5:var(--ui-small);--vc-fs-9:var(--ui-small);--vc-fs-9_5:var(--ui-small);--vc-fs-10:var(--ui-label);--vc-fs-10_5:var(--ui-label);--vc-fs-11:var(--ui-label);--vc-fs-12:var(--ui-label)}
:where(.card,.modal) .small{font-size:var(--ui-label);line-height:1.55}
.screen{padding-top:24px}.topbar{padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:24px}.mini-brand{letter-spacing:-.025em}.brand-mark{background:#356851;box-shadow:none}
.home-head-clean{margin-bottom:20px}.home-head h2{margin-bottom:6px}.home-clean-layout{gap:22px}.home-clean-main,.home-clean-side{gap:20px}
.home-now-card.story{background:#edf3ed;border-color:#bdcec0;border-left:5px solid #356851}
.home-now-card{padding:20px}.home-now-card:after{display:none}.home-now-icon{box-shadow:none;background:#fffdf8}.home-now-copy h3{font-size:1.3rem}.home-now-copy p{font-size:var(--ui-label)}
.home-now-actions{gap:10px}.home-now-actions .text-btn{font-size:var(--ui-small)}
.home-next-row,.home-next-empty,.home-today-list>button,.home-today-list>div{padding:12px;background:#f8f8f2;border-color:#e5e7dc;gap:10px}
.home-today-list strong{white-space:normal}.home-today-list small{-webkit-line-clamp:unset;display:block}
.home-next-list,.home-today-list{gap:9px}.home-mini-head{margin-bottom:14px}
.house-card{padding:20px}.house-viva-status{padding-bottom:14px;border-bottom:1px solid var(--line)}
.rooms-viva{gap:14px}.room-viva{padding:16px;border-radius:16px;background:#fafbf6;gap:12px}
.room-viva.current{background:#eef5ed;border-color:#7ca087;box-shadow:inset 4px 0 #356851}
.room-viva-head .room-name{font-size:1rem}.room-clean-track{height:6px}.room-viva-head small{font-size:var(--ui-small)}
.room-furniture-line{padding:9px;background:#fffefa;gap:9px}.room-furniture-line strong{white-space:normal;line-height:1.4}
.room-furniture-line em{white-space:normal;text-align:right}.room-presence>small,.room-viva-section-head>small{letter-spacing:.05em;font-size:.75rem}
.room-quick-actions .btn.mini,.room-quick-actions .mini-link{min-height:38px;font-size:var(--ui-small)}
.family-now-card,.pet-home-card{border-radius:16px}.family-now-row{background:#fffefa}.pet-home-card.empty{padding:14px;box-shadow:none}
.action-list{gap:12px}.action{border-radius:14px;padding:16px;grid-template-columns:42px minmax(0,1fr) auto;box-shadow:none;min-width:0}.action-title{font-size:1rem;font-weight:750;line-height:1.4}.action-meta{font-size:var(--ui-label);line-height:1.5}.action .emoji{background:#edf2e9}.locked-action{opacity:.65}
.modal-backdrop{background:#172e286b;backdrop-filter:blur(3px)}
.modal{border:1px solid #d7ddce;border-radius:22px;box-shadow:0 24px 80px #142c2940;scrollbar-width:thin;scrollbar-color:#a6b4a5 transparent;overscroll-behavior:contain}
.modal h2{font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.25;margin-bottom:12px}.modal .story-text{font-size:1rem;line-height:1.65}
.modal .option-list{gap:12px}.option-btn{border-radius:14px;padding:15px;line-height:1.5}.option-btn.static strong,.option-btn.static .small{display:block}.option-btn.static strong{margin-bottom:5px}
.modal .btn-row{gap:10px;flex-wrap:wrap}.modal .btn-row .btn{max-width:100%}
:where(.relationship-profile-scroll,.job-list,.generation-scroll){scrollbar-width:thin;scrollbar-color:#a6b4a5 transparent}
.npc-family-mini-card{background:#f5f7ef;border-color:#dce4d5;border-radius:16px}.npc-family-mini-grid{gap:14px}
.career-vacancy{padding:16px;border-radius:16px;background:#f8faf3}.career-vacancy h3{line-height:1.4}.career-board-footer,.relationship-profile-footer{background:#fffdf8}
.phone-apps-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:10px}
.phone-app-tile{padding:14px;min-height:82px;border-radius:15px;background:#fffefa;grid-template-columns:38px minmax(0,1fr)}
.phone-app-tile>span{width:36px;height:36px;background:#eef2e8;font-size:1.3rem}.phone-app-tile strong,.phone-app-tile small{white-space:normal;overflow:visible;line-height:1.4}
.phone-app-tile strong{font-size:var(--ui-label)}.phone-app-tile small{font-size:var(--ui-small)}
.phone-dashboard{gap:20px}.phone-main-column,.phone-side-column{min-width:0}.phone-social-list strong,.phone-social-list small{white-space:normal}.phone-service-line{grid-template-columns:34px minmax(0,1fr);padding:12px}.phone-service-line>.text-btn{grid-column:2;justify-self:start}
.field input,.field select,.field textarea{font-size:1rem;min-width:0;border-color:#bdc8ba;line-height:1.5}.choice{line-height:1.5}.choice.selected{background:#edf4e8;border-color:#568165;box-shadow:inset 0 0 0 1px #568165}
.settings-section{padding:22px}.settings-index a{padding:12px}.settings-index strong{font-size:var(--ui-label)}.settings-index small{font-size:var(--ui-small)}
.font-size-choice{min-height:66px}.font-size-choice strong{font-size:var(--ui-label)}.font-size-choice small{font-size:var(--ui-small)}
.dock-shell{border-color:#cbd5c5!important;box-shadow:0 8px 30px #1d382224!important;background:#fffdf8f5!important}
.dock-shell .nav-btn.active{background:#e3eddf;color:#285c42}.dock-shell .nav-btn{font-size:.75rem}.dock-shell .need-dock-copy small{font-size:.75rem}
@media(min-width:900px){.screen{padding-left:28px;padding-right:28px}.home-clean-layout{grid-template-columns:minmax(0,1fr) 340px}}
@media(max-width:700px){
 .screen{padding-top:16px;padding-left:12px;padding-right:12px}.topbar{margin-bottom:18px;padding-bottom:12px}.card{border-radius:17px;padding:16px}.home-clean-layout,.home-clean-main,.home-clean-side{gap:14px}
 .home-now-card{padding:16px;grid-template-columns:36px minmax(0,1fr);gap:10px}.home-now-icon{width:36px;height:36px;font-size:22px}.home-now-copy h3{font-size:1.15rem}.home-now-actions{gap:6px}
 .home-now-actions .btn{min-height:40px}.house-card{padding:14px}.rooms-viva{grid-template-columns:1fr;gap:10px}.room-viva{padding:14px}.room-viva-head{gap:8px}.room-furniture-line{grid-template-columns:25px minmax(0,1fr) auto}
 .phone-apps-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.phone-app-tile{padding:10px;grid-template-columns:30px minmax(0,1fr);gap:7px}.phone-app-tile>span{width:28px;height:32px;font-size:1.15rem}
 .phone-dashboard{grid-template-columns:minmax(0,1fr)}.phone-page-head{flex-wrap:wrap}.phone-now{min-width:0}.phone-service-line .text-btn{white-space:normal}
 .modal{border-radius:18px}.modal .btn:not(.mini){min-height:44px;font-size:var(--ui-label);padding:10px 12px}.modal .btn-row{align-items:stretch}.modal .btn-row .btn{flex:1 1 130px}
 .action{padding:13px;gap:9px;grid-template-columns:34px minmax(0,1fr)}.action .emoji{width:34px;height:36px;font-size:20px}.action .xp-chip{grid-column:2;justify-self:start}
 .settings-section{padding:16px}.guide-button-grid{grid-template-columns:1fr}.font-size-options{grid-template-columns:repeat(2,minmax(0,1fr))}
 .dock-shell .nav-btn{font-size:.6875rem}.dock-shell .need-dock-copy small{font-size:.6875rem}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Phone keeps its own frame and scroll region. */
.phone-device{border-color:#2c4238;background:#f6f7ef}.phone-home-wallpaper{background:linear-gradient(155deg,#dce9d8,#f6f3e8 65%,#e9eee3);padding-left:16px;padding-right:16px}.phone-home-apps>button>small{font-size:var(--ui-small);line-height:1.3;overflow-wrap:anywhere}.phone-home-apps>button{min-height:76px}.phone-home-section-title strong,.phone-home-section-title>button{font-size:var(--ui-small)}.phone-home-section-title>button{min-height:36px}.phone-home-apps{gap:14px 8px}.phone-home-widget strong{white-space:normal}.phone-home-widget small{line-height:1.4}.phone-home-quick-row span{font-size:var(--ui-small)}.phone-app-header:not(.thread){grid-template-columns:40px minmax(0,1fr) 40px}.phone-app-header:not(.thread)>button{width:40px;height:40px}.phone-home-more>summary{padding:12px}.phone-home-more>summary strong{font-size:var(--ui-label)}.phone-home-more>summary small{font-size:var(--ui-small);line-height:1.4}
.phone-home-wallpaper>*{flex-shrink:0}
.phone-home-apps>button>small{max-width:100%;overflow-wrap:normal;word-break:normal}
@media(max-width:700px){.phone-home-apps,.phone-home-apps-secondary{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 8px}}
html[data-font-size="xlarge"] .phone-home-apps{grid-template-columns:repeat(3,minmax(0,1fr))}
/* Ceremony planner: one bounded content area, always reachable actions. */
.modal.formalization-roster-modal{display:flex;flex-direction:column;padding:0;overflow:hidden;max-height:calc(100dvh - 150px)}
.formal-roster-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:22px;scrollbar-width:thin}
.modal.formalization-roster-modal>.formal-roster-footer{flex-shrink:0;margin:0;padding:12px 22px;background:var(--surface);border-top:1px solid var(--line)}
.formal-roster-title>div>small,.formal-roster-title>span{font-size:var(--ui-small)}
@media(max-width:700px){.modal.formalization-roster-modal{max-height:calc(100dvh - 28px);border-radius:18px!important}.formal-roster-scroll{padding:15px}.modal.formalization-roster-modal>.formal-roster-footer{padding:12px 15px}.formal-people-grid{grid-template-columns:minmax(0,1fr)}.formal-roster-filters .filter-chip{min-height:38px}}

/* 5.93.1 · Long labels, short screens and guided lessons. */
.phone-app-header{flex-shrink:0;height:auto;min-width:0}
.phone-app-header>div{min-width:0}
.phone-app-header small{white-space:normal;overflow-wrap:anywhere;line-height:1.35}
.phone-app-header.thread{grid-template-columns:40px 40px minmax(0,1fr) auto auto auto;align-items:center}
.phone-app-header.thread>button{min-width:40px;min-height:40px}
.phone-thread-screen{display:block;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.phone-thread-screen .phone-app-header{position:sticky;top:0;z-index:3;background:var(--surface)}
.phone-thread-screen .phone-chat-scroll{min-height:60px;height:auto;overflow:visible}
.phone-neighbor-context-head strong,.phone-neighbor-event strong{font-size:var(--ui-label);line-height:1.4}
.phone-neighbor-context-head small,.phone-neighbor-event small{font-size:var(--ui-small);line-height:1.45}
.phone-neighbor-actions button,.phone-neighbor-event button{font-size:var(--ui-small);min-height:40px;line-height:1.4;white-space:normal}
.phone-thread-row.neighbor em{font-size:var(--ui-small);white-space:normal}
.phone-bubble small{font-size:var(--ui-small)}
.modal .guide-intro-list{min-height:0;align-content:start;align-items:start;scrollbar-width:thin}
.modal .guide-intro-list>div{height:auto;align-items:start;min-height:0}
@media(max-width:700px){
 .phone-app-header.thread{grid-template-columns:40px 40px minmax(0,1fr);gap:8px;padding:10px}
 .phone-app-header.thread>.phone-back{grid-column:1;grid-row:1}
 .phone-app-header.thread>img{grid-column:2;grid-row:1}
 .phone-app-header.thread>div{grid-column:3;grid-row:1}
 .phone-app-header.thread>button:not(.phone-back){grid-row:2;justify-self:start;width:44px;min-height:40px}
 .modal .guide-intro-list{display:grid!important;grid-template-columns:minmax(0,1fr)!important;overflow-x:hidden;overflow-y:auto;scroll-snap-type:none;gap:10px;margin:12px 0;padding:2px}
 .modal .guide-intro-list>div{flex:none;width:auto;min-width:0;max-width:100%;padding:12px;grid-template-columns:26px minmax(0,1fr);scroll-snap-align:none}
 .modal .guide-intro-list strong{font-size:var(--ui-label);line-height:1.4}
 .modal .guide-intro-list small{font-size:var(--ui-small);line-height:1.5}
}
@media(min-width:701px){
 .modal-backdrop{grid-template-rows:minmax(0,1fr)}
 .modal-backdrop>.modal{min-height:0;max-height:100%!important}
}
.phone-thread-screen .phone-empty{padding:18px 14px;gap:5px}
.phone-bank-stats small{font-size:var(--ui-small);line-height:1.4}
.phone-bank-stats>div{min-width:0}
.phone-bank-stats strong{overflow-wrap:anywhere}


.npc-story-options{display:flex;flex-wrap:wrap;gap:8px}.npc-story-options .active{background:#315d48;color:white;border-color:#315d48}
