@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}:root{color-scheme:light;--ph-bg:#fff;--ph-surface:#f3f3f3;--ph-surface-strong:#f8f8f8;--ph-primary:#0066b8;--ph-primary-bright:#007acc;--ph-primary-dark:#005a9e;--ph-primary-soft:#0066b824;--ph-primary-faint:#0066b812;--ph-link-hover:#004578;--ph-border:#6161616b;--ph-border-soft:#61616138;--ph-text:#1f1f1f;--ph-body:#333;--ph-muted:#1f1f1fa6;--ph-faint:#1f1f1f73;--ph-amber:#795e26;--ph-amber-soft:#795e261f;--ph-green:#1a7f37;--ph-cyan:#16825d;--ph-violet:#af00db;--ph-orange:#a31515;--ph-error:#a1260d;--ph-selection:#007acc3d;--ph-shadow:0 .625rem 2rem #0000001a;--ph-nav:#f3f3f3f5;--ph-font:"JetBrains Mono", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", Consolas, monospace}:root.dark{color-scheme:dark;--ph-bg:#1e1e1e;--ph-surface:#252526;--ph-surface-strong:#2d2d30;--ph-primary:#569cd6;--ph-primary-bright:#4fc1ff;--ph-primary-dark:#3794ff;--ph-primary-soft:#569cd62e;--ph-primary-faint:#569cd617;--ph-link-hover:#4fc1ff;--ph-border:#cccccc47;--ph-border-soft:#cccccc26;--ph-text:#d4d4d4;--ph-body:#ccc;--ph-muted:#d4d4d49e;--ph-faint:#d4d4d46b;--ph-amber:#dcdcaa;--ph-amber-soft:#dcdcaa1c;--ph-green:#23d18b;--ph-cyan:#4ec9b0;--ph-violet:#c586c0;--ph-orange:#ce9178;--ph-error:#f44747;--ph-selection:#264f78b8;--ph-shadow:0 .625rem 2.125rem #00000047;--ph-nav:#252526f5}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-latin-400-normal.woff2)format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/jetbrains-mono-latin-700-normal.woff2)format("woff2")}*{box-sizing:border-box}html,body{height:100%}html{background:var(--ph-bg);transition:background-color .35s,color .3s}body{background:var(--ph-bg);min-height:100dvh;color:var(--ph-text);font-family:var(--ph-font);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;font-size:.8125rem;line-height:1.6;transition:color .3s,background-color .3s;display:flex}a{color:var(--ph-primary);text-decoration:none}a:hover{color:var(--ph-amber)}::selection{background:var(--ph-selection)}[hidden]{display:none!important}.tmux-nav{z-index:70;border-bottom:.0625rem solid var(--ph-border);background:var(--ph-nav);backdrop-filter:blur(.625rem);white-space:nowrap;align-items:center;gap:1rem;min-height:2.8125rem;padding:.5rem 1.5rem;font-size:.7813rem;display:flex;position:sticky;top:0}.tmux-identity{color:var(--ph-primary);font-weight:700}.tmux-identity:hover{color:var(--ph-amber)}.tmux-controls{align-items:center;gap:.4375rem;margin-left:auto;display:flex}.tmux-control{border:.0625rem solid var(--ph-border);min-height:1.5625rem;color:var(--ph-primary);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border-radius:0;justify-content:center;align-items:center;gap:.3125rem;padding:.125rem .625rem;display:inline-flex}.tmux-control:hover{background:var(--ph-primary-soft);color:var(--ph-amber)}.tmux-control[disabled]{color:var(--ph-faint);cursor:default}.tmux-control[disabled]:hover{color:var(--ph-faint);background:0 0}.theme-label-dark,:root.dark .theme-label-light{display:none}:root.dark .theme-label-dark{display:inline}.site-main{flex-direction:column;flex:1;display:flex}.tool-page{width:min(100% - 4rem,70rem);margin-inline:auto;padding-block:2.25rem 4rem}.terminal-command{color:var(--ph-primary);margin:0 0 .75rem;font-size:.9375rem}.terminal-command>span:first-child{color:var(--ph-amber)}.terminal-title{letter-spacing:-.02em;text-shadow:0 0 1.625rem var(--ph-primary-soft);margin:.5rem 0 .625rem;font-size:clamp(1.5rem,3vw,1.9rem);font-weight:700;line-height:1.25}.terminal-muted{color:var(--ph-muted);margin:0;font-size:.8125rem}.result-expiry{color:var(--ph-error);display:block}.terminal-footer{border-top:.0625rem solid var(--ph-border);padding:1rem 1.5rem}.terminal-footer-inner{text-align:center;width:min(100% - 4rem,70rem);color:var(--ph-muted);flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem 1.25rem;margin-inline:auto;font-size:.75rem;display:flex}.terminal-footer a{color:var(--ph-muted)}.terminal-footer a:hover{color:var(--ph-amber)}.tool-list{gap:.875rem;margin-top:1.75rem;padding:0;list-style:none;display:grid}.tool-card{border:.0625rem solid var(--ph-border-soft);background:var(--ph-surface-strong);color:var(--ph-text);padding:1rem 1.125rem;display:block}.tool-card:hover{border-color:var(--ph-primary);background:var(--ph-primary-faint);color:var(--ph-text)}.tool-card-head{align-items:baseline;gap:.625rem;display:flex}.tool-card-name{color:var(--ph-primary);font-weight:700}.tool-card-tag{color:var(--ph-amber);font-size:.75rem}.tool-card-desc{color:var(--ph-muted);margin:.375rem 0 0;font-size:.8125rem}.drop{border:.125rem dashed var(--ph-border);background:var(--ph-surface-strong);text-align:center;cursor:pointer;margin-top:1.5rem;padding:2.25rem 1.25rem;transition:border-color .15s,background .15s;display:block}.drop:hover,.drop.hot{border-color:var(--ph-primary);background:var(--ph-primary-faint)}.drop:focus-visible{outline:.125rem solid var(--ph-primary);outline-offset:.125rem}.drop b{font-size:1rem;display:block}.drop span{color:var(--ph-muted);margin-top:.5rem;font-size:.75rem;display:block}.drop u{color:var(--ph-primary);text-underline-offset:.1875rem}.tool-status{min-height:1.5em;color:var(--ph-muted);margin:1rem 0 0}.tool-status.err{color:var(--ph-error)}.tool-status.warn{color:var(--ph-amber)}.terminal-prompt{border:1px solid var(--ph-border);background:var(--ph-bg);width:min(25rem,100vw - 2rem);max-height:calc(100dvh - 2rem);color:var(--ph-text);font:inherit;margin:auto;padding:1.5rem;inset:0;overflow:auto}.terminal-prompt::backdrop{background:#00000073}.terminal-prompt-close{place-items:center;width:2.75rem;height:2.75rem;margin-left:auto;padding:0;display:grid}.terminal-prompt-content{text-align:center;padding:1rem 0}.terminal-prompt-content h2{color:var(--ph-primary);margin:0 0 1rem;font-size:1rem}.terminal-prompt-content p{color:var(--ph-muted);font-size:.875rem;line-height:1.7}.terminal-prompt-content[data-state=error] h2{color:var(--ph-error)}.terminal-prompt-content[data-state=warning] h2{color:var(--ph-amber)}.terminal-prompt form{flex-wrap:wrap;justify-content:center;gap:.5rem;margin:1rem 0 0;display:flex}.terminal-prompt button:focus-visible{outline:2px solid var(--ph-primary);outline-offset:2px}.tool-status.ok{color:var(--ph-green)}.tool-result{flex-direction:column;gap:.875rem;margin-top:1.25rem;display:flex}.qr-frame{border:.0625rem solid var(--ph-border-soft);max-width:100%;box-shadow:var(--ph-shadow);background:#fff;align-self:center;padding:.75rem}#qr{width:100%;max-width:31rem;height:auto;image-rendering:pixelated;display:block}.channel{border:.0625rem solid var(--ph-border-soft);background:var(--ph-surface-strong)}.channel-head{border-bottom:.0625rem solid var(--ph-border-soft);justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .75rem;display:flex}.channel-tag{color:var(--ph-amber);font-size:.75rem}.payload{color:var(--ph-primary);font-family:var(--ph-font);word-break:break-all;user-select:all;padding:.75rem;font-size:.75rem;line-height:1.7;display:block}.tool-actions{flex-wrap:wrap;gap:.5rem;display:flex}.tool-actions .tmux-control,.terminal-prompt .tmux-control{min-height:2.75rem}.tmux-control.primary{border-color:var(--ph-primary);background:var(--ph-primary);color:var(--ph-bg)}.tmux-control.primary:hover{background:var(--ph-primary-dark);color:var(--ph-bg)}@media (width<=40rem){.tmux-nav{padding:.5rem 1rem}.tool-page,.terminal-footer-inner{width:min(100% - 2rem,70rem)}.drop{padding:1.5rem 1rem}}@media (width<=30rem){.terminal-prompt{padding:1rem}}.command-veil{z-index:65;background:var(--ph-bg);opacity:0;visibility:hidden;position:fixed;inset:2.8125rem 0 0}.command-veil.is-covering{opacity:1;visibility:visible}.command-veil.fading{transition:opacity .18s,visibility .18s}::view-transition{background-color:var(--ph-bg)}::view-transition-image-pair(*){isolation:isolate}::view-transition-old(*){mix-blend-mode:normal;animation:.16s ease-out both fade-out}::view-transition-new(*){mix-blend-mode:normal;animation:.2s ease-out both fade-in}::view-transition-group(*){clip-path:inset(0 round 1rem);animation-duration:.3s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(root),::view-transition-new(root){animation-duration:.16s;animation-timing-function:cubic-bezier(.4,0,.2,1);animation-fill-mode:forwards}::view-transition-group(root){clip-path:none}::view-transition-group(navbar){z-index:9999;clip-path:none}::view-transition-old(navbar),::view-transition-new(navbar){animation:none}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@media screen and (width<=800px),(prefers-reduced-motion:reduce){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}}@media (prefers-reduced-motion:reduce){*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
