:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-canvas:#f2f1eb;--color-surface-primary:#fbfaf6;--color-surface-secondary:#e0e5df;--color-text-primary:#171a17;--color-text-secondary:#5f6862;--color-accent:#3f735f;--color-on-accent:#fff;--color-border-subtle:#c9ccc6;--color-status-success:#2f7654;--color-status-error:#a23b32;--color-focus-ring:#245e49;--font-display:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;--font-body:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-meta:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--space-9:7rem;--size-container:80rem;--size-content-measure:42rem;--size-control-min-height:2.75rem;--radius-control:.5rem;--radius-surface:.125rem;--radius-round:999px;--border-hairline:1px;--border-emphasis:2px;--border-focus:3px;--motion-fast:.12s;--motion-base:.18s;--motion-progress:.65s;--ease-standard:cubic-bezier(.2, 0, 0, 1)}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-canvas:#121613;--color-surface-primary:#1a211d;--color-surface-secondary:#27312b;--color-text-primary:#f1f4ef;--color-text-secondary:#b3bcb5;--color-accent:#83b49e;--color-on-accent:#102019;--color-border-subtle:#3d4942;--color-status-success:#78c49c;--color-status-error:#f1a39b;--color-focus-ring:#a7d2be}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-canvas:#121613;--color-surface-primary:#1a211d;--color-surface-secondary:#27312b;--color-text-primary:#f1f4ef;--color-text-secondary:#b3bcb5;--color-accent:#83b49e;--color-on-accent:#102019;--color-border-subtle:#3d4942;--color-status-success:#78c49c;--color-status-error:#f1a39b;--color-focus-ring:#a7d2be}}@media (prefers-reduced-motion:reduce){:root{--motion-fast:0s;--motion-base:0s;--motion-progress:0s}}@media (prefers-contrast:more){:root{--color-border-subtle:currentColor;--border-hairline:2px}}*{box-sizing:border-box}html{background:var(--color-canvas);color:var(--color-text-primary);font-family:var(--font-body);scroll-behavior:smooth}body{background:var(--color-canvas);min-width:20rem;min-height:100vh;margin:0}::selection{background:var(--color-accent);color:var(--color-on-accent)}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}button,input,select{color:inherit;font:inherit}button,select{min-height:var(--size-control-min-height)}input[type=file]::file-selector-button{min-height:var(--size-control-min-height)}:focus-visible{outline:var(--border-focus) solid var(--color-focus-ring);outline-offset:3px}.page-frame{width:min(100%, var(--size-container));min-height:100vh;margin:0 auto;padding:0 clamp(1.25rem,4vw,4rem)}.site-header,.site-footer{justify-content:space-between;align-items:center;gap:var(--space-5);display:flex}.site-header{border-bottom:var(--border-hairline) solid var(--color-border-subtle);min-height:6.5rem}.brand-link{min-height:var(--size-control-min-height);align-items:center;display:inline-flex}.brand-link img{width:auto;height:2.5rem;display:block}.primary-nav{color:var(--color-text-secondary);align-items:center;gap:clamp(.75rem,2.5vw,2rem);font-size:.875rem;display:flex}.category-label{color:var(--color-text-primary);font-weight:650;text-decoration:none}.category-label:hover{text-decoration:underline}.header-controls{align-items:center;gap:var(--space-2);display:flex}.language-menu{position:relative}.theme-trigger,.language-trigger{min-width:var(--size-control-min-height);min-height:var(--size-control-min-height);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-round);color:var(--color-text-primary);cursor:pointer;font-family:var(--font-meta);background:0 0;place-items:center;font-size:.75rem;transition:border-color .16s,background-color .16s,color .16s;display:grid}.theme-trigger{font-size:1rem}.theme-trigger:hover,.language-trigger:hover,.language-trigger[aria-expanded=true]{border-color:var(--color-accent);background:var(--color-surface-primary);color:var(--color-accent)}.theme-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;grid-area:1/1;width:1.1rem;height:1.1rem}.theme-icon-sun,:root[data-theme=dark] .theme-icon-moon{display:none}:root[data-theme=dark] .theme-icon-sun{display:block}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .theme-icon-moon{display:none}:root:not([data-theme=light]) .theme-icon-sun{display:block}}.language-popover{z-index:5;border:var(--border-hairline) solid var(--color-border-subtle);background:var(--color-surface-primary);border-radius:.75rem;width:10rem;padding:.375rem;display:grid;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 1rem 2.5rem #171a171f}.language-option{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;min-height:2.5rem;color:var(--color-text-secondary);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:.45rem;padding:.55rem .7rem;font-size:.875rem;transition:background-color .14s,color .14s;display:flex}.language-option:hover{background:var(--color-surface-secondary);color:var(--color-text-primary)}.language-option[aria-checked=true]{color:var(--color-accent);font-weight:700}.language-check{font-family:var(--font-meta);font-size:.75rem;line-height:1}.hero{padding:clamp(4.5rem,9vw,7.5rem) 0 clamp(3.5rem,7vw,5.5rem)}.hero-copy{text-align:center;max-width:61rem;margin:0 auto}.meta-label{margin-bottom:var(--space-4);color:var(--color-accent);font-family:var(--font-meta);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:650;line-height:1.35;display:block}.hero h1,.lab-heading h1{font-family:var(--font-display);letter-spacing:-.055em;margin:0;font-size:clamp(3.4rem,7.2vw,6.7rem);font-weight:400;line-height:.9}.hero-copy>p,.lab-heading>p{max-width:37rem;margin:var(--space-6) 0 0;color:var(--color-text-secondary);font-size:clamp(1rem,1.5vw,1.15rem);line-height:1.65}.hero-copy>p{max-width:43rem;margin-left:auto;margin-right:auto}.signal-panel{border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-surface);background:var(--color-surface-primary);min-height:28rem;box-shadow:10px 10px 0 var(--color-surface-secondary);padding:clamp(1.5rem,4vw,2.5rem);display:grid;position:relative}.signal-panel:before{border-top:.25rem solid var(--color-accent);border-bottom:.25rem solid var(--color-accent);content:"";width:3.5rem;height:.75rem;position:absolute;top:clamp(1.5rem,4vw,2.5rem);right:clamp(1.5rem,4vw,2.5rem);transform:skew(-22deg)}.signal-heading{max-width:19rem;padding-right:var(--space-7)}.signal-heading strong{font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(2rem,4vw,3.2rem);font-weight:400;line-height:1;display:block}.signal-grid{margin-top:var(--space-7);border-top:var(--border-hairline) solid var(--color-border-subtle);border-left:var(--border-hairline) solid var(--color-border-subtle);grid-template-columns:repeat(2,minmax(0,1fr));align-self:end;display:grid}.signal-grid span{min-height:5rem;padding:var(--space-3);border-right:var(--border-hairline) solid var(--color-border-subtle);border-bottom:var(--border-hairline) solid var(--color-border-subtle);letter-spacing:-.035em;align-content:space-between;font-size:clamp(1rem,2vw,1.35rem);font-weight:760;display:grid}.signal-grid small{color:var(--color-accent);font-family:var(--font-meta);letter-spacing:0;font-size:.65rem;font-weight:500}.signal-panel>p{max-width:30rem;margin:var(--space-5) 0 0;color:var(--color-text-secondary);font-size:.8rem;line-height:1.55}.lab-card{border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-surface);background:var(--color-surface-primary);min-height:25rem;box-shadow:10px 10px 0 var(--color-surface-secondary);transition:transform var(--motion-fast) var(--ease-standard);flex-direction:column;justify-content:flex-end;padding:clamp(1.5rem,4vw,2.5rem);text-decoration:none;display:flex;position:relative}.lab-card:hover{transform:translateY(-2px)}.lab-card:before{border-top:.25rem solid var(--color-accent);border-bottom:.25rem solid var(--color-accent);content:"";width:3.5rem;height:.75rem;position:absolute;top:clamp(1.5rem,4vw,2.5rem);right:clamp(1.5rem,4vw,2.5rem);transform:skew(-22deg)}.lab-card strong{max-width:22rem;font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(2rem,4vw,3.2rem);font-weight:400;line-height:1}.lab-card>span:not(.meta-label):not(.lab-card-action){max-width:27rem;margin-top:var(--space-4);color:var(--color-text-secondary);line-height:1.55}.lab-card-action{margin-top:var(--space-6);color:var(--color-accent);font-weight:700}.trust-row{border-top:var(--border-hairline) solid var(--color-border-subtle);grid-template-columns:repeat(3,1fr);display:grid}.trust-row article{gap:var(--space-4);padding:var(--space-6) var(--space-5) var(--space-8) 0;grid-template-columns:auto 1fr;display:grid}.trust-row article+article{padding-left:var(--space-5);border-left:var(--border-hairline) solid var(--color-border-subtle)}.trust-index{color:var(--color-accent);font-family:var(--font-meta);font-size:.75rem}.trust-row h2{margin:0 0 var(--space-2);font-size:.95rem}.trust-row p{color:var(--color-text-secondary);margin:0;font-size:.875rem;line-height:1.55}.tool-collection,.process-section{padding:var(--space-9) 0;border-top:var(--border-hairline) solid var(--color-border-subtle)}.tool-collection{scroll-margin-top:var(--space-6);padding-top:clamp(3rem,6vw,5rem);padding-bottom:clamp(4rem,8vw,6.5rem)}.section-heading{justify-items:center;gap:var(--space-3);margin-bottom:var(--space-7);text-align:center;display:grid}.section-heading h2,.process-intro h2,.sibling-callout h2{max-width:11ch;font-family:var(--font-display);letter-spacing:-.05em;text-wrap:balance;margin:0;font-size:clamp(2.8rem,5.8vw,5.5rem);font-weight:400;line-height:.95}.section-heading h2{max-width:none;font-family:var(--font-body);letter-spacing:-.045em;font-size:clamp(2.1rem,4vw,3.4rem);font-weight:720;line-height:1.05}.section-heading>p,.process-intro>p,.sibling-callout-copy>p{color:var(--color-text-secondary);margin:0;line-height:1.65}.section-heading>p{max-width:38rem}.tool-list{gap:var(--space-4);grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.tool-list article,.tool-card-link{border:var(--border-hairline) solid var(--color-border-subtle);background:var(--color-surface-primary);border-radius:.75rem;flex-direction:column;min-width:0;min-height:15.5rem;padding:clamp(1.25rem,2vw,1.75rem);display:flex}.tool-card-link{color:inherit;transition:border-color var(--motion-fast) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);text-decoration:none}.tool-card-link:hover{border-color:var(--color-accent);transform:translateY(-2px)}.tool-card-link:hover h3{text-underline-offset:.18em;text-decoration:underline;text-decoration-thickness:1px}.tool-icon{width:3.5rem;height:3.5rem;margin-bottom:var(--space-6);background:var(--color-surface-secondary);color:var(--color-accent);border-radius:.65rem;place-items:center;display:grid}.tool-icon svg{width:2.15rem;height:2.15rem}.tool-list h3{margin:0 0 var(--space-3);letter-spacing:-.03em;font-size:clamp(1.15rem,1.8vw,1.45rem);font-weight:720;line-height:1.15}.tool-list p{color:var(--color-text-secondary);margin:0;font-size:.875rem;line-height:1.6}.process-section{gap:clamp(var(--space-7), 8vw, var(--space-9));grid-template-columns:minmax(0,1fr) minmax(22rem,.85fr);display:grid}.process-intro h2{max-width:12ch}.process-intro>p{max-width:38rem;margin-top:var(--space-6)}.process-list{border-top:var(--border-hairline) solid var(--color-text-primary);margin:0;padding:0;list-style:none}.process-list li{gap:var(--space-4);padding:var(--space-5) 0;border-bottom:var(--border-hairline) solid var(--color-border-subtle);grid-template-columns:2rem 1fr;display:grid}.process-list li>span{color:var(--color-accent);font-family:var(--font-meta);font-size:.72rem}.process-list h3{margin:0 0 var(--space-2);font-size:1rem}.process-list p{color:var(--color-text-secondary);margin:0;font-size:.875rem;line-height:1.55}.sibling-callout{gap:clamp(var(--space-7), 8vw, var(--space-9));margin-bottom:var(--space-9);padding:clamp(var(--space-6), 6vw, var(--space-8));background:var(--color-surface-secondary);grid-template-columns:minmax(0,1.15fr) minmax(18rem,.85fr);display:grid}.sibling-callout h2{max-width:9ch}.sibling-callout-copy{align-self:end}.sibling-callout-copy>p{max-width:29rem}.sibling-callout-copy>a{min-height:var(--size-control-min-height);margin-top:var(--space-5);padding:0 var(--space-5);border-radius:var(--radius-control);background:var(--color-text-primary);color:var(--color-canvas);transition:transform var(--motion-fast) var(--ease-standard);align-items:center;font-size:.875rem;font-weight:750;text-decoration:none;display:inline-flex}.sibling-callout-copy>a:hover{transform:translateY(-2px)}.site-footer{border-top:var(--border-hairline) solid var(--color-border-subtle);min-height:7rem;color:var(--color-text-secondary);font-family:var(--font-meta);font-size:.75rem}.site-footer-identity,.site-footer-links{flex-wrap:wrap;align-items:center;gap:.6rem 1rem;display:flex}.site-footer-identity>span+span:before{color:var(--color-border-strong);content:"·";margin-right:1rem}.site-footer-links{justify-content:flex-end}.site-footer-links a{text-decoration:none}.site-footer-links a:hover{color:var(--color-text-primary);text-decoration:underline}.legal-main{width:min(100%,66rem);margin:0 auto;padding:clamp(4.5rem,10vw,8.5rem) 0 clamp(5rem,11vw,9rem)}.legal-heading{align-items:end;gap:var(--space-7);border-bottom:var(--border-hairline) solid var(--color-border-strong);grid-template-columns:minmax(0,1fr) auto;padding-bottom:clamp(2.5rem,5vw,4rem);display:grid}.legal-heading h1{max-width:12ch;margin:var(--space-3) 0 0;font-family:var(--font-display);letter-spacing:-.055em;font-size:clamp(3.5rem,9vw,7.5rem);font-weight:450;line-height:.88}.legal-updated{color:var(--color-text-secondary);font-family:var(--font-meta);letter-spacing:.08em;text-align:right;text-transform:uppercase;gap:.35rem;margin:0 0 .4rem;font-size:.72rem;display:grid}.legal-updated time{color:var(--color-text-primary);letter-spacing:0}.legal-document{width:min(100%,46rem);color:var(--color-text-secondary);margin:clamp(3.5rem,7vw,5.5rem) 0 0 auto;font-size:clamp(1rem,1.5vw,1.08rem);line-height:1.78}.legal-document>:first-child{color:var(--color-text-primary);font-family:var(--font-display);letter-spacing:-.025em;margin-top:0;font-size:clamp(1.45rem,2.8vw,2rem);line-height:1.35}.legal-document h2{margin:clamp(3.5rem, 7vw, 5.5rem) 0 var(--space-4);padding-top:var(--space-4);border-top:var(--border-hairline) solid var(--color-border-subtle);color:var(--color-text-primary);font-family:var(--font-display);letter-spacing:-.035em;font-size:clamp(1.7rem,3vw,2.35rem);font-weight:520;line-height:1.1}.legal-document p,.legal-document ul{margin:var(--space-4) 0 0}.legal-document ul{padding-left:1.25rem}.legal-document li+li{margin-top:.7rem}.legal-document strong{color:var(--color-text-primary)}.legal-document a{color:var(--color-accent)}.lab-shell{width:min(100% - 2.5rem,72rem);padding:var(--space-6) 0 var(--space-9);margin:0 auto}.back-link{min-height:var(--size-control-min-height);color:var(--color-text-secondary);align-items:center;font-size:.875rem;display:inline-flex}.lab-heading{max-width:56rem;padding:var(--space-8) 0 var(--space-7)}.lab-heading h1{font-size:clamp(3rem,7vw,6rem)}.experiment-panel{gap:var(--space-6);border:var(--border-hairline) solid var(--color-border-subtle);background:var(--color-surface-primary);box-shadow:10px 10px 0 var(--color-surface-secondary);padding:clamp(1.25rem,4vw,2.5rem);display:grid}.file-zone{min-height:12rem;padding:var(--space-6);border:1px dashed var(--color-border-subtle);text-align:center;place-items:center;display:grid}.file-zone label{gap:var(--space-3);cursor:pointer;display:grid}.file-zone strong{font-family:var(--font-display);font-size:1.75rem;font-weight:400}.file-zone small,.field small,.status-line small{color:var(--color-text-secondary);line-height:1.5}.file-zone input{max-width:100%}.experiment-controls{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.field{gap:var(--space-2);font-size:.875rem;font-weight:650;display:grid}.field input,.field select{width:100%;min-height:var(--size-control-min-height);padding:0 var(--space-3);border:var(--border-hairline) solid var(--color-border-subtle);border-radius:var(--radius-control);background:var(--color-canvas)}.button-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.button{min-height:var(--size-control-min-height);padding:0 var(--space-5);border:var(--border-hairline) solid var(--color-accent);border-radius:var(--radius-control);background:var(--color-accent);color:var(--color-on-accent);cursor:pointer;font-weight:700}.button.secondary{border-color:var(--color-border-subtle);color:var(--color-text-primary);background:0 0}.button:disabled{cursor:not-allowed;opacity:.5}.status-line{min-height:1.5rem;color:var(--color-text-secondary);margin:0}.status-line[data-tone=success]{color:var(--color-status-success)}.status-line[data-tone=error]{color:var(--color-status-error)}.result-grid{gap:var(--space-6);grid-template-columns:minmax(0,1.2fr) minmax(16rem,.8fr);align-items:start;display:grid}.preview-frame{border:var(--border-hairline) solid var(--color-border-subtle);background:linear-gradient(45deg, var(--color-surface-secondary) 25%, transparent 25%), linear-gradient(-45deg, var(--color-surface-secondary) 25%, transparent 25%), linear-gradient(45deg, transparent 75%, var(--color-surface-secondary) 75%), linear-gradient(-45deg, transparent 75%, var(--color-surface-secondary) 75%);background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px;place-items:center;min-height:18rem;display:grid;overflow:hidden}.preview-frame img,.preview-frame canvas{object-fit:contain;max-width:100%;max-height:34rem;display:block}.metrics{border-top:var(--border-hairline) solid var(--color-border-subtle);margin:0}.metrics div{gap:var(--space-4);padding:var(--space-3) 0;border-bottom:var(--border-hairline) solid var(--color-border-subtle);grid-template-columns:1fr auto;display:grid}.metrics dt{color:var(--color-text-secondary)}.metrics dd{font-family:var(--font-meta);text-align:right;margin:0}.boundary-note{padding:var(--space-5);border-left:3px solid var(--color-accent);background:var(--color-surface-secondary);line-height:1.6}.boundary-note strong{margin-bottom:var(--space-2);display:block}@media (max-width:48rem){.site-header{min-height:5.5rem}.brand-link img{height:2rem}.category-label{display:none}.hero{padding:var(--space-7) 0}.hero h1{font-size:clamp(2.75rem,13vw,3.4rem)}.hero-copy>p{margin-top:var(--space-5);font-size:.95rem}.signal-panel{min-height:24rem}.lab-card{min-height:21rem}.trust-row,.result-grid,.process-section,.sibling-callout{grid-template-columns:1fr}.trust-row article+article{border-top:var(--border-hairline) solid var(--color-border-subtle);border-left:0;padding-left:0}.experiment-controls{grid-template-columns:1fr}.tool-collection,.process-section{padding:var(--space-8) 0}.tool-collection{padding:var(--space-7) 0 var(--space-8)}.section-heading{margin-bottom:var(--space-6)}.tool-list{grid-template-columns:1fr}.tool-list article{min-height:13rem}.sibling-callout{margin-bottom:var(--space-7)}.site-footer{flex-direction:column;justify-content:center;align-items:flex-start}.site-footer-identity,.site-footer-links{flex-direction:column;align-items:flex-start}.site-footer-identity>span+span:before{content:none}.site-footer-links{justify-content:flex-start}.legal-heading{grid-template-columns:1fr;align-items:start}.legal-updated{text-align:left}}@media (min-width:48.01rem) and (max-width:68rem){.tool-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lab-card:hover,.sibling-callout-copy>a:hover{transform:none}}:lang(ja) .hero h1,:lang(ja) .section-heading h2,:lang(ja) .process-intro h2,:lang(ja) .sibling-callout h2{letter-spacing:-.035em;line-height:1.05}
