/* Couche visuelle du mockup : compacte, lisible et centrée sur les objets. */
.product-page { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; min-width:0; }
.product-page>section,.product-page>div { min-width:0; }
.set-hero>div:not(.set-emblem) { min-width:0; }
.portfolio-collage>a { width:100px; flex-shrink:0; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:8px; align-items:center; font-size:12px; color:var(--text-tertiary); }
.breadcrumbs a:hover,.entity-link:hover,.quiet-link:hover { color:var(--text-primary); }
.breadcrumbs [aria-current] { color:var(--text-primary); }
.product-hero { display:grid; grid-template-columns:minmax(230px,.8fr) minmax(0,1.4fr); gap:36px; align-items:center; padding:32px; border-radius:24px; border:1px solid var(--ui-border); background:radial-gradient(ellipse at 15% 40%,color-mix(in srgb,var(--art) 12%,transparent),transparent 60%),var(--app-card); }
.product-identity { display:grid; gap:18px; min-width:0; }
.product-identity h2,.set-hero h2 { font-size:clamp(25px,3vw,40px); line-height:1.15; font-weight:550; letter-spacing:-.04em; }
.identity-badges,.variant-links { display:flex; flex-wrap:wrap; gap:8px; }
.variant-links a { border:1px solid var(--ui-border); border-radius:8px; padding:8px 10px; font-size:11px; color:var(--text-tertiary); }
.variant-links a[aria-current] { border-color:var(--ui-border-strong); color:var(--text-primary); background:var(--ui-active); }
.product-price>span,.product-price small { font-size:12px; color:var(--text-tertiary); }
.product-price>div { display:flex; align-items:center; flex-wrap:wrap; gap:16px; }
.product-price strong { font-size:clamp(34px,4vw,52px); font-weight:550; letter-spacing:-.05em; }
.product-identity .quick-actions { margin-top:0; }
.product-identity .market-variations { margin:0; }
.product-identity .eyebrow { color:var(--text-tertiary); }
.search-hero { min-height:66px; flex:none; padding:0 20px; border-radius:16px; border-color:var(--ui-border); }
.search-hero input { font-size:17px; }
.search-hero kbd { padding:2px 7px; border:1px solid var(--ui-border); border-radius:4px; font-size:12px; }
.search-sets { display:flex; flex-wrap:wrap; gap:8px; }
.mock-screener .asset-price .tnum { font-size:11px; }
.mock-screener .asset-select>.product-art { height:210px; }
.product-page .asset-select>.product-art { height:200px; }
.entity-link { text-underline-offset:4px; }
.entity-link:focus-visible,a:focus-visible,button:focus-visible { outline:2px solid #007aff; outline-offset:4px; border-radius:4px; }
.comparison-pair { display:grid; grid-template-columns:1fr 1fr; gap:18px; padding:26px 0; }
.comparison-pair span { display:block; font-size:12px; color:var(--text-tertiary); }
.comparison-pair strong { display:block; font-size:25px; margin-top:10px; font-weight:500; }
.forecast-summary { display:grid; gap:10px; justify-items:start; }
.forecast-summary>span:first-child,.forecast-summary p { color:var(--text-tertiary); font-size:12px; }
.forecast-summary>strong { font-size:36px; color:var(--col-sv03); font-weight:500; letter-spacing:-.04em; }
.ev-panel { border-color:var(--ui-border); }
.ev-layout { display:grid; grid-template-columns:minmax(0,2fr) minmax(180px,1fr); gap:40px; align-items:center; }
.ev-bars { display:grid; gap:24px; }
.ev-bars>div { display:grid; grid-template-columns:1fr auto; gap:12px; font-size:13px; color:var(--text-tertiary); }
.ev-bars strong { color:var(--text-primary); font-size:18px; font-weight:500; }
.value-bar { grid-column:1/-1; height:10px; border-radius:6px; background:var(--ui-hover); overflow:hidden; }
.value-bar i { display:block; height:100%; border-radius:6px; }
.ev-upside { display:grid; gap:6px; padding:22px; border-radius:16px; background:var(--ui-hover); }
.ev-upside>span:first-child,.ev-upside small { color:var(--text-tertiary); font-size:12px; }
.ev-upside strong { font-size:36px; letter-spacing:-.04em; font-weight:500; }
.set-hero { display:flex; align-items:center; gap:24px; }
.set-hero .demo-label { margin-left:auto; }
.set-hero .subtle { margin-top:12px; }
.set-emblem { width:110px; height:110px; flex-shrink:0; border-radius:24px; display:grid; place-items:center; background:color-mix(in srgb,var(--art) 12%,transparent); border:1px solid color-mix(in srgb,var(--art) 25%,transparent); color:var(--art); font-weight:600; font-size:20px; }
.product-page section[id] { scroll-margin-top:110px; }
.market-set-table small,table.k td small { display:block; font-size:10px; color:var(--text-tertiary); margin-top:6px; }
.market-set-table td { white-space:nowrap; }
.market-set-table td:first-child { min-width:190px; }
.market-pulse { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; border:1px solid var(--ui-border); border-radius:14px; padding:18px 24px; background:var(--ui-hover); }
.market-pulse>div { display:grid; gap:8px; font-size:14px; }
.market-pulse>div>span:first-child { color:var(--text-tertiary); font-size:11px; }
.market-pulse strong { font-weight:500; }
.set-highlight { display:grid; gap:10px; padding:20px; margin-bottom:22px; border-radius:14px; background:var(--ui-hover); border:1px solid var(--ui-border); }
.set-highlight>span,.set-highlight small { color:var(--text-tertiary); font-size:12px; }
.set-highlight strong { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px; font-weight:500; }
.benchmark-section { border-top:1px solid var(--ui-border); margin-top:24px; padding-top:24px; }
.benchmark-section>h3 { font-size:18px; font-weight:500; margin-bottom:18px; }
.set-ranking { display:grid; grid-template-columns:1fr 1fr; gap:0 28px; }
.set-rank-row { display:grid; grid-template-columns:18px minmax(100px,1fr) 70px 68px 55px; align-items:center; gap:10px; border-bottom:1px solid var(--ui-border); padding:14px 0; font-size:12px; }
.set-rank-row strong { font-weight:500; }
.set-rank-row>span:first-child { color:var(--text-tertiary); }
.rank-track { height:5px; background:var(--ui-hover); border-radius:6px; }
.rank-track i { display:block; height:100%; border-radius:6px; }
.set-mini-chart { height:26px; min-width:0; }
#cmpSummary .mock-stat strong { font-size:19px; white-space:normal; }
.compare-workspace .chart-heading { margin-top:24px; flex-wrap:wrap; }
.compare-chip a { min-width:0; }
@media(max-width:1200px) { .set-ranking { grid-template-columns:1fr; } .product-hero { gap:24px; padding:24px; } }
@media(max-width:850px) { .product-hero { grid-template-columns:210px minmax(0,1fr); gap:20px; } .set-hero { flex-wrap:wrap; } .set-hero .demo-label { margin-left:0; } .product-page .asset-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .market-pulse { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { .product-hero { grid-template-columns:minmax(0,1fr); padding:20px; } .product-identity h2 { font-size:28px; } .product-hero .selection-art { order:1; } .product-identity { order:0; } .product-page { gap:18px; } .ev-layout { grid-template-columns:minmax(0,1fr); gap:20px; } .ev-upside { grid-template-columns:1fr auto; align-items:center; } .ev-upside strong { font-size:28px; } .ev-upside small { grid-column:1/-1; } .search-hero input { font-size:15px; } .search-hero kbd { display:none; } .search-hero { padding:0 12px; } .set-emblem { width:64px; height:64px; border-radius:16px; font-size:14px; } .set-hero { gap:16px; } .set-rank-row { grid-template-columns:16px minmax(100px,1fr) 45px 62px; gap:6px; font-size:11px; } .set-mini-chart { display:none; } .comparison-pair { gap:12px; } .comparison-pair strong { font-size:21px; } .market-pulse { padding:16px; gap:16px; } .product-identity .quick-actions { align-items:stretch; } .product-page .asset-grid { gap:10px; } .catalog-controls select { max-width:100%; min-width:0; flex:1; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
.demo-label { color:var(--text-tertiary); font-size:11px; border:1px solid var(--ui-border); border-radius:20px; padding:6px 10px; white-space:nowrap; }
.prototype-heading { margin-bottom:22px; }
.prototype-heading h2 { font-size:28px; }
.prototype-heading p { font-size:13px; }
.mock-market { display:grid; grid-template-columns:minmax(0,1fr); gap:20px; }
.mock-market>section { min-width:0; }
.market-topline { display:flex; justify-content:space-between; align-items:center; gap:14px; flex-wrap:wrap; }
.mock-stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.mock-stat { background:linear-gradient(125deg,var(--app-card),var(--app-card)); border:1px solid var(--ui-border); border-radius:16px; padding:20px; min-width:0; position:relative; overflow:hidden; }
.mock-stat>span { font-size:12px; color:var(--text-tertiary); }
.mock-stat>div:not(.metric-spark) { display:flex; align-items:baseline; flex-wrap:wrap; gap:10px; margin-top:10px; }
.mock-stat strong { font-size:clamp(20px,1.7vw,27px); font-weight:550; letter-spacing:-.04em; white-space:nowrap; }
.mock-stat .tnum { font-size:11px; }
.mock-stat p { font-size:11px; color:var(--text-tertiary); margin-top:8px; }
.metric-spark { height:32px; width:100%; margin-top:12px; opacity:.7; }
.premium-panel { padding:24px; background:var(--app-card); border:1px solid var(--ui-border); border-radius:20px; min-width:0; }
.premium-panel h3 { font-size:19px; font-weight:550; letter-spacing:-.025em; }
.market-chart-grid { display:grid; grid-template-columns:minmax(0,2.5fr) minmax(250px,1fr); gap:18px; }
.market-chart-value { font-size:32px; letter-spacing:-.04em; font-weight:500; margin-bottom:12px; }
.market-chart-value>span { font-size:14px; margin-left:10px; }
.market-variations { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; border-top:1px solid var(--ui-border); padding-top:16px; margin-top:12px; }
.market-variations>div { display:grid; gap:7px; }
.market-variations>div>span:first-child { color:var(--text-tertiary); font-size:11px; }
.market-variations .tnum { font-size:13px; }
.market-breadth .allocation-ring { margin:28px auto; width:156px; height:156px; }
.market-breadth .allocation-ring>div { width:130px; height:130px; background:var(--app-card); }
.market-key { display:flex; justify-content:space-between; gap:12px; font-size:12px; margin-top:12px; }
.market-key>span { display:flex; align-items:center; gap:7px; color:var(--text-tertiary); }
.market-key i { width:6px; height:6px; border-radius:50%; }
.market-key strong { font-weight:500; white-space:nowrap; }
.breadth-bar { height:6px; background:var(--negative); border-radius:10px; overflow:hidden; margin-top:24px; }
.breadth-bar span { height:100%; display:block; background:var(--positive); }
.market-breadth small { display:block; color:var(--text-tertiary); font-size:10px; margin-top:12px; }
.mover-grid,.market-segments { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.mover-row { display:flex; align-items:center; gap:12px; width:100%; text-align:left; padding:10px 0; border-top:1px solid var(--ui-border); }
.mover-position { font-size:11px; color:var(--text-tertiary); }
.mover-name { min-width:0; flex:1; }
.mover-name strong { display:block; font-size:13px; font-weight:500; }
.mover-name small { display:block; font-size:11px; color:var(--text-tertiary); margin-top:4px; }
.mover-spark { width:64px; height:26px; flex-shrink:0; }
.mover-price { display:grid; gap:4px; text-align:right; font-size:12px; white-space:nowrap; }
.mover-price strong { font-weight:500; }
.mover-price .tnum { font-size:11px; }
.segment-card { display:grid; grid-template-columns:minmax(0,1fr) 120px; align-items:center; gap:16px; }
.segment-card p { color:var(--text-tertiary); font-size:12px; line-height:1.6; margin:10px 0 14px; }
.segment-card .product-art { width:120px; height:150px; }
.segment-card .card-art img { height:140px; width:100px; }
.mock-screener { display:grid; grid-template-columns:minmax(0,1fr); gap:16px; }
.mock-screener>.catalog-controls { margin-bottom:0; }
.mock-screener>.catalog-title { margin:0; }
.mock-screener .asset-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.mock-screener .asset-select>.product-art { height:200px; }
.mock-screener .card-art img { height:174px; width:126px; }
.mock-screener .asset-copy { padding:14px; }
.mock-screener .asset-price { margin-top:8px; }
.mock-screener .asset-copy h4 { min-height:40px; }
.tile-actions { padding:10px; }
.tile-actions .asset-details { display:grid; place-items:center; }
.mock-selection { position:relative; display:grid; grid-template-columns:minmax(210px,.75fr) minmax(0,1.65fr); background:linear-gradient(130deg,var(--app-card),var(--app-card) 55%,var(--app-card)); border:1px solid var(--ui-border); border-radius:24px; padding:26px; gap:30px; scroll-margin-top:150px; }
.selection-close { position:absolute; top:12px; right:12px; display:grid; place-items:center; width:34px; height:34px; color:var(--text-tertiary); background:var(--ui-hover); border-radius:50%; z-index:3; }
.selection-art { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px; min-width:0; }
.selection-art>.product-art { height:360px; width:100%; background:radial-gradient(ellipse at center,color-mix(in srgb,var(--art) 24%,transparent),transparent 72%); overflow:visible; }
.selection-art .card-art img { height:325px; width:235px; transform:rotate(-4deg); }
.selection-art .box-illustration { transform:scale(2) rotate(-8deg); }
.selection-info { min-width:0; display:grid; gap:16px; }
.selection-info h3 { font-size:26px; font-weight:550; letter-spacing:-.03em; padding-right:22px; }
.selection-info .eyebrow { margin-bottom:5px; }
.selection-price { display:flex; flex-wrap:wrap; gap:10px; align-items:baseline; }
.selection-price>strong { font-size:36px; line-height:1.1; letter-spacing:-.04em; font-weight:550; white-space:nowrap; }
.selection-price>span:last-child { font-size:12px; color:var(--text-tertiary); }
.selection-chart-header { display:flex; justify-content:space-between; flex-wrap:wrap; align-items:center; gap:10px; padding-top:14px; border-top:1px solid var(--ui-border); }
.selection-chart-header h4 { font-size:12px; font-weight:500; color:var(--text-tertiary); }
.mock-projection { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; background:rgba(88,86,214,.03); border:1px solid rgba(88,86,214,.1); border-radius:12px; padding:14px 16px; }
.mock-projection>div:first-child>span { font-size:12px; color:var(--text-tertiary); display:block; margin-bottom:8px; }
.mock-projection>div:last-child { text-align:right; }
.mock-projection strong { display:block; font-size:24px; color:var(--col-sv03); font-weight:500; }
.mock-projection small { display:block; font-size:11px; color:var(--text-tertiary); margin-top:5px; }
.illustrated-card { position:absolute; display:flex; flex-direction:column; align-items:center; justify-content:space-between; text-align:center; padding:12px; width:110px; height:153px; background:linear-gradient(145deg,var(--art),#283752); border:5px solid #e0c98a; border-radius:8px; box-shadow:0 8px 22px rgba(0,0,0,.05); color:#fff; transform:rotate(-5deg); }
.illustrated-card>span { font-size:8px; font-weight:700; letter-spacing:.08em; color:#ffe49e; }
.illustrated-card>div { display:grid; place-items:center; flex:1; font-size:40px; text-shadow:0 0 25px white; }
.illustrated-card>strong { font-size:10px; line-height:1.15; }
.illustrated-card>small { font-size:7px; margin-top:4px; }
.small-art .illustrated-card { width:34px; height:48px; padding:2px; border-width:2px; }
.small-art .illustrated-card>div { font-size:14px; }
.small-art .illustrated-card>span,.small-art .illustrated-card>strong,.small-art .illustrated-card>small { display:none; }
.selection-art .illustrated-card { width:230px; height:320px; border-width:9px; padding:20px; }
.selection-art .illustrated-card>span { font-size:14px; }
.selection-art .illustrated-card>div { font-size:90px; }
.selection-art .illustrated-card>strong { font-size:22px; }
.selection-art .illustrated-card>small { font-size:12px; }
.prototype-detail .detail-art>.product-art { height:380px; }
.prototype-detail .detail-art .card-art img { height:340px; width:244px; }
.prototype-detail .illustrated-card { width:210px; height:290px; padding:20px; }
.prototype-detail .illustrated-card>strong { font-size:18px; }
.detail-art { text-align:center; }
.detail-art>.demo-label { display:inline-block; margin-top:12px; }
.detail-projection { display:flex; justify-content:space-between; gap:12px; color:var(--text-tertiary); font-size:13px; padding:12px 0; border-bottom:1px solid var(--ui-border); }
.detail-projection strong { color:var(--col-sv03); }
.quality-toggle { display:flex; gap:6px; padding:4px; border:1px solid var(--ui-border); border-radius:12px; background:var(--app-card); margin-bottom:16px; }
.quality-toggle button { min-height:42px; flex:1; padding:8px; font-size:13px; color:var(--text-tertiary); border-radius:8px; }
.quality-toggle button[aria-pressed="true"] { background:var(--ui-active); color:var(--text-primary); box-shadow:0 1px 6px rgba(0,0,0,.05); }
.psa-label { display:flex; justify-content:space-between; align-items:center; margin-top:18px; font-size:13px; color:var(--text-tertiary); }
.psa-label output { font-size:22px; font-weight:600; color:var(--negative); }
#psaRange { width:100%; min-height:40px; accent-color:var(--negative); cursor:pointer; margin-top:8px; }
.psa-scale { display:flex; justify-content:space-between; color:var(--text-tertiary); font-size:11px; }
.prototype-add { background:var(--ui-hover); padding:18px; }
.prototype-add label { font-size:12px; }
.prototype-add>.action-button { width:100%; }
.journal-disclosure .journal-panel { border:0; padding:12px 0; }
body[data-route="screener"] .topbar-row { min-height:64px; }
@media(max-width:1200px){.mock-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }.mock-screener .asset-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }.mover-spark { display:none; }.market-chart-grid { grid-template-columns:minmax(0,1.8fr) minmax(230px,1fr); }}
@media(max-width:850px){.market-chart-grid,.mover-grid { grid-template-columns:minmax(0,1fr); }.market-breadth { display:grid; grid-template-columns:1fr 1fr; gap:8px 24px; align-items:center; }.market-breadth .eyebrow,.market-breadth h3 { grid-column:1/-1; }.market-breadth .allocation-ring { grid-row:3/7; margin:14px auto; }.market-breadth .breadth-bar { grid-column:1/-1; margin-top:10px; }.market-breadth small { grid-column:1/-1; }.mock-selection { grid-template-columns:190px minmax(0,1fr); padding:20px; gap:18px; }.selection-art .card-art img { height:260px;width:188px; }.selection-art .illustrated-card { width:180px;height:250px; }.selection-art>.product-art { height:285px; }.selection-info h3 { font-size:23px; }.market-segments { grid-template-columns:minmax(0,1fr); }}
@media(max-width:600px){.prototype-heading { margin-bottom:16px; }.prototype-heading h2 { font-size:24px; }.prototype-heading p { font-size:12px; }.demo-label { font-size:9px; }.mock-screener .asset-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; }.mock-screener .asset-select>.product-art { height:168px; }.mock-screener .card-art img { height:150px;width:108px; }.mock-screener .asset-copy { padding:10px; }.mock-screener .asset-copy h4 { font-size:12px; }.mock-selection { grid-template-columns:minmax(0,1fr); padding:18px; gap:20px; }.selection-art>.product-art { height:265px; }.selection-art .card-art img { height:250px;width:180px; }.selection-art .illustrated-card { width:176px;height:244px; }.selection-art .box-illustration { transform:scale(1.6) rotate(-8deg); }.selection-art .tag { display:none; }.selection-info h3 { font-size:23px; }.selection-price>strong { font-size:32px; }.mock-stat { padding:15px; }.mock-stat strong { font-size:20px; }.mock-stat p { font-size:10px; }.premium-panel { padding:18px; }.market-chart-value { font-size:26px; }.market-variations { gap:10px; }.market-variations .tnum { font-size:11px; }.market-variations>div>span:first-child { font-size:10px; }.market-breadth .allocation-ring { width:120px;height:120px; }.market-breadth .allocation-ring>div { width:98px;height:98px; }.market-key { font-size:10px; }.market-breadth { gap:8px 12px; }.mover-row { gap:8px; }.mover-name strong { font-size:12px; }.mover-name small { font-size:10px; }.mover-price { font-size:11px; }.mover-price .tnum { font-size:10px; }.mover-position { display:none; }.segment-card { grid-template-columns:minmax(0,1fr) 100px; }.segment-card .product-art { width:100px; }.prototype-detail .detail-art>.product-art { height:275px; }.prototype-detail .detail-art .card-art img { height:250px;width:180px; }.prototype-detail .illustrated-card { width:170px;height:240px; }.prototype-detail { padding-top:22px; }.prototype-add { padding:14px; }.quality-toggle button { font-size:12px; }.mock-projection { padding:12px; }.mock-projection small { font-size:10px; }.market-topline .action-button { width:100%; }}
