*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#2B2C30;color:#D8D8DC;font-family:system-ui,-apple-system,"Segoe UI","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.7;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit}
img{display:block;max-width:100%;object-fit:contain;object-position:center}
.shell{width:min(960px,calc(100% - 32px));margin-left:auto;margin-right:auto}
.race-strip{position:fixed;z-index:70;top:0;left:0;right:0;height:20px;background:#1A1B1E;color:#D8D8DC;font-size:12px;border-bottom:1px solid rgba(242,242,244,.08)}
.race-strip-inner{height:20px;display:flex;align-items:center;justify-content:space-between}
.plain-trigger{border:0;background:transparent;color:#F2F2F4;cursor:pointer;padding:0 2px}
.search-trigger{height:44px;min-width:44px;margin:-12px 0;display:inline-flex;align-items:center;justify-content:flex-end;text-align:right;font-size:12px}
.day-header{position:fixed;z-index:68;top:20px;left:0;right:0;height:54px;background:#34363C;border-bottom:1px solid rgba(212,176,106,.38)}
.day-header-inner{height:54px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.brand-link{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
.brand-logo{height:24px;width:auto;max-width:180px;object-fit:contain;object-position:center}
.brand-fallback{font-size:16px;font-weight:750;color:#F2F2F4;letter-spacing:.02em}
.header-actions{display:flex;align-items:center;gap:8px;white-space:nowrap}
.header-app,.menu-trigger{min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:0 14px;border-radius:7px;font-size:14px}
.header-app{border:1px solid rgba(212,176,106,.48);color:#F2F2F4;background:#2B2C30}
.menu-trigger{border:1px solid rgba(242,242,244,.14);background:#3E4046;color:#F2F2F4;cursor:pointer}
.day-grid{position:fixed;z-index:64;top:74px;left:0;right:0;height:46px;background:#1A1B1E;border-bottom:1px solid rgba(242,242,244,.08)}
.day-grid-inner{height:46px;display:flex;align-items:flex-start;justify-content:center;gap:42px;padding-top:5px}
.day-grid-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:12px;color:#A8A8B0;min-width:56px}
.day-grid-box{width:36px;height:36px;display:grid;place-items:center;border:1px solid rgba(242,242,244,.16);border-radius:6px;background:#34363C;color:#F2F2F4;font-size:13px;transition:.18s}
.day-grid-label{position:absolute;top:36px;line-height:1.2;transform:translateY(2px);font-size:12px}
.day-grid-item.is-current .day-grid-box{border:2px solid #D4B06A;box-shadow:0 0 0 2px rgba(212,176,106,.1)}
.day-grid-item:hover .day-grid-box{transform:translateY(-1px);border-color:rgba(212,176,106,.72)}
.site-main{padding-top:146px;padding-bottom:42px;min-height:70vh}
h1,h2,h3{color:#F2F2F4;margin-top:0;font-weight:750;letter-spacing:.01em}
h1{font-size:24px;line-height:1.3;margin-bottom:12px}
h2{font-size:20px;line-height:1.4;margin-bottom:10px}
h3{font-size:16px;line-height:1.45;margin-bottom:8px}
p{margin:0 0 12px}
.lead{font-size:16px;color:#F2F2F4;line-height:1.75}
.eyebrow{font-size:13px;color:#D4B06A;margin-bottom:6px}
.intro{padding:24px 0 8px}
.home-index{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.home-index a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 13px;background:#34363C;border:1px solid rgba(242,242,244,.12);border-radius:8px;color:#D8D8DC}
.home-index a span{width:22px;height:22px;display:grid;place-items:center;border-radius:5px;background:#D4B06A;color:#1A1B1E;font-size:12px;font-weight:750}
.section{margin:22px 0;background:#34363C;border:1px solid rgba(242,242,244,.12);border-radius:9px;box-shadow:0 12px 28px rgba(0,0,0,.28);overflow:hidden}
.section-pad{padding:24px}
.button-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.btn-primary,.btn-secondary{height:44px;min-width:44px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;border-radius:7px;font-size:14px;white-space:nowrap;transition:.18s}
.btn-primary{background:linear-gradient(135deg,#7A92B0 0%,#D4B06A 100%);color:#1A1B1E;font-weight:750}
.btn-secondary{background:#34363C;border:1px solid #D4B06A;color:#F2F2F4}
.btn-primary:hover,.btn-secondary:hover,.header-app:hover,.menu-trigger:hover{transform:translateY(-1px)}
a:focus-visible,button:focus-visible{outline:3px solid rgba(212,176,106,.55);outline-offset:2px}
.media-slot,.media-slot-sm,.media-slot-tall,.banner-slot,.vertical-media{display:flex;align-items:center;justify-content:center;background:#34363C;border:1px dashed rgba(242,242,244,.12);overflow:hidden}
.media-slot{min-height:180px}
.media-slot-sm{min-height:138px}
.media-slot-tall{height:min(320px,55vw)}
.banner-slot{height:200px}
.vertical-media{height:200px;width:100%}
.media-slot img,.media-slot-sm img,.media-slot-tall img,.banner-slot img,.vertical-media img{width:100%;height:100%;object-fit:contain;object-position:center}
.home-vertical-cut{display:grid;grid-template-columns:minmax(180px,280px) 1fr;min-height:200px}
.home-vertical-copy{padding:24px}
.home-vertical-media{background:#3E4046;border-right:1px solid rgba(242,242,244,.12);display:flex;align-items:center;justify-content:center;clip-path:polygon(0 0,88% 0,100% 50%,88% 100%,0 100%)}
.home-vertical-media .vertical-media{border:0;background:transparent}
.list-rows{display:grid;gap:0;border-top:1px solid rgba(242,242,244,.1)}
.list-row{display:grid;grid-template-columns:92px 1fr;gap:16px;padding:18px 0;border-bottom:1px solid rgba(242,242,244,.1);align-items:start}
.list-row-index{font-size:13px;color:#D4B06A;font-weight:750;letter-spacing:.06em}
.list-row .media-slot-sm{margin:0 0 12px;max-width:420px}
.grid-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.grid-card{padding:20px;background:#3E4046;border:1px solid rgba(242,242,244,.1);border-radius:8px}
.grid-card .media-slot-sm{margin-bottom:14px;background:#34363C}
.topic-head-image{margin-bottom:16px}
.three-phase{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.phase{padding:18px;background:#3E4046;border:1px solid rgba(242,242,244,.1);border-radius:8px}
.phase strong{display:block;color:#D4B06A;margin-bottom:7px}
.status-list{display:grid;gap:10px}
.status-row{display:grid;grid-template-columns:150px 1fr auto;gap:14px;align-items:center;padding:14px 16px;background:#3E4046;border:1px solid rgba(242,242,244,.08);border-radius:7px}
.status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:0 11px;border:1px solid rgba(212,176,106,.48);border-radius:999px;color:#D4B06A;font-size:13px;white-space:nowrap}
.home-app{display:grid;grid-template-columns:minmax(180px,300px) 1fr;gap:24px;align-items:center}
.home-app-visual{display:grid;gap:10px;justify-items:center}
.home-app-visual .media-slot-tall{width:100%;max-width:260px;background:#3E4046}
.app-icon-slot{width:64px;height:64px;min-height:64px;background:#3E4046}.app-icon-slot img,.app-mini-icon img{width:48px;height:48px;object-fit:contain;object-position:center}
.page-hero{padding:24px 0 16px}
.content-layout{display:grid;gap:18px}
/* riji: clear list rows */
.riji-rows{display:grid;border-top:1px solid rgba(242,242,244,.12)}
.riji-row{display:grid;grid-template-columns:110px 1fr;gap:20px;padding:22px 0;border-bottom:1px solid rgba(242,242,244,.12)}
.riji-mark{font-size:13px;color:#D4B06A;font-weight:750}
.riji-row .media-slot-sm{margin-bottom:14px;max-width:520px}
/* saichang: vertical-cut sections */
.saichang-cut{display:grid;grid-template-columns:220px 1fr;background:#34363C;border:1px solid rgba(242,242,244,.12);border-radius:9px;overflow:hidden;box-shadow:0 12px 28px rgba(0,0,0,.18)}
.saichang-cut:nth-child(even){grid-template-columns:1fr 220px}
.saichang-cut:nth-child(even) .cut-copy{order:1}
.cut-side{background:#3E4046;padding:18px;display:flex;align-items:center;justify-content:center;clip-path:polygon(0 0,88% 0,100% 50%,88% 100%,0 100%)}
.saichang-cut:nth-child(even) .cut-side{clip-path:polygon(12% 0,100% 0,100% 100%,0 100%,12% 50%)}
.cut-copy{padding:24px}
/* ribu: card grid */
.ribu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ribu-card{padding:22px;background:#34363C;border:1px solid rgba(242,242,244,.12);border-radius:8px;box-shadow:0 8px 20px rgba(0,0,0,.16)}
.ribu-card.featured{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,320px) 1fr;gap:22px;align-items:center}
/* single-column pages */
.single-column{max-width:760px;margin:0 auto}
.prose-block{padding:22px;background:#34363C;border:1px solid rgba(242,242,244,.12);border-radius:8px;margin-bottom:16px}
.prose-block .media-slot-sm{margin:12px 0 16px;background:#3E4046}
.memo-list{display:grid;gap:14px}
.memo-item{padding:18px 20px 18px 24px;background:#34363C;border-left:4px solid #7A92B0;border-radius:7px;box-shadow:0 8px 20px rgba(0,0,0,.16)}
.method-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.method-card{background:#34363C;border:1px solid rgba(242,242,244,.12);border-radius:8px;padding:20px}
.topic-list{display:grid;gap:14px}
.topic-item{display:grid;grid-template-columns:150px 1fr;gap:18px;padding:18px;background:#34363C;border:1px solid rgba(242,242,244,.12);border-radius:8px}
.center-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.center-card{text-align:center;padding:22px;background:#34363C;border:1px solid rgba(212,176,106,.32);border-radius:9px}
.center-card .media-slot-sm{margin-bottom:14px;background:#3E4046}
.app-layout{display:grid;grid-template-columns:minmax(220px,300px) 1fr;gap:28px;align-items:start}
.app-layout .media-slot-tall{background:#3E4046}
.app-mini-icon{width:64px;height:64px;min-height:64px;margin:14px auto 0;background:#3E4046}
.terms section{padding:20px 0;border-bottom:1px solid rgba(242,242,244,.12)}
.terms section:last-child{border-bottom:0}
.faq-list{display:grid;gap:14px}
.faq-item{background:#34363C;border:1px solid rgba(242,242,244,.12);border-radius:8px;padding:20px}
.faq-preview{display:grid;gap:10px}
.faq-preview details{background:#3E4046;border:1px solid rgba(242,242,244,.08);border-radius:7px;padding:12px 14px}
.faq-preview summary{cursor:pointer;font-weight:750;color:#F2F2F4}
.contact-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.contact-path{padding:20px;background:#34363C;border:1px solid rgba(242,242,244,.12);border-radius:8px}
.soft-panel{background:#3E4046;border-radius:8px;padding:20px}
.notice{padding:16px 18px;background:#3E4046;border-left:4px solid #D4B06A;border-radius:7px}
.quote-line{border-left:4px solid #7A92B0;padding-left:14px;color:#A8A8B0}
.compact-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.compact-links a{min-height:44px;display:inline-flex;align-items:center;padding:0 12px;border:1px solid rgba(212,176,106,.42);border-radius:7px;background:#3E4046}
.brand-visual{max-width:520px;margin:0 auto 16px}
.site-footer{background:#1A1B1E;color:#D8D8DC;border-top:1px solid rgba(212,176,106,.35);font-size:13px}
.footer-inner{padding:30px 0 24px}
.footer-brand{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.footer-logo{height:24px;width:auto;object-fit:contain}
.footer-brand div{display:flex;gap:10px;align-items:baseline}
.footer-brand strong{font-size:16px;color:#F2F2F4}.footer-brand span{color:#A8A8B0}
.footer-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.footer-nav section{display:flex;flex-direction:column;gap:7px}
.footer-nav h2{font-size:13px;color:#D4B06A;margin:0 0 4px}
.footer-nav a{color:#D8D8DC;min-height:44px;display:flex;align-items:center;margin:-6px 0}
.footer-note{margin:22px 0 8px;color:#A8A8B0}.copyright{margin:0;color:#888890}
.page-mask{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;pointer-events:none;transition:.2s}
.page-mask.is-open{opacity:1;visibility:visible;pointer-events:auto}
.race-menu{position:fixed;z-index:92;left:24px;bottom:24px;width:280px;max-height:min(400px,70vh);background:#34363C;border:1px solid rgba(212,176,106,.48);border-radius:9px;box-shadow:0 18px 46px rgba(0,0,0,.46);transform:translateY(28px);opacity:0;visibility:hidden;pointer-events:none;transition:.22s;overflow:auto}
.race-menu.is-open{transform:translateY(0);opacity:1;visibility:visible;pointer-events:auto}
.race-menu-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;background:#34363C;border-bottom:1px solid rgba(242,242,244,.1)}
.race-menu-brand{display:flex;align-items:center;gap:9px}.race-menu-brand img{height:24px;width:auto;object-fit:contain}
.close-button{min-height:44px;min-width:44px;border:0;background:transparent;color:#F2F2F4;cursor:pointer}
.race-menu-groups{padding:10px 14px 16px}
.race-menu-groups section+section{margin-top:12px;padding-top:10px;border-top:1px solid rgba(242,242,244,.08)}
.race-menu-groups h2{font-size:13px;color:#D4B06A;margin:0 0 5px}
.race-menu-groups a{display:flex;flex-direction:column;padding:6px 0}
.race-menu-groups a strong{font-size:14px;color:#F2F2F4}.race-menu-groups a span{font-size:12px;color:#A8A8B0;line-height:1.45}
.search-panel{position:fixed;z-index:94;top:74px;left:0;right:0;visibility:hidden;pointer-events:none;opacity:0;transform:translateY(-10px);transition:.2s}
.search-panel.is-open{visibility:visible;pointer-events:auto;opacity:1;transform:translateY(0)}
.search-card{width:min(760px,calc(100% - 32px));margin:0 auto;background:#34363C;border:1px solid rgba(212,176,106,.36);border-radius:0 0 9px 9px;box-shadow:0 16px 36px rgba(0,0,0,.38);padding:20px}
.search-head{display:flex;justify-content:space-between;align-items:center;gap:12px}.search-head h2{margin:0;font-size:20px}
.search-links{display:flex;flex-wrap:wrap;gap:9px}.search-links a{min-height:44px;display:inline-flex;align-items:center;padding:0 14px;background:#3E4046;border:1px solid rgba(242,242,244,.1);border-radius:7px}
.mobile-bottom{display:none}.is-locked{overflow:hidden}
@media(max-width:760px){
  .shell{width:calc(100% - 32px)}
  .day-grid{display:none}
  .site-main{padding-top:100px;padding-bottom:78px}
  .header-actions{gap:4px}.header-app,.menu-trigger{padding:0 10px}
  .home-vertical-cut,.home-app,.app-layout,.ribu-card.featured{grid-template-columns:1fr}
  .home-vertical-media{clip-path:polygon(0 0,100% 0,100% 88%,50% 100%,0 88%)}
  .home-vertical-media .vertical-media{max-width:280px}
  .list-row,.riji-row{grid-template-columns:1fr;gap:5px}
  .grid-cards,.ribu-grid,.center-card-grid,.method-list,.contact-paths{grid-template-columns:1fr}
  .three-phase{grid-template-columns:1fr}
  .status-row{grid-template-columns:1fr;gap:6px}
  .topic-item{grid-template-columns:1fr}
  .saichang-cut,.saichang-cut:nth-child(even){grid-template-columns:1fr}
  .saichang-cut:nth-child(even) .cut-copy{order:0}
  .cut-side,.saichang-cut:nth-child(even) .cut-side{clip-path:polygon(0 0,100% 0,100% 88%,50% 100%,0 88%)}
  .footer-nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .footer-inner{padding-bottom:74px}.footer-brand div{display:block}
  .race-menu{left:16px;bottom:64px;width:88%;max-height:min(400px,70vh)}
  .search-panel{top:0;bottom:0;background:#1A1B1E}
  .search-panel.is-open{display:flex;align-items:flex-start}
  .search-card{width:100%;min-height:100%;margin:0;border:0;border-radius:0;background:#1A1B1E;color:#F2F2F4;padding:24px 16px}
  .search-links a{background:#34363C}
  .mobile-bottom{position:fixed;z-index:58;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);height:calc(48px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:#34363C;border-top:1px solid rgba(242,242,244,.12)}
  .mobile-bottom a{min-height:48px;display:grid;place-items:center;font-size:13px;color:#D8D8DC}
  .mobile-bottom a.is-current{background:#D4B06A;color:#1A1B1E;font-weight:750}
  .banner-slot{height:180px}
}
@media(max-width:380px){.header-app,.menu-trigger{padding:0 8px;font-size:13px}.brand-fallback{font-size:15px}.footer-nav{gap:14px}}
