:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{width:100%;height:100%;overscroll-behavior:none;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;background:#050508;height:100dvh;margin:0;padding:0;overflow:hidden}#sketch-container{overscroll-behavior:none;height:100dvh;position:fixed;inset:0}#sketch-container canvas{touch-action:none;-webkit-user-select:none;user-select:none;display:block}#glow-layer{pointer-events:none;mix-blend-mode:screen;opacity:.35;width:100%;height:100%;position:absolute;inset:0}#word-ui{right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));z-index:5;opacity:0;pointer-events:none;transition:opacity .8s 1.2s;position:fixed}#word-ui.is-ready{opacity:1;pointer-events:auto}#word-ui{flex-direction:column;align-items:flex-end;gap:.5rem;display:flex}.word-ui-row{align-items:center;gap:.5rem;display:flex}#voice-toggle,#word-toggle,#word-input{letter-spacing:.06em;color:#e8fbffd9;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#ffffff0f;border:1px solid #e8fbff38;border-radius:999px;font-family:Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,sans-serif;font-size:.85rem}#voice-toggle{cursor:pointer;padding:.55rem 1rem;position:relative;overflow:hidden}#voice-toggle[hidden]{display:none}#voice-toggle[aria-pressed=true]{border-color:#ff2bd6a6;box-shadow:0 0 16px #ff2bd640}#voice-meter{transform-origin:0;background:linear-gradient(90deg,#00e5ff,#ff2bd6);height:2px;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}#word-toggle{cursor:pointer;padding:.55rem 1rem;transition:background .2s,border-color .2s}#word-toggle:hover,#word-toggle:focus-visible{background:#ffffff1f;border-color:#00e5ff99;outline:none}#word-input{-webkit-user-select:text;user-select:text;outline:none;width:min(72vw,320px);padding:.6rem 1rem;font-size:16px}#word-input:focus{border-color:#00e5ffb3;box-shadow:0 0 18px #00e5ff40}#audio-debug{top:max(8px, env(safe-area-inset-top));z-index:20;white-space:pre-wrap;word-break:break-all;color:#d8fbff;pointer-events:none;background:#000000b8;border:1px solid #00e5ff59;border-radius:6px;max-width:calc(100vw - 16px);margin:0;padding:8px 10px;font:11px/1.45 ui-monospace,Menlo,monospace;position:fixed;left:8px}#scene-caption{z-index:4;text-align:center;pointer-events:none;letter-spacing:.4em;color:#fffaf0;text-shadow:0 0 20px #ffdca0b3,0 0 48px #ff78c859;opacity:0;margin:0;font-family:Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,sans-serif;font-size:clamp(1.4rem,5vw,2.6rem);font-weight:700;transition:opacity 1.4s,transform 1.4s;position:fixed;top:38%;left:0;right:0;transform:translateY(8px)}#scene-caption.is-visible{opacity:1;transform:translateY(0)}#overlay{touch-action:none;overscroll-behavior:none;cursor:pointer;z-index:10;background:radial-gradient(#05050899 0%,#05050840 55%,#05050800 100%);justify-content:center;align-items:center;height:100dvh;transition:opacity .4s;display:flex;position:fixed;inset:0}#overlay.overlay--hidden{opacity:0;pointer-events:none}#overlay-content{flex-direction:column;align-items:center;gap:.75rem;display:flex;position:relative}#overlay-title{margin:0;line-height:0}#overlay-title img{filter:drop-shadow(0 0 22px #ff2bd638);width:min(86vw,640px,140dvh);height:auto;display:block}#overlay-text{letter-spacing:.1em;color:#e8fbff;text-shadow:0 0 12px #00e5ff8c,0 0 26px #ff2bd64d;margin:0;font-family:Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,sans-serif;font-size:clamp(1.1rem,3.6vw,1.7rem);font-weight:700}#overlay-start{letter-spacing:.3em;color:#fff;margin:.9rem 0 0;font-family:Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,sans-serif;font-size:clamp(.95rem,2.8vw,1.25rem);font-weight:700;animation:2.2s ease-in-out infinite pulse-glow}#overlay-note{letter-spacing:.05em;color:#e8fbff8c;margin:.25rem 0 0;font-family:Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,sans-serif;font-size:clamp(.75rem,2vw,.9rem)}@keyframes pulse-glow{0%,to{opacity:.75;text-shadow:0 0 10px #00e5ff80,0 0 22px #ff2bd640}50%{opacity:1;text-shadow:0 0 16px #00e5ffd9,0 0 34px #ff2bd673}}@media (prefers-reduced-motion:reduce){#overlay-start{opacity:1;animation:none}}.lang-toggle{border:1px solid #e8fbff38;border-radius:999px;flex:none;display:inline-flex;overflow:hidden}.lang-toggle button{font:inherit;letter-spacing:.04em;color:#e8fbff99;cursor:pointer;background:0 0;border:0;padding:.28rem .6rem;font-size:.72rem}.lang-toggle button[aria-pressed=true]{color:#050508;background:#e8fbffd9}.lang-toggle button:focus-visible{outline-offset:-2px;outline:2px solid #00e5ff}.overlay-lang{top:max(14px, env(safe-area-inset-top));right:max(14px, env(safe-area-inset-right));z-index:1;font-family:Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,sans-serif;position:absolute}#overlay-howto{letter-spacing:.08em;color:#e8fbffd9;cursor:pointer;background:#ffffff0d;border:1px solid #00e5ff66;border-radius:999px;margin-top:.6rem;padding:.45rem 1.1rem;font-family:Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,sans-serif;font-size:.85rem}#overlay-howto:hover,#overlay-howto:focus-visible{background:#00e5ff1f;outline:none}#help-button{color:#e8fbffbf;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:.7;cursor:pointer;background:#ffffff0f;border:1px solid #e8fbff38;border-radius:50%;width:32px;height:32px;padding:0;font-family:Helvetica Neue,Arial,sans-serif;font-size:.95rem;font-weight:700;line-height:1;transition:opacity .2s,border-color .2s;position:relative}#help-button:after{content:"";position:absolute;inset:-6px}#help-button:hover,#help-button:focus-visible{opacity:1;border-color:#00e5ff99;outline:none}#help-button.is-hinting{animation:1.3s ease-in-out 3 help-hint}@keyframes help-hint{0%,to{opacity:.7;box-shadow:0 0 #00e5ff00}50%{opacity:1;border-color:#00e5ffe6;box-shadow:0 0 18px 4px #00e5ff73}}body.is-charging #word-ui{opacity:.18;transition-duration:.3s;transition-delay:0s}#manual{color:#e8fbff;background:0 0;border:0;width:min(92vw,500px);max-width:none;max-height:calc(100dvh - 24px);margin:auto;padding:0;font-family:Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Noto Sans JP,sans-serif;overflow:visible}#manual::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0303088c}.manual-card{overscroll-behavior:contain;background:#0a0a14e0;border:1px solid #00e5ff47;border-radius:14px;flex-direction:column;max-height:calc(100dvh - 24px);padding:14px 18px 12px;display:flex;overflow:auto;box-shadow:0 0 32px #00e5ff1f,0 0 60px #ff2bd614}.manual-header{align-items:center;gap:.6rem;display:flex}.manual-header h2{letter-spacing:.08em;text-shadow:0 0 12px #00e5ff73;flex:1;margin:0;font-size:1.05rem;font-weight:700}.manual-close{color:#e8fbffbf;cursor:pointer;background:0 0;border:1px solid #e8fbff2e;border-radius:50%;flex:none;width:32px;height:32px;padding:0;font-size:1.3rem;line-height:1}.manual-close:hover,.manual-close:focus-visible{color:#fff;border-color:#00e5ff99;outline:none}.manual-section h3{letter-spacing:.14em;color:#00e5ffd9;margin:.7rem 0 .3rem;font-size:.72rem;font-weight:700}.manual-section ul{margin:0;padding:0;list-style:none}.manual-section li{align-items:center;gap:.6rem;padding:.16rem 0;font-size:.84rem;line-height:1.35;display:flex}.manual-basics li{padding:.1rem 0}.manual-basics p{margin:0}.manual-basics strong{font-size:.9rem;font-weight:700;display:block}.manual-basics span{color:#e8fbff9e;font-size:.76rem}.manual-footer{text-align:center;color:#e8fbff80;margin:.7rem 0 0;font-size:.7rem}.manual-footer a{color:inherit;text-underline-offset:2px}.manual-footer a:hover,.manual-footer a:focus-visible{color:#e8fbffd9}.icon{fill:none;stroke:currentColor;stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 3px);flex:none;width:16px;height:16px}.manual-section li:nth-child(4n+1) .icon{color:#00e5ff}.manual-section li:nth-child(4n+2) .icon{color:#7fa8ff}.manual-section li:nth-child(4n+3) .icon{color:#c77dff}.manual-section li:nth-child(4n+4) .icon{color:#ff2bd6}.anim{flex:none;width:56px;height:40px;overflow:visible}.anim *{transform-box:view-box;transform-origin:28px 20px}.anim .dots circle{fill:#7fe9ff}.anim .dots circle:nth-child(2n){fill:#ff2bd6}.anim-hold .ring-track{fill:none;stroke:#00e5ff2e;stroke-width:1.5px}.anim-hold .ring-fill{fill:none;stroke:#00e5ff;stroke-width:1.8px;stroke-linecap:round;stroke-dasharray:88;stroke-dashoffset:88px;animation:2.4s ease-out infinite hold-ring;transform:rotate(-90deg)}.anim-hold .core{fill:#fff;animation:2.4s ease-in infinite hold-core}.anim-hold .dots circle{animation:2.4s ease-in infinite hold-dots}@keyframes hold-ring{0%{stroke-dashoffset:88px}80%,to{stroke-dashoffset:0}}@keyframes hold-core{0%{opacity:.4;transform:scale(.6)}80%{opacity:1;transform:scale(1.6)}to{opacity:.4;transform:scale(.6)}}@keyframes hold-dots{0%{transform:rotate(var(--a)) translateX(19px);opacity:0}15%{opacity:1}80%{transform:rotate(calc(var(--a) + 70deg)) translateX(3px);opacity:1}to{transform:rotate(calc(var(--a) + 70deg)) translateX(3px);opacity:0}}.anim-release .flash{fill:#fff;animation:2.4s ease-out infinite release-flash}.anim-release .shock{fill:none;stroke:#ff2bd6;stroke-width:1.4px;animation:2.4s ease-out infinite release-shock}.anim-release .dots circle{animation:2.4s ease-out infinite release-dots}@keyframes release-flash{0%,20%{opacity:0;transform:scale(.2)}24%{opacity:1;transform:scale(1.3)}45%,to{opacity:0;transform:scale(.4)}}@keyframes release-shock{0%,22%{opacity:0;transform:scale(.4)}26%{opacity:1}70%,to{opacity:0;transform:scale(3.4)}}@keyframes release-dots{0%,22%{transform:rotate(var(--a)) translateX(2px);opacity:0}26%{opacity:1}80%,to{transform:rotate(var(--a)) translateX(24px);opacity:0}}.anim-tap .ripple{fill:none;stroke:#00e5ff;stroke-width:1.4px;animation:2.4s ease-out infinite tap-ripple}.anim-tap .star{fill:none;stroke:#ffd6fb;stroke-width:1.2px;stroke-linecap:round;animation:2.4s ease-in-out infinite tap-star}.anim-tap .star-core{fill:#ff9be9;animation:2.4s ease-in-out infinite tap-star}@keyframes tap-ripple{0%{opacity:0;transform:scale(.5)}8%{opacity:1}45%,to{opacity:0;transform:scale(4.2)}}@keyframes tap-star{0%,12%{opacity:0;transform:scale(0)}30%{opacity:1;transform:scale(1)}55%{opacity:.7;transform:scale(.7)}75%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.8)}}@media (orientation:landscape) and (max-height:560px){#manual{width:min(94vw,860px)}.manual-body{grid-template-columns:1fr 1fr;grid-template-areas:"basics more""extras more";column-gap:1.4rem;display:grid}.manual-basics{grid-area:basics}.manual-more{grid-area:more}.manual-extras{grid-area:extras}}@media (max-height:700px){.manual-card{padding:10px 14px 8px}.manual-section h3{margin:.45rem 0 .2rem}.manual-section li{padding:.08rem 0;font-size:.8rem}.manual-basics strong{font-size:.84rem}.manual-basics span{font-size:.72rem}.anim{width:46px;height:32px}.manual-footer{margin-top:.45rem}}@media (max-height:420px){.manual-header h2{font-size:.95rem}.manual-section li{font-size:.74rem;line-height:1.28}.anim{width:40px;height:28px}}@media (prefers-reduced-motion:reduce){.anim *,#help-button.is-hinting{animation:none!important}.anim-hold .ring-fill{stroke-dashoffset:22px}.anim-hold .dots circle{transform:rotate(var(--a)) translateX(8px)}.anim-release .dots circle{transform:rotate(var(--a)) translateX(14px)}.anim-release .flash{opacity:.8}.anim-tap .ripple{opacity:.5;transform:scale(2.4)}}
