:root{--ink:#0b0b0d;--paper:#f7f5ef;--white:#fff;--yellow:#ffd900;--blue:#1d5cff;--red:#f0442e;--muted:#6d6d71;--line:#d9d6ce;--shadow:0 18px 60px rgba(0,0,0,.12);font-family:"Noto Sans JP",system-ui,sans-serif;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;overflow-x:hidden;background:radial-gradient(circle at 100% 0,#fff7b8 0,transparent 28rem),var(--paper)}a{color:inherit;text-decoration:none}button{font:inherit}.progress{position:fixed;inset:0 0 auto;height:4px;background:transparent;z-index:100}.progress i{display:block;width:0;height:100%;background:var(--red);transition:width .12s linear}.topbar{height:72px;padding:0 max(18px,calc((100vw - 1120px)/2));display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:90;background:rgba(247,245,239,.9);backdrop-filter:blur(18px);border-bottom:1px solid rgba(11,11,13,.09)}.brand{display:grid;grid-template-columns:36px auto;grid-template-rows:20px 12px;column-gap:10px;align-items:center;font-weight:900}.brand-mark{grid-row:1/3;width:36px;height:36px;display:grid;place-items:center;background:var(--ink);color:var(--yellow);border-radius:10px;transform:rotate(-4deg)}.brand small{font-size:9px;letter-spacing:.18em;color:var(--muted)}.menu-button{border:0;background:var(--ink);color:#fff;padding:11px 15px;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.1em}.book-nav{position:fixed;z-index:80;right:14px;top:80px;width:min(360px,calc(100vw - 28px));padding:14px;background:#111;color:#fff;border-radius:20px;box-shadow:var(--shadow);display:none}.book-nav.open{display:grid;animation:pop .22s ease}.book-nav a{padding:13px;border-radius:12px;font-size:13px;font-weight:700}.book-nav a:hover{background:#292929;color:var(--yellow)}
.hero,.reader-hero{min-height:calc(100svh - 72px);display:grid;align-items:center;max-width:1120px;margin:auto;padding:72px 24px}.eyebrow{font-size:12px;font-weight:900;letter-spacing:.18em;color:var(--red);text-transform:uppercase}.hero h1,.reader-hero h1{font-size:clamp(48px,10vw,116px);line-height:.94;letter-spacing:-.07em;margin:16px 0 28px;max-width:930px}.hero h1 em,.reader-hero h1 em{font-style:normal;background:linear-gradient(transparent 62%,var(--yellow) 62%)}.lead{font-size:clamp(17px,2.2vw,23px);line-height:1.9;font-weight:600;max-width:720px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.primary,.secondary{min-height:54px;padding:0 22px;border-radius:15px;display:inline-flex;align-items:center;justify-content:center;font-weight:900}.primary{background:var(--ink);color:#fff}.secondary{border:2px solid var(--ink)}.ticker{overflow:hidden;background:var(--yellow);border-block:2px solid var(--ink);transform:rotate(-1deg);margin:14px -2vw 64px}.ticker-track{white-space:nowrap;padding:11px;font-weight:900;animation:ticker 24s linear infinite}.library{max-width:1120px;margin:auto;padding:50px 24px 100px}.section-title{font-size:clamp(34px,7vw,72px);line-height:1;letter-spacing:-.055em;margin:0 0 16px}.section-note{color:var(--muted);line-height:1.8;margin-bottom:40px}.book-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.book-card{min-height:360px;padding:26px;border:2px solid var(--ink);border-radius:26px;background:#fff;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:transform .25s,box-shadow .25s}.book-card:hover{transform:translateY(-8px) rotate(-.4deg);box-shadow:12px 12px 0 var(--ink)}.book-card:nth-child(3n+2){background:var(--yellow)}.book-card:nth-child(3n){background:#151515;color:#fff}.book-no{font-size:12px;font-weight:900;letter-spacing:.15em}.book-card h2{font-size:clamp(25px,4vw,43px);line-height:1.12;letter-spacing:-.045em;margin:50px 0 15px}.book-card p{line-height:1.8;font-weight:500}.book-card .open{margin-top:auto;font-weight:900;border-top:1px solid currentColor;padding-top:16px}.orbit{position:absolute;width:190px;height:190px;border:22px solid currentColor;border-radius:50%;opacity:.08;right:-70px;top:-70px}.reader-hero{min-height:70svh;grid-template-columns:1fr 260px;gap:40px}.cover-number{font-size:150px;font-weight:900;line-height:1;color:var(--yellow);text-shadow:5px 5px 0 var(--ink);transform:rotate(5deg)}.reader{max-width:880px;margin:auto;padding:40px 24px 120px}.chapter{margin:0 0 90px;scroll-margin-top:100px}.chapter-head{display:grid;grid-template-columns:70px 1fr;gap:18px;align-items:start;margin-bottom:28px}.chapter-num{font-size:14px;font-weight:900;background:var(--yellow);padding:12px;text-align:center;border:2px solid var(--ink);box-shadow:5px 5px 0 var(--ink)}.chapter h2{font-size:clamp(30px,5vw,52px);line-height:1.18;letter-spacing:-.045em;margin:0}.chapter p,.chapter li{font-size:17px;line-height:2}.conclusion{border-left:8px solid var(--red);background:#fff;padding:24px;border-radius:0 18px 18px 0;box-shadow:var(--shadow);margin:28px 0}.conclusion b{display:block;color:var(--red);font-size:12px;letter-spacing:.16em;margin-bottom:8px}.points{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0}.point{padding:19px;border:2px solid var(--ink);border-radius:16px;background:var(--white);font-weight:800}.diagram{margin:30px 0;padding:28px;background:#111;color:#fff;border-radius:24px;overflow:hidden}.diagram-title{color:var(--yellow);font-size:12px;font-weight:900;letter-spacing:.14em;margin-bottom:22px}.flow{display:flex;align-items:stretch;gap:9px}.flow span{flex:1;display:grid;place-items:center;text-align:center;min-height:84px;padding:12px;border:1px solid #555;border-radius:13px;font-weight:800;position:relative}.flow span+span:before{content:"";position:absolute;left:-10px;top:50%;width:10px;height:2px;background:var(--yellow)}.checklist{padding:0;list-style:none}.checklist li{display:flex;gap:12px;border-bottom:1px solid var(--line);padding:13px 0}.checklist li:before{content:"✓";width:27px;height:27px;flex:0 0 auto;display:grid;place-items:center;background:var(--yellow);border-radius:50%;font-weight:900}.template{background:#fff;border:2px solid var(--ink);border-radius:20px;padding:22px;margin:24px 0;box-shadow:7px 7px 0 var(--yellow)}.template code{white-space:pre-wrap;font:600 15px/1.8 "Noto Sans JP",sans-serif}.source-box{font-size:13px;color:var(--muted);border-top:1px solid var(--line);padding-top:18px}.source-box a{text-decoration:underline}.next-book{display:block;background:var(--yellow);border:2px solid var(--ink);border-radius:22px;padding:26px;font-weight:900;font-size:22px;box-shadow:8px 8px 0 var(--ink)}footer{padding:34px 24px;background:#111;color:#fff;display:flex;justify-content:center;gap:20px;flex-wrap:wrap;font-size:13px}footer strong{color:var(--yellow)}.reveal{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .65s ease}.reveal.visible{opacity:1;transform:none}@keyframes ticker{to{transform:translateX(-50%)}}@keyframes pop{from{opacity:0;transform:translateY(-10px) scale(.97)}}
@media(max-width:720px){.topbar{height:64px}.hero,.reader-hero{padding:52px 18px;min-height:auto}.hero{padding-top:70px}.hero h1,.reader-hero h1{font-size:clamp(44px,15vw,70px)}.book-grid{grid-template-columns:1fr}.book-card{min-height:320px}.reader-hero{grid-template-columns:1fr}.cover-number{font-size:100px;order:-1}.reader{padding-inline:18px}.chapter{margin-bottom:68px}.chapter-head{grid-template-columns:52px 1fr}.points{grid-template-columns:1fr}.flow{flex-direction:column}.flow span+span:before{left:50%;top:-10px;width:2px;height:10px}.chapter p,.chapter li{font-size:16px;line-height:1.9}.ticker{margin-top:60px}.primary,.secondary{width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
.book-visual{max-width:1120px;margin:-38px auto 90px;padding:0 24px}.book-visual img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;border:2px solid var(--ink);border-radius:28px;box-shadow:12px 12px 0 var(--yellow)}.book-visual figcaption{font-size:13px;font-weight:700;color:var(--muted);padding:14px 4px 0}@media(max-width:720px){.book-visual{margin:12px auto 64px;padding:0 18px}.book-visual img{border-radius:20px;box-shadow:7px 7px 0 var(--yellow)}}
.provider-badge,.provider-mini{display:inline-flex;align-items:center;gap:10px;font-weight:800}.provider-badge{margin:18px 0 4px;padding:10px 14px;background:#fff;border:1px solid var(--line);border-radius:999px}.provider-badge img{width:24px;height:24px}.provider-mini{position:absolute;right:22px;top:22px;font-size:11px}.provider-mini img{width:20px;height:20px}.book-card:nth-child(3n) .provider-mini img{filter:invert(1)}
.provided-section{max-width:1120px;margin:0 auto 100px;padding:0 24px}.provided-intro{display:grid;grid-template-columns:1fr 1fr;gap:12px 48px;align-items:end;margin-bottom:28px}.provided-intro .eyebrow{grid-column:1/-1;margin:0}.provided-intro h2{font-size:clamp(32px,5.5vw,64px);line-height:1.04;letter-spacing:-.05em;margin:0}.provided-intro>p:last-child{color:var(--muted);font-weight:600;line-height:1.8;margin:0}.provided-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}.provided-card{grid-column:span 4;margin:0;overflow:hidden;background:#fff;border:2px solid var(--ink);border-radius:20px;box-shadow:6px 6px 0 rgba(11,11,13,.12)}.provided-card.featured{grid-column:span 8}.provided-card img{display:block;width:100%;height:230px;object-fit:cover;background:#fff}.provided-card.logo img{object-fit:contain;padding:28px}.provided-card.featured img{height:300px}.provided-card figcaption{min-height:58px;padding:14px 16px;font-size:13px;line-height:1.55;font-weight:800;border-top:1px solid var(--line)}.asset-note{margin:18px 0 0;color:var(--muted);font-size:11px;line-height:1.7}
@media(max-width:720px){.provided-section{padding:0 18px;margin-bottom:72px}.provided-intro{grid-template-columns:1fr;gap:14px}.provided-gallery{grid-template-columns:1fr;gap:14px}.provided-card,.provided-card.featured{grid-column:auto}.provided-card img,.provided-card.featured img{height:auto;max-height:320px;aspect-ratio:16/10;object-fit:cover}.provided-card.logo img{object-fit:contain;padding:22px}.provided-card figcaption{min-height:auto}}
.branded-hero{position:relative;overflow:hidden}.branded-hero:before{content:"";position:absolute;inset:8% -10% auto auto;width:48vw;height:48vw;border-radius:50%;background:radial-gradient(circle,var(--yellow),transparent 67%);opacity:.32;z-index:-1;animation:breathe 5s ease-in-out infinite}.hero-copy{max-width:780px}.hero-wordmark{display:block;width:min(430px,82vw);max-height:118px;object-fit:contain;object-position:left center;margin:18px 0 28px;mix-blend-mode:multiply}.hero-guide{display:flex;gap:8px;flex-wrap:wrap;margin:24px 0}.hero-guide span{padding:8px 12px;background:#fff;border:1px solid var(--ink);border-radius:999px;font-size:13px;font-weight:800}.start-reading{display:inline-flex;min-height:54px;align-items:center;padding:0 22px;background:var(--ink);color:#fff;border-radius:14px;font-weight:900;box-shadow:7px 7px 0 var(--yellow)}
.practice{max-width:1040px;margin:0 auto 120px;padding:48px;display:grid;grid-template-columns:.9fr 1.1fr;gap:56px;align-items:center;background:var(--yellow);border:2px solid var(--ink);border-radius:30px;box-shadow:12px 12px 0 var(--ink)}.practice h2{font-size:clamp(32px,5vw,56px);line-height:1.08;letter-spacing:-.05em;margin:10px 0 16px}.practice-copy>p:not(.eyebrow){line-height:1.8}.practice-tabs{display:flex;gap:10px;margin-top:28px}.practice-tabs button{width:48px;height:48px;border:2px solid var(--ink);border-radius:50%;background:#fff;font-weight:900;cursor:pointer;transition:.2s}.practice-tabs button[aria-selected=true]{background:var(--ink);color:#fff;transform:translateY(-4px)}.device{background:#111;border:2px solid #111;border-radius:22px;padding:8px;box-shadow:0 22px 50px rgba(0,0,0,.22)}.device-bar{height:42px;display:flex;align-items:center;gap:7px;color:#aaa;font-size:12px;padding:0 10px}.device-bar i{width:9px;height:9px;border-radius:50%;background:#555}.device-bar span{margin-left:auto}.device-screen{min-height:280px;padding:34px;background:#fff;border-radius:15px;display:flex;flex-direction:column;justify-content:center}.device-screen.change{animation:screenIn .38s ease}.screen-step{color:var(--red);font-size:12px;font-weight:900;letter-spacing:.15em}.device-screen h3{font-size:30px;margin:10px 0}.device-screen p{font-size:17px;line-height:1.8;margin:0}.typing-line{height:10px;background:#eee;border-radius:99px;margin-top:30px;overflow:hidden}.typing-line i{display:block;width:42%;height:100%;background:var(--blue);animation:typeLine 2.2s ease-in-out infinite}
.editorial-break{margin:20px 0 100px;display:grid;grid-template-columns:1.15fr .85fr;background:#fff;border-block:1px solid var(--line)}.editorial-image{min-height:330px;overflow:hidden}.editorial-image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .7s ease}.editorial-break:hover img{transform:scale(1.035)}.editorial-break figcaption{padding:38px;display:flex;flex-direction:column;justify-content:center}.editorial-break figcaption span{font-size:12px;color:var(--red);font-weight:900;letter-spacing:.15em}.editorial-break figcaption strong{font-size:clamp(24px,3vw,36px);line-height:1.35;margin:12px 0}.editorial-break figcaption p{font-size:16px;line-height:1.9;color:var(--muted);margin:0}.point{display:flex;flex-direction:column;gap:8px}.point small{color:var(--red);font-size:10px;letter-spacing:.14em}.flow span{gap:7px;display:flex;flex-direction:column}.flow span b{font-size:10px;color:var(--yellow)}.copy-template{display:block;margin-top:18px;border:0;border-radius:10px;background:var(--ink);color:#fff;padding:11px 15px;font-weight:800;cursor:pointer}
@keyframes breathe{50%{transform:scale(1.08);opacity:.5}}@keyframes screenIn{from{opacity:.25;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes typeLine{50%{width:88%}}
@media(max-width:720px){.reader-hero.branded-hero{padding-top:38px}.hero-wordmark{max-height:82px;margin:12px 0 20px}.practice{margin:0 18px 82px;padding:25px;grid-template-columns:1fr;gap:26px;border-radius:22px;box-shadow:7px 7px 0 var(--ink)}.device-screen{min-height:230px;padding:25px}.editorial-break{grid-template-columns:1fr;margin-bottom:72px}.editorial-image{min-height:0}.editorial-image img{height:auto;aspect-ratio:16/10}.editorial-break figcaption{padding:25px}.start-reading{width:100%;justify-content:center}}

/* Editorial book palette: varied paper stocks, no neon or futuristic glow. */
body[data-book]{--paper:#eeeae1;--yellow:#c79a35;--red:#9d3e32;--blue:#294f68;background:#eeeae1}.topbar{background:rgba(248,246,240,.94)}body[data-book] .branded-hero{max-width:none;margin:0;padding-inline:max(24px,calc((100vw - 1120px)/2));background:#f8f6f0;border-bottom:1px solid #d3cec2}body[data-book] .branded-hero:before{width:38vw;height:38vw;background:repeating-linear-gradient(135deg,rgba(41,79,104,.08) 0 1px,transparent 1px 14px);border:1px solid rgba(41,79,104,.12);opacity:1;animation:slowTurn 24s linear infinite}body[data-book="claude-code"]{--yellow:#c87955;--red:#a64d36;--blue:#30485c}body[data-book="claude-code"] .branded-hero{background:#f3eee8}body[data-book] .cover-number{color:var(--yellow);text-shadow:5px 5px 0 #1a2630}body[data-book] .book-visual{max-width:none;margin:-1px 0 0;padding:72px max(24px,calc((100vw - 1120px)/2));background:#273b49}body[data-book] .book-visual img{max-width:1120px;margin:auto;box-shadow:12px 12px 0 #111}body[data-book] .book-visual figcaption{max-width:1120px;margin:auto;color:#e9e4d8}body[data-book] .practice{margin-top:90px;background:#d6c29b;box-shadow:12px 12px 0 #1d2d38}body[data-book="claude-code"] .practice{background:#d9b19d}body[data-book] .reader{max-width:none;padding-inline:0;background:linear-gradient(#eeeae1 0 33.33%,#f8f6f0 33.33% 66.66%,#e5e8e7 66.66%)}body[data-book] .chapter,body[data-book] .editorial-break,body[data-book] .source-box,body[data-book] .next-book{max-width:880px;margin-left:auto;margin-right:auto}body[data-book] .chapter{padding:88px 24px 0;margin-bottom:70px}body[data-book] .editorial-break{border:1px solid #cbc5b9;box-shadow:0 22px 55px rgba(25,31,35,.1)}body[data-book] .diagram{background:#1d2d38}body[data-book] .conclusion{box-shadow:0 16px 35px rgba(25,31,35,.1)}body[data-book] .source-box{padding:30px 24px 0}body[data-book] .next-book{margin-top:38px;background:#d6c29b}body[data-book] .hero-guide span{background:#eeeae1}body[data-book] .start-reading{background:#1d2d38;box-shadow:7px 7px 0 #c79a35}
@keyframes slowTurn{to{transform:rotate(360deg)}}
@media(max-width:720px){body[data-book] .branded-hero{padding-inline:18px}body[data-book] .book-visual{padding:48px 18px}body[data-book] .practice{margin-top:64px}body[data-book] .chapter{padding:68px 18px 0}body[data-book] .editorial-break,body[data-book] .source-box,body[data-book] .next-book{margin-left:18px;margin-right:18px}}
