.cat-mark{display:inline-flex;flex-direction:column;align-items:center;gap:2px;font-family:JetBrains Mono,Fira Code,Courier New,monospace;line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cat-mark-ears{display:flex;justify-content:center;gap:22px;font-size:1.3rem;color:var(--cat-accent, currentColor);font-weight:500;transform:translateY(4px);transition:color .5s ease}.cat-mark-face{display:flex;justify-content:center;align-items:center;gap:12px;font-size:1.3rem}.cat-mark-eye{color:var(--cat-eye, currentColor);display:inline-block;min-width:.6em;text-align:center;transform-origin:center;transition:color .26s ease,transform .14s cubic-bezier(.4,0,.2,1)}.cat-mark-eye-blinking{transform:scaleY(.05)}.cat-mark-eye-winking{color:var(--cat-accent, currentColor);transform:scale(1.08)}.cat-mark-nose{color:var(--cat-accent, currentColor);font-size:1.05rem;font-weight:500;transform:translateY(1px);transition:color .5s ease}@media(prefers-reduced-motion:reduce){.cat-mark-eye,.cat-mark-ears,.cat-mark-nose{transition:none}.cat-mark-eye-blinking{transform:none}}.disc-demo{--disc-blurple: #5865f2;--disc-blurple-soft: #7289da;--disc-online: #23a55a;--disc-idle: #f0b232;--disc-error: #ed4245;--disc-bg-titlebar: #1e1f22;--disc-bg-servers: #1e1f22;--disc-bg-channels: #2b2d31;--disc-bg-chat: #313338;--disc-bg-userbar: #232428;--disc-bg-input: #383a40;--disc-bg-hover: #35373c;--disc-bg-active: rgba(79, 84, 92, .32);--disc-text-primary: #f2f3f5;--disc-text-normal: #dbdee1;--disc-text-muted: #949ba4;--disc-text-dim: #80848e;--disc-divider: rgba(255, 255, 255, .06);width:100%;display:flex;justify-content:center;font-family:Inter,Noto Sans,Helvetica Neue,system-ui,sans-serif;color:var(--disc-text-normal);font-size:14px;line-height:1.375}.disc-window{width:min(100%,1120px);height:clamp(580px,74vh,720px);border-radius:12px;overflow:hidden;background:var(--disc-bg-chat);border:.5px solid rgba(255,255,255,.04);box-shadow:0 30px 80px -40px #000c,0 12px 36px -20px #5865f240;display:flex;flex-direction:column}.disc-titlebar{display:flex;align-items:center;height:30px;padding:0 12px;background:var(--disc-bg-titlebar);-webkit-user-select:none;-moz-user-select:none;user-select:none}.disc-traffic{display:flex;gap:6px}.disc-traffic-dot{width:12px;height:12px;border-radius:50%}.disc-titlebar-name{flex:1;text-align:center;font-size:12px;font-weight:500;color:var(--disc-text-muted);letter-spacing:.01em}.disc-titlebar-spacer{width:54px}.disc-body{flex:1;display:grid;grid-template-columns:72px 240px 1fr;min-height:0}.disc-servers{background:var(--disc-bg-servers);display:flex;flex-direction:column;align-items:center;padding:12px 0;gap:8px}.disc-server-home,.disc-server{position:relative;width:48px;height:48px;border-radius:50%;background:var(--disc-bg-channels);color:var(--disc-text-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:16px;border:0;padding:0;cursor:pointer;transition:border-radius .18s ease,background .18s ease}.disc-server-home{background:var(--disc-blurple);cursor:default}.disc-server-divider{width:32px;height:2px;border-radius:1px;background:#ffffff14;margin:4px 0}.disc-server.is-active,.disc-server:hover{border-radius:16px;background:var(--disc-blurple)}.disc-server-icon{font-family:"Instrument Serif",Playfair Display,Georgia,serif;font-size:22px;font-weight:500;font-style:italic}.disc-server-pill{position:absolute;left:-16px;top:50%;transform:translateY(-50%);width:4px;height:40px;background:#fff;border-radius:0 4px 4px 0}.disc-channels{background:var(--disc-bg-channels);display:flex;flex-direction:column;min-height:0}.disc-channels-head{height:48px;display:flex;align-items:center;padding:0 16px;border-bottom:1px solid rgba(0,0,0,.25);box-shadow:0 1px #04040533;cursor:pointer;color:var(--disc-text-primary);transition:background .12s ease;flex-shrink:0}.disc-channels-head:hover{background:var(--disc-bg-hover)}.disc-channels-head-name{flex:1;font-size:16px;font-weight:600;letter-spacing:-.01em}.disc-channels-head-chevron{color:var(--disc-text-primary)}.disc-channels-scroll{flex:1;overflow-y:auto;padding:16px 8px 8px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.08) transparent}.disc-channels-scroll::-webkit-scrollbar{width:4px}.disc-channels-scroll::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:2px}.disc-category{margin-bottom:10px}.disc-category-head{display:flex;align-items:center;gap:4px;padding:0 8px;height:24px;width:100%;background:none;border:0;color:var(--disc-text-muted);font-size:12px;font-weight:600;letter-spacing:.02em;text-transform:uppercase;cursor:pointer}.disc-category-chevron{transition:transform .14s ease;transform:rotate(90deg)}.disc-category-dynamic{animation:disc-cat-in .22s cubic-bezier(.2,.8,.2,1) both}@keyframes disc-cat-in{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}.disc-channel-list{list-style:none;margin:4px 0 0;padding:0;display:flex;flex-direction:column;gap:2px}.disc-channel{position:relative;display:flex;align-items:center;gap:6px;width:100%;height:32px;padding:0 8px;margin:0;border:0;background:none;color:var(--disc-text-muted);font:inherit;font-size:15px;font-weight:500;text-align:left;border-radius:4px;cursor:pointer;transition:background 80ms ease,color 80ms ease}.disc-channel:hover{background:#4e50583d;color:var(--disc-text-normal)}.disc-channel.is-active{background:var(--disc-bg-active);color:var(--disc-text-primary)}.disc-channel.is-active:before{content:"";position:absolute;left:-8px;top:8px;bottom:8px;width:4px;background:var(--disc-text-primary);border-radius:0 4px 4px 0}.disc-channel.is-private{opacity:.72}.disc-channel.is-private.is-active{opacity:1}.disc-channel.is-dynamic{cursor:default;color:var(--disc-text-normal)}.disc-channel-hash{color:var(--disc-text-dim);font-weight:400;font-size:20px;line-height:1}.disc-channel.is-active .disc-channel-hash{color:var(--disc-text-primary)}.disc-channel-lock{color:var(--disc-text-dim);display:inline-flex;align-items:center;margin-right:-2px}.disc-channel.is-active .disc-channel-lock{color:var(--disc-text-primary)}.disc-channel-name{flex:1}.disc-channel-new-badge{font-size:9px;font-weight:700;letter-spacing:.06em;color:var(--disc-blurple);background:#5865f226;padding:1px 4px;border-radius:3px}.disc-channel-dynamic{animation:disc-ch-in .28s cubic-bezier(.2,.8,.2,1) both}@keyframes disc-ch-in{0%{opacity:0;transform:translate(-10px);background:#5865f226}to{opacity:1;transform:translate(0);background:transparent}}.disc-userbar{display:flex;align-items:center;gap:8px;padding:8px 8px 8px 10px;background:var(--disc-bg-userbar);border-top:1px solid rgba(0,0,0,.2);height:52px;flex-shrink:0}.disc-userbar-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#8a8d93,#5c5f66);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:13px;color:#fff;flex-shrink:0}.disc-userbar-labels{display:flex;flex-direction:column;min-width:0}.disc-userbar-name{font-size:14px;font-weight:600;color:var(--disc-text-primary)}.disc-userbar-status{font-size:11px;color:var(--disc-text-muted);font-variant-numeric:tabular-nums}.disc-chat{background:var(--disc-bg-chat);display:flex;flex-direction:column;min-height:0;position:relative}.disc-chat.is-private{background:linear-gradient(180deg,#313338,#2c2d33)}.disc-chat-head{display:flex;align-items:center;gap:8px;padding:0 16px;height:48px;border-bottom:1px solid rgba(0,0,0,.25);box-shadow:0 1px #04040533;flex-shrink:0;background:var(--disc-bg-chat)}.disc-chat.is-private .disc-chat-head{background:#2c2d33}.disc-chat-hash{color:var(--disc-text-muted);font-weight:400;font-size:24px;line-height:1;display:inline-flex;align-items:center}.disc-chat-name{font-size:16px;font-weight:600;color:var(--disc-text-primary);margin:0}.disc-chat-divider{width:1px;height:24px;background:#ffffff0f;margin:0 4px}.disc-chat-topic{flex:1;font-size:14px;color:var(--disc-text-muted);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.disc-replay{background:none;border:0;padding:4px;border-radius:4px;color:var(--disc-text-muted);cursor:pointer;display:inline-flex;align-items:center;transition:background .12s ease,color .12s ease,opacity .12s ease}.disc-replay:hover:not(:disabled){background:#ffffff0f;color:var(--disc-text-primary)}.disc-replay:disabled{opacity:.4;cursor:default}.disc-chat-scroll{flex:1;overflow-y:auto;padding:16px 16px 8px;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.08) transparent}.disc-chat-scroll::-webkit-scrollbar{width:8px}.disc-chat-scroll::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:4px}.disc-chat-scroll::-webkit-scrollbar-track{background:transparent}.disc-chat-spacer{flex:1;min-height:8px}.disc-timeline{padding:10px 16px;background:#5865f20a;border-bottom:1px solid rgba(88,101,242,.12);display:flex;align-items:center;gap:12px;flex-wrap:wrap;flex-shrink:0}.disc-timeline-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--disc-text-muted)}.disc-timeline-track{display:inline-flex;gap:4px;padding:2px;background:#0000002e;border-radius:999px}.disc-timeline-pill{padding:4px 12px;font:inherit;font-size:13px;font-weight:500;color:var(--disc-text-muted);background:transparent;border:0;border-radius:999px;cursor:pointer;transition:background .14s ease,color .14s ease}.disc-timeline-pill:hover:not(:disabled){color:var(--disc-text-primary);background:#ffffff0a}.disc-timeline-pill.is-active{color:#fff;background:var(--disc-blurple)}.disc-timeline-pill:disabled{opacity:.55;cursor:default}.disc-timeline-desc{flex-basis:100%;margin:4px 0 0;font-size:12px;color:var(--disc-text-muted);font-style:italic}.disc-msg{display:grid;grid-template-columns:56px 1fr;padding:8px 0;margin-top:8px;animation:disc-msg-in .24s cubic-bezier(.2,.8,.2,1) both}.disc-msg.is-grouped{margin-top:0;padding-top:2px;padding-bottom:2px}.disc-msg.is-reaction .disc-msg-body{font-size:22px}@keyframes disc-msg-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.disc-msg-gutter{display:flex;justify-content:center;padding-top:2px}.disc-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px;box-shadow:0 0 0 .5px #0003}.disc-avatar-bot{background:#fafafa;flex-direction:column;gap:0;line-height:1;padding:2px 0 0;font-family:JetBrains Mono,Fira Code,Consolas,monospace;box-shadow:0 0 0 1px #ffffff14,0 0 0 .5px #0003}.disc-bot-ears{display:inline-flex;gap:6px;font-size:11px;font-weight:500;color:#1a1a1a;margin-bottom:-1px}.disc-bot-face{display:inline-flex;gap:2px;align-items:center;font-size:10px;font-weight:500;color:#1a1a1a}.disc-bot-eye{font-size:10px;line-height:1}.disc-bot-nose{font-size:9px;color:#1a1a1abf;position:relative;top:-1px}.disc-msg-main{min-width:0}.disc-msg-head{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.disc-msg-name{font-size:15px;font-weight:500;letter-spacing:-.01em}.disc-msg-badge{background:var(--disc-blurple);color:#fff;font-size:10px;font-weight:600;padding:1px 4px;border-radius:3px;letter-spacing:.02em;position:relative;top:-1px}.disc-msg-ts{font-size:12px;color:var(--disc-text-dim);font-variant-numeric:tabular-nums}.disc-msg-body{font-size:15px;color:var(--disc-text-normal)}.disc-text{margin:0 0 2px}.disc-ul{margin:4px 0 4px 20px;padding:0;display:flex;flex-direction:column;gap:2px}.disc-ul li{margin:0}.disc-quote{margin:4px 0;padding:2px 0 2px 12px;border-left:4px solid rgba(255,255,255,.16);color:var(--disc-text-primary);font-size:14px}.disc-link{color:#00a8fc;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;text-decoration-color:#00a8fc66;cursor:pointer}.disc-inline-code,.disc-code{font-family:JetBrains Mono,Fira Code,Consolas,monospace;background:#2b2d31;border:1px solid rgba(0,0,0,.2);border-radius:4px}.disc-inline-code{padding:1px 4px;font-size:13px;color:#dbdee1}.disc-code{display:block;padding:10px 12px;font-size:13px;line-height:1.5;margin:6px 0;overflow-x:auto;color:#dbdee1;white-space:pre;scrollbar-width:thin}.disc-reply-ref{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:13px;color:var(--disc-text-muted);position:relative;padding-left:4px}.disc-reply-ref-elbow{position:absolute;left:-48px;top:10px;width:44px;height:14px;border-left:2px solid rgba(255,255,255,.12);border-top:2px solid rgba(255,255,255,.12);border-top-left-radius:8px;pointer-events:none}.disc-reply-ref-avatar{width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:9px}.disc-reply-ref-name{font-weight:500}.disc-reply-ref-preview{color:var(--disc-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px}.disc-hl{position:relative;margin:2px -6px;padding:2px 6px;border-radius:6px;transition:background .16s ease}.disc-hl-inner{position:relative}.disc-hl:before{content:"";position:absolute;inset:0;border:1px dashed color-mix(in srgb,var(--hl-accent) 50%,transparent 50%);border-radius:6px;pointer-events:none;opacity:.6;transition:opacity .16s ease,border-color .16s ease,box-shadow .16s ease}.disc-hl:hover:before,.disc-hl.is-expanded:before{opacity:1;border-style:solid;border-color:var(--hl-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--hl-accent) 15%,transparent)}.disc-hl-badge{position:absolute;right:-4px;top:-4px;display:inline-flex;align-items:center;gap:4px;padding:3px 8px 3px 6px;background:var(--hl-accent);color:#fff;border:0;border-radius:999px;font:inherit;font-size:11px;font-weight:600;letter-spacing:.01em;cursor:pointer;box-shadow:0 2px 8px -2px #0006;opacity:0;transform:translateY(-2px);transition:opacity .16s ease,transform .16s ease;z-index:2;max-width:280px}.disc-hl:hover .disc-hl-badge,.disc-hl.is-expanded .disc-hl-badge{opacity:1;transform:translateY(0)}.disc-hl-badge-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.disc-hl-panel{margin:6px 0 4px;padding:10px 12px;background:color-mix(in srgb,var(--hl-accent) 10%,var(--disc-bg-chat));border-left:3px solid var(--hl-accent);border-radius:0 4px 4px 0;font-size:13px;line-height:1.55;color:var(--disc-text-normal);animation:disc-hl-panel-in .22s cubic-bezier(.2,.8,.2,1) both}.disc-hl-panel p{margin:0}@keyframes disc-hl-panel-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.disc-attach{margin:6px 0;max-width:440px;background:#2b2d31;border:1px solid rgba(255,255,255,.05);border-radius:6px;overflow:hidden}.disc-attach-head{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#ffffff08;color:var(--disc-text-muted);font-size:12px;font-weight:500}.disc-attach-code{margin:0;padding:10px 0;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:12.5px;line-height:1.55;color:#dbdee1;background:linear-gradient(180deg,#1a1b1e,#202125)}.disc-attach-line{display:grid;grid-template-columns:32px 1fr;padding:0 12px 0 0;white-space:pre}.disc-attach-gutter{text-align:right;padding-right:12px;color:#fff3}.disc-typing{display:flex;align-items:center;gap:8px;padding:6px 16px 6px 56px;color:var(--disc-text-muted);font-size:13px}.disc-typing-dots{display:inline-flex;align-items:flex-end;gap:3px;padding:2px 0}.disc-typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--disc-text-muted);animation:disc-typing-bounce 1.1s infinite}.disc-typing-dots span:nth-child(2){animation-delay:.12s}.disc-typing-dots span:nth-child(3){animation-delay:.24s}@keyframes disc-typing-bounce{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-3px);opacity:1}}.disc-cmd{margin:8px 0;padding:12px 16px;background:#5865f20f;border-left:3px solid var(--disc-blurple);border-radius:4px;animation:disc-msg-in .28s cubic-bezier(.2,.8,.2,1) both}.disc-cmd-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.disc-cmd-icon{font-size:15px}.disc-cmd-title{font-size:14px;font-weight:600;color:var(--disc-text-primary)}.disc-cmd-body{font-size:14px;color:var(--disc-text-normal)}.disc-sys{display:flex;align-items:flex-start;gap:10px;margin:10px 0;padding:10px 14px;background:#959ba414;border:.5px solid rgba(149,155,164,.12);border-radius:4px;color:var(--disc-text-muted);animation:disc-msg-in .24s cubic-bezier(.2,.8,.2,1) both}.disc-sys-icon{font-size:15px;line-height:1.4}.disc-sys-content{flex:1}.disc-sys-title{font-size:13px;font-weight:600;color:var(--disc-text-normal)}.disc-sys-body{margin-top:2px;font-size:12px}.disc-sys-body .disc-text{margin:0}.disc-err{margin:10px 0;border-left:3px solid var(--disc-error);background:linear-gradient(90deg,#ed424514,#ed424505);border-radius:0 6px 6px 0;padding:12px 16px;animation:disc-msg-in .26s cubic-bezier(.2,.8,.2,1) both}.disc-err-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.disc-err-dot{width:8px;height:8px;border-radius:50%;background:var(--disc-error);box-shadow:0 0 0 4px color-mix(in srgb,var(--disc-error) 20%,transparent)}.disc-err-title{font-size:14px;font-weight:600;color:var(--disc-text-primary)}.disc-err-fields{margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.disc-err-field{display:grid;grid-template-columns:100px 1fr;gap:12px}.disc-err-field dt{font-size:11px;color:var(--disc-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600;padding-top:2px}.disc-err-field dd{margin:0;font-size:13px;color:var(--disc-text-normal)}.disc-err-trace{margin:10px 0 0;padding:8px 10px;background:#00000052;border-radius:4px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:11.5px;line-height:1.5;color:#d4a0a0;white-space:pre-wrap;overflow-x:auto}.disc-btn-row{display:flex;gap:8px;margin-top:8px}.disc-btn{background:#4e5058;color:#fff;border:0;padding:6px 14px;font:inherit;font-size:13px;font-weight:500;border-radius:4px;cursor:default;display:inline-flex;align-items:center;gap:4px;transition:background .12s ease,transform 80ms ease,box-shadow .12s ease;pointer-events:none}.disc-btn.is-clickable{cursor:pointer;pointer-events:auto;box-shadow:0 1px #ffffff14 inset}.disc-btn.is-clickable:hover{filter:brightness(1.15)}.disc-btn.is-clickable:active{transform:translateY(1px)}.disc-btn-confirm{background:var(--disc-online)}.disc-btn-cancel{background:#4e5058}.disc-btn-undo{background:#2b2d31;border:1px solid rgba(255,255,255,.1)}.disc-btn.is-clickable.disc-btn-confirm{box-shadow:0 0 #23a55a80;animation:disc-btn-pulse 2.4s infinite}@keyframes disc-btn-pulse{0%,to{box-shadow:0 0 #23a55a80}50%{box-shadow:0 0 0 6px #23a55a00}}.disc-btn-resolved{display:inline-flex;align-items:center;margin-top:8px;padding:6px 14px;font-size:13px;font-weight:500;border-radius:4px;color:#fff;animation:disc-btn-flash .32s ease}.disc-btn-resolved.is-confirm{background:var(--disc-online)}.disc-btn-resolved.is-cancel{background:#ed4245}.disc-btn-resolved.is-undone{background:#4e5058}@keyframes disc-btn-flash{0%{transform:scale(.96);opacity:0}40%{transform:scale(1.03);opacity:1}to{transform:scale(1);opacity:1}}.disc-cost-ticker{position:absolute;right:14px;bottom:72px;display:inline-flex;align-items:center;gap:6px;padding:5px 10px;background:#1c1d24eb;backdrop-filter:blur(8px) saturate(160%);-webkit-backdrop-filter:blur(8px) saturate(160%);border:.5px solid rgba(88,101,242,.3);border-radius:999px;font-size:11.5px;color:var(--disc-text-normal);font-variant-numeric:tabular-nums;box-shadow:0 6px 20px -10px #0009;animation:disc-ticker-in .28s cubic-bezier(.2,.8,.2,1) both;z-index:3}.disc-cost-ticker.is-prominent{background:#5865f22e;border-color:#5865f280;font-size:13px;padding:7px 14px}.disc-cost-bolt{color:var(--disc-blurple);font-size:12px}.disc-cost-total{font-weight:600;color:var(--disc-text-primary)}.disc-cost-sep,.disc-cost-dot{opacity:.4;margin:0 2px}.disc-cost-breakdown{color:var(--disc-text-muted);font-size:11px}@keyframes disc-ticker-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.disc-input{margin:0 16px 16px;background:var(--disc-bg-input);border-radius:8px;padding:11px 16px;display:flex;align-items:center;gap:12px;min-height:44px}.disc-input-plus{width:24px;height:24px;border-radius:50%;background:#b5bac1;color:#313338;border:0;font-size:18px;line-height:1;font-weight:500;cursor:default;display:inline-flex;align-items:center;justify-content:center}.disc-input-ph{flex:1;color:#6d6f78;font-size:15px}.disc-input-right{display:flex;gap:12px;align-items:center}.disc-input-icon{color:#b5bac1;font-size:14px;font-weight:600}@media(max-width:960px){.disc-body{grid-template-columns:56px 200px 1fr}.disc-server-home,.disc-server{width:40px;height:40px;font-size:14px}.disc-server-pill{left:-12px}.disc-window{height:clamp(500px,72vh,660px)}.disc-hl-badge{max-width:180px;font-size:10px}}@media(max-width:680px){.disc-body{grid-template-columns:52px 1fr}.disc-channels{display:none}.disc-window{border-radius:10px}.disc-cost-ticker{bottom:66px;right:10px}}@media(prefers-reduced-motion:reduce){.disc-msg,.disc-cmd,.disc-sys,.disc-err,.disc-btn-resolved,.disc-hl-panel,.disc-category-dynamic,.disc-channel-dynamic,.disc-cost-ticker{animation:none!important}.disc-typing-dots span{animation:none!important;opacity:.6}.disc-btn.is-clickable.disc-btn-confirm{animation:none!important}}.tech-app{position:relative;width:100vw;height:100vh;height:100svh;overflow:hidden;background:var(--tech-bg);color:var(--tech-text);font-family:JetBrains Mono,Fira Code,Courier New,monospace;animation:tech-fade-in .28s ease forwards}.tech-app[data-leaving]{animation:none;pointer-events:none}.tech-app[data-leaving]>.tech-snap,.tech-app[data-leaving]>.tech-nav,.tech-app[data-leaving]>.tech-dots{animation:tech-push-right .6s cubic-bezier(.4,0,.2,1) forwards}@keyframes tech-fade-in{0%{opacity:0}to{opacity:1}}@keyframes tech-push-right{0%{transform:translate(0);opacity:1}to{transform:translate(100vw);opacity:0}}.tech-return-overlay{position:fixed;inset:0;display:flex;z-index:50;pointer-events:none;transform:translate(-100vw);animation:tech-return-swipe .6s cubic-bezier(.4,0,.2,1) forwards}@keyframes tech-return-swipe{0%{transform:translate(-100vw)}to{transform:translate(0)}}.tech-return-panel{height:100%}.tech-return-panel-creative{flex:.382;background:#1a1020}.tech-return-panel-center{flex:.236;background:#fafafa}.tech-return-panel-tech{flex:.382;background:#080c16}.tech-nav{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:20px 32px;z-index:20;pointer-events:none}.tech-back,.tech-sig{pointer-events:auto}.tech-back{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--tech-text-muted);padding:7px 16px;border:.5px solid rgba(200,220,255,.12);border-radius:16px;cursor:pointer;background:#1e2a3c47;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:inset 0 .5px #c8dcff2e,0 8px 24px -10px #00000059;transition:color .3s ease,border-color .3s ease,background .3s ease,transform .3s ease;text-decoration:none;font-family:inherit}.tech-back:hover,.tech-back:focus-visible{color:var(--tech-signature);border-color:#7ab0d859;background:#5a9fd424;transform:translateY(-1px)}.tech-back-arrow{transform:translateY(-1px)}.tech-sig{font-size:.95rem;color:var(--tech-signature);letter-spacing:.02em}.tech-dots{position:absolute;right:22px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px;z-index:20}.tech-dot{width:7px;height:7px;border-radius:50%;background:var(--tech-border);cursor:pointer;border:0;padding:0;transition:background .3s ease,transform .3s ease}.tech-dot:hover{background:#2a4060}.tech-dot:focus-visible{outline:2px solid var(--tech-accent);outline-offset:3px}.tech-dot-active{background:var(--tech-accent);transform:scale(1.4)}.tech-snap{position:relative;z-index:1;height:100%;overflow-y:auto;scroll-snap-type:y mandatory;scroll-behavior:smooth}.tech-snap-section{min-height:100%;scroll-snap-align:start;padding:80px clamp(32px,5vw,72px) 56px;display:flex;flex-direction:column;justify-content:center;position:relative}.tech-resume{max-width:1240px;width:100%;margin:0 auto;flex:1;display:flex;flex-direction:column}.tech-resume-head{margin-bottom:28px}.tech-resume-name{font-size:clamp(1.5rem,2.6vw,2.1rem);color:var(--tech-text);font-weight:400;margin:0;letter-spacing:-.01em}.tech-resume-title{font-size:.85rem;color:var(--tech-text-muted);margin:6px 0 18px;letter-spacing:.01em}.tech-resume-links{display:flex;flex-wrap:wrap;gap:10px;padding:0;list-style:none;margin:0}.tech-link{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;color:#5a8ab0;padding:6px 13px;border:.5px solid rgba(200,220,255,.12);border-radius:12px;transition:color .3s ease,border-color .3s ease,background .3s ease,transform .3s ease;text-decoration:none;font-family:inherit;background:#1e2a3c40;backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);box-shadow:inset 0 .5px #c8dcff29,0 6px 18px -8px #00000059;cursor:pointer}.tech-link:hover,.tech-link:focus-visible{color:var(--tech-accent);border-color:#7ab0d859;background:#5a9fd424;transform:translateY(-1px)}.tech-link-copy.tech-link-copied,.tech-link-copy[aria-pressed=true]{color:#6aa884;border-color:#6aa88466;background:#6aa8840f}.tech-resume-cols{display:flex;gap:40px;flex:1;align-items:flex-start}.tech-resume-main{flex:1.6;min-width:0}.tech-resume-side{flex:1;min-width:0;display:flex;flex-direction:column;gap:22px}.tech-resume-lb{font-size:.65rem;color:#3a5070;text-transform:uppercase;letter-spacing:.14em;margin:0 0 10px;font-weight:400}.tech-exp-scroll{max-height:56vh;overflow-y:auto;overscroll-behavior:contain;padding:2px 14px 2px 2px;margin-right:-14px;scroll-behavior:smooth;-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%)}.tech-exp-scroll::-webkit-scrollbar{width:3px}.tech-exp-scroll::-webkit-scrollbar-track{background:transparent}.tech-exp-scroll::-webkit-scrollbar-thumb{background:var(--tech-border);border-radius:2px}.tech-exp-scroll::-webkit-scrollbar-thumb:hover{background:#2a4060}.tech-exp-scroll{scrollbar-width:thin;scrollbar-color:var(--tech-border) transparent}.tech-exp-scroll:focus-visible{outline:2px solid rgba(90,159,212,.3);outline-offset:4px;border-radius:4px}.tech-exp{padding:0 0 14px;border-bottom:.5px solid #0e1824;margin-bottom:14px}.tech-exp:first-child{padding-top:2px}.tech-exp:last-child{border-bottom:0;margin-bottom:0}.tech-exp-role{font-size:.95rem;color:var(--tech-text-secondary);margin:0;font-weight:500;letter-spacing:.01em}.tech-exp-co{font-size:.72rem;color:var(--tech-text-muted);margin:3px 0 0;display:flex;gap:6px;flex-wrap:wrap;align-items:center}.tech-exp-dot{opacity:.6}.tech-exp-notes{margin:8px 0 0;padding:0;list-style:none;color:var(--tech-text-faint)}.tech-exp-notes li{font-size:.72rem;line-height:1.6;position:relative;padding-left:12px;margin-bottom:3px}.tech-exp-notes li:before{content:"·";position:absolute;left:2px;top:-1px;color:#2a3a50}.tech-exp-tags{display:flex;flex-wrap:wrap;gap:5px;padding:0;list-style:none;margin:10px 0 0}.tech-edu-school,.tech-edu-degree,.tech-edu-period{margin:0;font-size:.78rem}.tech-edu-school{color:var(--tech-text-secondary)}.tech-edu-degree{color:var(--tech-text-faint);margin-top:3px}.tech-edu-period{color:var(--tech-text-muted);margin-top:3px;font-size:.7rem}.tech-cert-list{list-style:none;padding:0;margin:0}.tech-cert-list li{font-size:.72rem;color:var(--tech-text-faint);margin-bottom:3px}.tech-skill-list{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:5px}.tech-skill{font-size:.65rem;color:#8fbf7d;padding:4px 10px;background:#8fbf7d0f;border:.5px solid rgba(143,191,125,.22);border-radius:8px;transition:color .3s ease,border-color .3s ease,background .3s ease}.tech-skill:hover{color:#a8d296;border-color:#8fbf7d7a;background:#8fbf7d1a}.tech-metrics{display:flex;gap:14px;margin:12px 0 4px;flex-wrap:wrap}.tech-metric{flex:1;min-width:110px;background:var(--tech-surface);border:.5px solid var(--tech-border);border-radius:8px;padding:12px 14px;text-align:center}.tech-metric-value{font-size:1.25rem;color:var(--tech-accent);font-weight:500}.tech-metric-label{font-size:.625rem;color:var(--tech-text-faint);margin-top:4px;text-transform:uppercase;letter-spacing:.1em}.tech-metric-avg{font-size:.55rem;color:#2a4060;margin-top:3px;letter-spacing:.03em}.tech-scroll-hint{position:absolute;bottom:6px;left:50%;transform:translate(-50%);font-size:.7rem;color:var(--tech-text-faint);display:flex;align-items:center;gap:7px;pointer-events:none;z-index:2}.tech-scroll-arrow{display:inline-block;animation:tech-bob 1.6s ease-in-out infinite}@keyframes tech-bob{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.tech-pj{max-width:1240px;width:100%;margin:0 auto;flex:1;display:flex;flex-direction:column}.tech-pj-head{margin-bottom:28px}.tech-pj-num{font-size:.72rem;color:#2a4060;letter-spacing:.2em;margin:0 0 10px}.tech-pj-title{font-size:clamp(1.4rem,2.4vw,1.9rem);color:var(--tech-text);font-weight:400;margin:0 0 6px;letter-spacing:-.01em}.tech-pj-tagline{font-size:.85rem;color:var(--tech-text-muted);font-style:italic;margin:0}.tech-pj-body{display:flex;gap:40px;flex:1;align-items:flex-start}.tech-pj-visual-col{flex:1.1;min-width:0}.tech-pj-details{flex:1;min-width:0;display:flex;flex-direction:column;gap:18px}.tech-pj-description{font-size:.82rem;color:#6c8ea6;line-height:1.65;margin:0}.tech-pj-features{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.tech-pj-feature{background:var(--tech-surface);border:.5px solid var(--tech-border);border-radius:8px;padding:12px 14px}.tech-pj-feature-title{font-size:.75rem;color:var(--tech-text-secondary);margin:0 0 5px;font-weight:500;letter-spacing:.01em}.tech-pj-feature-blurb{font-size:.7rem;color:#5a7890;margin:0;line-height:1.55}.tech-pj-meta{display:flex;flex-direction:column;gap:14px}.tech-pj-stack{display:flex;flex-wrap:wrap;gap:5px}.tech-pj-stack-tag{font-size:.65rem;color:var(--tech-accent);padding:4px 10px;background:#0a1520;border:.5px solid #15253a;border-radius:8px}.tech-pj-links{display:flex;gap:10px;flex-wrap:wrap}.tech-pj-link{display:inline-flex;align-items:center;gap:6px;font-size:.76rem;color:var(--tech-text-secondary);padding:7px 14px;background:var(--tech-surface);border:.5px solid var(--tech-border);border-radius:14px;text-decoration:none;transition:color .3s ease,border-color .3s ease,background .3s ease}.tech-pj-link:hover,.tech-pj-link:focus-visible{color:var(--tech-accent);border-color:#2a4060;background:#5a9fd40f}.tech-pj-link-icon{width:14px;height:14px}.tech-pj-link-ext{width:12px;height:12px;opacity:.6}.tech-pj-visual{width:100%}.tech-pj-terminal{background:#060a12;border:.5px solid var(--tech-border);border-radius:10px;overflow:hidden;box-shadow:0 24px 48px -24px #0009}.tech-pj-terminal-head{display:flex;align-items:center;gap:7px;padding:10px 14px;border-bottom:.5px solid var(--tech-border);background:#080c16}.tech-pj-dot{width:9px;height:9px;border-radius:50%;background:#1a2a3a}.tech-pj-terminal-label{margin-left:auto;font-size:.65rem;color:var(--tech-text-muted);letter-spacing:.08em;text-transform:lowercase}.tech-pj-terminal-body{margin:0;padding:18px 20px;font-family:inherit;font-size:.72rem;line-height:1.7;color:var(--tech-text-muted);white-space:pre-wrap}.tech-pj-t-cmd{color:var(--tech-text-secondary)}.tech-pj-t-meta{color:#3a5070}.tech-pj-t-model{color:var(--tech-accent);font-weight:500}.tech-pj-t-model-alt{color:#c8a0b8;font-weight:500}.tech-pj-t-resp{color:var(--tech-text)}.tech-pj-t-budget{color:#5a8ab0;font-style:italic}.tech-pj-t-warn{color:#c7a060}.tech-pj-t-ok{color:#6aa884}@media(max-width:900px){.tech-resume-cols,.tech-pj-body{flex-direction:column;gap:28px}.tech-dots{display:none}.tech-snap-section{padding:70px 24px 48px}.tech-scroll-hint{bottom:12px}}.tech-snap-section-landing{padding:80px 0 56px}.tech-landing{--tech-landing-gap: clamp(28px, 5vw, 64px);position:relative;display:grid;grid-template-columns:1fr clamp(280px,28vw,380px) 1fr;-moz-column-gap:0;column-gap:0;align-items:center;max-width:1280px;width:100%;margin:0 auto;padding:0 clamp(32px,5vw,72px);flex:1;transition:grid-template-columns .28s cubic-bezier(.4,0,.2,1),column-gap .28s cubic-bezier(.4,0,.2,1);transition:grid-template-columns .28s cubic-bezier(.4,0,.2,1),column-gap .28s cubic-bezier(.4,0,.2,1),-moz-column-gap .28s cubic-bezier(.4,0,.2,1)}.tech-landing[data-phase=landing]{grid-template-columns:0fr clamp(280px,28vw,380px) 1fr;-moz-column-gap:var(--tech-landing-gap);column-gap:var(--tech-landing-gap)}.tech-landing .cat-mark{--cat-accent: var(--tech-accent);--cat-eye: var(--tech-text)}.tech-landing-intro{grid-column:2;display:flex;flex-direction:column;align-items:center;text-align:center;gap:20px;transition:align-items 0ms linear .18s,text-align 0ms linear .18s}.tech-landing[data-phase=landing] .tech-landing-intro{align-items:flex-start;text-align:left}.tech-landing-greeting{display:flex;flex-direction:column;align-items:inherit;gap:6px}.tech-landing-hi{font-size:.88rem;color:var(--tech-text-muted);letter-spacing:.14em;text-transform:lowercase}.tech-landing-name{font-size:clamp(2.4rem,5.2vw,3.6rem);color:var(--tech-text);font-weight:500;margin:0;letter-spacing:-.02em;line-height:.95}.tech-landing-description{font-size:clamp(.9rem,1.1vw,1rem);color:var(--tech-text-secondary);line-height:1.7;max-width:340px;margin:0}.tech-landing-details{grid-column:3;display:flex;flex-direction:column;min-width:0;width:100%;overflow:hidden;opacity:0;transform:translate(12px);transition:opacity .26s ease .12s,transform .32s cubic-bezier(.4,0,.2,1) .1s;max-height:calc(100vh - 200px);max-height:calc(100svh - 200px);padding-top:4px}.tech-landing[data-phase=landing] .tech-landing-details{opacity:1;transform:translate(0)}.tech-socials{display:flex;flex-wrap:wrap;gap:8px;padding:0;list-style:none;margin:6px 0 0;justify-content:center}.tech-socials .tech-link,.tech-socials .tech-link-copy{width:36px;height:36px;padding:0;display:inline-flex;align-items:center;justify-content:center;gap:0;border-radius:50%}.tech-socials .social-icon{width:15px;height:15px}.tech-link-copied .tech-link-check{width:15px;height:15px;color:#6aa884}.tech-landing-scroll{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:36px 22px 36px 20px;scroll-behavior:smooth;background:#12203438;backdrop-filter:blur(28px) saturate(180%);-webkit-backdrop-filter:blur(28px) saturate(180%);border:.5px solid rgba(200,220,255,.08);border-radius:14px;box-shadow:inset 0 .5px #c8dcff1f,inset 0 -.5px #00000040,0 24px 56px -28px #0000008c;scrollbar-width:thin;scrollbar-color:var(--tech-border) transparent}.tech-landing-scroll::-webkit-scrollbar{width:3px}.tech-landing-scroll::-webkit-scrollbar-track{background:transparent}.tech-landing-scroll::-webkit-scrollbar-thumb{background:var(--tech-border);border-radius:2px}.tech-landing-scroll::-webkit-scrollbar-thumb:hover{background:#2a4060}.tech-landing-scroll:focus-visible{outline:2px solid rgba(90,159,212,.3);outline-offset:4px;border-radius:4px}.tech-landing-block+.tech-landing-block{margin-top:28px;padding-top:24px;border-top:.5px solid #0e1824}.tech-toast{position:fixed;left:50%;bottom:36px;transform:translate(-50%,24px);display:inline-flex;align-items:center;gap:10px;padding:10px 18px;background:#0c1520eb;border:.5px solid var(--tech-border);border-radius:999px;color:var(--tech-text);font-size:.78rem;font-family:JetBrains Mono,Fira Code,Courier New,monospace;letter-spacing:.02em;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 18px 48px -20px #0009;opacity:0;pointer-events:none;transition:opacity .26s ease,transform .26s cubic-bezier(.2,.8,.2,1);z-index:40}.tech-toast-visible{opacity:1;transform:translate(-50%)}.tech-toast-dot{width:6px;height:6px;border-radius:50%;background:#6aa884;box-shadow:0 0 0 3px #6aa8842e}.tech-blob-cursor{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:0;opacity:0;transition:opacity .32s ease;will-change:opacity}@media(hover:none){.tech-blob-cursor{display:none}}@media(prefers-reduced-motion:reduce){.tech-app,.tech-scroll-arrow{animation:none}.tech-snap,.tech-exp-scroll,.tech-landing-scroll{scroll-behavior:auto}.tech-blob-cursor{display:none}.tech-landing,.tech-landing-intro,.tech-landing-details,.tech-landing-name{transition:none}}@media(max-width:900px){.tech-landing{grid-template-columns:1fr!important;row-gap:32px}.tech-landing-details{max-height:60vh;transform:none}.tech-landing[data-phase=intro] .tech-landing-details{display:none}}.tech-pj[data-layout=showcase]{max-width:1200px}.tech-pj[data-layout=showcase] .tech-pj-head{text-align:center;margin-bottom:22px}.tech-pj[data-layout=showcase] .tech-pj-num{color:#4a5770}.tech-pj[data-layout=showcase] .tech-pj-title{color:#f2f3f5}.tech-pj[data-layout=showcase] .tech-pj-tagline{color:#a6aebb}.tech-pj[data-layout=showcase] .tech-pj-body{flex-direction:column;gap:24px;align-items:stretch}.tech-pj[data-layout=showcase] .tech-pj-visual-col{flex:1 1 auto;width:100%;display:flex;justify-content:center}.tech-pj[data-layout=showcase] .tech-pj-details{flex:0 0 auto;width:100%;max-width:1120px;margin:0 auto;flex-direction:row;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}.tech-pj[data-layout=showcase] .tech-pj-meta{flex-direction:row;align-items:center;gap:14px;flex-wrap:wrap;width:100%;justify-content:space-between}.tech-pj[data-layout=showcase] .tech-pj-stack-tag{color:#a5adff;background:#5865f214;border:.5px solid rgba(88,101,242,.24)}.tech-pj[data-layout=showcase] .tech-pj-link{color:#dbdee1;background:#ffffff0a;border-color:#ffffff1f}.tech-pj[data-layout=showcase] .tech-pj-link:hover,.tech-pj[data-layout=showcase] .tech-pj-link:focus-visible{color:#fff;border-color:#5865f299;background:#5865f21f}.tech-snap-section[data-project=sonnet-discord-agent]{background:radial-gradient(ellipse 80% 60% at 50% 32%,#5865f242,#5865f21a 28%,#0e101c00 60%),linear-gradient(180deg,#0a0b14b3,#07080fd1);position:relative;isolation:isolate}.tech-snap-section[data-project=sonnet-discord-agent]:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background-image:radial-gradient(circle at 20% 85%,rgba(88,101,242,.12) 0%,transparent 30%),radial-gradient(circle at 85% 15%,rgba(122,139,255,.06) 0%,transparent 28%);opacity:.9}@media(max-width:900px){.tech-pj[data-layout=showcase] .tech-pj-meta{flex-direction:column;align-items:flex-start}}
