@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;550;600&family=IBM+Plex+Mono:wght@400;500&display=swap";:root{color-scheme:var(--theme-scheme);color:var(--theme-fg);background:var(--theme-bg);--lime:var(--theme-accent);--muted:var(--theme-muted);--mono:"IBM Plex Mono",monospace;font-family:DM Sans,sans-serif}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}a{color:inherit}button:focus-visible,a:focus-visible{outline:2px solid var(--lime);outline-offset:6px}button:disabled{opacity:.35;cursor:default}[hidden]{display:none!important}.tangle-shell{flex-direction:column;max-width:1400px;min-height:100svh;margin:0 auto;padding:0 5vw;display:flex}.game-topbar{justify-content:space-between;align-items:center;gap:25px;min-height:88px;display:flex}.game-brand{color:var(--theme-fg);align-items:center;gap:10px;text-decoration:none;display:inline-flex}.brand-wordmark{letter-spacing:-.075em;font-size:36px;font-weight:550;line-height:1}.brand-wordmark>span{color:var(--lime)}.brand-game{color:var(--theme-muted);font:14px var(--mono);margin:8px 0 0 4px}.brand-emblem{width:42px;height:42px;color:var(--lime);transition:transform .4s}.brand-emblem svg{width:100%;height:100%}.brand-emblem ellipse{stroke:currentColor;stroke-width:3px}.brand-emblem .mark-core{fill:currentColor}.brand-emblem .mark-orbits{transform-origin:50%;animation:24s linear infinite brand-orbit}.game-brand:hover .brand-emblem{transform:rotate(45deg)scale(1.14)}.game-brand:hover .brand-game{color:var(--lime)}.game-controls{gap:25px;display:flex}.game-controls button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:10px 0;font-size:16px}.game-controls button span{color:var(--lime);margin-left:6px;font-size:16px}.game-controls button:hover:not(:disabled){color:var(--theme-fg)}.game-heading{text-align:center;padding:20px 0 0}.level-label{color:var(--muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;font-size:16px;display:flex}#level{font-family:var(--mono);color:var(--theme-muted);font-size:14px}.level-dot{color:var(--theme-muted)}h1{letter-spacing:-.055em;margin:22px 0 25px;font-size:clamp(3rem,6.5vw,5.5rem);font-weight:500;line-height:1.1}h1 .title-period{color:var(--lime)}h1{text-wrap:balance;max-width:1000px;margin-inline:auto}.game-premise{color:var(--lime);letter-spacing:-.015em;margin:0 0 22px;font-size:16px}.game-story{max-width:58ch;min-height:3em;color:var(--theme-muted);text-wrap:pretty;margin:-7px auto 20px;font-size:18px;line-height:1.5}body:has(.is-solved) .game-story{color:var(--theme-accent)}.game-stats{justify-content:center;align-items:center;gap:36px;display:flex}.game-stats>div{align-items:baseline;gap:10px;display:flex}.stat-label{color:var(--muted);font-size:15px}.game-stats #moves,.game-stats #time{font:20px var(--mono);color:var(--theme-muted);font-variant-numeric:tabular-nums}#tangles{color:var(--lime);font:34px var(--mono);font-variant-numeric:tabular-nums;display:inline-block}.tangle-stage{isolation:isolate;background:radial-gradient(ellipse at center,color-mix(in srgb, var(--theme-accent-bright) 1.96%, transparent),transparent 65%);flex:1 0 auto;width:100%;height:clamp(330px,55svh,660px);min-height:330px;position:relative}.board-watermark{letter-spacing:-.085em;color:color-mix(in srgb, var(--theme-accent) 2.75%, transparent);pointer-events:none;user-select:none;justify-content:center;align-items:center;font-size:clamp(72px,19vw,245px);font-weight:550;transition:color .6s;display:flex;position:absolute;inset:0}.is-solved .board-watermark{color:color-mix(in srgb, var(--theme-accent) 7.06%, transparent)}.board-caption{z-index:2;font:12px var(--mono);color:var(--theme-muted);pointer-events:none;justify-content:space-between;gap:16px;display:flex;position:absolute;inset:17px 0 auto}.project-root{color:var(--theme-muted)}#project-health{color:var(--theme-warning);text-align:right}.is-solved #project-health{color:var(--lime)}#threads{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.nodes{pointer-events:none;position:absolute;inset:0}.node-button{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;pointer-events:auto;background:0 0;border:0;border-radius:50%;place-items:center;width:48px;height:48px;margin:0;padding:0;display:grid;position:absolute;transform:translate(-50%,-50%)}.node-core{width:var(--dot-size);height:var(--dot-size);background:var(--dot-color);box-shadow:0 0 16px color-mix(in srgb,var(--dot-color) 10%,transparent);animation:dot-breathe 5s ease-in-out var(--idle-delay) infinite;color:var(--theme-on-accent);font:600 11px var(--mono);letter-spacing:-.07em;border-radius:50%;place-items:center;transition:box-shadow .18s;display:grid;position:relative}.node-label{background:color-mix(in srgb, var(--theme-bg) 90.98%, transparent);height:22px;color:var(--theme-muted);font:11px/16px var(--mono);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;text-align:center;border-radius:5px;padding:3px 7px;transition:color .2s;display:block;position:absolute;overflow:hidden}.node-button:hover,.node-button:focus-visible{z-index:4}.node-button:hover .node-label,.node-button:focus-visible .node-label,.node-button.dragging .node-label{color:var(--dot-color);background:var(--theme-surface)}.is-solved .node-label{color:var(--dot-color)}.node-core:after{content:"";background:color-mix(in srgb, var(--theme-fg) 33.33%, transparent);width:25%;height:14%;animation:dot-blink 13s ease-in-out var(--idle-delay) infinite;border-radius:50%;position:absolute;top:19%;left:28%}.node-button:hover .node-core{box-shadow:0 0 0 7px color-mix(in srgb,var(--dot-color) 8%,transparent),0 0 24px color-mix(in srgb,var(--dot-color) 18%,transparent)}.node-button:focus-visible{outline:1px dashed var(--dot-color);outline-offset:0}.node-button.dragging{cursor:grabbing;z-index:3}.node-button.dragging .node-core{box-shadow:0 0 0 9px color-mix(in srgb,var(--dot-color) 7%,transparent),0 3px 30px color-mix(in srgb,var(--dot-color) 20%,transparent);animation:none;transform:scale(1.19,.91)}.node-button[aria-disabled=true]{cursor:default}.is-solved .node-core{animation:dot-cheer 1.15s cubic-bezier(.2,.8,.3,1) calc(.5s + var(--dot-delay)) both}.reaction{text-align:center;letter-spacing:-.02em;min-height:45px;color:var(--muted);opacity:0;pointer-events:none;margin:0;font-size:clamp(24px,3vw,32px);transition:opacity .3s,transform .3s;position:absolute;inset:auto 0 0;transform:translateY(5px)}.reaction.visible{opacity:1;transform:none}.is-solved .reaction{color:var(--lime);letter-spacing:-.055em;text-shadow:0 0 40px color-mix(in srgb, var(--theme-accent-bright) 20.0%, transparent);font-size:clamp(36px,5vw,60px);font-weight:550;animation:.65s cubic-bezier(.2,.9,.3,1.3) both reaction-cheer}.stage-corner{color:var(--theme-muted);font:20px var(--mono);pointer-events:none;position:absolute}.corner-one{top:35px;left:0}.corner-two{bottom:35px;right:0}.game-footer{padding:25px 0 23px}.project-console{border-top:1px solid color-mix(in srgb, var(--theme-accent-bright) 9.8%, transparent);justify-content:space-between;align-items:baseline;gap:16px 35px;padding:18px 0 22px;display:flex}.project-command{color:var(--theme-muted);font:13px/1.7 var(--mono);flex-shrink:0}.project-command>span{color:var(--lime);margin-right:8px}.project-command code{font:inherit}#project-inspector{color:var(--theme-muted);text-align:right;max-width:55ch;font-size:14px;line-height:1.5}.session-note{text-align:center;color:var(--theme-muted);min-height:34px;font-size:16px;line-height:1.8}#thread-total{color:var(--theme-muted);font-size:14px;display:block}.game-bottom{justify-content:space-between;align-items:center;gap:20px;min-height:26px;margin-top:20px;display:flex}.game-credit{color:var(--theme-muted);font-size:15px;text-decoration:none}.game-credit>span{color:var(--theme-muted);margin-left:3px}.game-credit:hover,.back-to-work:hover{color:var(--lime)}.back-to-work{color:var(--lime);font-size:16px;text-decoration:none}#next-note{color:var(--theme-muted);font-size:14px}.game-noscript{text-align:center;color:var(--muted);padding-top:100px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes dot-breathe{0%,to{transform:scale(1)}50%{transform:scale(.965,1.025)}}@keyframes brand-orbit{to{transform:rotate(360deg)}}@keyframes dot-blink{0%,44%,47%,to{opacity:1}45%{opacity:.1}}@keyframes dot-cheer{0%,to{transform:scale(1)}18%{transform:scale(1.3,.75)}42%{transform:translateY(-17px)rotate(-14deg)scale(.9,1.2)}62%{transform:translateY(2px)scale(1.2,.85)}80%{transform:translateY(-5px)scale(.95,1.05)}}@keyframes reaction-cheer{0%{opacity:0;transform:translateY(14px)scale(.65)rotate(-6deg)}70%{transform:translateY(-4px)scale(1.08)rotate(2deg)}to{opacity:1;transform:none}}@media (width<=600px){.tangle-shell{padding:0 5vw}.game-topbar{flex-wrap:wrap;gap:8px 20px;min-height:68px;padding:15px 0}.brand-wordmark{font-size:29px}.brand-emblem{width:32px;height:32px}.brand-game{margin-left:0;font-size:12px}.game-brand{gap:7px}.game-controls button{font-size:14px}.board-caption{gap:12px;font-size:10px}.project-root{display:none}.project-console{flex-direction:column;gap:8px}.project-command{overflow-wrap:anywhere;font-size:12px}#project-inspector{text-align:left;min-height:3em}.game-controls{gap:18px}.game-heading{padding-top:13px}.game-premise{margin-bottom:18px;font-size:14px}.game-story{min-height:4.5em;margin-bottom:14px;font-size:16px}.level-label{gap:8px;font-size:14px}h1{margin:18px 0 22px;font-size:clamp(42px,11vw,58px)}.game-stats{gap:20px}.game-stats>div{gap:7px}.tangle-stage{height:max(340px,48svh)}.game-footer{padding-top:18px}.game-bottom{flex-wrap:wrap;gap:10px}#next-note{text-align:center;width:100%}.stage-corner{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}.node-button.dragging .node-core{transform:none}}.node-button:hover .node-core{animation:none;transform:scale(1.13)}.node-button.dragging:hover .node-core{transform:scale(1.24,.9)}.is-solved .node-button:hover .node-core{animation:dot-cheer 1.15s cubic-bezier(.2,.8,.3,1) calc(.5s + var(--dot-delay)) both}.almost-clean{background:radial-gradient(ellipse at center,color-mix(in srgb, var(--theme-accent-bright) 6.27%, transparent),transparent 65%)}@media (width<=380px){.game-stats{gap:14px}.game-stats>div{gap:5px}.stat-label{font-size:13px}.game-controls{gap:14px}}@media (prefers-reduced-motion:reduce){.node-button:hover .node-core,.node-button.dragging:hover .node-core{transform:none}}
