/* Character Files v1.7 — exact uploaded profile sheets are the main content. */
.profile-launch-btn{
  min-height:48px;
  font-family:var(--font-jp);
  letter-spacing:.12em;
  color:#f3f6fb;
  background:linear-gradient(180deg,rgba(31,53,80,.88),rgba(9,19,34,.92));
  border:1px solid rgba(232,195,122,.4);
  border-radius:6px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 8px 24px rgba(0,0,0,.22);
}
.profile-launch-btn:active{transform:translateY(1px);background:rgba(232,195,122,.14)}

.character-files{
  z-index:86!important;
  background:
    radial-gradient(100% 55% at 50% -5%,rgba(47,110,160,.2),transparent 62%),
    linear-gradient(180deg,#0a1424 0%,#060b14 70%,#04080f 100%)!important;
  overflow:hidden!important;
}
.character-files .cf-header{
  position:relative;
  z-index:3;
  flex:0 0 auto;
  padding:calc(14px + var(--safe-top)) 18px 12px;
  border-bottom:1px solid rgba(255,255,255,.1);
  background:rgba(6,11,20,.78);
  -webkit-backdrop-filter:blur(18px) saturate(1.15);
  backdrop-filter:blur(18px) saturate(1.15);
  box-shadow:0 10px 30px rgba(0,0,0,.22);
}
.cf-header-top{display:flex;align-items:center;justify-content:space-between;gap:14px}
.cf-brand{min-width:0}
.cf-eyebrow{color:var(--c-gold);font-size:10px;letter-spacing:.25em;margin-bottom:4px}
.cf-title{font-family:var(--font-jp);color:#f5f7fb;font-size:clamp(19px,4.8vw,28px);letter-spacing:.12em;line-height:1.15}
.cf-subtitle{color:#9fb0c4;font-size:11px;letter-spacing:.06em;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cf-close{
  flex:0 0 46px;width:46px;height:46px;border-radius:50%;
  color:#e8eef8;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.17);font-size:23px;
  display:flex;align-items:center;justify-content:center;
}

.cf-tabs{
  flex:0 0 auto;
  display:flex;gap:8px;
  padding:10px 14px 9px;
  overflow-x:auto;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
  background:rgba(7,13,23,.9);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.cf-tabs::-webkit-scrollbar{display:none}
.cf-tab{
  scroll-snap-align:center;
  flex:0 0 auto;
  min-width:118px;min-height:55px;
  padding:8px 12px;
  border-radius:9px;
  border:1px solid rgba(255,255,255,.12);
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  color:#aebdce;text-align:left;
  transition:background .16s,border-color .16s,transform .16s;
}
.cf-tab:active{transform:scale(.985)}
.cf-tab.active{
  color:#fff;
  border-color:rgba(232,195,122,.58);
  background:linear-gradient(180deg,rgba(232,195,122,.18),rgba(47,110,160,.1));
  box-shadow:0 7px 22px rgba(0,0,0,.22);
}
.cf-tab-no{display:block;color:#d8b76f;font-size:9px;letter-spacing:.18em;margin-bottom:2px}
.cf-tab-name{display:block;font-family:var(--font-jp);font-size:14px;letter-spacing:.05em;line-height:1.1}
.cf-tab-kana{display:block;font-size:9px;letter-spacing:.08em;opacity:.8;margin-top:4px}

.cf-main{
  flex:1 1 auto;
  min-height:0;
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.cf-toolbar{
  flex:0 0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 14px;
  background:rgba(5,10,18,.8);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.cf-person{min-width:0}
.cf-person-name{font-family:var(--font-jp);font-size:16px;color:#eef3f9;letter-spacing:.08em}
.cf-person-reading{font-size:10px;color:#9fb0c4;letter-spacing:.1em;margin-top:2px}
.cf-tools{display:flex;gap:7px;flex:0 0 auto}
.cf-tool{
  min-height:38px;padding:0 11px;border-radius:8px;
  color:#dce5f0;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.12);font-size:11px;
}
.cf-tool.active{color:#f5dcaa;border-color:rgba(232,195,122,.45);background:rgba(232,195,122,.1)}

.cf-sheet-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:14px 12px calc(28px + var(--safe-bottom));
  touch-action:pan-x pan-y;
  scroll-behavior:smooth;
}
.cf-sheet-shell{
  width:min(100%,820px);
  margin:0 auto;
  background:transparent;
  border-radius:10px;
  overflow:hidden;
  border:1px solid rgba(184,204,229,.2);
  box-shadow:0 22px 55px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.045);
  transition:width .18s ease;
}
.cf-sheet-scroll.zoomed .cf-sheet-shell{width:min(172vw,1500px);max-width:none;margin-left:0;margin-right:0}
.cf-sheet{
  display:block;
  width:100%;height:auto;
  user-select:none;-webkit-user-drag:none;-webkit-touch-callout:none;
}
.cf-loading{display:none!important}
.cf-nav{
  position:absolute;z-index:4;top:50%;transform:translateY(-50%);
  width:46px;height:58px;border-radius:999px;
  color:#eef4fb;background:rgba(5,10,18,.7);
  border:1px solid rgba(255,255,255,.15);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  font-size:25px;display:flex;align-items:center;justify-content:center;
  box-shadow:0 9px 25px rgba(0,0,0,.28);
}
.cf-nav.prev{left:8px}.cf-nav.next{right:8px}.cf-nav:disabled{opacity:.22}
.cf-footnote{
  flex:0 0 auto;
  color:#8191a5;background:#050a12;
  border-top:1px solid rgba(255,255,255,.06);
  padding:7px 14px calc(7px + var(--safe-bottom));
  font-size:9.5px;line-height:1.55;text-align:center;letter-spacing:.03em;
}
.profile-settings-action{
  margin-top:14px;min-height:48px;width:100%;
  color:#f1f4f8;background:linear-gradient(180deg,rgba(232,195,122,.12),rgba(255,255,255,.04));
  border:1px solid rgba(232,195,122,.3);border-radius:6px;
  font-family:var(--font-jp);letter-spacing:.08em;
}

@media (orientation:portrait){
  .character-files .cf-header{padding-left:15px;padding-right:15px}
  .cf-tabs{padding-left:12px;padding-right:12px}
  .cf-tab{min-width:112px}
  .cf-sheet-scroll{padding-left:10px;padding-right:10px}
  .cf-nav{top:auto;bottom:calc(46px + var(--safe-bottom));width:48px;height:48px}
  .cf-nav.prev{left:14px}.cf-nav.next{right:14px}
}
@media (orientation:landscape){
  .character-files .cf-header{padding-top:calc(6px + var(--safe-top));padding-bottom:7px}
  .cf-subtitle{display:none}
  .cf-tabs{padding-top:6px;padding-bottom:6px}
  .cf-tab{min-height:44px;min-width:132px;padding:6px 10px}
  .cf-tab-kana{margin-top:2px}
  .cf-toolbar{padding:6px 12px}
  .cf-sheet-scroll{padding-top:10px}
  .cf-sheet-shell{width:min(66%,780px)}
  .cf-sheet-scroll.zoomed .cf-sheet-shell{width:min(110vw,1400px)}
}
@media (prefers-reduced-motion:reduce){
  .cf-sheet-shell,.cf-tab{transition:none}
  .cf-sheet-scroll{scroll-behavior:auto}
}

/* v1.7.2: Settings-only profile entry */
.profile-settings-section{
  margin:22px 0 18px;
  padding:18px;
  background:linear-gradient(135deg,rgba(232,195,122,.10),rgba(47,110,160,.08));
  border:1px solid rgba(232,195,122,.24);
  border-radius:12px;
  box-shadow:0 10px 30px rgba(0,0,0,.16);
}
.profile-settings-kicker{
  color:var(--c-gold);
  letter-spacing:.18em;
  font-size:10px;
  margin-bottom:7px;
}
.profile-settings-copy{
  color:var(--c-text-dim);
  font-size:12px;
  line-height:1.7;
  margin-bottom:13px;
}
.profile-settings-section .profile-settings-action{
  margin:0;
  width:100%;
  min-height:50px;
  font-family:var(--font-jp);
  letter-spacing:.08em;
  color:var(--c-moon);
  background:rgba(8,17,30,.72);
  border:1px solid rgba(232,195,122,.38);
  border-radius:8px;
}
.profile-settings-section .profile-settings-action:active{
  background:rgba(232,195,122,.16);
  transform:translateY(1px);
}
