@charset "UTF-8";
:root{color-scheme:light;--paper:#f5f3ec;--white:#fffef9;--ink:#263c39;--muted:#72817b;--teal:#176b67;--teal-dark:#11534f;--mint:#e7efea;--line:#dfe3d9;--gold:#aa7740;--shadow:0 4px 18px #2d443506;--serif:"Songti SC","STSong","Noto Serif SC",serif;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.7 var(--sans);-webkit-font-smoothing:antialiased}a{color:var(--teal);text-decoration:none}a:hover{color:var(--teal-dark)}button,input,select{font:inherit}button,a,input,select,summary{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}img{max-width:100%;object-fit:contain}h1,h2,h3,p,ul,dl{margin:0}h1{font:600 clamp(30px,3.5vw,44px)/1.4 var(--serif);letter-spacing:.03em}h2{font:600 23px/1.5 var(--serif);margin-bottom:20px}h3{font-size:17px;font-weight:650;line-height:1.6}p{white-space:pre-line}strong{font-weight:650}[hidden]{display:none!important}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid #4caaa2;outline-offset:4px}main:focus{outline:none}.skip-link{position:fixed;left:20px;top:-80px;padding:12px 20px;background:var(--teal);color:white;z-index:30}.skip-link:focus{top:12px}.site-header{min-height:100px;max-width:1480px;margin:auto;padding:24px 5%;display:flex;gap:40px;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0;color:var(--ink)}.brand-seal{font:28px var(--serif);border:1px solid var(--teal);background:var(--teal);color:#faf8ec;border-radius:9px 2px 9px 2px;width:46px;height:48px;display:grid;place-items:center;box-shadow:inset 0 0 0 3px var(--paper)}.brand strong{font:650 22px var(--serif);letter-spacing:.12em;display:block}.brand small{display:block;color:var(--muted);font-size:10px;letter-spacing:.08em;margin-top:4px}nav{display:flex;align-items:center;gap:5px;flex:1}nav a{padding:10px 15px;border-radius:7px;color:#5f7069;white-space:nowrap;font-size:14px}nav a:hover{background:#e9eee6}nav a.active{background:var(--teal);color:#fffdf3}.header-note{font-size:11px;color:var(--muted);white-space:nowrap}.site-footer{max-width:1320px;margin:64px auto 0;padding:28px 28px 36px;border-top:1px solid var(--line);display:flex;gap:24px;justify-content:space-between;font-size:11px;color:var(--muted)}main{max-width:1264px;margin:auto;padding:0 28px;min-height:65vh}.page-hero{padding:48px 0 38px;display:flex;align-items:center;justify-content:space-between;gap:32px}.eyebrow{color:var(--teal);font-size:10px;font-weight:650;letter-spacing:.13em;margin-bottom:12px}.intro{color:var(--muted);font-size:14px;line-height:1.9;max-width:700px;margin-top:14px}.hero-stats{display:flex;gap:36px;flex-shrink:0;padding:24px 0 24px 34px;border-left:1px solid #d4dbce}.stat{display:flex;flex-direction:column;gap:3px;min-width:0}.stat strong{font:500 31px/1.4 var(--serif);color:var(--teal);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.stat span{font-size:11px;color:var(--muted);letter-spacing:.04em}.filter-bar{display:flex;gap:20px;padding:22px 24px;background:var(--white);border:1px solid var(--line);border-radius:11px;box-shadow:var(--shadow);align-items:end}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span{font-size:11px;font-weight:600;color:#62736b;letter-spacing:.05em}.field input,.field select{height:44px;min-width:0;max-width:100%;padding:0 13px;background:#fafbf6;color:var(--ink);border:1px solid #dce2d8;border-radius:6px;transition:border-color .2s}.field input::placeholder{color:#98a29c}.field input:focus,.field select:focus{border-color:var(--teal)}.search-field{flex:1}.filter-bar .field:not(.search-field){width:155px}.results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:24px 2px 16px}.result-count{color:#64746d;font-size:12px}.result-count strong{color:var(--teal);font-size:18px;margin-right:5px}.text-button{border:0;background:transparent;padding:4px 0;color:var(--teal);font-size:12px}.artifact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.artifact-card{display:flex;flex-direction:column;min-width:0;padding:21px 18px 14px;background:var(--white);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);color:var(--ink);transition:transform .18s,border-color .18s,box-shadow .18s}.artifact-card:hover{color:var(--ink);border-color:#a0c0ae;box-shadow:0 8px 24px #244b3c0c;transform:translateY(-3px)}.card-top{display:flex;align-items:center;gap:13px}.artifact-icon{position:relative;flex:0 0 72px;width:72px;height:76px;display:grid;place-items:center;background:radial-gradient(ellipse,#f4f5e9 10%,#e9ece1 75%);border:1px solid #dae1d2;border-radius:14px 4px 14px 4px;overflow:hidden}.artifact-icon img{position:relative;z-index:1;object-fit:contain;filter:drop-shadow(0 4px 3px #00000015)}.icon-fallback{position:absolute;font:32px var(--serif);color:#a9b6a5}.quality-2{background:radial-gradient(ellipse,#f0f7dc,#e7eee0);border-color:#d2dfbd}.quality-3{background:radial-gradient(ellipse,#eff5fc,#e0e9ef);border-color:#c6d7e0}.quality-4{background:radial-gradient(ellipse,#f5f1fb,#e8e3f0);border-color:#d8cce3}.quality-5{background:radial-gradient(ellipse,#fcf5df,#f0e8d2);border-color:#e2d2a5}.quality-6{background:radial-gradient(ellipse,#fcece4,#efded5);border-color:#e6c1af}.quality-7{background:radial-gradient(ellipse,#fce3e7,#eed7db);border-color:#ddb1bc}.card-heading{min-width:0}.card-heading h3{margin:5px 0 2px;font:600 19px/1.5 var(--serif);overflow-wrap:anywhere}.card-heading p{font-size:11px}.badge{display:inline-block;padding:2px 8px;background:#edf1e9;border:1px solid #e2e8dc;border-radius:4px;font-size:10px;line-height:1.6;color:#627260;vertical-align:middle}.quality-text-3{background:#edf3f7;color:#5b8297;border-color:#dce8f0}.quality-text-4{background:#f0eaf7;color:#8a6ca0;border-color:#e7dcf0}.quality-text-5{background:#f6edd8;color:#a58037;border-color:#eee0ba}.quality-text-6,.quality-text-7{background:#f8e9df;color:#b56a4c;border-color:#efd9c7}.amber{background:#faf0dc;border-color:#ead9b5;color:#966e33}.card-tags{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin-top:16px}.card-desc{font-size:12px;line-height:1.8;color:#7c8880;margin-top:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:44px}.card-bottom{display:flex;justify-content:space-between;align-items:center;gap:5px;margin-top:auto;padding-top:15px;font-size:10px;color:#8b978d}.card-bottom>span:last-child{color:var(--teal);white-space:nowrap}.muted{color:var(--muted)}.small{font-size:11px}.label{font-size:11px;font-weight:600;color:#64756a;margin-bottom:8px}.empty{grid-column:1/-1;min-height:240px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;text-align:center;background:#fafbf6;border:1px dashed #d0dbcc;border-radius:10px;color:var(--muted);padding:30px}.empty>span{font-size:38px;color:#9eb2a1}.empty h3{color:#5d7469}.panel{margin-top:22px;background:var(--white);padding:28px 30px;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);min-width:0}.panel>p+.table-scroll,.panel>.notice+*,.panel>h3,.panel>.calculator-grid+*{margin-top:22px}.panel>p+p,.panel>.table-scroll+p{margin-top:14px}.notice{border:1px solid #d4e3d9;border-left:3px solid #6e9c88;background:#edf3e9;padding:14px 18px;border-radius:6px;color:#5e786a;font-size:12px;line-height:1.9;margin:18px 0}.notice.warning{background:#faf2e3;border-color:#eddfc4;border-left-color:#c69c5b;color:#8e754c}.back-link{display:inline-block;margin-top:28px;font-size:12px}.detail-hero{display:flex;align-items:center;gap:30px;padding:30px 0}.artifact-icon.large{width:142px;height:150px;flex-basis:142px;border-radius:24px 5px 24px 5px}.detail-title{min-width:0;flex:1}.detail-title .card-tags{margin-top:0;margin-bottom:12px}.detail-title .intro{font-size:13px;max-width:850px}.detail-links{display:flex;gap:24px;margin-top:16px;font-size:11px}.detail-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:25px 30px;background:var(--mint);border:1px solid #d9e4d8;border-radius:9px}.detail-stats .stat{padding-left:28px;border-left:1px solid #d3dfd1}.detail-stats .stat:first-child{padding-left:0;border-left:0}.detail-stats .stat strong{font-size:25px}.attribute-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 25px;margin:18px 0}.attribute-list div{display:flex;justify-content:space-between;gap:15px;padding-bottom:9px;border-bottom:1px dashed #e2e7dd;min-width:0}.attribute-list dt{color:var(--muted);font-size:12px;flex-shrink:0}.attribute-list dd{font-size:12px;text-align:right;margin:0;overflow-wrap:anywhere}.table-scroll{width:100%;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;border:1px solid var(--line);border-radius:6px;margin-top:16px}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left;min-width:660px}th{background:#edf2e8;color:#657663;font-size:11px;letter-spacing:.03em;padding:13px 15px;font-weight:600}td{padding:16px 15px;vertical-align:top;border-top:1px solid #e7eade;min-width:110px;max-width:350px;overflow-wrap:anywhere}tr:nth-child(even) td{background:#fbfcf7}td .cost-list{min-width:200px}.cost-list{display:flex;flex-wrap:wrap;gap:7px}.cost{display:inline-flex;align-items:baseline;gap:8px;padding:5px 9px;background:#f0f3eb;border:1px solid #e5eadf;border-radius:5px;font-size:11px;color:#5b7162;overflow-wrap:anywhere;max-width:100%}.cost strong{white-space:nowrap;font-size:11px;color:var(--teal);font-variant-numeric:tabular-nums}.text-link{text-decoration:underline;text-decoration-color:#a8c5b5;text-underline-offset:3px}.calculator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}.calculator{background:#f8faf3;padding:22px;border:1px solid #dce4d7;border-radius:9px}.calculator>p{margin-top:8px}.calc-controls{display:flex;gap:15px;align-items:flex-end;margin:20px 0}.calc-controls .field{flex:1}.range-arrow{height:44px;display:grid;place-items:center;color:#98ac9a}.calc-result{border-top:1px solid #dce5d6;padding-top:18px}.calc-result>.small{margin-top:12px}.calc-result.error{color:#a14732;background:#fff1e9;border:1px solid #ebcabb;padding:16px;border-radius:5px}.calc-result .notice{margin-bottom:0}.recipe-grid,.custom-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.recipe-card{background:#fafbf6;padding:22px;border:1px solid #e0e6d9;border-radius:9px;min-width:0}.section-line{display:flex;justify-content:space-between;gap:16px;align-items:start}.section-line h3{overflow-wrap:anywhere}.section-line>.badge{flex-shrink:0}.recipe-output{color:#6a7d6c;font-size:12px;margin:10px 0 16px}.recipe-output>.badge{margin-left:10px}.ingredients{padding:0;list-style:none}.ingredient{padding:12px 0;border-top:1px dashed #dce3d4}.ingredient-title{display:flex;justify-content:space-between;gap:20px;font-size:13px}.ingredient-title strong{white-space:nowrap;color:#547865}.ingredient .muted{font-size:11px;margin-top:5px}.recipe-fees{border-top:1px solid #dce4d6;padding-top:14px;margin-top:8px}.recipe-card>p.small{margin:16px 0 10px}.route-list{margin-top:10px}.route-item{display:flex;gap:12px;align-items:center;flex-wrap:wrap;border-bottom:1px solid #e5eade;padding:11px 0;font-size:13px}.route-item:last-child{border:0}.route-item>a:last-child{margin-left:auto}.route-arrow{color:#91a58c}.raw-text{font:11px/1.8 ui-monospace,SFMono-Regular,monospace;background:#edf0e8;padding:12px;overflow-wrap:anywhere;margin:10px 0}summary{cursor:pointer;color:var(--teal);font-size:12px;line-height:1.8}details.panel>summary{font-size:15px;font-weight:600}details>p{margin-top:12px}.button{display:inline-block;padding:10px 16px;border:1px solid var(--teal);border-radius:6px;background:var(--teal);color:white;text-align:center;font-size:12px}.button:hover{background:var(--teal-dark);color:white}.button.secondary{background:#f8fbf3;color:var(--teal);border-color:#cddfcf}.button.secondary:hover{background:#e6f0e3;border-color:#a3c3ab}.download-list{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.realm-controls{max-width:760px}.realm-totals{display:flex;gap:65px;margin:8px 0 25px}.realm-totals .stat strong{font-size:30px}.check-field{display:flex;align-items:center;gap:9px;font-size:12px;color:#56755e;margin-bottom:15px}.check-field input{width:17px;height:17px;accent-color:var(--teal)}.standalone-search{max-width:760px;margin:28px 0 5px}.resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.resource-card{background:var(--white);border:1px solid var(--line);padding:23px;border-radius:9px;min-width:0}.resource-description{font-size:12px;color:var(--muted);margin:12px 0 18px;overflow-wrap:anywhere}.usage-details{border-top:1px solid #e4e9dc;padding:11px 0}.usage-list{padding:10px 0 0 18px;font-size:12px}.usage-list li{padding:5px 0}.usage-details .route-item{font-size:12px}.load-more{text-align:center;margin-top:30px}.compact{grid-template-columns:1fr;margin:17px 0}.custom-grid .cost{font-size:10px}.document-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:24px}.document-links a{padding:12px 15px;background:#f1f5eb;border:1px solid #e2e8db;border-radius:6px;font-size:12px}.hash-value{font:12px/1.8 ui-monospace,SFMono-Regular,monospace;overflow-wrap:anywhere;color:#74846f}.prose-list{padding-left:22px;font-size:13px;line-height:2;color:#677a68}.prose-list li{margin-bottom:12px}.standalone-recipe{max-width:850px;margin:24px 0}.loading{padding:80px;text-align:center;color:var(--muted)}
@media(min-width:1440px){.artifact-grid{gap:20px}.artifact-card{padding:23px 20px 17px}}
@media(max-width:1140px){.site-header{gap:22px;padding:20px 28px}.header-note{display:none}nav{justify-content:flex-end}nav a{padding:9px 11px;font-size:13px}.hero-stats{gap:23px;padding-left:25px}.artifact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.attribute-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){.site-header{flex-wrap:wrap;padding:20px 24px 15px;gap:18px}.brand{width:100%}nav{justify-content:flex-start;gap:8px;flex-wrap:wrap}nav a{padding:7px 13px;font-size:12px}.page-hero{align-items:start;padding-top:34px;flex-direction:column;gap:24px}.hero-stats{padding:0;border:0;gap:40px}.hero-stats .stat strong{font-size:27px}.filter-bar{gap:14px;padding:18px;flex-wrap:wrap}.filter-bar .search-field{flex-basis:100%}.filter-bar .field:not(.search-field){flex:1;width:auto}.artifact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card-top{gap:11px}.card-heading h3{font-size:18px}.calculator-grid,.recipe-grid,.custom-grid{grid-template-columns:1fr}.panel{padding:24px}.detail-stats{padding:22px}.detail-stats .stat{padding-left:16px}.detail-stats .stat strong{font-size:20px}.resource-grid{grid-template-columns:1fr}.site-footer{flex-wrap:wrap;gap:10px 24px;margin-top:44px}.site-footer>span:nth-child(2){flex-basis:100%;order:3}.detail-hero{gap:22px}.artifact-icon.large{width:110px;height:120px;flex-basis:110px}.detail-title h1{font-size:32px}}
@media(max-width:520px){body{font-size:13px}main{padding:0 16px}.site-header{padding:18px 16px 14px}.brand-seal{width:39px;height:42px;font-size:25px}.brand strong{font-size:20px}.brand small{font-size:9px}nav{gap:4px}nav a{padding:7px 9px;font-size:11px}.page-hero{padding:30px 0 27px}.page-hero h1{font-size:30px}.eyebrow{font-size:9px;letter-spacing:.08em}.intro{font-size:12px;margin-top:11px}.hero-stats{width:100%;justify-content:space-between;gap:20px;padding-right:12px}.hero-stats .stat strong{font-size:25px}.hero-stats .stat span{font-size:10px}.filter-bar{padding:14px;gap:12px}.field input,.field select{font-size:13px;height:42px;padding:0 10px}.field input[type=search]{font-size:12px}.results-toolbar{padding-top:20px}.result-count{font-size:11px}.result-count>span{display:none}.artifact-grid{gap:10px}.artifact-card{padding:14px 12px 11px}.card-top{flex-direction:column;align-items:flex-start;gap:10px}.artifact-icon{width:62px;height:65px;flex-basis:65px}.artifact-icon img{width:60px;height:60px}.card-heading h3{font-size:18px;margin:5px 0 1px}.card-heading p{font-size:10px}.card-tags{gap:4px;margin-top:11px}.badge{font-size:9px;padding:2px 5px}.card-desc{font-size:11px;min-height:39px;margin-top:10px}.card-bottom{font-size:9px;display:block;line-height:1.9;padding-top:11px}.card-bottom>span{display:block}.card-bottom>span:last-child{margin-top:4px}.panel{padding:20px 16px;margin-top:16px}h2{font-size:21px;margin-bottom:15px}h3{font-size:16px}.detail-hero{align-items:flex-start;gap:16px;padding:24px 0;flex-wrap:wrap}.artifact-icon.large{width:85px;height:94px;flex-basis:85px}.artifact-icon.large img{width:82px;height:86px}.detail-title{flex-basis:200px}.detail-title h1{font-size:29px}.detail-title .intro{font-size:12px}.detail-links{font-size:10px;gap:16px}.detail-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:20px}.detail-stats .stat:nth-child(3){border:0;padding-left:0}.detail-stats .stat strong{font-size:21px}.detail-stats .stat span{font-size:10px}.attribute-list{grid-template-columns:1fr;gap:13px}.attribute-list dt,.attribute-list dd{font-size:11px}.notice{font-size:11px;padding:12px 14px}.calculator{padding:18px 14px}.calc-controls{gap:10px}.calculator-grid{gap:14px}.cost{font-size:10px;gap:6px;padding:4px 7px}.cost strong{font-size:10px}.recipe-card{padding:18px 16px}.realm-totals{gap:20px;justify-content:space-between}.realm-totals .stat strong{font-size:25px}.realm-totals .stat span{font-size:9px}.realm-controls .field{min-width:0}.realm-controls select{font-size:12px}.table-scroll{border-radius:4px}table{font-size:11px}th{font-size:10px}td,th{padding:12px}.document-links{grid-template-columns:1fr;gap:9px}.resource-card{padding:20px 17px}.section-line{gap:10px}.download-list .button{font-size:11px;padding:9px 12px}.site-footer{padding:22px 16px 28px;font-size:10px}.back-link{margin-top:20px}.route-item>a:last-child{flex-basis:100%;margin-left:25px}.prose-list{font-size:12px}.empty{padding:24px 16px}.empty p{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Keep player-facing details readable and the main actions close together. */
body{font-size:15px}
main,.site-header,nav,.detail-title,.panel,.calculator,.calc-result{min-width:0}
.page-hero{padding:28px 0 24px;gap:20px}
.page-hero h1{font-size:32px}
.page-hero .intro{margin-top:8px;font-size:15px}
.hero-stats{padding-top:10px;padding-bottom:10px}
.eyebrow{margin-bottom:6px}
.small,.label,.field>span,.card-heading p,.card-bottom,.detail-links,.result-count{font-size:13px}
.badge{font-size:12px}
.card-desc,.notice,.recipe-output,.ingredient .muted,.attribute-list dt,.attribute-list dd,.resource-description,.usage-list,summary{font-size:14px}
.text-button,.button{font-size:14px;min-height:44px}
.text-button{padding:8px 4px}
nav a,.back-link,.detail-links a,summary{min-height:44px;display:inline-flex;align-items:center}
summary{display:flex;gap:8px}
summary::before{content:'＋';flex-shrink:0}
details[open]>summary::before{content:'−'}
summary::-webkit-details-marker{display:none}
.back-link{margin-top:14px;font-size:14px}
.detail-hero{gap:20px;padding:12px 0 8px;align-items:flex-start}
.artifact-icon.large{width:88px;height:94px;flex-basis:88px;border-radius:14px 4px 14px 4px}
.artifact-icon.large img{width:84px;height:90px}
.detail-title .card-tags{margin-bottom:5px}
.detail-title h1{font-size:30px}
.detail-title .intro{font-size:15px;line-height:1.7;margin-top:6px}
.unlock-line{font-size:15px;font-weight:600;color:var(--teal);margin-top:4px}
.panel{padding:24px;margin-top:18px}
.panel h2{font-size:22px;margin-bottom:16px}
.panel>.calculator{margin-top:20px}
.panel>summary+.calculator{margin-top:12px}
.stage-switch{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.stage-chip{min-height:44px;padding:8px 14px;font-size:14px;line-height:1.4;color:var(--teal);border:1px solid #c8d8ce;border-radius:7px;background:#f4f7ef}
.stage-chip[aria-pressed=true]{background:var(--teal);color:var(--white);border-color:var(--teal)}
.ability-rows{margin-bottom:14px}
.ability-row{display:flex;justify-content:space-between;align-items:center;gap:8px 16px;min-height:44px;border-top:1px solid var(--line);padding:0}
.ability-name{font-size:16px;min-height:44px;min-width:0;flex:1 1 5em;display:inline-flex;align-items:center;overflow-wrap:anywhere}
.ability-rating{display:grid;grid-template-columns:auto auto;align-items:center;column-gap:8px;text-align:right;flex-shrink:0;max-width:100%}
.ability-score{display:inline-flex;align-items:baseline;gap:2px;white-space:nowrap;font-variant-numeric:tabular-nums;line-height:1.2}
.ability-current{font-size:18px;font-weight:750;color:var(--ink)}
.ability-capacity{font-size:13px;color:var(--muted)}
.ability-stars{display:inline-flex;white-space:nowrap;line-height:1}
.ability-star{display:inline-block;width:18px;font-size:18px;text-align:center}
.ability-star.is-filled{color:#a16a16}
.ability-star.is-empty{color:#8a9690}
.ability-state{grid-column:1/-1;font-size:12px;line-height:1.2;color:var(--muted)}
.ability-unconfigured{font-size:13px;color:var(--muted)}
.energy-cost{font-size:14px;color:var(--muted);text-align:right}
.ability-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.ability-card{display:flex;flex-direction:column;gap:8px;padding:20px;background:var(--white);border:1px solid var(--line);border-radius:9px;min-width:0;color:var(--ink)}
.ability-card:hover{border-color:#9cb9a8;color:var(--ink)}
.ability-card h2{font-size:21px;margin:0}
.ability-preview{font-size:14px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ability-card>.small:last-child{margin-top:auto;padding-top:6px}
.ability-effects table{min-width:0}
.ability-effects th:first-child,.ability-effects td:first-child{width:100px;min-width:85px}
.ability-effects td:last-child{min-width:0;max-width:none}
.refine-steps{list-style:none;margin:0;padding:0}
.refine-steps>li{border-top:1px solid var(--line);padding:14px 0}
.refine-steps>li:first-child{border-top:0;padding-top:0}
.refine-steps .section-line{align-items:center;flex-wrap:wrap;margin-bottom:9px}
.refine-steps h3{font-size:16px}
.cost{font-size:14px;gap:7px;padding:5px 9px}
.cost strong{font-size:14px}
.custom-grid .cost{font-size:14px}
.cost a{padding:4px 0}
.cost-list{gap:8px}
.calculator{padding:20px}
.calc-controls{margin:16px 0}
.attribute-list{grid-template-columns:repeat(2,minmax(0,1fr))}
.ingredient-title,.route-item{font-size:15px}
.recipe-card>a.text-link,.site-footer>a{min-height:44px;display:inline-flex;align-items:center}
.ingredient-title a,.route-item a{min-height:44px;display:inline-flex;align-items:center}
.ingredient-title{align-items:center}
table{font-size:14px}
th{font-size:13px}
.site-footer{font-size:12px}
.budget-options{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.7fr);gap:10px;align-items:start}
.budget-option{min-width:0;padding:12px;border:1px solid #dce4d7;border-radius:7px;background:var(--white)}
.budget-option>.label{margin-bottom:8px}
.budget-option>.small{margin-top:10px}
.jade-option{background:#f0f5ed}
.jade-budget{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin-bottom:4px}
.jade-budget p{font-size:14px;color:var(--teal)}
.jade-budget strong{font-size:22px;line-height:1.3;font-variant-numeric:tabular-nums}
.jade-budget+.label{margin-top:12px}
.cultivation-tabs{display:flex;gap:8px;padding:14px 0}
.cultivation-tab{flex:1;min-height:44px;padding:8px 12px;border:1px solid #cbdcd0;border-radius:7px;font-size:15px;font-weight:600;color:var(--teal);background:#f4f7ef}
.cultivation-tab[aria-pressed=true]{color:var(--white);background:var(--teal);border-color:var(--teal)}
.progression-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.progression-heading h3{font-size:16px}
.progression-heading .small{font-size:12px;white-space:nowrap}
.progression-overview-wrap>.field{margin-bottom:10px}
.progression-overview-wrap>.field select{width:100%}
.progression-overview{list-style:none;display:flex;gap:20px;padding:2px 0 10px;margin:0;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}
.progression-overview>li{position:relative;display:flex;align-items:flex-start;gap:7px;flex:0 0 156px;min-width:0;padding:10px;background:#f5f8f0;border:1px solid var(--line);border-radius:6px}
.progression-overview>li:not(:last-child)::after{content:'→';position:absolute;right:-18px;top:30px;color:#8da092}
.progression-overview>li>div{min-width:0}
.progression-overview a{display:flex;align-items:center;min-height:40px;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.progression-overview p{font-size:12px;line-height:1.4}
.stage-order{display:inline-grid;place-items:center;flex:0 0 20px;height:20px;border-radius:50%;background:#e4eddf;font-size:12px;line-height:1;color:#68826c;margin-top:2px}
.progression-overview .current-form{border-color:var(--teal);background:#edf5ec}
.current-form-label{display:block;font-size:11px;line-height:1.4;color:var(--teal);margin-top:3px}
.progression-overview .range-active{background:#f6f2e6;border-color:#dfd3b6}
.progression-overview .range-boundary{border-color:#b28d4e}
.range-form-label{display:block;font-size:11px;line-height:1.4;color:#8c6b31;margin-top:3px}
.range-form-label:empty{display:none}
#refinement-view>.calculator{margin:0;background:#f8faf3}
#refinement-view>.small{margin-top:12px}
.refine-step-details{margin-top:12px}
.refine-step-details>.refine-steps{margin-top:10px}
.route-range-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:2px 0 12px}
.route-range-controls>div{display:grid;grid-template-columns:minmax(0,1fr) 95px;gap:10px;min-width:0}
.route-settings{margin:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.route-settings-list{padding-bottom:12px}
.route-setting{padding:10px 0;border-top:1px dashed var(--line)}
.route-setting h4{font-size:14px;line-height:1.5;margin:0 0 8px;overflow-wrap:anywhere}
.route-setting-controls{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:12px}
.route-budget{margin-top:16px}
.route-budget.error{padding:14px;border:1px solid #e5c4a9;border-radius:6px;background:#fff1e6;color:#995337}
.route-range-label{font-size:14px;color:var(--teal);margin:5px 0 12px;overflow-wrap:anywhere}
.route-budget>.small{margin-top:12px}
.extra-artifacts{margin:12px 0;padding:12px;background:#f7f5eb;border:1px solid #e4e2d3;border-radius:6px;font-size:14px}
.extra-artifacts ul{list-style:none;margin:0;padding:0}
.extra-artifacts li{padding:4px 0;overflow-wrap:anywhere}
.extra-artifacts a{display:inline-flex;align-items:center;min-height:36px}
.route-segments-title{margin-top:18px}
.route-segments{list-style:none;padding:0;margin:8px 0 0}
.route-segment{border-top:1px solid var(--line);padding:6px 0}
.route-segment>summary{font-size:15px;line-height:1.5;padding:5px 0}
.route-segment>summary small{display:block;font-size:12px;color:var(--muted);line-height:1.5;margin-top:3px}
.route-segment>summary .route-direct-cost{font-size:13px;color:#4f7060}
.route-segment>summary .high-cost-warning{color:#9a6335}
.route-segment>.budget-options{margin:8px 0 12px}
.route-segment>.small{margin-top:10px}
.route-recipe-link{display:inline-flex;min-height:44px;align-items:center;font-size:14px}
.shared-materials{margin-top:10px}
.final-cultivation{margin-top:4px}
.cost-icon{width:22px;height:22px;object-fit:contain;flex-shrink:0}
.ordinary-costs>summary,.segment-conditions>summary{font-size:12px;min-height:32px;padding:3px 0;color:var(--muted)}
.ordinary-costs .cost-list{padding:5px 0}
.sheli-estimate{font-size:13px;color:var(--teal);margin-top:8px;line-height:1.6}
.compact-segment{padding:12px 0;line-height:1.7}
.compact-segment h4{font-size:15px;color:var(--teal);margin:0 0 3px}
.compact-costs,.segment-jade,.compact-extras{font-size:13px;margin-top:6px}
.segment-jade{font-weight:600;color:var(--teal)}
.compact-segment .sheli-estimate{margin-top:2px;font-size:12px}
.high-cost-warning{color:#9a6335}
.combat-metrics{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;max-width:460px}
.energy-highlight,.power-highlight{border-radius:6px;padding:12px 16px;background:#f0f5eb;border:1px solid var(--line)}
.energy-highlight{background:#185b57;color:#fff;border-color:#185b57}
.energy-highlight .label{color:#e3efe5}
.combat-metrics strong{font-size:30px;line-height:1.3}
.combat-metrics .label{font-size:13px;margin-bottom:4px}
.ability-row.described-ability{display:block;padding:9px 0}
.ability-heading{display:flex;gap:6px 10px;align-items:center;flex-wrap:wrap}
.ability-heading .ability-stars{margin-left:auto}
.body-cultivation-note{margin:10px 0;font-size:14px}
.body-cultivation-cell{min-width:120px}
.body-cultivation-cell summary{font-size:12px;min-height:32px}
.body-level-summary{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:16px;padding:16px;background:var(--mint);border:1px solid var(--line);border-radius:6px;margin:12px 0}
.body-level-summary .stat strong{font-size:25px}
.body-level-summary+.small{margin-bottom:16px}
@media(max-width:520px){.body-level-summary{grid-template-columns:1fr}.body-level-summary .stat strong{font-size:23px}}
.described-ability .ability-name{flex:0 1 auto;min-height:28px;font-weight:650}
.ability-description{font-size:14px;line-height:1.65;color:#52675e;margin-top:2px}
.progression-overview .stage-power{color:var(--teal);margin-top:3px;font-variant-numeric:tabular-nums}
@media(max-width:850px){
  .site-header{padding:14px 24px 10px;gap:10px}
  nav{flex-wrap:nowrap;overflow-x:auto;max-width:100%;justify-content:flex-start;gap:4px;padding-bottom:3px}
  nav a{flex-shrink:0;font-size:14px;padding:8px 12px}
  .page-hero{gap:16px;padding:24px 0 20px}
  .hero-stats{gap:30px;padding:0}
  .ability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .detail-hero{gap:16px}
  .route-range-controls>div{grid-template-columns:minmax(0,1fr) 78px;gap:8px}
}
@media(max-width:520px){
  body{font-size:15px}
  main{padding:0 14px}
  .site-header{padding:10px 14px 6px;gap:8px}
  .brand{gap:9px}
  .brand-seal{width:34px;height:36px;font-size:23px}
  .brand strong{font-size:19px}
  .brand small{font-size:11px;margin-top:2px}
  nav{width:100%;gap:2px;flex:1 1 100%}
  nav a{font-size:14px;padding:8px 10px;min-height:44px}
  .page-hero{padding:18px 0 16px;gap:12px}
  .page-hero h1{font-size:27px}
  .page-hero .intro{font-size:14px;line-height:1.7;margin-top:5px}
  .eyebrow{font-size:10px;margin-bottom:4px}
  .hero-stats{gap:12px;padding:0;justify-content:flex-start}
  .hero-stats .stat{flex:1}
  .hero-stats .stat strong{font-size:23px}
  .hero-stats .stat span{font-size:12px}
  .filter-bar{padding:12px;gap:10px}
  .field>span{font-size:13px}
  .field input,.field select,.field input[type=search]{height:44px;font-size:16px;padding:0 10px}
  .results-toolbar{padding:12px 0 10px;gap:8px}
  .result-count{font-size:13px}
  .artifact-grid,.ability-grid{grid-template-columns:1fr;gap:12px}
  .artifact-card{padding:14px}
  .card-top{flex-direction:row;align-items:center;gap:12px}
  .artifact-icon{width:58px;height:62px;flex-basis:58px}
  .artifact-icon img{width:56px;height:58px}
  .card-heading h3{font-size:20px;margin:2px 0}
  .card-heading p{font-size:14px}
  .badge{font-size:12px;padding:2px 6px}
  .card-tags{gap:5px;margin-top:9px}
  .card-desc{font-size:14px;line-height:1.6;min-height:0;-webkit-line-clamp:1;margin-top:8px}
  .card-bottom{display:flex;font-size:12px;gap:8px;padding-top:8px}
  .card-bottom>span:last-child{margin:0}
  .back-link{font-size:14px;margin-top:6px}
  .detail-hero{flex-wrap:nowrap;padding:8px 0 2px;gap:12px}
  .artifact-icon.large{width:66px;height:72px;flex-basis:66px}
  .artifact-icon.large img{width:64px;height:68px}
  .detail-title{flex-basis:auto}
  .detail-title h1{font-size:26px;line-height:1.4;overflow-wrap:anywhere}
  .detail-title .intro,.unlock-line{font-size:14px}
  .detail-title .card-tags{margin:0 0 4px}
  .detail-links{font-size:14px;gap:12px;flex-wrap:wrap;margin-top:12px}
  .panel{padding:16px 14px;margin-top:14px}
  .panel h2{font-size:21px;margin-bottom:12px}
  .panel>p+.table-scroll,.panel>.notice+*,.panel>h3,.panel>.calculator-grid+*{margin-top:14px}
  .small,.label,.notice,.ingredient .muted,.recipe-output,.resource-description,.usage-list,.prose-list{font-size:14px}
  .stage-switch{gap:6px}
  .stage-chip{padding:8px 6px;font-size:14px;flex:1;min-width:0;white-space:nowrap}
  .ability-row{gap:6px 10px;flex-wrap:wrap}
  .ability-name{font-size:16px}
  .ability-rating{margin-left:auto;column-gap:7px}
  .ability-star{width:16px;font-size:16px}
  .energy-cost{font-size:14px}
  .ability-card{padding:16px}
  .ability-effects th:first-child,.ability-effects td:first-child{width:76px;min-width:68px}
  .refine-steps .section-line{gap:5px}
  .refine-steps .section-line .small{font-size:13px}
  .cost{font-size:14px;gap:6px;padding:4px 7px}
  .cost strong{font-size:14px}
  .calculator{padding:15px 12px}
  .calc-controls{gap:8px}
  .recipe-card{padding:16px 12px}
  .recipe-card .section-line{flex-wrap:wrap}
  .ingredient-title{font-size:15px;gap:12px}
  .attribute-list{grid-template-columns:1fr;gap:12px}
  .attribute-list dt,.attribute-list dd{font-size:14px}
  .attribute-list div{gap:12px}
  .attribute-list dt{flex-shrink:1}
  summary,details.panel>summary{font-size:15px;min-height:44px}
  table{font-size:14px}
  th{font-size:13px}
  td,th{padding:10px}
  .route-item{font-size:15px;gap:5px 10px}
  .route-item>a:last-child{margin-left:22px}
  .check-field{font-size:14px;min-height:44px}
  .realm-controls select{font-size:15px}
  .realm-totals{gap:12px}
  .realm-totals .stat strong{font-size:23px}
  .realm-totals .stat span{font-size:12px}
  .document-links a,.download-list .button,.usage-details .route-item{font-size:14px}
  .document-links a{min-height:44px}
  .site-footer{font-size:12px;padding:20px 14px 26px;margin-top:28px}
  .empty p{font-size:14px}
  .budget-options{grid-template-columns:1fr;gap:8px}
  .budget-option{padding:10px}
  .budget-option>.label{font-size:13px;margin-bottom:7px}
  .jade-option{padding:10px}
  .jade-option>.label:first-child{margin-bottom:5px}
  .jade-budget{gap:8px}
  .jade-budget strong{font-size:21px}
  .cultivation-tabs{padding:12px 0;gap:8px}
  .cultivation-tab{padding:8px;font-size:15px}
  .progression-heading{gap:6px;align-items:baseline}
  .progression-heading h3{font-size:15px}
  .progression-heading .small{font-size:11px}
  .progression-overview{gap:18px}
  .progression-overview>li{flex-basis:132px;padding:8px;gap:6px}
  .progression-overview>li:not(:last-child)::after{right:-16px}
  .progression-overview a{font-size:14px;min-height:40px}
  .progression-overview p{font-size:12px}
  .stage-order{flex-basis:18px;height:18px}
  .route-range-controls{gap:10px}
  .route-range-controls>div{grid-template-columns:1fr;gap:8px}
  .route-range-controls .field select{font-size:15px;padding:0 7px}
  .route-range-controls .field>span{font-size:13px}
  .route-setting-controls{grid-template-columns:1fr;gap:8px}
  .route-setting-controls .field select{font-size:15px}
  .route-budget h3{font-size:16px}
  .route-range-label{font-size:14px}
  .route-total-options .jade-option>.label:not(:first-child){margin-top:10px}
  .extra-artifacts{padding:10px}
  .extra-artifacts>.label{font-size:13px}
  .route-segment>summary{font-size:14px}
  .route-segment>summary small{font-size:12px}
}
