.ed .letter-soundtrack,.soundtrack-dock{--lp-border:rgba(74,52,36,.22);--lp-border-hover:rgba(74,52,36,.45);--lp-radius-pill:100px;--lp-text:#2d5a39;--lp-text-dim:#74624d;--lp-white-dim:#2a2118}.soundtrack-dock{--lp-white-dim:#efe9d8;--lp-text-dim:#bcc3ac;--lp-text:#9fdfb5;--lp-border:rgba(239,233,216,.2);--lp-border-hover:rgba(239,233,216,.45)}.ed .letter-soundtrack{display:flex;align-items:center;gap:1rem;max-width:600px;margin:-.2rem auto 2.6rem;padding:.95rem 1rem .95rem 1.2rem;border:1px solid var(--lp-border);border-radius:var(--r-2);background:color-mix(in srgb,var(--acc) 4%,transparent);text-align:left;transition:border-color .3s ease,background .3s ease}.ed .letter-soundtrack.is-playing{border-color:var(--lp-border-hover);background:color-mix(in srgb,var(--acc) 6%,transparent)}.ed .letter-soundtrack__body{flex:1 1;min-width:0}.ed .letter-soundtrack__label{margin:0 0 .2rem;font-family:var(--font-mono);font-variation-settings:"MONO" 1;font-size:.75rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--lp-text-dim)}.ed .letter-soundtrack__text{margin:0;font-family:var(--sans);font-size:.9rem;line-height:1.45;color:var(--lp-white-dim)}.ed .letter-soundtrack__text strong{color:var(--lp-text);font-weight:600}.ed .letter-soundtrack__btn{flex:none;display:inline-flex;align-items:center;gap:.45rem;min-height:44px;padding:.55rem 1.05rem;border:1px solid transparent;border-radius:var(--lp-radius-pill);background:var(--lp-text);color:var(--print)!important;font-family:var(--font-mono);font-variation-settings:"MONO" 1;font-size:.8125rem;font-weight:600;letter-spacing:.02em;white-space:nowrap;cursor:pointer;text-decoration:none!important;transition:transform var(--d-1) var(--ease),box-shadow var(--d-1) var(--ease),background var(--d-1) var(--ease)}@media (hover:hover) and (pointer:fine){.ed .letter-soundtrack__btn:hover{transform:translateY(-1px);box-shadow:0 6px 20px color-mix(in srgb,var(--acc) 28%,transparent)}}.ed .letter-soundtrack.is-playing .letter-soundtrack__btn{background:transparent;border-color:var(--lp-border-hover);color:var(--lp-text)!important;box-shadow:none}.letter-soundtrack__eq,.soundtrack-dock__eq{flex:none;display:inline-flex;align-items:flex-end;gap:3px;height:18px}.letter-soundtrack__eq i,.soundtrack-dock__eq i{display:block;width:3px;height:100%;border-radius:2px;background:var(--acc);transform-origin:bottom;transform:scaleY(.3);opacity:.55}.letter-soundtrack__eq i:nth-child(2),.soundtrack-dock__eq i:nth-child(2){transform:scaleY(.55)}.letter-soundtrack__eq i:nth-child(3),.soundtrack-dock__eq i:nth-child(3){transform:scaleY(.4)}.letter-soundtrack__eq i:nth-child(4),.soundtrack-dock__eq i:nth-child(4){transform:scaleY(.7)}.letter-soundtrack.is-playing .letter-soundtrack__eq i,.soundtrack-dock.is-playing .soundtrack-dock__eq i{opacity:1;animation:eq-bounce .9s ease-in-out infinite}.letter-soundtrack.is-playing .letter-soundtrack__eq i:nth-child(2),.soundtrack-dock.is-playing .soundtrack-dock__eq i:nth-child(2){animation-delay:-.3s;animation-duration:.75s}.letter-soundtrack.is-playing .letter-soundtrack__eq i:nth-child(3),.soundtrack-dock.is-playing .soundtrack-dock__eq i:nth-child(3){animation-delay:-.6s;animation-duration:1.05s}.letter-soundtrack.is-playing .letter-soundtrack__eq i:nth-child(4),.soundtrack-dock.is-playing .soundtrack-dock__eq i:nth-child(4){animation-delay:-.15s;animation-duration:.85s}@keyframes eq-bounce{0%,to{transform:scaleY(.25)}50%{transform:scaleY(1)}}@media (max-width:600px){.ed .letter-soundtrack{flex-wrap:wrap;padding:.9rem 1rem}.ed .letter-soundtrack__btn{width:100%;justify-content:center}}.soundtrack-dock{position:fixed;top:56px;right:16px;z-index:10000;box-sizing:border-box;width:312px;max-width:calc(100vw - 24px);padding:0 6px 6px;border-radius:16px;background:rgba(12,18,15,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 0 0 1px rgba(255,255,255,.08),0 14px 34px rgba(28,42,33,.3);cursor:-webkit-grab;cursor:grab;touch-action:none;-moz-user-select:none;user-select:none;-webkit-user-select:none;transition:box-shadow .3s ease;animation:dock-in .5s var(--ease) .9s both}.soundtrack-dock.is-error{display:none}.soundtrack-dock.is-playing{box-shadow:0 0 0 1px color-mix(in srgb,var(--acc) 30%,transparent),0 14px 34px rgba(28,42,33,.3),0 0 24px color-mix(in srgb,var(--acc) 12%,transparent)}.soundtrack-dock.is-blocked,.soundtrack-dock.is-waiting{animation:dock-in .5s var(--ease) .9s both,dock-attn 2.4s ease-in-out 1.4s 3}.soundtrack-dock__handle{display:grid;place-items:center;height:18px}.soundtrack-dock__handle i{display:block;width:38px;height:4px;border-radius:2px;background:rgba(240,240,240,.32);transition:background var(--d-1) var(--ease),width var(--d-1) var(--ease)}.soundtrack-dock.is-dragging .soundtrack-dock__handle i,.soundtrack-dock:hover .soundtrack-dock__handle i{width:48px;background:var(--acc)}.soundtrack-dock__player{height:80px;overflow:hidden;border-radius:var(--r-1);background:#121212;cursor:auto}.soundtrack-dock__player iframe{display:block;width:100%;height:80px;border:0}.ed .letter-soundtrack__btn:focus-visible{outline:2px solid var(--acc);outline-offset:3px}@keyframes dock-in{0%{opacity:0;translate:0 -14px}to{opacity:1;translate:none}}@keyframes dock-attn{0%,to{box-shadow:0 0 0 1px color-mix(in srgb,var(--acc) 35%,transparent),0 14px 34px rgba(28,42,33,.3),0 0 0 color-mix(in srgb,var(--acc) 0%,transparent)}50%{box-shadow:0 0 0 1px color-mix(in srgb,var(--acc) 60%,transparent),0 14px 34px rgba(28,42,33,.3),0 0 26px color-mix(in srgb,var(--acc) 35%,transparent)}}.soundtrack-dock.is-tl{right:auto;left:16px}.soundtrack-dock.is-bl,.soundtrack-dock.is-br{top:auto;bottom:16px}.soundtrack-dock.is-bl{right:auto;left:16px}.soundtrack-dock.is-dragging{cursor:-webkit-grabbing;cursor:grabbing;transition:none}.soundtrack-dock.is-dragging iframe{pointer-events:none}@media (max-width:600px){.soundtrack-dock{top:48px;right:12px}.soundtrack-dock.is-bl,.soundtrack-dock.is-tl{left:12px}.soundtrack-dock.is-bl,.soundtrack-dock.is-br{bottom:12px}}@media (prefers-reduced-motion:reduce){.letter-soundtrack.is-playing .letter-soundtrack__eq i,.soundtrack-dock,.soundtrack-dock.is-blocked,.soundtrack-dock.is-waiting{animation:none}}