:root {
  color-scheme: dark;
  --bg: #070b14;
  --bg-soft: #0c1221;
  --panel: rgba(16, 23, 40, 0.82);
  --panel-2: rgba(13, 20, 35, 0.92);
  --border: rgba(255,255,255,0.09);
  --border-strong: rgba(255,255,255,0.16);
  --text: #f4f7ff;
  --muted: #93a0b8;
  --accent: #8b7cff;
  --accent-2: #46d6c7;
  --good: #70e6a4;
  --warn: #ffd36b;
  --bad: #ff7e91;
  --radius: 18px;
  --shadow: 0 26px 80px rgba(0,0,0,0.28);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--bg); }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  color: var(--text);
  background:
    radial-gradient(circle at 20% 0%, rgba(92,76,200,.16), transparent 33rem),
    radial-gradient(circle at 100% 40%, rgba(45,180,170,.10), transparent 30rem),
    var(--bg);
  line-height: 1.55;
}
button, select { font: inherit; }
button { color: inherit; }
button:focus-visible, select:focus-visible, a:focus-visible { outline: 3px solid rgba(139,124,255,.55); outline-offset: 3px; }

.skip-link { position: fixed; left: 12px; top: -100px; z-index: 100; padding: 10px 14px; background: #fff; color: #111; border-radius: 8px; }
.skip-link:focus { top: 12px; }
.shell { width: min(1180px, calc(100% - 32px)); margin-inline: auto; }
.site-header { padding: 26px 0 12px; }
.header-inner, .footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
h1, h2, p { margin-top: 0; }
h1 { margin-bottom: 0; font-size: clamp(1.38rem, 3vw, 2rem); letter-spacing: -.035em; }
.site-title { margin: 0; min-width: 0; max-width: 100%; font-size: clamp(1.38rem, 3vw, 2rem); font-weight: 700; line-height: 1.2; letter-spacing: -.035em; overflow-wrap: anywhere; word-break: normal; }
h2 { margin-bottom: 0; font-size: clamp(1.08rem, 2vw, 1.42rem); letter-spacing: -.025em; }
.eyebrow { margin: 0 0 4px; font-size: .68rem; font-weight: 800; letter-spacing: .15em; color: #9f94ff; }
.version-badge, .score-class { display: inline-flex; align-items: center; min-height: 30px; padding: 5px 10px; border: 1px solid var(--border); background: rgba(255,255,255,.04); border-radius: 999px; color: #c5ccda; font-size: .76rem; font-weight: 800; letter-spacing: .07em; }

main { padding: 18px 0 50px; }
.panel { position: relative; border: 1px solid var(--border); background: linear-gradient(180deg, rgba(255,255,255,.025), transparent), var(--panel); border-radius: var(--radius); box-shadow: var(--shadow); backdrop-filter: blur(14px); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(290px, .9fr); gap: 16px; }
.hero-score-panel { padding: clamp(20px, 4vw, 34px); overflow: hidden; }
.hero-score-panel::after { content: ""; position: absolute; width: 250px; height: 250px; right: -90px; bottom: -120px; border-radius: 50%; background: radial-gradient(circle, rgba(139,124,255,.22), transparent 66%); pointer-events: none; }
.device-panel { padding: 24px; align-self: start; }
.section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.section-heading.compact { margin-bottom: 16px; }
.score-wrap { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: clamp(22px, 4vw, 46px); align-items: center; }
.score-ring { --score-angle: 12deg; width: 220px; aspect-ratio: 1; padding: 12px; border-radius: 50%; background: conic-gradient(var(--accent) 0 var(--score-angle), rgba(255,255,255,.08) var(--score-angle) 360deg); box-shadow: 0 0 50px rgba(139,124,255,.14); transition: background .5s ease; }
.score-ring-inner { display: grid; place-content: center; width: 100%; height: 100%; text-align: center; background: radial-gradient(circle at 50% 34%, rgba(255,255,255,.06), transparent 55%), #0c1220; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; }
.score-ring strong { display: block; font-size: clamp(3rem, 7vw, 4.6rem); line-height: .95; letter-spacing: -.065em; font-variant-numeric: tabular-nums; }
.score-ring small { margin-top: 7px; color: var(--muted); font-size: .72rem; text-transform: uppercase; letter-spacing: .12em; }
.score-copy p { max-width: 40rem; margin-bottom: 12px; color: #b9c2d2; font-size: clamp(.96rem, 2vw, 1.08rem); }
.score-copy strong { font-size: .88rem; color: var(--muted); }
#scoreDelta[data-delta="up"] { color: var(--good); }
#scoreDelta[data-delta="down"] { color: var(--bad); }

.controls { display: grid; grid-template-columns: minmax(160px, .85fr) 1.3fr auto; gap: 10px; margin-top: 28px; align-items: end; }
.field { display: grid; gap: 7px; }
.field > span { color: var(--muted); font-size: .76rem; font-weight: 700; }
select, .primary-button, .ghost-button, .small-button { min-height: 46px; border-radius: 11px; border: 1px solid var(--border-strong); }
select { width: 100%; padding: 0 12px; color: var(--text); background: #0c1323; }
.primary-button { padding: 0 18px; border-color: transparent; background: linear-gradient(135deg, #7b6cff, #9c79ff); color: #fff; font-weight: 850; cursor: pointer; box-shadow: 0 10px 32px rgba(123,108,255,.24); }
.ghost-button, .small-button { padding: 0 15px; background: rgba(255,255,255,.035); font-weight: 760; cursor: pointer; }
button:disabled, select:disabled { opacity: .45; cursor: not-allowed; }
.primary-button:not(:disabled):active, .ghost-button:not(:disabled):active, .small-button:not(:disabled):active { transform: translateY(1px); }
.progress-block { margin-top: 20px; }
.progress-meta { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 7px; color: #bac4d5; font-size: .78rem; }
.progress-track { height: 9px; overflow: hidden; background: rgba(255,255,255,.055); border-radius: 999px; }
.progress-bar { width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--accent), var(--accent-2)); transition: width .25s ease; }
.status-text { min-height: 1.5em; margin: 10px 0 0; color: var(--muted); font-size: .78rem; }
.status-text[data-tone="success"] { color: var(--good); }
.status-text[data-tone="warning"] { color: var(--warn); }
.status-text[data-tone="error"] { color: var(--bad); }

.device-list { display: grid; gap: 0; margin: 0; }
.device-list > div { display: grid; grid-template-columns: 118px 1fr; gap: 14px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,.065); }
.device-list > div:last-child { border-bottom: 0; }
.device-list dt { color: var(--muted); font-size: .75rem; }
.device-list dd { margin: 0; font-size: .84rem; font-weight: 700; overflow-wrap: anywhere; }
.fine-print { margin: 17px 0 0; padding-top: 16px; border-top: 1px solid rgba(255,255,255,.06); color: #7f8ba1; font-size: .72rem; }

.score-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 16px; }
.result-score-priority { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 18px; }
.device-list-primary > div { grid-template-columns: 92px minmax(0,1fr); }
.device-list-primary dd { font-size: .9rem; }
.device-details { margin-top: 10px; border-top: 1px solid rgba(255,255,255,.065); }
.device-details > summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; color: var(--text); font-size: .82rem; font-weight: 800; list-style: none; user-select: none; }
.device-details > summary::-webkit-details-marker { display: none; }
.device-details > summary::after { content: "+"; margin-left: auto; color: var(--muted); font-size: 1.05rem; }
.device-details[open] > summary::after { content: "−"; }
.device-details > summary:focus-visible { outline: 3px solid var(--focus, #9ec5ff); outline-offset: 3px; border-radius: 6px; }
.device-list-details { margin-top: 2px; }
.device-details .fine-print { margin-top: 12px; }
.score-card { padding: 19px 20px; border: 1px solid var(--border); background: var(--panel-2); border-radius: 15px; }
.score-card > span { display: block; color: #9ba7bb; font-size: .68rem; font-weight: 850; letter-spacing: .12em; }
.score-card > strong { display: block; margin: 3px 0 1px; font-size: clamp(1.8rem, 4vw, 2.55rem); line-height: 1.12; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.score-card > strong[data-tone="ultra"] { color: #d9b5ff; }
.score-card > strong[data-tone="high"] { color: #91ead0; }
.score-card > strong[data-tone="mid"] { color: #d7dcff; }
.score-card > strong[data-tone="low"] { color: #d7c9a4; }
.score-card small { color: #758096; font-size: .7rem; }

.content-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(270px, .8fr); gap: 16px; margin-top: 16px; }
.metrics-panel, .history-panel, .notes-panel { padding: 24px; }
.result-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.small-button { min-height: 36px; font-size: .75rem; }
.metric-table-wrap { overflow-x: auto; border: 1px solid rgba(255,255,255,.07); border-radius: 12px; }
.metric-table { width: 100%; border-collapse: collapse; min-width: 560px; }
.metric-table th, .metric-table td { padding: 12px 14px; border-bottom: 1px solid rgba(255,255,255,.06); text-align: left; }
.metric-table tr:last-child td { border-bottom: 0; }
.metric-table th { color: #8995aa; font-size: .68rem; letter-spacing: .07em; background: rgba(255,255,255,.025); }
.metric-table td { font-size: .82rem; }
.metric-table td:nth-child(2) { font-weight: 820; font-variant-numeric: tabular-nums; white-space: nowrap; }
.metric-table td:nth-child(3) { color: var(--muted); }
.run-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 15px; color: #7e899e; font-size: .72rem; }
.run-meta strong { color: #aeb7c8; }
.text-button { padding: 4px 0; border: 0; background: transparent; color: #8f99ad; font-size: .74rem; cursor: pointer; }
.history-list { display: grid; gap: 7px; }
.history-row { display: flex; justify-content: space-between; align-items: center; gap: 14px; width: 100%; padding: 12px 13px; border: 1px solid rgba(255,255,255,.065); background: rgba(255,255,255,.025); border-radius: 10px; text-align: left; cursor: pointer; }
.history-row:hover { border-color: rgba(139,124,255,.28); }
.history-meta { display: grid; min-width: 0; }
.history-meta strong { font-size: .78rem; }
.history-meta small { color: var(--muted); font-size: .68rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.history-score { font-size: 1.18rem; font-weight: 900; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.empty-note { margin: 0; padding: 18px; border: 1px dashed rgba(255,255,255,.09); border-radius: 10px; color: #778399; font-size: .78rem; text-align: center; }
.notes-panel { margin-top: 16px; }
.note-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.note-grid p { margin: 0; padding: 15px; background: rgba(255,255,255,.025); border-radius: 11px; color: #909bb0; font-size: .78rem; }
.note-grid strong { color: #dbe1ec; }
.site-footer { padding: 0 0 calc(28px + env(safe-area-inset-bottom)); color: #687389; font-size: .72rem; }
.footer-inner { padding-top: 20px; border-top: 1px solid rgba(255,255,255,.06); }

@media (max-width: 900px) {
  .hero-grid, .content-grid { grid-template-columns: 1fr; }
  .score-grid { grid-template-columns: repeat(2, 1fr); }
  .note-grid { grid-template-columns: repeat(2, 1fr); }
  .device-panel { order: 2; }
}

@media (max-width: 620px) {
  .shell { width: min(100% - 20px, 1180px); }
  .site-header { padding-top: 18px; }
  .header-inner { align-items: flex-end; }
  main { padding-top: 10px; }
  .hero-score-panel, .device-panel, .metrics-panel, .history-panel, .notes-panel { padding: 18px; }
  .score-wrap { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .score-ring { width: min(68vw, 220px); }
  .score-copy { max-width: 32rem; }
  .controls { grid-template-columns: 1fr 1fr; }
  .field { grid-column: 1 / -1; }
  .primary-button, .ghost-button { width: 100%; }
  .score-grid { gap: 8px; }
  .score-card { padding: 15px; }
  .note-grid { grid-template-columns: 1fr; }
  .result-actions { width: 100%; }
  .metrics-panel .section-heading { flex-wrap: wrap; }
  .footer-inner { align-items: flex-start; flex-direction: column; gap: 4px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

.top-nav { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.top-nav a, .small-link { color:#b8c1d2; text-decoration:none; border:1px solid rgba(255,255,255,.09); border-radius:9px; padding:8px 10px; font-size:.74rem; font-weight:780; background:rgba(255,255,255,.025); }
.top-nav a[aria-current="page"] { color:#fff; border-color:rgba(139,124,255,.5); background:rgba(123,108,255,.14); }
.page-main { padding-top:18px; padding-bottom:28px; }
.page-hero, .ranking-panel, .compare-panel, .submit-panel { padding:24px; margin-bottom:16px; }
.page-hero h1 { margin:.15rem 0 .5rem; font-size:clamp(1.6rem,4vw,2.5rem); }
.page-hero p:last-child { max-width:56rem; color:var(--muted); }
.identity-grid { display:grid; grid-template-columns:.65fr 1.2fr 1.2fr 1.2fr; gap:10px; }
.field input, .search-field input { width:100%; min-height:46px; border-radius:11px; border:1px solid var(--border-strong); padding:0 12px; color:var(--text); background:#0c1323; }
.submit-actions { display:flex; gap:12px; align-items:center; margin-top:14px; flex-wrap:wrap; }
.ranking-privacy { margin-bottom:16px; }
.ranking-toolbar { display:flex; justify-content:space-between; gap:16px; align-items:end; flex-wrap:wrap; }
.ranking-tabs { display:flex; flex-wrap:wrap; gap:7px; }
.ranking-tabs button { min-height:38px; padding:0 12px; border-radius:9px; border:1px solid var(--border-strong); background:rgba(255,255,255,.03); color:var(--text); cursor:pointer; font-weight:750; }
.ranking-tabs button[data-active="true"] { background:rgba(123,108,255,.18); border-color:rgba(139,124,255,.55); }
.search-field { display:grid; gap:6px; min-width:min(100%,290px); }
.search-field.wide { max-width:640px; }
.search-field span { color:var(--muted); font-size:.74rem; font-weight:760; }
.ranking-status { color:var(--muted); font-size:.76rem; min-height:1.2em; }
.ranking-table .name { min-width:220px; font-weight:800; }
.ranking-table .name small { display:block; color:var(--muted); font-weight:500; margin-top:3px; }
.ranking-table .rank { color:#8f9bb0; width:42px; }
.ranking-table .score { font-size:1rem; font-weight:900; }
.empty-cell { text-align:center !important; color:var(--muted); padding:30px !important; }
.search-results { display:grid; gap:6px; max-width:640px; margin:10px 0; }
.search-result { display:flex; justify-content:space-between; gap:12px; text-align:left; align-items:center; width:100%; border:1px solid rgba(255,255,255,.07); background:rgba(255,255,255,.025); color:var(--text); border-radius:9px; padding:10px 12px; cursor:pointer; }
.search-result small { color:var(--muted); }
.chosen-list { display:flex; flex-wrap:wrap; gap:7px; margin:10px 0; }
.chosen-chip { border:1px solid rgba(139,124,255,.35); background:rgba(123,108,255,.12); color:#ddd9ff; border-radius:999px; padding:7px 10px; cursor:pointer; }
.compare-table th, .compare-table td { min-width:130px; }
.compare-table thead th:first-child, .compare-table tbody th { position:sticky; left:0; background:#0d1424; z-index:1; }
.compare-table tbody th { text-align:left; color:#aab4c7; font-size:.76rem; }
@media (max-width: 800px) { .identity-grid { grid-template-columns:1fr 1fr; } }
@media (max-width: 620px) { .header-inner { gap:12px; } .top-nav { width:100%; } .top-nav a { flex:1; text-align:center; } .identity-grid { grid-template-columns:1fr; } .page-hero,.ranking-panel,.compare-panel,.submit-panel { padding:18px; } .ranking-toolbar { align-items:stretch; } .search-field { width:100%; } }
.score-grid-six{grid-template-columns:repeat(6,minmax(0,1fr))}.diagnostic-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:16px 0}.diagnostic-panel{min-width:0}.dna-stats,.sustained-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.dna-stats>div,.sustained-grid>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}.dna-stats span,.sustained-grid span{display:block;font-size:.74rem;color:var(--muted);margin-bottom:5px}.dna-stats strong,.sustained-grid strong{font-size:1.05rem}.diag-list{display:grid;gap:7px}.diag-row{display:grid;grid-template-columns:.7fr 1.25fr .8fr;align-items:center;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.02)}.diag-row strong{text-align:right}.diag-row small{text-align:right;color:var(--muted)}.sustained-panel{margin:16px 0}.sustained-controls{grid-template-columns:minmax(120px,180px) minmax(120px,180px) auto}.sustained-grid{grid-template-columns:repeat(6,minmax(0,1fr));margin:14px 0}@media(max-width:1100px){.score-grid-six{grid-template-columns:repeat(3,minmax(0,1fr))}.diagnostic-grid{grid-template-columns:1fr}.sustained-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:640px){.score-grid-six{grid-template-columns:repeat(2,minmax(0,1fr))}.sustained-controls{grid-template-columns:1fr}.sustained-grid,.dna-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.diag-row{grid-template-columns:.7fr 1fr}.diag-row small{grid-column:1/-1;text-align:left}}

/* v0.5 architecture/admin console */
.admin-panel{margin-top:18px}.admin-auth,.admin-actions,.admin-grid{display:flex;gap:10px;align-items:end;flex-wrap:wrap}.admin-auth .wide{flex:1 1 420px}.admin-grid label{display:grid;gap:6px;min-width:180px;flex:1 1 220px}.admin-grid input,.admin-grid select,.admin-result-card input,.admin-result-card select,.admin-flag-row select{min-height:42px;border:1px solid var(--line);border-radius:8px;background:var(--panel-2,#111827);color:inherit;padding:8px 10px}.admin-summary{margin-top:12px;font-variant-numeric:tabular-nums}.admin-results{display:grid;gap:10px;margin-top:12px}.admin-result-card{display:grid;grid-template-columns:minmax(220px,1fr) repeat(4,minmax(120px,auto));gap:8px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:10px}.admin-result-card strong,.admin-result-card p{grid-column:1/-1}.admin-result-card p{margin:0;color:var(--muted);overflow-wrap:anywhere}.admin-flag-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;border-bottom:1px solid var(--line)}.admin-log{white-space:pre-wrap;overflow-wrap:anywhere;max-height:340px;overflow:auto}.ghost-button{background:transparent!important;border:1px solid var(--line)!important;color:inherit!important}@media(max-width:760px){.admin-result-card{grid-template-columns:1fr}.admin-result-card>*{grid-column:1!important}.admin-auth>*{width:100%}}
/* v0.6 public experience */
.compact-profile{max-width:210px;margin-right:auto}.methodology-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.methodology-grid article{padding:16px;border:1px solid var(--line);background:rgba(255,255,255,.025)}.methodology-grid h2{margin:0 0 8px;font-size:1rem}.methodology-grid p{margin:0;color:var(--muted);line-height:1.7}.result-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center}.result-hero h2{margin:.15em 0;font-size:clamp(1.7rem,4vw,3rem)}.result-big-score{min-width:180px;text-align:center;padding:18px;border:1px solid var(--line);background:rgba(255,255,255,.03)}.result-big-score span,.result-big-score small{display:block;color:var(--muted);font-size:.75rem;letter-spacing:.12em}.result-big-score strong{display:block;font-size:clamp(2.8rem,8vw,5rem);line-height:1}.diagnostic-big{display:block;font-size:1.5rem;margin:.7rem 0}.ai-panel .controls{justify-content:flex-start}.small-button[hidden]{display:none!important}.ranking-toolbar{gap:12px;flex-wrap:wrap}
@media(max-width:760px){.methodology-grid{grid-template-columns:1fr}.result-hero{grid-template-columns:1fr}.result-big-score{width:100%}.compact-profile{max-width:none;width:100%}}

/* v0.6 result discoverability */
.ranking-actions{white-space:nowrap}.ranking-actions .small-link{display:inline-block}.compare-head small{display:block;margin-top:.25rem;font-weight:400}


/* hotfix4: resilient headings, readable mobile results, units, language and POML footer */
.ai-panel,.sustained-panel{padding:24px}
.result-page main>.panel{padding:20px;margin-bottom:16px}
h1,h2,h3,.section-heading,.section-heading>div,.diagnostic-panel,.panel{min-width:0}
h1,h2,h3,.section-heading h2,.page-hero h1,.result-hero h2{max-width:100%;overflow-wrap:anywhere;word-break:normal;line-height:1.28;text-wrap:balance}
.eyebrow{max-width:100%;overflow-wrap:anywhere;line-height:1.35}
.section-heading{height:auto;min-height:0;flex-wrap:wrap}
.diagnostic-panel{overflow:hidden;padding:20px}
.diagnostic-panel .section-heading{margin-bottom:14px}
.diagnostic-panel .section-heading h2{font-size:clamp(1.05rem,3vw,1.38rem)}
.unit-guide{padding:20px;margin:16px 0}.unit-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.unit-guide-grid>div{min-width:0;padding:12px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.025)}.unit-guide-grid strong,.unit-guide-grid span{display:block}.unit-guide-grid strong{font-size:.9rem;overflow-wrap:anywhere}.unit-guide-grid span{margin-top:4px;color:var(--muted);font-size:.72rem;line-height:1.5}
.language-picker{display:grid;gap:3px;min-width:118px;margin-left:auto}.language-picker span{font-size:.62rem;color:var(--muted);font-weight:750;letter-spacing:.06em}.language-picker select{min-height:34px;max-width:160px;border:1px solid var(--border-strong);border-radius:8px;background:#0c1323;color:var(--text);padding:4px 28px 4px 8px}
.poml-footer .footer-inner{align-items:center;flex-wrap:wrap}.poml-footer a{color:#8995aa;text-decoration:none}.poml-footer a:hover{color:var(--text)}.footer-links{display:flex;flex-wrap:wrap;gap:6px 14px}.footer-links a{white-space:nowrap}
.result-page .metric-table td,.result-page .metric-table th{overflow-wrap:anywhere;word-break:normal}.result-page .raw-table{min-width:0;table-layout:fixed}.result-page .raw-table th:first-child,.result-page .raw-table td:first-child{width:58%}.result-page .contract-table{min-width:0;table-layout:fixed}.result-page .contract-table th{width:38%}.result-page .contract-table td{white-space:normal!important}.metric-unit-note{display:block;margin-top:2px;color:var(--muted);font-size:.68rem;font-weight:500}.value-unit{white-space:nowrap}.score-card small{line-height:1.4;display:block;overflow-wrap:anywhere}
@media(max-width:760px){
 .header-inner{align-items:flex-start;flex-wrap:wrap}.header-inner>div:first-child{flex:1 1 220px;min-width:0}.language-picker{order:2;min-width:110px}.top-nav{order:3;flex-basis:100%}
 .ai-panel,.sustained-panel,.result-page main>.panel{padding:18px}.diagnostic-panel{padding:16px}.section-heading{gap:10px;margin-bottom:16px}.section-heading.compact{margin-bottom:12px}.section-heading h2{font-size:clamp(1.08rem,5.2vw,1.38rem)}.eyebrow{font-size:.61rem;letter-spacing:.11em}
 .unit-guide-grid{grid-template-columns:1fr 1fr}.result-page .metric-table-wrap{max-width:100%}.result-page .raw-table th,.result-page .raw-table td{padding:10px 9px}
 .result-page .contract-table tbody,.result-page .contract-table tr,.result-page .contract-table th,.result-page .contract-table td{display:block;width:100%}.result-page .contract-table tr{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.06)}.result-page .contract-table th,.result-page .contract-table td{border:0;padding:2px 0;background:transparent}.result-page .contract-table th{font-size:.66rem}.result-page .contract-table td{font-size:.78rem}
 .result-page .stack-table{min-width:0}.result-page .stack-table thead{display:none}.result-page .stack-table tbody,.result-page .stack-table tr{display:block}.result-page .stack-table tr{margin:0;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.07)}.result-page .stack-table td{display:grid;grid-template-columns:minmax(96px,42%) minmax(0,1fr);gap:10px;border:0;padding:3px 0;white-space:normal!important}.result-page .stack-table td::before{content:attr(data-label);color:var(--muted);font-size:.67rem;font-weight:750}.result-page .stack-table td:empty::after{content:'—'}
}
@media(max-width:420px){.shell{width:min(100% - 14px,1180px)}.hero-score-panel,.device-panel,.metrics-panel,.history-panel,.notes-panel,.page-hero,.ranking-panel,.compare-panel,.submit-panel,.ai-panel,.sustained-panel,.result-page main>.panel{padding:15px}.score-grid-six{grid-template-columns:1fr 1fr}.score-card{padding:12px}.score-card>strong{font-size:clamp(1.45rem,8vw,2rem)}.sustained-grid,.dna-stats,.unit-guide-grid{grid-template-columns:1fr}.language-picker{width:100%;order:2}.language-picker select{max-width:none;width:100%}.top-nav a{min-width:calc(50% - 3px)}.footer-links{gap:5px 11px}.diagnostic-panel .section-heading h2{font-size:1.08rem}}

/* hotfix5: CSP-safe self-test layout */
.selftest-panel{margin-top:1rem}
.selftest-panel-last{margin-bottom:2rem}
.selftest-environment{white-space:pre-wrap;overflow-wrap:anywhere}

/* hotfix10: UI/UX deep review */
:root{--line:var(--border)}
input:focus-visible,textarea:focus-visible,.text-button:focus-visible,.chosen-chip:focus-visible,.search-result:focus-visible{outline:3px solid rgba(139,124,255,.72);outline-offset:3px}
.site-header{padding-top:max(26px,env(safe-area-inset-top))}
.hero-lede{margin-bottom:8px!important}.hero-lede strong{color:var(--text)}.hero-tech-note{margin:0;color:var(--muted);font-size:.86rem}
.mode-explainer{display:flex;align-items:flex-start;gap:10px;margin-top:10px;padding:11px 13px;border:1px solid var(--border);border-radius:11px;background:rgba(255,255,255,.025);color:var(--muted);font-size:.78rem}.mode-explainer strong{flex:0 0 auto;color:var(--text)}.mode-explainer span{min-width:0}.retry-button{margin-top:10px}
body:not(.has-result) .results-only{display:none!important}body.has-result:not(.show-advanced) .advanced-only{display:none!important}
body:not(.has-result) .content-grid{grid-template-columns:1fr}body:not(.has-result) .history-panel{grid-column:1/-1}
.result-summary{margin-top:18px;padding-top:18px;border-top:1px solid var(--border)}.result-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.result-summary-grid>div{min-width:0;padding:11px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.025)}.result-summary-grid span,.quality-grid span{display:block;color:var(--muted);font-size:.7rem;font-weight:760}.result-summary-grid strong,.quality-grid strong{display:block;margin:3px 0;font-size:.96rem;overflow-wrap:anywhere}.result-summary-grid small,.quality-grid small{display:block;color:#8995aa;font-size:.68rem;line-height:1.45}.result-summary .result-actions,.result-next-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.result-summary .result-actions[hidden]{display:none!important}
.profile-help,.table-help{margin:8px 0 0;color:var(--muted);font-size:.74rem;line-height:1.55}.ranking-toolbar>.profile-help{flex:1 1 260px;align-self:center;margin:0}.methodology-summary{padding:20px;margin-bottom:16px}.methodology-summary ul{margin:.8rem 0 0;padding-left:1.25rem;color:var(--muted)}.methodology-summary li+li{margin-top:.55rem}.methodology-summary strong{color:var(--text)}
.status-text[data-tone="success"]::before{content:"✓ ";font-weight:900}.status-text[data-tone="warning"]::before{content:"! ";font-weight:900}.status-text[data-tone="error"]::before{content:"× ";font-weight:900}.status-text[data-tone="active"]::before{content:"• ";font-weight:900}
.ranking-tabs button[data-active="true"]::before{content:"✓ ";font-weight:900}.ranking-tabs button[aria-pressed="true"]{box-shadow:inset 0 -2px 0 var(--accent)}
.top-nav a,.small-link,.small-button,.text-button,.ranking-tabs button,.chosen-chip,.search-result,.footer-links a{min-height:44px;display:inline-flex;align-items:center;justify-content:center}
.text-button{padding:0 8px}.small-button{min-height:44px}.ranking-tabs button{min-height:44px}.chosen-chip{padding:8px 12px}.search-result{min-height:48px}.footer-links a{padding:6px 2px}.poml-footer{color:#7f8ba1}.poml-footer a{color:#93a0b8}
.progress-meta [hidden]{display:none!important}
.score-ring strong{min-width:0;max-width:100%;font-size:clamp(2rem,7vw,4.6rem);overflow-wrap:anywhere;word-break:break-word}
.result-score-grid{grid-template-columns:repeat(5,minmax(0,1fr));margin:0 0 16px}.result-quality{padding:20px;margin-bottom:16px}.quality-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.quality-grid>div{padding:13px;border:1px solid var(--border);border-radius:10px;background:rgba(255,255,255,.025)}
.compare-head .baseline-badge{display:inline-block;margin-top:4px;padding:2px 6px;border:1px solid var(--border-strong);border-radius:999px;color:var(--text);font-size:.62rem}.delta-up,.delta-down{font-variant-numeric:tabular-nums}.delta-up::before{content:"↑ "}.delta-down::before{content:"↓ "}
.metric-table th,.metric-table td,.score-card,.result-summary-grid>div,.quality-grid>div{overflow-wrap:anywhere}
@media(max-width:900px){.result-summary-grid{grid-template-columns:1fr 1fr}.result-score-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.benchmark-controls{grid-template-columns:1fr}.benchmark-controls .field{grid-column:auto}.result-summary-grid,.quality-grid{grid-template-columns:1fr}.result-next-actions>*,.result-summary .result-actions>*{flex:1 1 140px}.result-score-grid{grid-template-columns:1fr 1fr}.mode-explainer{flex-direction:column;gap:3px}.ranking-toolbar>.profile-help{flex-basis:100%}.top-nav a{min-height:46px}.footer-links a{min-height:44px}}
@media(max-width:360px){.result-score-grid{grid-template-columns:1fr}.score-grid-six{grid-template-columns:1fr}.result-actions .small-button,.result-actions .small-link{width:100%}}
@media(prefers-contrast:more){:root{--border:rgba(255,255,255,.22);--border-strong:rgba(255,255,255,.34);--muted:#b3bdd0}.panel,.score-card{box-shadow:none}.eyebrow{color:#b9b0ff}}
@media(forced-colors:active){.panel,.score-card,.result-summary-grid>div,.quality-grid>div{forced-color-adjust:auto}.progress-bar{background:Highlight}.ranking-tabs button[data-active="true"]{outline:2px solid Highlight}}
.info-disclosure{margin-top:16px;padding:0!important;overflow:hidden}.info-disclosure>summary{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 20px;cursor:pointer;list-style:none}.info-disclosure>summary::-webkit-details-marker{display:none}.info-disclosure>summary:focus-visible{outline:3px solid rgba(139,124,255,.72);outline-offset:-3px}.disclosure-title{display:block;color:var(--text);font-size:1rem;font-weight:820}.disclosure-hint{flex:0 0 auto;color:var(--muted);font-size:1rem;font-weight:800}.info-disclosure[open] .disclosure-hint{transform:rotate(45deg)}.disclosure-content{padding:0 20px 20px}.disclosure-heading{margin:0 0 14px;font-size:1.1rem}.footer-inner>span a{display:inline-flex;align-items:center;min-height:44px}.info-disclosure a{text-decoration:underline;text-underline-offset:2px}
@media(max-width:620px){.info-disclosure>summary{padding:13px 15px}.disclosure-content{padding:0 15px 15px}}

.result-summary h3{margin:0;font-size:1.02rem}

body:not(.has-result) .hero-score-panel .score-wrap{grid-template-columns:1fr;gap:10px}
body:not(.has-result) .hero-score-panel .score-copy{text-align:left;max-width:48rem}
.footer-links a,.footer-inner>span a{min-width:44px;padding-inline:4px}
.info-disclosure>summary>span:first-child{min-width:0;overflow-wrap:anywhere}
.footer-links{max-width:100%}
@media(max-width:620px){.footer-links a{white-space:normal;overflow-wrap:anywhere;text-align:center}.top-nav a,.small-button,.text-button,.ranking-tabs button{overflow-wrap:anywhere;white-space:normal}}
@media(max-width:620px){.ranking-toolbar>*{min-width:0;max-width:100%}.profile-help,.table-help,.page-hero p{overflow-wrap:anywhere;word-break:break-word}.field,.search-field{min-width:0;max-width:100%}}

.scroll-hint{margin:10px 0 6px;color:var(--muted);font-size:.72rem}
.keyboard-scroll-region:focus-visible{outline:3px solid rgba(139,124,255,.72);outline-offset:3px}
@media(min-width:761px){.scroll-hint{display:none}}

.result-technical{margin:16px 0}.result-technical-content{padding:0 16px 16px}.result-technical-content>.panel,.result-technical-content>.diagnostic-grid{margin-top:12px}.action-status{align-self:center;color:var(--muted);font-size:.72rem;min-height:1.2em}.result-actions{align-items:center}

.beta-badge{display:inline-block;margin-left:.45rem;padding:.14rem .42rem;border:1px solid currentColor;border-radius:999px;font-size:.48em;line-height:1.2;vertical-align:middle;opacity:.82;white-space:nowrap}
.h1-purpose{display:block;margin-top:.3rem;font-size:.52em;font-weight:600;letter-spacing:0;line-height:1.35;opacity:.78}

/* RC2 hardware catalog autocomplete + dual ranking lanes */
.identity-mode-wrap{display:grid;gap:6px;flex:1 1 100%}.identity-mode-wrap[hidden]{display:none!important}.identity-mode-tabs{width:max-content;max-width:100%}.identity-mode-help{margin:0;max-width:760px}.hardware-autocomplete-host{position:relative;display:grid;gap:5px}.hardware-suggestions{position:absolute;z-index:30;top:calc(100% + 2px);left:0;right:0;max-height:280px;overflow:auto;padding:6px;border:1px solid var(--border-strong);border-radius:10px;background:#0c1323;box-shadow:0 18px 48px rgba(0,0,0,.38)}.hardware-suggestions[hidden]{display:none!important}.hardware-suggestion{width:100%;min-height:48px;padding:8px 10px;border:0;border-radius:7px;background:transparent;color:var(--text);text-align:left;display:grid;gap:2px;cursor:pointer}.hardware-suggestion:hover,.hardware-suggestion[data-active="true"]{background:rgba(123,108,255,.18);outline:1px solid rgba(139,124,255,.45)}.hardware-suggestion strong{font-size:.86rem}.hardware-suggestion small{color:var(--muted);font-size:.7rem}.hardware-catalog-status{min-height:1.15em;color:var(--muted);font-size:.68rem;line-height:1.35}.identity-grid>.field,.identity-grid>.hardware-autocomplete-host{min-width:0}
@media(max-width:620px){.identity-mode-tabs{width:100%}.identity-mode-tabs button{flex:1 1 120px}.hardware-suggestions{max-height:220px}}

/* UI/UX result-priority refinement: keep category scores ahead of device detail,
   and keep the primary device summary compact without changing detection IDs. */
.hero-score-panel .result-score-priority{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:640px){.hero-score-panel .result-score-priority{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* UI/UX2: mobile ranking cards + 2x2 ranking switcher. Desktop table remains unchanged. */
.ranking-row-details{display:none}
@media(max-width:620px){
  .ranking-tabs:not(.identity-mode-tabs){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}
  .ranking-tabs:not(.identity-mode-tabs) button{width:100%}
  .ranking-panel .scroll-hint{display:none}
  .ranking-panel .metric-table-wrap{overflow:visible;border:0;border-radius:0}
  .ranking-table{min-width:0;border-collapse:separate;border-spacing:0}
  .ranking-table thead{display:none}
  .ranking-table tbody{display:grid;gap:10px}
  .ranking-table tr{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:6px 10px;padding:12px;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.025)}
  .ranking-table td{border:0;padding:0;white-space:normal;min-width:0}
  .ranking-table .rank{grid-column:1;grid-row:1;color:var(--muted);font-size:.75rem;padding-top:2px}
  .ranking-table .name{grid-column:2;grid-row:1;min-width:0;font-size:.9rem;overflow-wrap:anywhere}
  .ranking-table .name small{font-size:.67rem;line-height:1.4}
  .ranking-table .score{grid-column:3;grid-row:1;text-align:right;white-space:nowrap;font-size:1.05rem}
  .ranking-table .ranking-percentile{grid-column:2;grid-row:2;color:var(--muted);font-size:.72rem}
  .ranking-table .ranking-samples{grid-column:3;grid-row:2;color:var(--muted);font-size:.72rem;text-align:right;white-space:nowrap}
  .ranking-table .ranking-percentile::before,.ranking-table .ranking-samples::before{content:attr(data-label) " ";font-weight:760;color:#aeb7c8}
  .ranking-table .ranking-confidence,.ranking-table .ranking-quality{display:none}
  .ranking-table .ranking-actions{grid-column:1/-1;grid-row:3;display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap;padding-top:4px;border-top:1px solid rgba(255,255,255,.06)}
  .ranking-table .ranking-actions>.small-link{display:inline-flex;min-height:44px;padding:7px 6px}
  .ranking-table .ranking-actions>br{display:none}
  .ranking-row-details{display:block;margin-right:auto}
  .ranking-row-details summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--muted);font-size:.72rem;font-weight:760;list-style-position:inside}
  .ranking-row-detail-grid{display:grid;gap:3px;padding:0 0 8px;color:var(--muted);font-size:.69rem}
  .ranking-table .empty-cell{grid-column:1/-1!important;padding:20px 8px!important}
}

/* UI/UX2 narrow reflow: protect long hardware names and large scores at 320px / high text zoom. */
@media(max-width:360px){
  .ranking-panel .ranking-table{display:block;width:100%;max-width:100%}
  .ranking-panel .ranking-table tbody{width:100%;max-width:100%}
  .ranking-table tr{grid-template-columns:32px minmax(0,1fr)}
  .ranking-table .rank{grid-column:1;grid-row:1}
  .ranking-table .name{grid-column:2;grid-row:1}
  .ranking-table .score{grid-column:2;grid-row:2;text-align:left;white-space:normal;overflow-wrap:anywhere}
  .ranking-table .ranking-percentile{grid-column:2;grid-row:3}
  .ranking-table .ranking-samples{grid-column:2;grid-row:4;text-align:left;white-space:normal;overflow-wrap:anywhere}
  .ranking-table .ranking-actions{grid-column:1/-1;grid-row:5}
}
@media(max-width:620px){.ranking-table td.name{white-space:normal}}
