:root{color-scheme:light;--paper: #f7f0e3;--paper-strong: #fffaf1;--ink: #221c18;--muted: #77695d;--line: rgba(88, 59, 42, .18);--cinnabar: #96352d;--cinnabar-dark: #64211d;--jade: #496f61;--gold: #ae8438;--shadow: 0 18px 48px rgba(51, 33, 22, .15);font-family:Microsoft YaHei,PingFang SC,"Noto Serif SC",serif}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;color:var(--ink);background:linear-gradient(115deg,rgba(150,53,45,.1),transparent 35%),linear-gradient(245deg,rgba(73,111,97,.12),transparent 34%),repeating-linear-gradient(0deg,rgba(68,45,31,.04) 0 1px,transparent 1px 12px),var(--paper)}button,input,select,textarea{font:inherit}button,.shop-link{min-height:40px;border:1px solid var(--line);border-radius:7px;background:#fffaf1c2;color:var(--ink);padding:9px 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;cursor:pointer;text-decoration:none;transition:transform .15s ease,background .15s ease,border-color .15s ease}button:hover:not(:disabled),.shop-link:hover{transform:translateY(-1px);border-color:#96352d61;background:#fffaf1}button:disabled{cursor:not-allowed;opacity:.55}.primary{border-color:transparent;background:linear-gradient(180deg,var(--cinnabar),var(--cinnabar-dark));color:#fff8ed;font-weight:800}.primary:hover:not(:disabled){background:linear-gradient(180deg,#ad443b,var(--cinnabar-dark))}.danger{color:var(--cinnabar-dark);border-color:#96352d3d}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:7px;background:#fffaf1db;color:var(--ink);outline:none;padding:10px 11px}textarea{min-height:96px;resize:vertical;line-height:1.65}label{display:grid;gap:7px;color:var(--muted);font-size:.92rem}.eyebrow{margin:0 0 8px;color:var(--jade);font-weight:800;letter-spacing:0}.cover{min-height:100vh;display:grid;grid-template-columns:minmax(340px,1fr) minmax(380px,.8fr)}.cover-visual{position:relative;min-height:100vh;overflow:hidden;background:linear-gradient(180deg,#1d161214,#1d161233),url(/cover.webp) center / cover no-repeat}.kv-sun,.palace-lines{display:none}.kv-sun{position:absolute;width:34vmin;aspect-ratio:1;border-radius:999px;left:58%;top:14%;transform:translate(-50%);background:radial-gradient(circle,rgba(251,224,160,.95),rgba(228,194,121,.25) 62%,transparent 64%)}.palace-lines{position:absolute;inset:auto 0 0;height:58%;background:linear-gradient(90deg,transparent 0 8%,rgba(255,245,220,.22) 8% 9%,transparent 9% 18%,rgba(255,245,220,.18) 18% 19%,transparent 19%),linear-gradient(0deg,#211815 0 14%,transparent 14%),repeating-linear-gradient(90deg,transparent 0 58px,rgba(255,226,170,.12) 58px 62px),linear-gradient(180deg,transparent,rgba(12,9,8,.62));clip-path:polygon(0 28%,20% 16%,34% 26%,48% 8%,66% 26%,82% 15%,100% 31%,100% 100%,0 100%)}.cover-copy{align-self:center;padding:48px}.cover-copy h1{margin:0;color:var(--cinnabar-dark);font-size:clamp(3.8rem,8vw,7rem);line-height:.96;letter-spacing:0}.cover-lead{max-width:520px;color:var(--muted);line-height:1.85}.activation-strip{width:min(440px,100%);margin:24px 0;padding:13px 14px;display:flex;gap:12px;align-items:flex-start;border:1px solid rgba(150,53,45,.22);border-radius:8px;background:#fffaf1b8}.activation-strip.active{border-color:#496f6147;background:#496f611a}.activation-strip strong,.activation-strip span{display:block}.activation-strip span{color:var(--muted);font-size:.86rem;margin-top:4px}.cover-actions{width:min(560px,100%);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.modal-layer{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:18px}.modal-backdrop{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:0;background:#1c161294;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.modal-backdrop:hover{transform:none;background:#1c16129e}.modal-panel{position:relative;z-index:1;width:min(520px,100%);max-height:min(86vh,780px);overflow:auto;padding:20px;border:1px solid var(--line);border-radius:8px;background:#fffaf1f0;box-shadow:var(--shadow)}.wide-modal{width:min(760px,100%)}.modal-head{display:flex;justify-content:space-between;gap:16px;margin-bottom:16px}.modal-head h2{margin:0;display:inline-flex;align-items:center;gap:8px}.icon-button{width:38px;min-width:38px;height:38px;padding:0}.stack,.settings-grid,.setup-panel{display:grid;gap:14px}.button-row{display:flex;flex-wrap:wrap;gap:10px}.error-text,.success-text{border-radius:7px;padding:10px 12px;line-height:1.6}.error-text{color:var(--cinnabar-dark);border:1px solid rgba(150,53,45,.18);background:#96352d14}.success-text{color:var(--jade);border:1px solid rgba(73,111,97,.2);background:#496f611a}.setup-shell{width:min(1180px,calc(100% - 28px));margin:0 auto;padding:24px 0 80px}.setup-title{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;border-bottom:1px solid var(--line);padding-bottom:16px}.setup-title h1{margin:0;color:var(--cinnabar-dark);font-size:clamp(2.2rem,5vw,4rem)}.setup-panel{width:min(720px,100%);border:1px solid var(--line);border-radius:8px;background:#fffaf1b8;box-shadow:var(--shadow);padding:18px}.npc-setup-grid,.list-grid,.residence-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.setup-ai-toolbar{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid rgba(174,132,56,.22);border-radius:8px;background:#fffaf1b8}.setup-ai-toolbar span{color:var(--muted);font-size:.88rem}.npc-editor,.character-card,.residence-card,.archive-view article,.foreign-list article,.npc-mini{border:1px solid var(--line);border-radius:8px;background:#fffaf1b8}.npc-editor{display:grid;grid-template-columns:86px minmax(0,1fr);gap:14px;padding:14px}.npc-editor-fields{display:grid;gap:10px}.setup-shell .avatar{width:76px;aspect-ratio:1;overflow:hidden;border-radius:50%;border:2px solid rgba(174,132,56,.22);background:linear-gradient(135deg,#96352d1f,#ae843826);display:grid;place-items:center;color:var(--cinnabar-dark);font-size:1.8rem;font-weight:900}.setup-shell .avatar img{width:100%;height:100%;object-fit:cover}.upload-label,.small-upload{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--line);border-radius:7px;padding:9px 12px;color:var(--ink);background:#fffaf1c2;cursor:pointer}.upload-label input,.small-upload input{display:none}.wide-note{grid-column:1 / -1}.game-shell{width:min(1500px,calc(100% - 24px));margin:0 auto;padding:14px 0 78px}.topbar{min-height:82px;display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:16px;align-items:center;border-bottom:1px solid var(--line)}.topbar h1{margin:0;color:var(--cinnabar-dark);font-size:clamp(2rem,4vw,3.5rem)}.quick-stats{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.stat-pill{min-width:76px;padding:7px 10px;border:1px solid var(--line);border-radius:7px;background:#fffaf1b8}.stat-pill span,.stat-pill strong{display:block}.stat-pill span{color:var(--muted);font-size:.78rem}.time-strip{margin:12px 0;display:flex;flex-wrap:wrap;gap:9px}.time-strip span,.danger-chip{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:6px 10px;border:1px solid var(--line);background:#fffaf1ad;color:var(--muted);font-size:.88rem}.danger-chip{color:var(--cinnabar-dark)!important}.workspace{display:grid;grid-template-columns:1fr;gap:14px;align-items:start}.main-pane,.action-surface,.court-view,.settings-panel,.archive-view{border:1px solid var(--line);border-radius:12px;background:#fffaf1ad;box-shadow:var(--shadow)}.main-pane-map{border:none;background:transparent;box-shadow:none;padding:8px 0}.main-pane,.court-view,.settings-panel,.archive-view{padding:20px}.segmented{display:inline-flex;gap:8px;margin-bottom:12px}.segmented button.active{background:var(--jade);border-color:var(--jade);color:#fff}.map-view-new{display:flex;flex-direction:column;gap:16px}.map-tabs{display:flex;gap:6px;background:#fffaf199;border:1px solid var(--line);border-radius:12px;padding:4px;align-self:flex-start}.map-tab{min-height:42px;padding:8px 22px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--muted);font-weight:700;font-size:.95rem;display:flex;align-items:center;gap:6px;cursor:pointer;transition:all .2s ease}.map-tab:hover{background:#ae843814;transform:none;border-color:transparent}.map-tab.active{background:linear-gradient(135deg,var(--jade),#3a5e50);color:#fff;border-color:transparent;box-shadow:0 2px 12px #496f614d}.map-tab-icon{font-size:1.1rem}.scene-card-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.scene-card{position:relative;min-height:160px;border:none;border-radius:14px;overflow:hidden;cursor:pointer;padding:0;background:transparent;transition:transform .25s ease,box-shadow .25s ease}.scene-card:hover:not(:disabled){transform:translateY(-4px) scale(1.02);box-shadow:0 12px 32px #33211640;border-color:transparent;background:transparent}.scene-card.active{box-shadow:0 0 0 2px var(--gold),0 8px 24px #ae84384d}.scene-card-bg{position:absolute;inset:0;background-size:cover;background-position:center;transition:transform .4s ease}.scene-card:hover .scene-card-bg{transform:scale(1.08)}.scene-card-overlay{position:absolute;inset:0;background:linear-gradient(to top,#0a0603d9,#0a060366,#0a060326);transition:background .25s ease}.scene-card:hover .scene-card-overlay{background:linear-gradient(to top,#0a0603e6,#0a060359,#0a06031a)}.scene-card-content{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-height:160px;padding:16px;text-align:left}.scene-card-emoji{font-size:1.6rem;margin-bottom:8px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.scene-card-name{margin:0 0 4px;font-size:1.12rem;font-weight:800;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.5);letter-spacing:.03em}.scene-card-desc{margin:0;font-size:.82rem;color:#ffffffbf;line-height:1.5;text-shadow:0 1px 4px rgba(0,0,0,.4);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.scene-page{position:fixed;inset:0;z-index:50;display:flex;flex-direction:column;background:var(--paper);animation:scenePageIn .35s cubic-bezier(.16,1,.3,1)}@keyframes scenePageIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.scene-page-hero{position:relative;min-height:180px;flex-shrink:0;background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:flex-end;padding:18px 22px 22px;overflow:hidden}.scene-page-hero-mask{position:absolute;inset:0;background:linear-gradient(to top,#0a0603e0,#0a060359 55%,#0a06031f)}.scene-page-back{position:absolute;top:14px;left:14px;z-index:5;display:flex;align-items:center;gap:5px;min-height:34px;padding:5px 14px;border:1px solid rgba(255,255,255,.2);border-radius:20px;background:#00000059;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;font-size:.85rem;cursor:pointer;transition:background .2s ease,transform .15s ease}.scene-page-back:hover{background:#0000008c;transform:translateY(-1px);border-color:#ffffff59}.scene-page-hero-content{position:relative;z-index:3}.scene-page-tag{display:inline-block;padding:2px 10px;border-radius:20px;background:#ae843859;color:#ffd97d;font-size:.72rem;font-weight:700;margin-bottom:6px;letter-spacing:.06em;border:1px solid rgba(174,132,56,.25)}.scene-page-title{margin:0 0 4px;font-size:1.6rem;font-weight:900;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.5);letter-spacing:.04em}.scene-page-desc{margin:0;font-size:.88rem;color:#ffffffbf;line-height:1.5}.scene-page-body{flex:1;overflow-y:auto;padding:20px 22px 16px;display:flex;flex-direction:column;gap:16px}.scene-page-prompt{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;background:#ae843814;border:1px solid rgba(174,132,56,.15);border-left:3px solid var(--gold);border-radius:10px;color:var(--muted);font-size:.92rem;line-height:1.65}.scene-page-prompt p{margin:0}.scene-page-empty{margin:0;padding:18px;border:1px dashed rgba(174,132,56,.34);border-radius:12px;background:#fffaf1b8;color:var(--muted);line-height:1.75}.scene-choice-panel{display:grid;gap:14px}.scene-choice-head{display:grid;gap:4px}.scene-choice-head h2{margin:0;color:var(--cinnabar-dark);font-size:1.12rem}.scene-choice-head p{margin:0;color:var(--muted);line-height:1.7;font-size:.9rem}.harem-visit-grid,.dowager-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.harem-visit-card,.dowager-action-card{border:1px solid var(--line);border-radius:12px;background:#fffaf1c7;box-shadow:0 2px 8px #3321160d}.harem-visit-card{padding:14px}.harem-visit-card h3{margin:0 0 12px;color:var(--cinnabar-dark);font-size:1rem}.harem-visit-halls{display:grid;gap:8px}.harem-visit-hall{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;min-height:58px;padding:9px 10px;border:1px solid rgba(174,132,56,.18);border-radius:10px;background:#ffffff5c}.harem-visit-hall strong,.harem-visit-hall span,.dowager-action-card strong,.dowager-action-card span{display:block}.harem-visit-hall strong{margin-bottom:2px;color:var(--ink);font-size:.92rem}.harem-visit-hall span{color:var(--muted);font-size:.84rem;line-height:1.45}.harem-visit-hall button{min-height:34px;padding:6px 14px;border-radius:18px;font-size:.86rem;font-weight:800}.dowager-action-card{min-height:128px;padding:18px;text-align:left;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.dowager-action-card:hover:not(:disabled){transform:translateY(-2px);border-color:#96352d59;box-shadow:0 8px 22px #3321161f}.dowager-action-card strong{margin-bottom:8px;color:var(--cinnabar-dark);font-size:1.04rem}.dowager-action-card span{color:var(--muted);line-height:1.65;font-size:.9rem}.dowager-action-card:disabled{opacity:.55;cursor:not-allowed}.foreign-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.foreign-action-card{display:grid;gap:10px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fffaf1c7;box-shadow:0 2px 8px #3321160d}.foreign-action-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.foreign-action-head strong{color:var(--cinnabar-dark);font-size:1.02rem}.foreign-action-head span{padding:2px 9px;border-radius:999px;background:#496f611a;color:var(--jade);font-size:.76rem;font-weight:800}.foreign-action-card p{margin:0;color:var(--muted);font-size:.88rem}.foreign-action-buttons{display:flex;flex-wrap:wrap;gap:8px}.foreign-action-buttons button{min-height:32px;padding:6px 12px;border-radius:8px;font-size:.82rem}.scene-page-loading{display:flex;align-items:center;justify-content:center;gap:10px;padding:28px 16px;color:var(--jade);font-size:.95rem;font-weight:600}.scene-page-story{padding:16px 18px;background:#fffaf1cc;border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 8px #3321160f;animation:storyFadeIn .4s ease}@keyframes storyFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.scene-page-story-header small{color:var(--muted);font-size:.8rem}.scene-page-story h3{margin:6px 0 8px;color:var(--cinnabar-dark);font-size:1.05rem}.scene-page-story p{margin:0;line-height:1.8;white-space:pre-wrap;color:var(--ink);font-size:.95rem}.scene-page-options{display:grid;gap:8px;margin-top:14px}.scene-page-options button{width:100%;min-height:38px;padding:8px 12px;border-radius:8px;border:1px solid rgba(73,111,97,.18);background:#496f610f;color:var(--jade);font-weight:700;line-height:1.45;text-align:left;cursor:pointer}.scene-page-options button:hover:not(:disabled){border-color:#496f6157;background:#496f611a}.scene-page-options button:disabled{cursor:not-allowed;opacity:.62}.scene-page-error-panel{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#96352d14;border-radius:8px;border:1px solid rgba(150,53,45,.15)}.scene-page-error{flex:1;margin:0;color:var(--cinnabar-dark);font-size:.9rem}.scene-page-retry{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 14px;border-radius:999px;border:1px solid rgba(150,53,45,.22);background:#fffaf1eb;color:var(--cinnabar-dark);font-weight:700;cursor:pointer;white-space:nowrap}.scene-page-retry:disabled{cursor:not-allowed;opacity:.62}.scene-page-pending-hint{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#496f6114;border:1px solid rgba(73,111,97,.15);border-radius:8px;color:var(--jade);font-size:.88rem;font-weight:600}.scene-page-input-bar{flex-shrink:0;display:flex;align-items:flex-end;gap:10px;padding:12px 18px;border-top:1px solid var(--line);background:#fffaf1f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.scene-page-input-bar textarea{flex:1;min-height:42px;max-height:120px;resize:none;border-radius:12px;padding:10px 14px;font-size:.92rem;line-height:1.5;border:1px solid var(--line);background:#fffaf1e6}.scene-page-input-bar textarea:focus{border-color:var(--jade);box-shadow:0 0 0 2px #496f611f}.scene-page-send{width:44px;height:44px;border-radius:50%;border:none;background:linear-gradient(180deg,var(--cinnabar),var(--cinnabar-dark));color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:transform .15s ease,box-shadow .15s ease;padding:0;min-height:auto}.scene-page-send:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px #96352d59;border-color:transparent;background:linear-gradient(180deg,#ad443b,var(--cinnabar-dark))}.scene-page-send:disabled{opacity:.45;cursor:not-allowed}.story-panel{display:grid;gap:14px;padding:15px;max-height:calc(100vh - 180px);overflow:auto}.section-head{display:flex;align-items:center;gap:8px;color:var(--cinnabar-dark);font-weight:900}.story-entry{border-left:3px solid var(--gold);padding-left:12px}.story-entry small,.archive-view small,.pending-card span,.muted{color:var(--muted)}.story-entry h3,.archive-view h2,.archive-view h3{margin:6px 0;color:var(--cinnabar-dark)}.story-entry p,.pending-card p,.archive-view p,.character-body p,.empty-state p{line-height:1.75;white-space:pre-wrap}.pending-list{display:grid;gap:10px}.pending-card{border:1px dashed rgba(73,111,97,.3);border-radius:7px;padding:10px;background:#496f6114}.scene-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.scene-tile{min-height:108px;align-items:flex-start;justify-content:flex-start;text-align:left;flex-direction:column}.scene-tile strong,.scene-tile span{display:block}.scene-tile span{color:var(--muted);line-height:1.55}.scene-tile.active{border-color:#96352d61;background:#96352d17}.action-surface{display:grid;gap:12px;padding:16px}.action-surface h2{margin:0 0 6px;color:var(--cinnabar-dark)}.page-view{display:flex;flex-direction:column;gap:18px}.page-header{display:flex;align-items:center;gap:10px;color:var(--cinnabar-dark);padding-bottom:12px;border-bottom:1px solid var(--line)}.page-header h2{margin:0;font-size:1.3rem;font-weight:900;letter-spacing:.04em}.page-count{margin-left:auto;padding:3px 12px;border-radius:20px;background:#496f611a;color:var(--jade);font-size:.82rem;font-weight:700}.avatar{width:72px;height:72px;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,#96352d1f,#ae843826);border:2px solid rgba(174,132,56,.2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar img{width:100%;height:100%;object-fit:cover}.avatar-initial{font-size:1.3rem;font-weight:800;color:var(--cinnabar-dark)}.avatar-clickable{position:relative;appearance:none;min-height:0;padding:0;cursor:pointer;font:inherit;outline:none}.avatar-clickable:hover:not(:disabled){border-color:#ae843880}.avatar-clickable:focus-visible{box-shadow:0 0 0 3px #ae843838}.avatar-upload-mark{position:absolute;right:4px;bottom:4px;width:20px;height:20px;border-radius:999px;display:grid;place-items:center;background:var(--cinnabar-dark);color:#fff8ed;border:1px solid var(--paper-strong);box-shadow:0 4px 10px #3321162e;pointer-events:none}.avatar-upload-mark svg{width:11px;height:11px;stroke-width:2.4}.candidate-section{display:grid;gap:12px}.candidate-section-head{display:flex;align-items:center;gap:10px;padding-bottom:8px;border-bottom:1px dashed var(--line)}.candidate-section-head h2{margin:0;color:var(--cinnabar-dark);font-size:1.05rem}.candidate-section-head span{margin-left:auto;color:var(--jade);font-size:.82rem;font-weight:800}.candidate-empty{margin:0;padding:14px 16px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);background:#ae84380d}.candidate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.candidate-card{display:flex;flex-direction:column;gap:12px;padding:18px;border:1px solid rgba(174,132,56,.22);border-radius:14px;background:linear-gradient(145deg,#fffaf1f0,#f7f0e3fa);box-shadow:0 4px 16px #3321160f}.candidate-card-top{display:flex;gap:12px;align-items:center}.candidate-card .avatar{width:62px;height:62px}.candidate-identity{display:flex;flex-direction:column;gap:2px;min-width:0}.candidate-identity strong{color:var(--cinnabar-dark);font-size:1.06rem}.candidate-identity span{color:var(--muted);font-size:.82rem}.candidate-intro{margin:0;line-height:1.65;color:var(--ink);font-size:.9rem}.candidate-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}.candidate-controls,.consort-manage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.candidate-controls label,.consort-manage label{display:grid;gap:5px;color:var(--muted);font-size:.78rem;font-weight:700}.candidate-controls select,.consort-manage select,.consort-gift-row select{width:100%;min-height:34px;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fffaf1e6;color:var(--ink);font-size:.85rem}.candidate-actions{display:flex;gap:8px;flex-wrap:wrap}.consort-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.consort-card{padding:20px;border-radius:14px;background:linear-gradient(145deg,#fffaf1e6,#f7f0e3f2);border:1px solid rgba(174,132,56,.15);box-shadow:0 4px 16px #3321160f;display:flex;flex-direction:column;gap:14px;transition:transform .2s ease,box-shadow .2s ease}.consort-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #3321161a}.consort-card-top{display:flex;align-items:center;gap:14px}.consort-card-identity{display:flex;flex-direction:column;gap:2px;min-width:0}.consort-name-input{color:var(--cinnabar-dark);font-weight:900;font-size:1.15rem;border:none;background:transparent;padding:0;width:100%;outline:none;letter-spacing:.03em}.consort-name-input:focus{border-bottom:1px solid var(--gold)}.consort-rank{color:var(--gold);font-weight:700;font-size:.88rem}.consort-origin{color:var(--muted);font-size:.82rem}.consort-intro{margin:0;font-size:.9rem;line-height:1.7;color:var(--ink);padding:10px 14px;background:#ae84380d;border-left:2px solid var(--gold);border-radius:0 8px 8px 0}.consort-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 14px}.consort-recent{padding:8px 12px;background:#496f610f;border-radius:8px;border-left:2px solid var(--jade)}.consort-recent small{color:var(--jade);font-weight:700;font-size:.78rem}.consort-recent p{margin:4px 0 0;font-size:.85rem;color:var(--muted);line-height:1.5}.consort-actions{display:flex;gap:8px;flex-wrap:wrap}.consort-gift-row{display:flex;gap:8px;align-items:center;min-width:min(100%,280px)}.consort-upload-btn,.consort-gift-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:8px;font-size:.82rem;cursor:pointer;border:1px solid var(--line);background:#fffaf1cc;color:var(--ink);transition:all .15s ease;min-height:auto}.consort-upload-btn:hover,.consort-gift-btn:hover{background:#ae84381a;border-color:#ae84384d;transform:translateY(-1px)}.metric{display:grid;grid-template-columns:36px minmax(0,1fr) 28px;align-items:center;gap:6px;font-size:.8rem}.metric span{color:var(--muted);font-weight:600}.metric b{text-align:right;font-size:.78rem;color:var(--ink)}.metric div{height:6px;border-radius:999px;background:#50362414;overflow:hidden}.metric i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--jade),var(--gold));transition:width .3s ease}.residence-add-btn{align-self:flex-start}.residence-toolbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.residence-toolbar p{margin:0;color:var(--muted);font-size:.88rem}.residence-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.residence-card{padding:18px;border-radius:14px;background:linear-gradient(145deg,#fffaf1e6,#f7f0e3f2);border:1px solid rgba(174,132,56,.15);box-shadow:0 4px 16px #3321160f;display:flex;flex-direction:column;gap:14px}.residence-name-field{display:grid;gap:6px;color:var(--muted);font-size:.78rem;font-weight:700}.residence-name-field input{width:100%;padding:9px 11px;border:1px solid rgba(174,132,56,.24);border-radius:9px;background:#fffaf1db;color:var(--cinnabar-dark);font-size:1.02rem;font-weight:900}.residence-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.residence-stat-row{display:grid;gap:5px;padding:8px;border-radius:10px;background:#ffffff61}.residence-stat-foot{display:flex;align-items:center;justify-content:space-between;gap:8px}.residence-stat-foot span{color:var(--muted);font-size:.74rem}.residence-stat-foot button{min-height:28px;padding:4px 8px;border-radius:7px;font-size:.76rem;gap:4px}.residence-halls{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:12px}.residence-hall{display:flex;align-items:center;gap:10px}.residence-hall-name{min-width:52px;font-size:.85rem;color:var(--muted);font-weight:600}.residence-hall-select{flex:1;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:#fffaf1cc;font-size:.85rem;color:var(--ink)}.children-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.child-card{padding:18px;border-radius:14px;background:linear-gradient(145deg,#fffaf1e6,#f7f0e3f2);border:1px solid rgba(174,132,56,.15);box-shadow:0 4px 16px #3321160f;display:flex;flex-direction:column;gap:14px}.child-card-top{display:flex;align-items:center;gap:14px}.child-card-identity{display:flex;flex-direction:column;gap:2px}.child-card-identity h3{margin:0;color:var(--cinnabar-dark);font-size:1.1rem;font-weight:900}.child-origin{color:var(--gold);font-weight:700;font-size:.85rem}.child-parents{color:var(--muted);font-size:.8rem}.child-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:6px 12px}@media(max-width:760px){.consort-grid,.residence-grid,.children-grid{grid-template-columns:1fr}}.court-quick-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.court-action-card{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 10px;border-radius:12px;border:1px solid rgba(174,132,56,.15);background:linear-gradient(145deg,#fffaf1e6,#f7f0e3f2);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;min-height:auto}.court-action-card:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 6px 20px #3321161f;border-color:#ae843859;background:linear-gradient(145deg,#fffaf1f2,#f7f0e3)}.court-action-icon{font-size:1.8rem}.court-action-label{font-size:.88rem;font-weight:700;color:var(--ink);letter-spacing:.04em}.court-section{margin-top:8px}.court-section-title{margin:0 0 12px;font-size:1rem;font-weight:800;color:var(--cinnabar-dark);padding-bottom:8px;border-bottom:1px dashed var(--line)}.court-npc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.court-npc-card{display:flex;gap:12px;padding:14px;border-radius:12px;background:linear-gradient(145deg,#fffaf1e6,#f7f0e3f2);border:1px solid rgba(174,132,56,.12);box-shadow:0 2px 8px #3321160a;transition:transform .2s ease}.court-npc-card:hover{transform:translateY(-1px)}.court-npc-card .avatar{width:58px;height:58px}.court-npc-info{display:flex;flex-direction:column;gap:3px;min-width:0}.court-npc-info strong{color:var(--cinnabar-dark);font-size:.95rem}.court-npc-info p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.5}.court-npc-stats{display:flex;gap:10px;margin-top:4px}.court-npc-stats span{font-size:.78rem;padding:2px 8px;border-radius:6px;background:#496f6114;color:var(--jade);font-weight:600}.court-foreign-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.court-foreign-card{padding:14px;border-radius:10px;border:1px solid var(--line);background:#fffaf1b3;display:flex;flex-direction:column;gap:6px}.court-foreign-header{display:flex;justify-content:space-between;align-items:center}.court-foreign-header strong{font-size:.95rem;color:var(--ink)}.court-foreign-status{padding:2px 10px;border-radius:20px;font-size:.72rem;font-weight:700}.status-tribute{background:#496f611f;color:var(--jade)}.status-vassal{background:#ae84381f;color:var(--gold)}.status-rebellion{background:#96352d1f;color:var(--cinnabar)}.status-annexed{background:#5036241a;color:var(--muted)}.status-unknown{background:#5036240f;color:var(--muted)}.court-foreign-affinity{font-size:.82rem;color:var(--muted)}.court-foreign-affinity b{color:var(--jade)}.court-foreign-tribute{margin:0;font-size:.82rem;color:var(--muted);font-style:italic}.court-gift-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.court-gift-card{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;border:1px solid rgba(174,132,56,.2);background:#ae84380f;transition:transform .15s ease}.court-gift-card:hover{transform:translateY(-1px)}.court-gift-icon{font-size:1.4rem}.court-gift-info{display:flex;flex-direction:column;gap:1px}.court-gift-info strong{font-size:.88rem;color:var(--ink)}.court-gift-info small{font-size:.75rem;color:var(--muted)}.archive-view{display:flex;flex-direction:column;gap:24px}.archive-section{display:flex;flex-direction:column;gap:14px}.archive-section-head{display:flex;align-items:center;gap:10px;color:var(--cinnabar-dark);padding-bottom:10px;border-bottom:1px solid var(--line)}.archive-section-head h2{margin:0;font-size:1.2rem;font-weight:900}.archive-section-note{margin:-4px 0 0;color:var(--muted);font-size:.88rem}.archive-empty{color:var(--muted);font-size:.9rem;padding:16px;text-align:center;background:#ae84380a;border-radius:10px;border:1px dashed var(--line)}.archive-pending-list{display:flex;flex-direction:column;gap:12px}.archive-pending-card{padding:16px;border-radius:12px;border:1px dashed rgba(73,111,97,.3);background:#496f610f;display:flex;flex-direction:column;gap:10px}.archive-pending-info{display:flex;align-items:center;gap:8px}.archive-pending-info strong{color:var(--cinnabar-dark);font-size:1rem}.archive-pending-info span{color:var(--muted);font-size:.85rem}.archive-pending-card p{margin:0;font-size:.9rem;line-height:1.65}.archive-pending-actions{display:flex;gap:8px}.archive-record-list{display:grid;gap:10px}.archive-record-card{padding:14px 16px;border-radius:10px;border:1px solid var(--line);background:#fffaf1c7}.archive-record-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:6px;color:var(--muted);font-size:.78rem}.archive-record-meta span{padding:2px 8px;border-radius:999px;background:#496f6112}.archive-record-card h3{margin:0 0 6px;color:var(--cinnabar-dark);font-size:1rem}.archive-record-card p{margin:0;font-size:.92rem;line-height:1.65;color:var(--ink)}.settings-section{padding:20px;border-radius:14px;background:linear-gradient(145deg,#fffaf1e6,#f7f0e3f2);border:1px solid rgba(174,132,56,.12);margin-bottom:16px}.settings-section-title{margin:0 0 6px;font-size:1.05rem;font-weight:800;color:var(--cinnabar-dark)}.settings-section-desc{margin:0 0 16px;color:var(--muted);font-size:.85rem;line-height:1.5}.settings-form{display:flex;flex-direction:column;gap:18px}.settings-field{display:flex;flex-direction:column;gap:6px}.settings-label{display:flex;align-items:center;gap:6px;font-size:.9rem;font-weight:700;color:var(--ink)}.settings-label-icon{font-size:1rem}.settings-input{padding:10px 14px;border:1px solid var(--line);border-radius:10px;background:#fffaf1e6;font-size:.92rem;color:var(--ink);outline:none;transition:border-color .2s ease,box-shadow .2s ease;width:100%}.settings-input:focus{border-color:var(--jade);box-shadow:0 0 0 2px #496f611a}.settings-hint{font-size:.78rem;color:var(--muted);display:flex;align-items:center;gap:6px}.settings-error{font-size:.82rem;color:var(--cinnabar);font-weight:600}.settings-model-row{display:flex;gap:10px}.settings-model-input-wrap{flex:1;position:relative}.settings-model-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:240px;overflow-y:auto;background:var(--paper-strong);border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 24px #3321161f;z-index:30;display:flex;flex-direction:column}.settings-model-option{display:flex;justify-content:space-between;align-items:center;padding:9px 14px;border:none;background:transparent;cursor:pointer;text-align:left;font-size:.85rem;color:var(--ink);transition:background .1s ease;min-height:auto;border-radius:0}.settings-model-option:hover{background:#496f6114;transform:none;border-color:transparent}.settings-model-option.active{background:#496f611f;color:var(--jade);font-weight:700}.settings-model-option small{color:var(--muted);font-size:.75rem}.settings-fetch-btn{white-space:nowrap;flex-shrink:0;display:flex;align-items:center;gap:5px;padding:8px 14px;border-radius:10px;border:1px solid var(--line);background:#fffaf1cc;font-size:.85rem;cursor:pointer;min-height:auto;transition:all .15s ease}.settings-fetch-btn:hover:not(:disabled){background:#496f6114;border-color:var(--jade);transform:translateY(-1px)}.settings-link-btn{background:none;border:none;color:var(--jade);font-size:.78rem;cursor:pointer;padding:0;min-height:auto;text-decoration:underline}.settings-link-btn:hover{transform:none;border-color:transparent;background:none}.settings-save-actions{display:flex;gap:10px;flex-wrap:wrap}.settings-action-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border-radius:10px;border:1px solid var(--line);background:#fffaf1cc;cursor:pointer;font-size:.88rem;min-height:auto;transition:all .15s ease}.settings-action-btn:hover:not(:disabled){background:#ae843814;border-color:#ae84384d;transform:translateY(-1px)}.settings-danger-btn{color:var(--cinnabar-dark);border-color:#96352d33}.settings-danger-btn:hover:not(:disabled){background:#96352d0f;border-color:#96352d59}.empty-state,.inherit-screen{min-height:360px;display:grid;place-items:center;text-align:center;align-content:center;color:var(--muted)}@media(max-width:760px){.court-quick-actions{grid-template-columns:repeat(2,1fr)}.court-npc-grid,.court-foreign-grid{grid-template-columns:1fr}.settings-model-row,.settings-save-actions{flex-direction:column}.settings-action-btn{width:100%;justify-content:center}}.empty-state h2,.inherit-screen h1{margin:10px 0 4px;color:var(--cinnabar-dark)}.bottom-nav{position:fixed;z-index:20;left:50%;bottom:14px;transform:translate(-50%);width:min(520px,calc(100% - 24px));display:flex;align-items:flex-end;justify-content:center;gap:8px;padding:8px 12px;border:1px solid rgba(88,59,42,.12);border-radius:28px;background:#fffaf1e0;box-shadow:0 8px 32px #3321162e,0 2px 8px #33211614;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.nav-btn{display:flex;flex-direction:column;align-items:center;gap:3px;border:none;background:transparent;padding:4px;cursor:pointer;transition:transform .15s ease;min-height:auto}.nav-btn:hover:not(:disabled){transform:translateY(-2px);border-color:transparent;background:transparent}.nav-icon{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#496f6114;border:1px solid rgba(73,111,97,.12);color:var(--muted);transition:all .2s ease}.nav-icon-hero{width:54px;height:54px;background:linear-gradient(145deg,#496f6126,#ae84381f);border-color:#ae843833;color:var(--jade);box-shadow:0 2px 12px #496f6126}.nav-label{font-size:.7rem;color:var(--muted);font-weight:600;letter-spacing:.02em;transition:color .2s ease}.nav-btn.active .nav-icon{background:linear-gradient(145deg,var(--jade),#3a5e50);border-color:var(--jade);color:#fff;box-shadow:0 4px 16px #496f6159}.nav-btn.active .nav-label{color:var(--jade);font-weight:700}.nav-btn.nav-hero.active .nav-icon{width:56px;height:56px;background:linear-gradient(145deg,var(--jade),#2a4a3e);box-shadow:0 4px 20px #496f6173,0 0 0 3px #496f611f}.nav-btn.nav-hero.active .nav-label{color:var(--jade)}.nav-btn:hover .nav-icon{background:#496f6126;border-color:#496f6140}.nav-btn.active:hover .nav-icon{background:linear-gradient(145deg,#567f6e,var(--jade))}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.error-text{color:var(--cinnabar-dark);font-size:.9rem;padding:8px 12px;background:#96352d14;border-radius:8px;border:1px solid rgba(150,53,45,.15)}@media(max-width:1120px){.cover{grid-template-columns:1fr}.cover-visual{min-height:46vh}.cover-copy{padding:28px}.scene-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.cover-copy h1{font-size:3.7rem}.cover-actions,.npc-setup-grid{grid-template-columns:1fr}.topbar{grid-template-columns:1fr;align-items:start}.quick-stats{justify-content:start}.scene-card-grid{grid-template-columns:repeat(2,1fr)}.harem-visit-grid,.dowager-action-grid,.foreign-action-grid,.candidate-grid{grid-template-columns:1fr}.scene-card-content{min-height:140px}.bottom-nav{width:calc(100% - 16px);gap:4px;padding:6px 8px}.nav-icon{width:38px;height:38px}.nav-icon-hero{width:46px;height:46px}.nav-btn.nav-hero.active .nav-icon{width:48px;height:48px}.nav-label{font-size:.62rem}.scene-page-hero{min-height:160px}.scene-page-title{font-size:1.4rem}}@media(max-width:520px){.cover-copy{padding:22px 16px 38px}.setup-title{align-items:flex-start;flex-direction:column-reverse}.npc-editor,.scene-card-grid,.scene-grid,.metrics,.candidate-controls,.candidate-metrics,.consort-manage{grid-template-columns:1fr}.scene-card-content{min-height:120px}.bottom-nav{gap:2px;padding:5px 6px;border-radius:22px}.nav-icon{width:34px;height:34px}.nav-icon-hero{width:42px;height:42px}.nav-btn.nav-hero.active .nav-icon{width:44px;height:44px}.nav-label{font-size:.58rem}.scene-page-hero{min-height:140px;padding:14px 16px 18px}.scene-page-title{font-size:1.3rem}.scene-page-body{padding:16px 14px}.scene-page-input-bar{padding:10px 12px}.harem-visit-hall{grid-template-columns:1fr;align-items:stretch}.harem-visit-hall button{width:100%}}
