/* Farplane shared UI. This file is deployed identically to all three services. */
:root{
 --fp-radius:12px;
 --fp-gap:12px;
 --fp-text:var(--ink,#eee9df);
 --fp-panel:var(--panel,#171716);
 --fp-accent:var(--gold,#e8e4da);
 --fp-line:var(--line,#48463e);
}
:root[data-farplane-app=archive]{--fp-accent:#a5caff}
:root[data-farplane-app=dashboard]{--fp-accent:#eee9df}
.fp-dialog{
 padding:18px;
 border:1px solid var(--fp-line);
 border-radius:var(--fp-radius);
 background:var(--fp-panel);
 color:var(--fp-text);
 width:min(470px,calc(100vw - 24px));
 max-height:calc(100dvh - 32px);
 overflow:auto;
 overscroll-behavior:contain;
}
.fp-dialog::backdrop{background:#0009;backdrop-filter:blur(3px)}
.fp-dialog-heading{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.fp-dialog-heading h2{min-width:0;flex:1;font:700 17px/1.3 system-ui;letter-spacing:0;overflow-wrap:anywhere}
.fp-icon-action{
 display:inline-grid;place-items:center;flex:none;
 width:34px;height:34px;min-width:34px;min-height:34px;padding:6px;
 border:0;background:transparent;border-radius:7px;color:var(--fp-accent);
 cursor:pointer;touch-action:manipulation;
}
.fp-icon-action svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7}
.fp-icon-action:disabled{opacity:.35;cursor:default}
.fp-icon-action.fp-primary{background:var(--fp-accent);color:var(--fp-panel)}
.fp-field{display:grid;gap:6px;min-width:0;font:500 12px/1.4 system-ui}
.fp-field input,.fp-field select{
 width:100%;min-width:0;padding:9px 10px;
 border:1px solid var(--fp-line);border-radius:8px;
 background:transparent;color:var(--fp-text);font:inherit;font-size:16px;
}
.fp-field input{font-variant-numeric:tabular-nums}
.fp-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.fp-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:14px}
.fp-feedback{font-size:12px;line-height:1.5;margin-top:8px}
.fp-feedback:empty{display:none}
.fp-feedback[role=alert]{color:#ffb6a3}
.fp-status{display:inline-flex;align-items:center;gap:6px;font:500 11px/1.4 system-ui;color:var(--muted,#b9b7b0)}
.fp-status::before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:currentColor}
.fp-status[data-state=available]{color:#9dcdb0}
.fp-status[data-state=failed],.fp-status[data-state=unavailable]{color:#e7a99e}
.fp-status[data-state=processing]{color:var(--fp-accent)}
.fp-status-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid var(--fp-line);border-bottom:1px solid var(--fp-line)}
@media(hover:hover) and (pointer:fine){
 .fp-icon-action:not(:disabled):hover{background:color-mix(in srgb,var(--fp-accent) 10%,transparent)}
 .fp-icon-action.fp-primary:hover{filter:brightness(1.08)}
}
@media(pointer:coarse){
 .fp-icon-action{width:44px;height:44px;min-width:44px;min-height:44px}
 .fp-field input,.fp-field select{min-height:44px}
}
@media(prefers-reduced-motion:reduce){
 .fp-icon-action{transition:none}
}

.fp-toast{
 position:fixed;z-index:50;inset-inline:12px;bottom:calc(88px + env(safe-area-inset-bottom));
 display:flex;align-items:center;justify-content:space-between;gap:12px;
 width:fit-content;max-width:min(480px,calc(100vw - 24px));margin-inline:auto;
 padding:8px 10px 8px 14px;border:1px solid var(--fp-line);border-radius:12px;
 background:var(--fp-panel);color:var(--fp-text);box-shadow:0 6px 24px #0005;
 font-size:13px;line-height:1.5;
}

.fp-icon-action .ico{color:inherit}
:root[data-farplane-app=archive]{--fp-panel:#172236;--fp-line:#456184;--fp-text:#e5edf8}

.fp-workspace-dialog{width:min(580px,calc(100vw - 24px));box-sizing:border-box;scroll-padding-block:70px 24px}
.fp-workspace-dialog>.fp-dialog-heading{position:sticky;top:-18px;background:var(--fp-panel);padding-block:12px;z-index:1}
.fp-workspace-body{display:grid;gap:12px;min-width:0}
.fp-workspace-body h3{font:650 14px/1.4 system-ui;margin:12px 0 0}
.fp-workspace-body p{font:400 13px/1.5 system-ui;overflow-wrap:anywhere}
.fp-workspace-body a{color:var(--fp-accent)}
.fp-workspace-row{display:flex;gap:10px;align-items:center;justify-content:space-between;min-width:0;padding:9px 0;border-bottom:1px solid var(--fp-line);font:400 13px/1.4 system-ui}
.fp-workspace-row>span{flex:1;min-width:0;overflow-wrap:anywhere}
.fp-workspace-row label{display:flex;align-items:center;gap:8px}
.fp-workspace-row input[type=checkbox]{flex:none;width:18px;height:18px;margin:0;accent-color:var(--fp-accent)}
.fp-text-action{display:block;padding:9px 10px;text-align:left;color:var(--fp-text);border:1px solid var(--fp-line);border-radius:8px;background:transparent;text-decoration:none;font:500 13px/1.4 system-ui;cursor:pointer}
.fp-field[hidden]{display:none}
.fp-workspace-body select{width:100%;min-width:0;max-width:100%;font:400 16px/1.4 system-ui;padding:9px}
.fp-entry-extra{display:flex;gap:10px;justify-content:flex-start;border-top:1px solid var(--fp-line);padding-top:8px}
.fp-archive-tools{display:inline-flex;align-items:center;margin-inline-start:auto}
.fp-daily{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px}
.fp-daily div{padding:10px 12px;border-bottom:1px solid var(--fp-line);font-size:12px}
.fp-daily strong{display:block;font-size:22px}
.fp-search-results{display:grid;gap:4px;margin-block:10px 20px}
.fp-search-results a{display:flex;justify-content:space-between;gap:12px;padding:9px 8px;color:inherit;text-decoration:none;border-bottom:1px solid var(--fp-line);font-size:13px}
.fp-search-results a span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fp-search-results a small{flex:none;color:var(--fp-accent)}
.fp-search-results a:hover{background:#ffffff0a}
.fp-global-search{display:grid;gap:7px;margin-bottom:16px;font-size:12px}
.fp-global-search input{width:100%;min-width:0;background:transparent;color:inherit;border:1px solid var(--fp-line);border-radius:8px;padding:10px;font:inherit;font-size:16px}
.fp-overview-items{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:24px}
.fp-overview-items h3{font-size:13px}
.fp-overview-items p{font-size:12px;line-height:1.5}
@media(max-width:600px){.fp-overview-items{grid-template-columns:1fr;gap:8px}.fp-workspace-row{min-height:44px}.fp-workspace-dialog{padding:14px}.fp-workspace-dialog>.fp-dialog-heading{top:-14px}.fp-daily{gap:6px}.fp-daily div{padding:8px 4px}}

.fp-workspace-row>.fp-text-action{width:auto;flex:0 0 auto;max-width:45%;white-space:normal}
.fp-workspace-row>span{flex:1 1 0;min-width:80px}
.fp-workspace-dialog .fp-dialog-heading>.fp-icon-action,.fp-workspace-row>.fp-icon-action{width:34px;min-width:34px;max-width:44px;flex:0 0 auto}
.fp-workspace-dialog .fp-save-state{font-size:11px;color:var(--muted,#aab5c8)}

.filters .fp-archive-tools{grid-column:1/-1;display:flex;justify-content:flex-end;gap:8px;width:100%}
.filters .fp-archive-tools>.fp-text-action{width:auto;max-width:none}
.fp-save-state{font-size:11px;color:var(--muted,#aab5c8)}

.fp-workspace-dialog,.fp-workspace-dialog .fp-field,.fp-workspace-dialog .fp-text-action,.fp-workspace-dialog h2,.fp-workspace-dialog p{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

.fp-workspace-body,.fp-workspace-row,.fp-workspace-body p,.fp-workspace-body h3,.fp-dialog-heading h2{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}

/* One About component, three application accents. Keep navigation stationary. */
dialog#about.fp-about[open],dialog#popup.fp-about[open]{
 --about-accent:var(--fp-accent);width:680px;max-width:calc(100vw - 24px);height:520px;max-height:calc(100dvh - 32px);
 display:flex;flex-direction:column;box-sizing:border-box;padding:20px;margin:auto;overflow:hidden;
 border:1px solid color-mix(in srgb,var(--about-accent) 32%,#292c34);border-radius:16px;
 background:linear-gradient(135deg,color-mix(in srgb,var(--about-accent) 8%,transparent),transparent 62%),#181a1f;
 color:#eeeef1;font:400 13px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
dialog.fp-about::backdrop{background:#0009;backdrop-filter:blur(3px)}
#popup.fp-about>#panel{display:flex;flex:1;flex-direction:column;min-height:0;padding:0}
.fp-about .fp-about-heading{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;flex:none;min-height:70px;padding:0 44px 16px 0;margin:0 0 18px;border-bottom:1px solid color-mix(in srgb,var(--about-accent) 18%,transparent)}
.fp-about .fp-about-heading h2{font:700 19px/1.25 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.3px;margin:0;color:#eeeef1}
.fp-about .fp-about-kicker{font:500 9px/1.3 system-ui,sans-serif;letter-spacing:1.5px;color:var(--about-accent)}
.fp-about .fp-about-heading>form{position:absolute;right:0;top:0;width:auto;margin:0}
.fp-about .fp-about-close,#popup.fp-about>form>.close{display:grid;place-items:center;min-width:36px;width:36px;min-height:36px;height:36px;padding:0;border:0;border-radius:8px;background:transparent;color:#bec0c8;font:400 22px/1 sans-serif;box-shadow:none}
#popup.fp-about>form>.close{position:absolute;inset-block-start:18px;inset-inline-end:18px}
.fp-about .fp-about-layout{display:grid;grid-template-columns:150px minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:20px;flex:1;min-height:0}
.fp-about .fp-about-layout>.fp-about-nav{display:flex;flex-direction:column;gap:5px;align-self:stretch;align-content:start;margin:0;padding:0 12px 0 0;border:0;border-right:1px solid color-mix(in srgb,var(--about-accent) 14%,transparent);overflow:visible}
.fp-about .fp-about-nav>button{display:flex;align-items:center;justify-content:flex-start;gap:9px;flex:none;width:100%;min-width:0;height:38px;min-height:38px;margin:0;padding:0 10px;text-align:start;border:0;border-radius:8px;background:transparent;box-shadow:none;color:#b9bcc5;font:500 12px/1.3 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;white-space:nowrap}
.fp-about .fp-about-nav>button[aria-current=true]{background:color-mix(in srgb,var(--about-accent) 14%,transparent);color:var(--about-accent);border:0}
.fp-about .fp-about-nav>button>svg{width:16px;height:16px;color:inherit;flex:none}
.fp-about .fp-about-content{display:block;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:0 3px 12px 0;color:#eeeef1}
.fp-about .fp-about-content>section{padding:0;margin:0;border:0;background:transparent}
.fp-about .fp-about-content>section[hidden]{display:none}
.fp-about .fp-about-content h3{font:650 14px/1.4 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#eeeef1;margin:0 0 12px}
.fp-about .fp-about-content p{font:400 12px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#a6a9b4;margin:8px 0}
.fp-about .fp-about-content a{color:var(--about-accent)}
.fp-about .fp-profile{display:flex;align-items:center;gap:10px;padding:10px;border-radius:10px;background:color-mix(in srgb,var(--about-accent) 8%,transparent)}
.fp-about .fp-profile-avatar{display:grid;place-items:center;flex:none;border-radius:50%;width:40px;height:40px;overflow:hidden;background:#292c34;color:var(--about-accent)}
.fp-about .fp-profile-avatar>img{display:block;width:100%;height:100%;object-fit:cover}
.fp-about .fp-profile-avatar>svg{width:23px;height:23px}
.fp-about .fp-profile>div{flex:1;min-width:0}.fp-about .fp-profile strong{font-size:12px}
.fp-about .fp-profile p{font-size:10px;margin:4px 0 0}
.fp-about .fp-profile .fp-profile-logout{margin-inline-start:auto;flex:none;border:0;background:transparent;color:var(--about-accent)}
.fp-about .fp-profile-label{display:flex;align-items:center;justify-content:space-between;gap:6px;margin:18px 0 12px}
.fp-about .fp-profile-label h4{font-size:12px;margin:0}
.fp-about .fp-profile-label button{display:flex;align-items:center;gap:5px;min-height:32px;padding:0;border:0;background:transparent;color:var(--about-accent);font-size:11px}
.fp-about .fp-profile-label svg{width:14px;height:14px}
.fp-about .fp-profile-avatars{display:flex;flex-wrap:wrap;gap:10px;padding:3px}
.fp-about .fp-profile-avatars>button{display:grid;place-items:center;flex:none;min-width:34px;width:34px;min-height:34px;height:34px;overflow:hidden;padding:0;border:0;border-radius:50%;background:#292c34;color:#b0b4c0}
.fp-about .fp-profile-avatars img{width:100%;height:100%;object-fit:cover}
.fp-about .fp-profile-avatars svg{width:18px;height:18px}
.fp-about .fp-profile-avatars>button[aria-pressed=true]{outline:1px solid var(--about-accent);outline-offset:2px;color:var(--about-accent);background:color-mix(in srgb,var(--about-accent) 18%,#181a1f)}
.fp-about .fp-profile-section>details{margin-top:16px;font-size:11px;color:#a6a9b4}
.fp-about .fp-feedback{font-size:12px}
@media(hover:hover){.fp-about .fp-about-nav>button:not([aria-current=true]):hover{background:#ffffff08;color:#eeeef1}.fp-about .fp-profile-logout:hover{filter:brightness(1.2)}}
@media(max-width:600px){
 dialog#about.fp-about[open],dialog#popup.fp-about[open]{width:calc(100vw - 16px);max-width:calc(100vw - 16px);height:min(660px,calc(100dvh - 32px));padding:14px;border-radius:14px}
 .fp-about .fp-about-layout{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);gap:16px}
 .fp-about .fp-about-layout>.fp-about-nav{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:2px;padding:0 0 10px;border-right:0;border-bottom:1px solid color-mix(in srgb,var(--about-accent) 14%,transparent)}
 .fp-about .fp-about-nav>button{width:100%;height:44px;min-height:44px;justify-content:center;padding:0;gap:0}
 .fp-about .fp-about-nav>button>span{display:none}.fp-about .fp-about-nav>button>svg{width:19px;height:19px}
 .fp-about .fp-about-heading{min-height:64px;margin-bottom:12px}
 #popup.fp-about>form>.close{inset-block-start:12px;inset-inline-end:12px}
 .fp-about .fp-profile-avatars>button{min-width:40px;width:40px;min-height:40px;height:40px}
 .fp-about .fp-profile-label button{min-height:44px}.fp-about .fp-profile .fp-profile-logout{width:44px;height:44px}
}

.fp-about .fp-profile-label h4{flex:none;white-space:nowrap}.fp-about .fp-profile-label button{width:auto;max-width:none;flex:none;margin-inline-start:auto;white-space:nowrap}

/* The Library close form precedes its heading; keep its hit target above the heading. */
#popup.fp-about>form>.close{z-index:5;pointer-events:auto}
@media(max-width:600px){.fp-about .fp-about-close,#popup.fp-about>form>.close{width:44px;height:44px;min-width:44px;min-height:44px}}

/* Shared clock: one row, local period on the left, original 12/24h action intact. */
.fp-clock-cluster{display:flex;align-items:center;gap:10px;flex:0 0 auto;min-width:0}
.top>.fp-clock-cluster{margin-inline-start:auto}
.fp-clock-cluster>.dashboard-clock,.fp-clock-cluster>.archive-clock{margin:0;flex:0 0 auto}
.fp-day-period{display:inline-block;min-width:86px;padding:4px 8px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);border-radius:999px;text-align:center;font:500 11px/1.2 system-ui,sans-serif;color:inherit;white-space:nowrap;box-sizing:border-box}
.fp-weather-popover{position:fixed;inset:auto;margin:0;z-index:10000;box-sizing:border-box;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow:auto;padding:14px;border:1px solid #c6c0a13b;border-radius:16px;background:#171714;color:#ece9df;box-shadow:0 12px 40px #0006;font:13px/1.45 system-ui,sans-serif;text-align:left}
.fp-weather-popover::backdrop{background:transparent;pointer-events:none}
.fp-weather-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.fp-weather-popover button{font:inherit;color:inherit;border:1px solid #ffffff24;border-radius:8px;background:transparent;padding:6px 9px;cursor:pointer;min-width:0;min-height:32px}
.fp-weather-heading button{border:0;font-size:20px;line-height:1;padding:4px 8px}
.fp-weather-popover button:hover{background:#ffffff0d}
.fp-weather-popover button:disabled{opacity:.45;cursor:wait}
.fp-weather-popover p{margin:7px 0}.fp-weather-place{color:#cbc7bd}.fp-weather-temperature{display:block;font-size:21px;margin:8px 0}
.fp-weather-popover small,.fp-weather-popover>a{display:block;font-size:10px;opacity:.72;margin-top:7px;color:inherit}
.fp-weather-search{display:flex;gap:6px;margin-top:14px}
.fp-weather-search input{min-width:0;flex:1;width:0;border:0;border-bottom:1px solid #ffffff40;background:transparent;color:inherit;font:inherit;padding:5px 2px;border-radius:0}
.fp-weather-results{display:grid;gap:4px;margin-block:6px}.fp-weather-results:empty{display:none}
.fp-weather-results button{text-align:left}.fp-weather-location,.fp-weather-forget{margin:6px 4px 0 0;font-size:11px!important}
.fp-weather-message{color:#e9c992}.fp-weather-detail{font-size:11px}
.fp-weather-scene{position:relative;isolation:isolate;height:82px;overflow:hidden;border-radius:10px;background:linear-gradient(135deg,#638da225,#313c5022)}
.fp-weather-orb{position:absolute;left:40%;top:15px;width:38px;height:38px;border-radius:50%;background:#f0cd65;animation:fp-sun-breathe 5s ease-in-out infinite alternate}
.fp-weather-cloud{display:none;position:absolute;left:40%;top:24px;width:76px;height:25px;border-radius:30px;background:#b2c3ce;animation:fp-cloud-drift 5s ease-in-out infinite alternate}
.fp-weather-cloud::before,.fp-weather-cloud::after{content:'';position:absolute;width:32px;height:32px;border-radius:50%;left:12px;top:-16px;background:inherit}.fp-weather-cloud::after{width:25px;height:25px;left:36px;top:-10px}
.fp-weather-scene[data-weather=moon] .fp-weather-orb{background:#d4dfed;box-shadow:inset -12px -5px #253243;animation:none}
.fp-weather-scene:is([data-weather=cloud],[data-weather=rain],[data-weather=snow],[data-weather=storm],[data-weather=fog]) .fp-weather-cloud{display:block}
.fp-weather-scene:is([data-weather=rain],[data-weather=snow],[data-weather=storm],[data-weather=fog]) .fp-weather-orb{display:none}
.fp-weather-scene i{display:none;position:absolute;left:calc(22% + var(--i)*5%);top:40px;width:2px;height:10px;background:#abd8ef;animation:fp-weather-fall 1s linear infinite;animation-delay:calc(var(--i)*-.17s);opacity:.8}
.fp-weather-scene:is([data-weather=rain],[data-weather=storm]) i{display:block}
.fp-weather-scene[data-weather=snow] i{display:block;width:4px;height:4px;border-radius:50%;background:white;animation-duration:2.8s}
.fp-weather-scene[data-weather=storm]::after{content:'';position:absolute;left:53%;top:43px;width:10px;height:24px;background:#ffe48a;clip-path:polygon(50% 0,100% 0,65% 40%,100% 40%,0 100%,35% 50%,0 50%);animation:fp-sun-breathe 3s ease-in-out infinite alternate}
.fp-weather-scene[data-weather=fog] .fp-weather-cloud{opacity:.6;filter:blur(3px)}
@keyframes fp-weather-fall{from{transform:translate(0,-7px);opacity:0}20%{opacity:.85}to{transform:translate(12px,38px);opacity:0}}
@keyframes fp-cloud-drift{to{transform:translateX(9px)}}
@keyframes fp-sun-breathe{from{opacity:.65}to{opacity:1}}
.fp-weather-still *,.fp-weather-still::after,.fp-weather-still *::after{animation:none!important}
.fp-weather-still .fp-weather-scene i{top:60px;transform:rotate(-12deg)}
@media(prefers-reduced-motion:reduce){.fp-weather-scene *,.fp-weather-scene::after{animation:none!important}}
@media(max-width:600px){.fp-clock-cluster{display:none!important}}

/* Keep host-wide button widths from changing the anchored weather panel. */
main>header>.fp-clock-cluster{margin-inline-start:auto}
.fp-weather-popover button{width:auto;flex:none}
.fp-weather-popover .fp-weather-heading{width:100%;flex-wrap:nowrap}
.fp-weather-popover .fp-weather-heading strong{flex:1;white-space:nowrap}
.fp-weather-popover .fp-weather-search{display:flex;grid-template-columns:none;align-items:center;gap:6px}
.fp-weather-popover .fp-weather-search input{min-height:34px;height:34px;flex:1;min-width:0;width:0}
.fp-weather-popover .fp-weather-search button{min-height:34px;height:34px}
.fp-weather-popover{border-color:color-mix(in srgb,var(--fp-weather-accent,#c6c0a1) 25%,transparent)}
.fp-weather-popover .fp-weather-temperature{color:var(--fp-weather-accent,#ece9df)}

main>header>.fp-clock-cluster+.header-actions{margin-inline-start:2px}

/* Integrated tabs, an uninterrupted first row, and one collapse interaction. */
.fp-section{--fp-section-bg:var(--panel,var(--fp-panel,#1c1c1a));--fp-section-border:color-mix(in srgb,var(--fp-accent) 27%,transparent);position:relative;isolation:isolate;min-width:0;margin:18px 0 14px;padding:0;border:0;background:transparent;border-radius:0;overflow:visible;overflow-anchor:none}
.fp-section-head{position:relative;display:flex;align-items:flex-end;min-width:0;min-height:28px;gap:4px;isolation:isolate;padding:0!important;margin:0!important;border:0;background:transparent}
.fp-section-head::after{content:'';flex:1;border-bottom:1px solid var(--fp-section-border);min-width:8px;align-self:flex-end}
.fp-section .fp-section-tab{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;gap:6px;min-width:0;width:auto;max-width:100%;min-height:28px;height:28px;margin:0;padding:4px 10px;border:1px solid var(--fp-section-border);border-bottom:0;border-radius:9px 9px 0 0;background:var(--fp-section-bg);color:var(--fp-accent);font:700 12px/1.25 system-ui,-apple-system,sans-serif;letter-spacing:0;text-align:left;white-space:nowrap;cursor:pointer;box-shadow:none}
.fp-section-tab>span:not(.fp-section-mark):not(.fp-section-chevron){min-width:0;overflow:hidden;text-overflow:ellipsis}
.fp-section-mark{display:flex;align-items:center;justify-content:center;flex:none;color:inherit}
.fp-section .fp-section-mark svg,.fp-section .fp-section-mark .ico{display:block;width:14px;height:14px;color:inherit}
.fp-section-chevron{display:flex;align-items:center;justify-content:center;flex:none;width:12px;height:14px;margin-left:3px;transition:transform 170ms ease}
.fp-section-chevron svg{width:12px;height:12px;display:block}
.fp-section-viewport{display:grid;grid-template-rows:1fr;min-width:0;transition:grid-template-rows 180ms ease}
.fp-section-body{position:relative;z-index:2;min-width:0;min-height:0;border:1px solid var(--fp-section-border);border-top:0;border-radius:0 10px 10px 10px;background:var(--fp-section-bg);overflow:hidden}
.fp-section[data-collapsed=true]>.fp-section-viewport{grid-template-rows:0fr}
.fp-section[data-collapsed=true]>.fp-section-viewport>.fp-section-body{border-width:0}
.fp-section[data-collapsed=true]>.fp-section-head::after{align-self:center}
.fp-section[data-collapsed=true]>.fp-section-head>.fp-section-tab{border:1px solid var(--fp-section-border);border-radius:7px;background:color-mix(in srgb,var(--fp-accent) 15%,var(--fp-section-bg))}
.fp-section[data-collapsed=true] .fp-section-chevron{transform:rotate(180deg)}
.fp-section-tools{display:flex;gap:3px;align-items:center;order:3;align-self:center;margin-left:auto;padding-left:5px;background:transparent}
.fp-section-tools:empty{display:none}
.fp-section-tools>button{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;max-width:28px;padding:4px!important;margin:0!important;border:0!important;background:transparent!important}
.fp-section-tabs{display:flex;align-items:flex-end;min-width:0;gap:3px;max-width:calc(100% - 28px)}
.fp-section .fp-section-switch{font-size:12px;flex:0 1 auto}
.fp-section .fp-section-switch[aria-selected=false]{transform:translateY(4px);padding-bottom:8px;z-index:0;background:color-mix(in srgb,var(--fp-section-bg) 75%,var(--bg,#101010));color:color-mix(in srgb,var(--fp-accent) 57%,#999)}
.fp-section .fp-section-switch[aria-selected=true]{z-index:1}
.fp-section .fp-section-collapse-only{padding:4px 6px;flex:none;width:25px;min-width:25px;max-width:25px;border:0;background:transparent;align-self:center;border-radius:5px}
.fp-section-collapse-only>.fp-section-mark,.fp-section-collapse-only>span:not(.fp-section-chevron){display:none}
.fp-section-collapse-only .fp-section-chevron{margin:0}
.fp-section[data-collapsed=true] .fp-section-switch[aria-selected=true]{border-bottom:1px solid var(--fp-section-border);border-radius:7px;background:color-mix(in srgb,var(--fp-accent) 15%,var(--fp-section-bg))}
.fp-section[data-collapsed=true] .fp-section-switch[aria-selected=false]{transform:none;z-index:0}
@media(max-width:600px){.fp-section{margin:14px 0 12px}.fp-section .fp-section-tab{font-size:12px;padding-inline:8px;min-height:30px;height:30px}.fp-section-tabs{gap:2px}.fp-section .fp-section-switch{font-size:11px}.fp-section .fp-section-switch .fp-section-mark{display:none}.fp-section .fp-section-collapse-only{width:26px;min-width:26px;min-height:30px;height:30px}.fp-section-head{min-height:30px}.fp-section-tabs .fp-section-switch{padding-inline:7px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}}
@media(prefers-reduced-motion:reduce){.fp-section-viewport,.fp-section-chevron{transition:none}}
:is(.reduce-user-motion,.low-performance,.archive-low-performance) .fp-section-viewport,:is(.reduce-user-motion,.low-performance,.archive-low-performance) .fp-section-chevron{transition:none}

/* Stop the top rule at the rounded corner instead of drawing past it. */
.fp-section:not([data-collapsed=true])>.fp-section-head::after{margin-inline-end:10px}
.fp-section-tabbed>.fp-section-head>.fp-section-collapse-only{display:none!important}
.fp-section-tabbed .fp-section-tabs{max-width:100%}
.fp-section-tabbed .fp-section-switch .fp-section-chevron{width:10px;margin-left:2px}
.fp-section-tabbed .fp-section-switch[aria-selected=false] .fp-section-chevron{visibility:hidden}
.fp-section-tabbed[data-collapsed=true] .fp-section-switch[aria-selected=true]{border-radius:7px}
.fp-section-head:has(>.fp-section-tools)::after{margin-inline-end:0}
.fp-section-tools{padding-inline:3px 0}
/* Fold the content away completely; keep only the tab and its normal margins. */
.fp-section>.fp-section-viewport{display:block;height:auto;overflow:hidden;transition:none;min-height:0}
.fp-section[data-collapsed=true]>.fp-section-viewport{height:0}
.fp-section-body{opacity:1;visibility:visible;transition:opacity 120ms ease,visibility 0s linear}
.fp-section[data-collapsed=true]>.fp-section-viewport>.fp-section-body{opacity:0;visibility:hidden;pointer-events:none;transition:opacity 120ms ease,visibility 0s linear 120ms}
.fp-section[data-collapsed=true]>.fp-section-head::after{display:none}
.fp-section[data-collapsed=true] .fp-section-switch[aria-selected=false]{transform:translateY(4px)}
@media(prefers-reduced-motion:reduce){.fp-section-body,.fp-section[data-collapsed=true]>.fp-section-viewport>.fp-section-body{transition:none}}
:is(.reduce-user-motion,.low-performance,.archive-low-performance) .fp-section-body,:is(.reduce-user-motion,.low-performance,.archive-low-performance) .fp-section[data-collapsed=true]>.fp-section-viewport>.fp-section-body{transition:none}
html{scrollbar-gutter:stable}
.fp-section-position-held{top:var(--fp-fold-top)!important;bottom:auto!important;margin-block:0!important;max-height:calc(100dvh - var(--fp-fold-top) - 12px)!important}
