:root{--font: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ui-outline: #EBBEBB;--ui-fill: #E5DAD9;--ui-text: #434343;--tut-gap: clamp(10px, 1.8dvh, 16px)}*{-webkit-tap-highlight-color:transparent}html,body{height:100%;margin:0}body{background:#efebe9;color:var(--ui-text);font-family:var(--font)}.tutorial-speckle{position:fixed;inset:0;z-index:0;pointer-events:none}.main{position:relative;z-index:1;min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:calc(12px + env(safe-area-inset-top,0px)) calc(12px + env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) calc(12px + env(safe-area-inset-left,0px));box-sizing:border-box}.panel{max-width:960px;width:100%;background:transparent;border:0;border-radius:10px;padding:8px;box-sizing:border-box;box-shadow:none;text-align:center;display:flex;flex-direction:column;align-items:center;gap:var(--tut-gap)}.title{font-size:28px;font-weight:800;margin:0 0 12px;text-align:center;color:var(--ui-text)}.logo{display:block;margin:0 auto 8px;width:200px;height:auto}.subtitle-top{font-size:14px;font-weight:800;color:var(--ui-text);margin:0 0 18px;letter-spacing:.03em}.lead{font-size:14px;color:var(--ui-text);margin:0 0 16px;line-height:1.6;text-align:center}.chapter .lead,.chapter-lesson .lead{margin:0 auto;max-width:38ch;text-wrap:balance}.h2{font-size:18px;font-weight:800;margin:24px 0 12px;text-align:center;color:var(--ui-text)}.section{margin:0;display:flex;flex-direction:column;align-items:center;gap:var(--tut-gap)}.row{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.badge{display:inline-block;padding:0;border:none;font-size:12px;color:var(--ui-text);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.chapter .badge,.chapter-lesson .badge{display:block;margin:0;font-family:Satoshi,JetBrains Mono,ui-monospace,monospace;font-size:20px;font-weight:900;letter-spacing:.03em;text-transform:uppercase}.card-label{font-size:12px;color:var(--ui-text);margin-top:6px}.group{background:transparent;border:0;border-radius:0;padding:8px 0}.group .row{margin-bottom:8px}.group-label{font-size:12px;color:var(--ui-text);text-align:center;margin-top:2px;text-transform:uppercase;letter-spacing:.04em}#tut-chapters{width:100%}.chapter{display:none}.chapter.active{display:block}.chapter-nav{display:flex;align-items:center;justify-content:center;gap:18px;margin:0}.chapter-arrow{width:48px;height:48px;padding:8px;border:none;background:transparent;color:var(--ui-text);cursor:pointer;line-height:0;display:inline-flex;align-items:center;justify-content:center}.chapter-arrow svg{width:100%;height:100%;display:block;overflow:visible}.chapter-arrow:disabled{opacity:.45;cursor:not-allowed}.board{background:transparent;border:0;border-radius:0;padding:0;margin:0 auto;display:flex;align-items:center;justify-content:center;line-height:0;overflow:visible}.board[data-kind]{border-radius:12px}.board canvas{display:block}#tut-card-root,#tut-card-crown,#tut-card-ground{border-radius:12px;overflow:hidden}#tut-card-root canvas,#tut-card-crown canvas,#tut-card-ground canvas{border-radius:12px;border:0}#tut-score-indicator,#tut-plus-indicator,#tut-minus-indicator,#tut-arrow-indicator{height:20px;margin:0;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ui-text);display:flex;align-items:center;justify-content:center;white-space:nowrap;visibility:hidden;opacity:0;transition:opacity .14s ease;pointer-events:none}#tut-score-indicator.active,#tut-plus-indicator.active,#tut-minus-indicator.active,#tut-arrow-indicator.active{visibility:visible;opacity:1}.back{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;border:none;background:transparent;color:#434343;text-decoration:none;font-size:30px;font-weight:700;line-height:1;cursor:pointer;box-sizing:border-box;transition:opacity .14s ease-out}.back:hover{opacity:.65}.back:after{content:none}.tut-pips{display:flex;gap:8px;align-items:center;justify-content:center;margin:0;min-height:12px}.tut-pip{width:10px;height:10px;border-radius:50%;background:var(--ui-fill);border:1px solid var(--ui-outline);transition:background .18s ease,transform .18s ease,border-color .18s ease}.tut-pip.done{background:#fda1ff;border-color:#fda1ff;transform:scale(1.12)}.tut-hint{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#9b938e;margin:0}.tut-end{margin:0 auto;width:100%;max-width:320px}.tut-play-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;box-sizing:border-box;padding:14px 22px;background:#fda1ff;border:none;border-radius:8px;color:#2a2826;font-family:var(--font);font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:none;text-decoration:none;cursor:pointer;transition:filter .16s ease,transform .16s ease}.tut-play-cta:hover{filter:brightness(.96)}.tut-skip{display:inline-flex;align-items:center;justify-content:center;padding:9px 18px;background:#e8ddda;border:none;border-radius:8px;color:#2a2826;font-family:var(--font);font-size:13px;font-weight:700;letter-spacing:.02em;text-transform:none;text-decoration:none;cursor:pointer;transition:filter .16s ease}.tut-skip:hover{filter:brightness(.96)}.tut-mod-list{display:flex;flex-direction:column;gap:10px;width:100%;max-width:320px;margin:0 auto}.tut-mod-item{display:flex;align-items:center;gap:14px;width:100%;box-sizing:border-box;padding:12px 16px;min-height:56px;background:#e8ddda;border:none;border-radius:8px;color:#2a2826;font-family:var(--font);cursor:pointer;text-align:left;transition:filter .16s ease}.tut-mod-item:hover{filter:brightness(.96)}.tut-mod-glyph{flex:0 0 auto;width:34px;height:34px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#fda1ff;color:#2a2826;font-size:18px;font-weight:900;line-height:1}.tut-mod-text{display:flex;flex-direction:column;gap:2px}.tut-mod-name{font-size:14px;font-weight:800;letter-spacing:.02em}.tut-mod-desc{font-size:11px;font-weight:600;color:#6b6360;letter-spacing:.01em}.chapter-lesson{display:none}.chapter-lesson.active{display:block}.tut-play-cta.pulse{animation:tut-cta-pulse .62s ease}@keyframes tut-cta-pulse{0%{transform:scale(1)}45%{transform:scale(1.06)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.tut-pip.done{transform:none}.tut-play-cta.pulse{animation:none}}
