.nav-mode-badge { align-self:flex-start; padding:1px 5px; border-radius:4px; background:var(--accent-soft); color:var(--accent-ink); font-size:10px; line-height:1.5; white-space:nowrap; letter-spacing:0; }
.nav-notifications { position:relative; overflow:visible; }
.nav-notification-count { position:absolute; right:-3px; top:-3px; display:grid; place-items:center; min-width:18px; height:18px; padding:0 4px; border:2px solid var(--bg-elev); border-radius:999px; background:var(--danger); color:var(--button-ink); font-size:10px; font-weight:700; line-height:1; pointer-events:none; }
.nav-notification-count[hidden] { display:none; }
/* Search는 화면 위에 뜨는 팝업(2026-10-25 사용자). 결과가 길면 팝업 안 결과 칸만 스크롤한다. */
.shell-search-dialog { width:min(660px,calc(100vw - 24px)); max-height:min(72dvh,640px); margin:12dvh auto auto; padding:0; color:var(--text); background:var(--glass-surface,var(--bg-elev)); border:1px solid var(--glow-line,var(--border-strong)); border-radius:var(--radius); box-shadow:var(--shadow-lg); backdrop-filter:blur(20px); overflow:hidden; }
.shell-search-dialog[open] { display:flex; flex-direction:column; animation:shell-search-in 200ms cubic-bezier(.16,1,.3,1) both; }
.shell-search-dialog::backdrop { background:rgba(0,0,0,.5); backdrop-filter:blur(4px); animation:shell-search-fade 200ms ease-out both; }
@keyframes shell-search-in { from { opacity:0; transform:translateY(-8px) scale(.98); } to { opacity:1; transform:none; } }
@keyframes shell-search-fade { from { opacity:0; } to { opacity:1; } }
@keyframes shell-result-in { from { opacity:0; transform:translateY(4px); } to { opacity:1; transform:none; } }
.shell-tools-head { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px 20px 12px; }
.shell-tools-head h2 { margin:0; font-size:var(--fs-md); font-weight:600; }
.shell-tools-close { width:36px; height:36px; border:0; border-radius:50%; color:var(--text-soft); background:transparent; font-size:24px; }
.shell-tools-close:hover { background:var(--bg-soft); }
.shell-search-form { margin:0 20px 12px; display:flex; align-items:center; gap:10px; padding:0 12px; border:1px solid var(--border-strong); border-radius:var(--radius-sm); background:var(--bg); }
.shell-search-form { transition:border-color var(--dur-fast,120ms) ease,box-shadow var(--dur-fast,120ms) ease; }
.shell-search-form:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-soft); }
.shell-search-form svg { flex:0 0 18px; width:18px; height:18px; color:var(--text-mute); }
.shell-search-input { width:100%; min-width:0; min-height:0; padding:12px 0; color:var(--text); background:transparent; border:0; border-radius:0; outline:none; box-shadow:none; }
/* 초점 표시는 바깥 입력 틀(:focus-within)이 맡는다. 안쪽 칸에 두 번째 테두리를 그리지 않는다. */
.shell-search-dialog .shell-search-input:is(:focus,:focus-visible) { outline:none !important; border:0; box-shadow:none; }
.shell-tools-status { margin:0; padding:0 20px 14px; color:var(--text-soft); font-size:var(--fs-xs); line-height:1.6; }
.shell-tools-results { overflow:visible; overscroll-behavior:contain; padding:0 8px 8px; }
.shell-search-dialog .shell-tools-results { flex:1 1 auto; min-height:0; overflow:auto; }
.shell-search-dialog .shell-result-group { animation:shell-result-in 180ms ease-out both; }
.shell-search-dialog .shell-result-link { transition:background-color var(--dur-fast,120ms) ease; }
.shell-search-dialog .shell-result-link:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; }
.shell-result-group h3 { margin:0; padding:12px 12px 6px; color:var(--text-mute); font-size:var(--fs-xs); font-weight:600; }
.shell-result-link { display:block; padding:12px; border-radius:var(--radius-sm); color:var(--text); text-decoration:none; overflow-wrap:anywhere; }
.shell-result-link:hover { background:var(--bg-soft); text-decoration:none; }
.shell-result-link strong { display:block; font-size:var(--fs-base); font-weight:600; line-height:1.55; }
.shell-result-link p { margin:5px 0 0; font-size:var(--fs-xs); color:var(--text-soft); line-height:1.6; }
.shell-result-link small { display:block; margin-top:5px; color:var(--text-mute); font-size:11px; }
.shell-notification-panel { position:fixed; z-index:60; width:min(370px,calc(100vw - 24px)); color:var(--text); background:var(--glass-surface); border:1px solid var(--glow-line); border-radius:var(--radius); box-shadow:var(--shadow-lg); backdrop-filter:blur(20px); }
.shell-notification-panel[hidden] { display:none; }
.shell-notification-panel .shell-tools-head { padding:14px 16px 10px; border-bottom:1px solid var(--border); }
.shell-notification-actions { display:flex; align-items:center; gap:8px; }
.shell-text-button { min-height:36px; padding:4px 6px; background:transparent; border:0; border-radius:var(--radius-xs); font-size:var(--fs-xs); color:var(--accent-ink); }
.shell-text-button:hover { background:var(--bg-soft); }
.shell-text-button:disabled { color:var(--text-mute); }
.shell-notification-panel .shell-tools-status { padding:12px 16px; }
.shell-notification-panel .shell-tools-results { max-height:min(55dvh,440px); overflow:auto; }
.shell-notification-row { display:flex; align-items:baseline; gap:9px; }
.shell-notification-dot { flex:0 0 6px; width:6px; height:6px; border-radius:50%; background:var(--accent); }
.shell-result-link.is-read .shell-notification-dot { background:transparent; }
.shell-result-link.is-read strong { color:var(--text-soft); font-weight:500; }
@media(max-width:600px) { .shell-tools-head { padding:12px 16px 8px; } .shell-search-form { margin:0 16px 12px; } .shell-tools-status { padding:0 16px 12px; } .shell-search-dialog { margin-top:8dvh; max-height:84dvh; } }
@media (prefers-reduced-motion:reduce) { .shell-search-dialog[open],.shell-search-dialog::backdrop,.shell-search-dialog .shell-result-group { animation:none; } }
