:root{--sea-deep: #050f16;--sea-ink: #0a1f2c;--glow: #3ddad7;--text: #e2eef2;--body-text: #a9bec9;--muted: #6f8896;--display-font: "Kaiti SC", "STKaiti", KaiTi, "Noto Serif SC", "Songti SC", serif;--body-font: "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif}html{scroll-behavior:smooth}html,body{margin:0;padding:0;background:var(--sea-deep)}.ocean{min-height:100vh;background:linear-gradient(180deg,var(--sea-deep) 0%,var(--sea-ink) 100%);color:var(--text);font-family:var(--body-font);-webkit-font-smoothing:antialiased;overflow-x:hidden}::selection{background:#3ddad747}.school{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.layout{position:relative;z-index:1;display:grid;grid-template-columns:360px minmax(0,720px);gap:72px;justify-content:center;padding:0 48px}.rail{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;justify-content:space-between;padding:72px 0 40px;animation:rise-in .9s ease both}.kicker{margin:0 0 14px;font-size:12px;letter-spacing:.42em;color:var(--glow)}.logo{margin:0;font-family:var(--display-font);font-weight:400;font-size:56px;line-height:1.1;letter-spacing:.08em}.slogan{margin:12px 0 0;font-family:var(--display-font);font-size:17px;color:var(--body-text)}.fish-stage{position:relative;margin-top:26px;align-self:center}.fish-btn{display:block;padding:4px;background:none;border:none;cursor:pointer;animation:bob 4s ease-in-out infinite}.fish{display:block;width:92px;height:auto;color:var(--glow);filter:drop-shadow(0 0 10px rgba(61,218,215,.45));transition:transform .5s cubic-bezier(.34,1.56,.64,1);transform:translate(var(--dart-x, 0px),var(--dart-y, 0px)) scaleX(-1)}.fish-btn:hover .fish{color:#7ceeeb}.toast{position:absolute;left:0;top:calc(100% + 10px);white-space:nowrap;padding:8px 15px;border-radius:999px;border:1px solid rgba(61,218,215,.4);background:#0a1f2ceb;color:var(--text);font-size:13px}.toast-enter-active,.toast-leave-active{transition:opacity .3s ease,transform .3s ease}.toast-enter-from,.toast-leave-to{opacity:0;transform:translateY(6px)}.rail-nav{display:flex;flex-direction:column;gap:12px;margin:32px 0}.rail-nav a{display:flex;align-items:center;gap:12px;color:var(--muted);text-decoration:none;font-size:13.5px;letter-spacing:.14em;transition:color .25s ease}.rail-nav a i{display:block;width:26px;height:1px;background:currentColor;opacity:.5;transition:width .25s ease,opacity .25s ease}.rail-nav a:hover{color:var(--body-text)}.rail-nav a.active{color:var(--glow)}.rail-nav a.active i{width:40px;opacity:1}.rail-links{display:flex;flex-direction:column;gap:10px}.rail-links a{color:var(--body-text);text-decoration:none;font-size:14px;width:fit-content;border-bottom:1px solid transparent;transition:color .25s ease,border-color .25s ease}.rail-links a:hover{color:var(--glow);border-bottom-color:#3ddad780}.content{padding:72px 0 80px;min-width:0}.content>section{margin-bottom:84px;scroll-margin-top:48px;opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.content>section.revealed{opacity:1;transform:none}.content h2{display:flex;align-items:baseline;gap:14px;margin:0 0 26px;font-family:var(--display-font);font-weight:400;font-size:25px;letter-spacing:.06em}.sec-num{font-family:var(--body-font);font-size:13px;letter-spacing:.2em;color:var(--glow)}.content p{margin:0 0 16px;color:var(--body-text);font-size:16px;line-height:1.9}.find-links{display:flex;flex-wrap:wrap;gap:6px 22px}.find-links a{color:var(--body-text);text-decoration:none;border-bottom:1px solid rgba(61,218,215,.35);padding-bottom:2px;transition:color .25s ease,border-color .25s ease}.find-links a:hover{color:var(--glow);border-bottom-color:var(--glow)}.timeline{list-style:none;margin:0;padding:0}.timeline li{display:grid;grid-template-columns:72px 1fr;gap:22px;padding:22px 0;border-bottom:1px dashed rgba(169,190,201,.16)}.timeline li:first-child{padding-top:0}.tl-date{margin:3px 0 0;font-size:12.5px;letter-spacing:.12em;color:var(--muted);font-variant-numeric:tabular-nums}.tl-title{margin:0 0 8px;font-size:17px;font-weight:600;color:var(--text)}.tl-title a{color:var(--text);text-decoration:none;border-bottom:1px solid rgba(61,218,215,.4);transition:color .25s ease,border-color .25s ease}.tl-title a:hover{color:var(--glow);border-bottom-color:var(--glow)}.tl-title .ext{color:var(--glow);font-weight:400}.tl-desc{margin:0 0 12px;color:var(--body-text);font-size:14.5px;line-height:1.8}.tl-tags{margin:0;display:flex;flex-wrap:wrap;gap:8px}.tl-tags span{font-size:12px;padding:4px 11px;border-radius:999px;border:1px solid rgba(61,218,215,.3);color:var(--glow);background:#3ddad70f}.content ul{list-style:none;margin:0;padding:0}.content ul li{position:relative;padding:9px 0 9px 64px}.content ul li p{margin:0}.content ul li strong{position:absolute;left:0;top:11px;color:var(--glow);font-weight:500;font-variant-numeric:tabular-nums}.foot{position:relative;z-index:1;padding:36px 24px 44px;text-align:center;border-top:1px solid rgba(255,255,255,.06)}.foot p{margin:0 0 8px;color:var(--muted);font-size:13.5px}.foot .foot-small{margin:0;font-size:12.5px;color:#4c6270}.foot a{color:inherit;text-decoration:none}.foot a:hover{color:var(--glow)}.bgm-disc{position:fixed;right:18px;bottom:18px;z-index:60;width:50px;height:50px;border-radius:50%;border:1px solid rgba(61,218,215,.45);background:#081521e6;color:var(--glow);font-size:20px;cursor:pointer;box-shadow:0 0 18px #3ddad740}.bgm-disc.spinning{animation:spin 3.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes rise-in{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:none}}@media (max-width: 960px){.layout{grid-template-columns:1fr;gap:0;padding:0 22px}.rail{position:static;height:auto;padding:56px 0 8px}.rail-nav{display:none}.rail-links{flex-direction:row;flex-wrap:wrap;gap:8px 20px;margin-top:26px}.content{padding-top:56px}.timeline li{grid-template-columns:1fr;gap:6px}.toast{left:50%;transform:translate(-50%);white-space:normal;max-width:70vw;text-align:center}}@media (prefers-reduced-motion: reduce){.rail,.fish-btn,.bgm-disc.spinning{animation:none}html{scroll-behavior:auto}.content>section{opacity:1;transform:none;transition:none}}
