@import "https://fonts.googleapis.com/css2?family=Bungee+Spice&family=Stack+Sans+Notch:wght@400;500;600;700&display=swap";:root{--pixel-bg:#171310;--pixel-panel:#201a13;--pixel-panel-alt:#2a2118;--pixel-ink:#f6efe4;--pixel-ink-dim:#d8cdbb;--pixel-accent:#fbbf24;--pixel-accent2:#f97316;--pixel-amber:#fde047;--pixel-title:#fde047;--pixel-orange:#fb923c;--pixel-red:#f87171;--pixel-pink:#f0abfc;--pixel-border:#4a3f32;--pixel-border-light:#5b4c3c;--pixel-dark:#100c07;--shadow-hard:4px 4px 0 0 #100c078c;--shadow-soft:2px 2px 0 0 #100c0780;--font-display:"Bungee Spice","Bungee",system-ui,sans-serif;--font-body:"Stack Sans Notch",system-ui,-apple-system,sans-serif}html[data-theme=orange]{--pixel-accent:#fb923c;--pixel-accent2:#f87171;--pixel-title:#fdba74}html[data-theme=red]{--pixel-accent:#f87171;--pixel-accent2:#fb923c;--pixel-title:#fca5a5}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scrollbar-color:var(--pixel-border)var(--pixel-bg);scrollbar-width:auto}body{background-color:var(--pixel-bg);color:var(--pixel-ink);font-family:var(--font-body);letter-spacing:.005em;text-rendering:optimizeLegibility;background-image:radial-gradient(circle at 12% 20%,#2a2118 0,#171310 45%,#0c0906 100%),radial-gradient(circle,#5b4c3c33 1px,#0000 1px);background-size:auto,26px 26px;font-size:1.0625rem;line-height:1.65}body:after{content:"";z-index:9999;pointer-events:none;background:repeating-linear-gradient(0deg,#0c09062e 0 1px,#0000 1px 4px);position:fixed;inset:0}body.crt-off:after{display:none}html[data-zoom=compact]{font-size:14px}html[data-zoom=comfortable]{font-size:18px}html[data-background=grid] body{background-image:radial-gradient(circle at 12% 20%,#2a2118 0,#171310 45%,#0c0906 100%),repeating-linear-gradient(0deg,#5b4c3c40 0 1px,#0000 1px 26px),repeating-linear-gradient(90deg,#5b4c3c40 0 1px,#0000 1px 26px);background-size:auto,26px 26px,26px 26px}html[data-background=plain] body{background-image:radial-gradient(circle at 12% 20%,#2a2118 0,#171310 45%,#0c0906 100%);background-size:auto}body.crt-glitch:before{content:"";z-index:9998;pointer-events:none;background:repeating-linear-gradient(0deg,#0b080538 0 2px,#0000 2px 5px),repeating-linear-gradient(90deg,#100c0726 0 1px,#0000 1px 7px);animation:.9s steps(2,end) infinite pixel-glitch;position:fixed;inset:0}@keyframes pixel-glitch{0%{opacity:.5;transform:translate(0)}25%{opacity:.85;transform:translate(-2px,1px)}50%{opacity:.3;transform:translate(2px,-1px)}75%{opacity:.65;transform:translate(-1px)}to{opacity:.5;transform:translateY(1px)}}::selection{background:var(--pixel-accent);color:var(--pixel-dark)}::-webkit-scrollbar{width:14px;height:14px}::-webkit-scrollbar-track{background:var(--pixel-bg)}::-webkit-scrollbar-thumb{background:var(--pixel-panel-alt);border:2px solid var(--pixel-border)}::-webkit-scrollbar-thumb:hover{background:var(--pixel-border)}.app-main{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:4rem 1rem;display:flex}.app-layout{grid-template-columns:minmax(18rem,24rem) 1fr;justify-content:center;align-items:start;gap:2.5rem;width:100%;max-width:82rem;display:grid}.app-dock{position:sticky;top:2rem}.app-column{flex-direction:column;justify-self:center;align-items:center;gap:2.5rem;width:100%;max-width:40rem;display:flex}.app-column--empty{text-align:center;border:2px dashed var(--pixel-border);clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);justify-content:center;min-height:16rem}.stack-enter-active,.stack-leave-active,.stack-move{transition:opacity .18s steps(2,end),transform .18s steps(2,end)}.stack-enter-from{opacity:0;transform:translateY(-8px)}.stack-leave-to{opacity:0}.stack-leave-active{z-index:1;width:100%;position:absolute}.pixel-window{background:linear-gradient(180deg,var(--pixel-panel)0%,var(--pixel-panel-alt)100%);border:2px solid var(--pixel-border);clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);filter:drop-shadow(4px 4px #100c078c);width:100%;scroll-margin-top:2rem;box-shadow:inset 2px 0 #fff4e60d,inset 0 2px #fff4e60d,inset -2px 0 #0006,inset 0 -2px #0006}.pixel-window--highlight{animation:.7s steps(2,end) 2 pixel-highlight}@keyframes pixel-highlight{0%{box-shadow:0 0 0 2px var(--pixel-accent),0 0 0 5px #fbbf2466,4px 4px 0 0 #100c078c}to{box-shadow:0 0 #fbbf2400,0 0 #fbbf2400,4px 4px #100c078c}}.pixel-window__bar{text-align:left;width:100%;color:var(--pixel-ink);border:0;border-bottom:2px solid var(--pixel-border);cursor:pointer;background:linear-gradient(#241c12 0%,#1a140c 100%);align-items:center;gap:.75rem;padding:1rem 1.5rem 1.125rem;font-family:inherit;transition:background .12s steps(2,end);display:flex;position:relative}.pixel-window__bar:hover{background:linear-gradient(#2a2118 0%,#201a13 100%)}.pixel-window__bar:focus-visible{outline:2px solid var(--pixel-accent);outline-offset:-2px}.pixel-window__bar:after{content:"";background-image:repeating-conic-gradient(from 0deg,var(--pixel-amber)0% 25%,var(--pixel-accent2)0% 50%);background-size:8px 4px;height:4px;position:absolute;bottom:0;left:0;right:0}.pixel-window__title{font-family:var(--font-display);color:var(--pixel-title);font-size:1.125rem;line-height:1.2}.pixel-window__chrome{gap:.375rem;margin-left:auto;display:inline-flex}.pixel-window__chrome i{background:var(--pixel-panel-alt);border:1px solid var(--pixel-border-light);width:.625rem;height:.625rem;display:block;box-shadow:1px 1px #0006}.pixel-window__chrome i:first-child{background:var(--pixel-red)}.pixel-window__chrome i:nth-child(2){background:var(--pixel-amber)}.pixel-window__chrome i:nth-child(3){background:var(--pixel-orange)}.pixel-window__toggle{font-family:var(--font-body);color:var(--pixel-ink-dim);flex-shrink:0;font-size:1.25rem;font-weight:600;line-height:1;transition:color .12s steps(2,end)}.pixel-window__bar:hover .pixel-window__toggle{color:var(--pixel-accent)}.pixel-window__content{padding:2rem 2rem 2.25rem}.about-content{text-align:left;flex-direction:column;align-items:center;display:flex}.pixel-title{font-family:var(--font-display)}.pixel-section-title{font-family:var(--font-display);color:var(--pixel-title);margin-bottom:.75rem;font-size:.875rem;line-height:1.25}.pixel-name{font-family:var(--font-display);text-align:center;color:var(--pixel-title);margin-bottom:.75rem;font-size:1.75rem;line-height:1.25}.pixel-name:after{content:"▌";font-family:var(--font-body);color:var(--pixel-accent);margin-left:.25rem;font-weight:400;animation:1s step-end infinite pixel-blink}.pixel-lede{text-align:center;max-width:65ch;color:var(--pixel-ink);text-wrap:pretty;margin-bottom:1rem;font-size:1.125rem;line-height:1.7}.pixel-avatar{object-fit:cover;width:6.5rem;height:6.5rem;image-rendering:pixelated;border:2px solid var(--pixel-accent);border-radius:2px;margin-bottom:1rem;transition:transform .15s steps(2,end);box-shadow:3px 3px #100c078c}.pixel-avatar:hover{transform:scale(1.05)}.pixel-tags{flex-wrap:wrap;justify-content:center;gap:1rem;margin:1rem 0;display:flex}.pixel-chip{font-family:var(--font-body);color:var(--pixel-ink);background:var(--pixel-panel-alt);border:1px solid var(--pixel-border);clip-path:polygon(4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px),0 4px);box-shadow:var(--shadow-soft);border-radius:2px;align-items:center;padding:.25rem .75rem;font-size:.9375rem;font-weight:500;line-height:1.4;display:inline-flex}.pixel-chip--amber{color:#fef08a;border-color:#fde0478c}.pixel-chip--orange{color:#fed7aa;border-color:#fb923c8c}.pixel-chip--red{color:#fecaca;border-color:#f871718c}.pixel-card{text-align:left;border:1px solid var(--pixel-border);width:100%;max-width:65ch;box-shadow:inset 1px 1px 0 0 #fff4e60a,var(--shadow-soft);background:#100c0759;border-radius:2px;margin-bottom:1.5rem;padding:1.5rem}.pixel-card:last-child{margin-bottom:0}.pixel-list{max-width:65ch;padding-left:1.5rem;list-style:none}.pixel-list li{color:var(--pixel-ink);text-wrap:pretty;margin-bottom:.75rem;font-size:1rem;line-height:1.6;position:relative}.pixel-list li:before{content:"▸";color:var(--pixel-accent);position:absolute;left:-1.5rem}.pixel-list strong{color:var(--pixel-ink);font-weight:600}.pixel-link{color:var(--pixel-amber);background-image:repeating-linear-gradient(90deg,var(--pixel-accent2)0 5px,transparent 5px 8px);background-position:0 100%;background-repeat:no-repeat;background-size:100% 2px;padding-bottom:2px;text-decoration:none;transition:color .12s steps(2,end);position:relative}.pixel-link:hover{color:#fde047}.pixel-link-btn{font-family:var(--font-body);letter-spacing:.01em;color:#fde047;background:var(--pixel-panel-alt);border:2px solid var(--pixel-accent);clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px);filter:drop-shadow(2px 2px #100c0780);border-radius:2px;padding:.5rem 1rem;font-size:1rem;font-weight:600;line-height:1.4;text-decoration:none;transition:background .12s steps(2,end),color .12s steps(2,end),transform .12s steps(2,end);display:inline-block}.pixel-link-btn:hover{background:var(--pixel-accent);color:var(--pixel-dark)}.pixel-link-btn:active{filter:drop-shadow(1px 1px #100c0780);transform:translate(1px,1px)}.pixel-link-btn:focus-visible{outline:2px solid var(--pixel-red);outline-offset:2px}.pixel-link-btn:disabled{opacity:.45;cursor:not-allowed;filter:none}.project-grid{flex-direction:column;align-items:stretch;gap:2rem;display:flex}@media (min-width:768px){.project-grid{flex-direction:row}.project-grid__main{flex:2}.project-grid__side{flex:1}}.project-card{border:1px solid var(--pixel-border);box-shadow:var(--shadow-hard);background:#100c0759;border-radius:2px;flex-direction:column;justify-content:space-between;padding:1.5rem;transition:transform .12s steps(2,end),box-shadow .12s steps(2,end);display:flex}.project-card:hover{transform:translate(-2px,-2px);box-shadow:6px 6px #100c078c}.project-card__title{font-family:var(--font-display);color:var(--pixel-title);margin-bottom:1rem;font-size:1.125rem;line-height:1.25}.project-card__desc{max-width:65ch;color:var(--pixel-ink);text-wrap:pretty;margin-bottom:1.5rem;font-size:1rem;line-height:1.65}.project-card__link{align-self:flex-end;margin-top:auto}.tech-stack__label{color:var(--pixel-accent);margin-bottom:.75rem;font-size:1rem;font-weight:600}.tech-grid{grid-template-columns:1fr;gap:1rem;display:grid}.tech-card{border:1px solid var(--pixel-border);box-shadow:var(--shadow-soft);background:#100c0759;border-radius:2px;padding:1rem}.tech-card__title{color:var(--pixel-title);margin-bottom:.25rem;font-size:1rem;font-weight:600}.tech-card--backend .tech-card__title{color:var(--pixel-pink)}.tech-card--deploy .tech-card__title{color:var(--pixel-orange)}.tech-card ul{margin-top:.25rem;padding-left:1.25rem;list-style:none}.tech-card li{color:var(--pixel-ink);font-size:.9375rem;line-height:1.55;position:relative}.tech-card li:before{content:"▸";color:var(--pixel-ink-dim);position:absolute;left:-1.25rem}.tech-how{flex-direction:column;gap:1.5rem;width:100%;display:flex}.tech-how__lead{color:var(--pixel-ink);text-wrap:pretty;max-width:65ch;font-size:1rem;line-height:1.65}.tech-diagram{border:1px solid var(--pixel-border);box-shadow:inset 1px 1px 0 0 #fff4e60a,var(--shadow-soft);background:#100c0759;border-radius:2px;flex-direction:column;align-items:center;gap:1rem;padding:1.25rem 1rem;display:flex}.tech-diagram__flow{flex-direction:column;align-items:stretch;gap:.75rem;width:100%;display:flex}.tech-diagram__node{background:var(--pixel-panel-alt);border:1px solid var(--pixel-border);clip-path:polygon(4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px),0 4px);box-shadow:var(--shadow-soft);border-radius:2px;flex-direction:column;gap:.25rem;padding:.75rem 1rem;display:flex}.tech-diagram__node-title{font-family:var(--font-display);color:var(--pixel-title);font-size:.8125rem;line-height:1.25}.tech-diagram__node--amber .tech-diagram__node-title{color:#fde047}.tech-diagram__node--orange .tech-diagram__node-title{color:#fb923c}.tech-diagram__node--red .tech-diagram__node-title{color:#f87171}.tech-diagram__node-sub{color:var(--pixel-ink-dim);overflow-wrap:anywhere;font-size:.75rem;line-height:1.4}.tech-diagram__arrow{font-family:var(--font-display);color:var(--pixel-accent);filter:drop-shadow(2px 2px #100c0780);align-self:center;font-size:1.25rem;line-height:1;transform:rotate(90deg)}.tech-diagram__note{color:#fef08a;background:var(--pixel-panel-alt);clip-path:polygon(4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px),0 4px);box-shadow:var(--shadow-soft);text-align:center;border:1px solid #fde0478c;border-radius:2px;align-items:center;padding:.25rem .75rem;font-size:.8125rem;font-weight:600;line-height:1.4;display:inline-flex}.model-flow{flex-direction:column;align-items:stretch;gap:1rem;display:flex}.model-arrow{font-family:var(--font-display);color:var(--pixel-accent);filter:drop-shadow(2px 2px #100c0780);align-self:center;font-size:1.5rem;line-height:1;transform:rotate(90deg)}.model-card{border:1px solid var(--pixel-border);min-width:0;box-shadow:var(--shadow-soft);background:#100c0759;border-radius:2px;flex-direction:column;gap:.75rem;padding:1.25rem;transition:border-color .12s steps(2,end),transform .12s steps(2,end),box-shadow .12s steps(2,end);display:flex}.model-card:hover{border-color:var(--pixel-border-light);box-shadow:var(--shadow-hard);transform:translate(-1px,-1px)}.model-card__head{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.model-card__step{font-family:var(--font-display);filter:drop-shadow(2px 2px #100c0780);font-size:1.5rem;line-height:1}.model-card__step--amber{color:#fde047}.model-card__step--orange{color:#fb923c}.model-card__step--red{color:#f87171}.model-card__title{font-family:var(--font-display);color:var(--pixel-title);min-width:0;font-size:.9375rem;line-height:1.3}.model-card__desc{color:var(--pixel-ink);text-wrap:pretty;flex:1;font-size:.9375rem;line-height:1.6}.model-card__tags{flex-wrap:wrap;justify-content:flex-start;gap:.5rem;margin:0}.model-card__tags .pixel-chip{padding:.1rem .5rem;font-size:.75rem}.model-card__link{align-self:flex-start;padding:.3rem .75rem;font-size:.8125rem}@media (min-width:768px){.tech-diagram__flow{flex-direction:row;justify-content:center;align-items:stretch}.tech-diagram__node{flex:1;justify-content:center;min-width:0;max-width:14rem}.tech-diagram__arrow{align-self:center;transform:none}.model-flow{flex-direction:row;align-items:stretch}.model-card{flex:1;min-width:0}.model-arrow{align-self:center;transform:none}}.pixel-contact{flex-direction:column;align-items:center;gap:1.25rem;margin-top:.5rem;display:flex}@media (min-width:768px){.pixel-contact{flex-direction:row;justify-content:center;gap:2rem}}.pixel-contact__link{color:var(--pixel-ink);align-items:center;gap:.5rem;font-size:1.125rem;font-weight:500;line-height:1.4;text-decoration:none;transition:color .12s steps(2,end),transform .12s steps(2,end);display:inline-flex}.pixel-contact__link:hover{transform:translate(2px)}.pixel-contact__link--linkedin:hover{color:var(--pixel-orange)}.pixel-contact__link--github:hover{color:var(--pixel-amber)}.pixel-contact__link svg{flex-shrink:0}@keyframes pixel-blink{0%,49%{opacity:1}50%,to{opacity:0}}.fade-in-section{animation:.4s steps(2,end) both pixel-fade-in}@keyframes pixel-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-enter-active,.fade-leave-active{transition:opacity .18s steps(2,end),transform .18s steps(2,end)}.fade-enter-from,.fade-leave-to{opacity:0;transform:translateY(-4px)}@media (max-width:480px){.pixel-window__bar{padding:.75rem 1rem .875rem}.ai-panel__bar{padding:.5rem 1rem .625rem}.pixel-window__title{font-size:.875rem}.pixel-window__content{padding:1.25rem}.pixel-name{font-size:1.375rem}.pixel-section-title{font-size:.75rem}.pixel-lede{font-size:1rem}.pixel-window__toggle{font-size:1.125rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.ai-panel{background:linear-gradient(180deg,var(--pixel-panel)0%,var(--pixel-panel-alt)100%);border:2px solid var(--pixel-border);clip-path:polygon(8px 0,calc(100% - 8px) 0,100% 8px,100% calc(100% - 8px),calc(100% - 8px) 100%,8px 100%,0 calc(100% - 8px),0 8px);filter:drop-shadow(4px 4px #100c078c);flex-direction:column;width:100%;max-width:65ch;height:calc(100dvh - 4rem);margin:1rem 0 1.5rem;display:flex;box-shadow:inset 2px 0 #fff4e60d,inset 0 2px #fff4e60d,inset -2px 0 #0006,inset 0 -2px #0006}.ai-panel__bar{border-bottom:2px solid var(--pixel-border);background:linear-gradient(#241c12 0%,#1a140c 100%);align-items:center;gap:.75rem;width:100%;padding:.75rem 1.5rem .875rem;display:flex;position:relative}.ai-panel__bar:after{content:"";background-image:repeating-conic-gradient(from 0deg,var(--pixel-amber)0% 25%,var(--pixel-accent2)0% 50%);background-size:8px 4px;height:4px;position:absolute;bottom:0;left:0;right:0}.ai-panel__title{font-family:var(--font-display);color:var(--pixel-title);font-size:1rem;line-height:1.2}.ai-panel__body{flex-direction:column;flex:1;gap:.875rem;min-height:0;padding:1rem;display:flex;overflow:hidden}.pixel-chat__hero{align-items:center;gap:.75rem;padding:.25rem 0 0;display:flex}.pixel-chat__hero-avatar{object-fit:cover;width:2.75rem;height:2.75rem;image-rendering:pixelated;border:2px solid var(--pixel-accent);border-radius:2px;margin-bottom:0;box-shadow:2px 2px #100c078c}.pixel-chat__hero-copy{flex-direction:column;gap:.125rem;min-width:0;display:flex}.pixel-chat__hero-copy>*{margin:0}.pixel-chat__hero-title{font-family:var(--font-display);color:var(--pixel-title);font-size:1.125rem;line-height:1.2}.pixel-chat__hero-sub{color:var(--pixel-ink-dim);font-size:.875rem;line-height:1.4}.ai-status{border:1px solid var(--pixel-border);box-shadow:var(--shadow-soft);background:#100c0759;border-radius:2px;flex-wrap:wrap;align-items:center;gap:.75rem;padding:.5rem .75rem;font-size:.875rem;display:flex}.ai-status__badge{letter-spacing:.08em;text-transform:uppercase;color:var(--pixel-ink-dim);border:1px solid var(--pixel-border-light);border-radius:2px;padding:.1rem .5rem;font-size:.75rem;font-weight:600;line-height:1.4}.ai-status__badge--checking,.ai-status__badge--loading{color:#fde68a;border-color:#fbbf2480}.ai-status__badge--ready{color:#a7f3d0;border-color:#34d39980}.ai-status__badge--error{color:#fecaca;border-color:#f8717180}.ai-status__device{color:var(--pixel-accent);font-weight:600}.ai-status__file{color:var(--pixel-ink-dim);text-overflow:ellipsis;white-space:nowrap;max-width:12rem;overflow:hidden}.ai-status__load,.ai-status__clear{margin-left:auto;padding:.25rem .75rem;font-size:.8125rem}.ai-progress{border:1px solid var(--pixel-border);height:.75rem;box-shadow:var(--shadow-soft);background:#100c0780;border-radius:2px;overflow:hidden}.ai-progress__bar{background-image:repeating-conic-gradient(from 0deg,var(--pixel-amber)0% 25%,var(--pixel-accent2)0% 50%);background-size:10px 6px;height:100%;transition:width .12s steps(4,end);display:block}.ai-error{color:var(--pixel-red);font-size:.9rem}.pixel-chat{border:1px solid var(--pixel-border);background:#100c0773;border-radius:2px;flex-direction:column;flex:1;gap:.625rem;min-height:0;padding:1rem;display:flex;overflow-y:auto;box-shadow:inset 2px 2px #0006}.pixel-msg{border:1px solid var(--pixel-border);max-width:85%;box-shadow:var(--shadow-soft);clip-path:polygon(6px 0,calc(100% - 6px) 0,100% 6px,100% calc(100% - 6px),calc(100% - 6px) 100%,6px 100%,0 calc(100% - 6px),0 6px);border-radius:2px;padding:.625rem .875rem;font-size:.9375rem;line-height:1.55}.pixel-msg p{margin:0}.pixel-msg__text{white-space:pre-wrap;word-break:break-word}.pixel-msg--user{border-color:var(--pixel-border-light);background:linear-gradient(#2a2118 0%,#241c12 100%);align-self:flex-end}.pixel-msg--user p{color:var(--pixel-ink)}.pixel-msg--ai{background:linear-gradient(#1d1710 0%,#19130d 100%);align-self:flex-start;align-items:flex-start;gap:.625rem;display:flex}.pixel-msg--ai p{color:var(--pixel-ink)}.pixel-chat__bubble-avatar{object-fit:cover;width:1.75rem;height:1.75rem;image-rendering:pixelated;border:2px solid var(--pixel-accent);border-radius:2px;flex-shrink:0;box-shadow:2px 2px #100c078c}.pixel-msg__body{flex:1;min-width:0;max-width:44ch}.pixel-msg__markdown>:first-child{margin-top:0}.pixel-msg__markdown>:last-child{margin-bottom:0}.pixel-msg__markdown p{white-space:pre-wrap;word-break:break-word;margin:.375rem 0}.pixel-msg__markdown ul,.pixel-msg__markdown ol{margin:.375rem 0;padding-left:1.25rem}.pixel-msg__markdown li{margin:.1875rem 0}.pixel-msg__markdown strong{color:var(--pixel-ink);font-weight:700}.pixel-msg__markdown em{color:var(--pixel-ink)}.pixel-msg__markdown code{color:var(--pixel-amber);border:1px solid var(--pixel-border);background:#100c078c;border-radius:2px;padding:.05rem .3rem;font-family:ui-monospace,SF Mono,Cascadia Code,JetBrains Mono,monospace;font-size:.85em}.pixel-msg__cursor{background:var(--pixel-accent);vertical-align:text-bottom;width:.5em;height:1em;animation:1s step-end infinite pixel-blink;display:inline-block}.pixel-msg--tool{color:var(--pixel-ink-dim);letter-spacing:.04em;text-transform:uppercase;background:#100c078c;align-self:center;padding:.3rem .75rem;font-size:.8125rem;font-weight:600}.pixel-msg--tool:before{content:"»";color:var(--pixel-accent);margin-right:.25rem}.pixel-msg--tool-result{background:#100c078c;align-self:stretch}.pixel-msg__dim{color:var(--pixel-ink-dim);margin-top:.375rem;font-size:.8125rem}.pixel-msg--error{color:var(--pixel-red);background:#f8717114;border-color:#f8717180;align-self:center}.pixel-msg--status{flex-direction:column;align-self:stretch;gap:.375rem;display:flex}.pixel-msg__progress{width:100%}.pixel-chat__new{flex-shrink:0;margin-left:auto;padding:.2rem .625rem;font-size:.8125rem}.pixel-chat__replies{flex-wrap:wrap;justify-content:flex-start;gap:.375rem;padding:0 .125rem .25rem;display:flex}.pixel-chat__empty{text-align:center;flex-direction:column;align-items:center;gap:.75rem;margin:auto;padding:.5rem 0;display:flex}.pixel-chat__hint{color:var(--pixel-ink-dim);max-width:34ch;font-size:.9375rem}.pixel-chat__examples{justify-content:center;gap:.5rem;margin:0}.pixel-chat__example{cursor:pointer;padding:.2rem .625rem;font-size:.8125rem}.pixel-chat__example:hover{background:var(--pixel-accent);color:var(--pixel-dark);border-color:var(--pixel-accent)}.pixel-chat__example:disabled{opacity:.5;cursor:not-allowed}.pixel-chat__example:focus-visible{outline:2px solid var(--pixel-accent);outline-offset:2px}.pixel-chat__shuffle{padding:.2rem .625rem;font-size:.8125rem}.pixel-chat__input{flex-shrink:0;gap:.75rem;display:flex}.pixel-chat__field{min-width:0;font-family:var(--font-body);color:var(--pixel-ink);border:1px solid var(--pixel-border);background:#100c0780;border-radius:2px;flex:1;padding:.625rem .875rem;font-size:.9375rem;transition:border-color .12s steps(2,end)}.pixel-chat__field:focus-visible{outline:2px solid var(--pixel-accent);outline-offset:0}.pixel-chat__field:disabled{opacity:.5}.pixel-chat__field::placeholder{color:var(--pixel-ink-dim);opacity:.7}.pixel-chat__send{font-family:var(--font-body);letter-spacing:.01em;color:var(--pixel-dark);background:var(--pixel-accent);border:1px solid var(--pixel-border);cursor:pointer;clip-path:polygon(4px 0,calc(100% - 4px) 0,100% 4px,100% calc(100% - 4px),calc(100% - 4px) 100%,4px 100%,0 calc(100% - 4px),0 4px);box-shadow:var(--shadow-soft);border-radius:2px;flex-shrink:0;padding:.5rem 1.25rem;font-size:.9375rem;font-weight:600;line-height:1.4;transition:background .12s steps(2,end)}.pixel-chat__send:hover:not(:disabled){background:var(--pixel-amber)}.pixel-chat__send:focus-visible{outline:2px solid var(--pixel-accent);outline-offset:2px}.pixel-chat__send:disabled{opacity:.45;cursor:not-allowed}.pixel-chat__send--stop{background:var(--pixel-red)}.pixel-chat__send--stop:hover:not(:disabled){background:var(--pixel-red);filter:brightness(1.15)}.pixel-chat-contact{flex-direction:column;align-items:flex-start;gap:.625rem;display:flex}.pixel-chat-contact .pixel-contact{flex-direction:column;align-items:stretch}.pixel-chat-contact__jump,.pixel-msg__jump{align-self:flex-start;padding:.3rem .75rem;font-size:.8125rem}.pixel-msg__jump{margin-top:.25rem}.tool-selector{border:1px solid var(--pixel-border);box-shadow:var(--shadow-soft),inset 1px 1px 0 0 #fff4e60a;background:linear-gradient(#1d1710 0%,#19130d 100%);border-radius:2px;flex-shrink:0}.tool-selector__bar{text-align:left;width:100%;color:var(--pixel-ink);border:0;border-bottom:2px solid var(--pixel-border);cursor:pointer;background:linear-gradient(#241c12 0%,#1a140c 100%);align-items:center;gap:.75rem;padding:.625rem .875rem .75rem;font-family:inherit;transition:background .12s steps(2,end);display:flex;position:relative}.tool-selector__bar:hover{background:linear-gradient(#2a2118 0%,#201a13 100%)}.tool-selector__bar:focus-visible{outline:2px solid var(--pixel-accent);outline-offset:-2px}.tool-selector__bar:after{content:"";background-image:repeating-conic-gradient(from 0deg,var(--pixel-amber)0% 25%,var(--pixel-accent2)0% 50%);background-size:8px 4px;height:4px;position:absolute;bottom:0;left:0;right:0}.tool-selector__heading{flex-direction:column;gap:.125rem;min-width:0;display:flex}.tool-selector__title{font-family:var(--font-display);color:var(--pixel-title);font-size:.9375rem;line-height:1.2}.tool-selector__tagline{font-family:var(--font-body);color:var(--pixel-ink-dim);text-overflow:ellipsis;white-space:nowrap;font-size:.6875rem;line-height:1.3;overflow:hidden}.tool-selector__bar-status{margin-left:auto;font-size:.625rem}.tool-selector__content{flex-direction:column;gap:.75rem;max-height:40vh;padding:.875rem;display:flex;overflow-y:auto}.model-settings__section{flex-direction:column;gap:.5rem;display:flex}.model-settings__section+.model-settings__section{border-top:1px dashed var(--pixel-border);padding-top:.75rem}.model-settings__heading{letter-spacing:.08em;text-transform:uppercase;color:var(--pixel-accent);font-size:.6875rem;font-weight:600}.tool-selector__intro{color:var(--pixel-ink-dim);text-wrap:pretty;font-size:.8125rem;line-height:1.5}.tool-selector__controls{flex-direction:column;gap:.625rem;display:flex}.tool-selector__form{gap:.625rem;display:flex}.tool-selector__field{flex:1;min-width:0;padding:.5rem .75rem;font-size:.875rem}.tool-selector__go{flex-shrink:0;padding:.375rem .75rem;font-size:.8125rem}.tool-selector__row{justify-content:space-between;align-items:center;gap:.625rem;display:flex}.tool-selector__chips{gap:.375rem;display:flex}.tool-selector__chip{letter-spacing:.06em;cursor:pointer;padding:.15rem .5rem;font-size:.6875rem;font-weight:600}.tool-selector__chip--active{background:var(--pixel-accent);color:var(--pixel-dark);border-color:var(--pixel-accent)}.tool-selector__topk{align-items:center;gap:.375rem;display:flex}.tool-selector__step{width:1.5rem;height:1.5rem;font-family:var(--font-body);color:var(--pixel-ink);background:var(--pixel-panel-alt);border:1px solid var(--pixel-border);cursor:pointer;border-radius:2px;place-items:center;font-size:.9375rem;font-weight:600;line-height:1;transition:background .12s steps(2,end);display:grid}.tool-selector__step:hover{background:var(--pixel-accent);color:var(--pixel-dark);border-color:var(--pixel-accent)}.tool-selector__step:focus-visible{outline:2px solid var(--pixel-accent);outline-offset:2px}.tool-selector__step:disabled{opacity:.4;cursor:not-allowed}.tool-selector__topk-value{color:var(--pixel-accent);font-size:.8125rem;font-weight:600}.tool-selector__progress{height:.625rem}.tool-selector__error{color:var(--pixel-red);font-size:.8125rem}.tool-selector__retry{color:var(--pixel-accent);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;font-family:inherit;font-size:.8125rem;font-weight:600;text-decoration:underline}.tool-selector__retry:focus-visible{outline:2px solid var(--pixel-accent);outline-offset:2px}.tool-selector__results{flex-direction:column;gap:.5rem;display:flex}.tool-selector__list{flex-direction:column;gap:.375rem;margin:0;padding:0;list-style:none;display:flex}.tool-result{border:1px solid var(--pixel-border);opacity:.55;background:#100c0759;border-radius:2px;grid-template-columns:auto minmax(0,1fr) auto auto;grid-template-areas:"rank name score tag""rank desc desc desc""rank bar bar bar";align-items:center;gap:.25rem .625rem;padding:.5rem .625rem;display:grid}.tool-result--selected{opacity:1;border-color:#fbbf2480;box-shadow:inset 2px 0 #fbbf2459}.tool-result__rank{width:1.375rem;height:1.375rem;color:var(--pixel-ink-dim);border:1px solid var(--pixel-border-light);border-radius:2px;grid-area:rank;place-items:center;font-family:ui-monospace,SF Mono,Cascadia Code,monospace;font-size:.6875rem;display:grid}.tool-result__name{color:var(--pixel-ink);text-overflow:ellipsis;white-space:nowrap;grid-area:name;font-size:.8125rem;font-weight:600;overflow:hidden}.tool-result__desc{color:var(--pixel-ink-dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-area:desc;font-size:.6875rem;line-height:1.4;display:-webkit-box;overflow:hidden}.tool-result__bar{border:1px solid var(--pixel-border);background:#100c0780;border-radius:2px;grid-area:bar;height:.375rem;display:block;overflow:hidden}.tool-result__bar i{background-image:repeating-conic-gradient(from 0deg,var(--pixel-amber)0% 25%,var(--pixel-accent2)0% 50%);background-size:8px 6px;height:100%;transition:width .18s steps(4,end);display:block}.tool-result__score{color:var(--pixel-amber);grid-area:score;font-family:ui-monospace,SF Mono,Cascadia Code,monospace;font-size:.6875rem}.tool-result__tag{letter-spacing:.08em;text-transform:uppercase;color:#fef08a;border:1px solid #fde0478c;border-radius:2px;grid-area:tag;padding:.05rem .3rem;font-size:.5625rem;font-weight:700}.tool-selector__stats{color:var(--pixel-ink-dim);text-align:center;font-size:.6875rem;line-height:1.5}.tool-selector__empty{text-align:center;flex-direction:column;align-items:center;gap:.625rem;padding:.25rem 0 .5rem;display:flex}.tool-selector__samples{gap:.375rem;margin:0}.pixel-msg--retrieval{background:#100c078c;align-self:stretch;padding:0;font-size:.8125rem}.pixel-msg--retrieval__summary{width:100%;font-family:inherit;font-size:inherit;text-align:left;color:inherit;cursor:pointer;background:0 0;border:0;flex-wrap:nowrap;align-items:center;gap:.375rem;padding:.5rem .75rem;display:flex}.pixel-msg--retrieval__summary:focus-visible{outline:2px solid var(--pixel-accent);outline-offset:-2px}.pixel-msg--retrieval__label{letter-spacing:.06em;text-transform:uppercase;color:var(--pixel-ink-dim);font-size:.625rem;font-weight:600}.pixel-msg--retrieval__count{color:var(--pixel-accent);font-weight:600}.pixel-msg--retrieval__names{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--pixel-ink);overflow:hidden}.pixel-msg--retrieval__meta{color:var(--pixel-ink-dim);opacity:.8;flex-shrink:0;margin-left:auto}.pixel-msg--retrieval__toggle{color:var(--pixel-accent);font-weight:600;line-height:1}.pixel-msg--retrieval__details{flex-direction:column;gap:.5rem;padding:0 .75rem .75rem;display:flex}.pixel-msg--retrieval__details .tool-selector__list{gap:.25rem}@media (max-width:900px){.app-layout{grid-template-columns:1fr;gap:2rem}.app-dock{justify-self:center;width:100%;max-width:40rem;position:static}.app-dock .ai-panel{max-width:none;height:min(100dvh - 2rem,42rem)}}@media (max-width:480px){.pixel-msg{max-width:100%}.pixel-chat{padding:.625rem}.ai-panel{height:min(100dvh - 1rem,30rem)}.ai-status__file{max-width:8rem}.tool-selector__form{flex-direction:column}.tool-result{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"rank name tag""rank desc desc""rank bar bar"}.tool-result__score{display:none}}
