.cf-fab{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom, 0px));z-index:40;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--sc-accent,#1f5bd8);border-radius:0;background:var(--sc-surface,#FFFFFF);color:var(--sc-accent,#1F5BD8);font:inherit;font-size:var(--sp-fs-small);font-weight:600;cursor:pointer}.cf-fab:hover{background:var(--sc-bg,#F5F6F8)}.cf-fab:focus-visible,.cf-panel :focus-visible{outline:2px solid var(--sc-accent,#1F5BD8);outline-offset:2px}body:has(.sd-nav) .cf-fab,body:has(.sd-nav) .cf-panel:not(.cf-panel-top){bottom:calc(84px + env(safe-area-inset-bottom, 0px))}@media (min-width:1024px){body:has(.sd-nav) .cf-fab,body:has(.sd-nav) .cf-panel:not(.cf-panel-top){bottom:calc(20px + env(safe-area-inset-bottom, 0px))}}.cf-panel{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(20px + env(safe-area-inset-bottom, 0px));z-index:85;width:min(400px,calc(100vw - 32px));max-height:calc(100vh - 120px);overflow:auto;padding:20px;border:1px solid var(--sc-border,#e3e5ea);border-radius:0;background:var(--sc-surface,#FFFFFF);color:var(--sc-text,#16181D);box-shadow:none}.cf-close{position:absolute;top:8px;right:8px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border:0;border-radius:var(--sp-radius-round,999px);background:transparent;color:var(--sc-muted,#5B606B);cursor:pointer;transition:background-color .15s ease,color .15s ease}.cf-close:hover{background:var(--sc-surface-2,#F5F6F8);color:var(--sc-text,#16181D)}.cf-close:focus-visible{outline:2px solid var(--sc-accent,#1F5BD8);outline-offset:2px}.cf-title{margin:0 44px 6px 0;font-family:var(--sc-display,"Public Sans",system-ui,sans-serif);font-size:var(--sp-fs-h2);font-weight:800;line-height:1.15}.cf-sub{margin:0 0 16px;font-size:var(--sp-fs-small);line-height:1.45;color:var(--sc-muted,#5B606B)}.cf-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.cf-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:60px;padding:12px 12px 12px 16px;border:1px solid var(--sc-border,#e3e5ea);border-radius:0;background:var(--sc-surface,#FFFFFF);color:var(--sc-text,#16181D);font:inherit;text-align:left;cursor:pointer}.cf-row:hover{background:var(--sc-surface-2,#F5F6F8)}.cf-row.is-on{border-color:var(--sc-accent,#1F5BD8);background:color-mix(in srgb,var(--sc-accent,#1F5BD8) 14%,var(--sc-surface,#FFFFFF))}.cf-row-text{display:flex;flex-direction:column;gap:2px;margin-right:auto}.cf-row-text b{font-size:var(--sp-fs-body);font-weight:600}.cf-row-text small{font-size:var(--sp-fs-meta);font-weight:400;color:var(--sc-muted,#5B606B)}.cf-tick{flex:none;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:1px solid var(--sc-border,#e3e5ea);border-radius:var(--sp-radius-round);background:var(--sc-surface,#FFFFFF);color:var(--sc-accent-text,#fff)}.cf-row.is-on .cf-tick{border-color:var(--sc-accent,#1F5BD8);background:var(--sc-accent,#1F5BD8)}.cf-box{display:block;width:100%;min-height:112px;margin-bottom:12px;padding:12px;border:1px solid var(--sc-border,#e3e5ea);border-radius:0;background:#fff;color:var(--sc-text,#16181D);font:inherit;font-size:var(--sp-fs-body);line-height:1.45;resize:vertical}.cf-actions{display:flex;gap:8px}.cf-actions .cf-btn{flex:1}.cf-btn{cursor:pointer;width:100%}.cf-actions .cf-btn{width:auto}.cf-btn:disabled{opacity:.45;cursor:not-allowed}.cf-files{gap:8px;margin:-4px 0 16px}.cf-file-list,.cf-files{display:flex;flex-direction:column}.cf-file-list{list-style:none;margin:0;padding:0;gap:6px}.cf-file{display:flex;align-items:center;gap:8px;min-height:40px;padding:4px 4px 4px 12px;border:1px solid var(--sc-border,#e3e5ea);background:var(--sc-surface,#fff)}.cf-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--sp-fs-small);color:var(--sc-text,#16181D)}.cf-file small{font-size:var(--sp-fs-meta);white-space:nowrap}.cf-file small,.cf-file-x{color:var(--sc-muted,#5B606B)}.cf-file-x{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:0;background:transparent;cursor:pointer}.cf-file-x:hover{color:var(--sc-text,#16181D)}.cf-add{align-self:flex-start;margin-left:-16px}.cf-file-hint{color:var(--sc-muted,#5B606B);font-size:var(--sp-fs-meta);line-height:1.4}.sc-root.sc-clean :is(.cf-file){border-radius:var(--sp-radius-control)}.cf-error{margin:-4px 0 12px;font-size:var(--sp-fs-small);color:#B42318}.cf-head-btn{height:44px;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.cf-head-btn svg{flex:none}.cf-head-label{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1.1}.cf-head-hint{font-size:var(--sp-fs-meta);font-weight:400;color:var(--sc-muted,#5B606B)}.cf-head-btn[aria-expanded=true]{border-color:var(--sc-accent,#1F5BD8);color:var(--sc-accent,#1F5BD8)}.cf-panel.cf-panel-top{top:64px;bottom:auto;max-height:calc(100vh - 80px)}body:has(.sc-viewas) .cf-panel.cf-panel-top{top:120px;max-height:calc(100vh - 136px)}@media (max-width:640px){.cf-head-btn{width:44px;padding:0;justify-content:center}.cf-head-btn .cf-head-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}.rf-count{margin:0 44px 4px 0;font-size:var(--sp-fs-meta);font-weight:600;letter-spacing:.04em;color:var(--sc-muted,#5B606B)}.rf-parts{list-style:none;margin:0 0 16px;padding:0;flex-direction:column}.rf-part,.rf-parts{display:flex;gap:8px}.rf-part{flex-wrap:wrap;align-items:center;justify-content:space-between;padding:12px;border:1px solid var(--sc-border,#e3e5ea);background:var(--sc-surface,#FFFFFF)}.rf-part-name{font-size:var(--sp-fs-small);font-weight:600}.rf-part-pick{display:inline-flex;gap:6px}.rf-chip{min-height:44px;padding:0 12px;border:1px solid var(--sc-border,#e3e5ea);background:#fff;font:inherit;font-size:var(--sp-fs-meta);font-weight:600;cursor:pointer}.rf-chip,.rf-chip.is-on{color:var(--sc-text,#16181D)}.rf-chip.is-on{border-color:var(--sc-accent,#1F5BD8);background:color-mix(in srgb,var(--sc-accent,#1F5BD8) 14%,#fff)}.rf-chip:focus-visible{outline:2px solid var(--sc-accent,#1F5BD8);outline-offset:2px}.sc-root.sc-clean :is(.rf-part,.rf-chip){border-radius:var(--sp-radius-round)}@media print{.cf-fab,.cf-head-btn,.cf-panel{display:none!important}}.sc-root.sc-clean :is(.cf-fab,.cf-panel,.cf-row,.cf-box){border-radius:var(--sp-radius-control)}