/* Familiar paper, readable ink, and deliberate actions in either theme. */
.lib-v2-root > [hidden], .desk-discovery-toolbar [hidden], .desk-web-search [hidden], .desk-cover-dialog [hidden] { display: none !important; }
.desk-discovery-toolbar { min-width:0; flex-wrap:wrap; }
.desk-discovery-toolbar .lib-search-v2-input { min-width:0; padding-left:4px; }
.desk-search-modes { display:flex; gap:4px; padding:0; flex-shrink:0; background:transparent; border:0; }
.desk-search-modes button { color:var(--ink-secondary); background:none; border:0; border-bottom:2px solid transparent; padding:8px 10px; min-height:44px; font:500 17px/24px var(--serif); cursor:pointer; }
.desk-search-modes button[aria-pressed="true"] { color:var(--ink); border-bottom-color:var(--yd-coral); }
.desk-web-search { display:flex; flex-direction:column; min-height:0; flex:1; }
.desk-web-form { display:flex; align-items:center; flex:1 1 260px; min-width:0; max-width:100%; gap:8px; margin:0; border-bottom:1px solid var(--border-strong); }
.desk-web-form input { flex:1; width:100%; min-width:0; min-height:44px; padding:8px 4px; color:var(--ink); background:transparent; border:0; border-radius:0; font:21px/1.3 var(--serif); }
.desk-web-form input::placeholder { color:var(--ink-secondary); font-style:italic; opacity:1; }
.cover-upload { background:var(--paper); color:var(--ink); border:1px solid var(--border-strong); border-radius:22px; padding:10px 17px; font:500 15px var(--sans); text-decoration:none; cursor:pointer; }
.desk-web-form button { background:transparent; color:var(--ink); border:0; min-width:44px; min-height:44px; padding:6px 10px; font:24px/1 var(--serif); cursor:pointer; }
.desk-web-results { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr)); align-content:start; gap:20px; overflow:auto; min-height:0; flex:1; padding:24px; }
.desk-web-result { min-width:0; background:var(--paper); border:1px solid var(--border); box-shadow:0 3px 8px #00000009; display:flex; flex-direction:column; }
.desk-web-photo { display:grid; place-items:center; position:relative; margin:10px 10px 0; aspect-ratio:1.14; overflow:hidden; background:var(--gold-softer); color:var(--ink-secondary); text-decoration:none; }
.desk-web-photo img { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:contain; opacity:0; }
.desk-web-photo img.is-loaded { opacity:1; }
.desk-web-image-fallback { padding:20px; font:500 20px var(--serif); text-align:center; overflow-wrap:anywhere; }
.desk-web-copy { padding:16px; display:flex; flex-direction:column; flex:1; min-width:0; }
.desk-web-result small { color:var(--ink-secondary); font:12px var(--sans); overflow-wrap:anywhere; }
.desk-web-result h3 { color:var(--ink); font:500 23px/1.18 var(--serif); margin:9px 0 8px; overflow-wrap:anywhere; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.desk-web-result h3 a { color:inherit; text-decoration:none; }
.desk-web-result p { color:var(--ink-secondary); font:14px/1.5 var(--sans); margin:0 0 18px; overflow-wrap:anywhere; display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; }
.desk-web-status { grid-column:1/-1; color:var(--ink-secondary); font:19px/1.5 var(--serif); }
.desk-web-empty { grid-column:1/-1; padding:30px 4px; max-width:620px; }
.desk-web-empty h2 { margin:0 0 12px; color:var(--ink); font:500 30px/1.2 var(--serif); }
.desk-web-empty p { margin:0; color:var(--ink-secondary); font:20px/1.5 var(--serif); max-width:52ch; }
.desk-web-overview { grid-column:1/-1; padding:0 0 20px; border-bottom:1px solid var(--border); color:var(--ink); min-width:0; }
.desk-web-overview h2, .desk-web-results-heading { color:var(--ink-secondary); font:500 14px/1.4 var(--sans); margin:0 0 10px; }
.desk-web-overview p { font:18px/1.6 var(--sans); margin:0; max-width:82ch; overflow-wrap:anywhere; }
.desk-web-results-heading { grid-column:1/-1; margin:0; }
.desk-web-allowance { flex-shrink:0; color:var(--ink-secondary); border-top:1px solid var(--border); padding:10px 24px; margin:0; font:13px/1.5 var(--sans); }
.desk-web-actions { display:flex; flex-wrap:wrap; gap:8px; justify-content:space-between; align-items:center; margin-top:auto; }
.desk-web-actions a { color:var(--ink-secondary); font:13px var(--sans); text-decoration:none; }
.desk-web-actions button { color:var(--ink); background:transparent; border:1px solid var(--border-strong); border-radius:18px; padding:5px 10px; font:500 13px/20px var(--sans); cursor:pointer; }
.desk-web-actions button:disabled { opacity:.65; cursor:default; }
.desk-web-form :focus-visible, .desk-web-actions :focus-visible, .desk-search-modes :focus-visible, .desk-cover-dialog :focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.desk-web-form:focus-within { border-bottom-color:var(--yd-action); box-shadow:0 1px 0 var(--yd-action); }
.desk-web-form input:focus-visible { outline:2px solid var(--yd-action); outline-offset:-2px; border-radius:4px; }
.desk-cover-dialog { --paper:var(--chrome-bg-raised); --ink:var(--chrome-ink); background:var(--paper); color:var(--ink); border:1px solid var(--border-strong); border-radius:12px; width:min(480px, calc(100vw - 40px)); max-height:85vh; overflow:auto; padding:28px; margin:auto; box-shadow:0 14px 60px #0005; }
.desk-cover-dialog::backdrop { background:#0007; }
.desk-cover-dialog h2 { font:500 30px var(--serif); margin:0 30px 12px 0; }
.desk-cover-dialog p { font:17px/1.5 var(--sans); }
.desk-cover-dialog > p { margin:0 0 18px; }
.desk-cover-dialog .cover-status:empty { display:none; }
.desk-cover-dialog .desk-web-actions { margin-top:22px; gap:12px; }
.desk-cover-dialog .desk-web-actions button { min-height:44px; padding:10px 16px; border-color:var(--chrome-muted); color:var(--chrome-ink); }
.desk-cover-dialog .desk-web-actions .cover-save { background:var(--chrome-ink); color:var(--chrome-bg); border-color:transparent; }
.desk-cover-dialog .cover-save:disabled { opacity:.45; }
.desk-cover-dialog .cover-upload { min-height:44px; border-color:var(--chrome-muted); }
.desk-cover-dialog .cover-close { float:right; background:none; border:0; color:var(--ink); font-size:26px; cursor:pointer; }
.cover-preview { display:block; width:100%; height:240px; object-fit:contain; margin:16px 0; }
.cover-upload { display:block; width:fit-content; position:relative; }
.cover-upload input { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.cover-upload:focus-within { outline:2px solid var(--ink); outline-offset:4px; }
.dv-remove.dv-cover { left:88px; width:auto; padding:0 11px; border-radius:18px; font:500 12px/1 var(--sans); white-space:nowrap; }
.dv-remove.dv-cover::before, .dv-remove.dv-cover::after { display:none; }
.desk-object-menu > button { display:block; width:100%; margin-top:10px; padding:13px 16px; border:1px solid var(--border-strong); border-radius:8px; background:var(--paper); color:var(--ink); text-align:left; font:16px var(--sans); cursor:pointer; }
.memo-details-dialog .memo-details-cover { width:fit-content; min-height:44px; padding:10px 16px; border:1px solid var(--chrome-border); border-radius:8px; background:var(--chrome-bg-raised); color:var(--chrome-ink); font:16px var(--sans); cursor:pointer; }
.desk-chosen-cover img { display:block; width:100%; height:170px; object-fit:contain; margin-bottom:12px; }
/* A chosen memo cover uses the audio sleeve, inside the memo's existing shell.
   Artwork must not resize the object or move its neighbours on the Desk. */
.media-podcast-card.media-memo-cover-card { width:100% !important; height:164px; grid-template-columns:45% minmax(0,1fr); }
.dv-item.dv-shell .media-memo-cover-card { height:100%; }
.media-memo-cover-card .media-podcast-cover { width:100%; height:100%; min-height:0; }
.media-memo-cover-card > .media-object-play { left:45%; top:50%; }
@media(max-width:600px) {
  .desk-web-empty h2 { font-size:27px; }
  .desk-web-form input { font-size:19px; }
  .desk-web-results { padding:16px; gap:16px; }
  .desk-web-allowance { padding-left:16px; padding-right:16px; }
  .desk-search-modes button { padding-left:7px; padding-right:7px; }
}
@media(pointer:coarse) { .desk-web-actions button, .desk-web-actions a, .desk-search-modes button, .desk-web-form button { min-height:44px; } }

/* Web search and conversation share a destination, with separate composers. */
.desk-web-chat { flex:1; min-height:0; display:flex; }
.desk-web-chat > .conversation-source { flex:1; }
.desk-web-return-chat { align-self:flex-start; flex:none; margin:12px 24px 0; padding:8px 18px; min-height:44px; border:1px solid var(--border-strong); border-radius:24px; color:var(--ink); background:var(--paper); cursor:pointer; font:16px var(--serif); }
