.projectNativeSelectControl,.projectNativeSelect{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;pointer-events:none!important}.projectNativeSelectControl .selectChevron{display:none!important}
/* Backstop: if the themed-select wrapper is applied after the picker installs,
   the class above lands on the bare select and the wrapper's button would still
   render a duplicate dropdown. Hide any themed wrapper around the project select.
   The :not(:has(.projectPickerEnhancement)) guard matters -- an older cached
   build of the JS inserts the picker INSIDE this wrapper, and clipping a parent
   clips its children too, which would take "View All Projects" and the picker
   with it. Degrade to the harmless duplicate dropdown instead of losing the UI. */
.themedSelect:has(>.projectNativeSelect):not(:has(.projectPickerEnhancement)),
.selectControl:has(>.projectNativeSelect):not(:has(.projectPickerEnhancement)){position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;border:0!important;pointer-events:none!important}
.projectPickerEnhancement{position:relative;display:grid;gap:7px}.projectSearchControl{position:relative}.projectSearchControl>span{position:absolute;z-index:1;left:14px;top:50%;width:15px;height:15px;transform:translateY(-58%);border:2px solid var(--muted);border-radius:50%;pointer-events:none}.projectSearchControl>span:after{content:"";position:absolute;right:-5px;bottom:-3px;width:7px;height:2px;transform:rotate(45deg);border-radius:2px;background:var(--muted)}#projectSearch{padding-left:41px!important;background:var(--surface-input)!important}
.projectPickerHeading{display:flex;align-items:center;justify-content:space-between;gap:12px}.projectPickerHeading label{margin:0}.projectViewAllButton{padding:2px 0;border:0;background:transparent;color:var(--accent2);font:600 .75rem/1.2 var(--app-font,system-ui);cursor:pointer}.projectViewAllButton:hover{text-decoration:underline;text-underline-offset:4px}.projectLibraryBackdrop{position:fixed;z-index:6200;inset:0;display:grid;place-items:center;padding:20px;background:rgba(3,7,12,.82);backdrop-filter:blur(14px)}.projectLibraryDialog{width:min(1100px,100%);max-height:calc(100vh - 32px);overflow:auto;border:1px solid color-mix(in srgb,var(--accent) 70%,var(--line));border-radius:25px;background:var(--panel);box-shadow:0 34px 105px rgba(0,0,0,.6),0 0 30px color-mix(in srgb,var(--accent) 16%,transparent)}.projectLibraryDialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:23px 25px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 15%,var(--panel)),var(--panel))}.projectLibraryDialog>header span{color:var(--accent2);font-size:.68rem;font-weight:900;letter-spacing:.12em}.projectLibraryDialog>header h2{margin:4px 0;font-size:1.45rem}.projectLibraryDialog>header p{margin:0;color:var(--muted)}.projectLibraryHeaderActions{display:flex;align-items:center;gap:10px}.projectLibraryClose{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--surface-input);color:var(--text);font-size:1.4rem;cursor:pointer}.projectLibraryViewSwitch{display:flex;gap:4px;padding:4px;border:1px solid var(--line);border-radius:13px;background:var(--surface-input)}.projectLibraryViewSwitch button{display:grid;place-items:center;width:38px;height:35px;border:0;border-radius:9px;background:transparent;color:var(--muted);cursor:pointer}.projectLibraryViewSwitch button.active{background:var(--accent);color:var(--buttonText,#081018)}.projectLibraryViewSwitch svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.projectLibraryViewSwitch [data-project-view=grid] svg{fill:currentColor;stroke:none}.projectLibraryToolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 24px;border-bottom:1px solid var(--line)}.projectLibraryToolbar label{position:relative;display:block;width:min(480px,100%)}.projectLibraryToolbar input{width:100%;padding-left:40px}.projectLibrarySearchIcon{position:absolute;z-index:1;left:14px;top:50%;width:14px;height:14px;transform:translateY(-60%);border:2px solid var(--muted);border-radius:50%;pointer-events:none}.projectLibrarySearchIcon:after{content:"";position:absolute;right:-5px;bottom:-3px;width:7px;height:2px;transform:rotate(45deg);background:var(--muted)}.projectLibraryToolbar>strong{color:var(--muted);font-size:.78rem;white-space:nowrap}.projectLibraryCards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:22px}.projectLibraryCard{display:grid;grid-template-columns:92px minmax(0,1fr);gap:13px;min-width:0;padding:12px;border:1px solid var(--line);border-radius:17px;background:var(--surface-raised);color:var(--text);text-align:left;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.projectLibraryCard:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 16px 30px color-mix(in srgb,var(--accent) 14%,rgba(0,0,0,.24))}.projectLibraryThumb{display:grid;place-items:center;width:92px;height:92px;overflow:hidden;border:1px solid color-mix(in srgb,var(--accent) 30%,var(--line));border-radius:14px;background:var(--surface-input)}.projectLibraryThumb img{width:100%;height:100%;object-fit:contain}.projectLibraryThumb .projectPickerEmptyArt{width:65%;height:65%}.projectLibraryCardCopy{display:grid;align-content:center;gap:4px;min-width:0}.projectLibraryCardCopy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.projectLibraryCardCopy small,.projectLibraryCardCopy span{color:var(--muted);font-size:.69rem;line-height:1.4}.projectLibraryCardCopy i{margin:0 3px;font-style:normal}.projectLibraryCard>em{grid-column:1/-1;justify-self:end;color:var(--accent2);font-size:.9rem;font-style:normal;font-weight:900}.projectLibraryCards.list{grid-template-columns:1fr}.projectLibraryCards.list .projectLibraryCard{grid-template-columns:68px minmax(0,1fr) auto;align-items:center}.projectLibraryCards.list .projectLibraryThumb{width:68px;height:68px}.projectLibraryCards.list .projectLibraryCard>em{grid-column:3;grid-row:1}.projectLibraryEmpty{grid-column:1/-1;display:grid;gap:5px;padding:50px;text-align:center}.projectLibraryEmpty span{color:var(--muted)}.projectLibraryActionPrompt{position:fixed;z-index:6300;inset:0;display:grid;place-items:center;padding:20px;background:rgba(3,7,12,.72);backdrop-filter:blur(9px)}.projectLibraryActionPrompt>section{position:relative;display:grid;grid-template-columns:82px minmax(0,1fr) auto;align-items:center;gap:16px;width:min(680px,100%);padding:22px;border:1px solid color-mix(in srgb,var(--accent) 70%,var(--line));border-radius:22px;background:var(--panel);box-shadow:0 26px 80px rgba(0,0,0,.55)}.projectLibraryActionPrompt .projectLibraryThumb{width:82px;height:82px}.projectLibraryActionPrompt small{color:var(--accent2);font-weight:900;letter-spacing:.1em}.projectLibraryActionPrompt h3{margin:4px 0}.projectLibraryActionPrompt p{margin:0;color:var(--muted)}.projectLibraryActionPrompt>.projectLibraryClose{align-self:start}.projectLibraryActionButtons{grid-column:1/-1;display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr;gap:9px}.projectLibraryActionButtons .btn{min-height:46px}
.projectPicker{position:relative}.projectPickerButton{position:relative;z-index:1;display:grid;grid-template-columns:46px minmax(0,1fr) auto 18px;align-items:center;gap:11px;width:100%;min-height:66px;padding:8px 13px;border:1px solid var(--edge-strong);border-radius:14px;background:var(--surface-input);color:var(--text);text-align:left;cursor:pointer;pointer-events:auto}.projectPickerButton:hover,.projectPickerButton:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent);outline:none}.projectPickerButton>b,.projectPickerOption>b{color:var(--accent2);font-size:.9rem;white-space:nowrap}.projectPickerButton>i{position:relative;display:block;width:18px;height:18px;transform:none}.projectPickerButton>i:before{content:"";position:absolute;left:50%;top:43%;width:8px;height:8px;transform:translate(-50%,-50%) rotate(45deg);border-right:2px solid var(--accent2);border-bottom:2px solid var(--accent2)}.projectPickerButton[aria-expanded="true"]>i:before{top:58%;transform:translate(-50%,-50%) rotate(225deg)}.projectPickerCurrent,.projectPickerOptionMain{display:grid;gap:3px;min-width:0}.projectPickerCurrent strong,.projectPickerOptionMain strong{overflow:hidden;color:var(--text);font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.projectPickerCurrent small,.projectPickerOptionMain small{overflow:hidden;color:var(--muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}
.projectPickerThumb{display:grid;place-items:center;width:46px;height:46px;overflow:hidden;border:1px solid var(--edge-soft);border-radius:10px;background:linear-gradient(145deg,color-mix(in srgb,var(--surface-input) 82%,var(--accent) 18%),var(--surface-raised))}.projectPickerThumb img{display:block;width:100%;height:100%;object-fit:contain;background:var(--surface-input)}.projectPickerEmptyArt{display:block;width:76%;height:76%;background:color-mix(in srgb,var(--accent2) 72%,var(--text) 28%);-webkit-mask:url("images/no-project.svg") center/contain no-repeat;mask:url("images/no-project.svg") center/contain no-repeat;opacity:.78}
.projectPickerMenu{position:absolute;z-index:120;top:calc(100% + 7px);left:0;right:0;max-height:min(420px,60vh);overflow:auto;padding:7px;border:1px solid var(--edge-strong);border-radius:15px;background:color-mix(in srgb,var(--surface-main) 97%,transparent);box-shadow:0 22px 55px rgba(0,0,0,.34);backdrop-filter:blur(16px)}.projectPickerMenu[hidden]{display:none}.projectPickerOption{display:grid;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;padding:8px;border:1px solid transparent;border-radius:11px;background:transparent;color:var(--text);text-align:left;cursor:pointer}.projectPickerOption:hover,.projectPickerOption:focus-visible,.projectPickerOption.selected{border-color:color-mix(in srgb,var(--accent) 42%,var(--edge-soft));background:color-mix(in srgb,var(--accent) 10%,var(--surface-raised));outline:none}.projectPickerEmpty{margin:0;padding:18px;color:var(--muted);text-align:center;font-size:.82rem}
body.theme-light .projectPickerMenu,body.light .projectPickerMenu,body.bright .projectPickerMenu,body.arctic .projectPickerMenu{box-shadow:0 18px 42px rgba(30,35,45,.16)}
@media(max-width:620px){.projectPickerButton,.projectPickerOption{grid-template-columns:42px minmax(0,1fr) auto;gap:9px}.projectPickerButton{padding:8px 10px}.projectPickerThumb{width:42px;height:42px}.projectPickerButton>i{display:none}.projectPickerButton>b,.projectPickerOption>b{font-size:.78rem}.projectPickerCurrent small,.projectPickerOptionMain small{font-size:.62rem}}
@media(max-width:820px){.projectLibraryCards{grid-template-columns:repeat(2,minmax(0,1fr))}.projectLibraryActionButtons{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.projectLibraryBackdrop{padding:8px}.projectLibraryDialog{max-height:calc(100vh - 16px);border-radius:19px}.projectLibraryDialog>header{padding:17px}.projectLibraryDialog>header p{display:none}.projectLibraryHeaderActions{align-self:center}.projectLibraryToolbar{align-items:stretch;flex-direction:column;padding:13px 17px}.projectLibraryCards{grid-template-columns:1fr;padding:15px}.projectLibraryActionPrompt{padding:9px}.projectLibraryActionPrompt>section{grid-template-columns:66px minmax(0,1fr);padding:17px}.projectLibraryActionPrompt .projectLibraryThumb{width:66px;height:66px}.projectLibraryActionPrompt>section>.projectLibraryClose{position:absolute;top:12px;right:12px;width:38px;height:38px}.projectLibraryActionButtons{grid-template-columns:1fr}}

/* Custom project-library rail keeps native arrow buttons outside rounded frames. */
.projectLibraryDialog{position:relative;overflow:hidden!important}.projectLibraryScroll{max-height:calc(100vh - 32px);overflow:auto;scrollbar-width:none!important}.projectLibraryScroll::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}.projectLibraryScroll>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:23px 25px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 15%,var(--panel)),var(--panel))}.projectLibraryScroll>header span{color:var(--accent2);font-size:.68rem;font-weight:900;letter-spacing:.12em}.projectLibraryScroll>header h2{margin:4px 0;font-size:1.45rem}.projectLibraryScroll>header p{margin:0;color:var(--muted)}.projectLibraryScrollRail{position:absolute;z-index:5;top:15px;right:5px;bottom:15px;width:8px;border:1px solid color-mix(in srgb,var(--accent) 24%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--surface-input) 88%,transparent);cursor:pointer;touch-action:none}.projectLibraryScrollRail>span{display:block;width:100%;min-height:44px;border-radius:999px;background:linear-gradient(180deg,var(--accent2),var(--accent));box-shadow:0 0 8px color-mix(in srgb,var(--accent) 38%,transparent);cursor:grab}.projectLibraryScrollRail.dragging>span{cursor:grabbing;box-shadow:0 0 13px color-mix(in srgb,var(--accent) 58%,transparent)}.projectLibraryScrollRail:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
@media(max-width:560px){.projectLibraryScroll{max-height:calc(100vh - 16px)}.projectLibraryScroll>header{padding:17px}.projectLibraryScroll>header p{display:none}.projectLibraryScrollRail{right:3px}}

.projectLibraryCountGroup{position:relative;display:flex;align-items:center;justify-content:flex-end;gap:13px;white-space:nowrap}.projectLibraryCountGroup>[data-project-library-manage]{padding:4px 0;border:0;background:transparent;color:var(--accent2);font:700 .78rem/1.2 var(--app-font,system-ui);cursor:pointer}.projectLibraryCountGroup>[data-project-library-manage]:hover,.projectLibraryCountGroup>[data-project-library-manage][aria-expanded=true]{text-decoration:underline;text-underline-offset:4px}.projectLibraryCountGroup>strong{color:var(--muted);font-size:.78rem}.projectLibraryManageMenu{position:absolute;z-index:8;right:0;top:calc(100% + 12px);display:grid;gap:6px;width:min(290px,calc(100vw - 36px));padding:16px;border:1px solid color-mix(in srgb,var(--accent) 65%,var(--line));border-radius:15px;background:var(--panel);box-shadow:0 20px 48px rgba(0,0,0,.42),0 0 18px color-mix(in srgb,var(--accent) 12%,transparent);white-space:normal}.projectLibraryManageMenu[hidden]{display:none}.projectLibraryManageMenu>span{color:var(--accent2);font-size:.62rem;font-weight:900;letter-spacing:.12em}.projectLibraryManageMenu>strong{color:var(--text);font-size:.92rem}.projectLibraryManageMenu>p{margin:0 0 6px;color:var(--muted);font-size:.73rem;line-height:1.4}.projectLibraryManageMenu>.btn{width:100%;min-height:42px;font-weight:600}
@media(max-width:560px){.projectLibraryCountGroup{justify-content:space-between;width:100%}.projectLibraryManageMenu{left:0;right:auto}}

/* Downgraded content remains discoverable without exposing locked project data. */
.projectLockedNotice{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;margin:0 0 13px;padding:13px 14px;border:1px solid color-mix(in srgb,var(--warning,#ffc400) 62%,var(--line));border-radius:15px;background:linear-gradient(120deg,color-mix(in srgb,var(--warning,#ffc400) 12%,var(--surface-raised)),var(--surface-raised));box-shadow:0 10px 28px color-mix(in srgb,var(--warning,#ffc400) 8%,transparent)}.projectLockedNotice.hidden{display:none!important}.projectLockedNoticeIcon{display:grid;place-items:center;width:40px;height:40px;border:1px solid color-mix(in srgb,var(--warning,#ffc400) 60%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--warning,#ffc400) 10%,var(--surface-input));font-size:1rem}.projectLockedNotice div{display:grid;gap:3px}.projectLockedNotice strong{color:var(--text);font-size:.84rem}.projectLockedNotice strong b{color:var(--accent2)}.projectLockedNotice p{margin:0;color:var(--muted);font-size:.7rem;line-height:1.4}.projectLockedNotice .btn{min-height:39px;padding:8px 13px;font-size:.72rem;font-weight:600;white-space:nowrap}.projectLibraryCard.locked,.projectPickerOption.locked{border-color:color-mix(in srgb,var(--warning,#ffc400) 48%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--warning,#ffc400) 8%,var(--surface-raised)),var(--surface-raised))}.projectLibraryCard.locked{position:relative;overflow:hidden}.projectPickerOption.locked>b{color:var(--warning,#ffc400)}.projectLibraryLockBadge{justify-self:start;padding:3px 7px;border:1px solid color-mix(in srgb,var(--warning,#ffc400) 54%,var(--line));border-radius:999px;color:var(--warning,#ffc400)!important;font-weight:800;letter-spacing:.03em}.projectLibraryLockedRibbon{position:absolute;z-index:3;top:14px;right:-34px;width:116px;padding:6px 0;transform:rotate(45deg);border-block:1px solid color-mix(in srgb,var(--accent) 66%,var(--line));background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 7px 18px color-mix(in srgb,var(--accent) 28%,rgba(0,0,0,.24));color:var(--buttonText,var(--button-text,#081018));font-size:.6rem;font-weight:900;letter-spacing:.12em;line-height:1;text-align:center;text-transform:uppercase;pointer-events:none}.projectLibraryActionPrompt section:has([data-project-action="plans"]){border-color:color-mix(in srgb,var(--warning,#ffc400) 65%,var(--line))}.projectLibraryActionPrompt section:has([data-project-action="plans"])>div>small{color:var(--warning,#ffc400)}
@media(max-width:560px){.projectLibraryLockedRibbon{top:12px;right:-36px;width:112px;font-size:.56rem}.projectLibraryCard.locked .projectLibraryCardCopy{padding-right:18px}}
@media(max-width:620px){.projectLockedNotice{grid-template-columns:auto minmax(0,1fr)}.projectLockedNotice .btn{grid-column:1/-1;width:100%}}
.projectLibraryLockIcon{position:absolute;z-index:4;left:10px;top:10px;display:grid;place-items:center;width:28px;height:28px;border:1px solid color-mix(in srgb,var(--accent) 72%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--surface-input) 86%,var(--accent) 14%);box-shadow:0 8px 20px rgba(0,0,0,.28),0 0 12px color-mix(in srgb,var(--accent) 24%,transparent)}.projectLibraryLockIcon svg{width:16px;height:16px;fill:none;stroke:var(--accent2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.projectLibrarySelectMark{position:absolute;z-index:5;left:10px;top:10px;display:none;place-items:center;width:30px;height:30px;border:2px solid var(--accent);border-radius:10px;background:var(--surface-input);color:var(--accent2);font-weight:950}.selectingProjects .projectLibraryCard.selected .projectLibrarySelectMark{display:grid}.selectingProjects .projectLibraryCard.selected .projectLibraryLockIcon{display:none}.projectLibraryCard.selected{border-color:var(--accent)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent),0 18px 36px rgba(0,0,0,.28)}.projectLibraryCard.selected .projectLibrarySelectMark{background:linear-gradient(135deg,var(--accent),var(--accent2));color:var(--buttonText,#081018)}
.projectLibrarySelectionBar{position:sticky;z-index:6;top:0;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 25px;padding:10px 12px;border:1px solid color-mix(in srgb,var(--accent) 62%,var(--line));border-radius:14px;background:color-mix(in srgb,var(--surface-main) 92%,var(--accent) 8%);box-shadow:0 14px 30px rgba(0,0,0,.25)}.projectLibrarySelectionBar[hidden]{display:none}.projectLibrarySelectionBar>strong{color:var(--accent2);font-size:.8rem}.projectLibrarySelectionBar>div{display:flex;gap:8px}.projectLibrarySelectionBar .btn{min-height:36px;padding:7px 12px;font-size:.7rem}.projectLibraryCountGroup>[data-project-select-multiple],.projectLibraryCountGroup>[data-project-delete-all]{padding:4px 0;border:0;background:transparent;color:var(--accent2);font:700 .78rem/1.2 var(--app-font,system-ui);cursor:pointer}.projectLibraryCountGroup>[data-project-delete-all]{color:var(--bad)}
@media(max-width:560px){.projectLibrarySelectionBar{align-items:stretch;flex-direction:column;margin:0 14px}.projectLibrarySelectionBar>div{display:grid;grid-template-columns:1fr 1fr}.projectLibrarySelectionBar [data-project-selection-cancel]{grid-column:1/-1}.projectLibraryCountGroup{flex-wrap:wrap}.projectLibraryLockIcon{left:8px;top:8px}}
