/* Apple-inspired web system. Four-point spacing, semantic appearance tokens. */
:root{color-scheme:light;--bg:#F2F2F7;--surface:#fff;--glass:rgba(255,255,255,.82);--bar:rgba(248,248,252,.88);--label:#000;--secondary:rgba(60,60,67,.78);--tertiary:rgba(60,60,67,.60);--separator:rgba(60,60,67,.18);--fill:rgba(120,120,128,.12);--blue:#007AFF;--action:#0063CC;--green:#34C759;--success:#187D36;--red:#FF3B30;--danger:#C52A21;--tint:rgba(0,122,255,.10);--shadow:0 2px 12px rgba(0,0,0,.035);--radius:20px;--spring:cubic-bezier(.32,.72,0,1);--font:-apple-system,BlinkMacSystemFont,'Helvetica Neue',Arial,sans-serif;--large:2.125rem;--title1:1.75rem;--title2:1.375rem;--title3:1.25rem;--body:1.0625rem;--sub:.9375rem;--foot:.8125rem;--caption:.75rem;--muted:var(--secondary);--ink:var(--label);--line:var(--separator);--paper:var(--bg)}

:root[data-theme=dark]{color-scheme:dark;--bg:#1C1C1E;--surface:#2C2C2E;--glass:rgba(44,44,46,.86);--bar:rgba(28,28,30,.88);--label:#F5F5F7;--secondary:rgba(235,235,245,.78);--tertiary:rgba(235,235,245,.60);--separator:rgba(84,84,88,.65);--fill:rgba(120,120,128,.24);--blue:#0A84FF;--action:#64ADFF;--green:#30D158;--success:#5ADC7D;--red:#FF453A;--danger:#FF817A;--tint:rgba(10,132,255,.16);--shadow:0 2px 12px rgba(0,0,0,.12)}

@media(prefers-color-scheme:dark){:root:not([data-theme]){color-scheme:dark;--bg:#1C1C1E;--surface:#2C2C2E;--glass:rgba(44,44,46,.86);--bar:rgba(28,28,30,.88);--label:#F5F5F7;--secondary:rgba(235,235,245,.78);--tertiary:rgba(235,235,245,.60);--separator:rgba(84,84,88,.65);--fill:rgba(120,120,128,.24);--action:#64ADFF;--success:#5ADC7D;--danger:#FF817A;--tint:rgba(10,132,255,.16)}
}

*{box-sizing:border-box}
html{scroll-padding-bottom:100px;-webkit-tap-highlight-color:transparent}
body{margin:0;min-height:100dvh;background:var(--bg);color:var(--label);font:var(--body)/1.5 var(--font);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
h1,h2,h3,p{margin:0 0 16px}
h1{font-size:var(--large);line-height:1.21;letter-spacing:-.7px;font-weight:700;text-wrap:balance}
h2{font-size:var(--title2);line-height:1.28;font-weight:600}
h3{font-size:var(--title3);line-height:1.25;font-weight:600}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit;min-height:44px;max-width:100%}
button,a,input,select,summary{touch-action:manipulation}
button{cursor:pointer;background:var(--tint);color:var(--action);border:0;border-radius:12px;padding:8px 16px;font-weight:600}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
input,select{background:var(--surface);border:1px solid var(--separator);border-radius:12px;padding:8px 12px}
select{cursor:pointer}
option{color:var(--label);background:var(--surface)}
.wrap{max-width:1200px;margin:auto;padding:0 32px}
.masthead{background:var(--bar);border-bottom:.5px solid var(--separator);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:72px}
.brand{font-size:var(--body);font-weight:600;min-height:44px;display:flex;align-items:center;white-space:nowrap}
.brand i,.edition{display:none}
.desktop-nav{display:flex;gap:8px}
.desktop-nav a{padding:12px 16px;border-radius:12px;font-size:var(--sub)}
.desktop-nav a[aria-current]{color:var(--action);background:var(--tint);font-weight:600}
.appearance-control{display:flex;align-items:center;gap:8px;font-size:var(--foot)}
#appearance{border:0;background:var(--fill);font-size:var(--foot);width:88px}
.bottom-nav{display:none}
.page-head{padding:32px 0 24px;max-width:800px}
.eyebrow{font-size:var(--caption);font-weight:600;color:var(--secondary);letter-spacing:.8px;margin-bottom:8px}
.lead{font-size:var(--sub);color:var(--secondary);margin:0;max-width:680px}
.section-title{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin:28px 0 12px}
.section-title h2{margin:0}
.section-title span,.small{font-size:var(--foot)}
.section-title span,.muted,.identity{color:var(--secondary)}
.num{font-variant-numeric:tabular-nums;font-weight:600}
.text-link{color:var(--action);display:inline-flex;align-items:center;min-height:44px}
.panel,.company-card,.discovery-overview,.research-row,.decision-row,.prose,.ranking,.mobile-brief,.history-list{background:var(--glass);border:.5px solid var(--separator);border-radius:var(--radius);box-shadow:var(--shadow);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}

.dashboard-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:24px}
.dashboard-grid>*,.report-layout>*{min-width:0}
.ranking{overflow:hidden}
.rank-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:12px;padding:16px;border-bottom:.5px solid var(--separator)}
.rank-row:last-child{border-bottom:0}
.rank-row:hover{background:var(--fill)}
.rank-no{color:var(--secondary);font-size:var(--caption)}
.rank-row h3{font-size:var(--body);margin:0 0 4px}
.rank-summary{font-size:var(--foot);color:var(--secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin:4px 0}
.quote-pair{font-size:var(--caption);color:var(--secondary)}
.distance{font-size:var(--title1);font-weight:600;text-align:right;white-space:nowrap;color:var(--secondary)}
.distance small{display:block;font-size:var(--caption);font-weight:400;white-space:normal;color:var(--secondary)}
.distance.near{color:var(--action)}
.distance.hit{color:var(--success);background:var(--fill);border-radius:12px;padding:8px}
.distance-bar{height:4px;background:var(--fill);border-radius:4px;margin-top:8px;overflow:hidden}
.distance-bar span{display:block;height:100%;background:var(--blue);border-radius:4px}
.rank-row:has(.distance.hit) .distance-bar span{background:var(--green)}
.panel{padding:20px;margin-bottom:20px}
.panel .issue{font-size:var(--title1);font-weight:600}
.summary-line{font-size:var(--sub);padding:12px 0;border-top:.5px solid var(--separator);margin:0}
.statistics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;padding:12px 0}
.statistics b{font-size:var(--title1);font-weight:600;display:block}
.statistics span{font-size:var(--caption);color:var(--secondary)}
.channel-list{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:var(--foot);color:var(--secondary);margin:16px 0}
.badge{font-size:var(--caption);font-weight:500;color:var(--secondary);white-space:nowrap}
.badge.gold{color:var(--label)}
.badge.rejected{color:var(--danger)}
.mobile-brief{display:none}

.filter-drawer{margin:12px 0;background:var(--fill);border-radius:16px;padding:0 16px}
.filter-drawer>summary{font-weight:600;color:var(--action)}
summary{display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer;list-style:none;font-size:var(--sub);color:var(--action)}
summary::-webkit-details-marker{display:none}
summary::after{content:'＋';margin-left:auto;font-size:var(--body)}
details[open]>summary::after{content:'−'}
details p{overflow-wrap:anywhere}
.filters{display:flex;flex-wrap:wrap;gap:8px;padding:12px 0 16px}
.filters input{flex:1 1 200px;min-width:0}
.filters select{flex:1 1 136px;min-width:0;font-size:var(--sub)}
.result-meta{display:flex;justify-content:space-between;gap:12px;color:var(--secondary);font-size:var(--foot);margin:16px 0}
.state-tabs{display:flex;gap:4px;background:var(--fill);border-radius:12px;padding:4px}
.state-tabs button{flex:1;min-width:0;border-radius:9px;color:var(--secondary);background:none;padding:8px;font-size:var(--sub)}
.state-tabs button b{font-weight:500;font-size:var(--foot);margin-left:4px}
.state-tabs [aria-pressed=true]{background:var(--surface);color:var(--action);box-shadow:0 2px 5px rgba(0,0,0,.12)}
.decision-note{margin:12px 0 16px}
.load-more{display:block;margin:24px auto}
.empty{padding:24px;background:var(--fill);border-radius:16px;color:var(--secondary)}

.discovery-overview{padding:20px;margin-bottom:24px}
.discovery-total{display:flex;align-items:center;gap:16px;padding:0 0 16px;border-bottom:.5px solid var(--separator)}
.discovery-total>b{font-size:var(--large);font-weight:700;line-height:1.2}
.discovery-total span{display:block;color:var(--secondary);font-size:var(--foot)}
.funnel-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.funnel-column h2{font-size:var(--title3);margin:20px 0 12px}
.funnel-step{display:flex;align-items:center;gap:12px;margin:4px calc(var(--step)*8px) 4px 0;padding:8px 12px;border-radius:10px;background:var(--fill)}
.funnel-step b{min-width:64px;font-size:var(--title2);font-weight:600}
.funnel-step span{font-size:var(--foot)}
.funnel-outcome{font-size:var(--foot);margin:12px 0;color:var(--secondary)}
.discovery-overview>.small{margin:12px 0 0}
.research-row,.decision-row{padding:16px;margin-bottom:12px;overflow-wrap:anywhere;scroll-margin-top:20px}
.research-row header,.decision-row header{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.research-row h3{font-size:var(--body);margin:0;font-weight:600}
.research-row header small,.decision-row small{font-size:var(--caption);color:var(--secondary)}
.row-score{margin-left:12px;font-size:var(--body);font-weight:600}
.row-summary{font-size:var(--sub);margin:12px 0 8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.row-verdict{font-size:var(--sub);color:var(--secondary);margin:0 0 8px}
.research-row summary{font-size:var(--foot);border-top:.5px solid var(--separator);flex-wrap:wrap}
.research-row summary span{font-size:var(--caption);color:var(--secondary);margin-left:auto}
.research-row details p{font-size:var(--body)}
.decision-row header>a{gap:8px;color:var(--label);flex-wrap:wrap}
.decision-row header strong{font-size:var(--body);font-weight:600}
.decision-row header>span{font-size:var(--foot);color:var(--secondary)}
.decision-row[data-state=rejected] header>span{color:var(--danger)}
.decision-row>p{font-size:var(--sub);margin:8px 0}
.decision-price{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:var(--caption)}
.decision-price b{font-size:var(--title3);font-weight:600}
.decision-price .distance{font-size:var(--title2)}
.reason-tags{display:flex;flex-wrap:wrap;gap:8px}
.reason-tag{font-size:var(--caption);color:var(--secondary);background:var(--fill);border-radius:8px;padding:4px 8px}

.prose{padding:28px;max-width:800px;font-size:var(--body);line-height:1.8;overflow-wrap:anywhere}
.prose h1{font-size:var(--title1);line-height:1.35}
.prose h2{margin:32px 0 16px}
.prose h3{margin:24px 0 12px}
.prose li{margin-bottom:8px}
.prose ul,.prose ol{padding-left:24px}
.prose table{display:block;overflow:auto;border-collapse:collapse;width:100%;font-size:var(--foot)}
.prose td,.prose th{border:1px solid var(--separator);padding:8px;min-width:96px}
.prose pre{background:var(--fill);padding:16px;border-radius:12px;white-space:pre-wrap;font-size:var(--foot)}
.prose blockquote{margin:16px 0;color:var(--secondary)}
.prose a{color:var(--action);text-decoration:underline}
.source-text{font-size:var(--foot);color:var(--secondary)}
.prose img{max-width:100%}
.prose hr{border:0;border-top:.5px solid var(--separator);margin:24px 0}
.report-layout{display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:24px}
.history-list{padding:8px 16px}
.history-list a{display:flex;align-items:center;min-height:44px;color:var(--action)}
.research-value h3{color:var(--secondary)}
.about{margin-top:32px;border-top:.5px solid var(--separator);padding-top:16px}
.footer{margin:40px auto 0;padding-top:24px;padding-bottom:32px;font-size:var(--caption);color:var(--secondary)}
.quality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.company-card{padding:20px;min-width:0}
.card-top,.card-price{display:flex;justify-content:space-between;align-items:center;gap:12px}
.score,.identity,.label{font-size:var(--caption);color:var(--secondary)}
.label{display:block}
.card-copy{font-size:var(--sub);margin:16px 0}
.price-trio{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-block:.5px solid var(--separator);padding:12px 0}
.price-trio small{display:block;font-size:var(--caption)}
.price-trio .num{font-size:var(--title2)}
.card-price{padding:16px 0}
.table-wrap{overflow:auto}
.price-table{border-collapse:collapse;width:100%}
.price-table td,.price-table th{padding:12px;border-bottom:.5px solid var(--separator)}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
[hidden],.hidden{display:none!important}

@media(min-width:769px){.filter-drawer>summary{display:none}
}

@media(max-width:900px){.desktop-nav a{padding:12px 8px}
.header-inner{gap:8px}
.quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:768px){body{padding-bottom:calc(88px + env(safe-area-inset-bottom))}
.wrap{padding-inline:16px}
.header-inner{min-height:60px}
.desktop-nav{display:none}
.brand{font-size:var(--body)}
.appearance-control>span{display:none}
.bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;bottom:0;left:0;right:0;z-index:20;background:var(--bar);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border-top:.5px solid var(--separator);padding:8px 8px calc(8px + env(safe-area-inset-bottom));min-height:72px}
.bottom-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:48px;font-size:12px;color:var(--secondary);border-radius:12px}
.bottom-nav a[aria-current]{color:var(--action);font-weight:600}
.bottom-nav svg{width:24px;height:24px;stroke-width:1.7}
.page-head{padding:24px 0 20px}
.dashboard-grid{display:block}
.dashboard-aside{margin-top:24px}
.mobile-brief{display:block;padding:12px 16px;margin-bottom:20px;font-size:var(--foot)}
.mobile-brief a{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px}
.mobile-brief strong{color:var(--action);font-weight:600}
.mobile-brief p{margin:8px 0 0;color:var(--secondary)}
.mobile-brief p span{display:block}
.rank-row{grid-template-columns:16px minmax(0,1fr) auto;gap:8px;padding:16px 12px}
.rank-row .distance{font-size:var(--title2)}
.rank-row .badge{display:block}
.section-title{flex-wrap:wrap;gap:4px}
.filters input{flex-basis:100%;width:100%}
.filters select{flex:1 1 calc(50% - 8px);width:calc(50% - 8px)}
.funnel-pair{grid-template-columns:1fr;gap:0}
.discovery-overview{padding:16px}
.funnel-step b{min-width:56px}
.funnel-step{gap:8px;padding:8px}
.funnel-step span{font-size:var(--caption)}
.report-layout{display:flex;flex-direction:column-reverse;gap:20px}
.history-list{display:flex;flex-wrap:wrap;gap:20px}
.prose{padding:20px 16px}
.quality-grid{grid-template-columns:1fr}
.decision-row header{gap:4px}
.decision-row>p.small{font-size:var(--foot)}
.result-meta{font-size:var(--caption)}
.footer{padding-top:16px}
}

@media(prefers-reduced-motion:no-preference){button,a,select{transition:background .25s var(--spring),color .25s var(--spring),transform .25s var(--spring)}
button:active{transform:scale(.97)}
details[open]{animation:reveal .25s var(--spring)}
@keyframes reveal{from{opacity:.6;transform:translateY(3px)}
to{opacity:1;transform:none}
}
}

@media(prefers-reduced-transparency:reduce){.masthead,.bottom-nav{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}
.panel,.company-card,.discovery-overview,.research-row,.decision-row,.prose,.ranking,.mobile-brief,.history-list{background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none}
}

@supports not (backdrop-filter:blur(1px)){.masthead,.bottom-nav,.panel,.company-card,.discovery-overview,.research-row,.decision-row,.prose,.ranking,.mobile-brief,.history-list{background:var(--surface)}
}

@media(prefers-contrast:more){:root{--secondary:var(--label);--tertiary:var(--label);--separator:var(--label)}
}
.tracking-scope .discovery-total{margin-bottom:12px}.tracking-scope p{font-size:var(--sub);margin-bottom:12px}.tracking-scope p:last-child{margin-bottom:0}.tracking-subtitle{font-size:var(--body);margin:20px 0 12px}.tracking-subtitle span{font-size:var(--foot);color:var(--secondary);font-weight:400}.tracking-checklist{list-style:none;padding:0;margin:0}.tracking-checklist li{display:flex;gap:12px;padding:12px 0;border-top:.5px solid var(--separator);font-size:var(--sub)}.check-type{flex:none;align-self:flex-start;background:var(--tint);color:var(--action);border-radius:8px;padding:4px 8px;font-size:var(--caption)}.tracking-checklist small{display:block;margin-top:4px;font-size:var(--caption);color:var(--secondary)}.monthly-snapshot{margin-top:20px;padding:16px;background:var(--fill);border-radius:16px}.monthly-snapshot h3{margin-top:0}.monthly-snapshot p{font-size:var(--sub);margin-bottom:8px}.monthly-snapshot .small{font-size:var(--foot)}.tracking-archive{border-top:1px solid var(--separator);padding:12px 0}.tracking-archive>summary{font-weight:600}.condition-original{font-size:var(--sub);margin:12px 0}.decision-price>span{max-width:100%}.tracking-checklist li>div{min-width:0}
/* Research reading surface: summary first, evidence disclosed at the end. */
.research-reader{max-width:800px;margin:32px auto 0;overflow-wrap:anywhere}
.research-header h1{font-size:var(--large);margin:12px 0}
.research-identity{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:var(--sub)}
.research-verdict{line-height:1.7;margin-top:16px}
.research-summary h2{font-size:var(--title2);margin:0 0 8px}
.research-summary ul{list-style:none;padding:0;margin:20px 0 0}
.research-summary li{margin:0 0 16px}
.research-summary li:last-child{margin-bottom:0}
.research-summary strong{font-size:var(--sub);font-weight:600}
.research-summary li p{margin:4px 0 0;font-size:var(--body);line-height:1.7}
.reader-nav{display:flex;flex-wrap:wrap;gap:4px 16px;margin:4px 0 20px}
.reader-nav a{display:flex;align-items:center;min-height:44px;color:var(--action);font-size:var(--sub)}
.research-prose h2{font-size:var(--title2)}
.research-prose h3{font-size:var(--title3);font-weight:600}
.research-prose p{margin:16px 0;line-height:1.85}
.research-prose section{scroll-margin-top:88px}
.research-price{background:var(--fill);padding:4px 16px;border-radius:16px;margin-top:20px;font-variant-numeric:tabular-nums}
.research-audit{margin-top:36px;border-top:1px solid var(--separator);padding-top:12px;scroll-margin-top:88px}
.research-audit summary{min-height:44px;cursor:pointer;font-weight:600;align-content:center}
.research-audit .text-link{display:inline-flex;align-items:center;min-height:44px}
.research-source-list{font-size:var(--foot);color:var(--secondary)}
@media(max-width:768px){.research-reader{margin-top:20px}.research-header{padding:20px 16px}.research-summary{padding:20px 16px}}
