.dojo{--sumi:#0a0c11;--sumi-raised:#121721;--sumi-line:#232b3a;--washi:#efe7d7;--washi-dim:#ded3bd;--on-sumi:#ece4d5;--on-sumi-quiet:#9aa3b4;--on-washi:#23201b;--on-washi-quiet:#5c554a;--seal:#d1452a;--seal-bright:#ec5b3d;--seal-deep:#ad3419;--brass:#c9a227;--jade:#3f9d7c;--belt-white:#efe7d7;--belt-yellow:#e3bf3a;--belt-green:#3f8f6b;--belt-brown:#7c4c2b;--belt-black:#0f1218;background-color:var(--sumi);min-height:100vh;color:var(--on-sumi);font-family:var(--font-plex-sans), ui-sans-serif, system-ui, sans-serif;-webkit-font-smoothing:antialiased}.dojo-ground{z-index:-1;pointer-events:none;background-color:var(--sumi);background-image:radial-gradient(90% 60% at 50% 0,#d1452a24,#0000 70%),radial-gradient(70% 50% at 50% 100%,#c9a22712,#0000 70%),repeating-linear-gradient(0deg,#ece4d509 0 1px,#0000 1px 7px),repeating-linear-gradient(90deg,#ece4d506 0 1px,#0000 1px 7px);position:fixed;inset:0}.dojo-display{font-family:var(--font-serif-jp), "Hiragino Mincho ProN", "Yu Mincho", Georgia, serif;letter-spacing:-.015em;font-weight:900;line-height:.95}.dojo-mono{font-family:var(--font-plex-mono), ui-monospace, "SFMono-Regular", monospace}.dojo-kicker{font-family:var(--font-plex-mono), ui-monospace, monospace;letter-spacing:.22em;text-transform:uppercase;color:var(--on-sumi-quiet);font-size:.6875rem}.dojo-panel{background-color:var(--sumi-raised);border:1px solid var(--sumi-line);border-radius:2px}.dojo-panel-washi{background-color:var(--washi);color:var(--on-washi);border:1px solid var(--washi-dim);border-radius:2px}.dojo-seal{border:2px solid var(--seal);width:3rem;height:3rem;color:var(--seal-bright);font-family:var(--font-serif-jp), serif;-webkit-user-select:none;user-select:none;background:#d1452a17;border-radius:4px;place-items:center;font-size:1.5rem;font-weight:900;line-height:1;display:grid}.dojo-brush{background:linear-gradient(90deg, var(--seal) 0%, #d1452a80 45%, transparent 100%);border:0;height:3px}.dojo-term{border:1px solid var(--sumi-line);background-color:#06080c;border-radius:2px;position:relative;overflow-x:auto}.dojo-term:before{content:"";background:linear-gradient(90deg, var(--seal), var(--brass) 60%, transparent);height:2px;display:block}.dojo-term code{font-family:var(--font-plex-mono), ui-monospace, monospace;color:#d7f0e4}.dojo-term .prompt{color:var(--jade);-webkit-user-select:none;user-select:none}.dojo-belt{border:1px solid #0a0c118c;border-radius:1px;height:.6rem}.dojo :where(a,button,input,textarea,[tabindex]):focus-visible{outline:2px solid var(--seal-bright);outline-offset:3px}.dojo-link{color:var(--on-sumi);text-decoration:underline;-webkit-text-decoration-color:var(--seal);text-decoration-color:var(--seal);text-underline-offset:4px;text-decoration-thickness:2px}.dojo-link:hover{color:var(--seal-bright)}.dojo-btn{font-family:var(--font-plex-mono), monospace;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--seal);border-radius:2px;align-items:center;gap:.5rem;padding:.8rem 1.4rem;font-size:.8125rem;transition:background-color .12s,color .12s;display:inline-flex}.dojo-btn-solid{background-color:var(--seal);color:#fff}.dojo-btn-solid:hover{background-color:var(--seal-bright)}.dojo-btn-ghost{color:var(--on-sumi);border-color:var(--sumi-line)}.dojo-btn-ghost:hover{border-color:var(--seal);color:var(--seal-bright)}.dojo-scroll{background-color:var(--washi);color:var(--on-washi);border:1px solid var(--washi-dim);border-radius:2px;box-shadow:inset 0 0 0 6px #23201b0d}.dojo-scroll ::selection{background:#d1452a40}@keyframes dojo-blink{0%,49%{opacity:1}50%,to{opacity:0}}.dojo-cursor{background:var(--seal);width:.55em;height:1.05em;animation:1s step-end infinite dojo-blink;display:inline-block;translate:0 .15em}@media (prefers-reduced-motion:reduce){.dojo-cursor{animation:none}}.dojo .mr-frame{--mr-bg:#06080c;--mr-bar:#0f141c;--mr-line:#232b3a;--mr-fg:#ece4d5;--mr-dim:#9aa3b4;--mr-prompt:#3f9d7c;--mr-accent:#ec5b3d;--mr-good:#3f9d7c;--mr-warn:#c9a227;--mr-radius:2px}.dojo .am{--am-bg:var(--washi);--am-fg:var(--on-washi);--am-quiet:var(--on-washi-quiet);--am-line:var(--washi-dim);--am-accent:var(--seal-deep);--am-radius:2px}
