.page-top .site-header{background:color-mix(in srgb, var(--bg) 85%, transparent)}.hero{color:#f4f2ff;background:radial-gradient(1200px 600px at 75% 30%,#343a8c 0%,#0000 60%),radial-gradient(800px 500px at 10% 100%,#3a2a6e 0%,#0000 60%),linear-gradient(160deg,#161a44 0%,#1d2350 55%,#12153a 100%);position:relative;overflow:hidden}.hero-bg{pointer-events:none;background-image:radial-gradient(circle at 1px 1px,#ffffff17 1px,#0000 0),repeating-conic-gradient(at 78% 38%,#f2c14e12 0deg 6deg,#0000 6deg 18deg);background-size:26px 26px,100% 100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 60%,#0000);mask-image:linear-gradient(#000 60%,#0000)}.hero-inner{grid-template-columns:1.05fr 1fr;align-items:center;gap:48px;max-width:1180px;margin:0 auto;padding:72px 20px 96px;display:grid;position:relative}.eyebrow{color:var(--gold);background:#f2c14e1a;border:1px solid #f2c14e66;border-radius:999px;align-items:center;gap:8px;margin:0 0 18px;padding:4px 14px 4px 8px;font-size:.9rem;font-weight:700;display:inline-flex}.eyebrow-crown{width:24px;height:18px}.hero-title{letter-spacing:.02em;color:#fff;margin:0;font-size:clamp(3rem,9vw,5.6rem);font-weight:800;line-height:1.12}.hero-title .accent{color:var(--gold);white-space:nowrap;position:relative}.hero-title .accent:after{content:"";background:linear-gradient(90deg, var(--seal), #ff7b5c);opacity:.85;transform-origin:0;border-radius:999px;height:.16em;animation:.9s cubic-bezier(.2,.8,.2,1) .4s both underline;position:absolute;bottom:.02em;left:.05em;right:.3em}@keyframes underline{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.hero-lead{color:#d9daf2;margin:22px 0 28px;font-size:clamp(1.02rem,2.3vw,1.2rem);line-height:1.95}.hero-lead strong{color:#fff;background:linear-gradient(#0000 62%,#f2c14e59 0)}.hero-cta{flex-wrap:wrap;gap:12px;display:flex}.hero-cta.center{justify-content:center}.hero .btn-ghost{color:#fff;background:#ffffff14;border-color:#ffffff4d}.hero .btn-ghost:hover{color:#fff;background:#ffffff29;border-color:#fff}.hero-note{color:#a9acd3;margin:16px 0 0;font-size:.85rem}.hero-scroll-wrap{perspective:1200px}.scroll{--code-bg:transparent;--code-ink:#2a2433;--tk-kw:#b0326b;--tk-cmd:#2f4fb5;--tk-str:#1b6e45;--tk-interp:#9a5200;--tk-num:#8b3fc0;--tk-cmt:#8d7b5a;--tk-part:#7a6347;--tk-op:#6a5f70;filter:drop-shadow(0 24px 40px #00000073);margin:0;animation:.9s cubic-bezier(.2,.8,.2,1) both unroll;position:relative;transform:rotate(1.5deg)}@keyframes unroll{0%{clip-path:inset(0 0 100%);transform:rotate(1.5deg)translateY(-12px)}to{clip-path:inset(0 0 -10%);transform:rotate(1.5deg)}}.scroll-rod{z-index:2;background:linear-gradient(#8a5a2b,#c48a4a 40%,#6e4520);border-radius:12px;height:22px;margin:0 -14px;position:relative}.scroll-rod:before,.scroll-rod:after{content:"";background:linear-gradient(180deg, #f6d27a, var(--gold-deep));border-radius:8px;width:18px;height:30px;position:absolute;top:-4px}.scroll-rod:before{left:-10px}.scroll-rod:after{right:-10px}.scroll-paper{color:#3a2f22;background:radial-gradient(circle at 20% 10%,#ffffff8c,#0000 40%),linear-gradient(90deg,#ead7a8 0%,#f8ecd0 8%,#fbf2dc 50%,#f8ecd0 92%,#e6cf98 100%);padding:22px 26px 26px;position:relative}.scroll-title{font-family:var(--font-round);letter-spacing:.2em;color:#7a4f1d;border-bottom:2px double #c9a76b;justify-content:center;align-items:center;gap:8px;margin-bottom:8px;padding-bottom:8px;font-weight:800;display:flex}.scroll-crown{width:28px;height:21px}.scroll pre.hl{background:0 0;border:0;padding:8px 2px;font-size:clamp(.92rem,2vw,1.08rem)}.scroll-reply{color:#eceaff;font-family:var(--font-code);background:#1e2142;border-radius:10px;min-height:9.6em;margin-top:10px;padding:10px 14px 12px;font-size:.95rem}.scroll-reply-label{font-family:var(--font-body);color:#a5a8d6;justify-content:space-between;align-items:center;margin-bottom:4px;font-size:.75rem;display:flex}.replay{color:var(--gold);font:inherit;cursor:pointer;background:0 0;border:0;padding:2px 6px}.scroll-reply-lines span{opacity:0;animation:line-in .35s calc(1.3s + var(--i) * .45s) ease-out forwards;display:block}.scroll-reply-lines span:before{content:"› ";color:var(--gold)}@keyframes line-in{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}.hero-seal{filter:drop-shadow(0 4px 6px #500a0a66);width:92px;height:92px;animation:.45s cubic-bezier(.3,1.6,.5,1) 3.4s both stamp;position:absolute;bottom:-26px;right:-18px;transform:rotate(-14deg)}@keyframes stamp{0%{opacity:0;transform:rotate(-14deg)scale(2.2)}to{opacity:1;transform:rotate(-14deg)scale(1)}}.scroll.replaying .scroll-reply-lines span,.scroll.replaying .hero-seal{animation:none}.section{padding:80px 0}.section-title{text-align:center;margin:0 0 12px;font-size:clamp(1.6rem,4.4vw,2.3rem);font-weight:800}.section-title.left{text-align:left}.section-lead{text-align:center;color:var(--muted);max-width:640px;margin:0 auto 36px}.ex{background:var(--surface);border:1px solid var(--line);max-width:920px;box-shadow:var(--shadow);border-radius:20px;margin:0 auto;overflow:hidden}.ex-head{border-bottom:1px solid var(--line);background:var(--bg-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.ex-tabs{flex-wrap:wrap;gap:6px;display:flex}.ex-tab{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:999px;padding:6px 14px;font-size:.92rem;font-weight:700}.ex-tab:hover{color:var(--ink)}.ex-tab[aria-selected=true]{background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:0 1px 3px #00000014}.lang-switch{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px;display:inline-flex}.lang-switch button{color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:4px 14px;font-size:.85rem;font-weight:700}.lang-switch button[aria-pressed=true]{background:var(--navy);color:#fff}.ex-panel{grid-template-columns:1.4fr 1fr;display:grid}.ex-panel[hidden]{display:none}.ex-code{min-height:210px;padding:8px 6px}.ex-code pre.hl{background:0 0;border:0;font-size:1.05rem}.ex[data-lang=ja] [data-src-lang=en],.ex[data-lang=en] [data-src-lang=ja]{display:none}.ex-code-src{animation:.3s fade}@keyframes fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.ex-out{color:#eceaff;background:#1e2142;padding:14px 18px}.ex-out-label{color:#a5a8d6;margin-bottom:4px;font-size:.75rem}.ex-out pre{white-space:pre-wrap;font-size:.98rem;line-height:1.8}.out-in{color:var(--gold)}.out-note{color:#9fa3cf;font-size:.9em}.ex-foot{border-top:1px solid var(--line);justify-content:flex-end;padding:10px 14px;display:flex}.section-features{background:var(--bg-soft);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.features{grid-template-columns:repeat(4,1fr);gap:18px;margin-top:36px;display:grid}.feature{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:24px 20px;transition:transform .2s,box-shadow .2s}.feature:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.feature-icon{background:var(--royal-soft);border-radius:16px;place-items:center;width:56px;height:56px;font-size:2rem;display:grid}.feature h3{margin:14px 0 6px;font-size:1.18rem}.feature p{color:var(--muted);margin:0;font-size:.95rem;line-height:1.8}.feature code{color:var(--tk-cmd);font-weight:700}.err-demo{max-width:720px;margin:44px auto 0}.err-demo-label{color:var(--muted);text-align:center;margin-bottom:6px;font-size:.9rem;font-weight:700}.err-demo-box{color:#eceaff;border-left:5px solid var(--seal);background:#1e2142;border-radius:14px;padding:16px 20px;font-size:.92rem;line-height:1.75}.loose{flex-wrap:wrap;justify-content:center;gap:12px;max-width:860px;margin:0 auto;padding:0;list-style:none;display:flex}.loose li{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:8px 18px 8px 40px;font-size:1.02rem;position:relative}.loose li:before{content:"✓";color:var(--ok);font-weight:800;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.loose-note{text-align:center;color:var(--muted);margin:22px 0 0;font-size:.92rem}.section-name{background:linear-gradient(135deg, var(--paper) 0%, color-mix(in srgb, var(--paper) 60%, var(--bg)) 100%);border-top:1px solid var(--paper-edge);border-bottom:1px solid var(--paper-edge)}.name-inner{align-items:center;gap:40px;max-width:900px;display:flex}.name-seal{filter:drop-shadow(0 6px 10px #7814144d);flex:none;width:150px;height:150px;transform:rotate(-10deg)}.name-small{color:var(--seal);letter-spacing:.06em;margin:0 0 6px;font-size:.9rem;font-weight:700}.name-p{margin:0;font-size:1.05rem}.os-cards{grid-template-columns:repeat(3,1fr);gap:18px;max-width:860px;margin:0 auto;display:grid}.os-card{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:28px 16px 22px;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.os-card:hover{box-shadow:var(--shadow);border-color:var(--gold-deep);transform:translateY(-3px)}.os-icon{width:44px;height:44px;color:var(--navy)}:root[data-theme=dark] .os-icon{color:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .os-icon{color:#fff}}.os-name{font-family:var(--font-round);margin-top:6px;font-size:1.25rem;font-weight:800}.os-sub{color:var(--muted);font-size:.85rem}.os-card .badge-soon{margin-top:8px}.section-end{padding-bottom:32px}.end-inner{text-align:center}.end-title{margin:0 0 8px;font-size:clamp(1.8rem,5vw,2.8rem)}.end-inner p{color:var(--muted);margin:0 0 24px}@media (width<=960px){.hero-inner{grid-template-columns:1fr;gap:40px;padding:48px 20px 72px}.hero-scroll-wrap{width:100%;max-width:520px;margin:0 auto;padding:0 10px}.features{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.section{padding:56px 0}.hero-cta .btn{flex:100%}.ex-panel{grid-template-columns:1fr}.ex-code{min-height:0}.ex-code pre.hl{font-size:.95rem}.features,.os-cards{grid-template-columns:1fr}.os-card{flex-flow:wrap;justify-content:flex-start;gap:4px 12px;padding:16px 18px}.os-card .os-name{margin:0}.os-card .badge-soon{margin:0 0 0 auto}.name-inner{text-align:center;flex-direction:column;gap:20px}.name-inner .section-title.left{text-align:center}.name-seal{width:110px;height:110px}.hero-seal{width:72px;height:72px;right:-6px}}
