html{scroll-behavior:smooth}
html,body{margin:0;padding:0;background:#07090b;color:#f4f5ef}
body{min-width:320px}
html{scroll-behavior:smooth}
.crv{
  --bg:#07090b;--panel:#0c1014;--panel2:#11171d;--ink:#f4f5ef;--muted:#aab0aa;
  --line:#e8eae4;--dim:#66706b;--yellow:#ffd84d;--red:#ff5a5f;--green:#75d58a;
  color:var(--ink);background:var(--bg);min-height:100vh;
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  letter-spacing:.02em;
}
.crv *{box-sizing:border-box}
.crv a{color:inherit;text-decoration:none}
.crv .crv-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono",monospace}
.crv .crv-wrap{width:min(1100px,calc(100% - 32px));margin:0 auto}
.crv .crv-location{
  display:inline-flex;align-items:center;gap:8px;margin-bottom:14px;padding:7px 10px;
  border:1px solid #5d6661;background:#080b0e;color:#cfd4ce;font-size:.72rem;font-weight:900;letter-spacing:.08em
}
.crv .crv-location:before{content:"◆";color:var(--yellow);font-size:.7rem}
.crv .crv-place-icon{
  display:grid;place-items:center;width:34px;height:34px;margin:0 auto 12px;position:relative;z-index:1;float:none!important;
  border:1px solid #5b6460;background:#080b0e;color:var(--yellow);font-family:ui-monospace,monospace;font-weight:900
}
.crv .crv-retro-box{border:2px solid var(--line);box-shadow:inset 0 0 0 2px var(--bg);background:var(--panel);clear:both}
.crv .crv-topnav{
  position:sticky;top:0;z-index:50;background:rgba(7,9,11,.94);backdrop-filter:blur(10px);
  border-bottom:1px solid #30363a;
}
.crv .crv-topnav-inner{min-height:62px;display:flex;align-items:center;gap:18px}
.crv .crv-brand{font-weight:900;letter-spacing:.12em;white-space:nowrap}
.crv .crv-nav-scroll{display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:none;margin-left:auto;padding:8px 0}
.crv .crv-nav-scroll::-webkit-scrollbar{display:none}
.crv .crv-nav-btn{
  position:relative;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;
  padding:9px 12px;border:1px solid #4a5155;border-radius:3px;color:#d9ddd7;
  font-size:.78rem;font-weight:800;background:#0a0d10;transition:.18s ease;
}
.crv .crv-nav-btn:hover,.crv .crv-nav-btn:focus-visible{border-color:var(--line);color:#fff;transform:translateY(-1px)}
.crv .crv-nav-btn.crv-is-new{border-color:var(--yellow);color:var(--yellow);box-shadow:0 0 0 1px rgba(255,216,77,.08),0 0 22px rgba(255,216,77,.18)}
.crv .crv-nav-btn.crv-is-new:after{
  content:"NEW";font-size:.58rem;line-height:1;background:var(--yellow);color:#111;padding:3px 4px;border-radius:2px;font-weight:1000;
}
.crv .crv-hero{position:relative;min-height:76vh;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid #262b2f;background:var(--bg)}
.crv .crv-hero:before{
  content:"";position:absolute;inset:0;opacity:.23;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);
  background-size:32px 32px;
  mask-image:linear-gradient(to bottom,#000,transparent 92%);
}
.crv .crv-hero:after{
  content:"·  ·  ◆  ·  ·    ·  ◇  ·    ·  ·  +  ·";position:absolute;left:50%;bottom:34px;
  transform:translateX(-50%);color:#4d5558;letter-spacing:.9em;white-space:nowrap;font-size:.82rem
}
.crv .crv-hero-inner{position:relative;text-align:center;padding:92px 0 110px;z-index:2}
.crv .crv-kicker{margin:0 0 20px;color:var(--yellow);font-size:.76rem;font-weight:900;letter-spacing:.17em}
.crv h1,.crv h2,.crv h3{margin-top:0;color:var(--ink);border:0!important;background:none!important;padding-left:0!important;padding-right:0!important;box-shadow:none!important;position:static!important;float:none!important;clear:both}
.crv h1:before,.crv h1:after,.crv h2:before,.crv h2:after,.crv h3:before,.crv h3:after{content:none!important;display:none!important}
.crv h1{font-size:clamp(2.15rem,6vw,5.2rem);line-height:1.18;letter-spacing:.015em;margin-bottom:26px;font-weight:900}
.crv .crv-lead{max-width:760px;margin:0 auto;color:#d0d4ce;font-size:clamp(1rem,2vw,1.18rem);line-height:2}
.crv .crv-hero-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:34px}
.crv .crv-cta{
  display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;
  border:2px solid var(--line);background:#0a0d10;color:#fff;font-weight:900;border-radius:3px;transition:.18s ease;
}
.crv .crv-cta:hover,.crv .crv-cta:focus-visible{background:#fff;color:#090b0d;transform:translateY(-2px)}
.crv .crv-cta:before{content:"›";margin-right:8px;color:var(--yellow);transition:transform .16s ease}
.crv .crv-cta:hover:before,.crv .crv-cta:focus-visible:before{transform:translateX(4px);color:#111}
.crv .crv-cta-sub{border-color:#596066;color:#d8dcd6}
.crv .crv-cta-sub:hover{border-color:#fff}
.crv .crv-section{scroll-margin-top:76px;padding:72px 0;border-bottom:1px solid #22282c;position:relative;display:flow-root;clear:both;float:none!important}
.crv .crv-section:before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:74px;height:1px;background:#4a5350}
.crv .crv-section-label:before{content:"■ ";color:var(--yellow)}
.crv .crv-section h2{text-shadow:0 2px 0 #000}
.crv .crv-section-title-row{display:flex;justify-content:space-between;gap:24px;align-items:end;margin-bottom:26px}
.crv .crv-first-quest-section .crv-section-title-row{justify-content:center;text-align:center}
.crv .crv-first-quest-section .crv-section-title-row>div{width:100%}
.crv .crv-first-quest-section .crv-desc{margin-left:auto;margin-right:auto}
.crv .crv-centered-section .crv-section-title-row{justify-content:center;text-align:center;position:relative}
.crv .crv-centered-section .crv-section-title-row>div{width:100%}
.crv .crv-centered-section .crv-desc{margin-left:auto;margin-right:auto}
.crv .crv-centered-section .crv-section-title-row>.crv-link{position:absolute;right:0;bottom:0}
.crv .crv-section-label{display:block;color:var(--yellow);font-size:.72rem;font-weight:900;letter-spacing:.16em;margin-bottom:9px}
.crv h2{font-size:clamp(1.7rem,4vw,2.8rem);line-height:1.3;margin-bottom:8px}
.crv .crv-desc{margin:0;color:var(--muted);line-height:1.85}
.crv .crv-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px;align-items:stretch;clear:both;width:100%}
.crv #side-quests .crv-card{grid-column:span 3}
.crv .crv-card{grid-column:span 4;padding:24px;border:2px solid #69716e;background:#0b0f13;height:auto;min-height:0;border-radius:0;float:none!important;
  box-shadow:inset 0 0 0 2px #07090b,0 0 0 1px #20272a;position:relative}
.crv .crv-card:before{content:"";position:absolute;inset:5px;border:1px solid #252d30;pointer-events:none}
.crv .crv-card.crv-major{grid-column:span 8;border-color:var(--line);background:#0b1014}
.crv .crv-card.crv-side{grid-column:span 4}
.crv .crv-card h3{font-size:1.32rem;line-height:1.45;margin-bottom:11px}
.crv .crv-card p{margin:0;color:#b7bdb7;line-height:1.85}
.crv .crv-tag{display:inline-block;width:auto;max-width:100%;margin-bottom:14px;padding:4px 7px;border:1px solid #535c60;color:#cdd2cd;font-size:.68rem;font-weight:900;letter-spacing:.1em;background:transparent;box-shadow:none;white-space:normal}
.crv .crv-tag.crv-main{border-color:var(--yellow);color:var(--yellow)}
.crv .crv-link{display:inline-block;margin-top:18px;color:#fff;border-bottom:1px solid #8f9691;font-weight:900;padding-bottom:2px}
.crv .crv-link:hover{color:var(--yellow);border-color:var(--yellow)}
.crv .crv-link:before{content:"› ";color:var(--yellow)}
.crv .crv-card:hover{border-color:#9aa19d}
.crv .crv-disabled{display:inline-block;margin-top:18px;color:#747d78;font-weight:800}
.crv .crv-transition{
  margin-top:18px;padding:14px 16px;border-left:3px solid var(--yellow);background:#111820;color:#dfe3dd;font-size:.88rem;line-height:1.7
}
.crv .crv-daily{display:flex;gap:16px;align-items:flex-start;padding:19px;border:1px dashed #6b7370;background:#090d10;margin-top:18px}
.crv .crv-daily-mark{font-size:1.45rem;color:var(--yellow);line-height:1}
.crv .crv-daily strong{display:block;margin-bottom:6px}
.crv .crv-bulletin{display:grid;gap:10px}
.crv .crv-news-item{
  display:grid;grid-template-columns:96px 1fr;gap:18px;padding:14px 0;border-bottom:1px solid #2b3134;
  color:#e2e5df;
}
.crv .crv-news-date{color:#858e89;font-size:.78rem}
.crv .crv-news-item:hover .crv-news-title{color:var(--yellow)}
.crv .crv-news-empty{color:#8e9691}
.crv .crv-semantic-note{display:flex;gap:16px;flex-wrap:wrap;margin-top:22px;color:#959d98;font-size:.78rem}
.crv .crv-semantic-note span{display:inline-flex;align-items:center;gap:7px}
.crv .crv-dot{width:9px;height:9px;border-radius:50%;display:inline-block}
.crv .crv-dot.crv-yellow{background:var(--yellow)} .crv .crv-dot.crv-red{background:var(--red)}
.crv .crv-bottom-note{padding:38px 0 22px;color:#737c77;text-align:center;font-size:.82rem}
.crv .crv-legal-footer{border-top:1px solid #22282c;padding:18px 0 42px}
.crv .crv-legal-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 18px;font-size:.76rem;color:#8f9792}
.crv .crv-legal-links a{color:#8f9792;border-bottom:1px solid transparent}
.crv .crv-legal-links a:hover,.crv .crv-legal-links a:focus-visible{color:#fff;border-color:#6e7772}

.crv .crv-card>.crv-place-icon{margin:0 0 14px 0}
.crv .crv-section-title-row .crv-place-icon{margin-left:auto;margin-right:auto}
.crv .crv-section-title-row{clear:both}
.crv .crv-section-title-row+ .crv-grid{margin-top:0}
@media(max-width:800px){
  .crv .crv-wrap{width:min(100% - 22px,1100px)}
  .crv .crv-topnav-inner{min-height:56px;gap:10px}
  .crv .crv-brand{font-size:.84rem}
  .crv .crv-nav-btn{font-size:.72rem;padding:8px 9px}
  .crv .crv-hero{min-height:auto}
  .crv .crv-hero-inner{padding:76px 0 92px}
  .crv .crv-hero-actions{display:grid;grid-template-columns:1fr}
  .crv .crv-cta{width:100%}
  .crv .crv-section{padding:54px 0;scroll-margin-top:68px}
  .crv .crv-section-title-row{display:block}
  .crv .crv-centered-section .crv-section-title-row>.crv-link{position:static;display:inline-block;margin-top:14px}
  .crv .crv-grid{display:block}
  .crv .crv-card,.crv .crv-card.crv-major,.crv .crv-card.crv-side{margin-bottom:12px}
  .crv .crv-news-item{grid-template-columns:82px 1fr;gap:12px}
}
