@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/7cHpv4kjgoGqM7EPCw.ttf)format("truetype")}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/7cHqv4kjgoGqM7E30-8c4A.ttf)format("truetype")}@font-face{font-family:Barlow;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/7cHqv4kjgoGqM7E3t-4c4A.ttf)format("truetype")}@font-face{font-family:Barlow;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/7cHqv4kjgoGqM7E3q-0c4A.ttf)format("truetype")}@font-face{font-family:Barlow Condensed;font-style:italic;font-weight:800;font-display:swap;src:url(/fonts/HTxyL3I-JCGChYJ8VI-L6OO_au7B6xTrf3fWvA.ttf)format("truetype")}@font-face{font-family:Barlow Condensed;font-style:italic;font-weight:900;font-display:swap;src:url(/fonts/HTxyL3I-JCGChYJ8VI-L6OO_au7B6xTrW3bWvA.ttf)format("truetype")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/-F63fjptAgt5VM-kVkqdyU8n5ig.ttf)format("truetype")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/-F6qfjptAgt5VM-kVkqdyU8n3twJ8lc.ttf)format("truetype")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/-F6qfjptAgt5VM-kVkqdyU8n3vAO8lc.ttf)format("truetype")}:root{--paper:#f8f7f1;--ink:#20211d;--red:#d63e2f;--line:#cbc9be;--muted:#625f56;--mono:"IBM Plex Mono", monospace;--display:"Barlow Condensed", "Arial Narrow", sans-serif}*{box-sizing:border-box}body{color:var(--ink);background:var(--paper);margin:0;font:16px Barlow,Arial,sans-serif}button,input{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,input:focus-visible{outline-offset:3px;outline:3px solid #2876ac}button{background:0 0;border:0}button svg{flex-shrink:0}.site{flex-direction:column;min-height:100vh;display:flex}.wrap{width:min(1320px,100% - 9vw);margin-inline:auto}.mono{font:500 10px/1.45 var(--mono);letter-spacing:1.1px}.top{border-bottom:1px solid var(--line);background:#fbfaf5}.nav{align-items:center;gap:64px;height:72px;display:flex}.brand{text-align:left;font:900 italic 28px/.8 var(--display);letter-spacing:-.7px;align-items:center;gap:10px;padding:0;display:flex}.brand-icon{background:var(--red);color:#fff;place-items:center;width:38px;height:38px;display:grid}.brand small{font:600 9px/1.1 var(--mono);letter-spacing:4.5px;margin-top:5px;display:block}.nav nav{align-items:stretch;gap:30px;height:100%;display:flex}.nav nav button{color:var(--muted);padding:0 2px;font-size:14px;font-weight:600;position:relative}.nav nav .nav-active{color:var(--ink)}.nav-active:after{content:"";background:var(--red);height:3px;position:absolute;bottom:0;left:0;right:0}.sound,.guide,.textbutton,.cta,.darkbtn{justify-content:center;align-items:center;gap:9px;font-weight:700;display:inline-flex}.sound{border:1px solid var(--line);font:500 11px var(--mono);letter-spacing:.2px;border-radius:3px;margin-left:auto;padding:8px 13px}.sectionline{justify-content:space-between;align-items:center;margin:27px 0 13px;display:flex}.sectionline>span:first-child,.footer span{align-items:center;gap:9px;display:flex}.statusdot{background:#648357;border-radius:50%;width:7px;height:7px}.subtle,.fig,.mode-no{color:var(--muted)}.subtle b,.footer b{color:#b1afa4;padding:0 6px}.frame{background:#f2f1e9;border:1px solid #a6a499;position:relative}.hero{isolation:isolate;grid-template-columns:45% 55%;display:grid}.hero:before,.hero:after{content:"";z-index:1;pointer-events:none;width:12px;height:12px;position:absolute}.hero:before{border-top:2px solid var(--ink);border-left:2px solid var(--ink);top:-1px;left:-1px}.hero:after{border-top:2px solid var(--ink);border-right:2px solid var(--ink);top:-1px;right:-1px}.hero-copy{z-index:2;padding:clamp(36px,4.4vw,65px) 0 clamp(35px,4vw,60px) clamp(28px,3.3vw,53px);position:relative}.over{color:var(--red);letter-spacing:1.6px;align-items:center;gap:9px;font-size:10px;font-weight:600;display:flex}.over i{background:var(--red);width:21px;height:2px}h1,h2,.card strong,.timer b,.scorebox b,.count b{font-family:var(--display);font-style:italic;font-weight:900}.hero h1{letter-spacing:-.045em;white-space:nowrap;margin:22px 0 20px;font-size:clamp(64px,6.55vw,96px);line-height:.87}em{color:var(--red);font-style:inherit}.hero p,.waiting p,.result p,.modal p{color:#54544b;font-size:16px;line-height:1.55}.hero p{max-width:400px;margin:0 15px 25px 0}.hero .tagline{color:var(--ink);margin-bottom:9px;font-size:21px;font-weight:700}.hero-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.cta,.darkbtn{background:var(--red);color:#fff;border:1px solid var(--red);border-radius:2px;padding:14px 19px;font-size:15px}.cta:hover{background:#b83225}.cta svg:last-child:not(:first-child){margin-left:9px}.guide{background:#f9f8f1;border:1px solid #b9b8aa;border-radius:2px;padding:13px 15px;font-size:14px}.guide:hover,.sound:hover{background:#ebe9df}.plate{isolation:isolate;min-height:330px;position:relative;overflow:hidden}.plategrid,.stage:before{content:"";background-image:linear-gradient(#85857314 1px,#0000 1px),linear-gradient(90deg,#85857314 1px,#0000 1px);background-size:30px 30px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 18%);mask-image:linear-gradient(90deg,#0000,#000 18%)}.sun{aspect-ratio:1;background:#e54b3a repeating-linear-gradient(-11deg,#0000 0 4px,#f8d6b92a 4.5px,#0000 5px);border-radius:50%;width:51%;max-width:335px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.clash-image{z-index:1;width:101%;height:auto;position:absolute;top:53%;left:-2%;transform:translateY(-50%)}.plate-code,.fig{color:#69685e;z-index:2;letter-spacing:1px;font-size:9px;position:absolute}.plate-code{align-items:center;gap:8px;display:flex;top:20px;right:20px}.plate-code span{background:#858277;width:21px;height:1px}.fig{bottom:17px;right:22px}.seal{color:#bd4535;opacity:.8;border:2px solid;padding:3px;font:700 13px/1.05 serif;position:absolute;bottom:10%;left:9%;transform:rotate(-7deg)}.speedlines{clip-path:polygon(80% 28%,100% 8%,100% 17%,82% 31%,100% 22%,100% 26%,80% 37%);background:repeating-linear-gradient(-26deg,#0000 0 4px,#48483721 4px 5px);position:absolute;inset:0}.specbar{letter-spacing:1.3px;background:#eae9df;border-top:1px solid #c4c2b6;grid-column:1/-1;align-items:center;gap:24px;padding:13px clamp(22px,3.3vw,53px);font-size:9px;display:flex}.specbar span{align-items:center;gap:8px;display:inline-flex}.specbar span+span{border-left:1px solid #bcbbae;padding-left:24px}.specbar svg{width:14px;height:14px}.modes{margin:31px 0 37px}.section-title{margin-bottom:16px}.section-title .over{font-size:9px}.section-title h2,.modal h2,.waiting h2{letter-spacing:-.8px;margin:5px 0 0;font-size:clamp(32px,3vw,46px);line-height:1}.cards{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.card{text-align:left;border:1px solid var(--line);background:#fbfaf5;flex-direction:column;align-items:flex-start;padding:20px 21px 23px;transition:transform .18s,border-color .18s;display:flex;position:relative}.card:hover{border-color:#55554c;transform:translateY(-3px)}.card-top{justify-content:space-between;align-items:flex-start;width:100%;display:flex}.mode-icon{background:#e8e7df;place-items:center;width:39px;height:39px;display:grid}.quick .mode-icon{color:#b83127;background:#f2ded5}.practice .mode-icon{color:#536047;background:#e3e7dc}.mode-no{letter-spacing:1px;font-size:9px}.card-label{color:#646459;margin-top:17px;font-size:9px}.quick .card-label{color:#b73729}.card strong{letter-spacing:-.4px;margin:3px 0 5px;font-size:31px;line-height:1.05}.card-desc{color:var(--muted);padding-right:16px;font-size:14px}.card-arrow{position:absolute;bottom:22px;right:17px}.footer{border-top:1px solid var(--line);color:#737366;justify-content:space-between;align-items:center;margin-top:auto;padding:18px 0;font-size:9px;display:flex}.textbutton{font:inherit}.error{color:#972c22;background:#fde9df;padding:13px}.modal{padding:27px 30px 30px}.modal-head{justify-content:space-between;margin-bottom:19px}.modal-head button{place-items:center;padding:3px;display:grid}dialog{background:var(--paper);width:min(430px,100vw - 32px);color:var(--ink);border:1px solid #68685e;padding:0}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#191a16a6}.rule{gap:15px;margin:20px 0;display:flex}.rule svg{color:var(--red);flex-shrink:0}.rule p{margin:4px 0 0;font-size:14px;line-height:1.45}.modal form{border-top:1px solid var(--line);margin-top:22px;padding-top:20px}.modal form label{margin-bottom:8px;display:block}.modal form div{gap:10px;display:flex}.modal input,.type-panel input{background:#fffef8;border:1px solid #939183;border-radius:2px;min-width:0;padding:11px 13px}.modal input{width:65%;font-family:var(--mono);text-transform:uppercase}.darkbtn{background:var(--ink);border-color:var(--ink);padding:10px 18px}.waiting,.result{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:470px;margin-bottom:34px;padding:34px 16px;display:flex}.waiting h2{margin:14px 0 0}.waiting .guide{margin-top:15px}.radar{border:1px solid var(--red);width:90px;height:90px;color:var(--red);border-radius:50%;place-items:center;margin-bottom:30px;animation:1.8s ease-out infinite radar;display:grid}@keyframes radar{0%{box-shadow:0 0 #dc423044}to{box-shadow:0 0 0 19px #0000}}.roomcode{letter-spacing:6px;background:#fffaf0;border:1px dashed #938e7c;align-items:center;gap:15px;padding:10px 20px;font-size:27px;display:flex}.fight{margin-bottom:30px}.hud{border-bottom:1px solid var(--line);grid-template-columns:1fr 110px 1fr;align-items:center;gap:20px;padding:21px 5%;display:grid}.fighter-stat>div:first-child{justify-content:space-between;align-items:center;gap:6px;display:flex}.fighter-stat strong{font-size:13px}.side1{grid-column:3}.timer{text-align:center;grid-area:1/2;justify-items:center;display:grid}.timer b{font-size:35px;line-height:1}.hp{background:#dddbd0;height:10px;margin-top:6px}.hp i{background:var(--red);height:100%;transition:width .22s;display:block}.side1 .hp i{background:#373933;margin-left:auto}.stage{background:#f1f0e7;position:relative;overflow:hidden}.stage:before{-webkit-mask-image:none;mask-image:none}.battleart{width:100%;height:clamp(195px,32vh,350px);display:block;position:relative}.stage-label{color:var(--muted);font-size:9px;position:absolute;top:15px;left:18px}.fighter{transform-box:view-box;transform-origin:245px 248px}.attacking{animation:.62s both attack}.swordarm{animation:.5s both swing}.blocking{animation:.52s both block}.recoiling{animation:.6s both recoil}.spark{opacity:0;animation:.5s both spark}@keyframes attack{0%{transform:translate(-12px)rotate(-5deg)}40%{transform:translate(40px)rotate(12deg)}to{transform:none}}@keyframes swing{0%{transform:rotate(var(--swing))}42%{transform:rotate(16deg)}to{transform:none}}@keyframes recoil{30%{transform:translate(-26px)rotate(-9deg)}}@keyframes block{28%{transform:translate(-9px)rotate(-4deg)}}@keyframes spark{0%,23%,to{opacity:0}35%{opacity:1}}.count{background:#f5f2e7c9;place-content:center;justify-items:center;display:grid;position:absolute;inset:0}.count b{font-size:90px;line-height:1;animation:.3s stamp}.type-panel{text-align:center;border-top:1px solid var(--line);background:#faf9f2;padding:19px}.type-panel .over{justify-content:center}.word{font:600 48px/1.3 var(--mono);letter-spacing:3px;margin:5px 0 10px;animation:.23s stamp}.type-panel input{text-align:center;width:230px;font:500 16px var(--mono)}.hint{color:#69685e;letter-spacing:.4px;margin-top:10px;font-size:9px}.mistake{animation:.25s wrong}@keyframes wrong{50%{color:red;transform:translate(4px)}}.result{isolation:isolate;overflow:hidden}.result h1{letter-spacing:-4px;color:var(--red);margin:6px 0;font-size:clamp(64px,10vw,138px);line-height:1;animation:.45s ease-out stamp}.defeat h1,.draw h1{color:var(--ink)}.result p{margin:3px 0 20px}.result-slash{z-index:-1;background:linear-gradient(144deg,#0000 46%,#d7d4c855 46% 49%,#0000 49% 50%,#d7d4c866 50% 51%,#0000 51%);animation:.6s ease-out slash-in;position:absolute;inset:0}.scorebox{border-block:1px solid var(--line);gap:24px;margin:0 0 24px;padding:12px 0;display:flex}.scorebox div{gap:2px;display:grid}.scorebox b{font-size:32px}.scorebox span{font:500 9px var(--mono)}@keyframes stamp{0%{opacity:0;transform:scale(1.15)translateY(3px)}to{opacity:1;transform:none}}@keyframes slash-in{0%{transform:translate(-80%)}to{transform:none}}@media (min-width:1550px){.wrap{width:1320px}}@media (max-width:950px){.wrap{width:93%}.hero{grid-template-columns:48% 52%}.hero h1{font-size:7.05vw}.hero-copy{padding-left:25px}.card{padding:17px 15px}.card-desc{font-size:13px}.hero p{font-size:15px}.hero-actions{gap:8px}}@media (max-width:670px){.wrap{width:calc(100% - 28px)}.nav{gap:20px;height:60px}.brand{font-size:23px}.brand-icon{width:32px;height:32px}.brand small{font-size:7px}.nav nav{gap:13px}.nav nav button{font-size:12px}.sound{padding:8px}.sound span{display:none}.sectionline{margin:18px 0 9px}.mono{font-size:9px}.hero{grid-template-columns:1fr}.hero-copy{padding:28px 22px 0}.hero h1{margin:16px 0 11px;font-size:clamp(57px,11vw,76px)}.hero p{max-width:410px;margin-bottom:16px;font-size:15px}.cta,.guide{padding:11px 13px}.plate{height:clamp(180px,43vw,255px);min-height:0;margin:7px 0 0}.plate-code{font-size:7px;top:9px;right:10px}.fig{font-size:7px;bottom:6px;right:10px}.sun{width:36%}.clash-image{width:82%;top:53%;left:9%}.seal{font-size:9px;bottom:10%;left:5%}.specbar{justify-content:center;gap:9px;padding:10px 9px}.specbar span{letter-spacing:.4px;gap:4px;font-size:7px}.specbar span+span{padding-left:9px}.specbar svg{width:11px;height:11px}.modes{margin:25px 0}.section-title h2{font-size:33px}.cards{grid-template-columns:1fr;gap:9px}.card{align-content:center;min-height:94px;padding:13px 35px 14px 74px;display:grid}.card-top{display:contents}.mode-icon{position:absolute;top:50%;left:16px;transform:translateY(-50%)}.mode-no{display:none}.card-label{margin:0;font-size:8px}.card strong{font-size:25px}.card-arrow{bottom:36px;right:15px}.footer{font-size:7px}.hud{grid-template-columns:1fr 55px 1fr;gap:7px;padding:14px 12px}.hud .mono{letter-spacing:.2px;font-size:8px}.fighter-stat strong{font-size:10px}.timer b{font-size:26px}.stage-label{font-size:7px}.scorebox{gap:18px}.sectionline .subtle{font-size:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.attacking.overhead .swordarm{animation:.6s both overhead-cut}.attacking.quickdraw{animation:.52s both quick-dash}.attacking.quickdraw .swordarm{animation:.5s both draw-sword}@keyframes overhead-cut{0%{transform:rotate(-76deg)}26%{transform:rotate(-80deg)}62%{transform:rotate(26deg)}to{transform:none}}@keyframes quick-dash{0%,13%{transform:translate(-14px)skew(-4deg)}29%,48%{transform:translate(52px)rotate(8deg)}to{transform:none}}@keyframes draw-sword{0%{transform:rotate(34deg)}30%{transform:rotate(-22deg)}to{transform:none}}.result-mark{width:54px;height:54px;color:var(--red);border:2px solid;place-items:center;margin:0 0 18px;animation:.6s ease-out inkmark;display:grid;transform:rotate(-8deg)}.result-mark svg{width:33px;height:33px}.defeat .result-mark,.draw .result-mark{color:var(--ink)}.defeat .result-slash{transform:scaleX(-1)}@keyframes inkmark{0%{opacity:0;transform:scale(1.6)rotate(-20deg)}70%{transform:scale(.94)rotate(-7deg)}}.footwork{transition:transform .1s ease-out}.blade-trail{transform-origin:270px 140px;animation:.55s both ink-sweep}@keyframes ink-sweep{0%,17%{opacity:0;transform:rotate(-14deg)}35%{opacity:.85}85%,to{opacity:0;transform:rotate(18deg)}}.hero{background:#f7efe0;grid-template-columns:43% 57%}.hero h1{margin:23px 0;font-size:clamp(72px,7.7vw,116px);line-height:.82}.fruit-plate{isolation:isolate;background:radial-gradient(at 57% 48%,#ffe5a650,#0000 70%);place-items:center;min-width:0;display:grid;position:relative;overflow:hidden}.fruit-plate:before{content:"";z-index:-1;opacity:.33;background-image:radial-gradient(#9b835b .7px,#0000 .9px);background-size:6px 6px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 23%);mask-image:linear-gradient(90deg,#0000,#000 23%)}.fruit-plate svg{width:100%;max-height:450px;display:block}.specbar{background:#eee4cc}.orchard-stage{isolation:isolate;background-color:#78543d;background-image:radial-gradient(at 50% 16%,#ffcc8152 0%,#a16e3c1a 50%,#241f29a6 100%),url(/art/dojo-wood.svg);background-size:cover,288px 480px;position:relative;overflow:hidden}.orchard-stage:before{content:"道 場";z-index:-1;letter-spacing:.22em;color:#2e201810;place-content:center;font:900 clamp(80px,12vw,174px)/1 serif;display:grid;position:absolute;inset:0;transform:rotate(-8deg)}.orchard-stage svg{width:100%;height:auto;min-height:185px;max-height:51vh;display:block;position:relative}.fruit-word{font:600 15px var(--mono);letter-spacing:.1px}.point-pop{font:900 italic 27px var(--display);stroke:#27231e;stroke-width:2px;paint-order:stroke;text-anchor:middle}.stage:before{display:none}.stage .count{color:#fff1d3;background:#352b24b8}.fight .hud{color:#fff1d3;background:#242b27;border-bottom:2px solid #ab8865;padding:12px 4%}.fruit-score{font:800 italic 26px var(--display)}.fruit-score small{font:500 9px var(--mono);letter-spacing:1px}.ninja-band{background:#61483d;height:3px;margin-top:4px}.ninja-band i{background:#ff674f;width:32px;height:3px;display:block}.side1 .ninja-band{background:#3d5049}.side1 .ninja-band i{background:#55d3c2;margin-left:auto}.fight .type-panel{background:#faf5e8;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 20px;padding:14px;display:flex}.type-panel .hint{flex-basis:100%;margin-top:0}.scorebox{gap:38px}@media (max-width:670px){.hero{grid-template-columns:1fr}.hero h1{margin:16px 0;font-size:clamp(65px,13vw,88px)}.fruit-plate svg{height:clamp(165px,42vw,245px)}.fruit-plate .plate-code{top:4px}.fight .type-panel{gap:6px;padding:11px 5px}.fight .type-panel .over{font-size:8px}.fight .type-panel input{width:180px;padding:8px}.fight .hud{gap:8px;padding:9px 12px}.fruit-score{font-size:20px}.fruit-score small{font-size:7px}.fight .type-panel .hint,.fight .hud .fighter-stat strong{font-size:9px}.orchard-stage svg{min-height:160px;max-height:43svh}}.result .typing-note{letter-spacing:.1px;margin:-12px 0 20px;font-size:11px;line-height:1.5}.result .scorebox{grid-template-columns:repeat(4,minmax(60px,1fr));gap:20px;display:grid}@media (max-width:500px){.result .scorebox{grid-template-columns:repeat(2,minmax(88px,1fr));gap:14px 24px}}
