/* Hallmark · macrostructure: Workbench · theme: existing erabidokoro
 * Comparison interaction reference: https://www.eloshapes.com/mouse/compare (structure only). */
@import url('./tokens.css');
.pc-builder{width:min(1160px,calc(100% - 40px));margin:36px auto 64px;color:var(--color-ink);font-size:var(--text-body);line-height:1.65}
.pc-builder h1{font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.35;margin:0 0 24px}.pc-builder h2{font-size:var(--text-heading);margin:0}.pc-builder h3{font-size:1.05rem;line-height:1.5;margin:0 0 8px}
.pc-builder button,.pc-builder input,.pc-builder select,.global-footer button{font:inherit;min-height:44px;border:1px solid var(--navy);border-radius:var(--radius-control);padding:9px 14px;background:white;color:var(--color-ink);max-width:100%}
.pc-builder button,.global-footer button,.pc-builder summary{cursor:pointer}.pc-builder button:hover,.global-footer button:hover{background:var(--soft)}.pc-builder button:active{background:var(--line)}.pc-builder button:disabled{opacity:.55;cursor:not-allowed}.pc-builder input[aria-invalid=true]{border-color:var(--color-danger);outline:2px solid var(--color-danger)}
.pc-builder :focus-visible,.global-footer button:focus-visible{outline:3px solid var(--color-accent);outline-offset:3px}.pc-builder a{overflow-wrap:anywhere;text-underline-offset:4px}.skip-link{position:absolute;left:12px;top:-80px;padding:12px;background:white;z-index:10}.skip-link:focus{top:8px}
.purpose{display:flex;flex-wrap:wrap;gap:8px}.purpose button{font-weight:700;padding:11px 24px}.purpose button[aria-pressed=true]{background:var(--navy);color:white}.pc-builder #purpose-reason{margin:14px 0 26px;min-height:1.65em}
.builder-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.parts-section,.build-summary,.findings-section,.list-section{background:white;border:1px solid var(--line);min-width:0}.section-title{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:2px solid var(--navy)}
.part-row{padding:20px 24px;border-bottom:1px solid var(--line)}.part-row:last-child{border:0}.part-top{display:flex;align-items:center;justify-content:space-between;gap:12px}.part-category{font-weight:700;color:var(--navy)}.part-name{font-size:1.1rem;font-weight:700;margin:4px 0;overflow-wrap:anywhere}.part-spec{margin:4px 0 12px}.part-tools{display:flex;gap:16px;align-items:center;justify-content:space-between}.part-tools a{padding:8px 0;min-height:44px}.lock{display:flex;align-items:center;gap:8px;cursor:pointer}.pc-builder input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--navy);padding:0}.lock{min-height:44px}.part-row select{display:block;width:100%;margin:12px 0}.part-row details summary{min-height:44px;padding:9px 0;font-weight:700}.mpn{overflow-wrap:anywhere;margin:6px 0}.part-error{border-left:4px solid var(--color-danger)}
.build-summary{padding:24px;border-top:4px solid var(--navy)}.result-summary{font-size:1.3rem;font-weight:700;line-height:1.45;margin:14px 0}.summary-link{display:flex;justify-content:space-between;align-items:center;min-height:48px;padding:8px 0;color:var(--color-accent);font-weight:700}.summary-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:16px 0}.summary-actions button:last-child{grid-column:1/-1}.summary-actions #save{background:var(--navy);color:white}.settings{border-top:1px solid var(--line);padding:12px 0}.settings summary{font-weight:700;padding:8px 0;min-height:44px}.settings>label{display:block;margin:14px 0 6px}.settings>input,.settings>select{width:100%}.settings p{margin:12px 0}.settings .check{display:flex;align-items:center;gap:10px;min-height:44px}.quote-field label{display:block;margin:12px 0 6px}.quote-field input{width:100%}
.findings-section{grid-column:1;padding:24px;scroll-margin-top:16px}.finding{border-bottom:1px solid var(--line);padding:20px 0}.finding p{margin:6px 0 10px}.finding a{display:inline-flex;align-items:center;min-height:44px;margin-right:16px}.finding.incompatible{border-left:4px solid var(--color-danger);padding-left:16px}.finding-status{color:var(--color-warning);font-weight:700;margin-bottom:8px}.incompatible .finding-status{color:var(--color-danger)}.remedies{padding:16px;background:var(--color-wash);margin:16px 0}.remedies button{display:block;width:100%;text-align:left;margin-top:10px;overflow-wrap:anywhere}.pc-builder summary{min-height:44px;padding:10px 0}#passed{margin-top:16px}#passed-list{padding-left:24px}#passed-list li{padding:6px 0}.list-section{grid-column:1;padding:12px 24px}.list-section summary{font-weight:700}#part-list{padding-left:24px}#part-list li{padding:8px 0;overflow-wrap:anywhere}#message{padding:12px 16px;background:var(--color-wash);border-left:4px solid var(--color-accent)}#share-fallback input{width:100%}.global-footer details{max-width:720px}.global-footer summary{min-height:44px;cursor:pointer;padding:10px 0}.global-footer button{color:#2b2724}.pc-builder [hidden]{display:none!important}
.part-row{display:grid;grid-template-columns:112px minmax(0,1fr) 56px;gap:16px;align-items:center;padding:16px 24px}.part-top{flex-direction:column;align-items:flex-start;gap:0}.part-spec{margin-bottom:0}.part-body{min-width:0}.part-row details[open]{grid-column:1/-1}.part-row details a{display:inline-flex;min-height:44px;align-items:center}.pc-builder select:disabled{opacity:.55;cursor:not-allowed}.purpose{align-items:center}
@media(max-width:850px){.builder-layout{grid-template-columns:minmax(0,1fr)}.build-summary{grid-row:1}.parts-section{grid-row:2}.summary-actions{grid-template-columns:1fr 1fr 1fr}.summary-actions button:last-child{grid-column:auto}.build-summary{padding:20px}.settings{margin-top:8px}.findings-section,.list-section{grid-column:1}}
@media(max-width:600px){.part-row{grid-template-columns:minmax(0,1fr) 64px;gap:4px 12px}.part-top{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}.part-row>button{grid-column:2;grid-row:2}.part-body{grid-column:1;grid-row:2}}
@media(max-width:480px){.pc-builder{width:calc(100% - 24px);margin-top:24px}.purpose button{flex:1 1 auto;padding:10px 14px}.summary-actions{grid-template-columns:1fr 1fr}.summary-actions button:last-child{grid-column:1/-1}.part-row,.section-title,.findings-section{padding:16px}.part-tools{gap:8px}.part-name{font-size:1.0625rem}.build-summary{padding:16px}.list-section{padding:8px 16px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
@media print{.global-header,.global-footer,.purpose,.summary-actions,.part-tools,.settings,.skip-link{display:none}.builder-layout{display:block}.pc-builder{width:100%;margin:0}.part-row,.finding{break-inside:avoid}}
#compare-dialog{width:min(780px,calc(100% - 24px));max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border:1px solid var(--navy);border-radius:8px;color:var(--ink);font:inherit;background:white}#compare-dialog::backdrop{background:rgba(0,0,0,.45)}.compare-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}.compare-head h2{margin:0;font-size:1.35rem}#compare-dialog button,#compare-dialog select{font:inherit;min-height:44px;border:1px solid var(--navy);border-radius:6px;background:white;color:var(--ink);padding:9px 14px;cursor:pointer}#compare-dialog select{display:block;width:100%;margin:8px 0 20px}#compare-dialog :focus-visible{outline:3px solid var(--orange);outline-offset:3px}#compare-dialog button:hover{background:var(--soft)}#compare-dialog button:active{background:var(--line)}#compare-dialog button:disabled{opacity:.55;cursor:not-allowed}.parts-comparison{width:100%;border-collapse:collapse;table-layout:fixed;font-size:1rem}.parts-comparison td,.parts-comparison th{padding:12px 10px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.parts-comparison th:first-child{width:22%}.parts-comparison thead th{background:var(--navy);color:white}.parts-comparison .different td{background:var(--soft);font-weight:700}#comparison>a{display:inline-flex;min-height:44px;align-items:center;margin:10px 0}.compare-impact{border-top:1px solid var(--line);padding-top:16px}.compare-impact h3{font-size:1.1rem;margin:0}.compare-impact ul{padding-left:22px}.compare-actions{display:flex;justify-content:flex-end;margin-top:20px}#apply-candidate{background:var(--navy)!important;color:white!important}.part-row>button{padding-inline:8px}
@media(max-width:480px){#compare-dialog{padding:16px}.parts-comparison th,.parts-comparison td{padding:10px 6px}.parts-comparison th:first-child{width:22%}.compare-actions button{width:100%}}
.part-price{font-size:1.2rem;font-weight:700;margin:8px 0}.price-context{padding:16px 24px;border-top:1px solid var(--line);margin:0}.part-body details{margin:6px 0}.part-body details p{margin:8px 0}
.chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.chip-row a,.chip-row button{display:inline-flex;align-items:center;min-height:44px;padding:8px 14px;border:1px solid var(--line);border-radius:4px;background:var(--soft);color:var(--navy);text-decoration:none}.chip-row button[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}#part-chips{padding:0 24px}.purpose-guide{margin-bottom:24px}.purpose-guide>summary{font-weight:700}.catalog-section{padding:24px;background:white;border:1px solid var(--line);margin-top:24px;scroll-margin-top:20px}.catalog-filters{display:flex;flex-wrap:wrap;gap:16px}.catalog-filters label{display:flex;flex-direction:column;gap:6px;flex:1 1 180px;min-width:0}.catalog-filters label:first-child{flex-basis:320px}.catalog-filters input,.catalog-filters select{width:100%}.catalog-product{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.catalog-product h3,.catalog-product p{overflow-wrap:anywhere}.catalog-product p{margin:6px 0}.catalog-actions{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:8px;max-width:200px}.catalog-actions a,.purchase-link{display:inline-flex;align-items:center;min-height:44px}.catalog-pages{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:20px}.part-guide ul{padding-left:20px}.part-guide li{margin:8px 0}.benchmark-score{font-weight:700}#video-player iframe{display:block;width:100%;aspect-ratio:16/9;border:0;margin-top:16px}#assembly li{margin:12px 0}#assembly>details{border-top:1px solid var(--line);margin-top:16px}#browse-candidates{margin-bottom:16px}#performance-guide{margin:12px 0}.catalog-section [hidden]{display:none!important}
#tier-label{flex-basis:260px}
@media(max-width:600px){.catalog-section{padding:16px}.catalog-product{grid-template-columns:minmax(0,1fr);gap:8px}.catalog-actions{flex-direction:row;flex-wrap:wrap;max-width:none;align-items:center;justify-content:flex-start;gap:8px 16px}#part-chips{padding:0 16px}.catalog-filters label{flex-basis:140px}#tier-label{flex-basis:100%}}

/* Task views replace the former stacked article layout. */
body{background:#f3f5f7;font-family:system-ui,-apple-system,"Segoe UI","Noto Sans JP",sans-serif;color:#172532}
.global-header{padding-block:12px;min-height:60px}.pc-builder{width:min(1360px,calc(100% - 40px));margin:24px auto 32px;line-height:1.5}.pc-builder h1{font-size:1.65rem;margin:0 0 16px}
.workspace-nav{display:flex;gap:4px;border-bottom:1px solid #bac6ce;margin-bottom:20px}.workspace-nav button{border:0;border-radius:0;background:transparent;padding:12px 20px;font-weight:700}.workspace-nav button[aria-pressed=true]{box-shadow:inset 0 -3px #176b73;color:#125b63;background:#e4eff0}
.builder-layout{grid-template-columns:minmax(0,1fr) 300px;gap:16px}.section-title{padding:14px 18px;border-bottom:1px solid var(--line)}.purpose button{padding:8px 16px}.pc-builder #purpose-reason{margin:10px 0;min-height:0}.purpose-guide{margin:0 0 16px}.purpose-guide>summary{display:inline-block}
.part-row{grid-template-columns:112px minmax(0,1fr) 112px;gap:14px;padding:10px 18px;min-height:84px}.part-top{gap:0}.part-name{font-size:1rem;margin:0;font-weight:650}.part-spec{margin:4px 0 0;font-size:1rem}.part-price{font-size:1rem;margin:4px 0 0}.part-controls{display:flex;gap:6px;justify-content:flex-end}.part-controls button{padding:8px 10px}.lock{min-height:32px;gap:6px;font-size:1rem}
.build-summary{padding:18px;border-top:3px solid #176b73;position:sticky;top:16px}.result-summary{font-size:1.1rem;margin:12px 0}.summary-actions{gap:6px;margin:12px 0}.summary-actions button{padding:8px}.summary-actions #save{background:#176b73}.settings{padding:4px 0}.list-section{padding:4px 18px}.price-context{padding:10px 18px;font-size:1rem}.findings-section{max-width:960px;margin:auto}.finding{padding:14px 0}.catalog-section{margin:0;padding:20px}.catalog-section>h2{font-size:1.2rem}.chip-row{margin:12px 0;gap:6px}.chip-row button{padding:8px 12px}.catalog-filters{gap:10px}.catalog-filters label{flex-basis:150px}.catalog-filters label:first-child{flex-basis:260px}.catalog-product{padding:14px 12px;gap:16px}.catalog-product h3{font-size:1rem}.catalog-actions{flex-direction:row;flex-wrap:wrap;max-width:270px;gap:4px 12px}.catalog-actions a{min-height:32px}.catalog-pages{margin-top:12px}#catalog-status{margin:12px 0 0}#performance-guide{margin:0 0 6px}#catalog-results{max-height:52dvh;overflow:auto;overscroll-behavior:contain;border-block:1px solid var(--line);scrollbar-gutter:stable}#catalog-results:focus-visible{outline:3px solid #176b73;outline-offset:2px}
#assembly{max-width:900px;margin:auto}#assembly>details{padding:10px 0}.global-footer{padding-block:16px}.global-footer__inner{gap:12px}#part-info{width:min(640px,calc(100% - 24px));max-height:85dvh;overflow:auto;padding:24px;border:1px solid #a5b5bf;border-radius:8px;color:#172532;font:inherit}#part-info::backdrop{background:#17253280}#part-info button{font:inherit;min-height:44px;padding:8px 14px;background:white;border:1px solid #a5b5bf;border-radius:6px}#part-info h3{font-size:1.1rem;margin-top:24px}#part-info p,#part-info li{line-height:1.65}#part-info a{display:inline-block;min-height:32px;margin-right:16px;overflow-wrap:anywhere}#part-info :focus-visible{outline:3px solid #176b73;outline-offset:3px}
@media(max-width:900px){.builder-layout{grid-template-columns:1fr}.build-summary{position:static;grid-row:1;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.build-summary h2{font-size:1rem}.build-summary #observed-total,.build-summary #result-summary{margin:4px 0}.summary-link{grid-column:1;min-height:44px}.summary-actions{grid-column:2;grid-row:1/5;align-content:start;grid-template-columns:1fr 1fr;margin:0}.summary-actions button:last-child{grid-column:auto}.build-summary .settings{grid-column:auto}.build-summary #share-fallback{grid-column:1/-1}.parts-section{grid-row:2}.part-row{min-height:80px}}
@media(max-width:600px){.pc-builder{width:calc(100% - 24px);margin:16px auto 24px}.global-header nav{display:none}.workspace-nav{gap:0}.workspace-nav button{flex:1;padding:10px 5px;font-size:1rem}.part-row{grid-template-columns:minmax(0,1fr) 112px;gap:4px 10px;padding:12px}.part-top{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center}.part-body{grid-column:1;grid-row:2}.part-controls{grid-column:2;grid-row:2}.build-summary{padding:12px;gap:0 10px}.summary-actions button{font-size:1rem}.catalog-section{padding:12px}.catalog-product{grid-template-columns:1fr;padding:12px 4px;gap:6px}.catalog-actions{max-width:none}.catalog-filters label{flex-basis:130px}.catalog-filters label:first-child{flex-basis:100%}#tier-label{flex-basis:100%}#catalog-results{max-height:50dvh}.section-title{padding:12px}.pc-builder h1{font-size:1.4rem}.global-footer details{max-width:100%}}

body{--navy:#183d49;--ink:#172532;--orange:#176b73;--soft:#edf3f4;--line:#d7e0e4}.workspace-head{display:flex;align-items:center;gap:32px;margin-bottom:16px}.workspace-head h1{margin:0;white-space:nowrap}.workspace-nav{flex:1;margin:0}.build-toolbar{display:flex;align-items:start;justify-content:space-between;gap:16px;margin-bottom:16px}.build-toolbar .purpose-guide{margin:0}.build-toolbar .purpose-guide[open]{max-width:420px}.part-row{grid-template-columns:116px minmax(0,1fr) 128px;min-height:76px;padding-block:8px}.part-controls button{white-space:nowrap;flex-shrink:0}.global-footer__inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:0!important}.global-footer__inner p{margin:0}.global-footer__inner nav{display:flex;gap:16px}.global-footer__inner details[open]{flex-basis:100%}#parts{max-height:calc(100dvh - 350px);min-height:320px;overflow:auto;scrollbar-gutter:stable}.list-section{margin:0}
@media(max-width:900px){.workspace-head{gap:16px}.build-toolbar{flex-wrap:wrap}#parts{max-height:none;min-height:0}.summary-actions button{white-space:normal}.global-footer__inner{padding-inline:12px!important}}
@media(max-width:600px){.workspace-head{display:block}.workspace-head h1{margin:0 0 12px}.part-row{grid-template-columns:minmax(0,1fr) 128px}.build-toolbar{gap:4px}.build-toolbar .purpose-guide{width:100%}.build-toolbar .purpose-guide[open]{max-width:none}.purpose button{padding:8px 10px}.global-footer__inner{align-items:flex-start}}

.result-summary:empty{display:none}.summary-actions button{white-space:nowrap}
@media(max-width:600px){.build-summary h2{grid-column:1;grid-row:1;align-self:center}.build-summary .summary-link{grid-column:2;grid-row:1;font-size:1rem}.build-summary #observed-total,.build-summary #result-summary{grid-column:1/-1}.build-summary .summary-actions{grid-column:1/-1;grid-row:auto;display:flex;flex-wrap:wrap;margin:12px 0}.summary-actions button{flex:1;padding-inline:10px;white-space:nowrap}.part-top{grid-column:1;grid-row:1;flex-direction:column;align-items:flex-start}.part-controls{grid-column:2;grid-row:1}.part-body{grid-column:1/-1;grid-row:2}#parts{max-height:55dvh;min-height:0}}

.lock{min-height:44px}

/* Product browsing: categories above, filters beside aligned specification cards. */
#catalog-section{display:grid;grid-template-columns:210px minmax(0,1fr);gap:0 24px;background:transparent;border:0;padding:0}
#catalog-heading,#catalog-chips,#extra-catalog{grid-column:1/-1}
#catalog-heading{margin-bottom:4px}#catalog-chips{margin:8px 0}#extra-catalog{margin-bottom:12px}
#catalog-chips button,#extra-catalog-chips button{border-radius:24px;background:var(--color-surface)}
#catalog-chips button[aria-pressed=true],#extra-catalog-chips button[aria-pressed=true]{background:var(--navy)}
.filter-panel{background:var(--color-surface);border:1px solid var(--line);border-radius:10px;padding:4px 16px 16px;align-self:start}
.filter-panel>summary{font-weight:700}.filter-panel .catalog-filters{display:grid;gap:16px}.filter-panel label{font-weight:600}.filter-panel input,.filter-panel select{font-weight:400;background:var(--color-surface);border-color:var(--line)}
.catalog-main{min-width:0}#catalog-status{margin:0;font-weight:700}#performance-guide>summary{font-size:1rem}#performance-guide p{max-width:720px}
#catalog-results{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:65dvh;padding:2px 6px 4px 2px;border:0;align-items:stretch}
.catalog-product{display:flex;flex-direction:column;justify-content:space-between;gap:20px;padding:18px;background:var(--color-surface);border:1px solid var(--line);border-radius:10px;min-width:0}
.catalog-product:hover{border-color:var(--color-accent)}.catalog-product h3{font-size:1.0625rem;line-height:1.5;margin:10px 0 14px;min-height:3em}
.product-badges{display:flex;flex-wrap:wrap;gap:6px;min-height:28px;font-size:1rem}.product-badges>span{padding:2px 9px;border-radius:20px;background:var(--soft);color:var(--navy)}.product-badges .tier-badge{color:var(--color-accent);font-weight:650}
.spec-tags{display:flex;flex-wrap:wrap;align-content:start;gap:7px;margin:0}.spec-tags>div{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;border:1px solid var(--line);border-radius:5px;padding:4px 8px;font-size:1rem;line-height:1.4;max-width:100%}.spec-tags dt{color:var(--navy)}.spec-tags dd{margin:0;font-weight:650;overflow-wrap:anywhere}.spec-tags a{color:var(--color-accent)}
.catalog-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:start;max-width:none;gap:8px;border-top:1px solid var(--line);padding-top:14px}.catalog-actions button{flex:1;background:var(--navy);color:var(--color-surface);border-color:var(--navy);white-space:nowrap}.catalog-actions button:hover{background:var(--color-accent);color:var(--color-surface)}.catalog-actions a{min-height:44px}.catalog-buy{flex:1;justify-content:center;white-space:nowrap}.other-offers{width:100%}.other-offers a{display:block}.catalog-pages{margin:12px 0 0}
@media(min-width:1700px){.pc-builder{width:min(1640px,calc(100% - 64px))}#catalog-results{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1150px){#catalog-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){#catalog-section{display:block}.filter-panel{margin-bottom:16px;padding-bottom:8px}.filter-panel .catalog-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.filter-panel label:first-child{grid-column:1/-1}#catalog-results{max-height:60dvh}.catalog-product{padding:14px}}
@media(max-width:540px){#catalog-results{grid-template-columns:minmax(0,1fr)}.catalog-product h3{min-height:0}.catalog-actions{gap:12px}.product-badges{min-height:0}.filter-panel .catalog-filters{grid-template-columns:minmax(0,1fr)}.filter-panel{padding-inline:12px}}

body{--color-accent:#176b73}
@media(max-width:540px){#catalog-chips{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}#catalog-chips button{flex-shrink:0}}

.pc-save-policy{width:min(1160px,calc(100% - 24px));margin:24px auto}.pc-save-policy summary{padding:12px 0;cursor:pointer}.pc-save-policy button{font:inherit;min-height:44px;padding:10px 16px;border:1px solid var(--navy);border-radius:6px;background:#fff;color:var(--ink);cursor:pointer}
