:root{--pine: #1f5f3f;--pine-dk: #174a31;--pine-lt: #e6f2ea;--cream: #fbf8f1;--ink: #23281f;--muted: #6b7266;--line: #e3e0d6;--sun: #f5b942;--berry: #c8433f;--sky: #dcefff;--r: 14px;--shadow: 0 10px 30px -14px rgba(31, 95, 63, .35);--sans: "Nunito", "Noto Sans JP", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.5;font-size:16px}a{color:var(--pine)}h1,h2,h3,h4{line-height:1.15;margin:0 0 .4em;font-weight:900;letter-spacing:-.01em}h1{font-size:clamp(26px,5vw,40px)}h2{font-size:clamp(20px,3.4vw,28px)}p{margin:0 0 1em}.muted{color:var(--muted)}.small{font-size:14px}.center{text-align:center}.err{color:var(--berry);font-weight:700}.ok{color:var(--pine);font-weight:700}.hdr{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}.brand .logo{font-size:28px}.brand b{display:block;font-size:20px;font-weight:900;color:var(--pine)}.brand small{display:block;font-size:11px;color:var(--muted);margin-top:-3px}.hdr nav{display:flex;align-items:center;gap:14px}.hdr nav a{text-decoration:none;font-weight:700;color:var(--ink)}.langbtn{border:1px solid var(--line);background:#fff;border-radius:999px;padding:6px 12px;font:inherit;font-weight:700;cursor:pointer}.ftr{text-align:center;color:var(--muted);font-size:13px;padding:40px 16px 60px}.wrap{max-width:860px;margin:0 auto;padding:24px 18px 40px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--pine);color:#fff;border:0;border-radius:999px;padding:10px 18px;font:inherit;font-weight:800;cursor:pointer;text-decoration:none;box-shadow:var(--shadow);transition:transform .08s,background .15s;-webkit-tap-highlight-color:transparent}.btn:hover{background:var(--pine-dk)}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.6;cursor:default}.btn.big{padding:14px 26px;font-size:18px}.btn.ghost{background:#fff;color:var(--pine);border:2px solid var(--pine);box-shadow:none}.btn.ghost:hover{background:var(--pine-lt)}.linkbtn{background:none;border:0;color:var(--pine);font:inherit;font-weight:700;cursor:pointer;padding:6px 0;text-decoration:underline}.linkbtn.danger{color:var(--berry)}.iconbtn{border:1px solid var(--line);background:#fff;border-radius:8px;width:38px;font-size:20px;cursor:pointer;color:var(--muted)}.row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.row.sticky{position:sticky;bottom:0;background:linear-gradient(transparent,var(--cream) 30%);padding:18px 0 10px;justify-content:flex-end}.chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:7px 14px;font:inherit;font-weight:700;cursor:pointer}.chip.sel{background:var(--pine);color:#fff;border-color:var(--pine)}.pill{display:inline-block;background:var(--pine-lt);color:var(--pine);border-radius:999px;padding:4px 12px;font-size:13px;font-weight:800}.tklink{display:inline-block;margin-top:14px;font-weight:700}.hero{padding:26px 0 10px}.hero h1{max-width:620px}.lead{font-size:18px;max-width:600px;color:#3b4236}.types{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin:26px 0}.typecard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .12s;display:flex;flex-direction:column;gap:6px}.typecard:hover{transform:translateY(-3px)}.typecard .ticon{font-size:34px}.typecard b{font-size:18px;color:var(--pine)}.typecard p{margin:0;font-size:14px;color:var(--muted)}.how ol{padding-left:22px;font-size:17px}.how li{margin-bottom:6px}.teachers{background:var(--pine-lt);border-radius:var(--r);padding:22px;margin-top:26px}.teachers p{margin:0}.mine ul{list-style:none;padding:0;margin:0}.mine li{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);flex-wrap:wrap}.makehead{margin-bottom:18px}.makeform{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px;font-weight:700}input[type=text],input:not([type]),textarea{width:100%;font:inherit;padding:11px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}input:focus,textarea:focus{outline:2px solid var(--pine);outline-offset:0;border-color:var(--pine)}.editor{display:flex;flex-direction:column;gap:12px}.item{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:8px}.itemhead{display:flex;justify-content:space-between;align-items:center;font-weight:800;color:var(--pine)}.choicerow{display:flex;align-items:center;gap:8px}.choicerow input[type=radio]{width:20px;height:20px;accent-color:var(--pine);flex:none}.choicerow.isright input:not([type=radio]){border-color:var(--pine);background:var(--pine-lt)}.pairrow{display:grid;grid-template-columns:1fr 1fr 38px;gap:8px}.two{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pastebox{background:#fff;border:1px dashed var(--pine);border-radius:var(--r);padding:12px;display:flex;flex-direction:column;gap:8px}.check{display:flex;align-items:center;gap:8px;font-weight:700}.check input{width:20px;height:20px;accent-color:var(--pine)}.emojirow{display:flex;flex-wrap:wrap;gap:6px}.emo{font-size:26px;background:#fff;border:2px solid var(--line);border-radius:12px;width:48px;height:48px;cursor:pointer}.emo.sel{border-color:var(--pine);background:var(--pine-lt)}.editextras{margin-top:30px;border-top:1px solid var(--line);padding-top:20px}.published{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:14px}.copyrow label{display:block;font-weight:700;font-size:14px;margin-bottom:6px}.copyrow .row{flex-wrap:nowrap}.copyrow input{flex:1;min-width:0;font-size:14px}.qr{width:240px;max-width:100%;margin:4px auto;background:#fff}.qr svg{width:100%;height:auto;display:block}.playwrap{max-width:640px}.playhead{margin-bottom:14px}.playhead h1{margin-top:8px}.gamebox{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow);min-height:320px}.gamestart{text-align:center;padding:30px 0;display:flex;flex-direction:column;gap:10px;align-items:center}.gamestart p{margin:0;font-weight:700}.progress{height:6px;background:var(--line);border-radius:3px;overflow:hidden;margin-bottom:10px}.progress div{height:100%;background:var(--pine);transition:width .3s}.qnum{font-size:13px;font-weight:800;color:var(--muted);margin-bottom:8px}.qtext{font-size:clamp(20px,4vw,26px);margin-bottom:18px}.choices{display:grid;gap:10px;margin-bottom:18px}.choice{text-align:left;font:inherit;font-weight:700;font-size:17px;padding:14px 16px;border-radius:12px;border:2px solid var(--line);background:#fff;cursor:pointer;transition:background .15s,border-color .15s;-webkit-tap-highlight-color:transparent}.choice:hover{border-color:var(--pine)}.choice.right{background:#dff5e4;border-color:var(--pine)}.choice.wrong{background:#fde3e2;border-color:var(--berry)}.choice.dim{opacity:.5}.choices.small .choice{padding:10px 12px;font-size:15px}.result{text-align:center;padding:20px 0;display:flex;flex-direction:column;align-items:center;gap:6px}.stars{font-size:44px;color:var(--sun);letter-spacing:4px}.bigscore{font-size:22px;font-weight:900;color:var(--pine)}.matchcols{display:grid;grid-template-columns:1fr 1fr;gap:12px}.col{display:flex;flex-direction:column;gap:8px}.collabel{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.card{font:inherit;font-weight:700;font-size:16px;padding:14px 10px;border-radius:12px;border:2px solid var(--line);background:#fff;cursor:pointer;min-height:54px;word-break:break-word;transition:all .15s;-webkit-tap-highlight-color:transparent}.card.sel{border-color:var(--pine);background:var(--pine-lt);transform:scale(1.03)}.card.done{opacity:.28;background:#dff5e4;border-color:var(--pine)}.card.shake{animation:shake .45s;border-color:var(--berry);background:#fde3e2}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-6px)}75%{transform:translate(6px)}}.hint{font-weight:700;color:#6b5a1e;background:#fff6dc;border-radius:10px;padding:8px 12px}.answerrow{display:flex;flex-wrap:wrap;gap:5px;justify-content:center;min-height:54px;margin:10px 0 16px;padding:8px;border-radius:12px}.answerrow.right{background:#dff5e4}.answerrow.wrong{background:#fde3e2}.slot{width:38px;height:46px;border-radius:10px;border:2px dashed var(--line);background:#fff;font:inherit;font-size:22px;font-weight:900;color:var(--pine)}.slot.filled{border-style:solid;border-color:var(--pine)}.tiles{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:16px}.tile{width:46px;height:52px;border-radius:12px;border:2px solid var(--pine);background:var(--pine-lt);font:inherit;font-size:24px;font-weight:900;color:var(--pine);cursor:pointer;box-shadow:0 3px 0 var(--pine);-webkit-tap-highlight-color:transparent}.tile:active{transform:translateY(2px);box-shadow:0 1px 0 var(--pine)}.tile.used{opacity:.18;box-shadow:none}.runnerwrap{position:relative;border-radius:14px;overflow:hidden;touch-action:manipulation;user-select:none;-webkit-user-select:none}.runnercv{display:block;width:100%;height:min(60vh,380px)}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#141e1459;padding:14px}.overlaycard{background:#fff;border-radius:16px;padding:20px;text-align:center;max-width:380px;width:100%;box-shadow:var(--shadow);max-height:100%;overflow:auto}.overlaycard h3{font-size:20px}.bigemoji{font-size:56px}.filters{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 20px}.gallery{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.gallery a{display:flex;flex-direction:column;gap:4px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow)}.gicon{font-size:26px}.gtitle{font-weight:800;font-size:17px}.gmeta{font-size:13px;color:var(--muted)}@media (max-width: 480px){.hdr nav a{display:none}.brand small{display:none}.pairrow{grid-template-columns:1fr 1fr 34px}.card{font-size:15px;padding:12px 6px}}.arcadewrap{position:relative;border-radius:14px;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;background:#222}.arcadecv{display:block;width:100%;height:min(58vh,420px)}.arcadewrap.tall .arcadecv{height:min(70vh,560px)}.overlaycard .row.center{justify-content:center}.duelbtns{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:10px}.dbtn{font:inherit;font-weight:900;font-size:17px;padding:16px 6px;border-radius:14px;border:0;color:#fff;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;box-shadow:0 4px #00000040}.dbtn:active{transform:translateY(3px);box-shadow:0 1px #00000040}.dbtn.atk{background:#c8433f}.dbtn.blk{background:#2f6db5}.dbtn.ddg{background:#3f8f5a}.exportbox{border-top:1px solid var(--line);padding-top:14px}.steps{white-space:pre-wrap;font:inherit;font-size:14px;background:var(--pine-lt);border-radius:10px;padding:12px 14px;margin:10px 0 0;line-height:1.55}.field.small{font-size:13px}input[type=range]{width:100%;accent-color:var(--pine)}.standalone .hdr{display:none}.gamebox .arcade{margin:-8px}.row.between{justify-content:space-between}.mutebtn{border:1px solid var(--line);background:#fff;border-radius:999px;width:40px;height:40px;font-size:18px;cursor:pointer}.matchhud{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.matchhud .combo{color:#d9822b;animation:pulse .4s}.card.pop{animation:pop .4s;background:#dff5e4;border-color:var(--pine)}@keyframes pop{0%{transform:scale(1)}40%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes pulse{0%{transform:scale(1.3)}to{transform:scale(1)}}.dbtn{background-image:linear-gradient(#ffffff2e,#ffffff2e);background-repeat:no-repeat}.vbtn{display:flex;flex-direction:column;align-items:center;gap:2px;background:#fff;border:2px solid var(--line);border-radius:12px;padding:6px 4px 4px;width:64px;cursor:pointer;font:inherit;font-size:10px;font-weight:700;color:var(--muted)}.vbtn.sel{border-color:var(--pine);background:var(--pine-lt);color:var(--pine)}.vprev{width:44px;height:54px;display:block}.swatch{width:34px;height:34px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px var(--line);cursor:pointer}.swatch.sel{box-shadow:0 0 0 3px var(--pine)}.spriteimg{width:34px;height:34px;object-fit:contain;display:block}.emo{display:inline-flex;align-items:center;justify-content:center}.emo.upload{border-style:dashed;cursor:pointer}.emo.upload.busy{opacity:.6}.bigsprite{width:72px;height:72px;object-fit:contain}.vbtn.tall{width:72px}.fprev{width:52px;height:74px;display:block}.duelwrap .arcadecv{height:min(64vh,520px)}.duelbtns.four{grid-template-columns:repeat(4,1fr);gap:6px}.duelbtns.four .dbtn{font-size:14px;padding:14px 4px}.dbtn.thr{background:#7a3fa0}.dbtn:disabled{opacity:.4}.fprev{width:56px;height:64px;image-rendering:pixelated}.spriteimg{image-rendering:pixelated}canvas.bigsprite{width:84px;height:84px;image-rendering:pixelated}.emo{width:56px;height:56px}
