@font-face{font-family:AgathosSans;src:url("fonts/Agathos-NotoSansSC.woff2") format("woff2");font-style:normal;font-weight:100 900;font-display:swap}
:root{--paper:#f1ede6;--surface:#fffcf7;--soft:#f6f1e9;--wine:#79253b;--wine2:#9c3b50;--accent:#a32646;--rose:#f9e7ea;--ink:#2c2730;--muted:#655e65;--line:#d8cfc7;--green:#1a6e6c;--amber:#926a29;--gold:#caa868;--shadow:0 9px 30px rgba(39,25,29,.065)}
html{scroll-padding-top:20px}body{background:radial-gradient(circle at 88% 4%,#e8dbd7 0,transparent 29%),linear-gradient(180deg,#f5f0e8 0,#f1ede6 420px);font-family:AgathosSans,"Noto Sans SC","Microsoft YaHei UI","Yu Gothic UI",sans-serif;font-size:16px;line-height:1.63;-webkit-font-smoothing:antialiased}
button,input,select{font-family:inherit}button{transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}button:active{transform:translateY(1px)}
.topbar{background:#29222b;border-bottom:1px solid #4e3840;box-shadow:0 3px 18px #2c172015}.top-inner{min-height:72px;gap:32px}.brand{gap:13px;min-width:218px}.brand-mark{display:grid;place-items:center;width:37px;height:37px;border:1px solid #cc9a7b;border-radius:12px;background:linear-gradient(145deg,#a53e55,#6d2239);box-shadow:inset 0 0 0 3px #ffffff14,0 2px 8px #14070b44;color:#f9d5a0;font-size:20px;filter:none}.brand strong{color:#fff6ee;font-family:Georgia,serif;font-size:23px;letter-spacing:.045em}.brand small{color:#cdbfc0;font-size:11px;letter-spacing:.11em}.topbar nav{height:72px;gap:0}.nav{color:#d1c4c5;border-bottom:3px solid transparent;font-size:14px;font-weight:680;padding:4px 20px 0}.nav:hover{background:#ffffff11;color:#fff7ed}.nav.active{color:#fff7ed;border-bottom-color:#dfb878;background:#ffffff0a}.data-status{color:#bfb1b3;font-size:12px}
main{padding-top:24px}.workspace-intro{position:relative;overflow:hidden;isolation:isolate;min-height:166px;margin-bottom:19px;padding:25px 30px;border:1px solid #5d2235;border-radius:18px;background:linear-gradient(115deg,#4b1d31 0%,#702b42 65%,#8b4452 100%);box-shadow:0 16px 36px #4b1d312a;color:#fffaf4}.workspace-intro:before{content:"";position:absolute;z-index:-1;width:350px;height:350px;right:18%;top:-230px;border:1px solid #eecba64d;transform:rotate(42deg)}.workspace-intro:after{content:"";position:absolute;z-index:-1;right:-88px;top:-130px;width:310px;height:310px;border:1px solid #ffffff40;transform:rotate(45deg);background:conic-gradient(from 20deg at 50% 50%,#ffffff00 0 23%,#f6cb9440 24% 25%,#ffffff00 26% 49%,#ffffff22 50% 51%,#ffffff00 52% 74%,#f6cb9440 75% 76%,#ffffff00 77%)}.workspace-intro .eyebrow{color:#eac69e;font-size:11px;letter-spacing:.18em}.workspace-intro h1{font-size:30px;color:#fffaf4;letter-spacing:.01em;font-weight:780;line-height:1.32;margin-bottom:7px}.workspace-intro p{color:#f0dfe0;font-size:15px}.workflow{position:relative;z-index:1;gap:8px;padding:0;background:transparent;border-radius:0}.workflow button{min-width:122px;min-height:66px;padding:10px 12px;border:1px solid #e8c9bc66;border-radius:10px;background:#fffaf2e8;box-shadow:0 4px 14px #2c112026;color:#332531}.workflow button:hover{background:#fff;transform:translateY(-2px)}.workflow b{background:#8b3148;color:#fff;border-radius:7px;width:27px;height:27px;font-family:Georgia,serif;font-size:15px}.workflow span{font-size:13px}.workflow small{font-size:11px;color:#6b6062}.workspace-intro .eyebrow,.section-heading .eyebrow,.matrix-head .eyebrow{font-family:Georgia,serif}
body[data-tab="characters"] .workspace-intro,body[data-tab="matrix"] .workspace-intro,body[data-tab="data"] .workspace-intro{display:none}
.control-panel,.panel,.metric{background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.control-panel{border-left:4px solid #a42d4c;padding:19px 23px 18px;margin-bottom:21px}.control-heading{padding-bottom:11px;border-color:#ded5ca}.control-heading .eyebrow{color:#987340;letter-spacing:.18em}.control-heading h2{font-size:19px;color:#4a2835}.control-heading p{font-size:13px}
.compact-scenario{display:none;align-items:center;justify-content:space-between;gap:13px}.compact-scenario span{font-size:15px;font-weight:730;color:#442c36}.compact-scenario .text-button{white-space:nowrap}body[data-tab="characters"] .compact-scenario,body[data-tab="matrix"] .compact-scenario,body[data-tab="data"] .compact-scenario{display:flex}body[data-tab="characters"] .control-panel,body[data-tab="matrix"] .control-panel,body[data-tab="data"] .control-panel{padding-top:12px;padding-bottom:12px;margin-bottom:18px}body[data-tab="characters"] .control-heading,body[data-tab="matrix"] .control-heading,body[data-tab="data"] .control-heading{border:0;margin-bottom:3px;padding:0}body[data-tab="characters"] .control-heading h2,body[data-tab="matrix"] .control-heading h2,body[data-tab="data"] .control-heading h2{font-size:15px}body[data-tab="characters"] .control-heading .eyebrow,body[data-tab="matrix"] .control-heading .eyebrow,body[data-tab="data"] .control-heading .eyebrow{display:none}body[data-tab="characters"] .control-heading p,body[data-tab="matrix"] .control-heading p,body[data-tab="data"] .control-heading p{display:none}body[data-tab="characters"] .control-main,body[data-tab="matrix"] .control-main,body[data-tab="data"] .control-main,body[data-tab="characters"] .scenario,body[data-tab="matrix"] .scenario,body[data-tab="data"] .scenario{display:none}
label{font-size:13px;font-weight:690;color:#534b51;gap:6px}input,select{height:43px;border:1px solid #cfc5bd;border-radius:8px;background:#fffefa;color:#322b31;font-size:14px;padding:8px 12px}input::placeholder{color:#8c8486;opacity:1}input:hover,select:hover{border-color:#a89994}input:focus,select:focus{border-color:#9f3750;box-shadow:0 0 0 3px #a3264624}.scenario summary{font-size:14px}.scenario summary span{color:#736b70}
.summary-grid{gap:13px}.metric{position:relative;border-top:0;min-height:115px;padding:17px 19px;background:linear-gradient(160deg,#fffdfa,#fbf6ee)}.metric:before{content:"";position:absolute;top:0;left:18px;right:18px;height:3px;border-radius:0 0 3px 3px;background:#a32646}.metric:nth-child(2):before{background:#147474}.metric:nth-child(3):before{background:#c9a45d}.metric:nth-child(4):before{background:#705481}.metric span,.metric small{font-size:13px;color:#675d62}.metric strong{color:#3d2733;font-size:25px;font-weight:800;margin:9px 0 2px}.metric:first-child strong{font-size:18px}
.panel{padding:21px 23px}.panel-title{border-bottom:1px solid #e4dcd2;padding-bottom:11px;margin-bottom:15px}.panel-title h2{font-size:18px;color:#4b2936;font-weight:780}.panel-title span{font-size:13px}.section-heading h1,.matrix-head h1{font-size:29px;letter-spacing:.01em;font-weight:800;color:#352733}.section-heading p,.matrix-head p{font-size:14px;color:#625b61}.eyebrow{color:#a12e4b;font-size:12px;letter-spacing:.15em}
.route-panel{background:linear-gradient(150deg,#fffdfa 75%,#f9efea)}.course-svg{background:#f9f5ec;border-radius:10px;border:1px solid #e4dacf}.route-key,.help,.description{font-size:14px}.route-key i{height:10px}.key-corner{background:#7f3d50}.key-slope{background:#c4a05a}.key-terminal{background:#dbbdc4}.key-skill{background:#0e7777}.detail-header h3{font-size:19px}.skill-icon{border-color:#d2c5be;border-radius:8px}.detail-metrics>div{background:#f5efe6}.detail-metrics span{font-size:12px}.detail-metrics strong{font-size:19px;color:#682339}.description{color:#443d43}.pill{background:#efe9e1;color:#574e52}
.table-wrap{border-color:#ded4ca;border-radius:10px;background:#fffefa}.table-wrap table{min-width:650px}thead th{background:#3a2b36;color:#fff7ee;font-size:13px;font-weight:720;border-bottom:0;padding:11px 13px}td{font-size:14px;padding:10px 13px;border-color:#ece5db}tbody tr:nth-child(even){background:#fdfaf5}tbody tr:hover{background:#f9e9eb}tbody tr.selected{background:#f5dcdf}.row-skill strong{font-size:14px}.row-skill small,.character-name small{font-size:12px}.tag{font-size:12px}.table-foot{font-size:13px}.secondary,.primary{font-size:14px;border-radius:8px;padding:10px 15px}.secondary{border-color:#9b4055;background:#fffaf4;color:#77354a}.secondary:hover{background:#f9e8e9}.primary{background:#822b43;border-color:#822b43;color:#fff}.primary:hover{background:#a13a54}.text-button{font-size:13px}
.character-tools{gap:12px}.character-toolbar{font-size:13px}.character-name strong{font-size:15px}.composition{font-size:13px}.composition small{font-size:12px}.style-chip{border-radius:6px;font-size:13px;min-width:29px}.character-detail-head h3{font-size:20px}.character-detail-head>strong{font-size:25px}.character-detail-head small,.character-note{font-size:13px}.part{font-size:13px;padding:10px 12px;grid-template-columns:105px minmax(160px,1fr) 75px 72px}.part-list{background:#fffefa}.band-button{padding-bottom:13px}.group-name{font-size:14px}.group-line{height:8px;background:#efe7dc}.group-line span{background:linear-gradient(90deg,#9b3552,#c49c67)}.group-meta{font-size:12px}
.character-table+.table-foot{align-items:center}.character-table+.table-foot .secondary{white-space:nowrap;flex:none}
.matrix-bars{gap:12px}.bar-row .bar-name{font-size:13px}.bar-track{background:#eee4db;height:18px}.bar-fill{background:linear-gradient(90deg,#892842,#c5747f)}.bar-number{font-size:13px}.matrix-groups{gap:15px}
.edit-select-label{margin-top:11px}.edit-original{background:#f7f0e6;border-color:#dfd3c7;padding:13px 15px;line-height:1.65;font-size:13px}.edit-original b{display:block;color:#6e2e41;font-size:13px;margin-bottom:7px}.edit-original span{display:block;border-top:1px solid #e5d9cb;padding:5px 0}.edit-original span:first-of-type{border-top:0}.edit-style{font-size:13px}.id-name{display:block;min-height:18px;color:#236965;font-size:12px;font-weight:520;line-height:1.4;overflow-wrap:anywhere}.id-name.error{color:#a32646}.edit-grid{row-gap:14px}.edit-actions{margin-top:18px}.patch-tools{border-color:#e4dcd2}.import-result{font-size:13px}.source-panel{background:#f8f4ed}.source-panel ul{font-size:14px;color:#534d51}.source-panel code{font-family:Consolas,monospace;background:#ebe5dc;padding:2px 4px;border-radius:3px;color:#654051}
[hidden]{display:none!important}
@media(max-width:1200px){.workspace-intro{grid-template-columns:1fr;min-height:0;gap:15px}.workflow{max-width:560px}.workspace-intro:after{right:-175px}.character-tools{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.top-inner{min-height:0}.brand{height:60px}.topbar nav{height:49px}.nav{font-size:13px;padding:3px 15px 0}.workspace-intro{padding:21px}.workspace-intro h1{font-size:26px}.metric{min-height:107px}.section-heading h1,.matrix-head h1{font-size:25px}}
@media(max-width:560px){body{font-size:15px}main{padding:14px 12px 46px}.top-inner{padding:0 12px}.brand{height:56px}.brand strong{font-size:21px}.brand small{font-size:10px}.topbar nav{height:46px}.nav{font-size:12px;padding:3px 13px 0}.workspace-intro{padding:20px 17px;margin-bottom:15px;border-radius:13px}.workspace-intro h1{font-size:23px}.workspace-intro p{font-size:13px}.workflow{gap:5px}.workflow button{min-height:59px;padding:7px 6px;gap:5px}.workflow b{width:21px;height:21px;font-size:12px}.workflow span{font-size:11px}.workflow small{font-size:10px}.control-panel{padding:15px 14px 14px;margin-bottom:15px}.panel{padding:17px 15px}.control-heading h2{font-size:18px}.control-heading p{font-size:11px}.metric{min-height:99px;padding:13px 12px}.metric:before{left:12px;right:12px}.metric strong{font-size:21px}.metric:first-child strong{font-size:15px}.metric span,.metric small{font-size:11px}.section-heading h1,.matrix-head h1{font-size:23px}.section-heading p,.matrix-head p{font-size:13px}.panel-title h2{font-size:16px}.panel-title span{font-size:11px}.table-wrap table{min-width:625px}.character-toolbar{gap:7px}.table-foot{font-size:11px}.part{grid-template-columns:70px minmax(105px,1fr) 57px;font-size:12px;padding:8px 6px}.part>small{display:none}.edit-original{font-size:12px}.id-name{font-size:11px}.source-panel ul{font-size:12px}.help{font-size:13px}}
@media(max-width:560px){
  .character-table table,.library-panel .table-wrap table{min-width:0;width:100%}
  .character-table thead,.library-panel thead{display:none}
  .character-table tbody tr{display:grid;grid-template-columns:34px minmax(0,1fr) 76px;grid-template-rows:auto auto;gap:2px 9px;align-items:center;padding:11px 9px;border-top:1px solid #e9ded5}
  .character-table tbody tr:first-child,.library-panel tbody tr:first-child{border-top:0}
  .character-table td,.library-panel td{border:0;padding:0;min-width:0}
  .character-table td:nth-child(1){grid-column:1;grid-row:1/3;text-align:center}
  .character-table td:nth-child(2){grid-column:2;grid-row:1}
  .character-table td:nth-child(3){grid-column:2;grid-row:2}
  .character-table td:nth-child(4),.character-table td:nth-child(6){display:none}
  .character-table td:nth-child(5){grid-column:3;grid-row:1/3;text-align:right;font-size:15px}
  .character-name{min-width:0}.character-name strong{font-size:14px}.character-name small{max-width:180px;font-size:10px}
  .style-chip{height:20px;min-width:23px;font-size:11px}
  .library-panel tbody tr{display:grid;grid-template-columns:minmax(0,1fr) 76px;grid-template-rows:auto auto;gap:4px 8px;align-items:center;padding:10px;border-top:1px solid #e9ded5}
  .library-panel td:nth-child(1){grid-column:1;grid-row:1/3}.library-panel td:nth-child(2){grid-column:2;grid-row:2;text-align:right;font-size:11px;color:var(--muted)}.library-panel td:nth-child(3){grid-column:2;grid-row:1;text-align:right;font-weight:780;color:var(--wine)}.library-panel td:nth-child(4),.library-panel td:nth-child(5){display:none}
  .library-panel .row-skill{min-width:0}.library-panel .row-skill strong{font-size:13px}.library-panel .row-skill small{font-size:10px}
}
