.qg-root{max-width:900px;font-family:var(--font-sans);margin:0 auto;padding:8px 0 40px}.qg-btn{font-family:var(--font-sans);cursor:pointer;border-radius:6px;align-items:center;gap:8px;height:44px;padding:0 20px;font-size:14px;font-weight:700;transition:transform .12s,box-shadow .12s,opacity .15s;display:inline-flex}.qg-btn-primary{background:var(--accent);color:var(--on-accent);border:2px solid var(--fg);box-shadow:4px 4px 0 var(--fg)}.qg-btn-primary:hover{box-shadow:6px 6px 0 var(--fg);transform:translate(-2px,-2px)}.qg-btn-primary:active{box-shadow:2px 2px 0 var(--fg);transform:translate(0)}.qg-btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:4px 4px 0 var(--fg);transform:none}.qg-back{cursor:pointer;font-family:var(--font-mono);color:var(--fg-muted);background:0 0;border:none;margin-bottom:12px;padding:0;font-size:12px}.qg-back:hover{color:var(--accent-text)}.qg-kicker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--accent-text);font-size:11px;font-weight:700;display:block}.qg-hud{border:2px solid var(--fg);background:var(--bg-card);box-shadow:4px 4px 0 var(--fg);border-radius:8px;align-items:center;gap:16px;margin-bottom:22px;padding:14px 18px;display:flex}.qg-hud-meter{flex:1;min-width:0}.qg-hud-meter-top{justify-content:space-between;align-items:baseline;display:flex}.qg-hud-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--fg-mid);font-size:10px;font-weight:700}.qg-hud-xp{font-family:var(--font-display);color:var(--accent-text);font-size:16px;font-weight:700}.qg-hud-bar{background:var(--bg-surface);border:1.5px solid var(--border-mid);border-radius:999px;height:8px;margin:6px 0 4px;overflow:hidden}.qg-hud-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .6s cubic-bezier(.22,1,.36,1)}.qg-hud-sub{font-family:var(--font-mono);color:var(--fg-muted);font-size:10px}.qg-hud-stats{gap:8px;display:flex}.qg-chip{font-family:var(--font-mono);color:var(--fg);background:var(--bg-page);border:1.5px solid var(--border-mid);white-space:nowrap;border-radius:999px;padding:5px 11px;font-size:12px;font-weight:700}.qg-mapwrap{flex-direction:column;gap:26px;display:flex}.qg-mapintro{align-items:center;gap:22px;display:flex}.qg-mapintro>div{min-width:0}.qg-h1{font-family:var(--font-display);letter-spacing:-.015em;color:var(--fg);margin:6px 0 10px;font-size:clamp(26px,4.2vw,40px);font-weight:800;line-height:1.05}.qg-lead{color:var(--fg-mid);max-width:52ch;margin:0 0 16px;font-size:15px;line-height:1.6}@media (width<=620px){.qg-mapintro{text-align:center;flex-direction:column;align-items:center}}.qg-map{border:2px solid var(--fg);background:var(--bg-card);box-shadow:5px 5px 0 var(--fg);border-radius:10px;padding:18px}.qg-map-svg{width:100%;height:auto;display:block}.qg-map-line{fill:none;stroke:var(--border-mid);stroke-width:3px;stroke-dasharray:2 8;stroke-linecap:round}.qg-node{cursor:default}.qg-node--open,.qg-node--done{cursor:pointer}.qg-node-dot{stroke:var(--fg);stroke-width:2.5px;transform-box:fill-box;transform-origin:50%}.qg-node--locked .qg-node-dot{fill:var(--bg-surface);stroke:var(--border-mid)}.qg-node--open .qg-node-dot{fill:var(--bg-page)}.qg-node--done .qg-node-dot{fill:var(--accent)}.qg-node-num{font-family:var(--font-display);font-size:16px;font-weight:700}.qg-node--locked .qg-node-num{fill:var(--fg-muted)}.qg-node--open .qg-node-num{fill:var(--fg)}.qg-node-check{fill:none;stroke:var(--on-accent);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.qg-node--open:hover .qg-node-dot,.qg-node--done:hover .qg-node-dot{stroke-width:3px}.qg-node:focus-visible{outline:none}.qg-node:focus-visible .qg-node-dot{stroke:var(--accent-text);stroke-width:3.5px}.qg-node-pulse{fill:none;stroke:var(--accent);stroke-width:2.5px;opacity:0;animation:2s ease-out infinite qg-pulse}@keyframes qg-pulse{0%{opacity:.7;transform:scale(.7)}to{opacity:0;transform:scale(1.25)}}.qg-node-pulse{transform-box:fill-box;transform-origin:50%}.qg-weeks{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.qg-week-chip{font-family:var(--font-mono);color:var(--fg-muted);border:1.5px solid var(--border);border-radius:999px;padding:4px 10px;font-size:10px}.qg-map-trail{fill:none;stroke:var(--accent);stroke-width:3.5px;stroke-linecap:round;stroke-linejoin:round}.qg-walker{pointer-events:none}.qg-walker rect{fill:var(--accent);stroke:var(--fg);stroke-width:2.2px}.qg-walker-eye{fill:#fff;stroke:var(--fg);stroke-width:1.4px}.qg-walker-pupil{fill:var(--fg)}.qg-walker-mouth{fill:none;stroke:var(--fg);stroke-width:2px;stroke-linecap:round}.qg-physbit{pointer-events:none;z-index:3;border-radius:1px;width:8px;height:12px;position:absolute;top:0;left:0}.qg-dayart{margin:4px 0 16px}.qg-dayart svg{border:2px solid var(--border-mid);background:var(--bg-page);border-radius:8px;width:100%;height:auto;display:block}.qg-dayart-cap{font-family:var(--font-mono);letter-spacing:.05em;color:var(--fg-muted);margin-top:7px;font-size:10.5px}.qg-dayart .da-draw{fill:none;stroke:var(--fg);stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.qg-dayart .da-accent{stroke:var(--accent-text)}.qg-dayart .da-accentfill{fill:var(--accent-text);stroke:none}.qg-dayart .da-accentflag{fill:var(--accent);stroke:var(--fg);stroke-width:2.5px}.qg-dayart .da-dot{fill:var(--accent);stroke:var(--fg);stroke-width:1.5px}.qg-dayart .da-glass{fill:var(--accent-glow);stroke:var(--fg);stroke-width:3px}.qg-dayart .da-bubble{fill:var(--bg-card);stroke:var(--fg);stroke-width:2.5px}.qg-dayart .da-q{font-family:var(--font-display);fill:var(--accent-text);text-anchor:middle;font-size:16px;font-weight:800}.qg-dayart .da-bugbody{fill:var(--fg)}.qg-dayart .da-bugleg{stroke:var(--fg);stroke-width:1.4px;stroke-linecap:round;fill:none}.qg-dayart .da-head{fill:var(--bg-card);stroke:var(--fg);stroke-width:2.5px}.qg-dayart .da-headaccent{fill:var(--accent)}.qg-dayart .da-facedot{fill:var(--fg)}.qg-dayart .da-pipe,.qg-dayart .da-pipe2{stroke:var(--fg-muted);stroke-width:2.5px;fill:none}.qg-dayart .da-pipe{opacity:.9}.qg-op-bird path{fill:none;stroke:var(--fg);stroke-width:2px;stroke-linecap:round;opacity:.75}.qg-weekdone{max-width:560px;margin:24px auto 0;position:relative}.qg-weekdone-badge{font-family:var(--font-display);background:var(--accent);color:var(--on-accent);border:2px solid var(--fg);box-shadow:2px 2px 0 var(--fg);transform-origin:50%;border-radius:999px;padding:5px 14px;font-size:13px;font-weight:800;display:inline-block;position:absolute;top:-14px;right:18px}.qg-weekdone-lead{color:var(--fg-mid);margin:0 0 16px;font-size:15px;line-height:1.6}.qg-weekdone-skills{flex-direction:column;gap:8px;margin-bottom:22px;display:flex}.qg-weekdone-skill{width:fit-content;font-family:var(--font-display);color:var(--fg);border:2px solid var(--fg);background:var(--bg-page);box-shadow:2px 2px 0 var(--fg);border-radius:8px;align-items:center;gap:9px;padding:8px 14px;font-size:15px;font-weight:700;display:inline-flex}.qg-weekdone-skill>span{color:var(--accent-text)}.qg-journal{border:2px solid var(--border-mid);background:var(--bg-card);border-radius:10px;padding:18px 20px}.qg-journal-cols{flex-wrap:wrap;gap:22px 40px;margin-top:12px;display:flex}.qg-journal-cols>div{min-width:0}.qg-journal-h{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--fg-muted);margin-bottom:9px;font-size:10px;display:block}.qg-journal-skills{flex-wrap:wrap;gap:8px;display:flex}.qg-journal-skills .qg-weekdone-skill{box-shadow:none;border-width:1.5px;border-color:var(--border-mid);padding:6px 11px;font-size:13px}.qg-journal-people{flex-wrap:wrap;gap:10px 18px;display:flex}.qg-journal-person{align-items:center;gap:9px;display:inline-flex}.qg-journal-pname{font-family:var(--font-display);color:var(--fg);flex-direction:column;font-size:13px;font-weight:700;line-height:1.15;display:flex}.qg-journal-pname em{font-style:normal;font-family:var(--font-mono);color:var(--fg-muted);font-size:10px;font-weight:400}.qg-stage{grid-template-columns:132px 1fr;align-items:start;gap:22px;display:grid}.qg-rail{flex-direction:column;align-items:center;gap:8px;display:flex;position:sticky;top:84px}.qg-caption{font-family:var(--font-mono);color:var(--fg-mid);text-align:center;background:var(--bg-page);border:1.5px solid var(--border-mid);border-radius:999px;padding:5px 12px;font-size:11px}@media (width<=640px){.qg-stage{grid-template-columns:1fr}.qg-rail{flex-direction:row;justify-content:center;position:static}}.qg-card{border:2px solid var(--fg);background:var(--bg-card);box-shadow:5px 5px 0 var(--fg);border-radius:10px;padding:24px 26px}.qg-day-title{font-family:var(--font-display);letter-spacing:-.015em;color:var(--fg);margin:8px 0 6px;font-size:clamp(24px,3.4vw,32px);font-weight:800;line-height:1.06}.qg-day-n{font-size:13px;font-family:var(--font-mono);color:var(--on-accent);background:var(--accent);border:1.5px solid var(--fg);vertical-align:middle;border-radius:5px;margin-right:10px;padding:2px 8px;font-weight:700;display:inline-block}.qg-goal{font-family:var(--font-display);color:var(--accent-text);align-items:baseline;gap:8px;margin:0 0 14px;font-size:18px;font-weight:700;display:flex}.qg-intro-text{color:var(--fg);margin:0 0 20px;font-size:16px;line-height:1.65}.qg-beat-text{color:var(--fg);margin:0 0 20px;font-size:18px;line-height:1.7}.qg-speaker{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent-text);margin-bottom:10px;font-size:10px;font-weight:700;display:block}.qg-goal-pin{color:var(--accent)}.qg-scenario{padding:0;overflow:hidden}.qg-scenario-head{border-bottom:2px solid var(--fg);background:color-mix(in srgb, var(--accent) 13%, var(--bg-card));justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;display:flex}.qg-decision-pill{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--accent-text);align-items:center;gap:8px;font-size:11px;font-weight:700;display:inline-flex}.qg-decision-dot{background:var(--accent);border:1.5px solid var(--fg);border-radius:50%;width:8px;height:8px;animation:1.8s ease-in-out infinite qg-dot}@keyframes qg-dot{0%,to{box-shadow:0 0 0 0 var(--accent-glow)}50%{box-shadow:0 0 0 6px #0000}}.qg-scenario-ctx{font-family:var(--font-mono);color:var(--fg-muted);letter-spacing:.06em;font-size:10px}.qg-prompt{font-family:var(--font-display);letter-spacing:-.015em;color:var(--fg);margin:0;padding:22px 24px 0;font-size:clamp(21px,3vw,28px);font-weight:800;line-height:1.2}.qg-subtitle{color:var(--fg-mid);margin:0;padding:8px 24px 0;font-size:14px}.qg-options{flex-direction:column;gap:12px;padding:18px 24px 24px;display:flex}.qg-dcard{text-align:left;border:2px solid var(--border-mid);background:var(--bg-page);width:100%;color:var(--fg);font-family:var(--font-sans);cursor:pointer;border-radius:9px;align-items:center;gap:14px;padding:16px;font-size:16px;line-height:1.45;transition:border-color .15s,box-shadow .15s,background .15s,opacity .2s;display:flex}.qg-dcard:hover:not(:disabled){border-color:var(--accent);box-shadow:3px 3px 0 var(--fg)}.qg-dcard:focus-visible{border-color:var(--accent-text);box-shadow:0 0 0 3px var(--accent-chip);outline:none}.qg-dcard:disabled{cursor:default}.qg-dcard-key{border:2px solid var(--border-mid);width:30px;height:30px;font-family:var(--font-mono);color:var(--fg-mid);border-radius:7px;flex-shrink:0;place-items:center;font-size:13px;font-weight:700;transition:all .15s;display:grid}.qg-dcard:hover:not(:disabled) .qg-dcard-key{border-color:var(--accent);color:var(--accent-text)}.qg-dcard-text{flex:1}.qg-dcard-mark{text-align:center;width:22px;color:var(--fg-muted);flex-shrink:0;font-weight:700;transition:transform .15s,color .15s}.qg-dcard:hover:not(:disabled) .qg-dcard-mark{color:var(--accent-text);transform:translate(3px)}.qg-dcard.is-best{border-color:var(--accent);background:var(--accent-glow);box-shadow:3px 3px 0 var(--fg)}.qg-dcard.is-best .qg-dcard-key{background:var(--accent);color:var(--on-accent);border-color:var(--fg)}.qg-dcard.is-best .qg-dcard-mark{color:var(--accent-text)}.qg-dcard.is-picked{border-color:var(--pop-red)}.qg-dcard.is-picked .qg-dcard-key{border-color:var(--pop-red);color:var(--pop-red)}.qg-dcard.is-picked .qg-dcard-mark{color:var(--pop-red)}.qg-dcard.is-dim{opacity:.5}.qg-outcome{border:2px solid var(--fg);box-shadow:4px 4px 0 var(--fg);border-radius:9px;margin:0 24px 24px;padding:16px 18px}.qg-outcome.is-strong{background:var(--accent-glow)}.qg-outcome.is-partial{background:var(--bg-surface)}.qg-outcome.is-risky{background:color-mix(in srgb, var(--pop-red) 10%, var(--bg-card))}.qg-outcome-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.qg-outcome-glyph{border:2px solid var(--fg);border-radius:50%;flex-shrink:0;place-items:center;width:26px;height:26px;font-size:14px;font-weight:700;display:grid}.qg-outcome.is-strong .qg-outcome-glyph{background:var(--accent);color:var(--on-accent)}.qg-outcome.is-partial .qg-outcome-glyph{background:var(--bg-page);color:var(--fg)}.qg-outcome.is-risky .qg-outcome-glyph{background:var(--pop-red);color:#fff}.qg-outcome-verdict{font-family:var(--font-display);letter-spacing:-.01em;color:var(--fg);font-size:18px;font-weight:700}.qg-outcome-xp{font-family:var(--font-display);color:var(--accent-text);margin-left:auto;font-size:15px;font-weight:700}.qg-outcome-text{color:var(--fg);margin:0 0 14px;font-size:15px;line-height:1.6}.qg-recap-title{font-family:var(--font-display);color:var(--fg);letter-spacing:-.01em;margin:6px 0 16px;font-size:clamp(24px,3.4vw,32px);font-weight:800}.qg-skill-unlock{border:2px solid var(--fg);background:var(--bg-page);box-shadow:3px 3px 0 var(--fg);border-radius:8px;align-items:center;gap:12px;margin-bottom:18px;padding:14px 16px;display:flex}.qg-skill-star{color:var(--accent-text);font-size:22px}.qg-skill-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--fg-muted);font-size:10px;display:block}.qg-skill-name{font-family:var(--font-display);color:var(--fg);font-size:18px}.qg-skill-xp{font-family:var(--font-display);color:var(--accent-text);margin-left:auto;font-weight:700}.qg-recap-list{flex-direction:column;gap:8px;margin:0 0 20px;padding:0;list-style:none;display:flex}.qg-recap-list li{color:var(--fg-mid);padding-left:22px;font-size:15px;line-height:1.5;position:relative}.qg-recap-list li:before{content:"✓";color:var(--accent-text);font-weight:700;position:absolute;left:0}.qg-toast{z-index:5;width:fit-content;font-family:var(--font-mono);color:var(--fg);background:var(--bg-card);border:2px solid var(--fg);box-shadow:3px 3px 0 var(--fg);border-radius:999px;margin:0 auto 16px;padding:8px 16px;font-size:13px;position:sticky;top:70px}.qg-toast-xp{color:var(--accent-text);font-weight:700}.qg-bot svg{width:100%;height:100%;display:block;overflow:visible}.qg-shadow{fill:var(--fg)}.qg-body{fill:var(--accent);stroke:var(--fg);stroke-width:2.5px}.qg-eyeball{fill:#fff;stroke:var(--fg);stroke-width:2px}.qg-pupil{transform-box:fill-box;transform-origin:50%;animation:5s ease-in-out infinite qg-look}.qg-pupil-dot{fill:var(--on-accent)}.qg-glint{fill:#fff}.qg-eye-happy{fill:none;stroke:var(--on-accent);stroke-width:5px;stroke-linecap:round;opacity:0}.qg-mouth{fill:none;stroke:var(--on-accent);stroke-width:4px;stroke-linecap:round;opacity:0}.qg-mouth.m-grin{fill:var(--on-accent)}.qg-mouth.m-rest{opacity:1}.qg-spark{fill:var(--accent);stroke:var(--fg);stroke-width:1.5px;stroke-linejoin:round}.qg-burst{opacity:0}.qg-float{transform-box:fill-box;transform-origin:bottom;animation:4s ease-in-out infinite qg-float}.qg-tilt{transform-box:fill-box;transform-origin:bottom}.qg-breathe{transform-box:fill-box;transform-origin:bottom;animation:4s ease-in-out infinite qg-breathe}.qg-eye{transform-box:fill-box;transform-origin:50%}.qg-eyeball{transform-box:fill-box;transform-origin:50%;animation:4.4s ease-in-out infinite qg-blink}.qg-spark{transform-box:fill-box;transform-origin:50%;animation:3s ease-in-out infinite qg-twinkle}.qg-orbit{transform-box:view-box;transform-origin:80px 68px}.qg-bot[data-state=welcome] .m-rest{opacity:0}.qg-bot[data-state=welcome] .m-grin{opacity:1}.qg-bot[data-state=hint] .qg-pupil{animation:none;transform:translate(2px,-5px)}.qg-bot[data-state=hint] .qg-orbit{animation:2.6s linear infinite qg-orbit}.qg-bot[data-state=hint] .qg-tilt{animation:2s ease-in-out infinite qg-wobble}.qg-bot[data-state=success] .qg-eye,.qg-bot[data-state=celebrate] .qg-eye{opacity:0}.qg-bot[data-state=success] .qg-eye-happy,.qg-bot[data-state=celebrate] .qg-eye-happy{opacity:1}.qg-bot[data-state=success] .m-rest,.qg-bot[data-state=celebrate] .m-rest{opacity:0}.qg-bot[data-state=success] .m-grin,.qg-bot[data-state=celebrate] .m-grin{opacity:1}.qg-bot[data-state=concern] .m-rest{opacity:0}.qg-bot[data-state=concern] .m-frown{opacity:1}.qg-bot[data-state=concern] .qg-pupil{animation:none;transform:translateY(4px)}.qg-bot[data-state=celebrate] .qg-burst{opacity:1}.qg-bot[data-state=celebrate] .qg-burst .qg-spark{animation:.9s ease-in-out infinite qg-pop}.qg-burst .b2{animation-delay:.15s}.qg-burst .b3{animation-delay:.3s}.qg-bot[data-state=speaking] .m-rest{transform-box:fill-box;transform-origin:50%;animation:.5s ease-in-out infinite qg-chatter}.qg-bot[data-state=caution] .m-rest{opacity:0}.qg-bot[data-state=caution] .m-frown{opacity:1}.qg-bot[data-state=caution] .qg-pupil{animation:none;transform:translateY(3px)}.qg-bot[data-state=recap] .qg-eye{opacity:0}.qg-bot[data-state=recap] .qg-eye-happy{opacity:1}.qg-bot[data-state=recap] .m-rest{opacity:0}.qg-bot[data-state=recap] .m-grin{opacity:1}@keyframes qg-float{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes qg-breathe{0%,to{transform:scale(1)}50%{transform:scale(.99,1.025)}}@keyframes qg-blink{0%,92%,to{transform:scaleY(1)}96%{transform:scaleY(.12)}}@keyframes qg-twinkle{0%,to{opacity:.95;transform:scale(1)rotate(0)}50%{opacity:.5;transform:scale(.55)rotate(45deg)}}@keyframes qg-look{0%,16%{transform:translate(0)}24%,40%{transform:translate(5px,-2px)}48%,62%{transform:translate(-5px,1px)}70%,84%{transform:translate(2px,3px)}92%,to{transform:translate(0)}}@keyframes qg-orbit{to{transform:rotate(360deg)}}@keyframes qg-wobble{0%,to{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}@keyframes qg-pop{0%,to{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.1)}}@keyframes qg-chatter{0%,to{transform:scaleY(1)}50%{transform:scaleY(.4)}}.qg-explore{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;padding:18px 24px 6px;display:grid}.qg-explore-card{text-align:left;border:2px solid var(--border-mid);background:var(--bg-page);cursor:pointer;border-radius:9px;padding:14px;transition:border-color .15s,box-shadow .15s,background .15s;overflow:hidden}.qg-explore-card:hover:not(.is-open){border-color:var(--accent);box-shadow:3px 3px 0 var(--fg)}.qg-explore-card:focus-visible{box-shadow:0 0 0 3px var(--accent-chip);outline:none}.qg-explore-card.is-open{border-color:var(--accent);background:var(--accent-glow)}.qg-explore-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.qg-explore-label{font-family:var(--font-display);color:var(--fg);font-size:16px;font-weight:700}.qg-explore-plus{font-family:var(--font-mono);color:var(--fg-muted);font-size:14px;font-weight:700}.qg-explore-card.is-open .qg-explore-plus{color:var(--accent-text)}.qg-explore-note{color:var(--fg-mid);margin-top:8px;font-size:13.5px;line-height:1.5;display:block}.qg-task-progress{font-family:var(--font-mono);color:var(--fg-muted);padding:6px 24px 0;font-size:11px}.qg-select{flex-direction:column;gap:10px;padding:18px 24px 6px;display:flex}.qg-selectable{text-align:left;border:2px solid var(--border-mid);background:var(--bg-page);cursor:pointer;width:100%;font-family:var(--font-sans);color:var(--fg);border-radius:9px;align-items:center;gap:12px;padding:14px 15px;font-size:15.5px;transition:border-color .15s,background .15s,opacity .2s;display:flex}.qg-selectable:hover:not(:disabled){border-color:var(--accent)}.qg-selectable:focus-visible{box-shadow:0 0 0 3px var(--accent-chip);outline:none}.qg-selectable:disabled{cursor:default}.qg-check{border:2px solid var(--border-mid);color:#0000;border-radius:6px;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:13px;font-weight:700;transition:all .15s;display:grid}.qg-selectable.is-sel{border-color:var(--accent);background:var(--accent-glow)}.qg-selectable.is-sel .qg-check{background:var(--accent);border-color:var(--fg);color:var(--on-accent)}.qg-selectable.is-correct{border-color:var(--accent);background:var(--accent-glow)}.qg-selectable.is-correct .qg-check{background:var(--accent);border-color:var(--fg);color:var(--on-accent)}.qg-selectable.is-wrong{border-color:var(--pop-red)}.qg-selectable.is-wrong .qg-check{border-color:var(--pop-red);color:var(--pop-red)}.qg-selectable.is-missed{border-style:dashed;border-color:var(--accent)}.qg-selectable.is-dim{opacity:.5}.qg-task-actions{padding:8px 24px 22px}@media (prefers-reduced-motion:reduce){.qg-float,.qg-breathe,.qg-eyeball,.qg-spark,.qg-pupil,.qg-orbit,.qg-tilt,.qg-node-pulse,.qg-burst .qg-spark{animation:none!important}.qg-hud-fill,.qg-opt,.qg-btn{transition:none!important}}.qg-bubble{max-width:150px;font-family:var(--font-sans);color:var(--fg);background:var(--bg-card);border:2px solid var(--fg);box-shadow:3px 3px 0 var(--fg);text-align:center;border-radius:12px;padding:10px 12px;font-size:12.5px;line-height:1.45;position:relative}.qg-bubble:before{content:"";background:var(--bg-card);border-left:2px solid var(--fg);border-top:2px solid var(--fg);width:12px;height:12px;position:absolute;top:-8px;left:50%;transform:translate(-50%)rotate(45deg)}@media (width<=640px){.qg-bubble{max-width:240px}.qg-bubble:before{left:28px}}.qg-steps{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:16px;display:flex}.qg-step{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--fg-muted);align-items:center;gap:6px;font-size:10px;display:flex}.qg-step-dot{background:var(--bg-surface);border:1.5px solid var(--border-mid);border-radius:50%;width:9px;height:9px;transition:background .25s,border-color .25s,transform .25s,box-shadow .25s}.qg-step.is-done .qg-step-dot{background:var(--accent);border-color:var(--fg)}.qg-step.is-active .qg-step-dot{background:var(--accent);border-color:var(--fg);box-shadow:0 0 0 3px var(--accent-chip);transform:scale(1.35)}.qg-step.is-active{color:var(--accent-text);font-weight:700}@media (width<=560px){.qg-step-label{display:none}.qg-step.is-active .qg-step-label{display:inline}}.qg-hint-row{padding:0 24px 18px}.qg-hint-btn{font-family:var(--font-mono);color:var(--fg-mid);border:1.5px dashed var(--border-mid);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:7px 13px;font-size:12px;transition:border-color .15s,color .15s;display:inline-flex}.qg-hint-btn:hover{border-color:var(--accent);color:var(--accent-text)}.qg-hint-ic{background:var(--accent-chip);width:16px;height:16px;color:var(--accent-text);border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.qg-order{padding:16px 24px 6px}.qg-order-seq{flex-direction:column;gap:8px;margin:0 0 14px;padding:0;list-style:none;display:flex}.qg-slot{border:2px dashed var(--border-mid);background:var(--bg-page);border-radius:9px;align-items:center;gap:12px;min-height:50px;padding:12px 14px;transition:border-color .15s,background .15s;display:flex}.qg-slot.is-filled{cursor:pointer;border-style:solid}.qg-slot.is-correct{border-style:solid;border-color:var(--accent);background:var(--accent-glow)}.qg-slot.is-wrong{border-style:solid;border-color:var(--pop-red)}.qg-slot-n{background:var(--bg-surface);border:1.5px solid var(--border-mid);width:24px;height:24px;font-family:var(--font-mono);color:var(--fg-mid);border-radius:6px;flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:grid}.qg-slot.is-filled .qg-slot-n,.qg-slot.is-correct .qg-slot-n,.qg-slot.is-wrong .qg-slot-n{background:var(--accent);color:var(--on-accent);border-color:var(--fg)}.qg-slot-label{font-family:var(--font-sans);color:var(--fg);flex:1;font-size:15px}.qg-slot:not(.is-filled):not(.is-correct):not(.is-wrong) .qg-slot-label{color:var(--fg-muted)}.qg-slot-mark{flex-shrink:0;font-weight:700}.qg-slot.is-correct .qg-slot-mark{color:var(--accent-text)}.qg-slot.is-wrong .qg-slot-mark{color:var(--pop-red)}.qg-order-bank{flex-wrap:wrap;gap:8px;margin-bottom:4px;display:flex}.qg-chip-btn{font-family:var(--font-sans);color:var(--fg);background:var(--bg-card);border:2px solid var(--fg);box-shadow:2px 2px 0 var(--fg);cursor:pointer;border-radius:8px;padding:10px 14px;font-size:14.5px;transition:background .15s,transform .1s}.qg-chip-btn:hover{background:color-mix(in srgb, var(--accent) 14%, var(--bg-card))}.qg-hud.is-bump{animation:.6s qg-hudbump}@keyframes qg-hudbump{0%,to{box-shadow:4px 4px 0 var(--fg)}40%{box-shadow:4px 4px 0 var(--fg), 0 0 0 4px var(--accent-chip)}}@media (prefers-reduced-motion:reduce){.qg-hud.is-bump{animation:none}.qg-step-dot{transition:none}}.qg-portrait{border:2px solid var(--fg);box-shadow:3px 3px 0 var(--fg);color:#fff;font-family:var(--font-display);border-radius:12px;flex-shrink:0;place-items:center;font-weight:800;display:grid}.qg-hud{flex-wrap:wrap}.qg-hud-day{flex-direction:column;display:flex}.qg-hud-daynum{font-family:var(--font-display);color:var(--fg);font-size:20px;font-weight:800;line-height:1}.qg-hud-conf{flex-direction:column;align-items:center;gap:4px;margin:0 auto;display:flex}.qg-pips{gap:4px;display:flex}.qg-pip{background:var(--bg-surface);border:1.5px solid var(--border-mid);border-radius:3px;width:18px;height:8px;transition:background .45s,border-color .45s}.qg-pip.on{background:var(--accent);border-color:var(--fg)}.qg-hud-word{font-family:var(--font-display);color:var(--accent-text);font-size:14px;font-weight:700}.qg-hud-people{flex-direction:column;align-items:flex-end;display:flex}.qg-hud-peoplen{font-family:var(--font-display);color:var(--fg);font-size:15px;font-weight:700}@media (width<=560px){.qg-hud-conf{flex-basis:100%;order:3;align-items:flex-start;margin:6px 0 0}}.qg-narration-text{font-family:var(--font-sans);color:var(--fg-mid);margin:0 0 20px;font-size:18px;font-style:italic;line-height:1.7}.qg-dialogue-head{align-items:center;gap:12px;margin-bottom:14px;display:flex}.qg-dialogue-name{font-family:var(--font-display);color:var(--fg);font-size:18px;font-weight:700;line-height:1.1;display:block}.qg-dialogue-role{font-family:var(--font-mono);color:var(--fg-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.qg-said{font-family:var(--font-sans);color:var(--fg);background:var(--bg-page);border:2px solid var(--fg);border-radius:12px;padding:14px 16px;font-size:16px;line-height:1.6}.qg-said--them{border-top-left-radius:3px}.qg-replies{flex-direction:column;gap:10px;margin-top:14px;display:flex}.qg-reply{text-align:left;border:2px solid var(--border-mid);background:var(--bg-card);cursor:pointer;width:100%;font-family:var(--font-sans);color:var(--fg);border-radius:9px;align-items:center;gap:12px;padding:13px 15px;font-size:15.5px;transition:border-color .15s,background .15s,opacity .2s;display:flex}.qg-reply:hover:not(:disabled){border-color:var(--accent)}.qg-reply:focus-visible{box-shadow:0 0 0 3px var(--accent-chip);outline:none}.qg-reply:disabled{cursor:default}.qg-reply.is-picked{border-color:var(--accent);background:var(--accent-glow)}.qg-reply.is-dim{opacity:.5}.qg-reply-you{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);border:1.5px solid var(--border-mid);border-radius:5px;flex-shrink:0;padding:3px 7px;font-size:10px;font-weight:700}.qg-dialogue-out{flex-direction:column;gap:12px;margin-top:14px;display:flex}.qg-dialogue-note{font-family:var(--font-mono);color:var(--fg-muted);margin:0;font-size:12px}.qg-dialogue-learn{color:var(--fg);background:var(--accent-glow);border-left:3px solid var(--accent);border-radius:0 6px 6px 0;margin:0;padding:12px 14px;font-size:14.5px;line-height:1.6}.qg-learn-tag{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--accent-text);margin-bottom:4px;font-size:10px;font-weight:700;display:block}.qg-journal-label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--fg-muted);margin:6px 0 8px;font-size:10px;font-weight:700;display:block}.qg-squad .qg-narration-text{margin-bottom:6px}.qg-squadmap{width:100%;max-width:430px;height:auto;margin:10px auto 4px;display:block;overflow:visible}.qg-sm-link{stroke:var(--border-mid);stroke-width:2.5px;stroke-linecap:round}.qg-sm-weave{fill:none;stroke:var(--border-mid);stroke-width:2.5px;stroke-linecap:round}.qg-sm-weave-hot{fill:none;stroke:var(--accent);stroke-width:3.5px;stroke-linecap:round;opacity:0;filter:drop-shadow(0 0 3px var(--accent-glow))}.qg-sm-crosslabel{font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;fill:var(--accent-text);opacity:0;font-size:10.5px;font-weight:700}.qg-sm-rider-halo{fill:var(--accent-glow)}.qg-sm-rider-body{fill:var(--accent);stroke:var(--fg);stroke-width:2.4px}.qg-sm-rider-eye{fill:#fff;stroke:var(--fg);stroke-width:1.5px}.qg-sm-rider-pupil{fill:var(--fg)}.qg-sm-rider-mouth{fill:none;stroke:var(--fg);stroke-width:2px;stroke-linecap:round}.qg-sm-rider-tag{font-family:var(--font-mono);fill:var(--fg-mid);font-size:10px;font-weight:700}.qg-sm-node{stroke:var(--fg);stroke-width:2.5px}.qg-sm-node.is-you{stroke-width:3px}.qg-sm-init{fill:#fff;font-family:var(--font-display);font-size:18px;font-weight:800}.qg-sm-label{fill:var(--fg);font-family:var(--font-display);font-size:13px;font-weight:700}.qg-sm-sub{fill:var(--fg-muted);font-family:var(--font-mono);letter-spacing:.02em;font-size:9px}.qg-squad-cap{text-align:center;font-family:var(--font-sans);color:var(--fg-mid);margin:4px 0 18px;font-size:14px}.qg-op-stage{border:2px solid var(--fg);box-shadow:4px 4px 0 var(--fg);background:var(--bg-surface);border-radius:8px;margin-bottom:18px;overflow:hidden}.qg-op-svg{width:100%;height:auto;display:block}.qg-op-wall{fill:var(--bg-surface)}.qg-op-floor{fill:var(--bg-card)}.qg-op-window{fill:color-mix(in srgb, var(--accent) 24%, var(--bg-page));stroke:var(--fg);stroke-width:2px}.qg-op-glow{fill:var(--accent);opacity:.12;animation:5s ease-in-out infinite qg-op-glow}.qg-op-pane{stroke:var(--fg);stroke-width:1.5px;opacity:.6}.qg-op-clock{fill:var(--bg-page);stroke:var(--fg);stroke-width:2px}.qg-op-hand{stroke:var(--fg);stroke-width:2px;stroke-linecap:round}.qg-op-deskbg{fill:var(--border-mid);opacity:.4}.qg-op-desk{fill:var(--bg-page);stroke:var(--fg);stroke-width:2px}.qg-op-leg{stroke:var(--fg);stroke-width:3px;stroke-linecap:round}.qg-op-body{fill:var(--accent);stroke:var(--fg);stroke-width:2px}.qg-op-head{fill:var(--accent);stroke:var(--fg);stroke-width:2.5px}.qg-op-eye{fill:#fff;stroke:var(--fg);stroke-width:1.5px;transform-box:fill-box;transform-origin:50%;animation:4.6s ease-in-out infinite qg-op-blink2}.qg-op-pupil{fill:var(--on-accent)}.qg-op-glint{fill:#fff;opacity:.7}.qg-op-laptopbase{fill:var(--fg-mid);stroke:var(--fg);stroke-width:2px}.qg-op-screen{fill:var(--fg);stroke:var(--fg);stroke-width:2px}.qg-op-cursor{fill:var(--accent);animation:1.1s step-end infinite qg-op-cursor}.qg-op-screenlight{fill:var(--accent);opacity:.1;pointer-events:none}.qg-op-coffee{fill:var(--bg-page);stroke:var(--fg);stroke-width:2px}.qg-op-handle{fill:none;stroke:var(--fg);stroke-width:2px}.qg-op-bubble{fill:var(--bg-page);stroke:var(--fg);stroke-width:2px}.qg-op-q{fill:var(--accent-text);font-family:var(--font-display);font-size:20px;font-weight:800}.qg-op-bob{transform-box:fill-box;transform-origin:bottom;animation:3.6s ease-in-out infinite qg-op-bob}.qg-op-think{transform-box:fill-box;transform-origin:bottom;animation:3s ease-in-out infinite qg-op-float}@keyframes qg-op-cursor{0%,49%{opacity:1}50%,to{opacity:0}}@keyframes qg-op-blink2{0%,93%,to{transform:scaleY(1)}96%{transform:scaleY(.1)}}@keyframes qg-op-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}@keyframes qg-op-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes qg-op-glow{0%,to{opacity:.1}50%{opacity:.18}}@media (prefers-reduced-motion:reduce){.qg-op-glow,.qg-op-eye,.qg-op-cursor,.qg-op-bob,.qg-op-think{animation:none!important}}.qg-op-windowlit{fill:var(--accent);opacity:.14}.qg-op-beam{fill:var(--accent);opacity:.08;pointer-events:none}.qg-op-mote{fill:var(--accent);opacity:0}.qg-op-passer>*{fill:var(--fg)}.qg-op-passer{opacity:.16}.qg-op-pot{fill:var(--accent);stroke:var(--fg);stroke-width:2px}.qg-op-leaf{fill:none;stroke:var(--fg);stroke-width:2.5px;stroke-linecap:round}.qg-op-line{fill:var(--bg-page);opacity:.45}.qg-op-steam{fill:none;stroke:var(--fg-muted);stroke-width:2px;stroke-linecap:round;opacity:0}.qg-op-bob,.qg-op-think{animation:none}@media (prefers-reduced-motion:reduce){.qg-op-mote,.qg-op-steam{opacity:.4}}.qg-op-breathe{transform-box:fill-box;transform-origin:bottom;animation:2.4s ease-in-out infinite qg-op-breathe}.qg-op-thinkfloat{transform-box:fill-box;transform-origin:50%;animation:3s ease-in-out infinite qg-op-tfloat}.qg-op-mote{transform-box:fill-box;animation:4s ease-in infinite qg-op-moterise}.qg-op-mote:nth-child(2){animation-duration:5s;animation-delay:.8s}.qg-op-mote:nth-child(3){animation-duration:3.6s;animation-delay:1.5s}.qg-op-mote:nth-child(4){animation-duration:4.6s;animation-delay:.4s}.qg-op-mote:nth-child(5){animation-duration:5.4s;animation-delay:2.1s}.qg-op-steam{transform-box:fill-box;animation:2s ease-out infinite qg-op-steamrise}.qg-op-steam:nth-child(2){animation-delay:.7s}.qg-op-passer{transform-box:fill-box;animation:12s linear infinite qg-op-walk}.qg-op-plant{transform-box:fill-box;transform-origin:50% 100%;animation:3.6s ease-in-out infinite qg-op-sway}@keyframes qg-op-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}@keyframes qg-op-tfloat{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes qg-op-moterise{0%{opacity:0;transform:translateY(6px)}25%{opacity:.6}to{opacity:0;transform:translateY(-30px)}}@keyframes qg-op-steamrise{0%{opacity:0;transform:translateY(0)}30%{opacity:.5}to{opacity:0;transform:translateY(-14px)}}@keyframes qg-op-walk{0%{transform:translate(-70px)}55%,to{transform:translate(500px)}}@keyframes qg-op-sway{0%,to{transform:rotate(-2.5deg)}50%{transform:rotate(2.5deg)}}@media (prefers-reduced-motion:reduce){.qg-op-breathe,.qg-op-thinkfloat,.qg-op-mote,.qg-op-steam,.qg-op-passer,.qg-op-plant{animation:none!important}}.qg-sm-signal{fill:var(--accent)}.qg-sm-ring{stroke:var(--accent);stroke-width:2px}.qg-sm-bob{transform-box:fill-box;transform-origin:50%;animation:4s ease-in-out infinite qg-sm-bob}.qg-sm-core{transform-box:fill-box;transform-origin:50%;animation:3s ease-in-out infinite qg-sm-core}@keyframes qg-sm-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes qg-sm-core{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@media (prefers-reduced-motion:reduce){.qg-sm-bob,.qg-sm-core{animation:none!important}}
