@font-face{font-family:Flower Farm WenKai;src:url(./flower-farm-wenkai-WRAsO0YS.woff2) format("woff2");font-style:normal;font-weight:400 700;font-display:swap}:root{--ink: #4a4038;--ink-soft: #6f6154;--muted: #75675b;--paper: #f8efe4;--paper-deep: #efe1cf;--paper-card: #fdf8f1;--paper-raised: #fffdf9;--line: #e6d4bf;--line-soft: #f0e5d6;--line-strong: #d9c3a8;--seal: #a84a5d;--seal-deep: #873447;--seal-soft: #f4d3d9;--jade: #4f7d5d;--jade-deep: #3f684c;--jade-soft: #dcecdd;--gold: #cba25a;--gold-deep: #b0863c;--gold-soft: #f3e6c6;--blossom: #f0aec0;--blossom-soft: #fce7ec;--blossom-deep: #e4869d;--shadow: rgba(126, 96, 80, .14);--shadow-soft: rgba(126, 96, 80, .08);--shadow-strong: rgba(126, 96, 80, .22);--page-bg: #f4e8da;--page-gradient: radial-gradient(circle at 16% 12%, rgba(255, 252, 246, .7), transparent 42%), radial-gradient(circle at 84% 20%, rgba(240, 174, 192, .14), transparent 46%), radial-gradient(circle at 78% 82%, rgba(122, 168, 135, .12), transparent 48%), repeating-linear-gradient(0deg, rgba(150, 120, 90, .035) 0 2px, transparent 2px 6px);--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--z-popover: 55;--z-modal: 900;--z-event: 1000;--z-notice: 1100;--z-alert: 1110;--z-dialog: 1120;--font-serif: "Kaiti", "STKaiti", "KaiTi", "Noto Serif SC", "Songti SC", "Microsoft YaHei", serif;--font-display: "STKaiti", "Kaiti", "KaiTi", "Noto Serif SC", serif;--font-story: "Flower Farm WenKai", "STKaiti", "Kaiti", "KaiTi", "Noto Serif SC", serif}*{box-sizing:border-box}html,body{margin:0;height:100%;min-height:100%;overflow:hidden;overscroll-behavior:none}#app{width:100%;height:100%}body{position:fixed;inset:0;width:100%;color:var(--ink);font-family:var(--font-serif);background-color:var(--page-bg);background-image:var(--page-gradient);line-height:1.7;-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overflow:hidden;overscroll-behavior:none}html.is-ios-standalone,html.is-ios-standalone body,html.is-ios-standalone #app{height:100vh;min-height:100vh}html.is-ios-standalone body{bottom:auto}.app-root{--safe-physical-top: env(safe-area-inset-top, 0px);--safe-physical-right: env(safe-area-inset-right, 0px);--safe-physical-bottom: env(safe-area-inset-bottom, 0px);--safe-physical-left: env(safe-area-inset-left, 0px);--safe-content-top: var(--safe-physical-top);--safe-content-right: var(--safe-physical-right);--safe-content-bottom: var(--safe-physical-bottom);--safe-content-left: var(--safe-physical-left);--safe-rail-left: max(20px, var(--safe-physical-left));--safe-rail-right: max(20px, var(--safe-physical-right));position:fixed;inset:0;width:100%;height:100dvh;min-height:100%;padding-left:var(--safe-rail-left);padding-right:var(--safe-rail-right);background:linear-gradient(90deg,rgb(135 90 118 / 18%),transparent 16px) left / var(--safe-rail-left) 100% no-repeat,linear-gradient(270deg,rgb(135 90 118 / 18%),transparent 16px) right / var(--safe-rail-right) 100% no-repeat,var(--page-bg)}html.is-ios-standalone .app-root{bottom:auto;height:100vh;min-height:100vh}.app-viewport{position:relative;display:grid;width:100%;height:100%;place-items:center;overflow:hidden;overscroll-behavior:none;touch-action:pan-y}.app-stage{position:relative;width:min(100%,var(--game-stage-max-width));height:min(100%,var(--game-stage-max-height));overflow:hidden;container:game-stage / size;transform:translateZ(0);transform-origin:center;background:var(--page-bg);box-shadow:0 14px 48px #2f221a2e}.app-stage.is-portrait-fit{position:absolute;top:50%;left:50%;max-width:none;max-height:none;flex:none}.app-stage.is-native-portrait{max-width:none;max-height:none;flex:none;transform:none}.app-stage.is-desktop-fit{flex:none;aspect-ratio:var(--game-stage-aspect-ratio)}@media (orientation: portrait){.app-root:not(.is-native-portrait-layout){--safe-rail-left: 0px;--safe-rail-right: 0px;padding:0;background:var(--page-bg)}.app-root:not(.is-native-portrait-layout) .app-stage.is-portrait-fit{--safe-content-top: var(--safe-physical-right);--safe-content-right: var(--safe-physical-bottom);--safe-content-bottom: var(--safe-physical-left);--safe-content-left: var(--safe-physical-top)}.app-viewport{touch-action:pan-x}.app-root.is-native-portrait-layout .app-viewport{touch-action:pan-y}.app-root.is-native-portrait-layout .overlay{align-items:center}.app-root.is-native-portrait-layout .overlay:focus-within{align-items:start}}.wrap{width:min(1120px,calc(100% - 28px));margin:26px auto 52px;padding-left:var(--safe-content-left);padding-right:var(--safe-content-right);padding-bottom:var(--safe-content-bottom)}.masthead{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding-bottom:14px;border-bottom:3px double var(--ink);margin-bottom:18px}.masthead h1{margin:0;font-size:clamp(2rem,5cqw,3.2rem);letter-spacing:.35em;text-indent:.35em}.masthead .subtitle{margin:4px 0 0;color:var(--ink-soft);letter-spacing:.1em}.season-badge{flex:none;text-align:center;border:2px solid var(--seal);color:var(--seal);border-radius:8px;padding:8px 14px;background:#a5301f0f;min-width:116px}.season-badge .big{font-size:1.5rem;font-weight:700;letter-spacing:.1em}.season-badge .small{font-size:.82rem;color:var(--ink-soft)}.statusbar{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:18px}.status{background:var(--paper-card);border:1px solid var(--line);border-radius:9px;padding:10px 12px;box-shadow:3px 4px 0 var(--shadow)}.status small{display:block;color:var(--muted);letter-spacing:.1em;margin-bottom:2px}.status b{font-size:1.25rem}.status .bar{height:6px;border-radius:4px;background:var(--paper-deep);margin-top:6px;overflow:hidden}.status .bar span{display:block;height:100%;background:linear-gradient(90deg,var(--jade),var(--jade-deep));transition:width .35s ease}.status .bar.gold span{background:linear-gradient(90deg,var(--gold),var(--gold-deep))}.layout{display:grid;grid-template-columns:1.4fr 1fr;gap:18px;align-items:start}.col{display:grid;gap:18px}.card{background:var(--paper-card);border:1px solid var(--line);border-radius:12px;box-shadow:5px 6px 0 var(--shadow);padding:18px 20px}.card>h2{margin:0 0 14px;font-size:1.2rem;letter-spacing:.18em;border-left:5px solid var(--seal);padding-left:10px}.plots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.plot{position:relative;min-height:72px;border:2px solid transparent;border-radius:12px;background:transparent;color:#5b4326;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:3px;text-align:center;transition:transform .14s,filter .14s,box-shadow .14s}.plot-art.portrait{position:absolute;inset:2px;width:100%;height:100%;object-fit:contain;object-position:center;opacity:1;pointer-events:none;filter:drop-shadow(0 4px 4px rgb(70 45 20 / 18%))}@media (hover: hover){.plot:hover{transform:translateY(-2px);filter:brightness(1.04)}}.plot.ripe{color:#37501f}.plot.growing{border-color:transparent}.plot.selected{border-color:var(--seal);background:#a5301f0f;box-shadow:inset 0 0 0 2px #fffaefb8}.hint{color:var(--muted);font-size:.86rem;margin:12px 0 0}.btn-row{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-top:14px}button{font:inherit;border:0;border-radius:7px;padding:10px;cursor:pointer;font-weight:700;letter-spacing:.06em;background:var(--jade);color:#fffdf9;position:relative;overflow:hidden;transition:transform .12s,filter .12s,background .12s,box-shadow .12s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(255,255,255,.35),transparent 60%);opacity:0;transform:scale(.4);transition:opacity .28s,transform .28s;pointer-events:none}@media (hover: hover){button:hover:not(:disabled){filter:brightness(1.07);transform:translateY(-1px)}}button:active:not(:disabled){filter:brightness(.96);transform:scale(.96)}button:active:not(:disabled):after{opacity:1;transform:scale(1.15);transition:opacity 0s,transform 0s}button:disabled{opacity:.62;cursor:not-allowed}button.seal{background:var(--seal)}button.gold{background:var(--gold);color:#35270f}button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}.subhead{margin:18px 0 10px;font-size:.98rem;letter-spacing:.14em;color:var(--ink-soft);border-bottom:1px dashed var(--line);padding-bottom:6px}.shop{display:grid;gap:8px}.shop button{display:flex;justify-content:space-between;align-items:center;background:var(--paper-deep);color:var(--ink);border:1px solid var(--line);text-align:left}.shop button .price{font-weight:400;color:var(--ink-soft);font-size:.85rem}.shop button:disabled{opacity:.5}.seed-shop-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border:1px solid var(--line);background:var(--paper-deep)}.seed-buy{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.seed-buy button{min-height:36px;padding:6px 8px;white-space:nowrap}.card-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.card-title-row h2{margin:0}.shop-collapse{display:flex;align-items:center;gap:12px}.shop-collapse .hint{margin:0}.inventory{display:flex;flex-wrap:wrap;gap:8px}.inv-item{border:1px solid var(--line);border-radius:8px;padding:7px 9px;background:var(--paper-deep);font-size:.9rem;display:flex;align-items:center;gap:8px}.inv-item .ops{display:flex;gap:4px}.inv-item .mini{padding:3px 7px;font-size:.76rem;border-radius:5px;font-weight:400}.inv-empty{color:var(--muted);font-size:.88rem}.npc{border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--paper);margin-bottom:11px}.npc:last-child{margin-bottom:0}.npc-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.npc-avatar{font-size:1.9rem;width:44px;height:44px;display:grid;place-items:center;background:var(--paper-deep);border-radius:50%;border:1px solid var(--line);flex:none}.npc-name{font-weight:700;letter-spacing:.05em;min-width:0}.npc-name .title{font-weight:400;color:var(--muted);font-size:.82rem;margin-left:6px}.npc-stage{margin-left:auto;font-size:.82rem;color:var(--seal);border:1px solid var(--seal);border-radius:12px;padding:1px 9px;flex:none}.npc-affinity{height:6px;border-radius:4px;background:var(--paper-deep);margin:0;overflow:hidden;flex-shrink:0}.npc-affinity span{display:block;height:100%;background:linear-gradient(90deg,var(--blossom-deep),var(--seal));transition:width .35s ease}.npc-intro{font-size:.82rem;color:var(--ink-soft);margin:0 0 9px}.npc-ops{display:flex;gap:7px;flex-wrap:wrap}.npc-ops button{padding:6px 12px;font-size:.85rem}.gift-picker{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px}.gift-picker button{padding:5px 9px;font-size:.8rem;font-weight:400;background:var(--paper-deep);color:var(--ink);border:1px solid var(--line)}.log{max-height:340px;overflow-y:auto;padding-right:6px}.log p{margin:0 0 10px;padding-bottom:9px;border-bottom:1px dotted var(--line-soft);font-size:.92rem}.log p:first-child{color:var(--seal-deep);font-weight:700}.log p:last-child{border-bottom:0}.footer{text-align:center;color:var(--muted);font-size:.82rem;margin-top:26px}.overlay{position:fixed;inset:0;background:#231c128c;display:grid;place-items:center;padding-top:20px;padding-right:max(20px,var(--safe-content-right));padding-bottom:max(20px,var(--safe-content-bottom));padding-left:max(20px,var(--safe-content-left));z-index:var(--z-event)}.modal{width:min(560px,100%);background:var(--paper-card);border:2px solid var(--ink);border-radius:14px;box-shadow:0 12px 40px #0006;padding:24px 26px;animation:rise .25s ease}@keyframes rise{0%{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}.modal .cat{display:inline-block;font-size:.8rem;color:var(--seal);border:1px solid var(--seal);border-radius:10px;padding:1px 10px;margin-bottom:8px}.modal h3{margin:0 0 12px;font-size:1.4rem;letter-spacing:.16em}.modal .story{margin:0 0 18px;line-height:1.85;color:var(--ink)}.pc-identity{display:flex;align-items:center;gap:12px;margin:10px 0 14px;padding:10px 14px;border:1px solid rgb(135 90 118 / 22%);border-radius:12px;background:#f8edf3}.pc-hero-preview.portrait{flex:0 0 64px;width:64px;height:72px;object-fit:contain;object-position:center top}.pc-identity-copy{display:grid;gap:3px}.modal .options{display:grid;gap:10px}.modal .options button{text-align:left;background:var(--paper-deep);color:var(--ink);border:1px solid var(--line);padding:12px 14px;line-height:1.5}@media (hover: hover){.modal .options button:hover:not(:disabled){border-color:var(--seal)}}.modal .options button .req{display:block;font-weight:400;font-size:.8rem;color:var(--muted);margin-top:3px}.modal .options button .req.is-unmet{color:var(--seal-deep);font-weight:700}.player-line{margin-top:6px;color:var(--seal-deep);font-size:.92rem}.npc-bond{margin:0 0 9px;font-size:.78rem;color:var(--gold);letter-spacing:.02em}.modal.creation .pc-label{display:block;margin:14px 0 6px;font-size:.9rem;letter-spacing:.12em;color:var(--ink-soft)}.pc-name{width:100%;font:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--line);border-radius:7px;background:var(--paper);color:var(--ink)}.pc-name-row{display:flex;gap:8px}.pc-reroll{flex:none;min-height:44px;padding:8px 12px;white-space:nowrap}.pc-name:focus{outline:2px solid var(--seal);outline-offset:1px}.pc-genders{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pc-gender{display:flex;flex-direction:column;gap:4px;text-align:left;background:var(--paper-deep);color:var(--ink);border:1px solid var(--line);padding:12px 14px}.pc-gender .pc-g-title{font-size:1.05rem}.pc-gender .pc-g-desc{font-weight:400;font-size:.78rem;color:var(--muted)}.pc-gender.active{border-color:var(--seal);outline:2px solid var(--seal);background:#a5301f14}.pc-name-row{display:flex;gap:8px;align-items:center}.pc-name-row .pc-name{flex:1}.pc-reroll{flex:none;white-space:nowrap;padding:10px 12px}.sync-error{color:var(--seal-deep);background:#a5301f14;border:1px solid var(--seal);border-radius:8px;padding:8px 10px;font-size:.88rem}.slot-modal{width:min(640px,100%)}.slot-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.slot-title-row h3{margin-bottom:0}.slot-list{display:grid;gap:10px;margin:12px 0 16px;max-height:46cqh;overflow-y:auto}.slot-card{border:1px solid var(--line);border-radius:10px;padding:12px;background:var(--paper)}.slot-name{font-weight:700;letter-spacing:.06em}.slot-meta{font-size:.8rem;color:var(--muted);margin-top:2px}.slot-ops{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.slot-ops button{padding:6px 12px;font-size:.85rem;min-height:40px}@container game-stage (min-width: 960px) and (min-height: 600px){.modal.creation{width:min(840px,calc(100% - 40px));max-height:calc(100cqh - 40px);overflow-y:auto}.modal.creation .story{margin-bottom:10px}.modal.creation .pc-label{margin-top:10px}.modal.creation .pc-backgrounds{grid-template-columns:repeat(3,minmax(0,1fr))}.modal.creation .options{grid-template-columns:repeat(2,minmax(0,1fr))}.modal.creation .options>:only-child{grid-column:1 / -1}}@container game-stage (max-height: 430px){.snapshot-modal{display:flex;flex-direction:column;height:calc(100% - 40px);padding:10px 14px;overflow:hidden}.snapshot-modal .cat{margin-bottom:2px}.snapshot-modal h3{margin-bottom:4px;font-size:1.05rem}.snapshot-modal .story{margin-bottom:4px;font-size:.78rem;line-height:1.4}.snapshot-modal .slot-list{flex:1;min-height:0;max-height:none;margin:4px 0 6px}.snapshot-modal .slot-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px}.snapshot-modal .slot-ops{flex:none;margin-top:0}.snapshot-modal .slot-ops button{min-height:36px}.snapshot-modal .options{flex:none}.snapshot-modal .options button{min-height:36px;padding:6px 12px}}.modal{max-height:calc(100% - 32px);overflow-y:auto;-webkit-overflow-scrolling:touch}.stat-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 14px;padding:10px 12px;background:var(--paper-card);border:1px solid var(--line-soft)}.stat-bg{font-size:.85rem;color:var(--ink-soft);margin-right:4px;letter-spacing:.04em}.stat-chip{display:inline-flex;align-items:baseline;gap:4px;padding:4px 8px;border:1px solid var(--line);background:var(--paper);font-size:.82rem;min-height:32px}.stat-chip b{font-weight:700;color:var(--jade-deep)}.stat-chip em{font-style:normal;font-weight:700;color:var(--ink-soft)}.stat-chip.is-special{border-color:var(--gold);background:#fff5d8}.stat-chip.is-special b,.stat-chip.is-special em{color:var(--seal-deep)}.farm-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.farm-toolbar button{min-height:44px}.seed-chip{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;min-height:44px;text-align:left}.seed-chip .price{font-size:.75rem;color:var(--muted)}.plot-cell{display:flex;flex-direction:column;gap:8px;min-width:0}.plot-cell .plot{width:100%}.plot-cell.is-picking .plot{box-shadow:0 0 0 2px #a5301f2e}.inline-picker{padding:10px;border:1px dashed var(--line);border-radius:10px;background:#fffaf0e6}.inline-picker-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.inline-picker-title{font-size:.85rem;color:var(--ink-soft);letter-spacing:.08em}.inline-picker-body{display:flex;flex-wrap:wrap;gap:8px}.tab-bar{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.tab-bar-item{flex:1 1 auto;min-width:5.5em;background:var(--paper-deep);color:var(--ink);border:1px solid var(--line);box-shadow:none}.tab-bar-item.active{background:#a5301f1a;border-color:var(--seal);color:var(--seal-deep)}.activity-subtabs{margin:0}.plot.drought{outline:2px solid #a86b3c}.toast-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin:0 0 14px;padding:12px 14px;background:#fff8e8;border:2px solid var(--gold);box-shadow:3px 3px 0 var(--shadow)}.toast-bar.is-entering{animation:toast-in .22s ease-out}.toast-bar.is-leaving{animation:toast-out .22s ease-in forwards}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-6px)}}.toast-body{display:flex;flex-direction:column;gap:4px;font-size:.92rem}.toast-effect{color:var(--seal-deep);font-weight:700;letter-spacing:.03em}.activity-section+.activity-section{margin-top:16px;padding-top:12px;border-top:1px dashed var(--line-soft)}.activity-section h3{margin:0 0 8px;color:var(--ink-soft);font-size:.9rem;letter-spacing:.12em}.legacy-block{margin-top:14px;padding-top:10px;border-top:1px dashed var(--line)}.legacy-block h3{margin:0 0 8px;font-size:1rem}.legacy{color:var(--muted);font-size:.85rem}.pc-backgrounds{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:8px}.pc-bg{display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:10px 12px;min-height:64px;border:2px solid var(--line);background:var(--paper);color:var(--ink)}.pc-bg .pc-g-title{color:var(--ink);font-size:1.02rem}.pc-bg .pc-g-desc{color:var(--ink-soft);font-size:.78rem;font-weight:400;line-height:1.55}.pc-bg.active{border-color:var(--seal);background:#fff6ea}.pc-bg.active .pc-g-title{color:var(--seal-deep)}.chapter-modal .cat{color:var(--seal)}.game-shell{height:100%;max-height:100%;overflow:hidden;display:flex;flex-direction:column}.feature-panel{display:flex;flex-direction:column;gap:8px;min-height:0;height:100%;overflow:hidden;background:var(--paper-card);border:1px solid var(--line);border-radius:var(--radius-md);box-shadow:3px 4px 0 var(--shadow);padding:10px 12px}.feature-panel-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;flex-shrink:0;margin:0}.feature-panel-title{display:flex;flex:0 1 auto;min-width:0;align-items:center;gap:8px}.feature-panel-head h2{margin:0;padding-left:8px;border-left:4px solid var(--seal);font-size:1rem;letter-spacing:.12em}.feature-panel-info{display:flex;flex:1 1 auto;flex-wrap:wrap;gap:6px 14px;align-items:center;justify-content:flex-end;min-width:0;color:var(--ink-soft);font-size:.8rem}.feature-panel-body{flex:1 1 auto;min-width:0;min-height:0;overflow:hidden}.farm-capacity,.farm-toolbar-stats{color:var(--ink-soft);font-size:.82rem}.farm-workspace .feature-panel-head button{flex:0 0 auto;min-height:34px;padding:6px 12px}.farm-workspace{--plot-row-h: clamp(82px, 15cqh, 112px);--plot-gap: 4px;--farm-plots-min: calc(3 * var(--plot-row-h) + 2 * var(--plot-gap))}.farm-supply-trigger{min-height:30px;padding:.25rem .65rem;border:1px solid var(--line);border-radius:999px;background:var(--paper-card);color:var(--ink);font:inherit;font-size:.74rem;cursor:pointer;white-space:nowrap}.farm-supply-trigger:hover{border-color:var(--jade);color:var(--jade-deep)}.farm-supply-standalone{display:flex;width:100%;min-height:40px;padding:6px 10px;align-items:center;justify-content:space-between;border-radius:9px;background:#fffcf4e0;font-size:.78rem}.farm-supply-standalone strong{color:var(--ink);letter-spacing:.05em}.farm-supply-standalone span{color:var(--ink-soft);font-size:.68rem}.farm-main{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:6px;overflow:hidden}.game-shell .farm-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);grid-template-rows:minmax(0,1fr);align-items:stretch}.farm-grid-pane{flex:1 1 auto;min-height:var(--farm-plots-min);overflow:hidden;display:flex;flex-direction:column;gap:4px;padding:8px 10px 9px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#f9f4e7d6,#ebe2cdbd)}.farm-field-caption{display:grid;flex:0 0 40px;grid-template-columns:max-content minmax(0,1fr);align-items:start;gap:12px;box-sizing:border-box;height:40px;padding-inline:4px;overflow:hidden;color:var(--ink-soft);font-size:.72rem}.farm-field-caption strong{color:var(--seal-deep);font-size:.88rem;letter-spacing:.16em;line-height:1.4}.farm-grid-pane .plots{flex:1 1 auto;min-height:0;grid-template-rows:repeat(3,minmax(0,var(--plot-row-h)));align-content:start;gap:var(--plot-gap);padding-top:2px}.farm-workspace .plot{box-sizing:border-box;height:var(--plot-row-h);min-height:var(--plot-row-h);max-height:var(--plot-row-h);padding:0;overflow:hidden}.farm-workspace .plot-art.portrait{inset:0;transform:scale(1.14);filter:drop-shadow(0 2px 2px rgb(61 46 29 / 13%))}.farm-workspace .plot.selected{border-color:#9c3927b3;background:transparent;box-shadow:inset 0 0 0 1px #fffaef9e}.farm-inspector{flex:0 0 auto;display:grid;gap:8px;padding:9px;border:1px solid var(--line);border-radius:12px;background:var(--paper-raised);position:relative;z-index:1;overflow:hidden}.farm-workspace .plot-stage-badge,.farm-workspace .plot-care-marks{position:absolute;z-index:2;pointer-events:none}.farm-workspace .plot-stage-badge{top:4px;right:4px;min-width:2.35em;padding:2px 5px;border:1px solid rgb(246 238 218 / 70%);border-radius:999px;background:#42382bc2;color:#fffaf0;font-size:.57rem;font-weight:700;line-height:1.25;letter-spacing:.04em;box-shadow:0 1px 2px #39261429}.farm-workspace .plot-stage-badge.is-empty{background:#5d4a33b3}.farm-workspace .plot-stage-badge.is-seeded,.farm-workspace .plot-stage-badge.is-sprout,.farm-workspace .plot-stage-badge.is-growing{background:#425d43c7}.farm-workspace .plot-stage-badge.is-drought{background:#854a33d1}.farm-workspace .plot-stage-badge.is-ripe{border-color:#efdea9db;background:#7e632cd6;color:#fffbed;box-shadow:0 1px 3px #482d0a38}.farm-workspace .plot-care-marks{right:5px;bottom:5px;display:inline-flex;gap:3px}.farm-workspace .plot-care-mark{display:grid;width:19px;height:19px;place-items:center;border:1px solid rgb(244 238 223 / 72%);border-radius:5px;color:#fffdf6;font-size:.55rem;font-weight:700;line-height:1;box-shadow:0 1px 3px #26231b42}.farm-workspace .plot-care-mark.is-watered{background:#3e6977d1}.farm-workspace .plot-care-mark.is-fertilized{background:#5c693ed1}.game-shell .farm-inspector{align-content:start;overflow:hidden;min-height:0}.farm-harvest-summary{display:grid;gap:5px;padding:7px 9px;border:1px solid var(--line-soft);border-radius:9px;background:#fffcf4b8}.farm-section-kicker{color:var(--seal-deep);font-size:.7rem;font-weight:700;letter-spacing:.12em}.plot-summary{display:grid;justify-items:end;gap:1px;min-width:0;min-height:34px;align-content:start;text-align:right;font-size:.78rem;line-height:1.35}.plot-summary-flags{color:var(--ink-soft);font-size:.72rem}.farm-action-dock{display:grid;gap:7px}.farm-action-primary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.farm-action-utility{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.farm-action-tile{position:relative;min-width:0}.farm-action-execute{display:flex;width:100%;min-height:46px;padding:7px 8px;align-items:center;justify-content:center;border:1px solid #315d49;background:#3f735c;color:#fffdf7;font-size:.8rem;text-align:center;box-shadow:inset 0 1px #fff3}.farm-action-execute .action-label{display:inline-flex;align-items:center;justify-content:center;gap:4px;line-height:1.25}.farm-action-execute.is-gold{border-color:#876522;background:#9a742a;color:#fffdf4}.farm-action-execute.is-utility{min-height:38px;border-color:#705839;background:#755f43}.farm-action-tile.is-unavailable .farm-action-execute{border-style:dashed;border-color:#9eaea4;background:#e1eae4;color:#43574c;box-shadow:none;cursor:not-allowed}.farm-action-tile.is-unavailable .farm-action-execute.is-gold{border-color:#b5a581;background:#eee4cf;color:#68583b}.farm-action-tile.is-unavailable .farm-action-execute.is-utility{border-color:#ada293;background:#e8e1d8;color:#5e5447}.farm-section-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.farm-guide-trigger{min-height:26px;padding:3px 8px;border:1px solid var(--line);background:var(--paper-card);color:var(--seal-deep);font-size:.68rem;letter-spacing:.04em}.farm-shortcut-kicker{margin-top:1px}.farm-action-guide{display:grid;gap:8px;color:var(--ink)}.farm-action-guide p{margin:0;line-height:1.45}.farm-action-guide-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.farm-action-guide-item{display:grid;gap:4px;padding:7px 9px;border:1px solid var(--line-soft);border-radius:8px;background:var(--paper-raised)}.farm-action-guide-item>p{font-size:.78rem;line-height:1.35}.farm-action-guide-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.farm-action-guide-head strong{display:inline-flex;align-items:center;gap:4px}.farm-action-guide-head>span,.farm-action-tool,.farm-action-guide-intro{color:var(--ink-soft);font-size:.74rem}.farm-harvest-chips{display:flex;flex-wrap:wrap;gap:4px}.farm-harvest-chip{display:inline-flex;align-items:center;gap:3px;padding:2px 6px;border-radius:999px;background:var(--paper-deep);color:var(--ink-soft);font-size:.68rem}.farm-harvest-chip .portrait{width:18px;height:18px}.farm-harvest-empty{color:var(--muted);font-size:.72rem}.plot.plot-locked{cursor:pointer;border-style:dashed;border-color:var(--line);background:transparent;color:var(--ink-soft)}.plot.plot-locked .icon{opacity:.7}.shop-embedded,.inventory-embedded{min-width:0}.shop-compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}.shop-compact .seed-shop-item{display:flex;flex-direction:column;gap:8px;align-items:stretch;justify-content:space-between;padding:9px;border:1px solid var(--line);border-radius:8px}.shop-compact .seed-shop-info{display:grid;grid-template-columns:1fr auto;gap:2px 8px;min-width:0}.shop-compact .seed-shop-info strong{grid-column:1 / -1;font-size:.95rem}.shop-compact .seed-shop-info .price,.shop-compact .seed-owned{font-size:.72rem;color:var(--ink-soft)}.shop-compact .seed-owned{text-align:right}.shop-compact .seed-buy{display:grid;grid-template-columns:1fr 1fr;gap:6px}.shop-compact .seed-buy button{justify-content:center;min-height:34px}.farm-tool-shop{display:grid;gap:6px;margin-top:8px;padding-top:7px;border-top:1px solid var(--line)}.clinic-treatment{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.75rem;padding:.75rem .85rem;border:1px solid color-mix(in srgb,var(--seal) 24%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--paper) 88%,var(--paper-deep))}.clinic-treatment>div{display:grid;gap:.2rem}.clinic-treatment strong{font-size:.95rem}.clinic-treatment span{color:var(--muted);font-size:.8rem}.farm-tool-shop-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px;color:var(--ink-soft);font-size:.72rem}.farm-tool-shop-head strong{color:var(--seal-deep);font-size:.82rem}.farm-tool-shop-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.farm-tool-shop-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 6px;align-items:center;padding:6px 7px;border:1px solid var(--line);border-radius:8px;background:var(--paper-raised)}.farm-tool-shop-item.is-owned{background:#46745b14}.farm-tool-name{color:var(--ink);font-size:.78rem;font-weight:700}.farm-tool-desc{grid-column:1;color:var(--ink-soft);font-size:.66rem;line-height:1.3}.farm-tool-shop-item button{grid-column:2;grid-row:1 / span 2;min-height:31px;padding:4px 7px;white-space:nowrap}.market-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:9px;padding:4px;border:1px solid var(--line);border-radius:10px;background:var(--paper-deep)}.market-tabs>button{min-height:36px;padding:5px 10px;border:1px solid transparent;background:transparent;color:var(--ink-soft)}.market-tabs>button.is-active{border-color:var(--gold);background:var(--paper-card);color:var(--ink);box-shadow:0 2px 5px var(--shadow)}.market-tab-count{display:inline-grid;min-width:19px;min-height:19px;margin-left:5px;place-items:center;border-radius:999px;background:var(--seal);color:#fff;font-size:.68rem}.market-tab-panel{min-height:124px}.npc-browser{display:grid;flex:1 1 auto;grid-template-columns:clamp(144px,19%,210px) minmax(0,1fr);gap:12px;min-width:0;min-height:0;overflow:hidden;height:100%}.npc-roster{display:flex;flex-direction:column;gap:6px;min-height:0;padding-right:4px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable;cursor:grab;user-select:none}.npc-roster.is-dragging{cursor:grabbing}.npc-roster img{pointer-events:none;user-select:none;-webkit-user-drag:none}.npc-roster-item{display:flex;flex:0 0 auto;align-items:center;gap:6px;width:100%;min-height:46px;min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);color:var(--ink);box-shadow:none;touch-action:pan-y;user-select:none}.npc-roster-item.active{border-color:var(--seal);background:var(--seal-soft);color:var(--seal-deep)}.npc-roster-item.is-locked{cursor:default;color:var(--muted);background:color-mix(in srgb,var(--paper) 76%,var(--paper-deep))}.npc-locked-avatar{position:relative;border-radius:42% 42% 48% 48%;background:linear-gradient(155deg,#574e4bb8,#2d2a2beb)}.npc-locked-avatar:before{content:"";position:absolute;top:4px;left:50%;width:10px;height:10px;border-radius:50%;background:#2b2829eb;transform:translate(-50%)}.npc-roster-lock{flex:none;font-size:.72rem;opacity:.7}.npc-roster-avatar{display:grid;flex:none;width:28px;height:28px;place-items:center;overflow:hidden;border-radius:50%;background:var(--paper-deep);font-size:.95rem;line-height:1}.npc-roster-avatar .portrait{width:100%;height:100%}.npc-roster-avatar .portrait-img{object-fit:contain;object-position:center bottom}.npc-roster-name{flex:1 1 auto;overflow:hidden;font-size:.88rem;text-align:left;text-overflow:ellipsis;white-space:nowrap}.npc-roster-aff{flex:none;color:var(--muted);font-size:.75rem;white-space:nowrap}.npc-detail{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden;height:100%}.npc-detail-main{display:flex;flex:1 1 auto;gap:18px;align-items:stretch;min-height:0;overflow:hidden;height:100%}.npc-portrait{display:grid;flex:none;width:min(28%,300px);height:100%;aspect-ratio:auto;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--paper-deep);align-self:stretch;min-height:0}.npc-portrait .portrait{width:100%;height:100%}.npc-portrait .portrait-img{object-fit:contain;object-position:center bottom;transform:scale(1.1);transform-origin:center bottom}.npc-portrait .portrait-emoji{font-size:3.6rem}.npc-detail-body{display:flex;flex:1 1 auto;flex-direction:column;gap:10px;justify-content:flex-start;min-width:0;min-height:0;padding:4px 0;overflow-y:auto;overscroll-behavior:contain}.npc-workspace-hint{color:var(--ink-soft);font-size:.76rem}.npc-detail .npc-intro,.npc-detail .npc-bond{margin:0;font-size:.86rem}.npc-profile-inline{display:grid;flex:0 0 auto;gap:7px;min-height:0;line-height:1.55}.npc-profile-inline p,.npc-profile-inline dl,.npc-profile-inline dd{margin:0}.npc-knowledge{display:grid;gap:4px;padding-top:4px;border-top:1px solid var(--line-soft)}.npc-knowledge strong,.npc-current-status strong{color:var(--seal-deep);font-size:.76rem}.npc-knowledge ul{display:grid;gap:3px;margin:0;padding-left:1.1rem;color:var(--ink-soft)}.npc-current-status{display:flex;gap:8px;align-items:baseline;padding:8px 10px;border-left:3px solid var(--seal);border-radius:4px 8px 8px 4px;background:var(--seal-soft);color:var(--ink-soft)}.npc-profile-inline dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}.npc-profile-inline dl>div{display:grid;grid-template-columns:auto minmax(0,1fr);gap:6px}.npc-profile-inline dt{color:var(--muted)}.npc-profile-inline dd{color:var(--ink-soft)}.npc-detail .npc-ops{display:flex;flex-shrink:0;justify-content:flex-end;gap:8px;margin-top:auto}.npc-detail .npc-ops button{min-width:min(260px,100%);min-height:42px}.npc-story-count{display:inline-grid;min-width:1.4em;min-height:1.4em;margin-left:6px;place-items:center;border-radius:999px;color:var(--seal-deep);background:var(--seal-soft);font-size:.72rem}.npc-profile-copy{display:grid;gap:10px;line-height:1.7}.npc-profile-copy p,.npc-story-records{margin:0}.npc-story-records h3{margin:0 0 8px;font-size:.95rem}.npc-story-records ol{display:grid;gap:7px;margin:0;padding-inline-start:0;list-style-position:inside}.npc-story-records li{padding-inline:2px}.npc-story-records>ol>li>button{display:grid;width:100%;min-height:52px;grid-template-columns:1fr auto;gap:3px 12px;padding:8px 10px;text-align:left}.npc-story-records>ol>li>button strong,.npc-story-records>ol>li>button span{min-width:0}.npc-story-records>ol>li>button span,.npc-story-review header span{display:block;color:var(--ink-soft);font-size:.75rem}.npc-story-records>ol>li>button em{grid-row:1 / span 2;grid-column:2;align-self:center;color:var(--seal-deep);font-size:.78rem;font-style:normal}.npc-story-review{display:grid;gap:10px}.npc-story-back{width:fit-content;min-height:40px}.npc-story-review header{display:grid;gap:2px}.npc-story-legacy-note{margin:0;color:var(--ink-soft);font-size:.78rem}.npc-story-review-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}.npc-story-review-list>li{padding:9px 10px;border:1px solid var(--line-soft);border-radius:10px;background:color-mix(in srgb,var(--paper) 90%,transparent)}.npc-story-review-list p{margin:3px 0 0;line-height:1.65}.npc-story-review-list>li.is-choice>strong{color:var(--seal-deep)}.npc-story-review-list ul{display:grid;gap:5px;margin:6px 0 0;padding:0;list-style:none}.npc-story-review-list ul li{padding:6px 8px;border-left:3px solid var(--line-soft)}.npc-story-review-list ul li.is-selected{border-left-color:var(--seal-deep);background:var(--seal-soft)}.npc-story-review-list ul span{color:var(--ink-soft);font-size:.7rem}.gift-picker-sheet{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.gift-picker-sheet button{min-height:42px}.activity-workspace .feature-panel-info{flex:1 1 auto;justify-content:flex-end;min-width:0}.activity-workspace .activity-subtabs{flex-wrap:nowrap;justify-content:flex-end;gap:5px;min-width:0;margin:0}.activity-workspace .activity-subtabs .tab-bar-item{flex:0 1 auto;min-width:0;min-height:27px;padding:3px 9px;line-height:1.15;white-space:nowrap}.activity-workspace-body,.npc-workspace-body,.bag-panel-body{display:flex;flex-direction:column;gap:8px}.npc-workspace-body{height:100%;overflow:hidden}.activity-workspace .activity-log{flex:1 1 auto;min-height:0;max-height:none;margin:0;padding-right:4px;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.activity-workspace .legacy-block{margin-top:12px}@container game-stage (min-width: 960px) and (min-height: 600px){.npc-browser{grid-template-columns:minmax(180px,220px) minmax(0,1fr)}.npc-detail-main{align-items:stretch}.npc-portrait{width:min(29%,320px);height:100%;aspect-ratio:auto}.npc-detail-body{align-self:stretch;max-width:none;justify-content:flex-start;padding:14px 16px;border:1px solid var(--line-soft);border-radius:var(--radius-md);background:var(--paper-raised)}.activity-workspace .activity-log{width:100%;max-width:1040px}}@container game-stage (max-height: 430px){.npc-browser{grid-template-columns:144px minmax(0,1fr);gap:8px}.npc-roster-item{justify-content:flex-start;gap:4px;min-height:44px;padding-inline:4px}.npc-roster-aff{display:none}.npc-detail-body{gap:6px}.npc-profile-inline{font-size:.74rem}.npc-profile-inline dl{grid-template-columns:repeat(2,minmax(0,1fr))}.npc-profile-inline dl>div:last-child{grid-column:1 / -1}.npc-detail .npc-ops button{min-height:34px}}.sheet-overlay{position:fixed;inset:0;z-index:var(--z-popover);display:grid;grid-template-columns:minmax(0,1fr);place-items:center;padding-top:max(16px,var(--safe-content-top));padding-right:max(20px,var(--safe-content-right));padding-bottom:max(16px,var(--safe-content-bottom));padding-left:max(20px,var(--safe-content-left));pointer-events:none}.sheet-backdrop{position:absolute;inset:0;border:0;background:#1e181059;box-shadow:none;pointer-events:auto}.sheet-panel{position:relative;z-index:1;width:min(560px,calc(100% - 8px));max-height:min(78cqh,640px);display:flex;flex-direction:column;background:var(--paper-card);border:2px solid var(--ink);border-radius:14px;box-shadow:0 12px 36px #00000047;pointer-events:auto;padding:12px 14px 16px}.sheet-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0;margin-bottom:8px}.sheet-head h3{margin:0;font-size:1.05rem}.sheet-body{min-height:0;overflow:auto;overscroll-behavior:contain}.sheet-supply .sheet-panel,.sheet-market .sheet-panel,.sheet-gift-picker .sheet-panel{width:min(760px,calc(100% - 8px))}.sheet-market .sheet-panel{max-height:calc(100cqh - 24px)}.sheet-farm-action .sheet-panel,.sheet-resource-help .sheet-panel{width:min(500px,calc(100% - 8px))}.sheet-farm-action .sheet-panel{width:min(680px,calc(100% - 8px));max-height:calc(100cqh - 24px)}.sheet-supply .sheet-body{overflow:hidden}.sheet-npc-profile .sheet-panel,.sheet-npc-stories .sheet-panel{width:min(680px,calc(100% - 8px))}.seed-sheet-body{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px}.seed-chip{display:flex;flex-direction:column;align-items:flex-start;gap:4px;width:100%;text-align:left;padding:10px 12px}.seed-chip-main{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline}.seed-chip .price,.seed-chip-desc{color:#fffdf9;font-size:.82rem;line-height:1.45}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}button:active:not(:disabled){transform:none}}@container game-stage (max-width: 780px){.layout{grid-template-columns:1fr}.statusbar{grid-template-columns:repeat(2,1fr)}.plots{grid-template-columns:repeat(3,1fr)}.masthead{flex-direction:column;align-items:flex-start;gap:10px}}@container game-stage (max-width: 480px){.pc-backgrounds{grid-template-columns:1fr}.stat-bar{gap:6px}.toast-bar{flex-direction:column}.wrap{width:calc(100% - 18px);margin:14px auto 32px}.card{padding:14px;box-shadow:3px 4px 0 var(--shadow)}.btn-row{grid-template-columns:1fr}.plots{gap:8px}.plot{min-height:68px}.farm-action-dock .mini{min-height:36px}.npc-ops button{min-height:44px}.inv-item .mini{min-height:32px}.log{max-height:46cqh}.modal{padding:18px 16px}.modal h3{font-size:1.2rem}.overlay{padding:10px;align-items:end}.notice-overlay{align-items:center;place-items:center}}.app-root:has(.cinematic-stage:not(.is-embedded)),html.cinematic-active .app-root{--safe-rail-left: 0px;--safe-rail-right: 0px;padding-right:0;padding-left:0;background:#201914}html.cinematic-active,html.cinematic-active body,html.cinematic-active #app{overflow:hidden;background:#201914}@media (orientation: landscape){.app-root:has(.cinematic-stage:not(.is-embedded)) .app-viewport,.app-root:has(.cinematic-stage:not(.is-embedded)) .app-stage,html.cinematic-active .app-viewport,html.cinematic-active .app-stage{position:fixed;inset:0;width:100dvw!important;height:100dvh!important;max-width:none;max-height:none}.app-root:has(.cinematic-stage:not(.is-embedded)) .app-stage,html.cinematic-active .app-stage{aspect-ratio:auto;transform:none!important;box-shadow:none}}.game-shell.has-cinematic-story .hub-main{visibility:hidden}.cinematic-stage,.system-dialogue-overlay{position:fixed;inset:0;z-index:var(--z-event);overflow:hidden;isolation:isolate}.cinematic-stage,.system-dialogue-overlay{--story-safe-top: var(--safe-content-top);--story-safe-right: var(--safe-content-right);--story-safe-bottom: var(--safe-content-bottom);--story-safe-left: var(--safe-content-left);--avg-dialogue-inset: var(--avg-desktop-dialogue-inset, 18px);--avg-dialogue-bottom: var(--avg-desktop-dialogue-bottom, 6px);--avg-dialogue-height: var(--avg-desktop-dialogue-height, 160px);--avg-avatar-size: var(--avg-desktop-avatar-size, 160px);--avg-avatar-left: var(--avg-desktop-avatar-left, 30px);--avg-avatar-bottom: var(--avg-desktop-avatar-bottom, -1px);--avg-avatar-fade: var(--avg-desktop-avatar-fade, 6%);--avg-avatar-scale: var(--avg-desktop-avatar-scale, 1);--avg-avatar-focus-x: var(--avg-desktop-avatar-focus-x, 50%);--avg-avatar-focus-y: var(--avg-desktop-avatar-focus-y, 50%);--avg-actor-left-x: var(--avg-desktop-actor-left-x, 28%);--avg-actor-left-bottom: var(--avg-desktop-actor-left-bottom, 0%);--avg-actor-left-scale: var(--avg-desktop-actor-left-scale, 1);--avg-actor-center-x: var(--avg-desktop-actor-center-x, 50%);--avg-actor-center-bottom: var(--avg-desktop-actor-center-bottom, 0%);--avg-actor-center-scale: var(--avg-desktop-actor-center-scale, 1);--avg-actor-right-x: var(--avg-desktop-actor-right-x, 72%);--avg-actor-right-bottom: var(--avg-desktop-actor-right-bottom, 0%);--avg-actor-right-scale: var(--avg-desktop-actor-right-scale, 1)}.cinematic-stage{color:#fffdf9;background:radial-gradient(circle at 65% 35%,#5b5149,#201914 72%);font-family:var(--font-story)}.cinematic-stage.is-embedded{position:absolute}.cinematic-stage.can-advance,.system-dialogue-overlay.can-advance{cursor:pointer}.cinematic-stage .cinematic-background,.cinematic-stage .cinematic-cg{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover}.cinematic-stage .cinematic-background.portrait-emoji,.cinematic-stage .cinematic-cg.portrait-emoji{display:block;background:radial-gradient(circle at 65% 35%,#756c63,#2b221c 75%);font-size:0}.cinematic-stage .cinematic-portrait.portrait-emoji{display:grid;place-items:center;font-size:clamp(5rem,18cqw,12rem)}.cinematic-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgb(20 15 12 / 26%),transparent 45%),linear-gradient(0deg,rgb(20 15 12 / 68%),transparent 58%);pointer-events:none}.composition-cg .cinematic-shade{background:linear-gradient(0deg,rgb(20 15 12 / 64%),transparent 48%)}.cinematic-stage .cinematic-portrait{--avg-actor-brightness: 1;--avg-actor-saturation: 1;--avg-actor-opacity: 1;--avg-actor-offset-y: 0%;--avg-asset-scale: 1;--avg-slot-x: var(--avg-actor-left-x);--avg-slot-bottom: var(--avg-actor-left-bottom);--avg-slot-scale: var(--avg-actor-left-scale);position:absolute;z-index:-1;bottom:var(--avg-slot-bottom);left:var(--avg-slot-x);width:min(68cqw,760px);height:min(86cqh,720px);object-fit:contain;object-position:center bottom;filter:brightness(var(--avg-actor-brightness)) saturate(var(--avg-actor-saturation)) drop-shadow(0 8px 24px rgb(0 0 0 / 42%));opacity:var(--avg-actor-opacity);transform:translate(-50%) translateY(var(--avg-actor-offset-y)) scale(var(--avg-asset-scale)) scale(var(--avg-slot-scale));transform-origin:center bottom;pointer-events:none;animation:story-actor-enter .22s ease-out both;transition:left .22s ease,bottom .22s ease,transform .22s ease,filter .18s ease,opacity .18s ease}.cinematic-stage .cinematic-portrait.is-speaking{--avg-actor-brightness: 1.06;--avg-actor-saturation: 1.03;z-index:1}.cinematic-stage .cinematic-portrait.is-listening{--avg-actor-brightness: .82;--avg-actor-saturation: .82;--avg-actor-opacity: .94}.cinematic-stage .cinematic-actor-right{--avg-slot-x: var(--avg-actor-right-x);--avg-slot-bottom: var(--avg-actor-right-bottom);--avg-slot-scale: var(--avg-actor-right-scale)}.cinematic-stage .cinematic-actor-center{--avg-slot-x: var(--avg-actor-center-x);--avg-slot-bottom: var(--avg-actor-center-bottom);--avg-slot-scale: var(--avg-actor-center-scale);z-index:0}.cinematic-stage .cinematic-portrait[data-asset-id=fang_gongnan-full]{--avg-actor-offset-y: 2%;--avg-asset-scale: 1.12}.cinematic-stage.has-multiple-actors .cinematic-portrait[data-asset-id=fang_gongnan-full]{--avg-actor-offset-y: -1%;--avg-asset-scale: 1.12}.cinematic-dialogue,.system-dialogue{--story-dialogue-padding-top: clamp(18px, 2.1cqw, 24px);position:absolute;right:max(var(--avg-dialogue-inset, 18px),var(--story-safe-right));bottom:max(var(--avg-dialogue-bottom, 6px),var(--story-safe-bottom));left:max(var(--avg-dialogue-inset, 18px),var(--story-safe-left));z-index:3;box-sizing:border-box;width:auto;min-width:0;height:var(--avg-dialogue-height, 160px);padding:var(--story-dialogue-padding-top) clamp(48px,6cqw,78px) clamp(16px,2cqw,22px) calc(var(--avg-avatar-size, 160px) + clamp(34px,4cqw,60px) - 1px);border:1px solid rgb(235 218 181 / 58%);border-radius:var(--radius-lg);background:#1b15129e;box-shadow:0 18px 48px #00000052,inset 0 0 0 1px #75567e42;-webkit-backdrop-filter:blur(18px) saturate(78%);backdrop-filter:blur(18px) saturate(78%)}.cinematic-stage:not(.is-embedded) .cinematic-dialogue{position:fixed}.cinematic-dialogue.has-avatar,.system-dialogue.has-avatar{isolation:isolate;padding-left:calc(var(--avg-avatar-size, 160px) + clamp(34px,4cqw,60px));border:0;background:transparent;box-shadow:none;backdrop-filter:none}.cinematic-dialogue.has-avatar:before,.system-dialogue.has-avatar:before{position:absolute;inset:0 0 0 calc(var(--avg-avatar-size, 160px) - 48px);z-index:1;box-sizing:border-box;border:1px solid rgb(235 218 181 / 58%);border-radius:var(--radius-lg);background:#1b15129e;box-shadow:0 18px 48px #00000052,inset 0 0 0 1px #75567e42;content:"";pointer-events:none;-webkit-backdrop-filter:blur(18px) saturate(78%);backdrop-filter:blur(18px) saturate(78%);mask-image:linear-gradient(90deg,transparent 0%,rgb(0 0 0 / 36%) 3%,#000 8%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,rgb(0 0 0 / 36%) 3%,#000 8%)}.cinematic-dialogue.has-avatar:after,.system-dialogue.has-avatar:after{position:absolute;inset:0;z-index:0;border-radius:var(--radius-lg);background:linear-gradient(90deg,transparent 0%,transparent 7%,rgb(27 21 18 / 10%) 10%,rgb(27 21 18 / 14%) 14%,rgb(27 21 18 / 14%) 100%);content:"";pointer-events:none;-webkit-backdrop-filter:blur(10px) saturate(78%);backdrop-filter:blur(10px) saturate(78%)}.chapter-cinematic-dialogue{--avg-dialogue-height: min(240px, 32cqh)}.chapter-cinematic-dialogue .cinematic-copy{padding-right:12px;overflow:visible}.chapter-cinematic-dialogue .cinematic-copy>p{max-height:100%;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.cinematic-avatar,.system-dialogue-avatar{position:absolute;bottom:var(--avg-avatar-bottom);left:max(var(--avg-avatar-left),var(--story-safe-left));z-index:2;width:var(--avg-avatar-size, 160px);height:var(--avg-avatar-size, 160px);aspect-ratio:1;overflow:hidden;border:0;background:transparent;box-shadow:none;pointer-events:none;mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 100%),linear-gradient(to right,transparent 0%,#000 var(--avg-avatar-fade, 6%),#000 calc(100% - var(--avg-avatar-fade, 6%)),transparent 100%);mask-composite:intersect;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,#000 8%,#000 100%),linear-gradient(to right,transparent 0%,#000 var(--avg-avatar-fade, 6%),#000 calc(100% - var(--avg-avatar-fade, 6%)),transparent 100%);-webkit-mask-composite:source-in}.cinematic-avatar .portrait,.system-dialogue-avatar .portrait{width:100%;height:100%;object-fit:cover;object-position:var(--avg-avatar-focus-x, var(--avg-avatar-base-focus-x, 50%)) var(--avg-avatar-focus-y, var(--avg-avatar-base-focus-y, 50%));filter:drop-shadow(0 8px 14px rgb(0 0 0 / 34%));transform:scale(var(--avg-avatar-scale, var(--avg-avatar-base-scale, 1)));transform-origin:var(--avg-avatar-focus-x, var(--avg-avatar-base-focus-x, 50%)) var(--avg-avatar-focus-y, var(--avg-avatar-base-focus-y, 50%))}.cinematic-avatar .portrait-emoji,.system-dialogue-avatar .portrait-emoji{display:grid;place-items:center;font-size:clamp(3rem,7cqw,5.5rem)}.cinematic-avatar[data-avatar-id=hero-female]{--avg-avatar-base-scale: 1.18;--avg-avatar-base-focus-x: 52%;--avg-avatar-base-focus-y: 40%}.cinematic-ui-toolbar{position:absolute;top:max(10px,var(--story-safe-top));right:max(10px,var(--story-safe-right));z-index:7;display:flex;gap:8px}.cinematic-ui-toggle{display:grid;width:44px;height:44px;padding:0;color:#fffdf9d1;place-items:center;border:1px solid rgb(255 250 237 / 34%);border-radius:999px;background:#1b151275;box-shadow:0 5px 18px #0003;backdrop-filter:blur(8px)}.cinematic-ui-toggle:hover,.cinematic-ui-toggle:focus-visible{color:#fffdf9;border-color:#f4dba3;background:#271f1bc7;outline:2px solid rgb(244 219 163 / 54%);outline-offset:2px}@media (min-width: 900px){.cinematic-fullscreen-toggle{display:none}}.cinematic-stage .cinematic-dialogue{transition:opacity .16s ease,transform .16s ease,visibility .16s}.cinematic-stage.dialogue-hidden .cinematic-dialogue{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(18px)}.cinematic-speaker{position:absolute;top:calc(-1 * var(--story-dialogue-padding-top));left:0;z-index:4;display:inline-grid;min-height:27px;align-self:start;place-items:center;padding:3px 13px;color:#f4dba3;text-align:center;border:1px solid rgb(244 219 163 / 42%);border-radius:999px;background:#231b17f5;box-shadow:0 2px 8px #0003;font-family:var(--font-display);font-size:clamp(.9rem,1.55cqw,1.08rem);font-weight:600;letter-spacing:.06em;transform:translateY(-50%)}.story-review-toggle{width:auto;min-width:54px;padding:0 13px;font-size:.9rem;letter-spacing:.08em}.story-review-backdrop{position:absolute;inset:0;z-index:10;display:grid;box-sizing:border-box;padding:max(18px,var(--story-safe-top)) max(18px,var(--story-safe-right)) max(18px,var(--story-safe-bottom)) max(18px,var(--story-safe-left));place-items:center;background:#0f0b0994;cursor:default;backdrop-filter:blur(6px)}.story-review-sheet{display:grid;width:min(620px,100%);max-height:min(720px,88cqh);grid-template-rows:auto minmax(0,1fr);overflow:hidden;color:#4b3d36;border:1px solid rgb(244 219 163 / 58%);border-radius:var(--radius-lg);background:#fffbf3f5;box-shadow:0 24px 72px #0000006b}.story-review-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 20px 15px;border-bottom:1px solid #e6d7c4}.story-review-header>div{display:grid;gap:3px}.story-review-header strong{color:#382d28;font-family:var(--font-display);font-size:1.22rem}.story-review-header small{color:#817168;font-size:.78rem}.story-review-close{min-width:64px;min-height:38px;padding:7px 14px;color:#5f493f;border:1px solid #cdb8a5;border-radius:999px;background:#fffaf1}.story-review-close:hover,.story-review-close:focus-visible{border-color:#9d675f;outline:2px solid rgb(157 103 95 / 28%);outline-offset:2px}.story-review-list{display:grid;min-height:0;margin:0;padding:12px 18px 20px;gap:8px;align-content:start;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;list-style:none}.story-review-list>li{padding:11px 13px;border-left:3px solid #c2a979;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:#f5ede0b8}.story-review-list>li.is-choice{margin-left:28px;border-left-color:#a65b6f;background:#f5e2e8b8}.story-review-list strong{color:#765248;font-size:.88rem}.story-review-list p{margin:4px 0 0;color:#4b3d36;font-size:.96rem;line-height:1.62;white-space:pre-wrap}.story-review-choice-options{display:grid;margin:8px 0 0;padding:0;gap:6px;list-style:none}.story-review-choice-options li{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;padding:7px 9px;gap:9px;color:#796a62;border:1px solid rgb(169 144 134 / 34%);border-radius:var(--radius-sm);background:#fffbf6a3}.story-review-choice-options li.is-selected{color:#513c3c;border-color:#a65b6fad;background:#fff4f7f0;box-shadow:inset 3px 0 #a65b6f}.story-review-choice-state{min-width:3.4rem;padding:2px 6px;color:#897a72;text-align:center;border-radius:999px;background:#6f605817;font-size:.72rem;line-height:1.45}.story-review-choice-options li.is-selected .story-review-choice-state{color:#8f3f58;background:#a65b6f21;font-weight:700}.story-review-choice-options p{margin:0;color:inherit}.story-choice-feedback{position:absolute;bottom:calc(var(--avg-dialogue-height) + max(var(--avg-dialogue-bottom),var(--story-safe-bottom)) + 12px);left:50%;z-index:8;max-width:min(72cqw,620px);padding:8px 15px;color:#fff8e5;text-align:center;border:1px solid rgb(244 219 163 / 48%);border-radius:999px;background:#2f4636d6;box-shadow:0 8px 24px #0000003d;opacity:0;pointer-events:none;transform:translate(-50%,8px);transition:opacity .16s ease,transform .16s ease}.story-choice-feedback.is-visible{opacity:1;transform:translate(-50%)}.cinematic-copy,.system-dialogue-copy{position:relative;z-index:3;display:grid;box-sizing:border-box;height:100%;min-height:0;gap:5px;align-content:start;justify-items:start}.cinematic-copy{padding-top:clamp(5px,.7cqw,8px)}.cinematic-copy>p,.system-dialogue-copy>p{min-width:0;margin:0;font-size:clamp(.9rem,1.7cqw,1.12rem);line-height:1.75}.story-advance-cue{position:absolute;right:10px;bottom:8px;width:24px;height:24px;z-index:3;opacity:.88;pointer-events:none;animation:story-cue-breathe 1.45s ease-in-out infinite}.story-advance-cue:before,.story-advance-cue span:before{position:absolute;top:4px;left:6px;width:10px;height:10px;border-right:2px solid #f4dba3;border-bottom:2px solid #f4dba3;content:"";transform:rotate(45deg)}.story-advance-cue span:before{top:10px;opacity:.5}.story-sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.story-choice-overlay{position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:max(18px,var(--safe-content-top)) max(18px,var(--safe-content-right)) max(18px,var(--safe-content-bottom)) max(18px,var(--safe-content-left));background:#120e0c6b;cursor:default}.story-choices{display:grid;width:min(480px,100%);max-height:min(74cqh,620px);gap:10px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.story-choices button{display:flex;min-height:52px;flex-direction:column;align-items:center;justify-content:center;padding:12px 18px;color:#fffdf9;text-align:center;border:1px solid rgb(255 250 237 / 46%);border-radius:var(--radius-md);background:#271f1be5;box-shadow:0 8px 22px #0000002e}.story-choices button>span{max-width:26em;line-height:1.5;overflow-wrap:anywhere;text-wrap:balance;white-space:normal}.story-choices button:hover:not(:disabled),.story-choices button:focus-visible{border-color:#f4dba3;background:#44362df0;outline:2px solid rgb(244 219 163 / 62%);outline-offset:-3px}.story-choices button:disabled{color:#fffdf9a3;border-color:#fffaed38;background:#271f1bad;opacity:1}.story-choices small{color:#fffdf9bd;line-height:1.45}.story-choices .story-choice-cost,.story-choices .story-choice-requirement{color:#f4dba3}.story-choices .story-choice-missing{color:#e9c7b0}.system-dialogue-overlay{color:#fffdf9;background:#1f181457;font-family:var(--font-story)}@keyframes story-cue-breathe{0%,to{opacity:.5;transform:translateY(-2px)}50%{opacity:1;transform:translateY(2px)}}@keyframes story-actor-enter{0%{opacity:0;transform:translate(-50%) translateY(calc(var(--avg-actor-offset-y) + 12px)) scale(var(--avg-asset-scale)) scale(var(--avg-slot-scale))}}@media (prefers-reduced-motion: reduce){.story-advance-cue,.cinematic-stage .cinematic-dialogue,.cinematic-stage .cinematic-portrait,.story-choice-feedback{animation:none;transition:none}}@container game-stage (max-height: 460px){.cinematic-stage,.system-dialogue-overlay{--avg-dialogue-inset: var(--avg-mobile-dialogue-inset, 8px);--avg-dialogue-bottom: var(--avg-mobile-dialogue-bottom, 4px);--avg-dialogue-height: var(--avg-mobile-dialogue-height, 112px);--avg-avatar-size: var(--avg-mobile-avatar-size, 160px);--avg-avatar-left: var(--avg-mobile-avatar-left, 16px);--avg-avatar-bottom: var(--avg-mobile-avatar-bottom, -1px);--avg-avatar-fade: var(--avg-mobile-avatar-fade, 6%);--avg-avatar-scale: var(--avg-mobile-avatar-scale, 1);--avg-avatar-focus-x: var(--avg-mobile-avatar-focus-x, 50%);--avg-avatar-focus-y: var(--avg-mobile-avatar-focus-y, 50%);--avg-actor-left-x: var(--avg-mobile-actor-left-x, 28%);--avg-actor-left-bottom: var(--avg-mobile-actor-left-bottom, 0%);--avg-actor-left-scale: var(--avg-mobile-actor-left-scale, 1);--avg-actor-center-x: var(--avg-mobile-actor-center-x, 50%);--avg-actor-center-bottom: var(--avg-mobile-actor-center-bottom, 0%);--avg-actor-center-scale: var(--avg-mobile-actor-center-scale, 1);--avg-actor-right-x: var(--avg-mobile-actor-right-x, 72%);--avg-actor-right-bottom: var(--avg-mobile-actor-right-bottom, 0%);--avg-actor-right-scale: var(--avg-mobile-actor-right-scale, 1)}.cinematic-dialogue,.system-dialogue{--story-dialogue-padding-top: 9px;right:max(var(--avg-dialogue-inset, 8px),var(--story-safe-right));bottom:max(var(--avg-dialogue-bottom, 4px),var(--story-safe-bottom));left:max(var(--avg-dialogue-inset, 8px),var(--story-safe-left));height:var(--avg-dialogue-height, 112px);padding-right:36px;padding-bottom:7px;border:1px solid rgb(235 218 181 / 52%);border-image:none;box-shadow:0 12px 34px #00000057,inset 0 0 0 1px #75567e3d}.cinematic-dialogue.has-avatar:before,.system-dialogue.has-avatar:before{border:1px solid rgb(235 218 181 / 52%);border-image:none;box-shadow:0 12px 34px #00000057,inset 0 0 0 1px #75567e3d}.cinematic-stage .cinematic-portrait{width:min(64cqw,500px);height:84cqh}.cinematic-dialogue.has-avatar,.system-dialogue.has-avatar{padding-left:calc(var(--avg-avatar-size, 160px) + 44px)}.cinematic-dialogue:not(.has-avatar),.system-dialogue:not(.has-avatar){padding-left:calc(var(--avg-avatar-size, 160px) + 43px)}.cinematic-avatar,.system-dialogue-avatar{left:max(var(--avg-avatar-left),var(--story-safe-left));width:var(--avg-avatar-size, 160px);height:var(--avg-avatar-size, 160px)}.cinematic-speaker{min-height:24px;padding:2px 10px;font-size:.9rem}.cinematic-copy>p,.system-dialogue-copy>p{line-height:1.38}.cinematic-copy{padding-top:24px}.story-advance-cue{right:16px;bottom:14px}.story-choices{max-height:82cqh;gap:7px}.story-choices button{min-height:46px;padding:9px 14px}.story-review-backdrop{padding:max(6px,var(--story-safe-top)) max(6px,var(--story-safe-right)) max(6px,var(--story-safe-bottom)) max(6px,var(--story-safe-left))}.story-review-sheet{width:100%;height:100%;max-height:none}.story-review-header{padding:9px 13px 8px}.story-review-header strong{font-size:1rem}.story-review-header small{font-size:.7rem}.story-review-close{min-height:34px}.story-review-list{padding:8px 12px 12px;gap:6px}.story-review-list>li{padding:7px 10px}.story-review-list>li.is-choice{margin-left:14px}.story-review-choice-options li{padding:5px 7px;gap:7px}.story-review-list p{font-size:.86rem;line-height:1.45}.story-choice-feedback{bottom:calc(var(--avg-dialogue-height) + max(var(--avg-dialogue-bottom),var(--story-safe-bottom)) + 6px);max-width:66cqw;padding:5px 11px;font-size:.8rem}}.avg-layout-editor-screen{position:fixed;inset:0;z-index:900;display:grid;overflow:hidden;background:#15110f;place-items:center}.avg-layout-preview-shell{position:relative;overflow:hidden;box-shadow:0 0 0 1px #f4dba33d,0 18px 60px #0000006b}.avg-layout-preview-viewport{position:absolute;top:0;left:0;overflow:hidden;container:game-stage / size;transform-origin:top left}.avg-layout-editor-panel,.avg-layout-editor-open{position:fixed;z-index:1000;color:#fffdf9;border:1px solid rgb(244 219 163 / 48%);background:#1c1614f0;box-shadow:0 16px 48px #0000006b;font-family:var(--font-story)}.avg-layout-editor-panel{top:max(10px,var(--safe-content-top));right:max(10px,var(--safe-content-right));display:grid;width:min(380px,calc(100vw - 20px));max-height:calc(100dvh - 20px);gap:9px;padding:14px;overflow-y:auto;border-radius:14px}.avg-layout-editor-panel header,.avg-layout-field>span{display:flex;align-items:center;justify-content:space-between;gap:10px}.avg-layout-editor-selects{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.avg-layout-editor-panel details{display:grid;gap:5px;padding:7px 9px;border:1px solid rgb(244 219 163 / 18%);border-radius:9px;background:#ffffff08}.avg-layout-editor-panel summary{color:#f4dba3;cursor:pointer;font-size:.84rem;font-weight:600}.avg-layout-editor-panel header>div{display:grid}.avg-layout-editor-panel header small,.avg-layout-copy-status{color:#fffdf9ad}.avg-layout-editor-panel button,.avg-layout-editor-panel select,.avg-layout-editor-open{min-height:36px;color:#fffdf9;border:1px solid rgb(244 219 163 / 40%);border-radius:8px;background:#5b4454b8}.avg-layout-field{display:grid;gap:3px;font-size:.84rem}.avg-layout-field output{color:#f4dba3;font-variant-numeric:tabular-nums}.avg-layout-field input[type=range]{width:100%;accent-color:#b98ab7}.avg-layout-field select{width:100%;padding:4px 8px}.avg-layout-editor-actions button{min-width:0}.avg-layout-editor-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.avg-layout-editor-panel textarea{width:100%;min-height:92px;resize:vertical;color:#f8efe4;border:1px solid rgb(255 250 237 / 22%);border-radius:8px;background:#0a08078a;font:.72rem/1.35 ui-monospace,Cascadia Code,monospace}.avg-layout-editor-open{top:max(10px,var(--safe-content-top));right:max(10px,var(--safe-content-right));min-width:96px;padding:7px 12px}.dev-tools-screen{position:fixed;inset:0;z-index:900;box-sizing:border-box;min-width:0;padding:max(18px,var(--safe-content-top)) max(18px,var(--safe-content-right)) max(18px,var(--safe-content-bottom)) max(18px,var(--safe-content-left));overflow:auto;color:#392e2b;background:radial-gradient(circle at 15% 5%,rgb(172 132 170 / 18%),transparent 36%),linear-gradient(145deg,#faf3e8,#eee1d5);font-family:var(--font-story)}.dev-tools-topbar{display:flex;width:min(1180px,100%);align-items:start;justify-content:space-between;gap:20px;margin:0 auto 18px}.dev-tools-topbar h1{margin:2px 0 0;font-family:var(--font-display);font-size:clamp(1.35rem,3vw,2rem)}.dev-tools-topbar p{margin:3px 0 0;color:#392e2bb8}.dev-tools-topbar a,.dev-tools-hub a{color:#76516f}.dev-tool-navigation{display:flex;flex-wrap:wrap;gap:8px}.dev-tool-navigation a{min-height:32px;box-sizing:border-box;padding:5px 10px;color:inherit;text-decoration:none;border:1px solid currentcolor;border-radius:999px;background:#ffffff1a}.dev-tool-navigation a:hover,.dev-tool-navigation a:focus-visible{outline:2px solid currentcolor;outline-offset:2px}.avg-preview-navigation{position:fixed;top:max(10px,var(--safe-content-top));left:max(10px,var(--safe-content-left));z-index:1100;color:#fffdf9}.avg-preview-navigation .dev-tool-navigation a{background:#1c1614c7}.dev-tool-schema{padding:6px 10px;color:#76516f;border:1px solid rgb(118 81 111 / 24%);border-radius:999px;background:#ffffff85;font:.76rem ui-monospace,Cascadia Code,monospace}.dev-tools-grid{display:grid;width:min(1040px,100%);grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:min(10vh,74px) auto 24px}.home-layout-editor-screen{position:fixed;inset:0;z-index:900;overflow:hidden;background:#201914}.home-layout-preview{position:absolute;inset:0;container:game-stage / size;touch-action:none}.home-layout-preview .hub-hotspot{cursor:grab}.home-layout-preview .hub-hotspot:active{cursor:grabbing}.home-layout-preview .hub-hotspot.is-editor-selected{border-color:#8f6688;outline:3px solid rgb(255 253 249 / 72%);outline-offset:3px;box-shadow:0 0 0 6px #8f668861}.home-layout-editor-panel{z-index:1001}.dev-tool-card{display:grid;min-height:230px;align-content:start;gap:10px;padding:22px;text-decoration:none;border:1px solid rgb(118 81 111 / 20%);border-radius:18px;background:#fffcf7d6;box-shadow:0 14px 38px #4b34391a;transition:transform .14s ease,box-shadow .14s ease}.dev-tool-card:hover,.dev-tool-card:focus-visible{outline:2px solid rgb(118 81 111 / 36%);outline-offset:3px;box-shadow:0 18px 46px #4b343929;transform:translateY(-3px)}.dev-tool-card>span{width:max-content;padding:3px 9px;color:#76516f;border-radius:999px;background:#ac84aa24;font-size:.78rem}.dev-tool-card h2,.dev-tool-card p{margin:0}.dev-tool-card h2{color:#392e2b;font-size:1.15rem}.dev-tool-card p{color:#392e2bbd}.dev-tool-card code{margin-top:auto;color:#76516f;font-size:.72rem;overflow-wrap:anywhere}.dev-tools-hub footer{width:min(1040px,100%);margin:0 auto;color:#392e2b9e;text-align:center}.story-preview-screen{display:flex;flex-direction:column;overflow:hidden}.story-preview-topbar{flex:0 0 auto;margin-bottom:10px}.story-preview-filters{display:grid;width:min(1380px,100%);flex:0 0 auto;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(130px,1fr)) auto;gap:8px;margin:0 auto 10px}.story-preview-filters label{display:grid;min-width:0;gap:3px;color:#392e2bad;font-size:.72rem}.story-preview-filters input,.story-preview-filters select{width:100%;min-width:0;min-height:38px;box-sizing:border-box;padding:7px 10px;color:#392e2b;border:1px solid rgb(118 81 111 / 24%);border-radius:9px;background:#fffcf7e0;font:inherit;font-size:.84rem}.story-preview-group-toggle{display:flex;align-items:end;gap:4px}.story-preview-group-toggle button,.story-preview-playback-toolbar button{min-height:38px;padding:6px 11px;color:inherit;border:1px solid rgb(118 81 111 / 30%);border-radius:9px;background:#fffcf7d6}.story-preview-group-toggle button[aria-pressed=true],.story-preview-check-route button[aria-pressed=true]{color:#fffaf4;background:#76516f}.story-preview-workspace{display:grid;width:min(1380px,100%);min-height:0;flex:1 1 auto;grid-template-columns:minmax(270px,340px) minmax(0,1fr);gap:10px;margin:0 auto}.story-preview-catalog,.story-preview-detail-shell{min-height:0;overflow:auto;border:1px solid rgb(118 81 111 / 18%);border-radius:14px;background:#fffcf7b3;scrollbar-gutter:stable}.story-preview-catalog{padding:10px}.story-preview-catalog>p{margin:0 4px 10px;color:#392e2ba8;font-size:.78rem}.story-preview-catalog section{display:grid;gap:5px;margin-bottom:12px}.story-preview-catalog h2{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0;padding:4px 5px;color:#76516f;font-size:.85rem}.story-preview-catalog h2 small{font-weight:400}.story-preview-catalog section>button{display:grid;min-width:0;min-height:48px;gap:2px;padding:7px 9px;color:#392e2b;text-align:left;border:1px solid transparent;border-radius:9px;background:#ffffff6b}.story-preview-catalog section>button:hover,.story-preview-catalog section>button:focus-visible,.story-preview-catalog section>button.is-selected{border-color:#76516f70;outline:none;background:#ac84aa24}.story-preview-catalog section>button span{overflow:hidden;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.story-preview-catalog section>button small{overflow:hidden;color:#392e2b94;font:.68rem ui-monospace,Cascadia Code,monospace;text-overflow:ellipsis;white-space:nowrap}.story-preview-detail-shell{padding:0}.story-preview-detail{padding:18px 20px 32px}.story-preview-detail-header{display:flex;align-items:start;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:1px solid rgb(118 81 111 / 16%)}.story-preview-detail-header span{color:#76516f;font-size:.78rem}.story-preview-detail-header h2{margin:3px 0;font-family:var(--font-display);font-size:1.4rem}.story-preview-detail code,.story-preview-outline code{color:#76516fd1;font:.7rem ui-monospace,Cascadia Code,monospace;overflow-wrap:anywhere}.story-preview-primary,.story-preview-outline header button{min-height:40px;padding:7px 12px;color:#fffaf4;border:1px solid #76516f;border-radius:9px;background:#76516f;white-space:nowrap}.story-preview-summary{margin:14px 0;line-height:1.65}.story-preview-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 14px}.story-preview-metrics div{padding:9px 11px;border-radius:9px;background:#ac84aa17}.story-preview-metrics dt{color:#392e2b94;font-size:.7rem}.story-preview-metrics dd{margin:2px 0 0;font-size:.82rem}.story-preview-condition-panel,.story-preview-structure-panel{margin-top:14px}.story-preview-condition-panel h3,.story-preview-structure-panel h3{margin:0 0 8px;color:#76516f;font-size:.95rem}.story-preview-condition-panel>div{display:flex;flex-wrap:wrap;gap:5px}.story-preview-condition-panel span{padding:4px 8px;border:1px solid rgb(118 81 111 / 16%);border-radius:999px;background:#ffffff94;font-size:.72rem}.story-preview-outline{display:grid;gap:9px;margin:0;padding:0;list-style:none}.story-preview-outline>li,.story-preview-compact-outline>article{padding:12px;border:1px solid rgb(118 81 111 / 16%);border-radius:10px;background:#ffffff75}.story-preview-outline>li>header,.story-preview-compact-outline>article>header{display:flex;align-items:center;justify-content:space-between;gap:10px}.story-preview-outline>li>header div{display:grid;gap:2px}.story-preview-outline>li>p,.story-preview-compact-outline p{margin:8px 0;line-height:1.55}.story-preview-outline>li>small{color:#392e2b94}.story-preview-choice-detail,.story-preview-check-detail,.story-preview-ending-detail,.story-preview-compact-outline article>div{display:grid;gap:3px;margin-top:7px;padding:8px 10px;border-left:3px solid rgb(118 81 111 / 34%);border-radius:0 7px 7px 0;background:#ac84aa12}.story-preview-choice-detail p{margin:2px 0}.story-preview-choice-detail small,.story-preview-check-detail span,.story-preview-ending-detail small,.story-preview-compact-outline small{color:#392e2ba8;font-size:.72rem}.story-preview-empty{display:grid;min-height:160px;place-items:center;color:#392e2b94}.story-preview-playback-toolbar{position:fixed;top:max(10px,var(--safe-content-top));left:max(10px,var(--safe-content-left));z-index:1300;display:flex;max-width:calc(100vw - 160px);align-items:center;gap:6px;padding:6px;color:#fffdf9;border:1px solid rgb(255 255 255 / 18%);border-radius:11px;background:#1c1614db;box-shadow:0 8px 24px #00000038}.story-preview-playback-toolbar strong{max-width:280px;padding:0 6px;overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.story-preview-playback-toolbar button{min-height:34px;color:inherit;background:#ffffff1a}.story-preview-check-route{display:flex;gap:3px}.story-preview-runtime-backdrop{position:fixed;inset:0;z-index:1150;display:grid;padding:70px 20px 20px;overflow:auto;place-items:center;background:#1c1614b8}.story-preview-completion,.story-preview-compact-runtime{width:min(720px,100%);box-sizing:border-box;padding:24px;color:#392e2b;border:1px solid rgb(118 81 111 / 24%);border-radius:16px;background:#fffaf2;box-shadow:0 20px 60px #00000047}.story-preview-completion>span{color:#76516f}.story-preview-completion h2,.story-preview-compact-runtime h2{margin:5px 0 10px}.story-preview-completion>div{display:flex;gap:8px;justify-content:end}.story-preview-completion button,.story-preview-outcomes+button{min-height:42px}.story-preview-compact-runtime>p{line-height:1.65}.story-preview-outcomes{display:grid;gap:8px;max-height:min(58vh,520px);overflow:auto}.story-preview-outcomes h3{margin:5px 0}.story-preview-outcomes article{padding:10px 12px;border-radius:9px;background:#ac84aa17}.story-preview-outcomes article p{margin:5px 0}.portrait-crop-workspace{display:grid;width:min(1180px,100%);grid-template-columns:minmax(320px,1fr) minmax(300px,360px);gap:20px;margin:0 auto}.portrait-crop-stage{display:grid;min-width:0;align-content:start;justify-items:center;gap:12px;padding:16px;border:1px solid rgb(118 81 111 / 18%);border-radius:18px;background:#fffcf799}.portrait-crop-frame,.portrait-crop-mini{position:relative;overflow:hidden;border:1px solid rgb(57 46 43 / 24%);background-color:#f6eee4;background-position:0 0,8px 8px;background-size:16px 16px}.portrait-crop-frame{width:min(62cqh,52cqw,500px);min-width:280px;aspect-ratio:1;border-radius:8px;box-shadow:0 12px 32px #392e2b29;cursor:grab;touch-action:none}.portrait-crop-frame:active{cursor:grabbing}.portrait-crop-frame:focus-visible{outline:3px solid rgb(118 81 111 / 56%);outline-offset:3px}.portrait-crop-frame.background-checker,.portrait-crop-mini.background-checker{background-image:linear-gradient(45deg,#ddd 25%,transparent 25%,transparent 75%,#ddd 75%),linear-gradient(45deg,#ddd 25%,#f7f7f7 25% 75%,#ddd 75%)}.portrait-crop-frame.background-light,.portrait-crop-mini.background-light{background:#f8efe4}.portrait-crop-frame.background-dark,.portrait-crop-mini.background-dark{background:#211b1a}.portrait-crop-frame.background-green,.portrait-crop-mini.background-green{background:#20ff19}.portrait-crop-frame>img,.portrait-crop-mini>img{position:absolute;max-width:none;user-select:none;pointer-events:none}.portrait-crop-guides,.portrait-crop-guides:before,.portrait-crop-guides:after,.portrait-crop-guides i{position:absolute;pointer-events:none}.portrait-crop-guides{inset:0;z-index:2;border:1px solid rgb(255 255 255 / 72%);box-shadow:inset 0 0 0 1px #261c1f5c}.guide-face{top:10%;left:29%;width:42%;height:48%;border:1px dashed rgb(255 222 143 / 88%);border-radius:48% 48% 44% 44%;box-shadow:0 0 0 1px #392e2b3d}.guide-third:before,.guide-third:after{position:absolute;background:#ffffff6b;box-shadow:0 0 0 1px #392e2b2e;content:""}.guide-third-x,.guide-third-y{inset:0}.guide-third-x:before,.guide-third-x:after{top:0;bottom:0;width:1px}.guide-third-x:before{left:33.333%}.guide-third-x:after{left:66.666%}.guide-third-y:before,.guide-third-y:after{right:0;left:0;height:1px}.guide-third-y:before{top:33.333%}.guide-third-y:after{top:66.666%}.portrait-crop-thumbnails{display:flex;align-items:end;gap:16px}.portrait-crop-thumbnails>div{display:grid;gap:3px;color:#392e2bad;font-size:.72rem}.portrait-crop-mini{width:128px;aspect-ratio:1;border-radius:5px}.portrait-crop-mini.is-small{width:64px}.portrait-crop-metrics{margin:0;color:#392e2bad;font:.75rem ui-monospace,Cascadia Code,monospace;text-align:center}.dev-tool-panel{display:grid;align-content:start;gap:10px;padding:16px;border:1px solid rgb(118 81 111 / 22%);border-radius:18px;background:#fffcf7e0;box-shadow:0 14px 38px #4b34391a}.dev-tool-field{display:grid;gap:4px;font-size:.82rem}.dev-tool-field>span{display:flex;justify-content:space-between;gap:8px}.dev-tool-field output,.dev-tool-status{color:#76516f;font-variant-numeric:tabular-nums}.dev-tool-panel input,.dev-tool-panel select,.dev-tool-panel textarea,.dev-tool-panel button{min-height:38px;border:1px solid rgb(118 81 111 / 28%);border-radius:8px}.dev-tool-panel input:not([type=range]),.dev-tool-panel select,.dev-tool-panel textarea{width:100%;padding:7px 9px;color:#392e2b;background:#ffffffb3}.dev-tool-panel input[type=range]{width:100%;accent-color:#8f6688}.dev-tool-panel button{padding:6px 10px;color:#fffdf9;background:#76516f}.dev-tool-segmented{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding:0;border:0}.dev-tool-segmented legend{margin-bottom:4px;font-size:.82rem}.dev-tool-segmented button{min-height:34px;padding:4px;color:#76516f;background:#ac84aa1f}.dev-tool-segmented button.is-active{color:#fff;background:#76516f}.dev-tool-check{display:flex;align-items:center;gap:8px;font-size:.82rem}.dev-tool-check input{min-height:auto}.dev-tool-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.dev-tool-panel textarea{min-height:126px;resize:vertical;font:.72rem/1.35 ui-monospace,Cascadia Code,monospace}.dev-tool-warning,.dev-tool-note{margin:0;padding:8px 10px;border-radius:8px;font-size:.76rem;line-height:1.45}.dev-tool-warning{color:#8a4b3b;background:#be67511a}.dev-tool-note{color:#392e2bad;background:#ac84aa17}@media (max-width: 820px),(max-height: 520px){.dev-tools-screen{padding:10px}.dev-tools-topbar{margin-bottom:10px}.dev-tools-topbar p{display:none}.dev-tools-grid{grid-template-columns:repeat(3,minmax(220px,1fr));margin:12px auto;overflow-x:auto}.story-preview-topbar{min-height:34px}.story-preview-topbar h1{font-size:1.15rem}.story-preview-filters{grid-template-columns:minmax(170px,2fr) repeat(3,minmax(105px,1fr)) auto;gap:5px;margin-bottom:6px}.story-preview-filters label>span{display:none}.story-preview-filters input,.story-preview-filters select,.story-preview-group-toggle button{min-height:34px;padding:5px 7px}.story-preview-workspace{grid-template-columns:minmax(230px,30vw) minmax(0,1fr);gap:6px}.story-preview-catalog{padding:6px}.story-preview-catalog>p{margin-bottom:5px}.story-preview-catalog section>button{min-height:44px;padding:5px 7px}.story-preview-detail{padding:10px 12px 24px}.story-preview-detail-header h2{font-size:1.1rem}.story-preview-summary{margin:8px 0}.story-preview-metrics,.story-preview-condition-panel{margin-bottom:8px}.story-preview-outline>li,.story-preview-compact-outline>article{padding:8px}.story-preview-playback-toolbar{top:6px;left:6px;max-width:calc(100vw - 120px);padding:4px}.story-preview-playback-toolbar strong{max-width:180px}.story-preview-playback-toolbar button{min-height:32px;padding:4px 8px}.dev-tool-card{min-height:190px;padding:16px}.portrait-crop-workspace{grid-template-columns:minmax(300px,1fr) 310px;gap:10px}.portrait-crop-stage,.dev-tool-panel{padding:10px}.portrait-crop-frame{width:min(68cqh,42cqw,340px);min-width:250px}.portrait-crop-thumbnails{display:none}}@media (prefers-reduced-motion: reduce){.dev-tool-card{transition:none}}.sheet-viewport-diagnostics .sheet-panel{width:min(920px,calc(100% - 8px));max-height:calc(100cqh - 20px)}.viewport-diagnostics{display:grid;min-height:0;gap:8px}.viewport-diagnostics>.hint{margin:0}.viewport-diagnostics-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;padding:8px;border:1px solid var(--line);border-radius:var(--radius-sm);background:#ffffff7a}.viewport-diagnostics-summary code{overflow-wrap:anywhere;color:var(--ink);font-size:.78rem;line-height:1.35}.viewport-diagnostics-actions{display:flex;min-height:36px;flex-wrap:wrap;align-items:center;gap:6px}.viewport-diagnostics-actions button{min-height:34px;padding:5px 12px}.viewport-diagnostics-copy-status{color:var(--seal-deep);font-size:.82rem;font-weight:700}.viewport-diagnostics-json{width:100%;min-height:min(44cqh,360px);padding:9px 10px;resize:none;color:#1f1a16;border:1px solid var(--line);border-radius:var(--radius-sm);background:#fffdf8;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.72rem;line-height:1.4;tab-size:2;white-space:pre}@container game-stage (max-height: 430px){.viewport-diagnostics-summary{grid-template-columns:repeat(3,minmax(0,1fr));padding:5px 7px}.viewport-diagnostics-json{min-height:150px}}.portrait-img{width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block}.status-avatar .portrait-img{object-fit:contain;object-position:center bottom}.portrait-emoji{display:grid;place-items:center;width:100%;height:100%;line-height:1}.npc-avatar .portrait,.npc-portrait .portrait,.status-avatar .portrait{width:100%;height:100%}.crop-icon.portrait-img{width:1.4em;height:1.4em;object-fit:contain;vertical-align:-.28em;display:inline-block;image-rendering:-webkit-optimize-contrast}.crop-icon.portrait-emoji{display:inline;width:auto;height:auto}.plot .icon.crop-icon.portrait-img{width:3.4rem;height:3.4rem;vertical-align:middle}.plot .icon.crop-icon.portrait-emoji{font-size:2.4rem}button:focus-visible,[role=button]:focus-visible,.tab:focus-visible,.pc-name:focus-visible{outline:2px solid var(--seal);outline-offset:2px}.farm-toolbar-right{display:flex;align-items:center;gap:8px;flex:0 0 auto}.land-info{padding:8px 10px;display:grid;gap:6px}.land-info-head{display:flex;justify-content:space-between;align-items:baseline}.land-info-tier{font-size:.85rem;font-weight:700;color:var(--jade-deep);letter-spacing:.05em}.land-info-reserved{font-size:.72rem;color:var(--muted);border:1px dashed var(--line);border-radius:999px;padding:1px 8px}.land-info-note{margin:0;font-size:.76rem;color:var(--ink-soft);line-height:1.4}.land-fertility{display:flex;align-items:center;gap:8px;font-size:.78rem;color:var(--ink-soft)}.land-fertility-bar{flex:1 1 auto;height:8px;border-radius:var(--radius-pill);background:var(--paper-deep);overflow:hidden;border:1px solid var(--line-soft)}.land-fertility-bar>span{display:block;height:100%;background:linear-gradient(90deg,var(--jade),var(--jade-deep));transition:width .35s ease}.land-fertility-value{flex:0 0 auto;color:var(--muted)}.game-shell.is-mobile .land-info,.game-shell.is-mobile .season-harvest{display:none}.season-harvest{padding:8px 10px}.season-harvest h3{margin:0 0 6px;font-size:.85rem;letter-spacing:.08em;color:var(--seal-deep)}.season-harvest-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.season-harvest-list li{display:flex;align-items:center;gap:8px;font-size:.85rem;padding:2px 0;border-bottom:1px dashed var(--line-soft)}.season-harvest-list li:last-child{border-bottom:0}.season-harvest-list li.zero{color:var(--muted);opacity:.7}.season-harvest-list .sh-name{flex:1 1 auto}.season-harvest-list .sh-count{font-weight:700;color:var(--gold-deep)}.season-harvest-list li.zero .sh-count{color:var(--muted);font-weight:400}@container game-stage (max-height: 430px){.game-shell .land-info,.game-shell .season-harvest{display:none}}.schedule-panel{display:flex;flex-direction:column;gap:.55rem;height:100%;min-height:0;overflow:hidden;padding:.55rem;box-sizing:border-box}.schedule-title{font-size:1.1rem;font-weight:600;margin:0}.schedule-panel-body{display:flex;flex-direction:column;gap:.55rem;min-height:0}.schedule-resource-bar{display:flex;gap:1.25rem;align-items:center;font-size:.9rem}.schedule-resource b{font-weight:700}.fatigue-low{color:var(--jade)}.fatigue-mid{color:var(--gold-deep)}.fatigue-high,.health-strained,.health-sick,.health-forced_rest{color:var(--seal)}.schedule-health-notice{padding:.45rem .7rem;border:1px solid var(--gold-soft);border-radius:7px;background:color-mix(in srgb,var(--gold-soft) 38%,var(--paper-raised));color:var(--ink-soft);font-size:.8rem;line-height:1.45}.schedule-health-notice.is-sick,.schedule-health-notice.is-forced{border-color:color-mix(in srgb,var(--seal) 45%,var(--line));background:var(--seal-soft);color:var(--seal)}.schedule-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.5rem}.schedule-day{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;min-width:0;min-height:78px;padding:.45rem .25rem;border-radius:8px;color:var(--ink);background:var(--paper-raised);border:1px solid var(--line);cursor:pointer;font:inherit;transition:box-shadow .15s,border-color .15s,background .15s}.schedule-day:hover{box-shadow:0 2px 8px #0000001a}.schedule-day:focus-visible,.schedule-category-tabs button:focus-visible,.schedule-option-actions button:focus-visible,.schedule-clear-btn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.schedule-day.is-selected{border-color:var(--seal);background:var(--seal-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--seal) 45%,transparent)}.schedule-day.is-empty:not(.is-selected){background:color-mix(in srgb,var(--paper-raised) 78%,var(--paper-deep))}.schedule-day-label{font-size:.8rem;font-weight:600;opacity:.7}.schedule-day-activity{display:flex;align-items:center;justify-content:center;gap:.25rem;font-size:.95rem;min-width:0;width:100%}.schedule-day-icon{font-size:1.2rem}.schedule-day-name{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-day-fatigue{font-size:.75rem;font-weight:500}.schedule-planner-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(240px,.7fr);gap:.65rem;min-height:0}.schedule-picker-pane,.schedule-week-preview{border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--paper-raised) 88%,transparent);min-width:0}.schedule-picker-pane{display:grid;grid-template-columns:minmax(150px,.38fr) minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);column-gap:.55rem;padding:.55rem}.schedule-picker-heading{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-bottom:.45rem;border-bottom:1px solid var(--line-soft)}.schedule-picker-heading>div{display:flex;align-items:baseline;gap:.55rem;min-width:0}.schedule-picker-heading strong,.schedule-preview-heading strong{color:var(--ink);font-size:.88rem}.schedule-picker-heading span,.schedule-preview-heading span{color:var(--ink-soft);font-size:.74rem}.schedule-clear-btn{flex:none;min-height:30px;padding:.2rem .55rem;border:1px solid var(--line);border-radius:6px;background:var(--paper-card);color:var(--ink-soft);font:inherit;font-size:.74rem;cursor:pointer}.schedule-clear-btn:disabled{opacity:.42;cursor:not-allowed}.schedule-category-tabs{display:grid;align-content:start;gap:.35rem;padding-top:.5rem}.schedule-category-tabs button{display:grid;gap:.1rem;min-height:48px;padding:.35rem .5rem;border:1px solid var(--line-soft);border-radius:7px;background:var(--paper-card);color:var(--ink);text-align:left;font:inherit;cursor:pointer}.schedule-category-tabs button.is-active{border-color:var(--seal);background:var(--seal-soft)}.schedule-category-tabs strong{font-size:.8rem}.schedule-category-tabs span{color:var(--ink-soft);font-size:.66rem;line-height:1.25}.schedule-option-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;align-content:stretch;min-height:0;padding-top:.5rem}.schedule-option-card{display:flex;flex-direction:column;justify-content:space-between;gap:.35rem;min-width:0;padding:.45rem;border:1px solid var(--line-soft);border-radius:7px;background:var(--paper-card)}.schedule-option-card.is-current{border-color:var(--jade);background:var(--jade-soft)}.schedule-option-title,.schedule-option-effects,.schedule-option-actions{display:flex;align-items:center;gap:.35rem}.schedule-option-title strong{font-size:.8rem}.schedule-option-title>span:last-child{margin-left:auto;padding:.08rem .35rem;border-radius:999px;background:var(--paper-deep);color:var(--ink-soft);font-size:.65rem}.schedule-option-copy p{margin:.22rem 0;color:var(--ink-soft);font-size:.68rem;line-height:1.35}.schedule-option-effects{flex-wrap:wrap;color:var(--ink-soft);font-size:.65rem}.schedule-option-effects span{padding-right:.35rem;border-right:1px solid var(--line-soft)}.schedule-option-effects span:last-child{border-right:0}.schedule-option-actions{justify-content:flex-end}.schedule-option-actions button{min-height:30px;padding:.22rem .55rem;border-radius:6px;font:inherit;font-size:.7rem;cursor:pointer}.schedule-option-actions button:disabled{opacity:.42;cursor:not-allowed}.schedule-assign-btn{border:1px solid var(--jade);background:var(--jade);color:#fff}.schedule-batch-btn{border:1px solid var(--line);background:var(--paper-raised);color:var(--ink)}.schedule-category-empty{grid-column:1 / -1;display:grid;place-content:center;gap:.25rem;min-height:96px;padding:.65rem;border:1px dashed var(--line);border-radius:7px;color:var(--ink-soft);text-align:center}.schedule-category-empty strong{color:var(--ink);font-size:.8rem}.schedule-category-empty span{max-width:32rem;font-size:.68rem;line-height:1.4}.schedule-week-preview{display:flex;flex-direction:column;padding:.55rem}.schedule-preview-heading{display:flex;justify-content:space-between;gap:.4rem;padding-bottom:.4rem;border-bottom:1px solid var(--line-soft)}.schedule-week-preview dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin:.5rem 0 0}.schedule-week-preview dl>div{min-width:0;padding:.35rem;border-radius:6px;background:var(--paper-card)}.schedule-week-preview dt{color:var(--ink-soft);font-size:.65rem}.schedule-week-preview dd{margin:.15rem 0 0;color:var(--ink);font-size:.75rem;font-weight:600;line-height:1.25;overflow-wrap:anywhere}.schedule-week-preview dd small{color:var(--ink-soft);font-size:.58rem;font-weight:400}.schedule-fatigue-row{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.schedule-fatigue-label{font-weight:600;opacity:.7}.schedule-fatigue-cell{min-width:2rem;text-align:center;font-weight:500}.schedule-fatigue-warning{background:var(--seal-soft);border:1px solid var(--seal);border-radius:6px;padding:.5rem .75rem;font-size:.85rem;color:var(--seal)}.schedule-footer-row{display:flex;align-items:center;gap:.65rem;min-height:42px}.schedule-footer-note{flex:1;color:var(--ink-soft);font-size:.76rem}.schedule-fill-hint{display:flex;align-items:center;gap:.5rem;color:var(--ink-soft);font-size:.78rem;white-space:nowrap}.schedule-autofill-btn{min-height:36px;padding:.35rem .65rem;background:var(--paper-raised);border:1px solid var(--line);color:var(--ink);white-space:nowrap}.schedule-repeat-btn{flex:none;min-height:36px;padding:.35rem .75rem;border:1px solid var(--line);background:var(--paper-raised);color:var(--ink);white-space:nowrap}.schedule-repeat-btn:disabled{opacity:.45;cursor:not-allowed}.schedule-start-btn{flex:none;align-self:center;min-height:38px;padding:.45rem 1.3rem;font-size:.92rem;font-weight:600;border:none;border-radius:8px;background:var(--jade);color:#fff;cursor:pointer;transition:background .15s,opacity .15s}.schedule-start-btn:hover:not(:disabled){background:var(--jade-deep)}.schedule-start-btn:disabled{opacity:.45;cursor:not-allowed}.schedule-start-btn .btn-hint{display:block;font-size:.75rem;font-weight:400;opacity:.8;margin-top:.15rem}.week-summary-modal{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center}.week-summary-backdrop{position:absolute;inset:0;background:#00000080}.week-summary-content{position:relative;background:var(--paper-card);color:var(--ink);border:2px solid var(--ink);border-radius:12px;padding:1.5rem;max-width:540px;width:90%;max-width:760px;max-height:calc(100% - 24px);overflow:hidden;box-shadow:0 8px 32px #0006;display:flex;flex-direction:column;gap:1rem}.week-summary-title{font-size:1.15rem;font-weight:700;margin:0;text-align:center}.week-summary-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.45rem}.week-summary-day{display:grid;justify-items:center;align-content:start;align-items:center;gap:.2rem;font-size:.85rem;padding:.3rem .5rem;border-radius:4px;background:var(--paper-deep)}.summary-day-label{font-weight:600}.summary-day-icon{font-size:1rem}.summary-day-outcome{font-weight:600}.outcome-success{color:var(--jade)}.outcome-perfect{color:var(--gold-deep)}.outcome-fail{color:var(--seal)}.summary-day-gain{color:var(--jade);font-size:.8rem}.summary-day-msg{color:var(--ink-soft);font-size:.8rem;text-align:center;line-height:1.35}.week-summary-totals{border-top:1px solid var(--line);padding-top:.75rem}.week-summary-totals h3{font-size:.9rem;margin:0 0 .4rem;font-weight:600}.summary-stat-gains{display:flex;flex-wrap:wrap;gap:.5rem}.summary-stat-chip{background:#22c55e1f;color:#166534;padding:.2rem .6rem;border-radius:4px;font-size:.8rem;font-weight:500}.summary-stat-none{opacity:.5;font-size:.8rem}.summary-final-fatigue{margin-top:.5rem;font-size:.85rem}@container game-stage (max-height: 430px){.schedule-panel{gap:.35rem;padding:.35rem}.schedule-title{font-size:.96rem}.schedule-resource-bar{font-size:.78rem}.schedule-day{gap:.12rem;min-height:62px;padding:.25rem .1rem}.schedule-day-icon{font-size:.9rem}.schedule-day-name,.schedule-day-fatigue{font-size:.65rem}.schedule-planner-layout{grid-template-columns:minmax(0,1fr) 210px;gap:.4rem}.schedule-picker-pane{grid-template-columns:112px minmax(0,1fr);column-gap:.35rem;padding:.35rem}.schedule-picker-heading{padding-bottom:.25rem}.schedule-picker-heading strong,.schedule-preview-heading strong{font-size:.76rem}.schedule-picker-heading span{display:none}.schedule-clear-btn{min-height:26px}.schedule-category-tabs{gap:.2rem;padding-top:.3rem}.schedule-category-tabs button{min-height:32px;padding:.2rem .35rem}.schedule-category-tabs span,.schedule-option-description{display:none}.schedule-option-copy p{display:block;margin:.1rem 0;font-size:.58rem}.schedule-option-list{gap:.3rem;padding-top:.3rem}.schedule-option-card{gap:.2rem;padding:.3rem}.schedule-option-effects{gap:.2rem;font-size:.57rem}.schedule-option-actions button{min-height:26px;padding:.16rem .32rem;font-size:.62rem}.schedule-week-preview{padding:.35rem}.schedule-week-preview dl{gap:.25rem;margin-top:.3rem}.schedule-week-preview dl>div{padding:.25rem}.schedule-week-preview dd{font-size:.66rem}.schedule-footer-row{min-height:38px}.schedule-footer-note,.schedule-fill-hint{font-size:.66rem}.week-summary-content{padding:.7rem;gap:.45rem}.summary-day-msg{display:none}}.schedule-grid{gap:.35rem}.schedule-day{min-height:58px;gap:.12rem;padding:.28rem .18rem}.schedule-day-icon{font-size:1rem}.schedule-day-fatigue{font-size:.66rem}.schedule-picker-pane{display:flex;flex:1;flex-direction:column;min-height:0;padding:.55rem;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--paper-raised) 88%,transparent)}.schedule-picker-heading{flex:none;grid-column:auto}.schedule-category-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;padding-top:.45rem}.schedule-category-tabs button{min-height:42px;padding:.3rem .5rem;text-align:center}.schedule-option-list{flex:1;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-content:start;overflow-y:auto;scrollbar-gutter:stable}.schedule-option-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.55rem;min-height:92px;padding:.6rem;color:var(--ink);text-align:left;font:inherit;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}.schedule-option-card:hover:not(:disabled){border-color:var(--jade);transform:translateY(-1px)}.schedule-option-card:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.schedule-option-card:disabled{cursor:default}.schedule-option-card:disabled:not(.is-current){opacity:.45}.schedule-option-state{min-width:4.3rem;padding:.3rem .45rem;border:1px solid var(--jade);border-radius:999px;color:var(--jade-deep);text-align:center;font-size:.68rem;white-space:nowrap}.schedule-option-card.is-current .schedule-option-state{background:var(--jade);color:#fff}.schedule-footer-row{flex:none}@container game-stage (max-height: 430px){.schedule-panel-body{gap:.35rem}.schedule-grid{gap:.25rem}.schedule-day{min-height:48px}.schedule-day-activity{font-size:.78rem}.schedule-picker-pane{padding:.35rem}.schedule-category-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:.25rem;padding-top:.3rem}.schedule-category-tabs button{min-height:32px}.schedule-option-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;padding-top:.3rem}.schedule-option-card{grid-template-columns:minmax(0,1fr) auto;min-height:66px;padding:.35rem}.schedule-option-state{min-width:3.8rem;padding:.2rem .3rem;font-size:.6rem}.schedule-panel.is-forced-rest .schedule-option-card{min-height:42px}.schedule-panel.is-forced-rest .schedule-option-copy p,.schedule-panel.is-forced-rest .schedule-option-effects{display:none}}.schedule-planner-layout{display:grid;grid-template-columns:minmax(138px,.24fr) minmax(0,1fr);flex:1;gap:.55rem;min-height:0}.schedule-week-column{display:flex;min-width:0;min-height:0;padding:.45rem;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--paper-raised) 88%,transparent)}.schedule-grid{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(7,minmax(34px,1fr));flex:1;gap:.3rem;min-width:0;min-height:0}.schedule-day{display:grid;grid-template-columns:2.2rem minmax(0,1fr) 1.7rem;align-items:center;justify-content:initial;gap:.3rem;min-height:0;padding:.25rem .4rem;text-align:left}.schedule-day-label{font-size:.78rem}.schedule-day-activity{justify-content:flex-start;gap:.22rem}.schedule-day-icon{flex:none;font-size:.92rem}.schedule-day-name{font-size:.72rem}.schedule-day-fatigue{text-align:right;font-size:.64rem}.schedule-picker-pane{min-width:0}.schedule-option-list{display:grid;grid-template-columns:minmax(0,1fr);grid-auto-rows:min-content;align-content:start;overscroll-behavior:contain}.schedule-option-card{display:block;min-height:58px;padding:.5rem .6rem}.schedule-option-copy{display:grid;grid-template-columns:minmax(150px,.55fr) minmax(0,1.45fr);align-items:center;gap:.65rem}.schedule-option-title{min-width:0}.schedule-option-effects{justify-content:flex-end}.schedule-option-card.is-current{box-shadow:inset 3px 0 0 var(--jade)}@container game-stage (max-height: 430px){.schedule-planner-layout{grid-template-columns:132px minmax(0,1fr);gap:.35rem}.schedule-week-column{padding:.28rem}.schedule-grid{grid-template-rows:repeat(7,minmax(25px,1fr));gap:.18rem}.schedule-day{grid-template-columns:1.55rem minmax(0,1fr) 1.05rem;gap:.12rem;min-height:0;padding:.12rem .25rem}.schedule-day-label,.schedule-day-name,.schedule-day-fatigue{font-size:.58rem}.schedule-day-icon{font-size:.72rem}.schedule-option-card{display:block;min-height:42px;padding:.28rem .4rem}.schedule-option-copy{grid-template-columns:minmax(126px,.58fr) minmax(0,1.42fr);gap:.4rem}.schedule-option-title strong{font-size:.68rem}.schedule-option-title>span:last-child{font-size:.55rem}.schedule-option-effects{justify-content:flex-start}.schedule-panel.is-forced-rest .schedule-option-effects{display:flex}}.schedule-picker-pane{display:grid;grid-template-columns:minmax(0,1fr) 126px;grid-template-rows:auto minmax(0,1fr);column-gap:.55rem;min-height:0}.schedule-picker-heading{grid-column:1 / -1;grid-row:1}.schedule-category-tabs{grid-column:2;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:.4rem;padding-top:.5rem}.schedule-category-tabs button{min-height:52px;padding:.38rem .5rem;text-align:center}.schedule-category-tabs strong{font-size:.88rem}.schedule-category-tabs span{font-size:.72rem}.schedule-option-list{grid-column:1;grid-row:2;grid-template-columns:minmax(0,1fr);padding-right:.15rem}.schedule-option-card{min-height:60px;padding:.52rem .65rem}.schedule-option-copy{grid-template-columns:minmax(174px,.55fr) minmax(0,1.45fr);gap:.7rem}.schedule-option-title{flex-wrap:nowrap;overflow:visible}.schedule-option-title strong{flex:none;overflow:visible;text-overflow:clip;white-space:nowrap;font-size:.86rem}.schedule-option-title>span:last-child{flex:none;white-space:nowrap;font-size:.7rem}.schedule-option-effects{justify-content:flex-start;flex-wrap:wrap;font-size:.72rem;line-height:1.35}.schedule-footer-row{display:flex;align-items:center;gap:.55rem}.schedule-footer-actions{display:flex;flex:none;align-items:center;gap:.4rem}.schedule-footer-row .schedule-clear-btn,.schedule-footer-row .schedule-repeat-btn{min-height:36px;padding:.35rem .65rem;font-size:.76rem}.schedule-footer-note,.schedule-fatigue-warning{flex:1;min-width:0;font-size:.8rem}.schedule-fatigue-warning{border-color:color-mix(in srgb,var(--seal) 42%,var(--line));padding:.38rem .6rem}.schedule-start-btn{margin-left:auto}@container game-stage (max-height: 430px){.schedule-picker-pane{grid-template-columns:minmax(0,1fr) 102px;column-gap:.35rem}.schedule-category-tabs{grid-template-columns:minmax(0,1fr);gap:.25rem;padding-top:.3rem}.schedule-category-tabs button{min-height:34px;padding:.2rem .35rem}.schedule-category-tabs strong{font-size:.74rem}.schedule-category-tabs span{display:none}.schedule-day-label,.schedule-day-name,.schedule-day-fatigue{font-size:.72rem}.schedule-day{grid-template-columns:2rem minmax(0,1fr) 1.35rem}.schedule-day-label,.schedule-day-name,.schedule-day-fatigue{white-space:nowrap}.schedule-day-icon{display:none}.schedule-day-name{overflow:visible;text-overflow:clip}.schedule-option-card{min-height:46px;padding:.32rem .45rem}.schedule-option-copy{grid-template-columns:minmax(146px,.6fr) minmax(0,1.4fr);gap:.45rem}.schedule-option-title strong{font-size:.8rem}.schedule-option-title>span:last-child,.schedule-option-effects{font-size:.7rem}.schedule-footer-row{gap:.35rem}.schedule-footer-actions{gap:.25rem}.schedule-footer-row .schedule-clear-btn,.schedule-footer-row .schedule-repeat-btn{min-height:32px;padding:.25rem .4rem;font-size:.66rem}.schedule-footer-note,.schedule-fatigue-warning{font-size:.68rem}.schedule-start-btn{min-height:34px;padding:.32rem .8rem;font-size:.78rem}}.schedule-picker-pane{grid-template-rows:minmax(0,1fr)}.schedule-category-tabs{grid-row:1;padding-top:0}.schedule-category-tabs button{display:flex;flex-direction:column;align-items:center;justify-content:center}.schedule-option-list{position:relative;z-index:0;grid-row:1;overflow-x:hidden;overflow-y:auto;padding-top:0;padding-right:.45rem;overscroll-behavior:contain;scrollbar-gutter:stable}.schedule-option-card{z-index:0;display:flex;flex-direction:row;align-items:center;justify-content:center;box-sizing:border-box}.schedule-option-card.category-learning{background:color-mix(in srgb,#e7eef9 62%,var(--paper-card))}.schedule-option-card.category-work{background:color-mix(in srgb,#f6ead2 68%,var(--paper-card))}.schedule-option-card.category-rest{background:color-mix(in srgb,#dfeee2 68%,var(--paper-card))}.schedule-option-copy{width:100%;grid-template-columns:minmax(9rem,.7fr) auto minmax(0,1fr);align-items:center;gap:.65rem}.schedule-option-title,.schedule-option-resources,.schedule-option-attributes{display:flex;align-items:center;min-width:0;line-height:1.25}.schedule-option-resources{flex-wrap:nowrap;gap:.35rem;color:var(--ink-soft);white-space:nowrap;font-size:.72rem}.schedule-option-attributes{flex-wrap:wrap;align-content:center;gap:.25rem .35rem;color:var(--ink-soft);font-size:.72rem}.schedule-option-resources span,.schedule-option-attributes span{padding-right:.35rem;border-right:1px solid var(--line-soft)}.schedule-option-attributes span:last-child{padding-right:0;border-right:0}.schedule-option-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.schedule-day-activity{overflow:hidden}.schedule-day-name{min-width:0;overflow:visible;text-overflow:clip;white-space:nowrap}.schedule-day.category-learning{background:color-mix(in srgb,#e7eef9 62%,var(--paper-card))}.schedule-day.category-work{background:color-mix(in srgb,#f6ead2 68%,var(--paper-card))}.schedule-day.category-rest{background:color-mix(in srgb,#dfeee2 68%,var(--paper-card))}.schedule-day.is-selected{border-color:var(--seal);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--seal) 45%,transparent)}.schedule-day.is-empty.is-selected{background:var(--seal-soft)}.schedule-option-disabled-reason{color:var(--seal);font-weight:600}.summary-day-name{max-width:100%;overflow:hidden;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem}.week-summary-copy{margin:.45rem 0 0;color:var(--ink-soft);font-size:.82rem;line-height:1.45}@container game-stage (max-height: 430px){.schedule-picker-pane{grid-template-rows:minmax(0,1fr)}.schedule-category-tabs{padding-top:0}.schedule-option-list{padding-top:0;padding-right:.35rem}.schedule-planner-layout{grid-template-columns:144px minmax(0,1fr)}.schedule-day{grid-template-columns:2rem minmax(0,1fr) 1.2rem;gap:.1rem;padding-inline:.22rem}.schedule-day-icon{display:none}.schedule-day-name{overflow:visible;text-overflow:clip;font-size:.68rem}.schedule-option-copy{grid-template-columns:minmax(7.5rem,.65fr) auto minmax(0,1fr);gap:.4rem}.schedule-option-resources,.schedule-option-attributes{font-size:.68rem}}.schedule-option-copy{grid-template-columns:minmax(10.75rem,.8fr) minmax(4.5rem,auto) minmax(0,1fr);align-items:center}.schedule-option-title{display:grid;grid-template-columns:auto minmax(6em,1fr) auto;align-items:center;gap:.25rem}.schedule-option-tier{padding:.08rem .28rem;border:1px solid color-mix(in srgb,var(--gold) 58%,var(--line));border-radius:999px;color:var(--gold-deep);background:color-mix(in srgb,var(--paper-card) 78%,var(--gold-soft));font-size:.62rem;font-weight:600;line-height:1.2;white-space:nowrap;transform:translate(-.15rem)}.schedule-option-resources{flex-direction:column;align-items:flex-start;justify-content:center;gap:.14rem}.schedule-option-resources span{padding-right:0;border-right:0}.schedule-day.is-unaffordable{border-color:var(--seal);background:color-mix(in srgb,var(--seal-soft) 68%,var(--paper-card));box-shadow:inset 3px 0 0 var(--seal)}.schedule-day.is-unaffordable .schedule-day-name,.schedule-day.is-unaffordable .schedule-day-label{color:var(--seal-deep)}.schedule-money-warning{flex:1;min-width:0;padding:.38rem .6rem;border:1px solid color-mix(in srgb,var(--seal) 50%,var(--line));border-radius:6px;color:var(--seal-deep);background:var(--seal-soft);font-size:.8rem}@container game-stage (max-height: 430px){.schedule-option-copy{grid-template-columns:minmax(10.25rem,.82fr) minmax(4rem,auto) minmax(0,1fr);gap:.35rem}.schedule-option-title{gap:.25rem}.schedule-option-tier{padding-inline:.2rem;font-size:.56rem}.schedule-money-warning{padding:.32rem .48rem;font-size:.68rem}}.week-playback-overlay{position:fixed;inset:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;background:#00000073}.week-playback-card{width:min(720px,calc(100% - 32px));max-height:calc(100% - 24px);padding:1rem 1.2rem;overflow:hidden;border-radius:var(--radius-md);background:var(--paper-raised);box-shadow:0 8px 32px #0003}.week-playback-title{margin:0 0 .8rem;font-size:1rem;text-align:center}.week-playback-timeline{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.5rem;margin-bottom:.8rem}.week-playback-day{display:flex;flex-direction:column;gap:.15rem;align-items:center;padding:.3rem .5rem;border-radius:6px;background:var(--paper-deep);font-size:.8rem}.week-playback-day.is-done{opacity:.85}.week-playback-day.is-current{border:2px solid var(--gold)}.wpb-day-gain{color:var(--jade-deep);font-weight:700}.week-playback-result{min-height:82px;margin-bottom:.65rem;padding:.65rem .8rem;border:1px solid var(--line);border-left:4px solid var(--jade);border-radius:var(--radius-sm);background:var(--paper-raised)}.week-playback-result.outcome-perfect{border-left-color:var(--gold)}.week-playback-result.outcome-fail{border-left-color:var(--seal)}.week-playback-result.is-waiting{display:grid;place-items:center;color:var(--ink-soft)}.wpb-result-head,.wpb-result-effects{display:flex;gap:.75rem;align-items:center;justify-content:space-between}.wpb-result-head span{color:var(--seal-deep);font-weight:700}.week-playback-result p{margin:.35rem 0;color:var(--ink);font-size:.86rem}.wpb-result-effects{justify-content:flex-start;color:var(--jade-deep);font-size:.8rem;font-weight:700}.wpb-day-outcome.outcome-perfect{color:var(--gold-deep);font-weight:700}.wpb-day-outcome.outcome-fail{color:var(--seal)}.week-playback-pause{margin:.5rem 0;color:var(--gold-deep);font-weight:700;text-align:center}.week-playback-controls{display:flex;gap:.6rem;align-items:center;justify-content:center}.wpb-btn{padding:.4rem .9rem;border:1px solid var(--line);border-radius:6px;background:var(--paper-raised);color:var(--ink);cursor:pointer;font-size:.85rem}.wpb-btn:hover{background:var(--paper-deep)}.wpb-auto-label{display:flex;gap:.3rem;align-items:center;font-size:.8rem}@container game-stage (max-height: 430px){.week-playback-card{padding:.65rem .8rem}.week-playback-title{margin-bottom:.45rem}.week-playback-timeline{gap:.3rem;margin-bottom:.45rem}.week-playback-day{padding:.2rem .3rem}.week-playback-result{min-height:68px;margin-bottom:.4rem;padding:.4rem .55rem}.week-playback-result p{margin:.2rem 0}}.npc-relation-tag{display:inline-flex;margin-right:8px;padding:2px 8px;border-radius:var(--radius-pill);color:var(--jade-deep);background:var(--jade-soft);font-size:.72rem;white-space:nowrap}.npc-relation-tag.is-romance{color:var(--seal-deep);background:var(--blossom-soft)}.npc-profile-layout.has-art{display:grid;grid-template-columns:minmax(150px,34%) 1fr;gap:18px;align-items:start}.npc-profile-art.portrait{width:100%;max-height:min(58cqh,460px);object-fit:contain;object-position:top center}.outing-panel-body{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:.5rem}.outing-map-area{position:relative;min-height:0;overflow:hidden}.outing-grid{display:grid;grid-template-columns:repeat(3,260px);grid-auto-rows:112px;align-content:center;justify-content:center;gap:.75rem;height:100%;min-height:0;overflow-y:auto}.outing-location{position:relative;display:flex;flex-direction:column;gap:.25rem;width:260px;height:112px;padding:.75rem 1rem;border:1.5px solid var(--line);border-radius:var(--radius-sm);background:var(--paper-raised);color:var(--ink);cursor:pointer;text-align:left;transition:border-color .15s,box-shadow .15s}.outing-location:hover:not(:disabled){border-color:var(--jade)}.outing-location.is-selected{border-color:var(--jade);background:var(--jade-soft);box-shadow:0 0 0 2px var(--jade-soft)}.outing-location:disabled{opacity:.5;cursor:not-allowed}.outing-loc-name{flex:none;font-weight:600;font-size:.84rem;line-height:1.25;padding-right:1.25rem}.outing-loc-desc{display:-webkit-box;flex:none;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;font-size:.75rem;color:var(--ink-soft);line-height:1.3}.outing-loc-check{position:absolute;top:.25rem;right:.75rem;color:var(--jade);font-size:1rem}.outing-footer{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;min-height:44px;padding-top:.4rem;border-top:1px solid var(--line)}.outing-footer-actions{display:flex;align-items:center;gap:.65rem;min-width:0}.outing-footer-context{min-width:0;overflow:hidden;color:var(--ink-soft);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.outing-footer-actions{justify-content:flex-end}.outing-back-btn{flex:none;min-height:38px;white-space:nowrap}.outing-cost{font-size:.85rem;color:var(--ink-soft)}.outing-depart-btn{display:inline-flex;flex:none;box-sizing:border-box;align-items:center;justify-content:center;width:80px;min-width:80px;height:40px;padding:0 .5rem;line-height:1;text-align:center}.outing-activity-stage-panel{position:absolute;top:50%;left:50%;z-index:6;box-sizing:border-box;width:660px;padding:22px 24px 24px;border:1px solid rgb(235 218 181 / 58%);border-radius:var(--radius-lg);background:#1b1512b8;box-shadow:0 18px 48px #00000052;color:#fffdf9;transform:translate(-50%,-50%);backdrop-filter:blur(18px) saturate(78%)}.outing-activity-stage-heading{margin-bottom:16px;text-align:center}.outing-activity-stage-heading span{display:block;color:#e7d8b5;font-size:.74rem;letter-spacing:.18em}.outing-activity-stage-heading strong{display:block;margin-top:4px;font-size:1.18rem}.outing-activity-stage-heading p{margin:6px 0 0;color:#fffdf9c7;font-size:.82rem}.outing-activity-options{display:grid;grid-template-columns:repeat(2,286px);justify-content:center;gap:10px}.outing-activity-options button{display:grid;grid-template-rows:auto minmax(0,1fr);align-content:start;gap:6px;width:286px;height:104px;padding:14px 16px;border:1px solid rgb(235 218 181 / 42%);border-radius:var(--radius-sm);color:#fffdf9;background:#392e27d1;text-align:left}.outing-activity-options button:hover,.outing-activity-options button.is-selected{border-color:var(--jade);background:#395343eb}.outing-activity-options span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#fffdf9bd;font-size:.78rem;line-height:1.45}.outing-encounter-switcher{position:absolute;top:max(12px,var(--story-safe-top));left:max(12px,var(--story-safe-left));z-index:7;display:flex;gap:8px;max-width:min(70%,640px);overflow-x:auto}.outing-encounter-switcher button{display:grid;grid-template-columns:36px minmax(0,1fr);gap:7px;align-items:center;padding:6px;color:#fffdf9;border:1px solid rgb(255 250 237 / 42%);border-radius:var(--radius-sm);background:#271f1bc7;backdrop-filter:blur(8px)}.outing-encounter-switcher button.is-selected{border-color:#f4dba3;background:#44362deb}.outing-encounter-switcher .portrait{width:36px;height:36px;border-radius:50%;object-fit:cover}.outing-encounter-dialogue{padding-right:clamp(190px,26cqw,330px)}.outing-encounter-actions{position:absolute;top:50%;right:clamp(26px,4cqw,56px);z-index:4;display:flex;gap:8px;transform:translateY(-50%)}.outing-encounter-actions button,.outing-encounter-gifts button{min-width:76px;min-height:42px;color:#fffdf9;border:1px solid rgb(255 250 237 / 42%);border-radius:10px;background:#395343eb}.outing-encounter-actions button.seal{background:#8e344beb}.outing-encounter-actions button:disabled{opacity:.55}.outing-encounter-gifts{position:absolute;right:clamp(18px,3cqw,42px);bottom:calc(100% + 8px);z-index:8;display:grid;width:min(420px,70cqw);max-height:46cqh;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:10px;overflow-y:auto;color:#fffdf9;border:1px solid rgb(255 250 237 / 38%);border-radius:12px;background:#1b1512eb;box-shadow:0 12px 32px #00000057;backdrop-filter:blur(12px)}@container game-stage (max-height: 430px){.npc-profile-layout.has-art{grid-template-columns:124px 1fr;gap:10px}.npc-profile-art.portrait{max-height:230px}.outing-panel{padding:7px 9px}.outing-grid{grid-template-columns:repeat(2,250px);grid-auto-rows:78px;align-content:center;gap:.4rem;min-height:0;padding-right:3px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.outing-location{width:250px;height:78px;padding:.4rem .55rem}.outing-loc-name{font-size:.76rem}.outing-loc-desc{-webkit-line-clamp:2;font-size:.69rem;line-height:1.25}.outing-footer{min-height:38px;gap:.45rem;padding-top:.25rem}.outing-footer-actions{gap:.35rem}.outing-footer-context,.outing-cost{font-size:.68rem}.outing-back-btn{min-height:36px;padding:.25rem .55rem}.outing-depart-btn{width:80px;min-width:80px;height:36px}.sheet-market .sheet-panel{width:min(760px,calc(100% - max(52px,var(--safe-content-left)) - max(52px,var(--safe-content-right))))}.outing-activity-stage-panel{width:560px;padding:12px 16px 14px}.outing-activity-stage-heading{margin-bottom:10px}.outing-activity-stage-heading p{margin-top:3px}.outing-activity-options{grid-template-columns:repeat(2,250px)}.outing-activity-options button{width:250px;height:96px;padding:9px 11px}.outing-encounter-dialogue{padding-right:190px}.outing-encounter-actions{right:20px}.outing-encounter-actions button{min-width:68px;min-height:36px}.outing-encounter-gifts{width:min(360px,65cqw);grid-template-columns:repeat(2,minmax(0,1fr))}}@media (hover: none){.outing-location:focus:not(:focus-visible):not(.is-selected){border-color:var(--line);outline:none;background:var(--paper-raised);box-shadow:none}}.bag-panel{padding:10px 12px}.bag-money{margin:0;font-size:.9rem}.bag-filterbar{display:flex;flex:0 0 auto;flex-wrap:wrap;gap:5px}.bag-filterbar button{display:inline-flex;align-items:center;gap:5px;min-height:30px;padding:4px 9px;border:1px solid var(--line-soft);border-radius:999px;background:var(--paper-raised);color:var(--ink-soft);font-size:.74rem}.bag-filterbar button span{min-width:18px;padding:1px 5px;border-radius:999px;background:#56443014;text-align:center}.bag-filterbar button.is-active{border-color:var(--seal);background:#9e3f3317;color:var(--seal-deep)}.bag-market-hint{flex:0 0 auto;margin:0;color:var(--ink-soft);font-size:.78rem}.bag-empty{color:var(--ink-soft);font-style:italic;text-align:center;padding:2rem}.bag-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-content:start;gap:7px;flex:1 1 auto;min-height:0;padding-right:4px;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}@container game-stage (min-width: 960px) and (min-height: 600px){.bag-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));max-width:1040px}}.bag-item-card{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;min-width:0;min-height:58px;border:1px solid var(--line-soft);border-radius:9px;background:var(--paper-raised);overflow:hidden}.bag-item-open{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0;min-height:56px;padding:6px 8px;border:0;border-radius:0;background:transparent;color:var(--ink);text-align:left;box-shadow:none}.bag-item-open:hover,.bag-item-open:focus-visible{background:#9e3f330f}.bag-item-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:8px;background:var(--paper-deep);font-size:1.25rem}.bag-item-copy{display:grid;gap:2px;min-width:0}.bag-item-copy strong,.bag-item-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bag-item-copy strong{font-size:.84rem}.bag-item-copy small{color:var(--ink-soft);font-size:.68rem}.bag-item-count{color:var(--ink-soft);font-size:.76rem;white-space:nowrap}.bag-use-btn{min-width:42px;padding:4px 7px;border:0;border-left:1px solid var(--line-soft);border-radius:0;background:#3f735c1a;color:#315d49;font-size:.72rem;box-shadow:none}.bag-item-detail{display:grid;grid-template-columns:82px minmax(0,1fr);gap:16px;align-items:start}.bag-item-detail-icon{display:grid;place-items:center;width:82px;height:82px;border:1px solid var(--line-soft);border-radius:14px;background:var(--paper-deep);font-size:2.5rem}.bag-item-detail p{margin:0 0 10px;line-height:1.6}.bag-item-detail-meta,.bag-item-detail-future{color:var(--ink-soft);font-size:.78rem}.bag-item-detail-future{padding-top:8px;border-top:1px dashed var(--line-soft)}.market-sell-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:0;padding:0 2px 6px;border-bottom:1px solid var(--line)}.market-sell-head h3{margin:0;font-size:.95rem}.market-sell-head span{color:var(--ink-soft);font-size:.72rem}.market-sell-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px;margin-top:8px}.market-sell-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:center;padding:8px;border:1px solid var(--line);border-radius:8px;background:var(--paper-raised)}.market-sell-name{display:flex;align-items:center;gap:6px;font-weight:700}.market-sell-name .portrait{width:24px;height:24px}.market-sell-meta{color:var(--ink-soft);font-size:.72rem;line-height:1.35}.market-sell-actions{grid-column:2;grid-row:1 / span 2;display:flex;gap:5px}.market-sell-empty{padding:8px;margin:4px 0}.hub-main{display:flex;flex-direction:column;height:100%;overflow:hidden;background:var(--paper)}.game-shell .feature-panel{gap:8px;padding:10px 12px}.game-shell .feature-panel-head{box-sizing:border-box;height:34px;min-height:34px;flex-wrap:nowrap;align-items:center;overflow:hidden}.game-shell .feature-panel-head h2{flex:0 0 auto;margin:0;padding-left:8px;font-size:1rem;line-height:1.35}.game-shell .feature-panel-info{min-height:28px;flex-wrap:nowrap;overflow:hidden;font-size:.8rem;line-height:1.35}@container game-stage (max-height: 430px){.game-shell .feature-panel{gap:5px;padding:6px 8px}.game-shell .feature-panel-head{height:30px;min-height:30px}.game-shell .feature-panel-head h2{font-size:.92rem}.game-shell .feature-panel-info{min-height:26px;font-size:.74rem}}.hub-topbar{display:flex;align-items:center;justify-content:space-between;padding-top:max(.4rem,var(--safe-content-top));padding-right:max(1rem,var(--safe-content-right));padding-bottom:max(.4rem,var(--safe-content-bottom));padding-left:max(1rem,var(--safe-content-left));gap:.5rem;background:#ffffffd9;border-bottom:1px solid var(--line-soft);flex-shrink:0;min-height:44px}.hub-topbar-left{display:flex;align-items:center;gap:.5rem}.hub-character-trigger{min-width:0;min-height:36px;padding:2px 4px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--ink);box-shadow:none;text-align:left;position:relative}.hub-character-hint{flex:none;padding:2px 6px;border:1px solid var(--line-soft);border-radius:999px;color:var(--seal-deep);background:#fffaefc2;font-size:.65rem;white-space:nowrap}.hub-character-trigger:hover,.hub-character-trigger:focus-visible{border-color:var(--line);background:#fffaefd1}.hub-player-avatar{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:50%;background:var(--paper-deep)}.hub-player-avatar .portrait{width:100%;height:100%;object-fit:cover;object-position:center top}.hub-season{font-size:1.2rem;font-weight:600;color:var(--jade-deep)}.hub-date{font-size:.82rem;color:var(--muted)}.hub-week,.hub-player{font-size:.78rem;color:var(--ink-soft);white-space:nowrap}.hub-week{padding-left:.5rem;border-left:1px solid var(--line);color:var(--seal-deep);font-weight:700}.hub-topbar-center{display:flex;align-items:center;gap:.45rem}.hub-resource{min-height:30px;padding:4px 7px;border:1px solid transparent;background:transparent;color:var(--ink);font-size:.85rem;font-weight:500;letter-spacing:0;white-space:nowrap}.hub-resource:hover,.hub-resource:focus-visible{border-color:var(--line);background:#fffaefd1}.hub-health-status{min-height:30px;display:inline-flex;align-items:center;gap:.25rem;padding:4px 7px;color:var(--jade-deep);font-size:.78rem;white-space:nowrap}.hub-health-status.health-strained,.hub-health-status.health-sick,.hub-health-status.health-forced_rest{color:var(--seal-deep)}.resource-help-body{display:grid;gap:10px;color:var(--ink)}.resource-help-body p,.resource-help-body ul{margin:0}.resource-help-body ul{display:grid;gap:6px;padding-left:1.25rem;line-height:1.55}.hub-topbar-right{display:flex;align-items:center}.hub-sys-btn{background:none;border:1px solid var(--line-soft);border-radius:6px;padding:.3rem .6rem;font-size:1.1rem;cursor:pointer;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.hub-sys-btn:hover{background:#0000000a}.hub-body{flex:1;overflow:hidden;position:relative}.hub-scene{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}.hub-scene-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;opacity:.78;filter:saturate(.78) brightness(1.06)}.hub-heroine{position:absolute;z-index:1;bottom:0;left:50%;width:min(38cqw,420px);height:94%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 10px 24px rgb(47 34 26 / 24%));transform:translate(-50%);pointer-events:none}.hub-hotspots{position:absolute;inset:0;z-index:2}.hub-hotspot{position:absolute;top:var(--hub-hotspot-y);left:var(--hub-hotspot-x);display:flex;width:clamp(78px,9.5cqw,108px);min-width:0;min-height:68px;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;padding:.55rem .45rem;background:#ffffffe0;border:2px solid var(--line-soft);border-radius:12px;cursor:pointer;transform:translate(-50%,-50%);transition:box-shadow .15s,border-color .15s}.hub-hotspot:hover:not(:disabled){box-shadow:0 4px 12px #00000014;border-color:var(--jade);transform:translate(-50%,-50%)}.hub-hotspot:active:not(:disabled){box-shadow:inset 0 2px 6px #2f221a24;transform:translate(-50%,-50%) scale(.97)}.hub-hotspot.is-disabled,.hub-tab-btn.is-disabled{cursor:not-allowed;filter:saturate(.35);opacity:.55}.hub-hotspot.is-disabled:hover,.hub-hotspot.is-disabled:active{border-color:var(--line-soft);box-shadow:none;transform:translate(-50%,-50%)}.hub-hotspot-icon{font-size:1.6rem}.hub-hotspot-label{font-size:.78rem;font-weight:500;color:var(--ink)}.hub-event-dock{position:absolute;z-index:2;right:4%;bottom:8px;left:4%;display:flex;gap:8px;overflow-x:auto;padding:2px 2px 4px;scrollbar-width:thin;touch-action:pan-x}.hub-event-inbox-button{border-color:var(--gold);background:color-mix(in srgb,var(--paper-card) 94%,var(--gold-soft))}.hub-event-inbox-button:hover,.hub-event-inbox-button:focus-visible{color:var(--ink);background:color-mix(in srgb,var(--paper-card) 88%,var(--gold-soft))}.hub-event-inbox-button b{position:absolute;top:-7px;right:-7px;min-width:26px;height:26px;display:grid;place-items:center;color:#fffdf9;border-radius:999px;background:var(--seal);font-size:.76rem}.sheet-home-events .sheet-panel{width:min(720px,calc(100% - 8px))}.home-event-list{display:grid;gap:9px}.home-event-list-item{min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.home-event-list-item.is-critical{border:2px solid var(--seal)}.home-event-list-item.is-major{border-color:var(--gold)}.home-event-list-item .hub-event-copy>span{white-space:normal}.home-event-list-item>button{min-width:100px;min-height:44px}.hub-event-card{flex:1 0 min(420px,88%);min-width:0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper-card) 94%,transparent);box-shadow:0 6px 18px #2f221a2e;backdrop-filter:blur(6px)}.hub-event-card.is-critical{border:2px solid var(--seal);background:color-mix(in srgb,var(--paper-card) 90%,var(--seal-soft))}.hub-event-card.is-major{border-color:var(--gold)}.hub-event-card.is-save-block{border-color:var(--seal);background:color-mix(in srgb,var(--paper-card) 90%,var(--seal-soft))}.hub-event-card.is-save-block .hub-event-icon{filter:drop-shadow(0 1px 2px rgb(47 34 26 / 20%))}.hub-event-icon{font-size:1.55rem}.hub-event-copy{min-width:0;display:grid;gap:1px}.hub-event-copy small{color:var(--seal-deep);font-size:.65rem;font-weight:700;letter-spacing:.08em}.hub-event-copy strong,.hub-event-copy>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hub-event-copy strong{color:var(--ink);font-size:.86rem}.hub-event-copy>span{color:var(--ink-soft);font-size:.7rem}.hub-event-card>button{min-width:88px;min-height:44px;padding:6px 10px;white-space:nowrap}.sheet-character .sheet-panel{width:min(860px,calc(100% - 24px));max-height:min(620px,calc(100% - 24px))}.sheet-character .sheet-body{overflow:hidden}.character-sheet{display:grid;grid-template-columns:236px minmax(0,1fr);gap:12px;min-height:0}.character-identity{display:grid;grid-template-rows:280px auto;gap:10px;align-items:stretch;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--paper-raised)}.character-portrait{width:100%;height:100%;min-height:0;overflow:hidden;border-radius:10px;background:var(--paper-deep)}.character-portrait .portrait{width:100%;height:100%;object-fit:contain;object-position:center bottom}.character-identity h4,.character-identity p{margin:0}.character-identity-copy{min-width:0}.character-identity h4{font-size:1.15rem;color:var(--seal-deep)}.character-identity p{color:var(--ink-soft);font-size:.82rem}.character-identity small{display:block;margin-top:8px;line-height:1.45;color:var(--muted)}.character-stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,minmax(112px,1fr));gap:8px;min-height:0}.character-stat{min-height:0;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper)}.character-stat>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.character-stat b{min-width:2em;color:var(--seal-deep);font-size:1.15rem;text-align:right}.character-stat p{margin:2px 0 0;color:var(--muted);font-size:.72rem;line-height:1.35}.hub-panel-view{display:flex;flex-direction:row;height:100%;overflow:hidden}.hub-back-btn{flex:none;background:var(--paper-raised);border:1px solid var(--line);border-radius:6px;padding:.2rem .55rem;font-size:.78rem;cursor:pointer;color:var(--ink);min-height:32px}.hub-back-btn:hover{background:#0000000a}.hub-panel-content{flex:1;min-width:0;min-height:0;overflow:hidden;padding-top:max(.55rem,var(--safe-content-top));padding-right:.7rem;padding-bottom:max(.6rem,var(--safe-content-bottom));padding-left:max(.7rem,var(--safe-content-left))}.hub-tabbar{display:flex;flex-direction:column;justify-content:center;align-items:center;flex-shrink:0;width:calc(70px + var(--safe-content-right));border-left:1px solid var(--line-soft);background:var(--paper-raised);padding:.3rem max(.25rem,var(--safe-content-right)) .3rem .25rem;gap:.2rem}.hub-tab-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-width:44px;min-height:48px;border:none;background:transparent;color:var(--ink-soft);cursor:pointer;border-radius:6px;padding:.2rem .4rem;transition:background .15s}.hub-tab-btn[aria-label=主页]{margin-bottom:.15rem;border-bottom:1px solid var(--line);border-radius:6px 6px 2px 2px}.hub-tab-btn:hover{background:var(--paper-deep)}.hub-tab-btn.is-active{background:var(--gold-soft);color:var(--ink);font-weight:700}.hub-tab-icon{font-size:1.1rem;line-height:1}.hub-tab-label{font-size:.68rem;margin-top:.1rem}@container game-stage (max-height: 430px){.hub-topbar{min-height:36px;padding-top:max(.15rem,var(--safe-content-top));padding-right:max(.6rem,var(--safe-content-right));padding-bottom:max(.15rem,var(--safe-content-bottom));padding-left:max(.6rem,var(--safe-content-left))}.hub-sys-btn{min-width:36px;min-height:32px;padding:.15rem .4rem;font-size:.95rem}.hub-topbar-center{gap:.2rem}.hub-resource,.hub-health-status{padding-inline:.3rem;font-size:.72rem}.hub-season{font-size:1rem}.hub-player-avatar{flex-basis:30px;width:30px;height:30px}.hub-heroine{width:min(34cqw,280px);height:96%}.hub-hotspot{width:clamp(68px,9.2cqw,82px);min-height:52px;gap:.1rem;padding:.28rem}.hub-hotspot-icon{font-size:1.3rem}.character-sheet{grid-template-columns:188px minmax(0,1fr);gap:8px}.character-identity{grid-template-rows:148px auto;gap:5px;padding:6px}.character-portrait{width:100%;height:148px;min-height:0}.character-identity h4{font-size:.95rem}.character-identity p{font-size:.7rem}.character-identity small{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1;margin-top:3px;font-size:.66rem}.character-stats{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:5px}.character-stat{padding:5px 7px}.character-stat p{font-size:.66rem}.hub-back-btn{min-height:30px;padding:.1rem .45rem;font-size:.74rem}.hub-tabbar{width:calc(62px + var(--safe-content-right));padding:.15rem max(.15rem,var(--safe-content-right)) .15rem .15rem;gap:0}.hub-tab-btn{min-height:46px;padding:.1rem .25rem}.hub-tab-label{font-size:.6rem;margin-top:0}.hub-panel-content{padding-top:max(.3rem,var(--safe-content-top));padding-right:.45rem;padding-bottom:max(.3rem,var(--safe-content-bottom));padding-left:max(.45rem,var(--safe-content-left))}}.game-shell.is-mobile .farm-workspace{--plot-row-h: 64px;--plot-gap: 4px;padding:6px 8px;gap:4px}.game-shell.is-mobile .farm-grid-pane{min-height:var(--farm-plots-min)}.game-shell.is-mobile .farm-inspector{gap:5px;padding:6px}.game-shell.is-mobile .farm-action-dock .mini{min-height:30px;padding:4px 8px;font-size:.78rem}.game-shell.is-mobile .plot-summary{font-size:.78rem;gap:2px 8px}.game-menu-popover{position:fixed;inset:0;z-index:var(--z-popover);display:grid;place-items:center;padding:16px;pointer-events:none}.game-menu-popover>.sheet-backdrop{pointer-events:auto}.game-menu-card{position:relative;z-index:1;width:min(360px,calc(100% - 32px));background:var(--paper-card);border:2px solid var(--ink);border-radius:14px;box-shadow:0 12px 36px #00000047;padding:14px 16px;pointer-events:auto}.game-menu-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px}.game-menu-actions{display:grid;gap:8px}.game-menu-sync{margin:0 0 8px}.notice-banner-rail,.notice-center-stack,.notice-toast-stack{position:fixed;inset:0;z-index:var(--z-notice);display:grid;place-items:center;align-content:center;gap:10px;padding-top:max(16px,var(--safe-content-top));padding-right:max(20px,var(--safe-content-right));padding-bottom:max(16px,var(--safe-content-bottom));padding-left:max(20px,var(--safe-content-left));pointer-events:none}.notice-toast{pointer-events:auto;display:flex;gap:10px;align-items:flex-start;justify-content:space-between;width:min(420px,calc(100% - 32px));padding:14px 16px;background:#fff8e8;border:2px solid var(--gold);border-radius:12px;box-shadow:0 10px 28px #00000038;animation:toast-in .2s ease-out}.notice-toast.is-sync{border-color:var(--line);color:var(--ink-soft)}.notice-toast.is-banner{border-color:var(--seal)}.notice-toast.is-leaving{animation:toast-out .2s ease-in forwards}.notice-toast-body{display:flex;flex-direction:column;gap:4px;font-size:.9rem;min-width:0}.notice-overlay{position:fixed;inset:0;background:#231c128c;display:grid;place-items:center;padding-top:max(20px,var(--safe-content-top));padding-right:max(20px,var(--safe-content-right));padding-bottom:max(20px,var(--safe-content-bottom));padding-left:max(20px,var(--safe-content-left));z-index:var(--z-alert)}.game-shell.is-mobile .farm-action-primary{grid-template-columns:repeat(4,minmax(0,1fr))}.game-shell.is-mobile .farm-action-primary .farm-action-execute{min-height:45px;padding:4px;align-items:center;text-align:center}.game-shell.is-mobile .farm-action-primary .farm-action-execute .action-label{gap:2px}.game-shell.is-mobile .activity-subtabs .tab-bar-item{min-height:25px;padding:2px 6px;font-size:.68rem}.game-shell.is-mobile .farm-harvest-summary{display:none}.notice-toast-title{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 8px}.notice-toast-context{color:var(--ink-soft);font-size:.78rem;font-weight:600}.notice-toast>button{flex:0 0 auto;align-self:center;min-width:max-content;white-space:nowrap}.notice-overlay-alert{z-index:var(--z-alert)}.notice-overlay-dialog{z-index:var(--z-dialog)}.update-required{position:fixed;inset:0;z-index:var(--z-dialog);display:grid;place-items:center;padding:20px;background:#231c12b8}.update-required-card{text-align:center}.update-required-card h3,.update-required-card p{margin:0 0 10px}.update-required-error{color:var(--seal-deep);font-weight:700}.notice-dialog{width:min(420px,100%);background:var(--paper-card);border:2px solid var(--ink);border-radius:14px;box-shadow:0 12px 40px #0006;padding:22px 24px;animation:rise .22s ease}.notice-dialog .options{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}@container game-stage (max-width: 780px){.game-menu-popover,.sheet-overlay{place-items:center;padding:16px 12px}.npc-detail-main{flex-direction:row;align-items:stretch;gap:10px;overflow:hidden}.npc-portrait{width:clamp(170px,30%,210px);height:100%;align-self:stretch}.npc-portrait .portrait-img{width:108%;height:108%;align-self:end;justify-self:center;transform:none}.npc-detail-body{width:auto}.npc-detail{overflow:hidden;min-height:0}.npc-detail .npc-ops{padding-bottom:.5rem}.game-shell .farm-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(224px,38%);gap:8px;overflow:hidden}.game-shell .farm-inspector{padding:6px}.farm-grid-pane{min-height:0;overflow:hidden}}@container game-stage (max-height: 430px){.npc-portrait{width:clamp(170px,30%,210px);height:100%;align-self:stretch}.npc-portrait .portrait-img{width:108%;height:108%;align-self:end;justify-self:center;transform:none}.game-shell .farm-inspector{gap:5px;padding:6px}.game-shell .farm-action-primary{grid-template-columns:repeat(4,minmax(0,1fr))}.game-shell .farm-action-primary .farm-action-execute{min-height:45px;padding:4px;align-items:center;text-align:center}.game-shell .farm-action-primary .farm-action-execute .action-label{gap:2px}.game-shell .farm-harvest-summary{display:none}}
