:root{color-scheme:dark;--ink:#e8dab5;--muted:rgba(232,218,181,.42);--line:rgba(232,218,181,.22);--surface:rgba(3,12,9,.55);--bg:#030a08}
:root[data-theme="light"]{color-scheme:light;--ink:#324c43;--muted:rgba(50,76,67,.5);--line:rgba(50,76,67,.24);--surface:rgba(247,244,233,.5);--bg:#f1eee2}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg)}body{overscroll-behavior:none;touch-action:none}button{font:inherit;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button svg{pointer-events:none}button:focus-visible,canvas:focus-visible{outline:1px solid var(--ink);outline-offset:6px}[hidden]{display:none!important}
.svg-library{position:absolute;width:0;height:0;overflow:hidden;pointer-events:none}
#world{position:relative;width:100%;height:100dvh;min-height:260px;isolation:isolate;overflow:hidden}#field{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:none;outline-offset:-7px;cursor:crosshair;transition:filter .8s}
[data-theme="light"] #field{filter:invert(.95) hue-rotate(170deg) saturate(.65)}
.top-tools{position:absolute;z-index:3;top:max(20px,env(safe-area-inset-top));left:max(22px,env(safe-area-inset-left));right:max(22px,env(safe-area-inset-right));display:flex;justify-content:space-between;pointer-events:none}.tool-pair{display:flex;gap:7px;pointer-events:auto}
.icon-button{appearance:none;display:grid;place-items:center;width:46px;height:46px;border:1px solid transparent;border-radius:50%;background:transparent;color:var(--muted);padding:11px;cursor:pointer;transition:color .25s,border-color .25s,background .25s,opacity .3s}
.icon-button svg,.journey svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.icon-button:hover,.icon-button:focus-visible{color:var(--ink);border-color:var(--line);background:var(--surface)}.icon-button[aria-pressed="true"]{color:var(--ink)}.icon-button:disabled{opacity:.22;cursor:default}.icon-button:disabled:hover{background:none;border-color:transparent}
.ignite{position:absolute;top:79%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;border:0;padding:0;background:none;color:var(--ink);border-radius:50%;cursor:pointer;animation:breathe 3.7s ease-in-out infinite}.ignite svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:.8}.ignite svg circle:last-child{fill:currentColor;stroke:0}.ignite::after{content:"";position:absolute;inset:0;border:1px solid var(--line);border-radius:50%;animation:ripple 3.7s infinite}.ignite:hover{color:#fff5d9}
.bottom-tools{position:absolute;z-index:3;bottom:max(21px,env(safe-area-inset-bottom));left:max(24px,env(safe-area-inset-left));right:max(24px,env(safe-area-inset-right));height:48px;display:flex;justify-content:center;align-items:center;pointer-events:none}.journey{pointer-events:auto;display:flex;align-items:center;gap:6px;padding:3px 8px;background:var(--surface);border:1px solid var(--line);border-radius:50px;backdrop-filter:blur(14px)}.journey button{appearance:none;border:0;background:none;color:var(--muted);width:34px;height:34px;padding:8px;cursor:pointer;position:relative;border-radius:50%;transition:color .3s,background .3s}.journey button:disabled{opacity:.14;cursor:default}.journey button[aria-current="step"]{color:var(--ink);background:var(--line)}.journey button:hover:not(:disabled){color:var(--ink)}.advance{position:absolute;right:0;bottom:0;color:var(--ink);border:1px solid var(--line);background:var(--surface);pointer-events:auto;width:48px;height:48px}.advance:not(:disabled){animation:invite 3.4s ease-in-out infinite}.advance:disabled{display:none}.saved{color:#bcd8b6!important;transform:scale(.9)}
@keyframes breathe{50%{opacity:.45;transform:translate(-50%,-50%) scale(.93)}}@keyframes ripple{0%{transform:scale(.8);opacity:0}30%{opacity:.4}100%{transform:scale(1.5);opacity:0}}@keyframes invite{50%{box-shadow:0 0 24px rgba(226,203,151,.16);border-color:var(--ink)}}
@media(max-width:600px){.top-tools{top:max(13px,env(safe-area-inset-top));left:12px;right:12px}.tool-pair{gap:2px}.icon-button{width:43px;height:43px;padding:11px}.bottom-tools{left:14px;right:14px;bottom:max(16px,env(safe-area-inset-bottom))}.journey{padding:3px 4px;gap:1px}.journey button{width:32px;height:32px;padding:8px}.advance{width:43px;height:43px;bottom:3px}.ignite{top:79%;width:65px;height:65px}}
@media(max-width:360px){.journey button{width:29px;height:29px}.journey{gap:0}.bottom-tools{justify-content:flex-start}.ignite{top:78%}}
@media(max-height:480px){.top-tools{top:9px}.bottom-tools{bottom:10px}.ignite{top:73%;width:52px;height:52px}.icon-button{width:38px;height:38px;padding:9px}.journey button{width:28px;height:28px;padding:7px}}
@media(prefers-reduced-motion:reduce){*,*::after{animation:none!important;transition:none!important}}
[data-motion="reduced"] *,[data-motion="reduced"] *::after{animation:none!important;transition:none!important}
