:root{--ink: #b9ffcf;--ink-dim: #5f8f72;--edge: rgba(120, 255, 170, .22);--panel-bg: rgba(2, 10, 6, .82);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#000;overflow:hidden;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--ink);overscroll-behavior:none;touch-action:none}#rain{position:fixed;inset:0;display:block}#ui{position:fixed;inset:0;pointer-events:none}.panel{pointer-events:auto;position:absolute;top:16px;left:16px;width:min(280px,calc(100vw - 32px));padding:14px 16px 16px;border:1px solid var(--edge);border-radius:10px;background:var(--panel-bg);backdrop-filter:blur(8px);transition:opacity .16s ease,transform .16s ease}.panel--hidden{opacity:0;transform:translate(-12px);pointer-events:none}.panel__title{margin:0 0 12px;font-size:12px;font-weight:600;letter-spacing:.22em;color:var(--ink)}.panel__body{display:grid;gap:11px}.field{display:grid;gap:5px;font-size:11px;letter-spacing:.06em}.field__head{display:flex;justify-content:space-between;align-items:baseline;color:var(--ink-dim);text-transform:uppercase}.field__value{color:var(--ink);font-variant-numeric:tabular-nums}input[type=range]{width:100%;height:18px;margin:0;appearance:none;background:transparent;cursor:ew-resize}input[type=range]::-webkit-slider-runnable-track{height:2px;background:var(--edge)}input[type=range]::-moz-range-track{height:2px;background:var(--edge)}input[type=range]::-webkit-slider-thumb{appearance:none;width:12px;height:12px;margin-top:-5px;border:0;border-radius:50%;background:var(--ink)}input[type=range]::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:var(--ink)}input[type=range]:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}select{width:100%;padding:5px 6px;border:1px solid var(--edge);border-radius:5px;background:#00000080;color:var(--ink);font:inherit;font-size:11px}.panel__reset{margin-top:2px;padding:7px;border:1px solid var(--edge);border-radius:5px;background:transparent;color:var(--ink-dim);font:inherit;font-size:11px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.panel__reset:hover{color:var(--ink);border-color:var(--ink)}.composer{position:absolute;left:50%;bottom:28px;transform:translate(-50%);max-width:min(90vw,640px);padding:9px 14px;border:1px solid transparent;border-radius:8px;font-size:13px;letter-spacing:.08em;color:var(--ink-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .16s ease,border-color .16s ease,background .16s ease}.composer--active{color:var(--ink);border-color:var(--edge);background:var(--panel-bg)}.composer__caret{display:inline-block;width:8px;margin-left:2px;border-bottom:2px solid var(--ink);animation:blink 1.05s steps(1) infinite;vertical-align:-2px}.composer:not(.composer--active) .composer__caret{display:none}.hint{position:absolute;right:16px;bottom:16px;font-size:10px;line-height:1.7;letter-spacing:.1em;text-align:right;text-transform:uppercase;color:var(--ink-dim);text-shadow:0 0 4px #000,0 0 8px #000,0 0 12px #000}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.composer__caret{animation:none}}@media(max-width:560px){.hint{display:none}}.panel__actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(72px,1fr));gap:6px}.check{display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-dim);cursor:pointer}.check input{accent-color:var(--ink)}.check input:disabled+span{opacity:.5}.intro{position:absolute;left:50%;top:34%;transform:translate(-50%);width:min(90vw,720px);margin:0;text-align:center;font-size:clamp(18px,3.2vw,30px);letter-spacing:.1em;color:var(--ink);text-shadow:0 0 6px #000,0 0 14px #000,0 0 22px rgba(120,255,170,.45)}.rabbit{pointer-events:auto;position:fixed;z-index:2;left:16px;bottom:16px;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;color:#fff;opacity:.1;transition:opacity .2s ease,box-shadow .2s ease}.rabbit:hover,.rabbit:focus-visible,.rabbit--found{opacity:1;box-shadow:0 0 14px #ffffff80}.wave{left:60px}.rabbit:focus-visible{outline:2px solid var(--ink);outline-offset:2px}@media(prefers-reduced-motion:reduce){.rabbit{transition:none}}@media print{#ui,.rabbit,.wave{display:none}}
