:root{color:#d3ddd2;font-synthesis:none;--ink:#101f20;--panel:#182a29;--line:#b7c9b51c;--muted:#82988e;--gold:#d6b67c;--cream:#ece5cf;--jade:#90b6a0;--red:#bd756c;background:#101f20;font-family:Microsoft JhengHei,PingFang TC,sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;border:1px solid var(--line);background:0 0;border-radius:5px;min-height:36px;padding:8px 14px;transition:background .18s,border-color .18s,color .18s}button:hover:enabled{background:#d0dfbd0a;border-color:#d5bb8470}button:disabled{opacity:.38;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}a{color:var(--gold)}h1,h2,h3,p{margin:0}h1,h2,h3,.brand,.nav-glyph,.seal{font-family:Noto Serif TC,PMingLiU,Songti TC,serif}h1{letter-spacing:3px;color:var(--cream);font-size:29px;font-weight:500;line-height:1.5}h2{letter-spacing:1.5px;color:var(--cream);font-size:20px;font-weight:500}h3{color:var(--cream);font-size:19px;font-weight:500}p{line-height:1.8}small{color:var(--muted);font-size:11px}button img{vertical-align:middle}input,select{color:var(--cream);max-width:100%;min-height:40px;accent-color:var(--gold);background:#102220;border:1px solid #90b6a035;border-radius:4px;padding:10px 12px}select{cursor:pointer}input::placeholder{color:#718d80}input[type=checkbox]{width:14px;height:14px;min-height:0}button .item-icon{margin-right:8px}.item-icon{image-rendering:pixelated;object-fit:contain;flex-shrink:0}button.primary{color:#182925;background:#d2b17a;border:1px solid #edcd99;padding:12px 20px;font-weight:700;box-shadow:0 3px 18px #0002}button.primary:hover:enabled{background:#e4c594;border-color:#f5dfb6}.primary.large{padding:16px 32px;font-size:16px}.primary.large span{margin-left:30px}button.primary:disabled{box-shadow:none}button.quiet{color:#9eafa2;background:0 0;border-color:#0000}button.text-button{min-height:28px;color:var(--gold);white-space:nowrap;border:0;padding:0;font-size:12px}button.icon-button{border:0;width:36px;height:36px;padding:0;font-size:27px;line-height:1}button.gold-button{color:var(--gold);background:#d6b67c08;border-color:#d6b67c44}.danger-text{color:#d6a298;border:0;font-size:12px}.eyebrow{letter-spacing:3px;color:var(--gold);margin-bottom:9px;font-size:10px;font-weight:500}.badge{letter-spacing:.5px;color:var(--jade);white-space:nowrap;background:#8bab9410;border:1px solid #a5ba9e1c;border-radius:3px;padding:5px 9px;font-family:Microsoft JhengHei,sans-serif;font-size:10px;font-weight:400;display:inline-block}.tags{flex-wrap:wrap;gap:5px;display:flex}.tags span{color:#a7b7a4;background:#9ab99a0c;border:1px solid #90b6a018;border-radius:2px;padding:3px 7px;font-size:10px}.hint{color:var(--muted);font-size:11px;line-height:1.8}.unavailable{color:#dd9e8b!important}.deceased{filter:saturate(.3);opacity:.55}.seal{color:#e5c799;background:#d5b58608;border:1px solid #d5b586;border-radius:10px 2px;justify-content:center;align-items:center;width:44px;height:48px;font-size:32px;line-height:1;display:flex;box-shadow:inset 0 0 0 3px #172726,inset 0 0 0 4px #d5b58655}.sidebar{border-right:1px solid var(--line);z-index:20;background:linear-gradient(170deg,#152a29,#112221 70%);flex-direction:column;width:212px;padding:33px 20px 24px;display:flex;position:fixed;inset:0 auto 0 0}.brand{color:var(--cream);letter-spacing:4px;align-items:center;gap:14px;padding:0 5px;font-size:26px;text-decoration:none;display:flex}.brand small{letter-spacing:3px;color:var(--gold);margin-top:7px;font-family:sans-serif;font-size:9px;display:block}.nav-caption{text-align:center;color:#809083;letter-spacing:2px;margin:34px 0 20px;font-size:9px}.sidebar nav{flex-direction:column;gap:9px;display:flex}.nav-item{text-align:left;letter-spacing:1px;color:#91a697;border:1px solid #0000;border-radius:4px;align-items:center;gap:16px;min-height:53px;padding:10px 13px;font-size:13px;display:flex;position:relative}.nav-glyph{color:#8fa595;text-align:center;width:23px;font-size:21px}.nav-item.active{color:var(--cream);background:linear-gradient(90deg,#d2b47b18,#d2b47b04);border-color:#d2b47b30}.nav-item.active:before{content:"";background:var(--gold);width:2px;position:absolute;top:14px;bottom:14px;left:-21px}.nav-item.active .nav-glyph{color:var(--gold)}.nav-item i{background:var(--gold);border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-poem{writing-mode:vertical-rl;letter-spacing:5px;color:#657e6c;opacity:.65;height:180px;margin:44px auto 20px;font-family:serif;font-size:14px;line-height:2.4}.sidebar-footer{border-top:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:8px;margin-top:auto;padding-top:18px;display:flex}.alpha-label{letter-spacing:2px;color:#9ca58c;margin-bottom:6px;font-size:9px}.sidebar-footer button{color:#819886;border:0;min-height:24px;padding:0;font-size:11px}.main{background:radial-gradient(at 80% 0,#8c9e6810,#0000 40%);max-width:1780px;min-height:100vh;margin-left:212px;padding:0 36px 22px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;height:75px;display:flex}.breadcrumb{color:#7f9689;letter-spacing:1px;font-size:11px}.breadcrumb span{color:#506b60;margin:0 10px}.top-actions{align-items:center;gap:13px;font-size:11px;display:flex}.connection{color:#819e8a;font-size:10px}.connection i,.live-dot{background:#a2c3a1;border-radius:50%;width:5px;height:5px;margin-right:7px;display:inline-block;box-shadow:0 0 8px #a2c3a140}.connection.offline{color:#d19a84}.connection.offline i{background:#d19a84}.account-button{color:#c4c8b1;border-color:#b8c4a72b;min-height:30px;padding:7px 12px;font-size:11px}.world-heading{justify-content:space-between;align-items:center;gap:20px;padding:30px 0 23px;display:flex}.world-heading h1{font-size:25px}.resources{flex-shrink:0;gap:24px;display:flex}.resources>div{align-items:center;gap:10px;display:flex}.resources>div>span{flex-direction:column;gap:4px;display:flex}.resources strong{color:#eee2c4;white-space:nowrap;font-family:Georgia,serif;font-size:20px;font-weight:400}.resources small{color:#8da18e;font-family:sans-serif;font-size:10px;font-weight:400}.population-symbol{font-size:21px;color:#a6b49a!important;font-family:serif!important}.timebar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#b9c5af;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;padding:9px 0;font-size:11px;display:flex}.timebar small{font-size:10px}.tiny-moon{width:10px;height:10px;box-shadow:3px 1px 0 0 var(--gold);border-radius:50%;margin:0 12px 0 0;display:inline-block}.time-controls{align-items:center;gap:3px;display:flex}.time-controls>span{color:var(--muted);margin-right:8px;font-size:10px}.time-controls button{border-color:#0000;min-height:26px;padding:4px 10px;font-size:10px}.time-controls .selected{color:#edcf99;background:#b6c4a71a;border-color:#b6c4a723}.time-controls button:last-child{border-left:1px solid var(--line);border-radius:0;margin-left:8px}.onboarding{background:linear-gradient(100deg,#9d77471b,#627d6611);border:1px solid #ba986e42;border-radius:5px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px;padding:22px 24px;display:flex}.onboarding>div{align-items:center;gap:20px;display:flex}.onboarding h2{font-size:19px}.onboarding p{color:#9eaf99;margin-top:8px;font-size:11px}.onboarding button{white-space:nowrap}.chapter-number{color:#baa176;font-family:serif;font-size:45px;font-weight:100}.goal-strip{background:#bda57509;border:1px solid #bda57520;border-radius:4px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:13px 18px;display:flex}.goal-strip>div{align-items:center;gap:12px;font-size:11px;display:flex}.goal-strip b{color:#d1c5a4;white-space:nowrap;font-weight:400}.goal-strip>div>span:last-child{color:#8fa38f;font-size:11px}.little-seal{color:var(--gold);border:1px solid #bc9b6a70;padding:2px 4px;font-family:serif;font-size:13px}.goal-strip button{white-space:nowrap;min-height:28px;padding:5px 12px;font-size:11px}.chapter-complete{background:linear-gradient(100deg,#997c3430,#465d3715);border:1px solid #b99d5260;border-radius:5px;align-items:center;gap:22px;margin-bottom:22px;padding:24px;display:flex}.chapter-complete>span{color:var(--gold);font-size:34px}.chapter-complete p{color:#b4ba9d;margin-top:10px;font-size:12px}.chapter-complete button{white-space:nowrap;margin-left:auto}.battle-panel{background:#142725;border:1px solid #89a58a30;border-radius:6px;overflow:hidden}.panel-head{background:linear-gradient(100deg,#1c3330,#162c29);justify-content:space-between;align-items:center;padding:19px 24px;display:flex}.panel-head .eyebrow{margin-bottom:7px;font-size:9px}.panel-head h2{font-size:21px}.panel-head .badge{vertical-align:middle;margin-left:15px;font-size:9px}.panel-head .quiet{font-size:10px}.battle-canvas{aspect-ratio:2.5;width:100%;height:auto;image-rendering:pixelated;object-fit:cover;display:block}.battle-bottom{border-top:1px solid var(--line);color:#8da58f;background:#152c28;justify-content:space-between;align-items:center;padding:13px 22px;font-size:10px;display:flex}.battle-bottom>span:last-child{color:#6b8575}.expedition-panel{border:1px solid var(--line);background:#172926;border-radius:5px;grid-template-columns:1.05fr 1fr;margin:20px 0;display:grid}.team-section,.mission-section{padding:21px 24px}.mission-section{border-left:1px solid var(--line)}.section-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:21px;display:flex}.section-heading h2{font-size:18px}.section-heading h2 small{letter-spacing:0;margin-left:10px;font-family:sans-serif;font-size:10px}.team-list{gap:10px;min-height:106px;display:flex}.team-member{text-align:left;border:0;flex:1;align-items:center;gap:8px;min-width:0;padding:0;display:flex}.team-member>span:last-child{flex-direction:column;gap:7px;display:flex}.team-member b{white-space:nowrap;color:#d4d9bf;font-family:serif;font-size:15px;font-weight:400}.team-member small{white-space:nowrap;font-size:9px}.team-member em{color:#afbb9b;font-size:9px;font-style:normal}.portrait{background:radial-gradient(at 50% 80%,#9aab6820,#0000 70%);flex-shrink:0;width:54px;height:82px;display:block;position:relative;overflow:hidden}.portrait img{image-rendering:pixelated;pointer-events:none;width:auto;max-width:none;height:280px;position:absolute;top:-96px;left:-108px}.portrait.swordswoman img{top:-100px;left:-111px}.portrait.wizard img{height:209px;top:-61px;left:-98px}.portrait.healer{filter:hue-rotate(55deg)}.checkline{color:#839d89;align-items:center;gap:7px;margin-top:20px;font-size:10px;display:flex}.empty-team{color:var(--muted);border-style:dashed;width:100%}.mission-list{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.mission{text-align:left;background:#0f242120;border:1px solid #9fb69422;flex-direction:column;align-items:flex-start;gap:8px;min-height:103px;padding:12px;display:flex;position:relative}.mission.current{background:#b49c6710;border-color:#b9a16b66}.mission-index{color:#b9a67d;border-bottom:1px solid #b9a67d40;padding-bottom:4px;font-size:11px}.mission b{color:#d2d9bc;font-size:12px;font-weight:500;display:block}.mission small{margin-top:6px;font-size:9px;line-height:1.4;display:block}.mission>span:last-child{color:#b9a67d;font-size:11px;position:absolute;top:10px;right:9px}.mission-section .hint{margin-top:12px;font-size:10px}.bottom-grid{grid-template-columns:1fr 1.2fr;gap:20px;display:grid}.panel{border:1px solid var(--line);background:#172927;border-radius:5px;padding:25px}.panel .eyebrow{font-size:9px}.lineage-preview .person-row{text-align:left;border:0;border-bottom:1px solid var(--line);border-radius:0;align-items:center;gap:17px;width:100%;padding:8px 0;display:flex}.person-row>span:nth-child(2){flex-direction:column;gap:10px;display:flex}.person-row b{color:#d1d7bd;font-family:serif;font-size:15px;font-weight:400}.person-row>span:last-child{color:var(--gold);margin-left:auto}.empty-state{text-align:center;color:#8ba18d;padding:40px 20px;font-size:12px;line-height:1.8}.empty-state .item-icon{margin-bottom:18px}.empty-state p{margin-bottom:7px}.events{scrollbar-color:#456052 transparent;scrollbar-width:thin;max-height:274px;padding-right:6px;overflow:auto}.event{gap:14px;padding:0 0 18px;display:flex;position:relative}.event:before{content:"";background:#819d731a;width:1px;position:absolute;top:8px;bottom:0;left:3px}.event-dot{z-index:1;background:#172927;border:1px solid #839a71;border-radius:50%;flex-shrink:0;width:7px;height:7px;margin-top:3px}.event-marriage .event-dot,.event-birth .event-dot{border-color:var(--gold);background:#b5a16d20}.event small{font-size:9px}.event p{color:#b1bca5;margin-top:5px;font-size:11px}.event .text-button{color:#a29872;min-height:22px;font-size:9px}.page-footer{color:#597565;justify-content:space-between;gap:20px;padding:30px 0 4px;font-size:9px;line-height:1.8;display:flex}.page-footer>span:first-child{letter-spacing:2px;font-family:serif}.match-panel{margin-bottom:22px}.match-stage{justify-content:center;align-items:center;max-width:720px;margin:20px auto 30px;display:flex}.match-person{background:radial-gradient(at 50% 35%,#9db77b0d,#0000 75%);flex-direction:column;flex:1;align-items:center;max-width:265px;padding:12px 22px 0;display:flex}.match-person .portrait{margin:15px 0 20px;transform:scale(1.3)}.match-person h3{letter-spacing:3px;font-size:24px}.match-person p{color:#90a489;margin:10px 0;font-size:11px}.match-person .text-button{margin:11px 0;font-size:10px}.match-person select{width:100%;margin-top:14px;font-size:11px}.red-thread{flex-direction:column;flex:0 0 170px;align-items:center;gap:18px;display:flex;position:relative}.red-thread:before,.red-thread:after{content:"";border-top:1px solid #ce8b8060;width:65px;position:absolute;top:29px;left:-6px;transform:rotate(-13deg)}.red-thread:after{left:auto;right:-6px;transform:rotate(13deg)}.red-thread>span{color:#dfaba1;background:#b97c6310;border:1px solid #c97c6a80;border-radius:50%;place-items:center;width:58px;height:58px;font-family:serif;font-size:29px;display:grid;box-shadow:0 0 40px #d58e7520}.red-thread small{color:#b49180;font-size:10px}.match-action{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:22px;padding-top:24px;display:flex}.match-action p{color:#a1b098;font-size:12px}.match-action small{font-size:10px}.match-action button{white-space:nowrap}.relation-list{grid-template-columns:1fr 1fr;gap:0 22px;display:grid}.relation-row{border-top:1px solid var(--line);flex-direction:column;align-items:flex-start;gap:10px;padding:16px 0;display:flex}.relation-row>div{align-items:center;gap:10px;display:flex}.relation-row button{letter-spacing:1px;border:0;min-height:24px;padding:0;font-family:serif;font-size:16px}.relation-row small,.relation-row .badge{font-size:9px}.thread-mark{color:#b78072}.search{background:#10211e;width:210px;font-size:12px}.filter-tabs{border-bottom:1px solid var(--line);align-items:center;gap:6px;margin-bottom:22px;padding-bottom:16px;display:flex}.filter-tabs button{border-color:#0000;padding:7px 14px;font-size:11px}.filter-tabs button.selected{color:var(--gold);background:#b6b18a0a;border-color:#b6b18a3b}.filter-tabs>span{color:var(--muted);margin-left:auto;font-size:11px}.people-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.person-card{background:#122421;border:1px solid #a7b39224;border-radius:4px;padding:10px 15px 14px}.person-main{text-align:left;border:0;align-items:center;gap:12px;width:100%;padding:3px 0;display:flex;position:relative}.person-main h3{letter-spacing:2px;margin:6px 0;font-size:19px}.person-main p{color:#8d9f89;font-size:10px}.person-main small{color:#b6a27e;font-size:9px}.person-sex{color:#637f6c;align-self:flex-start;margin-left:auto;padding-top:10px;font-size:10px}.person-status{color:#8fa68b;border-bottom:1px solid var(--line);justify-content:space-between;margin-top:5px;padding:10px 0 13px;font-size:9px;display:flex}.person-card-bottom{justify-content:space-between;align-items:center;gap:8px;padding-top:12px;display:flex}.person-card-bottom button{white-space:nowrap;min-height:27px;padding:6px 8px;font-size:9px}.person-card .tags span{padding:3px 5px;font-size:9px}.pagination{color:var(--muted);justify-content:center;align-items:center;gap:25px;margin-top:28px;font-size:11px;display:flex}.pagination button{font-size:11px}.family-tabs{justify-content:center;gap:15px;margin:32px 0;display:flex}.family-tabs button{color:#9aac94;border-radius:15px 3px;justify-content:center;align-items:center;gap:5px;width:70px;height:78px;font-family:serif;font-size:28px;display:flex}.family-tabs .selected{color:#e5c997;background:#cfb7780a;border-color:#ceb07980}.family-tabs small{writing-mode:vertical-rl;font-size:11px}.genealogy{margin-top:35px}.generation{border-top:1px solid var(--line);gap:25px;padding:25px 0;display:flex;position:relative}.generation-label{width:90px;color:var(--gold);border-right:1px solid #b6b28b38;flex-direction:column;flex-shrink:0;gap:10px;padding-top:25px;font-family:serif;font-size:18px;display:flex}.generation-label small{font-family:sans-serif;font-size:10px}.generation-people{flex-wrap:wrap;gap:15px;display:flex}.ancestor{background:#10231d30;border-color:#a7b18b25;flex-direction:column;align-items:center;width:154px;padding:4px 10px 15px;display:flex}.ancestor b{letter-spacing:2px;color:#d8d7bb;font-family:serif;font-size:17px;font-weight:400}.ancestor span:not(.portrait){color:#8ea287;margin-top:10px;font-size:10px}.ancestor small{margin-top:12px;font-size:8px;line-height:1.6}.ancestor .portrait{height:80px}.shrine-banner{background:radial-gradient(at 50% 100%,#b19c4220,#0000 75%),#142925;border:1px solid #d6b67c22;border-radius:5px;justify-content:center;align-items:center;gap:48px;margin-bottom:22px;padding:35px;display:flex}.shrine-seal{color:#d8bd8b;text-align:center;border:1px solid #bda06b66;border-radius:4px;padding:12px 21px;font-family:serif;font-size:28px;line-height:1.5;box-shadow:inset 0 0 0 5px #132823,inset 0 0 0 6px #bda06b33}.shrine-banner h2{margin:15px 0;font-size:26px}.shrine-banner p{color:#a3b198;font-size:12px;line-height:2}.upgrade-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.upgrade{padding:23px}.upgrade h2{justify-content:space-between;gap:10px;margin:18px 0 14px;font-size:18px;display:flex}.upgrade h2 span{color:var(--gold);letter-spacing:0;font-family:Georgia;font-size:13px}.upgrade p{color:#8ea38b;min-height:60px;font-size:11px}.level-track{gap:5px;margin:20px 0;display:flex}.level-track i{background:#7d97772b;flex:1;height:3px}.level-track .filled{background:#c8b17f}.upgrade .primary{white-space:nowrap;width:100%;padding:10px 8px;font-size:11px}.vows{margin-top:22px}.vow{border-top:1px solid var(--line);align-items:center;gap:23px;padding:19px 0;display:flex}.vow-number{color:#61765b;font-family:Georgia;font-size:25px}.vow b{color:#d5d5ba;font-size:14px;font-weight:400}.vow p{color:#81967f;margin-top:7px;font-size:11px}.vow button{white-space:nowrap;color:var(--gold);margin-left:auto;font-size:11px}.welcome{text-align:center;max-width:1160px;margin:auto;padding:48px 8px 0;position:relative}.welcome .eyebrow{letter-spacing:5px;margin-bottom:20px;font-size:11px}.welcome h1{letter-spacing:6px;font-size:52px;line-height:1.45}.welcome h1 em{color:#c2b68b;font-style:normal}.welcome p{color:#98aa96;margin:24px 0 27px;font-size:13px;line-height:2.1}.welcome-note{color:#82947b;letter-spacing:.5px;margin-top:17px;font-size:10px}.welcome-scene{border:1px solid #99b29229;border-radius:5px;margin-top:40px;position:relative;overflow:hidden}.welcome-scene canvas{object-fit:cover;max-height:360px}.welcome-scene>span{letter-spacing:3px;color:#a7b49b;background:#172c26;padding:19px;font-size:11px;display:block}.loading-state{color:#99ad98;flex-direction:column;justify-content:center;align-items:center;gap:26px;height:65vh;font-size:13px;display:flex}.toast{z-index:100;color:#20382c;background:#dfd6b7;border:1px solid #f4e1b1;border-radius:5px;align-items:center;gap:14px;max-width:90vw;padding:15px 15px 15px 22px;font-size:12px;line-height:1.7;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 8px 60px #0005}.toast button{border:0;flex-shrink:0;width:22px;min-height:22px;padding:0;font-size:20px}.retry-banner{color:#f0d6bd;z-index:99;background:#593c31;border:1px solid #b38f72;padding:15px;font-size:12px;position:fixed;bottom:4px;right:20px}.retry-banner button{margin-left:12px}dialog{color:#b7c8ac;background:#1a2e29;border:1px solid #b8af7d66;border-radius:7px;width:min(650px,100vw - 32px);max-height:90vh;padding:28px;overflow:auto;box-shadow:0 24px 140px #0009}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#051513b8}.modal-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:18px;display:flex}.modal-head h2{font-size:19px}.profile-heading{align-items:center;gap:22px;margin:8px 0 25px;display:flex}.profile-heading .portrait{margin:0 6px;transform:scale(1.15)}.profile-heading h2{letter-spacing:3px;margin:10px 0;font-size:29px}.profile-heading h2 span{color:var(--muted);letter-spacing:0;margin-left:12px;font-size:11px}.profile-heading p{color:#a1b594;font-size:12px}.profile-heading>button{white-space:nowrap;margin-left:auto;font-size:11px}.stats-grid{grid-template-columns:1fr 1fr;gap:16px 30px;display:grid}.stats-grid>div{align-items:center;gap:12px;font-size:12px;display:flex}.stats-grid>div>span{color:#98ae8f;flex-shrink:0}.stats-grid b{color:#d1c39d;min-width:26px;font-size:11px;font-weight:400}.stat-track{background:#83966a25;flex:1;height:4px}.stat-track i{background:linear-gradient(90deg,#64826c,#b5b787);height:100%;display:block}.stats-grid+.hint{margin-top:16px}.profile-talents{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:18px;margin:27px 0;padding:20px 0;display:grid}.profile-talents>div:last-child{grid-column:1/-1}.profile-talents small{font-size:10px}.profile-talents p{color:#d1c8a7;margin:7px 0 3px;font-size:14px}.profile-talents span{color:#8fa786;font-size:11px}.profile-family{color:#94a98a;font-size:12px;line-height:2}.profile-family h3{margin-bottom:12px;font-size:15px}.profile-family button{color:#c7b486;border:0;min-height:26px;padding:4px 7px;font-size:12px}.profile-actions{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin-top:24px;padding-top:24px;display:flex}.profile-actions label{font-size:12px}.profile-actions select{min-height:34px;margin-left:8px;padding:6px 12px;font-size:12px}.profile-actions small{margin-top:10px;font-size:9px;display:block}.profile-actions button{white-space:nowrap;font-size:12px}.auth-form{flex-direction:column;gap:22px;display:flex}.auth-form>p{color:#9fb392;font-size:12px}.auth-form label{color:#c4c8a5;flex-direction:column;gap:10px;font-size:12px;display:flex}.auth-form .hint{font-size:10px}.auth-form .form-error{color:#e9b5a2}.account-panel p{color:var(--muted);margin:16px 0 25px;font-size:12px}.guide{color:#a1b392;flex-direction:column;gap:19px;margin:0;padding-left:22px;font-size:12px;line-height:1.9;display:flex}.guide b{color:#d6c59b;font-size:15px;font-weight:400;display:block}.guide+.hint{border-top:1px solid var(--line);margin-top:23px;padding-top:20px}.return-panel{text-align:center;flex-direction:column;align-items:center;gap:25px;padding:10px 15px;display:flex}.return-panel p{color:#9caf90;font-size:12px;line-height:1.9}.return-panel .seal{width:50px;height:56px;font-size:36px}.credits p{margin:18px 0;font-size:12px;line-height:2}.credits a{border-bottom:1px solid #d6b67c50;text-decoration:none}.credits .hint{font-size:10px}@media (width>=1600px){.main{padding-left:50px;padding-right:50px}.world-heading{padding:38px 0 28px}.battle-canvas{max-height:490px}.team-list{gap:25px}}@media (width<=1250px){.sidebar{width:180px;padding-left:14px;padding-right:14px}.main{margin-left:180px;padding-left:24px;padding-right:24px}.nav-item{gap:12px}.brand{gap:10px;font-size:23px}.brand .seal{width:39px}.world-heading h1{letter-spacing:1px;font-size:21px}.resources{gap:18px}.resources strong{font-size:18px}.resources .item-icon{width:20px;height:20px}.expedition-panel{grid-template-columns:1fr}.mission-section{border-left:0;border-top:1px solid var(--line)}.team-member{max-width:220px}.team-section{padding-bottom:16px}.checkline{margin-top:12px}.mission{min-height:91px}.people-grid,.upgrade-grid{grid-template-columns:repeat(2,1fr)}.upgrade p{min-height:40px}.onboarding{flex-direction:column;align-items:flex-start}.onboarding .primary{align-self:flex-end}.goal-strip>div{flex-wrap:wrap;gap:10px}.goal-strip>div>span:last-child{flex-basis:100%;padding-left:34px}.bottom-grid{grid-template-columns:1fr 1fr}}@media (width<=900px){.sidebar{width:76px;padding:24px 8px 18px}.brand{justify-content:center;padding:0}.brand>span:last-child,.nav-caption,.sidebar-poem,.sidebar-footer{display:none}.brand .seal{width:39px;height:45px}.sidebar nav{gap:17px;margin-top:40px}.nav-item{letter-spacing:0;flex-direction:column;gap:7px;padding:11px 0;font-size:8px}.nav-glyph{font-size:24px}.nav-item.active:before{top:20px;bottom:20px;left:-9px}.nav-item i{position:absolute;top:10px;right:7px}.main{margin-left:76px}.world-heading{flex-direction:column;align-items:flex-start;gap:20px}.world-heading h1{font-size:25px}.resources{gap:30px}.timebar{margin-bottom:17px}.goal-strip{padding:11px 14px}.goal-strip>div>span:last-child{font-size:10px}.bottom-grid{grid-template-columns:1fr}.events{max-height:235px}.relation-list{grid-template-columns:1fr}.match-action{flex-direction:column;align-items:flex-start}.match-action button{align-self:flex-end}.match-stage{margin-left:-10px;margin-right:-10px}.match-person{padding-left:12px;padding-right:12px}.red-thread{flex-basis:100px}.red-thread:before,.red-thread:after{width:32px}.red-thread span{width:48px;height:48px;font-size:25px}.red-thread:before,.red-thread:after{top:24px}.generation-label{width:62px;font-size:15px}.generation{gap:16px}.ancestor{width:135px}.family-tabs{gap:10px}.family-tabs button{width:60px;height:72px}.page-footer{flex-direction:column;gap:7px}.connection{display:none}.top-actions{gap:5px}.welcome h1{font-size:43px}.welcome{padding-top:60px}.welcome-scene canvas{min-height:270px}}@media (width<=600px){.sidebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#132723f5;border-top:1px solid #8aab7c3d;border-right:0;width:100%;height:67px;padding:0 8px;inset:auto 0 0}.sidebar .brand{display:none}.sidebar nav{flex-direction:row;justify-content:space-between;gap:0;margin:0}.nav-item{border-radius:0;flex:1;gap:3px;min-height:64px;padding:8px 0;font-size:9px}.nav-glyph{font-size:20px}.nav-item.active{background:linear-gradient(#c7b58112,#c7b5810c);border-color:#0000}.nav-item.active:before{width:auto;height:2px;inset:-1px 20% auto}.nav-item i{top:9px;right:20%}.main{margin-left:0;padding:0 16px 90px}.topbar{height:59px}.breadcrumb{font-size:10px}.top-actions .quiet{min-height:30px;padding:5px 7px;font-size:10px}.account-button{padding:6px 9px;font-size:10px}.world-heading{gap:22px;padding:26px 0 18px}.eyebrow{font-size:9px}.world-heading h1{letter-spacing:1.5px;font-size:23px}.resources{gap:27px}.resources>div{gap:8px}.resources strong{font-size:21px}.resources small{font-size:9px}.resources>div>span{gap:4px}.timebar{flex-direction:column;align-items:flex-start;gap:8px;padding:11px 0;font-size:10px}.time-controls{align-self:flex-end;margin-top:-3px}.time-controls button{min-height:28px;padding:4px 10px}.timebar small{font-size:9px}.onboarding{gap:18px;padding:18px}.onboarding>div{align-items:flex-start;gap:14px}.chapter-number{font-size:32px}.onboarding h2{letter-spacing:1px;font-size:17px}.onboarding p{font-size:10px;line-height:1.9}.onboarding button{width:100%;font-size:12px}.goal-strip{flex-direction:column;align-items:flex-start;gap:9px;padding:13px 15px}.goal-strip>div{gap:8px}.goal-strip>div>span:last-child{padding-left:0;font-size:10px;line-height:1.7}.goal-strip button{align-self:flex-end;font-size:10px}.panel-head{padding:16px 15px}.panel-head h2{letter-spacing:1px;font-size:18px}.panel-head .eyebrow{font-size:8px}.panel-head .badge{margin-left:8px;padding:4px 6px;font-size:8px}.panel-head .quiet{padding:6px 4px;font-size:9px}.battle-canvas{aspect-ratio:1.75;object-fit:cover;object-position:center;min-height:220px}.battle-bottom{flex-wrap:wrap;gap:10px;padding:11px 13px;font-size:9px}.battle-bottom>span:last-child{font-size:8px}.expedition-panel{margin:15px 0}.team-section,.mission-section{padding:18px 15px}.section-heading h2{letter-spacing:1px;font-size:17px}.section-heading{margin-bottom:18px}.section-heading .text-button{font-size:10px}.team-list{gap:5px;min-height:125px}.team-member{flex-direction:column;align-items:flex-start;gap:3px;position:relative}.team-member .portrait{transform-origin:0 0;height:64px;margin-bottom:-8px;transform:scale(.85)}.team-member>span:last-child{gap:5px}.team-member b{font-size:14px}.team-member small,.team-member em{font-size:8px}.checkline{margin-top:14px;font-size:9px}.mission-list{gap:6px}.mission{min-height:105px;padding:10px}.mission b{font-size:11px}.mission small{font-size:8px;line-height:1.7}.mission-section .hint{font-size:9px}.panel{padding:19px 17px}.bottom-grid{gap:15px}.empty-state{padding:26px 10px;font-size:11px}.empty-state small{font-size:10px}.match-stage{margin:5px -8px 23px}.match-person{min-width:0;padding-left:5px;padding-right:5px}.match-person h3{letter-spacing:1px;font-size:19px}.match-person .portrait{margin:10px 0 12px;transform:scale(1.15)}.match-person select{min-height:33px;padding:7px 4px;font-size:9px}.match-person p{font-size:10px}.match-person .tags{gap:3px}.match-person .tags span{padding:3px 5px;font-size:8px}.red-thread{flex-basis:50px;gap:12px;min-width:50px}.red-thread:before,.red-thread:after{width:12px;top:21px}.red-thread:before{left:-8px}.red-thread:after{right:-8px}.red-thread>span{width:41px;height:41px;font-size:23px}.red-thread small{white-space:nowrap;font-size:8px}.match-panel>.section-heading{flex-direction:column;align-items:flex-start}.match-panel>.section-heading h2{font-size:18px}.match-action{gap:17px;padding-top:19px}.match-action p{font-size:11px}.match-action small{font-size:9px}.match-action button{width:100%;font-size:12px}.relation-row button{font-size:15px}.relation-row>div{gap:7px}.relation-row small{font-size:8px}.people-panel>.section-heading{flex-direction:column;align-items:flex-start;gap:18px}.people-panel .search{width:100%;min-height:36px;padding:8px 11px;font-size:11px}.filter-tabs{flex-wrap:wrap;gap:2px;margin-bottom:15px;padding-bottom:12px}.filter-tabs button{min-height:30px;padding:6px 9px;font-size:10px}.filter-tabs>span{font-size:9px}.people-grid{grid-template-columns:1fr;gap:12px}.person-card{padding:8px 14px 13px}.person-main h3{font-size:20px}.person-main small{font-size:10px}.person-main p{font-size:11px}.person-status,.person-card-bottom button{font-size:10px}.family-panel>.section-heading{flex-direction:column;align-items:flex-start}.family-tabs{gap:6px;margin:20px 0}.family-tabs button{gap:3px;width:calc(16.6667% - 5px);height:60px;padding:6px 4px;font-size:23px}.family-tabs small{font-size:8px}.family-panel .hint{font-size:10px}.generation{flex-direction:column;gap:18px}.generation-label{border:0;border-left:2px solid #c9aa6c88;flex-direction:row;align-items:center;gap:16px;width:100%;padding:0 0 0 10px}.generation-people{grid-template-columns:1fr 1fr;gap:11px;width:100%;display:grid}.ancestor{width:100%;padding:4px 7px 15px}.ancestor b{font-size:16px}.ancestor small{font-size:8px}.shrine-banner{align-items:center;gap:23px;padding:25px 19px}.shrine-seal{flex-shrink:0;padding:10px 14px;font-size:24px}.shrine-banner .eyebrow{letter-spacing:2px;font-size:7px;line-height:1.9}.shrine-banner h2{letter-spacing:1px;margin:10px 0;font-size:18px}.shrine-banner p{font-size:10px}.upgrade-grid{gap:12px}.upgrade{padding:20px 15px}.upgrade .item-icon{width:38px;height:38px}.upgrade h2{letter-spacing:.5px;gap:5px;margin:14px 0 12px;font-size:16px}.upgrade h2 span{font-size:12px}.upgrade p{min-height:72px;font-size:10px}.upgrade .primary{padding:10px 4px;font-size:9px}.level-track{margin:16px 0}.vow{flex-wrap:wrap;gap:12px;padding:17px 0}.vow-number{font-size:20px}.vow>div{flex:1}.vow p{font-size:10px}.vow b{font-size:13px}.vow button{min-height:30px;margin-left:32px;padding:6px 10px;font-size:10px}.vows{margin-top:17px}.chapter-complete{flex-wrap:wrap;gap:14px;padding:20px}.chapter-complete>span{font-size:25px}.chapter-complete>div{flex:1}.chapter-complete h2{font-size:17px}.chapter-complete p{font-size:10px}.chapter-complete button{font-size:11px}.welcome{padding:44px 0 0}.welcome .eyebrow{letter-spacing:3px;font-size:8px}.welcome h1{letter-spacing:4px;font-size:37px}.welcome p{margin:22px 0 27px;font-size:12px}.welcome-note{font-size:9px;line-height:1.8}.welcome-scene{margin-top:32px}.welcome-scene canvas{min-height:210px;max-height:240px}.welcome-scene>span{letter-spacing:1px;padding:17px 5px;font-size:8px}.primary.large{padding:15px 24px;font-size:14px}.toast{min-width:80vw;padding:13px 12px 13px 17px;font-size:11px;bottom:83px}.retry-banner{padding:12px;font-size:11px;bottom:69px;left:10px;right:10px}dialog{width:calc(100vw - 24px);max-height:88vh;padding:21px}.modal-head{margin-bottom:20px;padding-bottom:15px}.profile-heading{gap:12px}.profile-heading .portrait{margin:0;transform:scale(1)}.profile-heading h2{letter-spacing:1px;font-size:24px}.profile-heading .eyebrow{letter-spacing:1px;font-size:8px}.profile-heading p{font-size:10px}.profile-heading>button{padding:5px;font-size:10px}.stats-grid{gap:15px 17px}.stats-grid>div{gap:7px;font-size:11px}.stats-grid b{min-width:24px;font-size:10px}.profile-actions{flex-direction:column;align-items:flex-start}.profile-actions button{width:100%}.profile-family,.profile-family button{font-size:11px}.page-footer{font-size:8px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.roster-edit{color:#b7be9e;border:1px dashed #afbb9536;border-radius:4px;flex-wrap:wrap;align-items:center;gap:9px;margin-bottom:20px;padding:13px 15px;font-size:11px;display:flex}.roster-edit button{background:#9dac7c10;min-height:30px;padding:5px 10px;font-size:11px}.roster-edit button span{color:var(--gold);margin-left:8px}.roster-edit small{margin-left:auto;font-size:10px}@media (width<=600px){.roster-edit{gap:7px;padding:12px;font-size:11px}.roster-edit>span,.roster-edit small{width:100%;margin:0}.roster-edit button{font-size:11px}.hint,.onboarding p,.match-action p,.shrine-banner p,.upgrade p,.vow p,.event p{font-size:12px}.upgrade p{min-height:90px}.person-card-bottom button,.person-status,.person-main p,.goal-strip>div>span:last-child{font-size:11px}.page-footer{font-size:10px;line-height:1.8}}
