/* GENERATED by scripts/build-hephforge-kit.mjs. Do not hand-edit. */
.sw-trigger { display: inline-flex; align-items: center; gap: .45rem; height: 2rem; padding: 0 .7rem; border-radius: 9px; border: 1px solid var(--line); background: transparent; color: var(--muted); font-family: var(--font-mono); font-size: .6875rem; letter-spacing: .12em; text-transform: uppercase; cursor: pointer; transition: color .15s ease, border-color .15s ease, background .15s ease; }
.sw-trigger:hover, .sw-trigger[aria-expanded="true"] { color: var(--ink); border-color: var(--forge-accent-line); background: var(--forge-accent-wash); }
.sw-trigger svg { width: .8rem; height: .8rem; }
.sw-drawer[hidden], .sw-scrim[hidden] { display: none !important; }
.sw-scrim { position: fixed; inset: 0; z-index: 90; background: color-mix(in srgb, var(--void) 55%, transparent); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); }
.sw-drawer { position: fixed; z-index: 91; top: 0; bottom: 0; left: 0; width: min(26rem, 100vw); display: flex; flex-direction: column; background: var(--panel); border-right: 1px solid var(--line); box-shadow: 30px 0 80px -30px rgba(0,0,0,.6); font-family: var(--font-body); }
.sw-head { display: flex; align-items: center; justify-content: space-between; padding: 1.1rem 1.25rem .4rem; }
.sw-mark { display: inline-flex; align-items: center; gap: .5rem; }
.sw-heph { width: 1.5rem; height: 1.5rem; color: #E8D5A3; }
.sw-wm { font-family: var(--font-display); font-size: 1.15rem; font-weight: 500; color: var(--ink); letter-spacing: -.01em; }
.sw-wm b { font-weight: 700; color: #E8D5A3; }
.sw-close { display: grid; place-items: center; width: 2rem; height: 2rem; padding: 0; border-radius: 8px; border: 1px solid var(--line); background: transparent; color: var(--muted); cursor: pointer; }
.sw-close:hover { color: var(--ink); }
.sw-close svg { width: 1rem; height: 1rem; }
.sw-lede { margin: 0; padding: 0 1.25rem 1rem; font-size: .8125rem; color: var(--faint); border-bottom: 1px solid var(--line-soft); }
.sw-body { flex: 1; overflow-y: auto; padding: .5rem .75rem 1rem; }
.sw-group h3 { display: flex; align-items: baseline; gap: .6rem; margin: 1rem .5rem .45rem; font-family: var(--font-mono); font-size: .6875rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.sw-group h3 span { letter-spacing: .02em; text-transform: none; color: var(--faint); }
.sw-group ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: .15rem; }
.sw-item { display: flex; align-items: center; gap: .8rem; padding: .55rem .5rem; border-radius: 11px; text-decoration: none; color: inherit; border: 1px solid transparent; transition: background .15s ease, border-color .15s ease; }
.sw-item:hover, .sw-item:focus-visible { background: color-mix(in srgb, var(--forge-c) 8%, transparent); border-color: color-mix(in srgb, var(--forge-c) 28%, transparent); outline: none; }
.sw-item.is-here { background: color-mix(in srgb, var(--forge-c) 7%, transparent); border-color: color-mix(in srgb, var(--forge-c) 30%, transparent); }
.sw-tile { flex: none; display: grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 10px; background: color-mix(in srgb, var(--forge-c) 10%, var(--panel-2)); border: 1px solid color-mix(in srgb, var(--forge-c) 22%, transparent); }
.sw-ficon { width: 1.3rem; height: 1.3rem; color: var(--forge-c); }
.sw-text { display: flex; flex-direction: column; min-width: 0; }
.sw-name { font-family: var(--font-display); font-size: .9375rem; font-weight: 500; color: var(--ink); letter-spacing: -.01em; display: flex; align-items: center; gap: .5rem; }
.sw-name b { color: var(--forge-c); font-weight: 700; margin-right: -.5rem; }
.sw-name em { font-style: normal; font-family: var(--font-mono); font-size: .5625rem; letter-spacing: .1em; text-transform: uppercase; color: var(--forge-c); border: 1px solid color-mix(in srgb, var(--forge-c) 40%, transparent); border-radius: 5px; padding: .05rem .35rem; }
.sw-text small { font-size: .75rem; color: var(--faint); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sw-foot { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1.25rem 1.1rem; border-top: 1px solid var(--line-soft); font-size: .75rem; color: var(--faint); }
.sw-foot a { color: var(--forge-accent); font-weight: 600; text-decoration: none; }
@media (prefers-reduced-motion: no-preference) {
  .sw-drawer:not([hidden]) { animation: sw-in .28s cubic-bezier(.2,.8,.2,1); }
  .sw-scrim:not([hidden]) { animation: sw-fade .2s ease; }
  .sw-drawer:not([hidden]) .sw-item { animation: sw-item .35s cubic-bezier(.2,.8,.2,1) both; animation-delay: calc(var(--i, 0) * 22ms + 60ms); }
}
@keyframes sw-in { from { transform: translateX(-24px); opacity: 0; } }
@keyframes sw-fade { from { opacity: 0; } }
@keyframes sw-item { from { transform: translateX(-10px); opacity: 0; } }
@media (max-width: 520px) { .sw-drawer { width: 100vw; border-right: 0; } }
