:root{
  --bg1:#071a2f;--bg2:#0b2a4b;--text:#0a1a2b;--muted:#3a4b5c;
  --shadow:0 8px 24px rgba(0,0,0,.25);--r:14px;--pad:14px;
  --font:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;font-family:var(--font);color:var(--text);
  background:
    radial-gradient(2px 2px at 20% 30%, rgba(255,255,255,.9) 0 45%, transparent 50%),
    radial-gradient(1.5px 1.5px at 60% 20%, rgba(255,255,255,.8) 0 45%, transparent 50%),
    radial-gradient(1.2px 1.2px at 80% 60%, rgba(255,255,255,.7) 0 45%, transparent 50%),
    linear-gradient(180deg,var(--bg2),var(--bg1));
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
.container{padding:92px 14px 24px;max-width:520px;margin:0 auto}

.header{
  position:fixed;top:0;left:0;right:0;height:76px;z-index:50;
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,0)),
    radial-gradient(400px 120px at 50% 10%, rgba(120,200,255,.45), rgba(0,0,0,0)),
    linear-gradient(180deg, rgba(5,20,40,.92), rgba(5,20,40,.75));
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(150,200,255,.25);
}
.header-inner{max-width:520px;height:100%;margin:0 auto;display:flex;align-items:center;padding:10px 12px;gap:10px}
.head-center{flex:1;display:flex;flex-direction:column;align-items:center}
.title{font-weight:800;letter-spacing:.08em;color:#eaf6ff;text-shadow:0 2px 10px rgba(120,200,255,.35);font-size:22px}
.subtitle{color:rgba(234,246,255,.9);font-weight:700;letter-spacing:.04em;margin-top:-4px;font-size:12px}

.icon-btn{
  width:44px;height:44px;border-radius:10px;display:grid;place-items:center;
  border:1px solid rgba(160,210,255,.45);background:rgba(255,255,255,.08);
  color:#eaf6ff;box-shadow:0 6px 16px rgba(0,0,0,.25);
}
.icon-btn.small{width:40px;height:40px}
.ico{font-size:22px;font-weight:900;line-height:1}

.panel{
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(235,246,255,.86));
  border:1px solid rgba(130,190,255,.65);border-radius:var(--r);
  box-shadow:var(--shadow);overflow:hidden;
}
.panel-inner{padding:var(--pad)}

.name{font-size:30px;font-weight:800;letter-spacing:.04em;margin:0}
.furigana{margin:4px 0 0;color:var(--muted);font-weight:700;letter-spacing:.06em;font-size:14px}

.pill{
  display:inline-flex;gap:8px;align-items:center;padding:6px 10px;border-radius:999px;
  border:1px solid rgba(130,190,255,.5);background:rgba(255,255,255,.7);font-weight:900;
}

.square{
  width:100%;aspect-ratio:1/1;background:rgba(0,0,0,.05);
  border-top:1px solid rgba(130,190,255,.5);border-bottom:1px solid rgba(130,190,255,.5);
  position:relative;overflow:hidden
}
.square img{width:100%;height:100%;object-fit:cover;display:block}
.placeholder{
  width:100%;height:100%;display:grid;place-items:center;
  background:
    radial-gradient(320px 220px at 50% 20%, rgba(111,179,255,.25), rgba(0,0,0,0)),
    linear-gradient(180deg, rgba(255,255,255,.8), rgba(220,240,255,.75));
}
.placeholder .sil{width:58%;height:58%;background:rgba(60,80,100,.25);border-radius:50%;position:relative}
.placeholder .sil:after{content:"";position:absolute;left:50%;top:64%;transform:translate(-50%,-50%);width:140%;height:120%;background:rgba(60,80,100,.25);border-radius:42% 42% 38% 38%}
.carousel-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:6px;pointer-events:none}
.carousel-dots span{width:6px;height:6px;border-radius:999px;background:rgba(255,255,255,.55);box-shadow:0 0 10px rgba(0,0,0,.25)}
.carousel-dots span.active{background:rgba(255,255,255,.95)}

.rowline{display:flex;gap:10px;align-items:center;font-size:14px;padding:8px 2px;border-bottom:1px solid rgba(130,190,255,.25)}
.rowline:last-child{border-bottom:none}
.rowline .v{flex:1;min-width:0;font-weight:800;color:#0b2440}
.rowline.single .v{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.section{margin-top:12px}
.section-title{padding:10px 12px;font-weight:900;color:#0b2440;background:linear-gradient(90deg, rgba(111,179,255,.25), rgba(255,255,255,0));border-bottom:1px solid rgba(130,190,255,.35)}
.section-body{padding:12px;font-size:14px;line-height:1.6;color:#102a44;white-space:pre-wrap}

.btn-row{display:flex;gap:12px;margin-top:14px}
.btn{
  flex:1;padding:14px 12px;border-radius:12px;border:1px solid rgba(130,190,255,.65);
  background:linear-gradient(180deg, rgba(255,255,255,.92), rgba(220,240,255,.82));
  font-weight:900;letter-spacing:.06em;color:#0b2440;box-shadow:0 10px 18px rgba(0,0,0,.22);text-align:center;
}
.btn.primary{
  background:linear-gradient(180deg, rgba(160,220,255,.9), rgba(80,150,255,.65));
  border-color:rgba(200,240,255,.85);color:#041524;
}

.muted12{font-size:12px;color:var(--muted);font-weight:800}
.muted14{font-size:14px;color:var(--muted);font-weight:800;line-height:1.6}
.footer-space{height:24px}

.drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:60}
.drawer{
  position:fixed;top:0;right:0;width:min(320px, 88vw);height:100%;
  background:linear-gradient(180deg, rgba(6,22,44,.96), rgba(6,22,44,.88));
  border-left:1px solid rgba(160,210,255,.3);
  transform:translateX(102%);transition:transform .25s ease;z-index:61;color:#eaf6ff;
}
.drawer.open{transform:translateX(0)}
.drawer-overlay.open{opacity:1;pointer-events:auto}
.drawer-header{padding:14px 14px 10px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(160,210,255,.25)}
.drawer-header .t{font-weight:900;letter-spacing:.08em}
.drawer-list{padding:12px;display:flex;flex-direction:column;gap:10px}
.drawer-item{
  padding:12px 12px;border-radius:12px;border:1px solid rgba(160,210,255,.3);
  background:rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;font-weight:800;
}

.checkrow{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid rgba(130,190,255,.25)}
.checkrow:last-child{border-bottom:none}
.chk{transform:scale(1.25)}
