/* App shell sidebar (assets/app-shell.js). Desktop: pushes the page right by --app-shell-w,
   the board re-fits through its own ResizeObserver. Mobile (<768px): overlay drawer. */
:root{--app-shell-w:260px;--as-bg:#FFFFFF;--as-ink:#1F1E1D;--as-muted:#6B6B70;--as-line:#E5E5E7;--as-hover:#ECECEE;--as-active:#ECECEE}

.app-shell{position:fixed;left:0;top:0;bottom:0;z-index:var(--layer-stack-45);width:var(--app-shell-w);display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) var(--space-2) var(--space-2);box-sizing:border-box;
  background:var(--as-bg);color:var(--as-ink);border-right:1px solid var(--as-line);font:13px/1.4 system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  transform:translateX(-100%);visibility:hidden;transition:transform var(--motion-panel) var(--motion-ease),opacity var(--motion-panel) var(--motion-ease)}
html.app-shell-open .app-shell{transform:none;visibility:visible;transition:transform .2s ease}
html.app-shell-resizing .app-shell,html.app-shell-resizing body{transition:none!important;user-select:none;cursor:col-resize}

/* Desktop push layout. Only in-flow page content moves; fixed overlays keep their own anchors. */
@media (min-width:768px){
  html.app-shell-ready body{transition:none}
  html.app-shell-open body{padding-left:var(--app-shell-w)!important;box-sizing:border-box}
  html.app-shell-open #hwStudentBar{left:var(--app-shell-w)!important}
}
html.app-shell-ready:not(.app-shell-open) #topNavbar{padding-left:var(--space-13)!important}

.app-shell-toggle{position:fixed;left:10px;top:12px;z-index:var(--layer-stack-46);width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-md);
  border:1px solid var(--as-line);background:var(--as-bg);color:var(--as-ink);box-shadow:var(--as-shadow);cursor:pointer}
.app-shell-toggle:hover{background:var(--as-hover)}
html.app-shell-open .app-shell-toggle{display:none}

.app-shell-backdrop{display:none}
@media (max-width:767.98px){
  .app-shell{width:min(85vw,300px);z-index:var(--layer-stack-1001);box-shadow:var(--as-shadow)}
  .app-shell .as-resizer{display:none}
  html.app-shell-open .app-shell-backdrop{display:block;position:fixed;inset:0;z-index:var(--layer-stack-1000);background:rgb(0 0 0 / .35)}
}

.as-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:34px}
.as-logo{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:600;font-size:14px;color:var(--as-ink);text-decoration:none}
.as-icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--as-muted);cursor:pointer;flex:none}
.as-icon:hover,.as-icon:focus-visible{background:var(--as-hover);color:var(--as-ink)}
.as-new{display:flex;align-items:center;gap:var(--space-2);width:100%;min-height:38px;padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--as-line);background:var(--as-bg);color:var(--as-ink);font-weight:600;cursor:pointer}
.as-new:hover{background:var(--as-hover);border-color:var(--state-active-border)}
.as-search{display:flex;align-items:center;gap:var(--space-2);padding:0 var(--space-2);min-height:34px;border-radius:var(--radius-md);background:var(--as-hover);color:var(--as-muted)}
.as-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--as-ink);font:inherit;outline:none;padding:var(--space-2) 0}
.as-search:focus-within{outline:2px solid var(--focus-ring);outline-offset:0}

.as-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;margin:0 -4px;padding:0 var(--space-1)}
.as-section{margin:var(--space-1) 0 var(--space-2)}
.as-section>summary{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-2);color:var(--as-muted);font-size:12px;font-weight:600;cursor:pointer;list-style:none;border-radius:8px}
.as-section>summary::-webkit-details-marker{display:none}
.as-section>summary:hover{color:var(--as-ink)}
.as-group{margin:var(--space-1) 0 var(--space-1);border-radius:8px}
.as-group-head{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);color:var(--as-muted);font-size:12px;border-radius:8px}
.as-group-head span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.as-group-head small{font-size:11px;opacity:.8}
.as-group.is-drop,.as-group-head.is-drop{background:var(--as-active);outline:1px dashed var(--state-active-border)}
.as-item{position:relative;display:flex;align-items:center;border-radius:8px}
.as-item:hover,.as-item:focus-within{background:var(--as-hover)}
.as-item.is-active{background:var(--as-active)}
.as-item.is-active .as-item-main{font-weight:600}
.as-item.is-dragging{opacity:.5}
.as-item-main{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-2);min-height:34px;padding:0 var(--space-2);border:0;background:transparent;color:var(--as-ink);font:inherit;text-align:left;cursor:pointer;border-radius:8px}
.as-item-main span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.as-item-main svg{flex:none;color:var(--as-muted)}
.as-more{opacity:0;width:26px;height:26px}
.as-item:hover .as-more,.as-item:focus-within .as-more,.as-item.is-active .as-more{opacity:1}
@media (hover:none){.as-more{opacity:1}}
.as-rename{flex:1;min-width:0;margin:var(--space-1);padding:var(--space-1) var(--space-2);border:1px solid var(--state-active-border);border-radius:6px;background:var(--as-bg);color:var(--as-ink);font:inherit}
.as-link{margin:var(--space-1) var(--space-2);padding:var(--space-1) var(--space-1);border:0;background:transparent;color:var(--as-accent);font:inherit;font-size:12px;cursor:pointer}
.as-empty{margin:var(--space-1) var(--space-2) var(--space-2);color:var(--as-muted);font-size:12px}

.as-menu{position:absolute;z-index:var(--layer-stack-5);right:4px;top:calc(100% + 2px);min-width:170px;max-height:300px;overflow:auto;padding:var(--space-1);border:1px solid var(--as-line);border-radius:var(--radius-md);background:var(--as-bg);box-shadow:var(--as-shadow)}
.as-menu-item{display:block;width:100%;padding:var(--space-2) var(--space-2);border:0;border-radius:var(--radius-sm);background:transparent;color:var(--as-ink);font:inherit;text-align:left;cursor:pointer}
.as-menu-item:hover,.as-menu-item:focus-visible{background:var(--as-hover)}
.as-menu-item.as-indent{padding-left:var(--space-5)}
.as-menu-item.as-danger{color:var(--danger)}
.as-menu-label{padding:var(--space-2) var(--space-2) var(--space-1);color:var(--as-muted);font-size:11px}

.as-user{position:relative;border-top:1px solid var(--as-line);padding-top:var(--space-2)}
.as-user-btn{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2);border:0;border-radius:var(--radius-md);background:transparent;color:var(--as-ink);font:inherit;text-align:left;cursor:pointer}
.as-user-btn:hover{background:var(--as-hover)}
.as-avatar{flex:none;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--state-active-border);color:var(--state-active-fg);font-weight:600}
.as-user-label{display:flex;flex-direction:column;min-width:0}
.as-user-label strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
.as-user-label small{color:var(--as-muted);font-size:11px}
.as-user-menu{top:auto;bottom:calc(100% + 4px);left:0;right:0}
.as-user-card{display:flex;flex-direction:column;gap:2px;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--as-line,rgba(127,127,127,.18));margin-bottom:var(--space-1);font-size:13px;overflow-wrap:anywhere}
.as-user-card small{opacity:.65;font-size:12px}
.as-lang{display:flex;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-2)}
.as-chip{padding:var(--space-1) var(--space-2);border:1px solid var(--as-line);border-radius:999px;background:transparent;color:var(--as-ink);font:inherit;font-size:12px;cursor:pointer}
.as-chip.is-active{background:var(--state-active-border);border-color:var(--state-active-border);color:var(--state-active-fg)}

.as-resizer{position:absolute;top:0;right:-3px;bottom:0;width:6px;cursor:col-resize}
.as-resizer:hover{background:var(--as-line)}
.as-toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);z-index:var(--layer-stack-1002);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--surface-soft);color:var(--ink);font-size:13px}
.app-shell :focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}
@media (prefers-reduced-motion:reduce){.app-shell,html.app-shell-ready body{transition:none!important}}
/* Global light-theme rules tint every <details>; sidebar sections stay flat like the rest of the shell. */
html body .app-shell details.as-section{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important}
.app-shell .as-search input:focus,.app-shell .as-search input:focus-visible{outline:none!important;box-shadow:none!important;border:0!important}

/* Like Codex/Claude: the brand lives in the sidebar while it is open; the top bar shows it only when the sidebar is collapsed. */
html.app-shell-open:not(.app-shell-mobile) #topNavbar>div:first-child{display:none!important}

/* R4-2：作品正文缺失时的说明框（原生 <dialog>，桌面居中，手机贴边留 16px） */
.as-missing{max-width:440px;width:calc(100vw - 32px);box-sizing:border-box;padding:20px;border:1px solid var(--as-line,#e2e8f0);border-radius:var(--radius-lg,12px);
  background:var(--as-bg,#fff);color:var(--as-ink,#0f172a);box-shadow:var(--as-shadow,0 12px 32px rgba(15,23,42,.18));font:14px/1.6 system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}
.as-missing::backdrop{background:rgba(15,23,42,.42)}
.as-missing-title{margin:0 0 8px;font-size:17px;font-weight:600}
.as-missing-name{margin:0 0 8px;font-weight:600;overflow-wrap:anywhere}
.as-missing-body{margin:0 0 16px;color:var(--as-muted,#475569)}
.as-missing-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}
.as-missing-btn{min-height:40px;padding:0 14px;border-radius:var(--radius-md,8px);border:1px solid var(--as-line,#cbd5e1);background:transparent;color:inherit;font:inherit;cursor:pointer}
.as-missing-btn:hover{background:var(--as-hover,#f1f5f9)}
.as-missing-btn.primary{background:var(--as-accent,#2563eb);border-color:transparent;color:#fff}
@media (max-width:767.98px){.as-missing-actions{flex-direction:column-reverse}.as-missing-btn{width:100%}}

/* Quiet legal text; the sidebar owns visibility and the welcome cards own empty-board visibility. */
.workspace-legal-footer{min-width:0;color:var(--chrome-muted);font:11px/1.6 system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif}
.workspace-legal-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:0 4px}
.workspace-legal-footer a{color:inherit;text-decoration:none;overflow-wrap:anywhere}
.workspace-legal-links a{white-space:nowrap}
.workspace-legal-footer a:hover{text-decoration:underline;color:var(--chrome-ink)}
.workspace-legal-footer a:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:2px}
.workspace-legal-company{margin:4px 0 0;overflow-wrap:anywhere}
.app-shell .workspace-legal-footer{flex:none;padding:var(--space-1) var(--space-2);color:var(--as-muted)}
.app-shell .workspace-legal-links{justify-content:flex-start}
.app-shell .workspace-legal-footer a:hover{color:var(--as-ink)}
.roles-quick .workspace-legal-footer{grid-column:1/-1;text-align:center;margin-top:6px;cursor:auto}
.roles-quick.on-light .workspace-legal-footer{color:var(--muted)}
.roles-quick.on-light .workspace-legal-footer a:hover{color:var(--ink)}

/* q-cx-design-shell: v3 sidebar, persistent 56px desktop rail, dark by default. */
.app-shell {
  --as-bg: var(--surface, #171717);
  --as-ink: var(--ink, #ECECEC);
  --as-muted: var(--muted, #A1A1AA);
  --as-line: var(--line, rgba(255,255,255,0.08));
  --as-hover: var(--surface-hover, #2A2A2D);
  --as-active: var(--state-active-bg, #2F2F33);
  transition: width 240ms cubic-bezier(0.32, 0.72, 0, 1), transform 240ms cubic-bezier(0.32, 0.72, 0, 1);
}
body.theme-light .app-shell {
  --as-bg: #F3F2EE;
  --as-ink: #141413;
  --as-muted: #5C5B57;
  --as-line: rgba(20,20,19,0.08);
  --as-hover: #EAE8E1;
  --as-active: #E2DFD6;
}
.as-icon svg, .as-new svg { width:18px; height:18px; }
.as-icon { border-radius:8px; }
.as-top { min-height:36px; }
.as-new { min-height:36px; border:0; border-radius:8px; background:transparent; font-weight:400; color:var(--as-ink); }
.as-section>summary,.as-group-head { color:var(--as-muted); font-size:12px; }
.as-avatar { width:28px; height:28px; background:#34A853; color:#fff; }
.as-user { margin-top:auto; flex:none; }
.as-user-btn { min-height:44px; padding:4px; }
.as-user-label strong { font-size:14px; font-weight:400; }
.as-user-label small { font-size:12px; }
.as-login { display:flex; align-items:center; justify-content:center; min-height:40px; border-radius:10px; background:#2A2A2D; color:#ECECEC; border:1px solid rgba(255,255,255,0.12); text-decoration:none; font-size:13px; }
.as-register { display:block; text-align:center; margin-top:6px; color:var(--as-muted); font-size:12px; text-decoration:none; }
.as-search-toggle,.as-works-toggle { display:none; }
.as-account-menu { position:fixed; z-index:11000; width:260px; max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); overflow:auto; box-sizing:border-box; padding:6px; background:var(--surface, #262629); color:var(--ink, #ECECEC); border-radius:14px; border:1px solid var(--line, rgba(255,255,255,0.12)); box-shadow:0 12px 32px rgb(0 0 0 / .45); font:13px/1.4 system-ui,sans-serif; }
.as-account-menu [hidden] { display:none; }
.as-account-row { display:flex; align-items:center; gap:8px; width:100%; min-height:36px; box-sizing:border-box; padding:6px 10px; text-align:left; border:0; border-radius:8px; background:transparent; color:inherit; text-decoration:none; font:inherit; cursor:pointer; }
.as-account-row:hover,.as-account-row:focus-visible { background:var(--surface-hover, #2A2A2D); }
.as-account-email { color:var(--muted, #A1A1AA); cursor:default; overflow-wrap:anywhere; }
.as-account-email:hover { background:transparent; }
.as-account-menu hr { border:0; border-top:1px solid var(--line, rgba(255,255,255,0.08)); margin:4px 0; }
.as-account-languages { padding-left:12px; }
.as-account-error { padding:6px 10px; margin:0; color:#EA4335; }
@media (min-width:768px) {
  html.app-shell-ready:not(.app-shell-open) .app-shell { width:56px; transform:none; visibility:visible; padding:8px 11px; }
  html.app-shell-ready:not(.app-shell-open) body { padding-left:56px!important; box-sizing:border-box; }
  html.app-shell-ready:not(.app-shell-open) #hwStudentBar { left:56px!important; }
  html.app-shell-ready .app-shell-toggle { display:none; }
  html.app-shell-ready:not(.app-shell-open) .as-logo,
  html.app-shell-ready:not(.app-shell-open) .as-search,
  html.app-shell-ready:not(.app-shell-open) .as-scroll,
  html.app-shell-ready:not(.app-shell-open) .as-resizer,
  html.app-shell-ready:not(.app-shell-open) .workspace-legal-footer,
  html.app-shell-ready:not(.app-shell-open) .as-user-label,
  html.app-shell-ready:not(.app-shell-open) .as-new span,
  html.app-shell-ready:not(.app-shell-open) .as-course-btn span,
  html.app-shell-ready:not(.app-shell-open) .as-register { display:none!important; }
  html.app-shell-ready:not(.app-shell-open) .as-new,
  html.app-shell-ready:not(.app-shell-open) .as-course-btn { width:34px; height:34px; padding:0; justify-content:center; }
  html.app-shell-ready:not(.app-shell-open) .as-search-toggle,
  html.app-shell-ready:not(.app-shell-open) .as-works-toggle { display:inline-flex; }
  html.app-shell-ready:not(.app-shell-open) .as-user { border:0; padding:0; }
  html.app-shell-ready:not(.app-shell-open) .as-user-btn,
  html.app-shell-ready:not(.app-shell-open) .as-login { width:34px; min-height:34px; padding:0; justify-content:center; }
}
@media (prefers-reduced-motion:reduce) { .app-shell { transition:none!important; } }
/* Works presentation. Existing storage and snapshot functions remain the source of truth. */
.as-work-menu{position:fixed;z-index:11020;width:210px;min-width:210px;box-sizing:border-box;max-height:calc(100dvh - 16px);border-radius:12px;background:var(--surface, #262629);color:var(--ink, #ECECEC);border:1px solid var(--line, rgba(255,255,255,0.12));box-shadow:0 8px 24px rgb(0 0 0/.4);padding:4px;font:13px/1.4 system-ui,sans-serif}
.as-work-menu .as-menu-item{color:var(--ink, #ECECEC);min-height:36px;padding:6px 10px}
.as-work-menu .as-menu-item:hover{background:var(--surface-hover, #2A2A2D)}.as-work-menu .as-danger,.as-danger{color:#EA4335}
.as-work-menu hr{border:0;border-top:1px solid var(--line, rgba(255,255,255,0.08));margin:4px}
.as-works-head{display:flex;justify-content:space-between;align-items:center;min-height:40px}.as-works-head .as-link{color:var(--as-muted);min-height:36px}
.as-work-check{flex:none;width:18px;height:18px;margin-left:8px;accent-color:#34A853}.as-work-meta{display:block;white-space:normal;font-size:11px;font-weight:400;color:var(--as-muted);line-height:1.5}
.as-bin-title{font:600 18px/1.4 system-ui,sans-serif;margin:12px 8px}.as-bin-entry{width:100%;min-height:44px;margin-top:16px;padding:8px;text-align:left;border:0;border-top:1px solid var(--as-line);background:transparent;color:var(--as-muted);cursor:pointer;font:13px system-ui}
.as-batch{position:fixed;z-index:11010;left:50%;bottom:24px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;max-width:calc(100vw - 24px);box-sizing:border-box;padding:8px 20px;border-radius:999px;background:#262629;color:#ECECEC;border:1px solid rgba(255,255,255,0.12);box-shadow:0 8px 24px rgb(0 0 0/.4);font:13px/1.4 system-ui,sans-serif}
.as-batch span{white-space:nowrap}.as-batch button{border:0;background:transparent;color:inherit;min-height:40px;white-space:nowrap;font:inherit;cursor:pointer}.as-batch button:disabled{opacity:.4;cursor:default}
.as-delete-dialog{width:min(440px,calc(100vw - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-sizing:border-box;padding:24px;border:1px solid #EA4335;border-radius:18px;background:var(--surface, #262629);color:var(--ink, #ECECEC);font:14px/1.6 system-ui,sans-serif;box-shadow:0 16px 40px rgb(0 0 0/.5)}
.as-delete-dialog::backdrop{background:rgb(0 0 0/.65)}.as-delete-dialog h2{font:600 20px/1.4 system-ui,sans-serif;color:#EA4335;margin:0}.as-delete-dialog p{color:var(--muted, #A1A1AA);font-size:13px}.as-delete-dialog label{display:block;font-size:13px;overflow-wrap:anywhere}.as-delete-dialog input{box-sizing:border-box;width:100%;height:44px;padding:0 14px;border:1px solid var(--line, rgba(255,255,255,0.12));border-radius:10px;font:15px system-ui;background:#1A1A1C;color:#ECECEC;margin:8px 0 20px}.as-delete-actions{display:flex;gap:8px}.as-delete-actions button{width:auto;flex:1;min-height:40px;text-align:center;border:1px solid var(--line, rgba(255,255,255,0.12));border-radius:10px;background:transparent;color:inherit}.as-delete-actions .as-danger{background:#EA4335;color:white;border-color:#EA4335}.as-delete-actions button:disabled{opacity:.4;cursor:default}
.as-recovery{position:fixed;top:64px;left:50%;transform:translateX(-50%);z-index:1005;display:flex;align-items:center;gap:12px;box-sizing:border-box;max-width:calc(100vw - 24px);padding:10px 16px;border:1px solid rgb(255 255 255/.12);border-radius:14px;background:#262629;color:#ECECEC;font:13px/1.5 system-ui;box-shadow:0 8px 24px rgb(0 0 0/.4)}.as-recovery-dot{width:6px;height:6px;flex:none;background:#FBBC05;border-radius:50%}.as-recovery button{border:0;background:transparent;color:inherit;text-decoration:underline;min-height:36px;white-space:nowrap;cursor:pointer}
body #restoreModal.as-save-notice,body #mobileSaveModal.as-save-notice{position:fixed;inset:auto 12px 20px auto;z-index:11010;display:block;width:min(440px,calc(100vw - 24px));padding:16px;box-sizing:border-box;border-radius:16px;background:var(--surface, #262629)!important;color:var(--ink, #ECECEC)!important;border:1px solid var(--line, rgba(255,255,255,0.12));box-shadow:0 12px 32px rgb(0 0 0/.45);font:13px/1.5 system-ui;backdrop-filter:none}
body #restoreModal.as-save-notice.hidden,body #mobileSaveModal.as-save-notice.hidden{display:none!important}
.as-save-notice header{display:flex;align-items:center;justify-content:space-between;gap:8px}.as-save-notice h3{font:600 18px system-ui,sans-serif;margin:0}.as-save-notice button{height:40px;border-radius:10px;padding:0 14px;border:1px solid var(--line, rgba(255,255,255,0.12));background:#34A853!important;color:white!important;font:13px system-ui;cursor:pointer}.as-save-notice input{width:100%;height:44px;box-sizing:border-box;padding:0 14px;margin:12px 0;border-radius:10px;border:1px solid var(--line, rgba(255,255,255,0.12));background:#1A1A1C;color:#ECECEC;font:15px system-ui}.as-save-notice img{display:block;max-width:100%;max-height:140px;object-fit:contain;margin:12px auto}.as-save-notice label{display:block}
@media(max-width:767.98px){.as-batch{width:calc(100vw - 24px);justify-content:center;gap:4px 10px;flex-wrap:wrap;border-radius:24px;padding:8px 12px}.as-batch span{flex-basis:100%;text-align:center}.as-batch button{font-size:12px}.as-recovery{top:68px;width:calc(100vw - 24px);gap:8px;flex-wrap:wrap}.as-recovery>span:nth-child(2){flex:1;min-width:200px}.as-item-main{min-height:44px}}
@media(min-width:768px){html.app-shell-ready:not(.app-shell-open) .as-bin-entry{display:none}}
.as-item-main:has(.as-work-meta) span{white-space:normal;overflow:visible;line-height:1.5}.as-work-meta{overflow-wrap:anywhere}.as-item:has(.as-work-meta){padding:4px 0}
.as-work-menu :focus-visible,.as-delete-dialog :focus-visible,.app-shell .as-work-check:focus-visible{outline:2px solid #1F1E1D;outline-offset:2px;box-shadow:none}
.as-batch :focus-visible,.as-recovery :focus-visible{outline:2px solid #FAF9F5;outline-offset:2px;box-shadow:none}
.as-item-main:has(.as-work-meta)>span{display:block;-webkit-line-clamp:unset;text-overflow:clip}
@media(max-width:767.98px){.as-recovery{display:grid;grid-template-columns:6px 1fr auto auto;padding:10px 12px}.as-recovery>span:nth-child(2){min-width:0;grid-column:2/-1}.as-recovery button{grid-row:2;height:36px;min-height:36px;margin:0;padding:0 8px;font:13px system-ui}#workRecoveryRestore{grid-column:3}#workRecoveryIgnore{grid-column:4}}
