@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}html,body{height:100%;margin:0}body{font-family:Manrope,system-ui,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background:#0a0f18;color:#dceeff}.tt-shell{position:relative;width:100%;height:100vh;height:100dvh;overflow:hidden;display:grid;grid-template-rows:auto auto 1fr auto auto;gap:16px;padding:22px 32px 18px;letter-spacing:.01em}.tt-caustics{position:absolute;inset:0;pointer-events:none;mix-blend-mode:screen;opacity:.6;animation:causticsDrift 22s ease-in-out infinite alternate}@keyframes causticsDrift{0%{transform:translate3d(-2%,-1%,0) scale(1.05)}to{transform:translate3d(2%,1%,0) scale(1.1)}}.tt-header{display:flex;align-items:center;justify-content:space-between;position:relative;z-index:10}.tt-logo{display:flex;align-items:center;gap:14px}.tt-logo-fish{position:relative;width:38px;height:26px;display:flex;align-items:center;justify-content:center}.tt-logo-bubble{position:absolute;top:-4px;right:-6px;width:8px;height:8px;border-radius:50%;animation:logoBubble 2.4s ease-in-out infinite;box-shadow:0 0 12px currentColor}@keyframes logoBubble{0%,to{transform:translateY(0) scale(1);opacity:1}50%{transform:translateY(-8px) scale(1.15);opacity:.7}}.tt-logo-wordmark{display:flex;flex-direction:column;gap:1px}.tt-logo-text{font-size:24px;font-weight:700;letter-spacing:.02em;font-family:Bricolage Grotesque,system-ui,sans-serif;color:#fff;line-height:1}.tt-logo-tag{font-size:11px;font-weight:500;letter-spacing:.07em;opacity:.55;line-height:1}.tt-tackle{position:relative}.tt-tackle-btn{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#ffffff0a;border:1px solid var(--tt-panel-border, rgba(255, 255, 255, .12));border-radius:10px;color:inherit;font:inherit;font-size:14px;font-weight:500;cursor:pointer;letter-spacing:.02em;transition:background .12s,border-color .12s}.tt-tackle-btn:hover{background:#ffffff14}.tt-tackle-menu{position:absolute;top:calc(100% + 6px);right:0;background:#0f1828eb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--tt-panel-border, rgba(255, 255, 255, .12));border-radius:10px;padding:4px;min-width:160px;z-index:5;box-shadow:0 12px 40px #0006}.tt-tackle-menu button{display:block;width:100%;padding:9px 14px;background:transparent;border:none;color:inherit;font:inherit;font-size:13.5px;font-weight:500;text-align:left;border-radius:6px;cursor:pointer;letter-spacing:.02em}.tt-tackle-menu button:hover{background:#ffffff14}.tt-tackle-menu button.is-active{background:#ffffff0f;font-weight:600}.tt-strings{display:flex;justify-content:center;gap:8px;z-index:2}.tt-string{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:56px;min-height:52px;padding:8px 12px;border-radius:12px;border:1px solid var(--tt-panel-border, rgba(255, 255, 255, .12));background:#ffffff08;color:#ffffff8c;font-weight:700;letter-spacing:.04em;font-size:15px;cursor:pointer;transition:color .18s,border-color .18s,background .18s,transform .18s}.tt-string.is-active{background:#ffffff14;transform:translateY(-2px);box-shadow:0 6px 18px -8px currentColor}.tt-string-note{font-size:18px;line-height:1}.tt-string-oct{font-size:10px;opacity:.55;letter-spacing:.06em}.tt-aquarium{position:relative;border-radius:24px;border:1px solid var(--tt-panel-border, rgba(34, 211, 238, .2));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);overflow:hidden;padding:28px 32px 24px;display:grid;grid-template-rows:auto 1fr auto;min-height:0;transition:box-shadow .48s;z-index:2}.bubbles-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}.bubble{position:absolute;bottom:-20px;border-radius:50%;border:1px solid;animation:bubbleRise linear infinite;filter:blur(.3px)}@keyframes bubbleRise{0%{transform:translate(0);opacity:0}10%{opacity:.7}90%{opacity:.7}to{transform:translate(var(--drift, 0),-120vh);opacity:0}}.tt-cents-bar{position:relative;height:44px;margin:0 auto;width:min(720px,80%)}.tt-cents-track{position:absolute;top:22px;left:0;right:0;height:1px;background:linear-gradient(to right,transparent 0%,rgba(255,255,255,.14) 12%,rgba(255,255,255,.18) 50%,rgba(255,255,255,.14) 88%,transparent 100%)}.tt-cents-tick{position:absolute;top:17px;width:1px;height:6px;background:currentColor;opacity:.22;transform:translate(-50%)}.tt-cents-tick.is-center{height:14px;top:13px;width:2px;opacity:.55;background:linear-gradient(to bottom,currentColor,transparent)}.tt-cents-bubble{position:absolute;top:13px;width:18px;height:18px;border-radius:50%;border:1px solid;transform:translate(-50%);transition:left .26s cubic-bezier(.3,1.2,.5,1),background .22s,box-shadow .22s;display:flex;align-items:center;justify-content:center}.tt-cents-bubble-val{position:absolute;bottom:calc(100% + 5px);font-family:JetBrains Mono,ui-monospace,monospace;font-size:11px;font-weight:600;letter-spacing:.02em;text-shadow:0 0 12px currentColor;white-space:nowrap;transition:color .22s}.tt-cents-label{position:absolute;bottom:0;transform:translate(-50%);font-size:10px;letter-spacing:.16em;text-transform:uppercase;opacity:.45}.tt-cents-label-r{transform:translate(-100%)}.tt-note-stack{position:relative;text-align:center;z-index:2;margin-top:-4px}.tt-note-name{font-family:Bricolage Grotesque,system-ui,sans-serif;font-weight:800;font-size:clamp(108px,16vw,200px);line-height:.95;letter-spacing:-.04em;font-variation-settings:"wdth" 100}.tt-note-oct{font-size:.32em;font-weight:500;opacity:.55;margin-left:.06em;vertical-align:super;letter-spacing:0}.tt-note-status{font-size:13px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin-top:6px}.tt-finley{position:absolute;bottom:60px;left:50%;transform:translate(-50%);width:min(560px,70%);height:200px;pointer-events:none;z-index:1}.tt-freq{position:relative;text-align:center;z-index:2;font-family:JetBrains Mono,ui-monospace,monospace;display:flex;align-items:baseline;justify-content:center;gap:6px;opacity:.78}.tt-freq-num{font-size:22px;font-weight:500;letter-spacing:.04em}.tt-freq-unit{font-size:13px;letter-spacing:.12em;opacity:.6}.tt-controls{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:16px;align-items:stretch;z-index:2}.tt-anchor{position:relative;display:flex;align-items:center;gap:12px;padding:16px 22px;border-radius:14px;border:1px solid;font:inherit;font-size:15px;font-weight:600;letter-spacing:.04em;cursor:pointer;overflow:hidden;transition:transform .18s,box-shadow .22s,background .22s}.tt-anchor:hover{transform:translateY(-1px)}.tt-anchor.is-idle .tt-anchor-pulse{position:absolute;inset:0;border-radius:14px;opacity:.18;animation:anchorPulse 2.4s ease-in-out infinite;pointer-events:none}@keyframes anchorPulse{0%,to{opacity:.04;transform:scale(1)}50%{opacity:.2;transform:scale(1.02)}}.tt-anchor-icon{display:inline-flex}.tt-anchor-label{white-space:nowrap}.tt-gate{display:flex;flex-direction:column;gap:8px;padding:14px 20px;border-radius:14px;border:1px solid var(--tt-panel-border, rgba(255, 255, 255, .12));background:#ffffff08;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tt-gate-head{display:flex;align-items:center;gap:10px}.tt-gate-title{font-size:13px;font-weight:600;letter-spacing:.06em;flex:1}.tt-gate-val{font-family:JetBrains Mono,monospace;font-size:12px;opacity:.7}.tt-gate-sub{font-size:11px;opacity:.5;letter-spacing:.04em}.tt-mic-err{position:absolute;bottom:70px;right:32px;font-size:11px;padding:6px 10px;border-radius:6px;background:#f4720029;color:#ffc896f2;border:1px solid rgba(244,114,0,.3)}.tt-gate-slider,.tt-dev-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:linear-gradient(to right,var(--track-fill, currentColor) 0%,var(--track-fill, currentColor) calc(var(--val, 50%)),rgba(255,255,255,.08) calc(var(--val, 50%)),rgba(255,255,255,.08) 100%);outline:none;cursor:pointer}.tt-gate-slider::-webkit-slider-thumb,.tt-dev-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 2px 8px #0000004d,0 0 0 3px #ffffff1a;cursor:pointer;transition:transform .12s}.tt-gate-slider::-webkit-slider-thumb:hover,.tt-dev-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.tt-gate-slider::-moz-range-thumb,.tt-dev-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fff;border:none;cursor:pointer}.tt-dev{display:flex;align-items:center;gap:14px;padding:8px 16px;border-radius:100px;background:#00000059;border:1px solid;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:11px;letter-spacing:.08em;font-weight:500;text-transform:uppercase;margin:0 auto;width:100%;max-width:720px;z-index:2}.tt-dev-toggle{display:flex;align-items:center;gap:8px;cursor:pointer}.tt-dev-toggle input{display:none}.tt-dev-toggle-track{position:relative;width:26px;height:14px;border-radius:100px;background:#ffffff26;transition:background .18s}.tt-dev-toggle-thumb{position:absolute;top:2px;left:2px;width:10px;height:10px;border-radius:50%;background:#fff9;transition:left .18s,background .18s}.tt-dev-toggle input:checked+.tt-dev-toggle-track{background:var(--on, #22d3ee)}.tt-dev-toggle input:checked+.tt-dev-toggle-track .tt-dev-toggle-thumb{left:14px;background:#fff}.tt-dev-label{opacity:.8;font-size:10px}.tt-dev-slider{flex:1}.tt-dev-readout{font-family:JetBrains Mono,monospace;font-size:11px;font-weight:600;letter-spacing:.04em;min-width:56px;text-align:right;text-transform:none}@keyframes finleyBob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes finleyShake{0%,to{transform:translate(0) rotate(0)}10%{transform:translate(-1px,1px) rotate(-.2deg)}20%{transform:translate(1px,-1px) rotate(.2deg)}30%{transform:translate(-1px) rotate(-.1deg)}40%{transform:translate(1px,1px) rotate(.1deg)}50%{transform:translate(-1px,-1px) rotate(-.2deg)}60%{transform:translate(1px) rotate(.2deg)}70%{transform:translate(-1px,1px) rotate(-.1deg)}80%{transform:translate(1px,-1px) rotate(.1deg)}90%{transform:translate(0) rotate(0)}}@keyframes finleyCelebrate{0%{transform:translateY(0) rotate(0) scale(1)}30%{transform:translateY(-14px) rotate(-6deg) scale(1.06)}70%{transform:translateY(-6px) rotate(6deg) scale(1.06)}to{transform:translateY(0) rotate(0) scale(1)}}.finley-bob{animation:finleyBob 4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.finley-shake{animation:finleyShake .35s linear infinite;transform-box:fill-box}.finley-celebrate{animation:finleyCelebrate 1.6s ease-in-out infinite;transform-box:fill-box}@keyframes tailIdle{0%,to{transform:rotate(0)}50%{transform:rotate(-8deg)}}@keyframes tailSlow{0%,to{transform:rotate(-3deg)}50%{transform:rotate(-14deg)}}@keyframes tailFast{0%,to{transform:rotate(0)}50%{transform:rotate(-20deg)}}@keyframes tailCelebrate{0%,to{transform:rotate(-6deg) translateY(0)}50%{transform:rotate(14deg) translateY(-4px)}}.finley-tail-idle{animation:tailIdle 3.2s ease-in-out infinite}.finley-tail-slow{animation:tailSlow 2s ease-in-out infinite}.finley-tail-fast{animation:tailFast .5s ease-in-out infinite}.finley-tail-celebrate{animation:tailCelebrate .6s ease-in-out infinite}@keyframes finleyBlink{0%,90%,to{transform:scaleY(0)}93%,97%{transform:scaleY(1)}}.finley-lid{transform-box:fill-box;transform-origin:50% 0;animation:finleyBlink 5s ease-in-out infinite}@keyframes sweatDrip{0%,to{transform:translateY(0);opacity:1}40%{transform:translateY(8px);opacity:1}50%{opacity:0}60%{transform:translateY(0);opacity:0}to{opacity:1}}.finley-sweat{animation:sweatDrip 1.2s ease-in infinite}.finley-mouth>*{opacity:0;visibility:hidden;transition:opacity .18s}.finley-mouth[data-mouth=smile] .m-smile,.finley-mouth[data-mouth=frown] .m-frown,.finley-mouth[data-mouth=open] .m-open,.finley-mouth[data-mouth=grin] .m-grin{opacity:1;visibility:visible}.finley-sweat-wrap{transition:opacity .24s}.finley-sweat-wrap.is-on{opacity:1;visibility:visible}.finley-sweat-wrap.is-off{opacity:0;visibility:hidden}.finley-halo{transition:opacity .4s}.finley-halo.is-on{opacity:1;visibility:visible}.finley-halo.is-off{opacity:0;visibility:hidden}@keyframes pupilDart{0%,70%,to{transform:translate(0)}78%{transform:translate(-1.5px,-1px)}86%{transform:translate(1.5px,.5px)}}.finley-pupil{animation:pupilDart 7s ease-in-out infinite;transform-box:fill-box;transform-origin:center}@media(max-width:640px){.tt-shell{gap:10px;padding:14px 14px 12px}.tt-logo{gap:10px}.tt-logo-text{font-size:20px}.tt-strings{gap:6px;flex-wrap:wrap}.tt-string{min-width:46px;min-height:48px;padding:6px 8px}.tt-aquarium{padding:16px 14px 14px;border-radius:18px}.tt-note-name{font-size:clamp(80px,20vw,108px)}.tt-cents-bar{width:min(720px,94%)}.tt-finley{bottom:46px;width:min(560px,86%);height:156px}.tt-controls{grid-template-columns:1fr;gap:10px}}@media(max-height:560px){.tt-shell{gap:8px;padding:12px 24px 10px}.tt-aquarium{padding:14px 22px 12px}.tt-note-name{font-size:clamp(56px,12vh,96px)}.tt-finley{bottom:34px;height:124px}.tt-string{min-height:44px}}
