@import"https://fonts.googleapis.com/css2?family=DM+Mono&family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600&display=swap";.analytics-settings{background:none;border:0;border-radius:0;box-shadow:none;color:inherit;cursor:pointer;display:inline;font:inherit;letter-spacing:normal;margin:0 .5rem;padding:0;text-decoration:underline}.analytics-consent{background:#f5faf8;border:1px solid #aacbc4;border-radius:16px;bottom:1rem;box-shadow:0 4px 24px #263a3b22;color:#263a3b;font:14px/1.7 sans-serif;left:1rem;max-height:70vh;max-width:620px;overflow:auto;padding:1rem;position:fixed;right:1rem;z-index:1000}.analytics-consent p{margin:0 0 .75rem}.analytics-consent a{color:#366b63;margin-left:.5rem;text-decoration:underline}.analytics-consent>div{display:flex;flex-wrap:wrap;gap:.75rem}.analytics-consent button{background:#fff;border:1px solid #6b9990;border-radius:8px;box-shadow:none;color:#263a3b;cursor:pointer;font:inherit;margin:0;padding:.5rem 1rem}.analytics-consent button:focus-visible,.analytics-settings:focus-visible{outline:2px solid #366b63;outline-offset:3px}:root{--kp-font-sans: "Noto Sans JP", "Yu Gothic", sans-serif;--kp-font-mono: "DM Mono", monospace;--kp-ink: #263a3b;--kp-muted: #58706f;--kp-action: #315f57;--kp-surface: #f1f6f4;--kp-control-border: #708b84;--kp-focus: #153e38;--kp-background: radial-gradient( circle at 8% 8%, rgba(255, 244, 230, .88), transparent 29rem ), radial-gradient( circle at 92% 12%, rgba(202, 232, 232, .75), transparent 31rem ), radial-gradient( circle at 28% 88%, rgba(225, 217, 246, .5), transparent 32rem ), linear-gradient(135deg, #f8faf8 0%, #edf5f4 53%, #f0f1fa 100%);--kp-page-max: 960px;--kp-gutter: 32px;--kp-page-title-size: clamp(1.375rem, calc(1.125rem + .75vw) , 1.75rem);--kp-page-title-weight: 600}@media(max-width:700px){:root{--kp-gutter: 16px}}.kp-page-intro{padding-block:24px 20px}.kp-page-title{color:var(--kp-ink);font-family:var(--kp-font-sans);font-size:var(--kp-page-title-size);font-weight:var(--kp-page-title-weight);letter-spacing:-.035em;line-height:1.45;margin:0 0 12px;max-width:none;overflow-wrap:normal;word-break:normal;line-break:strict;text-wrap:balance}.kp-page-lede{color:var(--kp-muted);font-family:var(--kp-font-sans);font-size:16px;line-height:1.8;margin:0;max-width:42rem;word-break:normal}@media(max-width:700px){.kp-page-intro{padding-block:20px}}:root{color:var(--kp-ink);font-family:var(--kp-font-sans)}*{box-sizing:border-box}body{background:var(--kp-background);margin:0;min-width:320px}a{color:inherit;text-decoration:none}main{box-sizing:border-box;margin:auto;max-width:calc(var(--kp-page-max) + var(--kp-gutter) + var(--kp-gutter));padding:0 var(--kp-gutter)}.method-page,.method-detail-page{overflow-x:clip}.hero{margin:auto;max-width:none;padding:0}.eyebrow{color:#658d88;font:.72rem DM Mono,monospace;letter-spacing:.12em;margin:0 0 1rem}h1{color:#263a3b;font-family:Noto Sans JP,sans-serif;font-size:var(--kp-page-title-size);font-weight:var(--kp-page-title-weight);letter-spacing:-.035em;line-height:1.45;margin:0 0 12px;max-width:32em}h1 em{background:linear-gradient(110deg,#d78274,#a17599 55%,#6d9d98);-webkit-background-clip:text;background-clip:text;color:transparent;font-style:normal}.lede{color:var(--kp-muted);font-size:16px;line-height:1.8;margin:0;max-width:42rem}.button{align-items:center;background:linear-gradient(110deg,#447b76,#6fa69b);border:0;border-radius:999px;box-shadow:0 11px 24px #3c756d2e;color:#fff;display:inline-flex;font:.875rem DM Mono,monospace;gap:1.05rem;letter-spacing:.03em;margin-top:1.65rem;padding:.9rem 1.2rem;transition:box-shadow .18s ease,transform .18s ease}.button:hover{box-shadow:0 15px 28px #3c756d45;transform:translateY(-2px)}.button span{font-size:1rem;line-height:.8}.signal{align-items:center;background:#ffffff57;border:1px solid rgba(255,255,255,.62);border-radius:999px;color:#53756f;display:flex;font-family:"Noto Serif JP",serif;font-size:1rem;gap:.65rem;margin-top:1.35rem;padding:.58rem .85rem;width:max-content}.signal b{color:#a27691;font-family:DM Mono,monospace;font-weight:400}.signal i{color:#75918c;font:.66rem DM Mono,monospace;margin-left:.25rem}.section{margin:auto;max-width:none;padding:2rem 0}.grid{border-top:1px solid rgba(100,143,137,.25);display:grid;gap:clamp(2.5rem,8vw,7rem);grid-template-columns:1fr 1fr}#about{background:#ffffff47;border:1px solid rgba(255,255,255,.58);border-radius:26px;margin-top:1rem;padding:clamp(1.8rem,3vw,2.8rem) clamp(1.5rem,5vw,4.8rem)}#about .copy{border-left:1px solid rgba(111,158,151,.24);padding-left:clamp(1.4rem,3vw,2.7rem)}#about .copy p:first-child{margin-top:0}h2{color:#345653;font-size:clamp(1.375rem,1.65vw,1.5rem);font-weight:500;letter-spacing:-.035em;line-height:1.5;margin:0}.copy{color:#57706e;font-size:1rem;line-height:1.9}.copy h3{color:#3d645f;font-size:1.125rem;margin:2rem 0 .55rem}.copy h3:first-child{margin-top:0}.copy a{color:#4b827a;text-decoration:underline;text-underline-offset:.15em}.method{background:#def1ec61;border-bottom:1px solid rgba(255,255,255,.48);border-top:1px solid rgba(255,255,255,.62);max-width:none}.section>svg[aria-label^="Kikoe Pred"]{display:none!important}.workflow-animation-mount{display:block}.workflow-animation{background:linear-gradient(145deg,#eef7f4eb,#fff8ede0 52%,#edf5faeb);border:1px solid rgba(255,255,255,.72);border-radius:26px;box-shadow:0 18px 38px #4f756e17;margin:2rem auto;max-width:960px;overflow:hidden;padding:.45rem}.workflow-animation svg{display:block;height:auto;width:100%}.workflow-animation__controls{display:grid;gap:.55rem;padding:.7rem .75rem .2rem}.workflow-animation__modes,.workflow-animation__playback{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem;justify-content:center}.workflow-animation__controls button{background:#ffffffb8;border:1px solid rgba(105,151,143,.32);border-radius:999px;color:#426b65;cursor:pointer;font:600 .875rem Noto Sans JP,sans-serif;min-height:2.35rem;padding:.45rem .8rem}.workflow-animation__controls button:hover{background:#fff}.workflow-animation__controls button:focus-visible{outline:3px solid #a66e88;outline-offset:2px}.workflow-animation__controls button[aria-pressed=true]{background:#dcece9;border-color:#91bdb5;color:#284944}.workflow-animation__playback span{color:#688984;font:14px DM Mono,monospace;min-width:2.5rem;text-align:center}.workflow-animation__caption-html{color:#45645f;display:block;font-size:.95rem;line-height:1.75;margin:0;padding:1rem;text-align:left}.workflow-animation__caption-html p{margin:0}.workflow-animation__caption-title{color:#345653;font-size:1rem;font-weight:700;line-height:1.45;margin:0 0 .65rem}.workflow-animation__research-scene{display:none;opacity:0}.workflow-animation__research-pair rect{fill:#ffffffc7;stroke:#d7e6e2}.workflow-animation__research-pair text{fill:#345b56;font:600 17px Noto Sans JP,sans-serif}.workflow-animation__research-pair .workflow-animation__score{fill:#a66e88;font:500 40px "Noto Serif JP",serif}.workflow-animation__research-rank-comparison{fill:#a66e88;font:600 16px Noto Sans JP,sans-serif}.workflow-animation__research-counts rect{fill:#ffffffc7;stroke:#d7e6e2}.workflow-animation__research-counts rect.is-baseline{fill:#dcece9;stroke:#a9cec7}.workflow-animation__research-counts text{fill:#345b56;font:600 16px Noto Sans JP,sans-serif}.workflow-animation__research-progress,.workflow-animation[data-mode=research] .workflow-animation__public-scene,.workflow-animation[data-mode=research] .workflow-animation__public-progress{display:none}.workflow-animation[data-mode=research] .workflow-animation__research-progress{display:initial}.workflow-animation[data-mode=research] .workflow-animation__research-scene[aria-hidden=false]{display:initial;opacity:1}.workflow-animation[data-mode=public] .workflow-animation__research-scene,.workflow-animation[data-mode=public] .workflow-animation__research-progress{display:none}.workflow-animation svg[data-reduced-motion=true] .workflow-animation__public-scene{opacity:0}.workflow-animation svg[data-reduced-motion=true] .workflow-animation__public-scene.is-active{opacity:1}.workflow-animation svg[data-reduced-motion=true] .workflow-animation__research-scene{transition:none}.workflow-animation__scene{opacity:0}.workflow-animation__scene--input{opacity:1}.workflow-animation__eyebrow{fill:#658d88;font:600 12px DM Mono,monospace;letter-spacing:1.7px}.workflow-animation__title{fill:#284944;font:500 36px "Noto Serif JP",serif}.workflow-animation__heading{fill:#284944;font:600 18px Noto Sans JP,sans-serif}.workflow-animation__caption{fill:#5f7d79;font:500 14px Noto Sans JP,sans-serif}.workflow-animation__note{fill:#5f7d79;font:500 13px Noto Sans JP,sans-serif}.workflow-animation__variable{font-family:"Noto Serif JP",serif;font-style:italic}.workflow-animation__mono{fill:#688984;font:14px DM Mono,monospace;letter-spacing:.7px}.workflow-animation__pills rect{fill:#e0efebd1;stroke:#c8dfda}.workflow-animation__pills text{fill:#345b56;font:600 17px Noto Sans JP,sans-serif}.workflow-animation__meter{fill:#345b56;font:600 16px Noto Sans JP,sans-serif}.workflow-animation__meter-track{fill:#dce9e6}.workflow-animation__meter-fill{fill:#8ab7b0;transform-box:fill-box;transform-origin:left center}.workflow-animation__meter-fill--phoneme{fill:#bd8298}.workflow-animation__formula{fill:#577a75;font:14px DM Mono,monospace}.workflow-animation__rule{stroke:#c8ddd8;stroke-width:1}.workflow-animation__score{fill:#a66e88;font:500 40px "Noto Serif JP",serif}.workflow-animation__ranking rect{fill:#ffffffb3;stroke:#d7e6e2}.workflow-animation__ranking rect.is-first{fill:#dcece9;stroke:#a9cec7}.workflow-animation__ranking text{fill:#345b56;font:600 17px Noto Sans JP,sans-serif}.workflow-animation__ranking text:first-of-type{fill:#799590;font-family:DM Mono,monospace;font-size:14px}.workflow-animation__progress circle{fill:#a7c3be}.workflow-animation__playback span{flex:0 0 auto;min-width:3.5rem;white-space:nowrap}.workflow-animation__progress circle.is-active{fill:#a66e88}.workflow-animation__intro{color:#69837f;font-size:.875rem;line-height:1.7;margin:.75rem 0 0;max-width:38rem}.method-detail-link{align-items:center;color:#4b7f78;display:inline-flex;font-size:.92rem;font-weight:600;gap:.65rem;margin-top:1.4rem;text-decoration:underline;text-decoration-color:#4b7f7859;text-underline-offset:.28em}.method-detail-link span{font-family:DM Mono,monospace;transition:transform .18s ease}.method-detail-link:hover span{transform:translate(.2rem)}.method-overview{display:grid;gap:clamp(1.25rem,2vw,1.75rem);grid-template-columns:minmax(0,1fr);min-width:0;padding-top:24px}.method-overview>*{min-width:0}.method-overview__visual{min-width:0}.method-overview__visual .workflow-animation-mount{width:100%}.method-overview__visual .workflow-animation{margin:0 auto;max-width:960px;width:100%}.method-page>.section{max-width:none;padding:0 0 2rem}.hero.kp-page-intro{padding:24px 0 20px}.method-overview+.grid{background:#ffffff40;border:1px solid rgba(255,255,255,.54);border-radius:22px;margin-top:1.25rem;padding:clamp(1.35rem,3vw,2rem)}.method-detail-copy{margin-top:2rem}.method-sentence{margin:2rem 0 0}.method-disclaimer{margin-top:1.5rem}@media(min-width:820px){.workflow-animation{align-items:center;display:grid;gap:.5rem clamp(1rem,2.8vw,2.25rem);grid-template-areas:"controls controls" "visual caption";grid-template-columns:360px minmax(0,1fr)}.workflow-animation__controls{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between}.workflow-animation__controls{grid-area:controls}.workflow-animation>svg{grid-area:visual;justify-self:center;max-width:360px;width:360px}.workflow-animation__caption-html{align-self:center;grid-area:caption}}@media(max-width:819px){.workflow-animation{display:block}.method-overview{gap:20px}.workflow-animation__caption-html{text-align:center}}@media(max-width:700px){.method-overview{padding-top:20px}}.algorithm-page{max-width:none;min-width:0;padding:clamp(2rem,3vw,3rem) 0 2rem;width:100%}.algorithm-hero{margin-bottom:2.25rem}.algorithm-hero h1{max-width:10.5em}.algorithm-hero .lede{max-width:47rem}.algorithm-index{display:grid;gap:.65rem;grid-template-columns:repeat(4,1fr);margin-top:1.4rem}.algorithm-index a{background:#ffffff70;border:1px solid rgba(255,255,255,.7);border-radius:16px;color:#52746f;display:flex;flex-direction:column;gap:.45rem;min-width:0;padding:1rem;transition:background .18s ease,transform .18s ease}.algorithm-index a:hover{background:#ffffffb8;transform:translateY(-2px)}.algorithm-index b{color:#ad778d;font:.72rem DM Mono,monospace}.algorithm-index span{font-size:.88rem;font-weight:600;white-space:nowrap}.algorithm-flow{display:grid;gap:1.15rem;margin:0 auto;max-width:900px;min-width:0;position:relative}.algorithm-step{background:#ffffff6e;border:1px solid rgba(255,255,255,.72);border-radius:24px;min-width:0;padding:clamp(1.6rem,4vw,2.5rem) clamp(1.5rem,4vw,3rem) clamp(1.8rem,4vw,2.7rem) clamp(4.6rem,8vw,6.4rem);position:relative;scroll-margin-top:2rem}.algorithm-step>*,.technical-grid>*,.memory-caveats>*,.complexity-grid>*,.algorithm-sentence>*{min-width:0}.algorithm-step>div:first-child{align-items:center;display:flex;gap:.7rem;left:1.25rem;position:absolute;top:2rem;writing-mode:vertical-rl}.algorithm-step>div:first-child b{background:#edf5f2;border:1px solid #d5e5e1;border-radius:999px;color:#a76f87;display:grid;font:600 .72rem DM Mono,monospace;height:2rem;place-items:center;width:2rem;writing-mode:horizontal-tb}.algorithm-step>div:first-child span{color:#76918d;font:.75rem DM Mono,monospace;letter-spacing:.13em}.algorithm-step h2{margin-bottom:1rem}.algorithm-step>p{color:#58736f;font-size:1rem;line-height:2;margin:0}.algorithm-step p,.algorithm-technical p,.algorithm-sentence p{overflow-wrap:anywhere}.algorithm-step>aside{background:#deefeba1;border-left:2px solid #86b3ab;border-radius:0 12px 12px 0;color:#456963;margin-top:1.35rem;overflow-x:auto;padding:.9rem 1rem}.phoneme-id-example code{display:block;white-space:nowrap}.phoneme-id-example code+code{color:#765f70;margin-top:.45rem}.algorithm-step>.algorithm-annotation{background:#ffffff61;border-radius:12px;font-size:.875rem;line-height:1.8;margin-top:.8rem;padding:.85rem 1rem}.algorithm-step code,.formula-card{font-family:DM Mono,Noto Sans JP,monospace}.algorithm-step var,.algorithm-sentence var,.formula-card var{font-family:"Noto Serif JP",serif;font-style:italic}.algorithm-step ul{color:#5d7974;display:grid;gap:.55rem;line-height:1.7;margin:1.3rem 0 0;padding-left:1.2rem}.paper-comparison{border-top:1px solid rgba(99,143,137,.2);margin-top:2rem;padding-top:1.7rem}.paper-comparison h3{margin:1.25rem 0 .55rem}.paper-comparison>p:not(.eyebrow){color:#5b7772;font-size:.92rem;line-height:1.9}.paper-comparison dl{display:grid;gap:.65rem;grid-template-columns:repeat(2,1fr);margin:1.2rem 0}.paper-comparison dl div{background:#e8f2ef99;border-radius:12px;padding:.9rem}.paper-comparison dt{color:#497069;font-size:.875rem;font-weight:700}.paper-comparison dd{color:#607b76;font-size:.875rem;line-height:1.65;margin:.35rem 0 0}.algorithm-step--score{background:linear-gradient(145deg,#ffffff8c,#e7f2ef8c)}.formula-card{background:#f7faf8;border:1px solid #dce9e6;border-radius:18px;color:#3f615d;font-size:clamp(.875rem,1.8vw,1rem);line-height:1.85;margin-top:1.6rem;overflow-x:auto;padding:clamp(1.1rem,3vw,1.7rem)}.formula-card p{margin:.3rem 0;white-space:nowrap}.formula-card hr{border:0;border-top:1px solid #d3e2df;margin:1rem 0}.formula-card strong{color:#294d48;display:block;font-size:1.04em;white-space:nowrap}.matrix-distance{border-top:1px solid rgba(99,143,137,.2);margin-top:2rem;padding-top:1.8rem}.matrix-distance>h3{margin:1.3rem 0 .65rem}.matrix-distance>p:not(.eyebrow){color:#597570;font-size:.92rem;line-height:1.95}.matrix-formulas{display:grid;gap:.55rem;grid-template-columns:repeat(2,1fr);margin:1.2rem 0}.matrix-formulas code{background:#e8f2efb8;border:1px solid rgba(197,221,216,.75);border-radius:10px;color:#365e57;font-size:.875rem;overflow-x:auto;padding:.75rem;white-space:nowrap}.matrix-distance pre{background:#263f3c;border-radius:16px;color:#edf5f2;line-height:1.8;margin:1.25rem 0;overflow-x:auto;padding:1.2rem}.matrix-distance pre code{font-size:.875rem}.corpus-operations{display:grid;gap:.55rem;grid-template-columns:repeat(4,1fr);margin:1.3rem 0}.corpus-operations div{background:#ffffff9e;border:1px solid rgba(211,228,224,.9);border-radius:12px;padding:.8rem;text-align:center}.corpus-operations b{color:#3d6861;display:block;font:600 1rem DM Mono,monospace}.corpus-operations span{color:#78908c;font-size:.875rem}.special-morae{display:grid;gap:.65rem;grid-template-columns:repeat(2,1fr);margin:1rem 0}.special-morae div{border-top:1px solid rgba(101,144,138,.2);padding-top:.75rem}.special-morae dt{color:#416a63;font-size:.875rem;font-weight:700}.special-morae dd{color:#607b76;font-size:.875rem;line-height:1.8;margin:.35rem 0 0}.research-continuity{background:#e8e2f16b;border-left:2px solid #9d7d9d;border-radius:0 14px 14px 0;margin:1.3rem 0;padding:1rem 1.15rem}.research-continuity b{color:#66586c;font-size:.875rem}.research-continuity p{color:#6c6972;font-size:.875rem;line-height:1.85;margin:.45rem 0 0}.matrix-caveat{border-left:2px solid #ac7b91;padding-left:1rem}.algorithm-definitions{display:grid;gap:.7rem;margin:1.4rem 0 0}.algorithm-definitions div{align-items:baseline;border-top:1px solid rgba(102,145,138,.17);display:grid;gap:1rem;grid-template-columns:8rem 1fr;padding-top:.75rem}.algorithm-definitions dt{color:#426a64;font-weight:600}.algorithm-definitions dd{color:#607d78;line-height:1.75;margin:0}.algorithm-technical{margin-top:2.75rem;scroll-margin-top:2rem}.algorithm-context{border-top:1px solid rgba(100,143,137,.24);padding-top:2rem}.algorithm-context>header{max-width:52rem}.algorithm-context>header h2{margin-top:.35rem}.algorithm-context>header>p:last-child{color:#58736f;font-size:1rem;line-height:1.9;margin:.75rem 0 1.5rem}.algorithm-context>.markdown-note{max-width:52rem;margin:0}.algorithm-technical>.markdown-note{max-width:52rem;margin:0}.algorithm-technical>.markdown-note>h2:first-child{margin-top:0}.algorithm-technical>header{max-width:52rem}.algorithm-technical>header>p:last-child{color:#58736f;font-size:1rem;line-height:1.9;margin:1.3rem 0 0}.technical-grid{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr);margin-top:2.5rem}.technical-card{background:#ffffff6e;border:1px solid rgba(255,255,255,.72);border-radius:20px;padding:1.6rem}.technical-card>b{color:#a47288;font:.75rem DM Mono,monospace;letter-spacing:.1em}.technical-card h3{margin:.75rem 0 .6rem}.technical-card p{color:#607b77;font-size:.875rem;line-height:1.85;margin:0}.technical-card code,.memory-detail code,.resource-table code,.search-stages code{color:#456c66;font-family:DM Mono,monospace;font-size:.88em}.resource-table-wrap{background:#ffffff59;border:1px solid rgba(255,255,255,.68);border-radius:20px;margin-top:1rem;max-width:100%;min-width:0;overflow-x:auto;padding:.4rem 1.2rem 1rem}.resource-table{border-collapse:collapse;color:#56736e;font-size:.875rem;min-width:720px;width:100%}.resource-table caption{color:#3d625d;font-size:.96rem;font-weight:600;padding:1.2rem 0 .75rem;text-align:left}.resource-table th{color:#718c87;font:.875rem DM Mono,monospace;letter-spacing:.08em;text-align:left}.resource-table th,.resource-table td{border-bottom:1px solid rgba(104,145,139,.16);padding:.8rem .7rem;vertical-align:top}.resource-table tbody tr:last-child td{border-bottom:0}.memory-detail{background:linear-gradient(135deg,#e1efecb3,#f5f0f78c);border:1px solid rgba(255,255,255,.7);border-radius:22px;margin-top:1rem;padding:clamp(1.4rem,4vw,2.4rem)}.memory-detail h3{margin-top:0}.memory-detail>p{color:#58736f;line-height:1.95}.memory-detail var,.search-stages var,.complexity-grid var{font-family:"Noto Serif JP",serif;font-style:italic}.memory-detail aside{border-left:2px solid #ac7c91;color:#6e6874;font-size:.88rem;line-height:1.8;margin-top:1.4rem;padding:.35rem 0 .35rem 1rem}.memory-caveats{display:grid;gap:.8rem;grid-template-columns:repeat(3,1fr);margin-top:1rem}.memory-caveats>div{border-top:1px solid rgba(101,144,138,.24);padding:1rem .25rem}.memory-caveats b{color:#40675f;font-size:.875rem}.memory-caveats p{color:#627c78;font-size:.875rem;line-height:1.8;margin:.45rem 0 0}.memory-caveats code{color:#456c66;font-family:DM Mono,monospace;font-size:.88em}.algorithm-technical--search{border-top:1px solid rgba(100,143,137,.24);padding-top:3rem}.search-stages{display:grid;gap:.8rem;list-style:none;margin:2.5rem 0 0;padding:0}.search-stages li{background:#fff6;border:1px solid rgba(255,255,255,.7);border-radius:18px;display:grid;gap:1.6rem;grid-template-columns:minmax(13rem,.75fr) 1.25fr;padding:1.4rem}.search-stages li>div{align-items:center;display:flex;gap:.85rem}.search-stages li>div b{border:1px solid #c8dfda;border-radius:999px;color:#a56f87;display:grid;flex:0 0 auto;font:600 .7rem DM Mono,monospace;height:2rem;place-items:center;width:2rem}.search-stages h3{font-size:1.125rem;margin:0}.search-stages p{color:#5d7874;font-size:.92rem;line-height:1.85;margin:0}.complexity-grid{display:grid;gap:.8rem;grid-template-columns:repeat(2,1fr);margin-top:1rem}.complexity-grid>div{border-top:1px solid rgba(101,144,138,.23);padding:1rem .25rem}.complexity-grid b{color:#40675f;font-size:.875rem}.complexity-grid p{color:#607b76;font-size:.875rem;line-height:1.8;margin:.45rem 0 0}.complexity-formula{background:#f7faf8;border:1px solid #dce9e6;border-radius:18px;color:#5b7772;line-height:1.85;margin-top:.8rem;padding:clamp(1.2rem,3vw,1.8rem)}.complexity-formula p{font-size:.9rem;margin:0}.complexity-formula code{color:#315851;display:block;font:600 clamp(.92rem,2vw,1.1rem) "DM Mono",monospace;margin:1rem 0;overflow-x:auto;white-space:nowrap}.complexity-formula var{font-family:"Noto Serif JP",serif;font-style:italic}.algorithm-sentence{background:#def1ec61;border:1px solid rgba(255,255,255,.65);border-radius:26px;display:grid;gap:clamp(2rem,7vw,5rem);grid-template-columns:.75fr 1.25fr;margin-top:2.5rem;padding:clamp(1.7rem,4vw,2.5rem);scroll-margin-top:2rem}.algorithm-sentence .copy p:first-child{margin-top:0}.formula-card--compact{font-size:.88rem;margin:1.25rem 0}.algorithm-note{border-top:1px solid rgba(100,143,137,.25);color:#5b7773;line-height:1.9;margin-top:2.5rem;padding-top:1.5rem}.algorithm-note>p:last-child{margin:0;max-width:52rem}.algorithm-note a{color:#4b827a;text-decoration:underline;text-underline-offset:.15em}.steps{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));margin-top:2.2rem}.steps>*{min-width:0}article{background:#ffffff57;border:1px solid rgba(255,255,255,.58);border-radius:18px;padding:1.35rem}article b{color:#b2788d;font:.82rem DM Mono,monospace}h3{color:#3d645f;font-size:1.125rem;font-weight:600;letter-spacing:-.02em;margin:.85rem 0 .5rem}article p{color:#63807c;font-size:1rem;line-height:1.8;margin:0}.callout{align-items:center;background:linear-gradient(115deg,#e3f1eedb,#ede6f4b3);border:1px solid rgba(255,255,255,.7);border-radius:28px;box-shadow:0 14px 36px #53757014;display:flex;gap:1.25rem;justify-content:center;margin-bottom:2rem;max-width:min(1080px,calc(100% - 2rem));padding:1.4rem 1.5rem;text-align:left}.callout p{color:#426761;font-size:1.25rem;font-weight:500;letter-spacing:-.025em;margin:0}.callout .button{flex:0 0 auto;margin-top:0}.light{background:#ffffffd1;box-shadow:0 8px 20px #4f736d1f;color:#4f7f79}footer{align-items:flex-start;border-top:1px solid rgba(100,143,137,.2);color:#748b87;display:flex;flex-wrap:wrap;font-size:.875rem;gap:1rem 2rem;justify-content:space-between;line-height:1.9;margin-top:1rem;padding:2rem}footer a{color:#5c817c}footer>span:first-child,footer>.app-version{flex:0 0 auto;white-space:nowrap}footer>span:nth-child(2){flex:1 1 24rem;max-width:40rem;min-width:0;overflow-wrap:anywhere}@media(max-width:700px){.signal{font-size:.94rem;margin-top:1rem}.signal i{display:none}.section{padding:1.35rem .85rem}.hero.kp-page-intro{padding:20px 0}.grid,.steps{gap:1rem;grid-template-columns:1fr}#about{border-radius:20px;margin:.5rem .35rem;padding:1.45rem 1rem}#about .copy{border-left:0;border-top:1px solid rgba(111,158,151,.24);padding:1.2rem 0 0}.workflow-animation{border-radius:24px;display:block;margin:2rem 0;max-width:none;padding:.35rem}.workflow-animation__caption-html{padding:.75rem .85rem .9rem;text-align:center}.method-page>.section{padding:0 0 1.5rem}.method-overview+.grid{margin-top:.85rem;padding:1rem}.method-detail-copy{margin-top:1.2rem}.method-sentence{margin:1.2rem -.85rem 0}.algorithm-page{padding-top:1.5rem}.algorithm-hero{margin-bottom:1.5rem}.algorithm-index{gap:.5rem;grid-template-columns:repeat(2,1fr);margin-top:1.25rem}.algorithm-index a{padding:.85rem}.algorithm-step{border-radius:20px;padding:1.5rem 1.2rem 1.7rem 4rem}.algorithm-step>div:first-child{left:.72rem;top:1.5rem}.algorithm-step>p{font-size:1rem;line-height:1.9}.algorithm-step>aside{font-size:.875rem;margin-left:-2.7rem}.paper-comparison,.matrix-distance{margin-left:-2.7rem}.algorithm-step>aside,.paper-comparison,.matrix-distance,.formula-card,.algorithm-definitions{max-width:calc(100% + 2.7rem)}.paper-comparison dl,.matrix-formulas,.special-morae{grid-template-columns:1fr}.corpus-operations{grid-template-columns:repeat(2,1fr)}.formula-card{font-size:.875rem;margin-left:-2.7rem}.algorithm-definitions{margin-left:-2.7rem}.algorithm-definitions div{gap:.35rem;grid-template-columns:1fr}.algorithm-technical{margin-top:2rem}.algorithm-context{padding-top:1.5rem}.technical-grid,.complexity-grid,.memory-caveats{grid-template-columns:1fr}.technical-card{padding:1.35rem}.resource-table-wrap{margin-left:-.25rem;margin-right:-.25rem;padding-left:.55rem;padding-right:.55rem}.memory-detail{padding:1.35rem}.algorithm-technical--search{padding-top:2rem}.search-stages li{gap:.8rem;grid-template-columns:1fr;padding:1.2rem}.algorithm-sentence{grid-template-columns:1fr;margin-top:2rem}.algorithm-sentence .formula-card{margin-left:0}.algorithm-note{margin-top:2rem}.steps{gap:.65rem;margin-top:1rem}.steps article{align-items:start;column-gap:.75rem;display:grid;grid-template-columns:2.25rem minmax(0,1fr);padding:1rem}.steps article b{grid-column:1;grid-row:1 / span 2;padding-top:.1rem}.steps article h3{grid-column:2;margin:0 0 .2rem}.steps article p{font-size:1rem;grid-column:2;line-height:1.65}.callout{align-items:stretch;border-radius:22px;flex-direction:column;gap:.9rem;margin-bottom:1.25rem;padding:1.25rem 1rem;text-align:center}.callout p{font-size:1.125rem}.callout .button{align-self:center;margin-top:0}footer{gap:1rem 1.25rem;padding:1.5rem 1rem}}@media(max-width:640px){.algorithm-step,.algorithm-technical,.algorithm-sentence,.algorithm-vocabulary{scroll-margin-top:8rem}}.markdown-note{max-width:960px;margin:0 auto;overflow-wrap:anywhere}.markdown-note a{color:var(--kp-action);text-decoration:underline;text-decoration-thickness:.08em;text-underline-offset:.18em}.markdown-note a:visited{color:var(--kp-action)}.markdown-note a:hover{color:var(--kp-ink);text-decoration-thickness:.12em}.markdown-note a:focus-visible{border-radius:2px;outline:3px solid var(--kp-focus);outline-offset:3px}.markdown-note h1{font-size:var(--kp-page-title-size);font-weight:var(--kp-page-title-weight);line-height:1.45;letter-spacing:-.035em;max-width:none;margin-top:1.5rem}.algorithm-vocabulary{background:#e0efeb8c;border-radius:24px;margin-top:4.5rem;padding:clamp(1.7rem,5vw,3.5rem);scroll-margin-top:2rem}.algorithm-vocabulary .markdown-note{max-width:52rem}.algorithm-vocabulary h2:first-child{margin-top:0}.app-version{font-variant-numeric:tabular-nums;white-space:nowrap}.markdown-note .note-eyebrow{margin-top:1.8rem;color:#628d87;font:.72rem DM Mono,monospace;letter-spacing:.15em}.markdown-note h1+p{font-size:1rem;color:var(--kp-muted)}.markdown-note h2{margin-top:2rem}.markdown-note h2{font-size:clamp(1.375rem,1.65vw,1.5rem);line-height:1.5}.markdown-note p,.markdown-note li{line-height:1.95}.markdown-note li+li{margin-top:.7rem}.markdown-note ol,.markdown-note ul{padding-left:1.5rem}.markdown-note .note-table{max-width:100%;overflow-x:auto;margin:1.5rem 0}.markdown-note table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.markdown-note caption{text-align:left;font-size:.875rem;padding-bottom:.7rem}.markdown-note th,.markdown-note td{text-align:left;padding:.8rem;border-bottom:1px solid #cbdcda;white-space:nowrap}.context-evaluation-page .markdown-note table{table-layout:fixed}.context-evaluation-page .markdown-note th,.context-evaluation-page .markdown-note td{overflow-wrap:anywhere;padding:.5rem .4rem;vertical-align:top;white-space:normal}.algorithm-context .markdown-note table{table-layout:fixed}.algorithm-context .markdown-note th,.algorithm-context .markdown-note td{overflow-wrap:anywhere;padding:.5rem .4rem;vertical-align:top;white-space:normal}.algorithm-context .markdown-note th:nth-child(1),.algorithm-context .markdown-note td:nth-child(1){width:24%}.algorithm-context .markdown-note th:nth-child(2),.algorithm-context .markdown-note td:nth-child(2),.algorithm-context .markdown-note th:nth-child(3),.algorithm-context .markdown-note td:nth-child(3){width:38%}.context-evaluation-page .markdown-note [aria-label=助詞で順位が変わった例] th:nth-child(1),.context-evaluation-page .markdown-note [aria-label=助詞で順位が変わった例] td:nth-child(1){width:24%}.context-evaluation-page .markdown-note [aria-label=助詞で順位が変わった例] th:nth-child(2),.context-evaluation-page .markdown-note [aria-label=助詞で順位が変わった例] td:nth-child(2),.context-evaluation-page .markdown-note [aria-label=助詞で順位が変わった例] th:nth-child(4),.context-evaluation-page .markdown-note [aria-label=助詞で順位が変わった例] td:nth-child(4){width:16%}.context-evaluation-page .markdown-note [aria-label=助詞で順位が変わった例] th:nth-child(3),.context-evaluation-page .markdown-note [aria-label=助詞で順位が変わった例] td:nth-child(3){width:44%}.context-evaluation-page .markdown-note [aria-label="同じ1,816件で比べた結果"] th:nth-child(1),.context-evaluation-page .markdown-note [aria-label="同じ1,816件で比べた結果"] td:nth-child(1){width:58%}.context-evaluation-page .markdown-note [aria-label="同じ1,816件で比べた結果"] th:nth-child(2),.context-evaluation-page .markdown-note [aria-label="同じ1,816件で比べた結果"] td:nth-child(2),.context-evaluation-page .markdown-note [aria-label="同じ1,816件で比べた結果"] th:nth-child(3),.context-evaluation-page .markdown-note [aria-label="同じ1,816件で比べた結果"] td:nth-child(3){width:21%}.context-evaluation-page .markdown-note [aria-label="同じ1,816件で比べた結果"] th:nth-child(2),.context-evaluation-page .markdown-note [aria-label="同じ1,816件で比べた結果"] td:nth-child(2){width:21%}.context-evaluation-page .markdown-note [aria-label=まだ予測できていないもの] th:nth-child(1),.context-evaluation-page .markdown-note [aria-label=まだ予測できていないもの] td:nth-child(1){width:52%}.context-evaluation-page .markdown-note [aria-label=まだ予測できていないもの] th:nth-child(2),.context-evaluation-page .markdown-note [aria-label=まだ予測できていないもの] td:nth-child(2){width:16%}.context-evaluation-page .markdown-note [aria-label=まだ予測できていないもの] th:nth-child(3),.context-evaluation-page .markdown-note [aria-label=まだ予測できていないもの] td:nth-child(3){width:32%}.context-evaluation-page .markdown-note [aria-label=助詞で順位が変わった例] td:nth-child(2),.context-evaluation-page .markdown-note [aria-label=助詞で順位が変わった例] td:nth-child(4),.context-evaluation-page .markdown-note [aria-label="同じ1,816件で比べた結果"] td:nth-child(2),.context-evaluation-page .markdown-note [aria-label="同じ1,816件で比べた結果"] td:nth-child(3),.context-evaluation-page .markdown-note [aria-label=まだ予測できていないもの] td:nth-child(2){overflow-wrap:normal;white-space:nowrap;word-break:keep-all}.markdown-note thead{background:#e7f1ef}.markdown-note pre{padding:1rem;overflow-x:auto;background:#e7f1ef;border-radius:12px;line-height:1.8}.markdown-note .formula-card{overflow-x:auto}.site-header{align-items:center;-webkit-backdrop-filter:none;backdrop-filter:none;background:transparent;border:0;border-radius:0;box-shadow:none;box-sizing:border-box;color:var(--kp-ink, #263a3b);display:flex;font:400 14px/1.3 var(--kp-font-sans, "Noto Sans JP", "Yu Gothic", sans-serif);gap:1rem;justify-content:space-between;letter-spacing:0;margin:12px auto 0;max-width:100%;min-width:0;padding:2px 0;width:min(var(--kp-page-max, 960px),calc(100vw - var(--kp-gutter, 32px) - var(--kp-gutter, 32px)))}.site-header *,.site-header *:before,.site-header *:after{box-sizing:border-box}.site-header__brand{align-items:center;color:var(--kp-ink, #263a3b);display:inline-flex;flex:0 0 auto;font:700 14px/1.3 var(--kp-font-mono, "DM Mono", monospace);letter-spacing:.13em;min-height:44px;text-decoration:none;white-space:nowrap}.site-header__brand:visited,.site-header__brand:hover,.site-header__brand:active{color:var(--kp-ink, #263a3b);text-decoration:none}.site-header__nav{align-items:center;display:flex;flex:0 1 auto;flex-wrap:wrap;gap:8px;justify-content:flex-end;min-width:0;row-gap:4px}.site-header__nav a{align-items:center;background:transparent;border:0;border-radius:6px;color:var(--kp-ink, #263a3b);display:inline-flex;flex:0 0 auto;font:500 14px/1.3 var(--kp-font-sans, "Noto Sans JP", "Yu Gothic", sans-serif);justify-content:center;min-height:44px;padding:0 12px;text-decoration:none;transition:background-color .12s ease;white-space:nowrap;word-break:keep-all}.site-header__nav a:visited,.site-header__nav a:active{color:var(--kp-ink, #263a3b);text-decoration:none}.site-header__nav a:hover{background:var(--kp-surface, #f1f6f4);color:var(--kp-ink, #263a3b);text-decoration:none}.site-header__brand:focus-visible,.site-header__nav a:focus-visible{outline:3px solid var(--kp-focus, #153e38);outline-offset:2px}.site-header__nav a[aria-current=page],.site-header__nav a[aria-current=page]:visited,.site-header__nav a[aria-current=page]:active,.site-header__nav a[aria-current=page]:hover{background:var(--kp-action, #315f57);box-shadow:none;color:#fff;font-weight:600;text-decoration:none}@media(max-width:640px){.site-header{align-items:stretch;display:grid;gap:0;grid-template-columns:minmax(0,1fr);padding-block:0}.site-header__brand{min-height:44px;padding-inline:0}.site-header__nav{gap:4px;justify-content:flex-start;width:100%;row-gap:4px}.site-header__nav a{font-size:13px;min-height:44px;padding-inline:8px}}
