.kata-illustrations{--ki-ink:#4d4d4d;--ki-red:var(--red,#b93b2e);margin-top:20px;min-width:0}.kata-illustrations .ki-key{font-size:11px;line-height:1.7;color:#777;margin:0 0 17px}.ki-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.ki-grid>li{min-width:0}.ki-frame{margin:0;height:100%;border:1px solid #dedede;background:#fafafa;border-radius:var(--radius,5px);overflow:hidden;display:flex;flex-direction:column}.ki-frame-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 0;min-height:30px}.ki-step{font-size:10px;font-variant-numeric:tabular-nums;letter-spacing:.09em;color:var(--ki-red)}.ki-direction{font-size:10px;color:#737373;text-align:right}.ki-art{display:block;width:100%;height:auto;max-height:290px;overflow:hidden;color:var(--ki-red)}.ki-frame figcaption{border-top:1px solid #e7e7e7;padding:14px 16px 17px;background:#fff;flex:1}.ki-frame figcaption strong{display:block;font-size:13px;font-weight:550;line-height:1.5;color:#454545}.ki-frame figcaption>span{display:block;font-size:11px;line-height:1.8;color:#777;margin-top:7px}.kata-illustrations .ki-status{font-size:10px;line-height:1.8;color:#818181;margin:17px 0 0;padding-left:12px;border-left:2px solid #d2d2d2}.ki-ground{fill:none;stroke:#dedede;stroke-width:1}.ki-hakama{fill:#777;stroke:#555;stroke-width:1.1;stroke-linejoin:round}.ki-fold{stroke:#aaa;stroke-width:1.1;fill:none}.ki-foot{stroke:#565656;stroke-width:5;stroke-linecap:round;fill:none}.ki-jacket{fill:#dedede;stroke:#777;stroke-width:1.1}.ki-lapel{fill:none;stroke:#8e8e8e;stroke-width:1.3}.ki-belt{fill:#5e5e5e}.ki-skin,.ki-hand{fill:#e5e3df;stroke:#777;stroke-width:1}.ki-hair{fill:#626262}.ki-face{fill:none;stroke:#777;stroke-width:1}.ki-arm-outline{fill:none;stroke:#777;stroke-width:15;stroke-linecap:round;stroke-linejoin:round}.ki-arm{fill:none;stroke:#d9d9d9;stroke-width:12;stroke-linecap:round;stroke-linejoin:round}.ki-saya{fill:none;stroke:#565656;stroke-width:5;stroke-linecap:round}.ki-cord{fill:none;stroke:#8a8a8a;stroke-width:1.2}.ki-blade{fill:#f8f8f8;stroke:#454545;stroke-width:1.3;stroke-linejoin:round}.ki-hilt{fill:none;stroke:#484848;stroke-width:5;stroke-linecap:round}.ki-binding{fill:none;stroke:#b2b2b2;stroke-width:1}.ki-guard{fill:none;stroke:#444;stroke-width:3;stroke-linecap:round}.ki-sheath{fill:none;stroke:#777;stroke-width:7;stroke-linecap:round}.ki-motion{fill:none;stroke:var(--ki-red);stroke-width:2;stroke-linecap:round;stroke-dasharray:3 4;color:var(--ki-red)}.ki-turn{stroke-width:1.7;opacity:.85}.ki-target{fill:#ededed;stroke:#d2d2d2;stroke-width:1}.ki-target-limb{fill:none;stroke:#d2d2d2;stroke-width:5;stroke-linecap:round}.ki-impact{fill:var(--ki-red);opacity:.85}.ki-target-cuts{fill:none;stroke:var(--ki-red);stroke-width:2;stroke-linecap:round}.ki-target-cuts text{stroke:none;fill:var(--ki-red);font:10px Segoe UI,sans-serif}.ki-support-hand{fill:none;stroke:#5b5b5b;stroke-width:4;stroke-linecap:round;stroke-linejoin:round}.ki-callout{fill:none;stroke:var(--ki-red);stroke-width:1;stroke-dasharray:2 3}.ki-compass{fill:none;stroke:#d2d2d2;stroke-width:1}.ki-compass text{fill:#888;stroke:none;font:6px Segoe UI,sans-serif;letter-spacing:.06em}.ki-compass-centre{fill:#aaa;stroke:none}.ki-compass .ki-compass-active{stroke:var(--ki-red);stroke-width:2;color:var(--ki-red)}.ki-foot-direction{fill:none;stroke:var(--ki-red);stroke-width:1.8;color:var(--ki-red)}@media(min-width:1450px){.ki-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.ki-grid{grid-template-columns:1fr;gap:15px}.ki-art{max-height:310px}.ki-frame-top{padding:14px 18px 0}.ki-frame figcaption{padding:14px 18px 17px}.ki-frame figcaption strong{font-size:14px}.ki-frame figcaption>span{font-size:12px}.kata-illustrations .ki-key{font-size:12px}.kata-illustrations .ki-status{font-size:11px}}@media print{.ki-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ki-grid>li{break-inside:avoid}.ki-art{max-height:220px}}.ki-art{position:relative;max-height:none;overflow:hidden;background:#eee9df;aspect-ratio:3/2}.ki-art>img{display:block;width:100%;height:100%;object-fit:contain}.ki-compass-html{position:absolute;top:10px;left:12px;width:38px;height:38px;border:1px solid #b8aaa0;border-radius:50%;background:#faf7efdb;text-align:center;color:var(--ki-red)}.ki-compass-html>span{position:absolute;top:-2px;left:-2px;width:42px;font-size:6px;letter-spacing:.05em;color:#746f67}.ki-compass-html>i{display:block;font:26px/42px sans-serif;font-style:normal;transform-origin:center}.ki-motion-label,.ki-cut-label{position:absolute;bottom:9px;left:12px;padding:4px 7px;background:#fff9;color:var(--ki-red);font-size:10px;border-radius:3px}.ki-cut-label{left:auto;right:12px}@media(max-width:600px){.ki-art{max-height:none}.ki-compass-html{top:8px;left:9px}}@media print{.ki-art{max-height:none}}.ki-sequence{max-width:850px}.ki-view-controls{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}.ki-view-controls button{padding:9px 12px;border:1px solid #ddd;background:#fff;border-radius:4px;font-size:12px}.ki-view-controls button[aria-pressed=true]{color:var(--red);border-color:var(--red)}.ki-selected{max-width:640px;margin:auto}.ki-selected .sheet-crop{background:#fff;width:100%;max-height:none}.ki-whole{max-width:760px;margin:auto;background:#fff;border:1px solid #ddd}.ki-whole img{display:block;width:100%;height:auto}.ki-position-nav{display:flex;gap:8px;align-items:center;margin:14px 0}.ki-position-nav>button{flex:none;width:36px;height:40px;border:1px solid #ddd;border-radius:4px}.ki-position-nav button:disabled{opacity:.3}.ki-position-nav ol{display:flex;flex:1;flex-wrap:wrap;gap:5px;list-style:none;padding:0;margin:0;justify-content:center}.ki-position-nav li button{width:34px;min-height:36px;border:1px solid #ddd;border-radius:4px;font-size:12px}.ki-position-nav [aria-current=step]{background:var(--red);border-color:var(--red);color:#fff}.ki-original{font-size:11px;text-decoration:underline;color:#777}.ki-enlarged{padding:0;border:1px solid #bbb;max-width:96vw;width:1200px;max-height:94vh;border-radius:5px}.ki-enlarged::backdrop{background:#0008}.ki-dialog-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #ddd;gap:16px}.ki-dialog-bar button{padding:8px 12px;border:1px solid #ddd;border-radius:4px}.ki-dialog-scroll{overflow:auto;max-height:calc(94vh - 70px);background:#fff}.ki-dialog-scroll img{display:block;width:1500px;max-width:none;height:auto;margin:auto}@media(max-width:600px){.ki-selected{max-width:100%}.ki-position-nav,.ki-position-nav ol{gap:4px}.ki-position-nav li button{width:30px;min-height:34px}.ki-position-nav>button{width:30px}.ki-view-controls button{font-size:11px;padding:8px 10px}}.sword-study{margin-top:25px;border-top:1px solid var(--line);padding-top:18px}.ss-tabs{display:flex;gap:6px;flex-wrap:wrap}.ss-tabs button{border:1px solid #ddd;border-radius:3px;padding:8px 10px;font-size:10px;color:#777}.ss-tabs button.active{color:var(--red);border-color:#be8d85;background:#f5f1ef}.ss-status{min-height:72px;padding:15px 0;color:#777;font-size:11px;line-height:1.7}.ss-status strong,.ss-status span{display:block}.ss-status span{font-size:10px;color:#6b6b6b}.ss-viewport{overflow:auto;border:1px solid #e3e3df;background:#f0f0ed}.ss-svg{display:block;width:100%;height:auto}.ss-viewport.is-zoomed{max-height:520px}.ss-viewport.is-zoomed .ss-svg{min-width:1000px}.ss-region{cursor:pointer}.ss-region rect{fill:transparent;stroke:transparent;stroke-width:2}.ss-region circle{fill:#f6f4ed;stroke:#89847c;stroke-width:1}.ss-region text{font:11px sans-serif;text-anchor:middle;fill:#6a6259}.ss-region:hover rect,.ss-region:focus rect,.ss-region.active rect{stroke:#b54b3e;fill:#ba584511}.ss-region:focus{outline:none}.ss-region.active circle{fill:#b54b3e}.ss-region.active text{fill:#fff}.ss-line{fill:none;stroke:#777;stroke-width:3}.ss-hamon{fill:none;stroke:#fafaf5;stroke-width:5;stroke-dasharray:14 4}.ss-guide{fill:none;stroke:#b65b4c;stroke-width:2;stroke-dasharray:6 5}.ss-highlight{fill:none;stroke:#b65b4c;stroke-width:6}.ss-svg>text{font:15px sans-serif;text-anchor:middle;fill:#888}.ss-controls{display:flex;justify-content:space-between;gap:15px;align-items:center;margin:12px 0;flex-wrap:wrap}.ss-controls>span,.ss-credit,.ss-footnote{font-size:11px;line-height:1.8;color:#6b6b6b}.ss-part-list{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:18px 0}.ss-part-list button{padding:9px;border:1px solid #e4e4e1;border-radius:3px;font-size:11px}.ss-part-list button.active{border-color:#b65b4c;color:#a44e41;background:#f7f2ef}.ss-part-list small{display:block;margin-top:4px;font-size:11px;color:#6b6b6b}.ss-credit a{text-decoration:underline}.ss-footnote{border-top:1px solid #ddd;padding-top:13px}@media(max-width:640px){.ss-part-list{grid-template-columns:1fr}.ss-status{min-height:90px}.ss-tabs button{font-size:11px;padding:7px}.ss-controls .text-button{font-size:10px}}.ss-photo-tabs{margin-top:10px}.ss-image-map{position:relative}.ss-image-map>img{display:block;width:100%;height:auto}.ss-image-map>.ss-region{position:absolute;padding:0;border:2px solid transparent;border-radius:5px;background:transparent;min-width:0;min-height:0}.ss-image-map>.ss-region>span{position:absolute;left:2px;top:2px;display:grid;place-items:center;width:22px;height:22px;font-size:11px;border:1px solid #8f8172;border-radius:50%;background:#fff8ed;color:#6a6259}.ss-image-map>.ss-region:hover,.ss-image-map>.ss-region:focus-visible,.ss-image-map>.ss-region.active{border-color:#b54b3e;background:#ba584511;outline:none}.ss-image-map>.ss-region.active>span{background:#b54b3e;color:#fff}.ss-sori-chord{position:absolute;left:2.47%;top:48.54%;width:95.9%;height:0;border-top:1px dashed #b54b3e;transform:rotate(-1.91deg);transform-origin:left center;pointer-events:none}.ss-sori-gap{position:absolute;left:50%;top:46.1%;height:5.3%;border-left:1px solid #b54b3e;pointer-events:none}.ss-sori-gap:before,.ss-sori-gap:after{content:"";position:absolute;left:-4px;width:8px;border-top:1px solid #b54b3e}.ss-sori-gap:before{top:0}.ss-sori-gap:after{bottom:0}.ss-tsuka-bracket{position:absolute;left:7.5%;top:58.2%;width:39.7%;height:2.2%;border:1px solid #847b6f;border-top:0;pointer-events:none}.source-sword{min-width:0}.source-sword-detail{min-height:90px;padding:16px 0;display:flex;flex-direction:column;gap:5px}.source-sword-detail strong{font-size:19px}.source-sword-detail span,.source-sword-detail p{font-size:13px;line-height:1.6;margin:0}.source-sword-detail small{color:#777}.source-sword-viewport{overflow:auto;max-height:800px;border:1px solid #dedede;background:#e6e6e6}.source-sword-map{position:relative;width:100%;max-width:629px;margin:auto;line-height:0}.source-sword-map>img{width:100%;height:auto;display:block}.source-sword-viewport.zoomed .source-sword-map{width:943px;max-width:none;margin:0}.source-sword-marker{position:absolute;width:20px;height:20px;border:2px solid var(--red,#b93b2e);border-radius:50%;transform:translate(-50%,-50%);background:#fff8;pointer-events:none;box-shadow:0 0 0 3px #fff8}.source-sword-parts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:16px}.source-sword-parts button{padding:10px;text-align:left;border:1px solid #ddd;border-radius:4px;background:#fff;min-width:0}.source-sword-parts button[aria-pressed=true]{border-color:var(--red,#b93b2e);background:#f9efed}.source-sword-parts strong,.source-sword-parts small{display:block;overflow-wrap:anywhere}.source-sword-parts strong{font-size:12px;font-weight:550}.source-sword-parts small{font-size:10px;line-height:1.5;color:#777;margin-top:4px}@media(max-width:600px){.source-sword-parts{grid-template-columns:repeat(2,minmax(0,1fr))}.source-sword-viewport{max-height:620px}}.foundations{max-width:1100px}.foundations h1{max-width:850px}.foundation-review{border-left:2px solid var(--red);background:#ededed;padding:17px 21px;margin:26px 0 38px;font-size:12px;line-height:1.8;color:#606060}.foundation-review strong{font-weight:550}.foundation-review p{margin:6px 0 0}.foundation-intro{margin:40px 0}.foundation-intro h2{font-size:24px;line-height:1.4;font-weight:500;letter-spacing:-.5px;margin:0 0 17px}.foundation-intro>p,.foundation-split p{color:#707070;line-height:1.9;font-size:14px}.foundation-split{display:grid;grid-template-columns:1fr 1fr;gap:32px}.foundation-split>div{border-top:1px solid var(--line);padding-top:20px;min-width:0}.foundation-split h3{font-size:17px;font-weight:500;line-height:1.6;margin:9px 0}.foundation-customs .foundation-split [lang=ja]{font-family:Yu Mincho,MS Mincho,serif;font-size:23px;overflow-wrap:anywhere}.foundation-route{margin:28px 0}.foundation-route>h3{font-size:19px;font-weight:500}.foundation-route ol{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.foundation-route li{border:1px solid var(--line);background:#fff;min-width:0}.foundation-route li>div+div{padding:18px}.foundation-step-art{position:relative;background:#eee;border-bottom:1px solid var(--line)}.foundation-step-number{position:absolute;left:13px;top:11px;color:var(--red);font-size:13px}.foundation-route h4{font-size:15px;font-weight:550;margin:8px 0}.foundation-route p{font-size:12px;line-height:1.85;color:#707070}.foundation-step-jp{font-family:Yu Mincho,MS Mincho,serif;font-size:18px}.foundation-reading{font-size:12px!important;line-height:1.6!important;color:#777!important;margin:7px 0 16px}.foundation-enbu{padding:20px;border-block:1px solid var(--line);display:flex;align-items:center;justify-content:center;gap:18px;color:#777;font-size:12px}.foundation-enbu [lang=ja]{font-family:Yu Mincho,MS Mincho,serif;font-size:30px;color:var(--red)}.foundation-enbu strong{font-size:14px;color:#444;font-weight:500}.foundation-term-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.foundation-term{padding:24px;background:#fff;border:1px solid var(--line);min-width:0}.foundation-jp{display:block;font-family:Yu Mincho,MS Mincho,serif;font-size:27px;line-height:1.6;color:#777;overflow-wrap:anywhere}.foundation-term h3,.foundation-posture-detail h3{font-size:19px;font-weight:500;margin:8px 0}.foundation-term h4,.foundation-posture-detail h4{font-size:14px;font-weight:550;margin:24px 0 8px}.foundation-term p,.foundation-posture-detail>p{font-size:13px;line-height:1.9;color:#6b6b6b}.foundation-context{border-left:2px solid #ccc;padding-left:14px}.foundation-points{padding-left:20px;font-size:14px;color:#6d6d6d;line-height:1.95}.foundation-points li+li{margin-top:12px}.foundation-posture-layout{display:grid;grid-template-columns:255px minmax(0,1fr);gap:25px;align-items:start}.foundation-posture-nav{display:grid;gap:7px}.foundation-posture-nav button{border:1px solid var(--line);border-radius:3px;background:#fff;text-align:left;padding:13px 15px;min-height:76px;display:grid;grid-template-columns:46px minmax(0,1fr);gap:5px 12px;align-items:center}.foundation-posture-nav [lang=ja]{grid-row:span 2;font-size:18px;font-family:Yu Mincho,MS Mincho,serif;overflow-wrap:anywhere;color:#888}.foundation-posture-nav strong{font-size:13px;font-weight:500}.foundation-posture-nav small{font-size:11px;color:#777}.foundation-posture-nav button[aria-pressed=true]{border-color:var(--red);box-shadow:inset 3px 0 var(--red)}.foundation-posture-nav button[aria-pressed=true] strong{color:var(--red)}.foundation-posture-detail{background:#fff;border:1px solid var(--line);padding:28px;min-width:0;scroll-margin-top:24px}.foundation-posture-detail h2{font-size:22px;font-weight:500;line-height:1.5;margin:20px 0}.foundation-posture-visual{background:#eee;margin:-28px -28px 24px;padding:15px;text-align:center}.foundation-posture-visual .foundation-figure{max-width:310px;margin:auto}.foundation-posture-visual p{font-size:10px;color:#777;margin:4px}.foundation-page-ref{font-size:10px!important;border-top:1px solid var(--line);padding-top:15px}.foundation-figure{display:block;width:100%;height:auto;max-height:220px;overflow:hidden}.foundation-figure.compact{max-height:145px}.ff-body{fill:none;stroke:#777;stroke-width:9;stroke-linecap:round;stroke-linejoin:round}.ff-body circle{fill:#eee;stroke-width:5}.ff-sword{fill:none;stroke:var(--red);stroke-width:4;stroke-linecap:round}.ff-ground{stroke:#d1d1d1;stroke-width:2}.ff-direction{stroke:#999;stroke-width:1.5;fill:none}.ff-legend{font-size:10px;fill:#777;letter-spacing:1px}.foundation-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.foundation-compare article{border:1px solid var(--line);padding:14px;background:#fff;min-width:0}.foundation-compare .foundation-figure{background:#eee;max-height:160px}.foundation-compare h3{font-size:15px;font-weight:500;margin:16px 0 6px}.foundation-compare [lang=ja]{font-size:17px;font-family:Yu Mincho,MS Mincho,serif;color:#777}.foundation-compare p{font-size:12px;color:#777;line-height:1.6;margin:7px 0}.foundation-compare .text-button{margin-top:12px;white-space:normal;font-size:11px;min-height:44px}.foundation-sources{border-top:1px solid var(--line);padding-top:16px;margin-top:40px;font-size:12px;line-height:1.9;color:#777}.foundation-sources summary{cursor:pointer;min-height:44px;list-style-position:inside}.foundation-sources ul{padding-left:20px}.foundation-sources a{color:var(--red);text-underline-offset:3px}.foundation-sources p{margin:8px 0}.foundations button:focus-visible,.foundation-sources summary:focus-visible,.foundation-sources a:focus-visible{outline:2px solid var(--red);outline-offset:4px}@media(max-width:900px){.foundation-posture-layout{grid-template-columns:205px minmax(0,1fr)}.foundation-posture-nav button{grid-template-columns:1fr}.foundation-posture-nav [lang=ja]{grid-row:auto;font-size:16px}.foundation-route ol,.foundation-compare{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.foundation-intro{margin:30px 0}.foundation-intro h2{font-size:21px}.foundation-intro>p,.foundation-split p,.foundation-points{font-size:12px}.foundation-split,.foundation-term-grid{grid-template-columns:1fr;gap:18px}.foundation-term{padding:20px}.foundation-route ol{grid-template-columns:1fr}.foundation-route li{display:grid;grid-template-columns:100px minmax(0,1fr)}.foundation-route li>div+div{padding:14px}.foundation-step-art{border-bottom:0;display:flex;align-items:center}.foundation-step-number{font-size:11px;top:8px;left:8px}.foundation-figure.compact{max-height:none}.foundation-route h4{font-size:14px}.foundation-route p{font-size:11px}.foundation-step-jp{font-size:16px}.foundation-enbu{flex-wrap:wrap;gap:12px}.foundation-posture-layout{grid-template-columns:1fr;gap:15px}.foundation-posture-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.foundation-posture-nav button{min-height:90px;padding:10px}.foundation-posture-nav strong{font-size:11px}.foundation-posture-nav small{font-size:10px}.foundation-posture-detail{padding:20px}.foundation-posture-visual{margin:-20px -20px 20px}.foundation-posture-detail>p,.foundation-term p{font-size:12px}.foundation-jp{font-size:24px}.foundation-compare{gap:10px}.foundation-compare article{padding:10px}.foundation-compare h3{font-size:12px;overflow-wrap:anywhere}.foundation-compare p{font-size:10px}.foundation-compare [lang=ja]{font-size:15px}.foundation-review{font-size:11px;padding:14px 16px}.foundation-sources{font-size:11px}.foundation-compare .text-button{font-size:10px}}.foundation-figure{position:relative;aspect-ratio:3/2;max-height:none;background:#eee9df}.foundation-figure>img{display:block;width:100%;height:100%;object-fit:contain}.foundation-figure.compact{max-height:none}.foundation-posture-visual .foundation-figure{max-width:520px}.foundation-compare .foundation-figure{max-height:none}.ff-note{position:absolute;bottom:4px;left:8px;font-size:11px;color:#8c483c;background:#fff9;padding:3px 5px}.foundation-step-number{z-index:1}.foundation-posture-visual,.foundation-step-art{background:#eee9df}@media(max-width:640px){.foundation-route li{grid-template-columns:140px minmax(0,1fr)}.foundation-step-art{align-items:center}.foundation-figure.compact{width:100%}}.movement-index{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:28px 0}.movement-index a{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);padding:14px;color:#4a4742;text-decoration:none;font-size:13px;min-height:72px}.movement-index small{font-size:11px;line-height:1.5;color:#777}.movement-index a:hover{border-color:var(--red)}.movement-index a:focus-visible{outline:2px solid var(--red);outline-offset:3px}.movement-cards{display:grid;gap:28px}.movement-card{background:#fff;border:1px solid var(--line);scroll-margin-top:24px;min-width:0}.movement-copy{padding:25px 28px 10px}.movement-jp{font-family:Yu Mincho,MS Mincho,serif;font-size:27px;color:#817468}.movement-reading{font-size:12px!important;color:#777!important;margin:6px 0 16px}.movement-copy h2{font-size:23px;font-weight:500;margin:0 0 15px}.movement-copy p{font-size:14px;line-height:1.85;color:#666}.movement-context{border-left:2px solid #d5c8b8;padding-left:15px}.movement-images{display:grid;background:#f3efe6}.movement-images.paired{grid-template-columns:repeat(2,minmax(0,1fr))}.movement-images figure{margin:0;min-width:0}.movement-images img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.movement-images figcaption{font-size:12px;line-height:1.6;padding:12px 20px;color:#74695e}.movement-source-ref{font-size:10px;color:#888;padding:0 28px 15px;line-height:1.7}.movements-lesson .lesson-sources{margin-top:30px}.movements-lesson .lesson-sources a{color:var(--red);overflow-wrap:anywhere}@media(min-width:1000px){.movement-images:not(.paired) img{max-height:480px}}@media(max-width:700px){.movement-index{grid-template-columns:repeat(2,minmax(0,1fr))}.movement-copy{padding:20px 18px 8px}.movement-copy h2{font-size:21px}.movement-copy p{font-size:13px}.movement-source-ref{padding-inline:18px}.movement-images.paired{grid-template-columns:1fr}.movement-images figcaption{font-size:11px;padding:10px 15px}}@media(prefers-reduced-motion:reduce){.movement-card{scroll-behavior:auto}}.footwork-sequence{padding:0 14px 18px;background:#faf8f3}.footwork-key{font-size:11px;line-height:1.6;color:#74695e;padding:12px 0}.footwork-sequence ol{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:0;margin:0}.footwork-sequence li{min-width:0}.footwork-sequence strong{font-size:11px;line-height:1.5;font-weight:550;display:block;min-height:34px}.footwork-map{height:110px;position:relative;border-block:1px solid #ddd6cc;background:linear-gradient(90deg,transparent 49%,#e3ddd2 49%,#e3ddd2 50%,transparent 50%);margin:7px 0}.footprint{position:absolute;width:20px;height:25px;border:1px solid #81776a;border-radius:12px 12px 5px 5px;font-size:10px;line-height:23px;text-align:center;background:#e6dfd3;color:#504b43}.footprint.left{left:15%}.footprint.right{right:15%}.footwork-sequence li p{font-size:11px;line-height:1.65;color:#74695e;margin:0}@media(max-width:380px){.footwork-sequence{padding-inline:10px}.footwork-sequence ol{gap:7px}.footwork-sequence strong,.footwork-sequence li p{font-size:10px}}.movement-images .sheet-crop{background:#fff;max-height:none}.movement-images .sheet-crop img{aspect-ratio:auto;object-fit:fill;max-height:none!important}.movement-images.paired>figure:nth-child(3){grid-column:1/-1}.counting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:20px}.counting-card{border:1px solid var(--line);background:#fff;padding:23px;border-radius:var(--radius);min-width:0}.counting-number{display:flex;align-items:center;justify-content:space-between;color:#6b6b6b;font-size:13px}.counting-number>span{font-family:Yu Mincho,MS Mincho,serif;font-size:48px;color:#777}.counting-card h2{font-size:19px;font-weight:500;margin:17px 0 7px}.counting-card h2>span{font-size:14px;color:#6b6b6b}.counting-kana{font-size:18px;color:#888;margin-bottom:20px}.counting-card>.secondary{min-height:44px;max-width:100%;font-size:11px;padding:12px 15px}.counting-variant{border-top:1px solid var(--line);margin-top:23px;padding-top:17px}.counting-variant p{font-size:12px;line-height:1.9;margin:9px 0}.counting-variant small{display:block;font-size:10px;color:#6b6b6b}.counting-variant .text-button{min-height:44px}.counting-notes{background:#eee;border-left:2px solid var(--red);padding:23px 25px}.counting-notes h2{font-size:18px;font-weight:500}.counting-notes p{font-size:12px;line-height:1.9;margin-top:12px;color:#777}.counting-audio-status{min-height:60px;display:flex;align-items:center;gap:20px;font-size:11px;color:#888;line-height:1.8}.listening-player{margin-top:24px;border:1px solid var(--line);padding:22px;background:#eee;border-radius:var(--radius)}.listening-player>p{font-size:12px;color:#777;line-height:1.8;margin-top:12px}.listening-player .secondary{min-height:46px}.listening-player .text-button{margin-top:12px;min-height:44px}.listening-player .audio-error{color:#9c463d}.listening-player .audio-actions{display:flex;gap:20px;align-items:center;flex-wrap:wrap}.listening-player .audio-actions .text-button{margin:0}.counting-study .lesson-end p{line-height:1.8}.counting-study .lesson-sources{overflow-wrap:anywhere}@media(min-width:1280px){.counting-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}@media(max-width:1279px){.counting-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.counting-grid{gap:12px}.counting-card{padding:17px 14px}.counting-number>span{font-size:37px}.counting-card h2{font-size:17px;line-height:1.6}.counting-card h2>span{display:block;font-size:12px}.counting-notes{padding:20px 18px}.counting-notes p,.counting-variant p{font-size:11px}.counting-variant .small-label{font-size:9px}.counting-audio-status{align-items:flex-start;padding:17px 0;gap:10px;flex-direction:column}.listening-player{padding:20px 16px}.listening-player>p{font-size:11px}.counting-card>.secondary{padding:10px 8px;font-size:10px}}@media(max-width:360px){.counting-grid{grid-template-columns:1fr}.counting-card h2>span{display:inline}}.counting-voice-note{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:20px}.counting-card>.small-label{line-height:1.7;margin-bottom:12px}@media(min-width:641px){.track-bar>.track-switch{display:none}}.track-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 48px;border-bottom:1px solid var(--line);background:#f2f2f2}.track-bar>span{font-size:11px;color:#696969}.track-switch{display:flex;gap:4px;background:#e5e5e5;padding:4px;border-radius:6px;flex-shrink:0}.track-switch button{min-height:42px;padding:8px 16px;font-size:12px;border-radius:4px;white-space:nowrap}.track-switch button[aria-pressed=true]{background:#fff;color:var(--red);box-shadow:0 1px 3px #0001;font-weight:650}.sidebar>.track-switch{margin:0 0 24px;flex-wrap:wrap}.sidebar>.track-switch button{padding:8px 7px;flex:1}.course-heading{max-width:800px}.course-next{padding:25px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--red);border-radius:5px}.course-next h2{font-size:25px;margin:12px 0;font-weight:500}.course-next p{font-size:14px;line-height:1.8;color:#656565;max-width:650px}.course-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:20px}.course-actions .primary,.course-actions .secondary{white-space:normal;text-align:center}.course-outline{margin-top:38px}.course-note{color:#727272;font-size:12px;line-height:1.8;margin:12px 0 20px}.course-outline ol{padding:0;list-style:none}.course-group{font-weight:550;font-size:14px;color:#666;margin:28px 0 12px}.course-outline li>button{display:flex;width:100%;align-items:center;gap:16px;padding:18px 10px;border-bottom:1px solid var(--line)}.course-outline li>button:hover{background:#ececec}.step-state{width:32px;height:32px;border:1px solid #ccc;border-radius:50%;display:grid;place-items:center;flex-shrink:0;font-size:11px;color:#777}.step-state.read{color:#397744;border-color:#91a795}.course-outline strong{display:block;font-weight:550;font-size:15px}.course-outline small{display:block;font-size:12px;color:#777;line-height:1.8;margin-top:6px}.step-time{margin-left:auto;flex-shrink:0;font-size:11px;color:#777}.course-reference{border-top:1px solid var(--line);margin:32px 0;padding:25px 0;display:flex;gap:24px;flex-wrap:wrap}.course-reference h2{width:100%;font-weight:500;font-size:20px}.lesson-library>.page-heading{padding-bottom:8px}.intro-body{max-width:740px}.intro-body>p{font-size:16px;line-height:1.9;color:#555;margin:0 0 20px}.intro-lesson>h2{font-size:22px;font-weight:500;margin:30px 0 20px}.intro-terms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.intro-terms>div{padding:20px;background:#fff;border:1px solid var(--line);border-radius:5px;min-width:0;overflow-wrap:anywhere}.intro-terms [lang=ja]{display:block;font-size:28px;color:#777;margin-bottom:12px}.intro-terms strong{font-size:14px;line-height:1.8}.intro-terms h2,.intro-terms h3{font-weight:500;font-size:15px;line-height:1.7;margin:7px 0}.intro-terms p{font-size:13px;line-height:1.8;color:#666}.lesson-journey{margin-top:32px;padding:24px;border:1px solid var(--line);background:#eee;border-radius:5px}.lesson-journey h2{font-size:18px;font-weight:500}.lesson-journey p{font-size:13px;line-height:1.8;color:#666;margin-top:10px}.lesson-journey small{display:block;font-size:11px;line-height:1.8;color:#777;margin-top:10px}.term-detail{scroll-margin-top:20px}.local-progress{margin-top:0}@media(max-width:1100px){.track-bar{padding:12px 30px}.track-bar>span{max-width:200px;line-height:1.5}}@media(max-width:900px){.dictionary-layout{display:flex;flex-direction:column}.dictionary-layout>.term-detail{order:-1}.term-detail{width:100%}.track-bar{padding:12px 24px}}@media(max-width:640px){.track-bar{padding:10px 18px;align-items:flex-start;flex-direction:column;gap:7px}.track-bar>span{max-width:none;font-size:10px}.track-bar>.track-switch{width:100%}.track-switch button{flex:1;padding:8px 10px}.course-next{padding:20px}.course-next h2{font-size:21px}.course-next p{font-size:13px}.course-actions{gap:10px}.course-actions>.primary,.course-actions>.secondary{width:100%;font-size:12px;min-height:44px}.course-outline li>button{gap:12px;padding:16px 0;align-items:flex-start}.course-outline strong{font-size:13px}.course-outline small{font-size:11px}.step-time{font-size:10px;min-width:37px;padding-top:4px}.intro-body>p{font-size:14px}.intro-terms{grid-template-columns:1fr}.lesson-journey{padding:18px}.course-heading h1{font-size:31px}.course-reference{gap:18px}.course-reference .text-button{min-height:35px}.main .lesson-end .primary{white-space:normal}.topbar,.crumb{gap:10px}.crumb-current{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}@media(max-width:900px){.dictionary-layout{display:grid;grid-template-columns:minmax(0,1fr)}.dictionary-layout>section:first-child{display:contents}.dictionary-layout .dictionary-search{grid-row:1;width:100%;max-width:none;margin-bottom:0}.dictionary-layout .term-detail{grid-row:2;order:initial}.dictionary-layout .term-list{grid-row:3}}.legal-credits{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;font-size:11px;line-height:1.8;overflow-wrap:anywhere}.legal-credits summary{cursor:pointer}.legal-credits p{margin-top:10px}.legal-credits a{text-decoration:underline}:root{font-family:Segoe UI,Arial,Noto Sans,sans-serif;color:#262626;background:#f7f7f7;font-synthesis:none;--paper:#f7f7f7;--white:#fff;--ink:#262626;--muted:#757575;--line:#e2e2e2;--red:#b93b2e;--red-soft:#ececec;--radius:5px;--sidebar:230px}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{cursor:pointer}button,a,input{-webkit-tap-highlight-color:transparent}button{color:inherit}button{border:0;background:none}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--red);outline-offset:5px}button:disabled.primary{background:#dedede;color:#838383}h1,h2,h3,p{margin:0}h1:focus{outline:none}button{text-align:left}a{color:inherit}.app{min-height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar);background:#f0f0f0;border-right:1px solid #dedede;z-index:20;padding:38px 20px 25px;display:flex;flex-direction:column;height:100dvh;min-height:0;overflow-y:auto;overscroll-behavior:contain}.brand{display:flex;align-items:center;gap:14px;letter-spacing:.16em;font-size:24px;font-weight:650;line-height:1.1;padding:0 12px}.brand-sub{display:block;font-size:10px;letter-spacing:.32em;font-weight:500;margin-top:5px}.brand-mark{font-family:Yu Mincho,MS Mincho,serif;font-size:38px;font-weight:400;color:var(--red);letter-spacing:0}.side-rule{height:1px;background:#d9d9d9;margin:33px 12px 29px}.nav-label{font-size:11px;letter-spacing:.1em;color:var(--muted);padding:0 12px;margin-bottom:16px}.sidebar nav{display:grid;gap:7px}.nav-item{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:500;padding:13px;width:100%;border-radius:var(--radius);color:#696969}.nav-item:hover{background:#e8e8e8;color:var(--ink)}.nav-item.active{background:#e6e6e6;color:var(--ink)}.nav-item.active svg{color:var(--red)}.nav-count{margin-left:auto;font-size:10px;color:#6b6b6b}.side-bottom{margin-top:auto}.side-quote{padding:0 13px 30px}.side-quote>span{font-family:Yu Mincho,MS Mincho,serif;font-size:17px;letter-spacing:.1em;color:#606060}.side-quote p{font-size:10px;color:#878787;margin-top:9px}.side-meta{margin:24px 13px 0;padding-top:20px;border-top:1px solid #d9d9d9;font-size:11px;letter-spacing:.045em;color:#878787;line-height:1.9}.workspace{margin-left:var(--sidebar)}.topbar{height:79px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 48px;gap:20px}.crumb{display:flex;align-items:center;gap:16px;font-size:11px;color:#6b6b6b}.slash{color:#b7b7b7}.crumb-current{color:#4f4f4f}.top-actions{display:flex;align-items:center;gap:30px}.no-account{color:#6b6b6b;font-size:10px}.lang-switch{display:flex;font-size:10px;gap:3px}.lang-switch button{padding:5px 8px;color:#6b6b6b}.lang-switch .selected{background:#eaeaea;color:#343434;border-radius:3px}.main{max-width:1450px;margin:0 auto;padding:0 64px}.welcome{min-height:405px;display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:22px;padding:44px 0 43px}.eyebrow{font-size:11px;font-weight:600;letter-spacing:.11em;color:#787878;display:flex;align-items:center;gap:9px;margin-bottom:24px}.red-dash{width:18px;height:2px;background:var(--red)}h1{font-weight:470;font-size:clamp(32px,3.15vw,49px);letter-spacing:-.045em;line-height:1.13}.intro{font-size:13px;color:#7b7b7b;line-height:1.8;max-width:365px;margin-top:22px}.primary,.secondary{padding:13px 20px;min-height:45px;border-radius:var(--radius);display:inline-flex;gap:23px;align-items:center;justify-content:center;font-size:11px;font-weight:600;white-space:nowrap;transition:background .18s,transform .18s}.primary{background:var(--red);color:#fff}.primary:hover:not(:disabled){background:#a72f24;transform:translateY(-1px)}.secondary{border:1px solid #d6d6d6;background:transparent}.secondary:hover{background:#ededed}.welcome .primary{margin-top:26px}.hero-art{height:315px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.enso{position:absolute;width:258px;height:258px;border:19px solid #d8d8d8;border-left-width:14px;border-bottom-width:22px;transform:rotate(-24deg);border-radius:50% 49% 46% 52%;opacity:.65}.enso:before{content:"";position:absolute;inset:-19px;border:2px solid #c9c9c9;border-radius:45% 51% 49% 50%;transform:rotate(18deg)}.hero-kanji{font-family:Yu Mincho,MS Mincho,serif;font-size:105px;line-height:1;color:#3b3b3b;letter-spacing:-.05em;position:relative;writing-mode:vertical-rl;transform:rotate(-4deg);padding-top:0}.art-seal{font-family:Yu Mincho,MS Mincho,serif;position:absolute;right:30px;bottom:42px;background:var(--red);color:#ebebeb;font-size:26px;padding:6px 4px;transform:rotate(3deg);border:3px double #f0b2a3}.art-caption{position:absolute;bottom:0;left:50%;transform:translate(-50%);font-size:10px;letter-spacing:.23em;color:#6b6b6b;white-space:nowrap}.continue-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:23px;margin:0 0 43px}.continue-card{border:1px solid #dddddd;background:#fff;display:flex;align-items:center;gap:23px;padding:21px;border-radius:var(--radius);transition:border .18s,box-shadow .18s}.continue-card:hover{border-color:#c1c1c1;box-shadow:0 5px 20px #30303006}.mini-kata{height:115px;width:103px;flex-shrink:0;background:#ebebeb;position:relative;display:grid;place-items:center;overflow:hidden}.mini-kata:before{content:"";width:103px;height:103px;border:1px solid #cfcfcf;position:absolute;transform:rotate(45deg)}.mini-kata>span{font-family:Yu Mincho,MS Mincho,serif;font-size:53px;position:relative;color:#535353}.mini-kata i{font-size:11px;position:absolute;bottom:8px;right:10px;font-style:normal;color:#6b6b6b}.small-label{font-size:10px;letter-spacing:.11em;font-weight:600;color:#7a7a7a}.continue-copy h2{font-size:22px;letter-spacing:-.02em;font-weight:500;margin:9px 0 5px}.continue-copy h2>span{color:#6b6b6b;font-size:16px;font-weight:400}.continue-copy p{color:#7f7f7f;font-size:11px}.card-meta{display:flex;align-items:center;gap:8px;margin-top:19px;font-size:11px;color:#6b6b6b}.demo-inline{font-size:11px;color:#8b7469;font-weight:400;letter-spacing:0}.circle-arrow{width:34px;height:34px;border:1px solid #e4e4e4;border-radius:50%;display:grid;place-items:center;margin-left:auto;flex-shrink:0;color:#616161}.practice-card{border-left:1px solid var(--line);padding:13px 0 8px 28px}.practice-card h2{font-size:19px;letter-spacing:-.03em;font-weight:500;margin:13px 0 9px}.practice-card p{font-size:11px;line-height:1.75;color:#888;max-width:250px}.text-button{display:inline-flex;align-items:center;gap:14px;color:var(--red);font-size:11px;font-weight:600;padding:0;line-height:1.5}.text-button:hover{text-decoration:underline;text-underline-offset:4px}.practice-card .text-button{margin-top:18px}.section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px;gap:20px}.section-title h2{font-weight:500;font-size:18px;letter-spacing:-.025em}.section-title>span{font-size:10px;color:#6b6b6b}.topic-list{border-top:1px solid var(--line)}.topic-list>button{display:flex;align-items:center;width:100%;gap:23px;padding:23px 0;border-bottom:1px solid var(--line);transition:padding .18s}.topic-list>button:hover{padding-left:9px;padding-right:9px}.topic-num{font-size:10px;color:#6b6b6b;font-variant-numeric:tabular-nums}.topic-list svg{color:#7c7c7c}.topic-list h3{font-size:13px;font-weight:500;margin-bottom:6px}.topic-list p{font-size:10px;color:#6b6b6b}.topic-count{margin-left:auto;color:#6b6b6b;font-size:11px}.bottom-note{display:flex;align-items:center;gap:20px;margin-top:35px;margin-bottom:26px}.note-mark{font-family:Yu Mincho,MS Mincho,serif;color:#6b6b6b;font-size:33px}.bottom-note p{font-size:11px;color:#767676;line-height:1.6}.bottom-note p>span{display:block;font-size:11px;color:#6b6b6b;margin-top:4px}.footer{display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#6b6b6b;border-top:1px solid var(--line);padding:22px 0 24px;line-height:1.7;margin-top:35px}.footer-dot{margin:0 10px}.page-heading{padding:46px 0 35px;max-width:650px}.page-heading .eyebrow{margin-bottom:21px}.page-heading h1{font-size:43px}.page-heading h1>span{color:#6b6b6b}.page-heading>p:last-child{font-size:12px;line-height:1.8;color:#848484;margin-top:26px;max-width:480px}.page-heading>.primary{margin-top:30px}.page-heading h1+p{margin-top:24px}.catalog-tools{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:24px}.tabs{display:flex;gap:21px;align-items:center}.tabs button{font-size:11px;color:#6b6b6b;padding:12px 0;white-space:nowrap;border-bottom:2px solid transparent}.tabs button.active{color:#353535;border-color:var(--red)}.tabs button:hover{color:#3a3a3a}.search{display:flex;align-items:center;gap:10px;border:1px solid #dfdfdf;border-radius:var(--radius);padding:10px 12px;color:#6b6b6b;background:#fff;max-width:240px}.search input{border:0;outline:none;background:none;font-size:11px;width:100%;min-width:0;color:var(--ink)}.search input::placeholder{color:#6b6b6b}.search:focus-within{border-color:var(--red);outline:1px solid var(--red)}.search input:focus-visible{outline:none}.search>button{padding:0;display:flex}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.kata-card{border:1px solid #dfdfdf;border-radius:var(--radius);background:#fff;padding:18px 20px 17px;min-height:263px;transition:border .18s,transform .18s}.kata-card:hover{border-color:#b5b5b5;transform:translateY(-3px)}.kata-card-top{display:flex;align-items:center;justify-content:space-between}.kata-number{font-size:10px;color:#6b6b6b}.kata-jp{display:block;font-family:Yu Mincho,MS Mincho,serif;font-size:38px;height:80px;padding-top:14px;letter-spacing:.05em;color:#5a5a5a}.kata-name{display:flex;justify-content:space-between;align-items:center}.kata-name h2{font-size:19px;font-weight:500;letter-spacing:-.03em}.kata-name svg{color:#6b6b6b}.kata-cyr{font-size:10px;color:#6b6b6b;margin:7px 0 17px;line-height:1.6}.kata-order{border-top:1px solid #efefef;padding-top:11px;color:#6b6b6b;font-size:11px;line-height:1.8}.empty{padding:50px 15px;text-align:center;color:#6b6b6b;display:grid;justify-items:center;gap:17px}.empty h2{font-size:20px;color:#515151;font-weight:500}.empty p{font-size:12px;line-height:1.7}.back{display:inline-flex;align-items:center;gap:10px;font-size:10px;color:#6b6b6b;padding:0;margin:30px 0}.back:hover{color:var(--red)}.lesson-layout{display:grid;grid-template-columns:minmax(0,1fr) 235px;gap:55px}.lesson-title .eyebrow{gap:18px;margin-bottom:16px}.lesson-title h1{font-size:50px;display:flex;align-items:baseline;gap:20px}.lesson-local{font-size:26px;color:#6b6b6b;letter-spacing:-.02em}.full-name{margin-top:24px;display:flex;align-items:center;gap:25px}.full-name>span{font-family:Yu Mincho,MS Mincho,serif;font-size:24px;color:#868686}.full-name p{font-size:11px;color:#6b6b6b;line-height:1.8}.lesson-tabs{border-bottom:1px solid var(--line);margin-top:31px;margin-bottom:6px}.lesson-section{display:grid;grid-template-columns:27px 1fr;gap:15px;margin-top:28px}.section-index{font-size:10px;color:#6b6b6b;padding-top:5px}.lesson-section h2{font-size:19px;font-weight:500;letter-spacing:-.02em}.lesson-section p{font-size:12px;line-height:1.9;color:#888;margin-top:12px}.meaning{background:#f0f0f0;border-left:2px solid #c7c7c7;margin-top:20px;padding:16px 20px}.meaning span{display:block;font-size:11px;color:#6b6b6b;margin-bottom:6px}.meaning strong{font-size:18px;font-weight:500;color:#646464}.connection{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:var(--radius);padding:23px;margin-top:21px;color:#707070}.connection>span{font-size:34px;font-weight:300}.connection i{height:1px;width:25px;background:#d1d1d1}.connection>div{font-size:14px}.connection small{display:block;font-size:10px;color:#6b6b6b;margin-top:5px}.editor-note{font-size:11px;line-height:1.9;color:#6b6b6b;margin-top:26px}.lesson-poster{height:285px;background:#ebebeb;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--radius)}.lesson-poster:after{content:"";position:absolute;inset:35px -40px;border:1px solid #dadada;transform:rotate(-35deg)}.poster-count{position:absolute;top:20px;left:20px;font-size:11px;color:#6b6b6b}.poster-kanji{font-family:Yu Mincho,MS Mincho,serif;font-size:76px;position:relative;z-index:1;writing-mode:vertical-rl;white-space:nowrap;color:#747474;line-height:1.1}.poster-seal{position:absolute;bottom:20px;right:20px;font-family:Yu Mincho,MS Mincho,serif;color:var(--red);border:1px solid var(--red);padding:3px;font-size:17px;writing-mode:vertical-rl}.lesson-aside-meta{margin-top:26px}.lesson-aside-meta>span{font-size:10px;letter-spacing:.1em;color:#6b6b6b}.lesson-aside-meta p{font-size:10px;color:#6b6b6b;border-bottom:1px solid var(--line);padding:13px 0}.lesson-aside>.text-button{margin-top:21px}.lesson-end{margin-top:30px;border-top:1px solid var(--line);padding-top:25px;display:flex;align-items:center;justify-content:space-between;gap:20px}.lesson-end h3{font-size:14px;font-weight:500}.lesson-end p{font-size:10px;color:#6b6b6b;margin-top:7px;line-height:1.7}.lesson-end .primary{gap:15px;padding:12px 15px}.related-terms{margin-top:20px}.related-terms>button{display:flex;gap:20px;width:100%;padding:20px 0;border-bottom:1px solid var(--line);align-items:center}.related-terms>button>span{font-family:Yu Mincho,MS Mincho,serif;font-size:30px;color:#6b6b6b}.related-terms h2{font-size:15px;font-weight:500}.related-terms p{font-size:11px;color:#6b6b6b;margin-top:5px}.related-terms svg{margin-left:auto;color:#6b6b6b}.dictionary-layout{display:grid;grid-template-columns:1fr 1.1fr;gap:35px}.dictionary-search{max-width:none}.term-list{margin-top:17px}.term-list>button{display:flex;align-items:center;width:100%;gap:19px;padding:18px 15px;border-bottom:1px solid #e5e5e5;border-radius:var(--radius)}.term-list>button:hover,.term-list>button.selected{background:#eee}.term-list>button>span{font-family:Yu Mincho,MS Mincho,serif;color:#6b6b6b;font-size:27px;width:45px;text-align:center}.term-list strong{font-size:14px;font-weight:500}.term-list small{display:block;font-size:10px;color:#6b6b6b;margin-top:5px}.term-list svg{margin-left:auto;color:#6b6b6b}.term-detail{background:#fff;border:1px solid #e2e2e2;border-radius:var(--radius);padding:27px 30px}.term-detail-top{display:flex;justify-content:space-between}.term-jp{font-family:Yu Mincho,MS Mincho,serif;font-size:65px;color:#848484;margin-top:30px}.term-detail h2{font-size:28px;font-weight:500;letter-spacing:-.03em;margin-top:8px}.term-reading{font-size:12px;color:#6b6b6b;margin-top:10px}.term-description{font-size:12px;line-height:1.8;color:#6b6b6b;margin-top:23px}.sword-diagram{height:155px;background:#f2f2f2;margin-top:25px;position:relative;border-radius:3px;overflow:hidden}.sword{position:absolute;left:10%;right:7%;top:66px;height:14px;display:flex;align-items:center}.sword-hilt{height:10px;width:27%;background:repeating-linear-gradient(45deg,#aeaeae,#aeaeae 4px,#cfcfcf 4px 7px);border-radius:3px}.sword-guard{height:31px;width:5px;background:#828282}.sword-blade{height:10px;width:71%;background:#d2d2d2;border-radius:0 0 90%;border-top:2px solid #adadad}.saya{position:absolute;top:103px;left:34%;right:7%;height:12px;background:#949494;border-radius:0 0 70% 4px;opacity:.4}.diagram-pointer{position:absolute;top:18px;left:32%;height:42px;width:1px;background:var(--red);color:var(--red)}.diagram-pointer span{font-size:11px;position:absolute;top:0;left:7px}.selected-0 .diagram-pointer{left:19%;height:38px;top:23px}.selected-2 .diagram-pointer{left:86%}.selected-2 .diagram-pointer span{left:auto;right:7px}.selected-3 .diagram-pointer{left:64%;top:112px;height:19px}.selected-3 .diagram-pointer span{top:8px}.diagram-caption{font-size:10px;color:#6b6b6b;text-align:center;margin-top:10px}.term-symbol{font-family:Yu Mincho,MS Mincho,serif;font-size:90px;text-align:center;color:#e1e1e1;margin-top:25px}.quiz-wrap{max-width:700px;margin:0 auto;min-height:650px}.quiz-wrap>.back{margin-bottom:36px}.quiz-heading .eyebrow{margin-bottom:27px}.quiz-counter{display:flex;justify-content:space-between;font-size:10px;color:#6b6b6b}.quiz-counter>span:first-child{color:#636363;font-size:12px}.quiz-counter>span:first-child span{color:#6b6b6b}.quiz-progress{display:flex;gap:6px;margin-top:15px}.quiz-progress>span{height:3px;background:#e5e5e5;flex:1}.quiz-progress .filled{background:var(--red)}.question-title{font-size:32px;line-height:1.25;margin-top:43px;max-width:610px}.question-context{font-size:12px;line-height:1.8;color:#6b6b6b;margin-top:16px}.options{display:grid;gap:12px;margin-top:30px}.option{display:flex;align-items:center;gap:20px;background:#fff;border:1px solid #e2e2e2;border-radius:var(--radius);padding:15px 20px;font-size:15px;min-height:58px}.option:hover:not(:disabled){border-color:#b7b7b7}.option-letter{width:25px;height:25px;border:1px solid #e6e6e6;border-radius:4px;display:grid;place-items:center;font-size:10px;color:#6b6b6b}.option.chosen{border-color:var(--red);background:#f6f6f6}.option.chosen .option-letter{color:var(--red);border-color:#dfbab1}.option>svg,.option-selected{margin-left:auto}.option-selected{height:10px;width:10px;border-radius:50%;background:var(--red)}.option.correct{background:#eef5f0;border-color:#4f7d5e;color:#2f5a40}.option.incorrect{background:#f1f1f1;border-color:var(--red);color:var(--red)}.answer-feedback{display:flex;gap:13px;padding:22px;background:#efefef;border-radius:var(--radius);margin-top:24px}.feedback-icon{flex-shrink:0;color:#7d7d7d}.answer-feedback h2{font-size:14px;font-weight:500;color:#626262}.answer-feedback p{font-size:11px;line-height:1.85;color:#6b6b6b;margin-top:9px}.answer-feedback .text-button{margin-top:14px;font-size:10px}.quiz-footer{margin-top:28px;border-top:1px solid var(--line);padding-top:23px;display:flex;justify-content:space-between;align-items:center;gap:15px}.quiz-footer>span{font-size:11px;color:#6b6b6b}.quiz-footer .primary{min-width:185px}.result{padding:0 0 40px}.result-symbol{font-family:Yu Mincho,MS Mincho,serif;font-size:80px;color:#c7c7c7;margin:0 0 24px}.result h1{font-size:42px}.result-score{display:flex;align-items:center;gap:23px;margin:25px 0}.result-score>strong{font-size:56px;font-weight:300;letter-spacing:-.06em;color:gray}.result-score>strong>span{font-size:35px;color:#c4c4c4}.result-score p{font-size:13px}.result-score small{display:block;font-size:11px;color:#6b6b6b;margin-top:8px}.result-copy{font-size:12px;line-height:1.8;color:#6b6b6b;max-width:450px}.result-actions{display:flex;gap:12px;margin-top:30px}.mobile-menu,.mobile-nav{display:none}.icon-button{display:grid;place-items:center;padding:4px;color:#6b6b6b}.menu-scrim{display:none}.skip{position:fixed;top:-100px;left:15px;background:var(--red);color:#fff;z-index:100;padding:13px;font-size:13px}.skip:not(:focus){clip-path:inset(50%)}.skip:focus{top:15px}dialog{border:1px solid #e2e2e2;border-radius:7px;padding:0;width:min(490px,calc(100% - 30px));max-height:90dvh;color:var(--ink);box-shadow:0 25px 80px #2f2f2f20}dialog::backdrop{background:#1d1d1d55;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.settings{padding:30px}.dialog-title{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-title h2{font-size:24px;font-weight:500;letter-spacing:-.03em}.settings>p{font-size:12px;line-height:1.8;color:#6b6b6b;margin-top:12px}.settings-label{display:block;font-size:10px;margin:25px 0 12px;color:#7d7d7d}.settings-languages{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settings-languages button{border:1px solid #e3e3e3;padding:12px;border-radius:4px;display:flex;align-items:center;justify-content:space-between;font-size:12px}.settings-languages button.active{border-color:var(--red);color:var(--red);background:#f3f3f3}.settings-note{border-top:1px solid var(--line);margin-top:27px;padding-top:22px}.settings-note h3{font-size:13px;font-weight:500}.settings-note p,.reset-confirm p{font-size:11px;line-height:1.8;color:#6b6b6b;margin-top:11px}.settings>.text-button{margin-top:20px}.reset-confirm{margin-top:20px}.reset-confirm .primary{margin:15px 15px 0 0;font-size:10px;min-height:35px;padding:10px 15px}@media(min-width:1550px){.welcome{min-height:465px}.hero-art{height:350px}.enso{width:280px;height:280px}.hero-kanji{font-size:115px}.main{padding:0 80px}.continue-grid{margin-bottom:50px}.continue-card{padding:26px}.topbar{padding:0 65px}}@media(max-width:1200px){:root{--sidebar:205px}.sidebar{padding-inline:14px}.main,.topbar{padding-inline:36px}.welcome{grid-template-columns:1.4fr 1fr;gap:0}.hero-art{height:285px}.enso{width:220px;height:220px;border-width:15px}.hero-kanji{font-size:90px}.art-seal{right:5px}.no-account{display:none}.continue-card{gap:16px;padding:18px}.mini-kata{width:80px;height:110px}.circle-arrow{display:none}.continue-grid{gap:20px}.practice-card{padding-left:20px}.practice-card h2{font-size:17px}.lesson-layout{gap:30px;grid-template-columns:minmax(0,1fr) 190px}.lesson-title h1{font-size:43px}.full-name{display:block}.full-name p{margin-top:10px}.lesson-end{align-items:flex-start;flex-direction:column}.dictionary-layout{gap:22px}.term-detail{padding:23px}.catalog-tools{gap:20px}.tabs{gap:15px}.catalog-grid{gap:13px}.kata-card{padding-inline:16px}.section-title>span{display:none}}@media(max-width:900px){.main,.topbar{padding-inline:28px}.welcome{grid-template-columns:1fr .7fr;min-height:365px}.welcome h1{font-size:35px}.intro{font-size:12px}.hero-art{height:230px}.enso{width:170px;height:170px;border-width:12px}.hero-kanji{font-size:71px}.art-seal{font-size:18px;bottom:32px;right:0}.art-caption{font-size:6px}.continue-grid{grid-template-columns:1fr;gap:20px}.practice-card{border-left:0;padding:18px 20px;background:#eee;border-radius:var(--radius);display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 20px}.practice-card .small-label{grid-column:1/-1}.practice-card h2{margin:3px 0 0}.practice-card p{grid-column:1;grid-row:3;max-width:none}.practice-card .text-button{grid-column:2;grid-row:2/4;margin-top:0}.catalog-grid{grid-template-columns:repeat(2,1fr)}.catalog-tools{align-items:stretch;flex-direction:column;gap:15px}.search{max-width:none}.page-heading h1{font-size:38px}.lesson-layout{grid-template-columns:1fr}.lesson-aside{display:none}.lesson-title .eyebrow{flex-wrap:wrap;gap:10px}.full-name{display:flex}.full-name p{margin-top:0}.lesson-end{flex-direction:row;align-items:center}.dictionary-layout{grid-template-columns:1fr}.term-detail{padding:25px}.term-jp{margin-top:20px}.term-list{display:grid;grid-template-columns:1fr 1fr;gap:5px}.term-list>button{padding:12px;gap:12px}.term-list small{line-height:1.7}.term-list>button>span{font-size:23px;width:30px}.term-list svg{display:none}.question-title{font-size:29px}.quiz-footer>span{max-width:120px;line-height:1.8}.footer>span:last-child{display:none}.topic-list>button{gap:15px}.topic-count{font-size:10px}}@media(max-width:640px){:root{--sidebar:230px}.sidebar{transform:translate(-100%);transition:transform .2s;z-index:50;padding-top:30px;padding-bottom:30px}.sidebar.is-open{transform:translate(0)}.menu-scrim{display:block;position:fixed;inset:0;background:#22222250;z-index:40}.workspace{margin-left:0}.topbar{height:65px;padding:0 21px;gap:10px;background:var(--paper)}.crumb{gap:12px;font-size:10px}.mobile-menu{display:flex;margin-right:2px}.top-actions{gap:0}.lang-switch{font-size:11px}.lang-switch button{padding:5px 6px}.main{padding:0 23px 65px}.welcome{grid-template-columns:1fr .6fr;gap:0;min-height:354px;padding:32px 0}.eyebrow{font-size:9px;letter-spacing:.065em;margin-bottom:21px;gap:6px}.red-dash{width:12px;flex-shrink:0}.welcome h1{font-size:29px;line-height:1.14;letter-spacing:-.05em}.intro{font-size:11px;line-height:1.8;margin-top:17px;max-width:220px}.welcome .primary{font-size:10px;gap:13px;padding:11px 15px;margin-top:22px;min-height:40px}.hero-art{height:215px;margin-right:-15px;margin-left:-12px;overflow:visible}.enso{width:136px;height:136px;border-width:9px}.enso:before{inset:-10px}.hero-kanji{font-size:63px}.art-seal{right:2px;bottom:22px;font-size:16px;padding:3px 2px}.art-caption{font-size:5px;letter-spacing:.12em;bottom:0}.continue-grid{margin-bottom:31px;gap:16px}.continue-card{padding:17px;gap:18px}.mini-kata{width:80px;height:105px}.continue-copy h2{font-size:22px}.continue-copy p{font-size:10px}.card-meta{font-size:10px;gap:6px;margin-top:15px}.small-label{font-size:9px}.practice-card{padding:17px;gap:8px 12px}.practice-card h2{font-size:15px}.practice-card p{font-size:10px;max-width:185px}.practice-card .text-button{font-size:11px;gap:7px}.section-title{margin-bottom:13px}.section-title h2{font-size:17px}.topic-list>button{padding:20px 0;gap:13px}.topic-list>button>svg:first-of-type{width:22px}.topic-list h3{font-size:12px}.topic-list p{font-size:11px;line-height:1.6;max-width:210px}.topic-count{display:none}.topic-list>button>svg:last-child{margin-left:auto;width:17px}.topic-num{font-size:10px}.bottom-note{gap:15px;margin-top:27px}.bottom-note p{font-size:10px}.bottom-note p>span{font-size:10px;max-width:250px;line-height:1.7}.note-mark{font-size:29px}.footer{margin-top:24px;font-size:9px;padding-top:17px}.mobile-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;bottom:0;left:0;right:0;height:66px;padding:7px 9px max(7px,env(safe-area-inset-bottom));border-top:1px solid #dfdfdf;background:#f7f7f7f5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:30}.mobile-nav button{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;color:#6b6b6b;font-size:10px}.mobile-nav button.active{color:var(--red)}.mobile-nav button.active svg{color:var(--red)}.page-heading{padding:32px 0 25px}.page-heading .eyebrow{margin-bottom:18px}.page-heading h1{font-size:35px}.page-heading>p:last-child{font-size:11px;margin-top:16px}.catalog-tools{gap:13px;margin-bottom:18px}.tabs{gap:23px}.tabs button{font-size:10px;padding:10px 0}.catalog-grid{gap:12px}.kata-card{min-height:250px;padding:15px 14px}.kata-jp{font-size:31px;height:74px;padding-top:17px;letter-spacing:0}.kata-name h2{font-size:16px}.kata-name svg{width:15px}.kata-cyr{font-size:11px;min-height:29px;margin-bottom:12px}.kata-order{font-size:10px}.kata-number{font-size:11px}.kata-card .demo-inline{font-size:10px}.back{margin:24px 0 27px;font-size:10px}.lesson-title h1{font-size:44px}.lesson-local{font-size:25px}.full-name{align-items:flex-start;gap:20px;margin-top:20px}.full-name>span{font-size:20px;line-height:1.3;max-width:100px}.full-name p{font-size:10px;line-height:1.8}.lesson-title .eyebrow{font-size:10px;margin-bottom:15px;gap:13px}.lesson-title .demo-inline{font-size:10px}.lesson-tabs{margin-top:23px;gap:25px}.lesson-section{grid-template-columns:20px 1fr;gap:10px;margin-top:27px}.lesson-section h2{font-size:18px}.lesson-section p{font-size:11px;line-height:1.9;margin-top:12px}.section-index{font-size:11px}.meaning{padding:15px 17px}.meaning strong{font-size:17px}.connection{padding:19px 15px;gap:9px}.connection>span{font-size:29px}.connection>div{font-size:12px}.connection i{width:18px}.connection small{font-size:11px}.editor-note{font-size:10px}.lesson-end{flex-direction:column;align-items:flex-start;gap:20px;margin-top:26px}.lesson-end .primary{width:100%;font-size:11px;justify-content:space-between}.dictionary-layout{gap:23px}.term-list{gap:4px}.term-list>button{padding:13px 7px;gap:9px}.term-list strong{font-size:12px}.term-list small{font-size:10px}.term-list>button>span{font-size:23px;min-width:29px}.term-detail{padding:23px}.term-jp{font-size:55px}.term-detail h2{font-size:25px}.term-description,.term-reading{font-size:11px}.quiz-wrap{min-height:620px}.quiz-wrap>.back{margin-bottom:30px}.quiz-heading .eyebrow{font-size:10px;margin-bottom:23px}.quiz-counter{font-size:10px;align-items:center}.quiz-counter>span:first-child{font-size:11px}.question-title{font-size:28px;line-height:1.22;margin-top:34px}.question-context{font-size:11px;margin-top:17px}.options{margin-top:25px;gap:10px}.option{padding:14px 15px;min-height:57px;font-size:14px;gap:15px}.quiz-footer{flex-direction:column;align-items:stretch;gap:20px;margin-top:24px}.quiz-footer>span{order:2;max-width:none;text-align:center;font-size:10px}.quiz-footer .primary{width:100%;justify-content:space-between}.answer-feedback{padding:18px 15px;gap:10px}.answer-feedback h2{font-size:12px;line-height:1.5}.answer-feedback p{font-size:10px}.result-symbol{font-size:65px;margin-bottom:20px}.result h1{font-size:34px}.result-score>strong{font-size:52px}.result-score p,.result-copy{font-size:11px}.result-actions{flex-direction:column;gap:11px}.result-actions button{width:100%}.settings{padding:25px}.dialog-title h2{font-size:22px}.settings>p{font-size:11px}.settings-note p{font-size:10px}.related-terms h2{font-size:13px}}@media(max-width:360px){.main{padding-inline:18px}.welcome h1{font-size:26px}.hero-art{margin-right:-10px}.enso{width:115px;height:115px}.hero-kanji{font-size:56px}.hero-art{height:200px}.art-seal{right:-4px;bottom:26px}.continue-copy h2{font-size:20px}.continue-card{gap:12px;padding:14px}.mini-kata{width:70px}.practice-card{grid-template-columns:1fr}.practice-card .text-button{grid-column:1;grid-row:4;margin-top:4px}.practice-card p{max-width:none}.catalog-grid{gap:9px}.kata-card{padding-inline:11px}.kata-name h2{font-size:14px}.tabs{gap:18px}.crumb{gap:9px}.topbar{padding-inline:16px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}@media(max-width:640px){.hero-art{overflow:hidden;min-width:0}.welcome-copy{min-width:0}.sidebar{transition:none}.sidebar.is-open{transition:transform .2s}}.interactive-sword{margin-top:25px;padding:16px 12px 12px;background:#f2f2f2;border:1px solid #e3e3e3;border-radius:4px;min-width:0}.diagram-tooltip-space{min-height:63px;display:flex;align-items:center;padding:0 8px}.diagram-tooltip{background:#fff;border-left:2px solid var(--red);padding:10px 12px;width:100%;font-size:12px;line-height:1.7;color:#595959}.diagram-tooltip strong{font-weight:500;display:block}.diagram-tooltip>span{display:block;font-size:11px;color:#7d7d7d}.diagram-hint{font-size:11px;line-height:1.8;color:#6b6b6b}.sword-svg{display:block;width:100%;height:auto;overflow:visible}.sword-part{cursor:pointer;outline:none}.part-geometry{fill:#a6a6a6;stroke:#777;stroke-width:1.5;pointer-events:none}.part-geometry .cord{fill:none;stroke:#8c8c8c;stroke-width:7;stroke-linecap:round}.sword-part .part-hit{fill:transparent;stroke:transparent;stroke-width:2}.sword-part text{font-size:15px;fill:#8c8c8c;pointer-events:none}.sword-part:hover .part-hit,.sword-part:focus-visible .part-hit{stroke:var(--red);stroke-dasharray:4 4;fill:#b93b2e08}.sword-part.is-selected .part-geometry{stroke:var(--red);stroke-width:3}.sword-part.is-selected .cord{stroke:var(--red)}.sword-part.is-selected text{fill:var(--red);font-weight:600}.sword-part.is-correct .part-hit{stroke:#676767;stroke-dasharray:5 3}.sword-part[aria-disabled=true]{cursor:default}.diagram-parts{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.diagram-parts button{min-height:36px;display:flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid #dedede;border-radius:3px;font-size:10px;color:#777;background:#fafafa}.diagram-parts button span{font-size:10px;color:#6b6b6b}.diagram-parts button.active{border-color:var(--red);color:var(--red)}.diagram-caption{font-size:11px;line-height:1.8;color:#888;margin-top:13px}.sword-test{margin-top:25px;padding:15px}.sword-test .diagram-parts{justify-content:center}.sword-test .diagram-parts button{min-height:44px;min-width:44px;justify-content:center;font-size:13px}.sword-test .diagram-parts button span{font-size:12px}.study-card{background:#ededed;border:1px solid #dedede;border-radius:4px;margin-top:25px;padding:24px;text-align:center}.study-card>.small-label{display:block;color:#6b6b6b}.study-card>[lang=ja]{display:block;font-family:Yu Mincho,MS Mincho,serif;font-size:62px;color:#747474;margin:18px 0 10px}.study-card p{font-size:12px;color:#777}.local-progress{margin-top:35px;border-top:1px solid var(--line);padding-top:25px}.local-progress>p{font-size:11px;line-height:1.8;color:#858585}.local-progress>p strong{font-weight:500;color:#555}.local-progress>.text-button{margin-top:17px}.local-progress details{margin-top:22px;font-size:11px;color:#777}.local-progress summary{cursor:pointer;min-height:35px;display:list-item;list-style-position:inside}.local-progress ol{margin:0;padding:0;list-style:none}.local-progress li{padding:12px 0;border-top:1px solid var(--line);line-height:1.8}.local-progress li>span,.local-progress li>small{display:block;font-size:11px;color:#6b6b6b}.local-progress details>p{font-size:11px;margin-top:12px;line-height:1.8}.storage-warning{margin-top:30px;font-size:11px;line-height:1.8;border-left:2px solid var(--red);padding:12px 16px;background:#efefef;color:#7b4d45}.result-review{list-style:none;padding:0;margin-top:25px;font-size:11px;color:#858585}.result-review li{display:flex;gap:12px;padding:11px 0;border-bottom:1px solid var(--line);line-height:1.7}.result-review li>span{min-width:56px;color:#626262}.result>.text-button{margin-top:22px}.result-actions{flex-wrap:wrap}.result-actions button{min-width:0}.text-button:disabled{opacity:.45;cursor:default}@media(max-width:640px){.interactive-sword{padding:12px 7px}.diagram-tooltip-space{padding:0 4px;min-height:65px}.diagram-tooltip{padding:8px 10px}.diagram-parts button{min-height:44px;padding:5px 9px;font-size:10px}.diagram-caption{font-size:10px}.local-progress .section-title>span{display:none}.local-progress>p{font-size:10px}.study-card{padding:20px}.result-review{font-size:10px}}.term-list>button>span{white-space:nowrap;flex:0 0 52px;width:52px;font-size:23px}.term-list small{line-height:1.7}.lesson-layout>article,.lesson-section>div{min-width:0}.lesson-title h1{flex-wrap:wrap;row-gap:8px}.lesson-start{font-weight:500;color:var(--ink)}.sequence-strip{list-style:none;padding:0;margin:22px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sequence-strip li{position:relative;display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);background:#f0f0f0;padding:15px 12px;font-size:12px;line-height:1.6}.sequence-number{color:var(--red);font-size:11px;padding-top:2px;flex-shrink:0}.lesson-points{margin:14px 0 0;padding-left:18px;font-size:13px;line-height:1.9;color:#777}.lesson-points li+li{margin-top:12px}.editor-note strong{font-weight:550}.editor-note p{margin-top:8px;line-height:1.9}.lesson-sources{margin-top:24px;font-size:11px;line-height:1.9;color:#777}.lesson-sources summary{cursor:pointer;min-height:44px;display:list-item;list-style-position:inside}.lesson-sources ul{padding-left:18px}.lesson-sources li+li{margin-top:12px}.lesson-sources a{text-underline-offset:3px}.lesson-sources p{margin-top:5px}.practice-card .text-button+.text-button{margin-top:16px}.lesson-title .eyebrow{flex-wrap:wrap}.full-name p{overflow-wrap:anywhere}@media(max-width:640px){.sequence-strip{grid-template-columns:1fr}.sequence-strip li,.lesson-points{font-size:11px}.lesson-sources,.editor-note{font-size:10px}.practice-card .text-button{white-space:normal}.lesson-title .eyebrow{line-height:1.7}}@media(max-width:900px){.term-list>button>span{flex-basis:44px;width:44px;font-size:20px}}@media(max-width:640px){.term-list>button>span{flex-basis:36px;width:36px;font-size:17px}.term-list strong{font-size:11px}.term-list small{overflow-wrap:anywhere}}.foundation-links{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:28px 0}.foundation-links>button{display:grid;gap:12px;border:1px solid var(--line);padding:20px;background:#fff;border-radius:var(--radius)}.foundation-links strong{font-size:14px;font-weight:500}.foundation-links>button>span:not(.small-label){font-size:10px;color:#6b6b6b;line-height:1.7}.foundation-links svg{color:var(--red)}.sword-selected-term{margin-top:24px}.term-detail>.text-button{margin-top:18px}@media(max-width:640px){.foundation-links{grid-template-columns:1fr;gap:10px}.foundation-links>button{grid-template-columns:30px 1fr auto;align-items:center;padding:16px;gap:10px}.foundation-links strong{font-size:12px}.foundation-links>button>span:not(.small-label){grid-column:2}.foundation-links svg{grid-column:3;grid-row:1/3}}@media(max-width:640px){.mobile-nav{right:auto;width:100%;max-width:100vw;grid-template-columns:repeat(4,minmax(0,1fr))}.mobile-nav button{min-width:0}.term-list{grid-template-columns:repeat(2,minmax(0,1fr))}.term-list>button{min-width:0}.term-list strong,.term-list small{overflow-wrap:anywhere}}.term-list>button>span{overflow-wrap:anywhere;word-break:break-all;line-height:1.35;flex-shrink:0}.term-list>button>div{min-width:0}.term-detail .term-jp{overflow-wrap:anywhere;line-height:1.35}.term-reading{overflow-wrap:anywhere}@media(max-width:640px){.term-list>button>span{font-size:16px}.term-jp{font-size:34px}}.term-list>button>span{white-space:normal}.sword-image-map{position:relative}.sword-image-map>img{display:block;width:100%;height:auto}.sword-image-map>.sword-part{position:absolute;min-height:0;min-width:0;padding:0;border:2px solid transparent;border-radius:4px;background:transparent}.sword-image-map>.sword-part>span{position:absolute;top:-18px;left:0;font-size:11px;line-height:16px;color:#705e51;background:#fff9;padding:0 3px;border-radius:2px}.sword-image-map>.sword-part:hover,.sword-image-map>.sword-part:focus-visible,.sword-image-map>.sword-part.is-selected{border-color:var(--red);background:#b93b2e0c;outline:none}.sword-image-map>.sword-part.is-selected>span{color:var(--red);font-weight:600}.sword-image-map>.sword-part.is-correct{border-color:#677c63;border-style:dashed}.sword-image-map>.sword-part:disabled{opacity:1}.sidebar>*{flex-shrink:0}.sidebar-close{display:none}.side-bottom{padding-top:30px}.nav-item svg{flex-shrink:0}.sidebar{padding-bottom:max(25px,env(safe-area-inset-bottom))}@media(max-width:640px){.sidebar{visibility:hidden;padding-top:max(30px,env(safe-area-inset-top));padding-bottom:max(30px,env(safe-area-inset-bottom))}.sidebar.is-open{visibility:visible}.sidebar-close{display:grid;position:absolute;top:max(4px,env(safe-area-inset-top));right:4px;width:36px;height:36px}.mobile-nav{height:calc(66px + env(safe-area-inset-bottom));padding-bottom:calc(7px + env(safe-area-inset-bottom))}.main{padding-bottom:calc(80px + env(safe-area-inset-bottom))}}.dictionary-layout{display:block}.term-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 20px}.term-list>button{min-width:0}.term-list .empty{grid-column:1/-1}.term-dialog{position:fixed;inset:0;width:min(640px,calc(100% - 32px));max-width:calc(100vw - 32px);max-height:calc(100dvh - 32px);margin:auto;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.term-dialog .term-detail{border:0;padding:0 28px 28px}.term-dialog .term-detail-top{position:sticky;top:0;z-index:1;background:#fff;align-items:center;gap:16px;padding:18px 0 12px}.term-dialog .term-detail-top .icon-button{min-width:40px;min-height:40px;flex-shrink:0}.term-dialog .term-jp{margin-top:10px;font-size:clamp(30px,6vw,56px)}.term-dialog h2{overflow-wrap:anywhere}.term-dialog .term-description{font-size:14px;color:#747474;line-height:1.9}.term-dialog .term-reading{color:#858585;line-height:1.8}.term-dialog .text-button{white-space:normal}.term-diagram{margin-top:24px;border-top:1px solid var(--line);padding-top:18px}.term-diagram summary{font-size:12px;color:var(--red);cursor:pointer}.term-diagram summary:focus-visible{outline:2px solid var(--red);outline-offset:5px}@media(max-width:640px){.term-list{grid-template-columns:1fr;gap:0}.term-list>button{padding:16px 8px;gap:16px}.term-list strong{font-size:14px}.term-list small{font-size:11px}.term-list>button>span{font-size:23px;flex-basis:52px;width:52px}.term-dialog .term-detail{padding:0 20px 24px}.term-dialog .term-detail-top{padding-top:10px}.term-dialog h2{font-size:25px}.term-dialog .term-description{font-size:13px}.term-dialog .term-jp{font-size:36px}}.wip{display:block;font-size:9px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:#6b6b6b;margin-top:3px}
