.sf-dock{--sf-w:min(380px, 92vw);--sf-ease:cubic-bezier(.22, .61, .36, 1);z-index:60;pointer-events:none;max-height:92vh;transform:translateY(-50%) translateX(var(--sf-w));transition:transform .3s var(--sf-ease);align-items:stretch;display:flex;position:fixed;top:50%;right:0}.sf-dock.is-open{transform:translateY(-50%)translate(0)}.sf-dock>*{pointer-events:auto}.sf-tab{letter-spacing:.14em;text-transform:uppercase;min-width:34px;min-height:44px;color:var(--lu-text);background:var(--lu-bg-elev);border:1px solid var(--lu-rule);cursor:pointer;transition:background .26s var(--sf-ease), color .26s var(--sf-ease), box-shadow .26s var(--sf-ease), border-color .26s var(--sf-ease);border-right:0;border-radius:10px 0 0 10px;flex-direction:column;align-self:center;align-items:center;gap:10px;padding:16px 8px;font-family:inherit;font-size:11px;font-weight:600;display:flex}.sf-tab:hover{background:var(--lu-bg-elev-2,var(--lu-bg-elev));color:var(--lu-accent)}.sf-tab:focus-visible{outline:2px solid var(--lu-accent);outline-offset:-2px}body[data-sf-highlight] .sf-tab{background:var(--lu-accent);border-color:var(--lu-accent);color:#fff;box-shadow:0 0 0 1px var(--lu-accent), 0 0 26px color-mix(in srgb, var(--lu-accent) 55%, transparent)}body[data-sf-highlight] .sf-chev{color:#fff}.sf-tab-label{writing-mode:vertical-rl;text-orientation:mixed}.sf-chev{color:var(--lu-accent);transition:color .26s var(--sf-ease);font-size:16px;line-height:1}.sf-mention{color:var(--lu-accent);cursor:default;transition:color .26s var(--sf-ease), text-shadow .26s var(--sf-ease);font-weight:500}.sf-mention:hover{color:var(--lu-accent);text-shadow:0 0 18px color-mix(in srgb, var(--lu-accent) 60%, transparent)}.sf-panel{width:var(--sf-w);background:var(--lu-bg-elev);border:1px solid var(--lu-rule);opacity:0;max-height:92vh;transition:opacity .24s var(--sf-ease);border-right:0;border-radius:12px 0 0 12px;overflow-y:auto;box-shadow:0 18px 50px #00000073}.sf-dock.is-open .sf-panel{opacity:1}.sf-panel-inner{min-width:0;padding:22px 20px 26px}.sf-title{font-family:var(--lu-serif);color:var(--lu-text);margin:0 0 10px;font-size:22px;font-weight:400;line-height:1.2}.sf-intro{color:var(--lu-text-dim);margin:0 0 12px;font-size:14px;font-weight:300;line-height:1.6}.sf-help{color:var(--lu-text-dimmer);border-left:2px solid var(--lu-rule);margin:0 0 18px;padding-left:10px;font-size:12.5px;font-weight:300;line-height:1.55}.sf-label{text-transform:uppercase;letter-spacing:.16em;color:var(--lu-accent);margin:0 0 6px;font-size:10px;font-weight:600;display:block}.sf-input{width:100%;min-width:0;color:var(--lu-text);background:var(--lu-bg);border:1px solid var(--lu-rule);border-radius:8px;margin:0 0 16px;padding:10px 12px;font-family:inherit;font-size:16px;font-weight:300;display:block}.sf-input:focus-visible{outline:2px solid var(--lu-accent);outline-offset:2px;border-color:#0000}.sf-textarea{resize:vertical;line-height:1.5}.sf-file{width:100%;min-width:0;color:var(--lu-text-dim);margin:0 0 10px;font-family:inherit;font-size:13px;display:block}.sf-hint{color:var(--lu-text-dimmer);margin:0 0 16px;font-size:12.5px;font-weight:300;line-height:1.55}.sf-hint strong{color:var(--lu-text-dim);font-weight:500}.sf-count{font-variant-numeric:tabular-nums;margin:-8px 0 14px}.sf-count[data-near]{color:var(--lu-text)}.sf-count[data-over]{color:var(--lu-accent)}.sf-files{color:var(--lu-text-dim);margin:0 0 16px;padding:0;font-size:13px;list-style:none}.sf-files li{border-bottom:1px solid var(--lu-rule-soft,var(--lu-rule));align-items:center;gap:8px;min-width:0;padding:5px 0;display:flex}.sf-file-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.sf-file-size{color:var(--lu-text-dimmer);flex:none;font-size:12px}.sf-file-x{width:24px;height:24px;color:var(--lu-text-dimmer);cursor:pointer;background:0 0;border:0;flex:none;font-size:16px;line-height:1}.sf-file-x:hover{color:var(--lu-accent)}.sf-files-total{color:var(--lu-text-dimmer);border-bottom:0;justify-content:flex-end;font-size:12px}.sf-btn{width:100%;min-height:44px;color:var(--lu-bg);background:var(--lu-accent);cursor:pointer;border:0;border-radius:8px;padding:0 18px;font-family:inherit;font-size:15px;font-weight:500;transition:opacity .15s}.sf-btn:hover:not(:disabled){opacity:.88}.sf-btn:disabled{opacity:.45;cursor:not-allowed}.sf-btn--ghost{color:var(--lu-text);border:1px solid var(--lu-rule);background:0 0}.sf-error{color:var(--lu-accent);margin:0 0 14px;font-size:13.5px;font-weight:300;line-height:1.5}.sf-sent-head{color:var(--lu-text);margin:0 0 8px;font-size:16px;font-weight:500}@media (max-width:767px){.sf-dock{flex-direction:column-reverse;align-items:stretch;max-height:none;inset:auto 0 0;transform:none}.sf-dock.is-open{transform:none}.sf-tab{background:var(--lu-accent);border:1px solid var(--lu-accent);color:#fff;transition:margin .3s var(--sf-ease), border-radius .3s var(--sf-ease), background .26s var(--sf-ease), color .26s var(--sf-ease), border-color .26s var(--sf-ease);border-bottom:0;border-radius:12px 12px 0 0;flex-direction:row;justify-content:center;align-self:stretch;gap:8px;margin:0 16px;padding:14px 8px;box-shadow:0 -6px 22px #00000073}.sf-tab .sf-chev{color:#fff}.sf-dock.is-open .sf-tab{background:var(--lu-bg-elev);border-color:var(--lu-accent);border-top:1px solid var(--lu-rule);color:var(--lu-text-dim);box-shadow:none;border-radius:0;margin:0}.sf-dock.is-open .sf-tab .sf-chev{color:var(--lu-accent)}body[data-sf-highlight] .sf-tab{box-shadow:0 -6px 22px #00000073}.sf-tab-label{writing-mode:horizontal-tb}.sf-chev{transform:rotate(90deg)}.sf-panel{border:1px solid var(--lu-accent);width:100%;max-height:calc(100dvh - 152px);transition:max-height .32s var(--sf-ease), opacity .22s var(--sf-ease);border-bottom:0;border-radius:14px 14px 0 0;overflow:hidden;box-shadow:0 -14px 34px #0000008c}.sf-dock.is-open .sf-panel{overflow-y:auto}.sf-dock:not(.is-open) .sf-panel{max-height:0}.sf-panel-inner{padding:16px 18px 18px}.sf-title{margin-bottom:6px;font-size:19px}.sf-intro{margin-bottom:8px;font-size:14.5px}.sf-help{margin-bottom:12px;padding-left:8px;font-size:14.5px;line-height:1.45}.sf-label{margin-bottom:4px}.sf-input{margin-bottom:10px;padding:8px 10px}.sf-textarea{height:68px;min-height:68px}.sf-file{margin-bottom:6px;font-size:12px}.sf-hint{margin-bottom:10px;font-size:11.5px;line-height:1.45}.sf-btn{min-height:44px;font-size:14px}}@media (prefers-reduced-motion:reduce){.sf-dock,.sf-panel,.sf-tab,.sf-mention,.sf-chev{transition:none}}.sf-file-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sf-file-btn{cursor:pointer;align-items:center;width:auto;margin:0 0 10px;display:inline-flex}.sf-file-input:focus-visible+.sf-file-btn{outline:2px solid var(--lu-accent);outline-offset:2px}.sf-file-input:disabled+.sf-file-btn{opacity:.55;cursor:not-allowed}.sf-formats{font-family:var(--lu-sans);letter-spacing:.01em;color:var(--lu-text-dimmer);word-break:break-word;margin:0 0 10px;font-size:11px;font-weight:300;line-height:1.55}.sf-formats-label{letter-spacing:.16em;text-transform:uppercase;color:var(--lu-text-dimmer);margin-bottom:3px;font-size:9.5px;font-weight:600;display:block}@media print{.sf-dock{display:none!important}}
