@layer components{.waldo{display:flex;min-height:100svh;flex-direction:column;gap:clamp(.9rem,2vh,1.4rem);width:100%;max-width:78rem;margin-inline:auto;padding:clamp(1.1rem,4vw,2.5rem)}.waldo-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem}.waldo-title{font-size:clamp(1.9rem,5.5vw,3.1rem);font-weight:600;line-height:.95;letter-spacing:-.02em}.waldo-brief{margin-top:.5rem;max-width:58ch;font-size:.95rem;line-height:1.45;color:color-mix(in oklab,var(--ink) 70%,transparent);text-wrap:pretty}.waldo-inner{display:flex;flex-direction:column;gap:clamp(.9rem,2vh,1.4rem);min-height:24rem}.waldo-briefing{margin-top:-.4rem}.waldo-mapline{font-size:.85rem;color:color-mix(in oklab,var(--ink) 62%,transparent)}.waldo-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.waldo-main{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(.9rem,2vh,1.25rem);align-items:start}@media (min-width:64rem){.waldo-main{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr)}}.waldo-stagehead{display:flex;flex-wrap:wrap-reverse;align-items:baseline;justify-content:space-between;gap:.4rem 1rem;margin-bottom:.5rem;min-height:1.5rem}.waldo-stagehead .waldo-feedback{flex:1 1 16rem}.waldo-stagectl{display:flex;align-items:baseline;gap:.9rem;flex-shrink:0}.waldo-stat{font-size:.72rem;letter-spacing:.06em;color:color-mix(in oklab,var(--ink) 60%,transparent);white-space:nowrap}.waldo-stat,.waldo-toggle{font-family:var(--font-mono)}.waldo-toggle{font-size:.74rem;letter-spacing:.05em;padding:.3rem .7rem;border:1px solid color-mix(in oklab,var(--ink) 25%,transparent);border-radius:.45rem;background:transparent;color:var(--ink);cursor:pointer;transition:border-color .18s ease,background .18s ease}.waldo-toggle:hover,.waldo-toggle[aria-pressed=true]{border-color:color-mix(in oklab,var(--accent) 60%,transparent);background:color-mix(in oklab,var(--accent) 10%,transparent)}.waldo-stagebox{position:relative;border:1px solid color-mix(in oklab,var(--ink) 15%,transparent);border-radius:.85rem;background:color-mix(in oklab,var(--ink) 3%,transparent);overflow:hidden;min-height:14rem}.waldo-stage{display:block;width:100%;height:auto}.waldo-boot{position:absolute;inset:0;display:grid;place-items:center;padding:1rem;text-align:center;font-family:var(--font-mono);font-size:.85rem;color:color-mix(in oklab,var(--ink) 75%,transparent);background:color-mix(in oklab,var(--bg) 78%,transparent);backdrop-filter:blur(2px)}.waldo-errorrow{display:flex;align-items:center;gap:.8rem;margin-top:1.4rem;flex-wrap:wrap}.waldo-errorrow .waldo-toggle{text-decoration:none}.waldo-bootfail{display:inline-flex;flex-direction:column;align-items:center;gap:.7rem}.waldo-feedback{font-size:.92rem;line-height:1.35;min-height:1.3em;color:color-mix(in oklab,var(--ink) 78%,transparent);text-wrap:pretty}.waldo-feedback.fb-win{color:var(--accent);font-weight:600}.waldo-feedback.fb-error{color:color-mix(in oklab,#e5484d 75%,var(--ink))}.waldo-feedback.fb-empty,.waldo-feedback.fb-excluded,.waldo-feedback.fb-no-pk{color:color-mix(in oklab,var(--ink) 85%,transparent)}.waldo-found-stamp{display:inline-block;margin-right:.6rem;padding:.1rem .5rem;border:1.5px solid var(--accent);border-radius:.3rem;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.18em;transform:rotate(-2deg)}.spr{transition:opacity .28s ease}.spr-off{opacity:.15}.spr-off .spr-body{filter:grayscale(1)}.spr-ring{opacity:0;transition:opacity .28s ease}.spr-found .spr-ring,.spr-on .spr-ring{opacity:1}.spr-probe-ring{opacity:0}.spr-probe .spr-probe-ring{opacity:.9}@media (prefers-reduced-motion:reduce){.spr,.spr-ring{transition:none}}.waldo-tablewrap{overflow:auto;max-height:min(26rem,60svh)}.waldo-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.8rem}.waldo-table-caption{caption-side:top;text-align:left;padding:.6rem .9rem .3rem;font-size:.72rem;letter-spacing:.06em;color:color-mix(in oklab,var(--ink) 60%,transparent)}.waldo-table td,.waldo-table th{padding:.4rem .9rem;text-align:left;white-space:nowrap;border-bottom:1px solid color-mix(in oklab,var(--ink) 10%,transparent)}.waldo-table th{position:sticky;top:0;background:color-mix(in oklab,var(--bg) 92%,var(--ink));color:var(--accent);font-weight:600;letter-spacing:.04em}.waldo-null{color:color-mix(in oklab,var(--ink) 40%,transparent);font-style:italic}.waldo-table-empty{padding:2.5rem 1.2rem;text-align:center;font-size:.9rem;color:color-mix(in oklab,var(--ink) 60%,transparent)}.waldo-console{display:grid;grid-template-columns:minmax(0,1fr);gap:.9rem;align-items:start}@media (min-width:52rem) and (max-width:63.99rem){.waldo-console{grid-template-columns:minmax(0,1fr) 16rem}}.waldo-console>.waldo-sidecol{min-width:0}.waldo-editorwrap{border:1px solid color-mix(in oklab,var(--ink) 15%,transparent);border-radius:.85rem;background:color-mix(in oklab,var(--ink) 3%,transparent);transition:border-color .18s ease}.waldo-editorwrap:focus-within{border-color:color-mix(in oklab,var(--accent) 55%,transparent)}.waldo-editor{min-height:8rem}.waldo-consolehead{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.55rem .9rem;border-bottom:1px solid color-mix(in oklab,var(--ink) 10%,transparent)}.waldo-consolelabel{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:color-mix(in oklab,var(--ink) 55%,transparent)}.waldo-modes{display:inline-flex;border:1px solid color-mix(in oklab,var(--ink) 22%,transparent);border-radius:.5rem;overflow:hidden}.waldo-mode{padding:.28rem .75rem;background:transparent;border:none;color:color-mix(in oklab,var(--ink) 65%,transparent);font-family:var(--font-mono);font-size:.74rem;letter-spacing:.05em;cursor:pointer;transition:background .18s ease,color .18s ease}.waldo-mode+.waldo-mode{border-left:1px solid color-mix(in oklab,var(--ink) 18%,transparent)}.waldo-mode[aria-pressed=true]{background:color-mix(in oklab,var(--accent) 16%,transparent);color:var(--ink)}.waldo-rail{display:flex;flex-direction:column;gap:.55rem;padding:.9rem;min-height:8rem;align-content:flex-start}.waldo-rail-line{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.waldo-rail-indent{margin-left:1.6rem}.waldo-chip{padding:.34rem .65rem;border-radius:.45rem;background:color-mix(in oklab,var(--accent) 14%,transparent);color:var(--accent);font-family:var(--font-mono);font-size:.82rem;font-weight:600;letter-spacing:.04em;user-select:none}.waldo-slot{position:relative}.waldo-slot,.waldo-slot-btn{display:inline-flex;align-items:center}.waldo-slot-btn{gap:.4rem;padding:.34rem .65rem;border:1px dashed color-mix(in oklab,var(--ink) 40%,transparent);border-radius:.45rem;background:color-mix(in oklab,var(--ink) 5%,transparent);color:var(--ink);font-family:var(--font-mono);font-size:.82rem;cursor:pointer;transition:border-color .18s ease,background .18s ease,opacity .18s ease}.waldo-slot-btn:hover:not(:disabled){border-color:color-mix(in oklab,var(--accent) 55%,transparent)}.waldo-slot-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.waldo-slot-caret{flex-shrink:0;color:color-mix(in oklab,var(--ink) 55%,transparent);transition:transform .15s ease}.waldo-slot-btn[aria-expanded=true] .waldo-slot-caret{transform:rotate(180deg)}.waldo-slot:not(.waldo-slot-empty) .waldo-slot-btn{border-style:solid;border-color:color-mix(in oklab,var(--ink) 30%,transparent);background:color-mix(in oklab,var(--ink) 9%,transparent)}.waldo-slot-locked .waldo-slot-btn,.waldo-slot-locked input[type=range]{opacity:.4;cursor:not-allowed}.waldo-slot-menu{position:absolute;top:calc(100% + .3rem);left:0;z-index:20;min-width:100%;max-height:12rem;overflow-y:auto;margin:0;padding:.25rem;list-style:none;border:1px solid color-mix(in oklab,var(--ink) 20%,transparent);border-radius:.5rem;background:color-mix(in oklab,var(--bg) 92%,var(--ink));box-shadow:0 .6rem 1.6rem rgba(0,0,0,.35);font-family:var(--font-mono);font-size:.82rem;display:none;opacity:0;translate:0 -4px}.waldo-slot-menu[data-open]{display:block;opacity:1;translate:0 0}.waldo-slot-opt{padding:.32rem .6rem;border-radius:.35rem;color:color-mix(in oklab,var(--ink) 85%,transparent);white-space:nowrap;cursor:pointer}.waldo-slot-opt-active{background:color-mix(in oklab,var(--accent) 16%,transparent);color:var(--ink)}.waldo-slot-opt-selected{font-weight:600;color:var(--accent)}.waldo-slot-num{gap:.5rem;padding:.2rem .4rem}.waldo-slot-num input[type=range]{accent-color:var(--accent);width:8rem}.waldo-slot-num output{font-family:var(--font-mono);font-size:.8rem;min-width:2.2ch;text-align:right}.waldo-runrow{display:flex;align-items:center;gap:.8rem;padding:.6rem .9rem;border-top:1px solid color-mix(in oklab,var(--ink) 10%,transparent)}.waldo-run{padding:.45rem 1.1rem;border:1px solid color-mix(in oklab,var(--accent) 65%,transparent);border-radius:.5rem;background:color-mix(in oklab,var(--accent) 14%,transparent);color:var(--ink);font-family:var(--font-mono);font-size:.82rem;font-weight:600;letter-spacing:.04em;cursor:pointer;transition:background .18s ease,transform .12s ease}.waldo-run:hover:not(:disabled){background:color-mix(in oklab,var(--accent) 24%,transparent)}.waldo-run:active:not(:disabled){transform:scale(.97)}.waldo-run:disabled{opacity:.45;cursor:default}.waldo-kbd{font-family:var(--font-mono);font-size:.7rem;color:color-mix(in oklab,var(--ink) 65%,transparent)}.waldo-consolecol,.waldo-sidecol{display:flex;flex-direction:column;gap:.9rem;min-width:0}.waldo-scout{border:1px solid color-mix(in oklab,var(--ink) 15%,transparent);border-radius:.85rem;background:color-mix(in oklab,var(--ink) 2%,transparent)}.waldo-scout .waldo-editor{min-height:4.6rem}.waldo-scout-note{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.05em;color:color-mix(in oklab,var(--ink) 50%,transparent)}.waldo-scout-intro{padding:.6rem .9rem 0;font-size:.82rem;line-height:1.45;color:color-mix(in oklab,var(--ink) 65%,transparent)}.waldo-run-scout{background:transparent;border-color:color-mix(in oklab,var(--ink) 30%,transparent);color:color-mix(in oklab,var(--ink) 80%,transparent)}.waldo-run-scout:hover:not(:disabled){background:color-mix(in oklab,var(--ink) 8%,transparent)}.waldo-scout-error{font-size:.78rem;color:color-mix(in oklab,#e5484d 75%,var(--ink))}.waldo-scout .waldo-tablewrap{max-height:14rem;border-top:1px solid color-mix(in oklab,var(--ink) 10%,transparent)}.waldo-tutorial-body{display:flex;flex-direction:column;gap:.7rem;padding:.9rem}.waldo-tutorial-say{font-size:.92rem;line-height:1.5;max-width:52ch;text-wrap:pretty}.waldo-tutorial-type{margin:0;padding:.7rem .9rem;border-radius:.5rem;background:color-mix(in oklab,var(--ink) 6%,transparent);font-family:var(--font-mono);font-size:.9rem;min-height:2.4rem;white-space:pre-wrap;word-break:break-word}.waldo-tutorial-caret{display:inline-block;width:.55em;height:1.05em;margin-left:1px;vertical-align:text-bottom;background:var(--accent)}@media (prefers-reduced-motion:no-preference){.waldo-tutorial-caret{animation:waldo-blink 1.05s steps(1) infinite}}@keyframes waldo-blink{50%{opacity:0}}.waldo-tutorial-after{font-size:.88rem;line-height:1.5;color:color-mix(in oklab,var(--ink) 75%,transparent);max-width:52ch}.waldo-tutorial-nav{border-top:none;padding:0;min-height:2.2rem;flex-wrap:wrap}.waldo-tutorial-done{font-size:.88rem;color:var(--accent)}.waldo-winstats{display:inline-block;margin-left:.6rem;font-family:var(--font-mono);font-size:.74rem;letter-spacing:.04em;color:color-mix(in oklab,var(--ink) 70%,transparent)}.waldo-stars{color:var(--accent);font-size:.9rem;letter-spacing:.12em;margin-right:.5rem}.waldo-star-bonus{margin-left:.3rem;font-size:.72rem;vertical-align:.08em}.cm-waldo-err{text-decoration:underline wavy color-mix(in oklab,#e5484d 80%,var(--ink));text-underline-offset:.22em}.waldo-hints{border:1px solid color-mix(in oklab,var(--ink) 15%,transparent);border-radius:.85rem;padding:.9rem 1rem;display:flex;flex-direction:column;gap:.6rem}.waldo-hints-title{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:color-mix(in oklab,var(--ink) 55%,transparent)}.waldo-hint-btn{align-self:flex-start;padding:.35rem .75rem;border:1px dashed color-mix(in oklab,var(--ink) 35%,transparent);border-radius:.5rem;background:transparent;color:color-mix(in oklab,var(--ink) 80%,transparent);font-family:var(--font-mono);font-size:.76rem;cursor:pointer;transition:border-color .18s ease,color .18s ease}.waldo-hint-btn:hover{border-color:color-mix(in oklab,var(--accent) 55%,transparent);color:var(--ink)}.waldo-hint-cost{margin-left:.45rem;font-size:.66rem;color:color-mix(in oklab,var(--ink) 65%,transparent)}.waldo-hint-card{padding:.65rem .75rem;border-radius:.5rem;background:color-mix(in oklab,var(--ink) 5%,transparent);font-size:.82rem;line-height:1.5;color:color-mix(in oklab,var(--ink) 82%,transparent)}.waldo-hint-sql{font-family:var(--font-mono);font-size:.76rem;line-height:1.5;white-space:pre-wrap;word-break:break-word;color:var(--ink);margin:0}.waldo-hint-walkthrough{margin-top:.5rem;font-size:.8rem;line-height:1.5}.waldo-hint-insert{margin-top:.6rem;padding:.3rem .7rem;border:1px solid color-mix(in oklab,var(--accent) 55%,transparent);border-radius:.45rem;background:transparent;color:var(--accent);font-family:var(--font-mono);font-size:.72rem;cursor:pointer}.waldo-hint-insert:hover{background:color-mix(in oklab,var(--accent) 12%,transparent)}.waldo-schema{border:1px solid color-mix(in oklab,var(--ink) 15%,transparent);border-radius:.85rem;padding:.9rem 1rem;font-family:var(--font-mono);font-size:.78rem;max-height:24rem;overflow:auto}.waldo-schema-title{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:color-mix(in oklab,var(--ink) 55%,transparent);margin-bottom:.6rem}.waldo-schema-name{color:var(--accent);font-weight:600;margin-bottom:.25rem}.waldo-schema-table+.waldo-schema-table{margin-top:.8rem}.waldo-schema-cols{list-style:none;margin:0;padding:0}.waldo-schema-cols li{display:flex;flex-wrap:wrap;gap:.5ch;padding:.12rem 0;line-height:1.35}.waldo-schema-type{color:color-mix(in oklab,var(--ink) 50%,transparent)}.waldo-schema-note{flex-basis:100%;color:color-mix(in oklab,var(--ink) 65%,transparent);font-size:.7rem;padding-left:1ch}.waldo-winrow{display:flex;align-items:center;gap:.8rem;margin-top:.7rem}.waldo-back{background:none;border:none;padding:0;cursor:pointer}.waldo-iris{pointer-events:none}.waldo-iris-hole{opacity:0;transform-box:view-box}@media (prefers-reduced-motion:no-preference){.waldo-iris-hole{animation:waldo-iris 1.6s cubic-bezier(.2,.8,.2,1) both}}@keyframes waldo-iris{0%{transform:scale(18);opacity:.9}45%{transform:scale(1);opacity:.85}72%{transform:scale(1);opacity:.85}to{transform:scale(1.6);opacity:0}}.waldo-map{position:relative;min-height:clamp(34rem,120vw,46rem);border:1px solid color-mix(in oklab,var(--ink) 15%,transparent);border-radius:.85rem;background:color-mix(in oklab,var(--ink) 2%,transparent);overflow:hidden}@media (min-width:52rem){.waldo-map{min-height:44rem}}.waldo-map-trail{position:absolute;inset:0;width:100%;height:100%}.waldo-map-stops{list-style:none;margin:0;padding:0}.waldo-map-stop{position:absolute;transform:translate(-50%,-20%)}.waldo-stop{display:flex;align-items:center;gap:.6rem;padding:.45rem .7rem .45rem .45rem;border:1px solid color-mix(in oklab,var(--ink) 20%,transparent);border-radius:.7rem;background:color-mix(in oklab,var(--bg) 88%,var(--ink));color:var(--ink);text-align:left;cursor:pointer;transition:transform .2s ease,border-color .2s ease}.waldo-stop:focus-visible,.waldo-stop:hover:not(:disabled){transform:translateY(-3px);border-color:color-mix(in oklab,var(--accent) 60%,transparent)}.waldo-stop:disabled{opacity:.45;cursor:default}.waldo-stop-num{display:grid;place-items:center;width:2rem;height:2rem;flex-shrink:0;border-radius:50%;border:1.5px solid var(--accent);font-family:var(--font-mono);font-weight:600;font-size:.9rem;color:var(--accent)}.waldo-stop:disabled .waldo-stop-num{border-color:color-mix(in oklab,var(--ink) 40%,transparent);color:color-mix(in oklab,var(--ink) 40%,transparent)}.waldo-stop-done .waldo-stop-num{background:color-mix(in oklab,var(--accent) 20%,transparent)}.waldo-stop-label{display:flex;flex-direction:column;gap:.06rem;min-width:7.5rem}.waldo-stop-label strong{font-size:.85rem;font-weight:600;line-height:1.15}.waldo-stop-label em{font-style:normal;font-size:.68rem;color:color-mix(in oklab,var(--ink) 58%,transparent);line-height:1.2}.waldo-stop-stars{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;color:var(--accent)}.waldo-stop:disabled .waldo-stop-stars,.waldo-stop:not(.waldo-stop-done) .waldo-stop-stars{color:color-mix(in oklab,var(--ink) 68%,transparent)}@media (max-width:40rem){.waldo-stop-label{min-width:5.5rem}.waldo-stop-label em{display:none}}.waldo-skeleton{justify-content:flex-start}@media (prefers-reduced-motion:no-preference){.waldo-skeleton{animation:waldo-skel-in .2s .3s both}}@keyframes waldo-skel-in{0%{opacity:0}to{opacity:1}}.waldo-skel-bar{height:2.4rem;width:min(22rem,70%);border-radius:.6rem;background:color-mix(in oklab,var(--ink) 6%,transparent)}.waldo-skel-stage{aspect-ratio:100/57;max-height:24rem;width:100%;display:grid;place-items:center;border:1px solid color-mix(in oklab,var(--ink) 12%,transparent);border-radius:.85rem;background:color-mix(in oklab,var(--ink) 3%,transparent);font-family:var(--font-mono);font-size:.85rem;color:color-mix(in oklab,var(--ink) 55%,transparent)}.waldo-skel-console{height:9rem;border-radius:.85rem;background:color-mix(in oklab,var(--ink) 5%,transparent)}.waldo-skel-table{display:flex;flex-direction:column;gap:.45rem;margin-top:.7rem}.waldo-skel-row{height:.85rem;border-radius:.3rem;background:color-mix(in oklab,var(--ink) 7%,transparent)}.waldo-skel-head{height:1.1rem;background:color-mix(in oklab,var(--ink) 12%,transparent)}@media (prefers-reduced-motion:no-preference){.waldo-skel-bar,.waldo-skel-console,.waldo-skel-table .waldo-skel-row{animation:waldo-pulse 1.4s ease-in-out infinite}.waldo-skel-stage{animation:waldo-pulse-bg 1.4s ease-in-out infinite}@keyframes waldo-pulse-bg{0%,to{background-color:color-mix(in oklab,var(--ink) 3%,transparent)}50%{background-color:color-mix(in oklab,var(--ink) 7%,transparent)}}}@keyframes waldo-pulse{0%,to{opacity:1}50%{opacity:.55}}@media (prefers-reduced-motion:no-preference){.waldo-map-stop{animation:waldo-stop-in .26s ease-out backwards;animation-delay:calc(var(--i, 0) * 40ms)}@keyframes waldo-stop-in{0%{opacity:0;transform:translateY(10px)}}.waldo-map-trail path{animation:waldo-trail-in .9s ease-out backwards}@keyframes waldo-trail-in{0%{opacity:0}}.waldo-slot-menu{transition:opacity .12s ease-in,translate .12s ease-in,display allow-discrete .12s}.waldo-slot-menu[data-open]{transition:opacity .15s ease-out,translate .15s ease-out,display allow-discrete .15s}@starting-style{.waldo-slot-menu[data-open]{opacity:0;translate:0 -4px}}.waldo-stop:active:not(:disabled){transform:translateY(-3px) scale(.97)}.waldo-fb-in{animation:waldo-fb-in .16s ease-out}@keyframes waldo-fb-in{0%{opacity:0;transform:translateY(2px)}}.waldo-stageswap{animation:waldo-swap-in .18s ease-out}@keyframes waldo-swap-in{0%{opacity:0}}.waldo-result-in{animation:waldo-swap-in .15s ease-out}.waldo-hint-card{animation:waldo-hint-in .2s ease-out}@keyframes waldo-hint-in{0%{opacity:0;transform:translateY(-4px)}}.waldo-found-stamp{animation:waldo-stamp-in .22s cubic-bezier(.2,1.4,.4,1)}@keyframes waldo-stamp-in{0%{opacity:0;transform:rotate(-2deg) scale(1.12)}}.waldo-run[data-running]{animation:waldo-pulse 1.1s ease-in-out infinite}.waldo-stagebox[data-running]:after{content:"";position:absolute;inset:0 0 auto 0;height:2px;z-index:3;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:waldo-sweep 1.05s ease-in-out infinite}@keyframes waldo-sweep{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}}.waldo-inner{view-transition-name:waldo-inner}}@media (prefers-reduced-motion:no-preference){::view-transition-old(waldo-inner){animation:waldo-vt-out .14s ease-in both}::view-transition-new(waldo-inner){animation:waldo-vt-in .22s ease-out 60ms both}@keyframes waldo-vt-out{to{opacity:0;transform:translateY(-6px)}}@keyframes waldo-vt-in{0%{opacity:0;transform:translateY(8px)}}}