:root{color-scheme:dark;--bg:#202224;--panel:#282b2d;--edge:#494d4f;--ink:#e3e4e0;--muted:#b0b6b5;--green:#add3a0;--button:#343b34;--amber:#e5c994;--red:#f0abab;font:14px/1.65 "Yu Gothic UI","Meiryo",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}button,input,select,textarea{font:inherit}button,select,input,textarea{border:1px solid #6b7270;border-radius:2px;background:#303437;color:var(--ink);padding:5px 11px}button{cursor:pointer}button:hover:not(:disabled){background:#444b47;border-color:#b4c2b1}button:disabled{color:#a6aaa7;background:#292c2d;border-color:#484d4b;cursor:default}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:3px}a{color:#b7d5b0;text-underline-offset:3px}h1,h2,h3,p{margin:0}h2{font-size:14px;font-weight:600}h3{font-size:15px}strong{font-weight:600}.muted{color:var(--muted)}.good{color:var(--green)}.bad{color:var(--red)}.amber{color:var(--amber)}.num,dd,progress{font-variant-numeric:tabular-nums}small{font-size:12px;color:var(--muted)}
.masthead{max-width:1640px;margin:auto;display:flex;align-items:center;gap:28px;padding:16px 22px 14px;border-bottom:1px solid var(--edge)}.masthead>div{display:flex;gap:15px;align-items:baseline}.masthead h1{font-size:20px;font-weight:600;letter-spacing:.05em}.masthead span{font:11px/1.4 Consolas,monospace;color:var(--muted);letter-spacing:.03em}.masthead small{font-size:10px;margin-left:5px}.masthead p{font-size:12px;color:var(--muted)}.masthead>button{margin-left:auto;font-size:12px}
.layout{max-width:1640px;margin:0 auto;display:grid;grid-template-columns:232px minmax(370px,1fr) 282px;gap:14px;padding:16px 22px 24px;align-items:start}.panel{border:1px solid var(--edge);background:var(--panel);padding:14px;margin-bottom:13px}.panel>h2{border-bottom:1px solid var(--edge);padding-bottom:8px;margin-bottom:10px}.resources dl{margin:0}.resources dl>div{display:flex;justify-content:space-between;gap:8px;align-items:baseline;margin:7px 0}.resources dt{font-size:12px;color:var(--muted)}.resources dd{margin:0;font-size:13px}.resources dl>div:first-child{display:block;margin-bottom:12px}.resources dl>div:first-child dd{font-size:12px;color:var(--green)}.resources strong{font-size:25px;color:var(--green)}#running{font-size:12px;border-top:1px solid var(--edge);margin-top:13px;padding-top:8px}
nav{display:grid;gap:5px;margin-bottom:14px}nav button{text-align:left;padding:8px 12px;display:flex;justify-content:space-between;gap:10px}nav button span{font-size:11px;color:var(--muted)}nav button[aria-current=page]{border-color:var(--green);color:var(--green);background:#343e34;border-left-width:3px;padding-left:10px}.rig-summary dl{margin:0}.rig-summary dl>div{padding:5px 0;border-bottom:1px solid #3e4344}.rig-summary dt{font-size:11px;color:var(--muted)}.rig-summary dd{font-size:12px;line-height:1.5;margin:2px 0 3px;overflow-wrap:anywhere}.rig-summary>p{font-size:12px;margin-top:9px}.save-note{color:var(--muted);font-size:11px;padding:0 2px}.chapter{padding:15px 18px}.chapter-heading{display:flex;gap:12px;align-items:baseline;margin-bottom:10px}.chapter-heading>span:first-child{color:var(--green);font-size:12px;white-space:nowrap}.chapter-heading>span:last-child{margin-left:auto;font-size:11px;color:var(--muted);white-space:nowrap}.chapter h2{font-size:16px}.chapter>p{font-size:13px;line-height:1.9;color:#d0d4cd}
.ongoing{padding:11px 16px}.ongoing>div{display:flex;justify-content:space-between;gap:8px;font-size:13px}.ongoing>div>span{font-size:12px;color:var(--green)}.ongoing p{color:var(--muted);font-size:12px;margin-top:5px}progress{display:block;width:100%;height:7px;border:0;border-radius:0;background:#181b1c;margin:9px 0;appearance:none}progress::-webkit-progress-bar{background:#181b1c}progress::-webkit-progress-value{background:#90ae88}progress::-moz-progress-bar{background:#90ae88}.workspace{padding:0}.view-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:11px 16px;border-bottom:1px solid var(--edge)}.view-heading>span{font-size:11px;color:var(--muted)}#view{padding:15px 16px}.intro{color:var(--muted);font-size:13px;margin-bottom:15px}.action-row,.research-row{border:1px solid var(--edge);padding:12px;margin-bottom:10px}.action-row.active{border-color:#90ae88;background:#30372f}.row-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.row-top h3{font-size:14px}.tag{font-size:11px;color:var(--green);margin-left:7px}.action-row p,.research-row p{color:var(--muted);font-size:12px;margin-top:5px}.row-bottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;font-size:12px}.row-bottom button{min-width:100px}.locked{color:var(--muted)}.button-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}.primary{background:#384735;border-color:#87aa7b;color:#d8edcf}.primary:disabled{background:#303630;color:#929e90}.text-button{border:0;background:none;padding:3px 0;color:var(--muted);text-decoration:underline;text-underline-offset:3px;font-size:12px}.text-button:hover:not(:disabled){background:none;color:var(--ink)}.goal>h2{color:var(--green)}.goal-step{color:var(--muted);font-size:11px;margin-bottom:6px}.goal h3{font-size:15px;margin-bottom:9px}.goal p{font-size:12px}.goal .requirement{font-size:12px;margin-top:14px;color:var(--amber)}.goal>#claim{width:100%;margin:10px 0 4px}.goal #goal-reward{color:var(--green);margin-top:10px}.goal #goal-link{display:block;margin:auto}.log{list-style:none;padding:0;margin:0;font-size:12px}.log li{border-bottom:1px solid #424747;padding:8px 0;color:#b8bfbb}.log li:first-child{padding-top:0;color:#e1e7da}.log li:last-child{border:0}.footnote{color:var(--muted);font-size:11px;line-height:1.8;padding:0 4px}
.build-row{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid #414647}.build-row label{font-size:12px}.build-row select{width:100%;min-width:0;font-size:12px;padding:7px 5px}.build-row small{grid-column:2;font-size:11px}.build-check{border:1px solid #778c70;padding:12px;margin-top:14px;font-size:13px}.build-check.invalid{border-color:#ac7d77}.build-check p+p{margin-top:5px}.build-check ul{margin:5px 0;padding-left:20px}.comparison{display:flex;gap:18px;flex-wrap:wrap;margin-top:8px}.comparison span{font-size:12px;color:var(--muted)}.comparison b{display:block;font-size:16px;color:var(--green)}.mode-list{margin-top:18px;border-top:1px solid var(--edge);padding-top:12px}.mode-list label{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:12px}.mode-list strong{margin-left:auto;white-space:nowrap}.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:12px;font-size:12px}.filters label{display:flex;gap:5px;align-items:center}.filters select,.filters input[type=search]{padding:5px 7px;font-size:12px;min-width:0}.filters input[type=search]{width:150px}.market-row{padding:11px 0;border-bottom:1px solid #4b5050}.market-row:first-child{padding-top:0}.market-row:last-child{border:0}.market-row h3{font-size:13px;font-weight:600;overflow-wrap:anywhere}.market-row p{font-size:12px;color:var(--muted);margin:4px 0}.market-row .row-top{align-items:start}.market-row .purchase-area{min-width:94px;text-align:right;flex-shrink:0}.purchase-area button{font-size:12px;margin-top:5px}.purchase-area>span{display:block;color:var(--amber);font-size:13px}.market-detail{display:flex;gap:10px;flex-wrap:wrap;align-items:center;font-size:11px;color:var(--muted);margin-top:6px}.market-detail a{font-size:11px}.empty{padding:20px 0;color:var(--muted)}
.records-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}.records-grid>div{padding:9px 10px;border:1px solid var(--edge);font-size:12px;color:var(--muted)}.records-grid strong{display:block;color:var(--ink);font-size:16px}.save-box{border-top:1px solid var(--edge);margin-top:18px;padding-top:15px}.save-box>h3{margin-bottom:7px}.save-box p{font-size:12px;color:var(--muted)}.save-box textarea{display:block;width:100%;min-height:110px;margin-top:10px;font:12px/1.5 Consolas,monospace;resize:vertical}.history{padding-left:22px;font-size:13px}.history li{padding:5px 0;color:var(--muted)}.history li.done{color:var(--green)}.help h3{font-size:14px;margin:18px 0 7px}.help h3:first-child{margin-top:0}.help p,.help li{font-size:13px;color:#cad0c8}.help ol,.help ul{padding-left:22px}.help code{font-size:12px;overflow-wrap:anywhere}.notice,.warning{max-width:1596px;margin:12px 22px 0;border:1px solid #82977a;padding:9px 13px;background:#303b2e;color:#deecd7;font-size:13px}.warning{border-color:#b09062;background:#40382a;color:#efd6ad}.warning button{margin-left:10px;font-size:12px}.danger{color:var(--red);border-color:#926963}.ending{border:1px solid #91b084;padding:16px;margin-bottom:15px}.ending h3{color:var(--green);margin-bottom:8px}.ending p{font-size:13px}.ending p+p{margin-top:8px}dialog{max-width:470px;width:calc(100% - 32px);background:var(--panel);color:var(--ink);border:1px solid #85947e;padding:22px}dialog::backdrop{background:#0009}dialog h2{font-size:17px;margin-bottom:12px}dialog p{font-size:13px;white-space:pre-line}.mobile-only{display:none}[hidden]{display:none!important}
@media(min-width:1600px){.notice,.warning{margin-left:auto;margin-right:auto}}
@media(max-width:1190px){.layout{grid-template-columns:200px minmax(0,1fr) 245px;padding:14px;gap:10px}.masthead{padding:13px 14px;gap:15px}.masthead p{display:none}.panel{padding:12px}.workspace{padding:0}#view{padding:12px}.view-heading{padding:10px 12px}.rig-summary dd{font-size:11px}.notice,.warning{margin-left:14px;margin-right:14px}.build-row{grid-template-columns:80px minmax(0,1fr)}}
@media(max-width:960px){.layout{grid-template-columns:185px minmax(0,1fr)}.journal{grid-column:2;display:grid;grid-template-columns:1fr 1fr;gap:10px}.journal .footnote{grid-column:1/-1}.journal .panel{margin:0}.sidebar{grid-row:1/3}.masthead h1{font-size:18px}.layout{align-items:start}}
@media(max-width:650px){.masthead{gap:8px;flex-wrap:wrap;padding:11px 12px}.masthead>div{gap:8px}.masthead h1{font-size:17px}.masthead span{font-size:9px}.masthead>button{font-size:11px;padding:4px 7px}.layout{display:flex;flex-direction:column;padding:10px;gap:0}.sidebar,main,.journal{width:100%;min-width:0}.sidebar .rig-summary{display:none}.resources{padding:9px 11px;margin-bottom:8px}.resources>h2{display:none}.resources dl{display:grid;grid-template-columns:1.2fr 1fr;gap:0 12px}.resources dl>div:first-child{margin:0}.resources dl>div{margin:2px 0}.resources strong{font-size:21px}.resources dl>div:first-child dd{line-height:1.4}.resources dl>div:nth-child(2){display:block;text-align:right}.resources dt{font-size:11px}#running{font-size:11px;margin-top:6px;padding-top:5px}nav{grid-template-columns:repeat(3,1fr);gap:5px;margin-bottom:10px}nav button{padding:6px 8px;font-size:12px;justify-content:center}nav button[aria-current=page]{padding-left:6px}nav button span{display:none}.save-note{font-size:10px;margin:-4px 0 8px;text-align:right}.chapter{padding:12px}.chapter-heading{gap:9px}.chapter h2{font-size:14px}.chapter p{font-size:12px}.journal{display:block}.journal .panel{margin-bottom:10px}.goal #goal-link{margin-top:5px}.goal{border-color:#718767}.view-heading>span{font-size:10px}.row-top{gap:7px}.row-bottom{gap:7px;align-items:start}.row-bottom button{min-width:78px;font-size:12px}.row-bottom>span{max-width:66%}.build-row{grid-template-columns:68px minmax(0,1fr)}.market-row .purchase-area{min-width:83px}.market-row h3{font-size:12px}.market-row p{font-size:11px}.filters{gap:8px}.filters input[type=search]{width:132px}.notice,.warning{margin:8px 10px 0;font-size:12px}.comparison{gap:10px}.comparison b{font-size:14px}#view{padding:12px}.footnote{padding-bottom:12px}}

/* 1.1 — readable progress, decisions and comparisons; no decorative imagery. */
main{min-width:0;scroll-margin-top:12px}
.income-summary{font-size:11px;color:var(--green);margin-top:10px;font-variant-numeric:tabular-nums}
.next-step{position:sticky;top:8px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;border-left:3px solid #798a73;background:#2d322d;box-shadow:0 4px 0 var(--bg)}
.next-step>div{min-width:0}.next-step .eyebrow{display:block;font-size:11px;color:var(--muted);margin-bottom:2px;letter-spacing:.04em}.next-step strong{display:block;font-size:14px}.next-step p{font-size:12px;color:#bec9b9;line-height:1.7;margin-top:4px}.next-step button{flex-shrink:0;font-size:12px;max-width:146px}.next-step.ready{border-color:var(--green);background:#34402f}.next-step.ready .eyebrow{color:#d0ebc4}
.per-minute{display:block;font-size:11px;margin-top:3px;color:var(--muted)}.action-row.locked{border-style:dashed}.action-row.locked h3{color:var(--muted)}.row-bottom>div{min-width:0}.row-bottom>button{flex-shrink:0}
.build-columns{display:grid;grid-template-columns:100px minmax(0,1fr);gap:8px;font-size:11px;color:var(--muted);padding:8px 0;border-bottom:1px solid var(--edge)}.build-columns small{font-size:11px;margin-left:8px}.build-row.changed{background:#323a30;border-left:2px solid #88a27b;padding-left:8px}.build-row small{margin-top:-4px}.build-row .change-note{color:var(--amber);overflow-wrap:anywhere}.comparison b{color:var(--ink);font-weight:500}.comparison small{display:block;font-variant-numeric:tabular-nums;margin-bottom:8px}.build-check>p{margin-top:9px;font-size:12px}
.platform-guide{border:1px solid var(--edge);padding:10px 12px;margin-bottom:16px;font-size:12px}.platform-guide summary{cursor:pointer;color:var(--green);font-size:13px}.platform-guide summary span{color:var(--muted);font-size:11px;margin-left:7px}.platform-guide>p{color:var(--muted);margin:10px 0}.platform-option{padding:12px 0;border-top:1px solid var(--edge)}.platform-option:last-child{padding-bottom:2px}.platform-option h4{margin:0;color:var(--ink);font-size:13px}.platform-option ul{list-style:none;padding:0;margin:7px 0}.platform-option li{display:flex;justify-content:space-between;gap:12px;padding:2px 0;font-size:12px}.platform-option li>span{white-space:nowrap;flex-shrink:0}.platform-option button{font-size:12px}
.purchase-receipt,.plan-filter{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;margin-bottom:12px;font-size:12px;border:1px solid #718368;background:#30392d}.purchase-receipt button{white-space:nowrap;font-size:12px}.plan-filter{border-color:var(--edge);background:none}.plan-filter button{white-space:nowrap}.market-count{font-size:11px;color:var(--muted);border-bottom:1px solid var(--edge);padding-bottom:9px;margin-bottom:3px}.part-kind{display:block;font-size:10px;letter-spacing:.05em;color:var(--muted);margin-bottom:2px}.market-row{padding:14px 0}.market-row h3{font-size:14px}.market-row.locked h3{color:var(--muted)}.part-comparison{font-size:12px;margin-top:6px;line-height:1.8;overflow-wrap:anywhere}.market-detail{justify-content:space-between;row-gap:4px;min-height:22px}.market-detail>a{margin-left:auto;white-space:nowrap}.market-note{font-size:11px;margin:16px 0 0}.research-row .research-preview{color:var(--green);font-size:12px}.research-row [data-research-hint]{margin-top:9px;font-size:11px}.research-row .good{color:var(--green)}.purchase-area{font-variant-numeric:tabular-nums}
@media(min-width:961px){.sidebar{position:sticky;top:10px;max-height:calc(100vh - 20px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#5c655a transparent}}
@media(max-width:1190px){.build-columns{grid-template-columns:80px minmax(0,1fr)}.next-step{gap:10px;padding:11px 12px}.next-step button{max-width:122px}.next-step p{font-size:11px}}
@media(max-width:650px){.next-step{position:static;gap:10px;box-shadow:none}.next-step strong{font-size:13px}.next-step button{font-size:11px;max-width:106px;padding:7px 9px}.income-summary{margin-top:4px;text-align:right;font-size:10px}.build-columns{grid-template-columns:68px minmax(0,1fr)}.build-columns small{display:none}.market-row h3{font-size:13px}.market-detail{font-size:11px}.filters label{min-height:32px}.filters input[type=checkbox]{width:16px;height:16px}.platform-guide summary span{display:block;margin:2px 0 0}.platform-option li{font-size:11px}.platform-option .row-bottom{align-items:center}.platform-option .row-bottom>span{font-size:11px}.purchase-receipt{padding:9px}.part-comparison{font-size:11px}.view-heading>span{max-width:65%;text-align:right}}
/* Catalog controls remain text-first and wrap on narrow screens. */
.catalog-tools,.catalog-pages{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}
.catalog-tools label{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted)}
.catalog-tools select{max-width:180px}
.catalog-pages{justify-content:space-between;border-bottom:1px solid var(--edge);padding-bottom:12px}
.catalog-pages span{font-variant-numeric:tabular-nums;font-size:12px}
.catalog-note{font-size:12px!important}
.market-row h3{overflow-wrap:anywhere}

/* 1.3 — compact, readable parts ledger; reveal reasons only when requested. */
.market-context{font-size:11px;color:var(--muted);margin:8px 0}
.catalog-tools{gap:8px;margin:10px 0}
.catalog-tools>button{font-size:11px;padding:5px 8px}
.catalog-tools .text-button{margin-left:auto}
.catalog-pages{margin:8px 0;padding-bottom:8px}
.catalog-pages button{font-size:11px;padding:4px 9px}
#market-pages-bottom{border-top:1px solid var(--edge);border-bottom:0;padding:9px 0 0;margin-top:12px}
.market-row.compact{padding:10px 0}
.market-row.compact .part-identity{min-width:0}
.market-row.compact h3{font-size:13px;line-height:1.55}
.market-row.compact .part-spec{font-size:11px;line-height:1.55;margin:2px 0;overflow-wrap:anywhere}
.market-row.compact .part-meta{font-size:10px;line-height:1.5;margin:2px 0 0;color:var(--muted)}
.market-row.compact .purchase-area{min-width:84px}
.market-row.compact .purchase-area button{padding:4px 9px;margin-top:4px}
.market-info{display:flex;gap:10px;align-items:baseline;margin-top:4px;font-size:11px;line-height:1.65}
.market-info>a{white-space:nowrap;color:var(--muted);font-size:10px}
.market-info>a:hover{color:var(--green)}
.market-fit-result{flex:1;min-width:0}
.swap-total{color:var(--muted);white-space:nowrap}
.compatibility-details summary{cursor:pointer;color:var(--amber);width:fit-content}
.compatibility-details summary small{font-size:10px;color:var(--muted);margin-left:6px}
.compatibility-details ul{color:var(--muted);padding-left:18px;margin:5px 0 3px}
.compatibility-details li{margin:3px 0;overflow-wrap:anywhere}
.compatibility-details[open]{border-left:2px solid #826e4b;padding-left:8px;margin:5px 0}
.purchase-hint{display:block;font-size:10px;margin-top:2px;line-height:1.5}
.purchase-hint.good{display:none}
.catalog-about{font-size:11px;color:var(--muted);margin-top:15px}
.catalog-about summary{cursor:pointer}
.catalog-about p{margin-top:6px}
.empty p+p{font-size:12px;margin-top:4px}.empty button{font-size:12px;margin-top:12px}
.platform-guide{margin:18px 0 0}
.platform-picker{display:flex;align-items:center;gap:10px;font-size:12px;margin-top:12px}
.platform-picker select{flex:1;min-width:0;font-size:12px}
.platform-guide .platform-option{border-top:0;padding:6px 0}
.platform-guide>p{margin:8px 0 0;font-size:11px;color:var(--muted)}
details summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}
@media(max-width:650px){
  .market-row.compact h3{font-size:12px}.market-info{font-size:11px}
  .market-row.compact .purchase-area{min-width:76px}
  .catalog-tools label{font-size:11px}.catalog-tools select{font-size:11px}
  .platform-picker{display:block}.platform-picker select{display:block;width:100%;margin-top:5px}
  .platform-guide .platform-option li{display:block}.platform-option li>span{display:inline-block;margin-left:8px}
}
