*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app{width:100%;height:100vh;position:relative;user-select:none;-webkit-user-select:none;font-family:JetBrains Mono,monospace;background-color:var(--bg-hsl);background-color:var(--bg-oklch);transition:background-color .05s ease-out}.vignette{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 var(--vignette-blur, 200px) var(--vignette-spread, 100px) var(--vignette-color, hsl(0, 0%, 8%));opacity:var(--vignette-opacity, 0);z-index:1;will-change:opacity}.custom-cursor{position:fixed;width:32px;height:32px;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);z-index:9999;background:#ffffff26;backdrop-filter:blur(2px) saturate(180%);-webkit-backdrop-filter:blur(2px) saturate(180%);box-shadow:0 0 0 1.6px #0000000d,0 8px 32px #1f26870d,inset 0 4px 20px #ffffff4d;transition:transform .1s ease-out,box-shadow .2s ease-out,background .2s ease-out}.custom-cursor:after{content:"";position:absolute;top:0;left:0;transform:translate(0) scale(1);transition:transform .1s ease-out;width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,rgba(255,255,255,.3) 0%,rgba(255,255,255,.05) 50%,transparent 100%);backdrop-filter:blur(1px);-webkit-backdrop-filter:blur(1px);box-shadow:0 0 0 1.6px #0000000d,inset -10px -8px 0 -11px #fff,inset 0 -9px 0 -8px #fff;opacity:.6}.custom-cursor.dragging{transform:translate(-16px,-16px) scale(1.2);transition:transform .1s ease-out;background:#fff3;box-shadow:0 8px 24px #1f268714,inset 0 3px 16px #ffffff4d}.custom-cursor.hidden{opacity:0;transition:opacity .15s ease-out}.navbar{position:fixed;top:16px;left:16px;right:16px;height:56px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:0 12px 0 20px;border-radius:9999px;border:1px solid rgba(255,255,255,.8);background:#ffffff26;backdrop-filter:blur(2px) saturate(180%);-webkit-backdrop-filter:blur(2px) saturate(180%);box-shadow:0 8px 32px #1f268733,inset 0 4px 20px #ffffff4d;transition:background-color .3s ease,border-color .3s ease,box-shadow .3s ease,color .3s ease;z-index:100;cursor:default}.navbar:after{content:"";position:absolute;inset:0;border-radius:24px;background:#ffffff1a;box-shadow:inset -10px -8px 0 -11px #fff,inset 0 -9px 0 -8px #fff;opacity:.5;pointer-events:none;filter:blur(1px) brightness(110%)}.navbar-left{display:flex;align-items:center;gap:8px}.github-link{width:32px;height:32px;border-radius:50%;border:1px solid;display:flex;align-items:center;justify-content:center;text-decoration:none;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background-color .2s ease,transform .15s ease,opacity .2s ease;opacity:.8}.github-link:hover{opacity:1;transform:scale(1.02)}.github-link:active{transform:scale(.98)}.navbar-brand{font-size:16px;font-weight:600;letter-spacing:.5px;opacity:.9}.navbar-actions{display:flex;align-items:center;gap:8px}.mode-toggle{height:32px;padding:0 12px;border-radius:16px;border:1px solid;display:flex;align-items:center;justify-content:center;font-family:JetBrains Mono,monospace;gap:6px;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background-color .2s ease,transform .15s ease,opacity .2s ease;opacity:.8}button{font-family:JetBrains Mono,monospace}.mode-toggle:hover{opacity:1;transform:scale(1.02)}.mode-toggle:active{transform:scale(.98)}.mode-toggle svg{opacity:.9;flex-shrink:0}.aperture-icon{transition:transform .3s ease-out}.aperture-icon.spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mode-label{font-size:13px;font-weight:500;letter-spacing:.3px}.hint{position:fixed;bottom:24px;left:50%;transform:translate(-50%);font-size:13px;font-weight:400;opacity:.4;letter-spacing:.3px;pointer-events:none;transition:opacity .3s ease}.app:active .hint{opacity:0}@media(hover:none)and (pointer:coarse){.custom-cursor{display:none}.hint{bottom:40px;font-size:14px}}@media(prefers-reduced-motion:reduce){.app,.custom-cursor,.navbar,.mode-toggle,.aperture-icon{transition:none;animation:none}}.debug{display:flex;flex-direction:column;gap:6px;position:fixed;bottom:16px;right:16px;font-size:14px;line-height:1.6;opacity:.9;pointer-events:none}.hints{display:flex;flex-direction:column;gap:12px;position:fixed;bottom:16px;left:16px;font-size:14px;line-height:1.6;opacity:.9}.hints-panel{display:flex;flex-direction:column;gap:8px;pointer-events:none}.hints-hidden{pointer-events:none}.hints-segmented{display:flex;flex-direction:row;border-radius:4px;border:1px solid;overflow:hidden;width:fit-content}.hints-segment{height:28px;padding:0 12px;border:none;font-size:14px;font-weight:500;letter-spacing:.3px;cursor:pointer;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background-color .2s ease,opacity .2s ease;opacity:.9}.hints-segment:hover,.hints-segment.active{opacity:1}code{background-color:#00000014;padding:2px 4px;border-radius:4px}code.arrow{font-size:16px}
