@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e390973e931a41c5-s.0rgnxg2b64rzs.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/59b15b4bcd7b1eb5-s.2vemzm0itqzfy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/e532fa1b9921e1cd-s.3cb5lpr2l6xud.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2fe89d53234c61d4-s.1u30mmyq6lnsd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99e609270109b47d-s.p.40sczeszzbjw1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5e05ae5b48faa55e-s.1yd4_i3e35931.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/a7afbb44bec2bb18-s.1qc6dx89jd2qv.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/02263ebadd758ea4-s.29yke99gs9qpn.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/68757d6cddeff913-s.1i-sca43-qwng.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6ff74e33ebd7bca3-s.352ti9pm7m6qh.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1a69062cfe6f77f8-s.0o-3_g79811ob.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9a4838fcda0d1bca-s.0ngr-xkgqz1kf.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2e95a7d252b9825a-s.15orukf5wyxb5.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/23b7a97ae3b5c134-s.p.226pwps5o-gq_.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono Fallback;src:local(Arial);ascent-override:76.16%;descent-override:20.43%;line-gap-override:0.0%;size-adjust:134.59%}.ibm_plex_mono_2259af59-module__iDwBGG__className{font-family:IBM Plex Mono,IBM Plex Mono Fallback;font-style:normal}.ibm_plex_mono_2259af59-module__iDwBGG__variable{--font-mono:"IBM Plex Mono", "IBM Plex Mono Fallback"}
:root{--paper:#f5f6fa;--surface:#fff;--ink:#0e1526;--ink-2:#46516d;--ink-3:#8b93ab;--line:#e4e7f0;--line-2:#cfd5e4;--blue:#2350e8;--blue-deep:#16339e;--blue-wash:#edf2ff;--blue-wash-2:#d9e4ff;--cyan:#43c6ff;--panel:#141a2b;--panel-2:#1d2438;--panel-line:#2a3352;--panel-text:#dfe5f4;--panel-mut:#8590ad;--ok:#0d9060;--ok-wash:#e4f6ee;--warn:#c07306;--warn-wash:#fdf3e1;--bad:#d92d20;--bad-wash:#fdecea;--radius:12px;--radius-sm:8px;--shadow-xs:0 1px 2px #0e15260d;--shadow-card:0 1px 2px #0e15260a, 0 12px 40px -18px #0e152624}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0}body{font-family:var(--font-sans), "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans JP", Meiryo, sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased;line-height:1.75;position:relative;overflow-x:clip}body:before{content:"";z-index:-1;pointer-events:none;background-image:linear-gradient(#2350e80d 1px,#0000 1px),linear-gradient(90deg,#2350e80d 1px,#0000 1px);background-size:30px 30px;height:620px;position:absolute;top:0;left:0;right:0;-webkit-mask-image:linear-gradient(#000 40%,#0000);mask-image:linear-gradient(#000 40%,#0000)}::selection{background:var(--blue-wash-2)}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:2px solid var(--blue);outline-offset:2px;border-radius:4px}[id]{scroll-margin-top:76px}.container{max-width:1080px;margin:0 auto;padding:0 20px}.mono,.num{font-family:var(--font-mono), ui-monospace, "SFMono-Regular", Menlo, monospace;font-variant-numeric:tabular-nums}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-header{z-index:50;border-bottom:1px solid var(--line);-webkit-backdrop-filter:saturate(160%)blur(10px);background:#f5f6fad9;position:sticky;top:0}.site-header .container{justify-content:space-between;align-items:center;gap:12px;min-height:60px;display:flex}.brand{color:var(--ink);white-space:nowrap;align-items:center;gap:9px;display:inline-flex}.brand:hover{text-decoration:none}.brand-mark{color:var(--ink-3);flex-shrink:0}.brand-name{letter-spacing:-.01em;font-size:1.06rem;font-weight:700}.brand-code{font-family:var(--font-mono), monospace;letter-spacing:.14em;color:var(--ink-3);font-size:.64rem;font-weight:600;transform:translateY(1px)}.brand-beta{font-family:var(--font-mono), monospace;color:var(--blue);border:1px solid var(--blue-wash-2);background:var(--blue-wash);border-radius:5px;padding:0 5px;font-size:.62rem;font-weight:600;line-height:1.5}.site-nav{align-items:center;gap:2px;font-size:.87rem;display:flex}.site-nav a{color:var(--ink-2);border-radius:var(--radius-sm);padding:6px 10px;font-weight:500}.site-nav a:hover{color:var(--ink);background:#0e15260d;text-decoration:none}.nav-icon{align-items:center;display:inline-flex}.site-nav .nav-cta{background:var(--blue);color:#fff;box-shadow:var(--shadow-xs), inset 0 1px 0 #ffffff2e;border-radius:9px;margin-left:8px;padding:7px 16px;font-weight:700;transition:background .15s}.site-nav .nav-cta:hover{background:var(--blue-deep);color:#fff}.site-nav .lang-switch{font-family:var(--font-mono), monospace;letter-spacing:.06em;border:1px solid #0e152624;border-radius:9px;margin-left:6px;padding:6px 10px;font-size:.72rem;font-weight:600}.hero{padding:60px 0 12px}.hero>*{animation:.55s cubic-bezier(.2,.7,.3,1) backwards rise}.hero>:nth-child(2){animation-delay:70ms}.hero>:nth-child(3){animation-delay:.14s}.hero>:nth-child(4){animation-delay:.21s}.hero h1{letter-spacing:-.022em;margin:0 0 16px;font-size:clamp(2rem,5vw,3.05rem);font-weight:700;line-height:1.24}.hero h1 .accent{color:var(--blue);white-space:nowrap}.hero p.lead{color:var(--ink-2);max-width:46em;margin:0;font-size:1.02rem}.hero-points{flex-wrap:wrap;gap:8px 10px;margin:20px 0 0;padding:0;list-style:none;display:flex}.hero-points li{color:var(--ink-2);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-xs);border-radius:999px;align-items:center;gap:7px;padding:6px 14px;font-size:.84rem;font-weight:600;display:inline-flex}.hero-points li:before{content:"";background:var(--ok);border-radius:50%;flex-shrink:0;width:14px;height:14px;-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"black\" stroke-width=\"3.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 12.5l5.5 5.5L20 6.5\"/></svg>") 50%/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"black\" stroke-width=\"3.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 12.5l5.5 5.5L20 6.5\"/></svg>") 50%/contain no-repeat}.hero-lp{padding-top:26px}.section{margin:60px 0}.eyebrow{font-family:var(--font-mono), monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--blue);flex-wrap:wrap;align-items:center;gap:2px 10px;margin:0 0 10px;font-size:.68rem;font-weight:600;display:flex}.eyebrow span{white-space:nowrap}.eyebrow:before{content:"";background:var(--blue);opacity:.55;border-radius:2px;width:22px;height:2px}.section h2{letter-spacing:-.015em;margin:0 0 8px;font-size:1.42rem;line-height:1.4}.section h2+p{color:var(--ink-2);margin-top:0;font-size:.95rem}.section.sub{margin:44px 0}.section.sub h2{font-size:1.12rem}.section.sub>p{font-size:.92rem}.section>ul:not([class]){gap:8px;margin:14px 0 0;padding:0;font-size:.94rem;list-style:none;display:grid}.section>ul:not([class]) li{padding-left:20px;position:relative}.section>ul:not([class]) li:before{content:"";background:var(--blue);border-radius:2px;width:10px;height:2px;position:absolute;top:.72em;left:0}.workbench{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-card);border-radius:16px;padding:22px}.section .workbench{animation:.55s cubic-bezier(.2,.7,.3,1) .24s backwards rise}.steps{flex-wrap:wrap;gap:8px 26px;margin:0 0 18px;padding:0;list-style:none;display:flex}.steps li{color:var(--ink-2);align-items:center;gap:10px;font-size:.87rem;display:inline-flex}.steps li strong{color:var(--ink)}.step-num{font-family:var(--font-mono), monospace;color:var(--blue-deep);background:var(--blue-wash);border:1px solid var(--blue-wash-2);border-radius:6px;flex-shrink:0;padding:1px 7px;font-size:.7rem;font-weight:600}.dropzone{--dz-mark:#2350e880;--dz-grid:#16339e0d;--dz-grid-bold:#16339e16;border:1.5px dashed var(--line-2);border-radius:var(--radius);background-color:#fbfcff;background-image: linear-gradient(var(--dz-mark), var(--dz-mark)), linear-gradient(var(--dz-mark), var(--dz-mark)), linear-gradient(var(--dz-mark), var(--dz-mark)), linear-gradient(var(--dz-mark), var(--dz-mark)), linear-gradient(var(--dz-mark), var(--dz-mark)), linear-gradient(var(--dz-mark), var(--dz-mark)), linear-gradient(var(--dz-mark), var(--dz-mark)), linear-gradient(var(--dz-mark), var(--dz-mark)),  repeating-linear-gradient(0deg, var(--dz-grid-bold) 0 1px, transparent 1px 100px), repeating-linear-gradient(90deg, var(--dz-grid-bold) 0 1px, transparent 1px 100px), repeating-linear-gradient(0deg, var(--dz-grid) 0 1px, transparent 1px 20px), repeating-linear-gradient(90deg, var(--dz-grid) 0 1px, transparent 1px 20px);text-align:center;cursor:pointer;background-position:13px 13px,13px 13px,calc(100% - 13px) 13px,calc(100% - 13px) 13px,calc(100% - 13px) calc(100% - 13px),calc(100% - 13px) calc(100% - 13px),13px calc(100% - 13px),13px calc(100% - 13px),0 0,0 0,0 0,0 0;background-repeat:no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,no-repeat,repeat,repeat,repeat,repeat;background-size:16px 2px,2px 16px,16px 2px,2px 16px,16px 2px,2px 16px,16px 2px,2px 16px,auto,auto,auto,auto;padding:52px 24px;transition:border-color .15s,background-color .15s,box-shadow .15s;position:relative}.dropzone:hover{border-color:var(--blue);box-shadow:inset 0 0 0 1px #2350e814, var(--shadow-xs)}.dropzone.drag{--dz-grid:#2350e81a;--dz-grid-bold:#2350e829;border-color:var(--blue);background-color:var(--blue-wash);border-style:solid}.dz-icon{width:56px;height:56px;color:var(--blue);background:var(--blue-wash);border:1px solid var(--blue-wash-2);border-radius:14px;justify-content:center;align-items:center;margin-bottom:14px;transition:transform .15s;display:inline-flex}.dropzone:hover .dz-icon,.dropzone.drag .dz-icon{transform:translateY(-2px)}.dropzone strong{letter-spacing:-.01em;overflow-wrap:anywhere;margin-bottom:6px;font-size:1.06rem;display:block}.dropzone .hint{color:var(--ink-2);font-size:.84rem}.dropzone .hint .mono{letter-spacing:.02em;font-size:.78rem}.dropzone .hint-plans{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:14px;font-size:.78rem;display:flex}.dropzone .plan-chip{border:1px solid var(--line);background:var(--surface);color:var(--ink-2);box-shadow:var(--shadow-xs);text-align:center;border-radius:999px;align-items:center;gap:4px;max-width:100%;padding:5px 12px;display:inline-flex}.dropzone .plan-chip-pro{border-color:var(--blue-wash-2);background:var(--blue-wash);color:var(--blue-deep);font-weight:600;text-decoration:none;transition:background-color .15s,border-color .15s,transform .15s}.dropzone .plan-chip-pro:hover,.dropzone .plan-chip-pro:focus-visible{background:var(--blue-wash-2);border-color:#2350e859;transform:translateY(-1px)}.dropzone.has-file{text-align:left;padding:18px 22px}.dz-file{align-items:center;gap:14px;min-width:0;display:flex}.dz-file-icon{width:40px;height:40px;color:var(--blue);background:var(--blue-wash);border:1px solid var(--blue-wash-2);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.dz-file-meta{flex:1;min-width:0}.dz-file-meta strong{margin-bottom:0;font-size:.96rem}.dz-file-size{font-family:var(--font-mono), monospace;color:var(--ink-3);letter-spacing:.03em;font-size:.74rem}.dz-change{color:var(--blue);flex-shrink:0;font-size:.8rem;font-weight:600}.controls{flex-wrap:wrap;align-items:center;gap:14px 20px;margin:18px 0 0;display:flex}.control-group{align-items:center;gap:10px;display:flex}.control-label{color:var(--ink-3);white-space:nowrap;font-size:.8rem;font-weight:600}.seg{border:1px solid var(--line-2);background:var(--paper);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.seg button{font-family:var(--font-mono), monospace;letter-spacing:.02em;color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:6px 13px;font-size:.79rem;font-weight:600;transition:color .12s,background .12s,box-shadow .12s}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true]{color:var(--blue-deep);background:var(--surface);box-shadow:0 1px 3px #0e15261f, inset 0 0 0 1px var(--line)}button.primary{font:inherit;color:#fff;background:var(--blue);cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:11px 24px;font-size:.95rem;font-weight:700;transition:background .15s,transform .1s;display:inline-flex;box-shadow:0 1px 2px #0e152626,inset 0 1px #ffffff29}.controls button.primary{margin-left:auto}button.primary:hover:not(:disabled){background:var(--blue-deep)}button.primary:active:not(:disabled){transform:translateY(1px)}button.primary:disabled{opacity:.4;cursor:default}.consent-note{color:var(--ink-3);margin:12px 0 0;font-size:.78rem}.stage-wait{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(100deg, var(--paper) 40%, #fff 50%, var(--paper) 60%);height:220px;color:var(--ink-2);background-size:200% 100%;justify-content:center;align-items:center;gap:12px;margin-top:18px;font-size:.9rem;font-weight:500;animation:1.3s linear infinite shimmer;display:flex}.spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;flex-shrink:0;width:16px;height:16px;animation:.7s linear infinite spin}.spinner.dark{border-color:#2350e833;border-top-color:var(--blue)}.spinner.cyan{border-color:#43c6ff33;border-top-color:var(--cyan)}.svgviewer{border:1px solid var(--panel-line);border-radius:var(--radius);background:var(--panel);flex-direction:column;margin-top:18px;display:flex;overflow:hidden;box-shadow:0 16px 44px -18px #0e15266b}.svgviewer:fullscreen{border:none;border-radius:0;margin-top:0}.svgviewer-toolbar{border-bottom:1px solid var(--panel-line);flex-wrap:wrap;align-items:center;gap:3px;padding:8px 10px;display:flex}.svgviewer-group{align-items:center;gap:3px;display:inline-flex}.tb-right{margin-left:auto}.tb-sep{background:var(--panel-line);flex-shrink:0;width:1px;height:18px;margin:0 7px}.tb-btn{min-width:30px;height:30px;color:var(--panel-mut);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-family:inherit;font-size:.78rem;font-weight:600;transition:color .12s,background .12s,border-color .12s;display:inline-flex}.tb-btn:hover{color:var(--panel-text);background:var(--panel-2)}.tb-btn.active{color:var(--cyan);background:#43c6ff1a;border-color:#43c6ff47}.svgviewer-zoom{font-family:var(--font-mono), monospace;color:var(--panel-text);text-align:center;font-variant-numeric:tabular-nums;min-width:3.8em;font-size:.8rem;font-weight:500}.svgviewer-stroke{color:var(--panel-mut);align-items:center;gap:8px;padding:0 4px;font-size:.75rem;font-weight:600;display:inline-flex}.svgviewer-stroke input[type=range]{width:96px;accent-color:var(--cyan)}.tb-swatch{border:2px solid var(--panel-line);cursor:pointer;border-radius:50%;flex-shrink:0;width:20px;height:20px;padding:0;transition:border-color .12s,box-shadow .12s}.tb-swatch+.tb-swatch{margin-left:4px}.tb-swatch.active{border-color:var(--cyan);box-shadow:0 0 0 2px #43c6ff40}.sw-white{background:#fff}.sw-black{background:#0b0e17}.sw-navy{background:#0c2b4d}.svgviewer-stage{touch-action:none;cursor:grab;justify-content:center;align-items:center;height:clamp(380px,58vh,640px);display:flex;position:relative;overflow:hidden}.svgviewer-stage:active{cursor:grabbing}.svgviewer-stage:focus-visible{outline:2px solid var(--cyan);outline-offset:-2px;border-radius:0}.svgviewer:fullscreen .svgviewer-stage{flex:1;height:auto}.svgviewer-stage svg{width:100%;height:100%;display:block}.svgviewer-svg{width:100%;height:100%}.svgviewer.bg-white .svgviewer-stage{background-color:#fff;background-image:radial-gradient(#0e152612 1px,#0000 1px);background-size:22px 22px}.svgviewer.bg-black .svgviewer-stage{background-color:#0b0e17;background-image:radial-gradient(#ffffff0e 1px,#0000 1px);background-size:22px 22px}.svgviewer.bg-navy .svgviewer-stage{background-color:#0c2b4d;background-image:radial-gradient(#ffffff0f 1px,#0000 1px);background-size:22px 22px}.svgviewer.bg-black .svgviewer-stage svg,.svgviewer.bg-navy .svgviewer-stage svg{filter:invert()hue-rotate(180deg)}.svgviewer-loading{color:var(--panel-mut);align-items:center;gap:12px;font-size:.88rem;font-weight:500;display:inline-flex}.svgviewer.mono .svgviewer-stage svg polyline,.svgviewer.mono .svgviewer-stage svg polygon{stroke:#1a1a1a}.svgviewer.mono .svgviewer-stage svg text{fill:#1a1a1a}.svgviewer.hide-dim .svgviewer-stage svg [data-dim]{display:none}.svgviewer-layers{z-index:5;-webkit-backdrop-filter:blur(10px);border:1px solid var(--panel-line);min-width:190px;max-width:260px;max-height:calc(100% - 20px);color:var(--panel-text);background:#121828e0;border-radius:10px;padding:12px 14px;font-size:.84rem;position:absolute;top:10px;right:10px;overflow-y:auto;box-shadow:0 12px 32px #00000073}.svgviewer-layers-title{font-family:var(--font-mono), monospace;color:var(--panel-mut);letter-spacing:.18em;text-transform:uppercase;margin:0 0 8px;font-size:.62rem;font-weight:600}.svgviewer-layers label{cursor:pointer;overflow-wrap:anywhere;border-radius:6px;align-items:center;gap:9px;padding:4px 0;display:flex}.svgviewer-layers label:hover{color:#fff}.svgviewer-layers input[type=checkbox]{accent-color:var(--cyan)}.layer-swatch{border:1px solid #ffffff40;border-radius:3px;flex-shrink:0;width:12px;height:12px}.svgviewer-status{border-top:1px solid var(--panel-line);font-family:var(--font-mono), monospace;letter-spacing:.04em;color:var(--panel-mut);white-space:nowrap;align-items:center;gap:18px;padding:7px 14px;font-size:.67rem;display:flex;overflow:hidden}.svgviewer-status .status-right{color:var(--panel-text);gap:18px;margin-left:auto;display:inline-flex}.svgviewer-status .status-key{color:var(--panel-mut)}.preview{border:1px solid var(--line);border-radius:var(--radius);text-align:center;background:#fff;margin-top:18px;padding:12px}.preview img{border-radius:var(--radius-sm);max-width:100%;height:auto;max-height:520px}.error{color:#a02015;background:var(--bad-wash);border-radius:var(--radius-sm);border:1px solid #f6c7c2;align-items:baseline;gap:10px;margin-top:16px;padding:12px 16px;font-size:.9rem;display:flex}.outputs{flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;display:flex}.outputs a.download{background:var(--ink);color:#fff;border-radius:10px;align-items:center;gap:10px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:background .15s;display:inline-flex;box-shadow:0 1px 2px #0e152638}.outputs a.download:hover{background:#1e2a4a;text-decoration:none}.download-size{font-family:var(--font-mono), monospace;color:#aab3cc;letter-spacing:.03em;font-size:.72rem}.input-format{font-family:var(--font-mono), monospace;color:var(--ink-3);letter-spacing:.06em;font-size:.74rem}.loss-report{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-top:16px;overflow:hidden}.loss-report summary{cursor:pointer;align-items:center;gap:12px;padding:12px 44px 12px 14px;list-style:none;display:flex;position:relative}.loss-report summary::-webkit-details-marker{display:none}.loss-report summary:after{content:"";border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);width:8px;height:8px;transition:transform .15s;position:absolute;top:50%;right:18px;transform:translateY(-70%)rotate(45deg)}.loss-report[open] summary:after{transform:translateY(-30%)rotate(225deg)}.loss-report summary:hover{background:var(--paper)}.loss-icon{border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.loss-report.ok .loss-icon{color:var(--ok);background:var(--ok-wash)}.loss-report.warn .loss-icon{color:var(--warn);background:var(--warn-wash)}.loss-report.bad .loss-icon{color:var(--bad);background:var(--bad-wash)}.loss-title{flex-shrink:0;font-size:.92rem;font-weight:700}.loss-sub{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.85rem;overflow:hidden}.loss-body{border-top:1px solid var(--line);padding:14px 16px 18px}.loss-chips{flex-wrap:wrap;gap:6px;margin:0 0 4px;display:flex}.loss-entries{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.loss-entries li{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:.87rem;display:flex}.loss-entries li small{font-family:var(--font-mono), monospace;color:var(--ink-3);font-size:.72rem}.stat-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.stat-dot.ok{background:var(--ok)}.stat-dot.warn{background:var(--warn)}.stat-dot.bad{background:var(--bad)}.stat-rate{font-family:var(--font-mono), monospace;font-variant-numeric:tabular-nums;align-items:center;gap:7px;font-size:.78rem;display:inline-flex}.badge{vertical-align:middle;letter-spacing:.01em;white-space:nowrap;border-radius:6px;padding:2px 9px;font-size:.75rem;font-weight:600;display:inline-block}.badge.structural{background:var(--ok-wash);color:var(--ok)}.badge.reconstructive,.badge.approximated,.badge.warning{background:var(--warn-wash);color:var(--warn)}.badge.ai,.badge.dropped{background:var(--bad-wash);color:var(--bad)}.badge.substituted{background:var(--blue-wash);color:var(--blue-deep)}.badge.info{background:var(--paper);color:var(--ink-2)}.hero h1 .badge{margin-left:10px;transform:translateY(-4px)}.pair-chips{color:var(--ink-3);align-items:center;gap:8px;display:flex}.chip{font-family:var(--font-mono), monospace;letter-spacing:.03em;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);white-space:nowrap;border-radius:6px;align-items:center;padding:3px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.chip-dst{background:var(--blue);border-color:var(--blue);color:#fff}.features{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:16px;display:grid}.card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-xs);padding:20px}.card-icon{width:38px;height:38px;color:var(--blue);background:var(--blue-wash);border:1px solid var(--blue-wash-2);border-radius:10px;justify-content:center;align-items:center;margin-bottom:12px;display:inline-flex}.card h3{letter-spacing:-.01em;margin:0 0 4px;font-size:.98rem}.card p{color:var(--ink-2);margin:0;font-size:.88rem}.usecase-cards{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;margin-top:16px;display:grid}.usecase-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-xs);flex-direction:column;gap:8px;padding:16px 18px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.usecase-card:hover{border-color:var(--blue);text-decoration:none;transform:translateY(-2px);box-shadow:0 10px 24px -10px #2350e847}.usecase-title{color:var(--ink);letter-spacing:-.01em;font-size:.98rem;font-weight:700}.usecase-card:hover .usecase-title{color:var(--blue-deep)}.usecase-desc{color:var(--ink-2);font-size:.83rem;line-height:1.6}table.plain{border-collapse:collapse;width:100%;margin-top:12px;font-size:.9rem}table.plain th,table.plain td{text-align:left;border-bottom:1px solid var(--line);padding:10px 12px}table.plain th{font-family:var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);border-bottom-color:var(--line-2);white-space:nowrap;font-size:.68rem;font-weight:600}table.plain td .num{font-size:.84rem}.cell-yes{color:var(--blue)}.cell-yes .cell-ver{font-family:var(--font-mono), monospace;color:var(--ink-2);letter-spacing:.02em;margin-left:6px;font-size:.74rem}.cell-no{color:var(--line-2)}.table-scroll{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-top:12px;overflow-x:auto}.table-scroll table.plain{min-width:640px;margin-top:0}.table-scroll table.plain th{background:var(--paper)}.table-scroll table.plain tr:last-child td{border-bottom:none}table.compare td.compare-self,table.compare th.compare-self{background:var(--blue-wash);color:var(--ink);font-weight:600}table.compare th.compare-self{color:var(--blue-deep);box-shadow:inset 0 2px 0 var(--blue)}.pair-links{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.pair-links a{font-family:var(--font-mono), monospace;border:1px solid var(--line-2);letter-spacing:.01em;color:var(--ink-2);background:var(--surface);border-radius:999px;padding:5px 15px;font-size:.79rem;font-weight:500;transition:border-color .15s,color .15s,background .15s}.pair-links a:hover{border-color:var(--blue);color:var(--blue-deep);background:var(--blue-wash);text-decoration:none}.breadcrumbs{color:var(--ink-3);align-items:center;gap:8px;padding-top:18px;font-size:.8rem;display:flex}.breadcrumbs a{color:var(--ink-2)}.faq-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-top:14px;overflow:hidden}.faq-item{border-bottom:1px solid var(--line)}.faq-item:last-child{border-bottom:none}.faq-item summary{cursor:pointer;padding:14px 44px 14px 18px;font-size:.92rem;font-weight:600;list-style:none;transition:background .12s;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"";border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);width:8px;height:8px;transition:transform .15s;position:absolute;top:50%;right:20px;transform:translateY(-70%)rotate(45deg)}.faq-item[open] summary:after{transform:translateY(-30%)rotate(225deg)}.faq-item summary:hover{background:var(--paper)}.faq-item p{color:var(--ink-2);margin:0;padding:0 18px 16px;font-size:.9rem}.check-list{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.check-list li{align-items:baseline;gap:10px;font-size:.92rem;display:flex}.check-list li:before{content:"";background:var(--blue);border-radius:50%;flex-shrink:0;width:14px;height:14px;transform:translateY(2px);-webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"black\" stroke-width=\"3.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 12.5l5.5 5.5L20 6.5\"/></svg>") 50%/contain no-repeat;mask:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"black\" stroke-width=\"3.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 12.5l5.5 5.5L20 6.5\"/></svg>") 50%/contain no-repeat}.cause-list{gap:12px;margin-top:14px;display:grid}.cause-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-xs);padding:14px 18px}.cause-q{margin:0;font-size:.9rem;font-weight:600}.cause-q:before{content:"原因";color:var(--bad);background:var(--bad-wash);border-radius:5px;margin-right:9px;padding:1px 7px;font-size:.7rem;font-weight:700}.cause-a{color:var(--ink-2);margin:6px 0 0;font-size:.88rem}.cause-a:before{content:"対処";color:var(--ok);background:var(--ok-wash);border-radius:5px;margin-right:9px;padding:1px 7px;font-size:.7rem;font-weight:700}.fold summary{cursor:pointer;color:var(--ink-2);letter-spacing:.01em;padding:2px 32px 2px 0;font-size:.95rem;font-weight:700;list-style:none;position:relative}.fold summary::-webkit-details-marker{display:none}.fold summary:after{content:"";border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);width:8px;height:8px;transition:transform .15s;position:absolute;top:50%;right:10px;transform:translateY(-70%)rotate(45deg)}.fold[open] summary:after{transform:translateY(-30%)rotate(225deg)}.fold summary:hover{color:var(--ink)}.fold-body{color:var(--ink-2);padding:10px 0 2px;font-size:.92rem}.fold-body p{margin:0 0 10px}.notice{border:1px solid #f3dfa8;border-left:3px solid var(--warn);background:var(--warn-wash);border-radius:var(--radius-sm);padding:13px 16px;font-size:.9rem}.site-footer{background:var(--ink);color:#aeb7d2;margin-top:88px;padding:48px 0 28px;font-size:.85rem}.site-footer a{color:#ced6ec}.site-footer a:hover{color:#fff}.footer-grid{grid-template-columns:1.35fr 1fr 1fr;gap:36px;display:grid}.footer-logo{color:#8b95b4;--logo-accent:var(--cyan);align-items:center;gap:9px;margin:0 0 10px;display:flex}.footer-name{color:#fff;font-size:1rem;font-weight:700}.footer-code{font-family:var(--font-mono), monospace;letter-spacing:.14em;color:#6b7594;font-size:.62rem;font-weight:600;transform:translateY(1px)}.footer-tagline{color:#e6ebf8;margin:0 0 8px;font-weight:600}.footer-note{color:#8b95b4;margin:0;font-size:.8rem}.footer-head{font-family:var(--font-mono), monospace;letter-spacing:.18em;text-transform:uppercase;color:#6b7594;margin:0 0 12px;font-size:.65rem;font-weight:600}.footer-col ul{gap:9px;margin:0;padding:0;font-size:.84rem;list-style:none;display:grid}.footer-legal{color:#6b7594;border-top:1px solid #ffffff17;margin-top:36px;padding-top:18px;font-size:.74rem}.footer-legal p{margin:4px 0}@media (max-width:880px){.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}}@media (max-width:680px){.site-nav a:not(.nav-cta):not(.nav-icon):not(.lang-switch),.brand-code{display:none}.hero{padding:40px 0 8px}.eyebrow{letter-spacing:.12em;font-size:.64rem}.section{margin:44px 0}.section.sub{margin:34px 0}.workbench{padding:16px}.dropzone{padding:38px 18px}.controls button.primary{width:100%;margin-left:0}.svgviewer-stage{height:clamp(320px,52vh,480px)}.svgviewer-status .status-hint,.tb-label,.svgviewer-stroke{display:none}.footer-grid{grid-template-columns:1fr;gap:28px}}.pro-tag{font-family:var(--font-mono), monospace;letter-spacing:.08em;color:var(--blue-deep);background:var(--blue-wash);border:1px solid var(--blue-wash-2);border-radius:5px;padding:1px 6px;font-size:.62rem;font-weight:700}.pro-ghost{font:inherit;color:var(--ink-2);background:var(--paper);border:1px dashed var(--line-2);cursor:pointer;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-size:.9rem;font-weight:600;transition:color .12s,border-color .12s;display:inline-flex}.pro-ghost:hover{color:var(--blue-deep);border-color:var(--blue)}.pro-notice{border:1px solid var(--blue-wash-2);background:var(--blue-wash);border-radius:var(--radius-sm);color:var(--ink-2);flex-wrap:wrap;align-items:baseline;gap:10px;margin-top:12px;padding:12px 16px;font-size:.85rem;display:flex}.pro-notice a{white-space:nowrap;font-weight:600}.pro-notice-cta{background:var(--blue-deep);border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:.82rem;text-decoration:none;display:inline-flex;color:#fff!important}.pro-notice-cta:hover{background:var(--blue)}button.pro-notice-cta{font:inherit;cursor:pointer;border:0;font-size:.82rem;font-weight:600}button.pro-notice-cta:disabled{opacity:.6;cursor:progress}.pro-notice-pass{flex-direction:column;align-items:flex-start;gap:8px}.pro-notice-actions{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.pro-notice-pass .account-error{margin:0;font-size:.8rem}.pro-notice-sub{opacity:.8;font-size:.78rem}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;margin-top:20px;display:grid}.plan-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-xs);flex-direction:column;gap:14px;padding:24px;display:flex}.plan-card.featured{border-color:var(--blue);box-shadow:0 12px 40px -18px #2350e859}.plan-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.plan-name{letter-spacing:-.01em;margin:0;font-size:1.05rem}.plan-tag{font-family:var(--font-mono), monospace;letter-spacing:.08em;white-space:nowrap;border-radius:999px;padding:2px 9px;font-size:.64rem;font-weight:700}.plan-tag.live{color:var(--ok);background:var(--ok-wash);border:1px solid #bfe9d6}.plan-tag.soon{color:var(--blue-deep);background:var(--blue-wash);border:1px solid var(--blue-wash-2)}.plan-price{align-items:baseline;gap:7px;margin:0;display:flex}.plan-price strong{font-family:var(--font-mono), monospace;font-variant-numeric:tabular-nums;letter-spacing:-.02em;font-size:1.75rem}.plan-price span{color:var(--ink-3);font-size:.8rem}.plan-note{color:var(--ink-2);margin:0;font-size:.8rem}.plan-features{color:var(--ink-2);flex-direction:column;gap:8px;margin:0;padding:0;font-size:.88rem;list-style:none;display:flex}.plan-features li{align-items:baseline;gap:9px;display:flex}.plan-check{color:var(--ok);flex-shrink:0;position:relative;top:2px}.plan-cta{font:inherit;cursor:pointer;border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;margin-top:auto;padding:11px 20px;font-size:.92rem;font-weight:700;transition:background .15s,color .15s;display:inline-flex}.plan-cta.primary{color:#fff;background:var(--blue);box-shadow:0 1px 2px #0e152626,inset 0 1px #ffffff29}.plan-cta.primary:hover{background:var(--blue-deep);text-decoration:none}.plan-cta.ghost{color:var(--blue-deep);background:var(--blue-wash);border:1px solid var(--blue-wash-2)}.plan-cta.ghost:hover:not(:disabled){background:var(--blue-wash-2)}.plan-cta:disabled{opacity:.7;cursor:default}.plan-foot{color:var(--ink-3);margin-top:18px;font-size:.75rem}.account-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-width:560px;box-shadow:var(--shadow-card);padding:28px}.account-card h2{margin:0 0 12px;font-size:1.1rem}.account-lead{color:var(--ink-2);margin:0 0 16px;font-size:.85rem;line-height:1.7}.account-form{flex-wrap:wrap;gap:8px;display:flex}.account-form input[type=email]{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--paper);min-width:220px;color:var(--ink);flex:1;padding:10px 12px;font-size:.9rem}.account-form input[type=email]:focus{outline:2px solid var(--blue);outline-offset:1px;border-color:var(--blue)}.account-form .plan-cta{width:auto;padding-inline:18px}.account-status{color:var(--ink-3);font-size:.85rem}.account-ok{background:var(--ok-wash);color:var(--ok);border-radius:var(--radius-sm);padding:10px 12px;font-size:.85rem}.account-error{background:var(--bad-wash);color:var(--bad);border-radius:var(--radius-sm);margin-top:12px;padding:10px 12px;font-size:.85rem}.account-rows{gap:10px;margin:0 0 18px;display:grid}.account-rows>div{border-bottom:1px dashed var(--line);align-items:baseline;gap:12px;padding-bottom:10px;display:flex}.account-rows dt{width:120px;color:var(--ink-3);flex-shrink:0;font-size:.75rem}.account-rows dd{margin:0;font-size:.9rem}.account-rows em{color:var(--warn);font-size:.78rem;font-style:normal}.account-actions{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.account-actions .plan-cta{width:auto;padding-inline:18px}.account-note{color:var(--ink-2);margin:0;font-size:.8rem}.account-signout{color:var(--ink-3);cursor:pointer;background:0 0;border:none;padding:0;font-size:.78rem;text-decoration:underline}.account-signout:hover{color:var(--ink)}.consent-note.pro-active{color:var(--ok);align-items:center;gap:6px;display:inline-flex}.purge-btn{color:var(--bad);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px dashed #d92d2080;align-items:center;gap:7px;padding:9px 14px;font-size:.82rem;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.purge-btn:hover{background:var(--bad-wash)}.purge-btn.confirm{border-style:solid;border-color:var(--bad);background:var(--bad);color:#fff}.purged-note{color:var(--ok);align-items:center;gap:6px;font-size:.84rem;font-weight:600;display:inline-flex}.batch-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-xs);margin-top:18px;padding:18px}.batch-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;display:flex}.batch-summary{color:var(--ink-2);font-size:.84rem;font-weight:600}.batch-list{border-top:1px solid var(--line);max-height:340px;margin:0;padding:0;list-style:none;overflow-y:auto}.batch-item{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:8px 2px;font-size:.83rem;display:flex}.batch-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.batch-status{color:var(--ink-3);flex-shrink:0;align-items:center;gap:6px;font-size:.76rem;display:inline-flex}.batch-status.busy{color:var(--blue)}.batch-status.bad{color:var(--bad)}.batch-status.ok{color:var(--ok)}.batch-downloads{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;display:inline-flex}.batch-downloads a{align-items:center;gap:5px;font-size:.78rem;font-weight:600;display:inline-flex}.batch-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;display:flex}.batch-note{color:var(--ink-3);margin:12px 0 0;font-size:.75rem}.legal-doc h2{margin:34px 0 10px;font-size:1.02rem}.legal-doc h2:first-child{margin-top:0}.legal-doc p{margin:8px 0;line-height:1.9}.legal-doc ol,.legal-doc ul{gap:7px;margin:8px 0;padding-left:1.6em;line-height:1.8;display:grid}.legal-doc li>ul{margin-top:7px}.legal-doc .table-scroll table.plain{min-width:520px}.legal-doc table.plain th[scope=row]{vertical-align:top;white-space:normal;width:11em}.footer-legal-links{flex-wrap:wrap;gap:4px 18px;margin-bottom:8px;display:flex}
