:root{--bg:#070d15;--surface:#0f1824;--surface-2:#132031;--surface-border:#28415d;--text-primary:#f2f8ff;--text-muted:#a9b8cf;--accent:#3fd5ff;--accent-strong:#1ebdf7;--font-body:"Noto Sans JP", "Segoe UI", sans-serif;--font-display:"Oxanium", "Noto Sans JP", "Segoe UI", sans-serif;color:var(--text-primary);background:var(--bg);font:400 17px/1.7 var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{background:radial-gradient(70rem 30rem at 8% -10%, #3fd5ff33, transparent 65%), radial-gradient(65rem 30rem at 90% -10%, #8cff8c1f, transparent 60%), repeating-linear-gradient(0deg, #486c9c29 0 1px, transparent 1px 38px), repeating-linear-gradient(90deg, #486c9c1f 0 1px, transparent 1px 38px), linear-gradient(180deg, #040a11 0%, var(--bg) 100%);min-height:100vh;margin:0;overflow-x:hidden}body:before{z-index:0;pointer-events:none;content:"";opacity:.2;background:linear-gradient(#0000,#3fd5ff2e 50%,#0000) 0 0/100% 6px;animation:14s linear infinite scanlineMove;position:fixed;inset:0}@keyframes scanlineMove{0%{transform:translateY(-6px)}to{transform:translateY(0)}}a{color:inherit}a:focus-visible,summary:focus-visible{outline:none;box-shadow:0 0 0 2px #47c2ffa6}main{z-index:1;width:min(100%,1000px);min-height:100vh;margin:0 auto;padding:108px .9rem 2rem;position:relative}h1,h2,h3,.heading,.pageTitle,.eyebrow,.mobileMenuTitle,.logo a,.desktopNav a{font-family:var(--font-display);letter-spacing:.02em}.siteHeader{z-index:1000;backdrop-filter:blur(12px);background:#050a11b3;border-bottom:1px solid #3fd5ff3d;justify-content:center;align-items:center;height:88px;padding:0 .9rem;display:flex;position:fixed;top:0;left:0;right:0}.siteHeader:before{content:"";background:linear-gradient(90deg,#0000,#3fd5ffb3,#8cff8c73,#0000);height:1px;position:absolute;top:0;left:0;right:0}.headerContainer{background:linear-gradient(#3fd5ff21,#0000),#080f18f0;border:1px solid #3fd5ff47;border-radius:999px;justify-content:space-between;align-items:center;width:min(100%,1000px);height:62px;padding:0 1rem;display:flex;position:relative;box-shadow:0 0 0 1px #3fd5ff29,0 8px 24px #0006}.logo a,.desktopNav a,.mobileMenuTitle a{text-decoration:none}.logo a{border-radius:999px;padding:.45rem .8rem;font-size:1.04rem;font-weight:700;display:inline-flex}.logo a:hover,.desktopNav a:hover,.desktopNav a.active,.mobileMenuList a:hover,.mobileMenuList .active a{color:var(--text-primary);background:#47c2ff1f}.desktopNav ul,.mobileMenuList{align-items:center;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.desktopNav a{color:var(--text-muted);border-radius:999px;padding:.45rem .8rem;font-size:.96rem;font-weight:600;display:inline-flex}.mobileMenuTrigger{display:none}.pageContainer{background:linear-gradient(180deg, #3fd5ff14, transparent), var(--surface);border:1px solid var(--surface-border);border-radius:16px;width:100%;padding:clamp(1rem,2.4vw,2rem);position:relative;overflow:hidden;box-shadow:0 18px 40px #02081080,0 0 0 1px #3fd5ff1f,0 0 32px #3fd5ff14,inset 0 1px #ffffff08}.pageContainer:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#3fd5ffd9,#8cff8cb8,#0000);height:1px;position:absolute;top:0;left:1rem;right:1rem}.breadcrumb{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.2rem;margin-bottom:1rem;font-size:.92rem;display:flex}.breadcrumbItem{align-items:center;gap:.2rem;display:inline-flex}.breadcrumb a{color:var(--accent);text-decoration:none}.breadcrumb a:hover{color:var(--accent-strong)}.current{color:var(--text-primary)}.separator{color:var(--text-muted)}.pageTitle{margin:0;font-size:clamp(1.25rem,2.8vw,1.6rem);font-weight:700;line-height:1.35}.pageSubtitle,.mutedText{max-width:740px;color:var(--text-muted);margin:.5rem 0 0;font-size:1.02rem}.contentHeader{margin-bottom:1.4rem}.heading{margin:0 0 .8rem;font-size:clamp(1.25rem,2.7vw,1.65rem);font-weight:700;line-height:1.35}.homeIntro{margin-bottom:1.7rem}.homeIntro p{max-width:740px;color:var(--text-muted);margin:0;font-size:1.03rem}.moreLink{color:var(--accent);text-underline-offset:.16em;margin-left:.5rem;font-weight:600}.resourceGrid{grid-template-columns:1fr;gap:1rem;display:grid}.resourceCard{border:1px solid var(--surface-border);background:var(--surface-2);border-radius:12px;padding:1.1rem;text-decoration:none;display:block}.resourceCard h2{margin:0 0 .45rem;font-size:1.06rem;line-height:1.5}.resourceCard p{color:var(--text-muted);margin:0}.detailHeader{margin-bottom:1.5rem}.detailDescription{color:var(--text-muted);margin:.6rem 0 0}.detailSection{margin-top:1.1rem}.detailSection h2{margin:0 0 .5rem;font-size:1.06rem}.detailSection p{color:var(--text-muted);margin:0}.detailImage{object-fit:cover;border-radius:12px;width:min(100%,280px);margin:0 0 1.25rem}.detailMeta{color:var(--text-muted)}.cardGrid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;display:grid}.cardLink{color:inherit;text-decoration:none}.favoriteCard{border:1px solid var(--surface-border);background:var(--surface-2);border-radius:12px;flex-direction:column;height:100%;display:flex;overflow:hidden;box-shadow:0 10px 22px #050a1147}.favoriteImage{aspect-ratio:3/4;object-fit:cover;width:100%;display:block}.cardContent{flex-grow:1;padding:.85rem .9rem}.cardTitle{margin:0 0 .55rem;font-size:1.05rem;font-weight:700;line-height:1.45}.tags{flex-wrap:wrap;gap:.35rem;display:flex}.tag{color:#d3eeff;background:#47c2ff29;border-radius:999px;padding:.2rem .45rem;font-size:.76rem;line-height:1.2;display:inline-block}.copyright{border-top:1px solid var(--surface-border);color:#8f9eb8;background:#0000002e;margin-top:auto;padding:.5rem .75rem;font-size:.8rem;line-height:1.4}.impressions{color:var(--text-muted);white-space:pre-wrap;margin:0;font-size:1.03rem;line-height:2}.media iframe{aspect-ratio:16/9;border:1px solid var(--surface-border);background:#000;border-radius:12px;width:100%}.externalButton{color:var(--text-primary);background:#3fd5ff24;border:1px solid #3fd5ff5c;border-radius:10px;margin-top:1.5rem;padding:.6rem 1rem;font-weight:700;text-decoration:none;display:inline-block}.externalButton:hover{background:#3fd5ff38}@media (width>=720px){.resourceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=768px){:root{font-size:16px}main{padding-top:92px}.siteHeader{height:78px}.headerContainer{justify-content:center;padding-inline:.75rem}.desktopNav{display:none}.mobileMenuTrigger{background:0 0;border:0;padding:0;display:block;position:absolute;top:50%;left:.7rem;transform:translateY(-50%)}.hamburgerButton{cursor:pointer;background:linear-gradient(145deg,#3fd5ff2e,#ffffff08);border:1px solid #3fd5ff61;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:42px;height:42px;padding:0;display:flex;box-shadow:0 0 18px #3fd5ff14}.hamburgerButton span{background:var(--text-primary);border-radius:2px;width:18px;height:2px;transition:transform .18s,opacity .18s}.mobileMenuTrigger[aria-expanded=true] .hamburgerButton span:first-child{transform:translateY(6px)rotate(45deg)}.mobileMenuTrigger[aria-expanded=true] .hamburgerButton span:nth-child(2){opacity:0}.mobileMenuTrigger[aria-expanded=true] .hamburgerButton span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}.mobileMenuDialog{background:var(--surface);width:min(88vw,370px);height:100dvh;max-height:none;color:var(--text-primary);border:0;border-right:1px solid #3fd5ff47;margin:0;padding:0;transition:transform .24s cubic-bezier(.22,1,.36,1);overflow:hidden;transform:translate(-105%);box-shadow:22px 0 60px #00000080}.mobileMenuDialog[open]{transform:translate(0)}.mobileMenuDialog::backdrop{backdrop-filter:blur(4px);background:#01060cb8}.mobileMenuPanel{background:radial-gradient(24rem 18rem at -10% 0%, #3fd5ff2e, transparent 70%), linear-gradient(180deg, #ffffff0a, transparent 38%), var(--surface);flex-direction:column;min-height:100%;padding:1.5rem 1.2rem 1.2rem;display:flex}.mobileMenuHeader{border-bottom:1px solid #3fd5ff2e;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:1.5rem;display:flex}.mobileMenuKicker{color:var(--accent);font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;margin:0 0 .3rem;font-size:.7rem;font-weight:700}.mobileMenuTitle{margin:0;font-size:1.05rem;font-weight:700}.mobileMenuTitle a{text-decoration:none}.mobileMenuClose{width:36px;height:36px;color:var(--text-primary);cursor:pointer;background:#ffffff0a;border:1px solid #a9b8cf47;border-radius:50%;flex:none;font-size:1.5rem;font-weight:300;line-height:1}.mobileMenuClose:hover{border-color:var(--accent);background:#3fd5ff24}.mobileMenuList{align-items:stretch;gap:.55rem;margin:1.5rem 0 0;padding:0;list-style:none;display:grid}.mobileMenuList a{color:var(--text-muted);font-family:var(--font-display);border:1px solid #0000;border-radius:12px;grid-template-columns:2rem 1fr auto;align-items:center;gap:.7rem;padding:.9rem .8rem;font-size:1.05rem;font-weight:600;text-decoration:none;transition:color .18s,background .18s,border-color .18s,transform .18s;display:grid}.mobileMenuList a:hover{color:var(--text-primary);background:#3fd5ff14;border-color:#3fd5ff33;transform:translate(3px)}.mobileMenuList .active a{color:var(--text-primary);box-shadow:inset 3px 0 0 var(--accent), 0 8px 24px #00000029;background:linear-gradient(90deg,#3fd5ff33,#3fd5ff0d);border-color:#3fd5ff59}.menuNumber{color:var(--accent);letter-spacing:.08em;font-size:.72rem}.menuArrow{color:var(--text-muted);opacity:.65;font-size:1rem}.mobileMenuFooter{color:var(--text-muted);font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;border-top:1px solid #3fd5ff24;margin:auto 0 .3rem;padding-top:1rem;font-size:.75rem}}
