:root{--font-scale:1;font-family:Inter,Microsoft YaHei UI,PingFang SC,sans-serif;font-size:calc(16px * var(--font-scale));color:#2f2a24;font-synthesis:none;--ink:#2f2a24;--brown:#4a3328;--brown-soft:#765748;--green-900:#26382f;--green-700:#496252;--green-500:#718879;--sage:#aebaa7;--sage-pale:#dfe4d9;--red-700:#9a423b;--red-pale:#f4dfda;--ivory:#f6f0e4;--paper:#fbf7ed;--paper-deep:#eee6d7;--gold:#a98547;--line:#4a33282e;--shadow:0 28px 70px #282b2229;background:#ebe6da}.relationship-dossier-card,.player-relationship-card{color:var(--ink,#302525);background:linear-gradient(145deg,#fff9f7eb,#f4e7e6b3);border:1px solid #ad717c3d;border-radius:14px;margin:14px 0;padding:16px;position:relative}.relationship-dossier-card{grid-template-columns:34px minmax(0,1fr);gap:10px;display:grid}.relationship-dossier-card>span,.player-relationship-card>header>svg{color:#a95466}.relationship-dossier-card svg,.player-relationship-card svg{width:22px;height:22px}.relationship-dossier-card small,.player-relationship-card small{color:#956d70;letter-spacing:.08em;font-size:.62rem}.relationship-dossier-card p{margin:4px 0 0;font-size:.72rem;line-height:1.55}.relationship-dossier-card>button{color:#fff;background:#853f4f;border:0;border-radius:8px;grid-column:2;min-height:36px}.relationship-dossier-card>button.quiet-danger,.player-relationship-card button.quiet-danger{color:#8b5360;background:0 0;border:1px solid #8b536047}.player-relationship-card>header{align-items:center;gap:10px;display:flex}.player-relationship-card h3{margin:2px 0 0;font-size:1rem}.player-relationship-card>p{margin:12px 0;font-size:.72rem;line-height:1.6}.player-relationship-card>footer{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.player-relationship-card>footer button{color:#fff;background:#853f4f;border:0;border-radius:8px;min-height:35px;padding:0 12px}.relationship-affinity{grid-template-columns:1fr auto;gap:7px;font-size:.68rem;display:grid}.relationship-affinity i{background:#6f4e5021;border-radius:10px;grid-column:1/-1;height:5px;overflow:hidden}.relationship-affinity em{border-radius:inherit;background:linear-gradient(90deg,#b16a78,#7d3447);height:100%;display:block}.relationship-confirm{border-top:1px solid #8b536026;flex-wrap:wrap;grid-column:1/-1;justify-content:flex-end;gap:7px;padding-top:10px;display:flex}.relationship-confirm p{width:100%}.relationship-confirm button{color:#75404c;background:#fff;border:1px solid #8b536040;border-radius:8px;min-height:32px;padding:0 11px}.relationship-backdrop{z-index:1200;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#181114a8;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.relationship-invitation,.wedding-planner,.marriage-residence-dialog{color:#332628;background:linear-gradient(155deg,#fffaf7,#f0dedd);border:1px solid #ffffff80;border-radius:20px;width:min(620px,100%);max-height:min(820px,100dvh - 40px);padding:34px;position:relative;overflow-y:auto;box-shadow:0 28px 80px #140a0e57}.relationship-invitation{text-align:center;width:min(470px,100%)}.relationship-invitation>span{color:#fff;background:#9a4a5c;border-radius:50%;place-items:center;width:62px;height:62px;margin:0 auto 14px;display:grid}.relationship-invitation>span svg{width:27px}.relationship-invitation>small,.wedding-planner>small{color:#9c6270;letter-spacing:.18em;font-size:.58rem}.relationship-invitation h2{margin:10px 0;font:600 1.45rem/1.35 Georgia,Noto Serif SC,serif}.relationship-invitation p{color:#725d60;margin:0;font-size:.76rem;line-height:1.7}.relationship-invitation footer,.wedding-planner footer{justify-content:flex-end;gap:9px;margin-top:24px;display:flex}.relationship-invitation footer button,.wedding-planner footer button{color:#6e3a47;background:#ffffffb3;border:1px solid #7c475340;border-radius:9px;min-height:40px;padding:0 15px}.relationship-invitation footer .primary-button,.wedding-planner footer .primary-button{color:#fff;background:#884354;border-color:#884354}.relationship-invitation footer button:disabled{opacity:.45;cursor:not-allowed}.migration-choice>div{gap:8px;margin-top:20px;display:grid}.migration-choice>div button{color:#58353e;background:#ffffffb8;border:1px solid #7c475333;border-radius:10px;justify-content:space-between;align-items:center;min-height:48px;padding:0 14px;display:flex}.migration-choice>div button small{letter-spacing:0}.wedding-planner>.close{position:absolute;top:14px;right:14px}.wedding-planner h2{align-items:center;gap:9px;margin:9px 38px 6px 0;font:600 1.35rem/1.3 Georgia,Noto Serif SC,serif;display:flex}.wedding-planner>p{color:#765f63;margin:0 0 18px;font-size:.72rem;line-height:1.6}.wedding-plan-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.wedding-plan-grid label{color:#76555d;gap:6px;font-size:.66rem;display:grid}.wedding-plan-grid input,.wedding-plan-grid select{color:#38272b;background:#ffffffc2;border:1px solid #7e4b5633;border-radius:8px;min-height:40px;padding:0 10px}.wedding-venues{grid-template-columns:1fr 1fr;gap:8px;margin-top:18px;display:grid}.wedding-venues button{text-align:left;color:#4f373d;background:#ffffff8c;border:1px solid #804b562e;border-radius:10px;grid-template-columns:22px 1fr;gap:2px 7px;padding:12px;display:grid}.wedding-venues button.selected{background:#fff;border-color:#9b5061;box-shadow:inset 0 0 0 1px #9b5061}.wedding-venues svg{color:#a14e60;grid-row:1/3;width:18px}.wedding-venues small{color:#8e7378;font-size:.55rem}.wedding-guests{margin-top:18px}.wedding-guests>header{justify-content:space-between;margin-bottom:8px;font-size:.7rem;display:flex}.wedding-guests>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:220px;display:grid;overflow-y:auto}.wedding-guests label{background:#ffffff85;border-radius:8px;align-items:center;gap:8px;min-width:0;padding:9px;font-size:.62rem;display:flex}.wedding-guests label span{min-width:0;display:grid}.wedding-guests label b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wedding-guests label small{color:#876f73;font-size:.5rem}.wedding-guests label.unavailable{opacity:.46}.relationship-error{color:#a13d51!important}.marriage-residence-summary{background:#ffffff85;border-radius:10px;grid-template-columns:28px minmax(0,1fr);gap:9px;margin-top:12px;padding:11px;display:grid}.marriage-residence-summary>svg{color:#8b5962;width:20px}.marriage-residence-summary div{gap:2px;display:grid}.marriage-residence-summary b{font-size:.7rem}.marriage-residence-summary p{color:#816c70;margin:2px 0 0;font-size:.58rem;line-height:1.55}.marriage-residence-dialog{text-align:center;width:min(680px,100%)}.marriage-residence-dialog>.close{position:absolute;top:13px;right:13px}.residence-dialog-mark{color:#fff;background:linear-gradient(145deg,#667d6d,#3e5748);border-radius:50%;place-items:center;width:62px;height:62px;margin:0 auto 13px;display:grid}.residence-dialog-mark svg{width:28px}.marriage-residence-dialog>small{color:#6e806f;letter-spacing:.18em;font-size:.58rem}.marriage-residence-dialog h2{margin:9px 0;font:600 1.45rem/1.35 Georgia,Noto Serif SC,serif}.marriage-residence-dialog>p{color:#75696a;max-width:520px;margin:0 auto;font-size:.72rem;line-height:1.7}.marriage-residence-options{text-align:left;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:22px;display:grid}.marriage-residence-options>button{color:#3d4c42;cursor:pointer;background:#ffffffa3;border:1px solid #4b655233;border-radius:13px;grid-template-rows:34px auto 1fr auto;gap:6px;min-width:0;min-height:166px;padding:15px;display:grid}.marriage-residence-options>button:hover:not(:disabled){background:#fff;border-color:#5f7867;transform:translateY(-2px)}.marriage-residence-options>button>span{color:#fff;background:#667d6d;border-radius:50%;place-items:center;width:32px;height:32px;display:grid}.marriage-residence-options svg{width:16px}.marriage-residence-options b{font-size:.72rem}.marriage-residence-options small{color:#756e6c;font-size:.58rem;line-height:1.55}.marriage-residence-options em{color:#7d5b52;align-items:center;gap:5px;font-size:.52rem;font-style:normal;line-height:1.45;display:flex}.marriage-residence-options em svg{flex:none;width:13px}.residence-dialog-wait{color:#52685a!important;margin-top:16px!important}.resident-retained{color:#8a725e;margin:5px 8px 0;font-size:.5rem;line-height:1.45}@media (width<=600px){.relationship-backdrop{place-items:end center;padding:0}.relationship-invitation,.wedding-planner,.marriage-residence-dialog{width:100%;max-height:calc(100dvh - 16px);padding:26px 18px calc(20px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0}.relationship-invitation footer{grid-template-columns:1fr 1fr;display:grid}.relationship-invitation footer .primary-button{grid-area:1/1/auto/-1}.wedding-venues{grid-template-columns:1fr}.wedding-guests>div{grid-template-columns:1fr 1fr}.marriage-residence-options{grid-template-columns:1fr}.marriage-residence-options>button{grid-template-rows:auto auto auto;grid-template-columns:34px minmax(0,1fr);min-height:112px}.marriage-residence-options>button>span{grid-row:1/4}}.commerce-categories button.custom-entry{color:#be3d22;box-shadow:inset 0 0 0 1px #e0452247}.commerce-categories button.custom-entry.active{color:#fff;background:linear-gradient(110deg,#b92512,#f05a31)}.commerce-subcategories{scrollbar-width:none;gap:7px;padding:13px 0 0;display:flex;overflow-x:auto}.commerce-subcategories::-webkit-scrollbar{display:none}.commerce-subcategories button{color:#78685e;cursor:pointer;background:#ffffffb8;border:1px solid #5e44351f;border-radius:999px;min-width:max-content;padding:7px 14px;font-size:.6rem}.commerce-subcategories button.active{color:#d64020;background:#fff1eb;border-color:#eb6c4f}.product-visual>.commerce-image-fallback{width:100%;height:100%}.product-selling-points{color:#fff;text-shadow:0 1px 4px #00000047;background:linear-gradient(90deg,#181311c2,#18131138);border-radius:9px;flex-direction:column;padding:8px 10px;display:flex;position:absolute;bottom:10px;left:10px;right:10px}.product-selling-points b{font-size:.67rem}.product-selling-points small{opacity:.88;margin-top:2px;font-size:.47rem}.visual-layout-1 .product-selling-points{color:#432d24;text-shadow:none;background:#ffffffe0;border-radius:3px 12px 12px 3px;top:10px;bottom:auto;right:35%}.visual-layout-2 .product-selling-points{background:0 0;border-left:3px solid #fff;border-radius:0;bottom:12px;right:42%}.visual-layout-3 .product-selling-points{text-align:right;background:#201714ad;align-items:flex-end;inset:12px 10px auto auto}.custom-shop-lead{color:#fff8f2;background:radial-gradient(circle at 80% 10%,#ffffff47,#0000 25%),linear-gradient(125deg,#321d1a,#8e2617 55%,#f1653d);border-radius:18px;justify-content:space-between;align-items:center;gap:25px;min-height:176px;margin-top:20px;padding:26px 30px;display:flex;overflow:hidden;box-shadow:0 15px 36px #6a271929}.custom-shop-lead small{letter-spacing:.18em;opacity:.7;font-size:.54rem;font-weight:800}.custom-shop-lead h2{margin:7px 0 8px;font-size:1.55rem}.custom-shop-lead p{opacity:.8;max-width:540px;margin:0;font-size:.65rem;line-height:1.7}.custom-shop-lead button{color:#7e2517;cursor:pointer;background:#fff;border:0;border-radius:999px;justify-content:center;align-items:center;gap:8px;min-width:142px;min-height:44px;padding:0 18px;font-weight:800;display:inline-flex}.custom-shop-lead button svg{width:18px}.product-tile.custom{box-shadow:0 10px 30px #af42261c}.custom-product-actions{gap:4px;min-height:34px;padding:0 9px 8px;display:flex}.custom-product-actions button{color:#806f65;cursor:pointer;background:#f5f1ec;border:0;border-radius:6px;align-items:center;gap:3px;min-width:0;padding:6px;font-size:.48rem;display:inline-flex}.custom-product-actions button:last-child{color:#a14432}.custom-product-actions svg{width:12px}.detail-specification{color:#76655a;background:#f5f0ea;border-radius:9px;gap:4px;padding:11px 12px;display:grid}.detail-specification b{color:#3f332e;font-size:.55rem}.custom-product-editor{width:min(900px,100%)}.custom-editor-scroll{grid-template-columns:minmax(260px,.84fr) minmax(340px,1.16fr);gap:24px;min-height:0;padding:22px;display:grid;overflow-y:auto}.custom-image-stage,.errand-photo-box{aspect-ratio:1;background:linear-gradient(145deg,#efe7df,#faf8f4);border-radius:16px;flex:none;justify-content:center;align-self:start;align-items:center;width:100%;min-height:0;display:flex;position:relative;overflow:hidden}.custom-image-stage>img,.custom-image-stage>.commerce-image-fallback{aspect-ratio:1;object-fit:cover;width:100%;height:100%;min-height:0}.custom-image-stage>span,.errand-photo-box>span{color:#8b776b;flex-direction:column;align-items:center;gap:7px;display:flex}.custom-image-stage>span svg,.errand-photo-box>span svg{width:35px}.custom-image-stage>span b,.errand-photo-box>span b{font-size:.72rem}.custom-image-stage>span small,.errand-photo-box>span small{font-size:.56rem}.custom-upload,.errand-photo-box>label{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#291f1bcc;border-radius:999px;align-items:center;gap:6px;min-height:38px;padding:0 14px;font-size:.6rem;display:inline-flex;position:absolute;bottom:12px;right:12px}.custom-upload input,.errand-photo-box>label input{display:none}.custom-upload svg,.errand-photo-box>label svg{width:15px}.custom-fields{flex-direction:column;gap:13px;min-width:0;display:flex}.custom-fields>label:not(.custom-restricted),.custom-field-row label{flex-direction:column;gap:6px;display:flex}.custom-fields label>span{color:#5f5047;justify-content:space-between;align-items:center;font-size:.61rem;font-weight:700;display:flex}.custom-fields label>span small{color:#a39489;font-weight:500}.custom-fields input:not([type=checkbox]),.custom-fields textarea{color:#3d332e;width:100%;font:inherit;background:#fff;border:1px solid #4f3a3026;border-radius:9px;outline:none;padding:11px 12px;font-size:max(16px,.68rem)}.custom-fields textarea{resize:vertical;min-height:78px;line-height:1.55}.custom-fields input:focus,.custom-fields textarea:focus{border-color:var(--commerce-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--commerce-accent) 10%,transparent)}.custom-field-row{grid-template-columns:1fr .62fr;gap:12px;display:grid}.custom-fields fieldset{border:0;gap:7px;margin:0;padding:0;display:flex}.custom-fields fieldset legend{color:#5f5047;margin-bottom:7px;font-size:.61rem;font-weight:700}.custom-fields fieldset button{color:#77675d;cursor:pointer;background:#fff;border:1px solid #4f3a3026;border-radius:8px;min-height:34px;padding:0 13px}.custom-fields fieldset button.active{color:#fff;border-color:var(--commerce-accent);background:var(--commerce-accent)}.custom-restricted{cursor:pointer;background:#f7eee9;border-radius:10px;align-items:flex-start;gap:10px;padding:12px;display:flex}.custom-restricted input{accent-color:var(--commerce-accent);margin-top:3px}.custom-restricted>span{flex-direction:column;gap:3px;align-items:flex-start!important}.custom-restricted small{line-height:1.5}.errand-banner{color:#4f421a;background:#fff8cf;border-left:4px solid #e3b300;align-items:center;gap:13px;margin:22px 0 2px;padding:16px 18px;display:flex}.errand-banner svg{width:23px}.errand-banner div{flex-direction:column;gap:3px;display:flex}.errand-banner b{font-size:.78rem}.errand-banner span{opacity:.8;font-size:.64rem}.errand-store-visual{color:#29241b;background:radial-gradient(circle at 75% 20%,#fff,#0000 20%),linear-gradient(145deg,#ffdf4e,#f6b900);border-radius:13px;flex-direction:column;justify-content:center;align-items:center;gap:7px;width:112px;height:112px;display:flex;position:relative;overflow:hidden}.errand-store-visual:after{content:"";border:9px solid #ffffff59;border-radius:50%;width:70px;height:70px;position:absolute;bottom:-24px;right:-18px}.errand-store-visual svg{width:36px}.errand-store-visual small{font-size:.46rem;font-weight:800}.store-hero.errand{background:linear-gradient(115deg,#26231e,#4d431d 65%,#e2ac00)}.store-hero.errand:after{background:linear-gradient(90deg,#1d1b16d6,#1d1b160d)}.errand-hero-art{z-index:1;color:#2e291d;background:#ffd536;border:1px solid #ffffff47;border-radius:50%;place-items:center;width:150px;height:150px;display:grid;position:absolute;top:50%;right:8%;transform:translateY(-50%);box-shadow:0 20px 45px #0003}.errand-hero-art svg{width:60px}.errand-hero-art i{background:#ffffff80;border-radius:50%;width:18px;height:18px;position:absolute}.errand-hero-art i:nth-child(2){top:17px;left:22px}.errand-hero-art i:nth-child(3){width:10px;height:10px;bottom:28px;right:15px}.errand-workspace{background:#fff;border-radius:16px;grid-template-columns:minmax(0,1fr) auto;gap:24px;margin-top:22px;padding:24px;display:grid;box-shadow:0 10px 34px #322b2012}.errand-workspace-copy small{color:#b58a00;letter-spacing:.16em;font-size:.54rem;font-weight:800}.errand-workspace-copy h2{margin:6px 0 7px;font-size:1.35rem}.errand-workspace-copy p{color:#7c7169;max-width:600px;margin:0;font-size:.63rem;line-height:1.7}.errand-workspace-copy button{color:#2a261d;cursor:pointer;background:#ffd32a;border:0;border-radius:999px;align-items:center;gap:6px;min-height:39px;margin-top:15px;padding:0 16px;font-weight:800;display:inline-flex}.errand-workspace-copy button:disabled{opacity:.55}.errand-workspace-copy button svg{width:16px}.errand-fee-strip{background:#ede9df;border-radius:11px;align-items:stretch;gap:1px;display:flex;overflow:hidden}.errand-fee-strip span{background:#f7f4ed;flex-direction:column;justify-content:center;align-items:center;min-width:90px;padding:13px;display:flex}.errand-fee-strip b{font-size:.8rem}.errand-fee-strip small{color:#91847a;margin-top:3px;font-size:.48rem}.errand-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.errand-list article{background:#fff;border-radius:13px;grid-template-columns:104px minmax(0,1fr);gap:12px;min-height:135px;padding:11px;display:grid;position:relative;box-shadow:0 7px 22px #312b250f}.errand-list article>img,.errand-list article>.commerce-image-fallback{object-fit:cover;border-radius:10px;width:104px;height:104px}.errand-list article>div{flex-direction:column;min-width:0;padding:3px 28px 3px 0;display:flex}.errand-list article small{color:#9e7800;font-size:.5rem}.errand-list article b{margin-top:4px;font-size:.76rem}.errand-list article p{color:#82756d;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:5px 0;font-size:.56rem;line-height:1.5;display:-webkit-box;overflow:hidden}.errand-list article strong{color:#d04f27;margin-top:auto;font-size:.78rem}.errand-list .commerce-quantity{bottom:8px;right:8px}.errand-delete{color:#a47564;cursor:pointer;background:#f7eee9;border:0;border-radius:50%;place-items:center;width:26px;height:26px;padding:0;display:grid;position:absolute;top:8px;right:8px}.errand-delete svg{width:13px}.errand-editor{width:min(820px,100%)}.errand-editor-scroll{grid-template-columns:minmax(240px,.75fr) minmax(360px,1.25fr);gap:22px;min-height:0;padding:22px;display:grid;overflow-y:auto}.errand-photo-box{min-height:0}.errand-photo-box>img,.errand-photo-box>.commerce-image-fallback{aspect-ratio:1;object-fit:cover;width:100%;height:100%}.errand-price-note{color:#76651e;background:#fff7cf;border-radius:9px;margin:0;padding:10px 12px;font-size:.57rem;line-height:1.5}@media (width<=720px){.commerce-subcategories{margin-inline:-2px;padding-top:10px}.commerce-subcategories button{padding:6px 11px;font-size:.53rem}.product-selling-points{padding:6px 7px;bottom:6px;left:6px;right:6px}.product-selling-points b{font-size:.54rem}.product-selling-points small{font-size:.4rem}.visual-layout-1 .product-selling-points{top:6px;right:25%}.visual-layout-2 .product-selling-points{right:23%}.visual-layout-3 .product-selling-points{top:6px;right:6px}.custom-shop-lead{border-radius:12px;flex-direction:column;align-items:flex-start;gap:14px;min-height:155px;padding:19px 16px}.custom-shop-lead h2{font-size:1.13rem}.custom-shop-lead p{font-size:.55rem}.custom-shop-lead button{min-height:38px}.custom-product-actions{flex-wrap:wrap;padding-inline:7px}.custom-product-actions button{padding:5px}.custom-editor-scroll,.errand-editor-scroll{flex-direction:column;padding:14px;display:flex}.custom-image-stage,.custom-image-stage>img,.custom-image-stage>.commerce-image-fallback{aspect-ratio:1;height:auto;min-height:0}.custom-fields{gap:11px}.custom-field-row{grid-template-columns:1fr 1fr}.errand-banner{margin-top:14px;padding:12px}.errand-store-visual{border-radius:10px;width:86px;height:86px}.errand-store-visual svg{width:29px}.errand-hero-art{opacity:.86;width:112px;height:112px;right:-17px}.errand-hero-art svg{width:42px}.errand-workspace{flex-direction:column;gap:15px;margin-top:14px;padding:17px;display:flex}.errand-workspace-copy h2{font-size:1.08rem}.errand-fee-strip{width:100%}.errand-fee-strip span{flex:1;min-width:0;padding:10px 4px}.errand-list{grid-template-columns:1fr;gap:8px}.errand-list article{grid-template-columns:88px minmax(0,1fr);min-height:112px}.errand-list article>img,.errand-list article>.commerce-image-fallback{width:88px;height:88px}.errand-photo-box,.errand-photo-box>img,.errand-photo-box>.commerce-image-fallback{aspect-ratio:1;height:auto;min-height:0}}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{min-height:100svh;overflow-x:hidden}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #a985474d}button:disabled{cursor:not-allowed;opacity:.48}h1,h2,p{margin-top:0}h1,h2,.brand b,.door-number,.save-door,.room-number span{font-family:Noto Serif SC,STSong,SimSun,serif}.brand{color:var(--brown);align-items:center;gap:13px;display:inline-flex}.brand-mark{flex:none;place-items:center;width:48px;height:48px;display:grid}.brand-mark img{object-fit:contain;width:100%;height:100%;display:block}.brand span:last-child{flex-direction:column;display:flex}.brand b{letter-spacing:.13em;font-size:1.5rem;line-height:1.1}.brand small{letter-spacing:.26em;opacity:.74;margin-top:5px;font-size:.5625rem}.brand.compact{color:var(--brown);gap:10px}.brand.compact .brand-mark{width:36px;height:36px}.brand.compact b{font-size:1.125rem}.brand.compact small{font-size:.4375rem}.eyebrow{color:var(--gold);letter-spacing:.22em;text-transform:uppercase;margin-bottom:10px;font-size:.6875rem;font-weight:700}.primary-button,.quiet-button{cursor:pointer;border:0;justify-content:center;align-items:center;gap:9px;min-height:48px;padding:0 20px;transition:transform .18s,background .18s,color .18s;display:inline-flex}.primary-button{color:var(--ivory);background:var(--brown);box-shadow:0 9px 24px #4a33282e}.primary-button:hover:not(:disabled){background:#3a261c;transform:translateY(-2px)}.quiet-button{border:1px solid var(--line);background:0 0}.quiet-button:hover:not(:disabled){background:#fff6;transform:translateY(-1px)}.quiet-button.light{color:var(--brown);border-color:var(--line)}.quiet-button.light:hover{background:#4a33280f}.icon-button{cursor:pointer;background:0 0;border:0;place-items:center;width:42px;height:42px;padding:0;display:grid}.icon-button svg{width:20px}.spin{animation:.95s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.cover-page{flex-direction:column;min-height:100svh;display:flex;position:relative;overflow:hidden}.cover-bg{object-fit:cover;z-index:0;width:100%;height:100%;position:absolute;inset:0}.cover-overlay{z-index:1;background:linear-gradient(90deg,#fff9eb7a 0%,#fff9eb2e 42%,#fff9eb00 72%),linear-gradient(#5b3d2800 62%,#5b3d2829 100%);position:absolute;inset:0}.cover-top{z-index:2;justify-content:space-between;align-items:center;padding:clamp(18px,3vw,32px) clamp(20px,4vw,48px);animation:.7s cubic-bezier(.16,1,.3,1) both cover-enter;display:flex;position:relative}.cover-top .brand{color:#51382c}.cover-top .brand b{font-size:1.125rem}.cover-top .brand-mark{width:36px;height:36px}.cover-top .brand small{opacity:.62}.cover-top-actions{gap:8px;display:flex}.cover-link-btn{color:#51382cc7;cursor:pointer;background:#fffaee6b;border:0;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:.8125rem;transition:color .2s,background .2s;display:inline-flex}.cover-link-btn:hover{color:#3d291f;background:#fffaeeb8}.cover-center{z-index:2;text-align:left;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;padding:20px clamp(24px,8vw,132px);animation:.8s cubic-bezier(.16,1,.3,1) 60ms both cover-enter;display:flex;position:relative}.cover-stack{width:min(610px,46vw)}.cover-copy{-webkit-backdrop-filter:blur(5px);background:linear-gradient(135deg,#fffaeed6,#fff7e499);border:1px solid #6f4e352e;border-radius:26px;width:100%;padding:clamp(24px,3vw,42px);box-shadow:0 24px 70px #5639241c}.cover-owl{justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:18px;display:flex}.cover-owl img{object-fit:contain;width:100%;height:100%;display:block}.cover-title{font-size:clamp(2.75rem, calc(6.4vw * var(--font-scale)), 4.75rem);color:#4b3025;letter-spacing:.1em;text-shadow:0 2px #ffffff73;margin-bottom:8px;font-weight:600;line-height:1.15}.cover-subtitle{font-size:clamp(.625rem, calc(1.2vw * var(--font-scale)), .8125rem);color:#4b30259e;letter-spacing:.32em;margin-bottom:24px}.cover-tagline{color:#4b3025c7;font-size:clamp(.875rem, calc(1.4vw * var(--font-scale)), 1.0625rem);letter-spacing:.06em;text-shadow:0 1px #ffffff59;margin-bottom:0;line-height:1.8}.cover-entry{margin-top:18px;animation:.8s cubic-bezier(.16,1,.3,1) .14s both cover-enter}.cover-actions{gap:12px;margin-bottom:12px;display:flex}.cover-page .primary-button{-webkit-backdrop-filter:blur(14px);color:#fffaf0;background:#533829eb;border:1px solid #fff8e673;border-radius:12px;min-width:160px;min-height:50px;font-size:.9375rem;box-shadow:0 9px 24px #462d1f2e}.cover-page .primary-button:hover:not(:disabled){background:#684838;transform:translateY(-2px)}.cover-page .quiet-button.light{color:#4b3025d1;background:#fffaeea3;border-color:#4b302538;border-radius:12px;min-height:50px}.cover-page .quiet-button.light:hover{background:#fffaeedb}.cover-foot{color:#422b20ad;letter-spacing:.14em;text-shadow:0 1px #ffffff73;margin:0;font-size:.6875rem}.cover-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(6px);background:#00000080;justify-content:center;align-items:center;padding:24px;animation:.2s both fade-in;display:flex;position:fixed;inset:0}.cover-modal{background:var(--paper);border-radius:16px;width:min(640px,100%);max-height:85vh;padding:36px 32px;animation:.3s cubic-bezier(.16,1,.3,1) both cover-enter;position:relative;overflow-y:auto;box-shadow:0 24px 64px #00000040}.cover-modal-close{width:36px;height:36px;color:var(--brown-soft);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;transition:background .15s;display:grid;position:absolute;top:12px;right:12px}.cover-modal-close:hover{background:#0000000f}.cover-modal .settings-panel{padding:0}.cover-modal .panel-heading h1{font-size:1.375rem}.owner-access-modal{border:1px solid #a9854757;border-radius:4px;width:min(610px,100%);max-height:calc(100dvh - 40px);padding:42px;overflow-y:auto}.owner-access-modal>h1{color:var(--brown);margin-bottom:10px;font-size:2.15rem}.owner-code-form{grid-template-columns:64px minmax(0,1fr);gap:15px 18px;margin-top:24px;display:grid}.owner-seal{width:58px;height:58px;color:var(--gold);background:#efe5cf6b;border:1px solid #a9854761;border-radius:50%;grid-row:1/3;place-items:center;display:grid}.owner-seal svg{width:25px}.owner-code-form>p{color:var(--brown-soft);margin:4px 0 8px;font-size:.8125rem;line-height:1.7}.owner-code-form label{flex-direction:column;grid-column:1/-1;gap:8px;display:flex}.owner-code-form label span{color:var(--gold);letter-spacing:.12em;font-size:.625rem;font-weight:700}.owner-code-form input{width:100%;height:52px;color:var(--brown);letter-spacing:.06em;background:#ffffff7a;border:1px solid #4a332847;padding:0 15px}.owner-code-form .primary-button{grid-column:1/-1;justify-self:end;min-width:150px}.owner-identity-confirm{margin-top:26px}.owner-identity-card{background:linear-gradient(125deg,#efe5cf85,#dfe4d961);border:1px solid #a985474d;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:22px;padding:24px;display:grid}.owner-identity-card .resident-monogram.large{width:82px;height:82px;margin:0}.owner-identity-card .resident-monogram.large small{display:none}.owner-identity-card>div{min-width:0}.owner-identity-card small{color:var(--gold);letter-spacing:.14em;font-size:.625rem;font-weight:700}.owner-identity-card h2{color:var(--brown);margin:7px 0 8px;font-size:1.85rem}.owner-identity-card p{color:var(--brown-soft);margin:0;font-size:.75rem;line-height:1.65}.owner-identity-confirm dl{border-top:1px solid var(--line);margin:20px 0 0}.owner-identity-confirm dl div{border-bottom:1px solid var(--line);grid-template-columns:110px minmax(0,1fr);padding:12px 2px;display:grid}.owner-identity-confirm dt{color:var(--brown-soft);font-size:.6875rem}.owner-identity-confirm dd{color:var(--brown);text-align:right;margin:0}.owner-archive-note{color:var(--brown-soft);margin:17px 0 0;font-size:.6875rem;line-height:1.65}.owner-confirm-actions{justify-content:flex-end;gap:9px;margin-top:24px;display:flex}.owner-confirm-actions svg{width:17px}.owner-access-error{color:#8d3e32;background:#a65b4c12;border-left:3px solid #a65b4c;margin:17px 0 0;padding:11px 13px;font-size:.75rem;line-height:1.55}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes cover-enter{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes rise-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.setup-page{background:radial-gradient(circle at 78% 10%, #71887938, transparent 32%), var(--ivory);min-height:100vh;padding:30px clamp(20px,5vw,72px) 70px}.setup-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;width:min(1120px,100%);margin:0 auto 50px;padding-bottom:22px;display:flex}.setup-header .icon-button{margin-left:-10px}.door-number{color:var(--gold);font-size:1.75rem}.dossier-form{width:min(1000px,100%);margin:0 auto}.setup-steps{grid-template-columns:max-content minmax(36px,1fr) max-content;align-items:center;gap:14px;width:min(440px,100%);margin:0 0 42px;display:grid}.setup-steps span{color:#4a33286b;align-items:center;gap:10px;display:flex}.setup-steps span i{border:1px solid #4a332833;border-radius:50%;place-items:center;width:31px;height:31px;font-family:Georgia,serif;font-size:.6875rem;font-style:normal;display:grid}.setup-steps span b{letter-spacing:.08em;font-size:.75rem}.setup-steps span.active,.setup-steps span.complete{color:var(--brown)}.setup-steps span.active i{color:var(--ivory);border-color:var(--gold);background:var(--gold);box-shadow:0 5px 14px #a9854738}.setup-steps span.complete i{color:var(--green-700);background:var(--sage-pale);border-color:#49625259}.setup-steps em{background:var(--line);height:1px}.setup-steps.three-steps{grid-template-columns:max-content minmax(24px,1fr) max-content minmax(24px,1fr) max-content;width:min(660px,100%)}.b01-carryover{border-block:1px solid var(--line);background:#ffffff47;margin:0 0 34px}.b01-carryover-profile{grid-template-columns:86px minmax(0,1fr);align-items:center;gap:20px;padding:24px;display:grid}.b01-carryover-profile .resident-monogram.large{width:78px;height:78px;margin:0}.b01-carryover-profile .resident-monogram.has-avatar img{object-fit:cover;width:100%;height:100%}.b01-carryover-profile>div{min-width:0}.b01-carryover-profile small{color:var(--gold);letter-spacing:.12em;font-size:.625rem;font-weight:700}.b01-carryover-profile h2{color:var(--brown);margin:7px 0;font-size:1.55rem}.b01-carryover-profile p{color:var(--brown-soft);margin:3px 0 0;font-size:.72rem;line-height:1.65}.b01-carryover-options{background:var(--line);grid-template-columns:1fr 1fr;gap:1px;display:grid}.b01-carryover-options label{cursor:pointer;background:#ffffffa8;align-items:flex-start;gap:10px;min-height:108px;padding:20px;display:flex}.b01-carryover-options label.selected{background:var(--sage-pale)}.b01-carryover-options label[data-disabled=true]{opacity:.5;cursor:not-allowed}.b01-carryover-options input{accent-color:var(--green-700);margin-top:4px}.b01-carryover-options span{flex-direction:column;gap:7px;display:flex}.b01-carryover-options b{color:var(--green-900);font-size:.82rem}.b01-carryover-options small{color:var(--brown-soft);font-size:.65rem;line-height:1.55}.b01-carryover-warning{color:#8d3e32;background:#a65b4c12;margin:0;padding:11px 14px;font-size:.68rem;line-height:1.55}.owner-identity-confirm .b01-carryover{margin-top:20px}.owner-identity-confirm .b01-carryover-profile{grid-template-columns:64px minmax(0,1fr);gap:13px;padding:16px}.owner-identity-confirm .b01-carryover-profile .resident-monogram.large{width:58px;height:58px}.owner-identity-confirm .b01-carryover-options label{min-height:94px;padding:14px}.form-intro{width:min(610px,100%);margin-bottom:42px}.form-intro h1,.panel-heading h1{color:var(--brown);font-size:clamp(2.25rem, calc(4vw * var(--font-scale)), 3.5rem);letter-spacing:.04em;margin-bottom:13px;font-weight:600}.form-intro>p:last-child,.panel-heading>p:last-child{color:var(--brown-soft);line-height:1.8}.residence-choice{background:var(--line);border:0;grid-template-columns:1fr 1fr;gap:1px;margin:0 0 36px;padding:0;display:grid}.residence-choice legend{width:100%;color:var(--brown-soft);background:var(--ivory);letter-spacing:.12em;padding:0 0 10px;font-size:.75rem;font-weight:700}.residence-choice label{cursor:pointer;background:#ffffff7a;align-items:flex-start;gap:12px;min-height:98px;padding:22px 24px;transition:background .18s;display:flex}.residence-choice label.selected{background:var(--sage-pale)}.residence-choice input{accent-color:var(--green-700);margin-top:5px}.residence-choice span{flex-direction:column;gap:7px;display:flex}.residence-choice b{color:var(--green-900);font-size:1.0625rem}.residence-choice small{color:var(--brown-soft);line-height:1.55}.avatar-field{border-block:1px solid var(--line);background:#ffffff47;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:25px;margin-bottom:36px;padding:24px;display:grid}.avatar-preview{width:104px;height:104px;color:var(--green-700);background:var(--sage-pale);border:1px dashed #49625273;border-radius:50%;place-items:center;display:grid;overflow:hidden}.avatar-preview.has-image{border-style:solid;border-color:#a9854780;box-shadow:0 10px 25px #4a33281f}.avatar-preview img{object-fit:cover;width:100%;height:100%}.avatar-preview svg{opacity:.72;width:34px;height:34px}.avatar-field-copy{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.avatar-field-copy>span{color:var(--gold);letter-spacing:.15em;margin-bottom:7px;font-size:.625rem;font-weight:700}.avatar-field-copy>b{color:var(--brown);margin-bottom:5px;font-family:Noto Serif SC,STSong,serif;font-size:1.1875rem}.avatar-field-copy>small{color:var(--brown-soft);line-height:1.55}.avatar-actions{align-items:center;gap:13px;margin-top:15px;display:flex}.avatar-actions .quiet-button{min-height:40px;padding-inline:15px}.avatar-actions svg{width:16px}.avatar-remove{color:var(--brown-soft);cursor:pointer;background:0 0;border:0;padding:8px 2px}.avatar-remove:hover{color:#8d3e32}.avatar-field-copy .avatar-error{color:#8d3e32;margin-top:9px}.form-grid{grid-template-columns:1fr 1fr;gap:24px 34px;display:grid}.form-grid label,.provider-fields label{flex-direction:column;gap:9px;display:flex}.form-grid label.wide{grid-column:1/-1}.form-grid label>span,.provider-fields label>span{color:var(--brown-soft);letter-spacing:.08em;font-size:.75rem;font-weight:700}.form-grid input,.form-grid textarea,.provider-fields input{width:100%;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #4a332859;border-radius:0;padding:13px 2px;transition:border-color .16s}.form-grid input:focus,.form-grid textarea:focus,.provider-fields input:focus{border-color:var(--green-700);outline:none}.form-grid textarea{resize:vertical;min-height:82px;line-height:1.7}.form-grid textarea.large{min-height:125px}.select-control{position:relative}.select-control select{appearance:none;width:100%;min-height:50px;color:var(--brown);cursor:pointer;background:#fffcf4c2;border:1px solid #4a332838;border-radius:12px;padding:0 46px 0 15px;transition:border-color .16s,background .16s,box-shadow .16s;box-shadow:inset 0 1px #ffffffc2,0 7px 22px #4835280d}.select-control select:hover{background:#fffcf4f5;border-color:#a985479e}.select-control select:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #a9854721}.select-control svg{width:18px;height:18px;color:var(--gold);pointer-events:none;position:absolute;top:50%;right:15px;transform:translateY(-50%)}.housing-intro{margin-bottom:30px}.housing-style-card,.housing-room-card{background:#fffcf4b8;position:relative}.housing-style-card{background:linear-gradient(120deg,#efe5cfb8,#fffcf4d6);border:1px solid #a9854757;margin-bottom:22px;padding:28px 30px 20px}.housing-grid{background:var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:1px;display:grid}.housing-room-card{min-height:246px;padding:26px 28px 18px}.housing-room-card:last-child:nth-child(odd){grid-column:1/-1}.housing-card-heading{align-items:flex-start;gap:14px;display:flex}.housing-card-heading>span{width:34px;height:34px;color:var(--gold);border:1px solid #a985476b;border-radius:50%;flex:none;place-items:center;font-family:Georgia,serif;font-size:.6875rem;display:grid}.housing-card-heading p{color:#4a332875;letter-spacing:.19em;margin:1px 0 3px;font-size:.5rem;font-weight:700}.housing-card-heading h2{color:var(--brown);letter-spacing:.06em;margin:0;font-size:1.375rem;font-weight:600}.housing-style-card textarea,.housing-room-card textarea{resize:vertical;width:100%;color:var(--ink);background:0 0;border:0;border-bottom:1px solid #4a33283d;border-radius:0;line-height:1.75}.housing-style-card textarea{min-height:78px;margin-top:18px;padding:11px 2px}.housing-room-card textarea{min-height:112px;margin-top:17px;padding:10px 2px}.housing-style-card textarea:focus,.housing-room-card textarea:focus{border-color:var(--gold);outline:none}.housing-style-card>small,.housing-room-card>small{color:#4a33286b;text-align:right;margin-top:8px;font:.625rem Georgia,serif;display:block}.form-submit-row.housing-submit-row{grid-template-columns:max-content 1fr max-content;display:grid}.housing-submit-row p{justify-self:center}.form-submit-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-top:44px;padding-top:24px;display:flex}.form-submit-row p{color:var(--green-700);align-items:center;gap:8px;margin:0;font-size:.8125rem;display:flex}.prologue-page{background:var(--paper);grid-template-columns:minmax(320px,48%) 1fr;min-height:100vh;display:grid}.prologue-visual{min-height:100vh;position:relative;overflow:hidden}.prologue-visual img{object-fit:cover;width:100%;height:100%}.prologue-visual>div{background:linear-gradient(90deg, transparent 55%, var(--paper) 100%), #26382f1a;position:absolute;inset:0}.prologue-sheet{flex-direction:column;justify-content:center;width:min(640px,100%);padding:8vh clamp(28px,6vw,90px);display:flex}.prologue-sheet .brand{margin-bottom:auto}.prologue-sheet h1{color:var(--brown);font-size:clamp(2.125rem, calc(4vw * var(--font-scale)), 3.5rem);margin:12px 0 22px;line-height:1.35}.prologue-sheet>p:not(.eyebrow){color:var(--brown-soft);line-height:1.9}.streaming-story{max-height:46vh;color:var(--ink);font-family:Noto Serif SC,serif;line-height:2;overflow-y:auto}.loading-line{background:var(--paper-deep);height:2px;margin:30px 0;overflow:hidden}.loading-line span{background:var(--gold);width:42%;height:100%;animation:1.6s ease-in-out infinite loading-slide;display:block}@keyframes loading-slide{0%{transform:translate(-110%)}to{transform:translate(340%)}}.inline-error{color:#8d3e32;border-block:1px solid #8d3e3238;margin:20px 0;padding:14px 0;line-height:1.7}.prologue-actions{gap:12px;margin-top:20px;display:flex}.game-shell{--play-mode-height:64px;background:var(--paper);grid-template-columns:218px minmax(0,1fr);min-height:100vh;display:grid}.side-nav{z-index:20;height:100vh;color:var(--ivory);background:var(--green-900);flex-direction:column;padding:26px 18px 22px;display:flex;position:sticky;top:0}.side-head{justify-content:space-between;display:flex}.side-nav .brand{color:var(--ivory)}.side-nav nav{flex-direction:column;gap:4px;margin:50px 0 auto;display:flex}.side-nav nav button{color:#f6f0e49e;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:13px;width:100%;min-height:45px;padding:0 13px;transition:color .16s,background .16s;display:flex;position:relative}.side-nav nav button svg{width:18px}.side-nav nav button:hover,.side-nav nav button.active{color:var(--ivory);background:#ffffff14}.side-nav nav button.active:before{content:"";background:#c5ad7a;width:3px;height:22px;position:absolute;left:-18px}.nav-spinner{margin-left:auto;width:14px!important}.resident-chip{border-top:1px solid #ffffff24;align-items:center;gap:11px;padding-top:17px;display:flex}.resident-chip>span{width:38px;height:38px;color:var(--green-900);background:var(--sage);border-radius:50%;place-items:center;font-family:Noto Serif SC,serif;display:grid}.resident-chip div{flex-direction:column;min-width:0;display:flex}.resident-chip b{text-overflow:ellipsis;white-space:nowrap;font-size:.8125rem;overflow:hidden}.resident-chip small{color:#f6f0e48c;margin-top:3px;font-size:.625rem}.mobile-close,.mobile-bar,.nav-backdrop{display:none}.game-main{min-width:0}.play-mode-bar{z-index:34;height:var(--play-mode-height);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#faf6ecf5;border-top:1px solid #4a332829;justify-content:center;align-items:stretch;display:flex;position:fixed;bottom:0;left:218px;right:0;box-shadow:0 -10px 30px #372c2214}.play-mode-bar button{color:#4a332894;border:0;cursor:pointer;letter-spacing:.05em;background:0 0;border-inline:1px solid #0000;justify-content:center;align-items:center;gap:10px;width:min(190px,24vw);padding:0 26px;font-family:inherit;font-size:.8125rem;transition:color .15s,background .15s;display:flex;position:relative}.play-mode-bar button:hover{color:var(--brown);background:#dfe4d961}.play-mode-bar button.active{color:var(--ivory);background:var(--green-700);border-color:#ffffff14}.play-mode-bar button.active:before{content:"";background:#d5bc85;width:56%;height:2px;position:absolute;top:0;left:22%}.play-mode-bar svg{width:18px}.play-mode-spinner{position:absolute;right:15px;width:13px!important}.fullscreen-button{z-index:80;border:1px solid var(--line);width:36px;height:36px;color:var(--brown-soft);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;background:#fbf7ede0;place-items:center;padding:0;display:grid;position:fixed;bottom:14px;right:18px}.fullscreen-button svg{width:16px}.weibo-panel{height:calc(100dvh - var(--play-mode-height));min-height:520px;color:var(--ink);background:linear-gradient(90deg, #dfe4d942, transparent 17%), var(--paper);flex-direction:column;display:flex;position:relative;overflow:hidden}.weibo-panel-header{z-index:8;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fbf7edf0;flex-shrink:0;justify-content:space-between;align-items:flex-end;gap:20px;min-height:104px;padding:22px clamp(24px,5vw,68px) 18px;display:flex;position:relative}.weibo-panel-header .eyebrow{margin-bottom:5px}.weibo-panel-header h1{color:var(--brown);font-size:clamp(1.7rem, calc(2.5vw * var(--font-scale)), 2.4rem);letter-spacing:.04em;margin:0;font-weight:600}.weibo-header-button{width:42px;height:42px;color:var(--green-700);cursor:pointer;background:#fff6;border:1px solid #49625240;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.weibo-header-button:hover:not(:disabled){color:var(--ivory);background:var(--green-700)}.weibo-header-button svg{width:18px}.weibo-header-button.busy svg{animation:1s linear infinite spin}.weibo-header-spacer{width:42px}.weibo-view-tabs{border-bottom:1px solid var(--line);background:#fbf7edc7;flex:none;justify-content:center;align-items:stretch;min-height:48px;display:flex}.weibo-view-tabs button{color:#4a33288c;cursor:pointer;letter-spacing:.06em;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;width:min(180px,36vw);padding:0 18px;font-family:inherit;font-size:.75rem;display:inline-flex;position:relative}.weibo-view-tabs button:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:24%;right:24%}.weibo-view-tabs button:hover{color:var(--green-700);background:#dfe4d93d}.weibo-view-tabs button.active{color:var(--green-700);font-weight:650}.weibo-view-tabs button.active:after{background:var(--gold)}.weibo-view-tabs svg{width:15px}.weibo-scroll{scrollbar-gutter:stable;flex:1;overflow:hidden auto}.weibo-compose,.weibo-post,.weibo-detail-post,.weibo-comments-section{width:min(760px,100% - 48px);margin-inline:auto}.weibo-my-profile{border-bottom:1px solid var(--line);grid-template-columns:44px minmax(0,1fr);align-items:center;gap:15px;width:min(760px,100% - 48px);margin-inline:auto;padding:28px 6px 22px;display:grid}.weibo-my-profile .eyebrow{margin-bottom:3px;font-size:.5625rem}.weibo-my-profile h2{color:var(--brown);margin:0;font-size:1.125rem;font-weight:600}.weibo-my-profile p{color:var(--brown-soft);margin:4px 0 0;font-size:.6875rem}.weibo-compose{border-bottom:1px solid var(--line);grid-template-columns:40px minmax(0,1fr);gap:14px;padding:25px 0 22px;display:grid}.weibo-compose>div{background:#ffffff57;border:1px solid #4a332829;border-radius:12px;position:relative;overflow:visible}.weibo-compose textarea{resize:vertical;width:100%;min-height:68px;color:var(--ink);background:0 0;border:0;outline:none;padding:14px 15px 9px;line-height:1.7;display:block}.weibo-compose textarea:focus{box-shadow:inset 0 0 0 1px #a9854773}.weibo-image-preview{background:#dfe4d94d;border:1px solid #4a33281f;border-radius:9px;width:fit-content;max-width:calc(100% - 28px);margin:4px 14px 10px;position:relative;overflow:hidden}.weibo-image-preview img{object-fit:contain;width:auto;max-width:100%;max-height:250px;display:block}.weibo-image-preview button{width:28px;height:28px;color:var(--ivory);cursor:pointer;background:#27342cc2;border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:7px;right:7px}.weibo-image-preview button svg{width:14px}.weibo-compose-error{color:#8d3e32;margin:0;padding:0 14px 8px;font-size:.6875rem}.weibo-compose footer{border-top:1px solid #4a332817;justify-content:space-between;align-items:center;min-height:42px;padding:7px 10px 7px 14px;display:flex}.weibo-compose footer small{color:#4a33286b;font-size:.625rem}.weibo-compose-tools{align-items:center;gap:12px;min-width:0;display:flex}.weibo-compose footer .weibo-image-button{min-width:0;min-height:30px;color:var(--green-700);cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;padding:0 3px;font-size:.6875rem;display:inline-flex}.weibo-image-button svg{width:16px}.weibo-compose footer>.weibo-publish-button{min-width:68px;min-height:30px;color:var(--ivory);background:var(--green-700);cursor:pointer;border:0;border-radius:999px;place-items:center;padding:0 14px;font-size:.6875rem;display:inline-grid}.weibo-publish-button svg{width:15px}.weibo-compose footer button:disabled{opacity:.4;cursor:default}.weibo-mention{color:var(--green-700);font-weight:650}.weibo-mention-suggestions{z-index:35;background:var(--paper);border:1px solid #a9854759;border-radius:10px;width:min(300px,100vw - 42px);max-height:260px;padding:6px;position:absolute;bottom:calc(100% - 4px);right:8px;overflow-y:auto;box-shadow:0 18px 44px #2d282033}.weibo-compose .weibo-mention-suggestions{top:62px;bottom:auto}.weibo-mention-suggestions>button{width:100%;min-height:48px;color:var(--brown);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;padding:5px 7px;display:flex}.weibo-mention-suggestions>button:hover{background:var(--sage-pale)}.weibo-mention-suggestions>button>span:last-child{flex-direction:column;min-width:0;display:flex}.weibo-mention-suggestions b{font-size:.75rem}.weibo-mention-suggestions small{color:#4a332880;text-overflow:ellipsis;white-space:nowrap;font-size:.625rem;overflow:hidden}.weibo-avatar{width:44px;height:44px;color:var(--ivory);background:var(--green-500);border:1px solid #49625229;border-radius:50%;flex:none;place-items:center;font-family:Noto Serif SC,serif;font-size:.9375rem;font-weight:600;display:grid;overflow:hidden}.weibo-avatar.small{width:36px;height:36px;font-size:.75rem}.weibo-avatar img{object-fit:cover;width:100%;height:100%}.weibo-avatar svg{width:42%}.weibo-feed{padding-bottom:44px}.weibo-post{border-bottom:1px solid var(--line);background:#ffffff1f;transition:background .15s;position:relative}.weibo-post:hover{background:#ffffff54}.weibo-post-open{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:44px minmax(0,1fr);gap:15px;padding:23px 6px 13px;display:grid}.weibo-post-copy{min-width:0}.weibo-post-copy header{justify-content:space-between;align-items:flex-start;gap:12px;min-height:24px;display:flex}.weibo-post-copy header>div{flex-wrap:wrap;align-items:center;gap:7px;min-width:0;display:flex}.weibo-post-copy b{color:var(--brown);font-size:.875rem}.weibo-post-copy header span,.weibo-comment header span{color:var(--green-700);background:var(--sage-pale);border:1px solid #4962522e;border-radius:999px;padding:2px 7px;font-size:.5625rem;line-height:1.4}.weibo-post-copy header small{color:#4a332875;font-size:.625rem}.weibo-post-copy>p{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0;font-size:.875rem;line-height:1.85}.weibo-post-image{width:min(520px,100%);min-height:90px;max-height:520px;color:var(--brown-soft);background:#dfe4d94d;border:1px solid #4a33281a;border-radius:10px;place-items:center;margin-top:12px;display:grid;overflow:hidden}.weibo-post-image img{object-fit:contain;width:100%;max-height:520px;display:block}.weibo-post-image>svg{width:20px}.weibo-post-image.missing{font-size:.6875rem}.weibo-delete{color:#4a332866;cursor:pointer;background:0 0;border:0;flex:none;place-items:center;width:30px;height:30px;padding:0;display:grid}.weibo-delete:hover{color:#8d3e32}.weibo-delete svg{width:14px}.weibo-delete.list{z-index:3;position:absolute;top:19px;right:4px}.weibo-post:has(.weibo-delete.list) .weibo-post-copy header{padding-right:27px}.weibo-actions{border-top:1px solid #4a332812;grid-template-columns:repeat(3,minmax(0,1fr));margin-left:59px;padding:9px 6px 13px;display:grid}.weibo-action{color:#4a33287a;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;min-height:31px;padding:0;font-size:.6875rem;display:inline-flex}.weibo-action:hover,.weibo-action.active{color:var(--green-700)}.weibo-action.active:first-child{color:#a9584d}.weibo-action svg{width:15px}.weibo-loading,.weibo-empty{width:min(760px,100% - 48px);color:var(--green-700);justify-content:center;align-items:center;margin:0 auto;display:flex}.weibo-loading{gap:9px;min-height:72px;font-size:.75rem}.weibo-loading svg{width:17px}.weibo-empty{text-align:center;flex-direction:column;min-height:300px;padding:40px}.weibo-empty>svg{opacity:.62;width:30px;margin-bottom:18px}.weibo-empty h2{color:var(--brown);margin:0 0 9px;font-size:1.25rem;font-weight:500}.weibo-empty p{color:var(--brown-soft);margin:0;font-size:.75rem}.weibo-my-empty button{min-height:34px;color:var(--green-700);background:var(--sage-pale);cursor:pointer;border:1px solid #49625238;border-radius:999px;margin-top:18px;padding:0 15px;font-family:inherit;font-size:.6875rem}.weibo-error{z-index:9;color:#783a30;background:#fff2e9;border-bottom:1px solid #923e312e;flex-shrink:0;justify-content:center;align-items:center;gap:12px;min-height:42px;padding:9px clamp(24px,5vw,68px);font-size:.75rem;display:flex}.weibo-error button{width:26px;height:26px;color:inherit;cursor:pointer;background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.weibo-error svg{width:14px}.weibo-detail .weibo-panel-header{align-items:center}.weibo-detail-post{border-bottom:1px solid var(--line);padding:27px 4px 22px;position:relative}.weibo-post-main{grid-template-columns:44px minmax(0,1fr);gap:15px;display:grid}.weibo-detail-post>.weibo-actions{border-top:1px solid #4a33281a;margin:19px 0 0 59px;padding-bottom:5px}.weibo-reply-owner{min-height:32px;color:var(--green-700);background:var(--sage-pale);cursor:pointer;border:1px solid #49625233;border-radius:999px;align-items:center;gap:6px;margin:7px 0 0 59px;padding:0 12px;font-size:.6875rem;display:inline-flex}.weibo-reply-owner svg{width:13px}.weibo-post-replies,.weibo-replies{background:#dfe4d933;border-left:2px solid #49625238;margin:15px 0 0 59px;padding:5px 12px}.weibo-replies{margin:10px 0 0;padding:4px 9px}.weibo-reply-row{border-bottom:1px solid #4a332814;grid-template-columns:36px minmax(0,1fr);gap:9px;padding:8px 0;display:grid}.weibo-reply-row:last-child{border-bottom:0}.weibo-reply-row b{color:var(--brown);margin-right:7px;font-size:.6875rem}.weibo-reply-row small{color:var(--gold);font-size:.5625rem}.weibo-reply-row p{white-space:pre-wrap;margin:3px 0 0;font-size:.75rem;line-height:1.65}.weibo-typing{color:var(--green-700);align-items:center;gap:7px;margin:11px 0 0 59px;font-size:.6875rem;display:flex}.weibo-typing svg{width:13px}.weibo-reply-composer{grid-template-columns:minmax(0,1fr) 34px auto;align-items:center;gap:7px;margin:13px 0 0 59px;display:grid}.weibo-reply-input-wrap{min-width:0;position:relative}.weibo-reply-composer input{border:1px solid var(--line);min-width:0;min-height:36px;color:var(--ink);background:#ffffff6b;border-radius:8px;outline:none;padding:0 11px}.weibo-reply-input-wrap input{width:100%;padding-right:38px}.weibo-reply-input-wrap .weibo-inline-mention{width:28px;height:28px;color:var(--green-700);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid;position:absolute;top:4px;right:4px}.weibo-reply-input-wrap .weibo-inline-mention:hover{background:var(--sage-pale)}.weibo-reply-input-wrap .weibo-inline-mention svg{width:16px}.weibo-reply-composer input:focus{border-color:var(--gold)}.weibo-send{width:34px;height:34px;color:var(--ivory);background:var(--green-700);cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.weibo-send:disabled{opacity:.4}.weibo-send svg{width:14px}.weibo-reply-cancel{color:var(--brown-soft);cursor:pointer;background:0 0;border:0;padding:5px 2px;font-size:.6875rem}.weibo-comments-section{padding:28px 4px 60px}.weibo-comments-section>header{border-bottom:2px solid var(--brown);padding-bottom:15px}.weibo-comments-section .eyebrow{margin-bottom:4px}.weibo-comments-section h2{color:var(--brown);margin:0;font-size:1.1875rem;font-weight:600}.weibo-comment{border-bottom:1px solid var(--line);grid-template-columns:36px minmax(0,1fr);gap:12px;padding:19px 2px;display:grid}.weibo-comment-body{min-width:0}.weibo-comment header{align-items:center;gap:7px;display:flex}.weibo-comment header b{color:var(--brown);font-size:.75rem}.weibo-comment-body>p{white-space:pre-wrap;overflow-wrap:anywhere;margin:6px 0;font-size:.8125rem;line-height:1.75}.weibo-comment-body>footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.weibo-comment-body>footer small{color:#4a332873;font-size:.5625rem}.weibo-comment-body>footer button{color:var(--green-700);cursor:pointer;background:0 0;border:0;padding:4px 1px;font-size:.625rem}.weibo-comment .weibo-typing,.weibo-comment .weibo-reply-composer{margin-left:0}.weibo-empty-comments{width:100%;min-height:90px;color:var(--brown-soft);cursor:pointer;background:0 0;border:0;font-size:.75rem;display:block}.weibo-dialog-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#161f1a85;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.weibo-dialog{background:var(--paper);border:1px solid #a9854759;width:min(430px,100%);padding:30px 32px 25px;box-shadow:0 24px 70px #1e1e1840}.weibo-dialog h2{color:var(--brown);margin:0 0 10px;font-size:1.55rem;font-weight:600}.weibo-dialog p{color:var(--brown-soft);margin:0;line-height:1.7}.weibo-dialog footer{justify-content:flex-end;gap:9px;margin-top:24px;display:flex}.weibo-dialog .quiet-button,.weibo-dialog .danger-button{min-height:40px;padding:0 17px}.danger-button{color:#fff8ef;cursor:pointer;background:#8d3e32;border:0}.weibo-quoted-card{color:var(--ink);text-align:left;background:#efe5cf47;border:1px solid #4a332824;border-radius:10px;margin-top:12px;padding:14px;overflow:hidden}.weibo-quoted-card.compact{max-height:330px;overflow-y:auto}.weibo-quoted-card>header{align-items:center;gap:9px;display:flex}.weibo-quoted-card>header>div{flex-direction:column;min-width:0;display:flex}.weibo-quoted-card>header b{color:var(--brown);font-size:.75rem}.weibo-quoted-card>header small{color:#4a33287a;font-size:.5625rem}.weibo-quoted-card>p{white-space:pre-wrap;overflow-wrap:anywhere;margin:9px 0 0;font-size:.75rem;line-height:1.7}.weibo-empty-copy{color:var(--brown-soft)}.weibo-repost-chain{color:var(--brown-soft);background:#ffffff4d;border-left:2px solid #a9854766;margin-top:9px;padding:8px 10px}.weibo-repost-chain p{margin:0 0 4px;font-size:.625rem;line-height:1.55}.weibo-repost-chain p:last-child{margin-bottom:0}.weibo-repost-chain b{color:var(--green-700)}.weibo-quoted-card .weibo-post-image{margin-top:10px}.weibo-share-backdrop{z-index:110;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#161f1a94;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.weibo-share-dialog{width:min(560px,100%);max-height:min(88dvh,780px);color:var(--ink);background:var(--paper);border:1px solid #a9854761;border-radius:14px;flex-direction:column;padding:27px;display:flex;position:relative;overflow:hidden;box-shadow:0 28px 80px #191f1b52}.weibo-share-dialog.chat{width:min(620px,100%)}.weibo-share-dialog>header{flex:none;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.weibo-share-dialog>header h2{color:var(--brown);margin:3px 0 0;font-family:Noto Serif SC,serif;font-size:1.5rem;font-weight:600}.weibo-share-dialog>header>button{width:34px;height:34px;color:var(--brown-soft);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;padding:0;display:grid}.weibo-share-dialog>header>button:hover{background:var(--sage-pale)}.weibo-share-dialog>header svg{width:17px}.weibo-share-dialog>.weibo-quoted-card{flex:0 auto}.weibo-share-routes{grid-template-columns:1fr 1fr;gap:10px;margin-top:18px;display:grid}.weibo-share-routes>button{min-height:104px;color:var(--brown);cursor:pointer;text-align:left;background:#ffffff57;border:1px solid #4962522e;border-radius:10px;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:12px;padding:16px;display:grid}.weibo-share-routes>button:hover{background:var(--sage-pale);border-color:#49625273}.weibo-share-routes>button>svg{width:24px;color:var(--green-700)}.weibo-share-routes>button span{flex-direction:column;gap:5px;min-width:0;display:flex}.weibo-share-routes b{font-size:.8125rem}.weibo-share-routes small{color:var(--brown-soft);font-size:.625rem;line-height:1.5}.weibo-share-note{color:var(--brown);flex-direction:column;gap:7px;margin-top:18px;font-size:.6875rem;display:flex;position:relative}.weibo-share-note>span{font-weight:650}.weibo-share-note>span small{color:#4a332873;font-weight:400}.weibo-share-note textarea{resize:vertical;width:100%;min-height:74px;color:var(--ink);font:inherit;background:#ffffff7a;border:1px solid #4a33282e;border-radius:9px;outline:none;padding:11px 12px;line-height:1.65}.weibo-share-note textarea:focus{border-color:var(--gold);box-shadow:0 0 0 2px #a985471a}.weibo-share-dialog .weibo-mention-suggestions{top:120px;bottom:auto;right:27px}.weibo-share-search{background:#fff6;border:1px solid #4a332829;border-radius:9px;grid-template-columns:28px minmax(0,1fr);align-items:center;min-height:42px;margin-top:17px;display:grid}.weibo-share-search svg{width:15px;color:var(--brown-soft);justify-self:center}.weibo-share-search input{height:40px;color:var(--ink);background:0 0;border:0;outline:0;padding:0 10px 0 0}.weibo-share-targets{background:#ffffff2e;border:1px solid #4a33281a;border-radius:9px;min-height:118px;max-height:218px;margin-top:8px;padding:4px;overflow-y:auto}.weibo-share-targets>button{width:100%;min-height:54px;color:var(--brown);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:7px;grid-template-columns:36px minmax(0,1fr) 22px;align-items:center;gap:10px;padding:6px 8px;display:grid}.weibo-share-targets>button:hover,.weibo-share-targets>button.selected{background:var(--sage-pale)}.weibo-share-targets>button>span:nth-child(2){flex-direction:column;gap:3px;min-width:0;display:flex}.weibo-share-targets b{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.weibo-share-targets small{color:var(--brown-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.5625rem;overflow:hidden}.weibo-share-targets>button>svg{width:15px;color:var(--green-700)}.weibo-share-group-avatar{width:36px;height:36px;color:var(--ivory);background:var(--green-700);border-radius:50%;place-items:center;display:grid}.weibo-share-group-avatar svg{width:17px}.weibo-share-empty{color:var(--brown-soft);text-align:center;margin:0;padding:32px 12px;font-size:.6875rem}.weibo-share-mention-list{z-index:5;background:var(--paper);border:1px solid #a985474d;border-radius:9px;max-height:190px;margin-top:5px;padding:4px;overflow-y:auto;box-shadow:0 12px 28px #2d28201f}.weibo-share-mention-list>button{width:100%;min-height:48px;color:var(--brown);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:9px;padding:5px 7px;display:flex}.weibo-share-mention-list>button:hover,.weibo-share-mention-list>button.active{background:var(--sage-pale)}.weibo-share-mention-list>button>span:last-child{flex-direction:column;min-width:0;display:flex}.weibo-share-mention-list b{font-size:.6875rem}.weibo-share-mention-list small{color:var(--brown-soft);font-size:.5625rem}.weibo-share-error{color:#8d3e32;margin:10px 0 0;font-size:.6875rem}.weibo-share-dialog>footer{flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:46px;margin-top:16px;display:flex}.weibo-share-dialog>footer>small{color:#4a332873;font-size:.625rem}.weibo-share-dialog>footer>div{gap:8px;display:flex}.weibo-share-dialog .quiet-button,.weibo-share-dialog .weibo-publish-button{cursor:pointer;border-radius:999px;min-height:38px;padding:0 16px}.weibo-share-dialog .quiet-button{color:var(--brown-soft);background:0 0;border:1px solid #4a332829}.weibo-share-dialog .weibo-publish-button{min-width:76px;color:var(--ivory);background:var(--green-700);border:0;place-items:center;display:inline-grid}.weibo-share-dialog button:disabled{opacity:.45;cursor:default}.weibo-share-dialog.complete{text-align:center;align-items:center;width:min(390px,100%)}.weibo-share-complete-icon{width:52px;height:52px;color:var(--ivory);background:var(--green-700);border-radius:50%;place-items:center;margin-bottom:13px;display:grid}.weibo-share-complete-icon svg{width:23px}.weibo-share-dialog.complete h2{color:var(--brown);margin:5px 0 7px;font-size:1.35rem}.weibo-share-dialog.complete p{color:var(--brown-soft);margin:0;font-size:.75rem}.weibo-share-dialog.complete footer{justify-content:center;width:100%}.story-workspace{min-height:calc(100vh - var(--play-mode-height));background:linear-gradient(90deg, #dfe4d954, transparent 14%), var(--paper);flex-direction:column;display:flex}.scene-heading{z-index:8;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fbf7eded;justify-content:space-between;align-items:flex-end;gap:20px;min-height:104px;padding:24px clamp(28px,5vw,72px) 20px;display:flex;position:sticky;top:0}.scene-heading h1{color:var(--brown);font-size:clamp(1.5rem, calc(2.4vw * var(--font-scale)), 2.1875rem);margin:0;font-weight:600}.scene-heading .eyebrow{margin-bottom:5px}.scene-meta{color:var(--brown-soft);align-items:center;gap:16px;font-size:.75rem;display:flex}.scene-meta span{align-items:center;gap:6px;display:flex}.scene-meta svg{width:15px}.scene-calendar{white-space:nowrap;flex:none}.scene-calendar-date:after{content:"·";margin-left:6px}.scene-calendar-mobile{display:none!important}.scene-calendar-row{align-items:center;gap:7px;display:flex}.scene-correction-button{min-height:32px;color:var(--brown-soft);cursor:pointer;font:inherit;background:#ffffff61;border:1px solid #4a332824;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:0 10px;display:inline-flex}.scene-correction-button:hover{color:var(--green-700);background:var(--sage-pale);border-color:#4962525c}.scene-correction-button:disabled{opacity:.45;cursor:default}.scene-correction-button svg{width:13px;height:13px}.scene-correction-layer{z-index:96;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#1d241f7a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.scene-correction-dialog{width:min(480px,100%);color:var(--brown);background:var(--paper);border:1px solid #765b392b;border-radius:22px;padding:26px;box-shadow:0 24px 70px #201c163d}.scene-correction-dialog>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.scene-correction-dialog h2{margin:2px 0 0;font-size:1.55rem;font-weight:600}.scene-correction-dialog>header button{width:34px;height:34px;color:var(--brown-soft);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;display:grid}.scene-correction-dialog>header button svg{width:17px}.scene-correction-intro{color:var(--brown-soft);margin:16px 0 20px;font-size:.875rem;line-height:1.75}.scene-correction-time-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.scene-correction-dialog label{color:var(--brown-soft);gap:7px;font-size:.78rem;display:grid}.scene-correction-dialog input,.scene-correction-dialog select{width:100%;min-height:46px;color:var(--brown);font:inherit;background:#ffffff80;border:1px solid #4a33282e;border-radius:10px;outline:0;padding:0 12px}.scene-correction-dialog input:focus,.scene-correction-dialog select:focus{border-color:#4962528c;box-shadow:0 0 0 3px #49625217}.scene-correction-location{margin-top:14px}.scene-correction-error{color:#9b493f;margin:13px 0 0;font-size:.78rem}.scene-correction-dialog footer{justify-content:flex-end;gap:10px;margin-top:24px;display:flex}.scene-correction-dialog footer button{min-height:42px}.scene-correction-dialog footer svg{width:16px}.scene-weather-button{min-height:36px;color:var(--green-700);cursor:pointer;font:inherit;background:#ffffff61;border:1px solid #4962522e;border-radius:999px;align-items:center;gap:6px;padding:0 9px 0 8px;display:inline-flex;position:relative}.scene-weather-button:hover{background:var(--sage-pale);border-color:#4962526b}.scene-weather-button>span{filter:saturate(.8);font-size:1rem}.scene-weather-button b{color:var(--brown);font-family:Georgia,serif;font-size:.875rem}.scene-weather-button small{font-size:.625rem}.scene-weather-button svg{opacity:.55;width:12px}.scene-weather-button>i{border:1px solid var(--paper);background:#b89a42;border-radius:50%;width:6px;height:6px;position:absolute;top:2px;right:2px}.scene-weather-button>i.orange{background:#cc7133}.scene-weather-button>i.red{background:#a43f34}.story-thread{width:min(930px,100% - 56px);margin:0 auto;padding:54px 0 250px}.story-turn{grid-template-columns:92px minmax(0,1fr);gap:32px;padding-bottom:62px;display:grid}.turn-index{color:var(--gold);flex-direction:column;align-items:center;padding-top:4px;display:flex;position:relative}.turn-index:after{content:"";background:linear-gradient(var(--line), transparent);flex:1;width:1px;min-height:50px;margin-top:14px}.turn-index span{font-family:Noto Serif SC,serif;font-size:1.4375rem}.turn-index small{color:var(--brown-soft);letter-spacing:.11em;margin-top:5px;font-size:.5625rem}.turn-index svg{width:22px}.turn-content{min-width:0}.player-action{width:fit-content;color:var(--green-700);background:var(--sage-pale);align-items:center;gap:8px;margin:0 0 22px;padding:8px 13px;font-size:.8125rem;display:flex}.player-action svg{width:15px}.story-prose-toolbar{opacity:.58;justify-content:flex-end;gap:4px;min-height:32px;margin:-5px 0 10px;transition:opacity .16s;display:flex}.story-turn:hover .story-prose-toolbar,.story-prose-toolbar:focus-within{opacity:1}.story-prose-toolbar button{min-width:58px;min-height:32px;color:var(--brown-soft);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;gap:5px;padding:5px 9px;font-size:.6875rem;display:inline-flex}.story-prose-toolbar button:hover,.story-prose-toolbar button:focus-visible{color:var(--green-900);background:var(--sage-pale);outline:none}.story-prose-toolbar button:disabled{opacity:.4;cursor:default}.story-prose-toolbar svg{width:14px;height:14px}.story-prose-editor{background:#fffdf7db;border:1px solid #4962523d;padding:14px}.story-prose-editor textarea{resize:vertical;color:#342e28;border:1px solid var(--line);background:var(--paper);width:100%;min-height:min(48vh,420px);padding:14px 15px;font-family:Noto Serif SC,STSong,serif;font-size:1rem;line-height:2;display:block}.story-prose-editor textarea:focus{border-color:var(--green-500);outline:2px solid #4962521a}.story-prose-editor>p{color:#934334;margin:8px 0 0;font-size:.6875rem}.story-prose-editor footer{justify-content:flex-end;gap:8px;margin-top:10px;display:flex}.story-prose-editor footer button{min-height:38px;padding:7px 14px}.story-prose-collapsed{width:100%;min-height:58px;color:var(--green-700);cursor:pointer;background:#dfe4d947;border:1px dashed #4962524d;justify-content:center;align-items:center;gap:8px;padding:12px 16px;font-size:.75rem;display:flex}.story-prose-collapsed:hover{background:var(--sage-pale)}.story-prose-collapsed svg{width:15px}.story-prose{color:#342e28;font-family:Noto Serif SC,STSong,serif;font-size:1rem;line-height:2.15}.story-prose p{margin-bottom:1.25em}.turn-tools{border-top:1px solid var(--line);opacity:.64;gap:8px;margin-top:22px;padding-top:14px;transition:opacity .16s;display:flex}.story-turn:hover .turn-tools{opacity:1}.turn-tools button{color:var(--brown-soft);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:7px 9px;font-size:.6875rem;display:inline-flex}.turn-tools button:hover{color:var(--green-900);background:var(--sage-pale)}.turn-tools svg{width:13px}.story-turn.generating{opacity:.72}.story-turn.failed .turn-index{color:#934334}.story-generation-error{color:#783a30;overflow-wrap:anywhere;white-space:pre-wrap;background:#93433412;border-left:3px solid #9343348c;padding:14px 16px;font-family:inherit;font-size:.8125rem;line-height:1.75}.story-generation-error p{margin:0}.failed-turn-tools{opacity:1;border-top:0;margin:0 0 12px;padding:0}.composer-wrap{z-index:10;right:0;bottom:var(--play-mode-height);background:linear-gradient(transparent, var(--paper) 26%);padding:44px clamp(28px,5vw,72px) 18px;position:fixed;left:218px}.composer-wrap>*{width:min(930px,100%);margin-inline:auto}.suggestions{scrollbar-width:none;gap:7px;margin-bottom:8px;display:flex;overflow-x:auto}.suggestions button{border:1px solid var(--line);color:var(--green-700);cursor:pointer;background:#fbf7ede6;border-radius:999px;flex:none;padding:7px 11px;font-size:.6875rem}.suggestions button:hover{border-color:var(--green-500);background:var(--sage-pale)}.composer{background:#fffdf7f7;border:1px solid #4a332847;grid-template-columns:minmax(0,1fr) 58px;min-height:84px;display:grid;box-shadow:0 15px 45px #4a33281f}.composer textarea{resize:vertical;min-width:0;min-height:82px;max-height:170px;color:var(--ink);background:0 0;border:0;padding:17px 20px;line-height:1.6}.composer textarea:focus{outline:none}.composer>button{color:var(--ivory);background:var(--green-900);cursor:pointer;border:0}.composer>button:hover:not(:disabled){background:#1d2e25}.composer-note{color:#4a332885;letter-spacing:.04em;text-align:right;margin-top:8px;font-size:.5625rem}.composer-error{color:#8d3e32;background:#f6e8e2;justify-content:space-between;align-items:center;margin-bottom:8px;padding:10px 12px;font-size:.75rem;display:flex}.composer-error button{cursor:pointer;background:0 0;border:0}.composer-error svg{width:15px}.panel-heading{max-width:760px;margin-bottom:44px}.directory-panel,.map-panel,.memory-panel,.saves-panel,.settings-panel{min-height:100vh;padding:clamp(36px,6vw,78px) clamp(24px,6vw,86px) 100px}.building-directory{border-top:2px solid var(--brown)}.floor-row{border-bottom:1px solid var(--line);grid-template-columns:78px repeat(4,minmax(0,1fr));display:grid}.floor-label{flex-direction:column;padding:22px 12px 20px 0;display:flex}.floor-label b{color:var(--gold);font-family:Noto Serif SC,serif;font-size:1.5rem}.floor-label span{color:var(--brown-soft);margin-top:5px;font-size:.5625rem}.room-cell{border-left:1px solid var(--line);background:#ffffff2e;min-width:0;min-height:162px;padding:17px 15px 35px;transition:background .16s;position:relative}.room-cell:hover{background:#dfe4d973}.room-cell.player-room{background:var(--sage-pale)}.room-number{color:var(--brown);justify-content:space-between;align-items:center;margin-bottom:11px;display:flex}.room-number span{font-size:1.1875rem}.room-number svg{width:13px;color:var(--gold)}.resident-name{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:6px 0;display:flex}.resident-name:hover b{color:var(--green-700)}.resident-name>span:last-child{flex-direction:column;min-width:0;display:flex}.resident-name b{text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.resident-name small{max-width:100%;color:var(--brown-soft);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:.5rem;display:block;overflow:hidden}.resident-name.current-identity b{color:var(--green-700)}.resident-empty{color:#4a33286b;letter-spacing:.18em;margin:14px 0 0;font-family:Noto Serif SC,serif;font-size:.75rem}.resident-monogram{width:29px;height:29px;color:var(--ivory);background:var(--green-700);border-radius:50%;flex:none;place-items:center;font-family:Noto Serif SC,serif;font-size:.75rem;display:grid}.resident-monogram.has-avatar{background:var(--sage-pale);overflow:hidden}.resident-monogram.has-avatar img{object-fit:cover;width:100%;height:100%}.resident-monogram.large{width:76px;height:76px;margin-bottom:42px;font-size:1.8125rem;position:relative}.resident-monogram.large small{width:max-content;min-width:72px;max-width:112px;color:var(--ivory);background:var(--gold);text-align:center;white-space:normal;border-radius:0;padding:4px 8px;font:.625rem/1.35 Inter,sans-serif;position:absolute;bottom:-31px;left:50%;transform:translate(-50%)}.visit-room{color:var(--brown-soft);cursor:pointer;background:0 0;border:0;padding:3px 6px;font-size:.5rem;position:absolute;bottom:10px;right:12px}.visit-room:hover{color:var(--green-700);text-decoration:underline}.community-people{border-top:2px solid var(--brown);grid-template-columns:minmax(200px,250px) minmax(0,1fr);align-items:start;gap:clamp(30px,3.5vw,58px);margin-top:52px;padding-top:28px;display:grid}.community-people>div:first-child{max-width:250px}.community-people h2{color:var(--brown);margin:5px 0 8px;font-size:1.5625rem}.community-people p:not(.eyebrow){color:var(--brown-soft);font-size:.6875rem;line-height:1.7}.operator-grid,.villa-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.villa-room-card{border:1px solid var(--line);min-height:146px;padding:19px 20px 39px}.villa-room-card .room-number{margin-bottom:12px}.villa-room-card .room-number span{font-size:1.35rem}.villa-room-card .resident-name{gap:11px}.villa-room-card .resident-monogram{width:38px;height:38px;font-size:.875rem}.villa-room-card .resident-name b{font-size:.875rem}.villa-room-card .resident-name small{text-overflow:clip;white-space:normal;font-size:.625rem;line-height:1.5;overflow:visible}.villa-room-card .visit-room{font-size:.625rem;bottom:13px;right:16px}.operator-card{border:1px solid var(--line);min-width:0;min-height:78px;color:var(--ink);cursor:pointer;text-align:left;background:#ffffff3d;grid-template-columns:40px minmax(0,1fr) 18px;align-items:center;gap:13px;padding:18px 20px;display:grid}.operator-card:hover{border-color:var(--green-500);background:var(--sage-pale)}.operator-card.current-identity{background:linear-gradient(120deg,#efe5cf99,#dfe4d980);border-color:#a9854794}.operator-card .resident-monogram{width:40px;height:40px;font-size:.875rem}.operator-card>span:nth-child(2){flex-direction:column;gap:4px;min-width:0;display:flex}.operator-card b{color:var(--brown);font-size:.875rem}.operator-card small{color:var(--brown-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.625rem;line-height:1.5;display:-webkit-box;overflow:hidden}.operator-card>svg{width:15px;color:var(--gold)}.detail-backdrop{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#161f1a5c;border:0;position:fixed;inset:0}.resident-detail{z-index:41;background:var(--paper);width:min(480px,100%);height:100vh;padding:58px clamp(28px,4vw,56px);animation:.26s ease-out slide-in;position:fixed;top:0;right:0;overflow-y:auto;box-shadow:-25px 0 70px #212b2433}@keyframes slide-in{0%{transform:translate(100%)}}.resident-detail .close{position:absolute;top:20px;right:20px}.resident-detail h2{color:var(--brown);margin-bottom:13px;font-size:2.375rem}.dossier-title-row{flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:13px;display:flex}.resident-detail .dossier-title-row h2{margin:0}.romance-availability{letter-spacing:.08em;white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;min-height:24px;padding:3px 10px;font-size:.6875rem;font-weight:800;display:inline-flex}.romance-availability.available{color:var(--green-700);background:var(--sage-pale)}.romance-availability.locked{color:var(--red-700);background:var(--red-pale)}.romance-availability.committed{color:#8a4053;background:#f8e9ed;border-color:#c98a99}.resident-summary{color:var(--brown-soft);line-height:1.75}.affinity-card{background:#dfe4d947;border:1px solid #a9854738;grid-template-columns:1fr auto;align-items:center;gap:10px 16px;margin-top:24px;padding:14px 16px;display:grid}.affinity-card span{color:var(--gold);letter-spacing:.1em;font-size:.625rem;font-weight:700}.affinity-card strong{color:var(--green-700);font-family:Noto Serif SC,serif;font-size:1.25rem}.affinity-card small{color:var(--brown-soft);letter-spacing:.08em;grid-column:1/-1;font-size:.75rem}.affinity-track{background:#4962521f;grid-column:1/-1;height:4px;overflow:hidden}.affinity-track i{background:linear-gradient(90deg, var(--gold), var(--green-500));height:100%;transition:width .18s;display:block}.current-identity-card{color:var(--green-700);background:var(--sage-pale);border:1px solid #49625242;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:12px;margin-top:24px;padding:15px 16px;display:grid}.current-identity-card>svg{width:22px}.current-identity-card>span{flex-direction:column;gap:4px;display:flex}.current-identity-card b{color:var(--green-900);font-size:.75rem}.current-identity-card small{color:var(--brown-soft);font-size:.625rem;line-height:1.55}.resident-detail dl{margin:32px 0}.resident-detail dl div{border-top:1px solid var(--line);padding:18px 0}.resident-detail dt{color:var(--gold);letter-spacing:.1em;margin-bottom:7px;font-size:.625rem;font-weight:700}.resident-detail dd{margin:0;line-height:1.7}.dossier-voice-settings{background:#dfe4d957;border:1px solid #4a332824;border-radius:12px;margin:8px 0 26px;padding:19px}.dossier-voice-heading{align-items:center;gap:11px;margin-bottom:17px;display:flex}.dossier-voice-heading>span{width:36px;height:36px;color:var(--gold);background:#fffdf7ad;border:1px solid #a9854761;border-radius:50%;flex:none;place-items:center;display:grid}.dossier-voice-heading svg{width:17px}.dossier-voice-heading div{flex-direction:column;gap:2px;min-width:0;display:flex}.dossier-voice-heading b{color:var(--brown)}.dossier-voice-heading small{color:var(--brown-soft);font-size:.625rem}.dossier-voice-settings label{color:var(--brown-soft);flex-direction:column;gap:7px;margin-top:13px;font-size:.6875rem;font-weight:700;display:flex}.dossier-voice-settings input[type=text],.dossier-voice-settings input:not([type]){min-height:44px;color:var(--brown);background:#fffdf7d1;border:1px solid #4a332833;border-radius:8px;padding:0 11px}.dossier-speed-setting>span{justify-content:space-between;align-items:center;display:flex}.dossier-speed-setting output{color:var(--gold);font-family:Georgia,serif;font-size:1rem}.dossier-speed-setting input{min-height:28px;accent-color:var(--green-700);cursor:pointer}.dossier-voice-settings>button{width:100%;min-height:44px;color:var(--ivory);background:var(--green-700);cursor:pointer;border:0;border-radius:8px;margin-top:16px;font-weight:700}.privacy-note{color:var(--brown-soft);border-block:1px solid var(--line);padding:13px 0;font-size:.6875rem;line-height:1.65}.plan-tabs{background:#fff3;border:1px solid #4a332838;grid-template-columns:repeat(4,minmax(0,1fr));width:min(760px,100%);margin:-12px 0 28px;display:grid}.plan-tabs button{min-height:46px;color:var(--brown-soft);cursor:pointer;letter-spacing:.06em;background:0 0;border:0;border-right:1px solid #4a332826;padding:10px 18px;font-size:.75rem;font-weight:700}.plan-tabs button:last-child{border-right:0}.plan-tabs button:hover,.plan-tabs button:focus-visible{color:var(--green-700);background:#dfe4d966}.plan-tabs button.active{color:var(--paper);background:var(--green-700)}.map-layout{grid-template-columns:minmax(0,1.65fr) minmax(260px,.7fr);align-items:start;gap:34px;display:grid}.map-figure{margin:0;position:sticky;top:30px}.map-graphic{position:relative;container-type:inline-size}.map-figure img{width:100%;box-shadow:var(--shadow);border:1px solid #4a33283b;display:block}.map-figure figcaption{color:var(--green-700);align-items:center;gap:6px;margin-top:12px;font-size:.75rem;display:flex}.map-figure svg{width:14px}.plan-visual-column{min-width:0}.plan-figure{position:static}.villa-floor-tabs{border-block:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));width:min(390px,100%);margin-bottom:14px;display:grid}.villa-floor-tabs button{color:var(--brown-soft);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 12px;font-size:.75rem}.villa-floor-tabs button:hover,.villa-floor-tabs button:focus-visible{color:var(--green-700)}.villa-floor-tabs button.active{color:var(--green-700);border-bottom-color:var(--gold);font-weight:700}.plan-notes{border-block:1px solid var(--brown);padding:22px 0}.plan-notes h2{color:var(--brown);margin:0 0 14px;font-family:Noto Serif SC,serif;font-size:1.5rem;font-weight:500}.plan-notes>p:not(.eyebrow){color:var(--brown-soft);margin:0;font-size:.75rem;line-height:1.8}.plan-notes dl{margin:24px 0 0}.plan-notes dl div{border-top:1px solid var(--line);padding:14px 0}.plan-notes dt{color:var(--gold);letter-spacing:.1em;margin-bottom:6px;font-size:.625rem;font-weight:700}.plan-notes dd{color:var(--brown-soft);margin:0;font-size:.6875rem;line-height:1.7}.location-list{border-top:1px solid var(--brown)}.location-list>button{border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:16px 0;display:flex}.location-list>button:hover:not(:disabled) b,.location-list>button.active b{color:var(--green-700)}.location-list>button span{flex-direction:column;gap:4px;min-width:0;display:flex}.location-list b{color:var(--brown);font-size:.8125rem}.location-list small{color:var(--brown-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.625rem;line-height:1.55;display:-webkit-box;overflow:hidden}.location-list svg{width:15px;color:var(--gold);flex:none}.travel-dialog-backdrop{z-index:90;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#161f1a85;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.travel-dialog{background:var(--paper);border:1px solid #a9854757;width:min(470px,100%);padding:34px;box-shadow:0 30px 80px #161f1a47}.travel-dialog h2{color:var(--brown);margin-bottom:24px;font-size:2rem}.travel-dialog dl{border-top:1px solid var(--line);margin:0 0 18px}.travel-dialog dl div{border-bottom:1px solid var(--line);grid-template-columns:92px minmax(0,1fr);gap:14px;padding:13px 0;display:grid}.travel-dialog dt{color:var(--brown-soft);font-size:.6875rem}.travel-dialog dd{color:var(--brown);text-align:right;margin:0}.travel-dialog>p:not(.eyebrow){color:var(--brown-soft);font-size:.75rem;line-height:1.7}.travel-dialog-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.memory-health{border-block:1px solid var(--line);background:#fff3;grid-template-columns:repeat(5,minmax(90px,1fr));margin-bottom:20px;display:grid}.memory-health>div{border-right:1px solid var(--line);flex-direction:column;gap:4px;min-width:0;padding:18px 14px;display:flex}.memory-health>div.warning{color:#8d3e32;background:#8d3e320f}.memory-health b{color:var(--brown);font-family:Georgia,serif;font-size:1.35rem;font-weight:500}.memory-health span{color:var(--brown-soft);font-size:.625rem}.memory-health>p{color:var(--green-700);border-top:1px solid var(--line);grid-column:1/-1;align-items:center;gap:7px;margin:0;padding:11px 14px;font-size:.6875rem;display:flex}.memory-health>p svg{width:14px}.memory-warning{color:#7d4339;background:#a65b4c12;border-left:3px solid #a65b4c;flex-direction:column;gap:4px;margin:0 0 18px;padding:13px 16px;font-size:.6875rem;line-height:1.55;display:flex}.memory-actions{flex-wrap:wrap;gap:8px;margin-bottom:34px;display:flex}.memory-actions .quiet-button{min-height:40px;padding-inline:14px;font-size:.6875rem}.memory-actions svg{width:14px}.memory-now-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0 0 42px;display:grid}.memory-now-card{border:1px solid var(--line);background:#ffffff47;min-width:0;padding:22px 24px}.memory-now-card h2{color:var(--brown);border-bottom:1px solid var(--line);justify-content:space-between;margin:0 0 16px;padding-bottom:10px;font-size:1rem;display:flex}.memory-now-card h2 span{color:var(--gold);font-weight:500}.memory-now-card>p:not(.empty-state){color:var(--brown-soft);grid-template-columns:56px minmax(0,1fr);gap:10px;margin:8px 0;font-size:.75rem;line-height:1.6;display:grid}.memory-now-card>p b{color:var(--brown);font-weight:500}.memory-state-row{border-bottom:1px solid #49625221;justify-content:space-between;align-items:flex-start;gap:14px;padding:12px 0;display:flex}.memory-state-row:last-child{border-bottom:0}.memory-state-row>div:first-child{min-width:0}.memory-state-row b{color:var(--brown);font-family:Noto Serif SC,serif;font-size:.78rem;font-weight:600}.memory-state-row p{color:var(--brown-soft);margin:4px 0 0;font-size:.68rem;line-height:1.55}.memory-state-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;gap:5px;display:flex}.memory-state-actions button{color:var(--green-700);cursor:pointer;background:#ffffff80;border:1px solid #49625240;padding:4px 7px;font-size:.58rem}.memory-state-actions button:hover{background:var(--sage-pale)}.memory-columns{grid-template-columns:minmax(0,1.25fr) minmax(290px,.75fr);gap:60px;display:grid}.memory-columns h2{color:var(--brown);border-bottom:2px solid var(--brown);justify-content:space-between;padding-bottom:12px;font-size:1.125rem;display:flex}.memory-columns h2 span{color:var(--gold)}.memory-entry{border-bottom:1px solid var(--line);grid-template-columns:145px minmax(0,1fr);gap:6px 20px;padding:20px 0;display:grid}.memory-entry time{color:var(--brown-soft);grid-row:1/3;font-size:.625rem}.memory-entry>div{min-width:0}.memory-entry p{margin:0;font-family:Noto Serif SC,serif;line-height:1.8}.memory-entry small{color:var(--green-700)}.memory-entry-actions{grid-column:2;gap:7px;margin-top:5px;display:flex}.memory-entry-actions .quiet-button{min-height:32px;padding:5px 10px;font-size:.625rem}.memory-entry-actions svg{width:13px}.memory-summary-editor{flex-direction:column;gap:8px;margin-top:6px;display:flex}.memory-summary-editor textarea{resize:vertical;width:100%;min-height:150px;color:var(--brown);background:#ffffff80;border:1px solid #49625261;outline:none;padding:12px 14px;font-family:Noto Serif SC,serif;font-size:.75rem;line-height:1.8}.memory-summary-editor textarea:focus{border-color:var(--green-700);box-shadow:0 0 0 2px #49625214}.memory-summary-editor>div{justify-content:flex-end;align-items:center;gap:7px;display:flex}.memory-summary-editor>div>small{color:var(--brown-soft);margin:0 auto 0 0}.memory-summary-editor .quiet-button,.memory-summary-editor .primary-button{min-height:34px;padding:6px 11px;font-size:.625rem}.memory-entry.status-error p{color:#8d3e32}.memory-entry.status-pending p,.memory-entry.status-stale p{color:var(--brown-soft)}.memory-status{color:var(--green-700);background:var(--sage-pale);border:1px solid #49625240;margin-bottom:7px;padding:2px 7px;font-size:.5625rem;display:inline-block}.status-error .memory-status{color:#8d3e32;background:#8d3e3212;border-color:#8d3e3240}.memory-secondary{flex-direction:column;gap:36px;display:flex}.thread-entry{border-bottom:1px solid var(--line);grid-template-columns:48px 1fr;gap:4px 8px;padding:14px 0;display:grid}.thread-entry small{color:var(--gold);grid-row:1/3;padding-top:2px;font-size:.625rem}.thread-entry b{color:var(--brown);font-size:.75rem}.thread-entry p{color:var(--brown-soft);margin:0;font-size:.6875rem;line-height:1.6}.rollup-entry{border-bottom:1px solid var(--line);grid-template-columns:25px 1fr;gap:10px;padding:18px 0;display:grid}.rollup-entry svg{width:17px;color:var(--gold)}.rollup-entry p{color:var(--brown-soft);margin:0;line-height:1.75}.rollup-entry small{color:var(--gold);margin-bottom:5px;font-size:.5625rem;display:block}.memory-rollup-edit{color:var(--green-700);text-underline-offset:3px;background:0 0;border:0;margin-top:8px;padding:0;font-size:.625rem;text-decoration:underline}.recall-entry{flex-direction:column;gap:8px;display:flex}.recall-entry>small{color:var(--gold);font-size:.5625rem}.recall-entry>b{color:var(--brown);font-size:.75rem}.recall-entry p{color:var(--brown-soft);border-top:1px solid var(--line);margin:0;padding:10px 38px 10px 0;font-size:.6875rem;line-height:1.6;position:relative}.recall-entry em{color:var(--green-700);font-size:.5rem;font-style:normal;position:absolute;top:10px;right:0}.empty-state{color:var(--brown-soft);padding:30px 0;font-size:.8125rem}.save-actions{flex-wrap:wrap;gap:8px;margin-bottom:34px;display:flex}.save-list{border-top:2px solid var(--brown)}.save-list article{border-bottom:1px solid var(--line);grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:20px;padding:22px 12px;display:grid}.save-list article.current{background:#dfe4d980}.save-door{overflow-wrap:anywhere;width:58px;min-height:58px;color:var(--ivory);background:var(--green-700);text-align:center;place-items:center;padding:6px;font-size:1rem;line-height:1.2;display:grid}.save-list h2{color:var(--brown);margin:0 0 5px;font-size:1.25rem}.save-list p{color:var(--brown-soft);margin:0 0 6px}.save-list small{color:#4a33288f}.save-row-tools{flex-wrap:wrap;gap:5px;display:flex}.save-row-tools button{border:1px solid var(--line);cursor:pointer;background:0 0;min-height:36px;padding:0 11px}.save-row-tools button:not([aria-label^=删除]){align-items:center;gap:5px;display:inline-flex}.save-row-tools button:hover{background:var(--sage-pale)}.save-row-tools svg{width:15px}.settings-panel{max-width:1120px}.settings-tabs{background:#fffcf48f;border:1px solid #4a332829;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));margin:-16px 0 34px;display:grid;overflow:hidden}.settings-tabs button{color:#4a33288c;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:12px;min-height:76px;padding:14px 18px;transition:color .16s,background .16s;display:grid;position:relative}.settings-tabs button+button{border-left:1px solid #4a33281f}.settings-tabs button:after{content:"";background:0 0;height:3px;transition:background .16s;position:absolute;bottom:0;left:18px;right:18px}.settings-tabs button:hover{color:var(--brown);background:#dfe4d961}.settings-tabs button.active{color:var(--green-900);background:var(--sage-pale)}.settings-tabs button.active:after{background:var(--gold)}.settings-tabs svg{width:21px}.settings-tabs span{flex-direction:column;gap:3px;min-width:0;display:flex}.settings-tabs b{font-size:.875rem}.settings-tabs small{opacity:.72;font-size:.625rem}.settings-tab-panel{animation:.18s ease-out settings-tab-in}@keyframes settings-tab-in{0%{opacity:.35;transform:translateY(4px)}}.streaming-output-settings{background:linear-gradient(125deg,#dfe4d9a3,#fffcf4c7);border:1px solid #49625238;margin-bottom:28px;padding:22px 25px}.streaming-output-settings>p{color:var(--brown-soft);margin:14px 0 0;font-size:.625rem;line-height:1.55}.settings-switch{min-width:82px;color:var(--green-700);cursor:pointer;grid-template-columns:38px auto;align-items:center;gap:8px;font-size:.625rem;font-weight:700;display:grid;position:relative}.settings-switch input{opacity:0;width:1px;height:1px;position:absolute}.settings-switch i{background:#4a332833;border-radius:999px;width:38px;height:22px;transition:background .18s;position:relative}.settings-switch i:after{background:var(--paper);content:"";border-radius:50%;width:16px;height:16px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #1919143d}.settings-switch input:checked+i{background:var(--green-700)}.settings-switch input:checked+i:after{transform:translate(16px)}.settings-switch:focus-within{outline-offset:5px;outline:2px solid #a9854759}.reading-settings{background:linear-gradient(120deg,#efe5cf94,#fffcf4cc);border:1px solid #a985474d;margin-bottom:28px;padding:23px 25px 20px}.weather-effect-settings{background:linear-gradient(125deg,#dfe4d99e,#fffcf4c2);border:1px solid #49625233;margin:-12px 0 28px;padding:22px 25px}.weather-effect-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:18px;display:grid}.weather-effect-options button{min-height:66px;color:var(--brown);cursor:pointer;text-align:left;background:#ffffff5c;border:1px solid #4a33281f;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;display:flex}.weather-effect-options button:hover,.weather-effect-options button.active{border-color:var(--green-500);background:var(--sage-pale);box-shadow:inset 0 0 0 1px #4962521a}.weather-effect-options b{font-size:.75rem}.weather-effect-options small{color:var(--brown-soft);font-size:.625rem;line-height:1.45}.weather-effect-settings>p{color:var(--brown-soft);margin:12px 0 0;font-size:.625rem}.notification-sound-settings{background:linear-gradient(125deg,#fffaeecc,#efe5cf70);border:1px solid #a9854747;padding:22px 25px}.notification-sound-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.notification-sound-setting{background:#ffffff6b;border:1px solid #4a332821;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px 9px;min-width:0;padding:15px;display:grid}.notification-sound-setting>div{flex-direction:column;grid-column:1/-1;gap:4px;display:flex}.notification-sound-setting b{color:var(--brown);font-size:.8125rem}.notification-sound-setting small{color:var(--brown-soft);font-size:.625rem;line-height:1.45}.notification-sound-setting select{min-width:0;height:42px;color:var(--brown);background:#fffcf4db;border:1px solid #4a332833;border-radius:8px;padding:0 11px}.sound-preview-button{height:42px;color:var(--green-700);background:var(--sage-pale);cursor:pointer;border:1px solid #49625247;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 13px;font-size:.6875rem;font-weight:700;display:inline-flex}.sound-preview-button:hover:not(:disabled){color:var(--ivory);background:var(--green-700)}.sound-preview-button svg{width:15px}.notification-sound-settings>p{color:var(--brown-soft);margin:13px 0 0;font-size:.625rem;line-height:1.55}.weather-layer{z-index:95;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#161f1a6b;justify-content:flex-end;animation:.18s ease-out weather-layer-in;display:flex;position:fixed;inset:0;overflow:hidden}.weather-drawer{color:#28352e;scrollbar-width:thin;background:#f5f3eb;border-left:1px solid #ffffff61;width:min(470px,100vw - 218px);height:100dvh;animation:.26s cubic-bezier(.22,.72,.28,1) weather-drawer-in;overflow:hidden auto;box-shadow:-24px 0 70px #161f1a33}.weather-drawer-head{z-index:3;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f5f3ebeb;border-bottom:1px solid #2b3c331a;justify-content:space-between;align-items:center;min-height:72px;padding:16px 20px;display:flex;position:sticky;top:0}.weather-drawer-head>div{flex-direction:column;gap:3px;display:flex}.weather-drawer-head small,.weather-forecast-section header small{color:#758078;letter-spacing:.12em;text-transform:uppercase;font-size:.5625rem;font-weight:750}.weather-drawer-head b{color:#39483f;font-size:.75rem;font-weight:550}.weather-drawer-head button{color:#59665f;cursor:pointer;background:#fff6;border:1px solid #2b3c331f;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;display:grid}.weather-drawer-head button svg{width:16px}.weather-current{color:#f8f5e8;background:radial-gradient(circle at 82% 22%,#ffedb647,#0000 31%),linear-gradient(145deg,#667d70,#263c32);min-height:206px;padding:32px 24px 24px;position:relative;overflow:hidden}.weather-current:before{content:"";border:1px solid #ffffff26;border-radius:50%;height:220px;position:absolute;inset:-70% -20% auto 40%;box-shadow:0 0 0 34px #ffffff08,0 0 0 72px #ffffff06}.weather-current.weather-晴,.weather-current.weather-少云{background:radial-gradient(circle at 83% 17%,#ffe49280,#0000 31%),linear-gradient(145deg,#6d887c,#31493d)}.weather-current.weather-雪,.weather-current.weather-大雪,.weather-current.weather-风吹雪,.weather-current.weather-湿雪,.weather-current.weather-雨夹雪{background:radial-gradient(circle at 80% 17%,#ffffff80,#0000 32%),linear-gradient(145deg,#758997,#364b58)}.weather-current.weather-大雨,.weather-current.weather-雷雨{background:radial-gradient(circle at 82% 20%,#aab8c840,#0000 32%),linear-gradient(145deg,#4c6064,#203136)}.weather-current-copy{align-items:center;gap:17px;display:flex;position:relative}.weather-current-symbol{background:#ffffff14;border:1px solid #ffffff3d;border-radius:50%;place-items:center;width:68px;height:68px;font-size:2rem;display:grid}.weather-current-copy>div{align-items:baseline;gap:12px;display:flex}.weather-current strong{letter-spacing:-.07em;font-family:Georgia,serif;font-size:4.25rem;font-weight:400;line-height:1}.weather-current p{opacity:.78;margin:0;font-size:.75rem}.weather-high-low{opacity:.76;align-items:center;gap:12px;margin-top:28px;font-size:.6875rem;display:flex;position:relative}.weather-high-low i{background:#ffffff59;width:1px;height:12px}.weather-alerts{gap:8px;padding:16px 18px 0;display:grid}.weather-alerts article{color:#574b2d;background:#faf2d8;border:1px solid #ab8d3933;grid-template-columns:28px minmax(0,1fr);align-items:start;gap:9px;min-height:68px;padding:12px 48px 12px 12px;display:grid;position:relative}.weather-alerts article.blue{color:#315d75;background:#e7f2f8;border-color:#34709138}.weather-alerts article.orange{color:#6d3e26;background:#fbe9db;border-color:#c2642d3d}.weather-alerts article.red{color:#68342f;background:#f9e4df;border-color:#a0372d40}.weather-alerts svg{width:17px;margin:2px auto 0}.weather-alerts b{font-size:.75rem;display:block}.weather-alerts p{margin:4px 0 0;font-size:.625rem;line-height:1.55}.weather-alerts em{font-size:.5625rem;font-style:normal;font-weight:750;position:absolute;top:12px;right:12px}.weather-no-alert{color:#69766f;background:#fff6;border:1px solid #4962521f;align-items:center;gap:8px;margin:16px 18px 0;padding:12px 14px;font-size:.6875rem;display:flex}.weather-no-alert svg{width:16px}.weather-metrics{background:#2b3c3314;grid-template-columns:1fr 1fr;gap:1px;padding:18px;display:grid}.weather-metrics article{background:#f5f3eb;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;min-height:72px;padding:13px;display:grid}.weather-metrics svg{color:#819289;width:18px}.weather-metrics span{flex-direction:column;gap:4px;display:flex}.weather-metrics small{color:#818b85;font-size:.5625rem}.weather-metrics b{color:#34453c;text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,serif;font-size:.8125rem;overflow:hidden}.snow-play-note{color:#3e5967;background:#eaf2f5;border:1px solid #4b718633;align-items:center;gap:12px;margin:0 18px 18px;padding:14px;display:flex}.snow-play-note>svg{width:20px}.snow-play-note span{flex-direction:column;gap:4px;display:flex}.snow-play-note b{font-size:.6875rem}.snow-play-note small{opacity:.75;font-size:.5625rem;line-height:1.5}.weather-forecast-section{border-top:1px solid #2b3c331a;padding:23px 18px}.weather-forecast-section>header{justify-content:space-between;align-items:flex-end;display:flex}.weather-forecast-section h2{color:#304239;margin:4px 0 0;font-family:Noto Serif SC,serif;font-size:1.1rem;font-weight:600}.weather-forecast-section>header>span{color:#9c7a36;font-family:Georgia,serif}.weather-curve{color:#b58c3f;margin-top:18px}.weather-curve svg{width:100%;height:72px;display:block;overflow:visible}.weather-hour-labels{justify-content:space-between;display:flex}.weather-hour-labels span{color:#7f8983;flex-direction:column;gap:2px;font-size:.5rem;display:flex}.weather-hour-labels small{color:#34453c;font-family:Georgia,serif}.weather-hour-strip{scrollbar-width:thin;gap:4px;margin-top:18px;padding-bottom:7px;display:flex;overflow-x:auto}.weather-hour-strip article{border-left:1px solid #2b3c3312;flex-direction:column;align-items:center;gap:7px;min-width:48px;min-height:98px;padding:7px 4px 18px;display:flex;position:relative}.weather-hour-strip small{color:#818b85;font-size:.5rem}.weather-hour-strip span{font-size:1rem}.weather-hour-strip b{color:#39483f;font-family:Georgia,serif;font-size:.6875rem}.weather-hour-strip i{background:#7696aa;border-radius:3px 3px 0 0;width:3px;min-height:2px;max-height:34px;position:absolute;bottom:0}.weather-week-list{border-top:1px solid #2b3c331a;margin-top:12px}.weather-week-list article{border-bottom:1px solid #2b3c3314;grid-template-columns:minmax(86px,1fr) 30px minmax(76px,.8fr) 78px;align-items:center;gap:7px;min-height:58px;display:grid}.weather-week-list>article>span{flex-direction:column;gap:3px;display:flex}.weather-week-list b{color:#39483f;font-size:.6875rem}.weather-week-list small{color:#89928c;font-size:.5rem}.weather-week-list em{font-size:1.1rem;font-style:normal}.weather-week-list p{color:#57655d;flex-direction:column;gap:2px;margin:0;font-size:.625rem;display:flex}.weather-week-list strong{color:#34453c;justify-self:end;font-family:Georgia,serif;font-size:.75rem}.weather-week-list strong i{color:#8b948f;font-style:normal;font-weight:400}.weather-drawer-foot{color:#8a928e;padding:0 18px 26px;font-size:.5625rem;line-height:1.6}@keyframes weather-layer-in{0%{opacity:0}}@keyframes weather-drawer-in{0%{transform:translate(100%)}}.weather-ambience{inset:0 0 var(--play-mode-height) 218px;z-index:9;pointer-events:none;contain:strict;position:fixed;overflow:hidden}.weather-ambience>i{--weather-x:50%;--weather-speed:1s;--weather-delay:0s;--weather-drift:10px;top:-24px;left:var(--weather-x);width:1px;height:17px;animation:weather-rain var(--weather-speed) linear var(--weather-delay) infinite;background:linear-gradient(#0000,#879eae7a);border-radius:1px;position:absolute}.weather-ambience.snowing>i{background:#ffffffd1;border-radius:50%;width:5px;height:5px;animation-name:weather-snow;box-shadow:0 0 5px #ffffff80}.weather-snow-ground{opacity:.82;background:linear-gradient(#f6fafb26,#e9f2f5f2);height:20px;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -5px 20px #dfebf06b}.weather-ambience.snow-deep .weather-snow-ground{height:42px}.weather-fog-band{opacity:.35;filter:blur(32px);background:linear-gradient(90deg,#0000,#e2e8e4c7,#0000);width:140%;height:42%;animation:18s ease-in-out infinite alternate weather-fog;position:absolute;top:14%;right:-20%}.weather-ambience.lightning:after{content:"";opacity:0;background:#e4ebe859;animation:9s ease-out infinite weather-lightning;position:absolute;inset:0}@keyframes weather-rain{to{transform:translate3d(var(--weather-drift), calc(100vh + 50px), 0)}}@keyframes weather-snow{0%{transform:translateY(-10px)rotate(0)}50%{transform:translate3d(var(--weather-drift),50vh,0) rotate(180deg)}to{transform:translate3d(calc(var(--weather-drift) * -.4),calc(100vh + 30px),0) rotate(360deg)}}@keyframes weather-fog{0%{transform:translate(-4%)}to{transform:translate(4%)}}@keyframes weather-lightning{0%,91%,94%,to{opacity:0}92%,95%{opacity:1}}.incident-layer{z-index:125;color:#efece2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#161b18c2;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.incident-layer>section{background:#26332d;border-top:3px solid #c5a75e;width:min(540px,100%);padding:36px;box-shadow:0 28px 90px #00000061}.incident-layer.orange>section{border-color:#ce793d}.incident-layer.red>section{border-color:#b85349}.incident-mark{border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;gap:4px;width:48px;height:48px;margin-bottom:20px;display:flex}.incident-mark svg{width:21px}.incident-mark span{background:#d5bf85;width:3px;height:25px;display:block;transform:rotate(18deg)}.incident-mark span:nth-child(2){height:15px;transform:rotate(-22deg)}.incident-mark span:nth-child(3){height:20px}.incident-layer section>small{color:#c4ad73;letter-spacing:.16em;font-size:.5625rem;font-weight:800}.incident-level-badge{color:#f8eee5;letter-spacing:.08em;background:#9d5a32;border:1px solid #fff3;align-items:center;min-height:24px;margin:10px 0 1px;padding:0 9px;font-size:.5625rem;font-style:normal;font-weight:800;display:inline-flex}.incident-level-badge.blue{background:#3d7897}.incident-level-badge.yellow{color:#2c352f;background:#d4b84d}.incident-level-badge.orange{background:#c56d36}.incident-level-badge.red{background:#a9443d}.incident-layer h2{margin:8px 0 12px;font-family:Noto Serif SC,serif;font-size:clamp(1.8rem,5vw,2.8rem);font-weight:500}.incident-layer section>p{color:#efece2bd;margin:0;line-height:1.8}.incident-layer dl{border-block:1px solid #ffffff1f;grid-template-columns:1fr 1fr;margin:24px 0;display:grid}.incident-layer dl div{padding:13px 0}.incident-layer dt{color:#efece27a;font-size:.5625rem}.incident-layer dd{margin:5px 0 0;font-size:.6875rem}.incident-safety-note{color:#dfd8c3;background:#ffffff0d;border-left:2px solid #c4ad73;padding:13px 14px;font-size:.6875rem;line-height:1.65}.incident-layer button{color:#26332d;cursor:pointer;background:#d7c28c;border:0;width:100%;min-height:46px;margin-top:22px;font-weight:700}.reading-settings-heading{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:13px;display:grid}.reading-settings-heading>span{width:38px;height:38px;color:var(--gold);border:1px solid #a985476b;border-radius:50%;place-items:center;display:grid}.reading-settings-heading svg{width:17px}.reading-settings-heading div{flex-direction:column;gap:3px;display:flex}.reading-settings-heading b{color:var(--brown)}.reading-settings-heading small{color:var(--brown-soft)}.reading-settings-heading output{color:var(--gold);font-family:Georgia,serif;font-size:1.125rem}.settings-tutorial-link{min-height:32px;color:var(--green-700);background:#fffdf79e;border:1px solid #4f65563d;border-radius:999px;justify-self:end;align-items:center;gap:5px;padding:0 10px;font-size:.6875rem;font-weight:700;text-decoration:none;transition:color .16s,border-color .16s,background .16s;display:inline-flex}.settings-tutorial-link svg{width:13px;height:13px}.settings-tutorial-link:hover{color:var(--green-900);background:var(--sage-pale);border-color:#4f65566b}.settings-tutorial-link:focus-visible{outline-offset:3px;outline:2px solid #4f655640}.font-slider{color:var(--brown-soft);grid-template-columns:max-content minmax(120px,1fr) max-content;align-items:center;gap:12px;margin-top:20px;font-size:.625rem;display:grid}.font-slider input{width:100%;accent-color:var(--green-700);cursor:pointer}.font-preview{color:var(--brown);border-top:1px solid var(--line);margin:15px 0 0;padding-top:14px;font-family:Noto Serif SC,STSong,serif;line-height:1.8}.ai-access-settings{border-block:1px solid var(--line);margin-top:34px;padding:22px 0 24px}.speech-api-settings{background:#efe5cf38;border:1px solid #4a332824;border-radius:12px;margin-top:28px;padding:22px}.speech-api-note{color:var(--brown-soft);border-top:1px solid var(--line);margin:17px 0 0;padding-top:13px;font-size:.6875rem;line-height:1.6}.ai-access-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 24px;margin-top:20px;display:grid}.ai-access-grid>label:first-child{grid-column:1/-1}.ai-access-grid label{flex-direction:column;gap:8px;min-width:0;display:flex}.ai-access-grid label>span{color:var(--brown-soft);letter-spacing:.06em;font-size:.75rem;font-weight:700}.ai-access-grid input,.ai-access-grid select{width:100%;min-height:46px;color:var(--brown);background:#fffcf4b3;border:1px solid #4a332838;border-radius:9px;padding:0 13px}.ai-access-grid input:focus,.ai-access-grid select:focus{border-color:var(--green-700);outline:2px solid #4f65562e}.ai-access-grid small{color:var(--brown-soft);font-size:.625rem;line-height:1.55}.provider-grid{grid-template-columns:1fr 1fr;gap:42px;margin-top:38px;display:grid}.provider-fields{border:0;padding:0}.provider-fields legend{color:var(--brown);margin-bottom:20px;font-family:Noto Serif SC,serif;font-size:1.4375rem}.provider-fields label{margin-bottom:17px}.provider-fields:disabled{opacity:.5}.model-picker{position:relative}.model-row{grid-template-columns:1fr auto;gap:7px;display:grid}.model-row button{border:1px solid var(--line);cursor:pointer;background:0 0;align-items:center;gap:5px;padding:0 11px;font-size:.6875rem;display:flex}.model-row svg{width:13px}.model-options{z-index:30;border:1px solid var(--line);background:var(--paper);overscroll-behavior:contain;border-radius:10px;flex-direction:column;max-height:min(280px,42vh);padding:5px;display:flex;position:absolute;top:calc(100% + 7px);left:0;right:0;overflow-y:auto;box-shadow:0 16px 38px #2d28202e}.model-options button{overflow-wrap:anywhere;width:100%;min-height:38px;color:var(--brown);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;padding:8px 10px}.model-options button:hover,.model-options button:focus-visible,.model-options button[aria-selected=true]{background:var(--sage-pale);color:var(--green-900);outline:none}.follow-main{color:var(--green-700);align-items:center;gap:8px;margin-bottom:22px;font-size:.75rem;display:flex}.follow-main input{accent-color:var(--green-700)}.memory-api-note{color:var(--brown-soft);border-left:2px solid var(--gold);background:#a9854712;margin:-12px 0 20px;padding:11px 13px;font-size:.6875rem;line-height:1.6}.provider-message{color:var(--brown-soft);padding:8px 0;line-height:1.5;display:block}.settings-save{margin-top:35px}.version-note{color:#4a332873;margin-top:45px;font-size:.5625rem}.boot-screen{min-height:100vh;color:var(--ivory);background:var(--green-900);align-content:center;place-items:center;gap:30px;display:grid}.boot-screen>svg{width:20px}.chat-panel{height:calc(100vh - var(--play-mode-height));min-height:0;color:var(--ink);background:#ede8dc;grid-template-rows:minmax(0,1fr);grid-template-columns:340px minmax(0,1fr);display:grid;position:relative;overflow:hidden}.conversation-list{border-right:1px solid var(--line);background:#f8f3e8;flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.conversation-list>header{justify-content:space-between;align-items:flex-end;height:92px;padding:22px 22px 15px;display:flex}.conversation-list>header h1{color:var(--brown);margin:0;font-size:1.75rem;font-weight:500}.conversation-list>header .eyebrow{margin-bottom:4px}.conversation-list>header button,.conversation-search button,.thread-header-actions button,.thread-menu button,.chat-thread-header>button,.chat-modal header>button,.diary-drawer button{cursor:pointer;background:0 0;border:0}.conversation-list>header button{width:40px;height:40px;color:var(--green-700);border:1px solid var(--line);border-radius:50%;place-items:center;display:grid}.conversation-list>header button:hover{color:var(--ivory);background:var(--green-700)}.conversation-list svg{width:18px}.conversation-search{border:1px solid var(--line);background:#ffffff7a;border-radius:8px;grid-template-columns:minmax(0,1fr) 38px;margin:0 16px 12px;display:grid}.conversation-search input{background:0 0;border:0;outline:0;min-width:0;height:40px;padding:0 13px}.conversation-search button{color:var(--brown-soft);place-items:center;display:grid}.thread-list{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#4f655694 #4a332812;flex:1;min-height:0;padding:0 8px 10px;overflow-y:scroll}.thread-list::-webkit-scrollbar{width:13px}.thread-list::-webkit-scrollbar-track{background:#4a33280f;border-radius:999px}.thread-list::-webkit-scrollbar-thumb{background:#4f6556b8;border:3px solid #f8f3e8;border-radius:999px;min-height:56px}.thread-list>button{cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #4a332814;border-radius:7px;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;min-height:72px;padding:10px 11px;transition:background .14s,transform .14s;display:grid;position:relative}.thread-list>button:hover{background:#dfe4d98c}.thread-list>button.active{background:var(--sage-pale)}.thread-list>button.homeowners:before{content:"";background:var(--gold);border-radius:4px;width:3px;height:38px;position:absolute;top:17px;left:5px}.chat-avatar{color:#4a33287a;background:linear-gradient(145deg,#f2eadb,#ded8cb);border:1px solid #4a33282e;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid;overflow:hidden}.chat-avatar.group{color:var(--ivory);background:var(--green-700);border-color:#26382f2e}.chat-avatar svg{width:19px}.chat-avatar.has-image{background:var(--paper-deep)}.chat-avatar img{object-fit:cover;width:100%;height:100%}.thread-copy{flex-direction:column;gap:5px;min-width:0;display:flex}.thread-copy b{min-width:0;color:var(--brown);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:5px;font-size:.875rem;display:flex;overflow:hidden}.thread-copy b svg{width:11px;color:var(--gold)}.thread-copy small{color:#4a33288f;text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;overflow:hidden}.thread-copy small.draft{color:#a25342}.thread-tail{flex-direction:column;justify-content:space-between;align-items:flex-end;height:44px;display:flex}.thread-tail time{color:#4a33286b;font-size:.5625rem}.thread-tail i{color:#fff;background:#a25342;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 5px;font-size:.5625rem;font-style:normal;display:grid}.conversation-list>footer{color:#4a33287a;border-top:1px solid var(--line);justify-content:space-between;align-items:center;height:45px;padding:0 18px;font-size:.625rem;display:flex}.chat-workspace{background:linear-gradient(#fbf7edc7,#f2ede2eb),radial-gradient(circle at 20% 20%,#aebaa74d,#0000 35%);flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;position:relative;overflow:hidden}.chat-thread-header{z-index:6;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fbf7edeb;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;height:76px;padding:0 22px;display:grid;position:relative}.chat-thread-header>div:first-of-type{min-width:0}.chat-thread-header h2{color:var(--brown);text-overflow:ellipsis;white-space:nowrap;margin:0 0 4px;font-family:Noto Serif SC,serif;font-size:1.125rem;font-weight:600;overflow:hidden}.chat-thread-header small{color:#4a332885;text-overflow:ellipsis;white-space:nowrap;font-size:.625rem;display:block;overflow:hidden}.thread-header-actions{gap:4px;display:flex}.thread-header-actions button,.mobile-chat-back{width:36px;height:36px;color:var(--brown-soft);border-radius:50%;place-items:center;display:grid}.thread-header-actions button:hover{background:var(--sage-pale)}.thread-header-actions svg,.mobile-chat-back svg{width:17px}.mobile-chat-back{display:none}.thread-menu{z-index:20;border:1px solid var(--line);background:var(--paper);flex-direction:column;width:250px;padding:7px;display:flex;position:absolute;top:62px;right:18px;box-shadow:0 18px 44px #2d28202e}.thread-menu button{min-height:39px;color:var(--brown-soft);text-align:left;align-items:center;gap:9px;padding:0 10px;display:flex}.thread-menu button:hover{color:var(--green-900);background:var(--sage-pale)}.thread-menu button svg{width:15px}.thread-menu .mobile-menu-only{display:none}.thread-menu span{color:#4a332880;border-top:1px solid var(--line);padding:9px 10px;font-size:.625rem;line-height:1.6}.message-scroll{scroll-behavior:smooth;flex:1;min-height:0;padding:30px clamp(22px,5vw,68px) 38px;overflow-y:auto}.unread-jump-pill{z-index:8;min-height:34px;color:var(--green-700);cursor:pointer;font:inherit;white-space:nowrap;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffdf7f5;border:1px solid #49625233;border-radius:999px;align-items:center;gap:6px;padding:6px 13px 6px 10px;font-size:.6875rem;animation:.18s ease-out both unread-pill-enter;display:inline-flex;position:absolute;top:90px;right:18px;box-shadow:0 8px 24px #2d282029}.unread-jump-pill:hover{color:var(--green-900);background:#fffdf7;border-color:#49625259;transform:translateY(-1px)}.unread-jump-pill svg{width:15px;height:15px}@keyframes unread-pill-enter{0%{opacity:0;transform:translateY(-5px)}}.group-welcome,.chat-empty-workspace{text-align:center;flex-direction:column;align-items:center;display:flex}.group-welcome{width:min(470px,90%);color:var(--brown-soft);border-block:1px solid var(--line);margin:16px auto 35px;padding:23px}.group-welcome b{color:var(--brown);margin:11px 0 0;font-family:Noto Serif SC,serif}.message-row{align-items:flex-start;gap:9px;width:100%;margin:0 0 19px;animation:.18s ease-out both message-enter;display:flex;position:relative}@keyframes message-enter{0%{opacity:0;transform:translateY(6px)}}.message-row.mine{justify-content:flex-end}.message-row.selected{background:#a9854717}.message-row.menu-open{z-index:40}.message-select-hit{z-index:2;color:#fff;border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:50%;place-items:center;width:20px;height:20px;padding:0;display:grid;position:absolute;top:50%;left:-25px;transform:translateY(-50%)}.message-row.selected .message-select-hit{background:var(--gold)}.message-select-hit svg{width:11px}.message-stack{flex-direction:column;align-items:flex-start;min-width:0;max-width:min(68%,660px);display:flex;position:relative}.mine .message-stack{align-items:flex-end}.message-sender{color:#4a332880;margin:0 0 4px 8px;font-size:.625rem}.message-bubble{overflow-wrap:anywhere;word-break:break-word;color:#342d27;background:#fffdf7;border:1px solid #4a33281f;border-radius:4px 14px 14px;min-width:48px;max-width:100%;padding:10px 13px;position:relative;box-shadow:0 4px 14px #32281e0e}.mine .message-bubble{color:#203129;background:#dfe8d9;border-color:#49625226;border-radius:14px 4px 14px 14px}.message-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:.875rem;line-height:1.65}.message-bubble.editing{width:min(440px,62vw);padding:9px}.message-inline-edit{flex-direction:column;gap:8px;width:100%;display:flex}.message-inline-edit textarea{resize:vertical;width:100%;min-height:88px;color:var(--ink);font:inherit;background:#fffdf7c7;border:1px solid #49625242;border-radius:8px;padding:9px 10px;line-height:1.6}.message-inline-edit textarea:focus{border-color:var(--gold);outline:2px solid #a9854747}.message-inline-edit>div{justify-content:flex-end;gap:7px;display:flex}.message-inline-edit button{min-height:31px;color:var(--brown-soft);cursor:pointer;background:#fffdf7ad;border:1px solid #4a332829;border-radius:7px;padding:5px 11px;font-size:.625rem}.message-inline-edit button[type=submit]{color:var(--ivory);border-color:var(--green-700);background:var(--green-700)}.message-inline-edit button:disabled{opacity:.45;cursor:not-allowed}.message-bubble blockquote{color:#4a332891;border-left:2px solid var(--gold);background:#a9854714;flex-direction:column;width:100%;min-width:0;max-width:340px;margin:0 0 8px;padding:5px 8px;font-size:.625rem;display:flex;overflow:hidden}.message-bubble blockquote b{color:var(--brown)}.message-bubble blockquote span{overflow-wrap:anywhere;word-break:break-all;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-width:0;display:-webkit-box;overflow:hidden}.message-bubble img{object-fit:contain;border-radius:5px;max-width:min(360px,46vw);max-height:430px;display:block}.message-bubble .sticker-image{border-radius:0;width:124px;max-width:26vw}.message-bubble.type-image{box-shadow:none;background:0 0;padding:4px}.message-bubble.type-sticker{min-width:0;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;overflow:visible}.message-bubble.type-voice{min-width:188px;padding:9px 10px 8px}.voice-message{grid-template-columns:minmax(0,auto) max-content;align-items:center;gap:2px 10px;display:grid}.voice-play-bar{width:min(var(--voice-width), 100%);min-width:132px;min-height:44px;color:var(--green-900);cursor:pointer;background:#4f65561a;border:0;border-radius:9px;grid-template-columns:22px minmax(48px,1fr) max-content;align-items:center;gap:8px;padding:0 9px;display:grid}.mine .voice-play-bar{background:#4f655621}.voice-play-bar:disabled{opacity:.48;cursor:wait}.voice-play-bar svg{width:19px}.voice-play-bar.playing svg{animation:.9s ease-in-out infinite alternate voice-pulse}@keyframes voice-pulse{to{opacity:.7;transform:scale(1.13)}}.voice-wave{align-items:center;gap:3px;height:22px;display:flex}.voice-wave i{opacity:.42;background:currentColor;border-radius:2px;width:2px;height:7px}.voice-wave i:nth-child(2){height:15px}.voice-wave i:nth-child(3){height:20px}.voice-wave i:nth-child(4){height:11px}.playing .voice-wave i{animation:.7s ease-in-out infinite alternate voice-wave}.playing .voice-wave i:nth-child(2){animation-delay:.12s}.playing .voice-wave i:nth-child(3){animation-delay:.24s}.playing .voice-wave i:nth-child(4){animation-delay:.36s}@keyframes voice-wave{to{opacity:.85;height:5px}}.voice-play-bar b{font-variant-numeric:tabular-nums;font-size:.6875rem}.voice-transcript-toggle{min-width:64px;min-height:42px;color:var(--green-700);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0 7px;font-size:.625rem;text-decoration:underline}.message-bubble .voice-transcript{color:var(--brown-soft);border-top:1px dashed #4a332833;grid-column:1/-1;margin-top:6px;padding:9px 10px 2px;font-size:.75rem;line-height:1.65}.message-row:has(.chat-weibo-share-card) .message-stack{max-width:min(82%,570px)}.message-bubble.type-weibo_share{width:min(430px,62vw);color:var(--ink);background:#fffdf8;border-radius:13px;padding:0;overflow:hidden}.mine .message-bubble.type-weibo_share{background:#fffdf8}.chat-weibo-share-card{width:100%}.chat-weibo-note{color:#2c3d34;background:#dfe8d9b3;border-bottom:1px solid #4a33281a;padding:12px 14px;font-size:.8125rem!important;line-height:1.65!important}.chat-weibo-share-card>section{padding:13px 14px 11px}.chat-weibo-share-card>section>header{align-items:center;gap:9px;display:flex}.chat-weibo-mark{width:31px;height:31px;color:var(--ivory);background:var(--green-700);border-radius:50%;flex:none;place-items:center;display:grid}.chat-weibo-mark svg{width:15px}.chat-weibo-share-card>section>header>div{flex-direction:column;min-width:0;display:flex}.chat-weibo-share-card>section>header b{color:var(--brown);font-size:.75rem}.chat-weibo-share-card>section>header small{color:#4a332875;margin-top:2px;font-size:.5625rem}.message-bubble .chat-weibo-content{margin-top:10px;font-size:.75rem;line-height:1.7}.chat-weibo-chain{color:var(--brown-soft);background:#efe5cf59;border-left:2px solid #a985476b;margin-top:9px;padding:8px 9px}.message-bubble .chat-weibo-chain p{margin-bottom:4px;font-size:.625rem;line-height:1.55}.message-bubble .chat-weibo-chain p:last-child{margin-bottom:0}.chat-weibo-chain b{color:var(--green-700)}.message-bubble .chat-weibo-share-card img{background:var(--sage-pale);border:1px solid #4a33281a;border-radius:7px;width:100%;max-width:100%;max-height:330px;margin-top:10px}.chat-weibo-share-card>section>footer{border-top:1px solid #4a332817;justify-content:space-between;align-items:center;gap:10px;min-height:30px;margin-top:10px;padding-top:8px;display:flex}.chat-weibo-share-card>section>footer button{color:var(--green-700);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:3px 0;font-size:.625rem;display:inline-flex}.chat-weibo-share-card>section>footer button svg{width:12px}.chat-weibo-share-card>section>footer small{color:#4a332873;font-size:.5625rem}.chat-weibo-share-card.unavailable{padding:12px 14px}.chat-weibo-share-card.unavailable .chat-weibo-note{margin:-12px -14px 12px}.chat-weibo-missing{min-height:62px;color:var(--brown-soft);align-items:center;gap:9px;font-size:.6875rem;display:flex}.chat-weibo-missing svg{width:18px}.asset-loading{min-width:120px;min-height:70px;color:var(--brown-soft);justify-content:center;align-items:center;gap:7px;font-size:.625rem;display:inline-flex}.forward-mark{color:var(--gold);margin-bottom:5px;font-size:.5625rem;display:block}.forward-bundle{width:min(460px,58vw)}.forward-bundle>button{color:var(--green-700);cursor:pointer;background:0 0;border:0;border-top:1px solid #49625226;margin-top:8px;padding:4px 0 0;font-size:.625rem}.message-meta{color:#4a33286b;align-items:center;gap:6px;min-height:20px;padding:4px 4px 0;font-size:.5625rem;display:flex}.message-meta svg{width:10px}.message-meta button{color:#a25342;cursor:pointer;background:0 0;border:0;padding:0;font-size:.5625rem;text-decoration:underline}.message-menu-trigger{color:#4a33286b;opacity:0;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:26px;height:26px;padding:0;transition:opacity .12s,background .12s;display:grid;position:absolute;top:1px;left:calc(100% + 4px)}.mine .message-menu-trigger{left:auto;right:calc(100% + 4px)}.message-row:hover .message-menu-trigger,.message-menu-trigger[aria-expanded=true]{opacity:1}.message-menu-trigger:hover{color:var(--brown);background:#4a332812}.message-menu-trigger svg{width:15px}.message-context-menu{z-index:35;border:1px solid var(--line);background:var(--paper);border-radius:8px;flex-direction:column;width:132px;padding:5px;display:flex;position:absolute;top:calc(100% + 3px);left:0;box-shadow:0 14px 34px #2d282033}.mine .message-context-menu{left:auto;right:0}.message-context-menu button{min-height:35px;color:var(--brown-soft);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;padding:6px 9px;font-size:.6875rem;display:flex}.message-context-menu button:hover{color:var(--green-900);background:var(--sage-pale)}.message-context-menu button.danger{color:#9a4639}.message-context-menu svg{width:14px}.player-chat-avatar{width:44px;height:44px;color:var(--ivory);background:var(--brown-soft);border:1px solid #4a33282e;border-radius:50%;flex:none;place-items:center;font-size:.6875rem;display:grid;overflow:hidden}.player-chat-avatar.has-image{background:var(--sage-pale);border:1px solid #4962522e}.player-chat-avatar img{object-fit:cover;width:100%;height:100%}.red-packet-card{color:#fff8e9;cursor:pointer;min-width:230px;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:13px;padding:0;display:flex}.red-packet-card:disabled{cursor:default;opacity:1}.message-bubble.type-red_packet{background:linear-gradient(135deg,#b9553d,#943c31);border-color:#772f2040;padding:14px}.red-packet-card>svg{width:30px}.red-packet-card>div{flex-direction:column;display:flex}.red-packet-card b{font-size:1.125rem}.red-packet-card span{margin-top:3px;font-size:.6875rem}.red-packet-card small{opacity:.65;margin-top:5px;font-size:.5625rem}.message-row:has(.payment-chat-card) .message-stack{max-width:min(82%,560px)}.message-bubble.type-payment_request,.message-bubble.type-payment_result{color:#342d27;background:0 0;border:0;padding:0;overflow:hidden;box-shadow:0 10px 28px #32281e1f}.message-bubble.type-group_invite{background:0 0;border:0;width:min(330px,58vw);padding:0;overflow:hidden;box-shadow:0 12px 30px #313d3224}.group-invite-card{background:linear-gradient(150deg,#fffdf7 0%,#edf1e8 100%);border:1px solid #49625233;border-radius:14px;overflow:hidden}.group-invite-card>header{border-bottom:1px solid #4962521f;align-items:center;gap:12px;padding:17px 18px 13px;display:flex}.group-invite-card .chat-avatar{width:42px;height:42px;color:var(--ivory);background:var(--green-700)}.group-invite-card header div{flex-direction:column;min-width:0;display:flex}.group-invite-card header small{color:var(--green-700);letter-spacing:.12em;font-size:.5625rem}.group-invite-card header b{color:var(--brown);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-family:Noto Serif SC,serif;font-size:.9375rem;overflow:hidden}.group-invite-card>p{color:var(--brown-soft);padding:14px 18px 5px;font-size:.6875rem;line-height:1.65}.group-invite-card>button{width:calc(100% - 36px);min-height:39px;color:var(--ivory);background:var(--green-700);cursor:pointer;border:0;border-radius:8px;justify-content:center;align-items:center;gap:7px;margin:10px 18px 17px;font-weight:700;display:flex}.group-invite-card>button svg{width:16px}.group-invite-card.accepted{background:linear-gradient(150deg,#f8f5ed,#e7ece4)}.group-invite-card.accepted>button{color:var(--green-700);cursor:default;background:#4962521f}.chat-system-message{justify-content:center;margin:10px auto 16px;display:flex}.chat-system-message span{color:#4a332894;background:#4a332812;border-radius:999px;padding:5px 11px;font-size:.5625rem}.payment-chat-card{background:#fffdf9;border:1px solid #e15c2a38;border-radius:14px;width:min(390px,62vw);overflow:hidden}.payment-chat-card>header{color:#fff8ef;background:linear-gradient(135deg,#ee5a2a,#db3e20);align-items:center;gap:10px;min-height:58px;padding:11px 13px;display:flex}.payment-chat-card>header>span{background:#ffffff29;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.payment-chat-card>header svg{width:19px}.payment-chat-card>header div{flex-direction:column;display:flex}.payment-chat-card>header small{opacity:.75;letter-spacing:.12em;font-size:.5rem}.payment-chat-card>header b{margin-top:3px;font-size:.75rem}.payment-chat-items{padding:10px 13px 5px}.payment-chat-items p{color:#6f6259;justify-content:space-between;gap:10px;margin:0 0 5px;font-size:.6rem;line-height:1.45;display:flex}.payment-chat-items p span{overflow-wrap:anywhere}.payment-chat-items p b{color:#433831}.payment-chat-card dl{margin:0;padding:4px 13px 10px}.payment-chat-card dl>div{border-top:1px dashed #4a33281a;justify-content:space-between;gap:10px;padding:5px 0;font-size:.58rem;display:flex}.payment-chat-card dt{color:#97887e}.payment-chat-card dd{color:#3f342e;text-align:right;margin:0;font-weight:700}.payment-chat-card>footer{background:#f8f3ec;border-top:1px solid #4a332817;justify-content:space-between;align-items:center;gap:8px;min-height:42px;padding:7px 11px;display:flex}.payment-card-state{color:#9b542f;align-items:center;gap:5px;font-size:.56rem;font-weight:700;display:inline-flex}.payment-card-state svg{width:13px}.payment-chat-card>footer button{color:#a84223;cursor:pointer;background:#fff;border:1px solid #e250233d;border-radius:999px;align-items:center;gap:5px;min-height:29px;padding:4px 9px;font-size:.54rem;display:inline-flex}.payment-chat-card>footer button svg{width:12px}.payment-chat-card.status-paid{border-color:#30775040}.payment-chat-card.status-paid>header{background:linear-gradient(135deg,#3e8661,#296449)}.payment-chat-card.status-paid .payment-card-state{color:#2d7652}.payment-chat-card.status-declined>header,.payment-chat-card.status-failed>header,.payment-chat-card.status-superseded>header{background:linear-gradient(135deg,#776c65,#514943)}.packet-actions{gap:6px;padding-top:5px;display:flex}.packet-actions button{color:var(--brown);border:1px solid var(--line);background:var(--paper);cursor:pointer;padding:4px 10px;font-size:.625rem}.typing-indicator{align-items:center;gap:4px;width:fit-content;display:flex}.typing-indicator .chat-avatar{margin-right:6px}.typing-indicator>span:not(.chat-avatar){background:var(--green-500);border-radius:50%;width:6px;height:6px;animation:1s infinite alternate typing}.typing-indicator>span:nth-last-child(2){animation-delay:.18s}.typing-indicator>span:last-child{animation-delay:.36s}@keyframes typing{to{opacity:.25;transform:translateY(-3px)}}.streaming-chat-reply{pointer-events:none}.streaming-chat-reply .message-stack{gap:7px}.streaming-chat-reply .message-bubble{width:fit-content;max-width:min(720px,74vw)}.streaming-chat-caret{vertical-align:-.12em;background:var(--green-500);width:2px;height:1em;margin-left:3px;animation:.72s step-end infinite streaming-chat-caret;display:inline-block}@keyframes streaming-chat-caret{50%{opacity:0}}.selection-toolbar{min-height:52px;color:var(--ivory);background:var(--green-700);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;padding:7px 18px;display:flex}.selection-toolbar b{margin-right:15px;font-size:.75rem}.selection-toolbar button{color:inherit;cursor:pointer;background:0 0;border:1px solid #fff3;align-items:center;gap:5px;padding:7px 10px;font-size:.6875rem;display:inline-flex}.selection-toolbar .selection-delete{color:#ffe7dd;border-color:#ffd6ca59}.selection-toolbar svg{width:14px}.chat-composer{z-index:5;border-top:1px solid var(--line);background:#fbf7edf2;padding:9px 18px 13px;position:relative}.composer-tools{align-items:center;gap:4px;height:32px;display:flex}.composer-tools button{width:30px;height:30px;color:var(--brown-soft);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.composer-tools button:hover{color:var(--green-900);background:var(--sage-pale)}.composer-tools svg{width:17px}.composer-input{grid-template-columns:minmax(0,1fr) 42px;gap:8px;display:grid}.composer-input textarea{resize:none;border:1px solid var(--line);background:#ffffff8c;border-radius:8px;outline:0;width:100%;min-height:54px;max-height:130px;padding:10px 12px;line-height:1.55}.composer-input textarea:focus{border-color:var(--green-500);background:#fff}.composer-input>button{height:42px;color:var(--ivory);background:var(--green-700);cursor:pointer;border:0;border-radius:50%;place-items:center;margin-top:auto;padding:0;display:grid}.composer-input>button svg{width:17px}.quote-preview{min-height:36px;color:var(--brown-soft);border-left:2px solid var(--gold);background:#a9854714;grid-template-columns:16px minmax(0,1fr) 24px;align-items:center;gap:7px;padding:5px 8px;font-size:.625rem;display:grid}.quote-preview span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.quote-preview button{cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.quote-preview svg{width:13px}.chat-mention-suggestions{z-index:32;background:var(--paper);border:1px solid #a9854759;border-radius:10px;max-width:430px;max-height:min(286px,42vh);padding:6px;position:absolute;bottom:calc(100% - 3px);left:18px;right:18px;overflow-y:auto;box-shadow:0 18px 44px #2d282033}.chat-mention-suggestions>button{width:100%;min-height:52px;color:var(--brown);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:6px 8px;display:flex}.chat-mention-suggestions>button:hover,.chat-mention-suggestions>button.active{background:var(--sage-pale)}.chat-mention-suggestions .chat-avatar{flex:none;width:36px;height:36px}.chat-mention-suggestions>button>span:last-child{flex-direction:column;min-width:0;display:flex}.chat-mention-suggestions b{font-size:.75rem}.chat-mention-suggestions small{color:#4a332880;text-overflow:ellipsis;white-space:nowrap;font-size:.625rem;overflow:hidden}.mention-row,.quick-mention-row,.chat-quick-mentions,[data-testid=chat-quick-mentions]{display:none!important}.chat-mention-empty{color:var(--brown-soft);text-align:center;margin:0;padding:14px 10px;font-size:.6875rem}.sticker-tray{border:1px solid var(--line);background:var(--paper);grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;width:min(410px,100vw - 40px);max-height:290px;padding:10px;display:grid;position:absolute;bottom:calc(100% - 3px);right:16px;overflow-y:auto;box-shadow:0 18px 45px #2c231c33}.sticker-import,.sticker-option>button:first-child{border:1px dashed var(--line);cursor:pointer;background:0 0;flex-direction:column;justify-content:center;align-items:center;min-height:64px;display:flex}.sticker-import span{margin-top:3px;font-size:.5625rem}.sticker-option{position:relative}.sticker-option>button:first-child{border-style:solid;width:100%}.sticker-option img{object-fit:contain;width:54px;height:54px}.sticker-delete{color:#fff;cursor:pointer;background:#8f4438;border:0;border-radius:50%;place-items:center;width:18px;height:18px;padding:0;display:grid;position:absolute;top:-3px;right:-3px}.sticker-delete svg{width:10px}.chat-empty-workspace{color:var(--brown-soft);margin:auto}.chat-empty-workspace .chat-avatar{width:64px;height:64px}.chat-empty-workspace h2{color:var(--brown);margin:17px 0 7px;font-size:1.75rem;font-weight:500}.chat-empty-workspace p{font-size:.75rem}.chat-empty-workspace button{color:var(--green-700);border:1px solid var(--green-500);cursor:pointer;background:0 0;padding:9px 16px}.chat-global-error{z-index:40;color:#783a30;background:#fff2e9;border:1px solid #923e3138;align-items:center;gap:12px;max-width:480px;padding:12px 14px;font-size:.75rem;display:flex;position:absolute;bottom:18px;right:18px;box-shadow:0 12px 32px #461e1426}.chat-global-error button{cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.chat-global-error svg{width:15px}.chat-image-retry{z-index:39;color:#684431;background:#fffaf0;border:1px solid #7c5b3b33;align-items:center;gap:10px;max-width:520px;padding:10px 12px;font-size:.75rem;display:flex;position:absolute;bottom:18px;right:18px;box-shadow:0 12px 32px #46301924}.chat-image-retry>span{flex:1}.chat-image-retry button{color:#345b48;cursor:pointer;white-space:nowrap;background:#edf3e9;border:1px solid #58705b3d;align-items:center;gap:5px;padding:6px 9px;display:inline-flex}.chat-image-retry button:disabled{opacity:.55;cursor:wait}.chat-image-retry button svg{width:14px;height:14px}.chat-image-retry .icon-button{color:currentColor;background:0 0;border:0;padding:4px}.chat-modal-backdrop,.diary-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#191f1b8c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.chat-confirm-backdrop{z-index:110;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#161f1a85;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.chat-confirm-dialog{background:var(--paper);border:1px solid #a9854759;width:min(430px,100%);padding:30px 32px 25px;box-shadow:0 24px 70px #1e1e1840}.chat-confirm-dialog h2{color:var(--brown);margin:0 0 10px;font-size:1.55rem;font-weight:600}.chat-confirm-dialog p{color:var(--brown-soft);margin:0;line-height:1.7}.chat-confirm-dialog footer{justify-content:flex-end;gap:9px;margin-top:24px;display:flex}.chat-confirm-dialog .quiet-button,.chat-confirm-dialog .danger-button{min-height:40px;padding:0 17px}.chat-remark-dialog input{border:1px solid var(--line);width:100%;min-height:44px;color:var(--ink);background:#ffffff85;border-radius:8px;outline:none;margin-top:18px;padding:0 12px}.chat-remark-dialog input:focus{border-color:var(--gold);box-shadow:0 0 0 3px #a985471f}.chat-remark-dialog>small{color:#4a332880;margin-top:7px;font-size:.625rem;display:block}.chat-modal{background:var(--paper);border:1px solid #a9854759;width:min(600px,100%);max-height:min(820px,100vh - 48px);padding:24px;overflow-y:auto;box-shadow:0 30px 80px #14181447}.chat-modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:22px;padding-bottom:15px;display:flex}.chat-modal header small,.diary-drawer header small,.monthly-summary header small,.anchor-ledger header small{color:var(--gold);letter-spacing:.18em;font-size:.5625rem;font-weight:700}.chat-modal h2{color:var(--brown);margin:3px 0 0;font-size:1.6rem;font-weight:500}.chat-modal header>button{place-items:center;width:34px;height:34px;padding:0;display:grid}.chat-modal header svg{width:17px}.chat-modal label{flex-direction:column;gap:7px;margin-bottom:16px;display:flex}.chat-modal label>span,.member-picker-heading{color:var(--brown-soft);font-size:.6875rem;font-weight:600}.chat-modal input,.chat-modal select{border:1px solid var(--line);background:#ffffff7a;width:100%;height:43px;padding:0 12px}.group-mode{position:relative}.group-mode>svg{pointer-events:none;width:15px;position:absolute;bottom:12px;right:12px}.group-mode select{appearance:none}.chat-modal .group-proactive-toggle{border:1px solid var(--line);cursor:pointer;background:#ffffff57;grid-template-columns:1fr;justify-content:center;min-height:58px;padding:10px 58px 10px 12px;display:grid;position:relative}.chat-modal .group-proactive-toggle>span{flex-direction:column;gap:4px;display:flex}.chat-modal .group-proactive-toggle b{color:var(--brown);font-size:.75rem}.chat-modal .group-proactive-toggle small{color:#4a33288c;font-size:.625rem;font-weight:400}.chat-modal .group-proactive-toggle input{opacity:0;width:1px;height:1px;position:absolute}.chat-modal .group-proactive-toggle i{background:#4a332833;border-radius:999px;width:34px;height:19px;transition:background .18s;position:absolute;top:50%;right:13px;transform:translateY(-50%)}.chat-modal .group-proactive-toggle i:after{background:var(--paper);content:"";border-radius:50%;width:13px;height:13px;transition:transform .18s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #1919143d}.chat-modal .group-proactive-toggle input:checked+i{background:var(--green-700)}.chat-modal .group-proactive-toggle input:checked+i:after{transform:translate(15px)}.chat-modal .group-proactive-toggle:focus-within{outline-offset:2px;outline:2px solid #a9854759}.member-picker-heading{justify-content:space-between;margin:22px 0 8px;display:flex}.member-picker{scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:#4f655694 #4a332812;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:360px;display:grid;overflow-y:scroll}.member-picker::-webkit-scrollbar{width:11px}.member-picker::-webkit-scrollbar-track{background:#4a33280f}.member-picker::-webkit-scrollbar-thumb{border:3px solid var(--paper);background:#4f6556b3;border-radius:999px;min-height:48px}.member-picker>button{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:38px minmax(0,1fr) 20px;align-items:center;gap:8px;min-width:0;min-height:58px;padding:7px;display:grid}.member-picker>button:hover,.member-picker>button.selected{border-color:var(--line);background:var(--sage-pale)}.member-picker>button.locked{cursor:default;opacity:.84}.member-picker>button.locked,.member-picker>button.locked:hover{background:0 0;border-color:#0000}.member-picker .chat-avatar{width:36px;height:36px}.member-picker span{flex-direction:column;min-width:0;display:flex}.member-picker b,.member-picker small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member-picker b{color:var(--brown);font-size:.75rem}.member-picker .member-owner-mark{color:var(--green-700);vertical-align:1px;background:#4962521f;border-radius:999px;margin-left:6px;padding:1px 5px;font-size:.5rem;font-style:normal;display:inline-block}.member-picker small{color:#4a332880;margin-top:3px;font-size:.5625rem}.member-picker>button>svg{width:14px;color:var(--green-700)}.chat-form-error{color:#934334;font-size:.6875rem}.group-editor>footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:22px;padding-top:15px;display:flex}.fixed-group-note{color:#4a33288c;font-size:.625rem}.danger-text{color:#934334;cursor:pointer;background:0 0;border:0;align-items:center;gap:5px;font-size:.6875rem;display:inline-flex}.danger-text svg{width:14px}.packet-amount{height:86px;color:var(--brown);border-bottom:1px solid var(--line);grid-template-columns:42px 1fr;align-items:center;margin:8px 0 20px;display:grid}.packet-amount span{font-size:1.5rem}.packet-amount input{text-align:right;background:0 0;border:0;outline:0;height:70px;padding:0;font-size:2.75rem}.packet-kind-tabs{border:1px solid var(--line);background:#4a33280a;border-radius:9px;grid-template-columns:1fr 1fr;gap:3px;margin:-2px 0 12px;padding:3px;display:grid}.packet-kind-tabs button{min-height:38px;color:var(--brown-soft);cursor:pointer;background:0 0;border:0;border-radius:6px;font-size:.75rem}.packet-kind-tabs button.active{color:var(--green-700);background:var(--paper);font-weight:600;box-shadow:0 2px 8px #232b2317}.exclusive-recipient-picker{margin-bottom:16px}.exclusive-recipient-picker>label{margin-bottom:7px}.exclusive-recipient-options{border:1px solid var(--line);scrollbar-width:thin;background:#ffffff40;gap:3px;max-height:230px;padding:3px;display:grid;overflow-y:auto}.exclusive-recipient-options>button{min-width:0;min-height:54px;color:var(--brown);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:36px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:6px 8px;display:grid}.exclusive-recipient-options>button:hover,.exclusive-recipient-options>button.focused{background:#d8e1d380}.exclusive-recipient-options>button.selected{background:var(--sage-pale);border-color:#4f655659}.exclusive-recipient-options .chat-avatar{width:34px;height:34px}.exclusive-recipient-options>button>span{flex-direction:column;gap:3px;min-width:0;display:flex}.exclusive-recipient-options b,.exclusive-recipient-options small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.exclusive-recipient-options b{font-size:.75rem}.exclusive-recipient-options small{color:#4a33288c;font-size:.5625rem}.exclusive-recipient-options svg{width:14px;color:var(--green-700)}.exclusive-recipient-options>p{color:#4a332880;text-align:center;margin:15px;font-size:.6875rem}.red-packet-dialog>p{color:var(--brown-soft);font-size:.6875rem;line-height:1.6}.red-packet-dialog label small{color:#4a332880;font-size:.5625rem;line-height:1.5}.packet-send{color:#fff7e8;cursor:pointer;background:#a94b39;border:0;width:100%;min-height:46px}.group-packet-dialog{width:min(470px,100%)}.group-packet-summary{color:var(--brown);border-bottom:1px solid var(--line);flex-direction:column;align-items:center;padding:5px 0 22px;display:flex}.group-packet-summary>svg{color:#fff7e8;background:#ad4c39;border-radius:50%;width:44px;height:44px;padding:9px}.group-packet-summary p{margin:12px 0 6px;font-size:.875rem}.group-packet-summary b{font-size:2rem;font-weight:500}.group-packet-summary small{color:#4a332880;margin-top:5px;font-size:.625rem}.group-packet-claim{border-bottom:1px solid var(--line);flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:62px;padding:12px 0;display:flex}.group-packet-claim strong,.group-packet-claim span{color:var(--brown);font-size:.75rem}.group-packet-claim button{color:#fff7e8;cursor:pointer;background:#ad4c39;border:0;border-radius:999px;min-width:112px;min-height:38px}.group-packet-claims{padding-top:18px}.group-packet-claims h3{color:var(--brown-soft);margin:0 0 9px;font-size:.6875rem;font-weight:600}.group-packet-claims>div{border-bottom:1px solid #4a332814;justify-content:space-between;align-items:center;min-height:39px;padding:8px 2px;display:flex}.group-packet-claims>div span{color:var(--brown);font-size:.75rem}.group-packet-claims>div b{color:var(--brown);font-size:.75rem;font-weight:500}.group-packet-claims>p,.virtual-packet-note{color:#4a332880;font-size:.625rem}.virtual-packet-note{text-align:center;margin:20px 0 0}.forward-targets{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;max-height:390px;margin-bottom:18px;display:grid;overflow-y:auto}.forward-targets>button{cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;grid-template-columns:38px minmax(0,1fr) 18px;align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.forward-targets>button.selected{border-color:var(--line);background:var(--sage-pale)}.forward-targets .chat-avatar{width:36px;height:36px}.forward-targets span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.forward-targets svg{width:14px}.diary-backdrop{place-items:stretch end;padding:0}.diary-drawer{background:#f7f0e1;width:min(680px,100%);height:100%;padding:0 34px 70px;animation:.22s ease-out both drawer-in;overflow-y:auto;box-shadow:-24px 0 70px #14181447}@keyframes drawer-in{0%{opacity:0;transform:translate(40px)}}.diary-drawer>header{z-index:4;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7f0e1f2;grid-template-columns:36px 44px 1fr;align-items:center;gap:12px;min-height:82px;margin:0 -34px 25px;padding:0 34px;display:grid;position:sticky;top:0}.diary-drawer>header h2{color:var(--brown);margin:4px 0 0;font-size:1.3rem;font-weight:500}.diary-close{place-items:center;width:34px;height:34px;padding:0;display:grid}.diary-close svg{width:17px}.diary-date-strip{grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:12px;display:grid}.diary-date-strip input{height:42px;color:var(--brown);border:1px solid var(--line);background:#fff6;padding:0 12px}.diary-date-strip button,.monthly-summary button{color:var(--green-700);border:1px solid var(--line);background:0 0;align-items:center;gap:6px;padding:0 12px;display:inline-flex}.diary-date-strip svg,.monthly-summary button svg{width:14px}.diary-days{scrollbar-width:none;gap:5px;margin-bottom:16px;display:flex;overflow-x:auto}.diary-days button{border:1px solid var(--line);background:0 0;flex-direction:column;align-items:center;min-width:67px;padding:7px 9px;display:flex}.diary-days button.active{color:var(--ivory);border-color:var(--green-700);background:var(--green-700)}.diary-days span{font-size:.6875rem}.diary-days small{opacity:.65;margin-top:3px;font-size:.5rem}.diary-paper{background:repeating-linear-gradient(#fffaf0 0 31px,#63786924 32px);border:1px solid #77573c33;min-height:300px;padding:46px 46px 34px;position:relative;box-shadow:0 15px 34px #41332617}.diary-paper:before{content:"";background:#a95b4a33;width:1px;position:absolute;top:0;bottom:0;left:27px}.diary-paper>p{color:#4a392f;white-space:pre-wrap;margin:0;font-family:Noto Serif SC,STSong,serif;line-height:2}.diary-paper.needs-review{border-color:#a466377a}.diary-review-note{background:#fff0d7;padding:7px 10px;font-size:.6875rem;color:#8a4e2f!important;margin:-20px 0 24px!important;font-family:inherit!important;line-height:1.5!important}.diary-paper textarea{resize:vertical;background:0 0;border:0;outline:0;width:100%;min-height:250px;font-family:Noto Serif SC,serif;line-height:2}.diary-paper>footer,.diary-edit-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;margin-top:22px;padding-top:12px;display:flex}.diary-paper>footer button,.diary-edit-actions button{color:var(--brown-soft);align-items:center;gap:5px;padding:6px 9px;display:inline-flex}.diary-paper>footer svg{width:13px}.diary-empty{min-height:210px;color:var(--brown-soft);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.diary-empty svg{width:28px;color:var(--gold)}.diary-empty b{color:var(--brown);margin:12px 0 7px;font-family:Noto Serif SC,serif}.diary-empty span{font-size:.6875rem;line-height:1.6}.monthly-summary,.anchor-ledger{border-top:1px solid var(--line);margin-top:28px;padding-top:23px}.monthly-summary>header,.anchor-ledger>header{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.monthly-summary h3,.anchor-ledger h3{color:var(--brown);margin:4px 0 0;font-family:Noto Serif SC,serif;font-size:1.15rem}.monthly-summary>p{color:var(--brown-soft);white-space:pre-wrap;font-family:Noto Serif SC,serif;font-size:.8125rem;line-height:1.9}.monthly-summary>span{color:#4a332880;font-size:.6875rem}.anchor-ledger article{border-left:2px solid var(--green-500);background:#ffffff59;margin-bottom:7px;padding:13px 14px}.anchor-ledger article.review{background:#fff0dc;border-left-color:#b16a3f}.anchor-ledger article>div{color:var(--gold);text-transform:uppercase;justify-content:space-between;font-size:.5625rem;display:flex}.anchor-ledger article em{color:#4a332873;font-style:normal}.anchor-ledger article p{color:var(--brown-soft);margin:7px 0;font-size:.75rem;line-height:1.6}.anchor-ledger article footer{justify-content:flex-end;gap:5px;display:flex}.anchor-ledger article footer button{color:var(--green-700);padding:3px 7px;font-size:.5625rem}.character-avatar{color:#4a332875}.character-avatar>svg{width:40%}.character-avatar.has-avatar img{object-fit:cover;width:100%;height:100%}@media (width<=980px){.game-shell{grid-template-columns:76px minmax(0,1fr)}.side-nav{padding-inline:12px}.side-nav .brand span:last-child,.side-nav nav span,.resident-chip div{display:none}.side-nav .brand{justify-content:center}.side-nav nav button{justify-content:center;padding-inline:0}.play-mode-bar{left:76px}.resident-chip{justify-content:center}.composer-wrap{left:76px}.floor-row{grid-template-columns:60px repeat(4,minmax(0,1fr))}.room-cell{padding-inline:10px}.map-layout{grid-template-columns:1fr}.map-figure{position:static}.housing-grid{grid-template-columns:1fr}.housing-room-card:last-child:nth-child(odd){grid-column:auto}.form-submit-row.housing-submit-row{flex-direction:column;align-items:stretch;display:flex}.housing-submit-row p{align-self:center}}@media (width<=720px){.fullscreen-button{display:none}.cover-bg{object-position:67% center}.cover-overlay{background:linear-gradient(#fff8e71f 24%,#fff8e761 52%,#fff8e7db 100%)}.cover-top{padding:18px}.cover-center{justify-content:flex-end;align-items:center;padding:24px 18px 12px}.cover-stack{width:100%}.cover-copy{-webkit-backdrop-filter:blur(8px);background:#fff9ebd6;border-radius:20px;width:100%;padding:24px 22px}.cover-title{font-size:clamp(2.25rem, calc(12vw * var(--font-scale)), 3.5rem)}.cover-entry{margin-top:12px}.cover-actions{flex-direction:column;align-items:stretch;width:100%}.cover-modal-backdrop{align-items:flex-end;padding:12px}.owner-access-modal{max-height:calc(100dvh - 24px);padding:31px 20px max(24px, env(safe-area-inset-bottom))}.owner-access-modal>h1{font-size:1.75rem}.owner-code-form{grid-template-columns:48px minmax(0,1fr);gap:12px}.owner-seal{width:46px;height:46px}.owner-code-form .primary-button{justify-self:stretch;width:100%}.owner-identity-card{grid-template-columns:70px minmax(0,1fr);gap:14px;padding:18px 15px}.owner-identity-card .resident-monogram.large{width:66px;height:66px}.owner-identity-card h2{font-size:1.5rem}.owner-confirm-actions{flex-direction:column-reverse;align-items:stretch}.owner-confirm-actions button{width:100%}.setup-page{padding:20px 18px 55px}.setup-header{margin-bottom:34px}.setup-header .brand small{display:none}.residence-choice,.form-grid{grid-template-columns:1fr}.avatar-field{grid-template-columns:82px minmax(0,1fr);gap:17px;padding-inline:15px}.avatar-preview{width:76px;height:76px}.form-grid label.wide{grid-column:auto}.form-submit-row{flex-direction:column;align-items:stretch}.form-submit-row .primary-button{width:100%}.setup-steps{gap:9px;margin-bottom:32px}.setup-steps span b{font-size:.6875rem}.setup-steps.three-steps{grid-template-columns:max-content minmax(10px,1fr) max-content minmax(10px,1fr) max-content;gap:5px}.setup-steps.three-steps span{gap:5px}.setup-steps.three-steps span b{letter-spacing:.02em;font-size:.58rem}.b01-carryover-profile{grid-template-columns:68px minmax(0,1fr);gap:14px;padding:18px 14px}.b01-carryover-profile .resident-monogram.large{width:62px;height:62px}.b01-carryover-options{grid-template-columns:1fr}.b01-carryover-options label{min-height:88px;padding:16px 14px}.housing-style-card,.housing-room-card{padding-inline:20px}.prologue-page{min-height:100vh;display:block}.prologue-visual{opacity:.23;min-height:0;position:absolute;inset:0}.prologue-visual>div{background:linear-gradient(0deg, var(--paper) 10%, #f6f0e4b8 70%, #f6f0e433)}.prologue-sheet{z-index:1;min-height:100vh;padding:34px 22px;position:relative}.prologue-sheet .brand{margin-bottom:auto}.prologue-actions{flex-direction:column;align-items:stretch}.game-shell{--play-mode-height:62px;padding-bottom:0;display:block}.side-nav{z-index:60;width:min(300px,84vw);height:100dvh;padding:max(24px, env(safe-area-inset-top)) 18px max(22px, env(safe-area-inset-bottom));transition:transform .22s;position:fixed;transform:translate(-102%)}.side-nav.open{transform:translate(0)}.side-nav .brand span:last-child,.side-nav nav span,.resident-chip div{display:flex}.side-nav nav button{justify-content:flex-start;padding-inline:13px}.resident-chip{justify-content:flex-start}.mobile-close{color:var(--ivory);display:grid}.nav-backdrop{z-index:59;background:#121b167a;border:0;display:block;position:fixed;inset:0}.mobile-bar{z-index:18;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fbf7edf2;justify-content:space-between;align-items:center;height:60px;padding:0 14px;display:flex;position:sticky;top:0}.mobile-bar .brand .brand-mark{width:30px;height:30px}.mobile-bar .brand b{font-size:.9375rem}.mobile-bar .brand small{display:none}.mobile-room{color:var(--gold);font-family:Noto Serif SC,serif}.story-workspace{min-height:calc(100dvh - 60px - var(--play-mode-height))}.play-mode-bar{height:calc(var(--play-mode-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);left:0}.play-mode-bar button{width:50%;max-width:210px;padding-inline:14px;font-size:.75rem}.scene-heading{z-index:17;flex-direction:row;align-items:center;min-height:76px;padding:10px 16px;position:sticky;top:60px}.scene-heading .eyebrow{display:none}.scene-heading>div:first-child{min-width:0}.scene-heading h1{overflow-wrap:anywhere;font-size:1.125rem}.scene-meta{flex-direction:column;align-items:flex-end;gap:3px;width:auto;margin-left:auto;font-size:.6875rem}.scene-calendar{text-align:left;justify-items:start;line-height:1.45;gap:0!important;display:grid!important}.scene-calendar-date:after{display:none}.scene-calendar-desktop{display:none!important}.scene-calendar-mobile{display:block!important}.scene-correction-button{width:28px;min-height:28px;padding:0}.scene-correction-button span{display:none}.scene-weather-button{min-height:32px;padding-inline:7px}.scene-correction-layer{align-items:end;padding:12px}.scene-correction-dialog{padding:21px 18px max(20px, env(safe-area-inset-bottom));border-radius:20px 20px 0 0}.scene-correction-time-grid{grid-template-columns:1fr 1fr;gap:9px}.scene-correction-dialog footer{grid-template-columns:1fr 1fr;display:grid}.scene-weather-button small,.scene-weather-button>svg{display:none}.weather-layer{align-items:flex-end}.weather-drawer{border-top:1px solid #ffffff73;border-left:0;border-radius:18px 18px 0 0;width:100%;height:auto;max-height:calc(100dvh - 28px);animation-name:weather-drawer-up}.weather-drawer-head{min-height:64px;padding-inline:16px}.weather-current{min-height:176px;padding:25px 18px 19px}.weather-current-symbol{width:56px;height:56px;font-size:1.6rem}.weather-current strong{font-size:3.6rem}.weather-current-copy>div{flex-direction:column;gap:3px}.weather-high-low{margin-top:20px}.weather-metrics{padding:14px}.weather-forecast-section{padding-inline:14px}.weather-week-list article{grid-template-columns:minmax(79px,1fr) 26px 65px 70px}.weather-ambience{inset:60px 0 var(--play-mode-height) 0}.weather-effect-options{grid-template-columns:1fr}.incident-layer{padding:15px}.incident-layer>section{padding:27px 22px}.incident-layer dl{grid-template-columns:1fr}.incident-layer dl div+div{border-top:1px solid #ffffff1a}.story-thread{width:calc(100% - 32px);padding:34px 0 240px}.story-turn{grid-template-columns:30px minmax(0,1fr);gap:13px;padding-bottom:43px}.turn-index span{font-size:.9375rem}.turn-index small{display:none}.story-prose-toolbar{opacity:1;justify-content:flex-start;margin-top:-7px;margin-bottom:8px}.story-prose-toolbar button{background:#fffdf7bd;border:1px solid #4a33281a;min-width:64px;min-height:38px;padding-inline:10px}.story-prose-editor{margin-right:-2px;padding:9px}.story-prose-editor textarea{min-height:42vh;padding:12px;font-size:16px;line-height:1.85}.story-prose-editor footer button{flex:1}.story-prose{font-size:.9375rem;line-height:2.05}.turn-tools{opacity:1}.composer-wrap{right:0;bottom:var(--play-mode-height);padding:35px 12px 8px;left:0}.composer{grid-template-columns:1fr 48px;min-height:72px}.composer textarea{min-height:70px;padding:13px;font-size:max(16px,1rem)}.composer-note{display:none}.directory-panel,.map-panel,.memory-panel,.saves-panel,.settings-panel{min-height:calc(100vh - 60px - var(--play-mode-height));padding:32px 16px calc(32px + var(--play-mode-height) + env(safe-area-inset-bottom))}input,textarea,select{font-size:max(16px,1rem)}.panel-heading{margin-bottom:30px}.panel-heading h1{font-size:2.375rem}.settings-tabs{margin-top:-8px;margin-bottom:24px}.settings-tabs button{grid-template-columns:22px minmax(0,1fr);gap:8px;min-height:68px;padding:11px 12px}.settings-tabs button:after{left:12px;right:12px}.settings-tabs svg{width:18px}.settings-tabs small{display:none}.streaming-output-settings,.reading-settings,.weather-effect-settings,.notification-sound-settings,.speech-api-settings{padding:19px 17px}.streaming-output-settings .reading-settings-heading{grid-template-columns:40px minmax(0,1fr)}.streaming-output-settings .settings-switch{grid-column:1/-1;margin:8px 0 0 48px}.speech-api-settings .reading-settings-heading{grid-template-columns:38px minmax(0,1fr)}.speech-api-settings .settings-tutorial-link{grid-column:2;justify-self:start;margin-top:5px}.notification-sound-grid{grid-template-columns:1fr}.provider-grid,.ai-access-grid{grid-template-columns:1fr;gap:22px}.ai-access-grid>label:first-child{grid-column:auto}.building-directory{overflow-x:auto}.floor-row{grid-template-columns:58px repeat(4,1fr);min-width:720px}.community-people{grid-template-columns:1fr;gap:18px}.operator-grid,.villa-directory-grid{grid-template-columns:1fr}.resident-detail{padding-top:54px}.map-layout{gap:22px}.plan-tabs{width:100%;margin-bottom:22px}.plan-tabs button{letter-spacing:0;min-height:44px;padding-inline:6px;font-size:.6875rem}.villa-floor-tabs{width:100%;margin-bottom:12px}.map-figure{width:calc(100% + 32px);margin-left:-16px;overflow-x:auto}.map-graphic{width:760px}.map-figure img{width:100%;max-width:none;box-shadow:none}.map-figure figcaption{width:max-content;padding-left:16px;position:sticky;left:16px}.plan-notes{margin-top:4px}.memory-columns,.provider-grid,.ai-access-grid{grid-template-columns:1fr;gap:24px}.memory-now-grid{grid-template-columns:1fr}.model-options{max-height:min(260px,38dvh);top:auto;bottom:calc(100% + 7px)}.memory-health{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-health>div{border-bottom:1px solid var(--line)}.memory-health>div:nth-child(2n){border-right:0}.memory-health>div:nth-child(5){border-right:0;grid-column:1/-1}.memory-actions{flex-direction:column;align-items:stretch}.memory-entry{grid-template-columns:1fr}.memory-entry time{grid-row:auto}.memory-entry-actions{grid-column:1}.save-actions{flex-direction:column;align-items:stretch}.save-list article{grid-template-columns:54px minmax(0,1fr);gap:13px;padding-inline:0}.save-door{width:48px;height:48px}.save-row-tools{grid-column:2;align-items:stretch}.travel-dialog-backdrop{place-items:end center;padding:0}.travel-dialog{width:100%;padding:27px 20px max(20px, env(safe-area-inset-bottom));border-inline:0;border-bottom:0}.travel-dialog-actions{grid-template-columns:1fr 1fr;display:grid}}@keyframes weather-drawer-up{0%{transform:translateY(100%)}}@media (prefers-reduced-motion:reduce){.weather-layer,.weather-drawer{animation-duration:1ms}.weather-ambience>i:nth-of-type(n+9){display:none}.weather-ambience>i{opacity:.48;animation-duration:7s}.weather-fog-band{animation:none}.weather-ambience.lightning:after{display:none}}.city-map-layout{grid-template-columns:minmax(0,1fr) minmax(280px,.34fr);align-items:start;gap:28px;display:grid}.city-map-main{min-width:0}.city-map-filters{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.city-map-search{background:#ffffff59;border:1px solid #4a332833;grid-template-columns:38px minmax(0,1fr);align-items:center;width:min(330px,100%);height:42px;display:grid}.city-map-search svg{width:16px;color:var(--gold);margin-left:13px}.city-map-search input{width:100%;min-width:0;height:100%;color:var(--brown);font:inherit;background:0 0;border:0;outline:0;padding:0 12px 0 4px;font-size:.75rem}.city-category-filters{scrollbar-width:none;gap:5px;min-width:0;display:flex;overflow-x:auto}.city-category-filters::-webkit-scrollbar{display:none}.city-category-filters button{min-height:32px;color:var(--brown-soft);cursor:pointer;background:0 0;border:1px solid #4a332826;border-radius:999px;flex:none;padding:5px 10px;font-size:.625rem}.city-category-filters button.active{color:var(--ivory);border-color:var(--green-700);background:var(--green-700)}.city-map-figure{box-shadow:var(--shadow);background:#f3ecdc;border:1px solid #4a332838;margin:0;position:relative}.city-map-scroll{overscroll-behavior:contain;touch-action:pan-x pan-y;width:100%;overflow:auto}.city-map-svg{transform-origin:0 0;min-width:100%;height:auto;transition:width .16s;display:block}.city-map-toolbar{z-index:5;height:34px;color:var(--brown-soft);background:#fbf7edeb;border:1px solid #4a33282e;border-radius:999px;align-items:center;display:flex;position:absolute;top:12px;right:12px;overflow:hidden;box-shadow:0 7px 22px #242a231f}.city-map-toolbar button{width:34px;height:34px;color:var(--green-700);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.city-map-toolbar button:hover{background:var(--sage-pale)}.city-map-toolbar svg{width:13px}.city-map-toolbar span{text-align:center;min-width:42px;font-size:.5625rem}.city-map-figure figcaption{color:var(--green-700);background:#fbf7edb8;border-top:1px solid #4a332826;padding:10px 13px;font-size:.625rem}.water-label{fill:#557d83;letter-spacing:.14em;writing-mode:vertical-rl;font-size:12px;font-weight:700}.water-label.lake-label{writing-mode:horizontal-tb;text-anchor:middle;font-size:15px}.park-label{fill:#648267;letter-spacing:.1em;text-anchor:middle;font-size:11px;font-weight:700}.city-area-labels rect{fill:#fbf7ede0;stroke:#4a332838}.city-area-labels text{fill:#4a3328;letter-spacing:.05em;font-size:12px;font-weight:800}.city-community-marker{color:var(--green-900);cursor:pointer;outline:none}.city-community-marker path{fill:var(--green-700);stroke:#f8f0df;stroke-width:3px}.city-community-marker text{fill:var(--green-900);paint-order:stroke;stroke:#f3ecdc;stroke-width:4px;font-size:12px;font-weight:800}.city-community-marker:focus-visible path{stroke:var(--gold);stroke-width:5px}.city-location-markers g{cursor:pointer;outline:none}.city-location-markers circle{fill:#ad8141;stroke:#fff8ea;stroke-width:2px;transition:r .12s}.city-location-markers .station-marker circle{fill:#f8f0df;stroke:#385646;stroke-width:3px}.city-location-markers g:hover circle,.city-location-markers g:focus-visible circle,.city-location-markers g.active circle{r:9;fill:#395947}.city-location-markers text{fill:#2e493a;paint-order:stroke;stroke:#f3ecdc;stroke-width:4px;font-size:10px;font-weight:800}.city-location-panel{border-block:1px solid var(--brown);min-width:0;max-height:calc(100vh - 130px);position:sticky;top:24px;overflow:hidden}.city-community-shortcut{border-bottom:1px solid var(--line);padding:15px 0}.city-community-shortcut>div{flex-direction:column;gap:4px;display:flex}.city-community-shortcut b{color:var(--brown);font-size:.8125rem}.city-community-shortcut small{color:var(--brown-soft);font-size:.6rem;line-height:1.5}.city-community-shortcut>span{grid-template-columns:1fr 1fr;gap:6px;margin-top:12px;display:grid}.city-community-shortcut button{min-height:34px;color:var(--green-700);background:var(--sage-pale);cursor:pointer;border:1px solid #49625238;padding:5px 7px;font-size:.58rem}.city-location-count{color:var(--gold);border-bottom:1px solid var(--line);letter-spacing:.08em;margin:0;padding:10px 0;font-size:.5625rem;font-weight:700}.city-location-list-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;display:flex}.city-location-list-heading .city-location-count{border:0;flex:1}.itinerary-button{color:var(--green-700);background:var(--sage-pale);cursor:pointer;border:1px solid #49625247;padding:7px 10px;font-size:.58rem}.city-special-sites .zonko-site-boundary{fill:#e9ca9c2e;stroke:#a985479e;stroke-width:2px;stroke-dasharray:8 7}.city-special-sites text{fill:var(--brown);letter-spacing:.08em;paint-order:stroke;stroke:#f3ecdce6;stroke-width:4px;font-size:12px;font-weight:700}.city-location-list{scrollbar-width:thin;max-height:calc(100vh - 310px);overflow-y:auto}.city-location-list>button{width:100%;min-height:54px;color:var(--brown);border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:10px;padding:10px 3px;display:flex}.city-location-list>button:hover:not(:disabled),.city-location-list>button.active{background:#dfe4d975}.city-location-list>button:disabled{opacity:.55;cursor:default}.city-location-list>button span{flex-direction:column;gap:4px;min-width:0;display:flex}.city-location-list>button b{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.city-location-list>button small{color:var(--brown-soft);font-size:.55rem}.city-location-list>button svg{width:14px;color:var(--gold);flex:none}.city-location-group{border-bottom:1px dashed #4a332859;padding:4px 0 10px}.city-location-group+.city-location-group{padding-top:12px}.city-location-group>header{min-height:28px;color:var(--gold);border-bottom:1px dashed #a9854747;justify-content:space-between;align-items:center;padding:4px 3px;display:flex}.city-location-group>header b{letter-spacing:.06em;font-size:.62rem}.city-location-group>header span{font-family:Georgia,serif;font-size:.65rem}.city-location-group>button{width:100%;min-height:54px;color:var(--brown);border:0;border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:10px;padding:10px 3px;display:flex}.city-location-group>button:hover:not(:disabled),.city-location-group>button.active{background:#dfe4d975}.city-location-group>button:disabled{opacity:.55;cursor:default}.city-location-group>button span{flex-direction:column;gap:4px;min-width:0;display:flex}.city-location-group>button b{text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.city-location-group>button small{color:var(--brown-soft);font-size:.55rem}.city-location-group>button small.city-location-people{color:var(--green-700);white-space:normal;-webkit-line-clamp:2;-webkit-box-orient:vertical;line-height:1.45;display:-webkit-box;overflow:hidden}.city-location-group>button svg{width:14px;color:var(--gold);flex:none}.city-empty-result{color:var(--brown-soft);padding:25px 4px;font-size:.7rem}.travel-dialog:has(.travel-mode-section){width:min(680px,100%);max-height:calc(100vh - 44px);overflow-y:auto}.travel-dialog:has(.leisure-choice-section){width:min(760px,100%)}.leisure-choice-section{background:#dfe4d93d;border:1px solid #4962523d;margin:18px 0;padding:16px}.leisure-choice-section>header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.leisure-choice-section>header>span{flex-direction:column;gap:4px;min-width:0;display:flex}.leisure-choice-section>header b{color:var(--brown);font-size:.8rem}.leisure-choice-section>header small{color:var(--brown-soft);font-size:.58rem;line-height:1.55}.leisure-choice-section>header strong{color:var(--gold);flex:none;font-size:1.05rem}.leisure-option-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.leisure-option-grid>button{min-width:0;min-height:72px;color:var(--brown);text-align:left;cursor:pointer;background:#ffffff8c;border:1px solid #4a332829;justify-content:space-between;align-items:flex-start;gap:8px;padding:10px;display:flex}.leisure-option-grid>button.active{border-color:var(--green-700);box-shadow:inset 3px 0 var(--gold);background:#dfe4d9d1}.leisure-option-grid>button>span{flex-direction:column;gap:5px;min-width:0;display:flex}.leisure-option-grid b{font-size:.66rem}.leisure-option-grid small{color:var(--brown-soft);font-size:.52rem;line-height:1.5}.leisure-option-grid strong{color:var(--gold);flex:none;font-size:.62rem}.leisure-existing-bookings{color:var(--green-700);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;margin-top:10px;padding:0 0 3px;font-size:.56rem}.leisure-guest-choice,.leisure-pet-choice,.leisure-area-choice{border-top:1px dashed #4a332838;margin-top:12px;padding-top:12px}.leisure-area-choice>b{color:var(--brown);font-size:.68rem;display:block}.leisure-area-choice>div{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.leisure-area-choice button{color:var(--brown-soft);cursor:pointer;background:#ffffff80;border:1px solid #4a332829;border-radius:999px;padding:6px 9px;font-size:.53rem}.leisure-area-choice button.active{color:var(--green-700);border-color:var(--green-700);background:var(--sage-pale)}.leisure-guest-choice>b,.leisure-pet-choice>b{color:var(--brown);font-size:.68rem;display:block}.leisure-guest-choice>small,.leisure-pet-choice>small{color:var(--brown-soft);margin-top:3px;font-size:.53rem;display:block}.leisure-guest-choice>div,.leisure-pet-choice>div{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.leisure-guest-choice label,.leisure-pet-choice label{min-height:30px;color:var(--brown);cursor:pointer;background:#ffffff8a;border:1px solid #49625233;border-radius:999px;align-items:center;gap:5px;padding:5px 9px;font-size:.56rem;display:inline-flex}.leisure-guest-choice label.selected,.leisure-pet-choice label.selected{border-color:var(--green-700);background:var(--sage-pale)}.leisure-guest-choice input,.leisure-pet-choice input{accent-color:var(--green-700)}.leisure-pet-choice svg{width:13px;height:13px}.travel-choice-error{color:#934637;margin:10px 0 0;font-size:.58rem}.itinerary-dialog{width:min(620px,100%);max-height:calc(100vh - 44px);overflow-y:auto}.itinerary-title-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.itinerary-title-row h2{margin:0}.itinerary-title-row>button{width:36px;height:36px;color:var(--brown);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;place-items:center;display:grid}.itinerary-title-row svg{width:17px}.itinerary-list{gap:10px;margin-top:22px;display:grid}.itinerary-card{background:#ffffff70;border:1px solid #4a332829;padding:14px}.itinerary-card.cancelled{opacity:.55}.itinerary-card header,.itinerary-card footer{justify-content:space-between;align-items:center;gap:12px;display:flex}.itinerary-card header>span{flex-direction:column;gap:3px;display:flex}.itinerary-card header b{color:var(--brown);font-size:.72rem}.itinerary-card header small,.itinerary-card>small{color:var(--brown-soft);font-size:.53rem}.itinerary-card header em{color:var(--green-700);background:var(--sage-pale);border-radius:999px;padding:4px 7px;font-size:.5rem;font-style:normal}.itinerary-card p{color:var(--brown);margin:10px 0 4px;font-size:.64rem}.itinerary-card footer{border-top:1px solid var(--line);margin-top:12px;padding-top:10px}.itinerary-card footer strong{color:var(--gold)}.itinerary-card footer button{color:var(--brown-soft);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;font-size:.53rem}.itinerary-empty{min-height:240px;color:var(--brown-soft);text-align:center;place-content:center;justify-items:center;display:grid}.itinerary-empty svg{width:30px;color:var(--gold);margin-bottom:12px}.itinerary-empty b{color:var(--brown);font-size:.78rem}.itinerary-empty p{margin:7px 0 0;font-size:.58rem}.travel-location-description{border-left:2px solid var(--gold);margin-bottom:18px;padding-left:10px}.travel-location-people{background:#dfe4d940;border:1px dashed #4962524d;margin:-3px 0 18px;padding:12px}.travel-location-people>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.travel-location-people>div b{color:var(--brown);font-size:.72rem}.travel-location-people>div small{color:var(--brown-soft);text-align:right;font-size:.52rem}.travel-location-people ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.travel-location-people li{background:#ffffff61;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:7px;min-width:0;padding:6px;display:grid}.travel-location-people .resident-monogram{width:34px;height:34px;font-size:.65rem}.travel-location-people li>span{flex-direction:column;gap:2px;min-width:0;display:flex}.travel-location-people li b{color:var(--brown);text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;overflow:hidden}.travel-location-people li small{color:var(--brown-soft);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.5rem;line-height:1.35;display:-webkit-box;overflow:hidden}.travel-mode-section{margin-top:20px}.travel-companion-section{border-block:1px dashed #4a33284d;margin-top:18px;padding:13px 0}.travel-companion-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.travel-companion-heading>span{flex-direction:column;gap:3px;display:flex}.travel-companion-heading b{color:var(--brown);font-size:.75rem}.travel-companion-heading small{color:var(--brown-soft);font-size:.55rem}.travel-companion-heading>button{min-height:32px;color:var(--green-700);background:var(--sage-pale);cursor:pointer;border:1px solid #4962523d;padding:5px 10px;font-size:.6rem}.travel-companion-chips{flex-wrap:wrap;gap:5px;margin-top:10px;display:flex}.travel-companion-chips button{min-height:28px;color:var(--green-700);cursor:pointer;background:#dfe4d980;border:1px solid #49625233;border-radius:999px;align-items:center;gap:4px;padding:4px 8px;font-size:.56rem;display:inline-flex}.travel-companion-chips svg{width:11px}.travel-companion-picker{background:#ffffff42;border:1px solid #4a332829;margin-top:10px}.travel-companion-picker>label{border-bottom:1px solid var(--line);grid-template-columns:32px minmax(0,1fr);align-items:center;height:38px;display:grid}.travel-companion-picker>label svg{width:14px;color:var(--gold);margin-left:10px}.travel-companion-picker>label input{background:0 0;border:0;outline:0;width:100%;height:100%;padding-right:9px;font-size:.65rem}.travel-companion-picker>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;max-height:240px;padding:5px;display:grid;overflow-y:auto}.travel-companion-picker>div>label{cursor:pointer;border:1px solid #0000;grid-template-columns:17px 36px minmax(0,1fr);align-items:center;gap:6px;min-width:0;min-height:54px;padding:6px;display:grid}.travel-companion-picker>div>label:hover,.travel-companion-picker>div>label.selected{background:var(--sage-pale);border-color:#49625240}.travel-companion-picker input[type=checkbox]{accent-color:var(--green-700)}.travel-companion-picker .resident-monogram{width:34px;height:34px;font-size:.65rem}.travel-companion-picker .resident-monogram small{display:none}.travel-companion-picker label>span:last-child{flex-direction:column;gap:3px;min-width:0;display:flex}.travel-companion-picker label b{color:var(--brown);text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;overflow:hidden}.travel-companion-picker label small{color:var(--brown-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.49rem;overflow:hidden}.travel-mode-heading{justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:9px;display:flex}.travel-mode-heading b{color:var(--brown);font-size:.75rem}.travel-mode-heading span{color:var(--brown-soft);font-size:.5625rem}.travel-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.travel-mode-grid>button{min-width:0;min-height:82px;color:var(--brown);cursor:pointer;text-align:left;background:#ffffff52;border:1px solid #4a332826;flex-direction:column;align-items:stretch;gap:4px;padding:10px 11px;display:flex}.travel-mode-grid>button.active{border-color:var(--green-700);outline:1px solid var(--green-700);background:var(--sage-pale)}.travel-mode-grid>button>span{justify-content:space-between;align-items:center;gap:8px;display:flex}.travel-mode-grid b{font-size:.68rem}.travel-mode-grid em{color:var(--ivory);background:var(--gold);border-radius:999px;padding:2px 6px;font-size:.48rem;font-style:normal}.travel-mode-grid strong{color:var(--green-700);font-size:.8rem}.travel-mode-grid small{color:var(--brown-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.52rem;line-height:1.45;overflow:hidden}.travel-mode-grid small.travel-time-breakdown{color:var(--green-700);text-overflow:clip;white-space:normal}.travel-mode-grid small.travel-warning{color:#a1513e;white-space:normal}.mobility-profile-card{background:#efe5cf52;border:1px solid #a9854747;margin-top:24px;padding:22px 24px}.mobility-profile-card h2{color:var(--brown);margin:3px 0 6px;font-size:1.2rem}.mobility-profile-card p:not(.eyebrow){color:var(--brown-soft);margin:0;font-size:.68rem;line-height:1.6}.mobility-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:18px 0;display:grid}.mobility-options label{background:#ffffff57;border:1px solid #4a332824;align-items:center;gap:7px;min-height:42px;padding:8px 9px;font-size:.63rem;display:flex}.mobility-options input{accent-color:var(--green-700)}.mobility-profile-card>label{color:var(--brown-soft);flex-direction:column;gap:7px;font-size:.65rem;display:flex}.mobility-profile-card>label input{background:#ffffff80;border:1px solid #4a332833;height:40px;padding:0 11px}.custom-city-binding{background:#efe5cf40;border:1px solid #a9854740;margin-top:18px;padding:16px}.custom-city-binding select{width:100%;min-height:42px;color:var(--brown);background:var(--paper);border:1px solid #4a332833;padding:0 10px}.custom-mobility-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:12px;display:grid}.custom-mobility-options label{min-height:38px;color:var(--brown-soft);background:#fff6;border:1px solid #4a332821;align-items:center;gap:6px;padding:7px 9px;font-size:.62rem;display:flex}.custom-mobility-options input{accent-color:var(--green-700)}@media (width<=1100px){.city-map-layout{grid-template-columns:1fr}.city-location-panel{max-height:none;position:static}.city-location-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;max-height:none;display:grid}}@media (width<=720px){.map-panel .panel-heading h1{font-size:clamp(2rem,10vw,2.45rem);line-height:1.14}.map-panel .panel-heading>p:not(.eyebrow){line-height:1.65}.plan-tabs{grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible}.plan-tabs button{padding-inline:2px;font-size:.58rem}.city-map-filters{flex-direction:column;align-items:stretch}.city-map-search{width:100%}.city-map-search input{font-size:16px}.city-category-filters{width:calc(100vw - 32px);padding-bottom:2px}.city-map-figure{border-inline:0;margin-inline:-16px}.city-map-scroll{min-height:360px}.city-map-svg{min-width:720px;width:180%!important}.city-map-toolbar{float:right;margin-right:9px;position:sticky;top:9px}.city-map-figure figcaption{clear:both}.city-location-panel{margin-top:16px;padding-bottom:6px}.city-location-list{grid-template-columns:1fr}.travel-dialog:has(.travel-mode-section){border-radius:18px 18px 0 0;max-height:min(86dvh,760px);overflow-y:auto}:is(.travel-dialog:has(.leisure-choice-section),.itinerary-dialog){border-radius:18px 18px 0 0;max-height:min(88dvh,780px);overflow-y:auto}.travel-dialog h2{margin-bottom:14px;font-size:1.55rem}.travel-dialog dl{margin-bottom:12px}.travel-dialog dl div{padding:9px 0}.travel-mode-grid{grid-template-columns:1fr 1fr}.travel-mode-heading{flex-direction:column;align-items:flex-start;gap:3px}.travel-location-people ul{grid-template-columns:1fr}.travel-companion-picker>label input{font-size:16px}.travel-companion-picker>div{grid-template-columns:1fr;max-height:220px}.travel-mode-grid>button{min-height:78px;padding:9px}.leisure-choice-section{margin-inline:-4px;padding:13px 10px}.leisure-option-grid{grid-template-columns:1fr}.leisure-option-grid>button{min-height:64px}.itinerary-dialog{padding-top:24px}.travel-dialog-actions{bottom:calc(-1 * max(20px, env(safe-area-inset-bottom)));z-index:2;padding:12px 20px max(12px,env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--line);margin-inline:-20px;position:sticky}.mobility-profile-card{padding:18px 14px}.mobility-options,.custom-mobility-options{grid-template-columns:1fr 1fr}.side-nav:not(.open){visibility:hidden;transition:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (width<=1100px) and (width>=721px){.chat-panel{grid-template-columns:300px minmax(0,1fr)}.message-scroll{padding-inline:30px}.message-stack{max-width:min(76%,620px)}}@media (width<=720px){.play-mode-bar button{width:33.333%}.weibo-panel{height:calc(100dvh - 60px - var(--play-mode-height) - env(safe-area-inset-bottom));min-height:0}.weibo-panel-header{align-items:center;min-height:70px;padding:9px 14px}.weibo-panel-header .eyebrow{display:none}.weibo-panel-header h1{font-size:1.25rem}.weibo-header-button,.weibo-header-spacer{width:38px;height:38px}.weibo-view-tabs{min-height:42px}.weibo-view-tabs button{width:44%;padding-inline:10px}.weibo-error{justify-content:space-between;padding-inline:13px}.weibo-compose,.weibo-post,.weibo-detail-post,.weibo-comments-section{width:calc(100% - 24px)}.weibo-my-profile{grid-template-columns:40px minmax(0,1fr);gap:10px;width:calc(100% - 24px);padding:20px 2px 17px}.weibo-compose{grid-template-columns:36px minmax(0,1fr);gap:10px;padding-block:17px}.weibo-compose textarea{min-height:58px;padding:10px 11px 7px}.weibo-post-open{grid-template-columns:40px minmax(0,1fr);gap:10px;padding:17px 2px 9px}.weibo-avatar{width:40px;height:40px}.weibo-avatar.small{width:34px;height:34px}.weibo-post-copy>p{font-size:.8125rem;line-height:1.75}.weibo-actions{margin-left:50px;padding-left:0;padding-right:0}.weibo-detail-post{padding-top:20px}.weibo-post-main{grid-template-columns:40px minmax(0,1fr);gap:10px}.weibo-detail-post>.weibo-actions,.weibo-reply-owner,.weibo-post-replies,.weibo-typing,.weibo-reply-composer{margin-left:50px}.weibo-reply-composer{grid-template-columns:minmax(0,1fr) 34px}.weibo-reply-cancel{grid-column:1/-1;justify-self:end}.weibo-comments-section{padding-top:22px}.weibo-comment{gap:9px}.weibo-comment .weibo-typing,.weibo-comment .weibo-reply-composer{margin-left:0}.weibo-dialog-backdrop{place-items:end center;padding:0}.weibo-dialog{width:100%;padding:26px 20px max(22px, env(safe-area-inset-bottom));border-inline:0}.weibo-quoted-card{padding:11px}.weibo-share-backdrop{place-items:end center;padding:0}.weibo-share-dialog,.weibo-share-dialog.chat,.weibo-share-dialog.complete{width:100%;max-height:min(90dvh,760px);padding:20px 16px max(16px, env(safe-area-inset-bottom));border-bottom:0;border-left:0;border-right:0;border-radius:18px 18px 0 0}.weibo-share-dialog>header h2{font-size:1.25rem}.weibo-share-routes{grid-template-columns:1fr}.weibo-share-routes>button{min-height:78px;padding:12px 14px}.weibo-share-dialog .weibo-mention-suggestions{width:auto;top:105px;left:16px;right:16px}.weibo-share-targets{max-height:min(210px,27dvh)}.weibo-share-note textarea,.weibo-share-search input{font-size:16px}.weibo-share-dialog.chat>.weibo-quoted-card{display:none}.chat-panel{height:calc(100dvh - 60px - var(--play-mode-height) - env(safe-area-inset-bottom));display:block}.conversation-list,.chat-workspace{width:100%;height:100%}.chat-workspace,.chat-panel.has-active .conversation-list{display:none}.chat-panel.has-active .chat-workspace{display:flex}.conversation-list>header{height:78px;padding:16px 16px 10px}.conversation-search{margin-inline:12px}.thread-list{padding-inline:6px}.thread-list>button{grid-template-columns:45px minmax(0,1fr) auto;min-height:68px}.conversation-list>footer{padding-bottom:env(safe-area-inset-bottom)}.chat-thread-header{grid-template-columns:34px 40px minmax(0,1fr) auto;gap:8px;height:68px;padding:0 10px}.chat-thread-header>.chat-avatar{width:38px;height:38px}.mobile-chat-back{display:grid}.thread-header-actions{gap:0}.thread-header-actions button{width:32px}.thread-header-actions .thread-secondary-action{display:none}.thread-header-actions .thread-pin-action{display:grid}.thread-menu{width:min(270px,100vw - 16px);top:59px;right:8px}.thread-menu .mobile-menu-only{display:flex}.message-scroll{padding:22px 18px 28px 30px}.unread-jump-pill{min-height:32px;padding:5px 11px 5px 9px;font-size:.625rem;top:87px;right:12px}.message-stack{max-width:calc(100% - 60px)}.message-bubble p{font-size:.875rem}.message-bubble.type-voice{min-width:174px;max-width:calc(100vw - 104px)}.voice-message{grid-template-columns:minmax(0,1fr) 64px;gap:2px 4px}.voice-play-bar{min-width:116px}.forward-bundle{width:min(70vw,420px)}.message-bubble.editing{width:calc(100vw - 112px)}.message-bubble img{max-width:64vw;max-height:360px}.message-row:has(.chat-weibo-share-card) .message-stack{max-width:calc(100% - 48px)}.message-bubble.type-weibo_share{width:min(76vw,390px)}.message-bubble.type-group_invite{width:min(78vw,330px)}.chat-weibo-share-card>section{padding:11px 12px 9px}.message-bubble .chat-weibo-share-card img{max-width:100%;max-height:280px}.message-menu-trigger{display:none}.message-select-hit{left:-22px}.message-context-menu{z-index:80;top:auto;right:12px;bottom:calc(72px + var(--play-mode-height) + env(safe-area-inset-bottom));border-radius:12px;width:auto;padding:8px;position:fixed;left:12px}.mine .message-context-menu{left:12px;right:12px}.message-context-menu button{min-height:44px;font-size:.75rem}.chat-composer{padding:7px 10px max(8px, env(safe-area-inset-bottom))}.composer-input textarea{min-height:48px;max-height:100px;padding:8px 10px}.composer-tools{height:29px}.sticker-tray{grid-template-columns:repeat(4,minmax(0,1fr));right:7px}.chat-mention-suggestions{max-width:none;max-height:min(250px,38vh);left:12px;right:12px}.chat-global-error,.chat-image-retry{max-width:none;bottom:8px;left:8px;right:8px}.chat-modal-backdrop{align-items:end;padding:12px}.chat-modal{width:100%;max-height:calc(100dvh - 24px);padding:20px 16px max(18px, env(safe-area-inset-bottom))}.exclusive-recipient-options{max-height:min(220px,31dvh)}.chat-confirm-backdrop{place-items:end center;padding:0}.chat-confirm-dialog{width:100%;padding:26px 20px max(22px, env(safe-area-inset-bottom));border-inline:0}.member-picker,.forward-targets{grid-template-columns:1fr}.diary-drawer{width:100%;padding:0 18px 50px}.diary-drawer>header{grid-template-columns:36px 40px 1fr;margin-inline:-18px;padding-inline:14px}.diary-paper{min-height:270px;padding:40px 23px 28px 38px}.diary-paper:before{left:25px}.diary-date-strip{grid-template-columns:1fr}.diary-date-strip button{justify-content:center;min-height:39px}}.custom-editor-shell{z-index:1200;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#19241fc2;padding:clamp(0px,3vw,38px);position:fixed;inset:0;overflow:auto}.custom-editor{color:#4d352b;background:#faf6eb;border:1px solid #785b4438;flex-direction:column;width:min(1080px,100%);min-height:calc(100vh + -1*clamp(0px,6vw,76px));margin:0 auto;display:flex;box-shadow:0 24px 90px #0d1c1659}.custom-editor-head{border-bottom:1px solid #785b442e;justify-content:space-between;align-items:flex-start;gap:24px;padding:34px clamp(22px,5vw,64px) 26px;display:flex}.custom-editor-head h1{font-family:var(--font-serif);margin:4px 0 8px;font-size:clamp(28px,4vw,42px);font-weight:500}.custom-editor-head p:last-child{color:#7b6659;max-width:720px;margin:0;line-height:1.7}.custom-editor-steps{border-bottom:1px solid #785b4424;grid-template-columns:repeat(4,1fr);gap:0;margin:0;padding:22px clamp(22px,5vw,64px);list-style:none;display:grid}.custom-editor-steps li{color:#ad9d91;align-items:center;gap:10px;font-size:13px;display:flex;position:relative}.custom-editor-steps li:not(:last-child):after{content:"";background:#d8cdc0;height:1px;position:absolute;top:15px;left:38px;right:12px}.custom-editor-steps span{z-index:1;background:#faf6eb;border:1px solid #c8b8aa;border-radius:50%;flex:none;place-items:center;width:30px;height:30px;display:grid;position:relative}.custom-editor-steps svg{width:15px}.custom-editor-steps li.active,.custom-editor-steps li.done{color:#315744}.custom-editor-steps li.active span,.custom-editor-steps li.done span{color:#fff;background:#315744;border-color:#315744}.custom-editor-body{flex:1;padding:clamp(26px,5vw,58px) clamp(22px,6vw,76px)}.custom-step{animation:.2s both custom-step-in}@keyframes custom-step-in{0%{opacity:0;transform:translateY(5px)}}.custom-grid{gap:24px 28px;display:grid}.custom-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.custom-field{color:#60483d;flex-direction:column;gap:9px;min-width:0;font-size:13px;font-weight:700;display:flex}.custom-field input,.custom-field textarea{color:#3f342e;width:100%;font:inherit;resize:vertical;background:#ffffff9e;border:1px solid #d8cec2;border-radius:2px;outline:none;padding:13px 14px;font-weight:400;line-height:1.65}.custom-field input:focus,.custom-field textarea:focus{border-color:#547462;box-shadow:0 0 0 3px #40665117}.custom-field.has-error input,.custom-field.has-error textarea{border-color:#a94c3b}.field-error,.custom-form-error{font-weight:500;color:#a23e32!important}.custom-form-error{background:#f8e8e3;border-left:3px solid #a23e32;margin:24px 0 0;padding:12px 14px}.custom-avatar-editor{text-align:center;justify-content:center;margin:-10px 0 36px;display:flex}.custom-avatar-editor>button{color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:5px;display:flex}.custom-avatar-editor>button>span,.preview-identity>span{color:#315744;width:92px;height:92px;font-family:var(--font-serif);background:#e7e8da;border:1px solid #9ead9f;border-radius:50%;place-items:center;font-size:36px;display:grid;overflow:hidden}.custom-avatar-editor img,.preview-identity img{object-fit:cover;width:100%;height:100%}.custom-avatar-editor small{color:#917e72;font-weight:400}.custom-fixed-rule,.custom-home-rule{color:#6c5c51;background:#f1eadc;border-left:3px solid #b78d43;margin:28px 0 0;padding:15px 18px;line-height:1.7}.custom-home-rule{margin:0 0 28px}.tenure-switch{align-items:center;gap:10px;margin-bottom:24px;display:flex}.tenure-switch>span{margin-right:8px;font-weight:700}.tenure-switch button{color:#6f5e52;cursor:pointer;background:0 0;border:1px solid #cdbfb2;min-width:88px;padding:10px 18px}.tenure-switch button.active{color:#fff;background:#315744;border-color:#315744}.custom-preview{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:24px;display:grid}.custom-preview article{background:#ffffff7a;border:1px solid #ded4c8;min-width:0;padding:28px}.custom-preview h2{font-family:var(--font-serif);margin:4px 0 22px;font-size:25px;font-weight:500}.preview-identity{align-items:center;gap:16px;margin-bottom:22px;display:flex}.preview-identity>span{width:64px;height:64px;font-size:25px}.preview-identity div{flex-direction:column;gap:5px;display:flex}.preview-identity b{font-size:19px}.preview-identity small{color:#88766a}.custom-preview dl>div{border-top:1px solid #e1d8ce;padding:13px 0}.custom-preview dt{color:#a57b35;font-size:12px;font-weight:700}.custom-preview dd{margin:5px 0 0;line-height:1.7}.custom-preview pre{white-space:pre-wrap;color:#55473e;max-height:520px;margin:0;font-family:inherit;font-size:13px;line-height:1.75;overflow:auto}.custom-editor-actions{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#faf6ebf5;border-top:1px solid #ddd2c5;justify-content:space-between;gap:16px;padding:20px clamp(22px,6vw,76px);display:flex;position:sticky;bottom:0}.custom-editor-actions button{cursor:pointer;border:1px solid #315744;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 22px;display:inline-flex}.custom-editor-actions svg{width:17px}.custom-editor-actions .primary-button{color:#fff;background:#315744}.custom-editor-actions .secondary-button{color:#315744;background:0 0}.editable-avatar{cursor:pointer;background:0 0;border:0;border-radius:999px;width:max-content;margin:0;padding:0;display:block;position:relative}.editable-avatar input{display:none}.editable-avatar>.avatar-upload-mark{z-index:1;color:#fff;border:2px solid var(--paper);background:var(--green-700);border-radius:50%;place-items:center;width:28px;height:28px;padding:0;transition:transform .16s,background .16s;display:grid;position:absolute;bottom:38px;right:-2px;box-shadow:0 4px 12px #1e372c38}.editable-avatar>.avatar-upload-mark svg{width:13px;height:13px}.editable-avatar:hover>.avatar-upload-mark,.editable-avatar:focus-visible>.avatar-upload-mark{background:var(--gold);transform:translateY(-1px)}.editable-avatar:focus-visible{outline:2px solid var(--gold);outline-offset:5px}.avatar-inline-error{color:#9a3f32;max-width:320px;margin:8px 0 0;font-size:.6875rem;line-height:1.5}.incoming-gift-backdrop{z-index:190;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#16201b7a;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.incoming-gift-dialog{width:min(440px,100%);color:var(--brown);text-align:center;background:#fffaf0;border:1px solid #a9854747;padding:34px;box-shadow:0 24px 80px #1a231e47}.incoming-gift-icon{color:#fff;background:var(--green);border-radius:50%;place-items:center;width:58px;height:58px;margin:0 auto 14px;display:grid}.incoming-gift-icon svg{width:27px;height:27px}.incoming-gift-dialog>small{color:var(--gold);letter-spacing:.18em;font-size:.625rem;font-weight:800}.incoming-gift-dialog h2{font-family:var(--serif);margin:10px 0 8px;font-size:1.45rem}.incoming-gift-items{color:var(--ink);margin:0;font-size:.9375rem;line-height:1.7}.incoming-gift-dialog blockquote{color:#6f5b4e;border-left:2px solid var(--gold);text-align:left;background:#a9854714;margin:18px 0 0;padding:12px;font-size:.8125rem;line-height:1.7}.incoming-gift-medical-note{color:#7b6d63;margin:14px 0 0;font-size:.6875rem;line-height:1.6}.incoming-gift-dialog footer{justify-content:center;gap:10px;margin-top:24px;display:flex}.incoming-gift-dialog footer button{min-width:118px}@media (width<=520px){.incoming-gift-dialog{padding:28px 22px 22px}.incoming-gift-dialog footer{flex-direction:column-reverse}.incoming-gift-dialog footer button{width:100%}}.birthday-inputs{grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr);align-items:center;gap:6px;display:grid}.birthday-inputs i{color:var(--gold);text-align:center;font-style:normal}.profile-form-error,.calendar-error{color:#963e32;margin:10px 0;font-size:.75rem}.calendar-panel{min-height:calc(100dvh - var(--play-mode-height));padding:44px clamp(24px,5vw,72px) calc(var(--play-mode-height) + 48px);color:var(--ink);background:linear-gradient(135deg,#dfe4d959,transparent 32%),var(--paper)}.calendar-heading{justify-content:space-between;align-items:flex-end;gap:22px;max-width:1120px;margin:0 auto 30px;display:flex}.calendar-heading h1{color:var(--brown);margin:5px 0 8px;font-size:clamp(2rem,4vw,3.2rem)}.calendar-heading p:last-child{color:var(--brown-soft);margin:0}.calendar-heading .primary-button svg,.calendar-day-detail .quiet-button svg{width:16px}.calendar-toolbar{border:1px solid var(--line);background:#fff6;border-bottom:0;grid-template-columns:42px minmax(160px,auto) 42px 1fr;align-items:center;max-width:1120px;margin:0 auto;display:grid}.calendar-toolbar>button{height:48px;color:var(--brown);border:0;border-right:1px solid var(--line);cursor:pointer;background:0 0;place-items:center;padding:0;display:grid}.calendar-toolbar h2{text-align:center;margin:0;padding:0 18px;font-size:1rem}.calendar-toolbar .calendar-today{border-right:0;border-left:1px solid var(--line);grid-auto-flow:column;justify-self:end;gap:7px;width:max-content;padding:0 18px;font-size:.7rem}.calendar-toolbar svg{width:16px}.calendar-month{border-top:1px solid var(--line);border-left:1px solid var(--line);background:#ffffff52;grid-template-columns:repeat(7,minmax(0,1fr));max-width:1120px;margin:0 auto;display:grid}.calendar-weekday{color:var(--brown-soft);border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;padding:10px 6px;font-size:.65rem;font-weight:700}.calendar-day{min-width:0;min-height:112px;color:var(--ink);border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);cursor:pointer;text-align:left;background:#ffffff24;padding:9px;position:relative;overflow:hidden}.calendar-day:hover{background:#dfe4d973}.calendar-day.outside{color:#4a332857;background:#efe9db61}.calendar-day.selected{box-shadow:inset 0 0 0 2px var(--gold)}.calendar-day.today .calendar-day-number{color:#fff;background:var(--green-700);border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.calendar-day-number{text-align:center;width:25px;height:25px;font-size:.72rem;font-weight:700;line-height:25px;display:block}.calendar-day-items{flex-direction:column;gap:3px;min-width:0;margin-top:5px;display:flex}.calendar-day-items em,.calendar-day-items span{border-left:2px solid var(--green-700);text-overflow:ellipsis;white-space:nowrap;background:#4962521a;min-width:0;padding:3px 5px;font-size:.58rem;font-style:normal;display:block;overflow:hidden}.calendar-day-items .birthday-chip{color:#8a5b20;border-color:var(--gold);background:#d5bc8533;align-items:center;gap:3px;display:flex}.birthday-chip svg{flex:none;width:11px;height:11px}.calendar-day-items .status-missed,.calendar-day-items .status-cancelled,.calendar-day-items .status-completed{opacity:.55;text-decoration:line-through}.calendar-day-items .status-needs_review{color:#8a4438;background:#f5e4df;border-color:#b05a4b}.calendar-day-items small{font-size:.55rem}.calendar-day-detail{background:#fffaf0;border:1px solid #a9854752;width:min(620px,100%);max-height:calc(100dvh - 40px);padding:24px 28px;overflow-y:auto;box-shadow:0 28px 90px #16201b4d}.calendar-day-detail>header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.calendar-day-detail>header small,.calendar-editor header small{color:var(--gold);letter-spacing:.15em;font-size:.58rem;font-weight:800}.calendar-day-detail h2{color:var(--brown);margin:4px 0;font-size:1.4rem}.calendar-day-dialog-actions{align-items:center;gap:8px;display:flex}.calendar-day-dialog-actions .calendar-day-close{width:36px;height:36px;color:var(--brown-soft);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.calendar-day-dialog-actions .calendar-day-close svg{width:18px}.calendar-event{border-top:1px solid var(--line);grid-template-columns:28px minmax(0,1fr) auto;gap:12px;padding:17px 0;display:grid}.calendar-event>svg{width:19px;color:var(--gold)}.calendar-event-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.calendar-event-title span{color:var(--green-700);border:1px solid #49625238;padding:2px 7px;font-size:.56rem}.calendar-event p{color:var(--brown-soft);align-items:center;gap:6px;margin:6px 0 0;font-size:.7rem;display:flex}.calendar-event p svg{width:13px}.calendar-event small{color:var(--brown-soft);margin-top:8px;line-height:1.6;display:block}.calendar-event-actions{align-items:flex-start;gap:4px;display:flex}.calendar-event-actions button{width:30px;height:30px;color:var(--brown-soft);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.calendar-event-actions svg{width:14px}.calendar-event.status-missed,.calendar-event.status-cancelled,.calendar-event.status-completed{opacity:.62}.calendar-event.status-needs_review{background:#f8ebe6;padding-inline:10px}.calendar-event.birthday{grid-template-columns:28px minmax(0,1fr)}.calendar-empty{color:var(--brown-soft);padding:28px 0 12px;font-size:.78rem}.calendar-thread-entry{background:#d5bc851a}.calendar-modal-backdrop{z-index:205;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#16201b8f;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.calendar-editor{width:min(680px,100%);max-height:calc(100dvh - 40px);color:var(--ink);background:#fffaf0;border:1px solid #a9854752;padding:28px;overflow-y:auto;box-shadow:0 28px 90px #16201b4d}.calendar-editor>header{justify-content:space-between;align-items:flex-start;margin-bottom:22px;display:flex}.calendar-editor h2{color:var(--brown);margin:5px 0 0;font-size:1.65rem}.calendar-editor>header button{width:34px;height:34px;color:var(--brown);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.calendar-editor>header svg{width:18px}.calendar-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.calendar-field{flex-direction:column;gap:7px;margin-bottom:16px;display:flex}.calendar-field>span,.calendar-location legend,.calendar-participants legend{color:var(--brown-soft);letter-spacing:.06em;font-size:.64rem;font-weight:700}.calendar-field input,.calendar-field textarea,.calendar-location select{width:100%;min-height:42px;color:var(--ink);font:inherit;background:#ffffff8f;border:1px solid #4a332833;padding:9px 10px}.calendar-field textarea{resize:vertical;min-height:82px}.calendar-check{align-items:center;gap:8px;min-height:67px;font-size:.75rem;display:flex}.calendar-location,.calendar-participants{border:0;margin:0 0 17px;padding:0}.calendar-location legend,.calendar-participants legend{margin-bottom:8px}.calendar-segmented{border:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-bottom:10px;display:grid}.calendar-segmented button{min-height:38px;color:var(--brown-soft);border:0;border-right:1px solid var(--line);cursor:pointer;background:0 0}.calendar-segmented button:last-child{border-right:0}.calendar-segmented button.active{color:#fff;background:var(--green-700)}.calendar-participants>div{border:1px solid var(--line);background:#ffffff4d;flex-wrap:wrap;gap:7px;max-height:145px;padding:10px;display:flex;overflow-y:auto}.calendar-participants label{border:1px solid #4a332824;align-items:center;gap:5px;padding:5px 8px;font-size:.66rem;display:flex}.calendar-editor footer,.calendar-suggestion-dialog footer,.calendar-due-dialog footer{justify-content:flex-end;gap:9px;margin-top:22px;display:flex}.birthday-dialog,.calendar-suggestion-dialog,.calendar-due-dialog{width:min(480px,100%);color:var(--brown);text-align:center;background:#fffaf0;border:1px solid #a985474d;padding:34px;box-shadow:0 28px 90px #16201b4d}.birthday-dialog>span,.calendar-suggestion-dialog>span{color:#fff;background:var(--green-700);border-radius:50%;place-items:center;width:56px;height:56px;margin:0 auto 13px;display:grid}.birthday-dialog>small,.calendar-suggestion-dialog>small,.calendar-due-dialog>small{color:var(--gold);letter-spacing:.17em;font-size:.6rem;font-weight:800}.birthday-dialog h2,.calendar-suggestion-dialog h2,.calendar-due-dialog h2{margin:9px 0;font-size:1.55rem}.birthday-dialog>p,.calendar-due-dialog>p{color:var(--brown-soft);font-size:.8rem;line-height:1.7}.birthday-dialog>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:21px auto;display:grid}.birthday-dialog label{color:var(--brown-soft);text-align:left;flex-direction:column;gap:6px;font-size:.66rem;display:flex}.birthday-dialog input{border:1px solid var(--line);min-height:44px;font:inherit;background:#fff;padding:8px 10px}.calendar-suggestion-title{color:var(--ink);margin:18px 0;font-size:1.05rem;font-weight:700}.calendar-suggestion-dialog dl{text-align:left;margin:0}.calendar-suggestion-dialog dl div{border-top:1px solid var(--line);grid-template-columns:58px 1fr;padding:10px 0;display:grid}.calendar-suggestion-dialog dt{color:var(--gold);font-size:.63rem}.calendar-suggestion-dialog dd{margin:0;font-size:.75rem}.calendar-due-dialog dl{margin:20px 0 0}.calendar-due-dialog dl div{border-top:1px solid var(--line);justify-content:center;align-items:center;gap:8px;padding:9px 0;font-size:.75rem;display:flex}.calendar-due-dialog dl svg{width:15px;color:var(--gold)}.calendar-day.has-festival{background:linear-gradient(145deg,#d5bc8529,#ffffff1f)}.calendar-day-items .festival-chip{color:#704f20;border-color:var(--gold);background:#d5bc853d;align-items:center;gap:3px;font-weight:700;display:flex}.festival-chip svg{flex:none;width:11px;height:11px}.calendar-day-items .festival-chip.status-completed{color:var(--green-700);text-decoration:none}.festival-event{background:linear-gradient(135deg,#d5bc8529,#ffffff7a);border:1px solid #a985474d;margin:10px -10px 0;padding:18px 10px}.festival-event>svg{color:#9b6d24}.festival-event.status-completed,.festival-event.status-skipped,.festival-event.status-weather_cancelled{opacity:.72}.festival-event .festival-plan-button{width:auto;min-width:78px;color:var(--green-700);background:#ffffffb8;border:1px solid #49625259;padding:6px 10px;font-size:.65rem;display:block}.festival-decoration-tags{flex-wrap:wrap;gap:5px;margin-top:9px;display:flex}.festival-decoration-tags span,.festival-facts span{color:#79561d;background:#d5bc8521;border:1px solid #a9854740;padding:3px 7px;font-size:.58rem}.festival-award,.festival-memento{font-weight:700;color:#8a5b20!important}.festival-participation-dialog,.pet-manager-dialog{width:min(760px,100%);max-height:calc(100dvh - 40px);color:var(--ink);background:#fffaf0;border:1px solid #a9854759;padding:28px;overflow-y:auto;box-shadow:0 28px 90px #16201b57}.festival-participation-dialog>header,.pet-manager-dialog>header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.festival-participation-dialog>header small,.pet-manager-dialog>header small{color:var(--gold);letter-spacing:.16em;font-size:.58rem;font-weight:800}.festival-participation-dialog>header h2,.pet-manager-dialog>header h2{color:var(--brown);margin:5px 0 0;font-size:1.65rem}.festival-participation-dialog>header button,.pet-manager-dialog>header button{width:34px;height:34px;color:var(--brown);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:grid}.festival-participation-dialog>header svg,.pet-manager-dialog>header svg{width:18px}.festival-participation-dialog>p,.pet-manager-dialog>p{color:var(--brown-soft);font-size:.78rem;line-height:1.7}.festival-facts{flex-wrap:wrap;gap:6px;margin:16px 0 20px;display:flex}.festival-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;display:grid}.festival-participation-dialog select,.pet-manager-dialog select,.festival-character-picker>input{width:100%;min-height:42px;color:var(--ink);font:inherit;background:#ffffffb3;border:1px solid #4a332833;padding:8px 10px}.festival-activity-picker,.festival-character-picker{border:0;margin:0 0 18px;padding:0}.festival-activity-picker legend,.festival-character-picker legend{color:var(--brown-soft);margin-bottom:9px;font-size:.66rem;font-weight:700}.festival-activity-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.festival-activity-picker legend{grid-column:1/-1}.festival-activity-picker>label{border:1px solid var(--line);cursor:pointer;background:#ffffff57;gap:8px;min-height:84px;padding:11px;display:flex}.festival-activity-picker>label.selected{border-color:var(--green-700);background:#4962521a}.festival-activity-picker label span{flex-direction:column;gap:5px;min-width:0;display:flex}.festival-activity-picker label small{color:var(--brown-soft);font-size:.62rem;line-height:1.45}.festival-character-picker>small{color:var(--brown-soft);margin:7px 0;font-size:.62rem;display:block}.festival-character-picker>div{border:1px solid var(--line);background:#ffffff4d;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;max-height:210px;margin-top:8px;padding:8px;display:grid;overflow-y:auto}.festival-character-picker label{border:1px solid #4a33281f;align-items:flex-start;gap:7px;min-width:0;padding:7px;font-size:.7rem;display:flex}.festival-character-picker label span{flex-direction:column;min-width:0;display:flex}.festival-character-picker label small{color:var(--brown-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.57rem;overflow:hidden}.pet-competition-form{background:#d5bc8514;border:1px solid #a9854747;margin:0 0 18px;padding:14px}.pet-competition-form .calendar-segmented{grid-template-columns:repeat(2,1fr)}.festival-no-pet{color:var(--brown-soft);font-size:.75rem}.festival-invitation-results{border:1px solid var(--line);background:#ffffff59;margin:16px 0;padding:12px 14px}.festival-invitation-results h3{margin:0 0 8px;font-size:.8rem}.festival-invitation-results p{align-items:flex-start;gap:5px;margin:6px 0;font-size:.68rem;line-height:1.5;display:flex}.festival-invitation-results p svg{flex:none;width:13px}.festival-invitation-results .accepted{color:var(--green-700)}.festival-invitation-results .declined{color:var(--brown-soft)}.festival-participation-dialog>footer,.pet-manager-dialog>footer,.pet-profile-form>footer{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.weather-cancelled{text-align:center;width:min(480px,100%)}.weather-cancelled>span{color:#fff;background:#9a4b3f;border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto 10px;display:grid}.weather-cancelled>button{margin-top:14px}.pet-manager-backdrop{z-index:215}.pet-profile-list{gap:7px;display:grid}.pet-profile-list article,.dossier-pets article{border:1px solid var(--line);background:#fff6;grid-template-columns:30px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px;display:grid}.pet-profile-list article>span{width:28px;height:28px;color:var(--green-700);background:#4962521a;border-radius:50%;place-items:center;display:grid}.pet-profile-list article svg{width:15px}.pet-profile-list article div,.dossier-pets article{min-width:0}.pet-profile-list article small,.dossier-pets article small{color:var(--brown-soft);text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;display:block;overflow:hidden}.pet-profile-list article button{color:var(--brown-soft);cursor:pointer;background:0 0;border:0;border-bottom:1px solid #4a33284d;padding:3px 5px;font-size:.62rem}.pet-profile-form{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.dossier-pets{background:#d5bc8514;border:1px solid #a9854740;margin:22px 0;padding:15px}.dossier-pets h3{color:var(--brown);align-items:center;gap:7px;margin:0;font-size:.85rem;display:flex}.dossier-pets h3 svg{width:16px}.dossier-pets-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.dossier-pets-heading button{color:var(--green-700);cursor:pointer;background:0 0;border:0;border-bottom:1px solid;font-size:.65rem}.dossier-pets article{grid-template-columns:1fr;gap:2px;margin-top:6px}.dossier-pets>p{color:var(--brown-soft);font-size:.68rem;line-height:1.6}.black-lake-festival-banner{color:#6f4d18;background:linear-gradient(135deg,#d5bc8547,#fffaf0e6);border:1px solid #a9854759;align-items:flex-start;gap:10px;margin-bottom:12px;padding:13px;display:flex}.black-lake-festival-banner>svg{flex:none;width:20px}.black-lake-festival-banner div{min-width:0}.black-lake-festival-banner small,.black-lake-festival-banner b{display:block}.black-lake-festival-banner small{letter-spacing:.12em;font-size:.52rem;font-weight:800}.black-lake-festival-banner b{margin-top:3px}.black-lake-festival-banner p{margin:5px 0 0;font-size:.62rem;line-height:1.5}.city-location-list button.festival-active{background:#d5bc8529;border-color:#a985478c}.city-location-festival{align-items:center;gap:4px;margin-top:4px;font-weight:700;color:#8a5b20!important;display:flex!important}.city-location-festival svg{width:11px;height:11px}@media (width<=720px){.play-mode-bar button{letter-spacing:0;flex-direction:column;flex:1 1 0;gap:2px;width:auto;min-width:0;max-width:none;padding-inline:2px;font-size:.6rem}.play-mode-bar button svg{width:16px;height:16px}.play-mode-spinner{right:3px}.calendar-panel{min-height:calc(100dvh - 60px - var(--play-mode-height));padding:24px 10px calc(var(--play-mode-height) + 24px)}.calendar-heading{flex-direction:column;align-items:stretch;margin-bottom:18px;padding-inline:6px}.calendar-heading h1{font-size:2rem}.calendar-heading .primary-button{width:100%}.calendar-toolbar{grid-template-columns:38px minmax(110px,auto) 38px 1fr}.calendar-toolbar h2{padding-inline:6px;font-size:.85rem}.calendar-toolbar .calendar-today{padding-inline:8px;font-size:.6rem}.calendar-toolbar .calendar-today svg{display:none}.calendar-weekday{padding:8px 1px;font-size:.57rem}.calendar-day{min-height:76px;padding:5px 3px}.calendar-day-items{gap:2px}.calendar-day-items em,.calendar-day-items span{padding:2px 3px;font-size:.5rem}.calendar-day-items .birthday-chip svg,.calendar-day-items .festival-chip svg,.calendar-day-items small{display:none}.calendar-day-detail{width:100%;max-height:calc(100dvh - 24px);padding:20px 16px max(20px,env(safe-area-inset-bottom))}.calendar-event{grid-template-columns:22px minmax(0,1fr)}.calendar-event-actions{grid-column:2;justify-content:flex-end}.calendar-event-title{flex-direction:column;align-items:flex-start}.calendar-modal-backdrop{align-items:end;padding:0}.calendar-editor,.birthday-dialog,.calendar-suggestion-dialog,.calendar-due-dialog{width:100%;max-height:calc(100dvh - 24px);padding:24px 18px max(20px,env(safe-area-inset-bottom));overflow-y:auto}.festival-participation-dialog,.pet-manager-dialog{width:100%;max-height:calc(100dvh - 24px);padding:22px 16px max(20px,env(safe-area-inset-bottom))}.festival-choice-grid,.festival-character-picker>div,.festival-activity-picker{grid-template-columns:1fr}.festival-activity-picker legend{grid-column:1}.festival-participation-dialog>footer,.pet-manager-dialog>footer,.pet-profile-form>footer{flex-direction:column-reverse;align-items:stretch}.festival-participation-dialog>footer button,.pet-manager-dialog>footer button,.pet-profile-form>footer button{width:100%}.pet-profile-list article{grid-template-columns:28px minmax(0,1fr) auto}.pet-profile-list article button:last-child{grid-column:3}.calendar-form-grid{grid-template-columns:1fr;gap:0}.calendar-editor footer,.calendar-suggestion-dialog footer,.calendar-due-dialog footer{flex-direction:column-reverse;align-items:stretch}.calendar-editor footer button,.calendar-suggestion-dialog footer button,.calendar-due-dialog footer button{width:100%}}.custom-editor-actions button:disabled{opacity:.55;cursor:wait}.custom-resident-card-actions{flex-wrap:wrap;align-items:center;gap:8px;margin:5px 0 10px;display:flex}.custom-resident-card-actions button{color:#6e5749;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #9e876f;padding:3px 0;font-size:12px}.custom-resident-card-actions span{color:#315744;margin-left:auto;font-size:12px}.custom-resident-empty .resident-name{cursor:default}.map-custom-resident-entry{color:#315744;cursor:pointer;background:#eef0e5;border:1px solid #547462;justify-content:space-between;align-items:center;gap:10px;width:100%;margin-top:24px;padding:14px 16px;font-weight:700;display:flex}.map-custom-resident-entry svg{width:18px}@media (width<=720px){.custom-editor-shell{background:#faf6eb;padding:0}.custom-editor{min-height:100dvh;box-shadow:none;border:0}.custom-editor-head{padding:22px 18px 18px}.custom-editor-head h1{font-size:28px}.custom-editor-head p:last-child{font-size:13px}.custom-editor-steps{padding:15px 14px}.custom-editor-steps li{justify-content:center}.custom-editor-steps li b{display:none}.custom-editor-steps li:not(:last-child):after{left:calc(50% + 15px);right:calc(15px - 50%)}.custom-editor-body{padding:28px 18px 110px}.custom-grid.two,.custom-preview{grid-template-columns:1fr}.custom-grid{gap:20px}.custom-preview article{padding:20px}.custom-editor-actions{padding:14px 16px calc(14px + env(safe-area-inset-bottom))}.custom-editor-actions button{flex:1;padding-inline:12px}}.commerce-panel{--commerce-accent:#ef4f24;--commerce-accent-dark:#bb2f15;--commerce-soft:#fff0e8;height:calc(100dvh - var(--play-mode-height));color:#2f2925;background:#f7f4ef;min-height:560px;position:relative;overflow:hidden}.takeout-panel{--commerce-accent:#f2bf18;--commerce-accent-dark:#22201d;--commerce-soft:#fff8cf;background:#f6f6f3}.commerce-topbar{z-index:12;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffffff0;border-bottom:1px solid #3d2d241f;grid-template-columns:auto minmax(240px,660px) auto auto;justify-content:center;align-items:center;gap:13px;height:74px;padding:10px clamp(18px,3vw,42px);display:grid;position:relative}.commerce-topbar.takeout{background:#fffbe7f5}.commerce-location{align-items:center;gap:8px;min-width:130px;display:flex}.commerce-location>svg{width:18px;color:var(--commerce-accent)}.commerce-location>span{flex-direction:column;min-width:0;display:flex}.commerce-location small{color:#a18c7e;font-size:.56rem}.commerce-location b{text-overflow:ellipsis;white-space:nowrap;max-width:160px;font-size:.75rem;overflow:hidden}.commerce-search{border:2px solid var(--commerce-accent);background:#fff;border-radius:999px;grid-template-columns:30px minmax(0,1fr);align-items:center;width:100%;height:42px;display:grid}.commerce-search svg{width:16px;color:var(--commerce-accent);margin-left:12px}.commerce-search input{background:0 0;border:0;outline:0;min-width:0;height:100%;padding:0 14px 0 4px;font-size:.78rem}.commerce-header-action{cursor:pointer;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:54px;height:48px;padding:3px 7px;display:flex;position:relative}.commerce-header-action svg{width:19px}.commerce-header-action span{font-size:.56rem}.commerce-header-action em{color:#fff;background:#e84425;border-radius:999px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:.5rem;font-style:normal;display:grid;position:absolute;top:0;right:1px}.commerce-back{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:38px;height:38px;display:grid}.commerce-back svg{width:19px}.takeout-store-title{flex-direction:column;min-width:0;display:flex}.takeout-store-title b{text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.takeout-store-title small{color:#81766f;margin-top:2px;font-size:.59rem}.commerce-scroll{scrollbar-gutter:stable;height:calc(100% - 74px);padding:0 clamp(18px,4vw,64px) 110px;overflow-y:auto}.shopping-lead,.takeout-lead{color:#fff7f1;background:radial-gradient(circle at 76% 48%,#ffffff38,#0000 22%),linear-gradient(115deg,#d73518,#ff7041 58%,#ff9a58);justify-content:space-between;align-items:center;min-height:210px;margin:0 calc(-1*clamp(18px,4vw,64px));padding:38px clamp(28px,7vw,100px);display:flex;position:relative;overflow:hidden}.takeout-lead{color:#24211d;background:radial-gradient(circle at 77% 42%,#ffffff85,#0000 23%),linear-gradient(115deg,#f2b900,#ffd838 65%,#ffe994)}.shopping-lead:after,.takeout-lead:after{content:"";border:1px solid #ffffff57;border-radius:50%;width:360px;height:250px;position:absolute;bottom:-100px;right:-50px;transform:rotate(-14deg)}.shopping-lead>div,.takeout-lead>div{z-index:1;position:relative}.shopping-lead small,.takeout-lead small{letter-spacing:.17em;font-size:.58rem;font-weight:800}.shopping-lead h1,.takeout-lead h1{font-family:Inter,Microsoft YaHei UI,sans-serif;font-size:clamp(1.9rem, calc(3.8vw * var(--font-scale)), 3.35rem);letter-spacing:-.03em;margin:10px 0 8px;line-height:1.15}.shopping-lead p,.takeout-lead p{opacity:.82;margin:0;font-size:.76rem}.shopping-lead>span,.takeout-lead>span{z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff1f;border:1px solid #ffffff70;border-radius:50%;flex-direction:column;flex:none;justify-content:center;align-items:center;width:132px;height:132px;display:flex;position:relative}.takeout-lead>span{background:#ffffff38;border-color:#26221c33}.shopping-lead>span svg,.takeout-lead>span svg{width:28px;margin-bottom:7px}.shopping-lead>span b,.takeout-lead>span b{font-size:.78rem}.shopping-lead>span small,.takeout-lead>span small{letter-spacing:0;opacity:.72;margin-top:3px}.commerce-categories{z-index:8;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);scrollbar-width:none;background:#f7f4eff0;border-bottom:1px solid #3b2d2514;gap:8px;margin:0 calc(-1*clamp(18px,4vw,64px));padding:11px clamp(18px,4vw,64px);display:flex;position:sticky;top:0;overflow-x:auto}.takeout-categories{background:#f6f6f3f2}.commerce-categories::-webkit-scrollbar{display:none}.commerce-categories button{color:#715f54;cursor:pointer;background:#fff;border:0;border-radius:999px;align-items:center;gap:5px;min-width:max-content;min-height:34px;padding:0 15px;font-size:.66rem;display:inline-flex;box-shadow:inset 0 0 0 1px #543d2e1a}.commerce-categories button svg{width:14px}.commerce-categories button.active{color:#fff;background:var(--commerce-accent);box-shadow:none}.takeout-categories button.active{color:#201e1b}.adult-category-banner,.pharmacy-banner{color:#6f3527;background:#fff0e9;border-left:4px solid #d94c2c;align-items:center;gap:13px;margin:22px 0 2px;padding:16px 18px;display:flex}.pharmacy-banner{color:#244e3a;background:#e9f6ee;border-left-color:#2e7650}.adult-category-banner svg,.pharmacy-banner svg{flex:none;width:23px}.adult-category-banner div,.pharmacy-banner div{flex-direction:column;gap:3px;display:flex}.adult-category-banner b,.pharmacy-banner b{font-size:.78rem}.adult-category-banner span,.pharmacy-banner span{opacity:.8;font-size:.64rem;line-height:1.55}.shopping-section-title,.menu-heading{justify-content:space-between;align-items:flex-end;gap:15px;padding:28px 0 18px;display:flex}.shopping-section-title small,.menu-heading small{color:var(--commerce-accent);letter-spacing:.16em;font-size:.55rem;font-weight:800}.shopping-section-title h2,.menu-heading h2{color:#312924;letter-spacing:-.02em;margin:5px 0 0;font-family:Inter,Microsoft YaHei UI,sans-serif;font-size:1.38rem}.shopping-section-title>span,.menu-heading>span{color:#8f8178;font-size:.64rem}.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;display:grid}.product-tile{background:#fff;border-radius:15px;min-width:0;animation:.26s both commerce-item-in;position:relative;overflow:hidden;box-shadow:0 8px 28px #49302312}@keyframes commerce-item-in{0%{opacity:0;transform:translateY(7px)}}.product-open{cursor:pointer;text-align:left;background:0 0;border:0;width:100%;padding:0;display:block}.product-visual{aspect-ratio:1;background:#eeeae4;display:block;position:relative;overflow:hidden}.product-visual img{object-fit:cover;width:100%;height:100%;transition:transform .24s}.product-open:hover .product-visual img{transform:scale(1.025)}.product-visual>em{color:#fff;background:#4e251edb;border-radius:999px;padding:4px 7px;font-size:.55rem;font-style:normal;font-weight:800;position:absolute;top:10px;left:10px}.product-copy{flex-direction:column;min-height:142px;padding:13px 14px 15px;display:flex}.product-copy>small{color:#a48674;font-size:.52rem}.product-copy>b{margin-top:6px;font-size:.79rem;line-height:1.35}.product-copy>p{color:#887970;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:5px 0 10px;font-size:.59rem;line-height:1.55;display:-webkit-box;overflow:hidden}.product-copy>strong{color:#e94724;margin-top:auto;font-size:1.02rem}.tile-add,.menu-add{color:#fff;background:var(--commerce-accent);cursor:pointer;border:0;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;display:grid;position:absolute;bottom:12px;right:12px;box-shadow:0 4px 12px #c73f1e3d}.tile-add svg,.menu-add svg{width:16px}.commerce-quantity{background:#fff;border:1px solid #41302729;border-radius:999px;grid-template-columns:36px 34px 36px;align-items:center;width:max-content;display:inline-grid}.commerce-quantity button{cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;height:34px;padding:0;display:grid}.commerce-quantity button svg{width:14px}.commerce-quantity b{text-align:center;font-size:.7rem}.commerce-quantity.compact{grid-template-columns:28px 25px 28px;position:absolute;bottom:10px;right:10px}.commerce-quantity.compact button{height:28px}.commerce-image-fallback{color:#a18f83;background:linear-gradient(135deg,#ebe5dd,#f7f4ef);flex-direction:column;justify-content:center;align-items:center;gap:7px;display:flex!important}.commerce-image-fallback svg{width:25px}.commerce-image-fallback small{font-size:.55rem}.commerce-empty{color:#9a8b81;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-height:220px;display:flex}.commerce-empty svg{width:31px}.commerce-empty b{color:#574941;font-size:.82rem}.commerce-empty span{font-size:.65rem}.store-list{border-top:1px solid #4232291a;width:min(940px,100%);margin:0 auto}.store-row{cursor:pointer;text-align:left;background:0 0;border:0;border-bottom:1px solid #4232291a;grid-template-columns:112px minmax(0,1fr) 30px;align-items:center;gap:19px;width:100%;min-height:145px;padding:20px 5px;transition:background .16s,padding .16s;display:grid}.store-row:hover{background:#fff;padding-inline:13px}.store-row>img,.store-row>.commerce-image-fallback{object-fit:cover;border-radius:13px;width:112px;height:112px}.store-row>svg{color:#9b8b82;width:18px}.store-copy{flex-direction:column;min-width:0;display:flex}.store-copy>small{color:#a27d27;font-size:.55rem}.store-copy>b{margin-top:5px;font-size:1.02rem}.store-copy>span{color:#887c74;align-items:center;gap:12px;margin-top:8px;font-size:.61rem;display:flex}.store-copy>span em{color:#d58c05;align-items:center;gap:3px;font-style:normal;font-weight:800;display:inline-flex}.store-copy>span svg{fill:currentColor;width:13px}.store-copy>span i{font-style:normal}.store-copy>p{color:#6f625a;text-overflow:ellipsis;white-space:nowrap;margin:8px 0 0;font-size:.67rem;overflow:hidden}.store-copy>strong{color:#94877e;margin-top:7px;font-size:.59rem;font-weight:500}.store-menu-scroll{padding-bottom:150px}.store-hero{background:#24211d;grid-template-columns:minmax(0,1fr);min-height:230px;margin:0 calc(-1*clamp(18px,4vw,64px));display:grid;position:relative;overflow:hidden}.store-hero>img,.store-hero>.commerce-image-fallback{object-fit:cover;opacity:.52;filter:saturate(.85);width:100%;height:100%;position:absolute;inset:0}.store-hero:after{content:"";background:linear-gradient(90deg,#181613e0,#1816132e);position:absolute;inset:0}.store-hero>div{z-index:2;color:#fff;flex-direction:column;justify-content:center;width:min(720px,75%);padding:45px clamp(28px,7vw,100px);display:flex;position:relative}.store-hero h1{letter-spacing:-.04em;margin:7px 0 12px;font-family:Inter,Microsoft YaHei UI,sans-serif;font-size:clamp(2rem,4vw,3.6rem)}.store-hero small{letter-spacing:.12em;font-size:.6rem;font-weight:800}.store-hero p{align-items:center;gap:5px;margin:0;font-size:.7rem;display:flex}.store-hero p svg{fill:currentColor;width:14px}.store-hero.pharmacy:after{background:linear-gradient(90deg,#194831f0,#1948312e)}.pharmacy-disclaimer{color:#315943;background:#e9f4ed;border-left:3px solid #3b805a;align-items:flex-start;gap:10px;margin:18px 0 0;padding:13px 15px;font-size:.64rem;line-height:1.6;display:flex}.pharmacy-disclaimer svg{flex:none;width:18px}.menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.menu-grid article{background:#fff;border-radius:13px;grid-template-columns:116px minmax(0,1fr);gap:14px;min-height:138px;padding:12px;display:grid;position:relative;box-shadow:0 7px 22px #312b250f}.menu-grid article>img,.menu-grid article>.commerce-image-fallback{object-fit:cover;border-radius:10px;width:116px;height:116px}.menu-grid article>div{flex-direction:column;min-width:0;padding:5px 0;display:flex}.menu-grid article small{color:#a37b25;font-size:.53rem}.menu-grid article b{margin-top:5px;font-size:.78rem}.menu-grid article p{color:#83766e;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:6px 0;font-size:.59rem;line-height:1.5;display:-webkit-box;overflow:hidden}.menu-grid article strong{color:#d75021;margin-top:auto;font-size:.9rem}.takeout-cart-bar{z-index:18;color:#fff;cursor:pointer;background:#25221f;border:0;border-radius:999px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;min-height:58px;padding:8px 12px 8px 16px;display:grid;position:absolute;bottom:18px;left:clamp(18px,5vw,70px);right:clamp(18px,5vw,70px);box-shadow:0 14px 32px #1715124d}.takeout-cart-bar>span{color:#211f1c;background:#ffd532;border-radius:50%;place-items:center;width:40px;height:40px;display:grid;position:relative}.takeout-cart-bar>span svg{width:20px}.takeout-cart-bar>span em{color:#fff;background:#e74d2a;border-radius:50%;place-items:center;min-width:17px;height:17px;font-size:.5rem;font-style:normal;display:grid;position:absolute;top:-5px;right:-4px}.takeout-cart-bar>b{text-align:left;font-size:.98rem}.takeout-cart-bar>small{color:#ffd83d;align-items:center;gap:4px;font-size:.65rem;display:flex}.takeout-cart-bar>small svg{width:15px}.commerce-sheet-backdrop{z-index:1000;background:#19161394;place-items:center;padding:28px;display:grid;position:fixed;inset:0}.commerce-sheet{--commerce-accent:#ef4f24;background:#fbfaf7;border-radius:22px;flex-direction:column;width:min(720px,100%);max-height:min(880px,100dvh - 56px);animation:.22s both commerce-sheet-in;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 90px #1916124d}.commerce-sheet.takeout{--commerce-accent:#e8b309}@keyframes commerce-sheet-in{0%{opacity:0;transform:translateY(14px)scale(.985)}}.commerce-sheet>header{border-bottom:1px solid #4232291a;flex:none;justify-content:space-between;align-items:center;min-height:76px;padding:17px 22px;display:flex}.commerce-sheet>header small{color:var(--commerce-accent);letter-spacing:.16em;font-size:.52rem;font-weight:800}.commerce-sheet>header h2{margin:4px 0 0;font-family:Inter,Microsoft YaHei UI,sans-serif;font-size:1.25rem}.commerce-icon-button{cursor:pointer;background:#4e3d3112;border:0;border-radius:50%;place-items:center;width:38px;height:38px;padding:0;display:grid}.commerce-icon-button svg{width:18px}.checkout-scroll,.order-center-scroll{min-height:0;padding:18px 22px 24px;overflow-y:auto}.checkout-block{border-bottom:1px solid #43332a1a;padding:16px 0 21px}.checkout-block:first-child{padding-top:0}.checkout-block h3{justify-content:space-between;align-items:center;margin:0 0 12px;font-family:Inter,Microsoft YaHei UI,sans-serif;font-size:.82rem;display:flex}.checkout-block h3 small{color:#99897f;font-size:.55rem;font-weight:400}.recipient-switch{grid-template-columns:1fr 1fr;gap:9px;display:grid}.recipient-switch button{cursor:pointer;background:#fff;border:1px solid #44332926;border-radius:10px;justify-content:center;align-items:center;gap:7px;min-height:44px;font-size:.69rem;display:flex}.recipient-switch button svg{width:17px}.recipient-switch button.active{color:#fff;border-color:var(--commerce-accent);background:var(--commerce-accent)}.checkout.takeout .recipient-switch button.active{color:#211e1b}.recipient-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;max-height:220px;margin-top:12px;display:grid;overflow-y:auto}.recipient-grid button{cursor:pointer;text-align:left;background:#fff;border:1px solid #4433291f;border-radius:9px;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:8px;min-width:0;min-height:58px;padding:7px;display:grid}.recipient-grid button>img,.recipient-grid button>svg{object-fit:cover;border-radius:50%;width:38px;height:38px}.recipient-grid button>svg{background:#eee8df;padding:8px}.recipient-grid button span{flex-direction:column;min-width:0;display:flex}.recipient-grid button b{text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;overflow:hidden}.recipient-grid button small{color:#94847a;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.5rem;overflow:hidden}.recipient-grid button.active{border-color:var(--commerce-accent);box-shadow:inset 0 0 0 1px var(--commerce-accent);background:#fff2ed}.adult-order-note{color:#7c4335;align-items:flex-start;gap:7px;margin:11px 0 0;font-size:.58rem;line-height:1.55;display:flex}.adult-order-note svg{flex:none;width:16px}.address-options{gap:7px;display:grid}.address-options button{cursor:pointer;text-align:left;background:#fff;border:1px solid #4433291f;border-radius:10px;grid-template-columns:25px minmax(0,1fr) 22px;align-items:center;gap:8px;min-height:58px;padding:10px 12px;display:grid}.address-options button>svg{width:17px}.address-options button>svg:last-child{color:var(--commerce-accent)}.address-options button span{flex-direction:column;display:flex}.address-options button b{font-size:.68rem}.address-options button small{color:#93837a;margin-top:3px;font-size:.53rem}.address-options button.active{border-color:var(--commerce-accent);box-shadow:inset 0 0 0 1px var(--commerce-accent)}.checkout-hint{color:#94847a;margin:0;font-size:.64rem}.checkout-block textarea{resize:vertical;background:#fff;border:1px solid #44332924;border-radius:10px;outline:0;width:100%;min-height:74px;padding:10px 12px;font-size:.7rem;line-height:1.6}.checkout-block textarea:focus{border-color:var(--commerce-accent)}.checkout-goods>div{grid-template-columns:46px minmax(0,1fr) auto 30px;align-items:center;gap:10px;padding:8px 0;display:grid}.checkout-goods img,.checkout-goods .commerce-image-fallback{object-fit:cover;border-radius:8px;width:46px;height:46px}.checkout-goods>div>span{flex-direction:column;min-width:0;display:flex}.checkout-goods b{font-size:.68rem}.checkout-goods small{color:#93847b;margin-top:3px;font-size:.54rem}.checkout-goods strong{font-size:.67rem}.checkout-remove,.cart-line-remove{color:#9b5545;cursor:pointer;background:#fff7f3;border:1px solid #9b55452e;border-radius:50%;place-items:center;width:30px;height:30px;padding:0;display:grid}.checkout-remove svg,.cart-line-remove svg{width:14px}.checkout-total{padding:18px 0 3px}.checkout-total p{color:#82736a;justify-content:space-between;align-items:center;margin:0 0 9px;font-size:.65rem;display:flex}.checkout-total p b{color:#443831}.checkout-total .grand-total{color:#3e332d;margin-top:15px;font-size:.75rem}.checkout-total .grand-total b{color:#e64622;font-size:1.05rem}.checkout-error,.order-error{color:#9c382b;background:#f9e8e3;border-radius:8px;margin:12px 0 0;padding:9px 11px;font-size:.61rem;line-height:1.5}.commerce-sheet>footer{background:#ffffffeb;border-top:1px solid #4232291a;flex:none;justify-content:space-between;align-items:center;gap:15px;min-height:76px;padding:12px 20px;display:flex}.commerce-sheet>footer>div{flex-direction:column;display:flex}.commerce-sheet>footer small{color:#96867c;font-size:.52rem}.commerce-sheet>footer b{color:#e64824;margin-top:2px;font-size:1.08rem}.commerce-primary,.commerce-secondary{color:#fff;background:var(--commerce-accent);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-height:43px;padding:0 24px;font-size:.69rem;font-weight:800;display:inline-flex}.commerce-sheet.takeout .commerce-primary{color:#24211e}.commerce-primary svg{width:16px}.commerce-secondary{color:var(--commerce-accent);border:1px solid var(--commerce-accent);background:#fff}.commerce-danger{color:#fff;cursor:pointer;background:#9f4939;border:0;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-height:43px;padding:0 20px;font-size:.66rem;font-weight:800;display:inline-flex}.commerce-danger.subtle{color:#914637;background:#fff7f3;border:1px solid #91463752}.commerce-danger svg{width:15px}.commerce-danger:disabled{opacity:.55;cursor:default}.product-detail{grid-template-columns:minmax(0,1fr) minmax(0,1fr);width:min(820px,100%);display:grid;overflow:visible}.detail-close{z-index:4;background:#ffffffe0;position:absolute;top:14px;right:14px}.product-detail .detail-image,.product-detail>.commerce-image-fallback{object-fit:contain;background:#eee8e1;border-radius:22px 0 0 22px;width:100%;height:100%;min-height:480px}.detail-copy{flex-direction:column;padding:52px 36px 105px;display:flex}.detail-copy>small{color:#ad765f;font-size:.59rem}.detail-copy h2{margin:10px 0 8px;font-family:Inter,Microsoft YaHei UI,sans-serif;font-size:1.8rem}.detail-copy>strong{color:#e54622;font-size:1.45rem}.detail-copy>p{color:#75675e;margin:20px 0;font-size:.72rem;line-height:1.8}.detail-adult-note{color:#7b4436;background:#fff0eb;align-items:center;gap:8px;margin-bottom:20px;padding:11px 12px;font-size:.61rem;display:flex}.detail-adult-note svg{width:17px}.product-detail>footer{width:50%;position:absolute;bottom:0;right:0}.product-detail>footer button{flex:1}.cart-sheet{width:min(620px,100%)}.cart-lines{min-height:180px;padding:14px 22px 22px;overflow-y:auto}.cart-lines>div:not(.commerce-empty){border-bottom:1px solid #42322917;grid-template-columns:62px minmax(0,1fr) 92px 32px;align-items:center;gap:11px;min-height:78px;padding:10px 0;display:grid;position:relative}.cart-lines img,.cart-lines .commerce-image-fallback{object-fit:cover;border-radius:9px;width:62px;height:62px}.cart-lines>div>span{flex-direction:column;min-width:0;display:flex}.cart-lines>div>span b{font-size:.7rem}.cart-lines>div>span small{color:#93847a;margin-top:4px;font-size:.53rem}.cart-lines .commerce-quantity.compact{position:static}.checkout-success{text-align:center;justify-content:center;align-items:center;width:min(480px,100%);min-height:420px;padding:50px 40px;display:flex}.checkout-success>svg{width:62px;height:62px;color:var(--commerce-accent)}.checkout-success>small{color:var(--commerce-accent);letter-spacing:.18em;margin-top:20px;font-size:.55rem;font-weight:800}.checkout-success h2{margin:8px 0 14px;font-family:Inter,Microsoft YaHei UI,sans-serif;font-size:1.8rem}.checkout-success p{color:#776a61;margin:0 0 8px;font-size:.7rem;line-height:1.7}.checkout-success .commerce-primary{margin-top:22px}.order-center{width:min(760px,100%)}.commerce-order{border-bottom:1px solid #4232291a;padding:18px 0}.commerce-order-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.commerce-order-head>div{flex-direction:column;min-width:0;display:flex}.commerce-order-head b{font-size:.77rem}.commerce-order-head small{color:#96877e;margin-top:3px;font-size:.54rem}.commerce-order-head>span{color:#9d5b14;background:#fff1d3;border-radius:999px;padding:5px 9px;font-size:.56rem}.commerce-order-head>span.delivered{color:#347052;background:#e7f3eb}.commerce-order-items{grid-template-columns:repeat(4,52px) minmax(0,1fr);align-items:center;gap:7px;margin-top:13px;display:grid}.commerce-order-items img,.commerce-order-items .commerce-image-fallback{object-fit:cover;border-radius:8px;width:52px;height:52px}.commerce-order-items>div{flex-direction:column;min-width:0;margin-left:5px;display:flex}.commerce-order-items>div b{text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;overflow:hidden}.commerce-order-items>div small{color:#95867c;margin-top:5px;font-size:.52rem}.order-track{background:#e7e0d8;border-radius:3px;height:3px;margin-top:14px;overflow:hidden}.order-track i{border-radius:inherit;background:var(--commerce-accent);height:100%;transition:width .22s;display:block}.commerce-order>footer{justify-content:space-between;align-items:center;gap:10px;min-height:34px;margin-top:8px;display:flex}.commerce-order>footer>span{color:#82746b;font-size:.57rem}.commerce-order>footer>span b{color:#3f342e}.order-actions{justify-content:flex-end;align-items:center;gap:7px;display:flex}.order-reply-state,.order-retry{color:#806d61;align-items:center;gap:5px;font-size:.56rem;display:inline-flex}.order-reply-state svg,.order-retry svg{width:14px}.order-reply-state.success{color:#347052}.order-retry{color:#9b3d2c;cursor:pointer;background:#fff;border:1px solid #9b3d2c3b;border-radius:999px;padding:5px 9px}.order-payment-wait{color:#8f5b33;background:#fff4df;border-radius:9px;align-items:center;gap:8px;margin-top:13px;padding:9px 11px;font-size:.56rem;display:flex}.order-payment-wait svg{width:15px}.order-pay-now{color:#fff;background:var(--commerce-accent);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:5px;min-height:30px;padding:5px 11px;font-size:.57rem;font-weight:700;display:inline-flex}.order-pay-now svg{width:14px}.order-cancel{color:#945040;cursor:pointer;background:#fff8f4;border:1px solid #9450403d;border-radius:999px;align-items:center;gap:5px;min-height:30px;padding:5px 10px;font-size:.57rem;font-weight:700;display:inline-flex}.order-cancel svg{width:14px}.commerce-cancel-backdrop{z-index:1100}.commerce-cancel-dialog{background:#fbfaf7;border-radius:18px;width:min(440px,100%);padding:30px 32px 26px;animation:.18s both commerce-sheet-in;box-shadow:0 24px 80px #19161257}.commerce-cancel-dialog>small{color:#a24a38;letter-spacing:.15em;font-size:.52rem;font-weight:800}.commerce-cancel-dialog h2{color:#4c332b;margin:8px 0 10px;font-size:1.35rem}.commerce-cancel-dialog p{color:#796b63;margin:0;font-size:.67rem;line-height:1.75}.commerce-cancel-dialog .commerce-cancel-note{color:#875744;background:#fff2e8;border-radius:9px;margin-top:10px;padding:10px 12px}.commerce-cancel-dialog>footer{justify-content:flex-end;gap:9px;margin-top:22px;display:flex}.commerce-cashier{background:#f7f4ef;width:min(680px,100%)}.commerce-cashier.shopping{background:linear-gradient(#fff8f3 0,#f7f3ee 35%)}.commerce-cashier.takeout{--commerce-accent:#ffc928;background:linear-gradient(#fffbea 0,#f5f3ee 35%)}.cashier-scroll{min-height:0;padding:17px 22px 24px;overflow-y:auto}.cashier-merchant{background:#ffffffd1;border:1px solid #48352a1a;border-radius:13px;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;display:grid}.cashier-channel-icon{color:#fff;background:var(--commerce-accent);border-radius:12px;place-items:center;width:42px;height:42px;display:grid}.takeout .cashier-channel-icon{color:#25221f}.cashier-channel-icon svg{width:20px}.cashier-merchant>div{flex-direction:column;display:flex}.cashier-merchant small{color:#96867c;font-size:.5rem}.cashier-merchant b{margin-top:3px;font-size:.75rem}.cashier-merchant em{color:#a84d24;background:#ffeadf;border-radius:999px;padding:5px 9px;font-size:.54rem;font-style:normal}.cashier-summary{background:#fff;border:1px solid #48352a1a;border-radius:13px;margin-top:11px;padding:5px 14px}.cashier-summary>div{border-bottom:1px solid #48352a14;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 0;display:grid}.cashier-summary img,.cashier-summary .commerce-image-fallback{object-fit:cover;border-radius:9px;width:48px;height:48px}.cashier-summary>div>span{flex-direction:column;min-width:0;display:flex}.cashier-summary>div b{text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;overflow:hidden}.cashier-summary>div small{color:#96867c;margin-top:4px;font-size:.52rem}.cashier-summary>div strong{font-size:.65rem}.cashier-summary>p{grid-template-columns:22px minmax(0,1fr);align-items:center;gap:8px;margin:0;padding:11px 0;display:grid}.cashier-summary>p svg{width:16px;color:var(--commerce-accent)}.cashier-summary>p span{flex-direction:column;display:flex}.cashier-summary>p small{color:#96867c;font-size:.5rem}.cashier-summary>p b{margin-top:3px;font-size:.62rem}.cashier-amount{color:#fff;background:linear-gradient(135deg,#3a302a,#211d1a);border-radius:15px;flex-direction:column;align-items:center;margin-top:11px;padding:18px;display:flex}.shopping .cashier-amount{background:linear-gradient(135deg,#e84e26,#b92b18)}.cashier-amount small{opacity:.68;letter-spacing:.08em;font-size:.53rem}.cashier-amount b{letter-spacing:-.04em;margin:3px 0 4px;font-size:2rem}.cashier-amount span{opacity:.68;font-size:.52rem}.cashier-waiting,.cashier-failed{background:#fff1d1;border-radius:11px;align-items:center;gap:9px;margin-top:11px;padding:11px 13px;display:flex}.cashier-waiting>svg{color:#9a671e;width:18px}.cashier-waiting span,.cashier-failed span{flex-direction:column;flex:1;display:flex}.cashier-waiting b,.cashier-failed b{font-size:.63rem}.cashier-waiting small,.cashier-failed small{color:#927b63;margin-top:3px;font-size:.52rem}.cashier-failed{background:#f6e9e4}.cashier-failed button{color:#9a4534;cursor:pointer;background:#fff;border:1px solid #9a453438;border-radius:999px;padding:5px 9px;font-size:.54rem}.friend-pay-picker{background:#fff;border:1px solid #48352a1c;border-radius:14px;margin-top:12px;padding:13px;animation:.18s both commerce-sheet-in}.friend-pay-picker>header{justify-content:space-between;align-items:center;display:flex}.friend-pay-picker>header small{color:var(--commerce-accent);letter-spacing:.12em;font-size:.48rem;font-weight:800}.friend-pay-picker>header h3{margin:3px 0 0;font-size:.82rem}.friend-pay-picker>header button{cursor:pointer;background:#f1ede7;border:0;border-radius:50%;place-items:center;width:28px;height:28px;padding:0;display:grid}.friend-pay-picker>header svg{width:14px}.friend-pay-picker>label{background:#faf8f5;border:1px solid #48352a21;border-radius:9px;align-items:center;gap:7px;height:36px;margin-top:10px;padding:0 10px;display:flex}.friend-pay-picker>label svg{color:#9a8c82;width:14px}.friend-pay-picker>label input{background:0 0;border:0;outline:0;width:100%;font-size:.62rem}.friend-pay-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;max-height:245px;margin-top:8px;display:grid;overflow-y:auto}.friend-pay-list>button{cursor:pointer;text-align:left;background:#fff;border:1px solid #48352a1a;border-radius:10px;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;min-height:58px;padding:7px 9px;display:grid}.friend-pay-list>button:hover:not(:disabled){border-color:var(--commerce-accent);background:#fff9f5}.friend-pay-list>button:disabled{opacity:.58;cursor:default}.friend-pay-list img,.friend-pay-list>button>svg:first-child{object-fit:cover;border-radius:50%;width:40px;height:40px}.friend-pay-list>button>svg:first-child{background:#eee9e2;padding:9px}.friend-pay-list>button>svg:last-child{width:15px}.friend-pay-list>button span{flex-direction:column;min-width:0;display:flex}.friend-pay-list b{text-overflow:ellipsis;white-space:nowrap;font-size:.64rem;overflow:hidden}.friend-pay-list small{color:#95867c;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:.5rem;overflow:hidden}.friend-pay-list em{color:#9d6550;font-size:.5rem;font-style:normal}.cashier-actions{gap:10px}.cashier-actions button{flex:1}.cashier-success{text-align:center;justify-content:center;align-items:center;width:min(500px,100%);min-height:430px;padding:46px 40px;display:flex}.cashier-success-mark{color:#fff;background:var(--commerce-accent);width:68px;height:68px;box-shadow:0 10px 26px color-mix(in srgb,var(--commerce-accent) 30%,transparent);border-radius:50%;place-items:center;display:grid}.cashier-success-mark svg{width:30px}.cashier-success>small{color:var(--commerce-accent);letter-spacing:.16em;margin-top:18px;font-size:.54rem;font-weight:800}.cashier-success h2{margin:7px 0 10px;font-size:1.7rem}.cashier-success>p{color:#7d6f65;margin:0;font-size:.66rem;line-height:1.7}.cashier-success>div{background:#fff;border-radius:10px;justify-content:space-between;width:100%;margin-top:20px;padding:12px 14px;font-size:.62rem;display:flex}.cashier-success .commerce-primary{margin-top:20px}.play-mode-unread{color:#fff;background:#e94d32;border-radius:999px;place-items:center;min-width:17px;height:17px;padding:0 4px;font-size:.48rem;font-style:normal;display:grid;position:absolute;top:8px;right:calc(50% - 38px)}.app-update-toast{top:max(16px, env(safe-area-inset-top));z-index:10000;color:#f8f3e9;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#23392ef5;border:1px solid #be9c5894;border-radius:999px;align-items:center;gap:10px;width:max-content;max-width:calc(100vw - 28px);min-height:48px;padding:7px 17px 7px 8px;font-size:.7rem;line-height:1.4;animation:.28s ease-out both app-update-toast-in;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 16px 38px #16221c47}.app-update-toast span{color:#3d3327;width:33px;height:33px;font-family:var(--font-serif);background:#c7aa69;border-radius:50%;flex:none;place-items:center;font-size:.82rem;display:grid}.app-update-toast strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@keyframes app-update-toast-in{0%{opacity:0;transform:translate(-50%,-12px)}}@media (width<=1100px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.commerce-topbar{grid-template-columns:auto minmax(180px,1fr) auto auto}}@media (width<=720px){.play-mode-bar button{letter-spacing:0;flex-direction:column;gap:1px;width:20%;max-width:none;padding:0 3px;font-size:.58rem}.play-mode-bar svg{width:17px}.play-mode-bar button.active:before{width:64%;left:18%}.play-mode-unread{top:3px;right:calc(50% - 23px)}.commerce-panel{height:calc(100dvh - 60px - var(--play-mode-height) - env(safe-area-inset-bottom));min-height:0}.commerce-topbar{grid-template-columns:minmax(90px,auto) minmax(0,1fr) 42px 42px;gap:5px;height:64px;padding:7px 10px}.commerce-topbar:has(.commerce-back){grid-template-columns:36px minmax(90px,auto) minmax(0,1fr) 42px}.commerce-location{gap:3px;min-width:0}.commerce-location>svg{width:15px}.commerce-location small{display:none}.commerce-location b{max-width:92px;font-size:.62rem}.commerce-search{grid-template-columns:26px minmax(0,1fr);height:36px}.commerce-search svg{width:14px;margin-left:9px}.commerce-search input{padding-right:8px;font-size:max(16px,.7rem)}.commerce-header-action{min-width:38px;height:45px;padding-inline:2px}.commerce-header-action svg{width:17px}.commerce-header-action span{font-size:.48rem}.commerce-header-action em{right:-1px}.takeout-store-title b{font-size:.7rem}.takeout-store-title small{font-size:.49rem}.commerce-scroll{height:calc(100% - 64px);padding:0 10px 100px}.shopping-lead,.takeout-lead{min-height:150px;margin-inline:-10px;padding:24px 17px}.shopping-lead h1,.takeout-lead h1{margin-top:7px;font-size:1.55rem}.shopping-lead>div>small,.takeout-lead>div>small{font-size:.46rem}.shopping-lead p,.takeout-lead p{font-size:.58rem}.shopping-lead>span,.takeout-lead>span{width:82px;height:82px}.shopping-lead>span svg,.takeout-lead>span svg{width:20px;margin-bottom:3px}.shopping-lead>span b,.takeout-lead>span b{font-size:.55rem}.shopping-lead>span small,.takeout-lead>span small{font-size:.43rem}.commerce-categories{margin-inline:-10px;padding:8px 10px}.commerce-categories button{min-height:31px;padding-inline:12px;font-size:.58rem}.adult-category-banner,.pharmacy-banner{margin-top:14px;padding:12px}.shopping-section-title,.menu-heading{padding:20px 2px 12px}.shopping-section-title h2,.menu-heading h2{font-size:1.08rem}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.product-tile{border-radius:10px}.product-copy{min-height:124px;padding:9px 10px 11px}.product-copy>small{font-size:.46rem}.product-copy>b{font-size:.68rem}.product-copy>p{font-size:.52rem}.product-copy>strong{font-size:.86rem}.tile-add{width:27px;height:27px;bottom:8px;right:8px}.commerce-quantity.compact{transform-origin:100% 100%;bottom:7px;right:6px;transform:scale(.9)}.store-row{grid-template-columns:86px minmax(0,1fr) 18px;gap:11px;min-height:119px;padding:13px 2px}.store-row>img,.store-row>.commerce-image-fallback{border-radius:10px;width:86px;height:86px}.store-row:hover{padding-inline:2px}.store-copy>b{font-size:.82rem}.store-copy>span{gap:7px;margin-top:5px;font-size:.51rem}.store-copy>p{margin-top:5px;font-size:.56rem}.store-copy>strong{margin-top:4px;font-size:.5rem}.store-hero{min-height:170px;margin-inline:-10px}.store-hero>div{width:88%;padding:27px 18px}.store-hero h1{font-size:1.7rem}.menu-grid{grid-template-columns:1fr;gap:8px}.menu-grid article{grid-template-columns:96px minmax(0,1fr);gap:10px;min-height:114px;padding:9px}.menu-grid article>img,.menu-grid article>.commerce-image-fallback{width:96px;height:96px}.menu-grid article b{font-size:.7rem}.menu-grid article p{font-size:.52rem}.takeout-cart-bar{min-height:54px;bottom:10px;left:10px;right:10px}.commerce-sheet-backdrop{place-items:end center;padding:0}.commerce-sheet{border-radius:19px 19px 0 0;width:100%;max-height:calc(100dvh - 18px);animation-name:commerce-sheet-mobile-in}@keyframes commerce-sheet-mobile-in{0%{opacity:0;transform:translateY(30px)}}.commerce-sheet>header{min-height:65px;padding:13px 15px}.checkout-scroll,.order-center-scroll{padding:14px 14px calc(24px + env(safe-area-inset-bottom))}.recipient-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.commerce-sheet>footer{min-height:calc(68px + env(safe-area-inset-bottom));padding:10px 14px calc(10px + env(safe-area-inset-bottom))}.product-detail{max-height:calc(100dvh - 18px);display:flex;overflow:hidden}.product-detail .detail-image,.product-detail>.commerce-image-fallback{border-radius:19px 19px 0 0;flex:none;width:100%;height:min(45dvh,390px);min-height:280px}.detail-copy{min-height:0;padding:20px 18px 88px;overflow-y:auto}.detail-copy h2{font-size:1.35rem}.product-detail>footer{width:100%;position:absolute;bottom:0;right:0}.cart-lines{padding-inline:14px}.cart-lines>div:not(.commerce-empty){grid-template-columns:55px minmax(0,1fr) 82px 30px;gap:7px}.cart-lines img,.cart-lines .commerce-image-fallback{width:55px;height:55px}.checkout-success{min-height:430px;padding-bottom:calc(46px + env(safe-area-inset-bottom))}.commerce-order-items{grid-template-columns:repeat(3,46px) minmax(0,1fr)}.commerce-order-items img:nth-of-type(n+4),.commerce-order-items .commerce-image-fallback:nth-of-type(n+4){display:none}.commerce-order-items img,.commerce-order-items .commerce-image-fallback{width:46px;height:46px}.commerce-order>footer{flex-direction:column;align-items:stretch}.order-actions{flex-wrap:wrap;justify-content:flex-start}.cashier-scroll{padding:13px 14px 18px}.cashier-summary>div{grid-template-columns:43px minmax(0,1fr) auto}.cashier-summary img,.cashier-summary .commerce-image-fallback{width:43px;height:43px}.cashier-amount{padding:14px}.cashier-amount b{font-size:1.65rem}.friend-pay-list{grid-template-columns:1fr;max-height:220px}.cashier-actions{grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.cashier-actions button{width:100%;min-height:42px}.cashier-actions .commerce-primary{grid-area:1/1/auto/-1}.commerce-cancel-dialog{width:100%;padding:27px 20px calc(22px + env(safe-area-inset-bottom));border-radius:19px 19px 0 0}.commerce-cancel-dialog>footer button{flex:1}.cashier-success{min-height:430px;padding-bottom:calc(46px + env(safe-area-inset-bottom))}.payment-chat-card{width:74vw}.message-row:has(.payment-chat-card) .message-stack{max-width:82%}}.chat-list-header-actions{align-items:center;gap:.45rem;display:flex}.city-contact-backdrop{z-index:90}.city-contact-directory{border:1px solid var(--line,#62533f2e);background:var(--panel,#fffdf8);border-radius:24px;flex-direction:column;width:min(560px,100vw - 2rem);max-height:min(760px,100vh - 2rem);display:flex;overflow:hidden;box-shadow:0 24px 80px #2a221838}.city-contact-directory>header{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.35rem 1.4rem 1rem;display:flex}.city-contact-directory>header h2,.city-contact-directory>header p{margin:0}.city-contact-directory>header small{color:var(--muted,#756f65);margin-top:.35rem;display:block}.city-contact-directory>header>button{background:#5c4d3814;border:0;border-radius:999px;flex:none;place-items:center;width:2.4rem;height:2.4rem;display:grid}.city-contact-directory>header svg{width:1.05rem}.city-contact-search{padding:0 1.4rem 1rem}.city-contact-search input{box-sizing:border-box;border:1px solid var(--line,#62533f2e);width:100%;color:inherit;background:#ffffffb8;border-radius:14px;padding:.78rem 1rem}.city-contact-list{min-height:0;padding:0 .8rem 1rem;overflow-y:auto}.city-contact-list article{border-top:1px solid #62533f1a;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.8rem .65rem;display:grid}.city-contact-list article>div{gap:.16rem;min-width:0;display:grid}.city-contact-list article small,.city-contact-list article span{color:var(--muted,#756f65);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.city-contact-list article>button{border:0;border-radius:999px;min-width:4.4rem;padding:.55rem .8rem;font-weight:700}.city-contact-list article>button.primary{color:#fff;background:#5b745d}.city-contact-list article>button.secondary{color:#4e5f4f;background:#5b745d1f}.city-contact-empty{color:var(--muted,#756f65);text-align:center;padding:2rem 1rem}@media (width<=640px){.city-contact-directory{border-radius:20px;width:calc(100vw - 1rem);max-height:calc(100vh - 1rem)}.city-contact-list article{gap:.65rem}}
