/* Ink & Red — secondary pages (docs, links, appeal, gate/404). Loaded after docs.css etc. */
body{background:var(--bg);color:var(--text)}
.topbar{position:fixed;top:0;left:0;right:0;z-index:300;display:flex;justify-content:space-between;align-items:center;padding:.9rem var(--pad);background:linear-gradient(180deg,rgba(11,7,8,.85),transparent);border:0;box-shadow:none;color:#F1E7D6}
.topbar a,.topbar-current{font:400 1.05rem/1 var(--f-display);letter-spacing:.18em;text-transform:uppercase;color:#F1E7D6;text-decoration:none}
.topbar-sep{display:none}.topbar-left{display:flex;gap:1.2rem;align-items:center}
.topbar-current{color:var(--blood-hot)}
.theme-btn{background:none;border:0;color:#F1E7D6;box-shadow:none}
.page{max-width:none;padding:0;margin:0}
.hero,.hero-standalone{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;min-height:min(78vh,640px);padding:7rem var(--pad) clamp(5rem,10vw,8rem);background:var(--ink);color:#FFF4E4;border:0;box-shadow:none}
.hero::before{content:'';position:absolute;inset:0;z-index:-2;background:var(--header-bg) 70% 30%/cover;transform:scale(1.05)}
.hero::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,var(--ink),rgba(11,7,8,.7) 45%,rgba(11,7,8,.1)),linear-gradient(0deg,var(--ink),transparent 45%),radial-gradient(circle at 15% 90%,rgba(179,20,28,.6),transparent 55%)}
.hero-cloud,.gk-speed,.lan,.hero-corner,.hero-logo,.hero-kick .gk-tape:first-child,.hero-path{display:none!important}
.hero-kanji{position:absolute;right:var(--pad);top:6rem;margin:0;writing-mode:vertical-rl;display:flex;gap:.2em}
.hero-kanji .gk-stamp{font:400 clamp(3rem,9vw,7.5rem)/1 var(--f-jp);color:transparent;-webkit-text-stroke:1.5px rgba(255,244,228,.5);background:none;border:0;box-shadow:none;transform:none;padding:0}
.hero-body{position:relative;max-width:900px}
.hero-kick .gk-tape{display:inline-block;background:none;border:0;box-shadow:none;transform:none;padding:0;font:700 1.15rem/1 var(--f-serif);letter-spacing:.5em;color:var(--blood-hot)}
.hero-title{position:relative;display:inline-block;margin:1rem 0 0;font:400 clamp(3.4rem,11vw,9rem)/.92 var(--f-display);text-transform:uppercase;letter-spacing:.005em;color:#FFF4E4;transform:skewX(-6deg);text-shadow:none}
.hero-title::after{content:'';display:block;height:.14em;margin-top:.1em;background:var(--blood);-webkit-mask:var(--brush-u) 0 0/100% 100% no-repeat;mask:var(--brush-u) 0 0/100% 100% no-repeat}
.hero-tag{margin-top:1.6rem;font:600 .95rem/1.6 var(--f-serif);letter-spacing:.3em;text-transform:uppercase;color:rgba(255,244,228,.8)}
.hero+.orn,.orn[aria-hidden]{display:none}
.hero-standalone::after{z-index:-1}
.page::after{display:none}
/* torn edge into paper */
.hero .torn,.hero-body+*{position:relative}
.doc-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:3rem;max-width:1200px;margin:0 auto;padding:clamp(3rem,7vw,6rem) var(--pad)}
@media(min-width:1000px){.doc-layout{grid-template-columns:240px minmax(0,1fr);gap:5rem}}
.doc-side{position:relative}
.doc-side-inner{position:sticky;top:5rem;display:grid;gap:2.4rem}
.side-card{background:none;border:0;box-shadow:none;padding:0}
.side-card-title{font:700 .74rem/1 var(--f-label);letter-spacing:.34em;text-transform:uppercase;color:var(--accent);margin:0 0 1rem}
.side-nav,.side-links{list-style:none;margin:0;padding:0;display:grid;gap:.1rem;counter-reset:s}
.side-nav li{counter-increment:s}
.side-nav a,.side-links a{display:block;padding:.45rem 0;font:600 1rem/1.3 var(--f-body);color:var(--text-dim);text-decoration:none;border:0;background:none;transition:color .2s,padding .25s var(--ease-out)}
.side-nav a::before{content:counter(s,decimal-leading-zero) ' ';font:400 .95rem var(--f-display);color:var(--blood);margin-right:.7rem;letter-spacing:.06em}
.side-nav a:hover,.side-nav a.active,.side-links a:hover{color:var(--text);padding-left:.5rem;background:none}
.doc{max-width:74ch;margin:0}
.doc-section{padding:0 0 clamp(2.5rem,5vw,4rem);margin:0;background:none;border:0;box-shadow:none}
.doc-section h2,.doc h2{position:relative;display:inline-block;margin:0 0 1.4rem;font:400 clamp(2rem,4.6vw,3.4rem)/1 var(--f-display);text-transform:uppercase;letter-spacing:.01em;color:var(--text);transform:skewX(-6deg);border:0;padding:0;background:none}
.doc-section h2::after,.doc h2::after{content:'';display:block;width:55%;height:.2em;margin-top:.15em;background:var(--blood);-webkit-mask:var(--brush-u) 0 0/100% 100% no-repeat;mask:var(--brush-u) 0 0/100% 100% no-repeat}
.doc h3{font:400 1.5rem/1.2 var(--f-display);text-transform:uppercase;letter-spacing:.02em;color:var(--accent);margin:2rem 0 .6rem}
.doc p,.doc li{font-size:1.04rem;line-height:1.9;color:var(--text-dim)}
.doc strong{color:var(--text)}
.doc a{color:var(--accent);text-underline-offset:.2em}
.doc-divider{display:none}
.doc table,.doc .callout,.doc blockquote,.doc .note,.doc .card,.doc .box{background:none;border:0;border-left:3px solid var(--blood);box-shadow:none;border-radius:0;padding:.4rem 0 .4rem 1.3rem}
.doc table{border-left:0;width:100%;border-collapse:collapse}.doc th,.doc td{border:0;border-bottom:1px solid var(--line);padding:.7rem .5rem;text-align:left}
.foot{background:var(--ink);color:#E6DAC6;border:0;padding:5rem var(--pad) 2.5rem;position:relative;overflow:hidden}
.foot::after{content:'極楽街';position:absolute;right:-1rem;bottom:-2.4rem;font:400 clamp(8rem,24vw,20rem)/1 var(--f-jp);color:var(--blood);opacity:.18;pointer-events:none;white-space:nowrap}
.foot a{color:#E6DAC6}
body{padding-left:0}

/* ── flatten the legacy boxed components ── */
.sec-head{display:block;background:none;border:0;box-shadow:none;padding:0;margin:0 0 1.4rem}
.sec-num{display:block;background:none!important;border:0;color:var(--blood-hot);font:400 1.1rem/1 var(--f-display);letter-spacing:.3em;margin:0 0 .6rem;padding:0;clip-path:none;transform:none}
.sec-title{font:400 clamp(2rem,4.6vw,3.4rem)/1 var(--f-display);text-transform:uppercase;transform:skewX(-6deg);display:inline-block;background:none;color:var(--text);padding:0;margin:0;border:0;box-shadow:none;clip-path:none}
.sec-title::after{content:'';display:block;width:55%;height:.2em;margin-top:.15em;background:var(--blood);-webkit-mask:var(--brush-u) 0 0/100% 100% no-repeat;mask:var(--brush-u) 0 0/100% 100% no-repeat}
.sec-body{padding:0;background:none;border:0}
.stats-row,.feat-grid,.cat-grid,.role-grid,.type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:2rem 2.4rem;margin:2rem 0}
.stat-box,.feat-card,.cat-card,.role-card,.type-card,.status-card,.doc-notice,.notice,.login-wall,.mock-ticket,.mock-field,.tier,.inbox-thread,.cta-block,.doc-cta,.panel{background:none!important;border:0!important;box-shadow:none!important;border-radius:0!important;outline:0;clip-path:none}
.stat-box,.feat-card,.cat-card,.role-card,.type-card{padding:0;text-align:left}
.stat-num{display:block;font:400 clamp(3rem,7vw,5rem)/.9 var(--f-display);color:var(--accent);transform:skewX(-6deg)}
.stat-label{font:700 .76rem/1.3 var(--f-label);letter-spacing:.26em;text-transform:uppercase;color:var(--text-muted)}
.feat-icon,.type-icon,.notice-icon,.login-wall-icon,.success-icon{display:none}
.feat-title,.cat-card-title,.role-badge,.type-name,.notice-title,.tier-label{font:400 1.5rem/1.15 var(--f-display);text-transform:uppercase;letter-spacing:.02em;color:var(--text);margin-bottom:.5rem;background:none;border:0;padding:0}
.doc-notice,.notice{border-left:3px solid var(--blood)!important;padding:.4rem 0 .4rem 1.3rem!important;margin:1.8rem 0}
.doc-notice.safety,.notice-warn{border-left-color:var(--blood-hot)!important}
.tier{margin:0 0 2.4rem;padding:0}
.tier-header{display:flex;gap:1rem;align-items:baseline;background:none;border:0;padding:0 0 .6rem;cursor:pointer;color:var(--text)}
.tier-dot,.leg-dot{width:.7rem;height:.7rem;border-radius:50%;flex:none}
.tier-table th,.tier-table td{border:0;border-bottom:1px solid var(--line);padding:.7rem .4rem}
.doc-list,.link-list{list-style:none;margin:1rem 0;padding:0;display:grid;gap:.3rem}
.doc-meta,.field-hint,.mock-caption{font:600 .8rem/1.5 var(--f-label);letter-spacing:.16em;text-transform:uppercase;color:var(--text-muted)}
.cta-block,.doc-cta{padding:clamp(2rem,6vw,5rem) 0!important;text-align:left}
.cta-kanji{font:400 clamp(6rem,20vw,16rem)/1 var(--f-jp);color:var(--blood);opacity:.18}
.pill,.status-badge,.tier-meta{background:none;border:0;padding:0;font:700 .72rem/1 var(--f-label);letter-spacing:.26em;text-transform:uppercase;color:var(--accent)}
.btn-row,.cta-btns{display:flex;flex-wrap:wrap;gap:1rem 2rem}
.btn-discord{background:#5865F2;color:#fff}
.field-group{display:grid;gap:.5rem;margin-bottom:1.6rem}
.field-label{font:700 .76rem/1.3 var(--f-label);letter-spacing:.26em;text-transform:uppercase;color:var(--accent)}
.type-card,.notify-opt,.check-opt,.radio-text{cursor:pointer}
.step-list,.steps{display:flex;flex-wrap:wrap;gap:1rem 2.4rem;list-style:none;padding:0;margin:0 0 2.4rem}
.step{background:none;border:0;display:flex;gap:.6rem;align-items:baseline;color:var(--text-muted)}
.step.active{color:var(--text)}
.step-num{font:400 1.8rem/1 var(--f-display);color:var(--blood-hot)}
.step-line{display:none}
.step-label{font:700 .8rem/1 var(--f-label);letter-spacing:.22em;text-transform:uppercase}
.type-card:has(input:checked),.type-card.sel,.type-card.selected{border-left:3px solid var(--blood)!important;padding-left:1rem}
.foot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2.4rem;max-width:1200px;margin:0 auto}
.foot-col-title{font:700 .76rem/1 var(--f-label);letter-spacing:.32em;text-transform:uppercase;color:var(--blood-hot);border:0;padding:0;margin-bottom:1rem}
.foot-links{list-style:none;padding:0;margin:0;display:grid;gap:.3rem}
.foot-brand{font:400 2rem/1 var(--f-display);letter-spacing:.06em;color:#fff}
.foot-bottom{border:0;max-width:1200px;margin:3rem auto 0;color:#9D8F7D}
.foot>*{position:relative;z-index:1}
.side-card-title{background:none!important;padding:0!important;transform:none!important;clip-path:none!important;color:var(--accent)!important}
.side-links a.active,.side-links a[aria-current]{background:none!important;color:var(--blood-hot)!important}
.side-note{border:0;background:none;font-size:.9rem;color:var(--text-muted)}
.foot::before{display:none!important}
.sec-num{overflow:visible;line-height:1.2}
.stat-box::before,.stat-box::after{display:none}
.login-wall{text-align:left;padding:1rem 0}
.login-wall-title{font:400 2.4rem/1 var(--f-display);text-transform:uppercase}
