.media-viewer{position:fixed;inset:0;z-index:1200;display:flex;align-items:stretch;justify-content:center;padding:clamp(.65rem,2vw,1.5rem);background:color-mix(in srgb,var(--p-bg, #080e1a) 78%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);--viewer-w: calc(var(--p-maxw, 920px) * 1.08)}.media-viewer[hidden]{display:none}.media-viewer__panel{display:flex;flex-direction:column;flex:none;align-self:stretch;width:min(var(--viewer-w),100%);max-width:var(--viewer-w);min-height:0;background:var(--p-panel, #101b30);border:1px solid color-mix(in srgb,var(--p-border, rgba(91, 154, 255, .24)) 90%,transparent);border-radius:12px;overflow:hidden;box-shadow:0 0 0 1px color-mix(in srgb,var(--p-cool, #5b9aff) 8%,transparent),0 32px 90px -36px #000000b8}.media-viewer__bar{display:flex;align-items:center;gap:.75rem 1rem;flex-wrap:wrap;padding:.7rem 1rem;border-bottom:1px solid color-mix(in srgb,var(--p-border, rgba(91, 154, 255, .24)) 85%,transparent);font-family:var(--mono, "JetBrains Mono", ui-monospace, monospace);font-size:.78rem;letter-spacing:.02em;color:var(--p-dim, #5f8496);background:linear-gradient(180deg,color-mix(in srgb,var(--p-panel, #101b30) 88%,var(--p-fg, #d8ecf4) 6%),var(--p-panel, #101b30))}.media-viewer__title{flex:1 1 8rem;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--p-fg, #d8ecf4);font-weight:500}.media-viewer__meta{flex:none;color:var(--p-dim, #5f8496);font-size:.72rem;letter-spacing:.04em;text-transform:uppercase}.media-viewer__actions{display:flex;align-items:center;gap:.45rem;flex:none;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.media-viewer__zoom{display:inline-flex;align-items:stretch;flex:none;height:2rem;overflow:hidden;border:1px solid color-mix(in srgb,var(--p-border, rgba(91, 154, 255, .24)) 90%,transparent);border-radius:7px;background:color-mix(in srgb,var(--p-bg, #080e1a) 55%,transparent)}.media-viewer__zoom[hidden]{display:none}.media-viewer__zoom .media-viewer__btn{flex:none;min-width:2rem;min-height:0;height:100%;padding:0 .55rem;font-size:1rem;font-weight:500;line-height:1;text-transform:none;letter-spacing:0;border:none;border-radius:0;background:transparent;color:var(--p-fg-2, #9eb8c6)}.media-viewer__zoom .media-viewer__btn:hover,.media-viewer__zoom .media-viewer__btn:focus-visible{color:var(--p-link, #5b9aff);border:none;background:color-mix(in srgb,var(--p-link, #5b9aff) 12%,transparent);outline:none}.media-viewer__zoom .media-viewer__btn:disabled:hover,.media-viewer__zoom .media-viewer__btn:disabled:focus-visible{color:var(--p-fg-2, #9eb8c6);background:transparent}.media-viewer__zoom-label{display:inline-flex;align-items:center;justify-content:center;min-width:3.1rem;padding:0 .35rem;text-align:center;font-size:.72rem;font-variant-numeric:tabular-nums;color:var(--p-dim, #5f8496);letter-spacing:.02em;border-left:1px solid color-mix(in srgb,var(--p-border, rgba(91, 154, 255, .24)) 70%,transparent);border-right:1px solid color-mix(in srgb,var(--p-border, rgba(91, 154, 255, .24)) 70%,transparent);user-select:none}.media-viewer__btn{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;font:inherit;font-size:.72rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;line-height:1;color:var(--p-fg-2, #9eb8c6);background:color-mix(in srgb,var(--p-bg, #080e1a) 55%,transparent);border:1px solid color-mix(in srgb,var(--p-border, rgba(91, 154, 255, .24)) 90%,transparent);border-radius:7px;padding:.42rem .7rem;min-height:2rem;cursor:pointer;transition:color .15s ease,border-color .15s ease,background .15s ease}.media-viewer__btn:hover,.media-viewer__btn:focus-visible{color:var(--p-link, #5b9aff);border-color:color-mix(in srgb,var(--p-link, #5b9aff) 50%,transparent);background:color-mix(in srgb,var(--p-link, #5b9aff) 10%,transparent);outline:none}.media-viewer__btn[hidden]{display:none}.media-viewer__btn:disabled{opacity:.35;cursor:default;pointer-events:none}.media-viewer__close{min-width:2rem;padding-left:.55rem;padding-right:.55rem;font-size:1.15rem;font-weight:400;line-height:1;text-transform:none;letter-spacing:0}.media-viewer__body{flex:1;min-height:0;display:flex;align-items:stretch;justify-content:center;background:radial-gradient(ellipse 70% 55% at 50% 40%,color-mix(in srgb,var(--p-cool, #5b9aff) 6%,transparent),transparent 70%),color-mix(in srgb,var(--p-bg, #080e1a) 70%,#000)}.media-viewer__pdf-wrap{width:100%;height:100%;min-height:0;overflow:auto;scrollbar-gutter:stable}.media-viewer__pdf-wrap[hidden]{display:none}.media-viewer__pdf-pages{display:flex;flex-direction:column;align-items:center;gap:1.1rem;padding:1.1rem clamp(.75rem,2vw,1.35rem) 1.5rem;min-height:min-content;min-width:min-content}.media-viewer__page{display:block;width:auto;max-width:none;height:auto;background:#fff;border-radius:2px;box-shadow:0 1px color-mix(in srgb,#fff 40%,transparent),0 14px 40px -20px #000000bf,0 0 0 1px color-mix(in srgb,var(--p-cool, #5b9aff) 12%,transparent)}.media-viewer__status{margin:auto;padding:2.5rem 1.25rem;font-family:var(--mono, "JetBrains Mono", ui-monospace, monospace);font-size:.84rem;color:var(--p-dim, #5f8496);text-align:center;line-height:1.55}.media-viewer__pdf-pages a{display:inline-block;margin:.75rem auto 0;font-family:var(--mono, "JetBrains Mono", ui-monospace, monospace);font-size:.78rem;color:var(--p-link, #5b9aff);text-decoration:none}.media-viewer__pdf-pages a:hover{color:var(--p-cmd, #a78bfa)}.media-viewer__img{width:100%;max-width:100%;max-height:100%;object-fit:contain;padding:1rem;margin:auto}.media-viewer__img[hidden]{display:none}body.media-viewer-open{overflow:hidden}@media(max-width:560px){.media-viewer{padding:.4rem}.media-viewer__panel{border-radius:9px}.media-viewer__bar{padding:.6rem .75rem;gap:.5rem}.media-viewer__actions{width:100%}.media-viewer__actions>.media-viewer__btn{flex:1}.media-viewer__pdf-pages{gap:.85rem;padding:.75rem}}.concierge{position:fixed;inset:0;z-index:1300;display:flex;align-items:center;justify-content:center;padding:clamp(.65rem,2.5vw,1.5rem);background:color-mix(in srgb,var(--p-bg, #080e1a) 78%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.concierge[hidden]{display:none}.concierge__win{display:flex;flex-direction:column;width:min(32rem,100%);max-height:min(36rem,calc(100dvh - 2rem));background:var(--p-panel, #101b30);border:1px solid color-mix(in srgb,var(--p-border, rgba(91, 154, 255, .24)) 90%,transparent);border-radius:11px;overflow:hidden;box-shadow:0 0 0 1px color-mix(in srgb,var(--p-cool, #5b9aff) 8%,transparent),0 32px 90px -36px #000000b8;font-family:JetBrains Mono,IBM Plex Mono,ui-monospace,monospace;font-size:.875rem;line-height:1.55;color:var(--p-fg, #d8ecf4)}.concierge__titlebar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--p-border, rgba(91, 154, 255, .24));background:#ffffff05;flex:none}.concierge__dots{display:flex;gap:.45rem;justify-self:start}.concierge__dots i{width:11px;height:11px;border-radius:50%;display:block}.concierge__dots i:nth-child(1){background:#ff5f57}.concierge__dots i:nth-child(2){background:#febc2e}.concierge__dots i:nth-child(3){background:#28c840}.concierge__title{margin:0;justify-self:center;color:var(--p-dim, #5f8496);font-size:.72rem;letter-spacing:.04em;font-weight:400;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.concierge__close{justify-self:end;appearance:none;border:1px solid transparent;background:transparent;color:var(--p-dim, #5f8496);font:inherit;font-size:1.1rem;line-height:1;width:1.75rem;height:1.75rem;border-radius:6px;cursor:pointer}.concierge__close:hover{color:var(--p-fg, #d8ecf4);background:color-mix(in srgb,var(--p-fg, #d8ecf4) 8%,transparent)}.concierge__close:focus-visible{outline:2px solid var(--p-link, #5b9aff);outline-offset:2px}.concierge__body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1.1rem 1.2rem 1.25rem}.concierge__intro{margin:0 0 1rem}.concierge__badge{color:var(--p-fg, #d8ecf4);font-weight:500;font-size:1.05rem;letter-spacing:.02em;margin-bottom:.4rem}.concierge__intro p{margin:0;color:var(--p-fg-2, #9eb8c6)}.concierge__intro .muted{color:var(--p-dim, #5f8496)}.concierge__form{display:flex;flex-direction:column;gap:.85rem}.concierge__field{display:grid;grid-template-columns:5.5rem 1fr;gap:.5rem .75rem;align-items:baseline}.concierge__field--msg{align-items:start}.concierge__field label{color:var(--p-link, #5b9aff);font-size:.8rem;letter-spacing:.02em;padding-top:.45rem}.concierge__field--msg label{padding-top:.55rem}.concierge__field input,.concierge__field textarea{width:100%;appearance:none;border:1px solid color-mix(in srgb,var(--p-border, rgba(91, 154, 255, .24)) 95%,transparent);border-radius:6px;background:color-mix(in srgb,var(--p-bg, #080e1a) 70%,transparent);color:var(--p-fg, #d8ecf4);font:inherit;font-size:.875rem;padding:.45rem .65rem;line-height:1.45}.concierge__field textarea{min-height:6.5rem;resize:vertical}.concierge__field input:focus,.concierge__field textarea:focus{outline:none;border-color:color-mix(in srgb,var(--p-link, #5b9aff) 55%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--p-link, #5b9aff) 18%,transparent)}.concierge__field input::placeholder,.concierge__field textarea::placeholder{color:color-mix(in srgb,var(--p-dim, #5f8496) 75%,transparent)}.concierge__hp{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.concierge__topics{display:flex;flex-wrap:wrap;gap:.4rem;grid-column:2}.concierge__topic{appearance:none;border:1px solid color-mix(in srgb,var(--p-border, rgba(91, 154, 255, .24)) 90%,transparent);background:transparent;color:var(--p-dim, #5f8496);font:inherit;font-size:.75rem;letter-spacing:.03em;padding:.28rem .6rem;border-radius:999px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.concierge__topic:hover{color:var(--p-fg, #d8ecf4);border-color:color-mix(in srgb,var(--p-link, #5b9aff) 45%,transparent)}.concierge__topic[aria-pressed=true]{color:var(--p-bg, #080e1a);background:var(--p-cmd, #a78bfa);border-color:var(--p-cmd, #a78bfa)}.concierge__topic:focus-visible{outline:2px solid var(--p-link, #5b9aff);outline-offset:2px}.concierge__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.65rem 1rem;margin-top:.25rem;padding-left:6.25rem}.concierge__send{appearance:none;border:1px solid color-mix(in srgb,var(--p-cmd, #a78bfa) 55%,transparent);background:color-mix(in srgb,var(--p-cmd, #a78bfa) 18%,transparent);color:var(--p-fg, #d8ecf4);font:inherit;font-size:.8rem;font-weight:500;letter-spacing:.04em;padding:.45rem .95rem;border-radius:6px;cursor:pointer;transition:background .15s,border-color .15s}.concierge__send:hover:not(:disabled){background:color-mix(in srgb,var(--p-cmd, #a78bfa) 32%,transparent);border-color:var(--p-cmd, #a78bfa)}.concierge__send:disabled{opacity:.55;cursor:wait}.concierge__send:focus-visible{outline:2px solid var(--p-link, #5b9aff);outline-offset:2px}.concierge__hint{color:var(--p-dim, #5f8496);font-size:.75rem}.concierge__status{margin-top:.85rem;min-height:1.4em;font-size:.85rem}.concierge__status[data-kind=ok]{color:var(--p-ok, #9ece6a)}.concierge__status[data-kind=err]{color:var(--p-err, #f7768e)}.concierge__status[data-kind=busy]{color:var(--p-dim, #5f8496)}.concierge__fallback{margin-top:.35rem;font-size:.8rem;color:var(--p-dim, #5f8496)}.concierge__fallback a{color:var(--p-link, #5b9aff);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--p-link, #5b9aff) 40%,transparent)}.concierge__fallback a:hover{border-bottom-color:var(--p-link, #5b9aff)}.concierge__socials{display:flex;flex-wrap:wrap;gap:.85rem 1.35rem;margin-top:1.15rem;padding-top:1rem;border-top:1px solid color-mix(in srgb,var(--p-border, rgba(91, 154, 255, .24)) 80%,transparent)}.concierge__social{font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;color:var(--p-dim, #5f8496);text-decoration:none;transition:color .15s}.concierge__social:hover{color:var(--p-link, #5b9aff)}.concierge__social:focus-visible{outline:2px solid var(--p-link, #5b9aff);outline-offset:2px}@media(max-width:520px){.concierge__field{grid-template-columns:1fr;gap:.3rem}.concierge__field label{padding-top:0}.concierge__topics{grid-column:1}.concierge__actions{padding-left:0}}@media(prefers-reduced-motion:reduce){.concierge__topic,.concierge__send{transition:none}}:root{--p-bg: #080e1a;--p-panel: #101b30;--p-fg: #d8ecf4;--p-fg-2: #9eb8c6;--p-dim: #5f8496;--p-line: rgba(168, 210, 224, .14);--p-line-2: rgba(168, 210, 224, .07);--p-line-strong: rgba(168, 210, 224, .28);--p-cool: #5b9aff;--p-link: #5b9aff;--p-accent: #7aa2f7;--p-warm: #a78bfa;--p-cmd: #a78bfa;--p-ok: #9ece6a;--p-err: #f7768e;--p-border: rgba(91, 154, 255, .24);--p-ink-on-accent: #080e1a;--p-maxw: 920px;--p-gut: clamp(1.25rem, 4vw, 3.5rem);--p-grid-line: rgba(168, 210, 224, .035);--p-bg-glow: transparent;--p-panel-fill: rgba(16, 27, 48, .8);--p-panel-hover: rgba(22, 34, 58, .95);--p-portfolio-glow: rgba(91, 154, 255, .14);--p-portfolio-hatch: rgba(168, 210, 224, .045);--p-portfolio-hover: rgba(91, 154, 255, .34);--p-console-scan: rgba(167, 139, 250, .1);--p-console-glow: rgba(167, 139, 250, .18);--p-console-edge: rgba(167, 139, 250, .42);--p-console-shadow: rgba(91, 154, 255, .4);--p-graph-bg: #101b30;--p-graph-self: #d8ecf4;--p-graph-field: #5b9aff;--p-graph-project: #7aa2f7;--p-graph-writing: #a78bfa;--p-graph-skill: #9ece6a;--p-graph-place: #7dcfff;--p-graph-idea: #f7768e;--p-graph-link: rgba(168, 210, 224, .13);--p-graph-link-lit: rgba(167, 139, 250, .55);--p-graph-link-dim: rgba(168, 210, 224, .04);--p-graph-mute: rgba(90, 120, 140, .48);--p-graph-label-mute: rgba(158, 184, 198, .26)}@view-transition{navigation:auto}::view-transition-group(portfolio-switch),::view-transition-group(console-switch){animation-duration:.52s;animation-timing-function:cubic-bezier(.16,1,.3,1)}@media(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:1ms}}
