#feedback-root{position:fixed;bottom:calc(var(--space-5) + env(safe-area-inset-bottom,0px));right:var(--space-5);z-index:1200;display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-3);pointer-events:none}#feedback-bubble,#feedback-panel.fb-open{pointer-events:auto}#feedback-bubble{position:relative;display:flex;align-items:center;gap:var(--space-2);background:var(--gradient-iridescent);color:var(--text-inverse);border:none;border-radius:var(--radius-full);padding:11px 20px;font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:700;letter-spacing:.04em;cursor:pointer;box-shadow:0 6px 26px rgba(0,0,0,.45);transition:transform 220ms cubic-bezier(.34,1.56,.64,1),box-shadow 220ms cubic-bezier(.23,1,.32,1);white-space:nowrap;user-select:none;-webkit-tap-highlight-color:transparent}#feedback-bubble::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 0 rgba(255,209,102,.55);animation:4.5s cubic-bezier(.23,1,.32,1) infinite fb-pulse;pointer-events:none}@keyframes fb-pulse{0%{box-shadow:0 0 0 0 rgba(255,209,102,.5)}100%,18%{box-shadow:0 0 0 14px rgba(255,209,102,0)}}.fb-bubble-icon{display:inline-flex;transform-origin:50% 70%;animation:4.5s ease-in-out infinite fb-wiggle}@keyframes fb-wiggle{0%,100%,8%{transform:rotate(0) scale(1)}2%{transform:rotate(-13deg) scale(1.12)}4%{transform:rotate(11deg) scale(1.12)}6%{transform:rotate(-6deg) scale(1.06)}}.fb-bubble-label{line-height:1}@media (hover:hover) and (pointer:fine){#feedback-bubble:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 12px 36px rgba(0,0,0,.55)}#feedback-bubble:hover .fb-bubble-icon{animation:none;transform:rotate(-8deg) scale(1.18);filter:drop-shadow(0 0 6px rgba(255, 234, 150, .9))}}#feedback-bubble:active{transform:scale(.95)}#feedback-panel{background:var(--bg-secondary);border:1px solid var(--border-default);border-radius:var(--radius-lg);width:320px;max-width:calc(100vw - 40px);box-shadow:0 16px 48px rgba(0,0,0,.5);overflow:hidden;transform-origin:bottom right;transform:scale(.9) translateY(8px);opacity:0;visibility:hidden;transition:transform .2s cubic-bezier(.23,1,.32,1),opacity .2s cubic-bezier(.23,1,.32,1),visibility 0s .2s}#feedback-panel.fb-open{transform:scale(1) translateY(0);opacity:1;visibility:visible;transition:transform .2s cubic-bezier(.23,1,.32,1),opacity .2s cubic-bezier(.23,1,.32,1),visibility}.fb-panel-head{display:flex;align-items:flex-start;justify-content:space-between;padding:var(--space-5);border-bottom:1px solid var(--border-default);gap:var(--space-3)}.fb-panel-title{font-family:var(--font-display);font-size:var(--fs-lg);font-style:italic;letter-spacing:var(--ls-display);line-height:1.1;background:var(--gradient-iridescent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.fb-panel-sub{font-size:var(--fs-xs);color:var(--text-muted);margin-top:var(--space-1);line-height:1.4}.fb-panel-close{background:0 0;border:none;color:var(--text-muted);font-size:1.5rem;line-height:1;cursor:pointer;padding:0;flex-shrink:0;transition:color 150ms}.fb-panel-close:hover{color:var(--text-primary)}.fb-panel-body{padding:var(--space-5)}.fb-gate{text-align:center}.fb-gate__msg{font-size:var(--fs-sm);color:var(--text-secondary);margin-bottom:var(--space-4);line-height:1.5}.fb-gate__btn{display:inline-flex;align-items:center;justify-content:center;background:var(--gradient-iridescent);color:var(--text-inverse);border:none;border-radius:var(--radius-full);padding:10px 24px;font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:700;letter-spacing:.04em;cursor:pointer;width:100%;transition:opacity 150ms}.fb-gate__btn:hover{opacity:.88}#feedback-form textarea{width:100%;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-family:inherit;font-size:var(--fs-sm);padding:var(--space-3) var(--space-4);resize:none;box-sizing:border-box;line-height:1.5;transition:border-color 150ms,box-shadow 150ms;display:block}#feedback-form textarea:focus{outline:0;border-color:var(--accent-blue);box-shadow:0 0 0 3px var(--accent-blue-dim)}#feedback-form textarea::placeholder{color:var(--text-muted)}.fb-form-meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:var(--space-2);font-family:var(--font-mono);font-size:var(--fs-2xs, .62rem);color:var(--text-muted);letter-spacing:.04em}.fb-err{font-size:var(--fs-xs);color:#f87171;margin-top:var(--space-2);display:none}.fb-err.visible{display:block}.fb-form-footer{display:flex;justify-content:flex-end;margin-top:var(--space-4)}.fb-submit-btn{background:var(--gradient-iridescent);color:var(--text-inverse);border:none;border-radius:var(--radius-full);padding:9px 24px;font-family:var(--font-mono);font-size:var(--fs-sm);font-weight:700;letter-spacing:.04em;cursor:pointer;transition:opacity 150ms,transform 120ms}.fb-submit-btn:hover{opacity:.88}.fb-submit-btn:active{transform:scale(.97)}.fb-submit-btn:disabled{opacity:.45;cursor:not-allowed}#feedback-thanks{text-align:center}.fb-thanks__icon{width:40px;height:40px;background:rgba(34,197,94,.12);border:1px solid rgba(34,197,94,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-3);color:#22c55e}.fb-thanks__title{font-family:var(--font-display);font-size:var(--fs-lg);font-style:italic;letter-spacing:var(--ls-display);margin-bottom:var(--space-2)}.fb-thanks__msg{font-size:var(--fs-sm);color:var(--text-secondary);line-height:1.5}@media (max-width:480px){#feedback-root{bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));right:var(--space-4)}#feedback-panel{width:calc(100vw - 32px)}}@media (prefers-reduced-motion:reduce){#feedback-panel{transition:opacity 1ms,visibility 1ms}#feedback-bubble{transition:none}#feedback-bubble::before,.fb-bubble-icon{animation:none}}