.spotlight-modal{width:min(56rem,92vw);max-width:56rem;max-height:80vh;padding:0;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:var(--bg-elev);color:var(--fg);box-shadow:var(--elev-3);overflow:hidden}.spotlight-modal::backdrop{background:color-mix(in oklch,var(--fg) 35%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.spotlight-modal{opacity:0;transition:opacity var(--motion-base) var(--ease-out),overlay var(--motion-base) var(--ease-out) allow-discrete,display var(--motion-base) var(--ease-out) allow-discrete}.spotlight-modal[open]{opacity:1}@starting-style{.spotlight-modal[open]{opacity:0}}.spotlight-inner{display:flex;flex-direction:column;max-height:80vh}.spotlight-søkerad{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);flex-shrink:0}.spotlight-ikon{display:inline-flex;color:var(--fg-muted);flex-shrink:0}.spotlight-input{flex:1;border:0;outline:0;background:transparent;color:var(--fg);font-family:var(--font-body);font-size:var(--text-base);padding:var(--space-1) 0}.spotlight-input::placeholder{color:var(--fg-faint)}.spotlight-input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.spotlight-lukk{display:inline-flex;background:transparent;border:0;cursor:pointer;padding:0}.spotlight-lukk kbd{font-family:var(--font-mono);font-size:var(--text-xs);padding:0 var(--space-2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--fg-muted)}.spotlight-kategorier{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border);background:var(--bg-sunken);flex-shrink:0}.spotlight-kat{display:inline-flex;align-items:center;gap:var(--space-1);font-family:var(--font-body);font-size:var(--text-xs);padding:var(--space-1) var(--space-2);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);color:var(--fg-soft);cursor:pointer;transition:background var(--motion-fast) var(--ease-out),color var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.spotlight-kat:hover{background:var(--bg);color:var(--fg)}.spotlight-kat.aktiv{background:var(--accent-soft);border-color:color-mix(in oklch,var(--accent) 30%,transparent);color:var(--accent);font-weight:500}.spotlight-kat kbd{font-family:var(--font-mono);font-size:.625rem;padding:0 .25rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elev);color:var(--fg-muted);line-height:1.4}.kat-shortcut{color:var(--fg-muted);font-family:var(--font-mono);font-size:.625rem}.spotlight-body{display:grid;grid-template-columns:minmax(20rem,38fr) minmax(0,62fr);flex:1;min-height:0}.spotlight-liste{border-right:1px solid var(--border);overflow-y:auto;padding:var(--space-2);background:var(--bg);min-height:0}.spotlight-gruppe-header{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-2) var(--space-2) var(--space-1);margin-top:var(--space-2)}.spotlight-gruppe-header:first-child{margin-top:0}.spotlight-rad{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);cursor:pointer;border:1px solid transparent;transition:background var(--motion-fast) var(--ease-out),border-color var(--motion-fast) var(--ease-out)}.spotlight-rad.valgt{background:var(--accent-soft);border-color:color-mix(in oklch,var(--accent) 25%,transparent)}.spotlight-rad-badge{font-family:var(--font-mono);font-size:.625rem;font-weight:600;letter-spacing:.05em;padding:.125rem var(--space-1);border-radius:var(--radius-sm);background:var(--bg-sunken);color:var(--fg-muted);flex-shrink:0;min-width:3.5rem;text-align:center}.spotlight-rad-badge.type-kurs,.spotlight-rad-badge.type-delkapittel{background:var(--accent-soft);color:var(--accent)}.spotlight-rad-badge.type-teori{background:var(--good-soft);color:var(--good)}.spotlight-rad-badge.type-oppgave{background:var(--bg-sunken);color:var(--fg)}.spotlight-rad-badge.type-konsept{background:var(--good-soft);color:var(--good)}.spotlight-rad-badge.type-misopp{background:var(--warn-soft);color:var(--warn)}.spotlight-rad-inner{flex:1;min-width:0}.spotlight-rad-tittel{font-size:var(--text-sm);color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.spotlight-rad.valgt .spotlight-rad-tittel{font-weight:500}.spotlight-rad-sub{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.0625rem}.spotlight-rad-markør{font-family:var(--font-mono);font-size:.625rem;font-weight:600;letter-spacing:.05em;padding:.125rem var(--space-1);border:1px solid currentColor;border-radius:var(--radius-sm);flex-shrink:0}.spotlight-empty{padding:var(--space-5);text-align:center;color:var(--fg-muted);font-size:var(--text-sm)}.spotlight-preview{overflow-y:auto;padding:var(--space-5) var(--space-6);background:var(--bg-elev);min-height:0}.spotlight-preview-tom{color:var(--fg-faint);font-style:italic;margin-top:var(--space-5);text-align:center}.spotlight-preview-tittel{font-family:var(--font-serif);font-size:var(--text-lg);font-weight:500;margin:0 0 var(--space-1);letter-spacing:-.01em}.spotlight-preview-sub{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-4)}.spotlight-preview-besk{font-size:var(--text-sm);color:var(--fg-soft);line-height:1.55;margin:0 0 var(--space-4)}.spotlight-preview-meta{display:grid;grid-template-columns:max-content 1fr;column-gap:var(--space-4);row-gap:var(--space-2);margin:0 0 var(--space-4);padding:var(--space-3) var(--space-4);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md)}.spotlight-preview-meta dt{font-size:var(--text-xs);color:var(--fg-muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em}.spotlight-preview-meta dd{margin:0;font-size:var(--text-sm);color:var(--fg)}.spotlight-preview-seksjon{margin-bottom:var(--space-4)}.spotlight-preview-seksjon h3{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--fg-muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 var(--space-2);font-weight:600}.spotlight-preview-seksjon ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1)}.spotlight-preview-seksjon li a{display:block;padding:var(--space-1) var(--space-2);font-size:var(--text-sm);color:var(--fg-soft);border-radius:var(--radius-sm);border:1px solid transparent}.spotlight-preview-seksjon li a:hover{background:var(--bg);color:var(--accent);border-color:var(--border);text-decoration:none}.spotlight-preview-mer{font-size:var(--text-xs);color:var(--fg-muted);margin-top:var(--space-1);text-align:center}.spotlight-preview-action{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);margin-top:var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;background:var(--accent);color:var(--bg-elev);border:0;border-radius:var(--radius-md);cursor:pointer;transition:filter var(--motion-fast) var(--ease-out)}.spotlight-preview-action:hover{filter:brightness(1.08)}.spotlight-preview-action kbd{font-family:var(--font-mono);font-size:var(--text-xs);padding:0 var(--space-1);border:1px solid color-mix(in oklch,var(--bg-elev) 40%,transparent);border-radius:var(--radius-sm)}.spotlight-hint{display:flex;gap:var(--space-4);padding:var(--space-2) var(--space-4);border-top:1px solid var(--border);background:var(--bg-sunken);font-size:var(--text-xs);color:var(--fg-muted);flex-shrink:0}.spotlight-hint kbd{font-family:var(--font-mono);font-size:var(--text-xs);padding:0 var(--space-1);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--fg);line-height:1.4;margin-right:var(--space-1)}@media(max-width:720px){.spotlight-modal{width:96vw}.spotlight-body{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.spotlight-liste{border-right:0;border-bottom:1px solid var(--border)}}
