:root{--tq-ink:#1f2a1f;--tq-surface:#fffdf7;--tq-surface-2:#f1ebdd;--tq-primary:#2f6b3a;--tq-primary-ink:#fff;--tq-accent:#f2b705;--tq-sky:#87ceeb;--tq-ok:#2e7d32;--tq-warn:#b26a00;--tq-bad:#b3261e;--tq-font-size:20px;--tq-radius:16px;--tq-gutter:16px;--tq-card-max:720px;--tq-shadow:0 6px 0 #1f2a1f47}@media (pointer:coarse){:root{--tq-font-size:22px}}.tq-overlay{z-index:10;box-sizing:border-box;overscroll-behavior:contain;padding:max(var(--tq-gutter), env(safe-area-inset-top)) max(var(--tq-gutter), env(safe-area-inset-right)) max(var(--tq-gutter), env(safe-area-inset-bottom)) max(var(--tq-gutter), env(safe-area-inset-left));pointer-events:auto;font-family:system-ui,sans-serif;font-size:var(--tq-font-size);color:var(--tq-ink);background:#1f2a1f66;flex-direction:column;line-height:1.45;display:flex;position:absolute;inset:0;overflow-y:auto}.tq-overlay *,.tq-overlay :before,.tq-overlay :after,.tq-toast,.tq-toast *{box-sizing:border-box}.tq-card{width:100%;max-width:var(--tq-card-max);background:var(--tq-surface);color:var(--tq-ink);border:4px solid var(--tq-ink);border-radius:calc(var(--tq-radius) + 8px);box-shadow:var(--tq-shadow);flex-direction:column;gap:16px;margin:auto;padding:20px;display:flex;position:relative}.tq-card h2{margin:0;font-size:1.2em;line-height:1.3}.tq-card p{margin:0}.tq-eyebrow{letter-spacing:.02em;margin:0;font-weight:700}.tq-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.tq-prompt{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.tq-prompt>h2,.tq-prompt>p{flex:14em}.tq-actions{flex-wrap:wrap;gap:12px;display:flex}.tq-actions>.tq-btn--primary{flex:12em}.tq-hint{margin:0}.tq-overlay [hidden]{display:none!important}.tq-sr{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.tq-btn{min-height:44px;font:inherit;color:var(--tq-ink);background:var(--tq-surface-2);border:3px solid var(--tq-ink);border-radius:var(--tq-radius);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;gap:10px;padding:8px 20px;font-weight:700;line-height:1.2;display:inline-flex;box-shadow:0 4px #1f2a1f59}.tq-btn:active:not(:disabled){transform:translateY(3px);box-shadow:0 1px #1f2a1f59}.tq-btn:disabled{cursor:not-allowed;opacity:.6;box-shadow:none}.tq-btn--primary{min-height:56px;color:var(--tq-primary-ink);background:var(--tq-primary);border-color:var(--tq-ink);padding:10px 28px}.tq-btn--secondary{background:var(--tq-surface)}.tq-btn--choice{text-align:left;background:var(--tq-surface);justify-content:flex-start;width:100%;min-height:64px}.tq-btn--choice:hover:not(:disabled){background:var(--tq-surface-2)}:where(.tq-overlay,.tq-toast) :focus-visible{outline:4px solid var(--tq-ink);outline-offset:3px;box-shadow:0 0 0 7px var(--tq-accent)}.tq-icon{flex:none;font-weight:700}.tq-overlay--dialog{background:#1f2a1f40}.tq-overlay--dialog>.tq-card{margin:auto auto 28px;padding-top:32px}.tq-bubble:after{content:"";border-left:18px solid #0000;border-right:18px solid #0000;border-top:22px solid var(--tq-ink);width:0;height:0;position:absolute;bottom:-22px;left:44px}.tq-bubble:before{content:"";z-index:1;border-left:14px solid #0000;border-right:14px solid #0000;border-top:18px solid var(--tq-surface);width:0;height:0;position:absolute;bottom:-14px;left:48px}.tq-nameplate{color:var(--tq-ink);background:var(--tq-accent);border:3px solid var(--tq-ink);border-radius:999px;margin:0;padding:4px 18px;font-weight:700;position:absolute;top:-20px;left:20px}.tq-dialog__text{font-size:1.1em}.tq-dialog__rest{visibility:hidden}.tq-dialog__choices{flex-direction:column;gap:12px;display:flex}.tq-feedback:empty{display:none}.tq-banner{color:var(--tq-ink);background:var(--tq-surface-2);border:4px solid var(--tq-ink);border-radius:var(--tq-radius);align-items:flex-start;gap:14px;padding:14px 16px;animation:.28s ease-out tq-pop;display:flex}.tq-banner--yes{border-color:var(--tq-ok);background:color-mix(in srgb, var(--tq-ok) 12%, var(--tq-surface))}.tq-banner--notyet{border-color:var(--tq-warn);background:color-mix(in srgb, var(--tq-warn) 12%, var(--tq-surface));animation:.36s ease-out tq-shake}.tq-banner__icon{flex:none;font-size:1.6em;font-weight:700;line-height:1}.tq-banner--yes .tq-banner__icon{color:var(--tq-ok)}.tq-banner--notyet .tq-banner__icon{color:var(--tq-warn)}.tq-banner__body{flex:auto;min-width:0}.tq-banner__word{margin:0;font-size:1.15em;font-weight:700}.tq-banner__text{margin:4px 0 0}.tq-banner.is-leaving{opacity:0;transition:opacity .25s ease-in}.tq-toast{top:max(var(--tq-gutter), env(safe-area-inset-top));z-index:20;width:max-content;max-width:min(var(--tq-card-max), calc(100% - 2 * var(--tq-gutter)));font-family:system-ui,sans-serif;font-size:var(--tq-font-size);text-align:center;color:var(--tq-primary-ink);background:var(--tq-ink);border:3px solid var(--tq-surface);box-shadow:var(--tq-shadow);pointer-events:auto;border-radius:999px;padding:12px 22px;font-weight:700;line-height:1.35;animation:.24s ease-out tq-drop;position:absolute;left:50%;transform:translate(-50%)}.tq-choices{flex-direction:column;gap:12px;display:flex}.tq-choice-mark{min-width:1.4em;font-weight:700;display:inline-block}.tq-choice-mark:empty{display:none}.tq-btn--choice.is-tried{background:var(--tq-surface-2);border-style:dashed;border-color:var(--tq-warn);box-shadow:none;cursor:default}.tq-btn--choice.is-right{border-color:var(--tq-ok);background:color-mix(in srgb, var(--tq-ok) 12%, var(--tq-surface))}.tq-btn--choice.is-locked:not(.is-right):not(.is-tried){opacity:.7;cursor:default}.tq-tiles{grid-template-columns:repeat(auto-fit,minmax(min(100%,14em),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.tq-tiles:empty{display:none}.tq-tile{text-align:left;background:var(--tq-surface);justify-content:flex-start;width:100%;min-height:64px}.tq-tile.is-shaking{animation:.36s ease-out tq-shake}.tq-lane{grid-template-columns:repeat(auto-fit,minmax(min(100%,14em),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.tq-lane__title{margin:0;font-weight:700}.tq-lane__slot{border:3px dashed var(--tq-ink);border-radius:var(--tq-radius);background:var(--tq-surface);align-items:center;gap:12px;min-height:56px;padding:8px 12px;display:flex}.tq-lane__slot.is-filled{border-style:solid;border-color:var(--tq-ok);background:color-mix(in srgb, var(--tq-ok) 12%, var(--tq-surface));animation:.28s ease-out tq-pop}.tq-lane__num{width:2em;height:2em;color:var(--tq-primary-ink);background:var(--tq-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.tq-lane__slot:not(.is-filled) .tq-lane__num{color:var(--tq-ink);background:var(--tq-surface-2);border:2px solid var(--tq-ink)}.tq-lane__text{font-weight:700}.tq-steps{counter-reset:tq-step;flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.tq-steps>li{counter-increment:tq-step;align-items:flex-start;gap:12px;min-height:44px;display:flex}.tq-steps>li:before{content:counter(tq-step);width:2em;height:2em;color:var(--tq-primary-ink);background:var(--tq-primary);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.tq-steps--check>li{align-items:center}.tq-steps--check label{background:var(--tq-surface);border:3px solid var(--tq-ink);border-radius:var(--tq-radius);cursor:pointer;flex:auto;align-items:center;gap:12px;min-height:56px;padding:8px 12px;display:flex}.tq-steps--check label:has(input:checked){border-color:var(--tq-ok);background:color-mix(in srgb, var(--tq-ok) 12%, var(--tq-surface))}.tq-steps--check input[type=checkbox]{width:32px;height:32px;accent-color:var(--tq-primary);cursor:pointer;flex:none;margin:0}.tq-note{background:var(--tq-surface-2);border-left:8px solid var(--tq-accent);border-radius:8px;padding:12px 16px;font-weight:700}.tq-pin{text-align:center;align-items:stretch;max-width:440px}.tq-pin__dots{justify-content:center;gap:16px;min-height:40px;display:flex}.tq-pin__dot{border:4px solid var(--tq-ink);background:var(--tq-surface);border-radius:50%;width:28px;height:28px}.tq-pin__dot.is-filled{background:var(--tq-ink)}.tq-pin__dots.is-shaking{animation:.36s ease-out tq-shake}.tq-pin__msg{min-height:1.45em;font-weight:700}.tq-pin__pad{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.tq-pin__key{min-height:64px;font-size:1.3em}@keyframes tq-pop{0%{opacity:0;transform:scale(.85)}60%{opacity:1;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes tq-shake{0%,to{transform:translate(0)}20%{transform:translate(-9px)}40%{transform:translate(9px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}@keyframes tq-drop{0%{opacity:0;transform:translate(-50%,-16px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.tq-banner,.tq-banner--notyet,.tq-tile.is-shaking,.tq-lane__slot.is-filled,.tq-pin__dots.is-shaking,.tq-toast{animation:none}.tq-btn:active:not(:disabled){transform:none}.tq-banner.is-leaving{transition:none}}@media (max-width:520px){.tq-card{padding:16px}}.tq-poster{gap:18px;max-width:760px}.tq-poster__title{margin:0;font-size:max(26px,1.4em);line-height:1.25}.tq-poster__hint{margin:0;font-size:max(20px,1em);font-weight:700}.tq-poster__lines{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.tq-poster__line{background:var(--tq-surface-2);border-left:8px solid var(--tq-accent);overflow-wrap:anywhere;border-radius:8px;padding:10px 16px;font-size:max(22px,1.2em);font-weight:700;line-height:1.35}.tq-poster__lines--grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(var(--tq-poster-rows,6), auto);grid-auto-flow:column;gap:8px 12px;display:grid}.tq-poster__lines--grid .tq-poster__line{overflow-wrap:normal;align-items:baseline;gap:10px;padding:8px 12px;display:flex}.tq-poster__num{min-width:1.4em;color:var(--tq-ink);opacity:.6;text-align:right;font-size:.75em}@media (max-width:560px){.tq-poster__lines--grid{grid-template-rows:none;grid-template-columns:minmax(0,1fr);grid-auto-flow:row;gap:4px}.tq-poster__lines--grid .tq-poster__line{padding:3px 12px;font-size:20px;line-height:1.3}}.tq-poster__actions{z-index:1;background:var(--tq-surface);padding-top:8px;position:sticky;bottom:0}@media (max-height:640px){.tq-poster{gap:12px}.tq-poster__lines{gap:6px}.tq-poster__line{padding:6px 14px;line-height:1.25}}.tq-book{min-height:0;max-height:100%}.tq-book__tabs{flex-wrap:wrap;gap:10px;display:flex}.tq-tab{flex:6em}.tq-tab.is-selected{color:var(--tq-primary-ink);background:var(--tq-primary);text-underline-offset:5px;text-decoration:underline}.tq-book__panel{overscroll-behavior:contain;flex-direction:column;flex:auto;gap:20px;min-height:0;display:flex;overflow-y:auto}.tq-book__panel:focus-visible{outline-offset:0}.tq-book__section{flex-direction:column;gap:12px;display:flex}.tq-book__section-title{margin:0;font-size:max(24px,1.25em);line-height:1.25}.tq-law{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.tq-law__point{background:var(--tq-surface-2);border-left:8px solid var(--tq-accent);border-radius:8px;flex-direction:column;gap:2px;padding:10px 16px;font-size:max(22px,1.2em);line-height:1.35;display:flex}.tq-law__word{font-weight:700}.tq-law__meaning{display:block}.tq-book__empty{font-size:max(22px,1.1em);font-weight:700}.tq-world-panel{top:max(12px, env(safe-area-inset-top,0px));right:max(12px, env(safe-area-inset-right,0px));z-index:6;box-sizing:border-box;overscroll-behavior:contain;width:min(340px,100% - 24px);max-height:calc(100% - 144px);font-family:system-ui,sans-serif;font-size:var(--tq-font-size);color:var(--tq-ink);background:var(--tq-surface);border:3px solid var(--tq-ink);border-radius:var(--tq-radius);box-shadow:var(--tq-shadow);flex-direction:column;gap:12px;padding:14px;line-height:1.35;display:flex;position:absolute;overflow-y:auto}.tq-world-panel *,.tq-world-panel :before,.tq-world-panel :after{box-sizing:border-box}.tq-world-panel [hidden]{display:none!important}.tq-world-panel p,.tq-world-panel h2,.tq-world-panel ul,.tq-world-panel ol{margin:0}.tq-world-panel :focus-visible{outline:4px solid var(--tq-ink);outline-offset:3px;box-shadow:0 0 0 7px var(--tq-accent)}@media (max-width:720px){.tq-world-panel{left:max(12px, env(safe-area-inset-left,0px));right:max(12px, env(safe-area-inset-right,0px));width:auto;top:calc(max(12px, env(safe-area-inset-top,0px)) + 204px + 70px);min-height:120px;max-height:calc(100% - (max(12px, env(safe-area-inset-top,0px)) + 274px) - 180px)}}.tq-world-panel__prompt{font-weight:700}.tq-world-panel__goal{font-size:1.15em;font-weight:700}.tq-world-panel__actions{flex-wrap:wrap;gap:12px;display:flex}.tq-world-panel__actions>.tq-btn{flex:8em}.tq-check-list{flex-direction:column;gap:8px;padding:0;list-style:none;display:flex}.tq-check-row{width:100%;min-height:44px;font:inherit;text-align:left;color:var(--tq-ink);background:var(--tq-surface);border:3px solid var(--tq-ink);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:12px;align-items:center;gap:10px;padding:6px 12px;font-weight:700;display:flex}.tq-check-row__mark{text-align:center;flex:none;min-width:1.2em}.tq-check-row__label{flex:auto;min-width:0}.tq-check-row__count{white-space:nowrap;flex:none}.tq-check-item.is-done>.tq-check-row{border-color:var(--tq-ok);background:color-mix(in srgb, var(--tq-ok) 12%, var(--tq-surface))}.tq-check-item__hint{background:var(--tq-surface-2);border-left:8px solid var(--tq-accent);border-radius:8px;margin:4px 0 0;padding:8px 12px}.tq-way-list{flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.tq-way{border:3px dashed var(--tq-ink);border-radius:12px;align-items:center;gap:10px;min-height:44px;padding:6px 12px;display:flex}.tq-way.is-current{border-style:solid;border-width:4px;font-weight:700}.tq-way.is-done{border-style:solid;border-color:var(--tq-ok);background:color-mix(in srgb, var(--tq-ok) 12%, var(--tq-surface))}.tq-way__mark{text-align:center;flex:none;min-width:1.2em;font-weight:700}.tq-bench{background:var(--tq-surface-2);border:3px solid var(--tq-ink);border-radius:var(--tq-radius);flex-direction:column;gap:12px;padding:14px 16px;display:flex}.tq-bench.is-done{border-color:var(--tq-ok)}.tq-bench__head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;display:flex}.tq-bench__result{margin:0}.tq-bench__count{margin:0;font-weight:700}.tq-slots{grid-template-columns:repeat(auto-fit,minmax(min(100%,11em),1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.tq-slot{background:var(--tq-surface);border:3px dashed var(--tq-ink);border-radius:var(--tq-radius);align-items:center;gap:12px;min-height:56px;padding:8px 12px;display:flex}.tq-slot.is-filled{border-style:solid;border-color:var(--tq-ok);background:color-mix(in srgb, var(--tq-ok) 12%, var(--tq-surface));animation:.28s ease-out tq-pop}.tq-slot__mark{width:2em;height:2em;color:var(--tq-ink);background:var(--tq-surface-2);border:2px solid var(--tq-ink);border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.tq-slot.is-filled .tq-slot__mark{color:var(--tq-primary-ink);background:var(--tq-primary);border-color:var(--tq-primary)}.tq-slot__text{font-weight:700}.tq-chip{text-align:center;background:var(--tq-surface);justify-content:center;width:100%;min-height:72px}@media (prefers-reduced-motion:reduce){.tq-chip.is-shaking,.tq-slot.is-filled{animation:none}}.tq-card.tq-rhythm{min-height:min(100%,620px)}.tq-rhythm__top{flex-direction:column;flex:1 1 0;gap:12px;display:flex}.tq-rhythm__exercise{margin:0}.tq-rhythm__stage{--tq-ring:clamp(96px, 18vh, 150px);min-height:calc(var(--tq-ring) * 1.3);place-items:center;display:grid}.tq-rhythm__ring{width:var(--tq-ring);aspect-ratio:1;border:10px solid var(--tq-primary);background:var(--tq-surface-2);color:var(--tq-ink);transform-origin:50%;will-change:transform;border-radius:50%;place-items:center;font-size:1.6em;font-weight:700;line-height:1;display:grid}.tq-rhythm__ring.is-beat{box-shadow:0 0 0 8px var(--tq-accent)}.tq-rhythm__count{text-align:center;margin:0;font-size:1.4em;font-weight:700}.tq-rhythm__count-unit{font-size:1em;font-weight:400}.tq-rhythm .tq-rhythm__feedback{min-height:72px}.tq-rhythm .tq-rhythm__feedback:empty{display:block}.tq-rhythm__result .tq-banner__body{flex-wrap:wrap;align-items:baseline;gap:0 10px;display:flex}.tq-rhythm__result .tq-banner__text{margin:0}.tq-rhythm__result--close{border-style:dashed}.tq-rhythm .tq-rhythm__pad{text-align:center;flex:1 1 0;width:100%}.tq-rhythm__pad-text{flex-direction:column;align-items:center;gap:4px;display:flex}.tq-rhythm__pad-label{font-size:1.6em;font-weight:700;line-height:1.15}.tq-rhythm__pad-hint{font-weight:400}.tq-rhythm__pad.is-hit{animation:.16s ease-out tq-rhythm-hit}@keyframes tq-rhythm-hit{0%{transform:scale(.97)}to{transform:scale(1)}}.tq-rhythm__done{flex-direction:column;flex:1 1 0;justify-content:center;gap:12px;min-height:120px;display:flex}@media (prefers-reduced-motion:reduce){.tq-rhythm__pad.is-hit{animation:none}.tq-rhythm__ring{will-change:auto}}.tq-sort{--tq-card-max:960px}.tq-bins{grid-template-columns:repeat(var(--tq-bin-count,2), minmax(0, 1fr));gap:12px;margin:0;padding:0;display:grid}@media (max-width:600px){.tq-bins{grid-template-columns:1fr}}.tq-bin{background:var(--tq-surface-2);border:3px dashed var(--tq-ink);border-radius:var(--tq-radius);cursor:pointer;flex-direction:column;gap:8px;min-height:132px;padding:10px;display:flex}.tq-bin__btn{text-align:center;flex-direction:column;gap:2px;width:100%}.tq-bin__cta{font-size:.8em;font-weight:400;display:none}.tq-bins.is-picking .tq-bin{border-style:solid}.tq-bins.is-picking .tq-bin__cta{display:block}.tq-bin.is-over{box-shadow:0 0 0 4px var(--tq-accent);border-style:solid;border-width:6px}.tq-bin__items{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.tq-placed{background:color-mix(in srgb, var(--tq-ok) 12%, var(--tq-surface));border:3px solid var(--tq-ok);border-radius:12px;align-items:center;gap:10px;min-height:44px;padding:6px 12px;font-weight:700;animation:.28s ease-out tq-pop;display:flex}.tq-placed__mark{color:var(--tq-ok);flex:none}.tq-chips{grid-template-columns:repeat(auto-fit,minmax(min(100%,9em),1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.tq-chips:empty{display:none}.tq-chip{text-align:center;background:var(--tq-surface);cursor:grab;touch-action:none;width:100%;min-height:64px;position:relative}.tq-chip__mark{flex:none}.tq-chip__mark:empty{display:none}.tq-chip.is-selected{border-color:var(--tq-primary);background:color-mix(in srgb, var(--tq-primary) 14%, var(--tq-surface))}.tq-chip.is-dragging{z-index:30;cursor:grabbing;box-shadow:0 12px #1f2a1f47}.tq-chip.is-shaking{animation:.36s ease-out tq-shake}.tq-sort .tq-feedback:empty{min-height:5em;display:block}@media (prefers-reduced-motion:reduce){.tq-chip.is-shaking,.tq-placed{animation:none}}
