/* Semantic library: quiet surfaces, strong hierarchy, no persistent control panels. */
:root{--bg:#fafafa;--radius:12px}.shell{max-width:1240px}.topbar{backdrop-filter:none}.eyebrow{display:block;font-size:10px;letter-spacing:.15em;color:#95979d;font-weight:600;margin-bottom:12px}.page-head h1{line-height:1.25;overflow-wrap:anywhere}.page-head{align-items:center}.nav-search{margin-left:28px;color:var(--muted);font-size:14px}.nav-search kbd{font:11px inherit;border:1px solid var(--line);padding:1px 5px;margin-left:7px;border-radius:4px;color:#96989e}.library-toolbar{margin:10px 0 34px}.search-field{display:flex;align-items:center;gap:12px;border:1px solid var(--line-strong);border-radius:12px;background:#fff;padding:7px 16px;transition:border-color .15s}.search-field:focus-within{border-color:#858994;box-shadow:0 0 0 3px #11111106}.search-field>span{font-size:27px;color:var(--muted)}.search-field input{min-width:0;width:100%;border:0;background:transparent;outline:0;box-shadow:none!important;padding:10px 0;font-size:15px}.search-field button{white-space:nowrap}.toolbar-bottom{display:flex;justify-content:space-between;align-items:center;margin-top:16px}.segmented{display:inline-flex;background:#f0f0f2;border-radius:8px;padding:3px;gap:2px}.segmented a,.segmented button{border:0;background:transparent;color:var(--muted);padding:7px 14px;font-size:12px;border-radius:6px}.segmented .selected{background:#fff;color:var(--ink);box-shadow:0 1px 3px #10111412}.search-filters{position:relative}.search-filters>summary{list-style:none;font-size:13px;color:var(--muted);cursor:pointer;padding:8px}.search-filters summary::-webkit-details-marker{display:none}.filter-dot{display:inline-block;height:5px;width:5px;border-radius:50%;background:var(--ink);margin-left:5px}.filter-popover{position:absolute;right:0;top:40px;z-index:12;width:275px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:20px;display:grid;gap:18px}.filter-popover .actions{justify-content:flex-end}.check-line{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}.check-line input{width:15px;height:15px;margin:0;accent-color:#1d1e22;flex-shrink:0}.material-group{margin-bottom:38px}.group-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:15px}.group-heading h2{font-size:15px;font-weight:600;margin:0}.group-heading>.muted{font-size:11px}.material-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.material-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:transform .15s,border-color .15s}.material-card:hover{transform:translateY(-2px);border-color:#c0c2c8}.material-visual{position:relative;height:172px;display:flex;align-items:center;justify-content:center;padding:20px;background:#f7f7f8;border-bottom:1px solid var(--line)}.material-visual img{width:100%;height:100%;object-fit:contain}.material-caption{padding:17px 18px}.material-caption h3{font-size:14px;line-height:1.4;margin:0 0 10px;font-weight:560;overflow-wrap:anywhere}.material-meta{display:flex;gap:14px;font-size:11px;color:var(--muted);align-items:center;flex-wrap:wrap}.material-caption .material-meta{justify-content:space-between}.file-glyph{font-size:38px;font-weight:300;color:#b5b8be}.text-preview{font-size:12px;color:#6c7079;line-height:1.8;white-space:pre-wrap;overflow:hidden;max-height:125px;width:100%}.state-dot{font-size:11px;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;color:var(--muted)}.state-dot:before{content:'';width:5px;height:5px;background:#b5b9c1;border-radius:50%;flex-shrink:0}.state-dot.submitted:before{background:#8c8067}.state-dot.completed:before{background:#607c6c}.empty-state{text-align:center;padding:76px 24px;border:1px dashed var(--line);border-radius:12px;background:#fdfdfd}.empty-state h2{font-size:17px;font-weight:550;margin:12px 0}.empty-state p{font-size:13px;color:var(--muted);margin:0 0 22px;line-height:1.7}.empty-symbol{font-size:34px;color:#b9bdc6}.file-table{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.file-table-head,.file-table-row{display:grid;grid-template-columns:minmax(0,2.3fr) minmax(0,1.5fr) 80px 95px;align-items:center;gap:20px;padding:18px 22px}.file-table-head{font-size:11px;color:var(--muted);background:#fcfcfc;border-bottom:1px solid var(--line)}.file-table-row{font-size:12px;border-bottom:1px solid var(--line)}.file-table-row:last-child{border:0}.file-table-row:hover{background:#fafafa}.file-table-row>span{overflow-wrap:anywhere}.file-primary{display:flex;gap:15px;align-items:center;min-width:0}.mini-glyph{font-size:24px;color:#a2a7b0}.file-table small{display:block;font-size:10px;color:#999da5;margin-top:4px}.file-primary>span:last-child{font-size:13px}.search-hits{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.search-hit{display:block;padding:22px 24px;border-bottom:1px solid var(--line)}.search-hit:last-child{border:0}.search-hit:hover{background:#fdfdfd}.hit-top{display:flex;justify-content:space-between;gap:24px;align-items:center}.hit-top strong{font-size:14px;font-weight:560;overflow-wrap:anywhere}.hit-location{font-size:10px;color:#959aa5;white-space:nowrap}.hit-snippet{font-size:13px;line-height:1.8;color:#6d737e;margin:10px 0;white-space:pre-wrap;overflow-wrap:anywhere}.hit-snippet mark{background:#efeade;border-radius:2px;color:#474238;padding:1px 0}.hit-path{display:flex;gap:12px;color:#9a9fa9;font-size:10px;margin-top:9px}.result-summary{font-size:12px;color:var(--muted);margin-bottom:22px}.quiet-note{font-size:12px!important;line-height:1.7;color:var(--muted);margin:10px 0}.inline-error{font-size:13px;color:var(--danger)}.load-more{text-align:center;margin:28px}.asset-layout{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:35px;align-items:start}.asset-main{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.asset-version-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;border-bottom:1px solid var(--line)}.asset-version-head>div{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.asset-version-head .muted{font-size:11px}.version-badge{font-size:12px;font-weight:600}.asset-preview{min-height:230px;background:#f3f4f5;padding:24px;display:flex;align-items:center;justify-content:center}.asset-preview img{max-width:100%;max-height:640px;object-fit:contain}.asset-preview:has(iframe){padding:0}.asset-preview iframe{border:0;width:100%;height:750px;background:#fff}.asset-attachments{padding:0 24px}.asset-file{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid var(--line);font-size:12px}.asset-file:last-child{border:0}.asset-file>div{display:flex;gap:12px;align-items:center;min-width:0;flex-wrap:wrap}.asset-file a{overflow-wrap:anywhere}.asset-file small{font-size:10px;color:var(--muted)}.role-label{font-size:10px;color:#8a909b;min-width:40px}.asset-sidebar>h2{font-size:12px;font-weight:600;color:var(--muted);margin:2px 0 17px}.version-list{border-left:1px solid var(--line)}.version-row{display:grid;grid-template-columns:1fr auto;gap:6px;margin-left:-1px;padding:12px 16px;border-left:2px solid transparent}.version-row.selected{border-left-color:#25262a;background:#f1f1f3}.version-row strong{font-size:12px;font-weight:600;display:flex;align-items:center;gap:7px}.version-row>span{font-size:10px;color:var(--muted)}.version-row small{font-size:10px;grid-column:1/-1;color:#9296a0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.current-dot{width:4px;height:4px;background:#6d8a76;border-radius:50%}.sidebar-section{margin-top:38px!important}.linked-task{font-size:12px;line-height:1.7;display:flex;gap:10px;margin:12px 0;color:#858b96}.linked-task span{margin-left:auto}.material-description{font-size:13px;line-height:1.8;max-width:780px}.version-note{padding:16px 24px;margin:0;font-size:13px;color:var(--muted)}.text-content{padding:32px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.9}.dialog.drawer{margin:0 0 0 auto;height:100dvh;max-height:100dvh;width:min(570px,100vw);max-width:100vw;border-radius:0;padding:34px 34px 45px;border:0;border-left:1px solid var(--line);box-shadow:-10px 0 60px #1415191c}.dialog.drawer .dialog-head{margin-bottom:30px}.dialog::backdrop{background:#171c2440;backdrop-filter:blur(2px)}.dialog[open]{animation:dialog-appear .15s ease-out}@keyframes dialog-appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.form-two{display:grid;grid-template-columns:1fr 1fr;gap:18px}.quiet-details>summary{color:var(--muted);font-size:12px;cursor:pointer;list-style:none;padding:5px 0}.quiet-details>summary:before{content:'＋';margin-right:7px}.quiet-details[open]>summary:before{content:'−'}.quiet-details[open]>summary{margin-bottom:14px}.people-checks{display:flex;flex-wrap:wrap;gap:13px 18px;padding:10px 0}.task-material-editor{border-top:1px solid var(--line);padding-top:22px}.task-material-editor h2{font-size:13px}.requirement-editor-row{display:flex;gap:15px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.requirement-editor-row>div{margin-right:auto;min-width:0}.requirement-editor-row strong{font-size:12px;font-weight:550;display:block;overflow-wrap:anywhere}.requirement-editor-row small{display:block;color:#949aa4;font-size:10px;margin-top:4px}.compact-check{font-size:10px;white-space:nowrap}.picker{width:min(490px,96vw)}.picker-tabs{margin:8px 0 20px}.picker-search{width:100%;margin-bottom:14px}.picker-results{min-height:140px;max-height:340px;overflow:auto}.picker-option{display:block;width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);padding:14px 4px}.picker-option:hover{background:#f7f7f9}.picker-option strong{font-size:13px;font-weight:550;display:block}.picker-option small{display:block;margin-top:5px;font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.task-tabs{display:flex;gap:28px;font-size:13px;border-bottom:1px solid var(--line);margin-bottom:8px}.task-tabs a{padding:10px 0 15px;color:var(--muted);border-bottom:2px solid transparent}.task-tabs .active{color:var(--ink);border-bottom-color:var(--ink)}.task-row-v2{display:flex;align-items:center;gap:22px;padding:26px 16px;border-bottom:1px solid var(--line)}.task-row-v2:hover{background:#f5f5f7}.task-status-marker{border:1.5px solid #bac0c8;width:16px;height:16px;border-radius:50%;flex-shrink:0}.task-status-marker.submitted{border-style:dashed;border-color:#8f8166}.task-status-marker.completed{background:#8da397;border-color:#8da397}.task-row-content{flex:1;min-width:0}.task-row-content h2{font-size:15px;font-weight:560;margin:0;overflow-wrap:anywhere}.task-row-content p{font-size:11px;color:#9197a1;margin:8px 0 0}.task-row-right{display:grid;gap:8px;text-align:right}.task-row-right small{font-size:11px;color:#9ba0a9}.row-arrow{color:#a5aab4}.task-meta-line{display:flex;gap:20px;align-items:center;flex-wrap:wrap;color:#9096a0;font-size:12px;margin-top:16px}.task-description{font-size:14px;color:#676e7b;line-height:1.9;white-space:pre-wrap;max-width:860px;padding:0 0 30px}.task-workspace{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:32px;align-items:start}.section-label{font-size:12px;color:#90959e;font-weight:500;margin:10px 0 20px}.requirement-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:20px}.requirement-heading{padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px}.requirement-heading h2{font-size:15px;margin:0 0 10px}.requirement-preview{position:relative;height:215px;background:#f6f7f8;padding:18px;display:flex;align-items:center;justify-content:center}.requirement-preview img{max-width:100%;height:100%;object-fit:contain}.requirement-text{padding:0 24px 20px;color:#848a95;font-size:12px;line-height:1.8;white-space:pre-wrap}.upload-disclosure{padding:0 24px 24px}.upload-disclosure>summary{cursor:pointer;font-size:12px;list-style:none;color:#656c79;padding:8px 0}.upload-disclosure>summary:before{content:'＋';margin-right:8px}.upload-disclosure[open]>summary{margin-bottom:15px}.upload-zone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 12px;background:#fafafb;border:1px dashed #dadce1;border-radius:9px;gap:10px;font-size:13px;cursor:pointer}.upload-zone>small{font-size:10px;color:var(--muted)}.upload-zone input{font-size:11px;max-width:100%;padding:8px;border:0;background:transparent}.version-upload .field>span{font-size:12px}.required-label{font-size:10px;background:#f1efeb;color:#8a7f6c;border-radius:4px;padding:2px 6px;margin-left:8px}.version-choice{padding:0 24px 14px}.version-choice>span{font-size:11px}.version-choice select{font-size:12px}.task-submit{display:grid;gap:18px;padding:8px 0 25px}.task-submit>.btn{justify-self:end}.submission-panel{border:1px solid var(--line);background:#fff;padding:22px;border-radius:12px;margin-top:42px}.submission-panel h2,.aside-empty h2{font-size:13px;margin:0}.snapshot-row{display:flex;align-items:center;gap:14px;justify-content:space-between;font-size:12px;padding:14px 0;border-bottom:1px solid var(--line);line-height:1.6}.snapshot-row strong{white-space:nowrap;font-size:11px}.submission-note{font-size:12px;line-height:1.8;color:var(--muted);white-space:pre-wrap}.review-form{margin-top:22px}.review-form .field>span{font-size:11px}.review-form .btn{flex:1;padding:10px 15px;font-size:12px}.aside-empty{margin-top:42px;padding:24px;border-left:1px solid var(--line);color:#9ca1aa}.aside-empty p{font-size:12px;line-height:1.7}.history-details{padding:20px}.history-submission{font-size:12px;border-bottom:1px solid var(--line);padding:12px 0}.history-submission small{display:block;color:#999faa;margin-bottom:7px}.history-submission a{display:block;font-size:11px;margin:6px 0}.key-list{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.key-row{padding:25px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.key-row:last-child{border:0}.key-row h2{font-size:15px;margin:0}.key-row p{font-size:12px;color:var(--muted);margin:9px 0}.key-row code{font-size:12px;color:#9298a3}.key-meta{display:grid;gap:7px;text-align:right;font-size:12px;color:var(--muted)}.key-meta small{font-size:11px}.key-row.revoked{opacity:.55}.secret-panel{border:1px solid #c9d0c9;border-radius:12px;padding:25px;background:#f5f7f4;margin-bottom:28px}.secret-panel h2{font-size:16px;margin:0}.secret-panel p{font-size:12px;color:var(--muted)}.secret-copy{display:flex;gap:12px;margin-top:20px}.secret-copy input{min-width:0;flex:1;font-family:monospace;font-size:12px}.api-entry{display:flex;gap:20px;font-size:12px;color:var(--muted);margin:25px 0}.api-entry>span{margin-right:auto}.index-overview{display:flex;gap:40px;margin:35px 0;flex-wrap:wrap}.index-overview>div{display:grid;gap:8px}.index-overview strong{font-size:30px;font-weight:500}.index-overview span{font-size:11px;color:var(--muted)}.index-issue{display:flex;align-items:center;gap:22px;justify-content:space-between;padding:18px 0;border-bottom:1px solid var(--line)}.index-issue strong{font-size:13px}.index-issue p{font-size:12px;color:var(--muted)}[hidden]{display:none!important}:focus-visible{outline:2px solid #8e96a3;outline-offset:3px}button:disabled{cursor:progress;opacity:.6}
@media(max-width:900px){.material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.asset-layout{grid-template-columns:minmax(0,1fr) 180px;gap:22px}.task-workspace{grid-template-columns:minmax(0,1fr) 250px;gap:20px}.topbar{padding:0 22px}.brand{margin-right:25px}.nav{gap:20px}.nav-search{margin-left:20px}.nav-search kbd{display:none}.account-link>span:last-child{display:none}.shell{padding-left:24px;padding-right:24px}}
@media(max-width:650px){.shell{padding:28px 18px 55px}.topbar{padding:0 16px;height:59px}.brand{font-size:11px;margin-right:22px}.nav{gap:17px}.nav-link{font-size:12px}.account-menu{gap:8px}.account-menu>.inline-form{display:none}.account-link{display:none}.nav-search{font-size:12px;margin-left:auto}.page-head{gap:14px;align-items:flex-start}.page-head h1{font-size:25px}.page-head .actions{gap:6px;flex-shrink:0}.page-head .btn{font-size:11px;padding:10px 13px}.material-grid{gap:12px}.material-visual{height:125px;padding:12px}.material-caption{padding:13px}.material-caption h3{font-size:12px}.material-meta{font-size:10px;gap:8px}.file-table-head,.file-table-row{grid-template-columns:minmax(0,1fr) 58px;gap:12px;padding:16px}.file-table-head>span:nth-child(2),.file-table-head>span:nth-child(4),.file-table-row>span:nth-child(2),.file-table-row>span:nth-child(4){display:none}.file-primary{gap:9px}.file-primary>span:last-child{font-size:11px}.search-hit{padding:18px}.hit-top{align-items:flex-start;gap:10px}.hit-location{font-size:9px;max-width:90px;white-space:normal}.asset-layout,.task-workspace{grid-template-columns:1fr}.asset-sidebar{border-top:1px solid var(--line);padding-top:24px}.version-list{display:flex;flex-wrap:wrap;border:0;gap:8px}.version-row{border-left:0;border-bottom:2px solid transparent;min-width:100px}.version-row.selected{border-bottom-color:#333}.asset-version-head{padding:15px;align-items:flex-start}.asset-version-head>div{gap:9px}.asset-preview{padding:14px}.asset-preview iframe{height:550px}.asset-attachments{padding:0 16px}.asset-file>div{gap:7px}.task-description{font-size:13px}.task-row-v2{padding:22px 4px;gap:12px}.task-row-content h2{font-size:13px}.task-row-content p{font-size:10px}.task-row-right small{font-size:10px}.row-arrow{display:none}.task-row-right .state-dot{font-size:10px}.task-tabs{font-size:12px;gap:25px}.requirement-heading{padding:20px}.requirement-heading h2{font-size:14px}.upload-disclosure{padding:0 20px 22px}.submission-panel,.aside-empty{margin-top:0}.dialog.drawer{padding:28px 24px}.secret-copy{flex-direction:column}.key-row{padding:20px}.key-row h2{font-size:13px}.key-meta{max-width:130px}.group-heading h2{font-size:13px}.group-heading>.muted{display:none}.task-meta-line{gap:12px;font-size:11px}.form-two{gap:12px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
/* Contributor identity stays next to the artifact it belongs to. */
.avatar.xs{width:28px;height:28px;font-size:10px;flex:0 0 28px}.file-contributor-avatar{border:1px solid #e2e4e8;box-shadow:0 0 0 2px #fff}.btn.secondary.danger{color:var(--danger);border-color:#e3c8c5}.btn.secondary.danger:hover{background:#fff6f5;border-color:#d9aaa5}.file-primary>span:last-child{min-width:0;overflow:hidden}.file-primary>span:last-child:not(.avatar){white-space:nowrap;text-overflow:ellipsis}.asset-file .file-contributor-avatar{margin-right:2px}
@media(max-width:650px){.avatar.xs{width:26px;height:26px;flex-basis:26px}.file-contributor-avatar{box-shadow:none}}

/* Confidential download gate + first-page preview */
.download-policy-dialog{width:min(560px,calc(100% - 28px))}.download-policy-dialog .eyebrow{margin-bottom:5px}.policy-lead,.download-confirm-page>p{font-size:14px;line-height:1.7;color:#4d5159}.policy-list{margin:0;padding-left:20px;display:grid;gap:10px;color:#3f434a;font-size:13px;line-height:1.65}.policy-check{padding:14px 15px;border:1px solid var(--line);border-radius:10px;background:#fafafa;color:#34373d}.policy-file{font:600 13px ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere;padding:10px 12px;background:#f4f5f6;border-radius:9px}.download-confirm-page{margin-top:50px}.format-hint{font-size:11px;line-height:1.65;color:var(--muted);margin-top:-4px}.first-page-preview{position:relative}.preview-label{position:absolute;left:14px;top:14px;z-index:2;background:#ffffffdd;border:1px solid var(--line);border-radius:999px;padding:5px 8px;font-size:9px;letter-spacing:.02em;color:#777c85}.first-page-preview img{background:#fff;border:1px solid #e0e2e5;box-shadow:0 6px 24px rgba(22,25,31,.08)}

/* Contributor identity stays attached to the file preview without adding a noisy label row. */
.material-visual,.requirement-preview{position:relative}
.preview-contributor{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;box-shadow:0 1px 8px rgba(0,0,0,.16);background:var(--surface,#fff);padding:2px;z-index:2}
.preview-contributor .avatar{display:block}
.project-switcher{display:flex;gap:6px;margin-top:10px;flex-wrap:wrap}.project-switcher a,.project-chip{font-size:12px;line-height:1;padding:7px 10px;border-radius:999px;background:var(--surface-2,#f4f4f4);color:var(--muted,#666);text-decoration:none}.project-switcher a.active{background:var(--text,#151515);color:var(--surface,#fff)}.project-chip{padding:4px 7px;white-space:nowrap}
.project-admin-list{display:grid;gap:16px}.project-admin-card{display:grid;gap:12px}.muted-card{opacity:.72}

/* Client-rendered PowerPoint previews. The server stores only validated
   raster derivatives returned by an authorized browser. */
.pptx-browser-preview{position:relative;width:100%;height:100%;min-height:96px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#fff;color:var(--muted)}
.pptx-browser-preview.detail{min-height:420px;border:1px solid #e0e2e5;box-shadow:0 6px 24px rgba(22,25,31,.08);border-radius:12px}
.pptx-browser-preview.compact{min-height:100%;pointer-events:none}
.pptx-browser-preview>img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
.pptx-client-placeholder{min-height:inherit;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:24px;text-align:center;color:var(--muted);background:linear-gradient(180deg,#fff,#fafafa)}
.pptx-client-placeholder small{max-width:42rem;font-size:12px;line-height:1.45;color:var(--muted-2,var(--muted))}
.pptx-client-icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #d8dbe0;border-radius:11px;background:#fff;font-size:18px;font-weight:750;color:#c43c32;box-shadow:0 2px 8px rgba(20,24,31,.05)}
.pptx-preview-status{font-size:13px;font-weight:600;color:var(--text)}
.pptx-page-controls{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;padding:5px 7px;border:1px solid rgba(200,204,210,.78);border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 4px 16px rgba(20,24,31,.1);backdrop-filter:blur(8px);z-index:2}
.pptx-page-controls .icon-btn{width:30px;height:30px;border:0;border-radius:50%;background:transparent;font-size:20px;line-height:1;cursor:pointer}
.pptx-page-controls .icon-btn:hover{background:#f1f3f5}
.pptx-page-count{min-width:48px;text-align:center;font-size:12px;font-variant-numeric:tabular-nums;color:#535962}
.pptx-local-badge,.pptx-local-pages{position:absolute;top:10px;padding:4px 8px;border-radius:999px;background:rgba(27,31,36,.76);color:#fff;font-size:11px;line-height:1;z-index:2}
.pptx-local-badge{left:10px}.pptx-local-pages{right:10px}
.pptx-preview-warning{position:absolute;left:12px;right:12px;bottom:12px;padding:9px 11px;border:1px solid #efd8a4;border-radius:9px;background:rgba(255,249,232,.96);color:#73510d;font-size:12px;line-height:1.4;z-index:3}
@media(max-width:650px){.pptx-browser-preview.detail{min-height:260px}.pptx-client-placeholder{padding:16px}.pptx-page-controls{bottom:8px}}


/* Quiet secondary actions added by admin utilities. Keep them subordinate to primary creation actions. */
.btn.quiet{height:36px;padding:0 10px;border-color:transparent;background:transparent;color:var(--muted);font-size:13px;font-weight:560;border-radius:8px;box-shadow:none}
.btn.quiet:hover{background:#f1f2f3;color:var(--ink)}
.btn.quiet:focus-visible{outline:2px solid #aeb2ba;outline-offset:2px}
.field>small{font-size:11px;line-height:1.55;color:var(--muted)}

/* Research activity: unit-bearing, auditable measures only. */
.research-head .quiet-note{max-width:720px;margin:8px 0 0}.research-range{display:flex;align-items:end;gap:12px;padding:16px 18px;margin-bottom:22px}.research-range .field{min-width:170px;margin:0}.research-range .btn{margin-left:auto}.research-table-wrap{overflow:auto}.research-grid{display:grid;grid-template-columns:minmax(160px,1.4fr) repeat(6,minmax(118px,1fr));align-items:center;min-width:980px}.research-table-head{padding:11px 18px;border-bottom:1px solid var(--line);background:#fafafa;font-size:10px;color:var(--muted);letter-spacing:.02em}.research-row{padding:17px 18px;border-bottom:1px solid var(--line);text-decoration:none;color:inherit;transition:background .12s ease}.research-row:last-child{border-bottom:0}.research-row:hover,.research-row.selected{background:#f7f8f9}.research-row>span{display:grid;gap:4px}.research-row strong{font-size:16px;font-weight:560;font-variant-numeric:tabular-nums}.research-row small{font-size:10px;color:var(--muted)}.research-member strong{font-size:13px}.research-history{margin-top:30px}.research-history .section-title{display:flex;justify-content:space-between;align-items:center}.research-history .section-title small{font-size:10px;color:var(--muted);font-weight:400}.daily-row{display:grid;grid-template-columns:1.1fr repeat(3,1fr);gap:14px;padding:12px 18px;border-bottom:1px solid var(--line);font-size:12px;font-variant-numeric:tabular-nums}.daily-row:last-child{border-bottom:0}.daily-head{font-size:10px;color:var(--muted);background:#fafafa}.research-footnote,.research-sync-note{margin:18px 2px 0;font-size:11px;line-height:1.65;color:var(--muted)}.research-sync-note{color:#896215}.research-presets{flex-wrap:nowrap;align-self:center}.research-presets a{white-space:nowrap}.research-apply{height:36px;padding:0 14px;font-size:12px;font-weight:600}
@media(max-width:650px){.research-range{align-items:stretch;flex-direction:column}.research-range .field{min-width:0}.research-range .btn{margin-left:0}.research-presets{align-self:flex-start}.page-head .btn.quiet{height:34px;padding:0 8px;font-size:11px}.daily-list{overflow:auto}.daily-row{min-width:650px}}

/* Admin-only task reminder composer. */
.reminder-dialog{width:min(640px,calc(100% - 32px))}.reminder-dialog .dialog-head{margin-bottom:8px}.reminder-message-field{margin:18px 0}.reminder-message-field textarea{min-height:270px;resize:vertical;line-height:1.7;background:#fafafa}.reminder-dialog .dialog-actions{margin-top:18px}

/* Admin-only completion rating shown at the review moment. */
.review-scores{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:11px;background:#fafafa}
.review-score-title{display:flex;align-items:baseline;gap:5px;font-size:11px;color:var(--muted)}
.review-score-title>span{font-weight:620;color:#4b4f56}.review-score-title small{font-size:9px}
.review-score-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}
.review-score-row>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:#555a62}
.score-segmented{display:inline-flex;overflow:hidden;border:1px solid #d9dce1;border-radius:8px;background:#fff;flex:0 0 auto}
.score-segmented label{display:block;position:relative;margin:0}
.score-segmented input{position:absolute;opacity:0;pointer-events:none}
.score-segmented label>span{width:29px;height:28px;display:grid;place-items:center;border-left:1px solid #e5e7ea;font-size:11px;color:#7a7f87;cursor:pointer;transition:background .12s,color .12s}
.score-segmented label:first-child>span{border-left:0}
.score-segmented label:hover>span{background:#f5f6f7;color:#2d3035}
.score-segmented input:checked+span{background:#202226;color:#fff;border-left-color:#202226}
.score-segmented input:focus-visible+span{outline:2px solid #9aa0aa;outline-offset:-2px}

/* Research activity stays auditable; private completion ratings are separate columns. */
.research-grid{grid-template-columns:minmax(160px,1.4fr) repeat(8,minmax(112px,1fr));min-width:1220px}
.rating-row{display:grid;grid-template-columns:120px minmax(0,1fr) 90px;gap:14px;align-items:center;padding:12px 18px;border-bottom:1px solid var(--line);font-size:12px}
.rating-row:last-child{border-bottom:0}.rating-head{font-size:10px;color:var(--muted);background:#fafafa}.rating-row strong{font-weight:600;font-variant-numeric:tabular-nums;text-align:right}
@media(max-width:650px){.review-score-row{align-items:flex-start;flex-direction:column;gap:7px}.score-segmented{align-self:stretch}.score-segmented label{flex:1}.score-segmented label>span{width:auto}.rating-list{overflow:auto}.rating-row{min-width:560px}}

/* Personal task empty state: one quiet completion motion, then still. */
.empty-state.task-my-empty{border:0;background:transparent;padding:88px 24px 82px}
.task-my-empty h2{margin-top:16px;color:#777c85;font-size:14px;font-weight:520;letter-spacing:-.01em}
.task-complete-mark{width:48px;height:48px;margin:0 auto;color:#758b7e;animation:task-complete-settle .72s cubic-bezier(.2,.8,.2,1) both}
.task-complete-mark svg{display:block;width:100%;height:100%;overflow:visible}
.task-complete-mark circle,.task-complete-mark path{fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.task-complete-mark circle{opacity:.28;stroke-dasharray:107;stroke-dashoffset:107;animation:task-complete-ring .58s cubic-bezier(.4,0,.2,1) .04s forwards}
.task-complete-mark path{stroke-width:2.05;stroke-dasharray:24;stroke-dashoffset:24;animation:task-complete-check .38s cubic-bezier(.2,.8,.2,1) .34s forwards}
@keyframes task-complete-ring{to{stroke-dashoffset:0}}
@keyframes task-complete-check{to{stroke-dashoffset:0}}
@keyframes task-complete-settle{0%{opacity:0;transform:scale(.86) translateY(4px)}48%{opacity:1;transform:scale(1.035) translateY(0)}100%{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.task-complete-mark,.task-complete-mark circle,.task-complete-mark path{animation:none!important}.task-complete-mark circle,.task-complete-mark path{stroke-dashoffset:0!important}}

/* Liquid Glass optics — edge-driven HDR, not surface sweep.
   The face stays quiet. Brightness lives in the 1px optical edge / sidewall and
   briefly concentrates there when the material is pressed or changes state. */
.task-tabs,
.segmented{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:1px;
  max-width:100%;
  padding:2px;
  border:1px solid rgba(92,99,110,.060);
  border-radius:12px;
  background:linear-gradient(180deg,rgba(252,253,254,.44),rgba(243,245,248,.27));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.70),
    inset 0 -1px 0 rgba(61,68,79,.018),
    0 1px 2px rgba(19,22,27,.010);
  backdrop-filter:blur(22px) saturate(112%);
  -webkit-backdrop-filter:blur(22px) saturate(112%);
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  isolation:isolate;
}
.task-tabs::-webkit-scrollbar,
.segmented::-webkit-scrollbar{display:none}
.task-tabs::before,
.segmented::before{
  content:"";
  position:absolute;
  z-index:0;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:
    radial-gradient(80% 55% at 14% 0%,rgba(255,255,255,.30),rgba(255,255,255,0) 62%),
    radial-gradient(64% 85% at 100% 52%,rgba(214,225,239,.045),rgba(255,255,255,0) 58%);
  opacity:.56;
}
.task-tabs{width:max-content;margin:0 0 19px;border-bottom:0;font-size:13px}
.task-tabs a,
.segmented a,
.segmented button{
  position:relative;
  z-index:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:33px;
  margin:0;
  padding:0 13px;
  border:1px solid transparent;
  border-radius:9.5px;
  background:transparent;
  color:#787d85;
  font-size:12px;
  font-weight:515;
  letter-spacing:-.005em;
  line-height:1;
  white-space:nowrap;
  box-shadow:none;
  overflow:hidden;
  isolation:isolate;
  transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease;
}
.task-tabs a{padding:0 16px;border-bottom:1px solid transparent}
.task-tabs a:hover,
.segmented a:hover,
.segmented button:hover{
  color:#454950;
  background:rgba(255,255,255,.10);
}
.task-tabs .active,
.segmented .selected{
  color:#1f2226;
  font-weight:585;
  border-color:rgba(111,119,131,.055);
  background:linear-gradient(180deg,rgba(255,255,255,.64),rgba(248,250,252,.44));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.88),
    inset 1px 0 0 rgba(255,255,255,.40),
    inset -1px 0 0 rgba(119,130,145,.045),
    inset 0 -1px 0 rgba(56,64,75,.024),
    0 1px 2px rgba(22,26,32,.020),
    0 3px 9px rgba(22,26,32,.008);
  backdrop-filter:blur(12px) saturate(106%);
  -webkit-backdrop-filter:blur(12px) saturate(106%);
}
/* The first layer is the glass rim itself: a thin, non-moving optical edge. */
.task-tabs .active::before,
.segmented .selected::before{
  content:"";
  position:absolute;
  z-index:3;
  inset:0;
  padding:1px;
  border-radius:inherit;
  pointer-events:none;
  background:conic-gradient(from 216deg at 50% 50%,
    rgba(191,205,223,.08) 0deg,
    rgba(255,255,255,.82) 56deg,
    rgba(255,255,255,.22) 112deg,
    rgba(118,132,151,.06) 168deg,
    rgba(104,117,136,.035) 220deg,
    rgba(255,255,255,.46) 300deg,
    rgba(222,234,248,.10) 360deg);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:.34;
  filter:brightness(1.02);
}
/* The second layer is sidewall refraction only. The centre of the control stays clean. */
.task-tabs .active::after,
.segmented .selected::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:1px;
  border-radius:inherit;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,1) 46%,rgba(232,244,255,.72) 58%,rgba(255,255,255,0)) left 1px center/1.35px 62% no-repeat,
    linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.88) 48%,rgba(217,233,252,.48) 60%,rgba(255,255,255,0)) right 1px center/1.25px 58% no-repeat,
    radial-gradient(ellipse 7px 64% at 0% 48%,rgba(255,255,255,.58) 0,rgba(223,237,253,.18) 30%,rgba(255,255,255,0) 72%),
    radial-gradient(ellipse 6px 58% at 100% 54%,rgba(255,255,255,.42) 0,rgba(204,220,241,.12) 34%,rgba(255,255,255,0) 74%);
  opacity:.13;
  transform:scaleY(.98);
  transform-origin:center;
  filter:brightness(1);
}
.task-tabs .active.hdr-arrive::before,
.segmented .selected.hdr-arrive::before,
.task-tabs .active.hdr-strike::before,
.segmented .selected.hdr-strike::before{
  animation:liquid-rim-response .42s cubic-bezier(.16,.82,.18,1) both;
}
.task-tabs .active.hdr-arrive::after,
.segmented .selected.hdr-arrive::after,
.task-tabs .active.hdr-strike::after,
.segmented .selected.hdr-strike::after{
  animation:liquid-side-response .42s cubic-bezier(.16,.82,.18,1) both;
}
@keyframes liquid-rim-response{
  0%{opacity:.28;filter:brightness(1);transform:scale(.998)}
  34%{opacity:.72;filter:brightness(1.48);transform:scale(1)}
  58%{opacity:.46;filter:brightness(1.15);transform:scale(1)}
  100%{opacity:.34;filter:brightness(1.02);transform:scale(1)}
}
@keyframes liquid-side-response{
  0%{opacity:.15;transform:scaleY(.95) scaleX(.998);filter:brightness(1)}
  30%{opacity:.86;transform:scaleY(1.035) scaleX(1);filter:brightness(1.86) drop-shadow(0 0 1.5px rgba(236,246,255,.34))}
  62%{opacity:.27;transform:scaleY(1.01) scaleX(1);filter:brightness(1.18)}
  100%{opacity:.13;transform:scaleY(.98) scaleX(1);filter:brightness(1)}
}
.task-tabs a:active,
.segmented a:active,
.segmented button:active{transform:translateY(.35px) scale(.996)}
.task-tabs a:focus-visible,
.segmented a:focus-visible,
.segmented button:focus-visible{
  outline:2px solid rgba(83,88,97,.18);
  outline-offset:2px;
}

/* Primary action: matte face, bright optical sidewall. No sweep across the label. */
.btn.primary{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  background:linear-gradient(180deg,rgba(27,29,33,.985) 0%,rgba(14,15,18,.985) 100%);
  backdrop-filter:blur(12px) saturate(112%);
  -webkit-backdrop-filter:blur(12px) saturate(112%);
  border-color:#101114;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.075),
    inset 1px 0 0 rgba(255,255,255,.025),
    inset -1px 0 0 rgba(255,255,255,.012),
    inset 0 -1px 0 rgba(0,0,0,.36),
    0 1px 2px rgba(12,14,18,.10);
  transition:transform .14s ease,background .16s ease,box-shadow .16s ease,border-color .16s ease;
}
.btn.primary:hover{
  opacity:1;
  background:linear-gradient(180deg,rgba(31,33,38,.99) 0%,rgba(15,16,19,.99) 100%);
  border-color:#111216;
}
.btn.primary::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  padding:1px;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(90deg,
    rgba(255,255,255,.56) 0%,
    rgba(255,255,255,.10) 5%,
    rgba(255,255,255,0) 18%,
    rgba(255,255,255,0) 82%,
    rgba(214,230,249,.10) 95%,
    rgba(255,255,255,.62) 100%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:.095;
}
.btn.primary::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:1px;
  border-radius:inherit;
  pointer-events:none;
  background:
    linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,1) 44%,rgba(226,241,255,.82) 57%,rgba(255,255,255,0)) left 1px center/1.5px 62% no-repeat,
    linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.98) 46%,rgba(214,234,255,.70) 59%,rgba(255,255,255,0)) right 1px center/1.5px 60% no-repeat,
    radial-gradient(ellipse 8px 72% at 0 50%,rgba(255,255,255,.54) 0,rgba(222,237,255,.15) 32%,rgba(255,255,255,0) 72%),
    radial-gradient(ellipse 8px 68% at 100% 52%,rgba(255,255,255,.48) 0,rgba(209,228,251,.13) 34%,rgba(255,255,255,0) 72%);
  opacity:.08;
  transform:scaleY(.94);
  filter:brightness(1);
}
.btn.primary.hdr-strike{animation:liquid-button-body .34s cubic-bezier(.18,.82,.18,1) both}
.btn.primary.hdr-strike::before{animation:liquid-button-rim .34s cubic-bezier(.18,.82,.18,1) both}
.btn.primary.hdr-strike::after{animation:liquid-button-side .34s cubic-bezier(.18,.82,.18,1) both}
@keyframes liquid-button-body{
  0%{transform:translateY(0) scale(1)}
  32%{transform:translateY(.35px) scale(.996)}
  100%{transform:translateY(0) scale(1)}
}
@keyframes liquid-button-rim{
  0%{opacity:.08;filter:brightness(1)}
  32%{opacity:.18;filter:brightness(1.22)}
  62%{opacity:.12;filter:brightness(1.08)}
  100%{opacity:.095;filter:brightness(1)}
}
@keyframes liquid-button-side{
  0%{opacity:.07;transform:scaleY(.92);filter:brightness(1)}
  30%{opacity:.94;transform:scaleY(1.045);filter:brightness(2.12) drop-shadow(0 0 2px rgba(234,245,255,.46))}
  58%{opacity:.26;transform:scaleY(1.01);filter:brightness(1.22)}
  100%{opacity:.08;transform:scaleY(.94);filter:brightness(1)}
}

/* Admin context follows the same material model: quiet face, optical rim/side response. */
.admin-context-trigger{
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border-color:rgba(166,172,181,.34);
  background:linear-gradient(180deg,rgba(255,255,255,.60),rgba(247,249,251,.38));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.80),
    inset 1px 0 0 rgba(255,255,255,.26),
    inset -1px 0 0 rgba(109,121,138,.032),
    0 3px 11px rgba(25,29,35,.018);
}
.admin-context-trigger::before{
  content:"";
  position:absolute;
  z-index:2;
  inset:0;
  padding:1px;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(112deg,rgba(255,255,255,.62),rgba(255,255,255,.08) 28%,rgba(112,127,147,.03) 60%,rgba(255,255,255,.44));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  opacity:.28;
}
.admin-context-trigger::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:1px;
  border-radius:inherit;
  pointer-events:none;
  background:
    linear-gradient(180deg,transparent,rgba(255,255,255,.92) 48%,rgba(228,242,255,.54) 60%,transparent) left 1px center/1px 64% no-repeat,
    linear-gradient(180deg,transparent,rgba(255,255,255,.68) 48%,rgba(214,232,251,.32) 60%,transparent) right 1px center/1px 60% no-repeat,
    radial-gradient(ellipse 6px 62% at 0 50%,rgba(255,255,255,.48),rgba(222,237,255,.14) 34%,transparent 74%),
    radial-gradient(ellipse 6px 60% at 100% 54%,rgba(255,255,255,.36),rgba(208,225,245,.10) 35%,transparent 74%);
  opacity:.08;
  transform:scaleY(.96);
}
.admin-context[open]>.admin-context-trigger::before,
.admin-context-trigger.hdr-arrive::before,
.admin-context-trigger.hdr-strike::before{animation:liquid-context-rim .36s cubic-bezier(.18,.82,.18,1) both}
.admin-context[open]>.admin-context-trigger::after,
.admin-context-trigger.hdr-arrive::after,
.admin-context-trigger.hdr-strike::after{animation:liquid-context-side .36s cubic-bezier(.18,.82,.18,1) both}
@keyframes liquid-context-rim{
  0%{opacity:.24;filter:brightness(1)}
  34%{opacity:.72;filter:brightness(1.54)}
  100%{opacity:.28;filter:brightness(1)}
}
@keyframes liquid-context-side{
  0%{opacity:.08;transform:scaleY(.94);filter:brightness(1)}
  32%{opacity:.62;transform:scaleY(1.04);filter:brightness(1.70) drop-shadow(0 0 2px rgba(234,245,255,.28))}
  100%{opacity:.10;transform:scaleY(.96);filter:brightness(1)}
}

/* Completion state finishes with a brief edge response in the stroke itself. */
.task-complete-mark::after{display:none}
.task-complete-mark path{
  animation:task-complete-check .38s cubic-bezier(.2,.8,.2,1) .34s forwards,
            task-complete-edge .42s cubic-bezier(.16,.84,.16,1) .38s both;
}
@keyframes task-complete-edge{
  0%{filter:brightness(1);stroke:currentColor}
  34%{filter:brightness(1.65) drop-shadow(0 0 1.5px rgba(255,255,255,.48));stroke:#1d2220}
  100%{filter:brightness(1);stroke:currentColor}
}

/* HDR displays get more headroom only in the optical edge. Surface luminance is unchanged. */
@keyframes liquid-rim-response-hdr{
  0%{opacity:.28;filter:brightness(1);transform:scale(.998)}
  34%{opacity:.72;filter:brightness(1.88) drop-shadow(0 0 1px rgba(244,250,255,.38));transform:scale(1)}
  58%{opacity:.48;filter:brightness(1.30);transform:scale(1)}
  100%{opacity:.34;filter:brightness(1.02);transform:scale(1)}
}
@keyframes liquid-side-response-hdr{
  0%{opacity:.15;transform:scaleY(.95) scaleX(.998);filter:brightness(1)}
  30%{opacity:.96;transform:scaleY(1.035) scaleX(1);filter:brightness(2.62) drop-shadow(0 0 2px rgba(244,250,255,.64))}
  62%{opacity:.30;transform:scaleY(1.01) scaleX(1);filter:brightness(1.28)}
  100%{opacity:.13;transform:scaleY(.98) scaleX(1);filter:brightness(1)}
}
@keyframes liquid-button-rim-hdr{
  0%{opacity:.08;filter:brightness(1)}
  32%{opacity:.22;filter:brightness(1.56) drop-shadow(0 0 .8px rgba(248,252,255,.34))}
  62%{opacity:.13;filter:brightness(1.16)}
  100%{opacity:.095;filter:brightness(1)}
}
@keyframes liquid-button-side-hdr{
  0%{opacity:.07;transform:scaleY(.92);filter:brightness(1)}
  30%{opacity:1;transform:scaleY(1.045);filter:brightness(3.05) drop-shadow(0 0 2px rgba(245,252,255,.72))}
  58%{opacity:.30;transform:scaleY(1.01);filter:brightness(1.34)}
  100%{opacity:.08;transform:scaleY(.94);filter:brightness(1)}
}
@keyframes liquid-context-rim-hdr{
  0%{opacity:.24;filter:brightness(1)}
  34%{opacity:.82;filter:brightness(2.15) drop-shadow(0 0 1px rgba(248,252,255,.42))}
  100%{opacity:.28;filter:brightness(1)}
}
@keyframes liquid-context-side-hdr{
  0%{opacity:.08;transform:scaleY(.94);filter:brightness(1)}
  32%{opacity:.76;transform:scaleY(1.04);filter:brightness(2.42) drop-shadow(0 0 2px rgba(242,250,255,.54))}
  100%{opacity:.10;transform:scaleY(.96);filter:brightness(1)}
}
@media (dynamic-range:high){
  .task-tabs .active.hdr-arrive::before,.segmented .selected.hdr-arrive::before,
  .task-tabs .active.hdr-strike::before,.segmented .selected.hdr-strike::before{animation-name:liquid-rim-response-hdr}
  .task-tabs .active.hdr-arrive::after,.segmented .selected.hdr-arrive::after,
  .task-tabs .active.hdr-strike::after,.segmented .selected.hdr-strike::after{animation-name:liquid-side-response-hdr}
  .btn.primary.hdr-strike::before{animation-name:liquid-button-rim-hdr}
  .btn.primary.hdr-strike::after{animation-name:liquid-button-side-hdr}
  .admin-context[open]>.admin-context-trigger::before,.admin-context-trigger.hdr-arrive::before,.admin-context-trigger.hdr-strike::before{animation-name:liquid-context-rim-hdr}
  .admin-context[open]>.admin-context-trigger::after,.admin-context-trigger.hdr-arrive::after,.admin-context-trigger.hdr-strike::after{animation-name:liquid-context-side-hdr}
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .task-tabs,.segmented{background:rgba(247,248,249,.97)}
  .task-tabs .active,.segmented .selected{background:#fff}
  .admin-context-trigger{background:rgba(249,250,251,.98)}
}
@media(max-width:650px){
  .task-tabs,.segmented{border-radius:11px;padding:2px;gap:1px}
  .task-tabs{max-width:100%;font-size:12px;margin-bottom:16px}
  .task-tabs a,.segmented a,.segmented button{min-height:31px;padding:0 11px;font-size:11px}
  .task-tabs a{padding:0 12px}
}
@media(prefers-reduced-motion:reduce){
  .task-tabs a,.segmented a,.segmented button,.btn.primary{transition:none}
  .task-tabs .active::before,.segmented .selected::before,
  .task-tabs .active::after,.segmented .selected::after,
  .btn.primary::before,.btn.primary::after,
  .admin-context-trigger::before,.admin-context-trigger::after,
  .task-complete-mark path{animation:none!important;filter:none!important;transform:none!important}
  .btn.primary.hdr-strike{animation:none!important}
}

/* Presentation-only Chinese -> English translation marker.
   It reads as quiet provenance metadata, not a status chip. */
.auto-translate-block{white-space:pre-wrap}
[data-auto-translate="zh-en"]{transition:opacity .14s ease}
[data-auto-translate="zh-en"].translation-swap{opacity:.38}
.translation-mark{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-height:17px;
  margin-left:6px;
  padding:0 5px 0 4px;
  vertical-align:.16em;
  border:1px solid rgba(93,101,113,.075);
  border-radius:999px;
  background:linear-gradient(180deg,rgba(255,255,255,.54),rgba(246,248,250,.31));
  color:rgba(86,92,101,.62);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72),0 .5px 1.5px rgba(23,27,33,.018);
  backdrop-filter:blur(13px) saturate(106%);
  -webkit-backdrop-filter:blur(13px) saturate(106%);
  font-size:8.5px;
  font-weight:570;
  line-height:15px;
  letter-spacing:.015em;
  white-space:nowrap;
  cursor:pointer;
  user-select:none;
  -webkit-user-select:none;
  opacity:.82;
  transition:opacity .14s ease,color .14s ease,border-color .14s ease,background .14s ease;
}
.translation-mark i{
  width:3px;
  height:3px;
  border-radius:50%;
  background:rgba(116,132,151,.58);
  box-shadow:0 0 0 .5px rgba(255,255,255,.62);
}
.translation-mark:hover{
  opacity:1;
  color:rgba(58,63,71,.78);
  border-color:rgba(83,92,105,.11);
  background:linear-gradient(180deg,rgba(255,255,255,.64),rgba(246,248,250,.39));
}
.translation-mark.showing-original{color:rgba(96,91,82,.66)}
.translation-mark.showing-original i{background:rgba(151,136,108,.52)}
.translation-mark:focus-visible{outline:2px solid rgba(79,87,98,.16);outline-offset:2px}
.task-row-v2 .translation-mark{vertical-align:.2em;margin-left:5px;transform:translateY(-.5px)}
.page-head h1 .translation-mark{margin-left:8px;vertical-align:.32em}
.task-description .translation-mark,.requirement-text .translation-mark{margin-left:7px;vertical-align:.1em}
@media(prefers-reduced-motion:reduce){[data-auto-translate="zh-en"],.translation-mark{transition:none!important}}
