
:root{--bg:#f6f8fb;--panel:#ffffffee;--card:#fff;--text:#08192f;--muted:#536173;--line:rgba(12,31,63,.12);--blue:#0f4c8a;--blue2:#1f73be;--gold:#d9a94d;--shadow:0 18px 50px rgba(9,25,54,.12);--radius:22px;--max:1280px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--text);background:radial-gradient(circle at 16% 2%,rgba(31,115,190,.12),transparent 28rem),radial-gradient(circle at 82% 10%,rgba(217,169,77,.13),transparent 22rem),linear-gradient(180deg,#fbfcfe 0%,var(--bg) 42%,#eef3f8 100%);min-height:100vh}.topbar{position:sticky;top:0;z-index:20;backdrop-filter:blur(18px);background:rgba(255,255,255,.82);border-bottom:1px solid var(--line)}.topbar-inner{max-width:var(--max);margin:0 auto;padding:12px 18px;display:flex;align-items:center;gap:14px;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;min-width:0}.mark{width:36px;height:36px;flex:0 0 auto;border-radius:12px;background:linear-gradient(135deg,var(--blue),var(--blue2));display:grid;place-items:center;box-shadow:0 10px 25px rgba(20,90,160,.24)}.mark:before{content:"✦";color:#fff;font-size:18px}.brand h1{margin:0;font-size:clamp(15px,2vw,20px);line-height:1.25;letter-spacing:.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.btn,button{appearance:none;border:1px solid var(--line);color:var(--text);background:var(--card);border-radius:999px;padding:10px 14px;font-weight:800;font-size:13px;line-height:1;cursor:pointer;text-decoration:none;display:inline-flex;gap:6px;align-items:center;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.btn:hover,button:hover{transform:translateY(-1px);border-color:rgba(31,115,190,.45);box-shadow:0 10px 24px rgba(9,25,54,.08)}.btn.primary{background:linear-gradient(135deg,var(--blue),var(--blue2));color:#fff;border-color:transparent}.progress{height:3px;background:rgba(31,115,190,.12)}.progress span{display:block;width:0%;height:100%;background:linear-gradient(90deg,var(--blue2),var(--gold));transition:width .2s ease}.hero{max-width:var(--max);margin:0 auto;padding:42px 18px 22px}.hero-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(22px,4vw,40px);box-shadow:var(--shadow);overflow:hidden;position:relative}.hero-card:before{content:"";position:absolute;inset:0 auto 0 0;width:6px;background:linear-gradient(180deg,var(--blue),var(--gold))}.eyebrow{margin:0 0 8px;color:var(--muted);font-weight:900;letter-spacing:.08em}.hero-card h2{margin:0;max-width:1100px;font-size:clamp(30px,5.2vw,66px);line-height:1.08;letter-spacing:-.04em}.hero-card .lead{margin-top:20px;font-size:clamp(15px,1.8vw,20px);line-height:1.8;color:var(--muted);letter-spacing:.02em}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.notice{margin-top:18px;color:var(--muted);font-size:13px;line-height:1.7}.thumbs-wrap{max-width:var(--max);margin:0 auto;padding:0 18px 22px}.thumbs{display:grid;grid-template-columns:repeat(10,minmax(90px,1fr));gap:10px;overflow-x:auto;padding:8px 2px 10px;scrollbar-width:thin}.thumb{min-width:124px;display:block;text-decoration:none;color:inherit;border-radius:14px;border:1px solid var(--line);background:var(--card);overflow:hidden;box-shadow:0 10px 24px rgba(9,25,54,.06);position:relative}.thumb span{position:absolute;top:7px;left:7px;z-index:2;color:#fff;background:rgba(11,27,51,.78);border-radius:999px;padding:4px 7px;font-size:11px;font-weight:900}.thumb img{display:block;width:100%;height:auto}.thumb.active{outline:3px solid color-mix(in srgb,var(--blue2) 70%,white);outline-offset:2px}.layout{max-width:var(--max);margin:0 auto;padding:0 18px 76px}.slide-section{margin:24px 0 54px;scroll-margin-top:92px}.slide-meta{display:flex;align-items:end;justify-content:space-between;gap:16px;margin:0 0 14px;padding:0 4px}.slide-meta p{margin:0;color:var(--blue2);font-weight:900;letter-spacing:.06em}.slide-meta h2{margin:0;font-size:clamp(18px,2.3vw,28px);line-height:1.35;letter-spacing:-.02em;text-align:right}.slide-card{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}.slide-frame{margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(8px,1vw,12px);box-shadow:var(--shadow);overflow:hidden;cursor:zoom-in}.slide-frame img{display:block;width:100%;height:auto;border-radius:calc(var(--radius) - 8px);background:#fff}.notes-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow);position:sticky;top:84px}.notes-card h3{margin:0 0 10px;font-size:17px}.notes-card p,.notes-card li{color:var(--muted);font-size:14px;line-height:1.7}.notes-card ul{padding-left:1.2em;margin:8px 0 16px}.notes-card details{border-top:1px solid var(--line);padding-top:12px;margin-top:12px}.notes-card summary{cursor:pointer;font-weight:900;color:var(--blue)}.resource-list{display:grid;gap:8px;margin-top:10px}.resource-link{display:flex;justify-content:space-between;gap:10px;align-items:center;text-decoration:none;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:10px;background:#fff}.resource-link small{display:block;color:var(--muted);font-weight:700}.pill{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:rgba(31,115,190,.1);color:var(--blue);font-size:11px;font-weight:900;white-space:nowrap}.modal{position:fixed;inset:0;background:rgba(1,8,18,.94);z-index:100;display:none;align-items:center;justify-content:center;padding:0}.modal.open{display:flex}.modal img{max-width:100vw;max-height:100vh;width:100vw;height:100vh;object-fit:contain;background:#050b14}.modal .close,.modal .prev,.modal .next,.modal .full{position:fixed;background:rgba(255,255,255,.92);color:#0b1b33;border:0;box-shadow:0 10px 35px rgba(0,0,0,.25)}.modal .close{top:18px;right:18px}.modal .full{top:18px;right:130px}.modal .prev{left:18px;top:50%;transform:translateY(-50%)}.modal .next{right:18px;top:50%;transform:translateY(-50%)}.modal .caption{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);color:#fff;font-weight:900;text-align:center;text-shadow:0 2px 12px rgba(0,0,0,.5);padding:8px 14px;border-radius:999px;background:rgba(11,27,51,.62)}.resource-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-top:20px}.resource-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 12px 32px rgba(9,25,54,.07)}.resource-card h3{margin:.3em 0 .5em;font-size:18px}.resource-card p{color:var(--muted);line-height:1.65}.embed{aspect-ratio:16/9;width:100%;border:0;border-radius:14px;background:#0a1220;margin-top:12px}.manuscript{max-width:920px}.manuscript h2{font-size:clamp(26px,3vw,42px);line-height:1.15}.manuscript h3{border-top:1px solid var(--line);padding-top:28px;margin-top:34px}.manuscript p,.manuscript li{line-height:1.8;color:var(--muted)}.manuscript blockquote{margin:18px 0;padding:14px 18px;border-left:4px solid var(--gold);background:rgba(217,169,77,.08);border-radius:12px;color:var(--text)}@media(max-width:960px){.slide-card{grid-template-columns:1fr}.notes-card{position:relative;top:0}.slide-meta{display:block}.slide-meta h2{text-align:left;margin-top:4px}.thumbs{grid-template-columns:repeat(10,130px)}.hero-card h2{font-size:clamp(30px,8vw,52px)}}@media print{.topbar,.hero,.thumbs-wrap,.modal,.notes-card{display:none!important}body{background:#fff}.layout{max-width:none;padding:0}.slide-section{break-after:page;margin:0;padding:0}.slide-meta{display:none}.slide-card{display:block}.slide-frame{box-shadow:none;border:0;padding:0;border-radius:0}.slide-frame img{border-radius:0;width:100vw}}
