@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:#0a090d;--surface:#141118;--soft:#1b151d;--wine:#ee6686;--wine2:#ff86a1;--accent:#dc4267;--rose:#2a1924;--ink:#eee9ed;--muted:#a497a1;--line:#372a34;--green:#80c9b2;--amber:#dfbd7c;--gold:#c8a47e;--shadow:0 16px 42px #0003}
html{scrollbar-color:#60414f #0a090d}
body{background:radial-gradient(circle at 95% 6%,#1c0c18 0,#0a090d 32%),#0a090d;color:var(--ink);font-family:AgathosSans,"Noto Sans SC","Microsoft YaHei",sans-serif;font-size:14px;line-height:1.65;min-height:100vh}
button,input,select{font-family:inherit}
a{color:#f07997}
::selection{background:#a33255;color:#fff}
.site-sidebar{position:fixed;inset:0 auto 0 0;width:230px;background:linear-gradient(180deg,#0e0b10,#0a090d 65%);border-right:1px solid #3e2934;display:flex;flex-direction:column;z-index:20}
.site-sidebar .brand{height:91px;min-width:0;display:flex;align-items:center;gap:14px;padding:0 23px;border-bottom:1px solid #3e2934}
.brand-gem{width:35px;height:49px;flex:none;fill:#b6295330;stroke:#e14970;stroke-width:1.1;filter:drop-shadow(0 0 9px #de3a6866)}
.site-sidebar .brand strong{font-family:Georgia,"Times New Roman",serif;font-size:21px;line-height:1.1;letter-spacing:.14em;color:#f2e8ed;font-weight:400}
.site-sidebar .brand small{font:9px Georgia,serif;letter-spacing:.18em;color:#bf7187;margin-top:6px}
.site-sidebar nav{display:flex;flex-direction:column;gap:5px;padding:32px 14px}
.site-sidebar .nav{display:flex;align-items:center;gap:13px;min-height:45px;width:100%;border:0;border-left:2px solid transparent;border-radius:0;background:transparent;text-align:left;padding:0 12px;color:#bfb4bd;font-size:13px;font-weight:500;letter-spacing:.04em}
.site-sidebar .nav:hover{background:#2c1722;color:#fff2f5}
.site-sidebar .nav.active{background:linear-gradient(90deg,#69223a66,#2a152000);color:#fff1f5;border-left-color:#f05a80}
.nav-icon{font-family:Georgia,serif;width:24px;display:inline-grid;place-items:center;color:#eb6685;font-size:19px;font-weight:400}
.sidebar-tail{margin:auto 18px 25px;border-top:1px solid #39242f;padding-top:23px;display:flex;flex-direction:column;align-items:center;text-align:center;color:#9a697a}
.sidebar-tail>span{font:10px/1.7 Georgia,serif;letter-spacing:.22em}
.sidebar-tail svg{width:20px;height:35px;margin:12px 0 22px;fill:none;stroke:#d9496c;stroke-width:1}
.sidebar-tail small{font:10px Georgia,serif;letter-spacing:.13em;color:#765665}
.topbar{position:sticky;top:0;margin-left:230px;height:70px;background:#0c0a10ef;border-bottom:1px solid #362530;backdrop-filter:blur(16px);z-index:15}
.top-inner{max-width:none;min-height:69px;padding:0 31px;gap:24px}
.global-search{position:relative;display:flex;flex-direction:row;align-items:center;gap:10px;width:min(520px,58vw);height:38px;padding:0 14px;border-radius:22px;border:1px solid #3d323d;background:#201e25;color:#d4a5b3;font-family:Georgia,serif;font-size:25px;line-height:1}
.global-search input{flex:1;width:100%;height:34px;border:0;background:transparent;color:#e9e0e7;outline:none;box-shadow:none;padding:4px 0;font-size:12px;font-weight:400}
.global-search input:focus{box-shadow:none;border:0}
.global-search:focus-within{border-color:#ad4a67;box-shadow:0 0 0 2px #a3325533}
.global-search input::placeholder{color:#8f8590}
.topbar-label{margin-left:auto;white-space:nowrap;color:#a76279;letter-spacing:.18em;font:10px Georgia,serif}
.data-status{margin-left:0;color:#8d7d87;font-size:11px}
main{max-width:1610px;margin:0 0 0 230px;padding:27px clamp(22px,3vw,48px) 75px}
.workspace-intro{position:relative;display:flex;align-items:center;gap:35px;min-height:174px;padding:29px 190px 29px 34px;margin-bottom:20px;border:1px solid #563040;border-radius:4px;background:radial-gradient(circle at 89% 40%,#45152899,#180d18 35%,#130f16 75%);box-shadow:inset 0 1px 0 #ffffff0a;overflow:hidden;color:#eae1e7}
.workspace-intro:before{content:"";position:absolute;inset:0;z-index:0;background:linear-gradient(118deg,#8c22461f 0 1px,transparent 1px 66%),linear-gradient(30deg,transparent 0 80%,#5c1b3440 80% 80.1%,transparent 80.1%);pointer-events:none}
.workspace-intro:after{display:none}
.workspace-intro>div:not(.hero-gem){z-index:1}
.workspace-intro>div:first-child{min-width:290px;flex:1}
.workspace-intro .eyebrow{color:#bd7189;font:10px Georgia,serif;letter-spacing:.27em}
.workspace-intro h1{font-size:30px;color:#f1e8ee;font-weight:550;letter-spacing:.035em;margin-bottom:7px}
.workspace-intro p{color:#bdb0bb;font-size:13px;max-width:550px}
.hero-gem{position:absolute;right:0;top:0;bottom:0;width:158px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;z-index:1;color:#b7758d;text-align:center;border-left:1px solid #6c354a77;background:linear-gradient(90deg,#210f1a18,#2c112077)}
.hero-gem span{font:10px/1.42 Georgia,serif;letter-spacing:.22em;white-space:nowrap}
.hero-gem svg{width:38px;height:53px;flex:none;fill:#b6234b38;stroke:#e04a72;stroke-width:1.2;filter:drop-shadow(0 0 10px #df30537a)}
.hero-gem:after{content:"";display:block;width:1px;height:17px;flex:none;background:linear-gradient(#cc5478,#cc547800)}
.workflow{display:flex;gap:8px;flex:none;max-width:none;background:none;padding:0;border-radius:0}
.workflow button{min-width:104px;min-height:65px;display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #593748;border-radius:3px;background:#24151fcf;box-shadow:none;color:#f0e5eb}
.workflow button:hover{background:#3d1c2a;transform:translateY(-2px);border-color:#b34462}
.workflow b{width:22px;height:22px;border:1px solid #b64364;border-radius:50%;background:#491c31;color:#f299ad;font:12px Georgia,serif}
.workflow span{font-size:12px;font-weight:500}
.workflow small{color:#a997a3;font-size:10px}
.control-panel,.panel,.metric{background:linear-gradient(148deg,#17131a,#120f16);border:1px solid var(--line);border-radius:5px;box-shadow:var(--shadow)}
.control-panel{border-left:2px solid #b63259;padding:17px 21px;margin-bottom:18px}
.control-heading{border-color:var(--line)}
.control-heading h2,.panel-title h2{color:#f0e8ee;font-weight:600}
.control-heading p,.panel-title span{color:var(--muted)}
.eyebrow,.control-heading .eyebrow{color:#d55073;letter-spacing:.2em}
.compact-scenario span{color:#eee2e9;font-weight:550}
label{color:#bfb2bd;font-weight:500;font-size:12px}
input,select{border-color:#493541;border-radius:4px;background:#221a23;color:#f0e8ee;font-size:13px}
input::placeholder{color:#817783}
input:hover,select:hover{border-color:#8d4b64}
input:focus,select:focus{border-color:#dc5a7e;box-shadow:0 0 0 2px #b3375c44}
select option{background:#201821;color:#eee6eb}
.scenario{border-color:var(--line)}
.scenario summary{color:#ef7695}
.scenario summary span{color:#9a8d98}
.slider input{accent-color:#df4b70}
.slider output{color:#ee91a8}
.weight-set>span{color:#a898a5}
.summary-grid{gap:12px}
.metric{border-top:1px solid #432c39;background:linear-gradient(140deg,#1d1520,#130f16);min-height:103px;padding:15px 18px}
.metric:before{left:0;right:auto;top:0;width:38px;height:2px;background:#e44e74!important}
.metric span,.metric small{color:#ad9eaa;font-size:11px}
.metric strong{color:#f0e7ed;font-weight:600;font-size:24px}
.metric:first-child strong{font-size:17px}
.panel{padding:19px 21px}
.panel-title{border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:15px}
.panel-title h2{font-size:16px}
.section-heading h1,.matrix-head h1{color:#f1e7ed;font-size:27px;font-weight:600;letter-spacing:.02em}
.section-heading p,.matrix-head p{color:#a99ba6;font-size:13px}
.route-panel{background:linear-gradient(145deg,#17131a,#171219)}
.course-svg{border:1px solid #3d2e38;border-radius:3px;background:#201923}
.course-svg{padding:8px 10px;background:linear-gradient(145deg,#241823,#2c1b2b);border-color:#674256}
.route-panel .panel-title h2{font-size:19px}
.route-panel .panel-title span,.route-key{font-size:14px;color:#ddccd8}
.route-key i{width:16px;height:11px}.key-corner{background:#ed6388}.key-slope{background:#e9b871}.key-terminal{background:#703247}.key-skill{background:#ff6f99}
.field-hint{display:block;margin-top:5px;color:#bcaebb;font-size:11px;line-height:1.35;font-weight:400}
.scenario-check{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.scenario-check input{width:auto;min-width:0}.scenario-check .field-hint{flex-basis:100%;margin-left:20px}
.route-key,.help,.description{color:#bcb0ba;font-size:13px}
.key-corner{background:#b24666}.key-slope{background:#c4a06e}.key-terminal{background:#5d3e53}.key-skill{background:#c85178}
.skill-icon{border-color:#594050;background:#1d1720;border-radius:4px}
.skill-icon.fallback{background:#3e1f31;color:#eb7695}
.detail-header h3{color:#f3e9ee}
.skill-id,.detail-note,.character-note{color:#a99ba6}
.detail-metrics>div{background:#241a25;border:1px solid #3e2e3b;border-radius:3px}
.detail-metrics strong{color:#f47898}
.pill{background:#30232f;color:#d9c6d0;border-radius:3px}
.pill.warning{background:#403021;color:#e4bd7c}.pill.good{background:#17352e;color:#86cfad}
.table-wrap{border-color:#382d37;border-radius:3px;background:#110e14}
thead th{background:#231923;color:#e5d7e0;border-bottom:1px solid #543343;font-weight:550}
td{color:#d4c9d2;border-color:#302731}
tbody tr:nth-child(even){background:#18131b}
tbody tr:hover{background:#2f1a29}
tbody tr.selected{background:#442035}
.row-skill strong,.character-name strong{color:#eee4eb}
.portrait-cell{width:68px;text-align:center;padding:5px 8px}
.character-portrait{display:block;width:46px;height:46px;object-fit:cover;border:1px solid #7d5063;border-radius:6px;background:#271b28;box-shadow:0 0 0 2px #160f17}
.portrait-cell .character-portrait{margin:auto}
.character-portrait.detail-portrait{width:52px;height:52px;flex:none}
.row-skill small,.character-name small,.composition small{color:#958996}
.number.strong,.part>b,.character-detail-head>strong{color:#f27b99}
.tag.warn{color:#e4b983}.tag.good{color:#88cdb2}
.secondary,.primary{border:1px solid #9f3b5b;border-radius:4px;background:#271720;color:#ee829d;font-weight:550}
.secondary:hover{background:#442038}.primary{background:#9f3156;border-color:#9f3156;color:#fff0f3}.primary:hover{background:#bd3e65}
.text-button{color:#ee7795;text-decoration:none}
.text-button:hover{text-decoration:underline}
.style-chip{border-radius:3px}.style-1{background:#25384c;color:#a2ceec}.style-2{background:#213b32;color:#a3dcbc}.style-3{background:#473821;color:#e8c78a}.style-4{background:#492a25;color:#eba58d}
.part-list{background:#140f16;border-color:#3b2a35}
.part{border-color:#352936}
.group-line,.bar-track{background:#312530}
.group-line span,.bar-fill{background:linear-gradient(90deg,#963351,#e05f7c)}
.edit-original{background:#231a23;border-color:#483442;color:#c6b9c2}
.edit-original b{color:#ed8ca5}
.edit-original span{border-color:#483442}
.id-name{color:#87c6b2}.id-name.error{color:#ff8da5}
.patch-tools{border-color:#45303e}
.source-panel{background:#171219}
.source-panel ul{color:#b9aeb7}
.source-panel code{background:#2e222d;color:#f0adc0}
.algorithm-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(300px,1fr);gap:16px;margin-bottom:16px}
.algorithm-grid .panel{margin:0}
.algorithm-controls{display:flex;gap:12px;justify-content:flex-end;margin-bottom:10px}
.algorithm-controls label{width:150px}
.algorithm-controls input{height:35px}
.algorithm-svg{background:#100d14;border:1px solid #382733;border-radius:3px;padding:8px}
.algorithm-svg svg{width:100%;height:auto;display:block}
.algorithm-legend{display:flex;gap:18px;margin-top:9px;color:#b4a7b2;font-size:11px}
.algorithm-legend span{display:flex;align-items:center;gap:7px}.algorithm-legend i{width:17px;height:2px;background:#8a8292}.algorithm-legend .legend-skill{background:#e44a72}
.fact-row{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid #322631;color:#afa1ac;font-size:12px}
.fact-row strong{color:#e7dde5;font-weight:600;font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap}
.fact-row.prominent strong{color:#f37a98;font-size:22px}
.algorithm-facts .help{margin:14px 0 0;font-size:11px;line-height:1.7}
.formula-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.formula-grid>div{min-width:0;border:1px solid #3e2d39;background:#1c151f;padding:15px;border-radius:3px}
.formula-grid small{display:block;color:#ed7393;font:11px Georgia,serif;letter-spacing:.14em;margin-bottom:12px}
.formula-grid code{display:block;min-height:48px;color:#efe4ec;font:13px/1.6 Consolas,AgathosSans,monospace;overflow-wrap:anywhere}
.formula-grid p{font-size:11px;color:#a597a3;margin:13px 0 0}
.calibration-disclosure{margin-top:18px;border:1px solid #44303c;border-radius:4px;background:#141018}
.calibration-disclosure>summary{padding:15px 20px;cursor:pointer;color:#edc5d1;font-weight:600;list-style:none}
.calibration-disclosure>summary::-webkit-details-marker{display:none}
.calibration-disclosure>summary:before{content:"+";color:#f47596;font-size:18px;margin-right:10px}
.calibration-disclosure[open]>summary:before{content:"−"}
.calibration-disclosure>summary span{font-weight:400;font-size:11px;color:#8e7f8a;margin-left:12px}
.calibration-body{padding:0 15px 15px}
.site-legal{display:flex;justify-content:space-between;gap:16px;margin-top:34px;padding:16px 2px;border-top:1px solid #30222c;color:#746671;font-size:11px;letter-spacing:.08em}
.site-legal a{color:#c58399;text-decoration:none}
.site-legal a:hover{text-decoration:underline}
@media(max-width:1380px){.workspace-intro{display:block;padding-right:190px}.workspace-intro .workflow{margin-top:19px}.formula-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar-label{display:none}}
@media(max-width:1100px){.algorithm-grid{grid-template-columns:1fr}.workspace-intro h1{font-size:26px}.data-status{display:none}}
@media(max-width:820px){.site-sidebar{position:relative;inset:auto;width:100%;height:auto;display:block;border-right:0;border-bottom:1px solid #382833}.site-sidebar .brand{height:67px;padding:0 17px;border-bottom:0}.brand-gem{width:27px;height:39px}.site-sidebar .brand strong{font-size:18px}.site-sidebar nav{display:flex;flex-direction:row;gap:0;padding:0 9px;overflow:auto;scrollbar-width:none;border-top:1px solid #30212c}.site-sidebar .nav{min-height:43px;width:auto;flex:1;min-width:100px;justify-content:center;gap:5px;padding:0 8px;border-left:0;border-bottom:2px solid transparent;white-space:nowrap;font-size:11px}.site-sidebar .nav.active{border-bottom-color:#f05a80}.nav-icon{font-size:15px;width:17px}.sidebar-tail{display:none}.topbar{margin-left:0;top:0;height:56px}.top-inner{min-height:55px;padding:0 14px}.global-search{width:100%}main{margin-left:0;padding:17px 14px 56px}.workspace-intro{padding:22px 86px 22px 20px;min-height:0}.workspace-intro .workflow{flex-wrap:wrap}.hero-gem{right:10px;top:18px}.workspace-intro:after{right:65px}}
@media(max-width:560px){body{font-size:13px}.site-sidebar .brand{height:62px}.site-sidebar .brand strong{font-size:17px}.site-sidebar .brand small{font-size:8px}.site-sidebar .nav{min-width:92px;font-size:10px}.nav-icon{width:15px}.topbar{height:50px}.top-inner{min-height:49px}.global-search{height:34px}.global-search input{height:30px;font-size:11px}.workspace-intro{padding:21px 68px 21px 16px}.workspace-intro h1{font-size:21px}.workspace-intro p{font-size:11px}.workspace-intro .workflow{margin-top:14px;gap:5px}.workflow button{min-width:0;flex:1;padding:6px 4px;min-height:53px}.workflow span{font-size:10px}.workflow small{font-size:9px}.hero-gem{width:48px;right:8px}.hero-gem svg{width:25px}.hero-gem span{font-size:7px}.workspace-intro:after{right:55px}.panel,.control-panel{padding:15px}.metric strong{font-size:19px}.section-heading h1,.matrix-head h1{font-size:23px}.formula-grid{grid-template-columns:1fr}.algorithm-controls{justify-content:flex-start}.algorithm-controls label{flex:1}.algorithm-legend{flex-wrap:wrap}.fact-row{font-size:11px}.fact-row strong{font-size:13px}.calibration-disclosure>summary span{display:block;margin-left:29px}.calibration-body{padding:0 8px 8px}.character-table tbody tr,.library-panel tbody tr{border-color:#362631}.library-panel td:nth-child(3){color:#f27b99}}
@media(max-width:820px){.workspace-intro{padding-right:118px}.hero-gem{right:0;top:0;bottom:0;width:94px;gap:4px}.hero-gem span{font-size:8px;letter-spacing:.16em}.hero-gem svg{width:27px;height:39px}.hero-gem:after{height:8px}}
@media(max-width:560px){.workspace-intro{padding:21px 16px}.hero-gem{display:none}}

/* Calm reading palette and a wider, readable identity treatment. */
:root{--paper:#0d0d12;--surface:#19171e;--soft:#221d26;--wine:#e9a2b7;--wine2:#f1b6c7;--accent:#ca7995;--rose:#32232f;--ink:#f0ebef;--muted:#b9acb8;--line:#423640;--shadow:0 10px 28px #00000024}
body{background:radial-gradient(circle at 94% 0,#241722 0,transparent 34%),#0d0d12;font-size:15px;line-height:1.7}
.site-sidebar{background:#121017;border-right-color:#42313d}
.site-sidebar .brand{border-bottom-color:#42313d}
.site-sidebar nav{padding-top:24px}
.site-sidebar .nav{font-size:14px;min-height:49px;border-radius:7px}
.site-sidebar .nav.active{background:#35202e;border-left-color:#e58aa6}
.nav-icon{color:#e49bb0}
.sidebar-tail{border-top-color:#463441;margin-bottom:31px;padding:25px 10px 0;color:#cbb3c1}
.sidebar-tail>span{font:500 13px/1.8 AgathosSans,"Noto Sans SC",sans-serif;letter-spacing:.035em}
.sidebar-tail svg{margin:12px 0 15px}
.sidebar-tail small{color:#a68898}
.topbar{background:#141119ed;border-bottom-color:#40313c}
.global-search{background:#24202a;border-color:#51404d}
.global-search input{font-size:13px}
.topbar-label{color:#b28b9e}
main{padding-top:28px}
.workspace-intro{min-height:202px;gap:28px;padding:30px 263px 30px 32px;border-color:#513847;border-radius:11px;background:linear-gradient(115deg,#201820 0%,#241a25 68%,#34202e 100%);box-shadow:0 12px 30px #0000001f}
.workspace-intro:before{opacity:.45}
.workspace-intro>div:first-child{min-width:320px}
.workspace-intro h1{font-size:29px;font-weight:650;letter-spacing:.015em}
.workspace-intro p{font-size:14px;color:#d0c0cb;line-height:1.6}
.workspace-intro .eyebrow{color:#d9a1b2}
.hero-gem{width:235px;padding:23px 20px;gap:16px;background:linear-gradient(90deg,#38233224,#43253672);border-left-color:#6c495b;justify-content:center}
.hero-gem svg{width:32px;height:45px;filter:drop-shadow(0 0 7px #c9587a55)}
.hero-gem span{font:500 14px/1.8 AgathosSans,"Noto Sans SC",sans-serif;letter-spacing:.035em;white-space:normal;color:#efceda}
.hero-gem:after{height:1px;width:55px;background:#bd718c}
.workflow button{min-height:67px;background:#2a202b;border-color:#644a59;border-radius:7px;color:#f5edf1}
.workflow button:hover{background:#392734;border-color:#c78aa2}
.workflow b{background:#3e2635;border-color:#b67d94;color:#f1b4c7}
.workflow span{font-size:13px}.workflow small{color:#c2b0bc}
.contact-strip{display:flex;align-items:baseline;flex-wrap:wrap;gap:3px 15px;max-width:640px;margin-top:16px;padding-top:12px;border-top:1px solid #6b4a5a;color:#eee0e8;font-size:12px;line-height:1.7}
.contact-strip span{white-space:nowrap}
.contact-strip .contact-label{flex-basis:100%;color:#d9a9bc;font-weight:600}
.contact-strip-secondary{max-width:none;margin-top:14px;padding:12px 15px;border:1px solid #473441;border-radius:7px;background:#1c1820;color:#e7d9e2}
.contact-strip-secondary .contact-label{flex-basis:auto;margin-right:5px}
.control-main{align-items:start}
.rank-risk-label,.part-rank-risk{color:#e5a37d!important}
.rank-risk-note{background:#281b1c;border-color:#63413b;color:#f1c5ac}
@media(max-width:760px){
  .character-table tbody tr{grid-template-columns:50px minmax(0,1fr) 74px;column-gap:10px}
  .character-table .character-portrait{width:46px;height:46px}
}
.contact-strip{font-size:13px}
.control-panel,.panel,.metric{background:#19171e;border-color:#423640;border-radius:10px;box-shadow:var(--shadow)}
.control-panel{border-left:3px solid #ad718b;padding:20px 23px}
.panel{padding:22px 24px}
.metric{background:#1c1921}
.metric:before{background:#ca829d!important}
.metric strong{color:#f4edf1}
.control-heading h2,.panel-title h2{color:#f2eaf0}
.panel-title{padding-bottom:13px;margin-bottom:18px}
.eyebrow,.control-heading .eyebrow{color:#dc9cb1}
label{color:#d3c6d0;font-size:13px}
input,select{background:#29232d;border-color:#62515e;color:#f5eff3;font-size:14px;border-radius:6px}
input::placeholder{color:#ab9da9}
.field-hint{color:#bbaeba;font-size:12px}
.course-svg{background:#211c25;border-color:#584452;border-radius:7px}
.route-panel{background:#19171e}
.table-wrap{border-color:#4b3b48;border-radius:7px;background:#17141a}
thead th{background:#302530;color:#f1e7ed}
tbody tr:nth-child(even){background:#1d1921}
tbody tr:hover{background:#30242f}
tbody tr.selected{background:#3c2938}
td{color:#e5dbe2;border-color:#3c303a}
.secondary,.primary{border-radius:6px}
.secondary{background:#30232f;color:#f0b8ca;border-color:#a66f87}
.secondary:hover{background:#423041}
.primary{background:#a45f7a;border-color:#a45f7a}
.primary:hover{background:#bb7490}
.formula-grid>div{background:#211b24;border-color:#4d3d49;border-radius:7px}
.formula-grid code{color:#f2e9ef}
.formula-grid p,.algorithm-facts .help{color:#bcafbb}
.site-legal{color:#a99aa6}
@media(max-width:1380px){.workspace-intro{padding-right:263px}}
@media(max-width:1100px){.workspace-intro{padding-right:263px}.workspace-intro>div:first-child{min-width:0}.workflow{max-width:520px}}
@media(max-width:820px){.site-sidebar nav{padding-top:0}.site-sidebar .nav{border-radius:0;font-size:12px;min-height:45px}.workspace-intro{padding:24px 175px 24px 23px}.hero-gem{width:155px;padding:14px;gap:10px}.hero-gem span{font-size:12px}.workflow{gap:7px}.contact-strip{font-size:12px}}
@media(max-width:560px){body{font-size:14px}.site-sidebar .nav{font-size:11px}.workspace-intro{padding:20px 17px;display:flex;flex-direction:column;align-items:stretch;gap:0}.workspace-intro h1{font-size:23px}.workspace-intro p{font-size:13px}.workspace-intro .workflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%;max-width:100%;min-width:0;margin-top:17px}.workspace-intro .workflow button{width:100%;min-width:0;gap:4px}.workflow span{min-width:0}.contact-strip{margin-top:14px;gap:2px 12px}.hero-gem{position:relative;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;width:auto;right:auto;top:auto;bottom:auto;margin:17px 0 0;padding:12px 0 0;border-left:0;border-top:1px solid #6b4a5a;background:none;text-align:left}.hero-gem svg{width:20px;height:29px}.hero-gem span{font-size:12px}.hero-gem:after{display:none}.contact-strip-secondary .contact-label{flex-basis:100%}.panel{padding:18px 16px}}
.language-switch{display:flex;align-items:center;flex:none;gap:2px;padding:3px;border:1px solid #51404d;border-radius:8px;background:#221c26}
.language-switch button{border:0;border-radius:5px;background:transparent;color:#baabb8;font-size:12px;font-weight:600;white-space:nowrap;padding:5px 9px;line-height:1.3}
.language-switch button:hover{color:#fff1f5;background:#473042}
.language-switch button[aria-pressed="true"]{background:#71435a;color:#fff3f7;box-shadow:0 1px 5px #0003}
.topbar .global-search{flex:1;min-width:140px;width:min(520px,48vw)}
@media(max-width:820px){.top-inner{gap:10px}.topbar .global-search{width:auto;flex:1}.language-switch button{padding:5px 7px}}
@media(max-width:560px){.language-switch{padding:2px}.language-switch button{font-size:11px;padding:5px 5px}.topbar .global-search{min-width:0}}
@media(max-width:820px){.workspace-intro{display:flex;flex-direction:column;align-items:stretch;padding:23px}.workspace-intro>div:first-child{min-width:0}.workspace-intro .workflow{margin-top:16px}.hero-gem{position:relative;right:auto;top:auto;bottom:auto;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;width:100%;margin-top:17px;padding:13px 0 0;border-left:0;border-top:1px solid #6b4a5a;background:none;text-align:left;gap:12px}.hero-gem svg{width:20px;height:29px}.hero-gem span{font-size:12px}.hero-gem:after{display:none}}
@media(max-width:560px){.workspace-intro{padding:20px 17px}}
@media(max-width:560px){.site-sidebar nav{overflow-x:auto;scroll-snap-type:x proximity}.site-sidebar .nav{flex:none;min-width:116px;scroll-snap-align:start}.workspace-intro .workflow span{font-size:11px}}

/* Agathos editorial refinement: quieter framing, stronger reading hierarchy. */
:root{
  --paper:#0b090d;--surface:#17141a;--soft:#201a21;--wine:#edb2c1;--wine2:#f5c5d0;
  --accent:#df6685;--rose:#321d2a;--ink:#f3edf0;--muted:#b6aab4;--line:#453641;
  --gold:#c9ad82;--shadow:0 16px 38px #0004;
}
body{
  background:
    radial-gradient(ellipse at 80% -12%,#371a2b66 0,transparent 35%),
    linear-gradient(90deg,#ffffff04 1px,transparent 1px),
    linear-gradient(#ffffff03 1px,transparent 1px),#0b090d;
  background-size:auto,56px 56px,56px 56px,auto;
  font-size:15px;line-height:1.72;letter-spacing:.005em;
}
.site-sidebar{background:linear-gradient(180deg,#110d13 0%,#0c0a0f 58%,#100c12 100%);border-right-color:#493440;box-shadow:7px 0 28px #0002}
.site-sidebar .brand{height:96px;padding:0 25px;gap:16px;border-bottom-color:#493440;position:relative}
.site-sidebar .brand:after{content:"";position:absolute;left:25px;right:25px;bottom:-1px;height:1px;background:linear-gradient(90deg,#dc668500,#dc668577 45%,#c8aa8200)}
.brand-gem{width:38px;height:53px;stroke:#e87591;filter:drop-shadow(0 0 11px #d64b7066)}
.site-sidebar .brand strong{font-size:22px;letter-spacing:.17em}
.site-sidebar .brand small{font-size:9px;letter-spacing:.2em;color:#c6889b}
.site-sidebar nav{gap:7px;padding:34px 13px}
.site-sidebar .nav{min-height:48px;padding:0 13px;border-left:1px solid transparent;border-radius:5px;color:#c4b8c1;font-size:14px;letter-spacing:.035em;transition:all .18s ease}
.site-sidebar .nav:hover{background:linear-gradient(90deg,#351c29,#201720);color:#fff4f7;border-left-color:#946072}
.site-sidebar .nav.active{background:linear-gradient(90deg,#53263a99,#21151d88);border-left-color:#e97895;color:#fff4f6;box-shadow:inset 0 0 0 1px #c45b771c}
.nav-icon{font-size:20px;color:#dc879d}
.sidebar-tail{margin-left:24px;margin-right:24px;padding-top:25px;border-top-color:#4a3541;color:#d0adba}
.sidebar-tail svg{stroke:#d9718b;filter:drop-shadow(0 0 6px #c53c6333)}
.topbar{height:72px;background:#100d13eF;border-bottom-color:#493540;box-shadow:0 7px 25px #0002}
.top-inner{min-height:71px;padding:0 clamp(24px,3vw,48px);gap:22px}
.global-search{height:41px;border-color:#574451;background:#1a151e;color:#d992a7;box-shadow:inset 0 1px 0 #ffffff08}
.global-search:focus-within{border-color:#cf6f89;box-shadow:0 0 0 3px #cf6f8920,0 0 20px #a3365520}
.global-search input{font-size:13px}
.language-switch{border-color:#55424e;background:#19141d;border-radius:6px}
.language-switch button{font-size:12px;letter-spacing:.04em}
.language-switch button[aria-pressed="true"]{background:#643448;color:#fff2f5;box-shadow:inset 0 0 0 1px #e09aab55}
.topbar-label{font-size:10px;letter-spacing:.22em;color:#c18a9c}
main{padding-top:30px;padding-bottom:84px}
.workspace-intro{
  min-height:188px;margin-bottom:22px;padding:32px clamp(210px,19vw,290px) 30px 36px;
  border:1px solid #684354;border-radius:8px;
  background:linear-gradient(112deg,#17131a 0%,#211720 58%,#301b29 100%);
  box-shadow:inset 0 1px 0 #ffffff0b,0 18px 38px #0003;
}
.workspace-intro:before{
  opacity:.62;background:
   linear-gradient(90deg,transparent 0 16%,#d78a9b1c 16.05%,transparent 16.1% 83%,#d78a9b16 83.05%,transparent 83.1%),
   linear-gradient(0deg,transparent 0 18%,#d78a9b16 18.1%,transparent 18.2% 82%,#d78a9b14 82.1%,transparent 82.2%),
   linear-gradient(118deg,#8c22461c 0 1px,transparent 1px 66%),
   linear-gradient(30deg,transparent 0 80%,#9a3d5b44 80% 80.1%,transparent 80.1%);
}
.workspace-intro h1{font-size:32px;line-height:1.28;letter-spacing:.035em;font-weight:620}
.workspace-intro p{font-size:14px;line-height:1.8;color:#d0c0ca;max-width:600px}
.workspace-intro .eyebrow{font-size:10px;letter-spacing:.3em;color:#dc9aad;margin-bottom:11px}
.contact-strip{font-size:13px;gap:5px 18px;margin-top:18px;padding-top:13px;border-image:linear-gradient(90deg,#a64a67,#86677a55) 1}
.contact-strip .contact-label{color:#e7b6c4;letter-spacing:.035em}
.hero-gem{width:clamp(180px,19vw,255px);border-left-color:#76505f;background:linear-gradient(90deg,#2e1b2918,#3b203177)}
.hero-gem svg{width:42px;height:58px;stroke:#ed7390;filter:drop-shadow(0 0 13px #df47735c)}
.hero-gem span{font-size:14px;line-height:1.9;letter-spacing:.12em;color:#f0d1dc}
.hero-gem:after{width:76px;height:1px;background:linear-gradient(90deg,transparent,#c78e9f,transparent)}
.workflow{gap:9px}
.workflow button{min-width:112px;min-height:70px;padding:9px 12px;border-color:#634858;border-radius:5px;background:linear-gradient(145deg,#271b27,#1b151e);position:relative;overflow:hidden}
.workflow button:after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:1px;background:linear-gradient(90deg,transparent,#c28b9d88,transparent)}
.workflow button:hover{transform:translateY(-2px);border-color:#cf8297;background:#34212f;box-shadow:0 8px 22px #0003}
.workflow b{width:25px;height:25px;border-color:#c2758b;background:#3b2231;color:#f6c2ce}
.workflow span{font-size:13px;line-height:1.45}
.workflow small{font-size:10px;letter-spacing:.02em}
.control-panel,.panel,.metric{border-color:#493843;border-radius:8px;background:linear-gradient(145deg,#19161d,#141117);box-shadow:0 12px 32px #0002,inset 0 1px 0 #ffffff07}
.control-panel{border-left:2px solid #b35d79;padding:20px 24px;margin-bottom:21px}
.control-heading{padding-bottom:14px;margin-bottom:17px;border-image:linear-gradient(90deg,#9c536b,#49384366) 1}
.control-heading h2{font-size:20px;letter-spacing:.025em}
.control-heading p{font-size:12px}
.control-heading .eyebrow{font-size:10px;letter-spacing:.24em}
label{font-size:13px;line-height:1.45;color:#d7cbd3}
input,select{height:44px;border-color:#594653;border-radius:5px;background:#211b24;font-size:14px}
input:hover,select:hover{border-color:#a3657a}
input:focus,select:focus{border-color:#e47b98;box-shadow:0 0 0 3px #df668522}
.scenario{margin-top:17px;padding-top:13px;border-color:#493843}
.scenario summary{font-size:14px;letter-spacing:.025em}
.scenario-grid{gap:15px;margin-top:18px}
.field-hint{font-size:12px;line-height:1.55;color:#c1b2be}
.summary-grid{gap:14px;margin-bottom:20px}
.metric{min-height:112px;padding:18px 19px;position:relative;overflow:hidden}
.metric:before{width:56px;height:2px;background:linear-gradient(90deg,#e57490,#c6a078)!important}
.metric:after{content:"";position:absolute;top:0;right:0;width:42px;height:42px;border-top:1px solid #8c5c6d66;border-right:1px solid #8c5c6d66;pointer-events:none}
.metric span,.metric small{font-size:12px;letter-spacing:.025em}
.metric strong{font-size:27px;line-height:1.2;margin:10px 0 4px;font-weight:650;letter-spacing:.015em}
.main-grid,.algorithm-grid{gap:18px;margin-bottom:19px}
.panel{padding:22px 24px;margin-bottom:18px;position:relative;overflow:hidden}
.panel-title{align-items:center;gap:14px;padding-bottom:13px;margin-bottom:18px;border-image:linear-gradient(90deg,#a95f77,#6d536233) 1}
.panel-title:before{content:"";flex:none;width:7px;height:7px;border:1px solid #de7992;transform:rotate(45deg);box-shadow:0 0 9px #df668544}
.panel-title h2{font-size:18px;line-height:1.35;letter-spacing:.025em;font-weight:620}
.panel-title span{font-size:12px;letter-spacing:.015em}
.section-heading,.matrix-head{padding:4px 0 13px;margin-bottom:21px;border-bottom:1px solid #463541;position:relative}
.section-heading:after,.matrix-head:after{content:"";position:absolute;left:0;bottom:-1px;width:75px;height:1px;background:linear-gradient(90deg,#de718d,#b69275)}
.section-heading h1,.matrix-head h1{font-size:29px;letter-spacing:.025em}
.section-heading p,.matrix-head p{font-size:14px;line-height:1.7}
.table-wrap{border-color:#493843;border-radius:6px}
thead th{padding:12px 14px;font-size:13px;letter-spacing:.025em;background:linear-gradient(90deg,#2a202a,#30232d);border-bottom-color:#775060}
td{padding:11px 14px;font-size:14px;line-height:1.55}
tbody tr{transition:background .15s ease}
tbody tr:hover{background:#33232e}
.row-skill strong{font-size:14px;line-height:1.4}
.row-skill small{font-size:12px;line-height:1.4;margin-top:3px}
.character-name strong{font-size:15px}
.character-name small{font-size:12px}
.number.strong{font-size:15px;color:#f0b2c1}
.detail-header h3{font-size:19px;letter-spacing:.015em}
.skill-icon{border-radius:6px;box-shadow:0 0 0 2px #241b25,0 3px 10px #0003}
.detail-metrics{gap:9px}
.detail-metrics>div{padding:12px;border-radius:6px}
.detail-metrics span,.detail-extremes span{font-size:12px}
.detail-metrics strong{font-size:19px}
.description{font-size:14px;line-height:1.8}
.help,.source-panel ul{font-size:14px;line-height:1.8}
.route-key{gap:20px;font-size:13px}
.route-key i{width:14px;height:10px;box-shadow:0 0 8px #ffffff12}
.course-svg,.algorithm-svg{border-radius:6px;border-color:#5a4352;box-shadow:inset 0 0 0 1px #ffffff04}
.formula-grid{gap:14px}
.formula-grid>div{border-radius:6px;padding:17px;background:linear-gradient(145deg,#211a23,#19151c);position:relative}
.formula-grid>div:before{content:"";position:absolute;top:-1px;left:16px;width:42px;height:1px;background:linear-gradient(90deg,#e16a88,#c4a67d)}
.formula-grid small{font-size:11px;letter-spacing:.17em}
.formula-grid code{font-size:14px;line-height:1.75;min-height:54px}
.formula-grid p{font-size:12px;line-height:1.7}
.fact-row{padding:13px 0;font-size:13px}
.fact-row strong{font-size:16px}
.fact-row.prominent strong{font-size:24px}
.site-legal{padding:19px 2px;font-size:11px;letter-spacing:.1em}
.secondary,.primary{min-height:40px;padding:9px 16px;border-radius:5px;font-size:13px;letter-spacing:.015em}
.secondary{border-color:#a5657d;background:#241a24}
.secondary:hover{border-color:#e092a7;background:#382332}
.primary{background:linear-gradient(110deg,#8e3451,#b44d6b);border-color:#c06984;box-shadow:0 4px 14px #7d294333}
.primary:hover{background:linear-gradient(110deg,#a34260,#ce6683)}
.text-button{font-size:13px;letter-spacing:.02em}
.pill{padding:5px 10px;font-size:12px}
.style-chip{min-width:31px;height:27px;font-size:13px}
@media(max-width:1100px){
  .workspace-intro{padding-right:230px}.workflow{max-width:none}
  .workspace-intro h1{font-size:29px}
}
@media(max-width:820px){
  body{background-size:auto,42px 42px,42px 42px,auto}
  .site-sidebar{box-shadow:0 5px 20px #0003}
  .site-sidebar .brand{height:68px;padding:0 18px}
  .site-sidebar nav{gap:0;padding:0 8px}
  .site-sidebar .nav{min-height:46px;font-size:12px}
  .topbar{height:58px}.top-inner{min-height:57px;gap:11px;padding:0 18px}
  .workspace-intro{min-height:0;padding:24px 175px 23px 24px;margin-bottom:18px}
  .workspace-intro h1{font-size:27px}
  .hero-gem{width:150px}.hero-gem svg{width:35px;height:48px}
  .workflow button{min-width:0;flex:1}
  .panel{padding:19px 20px}
}
@media(max-width:560px){
  body{font-size:14px;line-height:1.68}
  .top-inner{padding:0 12px;gap:7px}.topbar-label{display:none}
  .global-search{height:36px;padding:0 10px}.global-search input{font-size:12px}
  .language-switch button{font-size:11px;padding:5px 6px}
  main{padding:15px 12px 50px}
  .workspace-intro{padding:20px 16px;border-radius:7px}
  .workspace-intro h1{font-size:24px;line-height:1.35}
  .workspace-intro p{font-size:13px;line-height:1.75}
  .workspace-intro .eyebrow{font-size:9px;margin-bottom:8px}
  .contact-strip{font-size:12px;gap:4px 12px}
  .workflow{gap:6px}.workflow button{min-height:62px;padding:7px 5px}
  .workflow span{font-size:11px}.workflow small{font-size:9px}
  .control-panel{padding:16px 15px;border-left-width:2px}
  .control-heading h2{font-size:19px}
  .scenario-grid{gap:12px}
  input,select{height:42px;font-size:14px}
  .summary-grid{gap:9px}
  .metric{min-height:100px;padding:14px 12px}
  .metric strong{font-size:22px}
  .panel{padding:18px 15px}
  .panel-title{gap:11px;padding-bottom:11px;margin-bottom:15px}
  .panel-title h2{font-size:16px}.panel-title span{font-size:11px}
  .section-heading h1,.matrix-head h1{font-size:24px}
  .section-heading p,.matrix-head p{font-size:13px}
  thead th{padding:10px 11px;font-size:12px}td{padding:9px 11px;font-size:13px}
  .character-name strong{font-size:14px}.character-name small{font-size:11px}
  .row-skill strong{font-size:13px}.row-skill small{font-size:11px}
  .formula-grid>div{padding:15px}.formula-grid code{font-size:13px}
  .fact-row{padding:11px 0}.fact-row.prominent strong{font-size:21px}
  .site-legal{font-size:10px;gap:10px}
}

/* Jewel tones give each working area its own material and visual cue. */
body{
  background:
    radial-gradient(ellipse at 8% 26%,#173b3a26 0,transparent 30%),
    radial-gradient(ellipse at 84% 2%,#54203950 0,transparent 34%),
    radial-gradient(ellipse at 80% 72%,#34205220 0,transparent 36%),
    linear-gradient(90deg,#ffffff05 1px,transparent 1px),
    linear-gradient(#ffffff04 1px,transparent 1px),#100d13;
  background-size:auto,auto,auto,56px 56px,56px 56px,auto;
}
.site-sidebar{background:linear-gradient(180deg,#17111c 0%,#100d14 54%,#11131a 100%);border-right-color:#59404e}
.site-sidebar .brand{background:linear-gradient(110deg,#1e1420,#141019 68%,#17131c)}
.site-sidebar .nav:nth-child(2) .nav-icon{color:#a898d5}
.site-sidebar .nav:nth-child(3) .nav-icon{color:#8ac9b7}
.site-sidebar .nav:nth-child(4) .nav-icon{color:#d4b477}
.site-sidebar .nav:nth-child(2):hover,.site-sidebar .nav:nth-child(2).active{background:linear-gradient(90deg,#45315a88,#20192388);border-left-color:#ad96df}
.site-sidebar .nav:nth-child(3):hover,.site-sidebar .nav:nth-child(3).active{background:linear-gradient(90deg,#1d514b88,#17201f88);border-left-color:#82c4ad}
.site-sidebar .nav:nth-child(4):hover,.site-sidebar .nav:nth-child(4).active{background:linear-gradient(90deg,#59452a88,#211b1788);border-left-color:#d4b477}
.workspace-intro{
  border-color:#725063;
  background:
    radial-gradient(ellipse at 82% 48%,#672a4560,transparent 34%),
    linear-gradient(108deg,#1c151f 0%,#251a2b 48%,#35202d 100%);
}
.workspace-intro:before{opacity:.78}
.hero-gem{background:linear-gradient(145deg,#3c2238a8,#38203188 53%,#28213988);border-left-color:#8a5e77}
.workflow button:nth-child(1){background:linear-gradient(145deg,#302131,#201820);border-color:#754557}
.workflow button:nth-child(1) b{border-color:#d17991;background:#492638;color:#ffd9e0}
.workflow button:nth-child(2){background:linear-gradient(145deg,#282338,#1c1925);border-color:#635174}
.workflow button:nth-child(2) b{border-color:#a593cf;background:#362b49;color:#e1d8ff}
.workflow button:nth-child(3){background:linear-gradient(145deg,#1e302e,#17201f);border-color:#446b62}
.workflow button:nth-child(3) b{border-color:#82b6a6;background:#203a34;color:#d6f2e9}
.workflow button:nth-child(1):after{background:linear-gradient(90deg,transparent,#d77b91,transparent)}
.workflow button:nth-child(2):after{background:linear-gradient(90deg,transparent,#aa94d1,transparent)}
.workflow button:nth-child(3):after{background:linear-gradient(90deg,transparent,#79b6a4,transparent)}
.control-panel{
  background:linear-gradient(112deg,#211820,#1d1721 57%,#211925);
  border-color:#694757;
  box-shadow:0 12px 32px #0003,inset 0 1px 0 #ffffff0b;
}
.control-panel .control-heading{border-image:linear-gradient(90deg,#c27c91,#a58ec444,#5b4655) 1}
.control-panel .control-heading .eyebrow{color:#e3a3b5}
.control-panel .control-heading h2{color:#f1dce3}
.scenario{border-top-color:#55404d}
.scenario summary{color:#f0b3c2}
.scenario-grid label:nth-child(5n+1){--field-accent:#e38ba2}
.scenario-grid label:nth-child(5n+2){--field-accent:#b49bdc}
.scenario-grid label:nth-child(5n+3){--field-accent:#83c2b0}
.scenario-grid label:nth-child(5n+4){--field-accent:#d7b574}
.scenario-grid label:nth-child(5n){--field-accent:#96b8d4}
.scenario-grid label:hover{color:#f5e9ef}
.scenario-grid label:focus-within{color:var(--field-accent,#e38ba2)}
.scenario-grid label:focus-within input,.scenario-grid label:focus-within select{border-color:var(--field-accent,#e38ba2)}
.panel{background:linear-gradient(145deg,#1c1821 0%,#17141c 65%,#1c1720 100%);border-color:#50404e}
.panel:nth-of-type(odd){background:linear-gradient(145deg,#201823 0%,#18151d 64%,#211923 100%)}
.route-panel{background:linear-gradient(145deg,#1b2026,#171720 60%,#241927);border-color:#655064}
.route-panel .panel-title:before{border-color:#e5839c;box-shadow:0 0 12px #dc688655}
.detail-panel{background:linear-gradient(145deg,#211a26,#191720 65%,#1e1a25);border-color:#59445b}
.algorithm-chart{background:linear-gradient(145deg,#1a1b29,#171520 62%,#21182a);border-color:#514966}
.algorithm-chart .panel-title:before{border-color:#b39be0;box-shadow:0 0 12px #9a79d755}
.algorithm-facts{background:linear-gradient(145deg,#1d2524,#171b1c 60%,#19211e);border-color:#40594f}
.algorithm-facts .panel-title:before{border-color:#83c2a6;box-shadow:0 0 12px #6ab28d55}
.formula-panel{background:linear-gradient(145deg,#201b24,#19151c 60%,#211c21);border-color:#665647}
.formula-panel .panel-title:before{border-color:#dbbd83;box-shadow:0 0 12px #c59c5b55}
.metric:nth-child(4n+1){background:linear-gradient(140deg,#38202d,#211820 72%);border-color:#75465a}
.metric:nth-child(4n+2){background:linear-gradient(140deg,#282239,#1c1924 72%);border-color:#584b71}
.metric:nth-child(4n+3){background:linear-gradient(140deg,#1e302d,#171d1d 72%);border-color:#3f655c}
.metric:nth-child(4n){background:linear-gradient(140deg,#342b20,#1d1917 72%);border-color:#69583c}
.metric:nth-child(4n+1):before{background:linear-gradient(90deg,#e57694,#c887a0)!important}
.metric:nth-child(4n+2):before{background:linear-gradient(90deg,#a895d7,#b89bd0)!important}
.metric:nth-child(4n+3):before{background:linear-gradient(90deg,#7ac2a4,#91c9b0)!important}
.metric:nth-child(4n):before{background:linear-gradient(90deg,#d4b370,#e2c991)!important}
.metric:nth-child(4n+1):after{border-color:#b4617c70}
.metric:nth-child(4n+2):after{border-color:#9080bb70}
.metric:nth-child(4n+3):after{border-color:#6ba89470}
.metric:nth-child(4n):after{border-color:#b99c6370}
.metric:nth-child(4n+2) strong{color:#e3dafa}
.metric:nth-child(4n+3) strong{color:#d3eee2}
.metric:nth-child(4n) strong{color:#f0dfba}
.table-wrap{background:#17141c;border-color:#564451}
thead th{background:linear-gradient(90deg,#382633,#302638 52%,#293131);border-bottom-color:#775d69}
tbody tr:nth-child(even){background:#1c1922}
tbody tr:nth-child(4n+1):hover{background:#3b2634}
tbody tr:nth-child(4n+2):hover{background:#302940}
tbody tr:nth-child(4n+3):hover{background:#243531}
tbody tr:nth-child(4n):hover{background:#3a3224}
.bar-track,.group-line{background:#28232e;border:1px solid #413747}
.bar-fill{background:linear-gradient(90deg,#a84363,#dd7087 65%,#d4aa79)}
.group-line span{background:linear-gradient(90deg,#5c8e7b,#c4a66d)}
.pill.good{background:#1c3932;color:#a1dcc1;border:1px solid #426b5c}
.pill.warning{background:#443522;color:#efd090;border:1px solid #756143}
.style-1{background:#213a4a;color:#a9d3ed}.style-2{background:#203e36;color:#a7ddbf}
.style-3{background:#473c24;color:#f0d28a}.style-4{background:#482b2b;color:#f1b39e}
.course-svg{background:linear-gradient(145deg,#202b30,#292036 58%,#342032);border-color:#66516a}
.algorithm-svg{background:linear-gradient(145deg,#191c29,#201a29 60%,#241b24);border-color:#594967}
.formula-grid>div:nth-child(4n+1){background:linear-gradient(145deg,#35202c,#21191f);border-color:#654150}
.formula-grid>div:nth-child(4n+2){background:linear-gradient(145deg,#29233b,#1d1a27);border-color:#50466d}
.formula-grid>div:nth-child(4n+3){background:linear-gradient(145deg,#1e322d,#171d1d);border-color:#3b6256}
.formula-grid>div:nth-child(4n){background:linear-gradient(145deg,#352e20,#1d1a17);border-color:#66583c}
.formula-grid>div:nth-child(4n+1):before{background:linear-gradient(90deg,#e06a89,#c48499)}
.formula-grid>div:nth-child(4n+2):before{background:linear-gradient(90deg,#9b88cd,#b9a1dc)}
.formula-grid>div:nth-child(4n+3):before{background:linear-gradient(90deg,#6bb494,#9ec7a9)}
.formula-grid>div:nth-child(4n):before{background:linear-gradient(90deg,#c1a164,#e0ca91)}
@media(max-width:560px){
  .workspace-intro{background:radial-gradient(ellipse at 80% 30%,#53263f66,transparent 46%),linear-gradient(112deg,#1d1620,#291c2b 68%,#30202a)}
  .control-panel{background:linear-gradient(112deg,#261a22,#201924 60%,#22202a)}
  .metric{min-height:100px}
  .metric:nth-child(4n+1){background:linear-gradient(140deg,#422536,#251a22 78%)}
  .metric:nth-child(4n+2){background:linear-gradient(140deg,#302747,#201c2a 78%)}
  .metric:nth-child(4n+3){background:linear-gradient(140deg,#244138,#19221f 78%)}
  .metric:nth-child(4n){background:linear-gradient(140deg,#423720,#252018 78%)}
}
/* Raise surface contrast so the page does not collapse into near-black. */
body{background-color:#141019}
.topbar{background:#17121bee}
.site-sidebar{background:linear-gradient(180deg,#1b1420 0%,#141019 54%,#15151d 100%)}
.workspace-intro{
  background:
    radial-gradient(ellipse at 82% 48%,#76365370,transparent 36%),
    linear-gradient(108deg,#261b27 0%,#302238 49%,#3b2532 100%);
  border-color:#80566a;
}
.workspace-intro:before{
  background:
    linear-gradient(90deg,transparent 0 16%,#f4b8c41f 16.05%,transparent 16.1% 83%,#bca5ed20 83.05%,transparent 83.1%),
    linear-gradient(0deg,transparent 0 18%,#dfadba1b 18.1%,transparent 18.2% 82%,#9ddec11b 82.1%,transparent 82.2%),
    linear-gradient(118deg,#a746651f 0 1px,transparent 1px 66%),
    linear-gradient(30deg,transparent 0 80%,#b956784f 80% 80.1%,transparent 80.1%);
}
.workflow button:nth-child(1){background:linear-gradient(145deg,#512c3d,#30202d 88%);border-color:#956176}
.workflow button:nth-child(2){background:linear-gradient(145deg,#3b3156,#272235 88%);border-color:#7a6a9a}
.workflow button:nth-child(3){background:linear-gradient(145deg,#284d43,#1c302c 88%);border-color:#5c8b7b}
.workflow button:nth-child(1) b{background:#693b50}
.workflow button:nth-child(2) b{background:#4e416e}
.workflow button:nth-child(3) b{background:#315e50}
.control-panel{background:linear-gradient(112deg,#30232e,#292331 57%,#2b2532);border-color:#876071}
.panel{background:linear-gradient(145deg,#29232e 0%,#211d28 65%,#2a222d 100%);border-color:#645163}
.panel:nth-of-type(odd){background:linear-gradient(145deg,#30232f 0%,#241f2a 64%,#30252e 100%)}
.route-panel{background:linear-gradient(145deg,#25343a,#252437 58%,#38263a);border-color:#786184}
.detail-panel{background:linear-gradient(145deg,#33243a,#26212f 65%,#302638);border-color:#756184}
.algorithm-chart{background:linear-gradient(145deg,#292c43,#211f35 62%,#30223a);border-color:#6e6394}
.algorithm-facts{background:linear-gradient(145deg,#263d38,#1e2c2e 60%,#1c3430);border-color:#608578}
.formula-panel{background:linear-gradient(145deg,#3a3025,#27212a 60%,#33262e);border-color:#8a7655}
.metric:nth-child(4n+1){background:linear-gradient(140deg,#583044,#2d202b 78%);border-color:#98647a}
.metric:nth-child(4n+2){background:linear-gradient(140deg,#40355e,#292437 78%);border-color:#756995}
.metric:nth-child(4n+3){background:linear-gradient(140deg,#2e594d,#202e2c 78%);border-color:#638d7d}
.metric:nth-child(4n){background:linear-gradient(140deg,#514329,#2e2821 78%);border-color:#8c7952}
.table-wrap{background:#211c27;border-color:#665365}
thead th{background:linear-gradient(90deg,#493044,#3e3150 52%,#315047);border-bottom-color:#927085}
tbody tr:nth-child(even){background:#28222e}
.course-svg{background:linear-gradient(145deg,#30434a,#382f4d 58%,#4a3045);border-color:#8b7290}
.algorithm-svg{background:linear-gradient(145deg,#242d40,#332741 60%,#3a2937);border-color:#807093}
.formula-grid>div:nth-child(4n+1){background:linear-gradient(145deg,#583044,#30212c);border-color:#916078}
.formula-grid>div:nth-child(4n+2){background:linear-gradient(145deg,#44385f,#2b2538);border-color:#756997}
.formula-grid>div:nth-child(4n+3){background:linear-gradient(145deg,#2c564b,#202e2b);border-color:#5c8575}
.formula-grid>div:nth-child(4n){background:linear-gradient(145deg,#51432b,#30291f);border-color:#8c7850}
input,select{background:linear-gradient(120deg,#302833,#29232f);border-color:#715c6d}
.global-search{background:linear-gradient(100deg,#292331,#2f2635);border-color:#705568}
@media(max-width:560px){
  .workspace-intro{background:radial-gradient(ellipse at 80% 30%,#78405f88,transparent 48%),linear-gradient(112deg,#2a1e2d,#382743 68%,#442c39)}
  .workflow button:nth-child(1){background:linear-gradient(145deg,#61364b,#352430 88%)}
  .workflow button:nth-child(2){background:linear-gradient(145deg,#493d69,#2f2940 88%)}
  .workflow button:nth-child(3){background:linear-gradient(145deg,#346352,#223a34 88%)}
  .control-panel{background:linear-gradient(112deg,#382834,#302839 60%,#302f3c)}
  .panel{background:linear-gradient(145deg,#302835,#262330 75%,#302633)}
  .metric:nth-child(4n+1){background:linear-gradient(140deg,#63374d,#352531 78%)}
  .metric:nth-child(4n+2){background:linear-gradient(140deg,#4a3e6c,#302a42 78%)}
  .metric:nth-child(4n+3){background:linear-gradient(140deg,#356755,#243a35 78%)}
  .metric:nth-child(4n){background:linear-gradient(140deg,#5a4a2e,#383021 78%)}
}

/* Algorithm page: a responsive lab layout, with the bolt as its signature. */
#tab-data .matrix-head{
  display:block;max-width:none;margin:0 0 20px;padding:19px 22px 18px;
  border:1px solid #735b83;border-radius:8px;
  background:radial-gradient(ellipse at 95% 0,#66447a55,transparent 40%),linear-gradient(112deg,#292337,#30243a 58%,#352633);
  box-shadow:inset 0 1px #ffffff10,0 10px 28px #0002;
}
#tab-data .matrix-head:after{left:22px;width:94px;height:2px;background:linear-gradient(90deg,#e47b98,#baa0dc,#83c2a7)}
#tab-data .matrix-head h1{font-size:30px;margin:3px 0 8px}
#tab-data .matrix-head p{max-width:850px;margin:0;color:#d2c5d5;font-size:14px;line-height:1.75}
#tab-data .matrix-head .eyebrow{color:#d5b3e6;font-size:10px;letter-spacing:.22em}
#tab-data .contact-strip-secondary{display:flex;align-items:center;gap:5px 16px;width:fit-content;max-width:100%;margin:13px 0 0;padding:8px 12px;border:1px solid #806b8d;border-radius:5px;background:linear-gradient(90deg,#35263d,#2a2635);font-size:12px}
#tab-data .contact-strip-secondary .contact-label{flex-basis:auto;color:#e3c5d2}
#tab-data .algorithm-grid{grid-template-columns:minmax(0,1.62fr) minmax(310px,.88fr);align-items:stretch;gap:18px;margin-bottom:19px}
#tab-data .algorithm-grid .panel{min-width:0}
#tab-data .algorithm-chart{display:flex;flex-direction:column;background:linear-gradient(145deg,#292c43,#211f35 62%,#30223a);border-color:#756a9b}
#tab-data .algorithm-chart .panel-title{align-items:center}
#tab-data .algorithm-chart .panel-title h2{font-size:19px}
#tab-data #algorithm-caption{padding:5px 9px;border:1px solid #65587c;border-radius:4px;background:#262238;color:#ddd1ee;font-size:12px}
#tab-data .algorithm-controls{display:flex;justify-content:flex-start;gap:11px;margin:0 0 12px;padding:11px 12px;border:1px solid #554b6d;border-radius:6px;background:linear-gradient(100deg,#302940,#292638)}
#tab-data .algorithm-controls label{display:grid;grid-template-columns:auto minmax(84px,120px);align-items:center;gap:8px;width:auto;flex:1;font-size:12px;color:#d7cde1}
#tab-data .algorithm-controls input{height:38px;border-color:#75668d;background:#211d2d;font-variant-numeric:tabular-nums}
#tab-data .algorithm-svg{flex:1;display:flex;align-items:center;min-height:230px;padding:10px 12px;border:1px solid #6a5c83;border-radius:6px;background:radial-gradient(ellipse at 30% 20%,#34304c,#221f32 70%);overflow:hidden}
#tab-data .algorithm-svg svg{width:100%;height:auto;max-height:350px;display:block}
#tab-data .algorithm-legend{gap:10px;flex-wrap:wrap;margin-top:12px;color:#d6cde0;font-size:12px}
#tab-data .algorithm-legend span{padding:5px 9px;border:1px solid #514864;border-radius:4px;background:#262235}
#tab-data .algorithm-legend i{width:18px;height:3px;border-radius:2px;background:#b2a9c1}
#tab-data .algorithm-legend .legend-skill{background:#f17b9a;box-shadow:0 0 8px #ee789944}
#tab-data .algorithm-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:9px;background:linear-gradient(145deg,#263d38,#1e2c2e 60%,#1c3430);border-color:#608578}
#tab-data .algorithm-facts .panel-title,#tab-data .algorithm-facts>.help{grid-column:1/-1}
#tab-data .algorithm-facts .panel-title{margin-bottom:2px}
#tab-data .fact-row{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-height:62px;padding:9px 11px;border:1px solid #4c6d63;border-radius:5px;background:linear-gradient(145deg,#29443e,#20302e);font-size:12px;color:#bfd3ca}
#tab-data .fact-row strong{white-space:normal;overflow-wrap:anywhere;color:#ebf3ed;font-size:16px}
#tab-data .fact-row.prominent{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;min-height:70px;border-color:#89b39d;background:linear-gradient(105deg,#315849,#29433d 70%,#393a2a)}
#tab-data .fact-row.prominent strong{color:#d9f2df;font-size:25px}
#tab-data .algorithm-facts>.help{margin:3px 0 0;padding:10px 11px;border-left:2px solid #88b49a;border-radius:0 4px 4px 0;background:#1d302b;color:#c6d7cf;font-size:12px;line-height:1.7}
#tab-data .formula-panel{background:linear-gradient(145deg,#3a3025,#27212a 60%,#33262e);border-color:#8a7655}
#tab-data .formula-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
#tab-data .formula-grid>div{min-width:0;min-height:158px;padding:17px 16px}
#tab-data .formula-grid code{font-size:14px;line-height:1.72;overflow-wrap:anywhere;word-break:normal}
#tab-data .formula-grid p{font-size:13px;line-height:1.7;color:#d0c5cb}
#tab-data .calibration-disclosure{border-color:#695669;border-radius:7px;background:linear-gradient(115deg,#292232,#22202b)}
#tab-data .calibration-disclosure>summary{padding:16px 19px;color:#ead6e4}
#tab-data .calibration-disclosure>summary span{color:#c3b2c4}
.nav-icon-bolt{width:20px;height:20px;flex:none;fill:#d4b47726;stroke:#e4bd79;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 5px #d5a85777)}
.nav-icon-bolt .bolt-glint{fill:none;stroke:#ffe6a9;stroke-width:1.1;opacity:.85}
.nav.active .nav-icon-bolt{fill:#df668544;stroke:#ffb3c3;filter:drop-shadow(0 0 7px #ed7798aa)}
@media(max-width:1100px){
  #tab-data .algorithm-grid{grid-template-columns:1fr}
  #tab-data .algorithm-facts{grid-template-columns:repeat(3,minmax(0,1fr))}
  #tab-data .algorithm-facts .panel-title,#tab-data .algorithm-facts>.help{grid-column:1/-1}
  #tab-data .fact-row.prominent{grid-column:span 1;flex-direction:column;align-items:flex-start}
}
@media(max-width:700px){
  #tab-data .matrix-head{padding:16px 15px 17px;margin-bottom:15px}
  #tab-data .matrix-head h1{font-size:25px}
  #tab-data .matrix-head p{font-size:13px}
  #tab-data .contact-strip-secondary{display:flex;gap:5px 12px;padding:8px 10px;font-size:11px}
  #tab-data .algorithm-grid{gap:13px;margin-bottom:14px}
  #tab-data .algorithm-chart,#tab-data .algorithm-facts,#tab-data .formula-panel{padding:16px 14px}
  #tab-data .algorithm-chart .panel-title{align-items:flex-start;flex-wrap:wrap}
  #tab-data .algorithm-chart .panel-title h2{font-size:17px}
  #tab-data #algorithm-caption{margin-left:auto;font-size:11px}
  #tab-data .algorithm-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:9px}
  #tab-data .algorithm-controls label{display:flex;flex-direction:column;align-items:stretch;gap:5px;min-width:0;font-size:11px}
  #tab-data .algorithm-controls input{height:40px}
  #tab-data .algorithm-svg{min-height:0;padding:8px 6px;border-radius:5px}
  #tab-data .algorithm-svg svg{width:100%;max-height:none}
  #tab-data .algorithm-svg svg text{font-size:19px!important}
  #tab-data .algorithm-legend{gap:7px;margin-top:9px;font-size:11px}
  #tab-data .algorithm-legend span{padding:4px 7px}
  #tab-data .algorithm-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  #tab-data .fact-row{min-height:60px;padding:8px;font-size:11px}
  #tab-data .fact-row strong{font-size:15px}
  #tab-data .fact-row.prominent{grid-column:1/-1;flex-direction:row;align-items:center}
  #tab-data .fact-row.prominent strong{font-size:23px}
  #tab-data .algorithm-facts>.help{font-size:11px;padding:9px}
  #tab-data .formula-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  #tab-data .formula-grid>div{min-height:0;padding:13px 11px}
  #tab-data .formula-grid small{font-size:10px;letter-spacing:.1em;margin-bottom:9px}
  #tab-data .formula-grid code{font-size:12px;line-height:1.65}
  #tab-data .formula-grid p{font-size:11px;line-height:1.6;margin-top:9px}
}
@media(max-width:390px){
  #tab-data .algorithm-controls{grid-template-columns:1fr}
  #tab-data .algorithm-controls label{display:grid;grid-template-columns:1fr 110px;align-items:center}
  #tab-data .algorithm-facts{grid-template-columns:1fr 1fr}
  #tab-data .formula-grid{grid-template-columns:1fr}
}

/* Cross-course comparison uses field green and blue to make the rows scannable. */
#tab-matrix .matrix-head{border-color:#53776f;background:radial-gradient(ellipse at 94% 0,#2c756c44,transparent 40%),linear-gradient(112deg,#1b2929,#1c2c35 58%,#282631)}
#tab-matrix .matrix-head:after{background:linear-gradient(90deg,#83c9a5,#66bdc5,#baa0dc)}
#tab-matrix .matrix-head .eyebrow{color:#9dd8bc}
#tab-matrix .matrix-head h1{color:#e6f0eb}
#tab-matrix .matrix-head p{color:#c1d2ce}
#tab-matrix .matrix-controls select{background:linear-gradient(120deg,#26363a,#242b35);border-color:#56716f}
#tab-matrix .summary-grid .metric:nth-child(1){background:linear-gradient(140deg,#285347,#1c302d 78%);border-color:#5f9a82}
#tab-matrix .summary-grid .metric:nth-child(2){background:linear-gradient(140deg,#294960,#202d3a 78%);border-color:#6288a5}
#tab-matrix .summary-grid .metric:nth-child(3){background:linear-gradient(140deg,#54472c,#30291f 78%);border-color:#978254}
#tab-matrix .summary-grid .metric:nth-child(1):before{background:linear-gradient(90deg,#77c8a1,#aae0bf)!important}
#tab-matrix .summary-grid .metric:nth-child(2):before{background:linear-gradient(90deg,#71b9d7,#9ccce0)!important}
#tab-matrix .summary-grid .metric:nth-child(3):before{background:linear-gradient(90deg,#c7a55e,#ead49a)!important}
#tab-matrix .main-grid .panel:first-child{background:linear-gradient(145deg,#22343b,#1d2732 70%,#252634);border-color:#536f7b}
#tab-matrix .main-grid .panel:last-child{background:linear-gradient(145deg,#233a35,#1b2c2b 70%,#202f36);border-color:#52786c}
#tab-matrix .main-grid .panel:first-child .panel-title:before{border-color:#71c6d1;box-shadow:0 0 10px #71c6d155}
#tab-matrix .main-grid .panel:last-child .panel-title:before{border-color:#83c8a1;box-shadow:0 0 10px #83c8a155}
#tab-matrix>section.panel:last-child{background:linear-gradient(145deg,#202b34,#1b242e 58%,#202e30);border-color:#56737b}
#tab-matrix>section.panel:last-child>.panel-title{border-image:linear-gradient(90deg,#70bdc3,#80bb9a,#728fbd) 1}
#tab-matrix>section.panel:last-child>.panel-title:before{border-color:#79d0c7;box-shadow:0 0 10px #79d0c755}
#tab-matrix .table-wrap{max-height:660px;border-color:#526a75;background:#19232b;scrollbar-color:#648c8b #19232b}
#tab-matrix .table-wrap table{min-width:850px}
#tab-matrix .table-wrap thead th{background:linear-gradient(90deg,#31535b,#354962 47%,#3b4b43);color:#e1f2ed;border-bottom-color:#6b9892}
#tab-matrix .table-wrap td{border-color:#33454d;color:#d5e0e3}
#tab-matrix .table-wrap tbody tr:nth-child(even){background:#202b35}
#tab-matrix .table-wrap tbody tr:hover{background:#2d4146}
#tab-matrix .matrix-course{font-weight:700;color:#eef6f3;white-space:nowrap}
#tab-matrix .number.strong{color:#8ee0ca;font-size:15px}
#tab-matrix .matrix-verdict{display:inline-flex;align-items:center;min-height:25px;padding:3px 8px;border:1px solid #536975;border-radius:999px;background:#26343b;color:#c4d4d7;font-size:11px;line-height:1.3;white-space:nowrap}
#tab-matrix .matrix-verdict.is-positive{border-color:#4b8d75;background:#1f4237;color:#a8e1c4}
#tab-matrix .matrix-verdict.is-caution{border-color:#9b8150;background:#473a24;color:#efd293}
#tab-matrix .matrix-verdict.is-invalid{border-color:#8a5560;background:#482831;color:#f0b4ba}
#tab-matrix .matrix-verdict.is-neutral{border-color:#5d6a75;background:#2d3540;color:#d1d9df}
#tab-matrix .bar-track{background:#1b2931;border-color:#40525c}
#tab-matrix .bar-fill{background:linear-gradient(90deg,#55aaa1,#67bed1 56%,#baa6df)}
#tab-matrix .group-line{background:#1b2a2a;border-color:#3a5b55}
#tab-matrix .group-line span{background:linear-gradient(90deg,#64b58d,#81c3b8,#b99dcc)}

/* The algorithm view is a cool-toned instrument panel, distinct from the ruby guide. */
#tab-data .matrix-head{border-color:#3f8490;background:radial-gradient(ellipse at 90% 0,#287a8250,transparent 43%),linear-gradient(112deg,#152833,#183340 56%,#213b48)}
#tab-data .matrix-head:after{background:linear-gradient(90deg,#54d3c7,#8bd2bb,#8ab6dc)}
#tab-data .matrix-head .eyebrow{color:#8ee1d6}
#tab-data .matrix-head h1{color:#e3f5f4}
#tab-data .matrix-head p{color:#bdd4dc}
#tab-data .contact-strip-secondary{border-color:#427b80;background:linear-gradient(90deg,#1d4147,#213744);color:#d7efed}
#tab-data .contact-strip-secondary .contact-label{color:#9de0d6}
#tab-data .algorithm-chart{background:linear-gradient(145deg,#18313e,#1b2e40 62%,#202d42);border-color:#4a8395}
#tab-data .algorithm-chart .panel-title{border-image:linear-gradient(90deg,#59c8c5,#628fba) 1}
#tab-data .algorithm-chart .panel-title:before{border-color:#65dfd2;box-shadow:0 0 12px #65dfd255}
#tab-data .algorithm-chart .panel-title h2{color:#e3f6f5}
#tab-data #algorithm-caption{border-color:#4a7889;background:#1c3441;color:#cde8eb}
#tab-data .algorithm-controls{border-color:#477682;background:linear-gradient(100deg,#24444e,#25394a)}
#tab-data .algorithm-controls label{color:#c4e0e1}
#tab-data .algorithm-controls input{border-color:#5b98a0;background:#172f39;color:#edffff}
#tab-data .algorithm-svg{border-color:#4a8191;background:radial-gradient(ellipse at 28% 18%,#254654,#182c39 72%)}
#tab-data .algorithm-legend span{border-color:#477383;background:#1c3542;color:#d0e8e8}
#tab-data .algorithm-legend i{background:#a7bbd1}
#tab-data .algorithm-legend .legend-skill{background:#61ded1;box-shadow:0 0 8px #61ded155}
#tab-data .algorithm-facts{background:linear-gradient(145deg,#193e3d,#1c3337 62%,#1f3942);border-color:#4d9183}
#tab-data .algorithm-facts .panel-title{border-image:linear-gradient(90deg,#65c59e,#5ec6c8) 1}
#tab-data .algorithm-facts .panel-title:before{border-color:#76d6ad;box-shadow:0 0 11px #76d6ad55}
#tab-data .algorithm-facts .panel-title h2{color:#d9f6e8}
#tab-data .fact-row{border-color:#477b71;background:linear-gradient(145deg,#244945,#1f3b3c);color:#c0e0d9}
#tab-data .fact-row strong{color:#e5fff4}
#tab-data .fact-row.prominent{border-color:#74bea0;background:linear-gradient(105deg,#286554,#23505a 70%,#264951)}
#tab-data .fact-row.prominent strong{color:#a9f1d7}
#tab-data .algorithm-facts>.help{border-left-color:#70d0ad;background:#1d3b3b;color:#cce9e0}
#tab-data .formula-panel{background:linear-gradient(145deg,#1e303e,#1a2934 60%,#243642);border-color:#577d91}
#tab-data .formula-panel .panel-title{border-image:linear-gradient(90deg,#5cb9c4,#8ba5d6,#75c4ad) 1}
#tab-data .formula-panel .panel-title:before{border-color:#8ccdd1;box-shadow:0 0 11px #8ccdd155}
#tab-data .formula-panel .panel-title h2{color:#e1f1f5}
#tab-data .formula-grid>div{background:linear-gradient(145deg,#243b49,#1e303c);border-color:#4a6f80}
#tab-data .formula-grid>div:nth-child(3n+1){background:linear-gradient(145deg,#1e4244,#1b3238);border-color:#4f8f87}
#tab-data .formula-grid>div:nth-child(3n+2){background:linear-gradient(145deg,#293b55,#202e43);border-color:#566f9b}
#tab-data .formula-grid>div:nth-child(3n){background:linear-gradient(145deg,#30464a,#24373d);border-color:#63877f}
#tab-data .formula-grid>div:before{background:linear-gradient(90deg,#54d3c7,#8ab6dc)}
#tab-data .formula-grid small{color:#8de2d7}
#tab-data .formula-grid code{color:#e4f3f4}
#tab-data .formula-grid p{color:#bfd2d9}
#tab-data .calibration-disclosure{border-color:#4a7b88;background:linear-gradient(115deg,#1c303d,#1c3034)}
#tab-data .calibration-disclosure>summary{color:#cce9e8}
#tab-data .calibration-disclosure>summary:before{color:#6fe0d1}
#tab-data .calibration-disclosure>summary span{color:#a8c4cc}
#tab-data .calibration-body{border-top:1px solid #3c6672}

@media(max-width:700px){
  #tab-matrix>section.panel:last-child{padding:15px 12px;background:linear-gradient(145deg,#21333b,#1d2931 68%,#203534)}
  #tab-matrix>section.panel:last-child>.panel-title{padding:0 3px 11px}
  #tab-matrix .table-wrap{max-height:none;overflow:visible;border:0;background:transparent}
  #tab-matrix .table-wrap table{width:100%;min-width:0;border-collapse:separate;border-spacing:0}
  #tab-matrix .table-wrap thead{display:none}
  #tab-matrix .table-wrap tbody{display:grid;gap:9px}
  #tab-matrix .table-wrap tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:9px;border:1px solid #52717a;border-radius:7px;background:linear-gradient(145deg,#293845,#222d37 66%,#263638);box-shadow:inset 0 1px #ffffff0a;cursor:pointer}
  #tab-matrix .table-wrap tbody tr:nth-child(even){background:linear-gradient(145deg,#2c3648,#252b3a 66%,#27363a)}
  #tab-matrix .table-wrap tbody tr:hover{background:linear-gradient(145deg,#354859,#293b45)}
  #tab-matrix .table-wrap tbody td{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:3px;padding:6px 7px;border:0;border-radius:4px;background:#17252d88;font-size:12px;white-space:normal}
  #tab-matrix .table-wrap tbody td:before{content:attr(data-label);color:#92b4bd;font-size:10px;line-height:1.25;letter-spacing:.03em;font-weight:600}
  #tab-matrix .table-wrap tbody td.matrix-course{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between;gap:8px;padding:8px 9px;background:linear-gradient(90deg,#25473f,#263c4b);color:#eff9f5;font-size:14px}
  #tab-matrix .table-wrap tbody td.matrix-course:before{content:"赛道";flex:none;color:#91d6b5}
  #tab-matrix .table-wrap tbody td.number{align-items:flex-start}
  #tab-matrix .table-wrap tbody td.number.strong{color:#8ee0ca;font-size:15px}
  #tab-matrix .matrix-verdict{white-space:normal}
  #tab-data .matrix-head{background:radial-gradient(ellipse at 90% 0,#318f9466,transparent 45%),linear-gradient(112deg,#1b3742,#204653 68%,#28474f)}
  #tab-data .algorithm-chart{background:linear-gradient(145deg,#1d3a49,#1d3546 62%,#26384d)}
  #tab-data .algorithm-facts{background:linear-gradient(145deg,#1c4945,#204147 62%,#214148)}
  #tab-data .formula-panel{background:linear-gradient(145deg,#253b4a,#203541 60%,#29414a)}
  #tab-data .formula-grid>div:nth-child(3n+1){background:linear-gradient(145deg,#245052,#1e3a43)}
  #tab-data .formula-grid>div:nth-child(3n+2){background:linear-gradient(145deg,#304767,#25364f)}
  #tab-data .formula-grid>div:nth-child(3n){background:linear-gradient(145deg,#355553,#294247)}
}

/* Harmonized finish: keep the site's velvet and ruby base, mute the cool accents. */
#tab-matrix .matrix-head{border-color:#674957;background:radial-gradient(ellipse at 94% 0,#5b314540,transparent 42%),linear-gradient(112deg,#251a24,#2b202c 58%,#30242c)}
#tab-matrix .matrix-head:after{background:linear-gradient(90deg,#dd829a,#b99ab5,#bfa77c)}
#tab-matrix .matrix-head .eyebrow{color:#d7a0b0}
#tab-matrix .matrix-head h1{color:#f0e7eb}
#tab-matrix .matrix-head p{color:#cbbdc5}
#tab-matrix .matrix-controls select{background:linear-gradient(120deg,#2c222d,#28212b);border-color:#674e5e}
#tab-matrix .summary-grid .metric:nth-child(1){background:linear-gradient(140deg,#482b39,#281d26 78%);border-color:#785365}
#tab-matrix .summary-grid .metric:nth-child(2){background:linear-gradient(140deg,#382e47,#231f2d 78%);border-color:#655776}
#tab-matrix .summary-grid .metric:nth-child(3){background:linear-gradient(140deg,#463a2b,#29231d 78%);border-color:#756448}
#tab-matrix .summary-grid .metric:nth-child(1):before{background:linear-gradient(90deg,#cf7188,#e6a3b0)!important}
#tab-matrix .summary-grid .metric:nth-child(2):before{background:linear-gradient(90deg,#9c89bc,#c0a5ca)!important}
#tab-matrix .summary-grid .metric:nth-child(3):before{background:linear-gradient(90deg,#b89961,#dfc98f)!important}
#tab-matrix .main-grid .panel:first-child{background:linear-gradient(145deg,#28212c,#211b25 70%,#2d202b);border-color:#5d4857}
#tab-matrix .main-grid .panel:last-child{background:linear-gradient(145deg,#29232b,#211e25 70%,#29252a);border-color:#5c4e4c}
#tab-matrix .main-grid .panel:first-child .panel-title:before{border-color:#d58da1;box-shadow:0 0 8px #d58da133}
#tab-matrix .main-grid .panel:last-child .panel-title:before{border-color:#c4a978;box-shadow:0 0 8px #c4a97833}
#tab-matrix>section.panel:last-child{background:linear-gradient(145deg,#261e27,#211b24 58%,#2a2028);border-color:#66505c}
#tab-matrix>section.panel:last-child>.panel-title{border-image:linear-gradient(90deg,#b9657e,#8b687f,#a48a65) 1}
#tab-matrix>section.panel:last-child>.panel-title:before{border-color:#dd91a5;box-shadow:0 0 8px #dc789033}
#tab-matrix .table-wrap{border-color:#5b4654;background:#1b171e;scrollbar-color:#775766 #1b171e}
#tab-matrix .table-wrap thead th{background:linear-gradient(90deg,#432b38,#382d3a 52%,#3b3031);color:#f0e3e9;border-bottom-color:#815b6c}
#tab-matrix .table-wrap td{border-color:#3d303b;color:#d9ccd4}
#tab-matrix .table-wrap tbody tr:nth-child(even){background:#211a24}
#tab-matrix .table-wrap tbody tr:hover{background:#352631}
#tab-matrix .matrix-course{color:#f0e7ec}
#tab-matrix .number.strong{color:#e7a3b5}
#tab-matrix .matrix-verdict{border-color:#5a4b58;background:#2d2530;color:#d5c4d0}
#tab-matrix .matrix-verdict.is-positive{border-color:#557262;background:#25382f;color:#b9d7c5}
#tab-matrix .matrix-verdict.is-caution{border-color:#806d4b;background:#393123;color:#dfcb9d}
#tab-matrix .matrix-verdict.is-invalid{border-color:#79505c;background:#3a252e;color:#e2b0ba}
#tab-matrix .matrix-verdict.is-neutral{border-color:#5d5260;background:#2a252e;color:#cfc4d1}
#tab-matrix .bar-track{background:#211b24;border-color:#443540}
#tab-matrix .bar-fill{background:linear-gradient(90deg,#9e4964,#cd7186 64%,#c5a46e)}
#tab-matrix .group-line{background:#211b22;border-color:#493a42}
#tab-matrix .group-line span{background:linear-gradient(90deg,#9b5b70,#c5a46e)}

#tab-data .matrix-head{border-color:#57516a;background:radial-gradient(ellipse at 90% 0,#4e476355,transparent 43%),linear-gradient(112deg,#1c222b,#242433 56%,#30232d)}
#tab-data .matrix-head:after{background:linear-gradient(90deg,#91aaaF,#8cb9b4,#b99eaa)}
#tab-data .matrix-head .eyebrow{color:#aebdca}
#tab-data .matrix-head h1{color:#ecedf3}
#tab-data .matrix-head p{color:#c1c2ce}
#tab-data .contact-strip-secondary{border-color:#55566b;background:linear-gradient(90deg,#282433,#252630);color:#d6d3dd}
#tab-data .contact-strip-secondary .contact-label{color:#d5b6c3}
#tab-data .algorithm-chart{background:linear-gradient(145deg,#202633,#222434 62%,#2d2430);border-color:#5d5a70}
#tab-data .algorithm-chart .panel-title{border-image:linear-gradient(90deg,#827d9e,#8caeae,#9e7789) 1}
#tab-data .algorithm-chart .panel-title:before{border-color:#9bb8bd;box-shadow:0 0 8px #91b4bb44}
#tab-data .algorithm-chart .panel-title h2{color:#e9e8f0}
#tab-data #algorithm-caption{border-color:#5d596e;background:#292938;color:#ddd8e7}
#tab-data .algorithm-controls{border-color:#55536a;background:linear-gradient(100deg,#292a3a,#292631)}
#tab-data .algorithm-controls label{color:#d0ceda}
#tab-data .algorithm-controls input{border-color:#68667a;background:#211f2c;color:#f0edf3}
#tab-data .algorithm-svg{border-color:#5c5d73;background:radial-gradient(ellipse at 28% 18%,#303546,#20232f 72%)}
#tab-data .algorithm-legend span{border-color:#595a70;background:#292936;color:#d8d5e1}
#tab-data .algorithm-legend i{background:#a7afc0}
#tab-data .algorithm-legend .legend-skill{background:#82c2bb;box-shadow:0 0 7px #82c2bb44}
#tab-data .algorithm-facts{background:linear-gradient(145deg,#263437,#232c31 62%,#292936);border-color:#596d6c}
#tab-data .algorithm-facts .panel-title{border-image:linear-gradient(90deg,#87ada1,#8b9ead) 1}
#tab-data .algorithm-facts .panel-title:before{border-color:#93b8a8;box-shadow:0 0 8px #93b8a844}
#tab-data .algorithm-facts .panel-title h2{color:#e1ece7}
#tab-data .fact-row{border-color:#4f6561;background:linear-gradient(145deg,#2b3b3b,#252f34);color:#c6d3d0}
#tab-data .fact-row strong{color:#e8eeec}
#tab-data .fact-row.prominent{border-color:#7f9d8f;background:linear-gradient(105deg,#344c45,#304249 70%,#3a3440)}
#tab-data .fact-row.prominent strong{color:#d3e8dc}
#tab-data .algorithm-facts>.help{border-left-color:#90afa0;background:#263633;color:#cbd8d2}
#tab-data .formula-panel{background:linear-gradient(145deg,#292631,#22232d 60%,#302630);border-color:#625566}
#tab-data .formula-panel .panel-title{border-image:linear-gradient(90deg,#9986a4,#879da9,#a17a8c) 1}
#tab-data .formula-panel .panel-title:before{border-color:#ad9db5;box-shadow:0 0 8px #ad9db544}
#tab-data .formula-panel .panel-title h2{color:#ebe7ef}
#tab-data .formula-grid>div{background:linear-gradient(145deg,#2c2b39,#23242e);border-color:#5b5d70}
#tab-data .formula-grid>div:nth-child(3n+1){background:linear-gradient(145deg,#312936,#29232d);border-color:#6b5162}
#tab-data .formula-grid>div:nth-child(3n+2){background:linear-gradient(145deg,#292c3a,#222630);border-color:#555d72}
#tab-data .formula-grid>div:nth-child(3n){background:linear-gradient(145deg,#293534,#222c30);border-color:#52645f}
#tab-data .formula-grid>div:before{background:linear-gradient(90deg,#9b8da9,#93b2b1)}
#tab-data .formula-grid small{color:#d2a5b5}
#tab-data .formula-grid code{color:#ebe8ee}
#tab-data .formula-grid p{color:#c4c1cb}
#tab-data .calibration-disclosure{border-color:#5b5363;background:linear-gradient(115deg,#28242e,#23232b)}
#tab-data .calibration-disclosure>summary{color:#ded3dc}
#tab-data .calibration-disclosure>summary:before{color:#a9b7bd}
#tab-data .calibration-disclosure>summary span{color:#bcb4c0}
#tab-data .calibration-body{border-top-color:#4a4654}

/* Route legend: four distinct, high-contrast jewel tones with light texture cues. */
.route-panel .course-svg{background:linear-gradient(145deg,#211b27,#28202d 62%,#211f2c);border-color:#665269}
.route-panel .route-key{gap:9px 10px;margin-top:12px;padding-top:11px;border-top:1px solid #514353}
.route-panel .route-key span{gap:8px;padding:5px 9px;border:1px solid #58495b;border-radius:5px;background:linear-gradient(120deg,#302633,#29232f);color:#e0d6e2}
.route-panel .route-key i{width:17px;height:12px;box-shadow:0 0 8px #ffffff16}
.route-panel .key-corner{background:linear-gradient(135deg,#f0bd79,#d99a53);border:1px solid #ffe0af}
.route-panel .key-slope{background:repeating-linear-gradient(135deg,#68cbbb 0 4px,#439f99 4px 6px);border:1px solid #b9eee1}
.route-panel .key-terminal{background:linear-gradient(135deg,#8b6878,#6b4e5b);border:1px dashed #d8b0bd}
.route-panel .key-skill{background:#ef7099;border:1px solid #ffe0eb;box-shadow:0 0 8px #ef709944}

/* Fine separators make the site's panels and form groups easier to scan. */
.panel-title{position:relative}
.panel-title:after{content:"";position:absolute;left:18px;bottom:-1px;width:min(150px,30%);height:1px;background:linear-gradient(90deg,#dc849b,#bda17d,transparent);pointer-events:none}
.panel{isolation:isolate}
.panel:after{content:"";position:absolute;top:9px;right:9px;width:17px;height:17px;border-top:1px solid #a77b8b55;border-right:1px solid #a77b8b55;pointer-events:none;z-index:-1}
.scenario-grid>label{padding-bottom:8px;border-bottom:1px solid #453943}
.scenario-grid .field-hint{padding-top:2px}
.summary-grid .metric{border-right:1px solid #5a4653}
.summary-grid .metric:last-child{border-right:0}
#tab-characters .character-table thead th{background:linear-gradient(180deg,#392633,#30232f);color:#f0e3eb;border-right:1px solid #5a4354;border-bottom:1px solid #8b5c71}
#tab-characters .character-table thead th:nth-child(1),#tab-characters .character-table thead th:nth-child(2){background:linear-gradient(180deg,#3b2732,#30232d)}
#tab-characters .character-table thead th:nth-child(3),#tab-characters .character-table thead th:nth-child(4){background:linear-gradient(180deg,#332b3b,#292430)}
#tab-characters .character-table thead th:nth-child(5){background:linear-gradient(180deg,#403327,#30271f);color:#f1d39d;border-bottom-color:#a17f4d}
#tab-characters .character-table thead th:nth-child(6){background:linear-gradient(180deg,#342d38,#29242e);color:#d6c6d7}
#tab-characters .character-table td{border-right:1px solid #302630}
#tab-characters .character-table td:nth-child(5){color:#e6bd81;font-weight:700}
#tab-characters .character-table tbody tr:hover{background:#352833}
#tab-characters .character-table tbody tr.selected{background:#3a2935}

/* Keep the course comparison title and filters on clear, separate rows. */
#tab-matrix .matrix-head{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start;padding:21px 23px 17px}
#tab-matrix .matrix-head>div:first-child{min-width:0}
#tab-matrix .matrix-controls{display:grid;grid-template-columns:minmax(250px,2fr) repeat(3,minmax(132px,1fr));gap:12px;align-items:end;width:100%;margin:0;padding-top:14px;border-top:1px solid #594653}
#tab-matrix .matrix-controls label,#tab-matrix .matrix-controls label:first-child{width:auto;min-width:0;display:flex;flex-direction:column;gap:6px;color:#d8cbd3;font-size:12px}
#tab-matrix .matrix-controls select{width:100%;min-width:0;height:44px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
#tab-matrix .table-wrap{scrollbar-color:#765968 #1c171e}
#tab-matrix .table-wrap thead th{position:sticky;top:0;z-index:2}
#tab-matrix .table-wrap td{border-right:1px solid #342a34}
#tab-matrix .table-wrap td:last-child{border-right:0}

@media(max-width:820px){
  #tab-matrix>section.panel:last-child{background:linear-gradient(145deg,#29212a,#211b24 68%,#292128)}
  #tab-matrix .table-wrap tbody tr{border-color:#594450;background:linear-gradient(145deg,#302630,#251e28 66%,#2c222a);box-shadow:inset 0 1px #ffffff09}
  #tab-matrix .table-wrap tbody tr:nth-child(even){background:linear-gradient(145deg,#2d2630,#24212b 66%,#29242b)}
  #tab-matrix .table-wrap tbody tr:hover{background:linear-gradient(145deg,#3a2a36,#302636)}
  #tab-matrix .table-wrap tbody td{background:#1b171f88}
  #tab-matrix .table-wrap tbody td:before{color:#bca7b4}
  #tab-matrix .table-wrap tbody td.matrix-course{background:linear-gradient(90deg,#49313e,#3a303d);color:#f5e9ee}
  #tab-matrix .table-wrap tbody td.matrix-course:before{color:#e4a3b4}
  #tab-data .matrix-head{background:radial-gradient(ellipse at 90% 0,#51465e77,transparent 45%),linear-gradient(112deg,#232a32,#2b2a3a 68%,#352833)}
  #tab-data .algorithm-chart{background:linear-gradient(145deg,#272d39,#28283a 62%,#332a34)}
  #tab-data .algorithm-facts{background:linear-gradient(145deg,#2c3a39,#283338 62%,#302e38)}
  #tab-data .formula-panel{background:linear-gradient(145deg,#2d2934,#262a32 60%,#342b32)}
  #tab-data .formula-grid>div:nth-child(3n+1){background:linear-gradient(145deg,#382b36,#2d242e)}
  #tab-data .formula-grid>div:nth-child(3n+2){background:linear-gradient(145deg,#303241,#262b36)}
  #tab-data .formula-grid>div:nth-child(3n){background:linear-gradient(145deg,#2e3a39,#263236)}
  .route-panel .route-key{gap:7px}
  .route-panel .route-key span{padding:4px 7px}
  .scenario-grid>label{padding-bottom:7px}
  .summary-grid .metric{border-right:0}
}

@media(max-width:1100px){
  #tab-matrix .matrix-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
  #tab-matrix .matrix-controls label:first-child{grid-column:1/-1}
}
@media(max-width:700px){
  #tab-matrix .matrix-head{padding:17px 16px 15px;gap:12px}
  #tab-matrix .matrix-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:0}
  #tab-matrix .matrix-controls label:first-child{grid-column:1/-1;width:auto}
  #tab-matrix .matrix-controls select{height:42px;font-size:13px}
}
@media(max-width:380px){
  #tab-matrix .matrix-controls{grid-template-columns:minmax(0,1fr)}
  #tab-matrix .matrix-controls label:first-child{grid-column:auto}
}

/* Algorithm relationship map */
#tab-data .calc-flow{position:relative;display:flex;align-items:stretch;gap:9px;margin:22px 0 15px;padding:18px 15px 16px;border:1px solid #57616a;border-radius:10px;background:linear-gradient(112deg,#222a31,#242a35 47%,#2c292f);isolation:isolate}
#tab-data .calc-flow-track{position:absolute;z-index:-1;left:7%;right:7%;top:43px;height:2px;background:linear-gradient(90deg,#72c9b6,#8fb8d0 28%,#c6b276 55%,#d28da3 78%,#a89bd0);opacity:.58}
#tab-data .calc-step{position:relative;flex:1 1 0;min-width:0;padding:12px 12px 11px;border:1px solid #58636c;border-radius:8px;background:linear-gradient(155deg,#32343d,#25262e 75%);box-shadow:0 7px 15px #09090c38}
#tab-data .calc-step-no{position:absolute;right:10px;top:9px;color:#bbc3ca;font:10px/1 Georgia,serif;letter-spacing:.08em}
#tab-data .calc-step-icon{display:grid;place-items:center;width:36px;height:36px;margin:0 0 11px;border:1px solid #7db9b2;border-radius:50%;background:#243c3c;color:#adede1;font:22px/1 Georgia,serif;box-shadow:0 0 0 4px #30343c}
#tab-data .calc-step h3{margin:0 0 5px;color:#f1e8ea;font-size:14px;line-height:1.35}
#tab-data .calc-step p{min-height:38px;margin:0;color:#c8c5cc;font-size:11px;line-height:1.55}
#tab-data .calc-step small{display:inline-block;margin-top:8px;padding:3px 7px;border:1px solid #66766f;border-radius:20px;background:#263b36;color:#a9d8c3;font-size:10px;line-height:1.2;letter-spacing:.03em}
#tab-data .calc-arrow{align-self:center;flex:0 0 16px;margin-top:-1px;color:#c4aab5;font:27px/1 Georgia,serif;text-align:center}
#tab-data .step-filter .calc-step-icon{border-color:#8e83b2;background:#343049;color:#d3c1ff}
#tab-data .step-filter small{border-color:#72638c;background:#342d45;color:#d3c1e6}
#tab-data .step-window .calc-step-icon{border-color:#c0a16a;background:#403724;color:#f3d79b}
#tab-data .step-window small{border-color:#88734a;background:#3c3426;color:#ead39d}
#tab-data .step-trajectory .calc-step-icon{border-color:#7ca0c0;background:#293b50;color:#b9d9f1}
#tab-data .step-trajectory small{border-color:#607e9c;background:#293747;color:#bfd9ee}
#tab-data .step-result .calc-step-icon{border-color:#cc879f;background:#472d3a;color:#ffc4d6}
#tab-data .step-result small{border-color:#946177;background:#402c38;color:#f1bdce}
#tab-data .calc-flow-note{display:flex;align-items:center;gap:10px;margin:0 0 20px;padding:10px 13px;border-left:3px solid #83b5ad;border-top:1px solid #454852;border-bottom:1px solid #454852;background:linear-gradient(90deg,#273637,#292b33 60%,#302b34);color:#d0cbd1}
#tab-data .calc-note-mark{display:grid;flex:0 0 22px;place-items:center;width:22px;height:22px;border-radius:50%;background:#395a57;color:#d9f1e8;font:bold 13px Georgia,serif}
#tab-data .calc-flow-note p{flex:1;margin:0;font-size:12px;line-height:1.65}
#tab-data .calc-flow-note strong{margin-right:8px;color:#9dd7ca}
#tab-data .calc-note-tag{color:#a99fab;font:10px Georgia,serif;letter-spacing:.13em;white-space:nowrap}
@media(max-width:1050px){
  #tab-data .calc-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;padding:14px}
  #tab-data .calc-flow-track,#tab-data .calc-arrow{display:none}
  #tab-data .calc-step p{min-height:0}
}
@media(max-width:600px){
  #tab-data .calc-flow{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}
  #tab-data .calc-step{padding:10px 9px}
  #tab-data .calc-step-icon{width:31px;height:31px;font-size:19px;margin-bottom:9px}
  #tab-data .calc-step h3{font-size:13px}
  #tab-data .calc-step p{font-size:11px}
  #tab-data .calc-flow-note{align-items:flex-start}
  #tab-data .calc-note-tag{display:none}
}
@media(max-width:360px){#tab-data .calc-flow{grid-template-columns:minmax(0,1fr)}}

/* Small explanatory diagrams paired with each model formula. */
#tab-data .formula-grid .formula-viz{height:82px;margin:7px 0 10px;padding:1px 3px 4px;border-top:1px solid #ffffff15;border-bottom:1px solid #ffffff15;background:linear-gradient(90deg,#14171d22,#ffffff04,#14171d22)}
#tab-data .formula-viz svg{display:block;width:100%;height:78px;overflow:visible}
#tab-data .formula-viz svg text{fill:#e3e1e7;font:10px/1.2 "Segoe UI",sans-serif;text-anchor:middle}
#tab-data .formula-viz svg text.viz-caption{fill:#b8b4c0;font-size:8px;letter-spacing:.035em}
#tab-data .formula-viz .viz-grid{fill:none;stroke:#a8b0ba;stroke-opacity:.17;stroke-width:1}
#tab-data .formula-viz .viz-axis{fill:none;stroke:#a9b0ba;stroke-opacity:.58;stroke-width:1.15}
#tab-data .formula-viz .viz-main{fill:none;stroke:#8bd8c4;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
#tab-data .formula-viz .viz-main-muted{fill:none;stroke:#c9a4b4;stroke-width:1.6;stroke-dasharray:4 4;stroke-linecap:round}
#tab-data .formula-viz .viz-threshold{fill:none;stroke:#e3c27c;stroke-width:1.2;stroke-dasharray:3 3}
#tab-data .formula-viz .viz-dot{fill:#9be4d3;stroke:#26333b;stroke-width:1.5}
#tab-data .formula-viz .viz-dot-gold{fill:#efcc83}
#tab-data .formula-viz .viz-dot-blue{fill:#a8c9ec}
#tab-data .formula-viz .viz-dot-rose{fill:#e8a8bf}
#tab-data .formula-viz .viz-node{fill:#343039;stroke:#9b7f95;stroke-width:1.2}
#tab-data .formula-viz .viz-node-teal{fill:#263f3d;stroke:#75b9a9}
#tab-data .formula-viz .viz-node-blue{fill:#2c3748;stroke:#87a8ca}
#tab-data .formula-viz .viz-node-gold{fill:#403826;stroke:#c7a968}
#tab-data .formula-viz .viz-node-out{fill:#3e2b37;stroke:#ce8aa4}
#tab-data .formula-viz .viz-connector,#tab-data .formula-viz .viz-branch{fill:none;stroke:#b3a7b1;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
#tab-data .formula-viz .viz-bars{fill:none;stroke:#84c6ae;stroke-width:7;stroke-linecap:round;opacity:.9}
#tab-data .formula-viz .viz-bracket{fill:none;stroke:#cf9eb1;stroke-width:1.5;stroke-linecap:round}
#tab-data .formula-viz .viz-arrowhead{fill:none;stroke:#ddc080;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#tab-data .formula-viz .viz-gate{fill:#3b3540;stroke:#baa6c9;stroke-width:1.3}
#tab-data .formula-viz .viz-pass{fill:#29453b;stroke:#84c7a0;stroke-width:1.2}
#tab-data .formula-viz .viz-sum{fill:#3e3548;stroke:#c3a6d4;stroke-width:1.4}
@media(max-width:520px){
  #tab-data .formula-grid .formula-viz{height:76px;margin:6px 0 9px}
  #tab-data .formula-viz svg{height:73px}
  #tab-data .formula-viz svg text{font-size:9px}
  #tab-data .formula-viz svg text.viz-caption{font-size:7.5px}
}

/* Per-skill model view and character-skill composition view. */
.skill-algorithm-viz,.composition-algorithm-viz{margin:15px 0;padding:13px 14px;border:1px solid #51414d;border-radius:8px;background:linear-gradient(145deg,#28232d,#222831 68%,#2a252d)}
.skill-viz-head,.composition-viz-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;padding-bottom:8px;border-bottom:1px solid #ffffff19}
.skill-viz-head>strong,.composition-viz-head>strong{color:#e8dde4;font-size:12px;font-weight:650}
.skill-viz-kicker{color:#c9a779;font:9px Georgia,serif;letter-spacing:.13em;white-space:nowrap}
.skill-algorithm-viz svg{display:block;width:100%;height:auto;min-height:108px;overflow:visible}
.skill-algorithm-viz svg text{fill:#ddd4dd;font:10px AgathosSans,"Segoe UI",sans-serif}
.skill-algorithm-viz svg .skill-viz-label{fill:#d9cbd5;font-size:9px}
.skill-algorithm-viz svg .skill-viz-small{fill:#a99eac;font-size:8px}
.skill-algorithm-viz svg .skill-viz-track{fill:none;stroke:#736676;stroke-width:7;stroke-linecap:round}
.skill-algorithm-viz svg .skill-viz-terminal{fill:#674457;opacity:.52}
.skill-algorithm-viz svg .skill-viz-window{fill:#e07d9d;stroke:#ffe2ec;stroke-width:.8}
.skill-algorithm-viz svg .skill-viz-axis{fill:none;stroke:#827686;stroke-width:1;opacity:.7}
.skill-algorithm-viz svg .skill-viz-range{fill:none;stroke:#a99ac5;stroke-width:6;stroke-linecap:round;opacity:.86}
.skill-algorithm-viz svg .skill-viz-theory{fill:none;stroke:#ebc67d;stroke-width:1.7;stroke-dasharray:3 2}
.skill-algorithm-viz svg .skill-viz-expected{fill:#86d4bb;stroke:#e4fff5;stroke-width:1.2}
.skill-algorithm-viz svg .skill-viz-empty{fill:#b9aebb;font-size:10px}
.skill-viz-foot{display:flex;align-items:center;flex-wrap:wrap;gap:7px 14px;padding-top:4px;color:#c3b9c3;font-size:10px}
.skill-viz-foot>span{display:inline-flex;align-items:center;gap:5px}
.skill-viz-foot i{display:inline-block;width:10px;height:8px;border-radius:2px}
.skill-viz-key-window{background:#e07d9d}.skill-viz-key-theory{width:2px!important;height:10px!important;border-radius:0!important;background:repeating-linear-gradient(to bottom,#ebc67d 0 2px,transparent 2px 4px)}.skill-viz-key-expected{width:8px!important;height:8px!important;border:2px solid #86d4bb;border-radius:50%!important}
.skill-viz-foot .skill-viz-footnote{margin-left:auto;color:#9d939f}
.composition-algorithm-viz{margin:14px 0 10px;background:linear-gradient(145deg,#28252d,#242b30 68%,#30272f)}
.composition-viz-list{display:grid;gap:8px;padding:4px 0 11px}
.composition-viz-row{display:grid;grid-template-columns:48px minmax(90px,1.1fr) minmax(70px,1fr) 48px;align-items:center;gap:9px;min-width:0}
.composition-viz-slot{color:#b6a9b4;font-size:10px;white-space:nowrap}
.composition-viz-row>strong{overflow:hidden;color:#e6dfe6;font-size:11px;font-weight:580;text-overflow:ellipsis;white-space:nowrap}
.composition-viz-track{display:block;height:9px;overflow:hidden;border:1px solid #ffffff18;border-radius:10px;background:#17171e}
.composition-viz-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#9c617e,#d991aa);box-shadow:0 0 9px #c8799c44}
.composition-viz-row.type-accel .composition-viz-track i{background:linear-gradient(90deg,#af7182,#e3a46d)}
.composition-viz-row.type-speed .composition-viz-track i{background:linear-gradient(90deg,#628ba9,#91c5dc)}
.composition-viz-row.type-recovery .composition-viz-track i{background:linear-gradient(90deg,#578e79,#9cc89c)}
.composition-viz-row>b{color:#e9b5c5;font-size:11px;text-align:right;white-space:nowrap}
.composition-viz-flow{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr) 20px minmax(0,1fr);align-items:center;gap:6px;padding-top:10px;border-top:1px solid #ffffff1e}
.composition-viz-flow>div{display:flex;flex-direction:column;gap:2px;min-width:0;padding:7px 9px;border:1px solid #574451;border-radius:6px;background:#201a23}
.composition-viz-flow>div small{overflow:hidden;color:#afa3ae;font-size:9px;letter-spacing:.015em;text-overflow:ellipsis;white-space:nowrap}
.composition-viz-flow>div strong{color:#e8dfe7;font-size:14px}
.composition-viz-flow>span{color:#c3a5b0;font-size:17px;text-align:center}
.composition-viz-flow .overlap-step{border-color:#776445;background:#30291f}
.composition-viz-flow .overlap-step strong{color:#e6ca8d}
.composition-viz-flow .net-step{border-color:#527469;background:#202c2a}
.composition-viz-flow .net-step strong{color:#9dd9c4}
.composition-viz-note{margin:8px 0 0;color:#a99fab;font-size:10px;line-height:1.55}
@media(max-width:600px){
  .skill-algorithm-viz,.composition-algorithm-viz{padding:10px}
  .skill-viz-head,.composition-viz-head{align-items:flex-start;flex-direction:column;gap:3px}
  .skill-viz-foot{font-size:9px;gap:5px 9px}
  .skill-viz-foot .skill-viz-footnote{margin-left:0}
  .composition-viz-row{grid-template-columns:42px minmax(70px,1fr) minmax(48px,.8fr) 43px;gap:6px}
  .composition-viz-flow{grid-template-columns:minmax(0,1fr) 14px minmax(0,1fr) 14px minmax(0,1fr);gap:3px}
  .composition-viz-flow>div{padding:6px 5px}
  .composition-viz-flow>div small{font-size:8px}
  .composition-viz-flow>div strong{font-size:12px}
}

/* Desktop workspace: use the full canvas, with adjustable navigation and readable text. */
@media(min-width:821px){
  :root{--agathos-sidebar:238px}
  body{font-size:15px}
  .site-sidebar{width:var(--agathos-sidebar);transition:width .2s ease}
  .site-sidebar .brand{position:relative;padding-right:49px}
  .sidebar-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:30px;height:34px;border:1px solid #594454;border-radius:6px;background:#201821;color:#e8b6c5;font-size:22px;line-height:1}
  .sidebar-toggle:hover{background:#39232f;border-color:#bb758d}
  .topbar{margin-left:var(--agathos-sidebar);height:76px;transition:margin-left .2s ease}
  .top-inner{min-height:75px;padding:0 clamp(20px,2.1vw,40px);gap:17px}
  main{width:calc(100vw - var(--agathos-sidebar));max-width:none;margin:0 0 0 var(--agathos-sidebar);padding:30px clamp(24px,2.5vw,46px) 80px;transition:margin-left .2s ease,width .2s ease}
  .global-search{flex:1;width:auto;max-width:980px}
  .global-search input{font-size:14px}
  .character-table td{font-size:15px}
  .character-name strong{font-size:17px}
  .character-name small,.composition small{font-size:13px}
  .main-grid{grid-template-columns:minmax(0,1.75fr) minmax(360px,1fr)}
  .route-panel,.detail-panel{min-height:360px}
  body.sidebar-collapsed{--agathos-sidebar:78px}
  body.sidebar-collapsed .site-sidebar .brand{justify-content:center;padding:0 34px 0 10px}
  body.sidebar-collapsed .site-sidebar .brand>div,body.sidebar-collapsed .site-sidebar .nav:not(.nav-icon){font-size:0}
  body.sidebar-collapsed .site-sidebar .brand>div,body.sidebar-collapsed .sidebar-tail{display:none}
  body.sidebar-collapsed .site-sidebar .brand{gap:0}
  body.sidebar-collapsed .site-sidebar .brand-gem{width:31px}
  body.sidebar-collapsed .site-sidebar nav{padding:28px 10px}
  body.sidebar-collapsed .site-sidebar .nav{justify-content:center;gap:0;padding:0;border-left:0;font-size:0}
  body.sidebar-collapsed .site-sidebar .nav-icon{font-size:20px;width:100%}
  body.sidebar-collapsed .sidebar-toggle{right:7px;width:25px;font-size:18px}
  body.sidebar-collapsed .sidebar-toggle::first-letter{transform:rotate(180deg)}
  .account-layout{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1.8fr);gap:18px;align-items:start}
  .account-layout>.panel{min-width:0}
}
.account-head{margin-bottom:18px}
.account-layout{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.6fr);gap:16px;align-items:start}
.account-panel,.pdf-panel{min-width:0}
.account-panel form,.pdf-import{display:grid;gap:12px}
.account-panel form .primary{justify-self:start;min-width:120px}
.account-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}
.account-identity{display:grid;gap:5px;padding:15px;border:1px solid #506f66;border-radius:8px;background:linear-gradient(130deg,#1d3933,#202b32)}
.account-identity span,.account-identity small{color:#abc4bc;font-size:12px}
.account-identity strong{font-size:17px;color:#e8fff3;overflow-wrap:anywhere}
.pdf-import{grid-template-columns:minmax(160px,1fr) minmax(170px,1fr) auto;align-items:end;margin:8px 0 16px}
.pdf-import input[type=file]{height:auto;min-height:44px;padding:8px;font-size:12px}
.pdf-library{display:grid;gap:7px;margin:10px 0}
.pdf-entry{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid #4b3b49;border-radius:7px;background:linear-gradient(100deg,#251d27,#22232c);min-width:0}
.pdf-entry-name{flex:1;min-width:0;overflow:hidden;color:#e6dce4;text-overflow:ellipsis;white-space:nowrap}
.pdf-entry-meta{color:#b9a8b4;font-size:11px;white-space:nowrap}
.pdf-entry button{min-height:32px;padding:5px 10px;font-size:12px}
.pdf-empty{padding:18px;text-align:center;color:#b5a7b1;border:1px dashed #594656;border-radius:8px;background:#17151b}
#pdf-viewer{display:block;width:100%;height:min(76vh,980px);min-height:480px;margin-top:14px;border:1px solid #564553;border-radius:7px;background:#fff}
#pdf-viewer[hidden]{display:none}
@media(max-width:1000px){.account-layout{grid-template-columns:1fr}.pdf-import{grid-template-columns:1fr 1fr}.pdf-import button{grid-column:1/-1;justify-self:start}}
@media(max-width:820px){
  .sidebar-toggle{display:none}
  .account-layout{grid-template-columns:1fr}
  .pdf-import{grid-template-columns:1fr}
  .pdf-import button{grid-column:auto}
  #pdf-viewer{height:70vh;min-height:360px}
}
@media(max-width:560px){.account-actions{display:grid;grid-template-columns:1fr}.pdf-entry{flex-wrap:wrap}.pdf-entry-name{flex-basis:100%}}

/* Account and PDF reader are separate destinations. */
.account-layout{display:block;width:min(100%,760px);margin-inline:auto}
.account-panel{width:100%}
#tab-pdf .pdf-panel{width:100%;max-width:none}
#tab-pdf .pdf-import{grid-template-columns:minmax(200px,1fr) minmax(220px,1.2fr) auto}
@media(max-width:1000px){#tab-pdf .pdf-import{grid-template-columns:1fr 1fr}#tab-pdf .pdf-import button{grid-column:1/-1;justify-self:start}}
@media(max-width:820px){#tab-pdf .pdf-import{grid-template-columns:1fr}#tab-pdf .pdf-import button{grid-column:auto}}

/* Standalone account and document workspaces. */
body[data-tab="account"] .workspace-intro,
body[data-tab="account"] .control-panel,
body[data-tab="pdf"] .workspace-intro,
body[data-tab="pdf"] .control-panel{display:none}
body[data-tab="account"] .global-search,
body[data-tab="pdf"] .global-search{display:none}
body[data-tab="account"] main,
body[data-tab="pdf"] main{padding-top:clamp(24px,4vw,52px)}
#tab-account .account-head,
#tab-pdf .account-head{position:relative;overflow:hidden;margin:0 auto 22px;padding:24px 28px 22px;border:1px solid;border-radius:12px}
#tab-account .account-head{max-width:920px;border-color:#664251;background:radial-gradient(ellipse at 92% 10%,#87364b2b,transparent 38%),linear-gradient(118deg,#211720,#2a1d28 55%,#34222c);box-shadow:inset 0 1px #ffffff10,0 16px 36px #0003}
#tab-pdf .account-head{border-color:#675248;background:radial-gradient(ellipse at 92% 5%,#a17a3b24,transparent 36%),linear-gradient(118deg,#211a20,#2a2028 56%,#34262b);box-shadow:inset 0 1px #ffffff10,0 16px 36px #0003}
#tab-account .account-head:after,#tab-pdf .account-head:after{left:28px;bottom:0;width:124px;height:2px}
#tab-account .account-head:after{background:linear-gradient(90deg,#cb718b,#a97891,#c4a67b)}
#tab-pdf .account-head:after{background:linear-gradient(90deg,#c9a56c,#b87988,#d1b27c)}
#tab-account .account-head .eyebrow{color:#d89bae}
#tab-account .account-head h1,#tab-pdf .account-head h1{margin:5px 0 7px;color:#f1e8ed;font-size:clamp(25px,3vw,32px);letter-spacing:.02em}
#tab-account .account-head p,#tab-pdf .account-head p{max-width:760px;margin:0;color:#c7b7c0;font-size:14px;line-height:1.75}
#tab-pdf .account-head .eyebrow{color:#d8bd91}
#tab-account .account-layout{width:min(100%,780px);margin-inline:auto}
#tab-account .account-panel{padding:24px 26px;border-color:#59404d;border-radius:12px;background:radial-gradient(ellipse at 100% 0,#71324720,transparent 38%),linear-gradient(145deg,#1b151d,#17141b 68%,#211821);box-shadow:0 18px 42px #0003}
#tab-account .account-panel .panel-title{border-color:#493541}
#tab-account .account-panel .panel-title:before{border-color:#c87791;box-shadow:0 0 9px #c8779144}
#tab-account .account-panel .panel-title h2{color:#f0e8ee}
#tab-account .account-panel .panel-title span{color:#c7a3b0}
#tab-account .account-panel label{color:#c8bbc4}
#tab-account .account-panel input{border-color:#57404e;background:#211a23}
#tab-account .account-panel input:focus{border-color:#c87590;box-shadow:0 0 0 2px #c8759033}
#tab-account .account-panel .primary{border-color:#9f3156;background:linear-gradient(105deg,#8d2e50,#a83b5e);color:#fff0f3}
#tab-account .account-panel .primary:hover{background:linear-gradient(105deg,#a83b5e,#bd4c6d)}
#tab-account .account-panel .secondary{border-color:#674b5a;background:#29212b;color:#dfb8c5}
#tab-account .account-panel .text-button,#tab-account .account-panel a{color:#e08ca3}
#tab-account .account-identity{border-color:#70485b;background:linear-gradient(125deg,#30202c,#251d28)}
#tab-account .account-identity strong{color:#f5e6ec}
#tab-pdf .pdf-panel{padding:24px 26px;border-color:#5b4950;border-radius:12px;background:radial-gradient(ellipse at 100% 0,#8a624015,transparent 40%),linear-gradient(145deg,#1c171d,#19151c 62%,#231b21);box-shadow:0 18px 42px #0003}
#tab-pdf .pdf-panel .panel-title{border-color:#4a3b44}
#tab-pdf .pdf-panel .panel-title:before{border-color:#c7a46e;box-shadow:0 0 8px #c7a46e33}
#tab-pdf .pdf-panel .panel-title h2{color:#f0e9ec}
#tab-pdf .pdf-panel .panel-title span{color:#d0b783}
#tab-pdf .pdf-panel .help{color:#bfb2bb}
#tab-pdf .pdf-panel label{color:#d0c4ca}
#tab-pdf .pdf-panel input{border-color:#58434e;background:#211a23}
#tab-pdf .pdf-panel input:focus{border-color:#c6a36c;box-shadow:0 0 0 2px #c6a36c2b}
#tab-pdf .pdf-panel .primary{border-color:#a27e4e;background:linear-gradient(105deg,#76543e,#956d4a);color:#fff5e8}
#tab-pdf .pdf-panel .primary:hover{background:linear-gradient(105deg,#8b6349,#a77d54)}
#tab-pdf .pdf-entry{border-color:#57444d;background:linear-gradient(100deg,#261d25,#211a22)}
#tab-pdf .pdf-entry-name{color:#eee5eb}
#tab-pdf .pdf-entry-meta{color:#ccb98f}
#tab-pdf .pdf-entry button{border-color:#68514c;background:#2b2228;color:#e0c394}
#tab-pdf .pdf-empty{border-color:#594650;background:linear-gradient(135deg,#1a151c,#211921);color:#bcaeb8}
#tab-pdf #pdf-viewer{min-height:520px;border-color:#77616a;border-radius:9px;box-shadow:0 9px 26px #0004}
@media(max-width:700px){
  body[data-tab="account"] main,body[data-tab="pdf"] main{padding-top:18px}
  #tab-account .account-head,#tab-pdf .account-head{padding:19px 18px 18px;margin-bottom:15px;border-radius:10px}
  #tab-account .account-head:after,#tab-pdf .account-head:after{left:18px}
  #tab-account .account-head p,#tab-pdf .account-head p{font-size:13px}
  #tab-account .account-panel,#tab-pdf .pdf-panel{padding:18px 16px;border-radius:10px}
  #tab-pdf #pdf-viewer{min-height:380px}
}

/* Navigation drawer: hidden by default and opened on demand. */
.site-sidebar{
  position:fixed;z-index:61;inset:0 auto 0 0;width:min(296px,calc(100vw - 72px));height:100dvh;
  display:flex;flex-direction:column;overflow-y:auto;overscroll-behavior:contain;
  transform:translateX(-105%);visibility:hidden;pointer-events:none;
  transition:transform .24s cubic-bezier(.2,.75,.25,1),visibility 0s linear .24s;
  background:linear-gradient(180deg,#17121b 0%,#100e15 48%,#121118 100%);
  box-shadow:16px 0 42px #0009;border-right:1px solid #604452;
}
body.sidebar-open .site-sidebar{transform:translateX(0);visibility:visible;pointer-events:auto;transition:transform .24s cubic-bezier(.2,.75,.25,1),visibility 0s}
.sidebar-backdrop{position:fixed;z-index:60;inset:0;width:100%;height:100%;padding:0;border:0;border-radius:0;background:rgba(5,6,10,.34);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility 0s linear .2s;backdrop-filter:none}
body.sidebar-open .sidebar-backdrop{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .2s ease,visibility 0s}
.sidebar-open-trigger{display:grid;place-items:center;flex:none;width:42px;height:42px;padding:0;border:1px solid #65505e;border-radius:9px;background:linear-gradient(145deg,#2b202c,#1b1720);color:#f0c4d2;cursor:pointer;box-shadow:inset 0 1px #ffffff12,0 3px 10px #0003;transition:background .16s,border-color .16s,transform .16s}
.sidebar-open-trigger:hover{background:#392430;border-color:#bd7891;transform:translateY(-1px)}
.sidebar-open-trigger svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.sidebar-toggle{display:grid!important;place-items:center;position:absolute;right:16px;top:50%;transform:translateY(-50%);width:36px;height:36px;padding:0;border:1px solid #594454;border-radius:8px;background:#211a24;color:#e8c0cc;cursor:pointer}
.sidebar-toggle:hover{background:#39232f;border-color:#bb758d}
.sidebar-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.site-sidebar .brand{position:relative;flex:none;padding-right:58px}
.site-sidebar nav{flex-direction:column;align-items:stretch;gap:7px;padding:28px 14px;overflow:visible;border-top:0}
.site-sidebar .nav{width:100%;min-width:0;flex:none;justify-content:flex-start;gap:13px;padding:0 13px;border-left:1px solid transparent;border-bottom:0;border-radius:6px;font-size:14px;white-space:normal}
.site-sidebar .nav.active{border-left-color:#e97895;border-bottom-color:transparent}
.sidebar-tail{display:flex}
.topbar{width:100%;margin-left:0;height:auto;position:relative;z-index:2}
.top-inner{width:100%;max-width:none;min-height:74px;gap:14px;padding:0 clamp(16px,2vw,34px)}
main{width:100%;max-width:none;margin:0;padding:30px clamp(18px,2.5vw,46px) 80px;transition:none}
.global-search{flex:1;width:auto;max-width:none;min-width:0}
body.sidebar-open{overflow:hidden}
.sidebar-open-trigger:focus-visible,.sidebar-toggle:focus-visible,.site-sidebar .nav:focus-visible{outline:1px solid #d7c2a3;outline-offset:2px;box-shadow:0 0 0 4px #d7c2a31a}
@media(max-width:820px){
  .site-sidebar{width:min(260px,78vw);height:100dvh;border-right:1px solid #604452;border-bottom:0}
  .site-sidebar .brand{height:82px;padding:0 58px 0 22px}
  .site-sidebar nav{display:flex;flex-direction:column;gap:7px;padding:26px 14px;overflow:visible;border-top:0}
  .site-sidebar .nav{width:100%;min-width:0;min-height:48px;flex:none;justify-content:flex-start;gap:13px;padding:0 13px;border-left:1px solid transparent;border-bottom:0;font-size:14px}
  .site-sidebar .nav.active{border-left-color:#e97895;border-bottom-color:transparent}
  .sidebar-toggle{display:grid!important}
  .sidebar-tail{display:flex}
  .topbar{width:100%;height:56px;margin:0;top:0}
  .top-inner{min-height:55px;padding:0 14px;flex-wrap:nowrap;gap:10px}
  .sidebar-open-trigger{width:38px;height:38px}
  .global-search{flex:1;width:auto;min-width:0}
  main{width:100%;margin:0;padding:17px 14px 56px}
}
@media(max-width:560px){
  .site-sidebar{width:min(260px,78vw)}
  .site-sidebar .brand{height:75px;padding-right:58px}
  .site-sidebar nav{display:flex;flex-direction:column;overflow:visible;scroll-snap-type:none}
  .site-sidebar .nav{flex:none;min-width:0;scroll-snap-align:none;font-size:14px}
  .topbar{height:50px}
  .top-inner{min-height:49px;padding:0 10px;gap:8px}
  .sidebar-open-trigger{width:36px;height:36px}
  .global-search{height:34px}
  .global-search input{height:30px;font-size:11px}
  main{padding:15px 12px 50px}
}
@media(prefers-reduced-motion:reduce){.site-sidebar,.sidebar-backdrop,.sidebar-open-trigger{transition:none}}

/* Keep the Windows desktop's native course menu and its grouped rows dark. */
#course{color-scheme:dark}
#course optgroup,#course option{background-color:#241d28;color:#f2e9ee}
#course optgroup{font-weight:700}
/* Model coverage uses the same surface as the character table. */
#character-pending { margin-top: 18px; border-top: 1px solid rgba(198,171,156,.24); padding-top: 14px; }
#character-pending summary { cursor: pointer; font-size: 1rem; font-weight: 600; color: #d8c6b9; }
#character-pending .table-wrap { margin-top: 12px; max-height: 420px; overflow: auto; }
#character-pending table { min-width: 680px; width: 100%; }
#character-pending th { background: rgba(178,141,111,.12) !important; color: #e0cec0; }
#character-pending td { vertical-align: top; line-height: 1.65; }
#character-pending td:first-child { min-width: 220px; }
#character-pending td:last-child { min-width: 280px; overflow-wrap: anywhere; }
#character-pending td small { display: block; opacity: .72; }
#character-pending tr[data-id] { cursor: pointer; }

.mechanism-controls {grid-column:1/-1;border-top:1px solid rgba(198,171,156,.25);padding:16px 0;margin-top:6px;}
.mechanism-controls summary {cursor:pointer;color:#d8c6b9;font-weight:600;}
.mechanism-controls .scenario-grid {margin:16px 0;}
.mechanism-controls textarea {width:100%;min-height:140px;resize:vertical;font:inherit;font-family:ui-monospace,monospace;line-height:1.6;color:inherit;background:rgba(32,29,37,.92);border:1px solid rgba(198,171,156,.32);border-radius:6px;padding:12px;box-sizing:border-box;}
/* Inspectable skill records within the character composition. */
.part-audit{border-bottom:1px solid #4c3c4a;min-width:0}
.part-audit:last-child{border-bottom:0}
.part-audit>summary.part{cursor:pointer;list-style:none;border-bottom:0;align-items:center;min-height:68px}
.part-audit>summary::-webkit-details-marker{display:none}
.part-audit>summary:hover,.part-audit[open]>summary{background:linear-gradient(100deg,#332630,#26222c)}
.part-audit>summary:focus-visible{outline:2px solid #d6a7b4;outline-offset:-3px}
.part-open-hint{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:400;color:#b6a6b1;margin-top:6px}
.part-open-hint i{display:inline-block;font-style:normal;font-size:17px;transition:transform .15s}
.part-audit[open] .part-open-hint i{transform:rotate(180deg)}
.skill-source-panel{padding:20px;background:linear-gradient(135deg,#211e28,#241e26);border-top:1px solid #574351;min-width:0;color:#e8dfe5}
.skill-source-caption{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12px;color:#bda4af;letter-spacing:.035em}
.skill-source-description{font-size:15px;line-height:1.85;margin:14px 0 20px;color:#eee7eb;overflow-wrap:anywhere}
.skill-source-branch{border-top:1px solid #51404d;padding:17px 0 5px;margin-top:14px;min-width:0}
.skill-source-branch-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:13px}
.skill-source-branch-head strong{font-size:14px;color:#e4bbbf}.skill-source-branch-head>span{font-size:12px;color:#bcaab6}
.skill-source-timing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 15px}
.skill-source-timing>div{padding:12px;background:#2b2630;border:1px solid #51414e;border-radius:5px;min-width:0}
.skill-source-timing span,.skill-source-timing small{display:block;font-size:11px;color:#bcaab5;line-height:1.5}
.skill-source-timing b{display:block;font-variant-numeric:tabular-nums;font-size:16px;color:#e7c5ad;margin:5px 0;font-weight:600;overflow-wrap:anywhere}
.skill-source-effects{overflow-x:auto;border:1px solid #51414e;border-radius:5px;max-width:100%}
.skill-source-effects table{width:100%;min-width:370px;border-collapse:collapse;font-size:13px;background:transparent;table-layout:auto}
.skill-source-effects th,.skill-source-effects td{padding:11px 12px;border-bottom:1px solid #443641;text-align:left;white-space:normal;background:transparent;color:#e5dbe1}
.skill-source-effects thead th{font-size:11px;color:#bda6b4;background:#2c2530;font-weight:500}
.skill-source-effects tbody tr:last-child>*{border-bottom:0}.skill-source-effects td small{display:block;color:#cfb69c;font-size:11px;margin-top:5px}
.skill-source-effects td:last-child{color:#a9d1c6;font-variant-numeric:tabular-nums}
.skill-source-code{display:grid;gap:10px;margin:16px 0 10px}
.skill-source-code>div{display:grid;grid-template-columns:70px minmax(0,1fr);gap:10px;align-items:start}
.skill-source-code dt{font-size:12px;color:#bda7b3;line-height:1.8}.skill-source-code dd{margin:0;min-width:0}
.skill-source-code code{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.85 Consolas,'Cascadia Code',monospace;color:#c7c2d0;background:#1a1821;padding:7px 10px;border-left:2px solid #78616f;border-radius:2px}
.skill-source-ranks,.skill-source-footnote{font-size:12px;color:#b7a7b3;line-height:1.8;margin:12px 0}
.skill-source-raw{border-top:1px solid #51414e;margin-top:14px;padding-top:10px}
.skill-source-raw summary{cursor:pointer;font-size:12px;color:#c5aebc;padding:5px 0}
.skill-source-raw pre{max-height:340px;overflow:auto;background:#17161e;color:#c7c2d0;font:12px/1.7 Consolas,monospace;padding:15px;border:1px solid #443641;border-radius:4px;tab-size:2}
@media(max-width:650px){.skill-source-panel{padding:14px}.skill-source-description{font-size:14px}.skill-source-timing{grid-template-columns:1fr 1fr}.skill-source-timing>div:last-child{grid-column:1/-1}.skill-source-code>div{grid-template-columns:1fr;gap:3px}.part-open-hint{font-size:10px}.skill-source-caption{font-size:11px}}

/* Numeric values cover longitudinal effects; lateral benefit stays unquantified. */
.partial-longitudinal{display:block;color:#ffd16b!important;font-size:.82rem;font-weight:700;line-height:1.5;margin-top:.35rem;white-space:normal}.tag+.partial-longitudinal{max-width:18rem}.number .partial-longitudinal{font-variant-numeric:normal}

.lane-source-demo{padding:1rem;margin:1rem 0;border:1px solid #6d5c42;background:#26242b;border-radius:8px}.lane-source-demo h4{margin:0 0 .7rem;color:#ffd16b}.lane-source-demo svg{display:block;width:100%;max-width:560px}.lane-source-demo svg text{fill:#e2d9de;font:11px sans-serif}.lane-source-demo p{font-size:.83rem;line-height:1.7;color:#d4cbd2}.lane-source-demo dl{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.lane-source-demo dd{text-align:right;font-variant-numeric:tabular-nums}.unique-level-panel p{line-height:1.8}.unique-level-panel details{margin-top:1rem}.unique-level-panel summary{cursor:pointer;color:#ffd16b}

.scenario-assumption-label{display:block;color:#ffca79!important;font-size:.8rem;line-height:1.55;margin-top:.4rem}.skill-scenario-conditions{padding:1rem;margin:1rem 0;border:1px solid #887146;background:#28242b;border-radius:8px}.skill-scenario-conditions h4{margin:0 0 .7rem;color:#ffd16b}.skill-scenario-conditions h5{margin:1rem 0 .5rem}.skill-scenario-conditions ul{padding-left:1.3rem}.skill-scenario-conditions p,.skill-scenario-conditions li,.skill-scenario-conditions dd{font-size:.85rem;line-height:1.75}.skill-scenario-conditions dl>div{display:grid;grid-template-columns:8rem 1fr;gap:.5rem;margin:.5rem 0}.skill-scenario-conditions dd{margin:0}.buff-target-note{color:#7de6d4!important;font-size:.8rem}.portrait-cell{position:relative}.portrait-buff{display:block;width:max-content;margin:.2rem auto 0;padding:1px 5px;border:1px solid #77d7b6;border-radius:4px;background:#193e36;color:#a2ffe1;font:700 .62rem/1.3 sans-serif;letter-spacing:.08em}.character-detail-head>.portrait-buff{margin:0;align-self:center}@media(max-width:600px){.skill-scenario-conditions dl>div{grid-template-columns:1fr}.scenario-assumption-label{font-size:.75rem}}

.skill-scenario-conditions table thead th,.unique-level-panel table thead th{background:#353039!important;color:#efdbb7!important;border-color:#645347!important}.skill-scenario-conditions table td{background:transparent!important}.character-name .scenario-assumption-label{white-space:normal;max-width:32rem}.character-name .rank-risk-label{white-space:normal}
