/* 明るい版：白を余白として使い、青い形状と細い罫線で作品をつなぎます。 */
.theme-light {
  --void: #f7faff;
  --paper: #132748;
  --lime: #1958ed;
  --blue: #4d8dff;
  --coral: #8fc2ff;
  --line: rgba(25, 78, 164, .18);
  background: #f7faff;
  color: #132748;
}
.theme-light #ambient-canvas { opacity: .42; }
.theme-light .grain { opacity: .26; background-image: radial-gradient(rgba(35,91,175,.22) .55px, transparent .75px); mix-blend-mode: multiply; }
.theme-light .site-header { border-bottom: 1px solid var(--line); background: rgba(247,250,255,.84); }
.theme-light .wordmark { color: #173977; }
.theme-light .wordmark i { background: #1958ed; box-shadow: 0 0 0 4px rgba(25,88,237,.12); }
.theme-light .nav-item { color: #607496; }
.theme-light .nav-item:hover { color: #1958ed; }
.theme-light .version-link { border-color: rgba(25,88,237,.35); color: #1958ed; background: #fff; }
.theme-light .version-link:hover, .theme-light .version-link:focus-visible { background: #1958ed; color: #fff; }
.theme-light .motion-switch { border-color: var(--line); color: #305386; background: #fff; }
.theme-light .motion-switch__dot { background: #1958ed; box-shadow: 0 0 0 3px rgba(25,88,237,.12); }
.theme-light .motion-switch[aria-pressed='false'] .motion-switch__dot { background: #8ca2c2; }

/* 見出しは塗りと輪郭を反転し、中心の有機形状が時間とともに変形します。 */
.theme-light .hero { position: relative; overflow: hidden; padding-top: 25px; }
.theme-light .hero::before { position: absolute; top: 18%; right: -11%; width: 47%; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle, rgba(101,164,255,.12), transparent 68%); content: ''; pointer-events: none; }
.theme-light .hero__topline, .theme-light .hero__bottomline { color: #7184a4; }
.theme-light .hero__eyebrow, .theme-light .hero__aside { color: #1958ed; }
.theme-light .hero__title { color: #1648bb; }
.theme-light .split-line--outline { color: transparent; -webkit-text-stroke-color: #1648bb; }
.theme-light .hero__stage { isolation: isolate; min-height: clamp(300px, 29vw, 440px); }
.theme-light .morph-blob { position: absolute; z-index: 0; pointer-events: none; animation: blob-morph 11s ease-in-out infinite alternate; }
.theme-light .morph-blob--main { top: -15%; left: 30%; width: clamp(270px,37vw,550px); aspect-ratio: 1; background: linear-gradient(135deg,#1d57df 4%,#73adff 72%,#dcecff); box-shadow: 24px 32px 70px rgba(36,103,214,.18), inset -18px -22px 42px rgba(255,255,255,.19); }
.theme-light .morph-blob--small { right: 7%; bottom: -8%; width: clamp(105px,14vw,200px); aspect-ratio: 1; background: linear-gradient(145deg,#c6e4ff,#5596fd); opacity: .83; animation-delay: -5s; animation-duration: 9s; }
@keyframes blob-morph {
  0% { border-radius: 41% 59% 64% 36% / 48% 36% 64% 52%; transform: rotate(-12deg) scale(.96); }
  50% { border-radius: 64% 36% 42% 58% / 38% 62% 38% 62%; transform: rotate(12deg) scale(1.035); }
  100% { border-radius: 32% 68% 57% 43% / 63% 45% 55% 37%; transform: rotate(-6deg) scale(.97); }
}
.theme-light .float-card { z-index: 2; border: 5px solid #fff; border-radius: 15px; background: #d3e7ff; box-shadow: 0 20px 45px rgba(24,70,143,.2), 0 0 0 1px rgba(46,104,190,.14); }
.theme-light .float-card img { filter: saturate(1.05) contrast(1.03); }
.theme-light .float-card--one { left: 44%; }
.theme-light .float-card--two { left: 19%; }
.theme-light .orbit { z-index: 1; border-color: rgba(255,255,255,.85); }
.theme-light .orbit--one { right: 21%; }
.theme-light .orbit--two { border-color: rgba(35,99,217,.33); }
.theme-light .hero-registration { border-color: rgba(25,88,237,.38); border-radius: 8px; background: rgba(255,255,255,.87); box-shadow: 0 9px 28px rgba(15,68,158,.13); }
.theme-light .hero-registration i { background: #80b9ff; }
.theme-light .hero-registration i:nth-child(2) { background: #1958ed; }
.theme-light .hero-registration i:nth-child(3) { background: #c9e4ff; }
.theme-light .hero-registration i:nth-child(4) { background: #132748; }
.theme-light .hero-registration b { color: #17499e; }
.theme-light .hero-stamp { border-color: #1958ed; color: #1958ed; background: rgba(255,255,255,.78); backdrop-filter: blur(6px); }
.theme-light .hero-stamp b { color: #5597fb; }
.theme-light .hero__availability strong, .theme-light .scroll-link { color: #173977; }
.theme-light .scroll-link b { border-color: #1958ed; color: #1958ed; }
.theme-light .scroll-link:hover b { background: #1958ed; color: #fff; }

/* 帯と作品壁のコントラストを控えめにし、写真の色を主役にします。 */
.theme-light .ticker { border-color: #1648bb; background: #1958ed; color: #fff; }
.theme-light .ticker__track i { color: #b6d8ff; }
.theme-light .section-intro p, .theme-light .section-intro span { color: #7488aa; }
.theme-light .section-intro span { color: #1958ed; }
.theme-light .section-intro h2 { color: #1648bb; }
.theme-light .project__surface { border-radius: 20px; background: #d8e9ff; box-shadow: 0 14px 35px rgba(34,84,158,.1); transition: transform .2s ease-out, box-shadow .35s var(--ease), border-radius .65s var(--ease); }
.theme-light .project:hover .project__surface, .theme-light .project:focus-within .project__surface { border-radius: 34px 12px 34px 12px; box-shadow: 0 26px 50px rgba(29,83,177,.2); }
.theme-light .project__wash { background: linear-gradient(160deg, rgba(19,47,100,.35), transparent 50%, rgba(17,59,151,.55)); }
.theme-light .project--blue .project__wash { background: linear-gradient(150deg, rgba(48,122,240,.55), transparent 56%, rgba(14,61,159,.48)); }
.theme-light .project__name { color: #fff; text-shadow: 0 2px 16px rgba(0,26,85,.42); }
.theme-light .project__hint { background: #fff; color: #1958ed; box-shadow: 0 8px 25px rgba(10,45,110,.18); }
.theme-light .project__open:focus-visible { outline-color: #1958ed; }

/* 後半は白と淡い青を交互に使い、情報量を保ったまま視線を導きます。 */
.theme-light .about-section { border-color: var(--line); background: #eaf3ff; color: #173977; }
.theme-light .about-section::before { right: -7vw; top: 10%; border: 0; background: linear-gradient(145deg,#c6e2ff,#79b1ff); border-radius: 43% 57% 62% 38% / 49% 34% 66% 51%; opacity: .58; animation: blob-morph 15s ease-in-out infinite alternate; }
.theme-light .about-section::after { border-color: rgba(25,88,237,.3); }
.theme-light .about-section__rail, .theme-light .about-section__footer { color: #5f7aa8; }
.theme-light .about-section__footer { color: #1958ed; }
.theme-light .about-section h2 em { -webkit-text-stroke-color: #1958ed; }
.theme-light .about-section__statement span { color: #1958ed; }
/* 経歴の時間軸と能力カードは淡い青の紙面に置き、青いアクセントで統一します。 */
.theme-light .experience-section { border-color: var(--line); background: #edf5ff; color: #173977; }
.theme-light .experience-section::before { border-color: rgba(25,88,237,.16); }
.theme-light .experience-section__head { color: #7188aa; }
.theme-light .experience-section__title p, .theme-light .career-item__period { color: #1958ed; }
.theme-light .career-item::before { border-color: #1958ed; background: #edf5ff; box-shadow: 0 0 0 5px #edf5ff; }
.theme-light .career-item:hover::before { background: #1958ed; box-shadow: 0 0 0 5px #edf5ff, 0 0 18px rgba(25,88,237,.45); }
.theme-light .career-item h3 small { color: #7287a8; }
.theme-light .career-item p, .theme-light .capability-card p { color: #5d7190; }
.theme-light .capability-card { border-color: rgba(25,88,237,.16); border-radius: 17px; background: rgba(255,255,255,.82); box-shadow: 0 9px 25px rgba(29,82,160,.055); }
.theme-light .capability-card:hover { border-color: rgba(25,88,237,.48); border-radius: 30px 12px 30px 12px; background: #fff; box-shadow: 0 16px 30px rgba(29,82,160,.12); }
.theme-light .capability-card span { border-color: #bfd7ff; color: #1958ed; background: #f2f7ff; }
.theme-light .disciplines h3 { color: #7084a5; }
.theme-light .disciplines li { border-color: rgba(25,88,237,.2); color: #3e5f91; background: #fff; }
.theme-light .disciplines li:hover { border-color: #1958ed; background: #1958ed; color: #fff; }
.theme-light .skills-section { border-color: var(--line); background: #fff; color: #173977; }
.theme-light .skills-section::before { border-color: rgba(25,88,237,.18); }
.theme-light .skills-section__header p, .theme-light .skills-section__header span { color: #7388aa; }
.theme-light .skills-section__header span { color: #1958ed; }
.theme-light .skills-grid div:hover { background: #e8f2ff; color: #134cb7; }
.theme-light .skills-grid span, .theme-light .skills-grid i { color: #2b67dc; }
.theme-light .skills-grid strong small { color: #7187a9; }
.theme-light .skills-grid div:hover strong small { color: #4872b3; }
.theme-light .skills-grid div:hover i { color: #1958ed; }
.theme-light .contact-section { border-color: var(--line); background: #e7f2ff; color: #1648bb; }
.theme-light .contact-section::before { right: -8vw; bottom: -15vw; background: linear-gradient(135deg,#1d56dc,#75b2ff); border-radius: 42% 58% 62% 38% / 51% 36% 64% 49%; filter: none; opacity: .9; animation: blob-morph 14s ease-in-out infinite alternate; }
.theme-light .contact-section::after { border-color: rgba(255,255,255,.85); }
.theme-light .contact-section__header, .theme-light .contact-section__bottom { color: #5d7ba9; }
.theme-light .contact-section__header span { color: #1958ed; }
.theme-light .contact-section h2 em { -webkit-text-stroke-color: #1958ed; }
.theme-light .contact-link { border-color: #1958ed; color: #1958ed; }
.theme-light .contact-link b, .theme-light .contact-section__bottom a { color: #1648bb; }
.theme-light .contact-section__bottom a:hover { color: #4d8dff; }

/* ギャラリーの開閉にも角の変化を加え、カードから続く動きにします。 */
.theme-light .project-viewer__backdrop { background: rgba(13,45,103,.55); }
.theme-light .project-viewer__panel { border-radius: 60px 0 0 60px; background: #f7faff; color: #173977; transition: transform .6s var(--ease), border-radius .65s var(--ease); }
.theme-light .project-viewer.is-open .project-viewer__panel { border-radius: 0; }
.theme-light .project-viewer__header { border-color: var(--line); background: rgba(247,250,255,.93); }
.theme-light .project-viewer__header button { border-color: #1958ed; color: #1958ed; }
.theme-light .project-viewer__images figure { border-radius: 15px; background: #d7e9ff; }
.theme-light .project-viewer__images figure.is-web { border-color: #173977; }
.theme-light .cursor-dot { background: #1958ed; mix-blend-mode: normal; }
.theme-light .cursor-ring { border-color: #1958ed; }
.theme-light.cursor-active .cursor-ring { border-color: #4d8dff; }
.theme-light .scroll-meter { background: rgba(25,88,237,.17); }
.theme-light .scroll-meter span { background: #1958ed; box-shadow: none; }
.theme-light.motion-paused .morph-blob, .theme-light.motion-paused .contact-section::before { animation-play-state: paused; }

@media (max-width: 767px) {
  .theme-light .hero__stage { min-height: 355px; }
  .theme-light .morph-blob--main { top: 2%; left: 19%; width: 72vw; }
  .theme-light .morph-blob--small { right: -6%; bottom: 8%; width: 31vw; }
  .theme-light .float-card--one { left: 39%; }
  .theme-light .float-card--two { left: 1%; }
  .theme-light .about-section::before { right: -48vw; top: 15%; }
  .theme-light .contact-section::before { right: -44vw; bottom: -25vw; }
  .theme-light .project-viewer__panel { border-radius: 28px 28px 0 0; }
}
@media (prefers-reduced-motion: reduce) {
  .theme-light .morph-blob { animation: none; border-radius: 48% 52% 56% 44% / 50% 45% 55% 50%; }
}
