:root{--v2-bg:#050b0f;--v2-panel:#081218;--v2-line:#244655;--v2-cyan:#8bd9ff;--v2-text:#e7edf0;--v2-muted:#8ea5b0;--v2-gold:#e4ad52}
body.home-v2{background:#03080b;color:var(--v2-text);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;background-image:radial-gradient(circle at 50% -20%,#15313d 0,transparent 42%),linear-gradient(#03090d,#020609)}
.home-v2 a{text-decoration:none}.home-shell{width:min(1180px,calc(100% - 36px));margin:24px auto 0}.home-hero{position:relative;min-height:384px;border:1px solid #315465;overflow:hidden;background:#071116;display:grid;grid-template-columns:minmax(420px,1fr) 1.42fr;box-shadow:0 16px 50px rgba(0,0,0,.3)}
.home-hero:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(3,9,13,.98) 0%,rgba(3,9,13,.88) 34%,rgba(3,9,13,.12) 68%,rgba(3,9,13,.32) 100%)}.hero-copy{position:relative;z-index:2;padding:38px 32px 42px;align-self:center}.hero-kicker{font:11px/1.2 monospace;letter-spacing:.22em;color:#83c8e7;margin-bottom:12px}.hero-copy h1{font-family:serif;font-weight:500;font-size:clamp(38px,4vw,54px);letter-spacing:.06em;white-space:nowrap;margin:0 0 6px;color:#f1f4f3;text-shadow:0 2px 18px #000}.hero-subtitle{font-family:serif;font-size:19px;letter-spacing:.12em;margin:0 0 22px;white-space:nowrap}.hero-lead{max-width:460px;color:#b8c7cd;font-size:12px;line-height:1.95;margin:0 0 20px}.hero-about{display:inline-flex;gap:14px;align-items:center;border-bottom:1px solid #4b7a8e;color:#b7d9e8;font-size:12px;padding:6px 0}.hero-visual{position:absolute;inset:0 0 0 36%;background:url('../images/ui/archive-room-v2.webp') center/cover no-repeat;filter:saturate(.78) contrast(1.05)}.hero-status{position:absolute;z-index:3;right:18px;top:15px;color:#a8d9e9;font:11px/1.45 monospace;letter-spacing:.06em;text-align:right;padding:6px 8px;background:rgba(2,8,11,.38);border-right:1px solid rgba(139,217,255,.45)}.status-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#64e7ff;box-shadow:0 0 8px #64e7ff;margin-right:8px}
.home-section{margin-top:28px}.section-heading-row{border-top:1px solid #1d3e4b;border-bottom:1px solid #1d3e4b;min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:16px}.section-heading-row h2{margin:0;font-size:17px;font-weight:500;letter-spacing:.08em}.section-heading-row h2 span{font:13px/1 monospace;letter-spacing:.1em;color:#c9e8f5;border-left:3px solid #8bd9ff;padding-left:10px;margin-right:14px}.section-heading-row>a{font-size:12px;color:#8bd9ff}
.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.category-tile{position:relative;min-height:184px;padding:20px 18px 16px;border:1px solid #31505e;box-sizing:border-box;overflow:hidden;background:#0a1419;color:#edf3f4;display:flex;flex-direction:column;transition:.2s ease}.category-tile:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 78% 18%,rgba(255,255,255,.13),transparent 23%),linear-gradient(135deg,rgba(255,255,255,.04),transparent 48%);opacity:.9}.category-tile:hover{transform:translateY(-2px);border-color:#70b6d3;box-shadow:0 8px 28px rgba(0,0,0,.28)}.category-code,.category-tile strong,.category-tile small,.category-tile em{position:relative;z-index:1}.category-code{font:34px/1 serif;letter-spacing:.08em;margin-bottom:8px}.category-tile strong{font-family:serif;font-size:20px;font-weight:500}.category-tile small{margin-top:10px;color:#b6c4ca}.category-tile small b{font-weight:500;color:#fff}.category-tile em{font:11px/1 monospace;font-style:normal;letter-spacing:.12em;border:1px solid currentColor;padding:8px 10px;width:max-content;margin-top:auto}.cat-jk{background:linear-gradient(135deg,#2a0d0d,#0c1317)}.cat-jk .category-code,.cat-jk em{color:#e7a3a3}.cat-td{background:linear-gradient(135deg,#0a1d30,#0c1418)}.cat-td .category-code,.cat-td em{color:#9ed8ff}.cat-ss{background:linear-gradient(135deg,#09231e,#0b1416)}.cat-ss .category-code,.cat-ss em{color:#a6dfc7}.cat-ar{background:linear-gradient(135deg,#241127,#0c1217)}.cat-ar .category-code,.cat-ar em{color:#d9a5df}
.latest-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:1fr 1fr;gap:12px;margin-top:14px}.latest-card{border:1px solid #294956;background:#071116;color:#e9eff1;overflow:hidden;min-width:0;transition:.2s ease}.latest-card:hover{border-color:#75b8d1;background:#0b1820;transform:translateY(-1px);box-shadow:0 8px 26px rgba(0,0,0,.25)}.latest-card.featured{grid-row:1/3;display:flex;flex-direction:column}.latest-card.compact{display:grid;grid-template-rows:minmax(108px,1fr) auto}.latest-image{position:relative;background:#0b161b center/cover no-repeat;min-height:108px}.featured .latest-image{aspect-ratio:16/9;min-height:0}.latest-image:after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,rgba(3,9,12,.7));pointer-events:none}.latest-image.no-image{display:grid;place-items:center;background-image:linear-gradient(135deg,#0d1c23,#071014 55%,#10202a)}.image-pending{font:10px/1.6 monospace;letter-spacing:.18em;text-align:center;color:#496673}.latest-content{padding:14px 16px 13px}.latest-topline{display:flex;align-items:center;gap:8px}.latest-id{display:inline-block;border:1px solid #4d9fc5;color:#a8e3ff;font:12px/1 monospace;letter-spacing:.08em;padding:5px 7px}.new-badge{background:#7f1d24;color:#fff;font:10px/1 monospace;padding:6px 7px;letter-spacing:.08em}.latest-content h3{font-family:serif;font-weight:500;font-size:19px;margin:9px 0 5px;line-height:1.4}.featured .latest-content h3{font-size:25px}.latest-content p{font-size:11px;color:#91a7b1;margin:0 0 10px}.latest-meta{display:flex;align-items:center;gap:18px;font-size:11px;color:#91a7b1}.latest-meta b{font-size:17px;font-weight:500;color:var(--v2-gold);margin-left:5px}.latest-meta i{font-style:normal;font-size:24px;color:#b7e3f4;margin-left:auto}
.future-ad-slot{margin-top:24px}.information-strip{margin-top:28px;border:1px solid #244655;min-height:50px;display:grid;grid-template-columns:auto 1fr;align-items:center;background:#061015}.info-label{font-size:12px;padding:0 16px;white-space:nowrap}.info-label span{font:11px/1 monospace;letter-spacing:.1em;color:#a9d9eb;margin-right:12px}.info-body{display:flex;align-items:center;gap:20px;border-left:1px solid #1f3e4b;padding:9px 16px;color:#8fa8b3;font-size:11px}.info-body time{font-family:monospace;color:#617c88}.info-body p{margin:0}.home-utility{display:flex;gap:22px;padding:18px 8px 0;font-size:11px;color:#708791}.home-footer{width:min(1180px,calc(100% - 36px));margin:24px auto 0;padding:20px 0 34px;border-top:1px solid #142c35;display:flex;justify-content:space-between;gap:20px;color:#526b75;font-size:10px}.home-footer p{margin:0}
@media(max-width:760px){.home-shell{width:min(100% - 22px,480px);margin-top:11px}.home-hero{display:block;min-height:0}.home-hero:after{background:linear-gradient(180deg,rgba(3,9,13,.96) 0,rgba(3,9,13,.78) 40%,rgba(3,9,13,.1) 68%,rgba(3,9,13,.65) 100%)}.hero-copy{padding:24px 18px 168px}.hero-copy h1{font-size:32px;white-space:normal;letter-spacing:.05em}.hero-subtitle{font-size:15px;margin-bottom:15px;white-space:normal}.hero-lead{font-size:11px;line-height:1.8;max-width:90%;margin-bottom:14px}.hero-about{font-size:11px}.hero-visual{inset:auto 0 0;height:190px;background-position:center}.hero-status{top:auto;bottom:10px;right:12px;font-size:9px;background:rgba(2,8,11,.62);padding:6px 8px}.home-section{margin-top:20px}.section-heading-row{min-height:38px}.section-heading-row h2{font-size:14px}.section-heading-row h2 span{font-size:10px;margin-right:8px;padding-left:7px}.section-heading-row>a{font-size:10px}.category-grid{grid-template-columns:1fr 1fr;gap:7px;margin-top:9px}.category-tile{min-height:124px;padding:13px 12px 10px}.category-code{font-size:26px;margin-bottom:5px}.category-tile strong{font-size:16px}.category-tile small{font-size:9px;margin-top:6px}.category-tile em{font-size:8px;padding:5px 7px}.latest-grid{display:flex;flex-direction:column;gap:7px;margin-top:9px}.latest-card.featured{display:flex}.latest-card.compact{display:grid;grid-template-columns:116px 1fr;grid-template-rows:none;min-height:86px}.compact .latest-image{min-height:86px;height:100%}.latest-content{padding:10px 11px}.latest-content h3{font-size:15px;margin:6px 0 3px}.featured .latest-content h3{font-size:21px}.latest-content p{font-size:9px;margin-bottom:6px}.latest-meta{gap:11px;font-size:9px}.latest-meta b{font-size:13px}.latest-meta i{font-size:18px}.latest-id{font-size:9px;padding:4px 5px}.new-badge{font-size:8px;padding:5px}.information-strip{grid-template-columns:1fr;margin-top:20px}.info-label{padding:9px 10px;border-bottom:1px solid #1f3e4b}.info-body{border-left:0;padding:9px 10px;display:block}.info-body time{display:block;margin-bottom:5px}.home-utility{gap:14px;flex-wrap:wrap;padding:14px 2px 0}.home-footer{width:min(100% - 22px,480px);display:block;text-align:center;margin-top:18px}.home-footer p+p{margin-top:8px}}
.hero-version{display:inline-block;margin-top:4px;color:#668895;font-size:9px;letter-spacing:.14em}
@media(max-width:980px) and (min-width:761px){.home-hero{grid-template-columns:minmax(370px,1fr) 1.25fr}.hero-copy{padding-left:26px;padding-right:24px}.hero-copy h1{font-size:40px}.hero-subtitle{font-size:17px}.hero-lead{max-width:390px;font-size:11px}.hero-visual{inset:0 0 0 39%}}
/* dev06: connection status visibility */
.hero-status{font-size:15px;line-height:1.5;animation:archiveConnectionPulse 4s ease-in-out infinite}
.hero-version{font-size:11px}
@keyframes archiveConnectionPulse{0%,100%{opacity:1}50%{opacity:.58}}
.status-dot{animation:archiveDotPulse 4s ease-in-out infinite}
@keyframes archiveDotPulse{0%,100%{opacity:1;box-shadow:0 0 8px #64e7ff}50%{opacity:.58;box-shadow:0 0 3px #64e7ff}}
@media(max-width:760px){.hero-status{font-size:12px}.hero-version{font-size:9px}}
@media(prefers-reduced-motion:reduce){.hero-status,.status-dot{animation:none}}

/* dev07: system status block */
.hero-status{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.status-line{display:block}
.hero-version,.hero-update{display:block;margin-top:1px}
.hero-update{color:#668895;font-size:10px;letter-spacing:.12em}
@media(max-width:760px){.hero-update{font-size:8px}}

/* dev08: only the live connection line pulses */
.hero-status{animation:none}
.status-line{animation:archiveConnectionPulse 4s ease-in-out infinite}
.hero-version,.hero-update{animation:none;opacity:1}
@media(prefers-reduced-motion:reduce){.status-line,.status-dot{animation:none}}

/* dev09: FIXED ARCHIVE CATEGORY visuals */
.category-tile{background-position:center;background-size:cover;background-repeat:no-repeat}
.category-tile:before{background:linear-gradient(90deg,rgba(3,8,11,.78) 0%,rgba(3,8,11,.52) 48%,rgba(3,8,11,.22) 100%),linear-gradient(0deg,rgba(3,8,11,.58),rgba(3,8,11,.08) 60%);opacity:1}
.category-tile:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 42px rgba(0,0,0,.28)}
.cat-jk{background-image:url('../images/categories/JK.webp')}.cat-td{background-image:url('../images/categories/TD.webp')}.cat-ss{background-image:url('../images/categories/SS.webp')}.cat-ar{background-image:url('../images/categories/AR.webp')}
.category-code,.category-tile strong,.category-tile small,.category-tile em{position:relative;z-index:2;text-shadow:0 2px 10px #000,0 1px 2px #000}
.category-tile small{color:#d0dadd}.category-tile em{background:rgba(3,8,11,.58);backdrop-filter:blur(2px)}
@media(max-width:760px){.category-tile{background-position:center}.category-tile:before{background:linear-gradient(90deg,rgba(3,8,11,.76),rgba(3,8,11,.3)),linear-gradient(0deg,rgba(3,8,11,.56),rgba(3,8,11,.08) 60%)}}

/* dev10: narrow-width hero safeguard */
@media(max-width:760px){
  .hero-copy{min-width:0;overflow-wrap:anywhere}
  .hero-copy h1{max-width:100%;font-size:clamp(27px,9vw,32px);line-height:1.18;white-space:normal;word-break:keep-all;overflow-wrap:normal}
  .hero-visual{background-position:58% center}
}
@media(max-width:380px){
  .hero-copy{padding-left:16px;padding-right:16px}
  .hero-copy h1{font-size:27px;letter-spacing:.035em}
}

/* dev07: keep compact latest records identifiable at intermediate/narrow widths */
.latest-image-label{display:none}
@media(max-width:980px){
  .latest-card.compact .latest-image{position:relative}
  .latest-card.compact .latest-image-label{display:flex;position:absolute;z-index:3;left:0;right:0;bottom:0;flex-direction:column;gap:3px;padding:24px 9px 8px;background:linear-gradient(transparent,rgba(2,8,11,.94));text-shadow:0 1px 4px #000}
  .latest-card.compact .latest-image-label span{width:max-content;border:1px solid rgba(139,217,255,.72);padding:3px 5px;color:#a8e3ff;font:8px/1 monospace;letter-spacing:.06em;background:rgba(2,8,11,.68)}
  .latest-card.compact .latest-image-label strong{color:#f1f4f3;font-family:serif;font-size:13px;font-weight:500;line-height:1.3}
}
@media(max-width:760px){
  .latest-card.compact .latest-image-label{padding:18px 7px 6px}
  .latest-card.compact .latest-image-label strong{font-size:11px}
}


/* INDEX refinement 2026-09-28: featured dossier data + compact title readability */
.latest-card.featured .latest-classification{color:#b9cbd2;margin-bottom:6px}
.latest-card.featured .latest-recorder{color:#7fa3b2;font:10px/1.6 monospace;letter-spacing:.02em;margin:0 0 10px}
@media(max-width:980px){
  .latest-card.compact .latest-image-label{top:0;bottom:auto;padding:9px 9px 28px;background:linear-gradient(180deg,rgba(2,8,11,.94) 0%,rgba(2,8,11,.72) 62%,transparent 100%)}
  .latest-card.compact .latest-image-label strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;max-width:100%;overflow-wrap:anywhere}
}
@media(max-width:760px){
  .latest-card.compact{grid-template-columns:minmax(168px,44%) 1fr}
  .latest-card.compact .latest-image-label{padding:7px 7px 24px}
  .latest-card.compact .latest-image-label strong{font-size:12px;line-height:1.35}
  .latest-card.compact .latest-content .latest-topline,
  .latest-card.compact .latest-content h3{display:none}
  .latest-card.featured .latest-recorder{font-size:9px;line-height:1.55}
  .info-body{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
}
@media(max-width:380px){
  .latest-card.compact{grid-template-columns:minmax(150px,46%) 1fr}
}
\n\n/* INDEX refinement 2026-09-28b: mobile title/recorder legibility */
.latest-card.featured .latest-content h3{white-space:nowrap;word-break:keep-all;overflow-wrap:normal;font-size:clamp(20px,2.35vw,25px)}
.latest-card.featured .latest-recorder{display:flex;flex-wrap:wrap;column-gap:10px;row-gap:1px;align-items:baseline}
.latest-card.featured .latest-recorder span{white-space:nowrap}
@media(max-width:980px){
  .latest-card.compact .latest-image-label strong{display:block;width:100%;white-space:normal;word-break:break-all;overflow-wrap:anywhere;max-height:2.7em;overflow:hidden;line-height:1.35}
}
@media(max-width:760px){
  .latest-card.featured .latest-content h3{font-size:clamp(18px,5.3vw,21px);letter-spacing:-.02em}
  .latest-card.featured .latest-recorder{display:flex;flex-direction:column;align-items:flex-start;gap:0}
  .latest-card.compact .latest-image-label strong{font-size:12px;line-height:1.35;max-height:2.7em}
}
@media(max-width:380px){
  .latest-card.featured .latest-content h3{font-size:18px}
  .latest-card.compact .latest-image-label strong{font-size:11px}
}

/* INDEX refinement 2026-09-28c: verified smartphone latest-card layout */
@media(max-width:760px){
  /* Keep the approved 1 large + 4 compact card composition on phones. */
  .latest-grid{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:1fr 1fr;gap:7px;margin-top:9px}
  .latest-card.featured{grid-row:1/3;display:flex;min-width:0}
  .latest-card.compact{display:block;min-height:0;min-width:0}
  .latest-card.compact .latest-image{height:100%;min-height:0;aspect-ratio:auto}
  .latest-card.compact .latest-content{display:none}

  /* Featured record: prevent accidental Japanese character breaks. */
  .latest-card.featured .latest-content{padding:10px 10px 9px;min-width:0}
  .latest-card.featured .latest-content h3{display:block;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;font-size:18px!important;line-height:1.25;letter-spacing:-.035em;margin:9px 0 6px}
  .latest-card.featured .latest-classification{font-size:8.5px;line-height:1.45;white-space:nowrap;letter-spacing:-.025em;margin-bottom:7px}
  .latest-card.featured .latest-recorder{display:flex;flex-direction:column;align-items:flex-start;gap:0;font-size:8.5px;line-height:1.55;margin-bottom:9px}
  .latest-card.featured .latest-recorder span{white-space:nowrap}

  /* Compact records: ID + title are a two-line-capable image overlay. */
  .latest-card.compact .latest-image-label{display:flex;top:0;right:0;bottom:auto;left:0;box-sizing:border-box;flex-direction:column;align-items:flex-start;gap:5px;padding:7px 6px 30px;background:linear-gradient(180deg,rgba(2,8,11,.96) 0%,rgba(2,8,11,.78) 58%,transparent 100%);text-shadow:0 1px 4px #000;overflow:visible}
  .latest-card.compact .latest-image-label span{flex:0 0 auto;font-size:8px}
  .latest-card.compact .latest-image-label strong{display:block!important;width:100%;max-width:none;max-height:none!important;overflow:visible!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important;font-size:10.5px!important;line-height:1.28!important;font-weight:500}
}
@media(max-width:380px){
  .latest-card.featured .latest-content h3{font-size:16.5px!important}
  .latest-card.featured .latest-classification,.latest-card.featured .latest-recorder{font-size:8px}
  .latest-card.compact .latest-image-label strong{font-size:9.5px!important}
}
