@charset "UTF-8";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap";@font-face{font-family:Excalifont;src:url(/fonts/Excalifont.woff2) format("woff2");font-display:swap;font-style:normal;font-weight:400 700;unicode-range:U+20-7E,U+A0-FF,U+2013-2014,U+2018-201E,U+2022,U+2026,U+20AC}.nc-stage-wrap{position:relative;flex:1;min-height:0;min-width:0;display:flex;padding:18px 18px 152px;background:radial-gradient(circle at top,rgba(105,101,219,.08),transparent 34%),linear-gradient(180deg,#f2efe8,#e8e4db)}.nc-v3-stage{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;background:#f7f5ef;border-radius:28px;border:1px solid rgba(31,31,31,.08);box-shadow:0 22px 60px #0f172a24,0 4px 16px #0f172a14}.nc-v3-stage .excalidraw{width:100%;height:100%;border-radius:inherit}.nc-v3-stage .excalidraw .App-menu_top{padding-top:12px}.nc-v3-portal-layer{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:3}.nc-v3-code-portal{position:absolute;transform-origin:top left;pointer-events:auto;display:flex;flex-direction:column;overflow:hidden;border:2px solid #343a40;border-radius:12px;background:#1f1f1f;color:#f8fafc;box-shadow:0 18px 45px #0f172a3d}.nc-v3-code-portal__header{min-height:46px;padding:8px 10px 8px 14px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#171717;border-bottom:1px solid rgba(255,255,255,.08);font:600 14px/1.2 ui-monospace,SFMono-Regular,Menlo,monospace}.nc-v3-code-portal__header-actions{display:flex;align-items:center;gap:8px}.nc-v3-code-portal__language{color:#adb5bd;font-size:12px}.nc-v3-code-portal__header button{min-height:32px;padding:0 14px;display:inline-flex;align-items:center;gap:7px;border:1px solid #0ca678;border-radius:8px;background:#12b886;color:#fff;font:700 13px/1 ui-sans-serif,sans-serif;cursor:pointer}.nc-v3-code-portal__header button:disabled{opacity:.65;cursor:wait}.nc-v3-code-portal__editor{flex:1;min-height:0}.nc-v3-code-portal__output{max-height:90px;margin:0;padding:9px 12px;overflow:auto;border-top:1px solid rgba(255,255,255,.08);background:#111827;color:#d1fae5;font:12px/1.45 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap}.nc-v3-engine-badge{position:absolute;top:16px;right:18px;z-index:4;min-width:34px;height:26px;padding:0 8px;display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(105,101,219,.32);border-radius:8px;background:#ffffffe0;color:#5f3dc4;font:800 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace;box-shadow:0 6px 20px #0f172a1a;pointer-events:none}html[data-theme=dark] .nc-v3-engine-badge{background:#0f172ae6;color:#c4b5fd}.obs-app.cv-app.nc-app .cv-main{background:#111827}.nc-island{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:5;max-width:calc(100% - 24px);overflow:visible;background:var(--obs-surface, #1e293b);border:1px solid var(--obs-border, #334155);border-radius:12px;box-shadow:0 2px 4px #00000014,0 8px 20px #00000038,inset 0 1px #ffffff0a}.nc-island__inner{display:flex;align-items:center;gap:2px;padding:5px 6px;max-width:100%;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.nc-island__inner::-webkit-scrollbar{width:0;height:0}.nc-island__inner::-webkit-scrollbar-track,.nc-island__inner::-webkit-scrollbar-thumb{background:transparent}.obs-app.cv-app.nc-app .nc-island__inner{scrollbar-width:none!important;scrollbar-color:transparent transparent!important;-ms-overflow-style:none!important}.obs-app.cv-app.nc-app .nc-island__inner::-webkit-scrollbar{width:0!important;height:0!important;background:transparent!important}.obs-app.cv-app.nc-app .nc-island__inner::-webkit-scrollbar:horizontal{height:0!important}.obs-app.cv-app.nc-app .nc-island__inner::-webkit-scrollbar:vertical{width:0!important}.obs-app.cv-app.nc-app .nc-island__inner::-webkit-scrollbar-track,.obs-app.cv-app.nc-app .nc-island__inner::-webkit-scrollbar-thumb{width:0!important;height:0!important;background:transparent!important;border:none!important;background-clip:border-box!important}.obs-app.cv-app.nc-app .nc-island__inner::-webkit-scrollbar-button,.obs-app.cv-app.nc-app .nc-island__inner::-webkit-scrollbar-corner{display:none!important;width:0!important;height:0!important}.nc-island__group{display:flex;align-items:center;gap:1px}.nc-island__group--style{flex-shrink:0}.nc-island__sep{width:1px;align-self:stretch;background:color-mix(in srgb,var(--obs-border, #334155) 60%,transparent);margin:6px 5px;min-height:20px}.nc-tool-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;background:transparent;color:var(--obs-text-dim, #94a3b8);border:1.5px solid transparent;border-radius:8px;cursor:pointer;font-size:13px;line-height:1;transition:all .15s ease}.nc-tool-btn:hover{background:color-mix(in srgb,var(--obs-hover, #334155) 60%,transparent);color:var(--obs-text, #e2e8f0)}.nc-tool-btn.is-active{background:color-mix(in srgb,var(--obs-accent, #6366f1) 18%,transparent);border-color:color-mix(in srgb,var(--obs-accent, #6366f1) 50%,transparent);color:var(--obs-text, #e2e8f0);box-shadow:0 0 0 1px color-mix(in srgb,var(--obs-accent, #6366f1) 12%,transparent)}.nc-tool-btn__kbd{position:absolute;right:3px;bottom:1px;font-size:8px;line-height:1;color:var(--obs-text-dim, #94a3b8);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;pointer-events:none;opacity:0;transition:opacity .15s ease}.nc-tool-btn:hover .nc-tool-btn__kbd{opacity:.6}.nc-style-wrap{position:relative;flex-shrink:0}.nc-style-pill{display:inline-flex;align-items:stretch;height:34px;border-radius:8px;border:1px solid color-mix(in srgb,var(--obs-border, #334155) 70%,transparent);background:color-mix(in srgb,var(--obs-bg, #0f172a) 30%,var(--obs-surface, #1e293b));overflow:visible}.nc-style-pill__btn{display:inline-flex;align-items:center;gap:5px;padding:0 8px 0 10px;min-height:34px;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;transition:background .12s ease;border-radius:7px}.nc-style-pill__btn:hover{background:color-mix(in srgb,var(--obs-hover, #334155) 50%,transparent)}.nc-style-pill__btn.is-open{background:color-mix(in srgb,var(--obs-accent, #6366f1) 14%,transparent)}.nc-style-pill__divider{width:1px;align-self:stretch;margin:7px 0;background:color-mix(in srgb,var(--obs-border, #334155) 50%,transparent);flex-shrink:0}.nc-style-pill__swatch{width:18px;height:18px;border-radius:50%;border:2px solid color-mix(in srgb,var(--obs-border, #334155) 55%,transparent);flex-shrink:0;box-shadow:inset 0 0 0 1px #0000001f,0 1px 2px #0000001a;transition:border-color .12s ease,transform .1s ease}.nc-style-pill__btn:hover .nc-style-pill__swatch{border-color:color-mix(in srgb,var(--obs-border, #334155) 85%,transparent);transform:scale(1.05)}.nc-style-pill__line{flex-shrink:0;min-height:2px}.nc-style-pill__chev{opacity:.4;flex-shrink:0;transition:opacity .12s ease,transform .12s ease}.nc-style-pill__btn:hover .nc-style-pill__chev{opacity:.7}.nc-style-pill__btn.is-open .nc-style-pill__chev{opacity:.95;transform:rotate(180deg)}.nc-pop.nc-pop--style{min-width:258px;padding:14px;border-radius:12px;border:1px solid var(--obs-border, #334155);background:var(--obs-surface, #1e293b);box-shadow:0 0 0 1px #0000000f,0 4px 12px #00000026,0 16px 48px #0000004d;animation:nc-pop-in .16s cubic-bezier(.22,1,.36,1)}@keyframes nc-pop-in{0%{opacity:0;transform:translate(-50%) translateY(-8px) scale(.97)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.nc-pop__head{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--obs-text-dim, #94a3b8);margin:0 0 12px}.nc-pop__hint{font-size:11px;line-height:1.45;color:var(--obs-text-dim, #94a3b8);margin:-8px 0 12px}.nc-pop__grid--colors{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.nc-pop__swatch{width:100%;aspect-ratio:1;max-height:36px;border-radius:8px;border:2.5px solid transparent;cursor:pointer;padding:0;transition:transform .12s ease,border-color .12s ease,box-shadow .12s ease;box-shadow:inset 0 0 0 1px #00000014}.nc-pop__swatch:hover{transform:scale(1.08);box-shadow:inset 0 0 0 1px #0000001f,0 2px 8px #0003}.nc-pop__swatch.is-active{border-color:var(--obs-accent, #6366f1);box-shadow:0 0 0 2px color-mix(in srgb,var(--obs-accent, #6366f1) 30%,transparent),inset 0 0 0 1px #0000001a;transform:scale(1.05)}.nc-pop__custom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--obs-border, #334155) 50%,transparent)}.nc-pop__custom-label{font-size:12px;font-weight:500;color:var(--obs-text-dim, #94a3b8);white-space:nowrap}.nc-pop__custom-input-wrap{flex:1;min-width:0}.nc-pop__custom-input-wrap input[type=color]{display:block;width:100%;height:32px;border:1px solid color-mix(in srgb,var(--obs-border, #334155) 60%,transparent);border-radius:8px;cursor:pointer;padding:3px;background:color-mix(in srgb,var(--obs-bg, #0f172a) 50%,var(--obs-surface, #1e293b));transition:border-color .12s ease}.nc-pop__custom-input-wrap input[type=color]:hover{border-color:var(--obs-border, #334155)}.nc-pop__widths{display:flex;flex-direction:column;gap:3px}.nc-pop__width-row{display:flex;align-items:center;gap:12px;width:100%;padding:9px 12px;border-radius:8px;border:1px solid transparent;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left;transition:all .12s ease}.nc-pop__width-row:hover{background:color-mix(in srgb,var(--obs-hover, #334155) 50%,transparent)}.nc-pop__width-row.is-active{border-color:color-mix(in srgb,var(--obs-accent, #6366f1) 40%,transparent);background:color-mix(in srgb,var(--obs-accent, #6366f1) 10%,transparent)}.nc-pop__width-dot{border-radius:50%;background:currentColor;flex-shrink:0}.nc-pop__width-label{font-size:13px;font-weight:500;font-variant-numeric:tabular-nums;color:var(--obs-text, #e2e8f0)}.nc-pop__swatch[title="#1e293b"]{box-shadow:inset 0 0 0 1.5px #ffffff1f}.nc-app .nc-dock{position:absolute;left:14px;bottom:14px;z-index:6;pointer-events:auto;touch-action:manipulation}.nc-app .nc-dock__inner{display:flex;align-items:center;gap:4px;padding:4px 6px;background:var(--obs-surface, #1e293b);border:1px solid var(--obs-border, #334155);border-radius:12px;box-shadow:0 2px 4px #00000014,0 8px 20px #00000038}.nc-app .nc-dock__icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;border-radius:8px;background:transparent;color:inherit;cursor:pointer;transition:background .12s ease,border-color .12s ease}.nc-app .nc-dock__icon-btn:hover{background:color-mix(in srgb,var(--obs-hover, #334155) 60%,transparent)}.nc-app .nc-dock__sep{width:1px;align-self:stretch;min-height:24px;margin:4px 2px;background:color-mix(in srgb,var(--obs-border, #334155) 60%,transparent);flex-shrink:0}.nc-app .nc-dock__zoom{display:inline-flex;align-items:stretch;height:32px;border-radius:8px;border:1px solid color-mix(in srgb,var(--obs-border, #334155) 70%,transparent);overflow:hidden;background:color-mix(in srgb,var(--obs-bg, #0f172a) 30%,var(--obs-surface, #1e293b))}.nc-app .nc-dock__zoom-btn{width:28px;flex:0 0 28px;border:0;background:transparent;color:inherit;cursor:pointer;font-size:15px;font-weight:500;line-height:1;display:inline-flex;align-items:center;justify-content:center;transition:background .12s ease}.nc-app .nc-dock__zoom-btn:hover{background:color-mix(in srgb,var(--obs-hover, #334155) 60%,transparent)}.nc-app .nc-dock__zoom-pct{min-width:52px;padding:0 6px;border:0;border-left:1px solid color-mix(in srgb,var(--obs-border, #334155) 50%,transparent);border-right:1px solid color-mix(in srgb,var(--obs-border, #334155) 50%,transparent);background:transparent;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;color:inherit;cursor:pointer;transition:background .12s ease}.nc-app .nc-dock__zoom-pct:hover{background:color-mix(in srgb,var(--obs-hover, #334155) 60%,transparent)}.nc-agentbar{position:absolute;left:50%;bottom:18px;transform:translate(-50%);z-index:6;width:min(980px,calc(100% - 180px));display:flex;flex-direction:column;gap:8px;pointer-events:none}.nc-agentbar__feedback,.nc-agentbar__history,.nc-agentbar__shell,.nc-agentbar .chat-input-box,.nc-agentbar .model-dropdown{pointer-events:auto}.nc-agentbar__sr-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.nc-agentbar.is-working .chat-input::placeholder{color:color-mix(in srgb,var(--obs-text-dim, #94a3b8) 82%,transparent);opacity:1;animation:nc-agent-progress-text 1.35s ease-in-out infinite}.obs-main.is-agent-working .obs-tabbar{position:relative;z-index:42;overflow:visible}.obs-main.is-agent-working .obs-tabs{overflow:visible}.obs-main.is-agent-working .excalidraw-stage-wrap,.obs-main.is-agent-working .cv-main.excalidraw-stage-wrap,.obs-main.is-agent-working .nc-stage{position:relative;isolation:isolate}.obs-main.is-agent-working .excalidraw-stage-wrap:before,.obs-main.is-agent-working .cv-main.excalidraw-stage-wrap:before,.obs-main.is-agent-working .nc-stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:18;pointer-events:none;padding:2px;background:linear-gradient(120deg,#6965db,#22c55e,#f4a261,#e8590c,#228be6,#6965db);background-size:300% 300%;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;box-shadow:0 0 16px color-mix(in srgb,#6965db 32%,transparent),0 0 28px color-mix(in srgb,#22c55e 16%,transparent);animation:nc-agent-canvas-rainbow 2.4s linear infinite,dc-canvas-agent-glow 1.7s ease-in-out infinite}.obs-main.is-agent-working .obs-tab--active:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:0;pointer-events:none;border-radius:8px 8px 0 0;padding:2px 2px 0;background:linear-gradient(120deg,#6965db,#22c55e,#f4a261,#e8590c,#228be6,#6965db);background-size:300% 300%;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;box-shadow:0 -2px 12px color-mix(in srgb,#6965db 36%,transparent),0 0 18px color-mix(in srgb,#22c55e 14%,transparent);animation:nc-agent-canvas-rainbow 2.4s linear infinite}.obs-main.is-agent-working .obs-tab--active:after,.obs-main.is-agent-working .excalidraw-stage-wrap:after,.obs-main.is-agent-working .cv-main.excalidraw-stage-wrap:after,.obs-main.is-agent-working .nc-stage:after,.obs-main.is-agent-working:before{content:none!important;display:none!important}@keyframes nc-agent-progress-text{0%,to{opacity:.48}50%{opacity:.9}}@keyframes nc-agent-canvas-rainbow{0%{background-position:0% 50%}to{background-position:300% 50%}}@media (prefers-reduced-motion: reduce){.nc-agentbar.is-working .chat-input::placeholder,.obs-main.is-agent-working .excalidraw-stage-wrap:before,.obs-main.is-agent-working .cv-main.excalidraw-stage-wrap:before,.obs-main.is-agent-working .nc-stage:before,.obs-main.is-agent-working .obs-tab--active:before{animation:none}}.nc-agentbar__history{max-height:190px;overflow:auto;overscroll-behavior:contain;padding:12px;border:1px solid color-mix(in srgb,var(--obs-border, #334155) 72%,transparent);border-radius:16px;background:linear-gradient(180deg,#ffffff0a,#fff0),color-mix(in srgb,var(--obs-surface, #1e293b) 92%,#0b1120);box-shadow:0 12px 28px #00000042,inset 0 1px #ffffff0a}.nc-agentbar__message{display:flex;flex-direction:column;gap:6px;margin-bottom:10px;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,255,255,.05);background:#ffffff09}.nc-agentbar__message:last-child{margin-bottom:0}.nc-agentbar__message--user{background:color-mix(in srgb,var(--obs-accent, #6366f1) 14%,rgba(255,255,255,.03))}.nc-agentbar__message-head{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--obs-text-dim, #94a3b8)}.nc-agentbar__message-body{color:var(--obs-text, #e2e8f0);font-size:13px;line-height:1.55;white-space:pre-wrap}.nc-agentbar__typing{color:color-mix(in srgb,var(--obs-accent, #6366f1) 58%,#fff);font-size:12px}.nc-agentbar__steps{display:flex;flex-wrap:wrap;gap:6px}.nc-agentbar__step{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;background:#ffffff0d;color:var(--obs-text, #e2e8f0);font-size:11px;font-weight:500}.nc-agentbar__step--active{background:color-mix(in srgb,var(--obs-accent, #6366f1) 22%,rgba(255,255,255,.06));color:#f8fbff;border:1px solid color-mix(in srgb,var(--obs-accent, #6366f1) 55%,transparent)}.nc-agentbar__step--done{background:color-mix(in srgb,#22c55e 18%,rgba(255,255,255,.04));color:#d7ffe5;border:1px solid color-mix(in srgb,#22c55e 40%,transparent)}.nc-agentbar__timeline{display:grid;gap:7px}.nc-agentbar__timeline-item{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:8px 10px;border-radius:12px;background:#ffffff08;border:1px solid rgba(255,255,255,.05)}.nc-agentbar__timeline-item--warning{border-color:#fbbf2457;background:#fbbf2414}.nc-agentbar__timeline-item--error{border-color:#ef444457;background:#ef444414}.nc-agentbar__timeline-item--done{border-color:#22c55e47}.nc-agentbar__timeline-time{color:var(--obs-text-dim, #94a3b8);font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}.nc-agentbar__timeline-label{color:var(--obs-text, #e2e8f0);font-size:12px;line-height:1.45}.nc-agentbar__shell{padding:0}.nc-agentbar__context{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px}.nc-agentbar__chip{display:inline-flex;align-items:center;gap:8px;min-height:30px;padding:0 11px;border-radius:999px;border:1px solid color-mix(in srgb,var(--obs-border, #334155) 75%,transparent);background:color-mix(in srgb,var(--obs-surface, #1e293b) 72%,transparent);color:var(--obs-text, #e2e8f0);font-size:12px;font-weight:600}.nc-agentbar__chip--accent{border-color:color-mix(in srgb,var(--obs-accent, #6366f1) 42%,transparent);background:color-mix(in srgb,var(--obs-accent, #6366f1) 14%,transparent)}.nc-agentbar__chip--action{cursor:pointer}.nc-agentbar__chip-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:0;border-radius:999px;background:transparent;color:inherit;cursor:pointer;line-height:1}.nc-agentbar__chip-btn:hover{background:color-mix(in srgb,var(--obs-hover, #334155) 55%,transparent)}.nc-agentbar--drawcode{bottom:22px;width:min(860px,calc(100% - 48px));gap:10px;--dc-agent-border: #c9c6f5;--dc-agent-shadow: 0 10px 28px rgba(88, 84, 180, .14), 0 2px 8px rgba(15, 23, 42, .06);--dc-agent-purple: #6965db;--dc-agent-purple-dark: #5b57d8}.nc-agentbar--drawcode .nc-agentbar__shell{width:100%}.nc-agentbar--drawcode .chat-input-container{padding:0}.nc-agentbar--drawcode .chat-input-wrapper{max-width:none;width:100%}.nc-agentbar--drawcode .chat-input-box{min-height:58px;padding:10px 12px 10px 10px;gap:10px;border:1.5px solid var(--dc-agent-border);border-radius:999px;background:#fff;box-shadow:var(--dc-agent-shadow)}.nc-agentbar--drawcode .chat-input-box:focus-within{border-color:#a8a4ef;transform:none;box-shadow:0 0 0 3px #6965db1f,var(--dc-agent-shadow)}.nc-agentbar--drawcode .chat-input-box.processing{border-color:transparent;animation:nc-agentbar-drawcode-border 2.2s linear infinite}@keyframes nc-agentbar-drawcode-border{0%{background-position:0% 50%}to{background-position:300% 50%}}.nc-agentbar--drawcode .nc-agentbar__avatar{position:relative;width:40px;height:40px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;box-shadow:none;cursor:default;padding:0}.nc-agentbar--drawcode .nc-agentbar__avatar.is-active{background:var(--obs-hover, #f3f2ff);box-shadow:none}.nc-agentbar--drawcode .nc-agentbar__avatar .model-dropdown{left:0;bottom:calc(100% + 10px);top:auto;min-width:240px}.nc-agentbar--drawcode .chat-input{flex:1;min-width:0;border:none;background:transparent;resize:none;padding:8px 4px;font:400 15px/1.45 var(--font-hand);color:#2f2f46}.nc-agentbar--drawcode .chat-input::placeholder{color:#9ca0b8}.nc-agentbar--drawcode .nc-agentbar__voice-btn{width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:#7a7f98;box-shadow:none}.nc-agentbar--drawcode .nc-agentbar__voice-btn:hover:not(:disabled){transform:none;background:#f3f2ff;color:var(--dc-agent-purple-dark);box-shadow:none}.nc-agentbar--drawcode .nc-agentbar__voice-btn.is-recording{background:#e07a5f24;color:#d96f52}.nc-agentbar--drawcode .send-btn{width:40px;height:40px;border:none;border-radius:50%;background:linear-gradient(145deg,#7b78e8 0%,var(--dc-agent-purple) 100%);color:#fff;box-shadow:0 6px 16px #6965db57}.nc-agentbar--drawcode .send-btn:hover:not(:disabled){transform:translateY(-1px);background:linear-gradient(145deg,#8683ec,#5f5bd8);box-shadow:0 8px 18px #6965db61}.nc-agentbar--drawcode .send-btn:active:not(:disabled){transform:translateY(0)}.nc-agentbar--drawcode .send-btn:disabled{opacity:.45;box-shadow:none}.nc-agentbar--drawcode .stop-btn{background:linear-gradient(145deg,#e8917d,#d96f52)}.nc-agentbar--drawcode .nc-agentbar__context{justify-content:center;margin-bottom:2px}.nc-agentbar--drawcode .nc-agentbar__chip{border-radius:999px;background:#ffffffeb;border:1px solid var(--dc-agent-border);color:#4f4d6d;font-size:11px}.nc-agentbar--drawcode .nc-agentbar__feedback{border-radius:999px;border:1px solid var(--dc-agent-border);background:#fffffff5;color:#4f4d6d;box-shadow:var(--dc-agent-shadow)}.nc-agentbar--drawcode .nc-agentbar__history{border:1px solid var(--dc-agent-border);border-radius:20px;background:#fffffff7;box-shadow:var(--dc-agent-shadow)}.nc-agentbar--drawcode .nc-agentbar__message{background:#f8f7ff;border-color:#ebe9ff}.nc-agentbar--drawcode .nc-agentbar__message--user{background:#f1f0ff}.nc-agentbar--drawcode .nc-agentbar__message-head,.nc-agentbar--drawcode .nc-agentbar__message-body{color:#4f4d6d}.nc-agentbar{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #eff1f3;--bg-hover: #e9ecef;--text-primary: #1e1e1e;--text-secondary: #495057;--text-muted: #adb5bd;--border-color: #2c2c2c;--border-subtle: #dee2e6;--accent-primary: #6965db;--accent-secondary: #7bc86c;--error: #e07a5f;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--font-sans: "Comic Neue", "Comic Sans MS", system-ui, sans-serif;--transition-fast: .15s ease}.obs-app[data-theme=dark] .nc-agentbar{--bg-primary: #0d0d0f;--bg-secondary: #141418;--bg-tertiary: #1a1a1f;--bg-hover: #252530;--text-primary: #f0f0f5;--text-secondary: #a0a0b0;--text-muted: #505060;--border-color: #3a3a4a;--border-subtle: #252530;--accent-primary: #7b78e5;--accent-secondary: #8fd47f;--error: #e8917d}.nc-agentbar .chat-input-container{padding:24px;background:transparent;width:100%;display:flex;justify-content:center}.nc-agentbar .chat-input-wrapper{width:100%;max-width:768px;position:relative}.nc-agentbar .chat-input-box{display:flex;align-items:center;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-lg);padding:14px 18px;gap:12px;transition:all var(--transition-fast);box-shadow:3px 3px #0000000f;position:relative;overflow:visible}.nc-agentbar .chat-input-box:focus-within{border-color:var(--accent-primary);transform:translate(-1px,-1px);box-shadow:4px 4px #6965db26}.nc-agentbar .chat-input-box.processing{border:2px solid transparent;background-image:linear-gradient(var(--bg-primary),var(--bg-primary)),linear-gradient(90deg,#6965db,#7bc86c,#f4a261,#e07a5f,#6965db,#7bc86c);background-origin:border-box;background-clip:padding-box,border-box;background-size:100% 100%,300% 100%;animation:rainbow-border 2s linear infinite;box-shadow:0 0 15px #6965db40;transform:none}@keyframes rainbow-border{0%{background-position:0% 50%}to{background-position:300% 50%}}.nc-agentbar .model-selector{display:flex;align-items:center;gap:4px;background:var(--bg-secondary);padding:4px 8px;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:11px;color:var(--text-secondary);white-space:nowrap;cursor:pointer;transition:all .15s ease;position:relative}.nc-agentbar .model-selector:hover{background:var(--bg-hover);border-color:var(--border-color)}.nc-agentbar .model-selector.active{background:var(--bg-hover);border-color:var(--accent-primary)}.nc-agentbar .model-icon{width:12px;height:12px;flex-shrink:0;opacity:.7}.nc-agentbar .model-name{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nc-agentbar .dropdown-arrow{opacity:.4;transition:transform .15s ease;flex-shrink:0}.nc-agentbar .dropdown-arrow.open{transform:rotate(180deg)}.nc-agentbar .model-dropdown{position:absolute;bottom:100%;left:0;min-width:220px;max-width:280px;max-height:320px;overflow-y:auto;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:0 4px 16px #0003;margin-bottom:6px;z-index:1000}.nc-agentbar .model-dropdown-header{display:flex;align-items:center;gap:6px;padding:8px 12px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);border-bottom:1px solid var(--border-subtle);background:var(--bg-secondary);position:sticky;top:0}.nc-agentbar .model-dropdown-header svg{opacity:.7}.nc-agentbar .model-dropdown-item{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;transition:background .1s ease;border-bottom:1px solid var(--border-subtle)}.nc-agentbar .model-dropdown-item:last-child{border-bottom:none}.nc-agentbar .model-dropdown-item:hover{background:var(--bg-secondary)}.nc-agentbar .model-dropdown-item.selected{background:#6965db1a}.nc-agentbar .model-item-content{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.nc-agentbar .model-item-name{font-size:12px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nc-agentbar .model-item-provider{font-size:10px;color:var(--text-muted);text-transform:capitalize}.nc-agentbar .model-dropdown-item .check-icon{color:var(--accent-primary);flex-shrink:0;width:14px;height:14px}.nc-agentbar .chat-input{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:15px;font-family:var(--font-sans);resize:none;max-height:200px;outline:none;padding:4px 0}.nc-agentbar .chat-input::placeholder{color:var(--text-muted)}.nc-agentbar .send-btn{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--accent-primary);color:#fff;border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;box-shadow:2px 2px #00000014}.nc-agentbar__voice-btn{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);color:var(--text-secondary);border:2px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;box-shadow:2px 2px #00000014}.nc-agentbar__voice-btn:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:3px 3px #0000001f;color:var(--text-primary)}.nc-agentbar__voice-btn:not(:disabled):not(.is-recording){opacity:1}.nc-agentbar__voice-btn:disabled{opacity:.42;cursor:not-allowed}.nc-agentbar__voice-btn.is-recording{background:#e07a5f29;color:var(--error)}.nc-agentbar .send-btn:hover:not(:disabled){transform:translate(-1px,-1px);box-shadow:3px 3px #0000001f;background:var(--accent-secondary)}.nc-agentbar .send-btn:active:not(:disabled){transform:translate(0);box-shadow:1px 1px #00000014}.nc-agentbar .send-btn:disabled{opacity:.4;cursor:not-allowed}.nc-agentbar .stop-btn{background:var(--error)}.nc-agentbar .chat-input-footer{display:inline-flex;align-items:center;justify-content:center;margin-top:12px}.nc-agentbar .disclaimer{font-size:12px;color:var(--text-muted)}.obs-app[data-theme=dark] .nc-agentbar .chat-input-box{background:var(--bg-secondary);border-color:var(--border-color);box-shadow:3px 3px #0000004d}.obs-app[data-theme=dark] .nc-agentbar .chat-input-box:focus-within{border-color:var(--accent-primary);box-shadow:4px 4px #7b78e533}.obs-app[data-theme=dark] .nc-agentbar .chat-input-box.processing{background-image:linear-gradient(var(--bg-secondary),var(--bg-secondary)),linear-gradient(90deg,#7b78e5,#8fd47f,#f5b070,#e8917d,#7b78e5,#8fd47f);box-shadow:0 0 20px #7b78e559}.obs-app[data-theme=dark] .nc-agentbar .send-btn{border-color:var(--border-color);box-shadow:2px 2px #0000004d}.obs-app[data-theme=dark] .nc-agentbar__voice-btn{background:var(--bg-tertiary);border-color:var(--border-color);box-shadow:2px 2px #0000004d}.obs-app[data-theme=dark] .nc-agentbar .model-selector{background:var(--bg-tertiary);border-color:var(--border-subtle)}.obs-app[data-theme=dark] .nc-agentbar .model-selector:hover{background:var(--bg-hover);border-color:var(--border-color)}.obs-app[data-theme=dark] .nc-agentbar .model-dropdown{background:var(--bg-secondary);border-color:var(--border-color);box-shadow:0 4px 16px #00000080}.obs-app[data-theme=dark] .nc-agentbar .model-dropdown-header{background:var(--bg-tertiary);border-color:var(--border-subtle)}.obs-app[data-theme=dark] .nc-agentbar .model-dropdown-item{border-color:var(--border-subtle)}.obs-app[data-theme=dark] .nc-agentbar .model-dropdown-item:hover{background:var(--bg-hover)}.obs-app[data-theme=dark] .nc-agentbar .model-dropdown-item.selected{background:#7b78e526}@media (max-width: 980px){.nc-agentbar{width:calc(100% - 28px)}.nc-agentbar .chat-input-box{flex-wrap:wrap;align-items:stretch}.nc-agentbar .model-selector{min-width:0;flex:1 1 180px}.nc-agentbar .chat-input{flex-basis:100%;order:3}.nc-agentbar .send-btn{order:4;margin-left:auto}.nc-agentbar .chat-input-footer{flex-direction:column;align-items:flex-start}}.obs-app.cv-app.nc-app{--nc-canvas-paper: var(--obs-bg, #0f172a)}html[data-theme=light] .obs-app.cv-app.nc-app{--nc-canvas-paper: #ffffff;background:var(--nc-canvas-paper);color:#0f172a}.obs-app.cv-app.nc-app .cv-main{background:var(--nc-canvas-paper)}.obs-app.cv-app.nc-app .obs-tab--active{background:var(--nc-canvas-paper);color:var(--obs-strong)}.nc-stage{position:relative;flex:1;overflow:hidden;background:var(--obs-bg, #0f172a);min-height:0;min-width:0}.obs-app.cv-app.nc-app .nc-stage{background:var(--nc-canvas-paper)}.nc-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;touch-action:none;user-select:none;-webkit-user-select:none;display:block}.nc-canvas--static{z-index:1;pointer-events:none}.nc-canvas--interactive{z-index:2}.nc-canvas--ink{z-index:4;pointer-events:none}.nc-app .ft-sidebar .ft-search{padding:10px 12px 8px}.nc-app .ft-sidebar .ft-search__icon{left:22px;top:50%;transform:translateY(-50%)}.nc-app .ft-sidebar .ft-search__input{height:34px;border-radius:12px;border:1px solid color-mix(in srgb,var(--obs-border, #334155) 85%,transparent);background:color-mix(in srgb,var(--obs-surface, #1e293b) 55%,var(--obs-bg, #0f172a));padding:0 32px 0 34px;font-size:13px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;box-shadow:0 1px 2px #0000000f}.nc-app .ft-sidebar .ft-search__input:hover{border-color:color-mix(in srgb,var(--obs-border, #334155) 100%,transparent)}.nc-app .ft-sidebar .ft-search__input:focus{border-color:color-mix(in srgb,var(--obs-accent, #6366f1) 70%,transparent);background:color-mix(in srgb,var(--obs-surface, #1e293b) 75%,var(--obs-bg, #0f172a));box-shadow:0 0 0 3px color-mix(in srgb,var(--obs-accent, #6366f1) 22%,transparent),0 1px 3px #00000014;outline:none}.nc-app .ft-sidebar .ft-search__clear{right:16px;top:50%;transform:translateY(-50%);border-radius:8px}.nc-widget-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none;overflow:hidden}.nc-widget-shell{pointer-events:none;contain:layout paint;will-change:transform;--nc-widget-scale: 1;box-sizing:border-box;font-size:calc(13px * var(--nc-widget-scale));line-height:1.45}.nc-widget-shell__pin{position:absolute;top:10px;right:10px;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:24px;padding:0 8px;border:1px solid rgba(124,131,255,.32);border-radius:999px;background:#0a0e18db;color:#e5e7eb;font-size:11px;font-weight:700;letter-spacing:.01em;box-shadow:0 10px 18px #00000038;pointer-events:auto;cursor:pointer}.nc-widget-shell__pin.is-pinned{background:color-mix(in srgb,var(--obs-accent, #6366f1) 28%,rgba(10,14,24,.86));border-color:color-mix(in srgb,var(--obs-accent, #6366f1) 60%,transparent)}.nc-widget-shell--agent-move{transition:left .32s cubic-bezier(.22,1,.36,1),top .32s cubic-bezier(.22,1,.36,1),width .32s cubic-bezier(.22,1,.36,1),height .32s cubic-bezier(.22,1,.36,1);transition-delay:var(--nc-widget-move-delay, 0ms)}.nc-widget-shell .nc-code,.nc-widget-shell .nc-note,.nc-widget-shell .nc-array,.nc-widget-shell .nc-agent{font-size:inherit}.nc-widget-shell .nc-widget-header{padding:calc(6px / 13 * 1em) calc(10px / 13 * 1em);gap:calc(8px / 13 * 1em)}.nc-widget-shell .nc-widget-header__label{font-size:calc(11px / 13 * 1em)}.nc-widget-shell .nc-widget-header__btn{width:calc(22px / 13 * 1em);height:calc(22px / 13 * 1em);font-size:calc(14px / 13 * 1em);border-radius:calc(6px / 13 * 1em)}.nc-stage[data-nc-tool=select] .nc-widget-header,.nc-stage[data-nc-tool=select] .nc-note__text,.nc-stage[data-nc-tool=select] .nc-array__value,.nc-stage[data-nc-tool=select] .nc-array__title,.nc-stage[data-nc-tool=select] .nc-code__editor,.nc-stage[data-nc-tool=select] .nc-code__output,.nc-stage[data-nc-tool=select] .nc-widget-header__btn,.nc-stage[data-nc-tool=select] .nc-widget-header__actions>*,.nc-stage[data-nc-tool=select] .nc-note__swatch,.nc-stage[data-nc-tool=select] .nc-code__toolbtn,.nc-stage[data-nc-tool=select] .nc-code__lang-trigger,.nc-stage[data-nc-tool=select] .nc-agent__body,.nc-stage[data-nc-tool=select] .nc-agent__chip,.nc-stage[data-nc-tool=select] .nc-agent__input,.nc-stage[data-nc-tool=select] .nc-agent__send{pointer-events:auto}.nc-code__lang-menu{pointer-events:auto}.nc-widget-header{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 10px;background:var(--obs-surface, #1e293b);border-top-left-radius:12px;border-top-right-radius:12px;cursor:default}.nc-widget-header__label{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--obs-text-dim, #94a3b8)}.nc-widget-header__actions{display:flex;align-items:center;gap:2px}.nc-widget-header__btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:0;background:transparent;color:inherit;border-radius:6px;cursor:pointer;line-height:1;font-size:14px;transition:background-color .15s ease-out,color .15s ease-out}.nc-widget-header__btn:hover{background:var(--obs-hover, #334155)}.nc-widget-header__btn:focus-visible{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-secondary, var(--obs-accent, #6366F1)) 35%,transparent)}@media (prefers-reduced-motion: reduce){.nc-widget-header__btn{transition:none}}.nc-note{width:100%;height:100%;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;box-shadow:0 1px 2px #00000014,0 8px 24px #0000002e}.nc-note__header{flex-shrink:0;background:var(--obs-surface, #1e293b);border-top-left-radius:12px;border-top-right-radius:12px;color:var(--obs-muted, #94a3b8)}.nc-note__header .nc-widget-header__label{color:var(--obs-text-dim, #94a3b8)}.nc-note__header-right{display:flex;align-items:center;justify-content:flex-end;gap:calc(8px / 13 * 1em);min-width:0;flex:1}.nc-note__swatches{display:flex;align-items:center;gap:calc(4px / 13 * 1em);padding:calc(2px / 13 * 1em) calc(6px / 13 * 1em);border-radius:999px;background:color-mix(in srgb,var(--obs-bg, #0f172a) 35%,transparent)}.nc-note__swatch{width:calc(15px / 13 * 1em);height:calc(15px / 13 * 1em);border-radius:50%;border:0;cursor:pointer;padding:0;flex-shrink:0;background:var(--nc-note-swatch, #fde68a);box-shadow:inset 0 0 0 1px #0000000f;transition:transform .15s ease-out,box-shadow .15s ease-out}.nc-note__swatch:hover{transform:scale(1.1);box-shadow:inset 0 0 0 1px #00000014,0 0 0 2px color-mix(in srgb,var(--accent-secondary, var(--obs-accent, #6366F1)) 30%,transparent)}.nc-note__swatch:focus-visible{outline:none;box-shadow:inset 0 0 0 1px #0000001a,0 0 0 2px color-mix(in srgb,var(--accent-secondary, var(--obs-accent, #6366F1)) 45%,transparent)}.nc-note__swatch--active{box-shadow:inset 0 0 0 1px #0000001f,0 0 0 2px var(--accent-secondary, var(--obs-accent, #6366F1))}@media (prefers-reduced-motion: reduce){.nc-note__swatch{transition:none}.nc-note__swatch:hover{transform:none}}.nc-note__body{flex:1;min-height:0;display:flex;flex-direction:column;background:color-mix(in srgb,#ffffff 52%,var(--nc-note-accent, #fde68a))}html[data-theme=dark] .nc-note__body{background:color-mix(in srgb,#ffffff 22%,var(--nc-note-accent, #fde68a))}.nc-note__text{flex:1;width:100%;min-height:0;padding:calc(10px / 13 * 1em) calc(12px / 13 * 1em);border:0;background:transparent;resize:none;color:#0f172a;font-size:calc(14px / 13 * 1em);line-height:1.55;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;outline:none}.nc-note__text::placeholder{color:color-mix(in srgb,#0f172a 42%,transparent)}.nc-note__text:focus{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent-secondary, var(--obs-accent, #6366F1)) 25%,transparent)}.nc-note__footer{flex-shrink:0;display:flex;align-items:center;justify-content:flex-end;padding:calc(4px / 13 * 1em) calc(10px / 13 * 1em) calc(6px / 13 * 1em);border-top:1px solid color-mix(in srgb,#0f172a 8%,transparent);background:color-mix(in srgb,#ffffff 35%,var(--nc-note-accent, #fde68a))}html[data-theme=dark] .nc-note__footer{border-top-color:color-mix(in srgb,#fff 6%,transparent);background:color-mix(in srgb,#0f172a 12%,var(--nc-note-accent, #fde68a))}.nc-note__count{font-size:calc(10px / 13 * 1em);font-weight:500;letter-spacing:.02em;color:color-mix(in srgb,#0f172a 55%,transparent);font-variant-numeric:tabular-nums}html[data-theme=dark] .nc-note__count{color:color-mix(in srgb,#0f172a 65%,#fff)}html[data-theme=dark] .nc-note__text{color:#0f172a}.nc-agent{width:100%;height:100%;display:flex;flex-direction:column;border-radius:16px;overflow:hidden;color:#eef2ff;box-shadow:0 1px 2px #00000014,0 16px 30px #0000003d}.nc-agent__header{flex-shrink:0;background:linear-gradient(180deg,#ffffff0a,#fff0),color-mix(in srgb,var(--nc-agent-accent, #7c83ff) 12%,#12141b);border-bottom:1px solid rgba(255,255,255,.08)}.nc-agent__header-main{display:flex;align-items:center;gap:calc(8px / 13 * 1em);min-width:0}.nc-agent__status{display:inline-flex;align-items:center;height:calc(22px / 13 * 1em);padding:0 calc(9px / 13 * 1em);border-radius:999px;font-size:calc(10px / 13 * 1em);font-weight:700;letter-spacing:.02em;background:#ffffff0f;color:#ffffffd1}.nc-agent__status--running{background:color-mix(in srgb,var(--nc-agent-accent, #7c83ff) 26%,transparent);color:#f5f3ff}.nc-agent__status--done{background:#22c55e2e;color:#dcfce7}.nc-agent__body{flex:1;min-height:0;display:flex;flex-direction:column;gap:calc(10px / 13 * 1em);padding:calc(12px / 13 * 1em);background:radial-gradient(circle at top left,color-mix(in srgb,var(--nc-agent-accent, #7c83ff) 18%,transparent),transparent 35%),linear-gradient(180deg,#ffffff04,#fff0),#12141b}.nc-agent__messages{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:calc(10px / 13 * 1em);padding-right:calc(2px / 13 * 1em)}.nc-agent__message{display:flex;align-items:flex-start;gap:calc(8px / 13 * 1em)}.nc-agent__message--user{flex-direction:row-reverse}.nc-agent__avatar{display:inline-flex;align-items:center;justify-content:center;width:calc(30px / 13 * 1em);height:calc(30px / 13 * 1em);border-radius:calc(10px / 13 * 1em);background:#ffffff14;color:#ffffffd1;font-size:calc(10px / 13 * 1em);font-weight:700;letter-spacing:.04em;flex-shrink:0}.nc-agent__message--assistant .nc-agent__avatar{background:color-mix(in srgb,var(--nc-agent-accent, #7c83ff) 24%,rgba(255,255,255,.06))}.nc-agent__bubble{max-width:86%;padding:calc(10px / 13 * 1em) calc(12px / 13 * 1em);border-radius:calc(14px / 13 * 1em);background:#ffffff0b;border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 1px #ffffff09}.nc-agent__message--user .nc-agent__bubble{background:color-mix(in srgb,var(--nc-agent-accent, #7c83ff) 18%,rgba(255,255,255,.03))}.nc-agent__bubble-role{margin-bottom:calc(4px / 13 * 1em);font-size:calc(10px / 13 * 1em);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#ffffff8a}.nc-agent__bubble p{margin:0;color:#eef2ff;font-size:calc(12.5px / 13 * 1em);line-height:1.55;white-space:pre-wrap}.nc-agent__typing{display:inline-flex;margin-top:calc(7px / 13 * 1em);font-size:calc(11px / 13 * 1em);color:color-mix(in srgb,var(--nc-agent-accent, #7c83ff) 55%,#fff)}.nc-agent__plan{flex-shrink:0;padding:calc(10px / 13 * 1em) calc(12px / 13 * 1em);border-radius:calc(14px / 13 * 1em);background:#ffffff09;border:1px solid rgba(255,255,255,.06)}.nc-agent__plan-title{margin-bottom:calc(8px / 13 * 1em);font-size:calc(10px / 13 * 1em);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#ffffff85}.nc-agent__plan-list{display:flex;flex-direction:column;gap:calc(6px / 13 * 1em)}.nc-agent__plan-item{display:flex;align-items:center;gap:calc(8px / 13 * 1em);color:#ffffffbd;font-size:calc(12px / 13 * 1em)}.nc-agent__plan-dot{width:calc(8px / 13 * 1em);height:calc(8px / 13 * 1em);border-radius:50%;background:#ffffff38;flex-shrink:0}.nc-agent__plan-item--active .nc-agent__plan-dot{background:var(--nc-agent-accent, #7c83ff);box-shadow:0 0 0 4px color-mix(in srgb,var(--nc-agent-accent, #7c83ff) 18%,transparent)}.nc-agent__plan-item--done .nc-agent__plan-dot{background:#22c55e}.nc-agent__suggestions{display:flex;flex-wrap:wrap;gap:calc(6px / 13 * 1em)}.nc-agent__chip{display:inline-flex;align-items:center;min-height:calc(30px / 13 * 1em);padding:0 calc(10px / 13 * 1em);border-radius:calc(10px / 13 * 1em);border:1px solid rgba(255,255,255,.08);background:#ffffff09;color:#ffffffd1;font-size:calc(11.5px / 13 * 1em);font-weight:500;cursor:pointer;transition:background-color .15s ease-out,border-color .15s ease-out,transform 80ms ease-out}.nc-agent__chip:hover{background:#ffffff0f;border-color:#ffffff1f}.nc-agent__chip:active{transform:scale(.98)}.nc-agent__composer{display:flex;align-items:flex-end;gap:calc(8px / 13 * 1em);flex-shrink:0}.nc-agent__input{flex:1;min-height:calc(72px / 13 * 1em);max-height:calc(120px / 13 * 1em);padding:calc(11px / 13 * 1em) calc(12px / 13 * 1em);border-radius:calc(14px / 13 * 1em);border:1px solid rgba(255,255,255,.08);background:#070a12b8;color:#f8fafc;font:inherit;font-size:calc(12.5px / 13 * 1em);line-height:1.5;resize:none;outline:none;transition:border-color .15s ease-out,box-shadow .15s ease-out,background-color .15s ease-out}.nc-agent__input::placeholder{color:#fff6}.nc-agent__input:focus{border-color:color-mix(in srgb,var(--nc-agent-accent, #7c83ff) 45%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--nc-agent-accent, #7c83ff) 15%,transparent)}.nc-agent__send{flex-shrink:0;min-width:calc(104px / 13 * 1em);height:calc(40px / 13 * 1em);padding:0 calc(16px / 13 * 1em);border:1px solid color-mix(in srgb,var(--nc-agent-accent, #7c83ff) 26%,transparent);border-radius:calc(12px / 13 * 1em);background:linear-gradient(180deg,color-mix(in srgb,var(--nc-agent-accent, #7c83ff) 92%,#fff),color-mix(in srgb,var(--nc-agent-accent, #7c83ff) 80%,#111827));color:#fff;font-size:calc(12px / 13 * 1em);font-weight:700;cursor:pointer;box-shadow:0 10px 18px color-mix(in srgb,var(--nc-agent-accent, #7c83ff) 16%,transparent);transition:filter .15s ease-out,transform 80ms ease-out,opacity .15s ease-out}.nc-agent__send:hover:not(:disabled){filter:brightness(1.04)}.nc-agent__send:active:not(:disabled){transform:scale(.98)}.nc-agent__send:disabled{opacity:.58;cursor:not-allowed}.nc-agent__messages::-webkit-scrollbar{width:6px}.nc-agent__messages::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:999px}.nc-array__track{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(14px * var(--nc-widget-scale, 1));overflow:visible;background:transparent;gap:calc(10px * var(--nc-widget-scale, 1))}.nc-array__caption{width:100%;color:#ffffffa8;font-size:calc(11px * var(--nc-widget-scale, 1));line-height:1.4;text-align:left}.nc-array__grid{display:grid;grid-template-rows:auto minmax(0,1fr);column-gap:calc(4px * var(--nc-widget-scale, 1));row-gap:calc(2px * var(--nc-widget-scale, 1));flex:1;align-items:stretch}.nc-array__cellWrap{position:relative}.nc-array__badge{position:absolute;left:50%;bottom:calc(100% + 5px * var(--nc-widget-scale, 1));transform:translate(-50%);white-space:nowrap;padding:2px 6px;border-radius:999px;background:#111827e0;color:#f8fafc;font-size:calc(9px * var(--nc-widget-scale, 1));font-weight:700;letter-spacing:.01em}.nc-array__indexCell{display:flex;align-items:center;justify-content:center;font-size:calc(10px * var(--nc-widget-scale, 1));font-weight:600;color:#ffffff59;font-family:JetBrains Mono,Fira Code,Menlo,Consolas,ui-monospace,monospace;padding-bottom:calc(4px * var(--nc-widget-scale, 1))}.nc-array__value{width:100%;min-height:calc(44px * var(--nc-widget-scale, 1));background:#181c24f5;border:1px solid rgba(255,255,255,.1);color:#e8e8e8;font-weight:600;text-align:center;font-size:calc(12px * var(--nc-widget-scale, 1));border-radius:calc(10px * var(--nc-widget-scale, 1));outline:none;font-family:JetBrains Mono,Fira Code,Menlo,Consolas,ui-monospace,monospace;box-shadow:inset 0 1px #ffffff0a;transition:all .15s;box-sizing:border-box}.nc-array__cellWrap.is-focus .nc-array__value{border-color:#6366f1a6;box-shadow:0 0 0 2px #6366f12e,inset 0 1px #ffffff0d}.nc-array__cellWrap.is-memory .nc-array__value{border-color:#4ade8073;background:#11251afa}.nc-array__cellWrap.is-shift .nc-array__value{border-color:#38bdf880;background:#0b1d2bfa}.nc-array__cellWrap.is-danger .nc-array__value{border-color:#fb7185b8;background:#3d111afa}.nc-array__value:hover,.nc-array__value:focus{background:#252830;border-color:#6366f180}.nc-code{width:100%;height:100%;display:flex;flex-direction:column;border-radius:12px;overflow:hidden;font-family:var(--font-sans);box-shadow:0 1px 2px #0000001a,0 8px 24px #00000038}.nc-code__header{flex-shrink:0;background:#181818;border-top-left-radius:12px;border-top-right-radius:12px;border-bottom:1px solid rgba(255,255,255,.07);gap:8px;padding:7px 10px 7px 12px;min-height:48px}.nc-code__header-left,.nc-code__toolbar{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.nc-code__toolbar{gap:6px}.nc-code__toolbar-spacer{flex:1;min-width:4px}.nc-code__lang-trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;flex:0 0 auto;height:32px;min-width:110px;max-width:160px;background:#ffffff0f;color:#e8e8e8;border:1px solid rgba(255,255,255,.1);border-radius:7px;padding:0 10px 0 11px;font-size:12px;font-weight:500;font-family:var(--font-sans);cursor:pointer;text-align:left;letter-spacing:-.01em;transition:background-color .14s ease-out,border-color .14s ease-out,box-shadow .14s ease-out}.nc-code__lang-trigger:hover{background:#ffffff1a;border-color:#ffffff29}.nc-code__lang-trigger.is-open{background:#ffffff1a;border-color:#6366f166;box-shadow:0 0 0 2px #6366f11f}.nc-code__lang-trigger:focus-visible{outline:none;border-color:#6366f166;box-shadow:0 0 0 2px #6366f126}.nc-code__lang-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nc-code__lang-chev{flex-shrink:0;opacity:.55;transition:transform .15s ease-out,opacity .15s ease-out}.nc-code__lang-trigger:hover .nc-code__lang-chev,.nc-code__lang-trigger.is-open .nc-code__lang-chev{opacity:.85}.nc-code__lang-trigger.is-open .nc-code__lang-chev{transform:rotate(180deg)}.nc-code__lang-mono{display:none}.nc-code__lang-menu{position:fixed;z-index:9000;min-width:200px;max-height:300px;overflow-y:auto;padding:4px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:#1e1e20;box-shadow:0 8px 32px #00000059,0 2px 8px #0003,inset 0 1px #ffffff0a;animation:nc-lang-drop-in .15s cubic-bezier(.22,1,.36,1);scrollbar-width:thin;scrollbar-color:#2a2a2a transparent}@keyframes nc-lang-drop-in{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.nc-code__lang-menu::-webkit-scrollbar{width:4px}.nc-code__lang-menu::-webkit-scrollbar-track{background:transparent}.nc-code__lang-menu::-webkit-scrollbar-thumb{background:#333;border-radius:2px;min-height:24px}.nc-code__lang-menu::-webkit-scrollbar-thumb:hover{background:#444}@media (prefers-reduced-motion: reduce){.nc-code__lang-menu{animation:none}.nc-code__lang-chev,.nc-code__lang-trigger{transition:none}}.nc-code__lang-option{display:flex;align-items:center;gap:8px;width:100%;padding:6px 10px;border:0;background:transparent;color:#999;border-radius:6px;cursor:pointer;font-family:var(--font-sans);font-size:12px;font-weight:500;text-align:left;letter-spacing:-.01em;line-height:1.4;transition:background-color .15s cubic-bezier(.22,1,.36,1),color .15s cubic-bezier(.22,1,.36,1)}.nc-code__lang-option:hover,.nc-code__lang-option.is-focused{background:#252525;color:#e8e8e8}.nc-code__lang-option.is-active{background:#6366f112;color:#e8e8e8;font-weight:600}.nc-code__lang-option.is-active:hover,.nc-code__lang-option.is-active.is-focused{background:#6366f11f;color:#fff}.nc-code__lang-option__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nc-code__lang-option__check{flex-shrink:0;opacity:0;color:#6366f1;transition:opacity .15s cubic-bezier(.22,1,.36,1)}.nc-code__lang-option.is-active .nc-code__lang-option__check{opacity:1}.nc-code__toolbtn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex-shrink:0;padding:0;border:0;border-radius:7px;background:transparent;color:#ffffff80;cursor:pointer;transition:background-color .13s ease-out,color .13s ease-out,transform 80ms ease-out}.nc-code__toolbtn:hover{background:#ffffff17;color:#ffffffe6}.nc-code__toolbtn:active{transform:scale(.95);background:#ffffff0f}.nc-code__toolbtn:focus-visible{outline:none;box-shadow:0 0 0 2px #6366f159}@media (prefers-reduced-motion: reduce){.nc-code__toolbtn{transition:none}.nc-code__toolbtn:active{transform:none}}.nc-code__runbtn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:32px;min-width:80px;padding:0 14px;border:1px solid rgba(74,222,128,.22);border-radius:7px;background:linear-gradient(160deg,#22c55e,#16a34a);color:#fff;font-family:var(--font-sans);font-size:12px;font-weight:600;letter-spacing:-.01em;line-height:1;cursor:pointer;flex-shrink:0;box-shadow:inset 0 1px #ffffff2e,0 2px 10px #16a34a40;transition:filter .13s ease-out,transform 80ms ease-out,box-shadow .13s ease-out}.nc-code__runbtn svg{flex-shrink:0;width:13px;height:13px}.nc-code__runbtn span{letter-spacing:-.01em}.nc-code__runbtn:hover{filter:brightness(1.06);box-shadow:inset 0 1px #fff3,0 4px 14px #16a34a52}.nc-code__runbtn:active{transform:scale(.97);filter:brightness(.97)}.nc-code__runbtn:focus-visible{outline:none;box-shadow:0 0 0 2.5px #22c55e59,inset 0 1px #ffffff2e}.nc-code__close:hover{color:#fff;background:#ef4444bf;border-radius:6px}.nc-code__editor{flex:1;min-height:0;background:transparent}.nc-code__output{border-top:1px solid rgba(255,255,255,.07);background:#161616;max-height:160px;min-height:60px;display:flex;flex-direction:column;flex-shrink:0}.nc-code__output-head{display:flex;justify-content:space-between;align-items:center;padding:5px 10px 5px 12px;font-family:var(--font-sans);font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#ffffff61;border-bottom:1px solid rgba(255,255,255,.06);flex-shrink:0}.nc-code__output-body{flex:1;margin:0;padding:10px 12px;overflow:auto;font-family:JetBrains Mono,Fira Code,Menlo,Consolas,ui-monospace,monospace;font-size:12px;line-height:1.6;color:#c8d3d8;white-space:pre-wrap;word-break:break-word}@media (prefers-reduced-motion: reduce){.nc-code__runbtn{transition:none}.nc-code__runbtn:active{transform:none}}.nc-props{position:absolute;top:70px;right:14px;bottom:14px;z-index:7;width:264px;display:flex;flex-direction:column;gap:0;background:var(--obs-surface, #1e293b);color:var(--obs-text, #e2e8f0);border:1px solid var(--obs-border, #334155);border-radius:14px;box-shadow:0 4px 6px -1px #0000001f,0 10px 24px -4px #00000047;overflow:hidden;pointer-events:auto;animation:nc-pop-menu-in .16s ease-out}.nc-props__head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 10px;border-bottom:1px solid color-mix(in srgb,var(--obs-border, #334155) 35%,transparent)}.nc-props__head-meta{display:inline-flex;align-items:center;gap:8px}.nc-props__title{font-size:13px;font-weight:700;letter-spacing:.02em}.nc-props__sub{font-size:11px;color:var(--obs-text-dim, #94a3b8);font-variant-numeric:tabular-nums}.nc-props__close{display:inline-grid;place-items:center;width:24px;height:24px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--obs-text-dim, #94a3b8);font:inherit;font-size:18px;line-height:1;cursor:pointer}.nc-props__close:hover{background:var(--obs-hover, #334155);color:var(--obs-text, #e2e8f0)}.nc-props__section+.nc-props__section{border-top:1px solid color-mix(in srgb,var(--obs-border, #334155) 25%,transparent)}.nc-props{overflow-y:auto}.nc-props__section{padding:10px 14px 12px}.nc-props__section-title{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--obs-text-dim, #94a3b8);margin-bottom:8px}.nc-props__section-body{display:flex;flex-direction:column;gap:10px}.nc-props__row{display:flex;align-items:center;justify-content:space-between;gap:10px}.nc-props__row--col{flex-direction:column;align-items:stretch;gap:6px}.nc-props__row-label{font-size:12px;color:var(--obs-text-dim, #94a3b8);flex-shrink:0}.nc-props__swatches{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end}.nc-props__swatch{width:20px;height:20px;border-radius:999px;border:0;cursor:pointer;padding:0;box-shadow:inset 0 0 0 1px #0000002e;transition:transform .15s ease-out,box-shadow .15s ease-out}.nc-props__swatch:hover{transform:scale(1.1)}.nc-props__swatch.is-active{box-shadow:inset 0 0 0 1px #0000002e,0 0 0 2px var(--accent-secondary, var(--obs-accent, #6366F1))}.nc-props__swatch:focus-visible{outline:none;box-shadow:inset 0 0 0 1px #0000002e,0 0 0 2px color-mix(in srgb,var(--accent-secondary, var(--obs-accent, #6366F1)) 50%,transparent)}.nc-props__swatch--custom{display:inline-flex;align-items:center;justify-content:center;background:conic-gradient(from 0deg,#ef4444,#f59e0b,#10b981,#3b82f6,#8b5cf6,#ec4899,#ef4444);overflow:hidden}.nc-props__swatch--custom input[type=color]{opacity:0;width:100%;height:100%;border:0;cursor:pointer}.nc-props__num{display:inline-flex;align-items:center;gap:2px;background:color-mix(in srgb,var(--obs-bg, #0f172a) 35%,transparent);border-radius:8px;padding:2px}.nc-props__num-btn{width:22px;height:22px;border:0;background:transparent;color:inherit;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;line-height:1;transition:background-color .15s ease-out}.nc-props__num-btn:hover{background:var(--obs-hover, #334155)}.nc-props__num-input{width:44px;text-align:center;border:0;background:transparent;color:inherit;font:inherit;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;padding:2px 0;outline:none;-webkit-appearance:textfield;appearance:textfield;-moz-appearance:textfield}.nc-props__num-input::-webkit-outer-spin-button,.nc-props__num-input::-webkit-inner-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}.nc-props__num-suffix{font-size:11px;color:var(--obs-text-dim, #94a3b8);margin-left:4px;margin-right:4px}.nc-props__chips{display:flex;flex-wrap:wrap;gap:4px}.nc-props__chip{display:inline-flex;align-items:center;padding:4px 9px;font-size:11px;font-weight:500;border:1px solid color-mix(in srgb,var(--obs-border, #334155) 60%,transparent);background:transparent;color:inherit;border-radius:999px;cursor:pointer;transition:background-color .15s ease-out,border-color .15s ease-out}.nc-props__chip:hover{background:var(--obs-hover, #334155)}.nc-props__chip.is-active{border-color:var(--accent-secondary, var(--obs-accent, #6366F1));background:color-mix(in srgb,var(--accent-secondary, var(--obs-accent, #6366F1)) 18%,transparent)}.nc-props__foot{margin-top:auto;padding:8px 14px 10px;font-size:11px;color:var(--obs-text-dim, #94a3b8);border-top:1px solid color-mix(in srgb,var(--obs-border, #334155) 25%,transparent);text-align:center}@media (prefers-reduced-motion: reduce){.nc-props{animation:none}.nc-props__swatch,.nc-props__num-btn,.nc-props__chip{transition:none}.nc-props__swatch:hover{transform:none}}@media (max-width: 760px){.nc-props{top:auto;right:14px;bottom:106px;left:14px;width:auto;max-height:min(44vh,360px);border-radius:12px}}.nc-hud{position:absolute;right:10px;bottom:10px;z-index:20;pointer-events:none;background:#0f172ad9;border:1px solid var(--obs-border, #334155);color:#e2e8f0;padding:6px 10px;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.5;min-width:220px}.nc-stage[data-nc-tool=select] .nc-note__close{pointer-events:auto}.nc-note{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;border:var(--nc-note-border-width, 1.5px) solid var(--nc-note-border, #ca8a04);border-radius:8px;background:var(--nc-note-bg, #fefce8);box-shadow:0 8px 32px #00000026}.nc-note__header{height:calc(32px / 13 * 1em);min-height:calc(32px / 13 * 1em);padding:0 calc(10px / 13 * 1em);border-bottom:1px solid var(--nc-note-border, #ca8a04);border-radius:7px 7px 0 0;background:color-mix(in srgb,var(--nc-note-bg, #fefce8) 82%,#facc15);cursor:grab}.nc-note__header .nc-widget-header__label{color:#854d0e;font-size:calc(12px / 13 * 1em);font-weight:600;letter-spacing:0;text-transform:none}.nc-note__close{margin-left:auto;padding:calc(2px / 13 * 1em) calc(6px / 13 * 1em);border:0;border-radius:calc(4px / 13 * 1em);background:transparent;color:#a16207;font:inherit;font-size:calc(13px / 13 * 1em);line-height:1;opacity:.5;cursor:pointer;transition:opacity .12s ease,color .12s ease,background-color .12s ease}.nc-note__header:hover .nc-note__close{opacity:1}.nc-note__close:hover{color:#fff;background:#ef4444;opacity:1}.nc-note__title{flex-shrink:0;padding:calc(10px / 13 * 1em) calc(12px / 13 * 1em) 0;color:#713f12;font-size:calc(15px / 13 * 1em);font-weight:700;line-height:1.3;letter-spacing:-.01em}.nc-note__text{flex:1;width:100%;min-height:0;padding:calc(10px / 13 * 1em) calc(12px / 13 * 1em);border:0;border-radius:0 0 7px 7px;outline:0;resize:none;background:transparent;color:#422006;font-family:var(--font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);font-size:calc(13px / 13 * 1em);line-height:1.6}.nc-note__text::placeholder{color:#a16207;opacity:.5}.obs-app[data-theme=dark] .nc-note{background:var(--bg-primary, #1e1e2e);border-color:var(--accent-warm, #f59e0b)}.obs-app[data-theme=dark] .nc-note__header{border-bottom-color:var(--border, #45475a);background:var(--bg-secondary, #313244)}.obs-app[data-theme=dark] .nc-note__header .nc-widget-header__label,.obs-app[data-theme=dark] .nc-note__text{color:var(--text-primary, #cdd6f4)}.obs-app[data-theme=dark] .nc-note__title{color:#fef3c7}.obs-app[data-theme=dark] .nc-note__close,.obs-app[data-theme=dark] .nc-note__text::placeholder{color:var(--text-tertiary, #6c7086);opacity:1}.nc-code{border-radius:12px;background:#1f1f1f;box-shadow:0 12px 34px #00000047}.nc-code__header{min-height:48px;padding:7px 10px 7px 12px;border-radius:12px 12px 0 0;border-bottom-color:#ffffff12;background:#181818;cursor:grab}.nc-code__lang-trigger{height:32px;min-width:110px;max-width:160px;padding:0 10px 0 11px;border-color:#ffffff1a;border-radius:7px;background:#ffffff0f;box-shadow:none;font-size:12px}.nc-code__lang-trigger:hover,.nc-code__lang-trigger.is-open{border-color:#ffffff29;background:#ffffff1a;box-shadow:none}.nc-code__lang-trigger.is-open{border-color:#6366f166;box-shadow:0 0 0 2px #6366f11f}.nc-code__runbtn{height:32px;min-width:80px;padding:0 14px;gap:6px;border:1px solid rgba(74,222,128,.22);border-radius:7px;background:linear-gradient(160deg,#22c55e,#16a34a);box-shadow:inset 0 1px #ffffff2e,0 2px 10px #16a34a40;font-size:12px;font-weight:600}.nc-code__runbtn:hover{border-color:#4ade804d;background:linear-gradient(160deg,#22c55e,#16a34a);box-shadow:inset 0 1px #fff3,0 4px 14px #16a34a52;filter:brightness(1.06)}.nc-code__runbtn.is-running{border-color:#f8717140;background:linear-gradient(160deg,#ef4444,#dc2626);box-shadow:inset 0 1px #ffffff26,0 2px 10px #dc262640}.nc-code__toolbtn,.nc-code__header .nc-widget-header__btn{width:30px;height:30px;border-radius:7px;color:#ffffff75}.nc-code__toolbtn:hover,.nc-code__header .nc-widget-header__btn:hover{color:#ffffffe6;background:#ffffff17}.nc-code__editor,.nc-code__output{background:#1f1f1f}.nc-code .monaco-editor,.nc-code .monaco-editor-background,.nc-code .monaco-editor .margin,.nc-code .monaco-editor .monaco-editor-background,.nc-code .monaco-editor .inputarea.ime-input,.nc-code .monaco-editor .glyph-margin{background:transparent!important}.nc-code .monaco-editor .current-line,.nc-code .monaco-editor .view-overlays .current-line{border:0!important;background:#ffffff09!important}@keyframes nc-widget-spawn{0%{opacity:0;transform:scale(.94) translateY(14px);filter:blur(2px)}to{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}}.nc-widget-shell--spawn>*{animation:nc-widget-spawn .36s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--nc-widget-spawn-delay, 0ms)}.nc-agentbar{bottom:18px;width:min(760px,calc(100% - 220px));gap:4px}.nc-agentbar .chat-input-container{padding:0}.nc-agentbar .chat-input-wrapper{max-width:680px}.nc-agentbar .chat-input-box{gap:8px;padding:8px 10px;border-radius:13px}.nc-agentbar .model-selector{padding:3px 7px;border-radius:7px;font-size:10px}.nc-agentbar .model-name{max-width:112px}.nc-agentbar .chat-input{max-height:96px;padding:2px 0;font-size:13px;line-height:1.45}.nc-agentbar .send-btn{width:34px;height:34px;border-radius:9px}.nc-agentbar .send-btn svg{width:16px;height:16px}.nc-agentbar .chat-input-footer{margin-top:4px}.nc-agentbar .disclaimer{font-size:10px}.nc-agentbar__feedback{align-self:center;display:inline-flex;align-items:center;gap:7px;min-height:28px;max-width:min(560px,calc(100vw - 48px));padding:5px 10px;border:1px solid color-mix(in srgb,var(--obs-border, #334155) 72%,transparent);border-radius:9px;background:color-mix(in srgb,var(--obs-surface, #111827) 94%,transparent);color:var(--obs-text, #e2e8f0);box-shadow:2px 2px #00000029;font-size:11px;line-height:1.35;animation:nc-agent-feedback-in .18s ease-out both}.nc-agentbar__feedback-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-primary, #6965db);flex-shrink:0}.nc-agentbar__feedback.is-working .nc-agentbar__feedback-dot{animation:nc-agent-feedback-pulse .9s ease-in-out infinite}@keyframes nc-agent-feedback-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes nc-agent-feedback-pulse{50%{opacity:.35;transform:scale(.72)}}@media (max-width: 980px){.nc-agentbar{width:calc(100% - 28px)}.nc-agentbar .chat-input-box{flex-wrap:nowrap;align-items:center}.nc-agentbar .model-selector{flex:0 1 auto}.nc-agentbar .chat-input{flex-basis:auto;order:initial}.nc-agentbar .send-btn{order:initial;margin-left:0}}@media (max-width: 620px){.nc-agentbar .model-name,.nc-agentbar .disclaimer{display:none}}@media (prefers-reduced-motion: reduce){.nc-widget-shell--spawn>*,.nc-agentbar__feedback,.nc-agentbar__feedback.is-working .nc-agentbar__feedback-dot{animation:none}}.nc-agentbar.nc-agentbar--drawcode{bottom:22px;width:min(860px,calc(100% - 48px));gap:10px}.nc-agentbar.nc-agentbar--drawcode .chat-input-wrapper{max-width:none}.nc-agentbar.nc-agentbar--drawcode .chat-input-box{min-height:58px;padding:10px 12px 10px 10px;gap:10px;border-radius:999px;overflow:visible}.nc-agentbar.nc-agentbar--drawcode .nc-agentbar__robot{position:relative;z-index:3;transform:none}.nc-agentbar.nc-agentbar--drawcode .nc-agentbar__robot .dc-character__bubble{top:8px;right:50px;left:auto;z-index:30;max-width:min(230px,46vw);overflow:hidden;text-overflow:ellipsis}.nc-agentbar.nc-agentbar--drawcode .nc-agentbar__robot .dc-character__bubble:after{right:-5px;left:auto;transform:rotate(-45deg)}.nc-agentbar.nc-agentbar--drawcode .nc-agentbar__robot-perch{position:absolute;right:62px;bottom:calc(100% - 7px);z-index:25;width:72px;height:78px;padding:0;overflow:visible;border:0;border-radius:20px;background:transparent;box-shadow:none;color:inherit;cursor:pointer}.nc-agentbar.nc-agentbar--drawcode .nc-agentbar__robot-perch:hover,.nc-agentbar.nc-agentbar--drawcode .nc-agentbar__robot-perch.is-active{background:transparent;box-shadow:none}.nc-agentbar.nc-agentbar--drawcode .chat-input{max-height:120px;padding:8px 4px;font-size:15px}.nc-agentbar.nc-agentbar--drawcode .send-btn{width:40px;height:40px;border-radius:50%}.nc-agentbar.nc-agentbar--drawcode .send-btn svg{width:18px;height:18px}@media (max-width: 980px){.nc-agentbar.nc-agentbar--drawcode{width:calc(100% - 28px)}}@media (prefers-reduced-motion: reduce){.nc-agentbar__robot *,.nc-agentbar__robot *:before,.nc-agentbar__robot *:after{animation:none!important}}.nc-agentbar.nc-agentbar--pet,.nc-agentbar.nc-agentbar--pet.nc-agentbar--drawcode{--dc-pet-panel-top: 116px;position:absolute;left:auto;right:24px;top:auto;bottom:118px;z-index:72;display:block;width:116px;height:122px;gap:0;transform:none;pointer-events:none;transition:none}.nc-agentbar.nc-agentbar--pet.is-pet-dragging{transition:none}.nc-agentbar--pet .nc-agentbar__pet-drag-handle{position:relative;z-index:3;width:116px;height:122px;border:0;outline:0;pointer-events:auto;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 8px 10px rgba(15,23,42,.16))}.nc-agentbar--pet .nc-agentbar__pet-drag-handle:active,.nc-agentbar--pet.is-pet-dragging .nc-agentbar__pet-drag-handle{cursor:grabbing}.nc-agentbar--pet .nc-agentbar__pet-drag-handle:focus-visible{border-radius:22px;outline:2px dashed color-mix(in srgb,var(--accent-primary, #6965db) 72%,transparent);outline-offset:4px}.nc-agentbar--pet:is(.is-pet-walk-left,.is-pet-walk-right) .nc-agentbar__pet-drag-handle{animation:nc-teacher-pet-walk .3s ease-in-out infinite alternate}.nc-agentbar--pet.is-pet-facing-left .dc-character__svg{transform:scaleX(-1);transform-origin:center}.nc-agentbar--pet.is-pet-facing-right .dc-character__svg{transform:scaleX(1);transform-origin:center}.nc-agentbar--pet.is-pet-boosting-up .nc-agentbar__pet-drag-handle{animation:nc-teacher-boost-hover .22s ease-in-out infinite alternate}.nc-agentbar--pet.is-pet-boosting-up .nc-agentbar__pet-drag-handle:before,.nc-agentbar--pet.is-pet-boosting-up .nc-agentbar__pet-drag-handle:after{content:"";position:absolute;top:calc(100% - 17px);z-index:0;width:13px;height:31px;transform-origin:50% 0;border-radius:48% 48% 64% 64%;background:radial-gradient(ellipse at 50% 12%,#fff7b2 0 16%,transparent 18%),linear-gradient(to bottom,#facc15 0 24%,#fb923c 44%,#ef4444 68%,transparent 96%);filter:drop-shadow(0 4px 5px rgba(249,115,22,.58));clip-path:polygon(18% 0,82% 0,100% 50%,70% 100%,50% 78%,28% 100%,0 48%);animation:nc-teacher-booster-flame .18s ease-in-out infinite alternate}.nc-agentbar--pet.is-pet-boosting-up .nc-agentbar__pet-drag-handle:before{left:32px}.nc-agentbar--pet.is-pet-boosting-up .nc-agentbar__pet-drag-handle:after{right:32px;animation-delay:-90ms}.nc-agentbar--pet.is-pet-boosting-up .dc-character__leg-standing-left,.nc-agentbar--pet.is-pet-boosting-up .dc-character__leg-standing-right{transform-box:fill-box;transform-origin:50% 0}.nc-agentbar--pet.is-pet-boosting-up .dc-character__leg-standing-left{transform:rotate(6deg) translate(2px)}.nc-agentbar--pet.is-pet-boosting-up .dc-character__leg-standing-right{transform:rotate(-6deg) translate(-2px)}.nc-agentbar--pet.is-pet-parachuting .nc-agentbar__pet-drag-handle{transform-origin:50% 0;animation:nc-teacher-parachute-sway 1.1s ease-in-out infinite alternate}.nc-agentbar--pet.is-pet-parachuting .dc-character__shadow{opacity:0}.nc-agentbar--pet.is-pet-sleeping .dc-character__head-group{animation:nc-teacher-pet-breathe 2.4s ease-in-out infinite}.nc-agentbar--pet.is-pet-sleeping .nc-agentbar__pet-drag-handle:after{content:"Z  z";position:absolute;top:calc(32px + var(--dc-pet-perch-y, 0px));right:7px;z-index:4;color:color-mix(in srgb,var(--accent-primary, #6965db) 80%,#fff);font-size:13px;font-weight:800;letter-spacing:1px;text-shadow:1px 1px 0 var(--obs-surface, #fff);animation:nc-teacher-sleep-z 2.2s ease-in-out infinite}.nc-agentbar--pet.is-pet-waking .dc-character__head-group{animation:nc-teacher-wake-up 1.35s cubic-bezier(.22,.86,.24,1) both}.nc-agentbar--pet.is-working .dc-character__head-group,.nc-agentbar--pet.is-working .dc-character__arm-right{transform-box:fill-box}.nc-agentbar--pet.is-working .dc-character__head-group{transform-origin:50% 80%;animation:nc-teacher-think-head 1.4s ease-in-out infinite alternate}.nc-agentbar--pet.is-working .dc-character__arm-right{transform-origin:12% 75%;animation:nc-teacher-think-hand .85s ease-in-out infinite alternate}.nc-agentbar--pet.is-working .dc-character__screen-glow{animation:nc-teacher-think-screen .9s ease-in-out infinite alternate}@keyframes nc-teacher-pet-walk{0%{transform:translateY(0) rotate(-1.8deg)}to{transform:translateY(-7px) rotate(1.8deg)}}@keyframes nc-teacher-boost-hover{0%{transform:translateY(2px) scale(.99)}to{transform:translateY(-3px) scale(1.01)}}@keyframes nc-teacher-booster-flame{0%{opacity:.72;transform:scale(.78,calc(var(--dc-pet-flame-scale, 1) * .74))}to{opacity:1;transform:scale(1.08,calc(var(--dc-pet-flame-scale, 1) * 1.1))}}@keyframes nc-teacher-parachute-sway{0%{transform:rotate(-2deg)}to{transform:rotate(2deg)}}.nc-agentbar--pet:is(.is-pet-walk-left,.is-pet-walk-right) .dc-character__leg-standing-left,.nc-agentbar--pet:is(.is-pet-walk-left,.is-pet-walk-right) .dc-character__leg-standing-right,.nc-agentbar--pet:is(.is-pet-walk-left,.is-pet-walk-right) .dc-character__arm-left,.nc-agentbar--pet:is(.is-pet-walk-left,.is-pet-walk-right) .dc-character__arm-right,.nc-agentbar--pet:is(.is-pet-walk-left,.is-pet-walk-right) .dc-character__head-group{transform-box:fill-box}.nc-agentbar--pet:is(.is-pet-walk-left,.is-pet-walk-right) .dc-character__leg-standing-left{transform-origin:50% 4%;animation:nc-teacher-left-leg .52s ease-in-out infinite alternate}.nc-agentbar--pet:is(.is-pet-walk-left,.is-pet-walk-right) .dc-character__leg-standing-right{transform-origin:50% 4%;animation:nc-teacher-right-leg .52s ease-in-out infinite alternate}.nc-agentbar--pet:is(.is-pet-walk-left,.is-pet-walk-right) .dc-character__arm-left{transform-origin:90% 15%;animation:nc-teacher-left-arm .52s ease-in-out infinite alternate}.nc-agentbar--pet:is(.is-pet-walk-left,.is-pet-walk-right) .dc-character__arm-right{transform-origin:10% 15%;animation:nc-teacher-right-arm .52s ease-in-out infinite alternate}.nc-agentbar--pet:is(.is-pet-walk-left,.is-pet-walk-right) .dc-character__head-group{transform-origin:50% 80%;animation:nc-teacher-head-step .26s ease-in-out infinite alternate}@keyframes nc-teacher-left-leg{0%{transform:rotate(12deg) translateY(-1px)}to{transform:rotate(-15deg) translateY(1px)}}@keyframes nc-teacher-right-leg{0%{transform:rotate(-14deg) translateY(1px)}to{transform:rotate(12deg) translateY(-1px)}}@keyframes nc-teacher-left-arm{0%{transform:rotate(-12deg)}to{transform:rotate(14deg)}}@keyframes nc-teacher-right-arm{0%{transform:rotate(13deg)}to{transform:rotate(-12deg)}}@keyframes nc-teacher-head-step{0%{transform:translateY(0) rotate(-1deg)}to{transform:translateY(-1.5px) rotate(1deg)}}@keyframes nc-teacher-pet-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-.7px)}}@keyframes nc-teacher-sleep-z{0%,to{opacity:.25;transform:translateY(5px) rotate(-5deg)}50%{opacity:.92;transform:translate(4px,-4px) rotate(3deg)}}@keyframes nc-teacher-wake-up{0%{transform:translateY(2px) rotate(-5deg)}45%{transform:translateY(-3px) rotate(3deg)}75%{transform:translateY(-1px) rotate(-1deg)}to{transform:translateY(0) rotate(0)}}@keyframes nc-teacher-think-head{0%{transform:translateY(1px) rotate(-4deg)}to{transform:translateY(-1px) rotate(2deg)}}@keyframes nc-teacher-think-hand{0%{transform:rotate(-3deg) translateY(0)}to{transform:rotate(4deg) translateY(-1px)}}@keyframes nc-teacher-think-screen{0%{opacity:.45}to{opacity:1}}body .nc-agentbar.nc-agentbar--pet.nc-agentbar--drawcode .nc-agentbar__robot{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;width:100%;height:100%;transform:translateY(var(--dc-pet-perch-y, 0px));pointer-events:none;transition:transform .55s cubic-bezier(.22,.86,.24,1)}body .nc-agentbar.nc-agentbar--pet:not(.is-pet-open) .nc-agentbar__robot{transition:none}.nc-agentbar--pet .dc-character-mascot--sitting{transform:none}.nc-agentbar.nc-agentbar--pet .nc-agentbar__robot .dc-character__bubble{top:7px;right:auto;left:82px;z-index:40;width:max-content;max-width:min(230px,52vw);overflow:hidden;color:var(--obs-strong, #111827);text-overflow:ellipsis;white-space:nowrap}.nc-agentbar.nc-agentbar--pet .nc-agentbar__robot .dc-character__bubble:after{right:auto;left:-5px;transform:rotate(135deg)}.nc-agentbar--pet .nc-agentbar__pet-thought{position:absolute;top:calc(8px + var(--dc-pet-perch-y, 0px));right:auto;left:84px;z-index:42;display:flex;align-items:center;gap:7px;width:max-content;max-width:min(250px,54vw);min-height:29px;padding:5px 9px;border:1px solid color-mix(in srgb,var(--accent-primary, #6965db) 38%,var(--obs-border, #d8d8e2));border-radius:15px 15px 4px;background:color-mix(in srgb,var(--obs-surface, #fff) 96%,transparent);box-shadow:0 10px 28px #0f172a29;color:var(--obs-strong, #111827);font-size:12px;line-height:1.25;pointer-events:none}.nc-agentbar--pet .nc-agentbar__pet-thought>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nc-agentbar--pet .nc-agentbar__pet-thought:after{content:"";position:absolute;top:12px;left:-5px;width:8px;height:8px;border:solid color-mix(in srgb,var(--accent-primary, #6965db) 70%,#242424);border-width:0 0 2px 2px;background:var(--obs-surface, #fff);transform:rotate(45deg)}.nc-agentbar--pet .nc-agentbar__pet-thought-dot{width:7px;height:7px;flex:0 0 7px;border-radius:50%;background:var(--accent-primary, #6965db);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent-primary, #6965db) 14%,transparent);animation:nc-agentbar-dot-pulse 1s ease-in-out infinite}.nc-agentbar--pet .nc-agentbar__pet-panel{position:absolute;top:calc(var(--dc-pet-panel-top, 116px) - var(--dc-pet-panel-rise, 0px));right:auto;left:0;margin-left:var(--dc-pet-panel-shift, 0px);z-index:1;display:flex;flex-direction:column;gap:5px;width:min(210px,calc(100vw - 18px));padding:0;border:0;border-radius:16px 12px 17px 13px;background:transparent;box-shadow:none;pointer-events:auto;animation:nc-teacher-pet-panel-in .18s cubic-bezier(.22,1,.36,1) both;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.nc-agentbar--pet.is-pet-panel-left .nc-agentbar__pet-panel{right:auto;left:0}.nc-agentbar--pet.is-pet-panel-left .nc-agentbar__pet-thought,.nc-agentbar.nc-agentbar--pet.is-pet-panel-left .nc-agentbar__robot .dc-character__bubble{right:82px;left:auto}.nc-agentbar.nc-agentbar--pet.is-pet-panel-left .nc-agentbar__robot .dc-character__bubble:after{right:-5px;left:auto;transform:rotate(-45deg)}.nc-agentbar--pet.is-pet-panel-left .nc-agentbar__pet-thought:after{right:-5px;left:auto;transform:rotate(225deg)}@keyframes nc-teacher-pet-panel-in{0%{opacity:0}to{opacity:1}}.nc-agentbar--pet .nc-agentbar__shell,.nc-agentbar--pet.nc-agentbar--drawcode .nc-agentbar__shell,.nc-agentbar--pet.nc-agentbar--island .nc-agentbar__shell{width:100%}.nc-agentbar--pet .nc-agentbar__context{max-height:55px;margin-bottom:2px;overflow:auto}.nc-agentbar--pet .chat-input-container,.nc-agentbar--pet.nc-agentbar--drawcode .chat-input-container{width:100%;padding:0;margin:0;border:0;background:transparent}.nc-agentbar--pet .chat-input-wrapper,.nc-agentbar--pet.nc-agentbar--drawcode .chat-input-wrapper{width:100%;max-width:none}.nc-agentbar--pet .chat-input-box,.nc-agentbar--pet.nc-agentbar--drawcode .chat-input-box,.nc-agentbar--pet.nc-agentbar--island .chat-input-box{position:relative;width:100%;min-height:32px;padding:2px 4px 2px 8px;gap:4px;border:2px solid color-mix(in srgb,var(--accent-primary, #6965db) 76%,#242424);border-radius:16px 12px 17px 13px;background:radial-gradient(circle,color-mix(in srgb,var(--accent-primary, #6965db) 14%,transparent) 0 .8px,transparent 1px) 2px 2px / 12px 12px,color-mix(in srgb,var(--obs-bg, #fff) 98%,var(--accent-primary, #6965db));box-shadow:3px 4px color-mix(in srgb,var(--accent-primary, #6965db) 16%,transparent),0 14px 28px #0f172a29;transform:rotate(-.12deg)}.nc-agentbar--pet .chat-input-box:before{content:"";position:absolute;top:-5px;left:19px;width:7px;height:7px;border:1.5px solid #242424;border-radius:50% 45% 52% 48%;background:#f5a623;box-shadow:1px 1px color-mix(in srgb,#f5a623 35%,transparent);pointer-events:none}.nc-agentbar--pet .chat-input-box:focus-within,.nc-agentbar--pet.nc-agentbar--drawcode .chat-input-box:focus-within{border-color:var(--accent-primary, #6965db);box-shadow:3px 4px color-mix(in srgb,var(--accent-primary, #6965db) 22%,transparent),0 0 0 3px color-mix(in srgb,var(--accent-primary, #6965db) 11%,transparent),0 16px 30px #0f172a2e;transform:rotate(0)}body .excalidraw-page .nc-agentbar.nc-agentbar--pet .chat-input-box,body .obs-app.cv-app .nc-agentbar.nc-agentbar--pet .chat-input-box{min-height:32px;padding:2px 4px 2px 8px;gap:4px;border:2px solid color-mix(in srgb,var(--accent-primary, #6965db) 76%,#242424);border-radius:16px 12px 17px 13px;background:radial-gradient(circle,color-mix(in srgb,var(--accent-primary, #6965db) 14%,transparent) 0 .8px,transparent 1px) 2px 2px / 12px 12px,color-mix(in srgb,var(--obs-bg, #fff) 98%,var(--accent-primary, #6965db));box-shadow:3px 4px color-mix(in srgb,var(--accent-primary, #6965db) 16%,transparent),0 14px 28px #0f172a29}body .excalidraw-page .nc-agentbar.nc-agentbar--pet .chat-input-box:focus-within,body .obs-app.cv-app .nc-agentbar.nc-agentbar--pet .chat-input-box:focus-within{border-color:var(--accent-primary, #6965db);box-shadow:3px 4px color-mix(in srgb,var(--accent-primary, #6965db) 22%,transparent),0 0 0 3px color-mix(in srgb,var(--accent-primary, #6965db) 11%,transparent),0 16px 30px #0f172a2e}.nc-agentbar--pet .chat-input,.nc-agentbar--pet.nc-agentbar--drawcode .chat-input,.nc-agentbar--pet.nc-agentbar--island .chat-input{min-height:17px;max-height:96px;min-width:0;overflow-y:auto;overflow-x:hidden;overflow-wrap:anywhere;resize:none;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--accent-primary, #6965db) transparent;padding:1px;font-size:11px;line-height:1.2}.nc-agentbar--pet .nc-agentbar__voice-btn,.nc-agentbar--pet .send-btn{width:24px;height:24px;min-width:24px;border-radius:8px 7px 9px}.nc-agentbar--pet .nc-agentbar__voice-btn:hover:not(:disabled),.nc-agentbar--pet .send-btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent-primary, #6965db) 12%,transparent);color:var(--accent-primary, #6965db);transform:translateY(-1px) rotate(-2deg)}.nc-agentbar.nc-agentbar--pet .nc-agentbar__robot .dc-character__bubble,.nc-agentbar--pet .nc-agentbar__pet-thought{border:2px solid color-mix(in srgb,var(--accent-primary, #6965db) 70%,#242424);border-radius:13px 10px 14px 9px;background:radial-gradient(circle,color-mix(in srgb,var(--accent-primary, #6965db) 14%,transparent) 0 .65px,transparent .85px) 1px 1px / 10px 10px,var(--obs-surface, #fff);box-shadow:2px 3px color-mix(in srgb,var(--accent-primary, #6965db) 17%,transparent),0 8px 18px #0f172a24;color:var(--obs-strong, #242424);transform:rotate(-1deg)}.nc-agentbar.nc-agentbar--pet .nc-agentbar__robot .dc-character__bubble:after{width:8px;height:8px;border-width:0 0 2px 2px;border-color:color-mix(in srgb,var(--accent-primary, #6965db) 70%,#242424);background:var(--obs-surface, #fff)}.nc-agentbar--pet .nc-agentbar__feedback,.nc-agentbar--pet .nc-agentbar__history{width:100%;margin:0;border-radius:11px;box-shadow:none}.nc-agentbar--pet .nc-agentbar__history{max-height:138px;padding:6px}.nc-agentbar--pet .nc-agentbar__message{margin:0 0 4px;padding:6px 8px}.nc-agentbar--pet .nc-agentbar__pet-restore{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:6px 10px 6px 7px;border:1px solid color-mix(in srgb,var(--accent-primary, #6965db) 38%,var(--obs-border, #d8d8e2));border-radius:999px;background:var(--obs-surface, #fff);box-shadow:0 8px 22px #0f172a29;color:var(--obs-strong, #111827);font-family:inherit;font-size:11px;font-weight:700;cursor:pointer;pointer-events:auto}.nc-agentbar--pet .nc-agentbar__pet-restore:hover{border-color:var(--accent-primary, #6965db);transform:translateY(-1px)}.obs-app[data-theme=dark] .nc-agentbar--pet .nc-agentbar__pet-panel,.excalidraw-page[data-theme=dark] .nc-agentbar--pet .nc-agentbar__pet-panel{background:transparent;box-shadow:none}.obs-app[data-theme=dark] .nc-agentbar--pet .nc-agentbar__pet-thought,.excalidraw-page[data-theme=dark] .nc-agentbar.nc-agentbar--pet .nc-agentbar__robot .dc-character__bubble{background:color-mix(in srgb,var(--obs-surface, #171717) 96%,transparent);box-shadow:0 18px 42px #0000006b,inset 0 1px #ffffff0a}@media (max-width: 768px){body .obs-app.cv-app .nc-agentbar.nc-agentbar--pet,body .excalidraw-page .nc-agentbar.nc-agentbar--pet{--dc-pet-panel-top: 104px;display:block!important;width:104px;height:110px}.nc-agentbar.nc-agentbar--pet .nc-agentbar__robot,.nc-agentbar--pet .nc-agentbar__pet-drag-handle{width:104px;height:110px}.nc-agentbar--pet .nc-agentbar__pet-panel{width:min(206px,calc(100vw - 16px))}}@media (prefers-reduced-motion: reduce){.nc-agentbar.nc-agentbar--pet,.nc-agentbar--pet .nc-agentbar__pet-drag-handle,.nc-agentbar--pet .nc-agentbar__pet-drag-handle:before,.nc-agentbar--pet .nc-agentbar__pet-drag-handle:after,.nc-agentbar--pet .nc-agentbar__pet-panel,.nc-agentbar--pet .nc-agentbar__pet-thought-dot{animation:none!important;transition:none!important}}.nc-data-menu{position:fixed;z-index:10000;width:290px;overflow:hidden;border:1px solid color-mix(in srgb,var(--obs-border, #334155) 82%,transparent);border-radius:12px;background:color-mix(in srgb,var(--obs-chrome, #111827) 97%,#fff);color:var(--obs-text, #e2e8f0);box-shadow:0 18px 42px #00000057;animation:nc-pop-menu-in .14s ease-out}.nc-data-menu__head{padding:10px 12px 8px;border-bottom:1px solid color-mix(in srgb,var(--obs-border, #334155) 52%,transparent);color:var(--obs-text-dim, #94a3b8);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.nc-data-menu__grid{display:grid;gap:2px;padding:6px}.nc-data-menu__grid>button{display:flex;align-items:center;gap:10px;width:100%;padding:8px;border:0;border-radius:8px;background:transparent;color:inherit;text-align:left;cursor:pointer}.nc-data-menu__grid>button:hover,.nc-data-menu__grid>button.is-active{background:color-mix(in srgb,var(--obs-hover, #334155) 72%,transparent)}.nc-data-menu__badge{display:inline-flex;align-items:center;justify-content:center;width:32px;height:28px;flex-shrink:0;border:1px solid color-mix(in srgb,var(--accent-secondary, #6366f1) 42%,transparent);border-radius:7px;background:color-mix(in srgb,var(--accent-secondary, #6366f1) 12%,transparent);color:color-mix(in srgb,var(--accent-secondary, #6366f1) 75%,#fff);font-family:var(--font-mono, ui-monospace, monospace);font-size:11px;font-weight:700}.nc-data-menu__copy{display:flex;flex-direction:column;min-width:0}.nc-data-menu__copy strong{font-size:12px;font-weight:600}.nc-data-menu__copy small{overflow:hidden;color:var(--obs-text-dim, #94a3b8);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.nc-data-menu__foot{padding:8px 12px 10px;border-top:1px solid color-mix(in srgb,var(--obs-border, #334155) 42%,transparent);color:var(--obs-text-dim, #94a3b8);font-size:10px}.nc-widget-shell .nc-data-widget{font-size:inherit}.nc-stage[data-nc-tool=select] .nc-data-widget__body,.nc-stage[data-nc-tool=select] .nc-data-widget__meta,.nc-stage[data-nc-tool=select] .nc-data-widget__actions,.nc-stage[data-nc-tool=select] .nc-data-widget__title-input{pointer-events:auto}.nc-data-widget{width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden;border-style:solid;border-radius:calc(12px * var(--nc-widget-scale, 1));background:#1a1a1c;color:#e8e8e8;font-family:var(--font-sans);font-size:calc(13px * var(--nc-widget-scale, 1));box-shadow:0 1px 2px #0000001f,0 8px 28px #00000047}.nc-data-widget__header{display:flex;align-items:center;justify-content:space-between;gap:calc(8px * var(--nc-widget-scale, 1));min-height:calc(44px * var(--nc-widget-scale, 1));padding:calc(6px * var(--nc-widget-scale, 1)) calc(8px * var(--nc-widget-scale, 1)) calc(6px * var(--nc-widget-scale, 1)) calc(12px * var(--nc-widget-scale, 1));border-radius:calc(12px * var(--nc-widget-scale, 1)) calc(12px * var(--nc-widget-scale, 1)) 0 0;background:#181818;border-bottom:1px solid rgba(255,255,255,.07);cursor:grab}.nc-data-widget__title,.nc-data-widget__title-input{min-width:0;color:#e8e8e8;font-family:var(--font-sans);font-size:calc(12px * var(--nc-widget-scale, 1));font-weight:600;letter-spacing:-.01em}.nc-data-widget__title-input{flex:1;border:0;outline:0;background:transparent}.nc-data-widget__actions{display:flex;align-items:center;gap:calc(3px * var(--nc-widget-scale, 1));flex-shrink:0}.nc-data-widget__actions button,.nc-data-widget__actions select{display:inline-flex;align-items:center;justify-content:center;height:calc(26px * var(--nc-widget-scale, 1));padding:0 calc(8px * var(--nc-widget-scale, 1));border:1px solid rgba(255,255,255,.08);border-radius:calc(6px * var(--nc-widget-scale, 1));background:transparent;color:#999;font-family:var(--font-sans);font-size:calc(11px * var(--nc-widget-scale, 1));font-weight:500;letter-spacing:-.01em;cursor:pointer;white-space:nowrap;transition:background-color .15s cubic-bezier(.22,1,.36,1),color .15s cubic-bezier(.22,1,.36,1),border-color .15s cubic-bezier(.22,1,.36,1)}.nc-data-widget__actions button:hover,.nc-data-widget__actions select:hover{background:#252525;border-color:#ffffff1f;color:#e8e8e8}.nc-data-widget__actions button.is-active{background:#6366f124;border-color:#6366f159;color:#a5b4fc;font-weight:600}.nc-data-widget__actions button.is-active:hover{background:#6366f133;color:#c7d2fe}.nc-data-widget__actions button:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.nc-data-widget__actions .nc-data-widget__close{width:calc(28px * var(--nc-widget-scale, 1));padding:0;border-color:transparent;color:#ffffff61;font-size:calc(16px * var(--nc-widget-scale, 1));line-height:1}.nc-data-widget__actions .nc-data-widget__close:hover{background:#ef4444bf;border-color:transparent;color:#fff}.nc-data-widget__meta{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:4px 12px;border-bottom:1px solid rgba(255,255,255,.05);background:#ffffff04;font-family:var(--font-sans);font-size:10px;font-weight:500;letter-spacing:.01em;color:#ffffff59}.nc-data-widget__meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nc-data-widget__body{flex:1;min-height:0;overflow:auto;position:relative;scrollbar-width:thin;scrollbar-color:#2a2a2a transparent}.nc-data-widget__body::-webkit-scrollbar{width:5px;height:5px}.nc-data-widget__body::-webkit-scrollbar-track{background:transparent}.nc-data-widget__body::-webkit-scrollbar-thumb{background:#2a2a2a;border-radius:3px;min-height:30px}.nc-data-widget__body::-webkit-scrollbar-thumb:hover{background:#3a3a3a}.nc-data-widget__source{width:100%;height:100%;min-height:0;padding:10px 12px;border:0;outline:0;resize:none;background:#1f1f1f;color:#c8d3d8;font-family:JetBrains Mono,Fira Code,Menlo,Consolas,ui-monospace,monospace;font-size:12px;line-height:1.6;-moz-tab-size:2;tab-size:2}.nc-data-widget__source::placeholder{color:#fff3}.nc-data-widget__error{margin:10px;padding:10px 12px;border:1px solid rgba(248,113,113,.25);border-radius:8px;background:#ef444412;color:#fca5a5;font-family:JetBrains Mono,Fira Code,ui-monospace,monospace;font-size:11px;line-height:1.55}.nc-json__tree{min-width:max-content;padding:10px 12px 16px;font-family:JetBrains Mono,Fira Code,Menlo,Consolas,ui-monospace,monospace;font-size:11px;line-height:1.7;color:#c8d3d8}.nc-json__branch>summary{display:flex;align-items:center;gap:5px;min-height:20px;list-style:none;cursor:pointer;border-radius:4px;padding:0 2px;transition:background-color .1s ease-out}.nc-json__branch>summary:hover{background:#ffffff0a}.nc-json__branch>summary::-webkit-details-marker{display:none}.nc-json__branch>summary:before{content:"›";display:inline-flex;align-items:center;justify-content:center;width:12px;flex-shrink:0;color:#ffffff4d;font-size:13px;transition:transform .13s cubic-bezier(.22,1,.36,1),color .13s ease}.nc-json__branch>summary:hover:before{color:#ffffff8c}.nc-json__branch[open]>summary:before{transform:rotate(90deg)}.nc-json__key{color:#7dd3fc;font-weight:450}.nc-json__count{color:#ffffff47;font-size:.85em;letter-spacing:.02em}.nc-json__leaf,.nc-json__closer{min-height:20px;white-space:nowrap;display:flex;align-items:center;padding:0 2px}.nc-json__value--string{color:#ce9178}.nc-json__value--number{color:#b5cea8}.nc-json__value--boolean{color:#569cd6}.nc-json__value--null{color:gray;font-style:italic}.nc-csv__table-wrap{min-width:100%;width:max-content;overflow-x:auto}.nc-csv__table{border-collapse:separate;border-spacing:0;min-width:100%;font-family:var(--font-sans);font-size:calc(11px * var(--nc-widget-scale, 1));white-space:nowrap}.nc-csv__table th{position:sticky;top:0;z-index:2;background:#1c1c1e;color:#999;font-family:var(--font-sans);font-size:calc(10px * var(--nc-widget-scale, 1));font-weight:600;letter-spacing:.04em;text-transform:uppercase;text-align:center;padding:calc(8px * var(--nc-widget-scale, 1)) calc(12px * var(--nc-widget-scale, 1));border-bottom:1px solid rgba(255,255,255,.1);border-right:1px solid rgba(255,255,255,.05);overflow:hidden;text-overflow:ellipsis;max-width:calc(220px * var(--nc-widget-scale, 1));box-shadow:0 1px #ffffff0a}.nc-csv__table th:last-child{border-right:none}.nc-csv__table th:hover{background:#242426;color:#e8e8e8;cursor:default}.nc-csv__table td{padding:calc(6px * var(--nc-widget-scale, 1)) calc(12px * var(--nc-widget-scale, 1));max-width:calc(220px * var(--nc-widget-scale, 1));overflow:hidden;text-overflow:ellipsis;border-right:1px solid rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.04);color:#c8d3d8;text-align:center;vertical-align:middle;line-height:1.4;transition:background-color 80ms ease-out}.nc-csv__table td:last-child{border-right:none}.nc-csv__table tbody tr:nth-child(2n) td{background:#ffffff05}.nc-csv__table tbody tr:hover td{background:#ffffff0f!important;color:#e8e8e8}.nc-csv__limit{position:sticky;left:0;display:inline-flex;align-items:center;gap:calc(6px * var(--nc-widget-scale, 1));padding:calc(6px * var(--nc-widget-scale, 1)) calc(12px * var(--nc-widget-scale, 1));margin:0;font-family:var(--font-sans);font-size:calc(10px * var(--nc-widget-scale, 1));font-weight:500;color:#ffffff4d;border-top:1px solid rgba(255,255,255,.05);background:#1a1a1c}.nc-csv__limit:before{content:"↑";opacity:.5}.nc-widget-shell:has(.nc-ds),.nc-widget-shell:has(.nc-array){overflow:visible!important;contain:layout!important}.nc-ds.nc-data-widget,.nc-array.nc-data-widget{background:transparent;border:none!important;box-shadow:none;overflow:visible!important}.nc-ds .nc-data-widget__header,.nc-array .nc-data-widget__header{border-radius:calc(12px * var(--nc-widget-scale, 1));border-bottom:none;box-shadow:0 4px 12px #00000040}.nc-ds__body{display:flex;align-items:center;justify-content:center;padding:calc(14px * var(--nc-widget-scale, 1));background:transparent}.nc-ds input{min-width:0;border:1px solid rgba(255,255,255,.08);border-radius:calc(6px * var(--nc-widget-scale, 1));outline:0;background:#20232b;color:#e8e8e8;font-family:JetBrains Mono,Fira Code,Menlo,Consolas,ui-monospace,monospace;font-size:calc(12px * var(--nc-widget-scale, 1));font-weight:600;text-align:center;transition:all .15s}.nc-ds input:focus,.nc-ds input:hover{border-color:#6366f180;background:#252830}.nc-ds__linear{display:flex;align-items:center;gap:calc(8px * var(--nc-widget-scale, 1));padding:calc(8px * var(--nc-widget-scale, 1))}.nc-ds__linear-item{display:inline-flex;align-items:center;gap:calc(8px * var(--nc-widget-scale, 1))}.nc-ds__linear input{width:calc(60px * var(--nc-widget-scale, 1));height:calc(40px * var(--nc-widget-scale, 1))}.nc-ds__arrow{color:#6366f1;font-size:calc(20px * var(--nc-widget-scale, 1));font-weight:500}.nc-ds__null,.nc-ds__marker{color:#ffffff59;font-size:calc(10px * var(--nc-widget-scale, 1));font-weight:600;letter-spacing:.05em}.nc-ds__stack{display:flex;flex-direction:column;align-items:center;gap:calc(6px * var(--nc-widget-scale, 1))}.nc-ds__stack input{width:calc(120px * var(--nc-widget-scale, 1));height:calc(36px * var(--nc-widget-scale, 1))}.nc-ds__tree{display:flex;flex-direction:column;align-items:stretch;gap:calc(24px * var(--nc-widget-scale, 1))}.nc-ds__tree-level{display:flex;justify-content:space-around;gap:calc(20px * var(--nc-widget-scale, 1))}.nc-ds__tree-level input{width:calc(44px * var(--nc-widget-scale, 1));height:calc(44px * var(--nc-widget-scale, 1));border-radius:50%}.nc-ds__hash{display:grid;gap:calc(6px * var(--nc-widget-scale, 1));width:min(100%,calc(360px * var(--nc-widget-scale, 1)))}.nc-ds__hash-head,.nc-ds__hash-row{display:grid;grid-template-columns:calc(50px * var(--nc-widget-scale, 1)) minmax(0,1fr) minmax(0,1fr);align-items:center;gap:calc(6px * var(--nc-widget-scale, 1))}.nc-ds__hash-head{color:#ffffff59;font-size:calc(10px * var(--nc-widget-scale, 1));font-weight:600;text-transform:uppercase}.nc-ds__hash-row>span{color:#6366f1;font-family:JetBrains Mono,Fira Code,Menlo,Consolas,ui-monospace,monospace;font-size:calc(11px * var(--nc-widget-scale, 1));text-align:center}.nc-ds__hash-row input{height:calc(32px * var(--nc-widget-scale, 1));padding:0 calc(8px * var(--nc-widget-scale, 1));text-align:left}.nc-ds__empty-copy{color:#ffffff59;font-size:calc(11px * var(--nc-widget-scale, 1))}.obs-app.cv-app.nc-app{--nc-hand-font: var(--font-hand);--nc-ink: #25201f;--nc-paper: #fffdf8;--nc-paper-muted: #f6f1e8;--nc-teaching-pink: #ffc9c9;--nc-teaching-yellow: #fff3bf;font-family:var(--nc-hand-font)}.nc-island,.nc-pop,.nc-data-menu,.nc-props,.nc-app .nc-dock__inner{font-family:var(--nc-hand-font);border-color:color-mix(in srgb,var(--nc-ink) 24%,transparent);border-radius:11px;box-shadow:1px 2px color-mix(in srgb,var(--nc-ink) 18%,transparent),0 12px 30px #25201f1a}.nc-tool-btn,.nc-style-pill,.nc-app .nc-dock__icon-btn,.nc-app .nc-dock__zoom-btn,.nc-app .nc-dock__zoom-pct{font-family:var(--nc-hand-font);border-radius:8px}.nc-widget-shell,.nc-widget-header,.nc-data-widget__header,.nc-widget-header__label,.nc-data-widget__title,.nc-data-widget__title-input,.nc-note__text,.nc-agentbar,.nc-agentbar input,.nc-agentbar textarea,.nc-agentbar button{font-family:var(--nc-hand-font)}.nc-note,.nc-data-widget,.nc-widget{border:2px solid color-mix(in srgb,var(--nc-ink) 86%,transparent);border-radius:10px;box-shadow:2px 3px color-mix(in srgb,var(--nc-ink) 18%,transparent),0 12px 24px #25201f1f}.nc-widget-header,.nc-data-widget__header,.nc-note__header{border-radius:8px 8px 0 0}.nc-widget-shell:has(.nc-array){contain:layout!important}.nc-array.nc-data-widget{overflow:hidden!important;background:var(--nc-teaching-pink);border:2px solid var(--nc-ink)!important;border-radius:13px;box-shadow:2px 3px #25201f2b}.nc-array .nc-data-widget__header{background:color-mix(in srgb,var(--nc-teaching-pink) 84%,white);border-bottom:2px solid color-mix(in srgb,var(--nc-ink) 75%,transparent);border-radius:11px 11px 0 0;box-shadow:none}.nc-array__track{background:var(--nc-teaching-pink)}.nc-array__indexCell{color:color-mix(in srgb,var(--nc-ink) 72%,transparent)}.nc-array__value,.nc-ds input{border:2px solid var(--nc-ink);border-radius:calc(9px * var(--nc-widget-scale, 1));background:color-mix(in srgb,var(--nc-teaching-pink) 68%,white);color:var(--nc-ink);box-shadow:1px 2px #25201f1f}.nc-array__value:hover,.nc-array__value:focus,.nc-ds input:hover,.nc-ds input:focus{border-color:var(--nc-ink);background:#fff}.nc-code,.nc-code textarea,.nc-code input,.nc-json__body,.nc-csv__body,.nc-data-widget__source,.nc-sql{font-family:JetBrains Mono,Fira Code,Menlo,Consolas,monospace}html[data-theme=light] .nc-widget-header,html[data-theme=light] .nc-data-widget__header{color:var(--nc-ink);background:var(--nc-paper-muted)}@media (prefers-reduced-motion: no-preference){.nc-widget-shell--spawn>*{animation-timing-function:cubic-bezier(.22,1,.36,1)}}.lesson-transport-bar{margin:8px 12px 0;padding:10px 12px;border-radius:12px;border:1px dashed var(--nc-stroke, #3d4a8f);background:var(--nc-paper-muted, #fff9f0);font-size:13px}.lesson-transport-controls{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px}.lesson-transport-btn{border:1px solid var(--nc-stroke, #3d4a8f);background:#fff;border-radius:8px;padding:4px 10px;cursor:pointer;font-size:14px}.lesson-transport-btn--primary{background:#e8e4ff}.lesson-transport-speed select{margin-left:6px}.lesson-transport-progress{position:relative;height:6px;background:#e2e8f0;border-radius:4px;overflow:hidden;margin-bottom:6px}.lesson-transport-progress-fill{height:100%;background:#6b5ce7;transition:width .2s ease}.lesson-transport-progress-label{font-size:11px;opacity:.75}.lesson-transport-outline{list-style:none;margin:8px 0 0;padding:0;max-height:80px;overflow-y:auto}.lesson-transport-outline button{background:none;border:none;text-align:left;padding:2px 0;cursor:pointer;font-size:12px;opacity:.8}.lesson-transport-outline button.is-active{font-weight:600;opacity:1;color:#6b5ce7}.lesson-transport-caption{margin:8px 0 0;padding:8px 10px;border-radius:8px;background:#0000000a;font-size:13px;line-height:1.4}@font-face{font-family:Excalifont;src:url(/fonts/Excalifont.woff2) format("woff2");font-display:swap;font-style:normal;font-weight:400 700;unicode-range:U+20-7E,U+A0-FF,U+2013-2014,U+2018-201E,U+2022,U+2026,U+20AC}.dcw-shell{--dcw-bg: #ffffff;--dcw-ink: #1a1a1a;--dcw-muted: #6b7280;--dcw-line: #e5e7eb;--dcw-border: #1a1a1a;--dcw-editor-bg: #ffffff;--dcw-menu-bg: #ffffff;--dcw-hover-bg: #f3f4f6;--dcw-green: #22c55e;--dcw-green-dark: #16a34a;--dcw-hand: var(--font-hand);--dcw-code: var(--font-hand);display:flex;flex-direction:column;overflow:hidden;border-radius:14px;background:var(--dcw-bg);border:1.5px solid var(--dcw-border);box-shadow:0 6px 18px #0f172a14;font-family:var(--dcw-hand);color:var(--dcw-ink)}.dcw-shell--selected{outline:2px solid #6965db;outline-offset:2px}.dcw-shell--dragging{opacity:.95}.dcw-header{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0;min-height:42px;padding:7px 10px 7px 12px;background:var(--dcw-bg);border-bottom:1px solid var(--dcw-line);cursor:grab;-webkit-user-select:none;user-select:none}.dcw-shell--dragging .dcw-header{cursor:grabbing}.dcw-header__left,.dcw-header__right{display:flex;align-items:center;gap:6px}.dcw-header__right{margin-left:auto}.dcw-lang{position:relative;z-index:2}.dcw-lang--open{z-index:40}.dcw-lang__btn{display:inline-flex;align-items:center;gap:5px;height:30px;padding:0 11px;border:1px solid var(--dcw-line);border-radius:8px;background:var(--dcw-bg);color:var(--dcw-ink);font-family:var(--dcw-hand);font-size:13px;font-weight:500;cursor:pointer;line-height:1}.dcw-lang__btn:hover{background:var(--dcw-hover-bg)}.dcw-lang__menu{position:absolute;top:calc(100% + 4px);left:0;min-width:140px;margin:0;padding:4px;list-style:none;border:1px solid var(--dcw-line);border-radius:8px;background:var(--dcw-menu-bg);box-shadow:0 6px 16px #0000001a}.dcw-lang__opt{display:block;width:100%;padding:6px 10px;border:none;border-radius:6px;background:transparent;text-align:left;font-family:var(--dcw-hand);font-size:13px;color:var(--dcw-ink);cursor:pointer}.dcw-lang__opt:hover,.dcw-lang__opt--active{background:var(--dcw-hover-bg);font-weight:600}.dcw-run{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:30px;min-width:72px;padding:0 12px;border:none;border-radius:8px;background:var(--dcw-green);color:#fff;font-family:var(--dcw-hand);font-size:13px;font-weight:700;line-height:1;cursor:pointer;flex-shrink:0;box-shadow:0 1px 3px #16a34a59}.dcw-run svg{width:11px;height:11px}.dcw-run:hover{background:var(--dcw-green-dark)}.dcw-run--stop{background:#ef4444;box-shadow:0 1px 3px #dc26264d}.dcw-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--dcw-muted);cursor:pointer}.dcw-icon-btn:hover{background:var(--dcw-hover-bg);color:var(--dcw-ink)}.dcw-icon-btn--close:hover{background:#ef44441f;color:#dc2626}.dcw-editor{flex:1;min-height:0;background:var(--dcw-editor-bg);overflow:hidden}.dcw-editor .monaco-editor,.dcw-editor .monaco-editor .margin,.dcw-editor .monaco-editor-background,.dcw-editor .monaco-editor .inputarea.ime-input{font-family:var(--dcw-code)!important}.dcw-zoom-hint{display:flex;align-items:center;justify-content:center;height:100%;font-family:var(--dcw-hand);font-size:13px;color:var(--dcw-muted)}.dcw-output{flex-shrink:0;display:flex;flex-direction:column;border-top:1px solid var(--dcw-line);background:var(--dcw-bg);min-height:68px}.dcw-output__head{display:flex;align-items:center;justify-content:space-between;padding:5px 12px 3px}.dcw-output__label{font-family:var(--dcw-hand);font-size:13px;font-weight:600;color:var(--dcw-ink)}.dcw-output__clear{display:inline-flex;align-items:center;gap:4px;border:none;background:transparent;padding:2px 4px;font-family:var(--dcw-hand);font-size:12px;color:var(--dcw-muted);cursor:pointer}.dcw-output__clear:hover{color:var(--dcw-ink)}.dcw-output__clear svg{width:12px;height:12px}.dcw-output__body{flex:1;margin:0;padding:2px 12px 10px;overflow:auto;font-family:var(--dcw-hand);font-size:14px;line-height:1.5;color:var(--dcw-ink);white-space:pre-wrap;word-break:break-word}.dcw-output__val{color:var(--dcw-green-dark);font-weight:600}.dcw-output__err{color:#dc2626}.dcw-shell--dark{box-shadow:0 6px 18px #0006}.excalidraw-page[data-theme=dark] .dcw-shell{--dcw-bg: #232329;--dcw-ink: #ececec;--dcw-muted: #9b9b9b;--dcw-line: rgba(255, 255, 255, .12);--dcw-border: rgba(255, 255, 255, .2);--dcw-editor-bg: #1a1a1e;--dcw-menu-bg: #2e2e35;--dcw-hover-bg: rgba(255, 255, 255, .08);box-shadow:0 6px 18px #0006}.dcw-shell--dark .dcw-output__err{color:#f87171}.dcw-place-layer{position:absolute;top:0;right:0;bottom:0;left:0;cursor:crosshair;pointer-events:auto}.dcw-place-preview{border:1.5px dashed #6965db;border-radius:12px;background:#6965db12;box-sizing:border-box}.dcw-place-hint{position:absolute;left:50%;bottom:20px;transform:translate(-50%);padding:6px 14px;border-radius:999px;background:#0f172ad9;color:#fff;font-family:var(--dcw-hand, var(--font-hand));font-size:12px;pointer-events:none;white-space:nowrap}.dcw-shell .cw-resize{position:absolute;z-index:5}.dcw-shell .cw-resize--e{right:-4px;top:20%;width:8px;height:60%;cursor:ew-resize}.dcw-shell .cw-resize--w{left:-4px;top:20%;width:8px;height:60%;cursor:ew-resize}.dcw-shell .cw-resize--s{bottom:-4px;left:20%;height:8px;width:60%;cursor:ns-resize}.dcw-shell .cw-resize--n{top:-4px;left:20%;height:8px;width:60%;cursor:ns-resize}.dcw-shell .cw-resize--se{right:-5px;bottom:-5px;width:14px;height:14px;cursor:nwse-resize}.dcw-shell .cw-resize--sw{left:-5px;bottom:-5px;width:14px;height:14px;cursor:nesw-resize}.dcw-shell .cw-resize--ne{right:-5px;top:-5px;width:14px;height:14px;cursor:nesw-resize}.dcw-shell .cw-resize--nw{left:-5px;top:-5px;width:14px;height:14px;cursor:nwse-resize}.dcw-shell--binding-hover{box-shadow:0 0 0 2px #6965dbf2,0 0 0 6px #6965db2e,var(--dcw-shadow, 0 14px 34px rgba(15, 23, 42, .16))}.dcw-shell--canvas-tool .dcw-header,.dcw-shell--canvas-tool .dcw-editor,.dcw-shell--canvas-tool .dcw-output,.dcw-shell--canvas-tool .cw-resize,.dcw-shell--canvas-tool .monaco-editor,.dcw-shell--canvas-tool .monaco-editor *{pointer-events:none!important}.dc-navbar__signin{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1.5px solid color-mix(in srgb,var(--brand-purple, #6965db) 55%,var(--border-light, rgba(128,128,128,.35)));border-radius:12px 10px 14px 9px/10px 13px 9px 12px;padding:6px 13px;font-family:var(--font-hand);font-size:13px;font-weight:700;cursor:pointer;color:var(--brand-purple, #6965db);background:color-mix(in srgb,var(--brand-purple, #6965db) 8%,transparent);transform:rotate(-.3deg);transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease}.dc-navbar__signin:hover{transform:translateY(-1px) rotate(0);border-color:var(--brand-purple, #6965db);background:color-mix(in srgb,var(--brand-purple, #6965db) 14%,transparent);box-shadow:2px 2px color-mix(in srgb,var(--brand-purple, #6965db) 28%,transparent)}.dc-navbar__signin:focus-visible{outline:2px solid var(--brand-purple, #6965db);outline-offset:2px}.dc-about-page{max-width:720px;margin:0 auto;padding:32px 20px 48px;color:var(--text-primary, #1a1a1a)}.dc-about-page h1{margin:0 0 12px;font-size:2rem;letter-spacing:-.02em}.dc-about-page p{line-height:1.6;color:var(--text-secondary, #444)}.dc-about-page__links{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:24px}.dc-about-page__links a,.dc-about-page__links button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;padding:0;font:inherit;font-weight:600;color:var(--accent, #6965db);cursor:pointer;text-decoration:none}.dc-about-page__links a:hover,.dc-about-page__links button:hover{text-decoration:underline}.dc-about{--dc-about-ink: var(--text-primary, #1a1a1a);--dc-about-muted: var(--text-secondary, #555);--dc-about-accent: var(--brand-purple, #6965db);width:100%;min-height:100%;color:var(--dc-about-ink);background:transparent}.dc-about__inner{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:8px 0 56px}.dc-about__hero{--dc-about-hero-paper: var(--bg-primary, #f7f7f8);position:relative;display:flex;align-items:flex-end;isolation:isolate;overflow:hidden;width:100%;min-height:clamp(280px,52vh,420px);padding-top:18px;margin:0;border:none;border-radius:0;outline:none;box-shadow:none}.dc-about__hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.dc-about__hero-bg-img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:center 40%;transform:none}.dc-about__hero-bg-img--light{display:block;opacity:.45}.dc-about__hero-bg-img--dark{display:none;opacity:.55}html[data-theme=dark] .dc-about__hero{--dc-about-hero-paper: var(--bg-primary, #0d0d0d)}html[data-theme=dark] .dc-about__hero-bg-img--light{display:none}html[data-theme=dark] .dc-about__hero-bg-img--dark{display:block}.dc-about__hero-veil{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,color-mix(in srgb,var(--dc-about-hero-paper) 96%,transparent),color-mix(in srgb,var(--dc-about-hero-paper) 88%,transparent) 34%,color-mix(in srgb,var(--dc-about-hero-paper) 55%,transparent) 62%,color-mix(in srgb,var(--dc-about-hero-paper) 28%,transparent)),linear-gradient(to top,color-mix(in srgb,var(--dc-about-hero-paper) 70%,transparent) 0%,transparent 42%)}.dc-about__hero-copy{position:relative;z-index:1;width:min(1180px,calc(100% - 48px));max-width:min(36em,100%);margin:0 auto 0 max(24px,calc((100% - min(1180px,calc(100% - 48px)))/2));padding:clamp(28px,4.5vh,44px) 0 clamp(24px,4vh,36px)}.dc-about__eyebrow{margin:0 0 10px;font-family:var(--font-hand);font-size:.95rem;font-weight:700;color:var(--dc-about-accent)}.dc-about__title{margin:0 0 14px;font-family:var(--font-hand);font-size:clamp(2.1rem,4.8vw,3rem);font-weight:700;letter-spacing:-.03em;line-height:1.08;color:var(--dc-about-ink);text-shadow:0 1px 0 color-mix(in srgb,var(--dc-about-hero-paper) 55%,transparent)}.dc-about__lede{margin:0 0 18px;max-width:34em;font-size:1.06rem;line-height:1.6;color:var(--dc-about-muted);text-shadow:0 1px 0 color-mix(in srgb,var(--dc-about-hero-paper) 65%,transparent)}.dc-about__cta-row{display:flex;flex-wrap:wrap;gap:10px}.dc-about__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1.5px solid color-mix(in srgb,var(--dc-about-accent) 48%,transparent);border-radius:12px 10px 14px 9px/10px 13px 9px 12px;padding:9px 15px;font-family:var(--font-hand);font-size:.95rem;font-weight:700;cursor:pointer;color:var(--dc-about-accent);background:transparent;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.dc-about__btn:hover{transform:translateY(-1px) rotate(-.25deg);background:color-mix(in srgb,var(--dc-about-accent) 10%,transparent);box-shadow:2px 2px color-mix(in srgb,var(--dc-about-accent) 20%,transparent)}.dc-about__btn--primary{color:#fff;border-color:var(--dc-about-accent);background:var(--dc-about-accent)}.dc-about__btn--primary:hover{color:#fff;background:color-mix(in srgb,var(--dc-about-accent) 88%,#000)}.dc-about__btn--signin{display:inline-flex;align-items:center;gap:7px;border:1.5px solid color-mix(in srgb,var(--dc-about-accent) 55%,var(--border, rgba(128, 128, 128, .3)));background:color-mix(in srgb,var(--dc-about-accent) 14%,var(--bg-primary, #ffffff));color:var(--dc-about-accent);font-weight:700;box-shadow:2px 2px color-mix(in srgb,var(--dc-about-accent) 26%,transparent)}.dc-about__btn--signin:hover{transform:translateY(-1px) rotate(-.35deg);background:color-mix(in srgb,var(--dc-about-accent) 24%,var(--bg-primary, #ffffff));box-shadow:3px 3px color-mix(in srgb,var(--dc-about-accent) 42%,transparent)}.dc-about__media{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;position:relative;margin:12px 0;padding:5px;width:100%;max-width:min(560px,100%);justify-self:stretch;overflow:hidden;border:1.5px solid color-mix(in srgb,var(--dc-about-accent) 42%,var(--border, rgba(128, 128, 128, .3)));border-radius:18px 15px 20px 16px/15px 20px 16px 18px;background:var(--bg-primary, #ffffff);box-shadow:4px 6px color-mix(in srgb,var(--dc-about-accent) 20%,transparent),0 8px 24px #00000014;cursor:pointer;transform:rotate(.4deg);transition:transform .35s var(--dc-about-ease, cubic-bezier(.22, 1, .36, 1)),border-color .28s ease,background-color .28s ease,box-shadow .35s var(--dc-about-ease, cubic-bezier(.22, 1, .36, 1))}.dc-about__media-frame{position:relative;width:100%;border-radius:13px 11px 15px 12px/11px 15px 12px 13px;overflow:hidden;border:1px solid color-mix(in srgb,var(--dc-about-accent) 20%,var(--border, rgba(128, 128, 128, .2)))}.dc-about__media:hover,.dc-about__media:focus-visible{border-color:var(--dc-about-accent);transform:rotate(-.55deg) translateY(-5px) scale(1.02);box-shadow:6px 10px color-mix(in srgb,var(--dc-about-accent) 35%,transparent),0 16px 36px color-mix(in srgb,var(--dc-about-accent) 22%,transparent)}.dc-about__media:focus-visible{outline:2px solid var(--dc-about-accent);outline-offset:2px}.dc-about__media:active{transform:rotate(-.2deg) translateY(-1px) scale(1.005);box-shadow:2px 3px color-mix(in srgb,var(--dc-about-accent) 35%,transparent);transition-duration:.12s}.dc-about__media img{display:block;width:100%;height:auto;transform:scale(1);transition:transform .45s var(--dc-about-ease, cubic-bezier(.22, 1, .36, 1)),filter .3s ease}.dc-about__media:hover img,.dc-about__media:focus-visible img{transform:scale(1.035);filter:contrast(1.02) brightness(1.02)}.dc-about__media-go{position:absolute;left:14px;bottom:14px;z-index:2;display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:12px 10px 14px 11px/10px 13px 11px 12px;font-family:var(--font-hand);font-size:.88rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--dc-about-accent),#504cb8);border:1.5px solid rgba(255,255,255,.35);box-shadow:2px 2px color-mix(in srgb,var(--dc-about-accent) 40%,transparent),0 4px 12px #0003;opacity:.94;transform:translateY(0);pointer-events:none;transition:opacity .25s ease,transform .3s var(--dc-about-ease, cubic-bezier(.22, 1, .36, 1)),box-shadow .25s ease}.dc-about__media-arrow{display:inline-block;transition:transform .22s cubic-bezier(.34,1.56,.64,1)}.dc-about__media:hover .dc-about__media-go,.dc-about__media:focus-visible .dc-about__media-go{opacity:1;transform:translateY(-2px) scale(1.03);box-shadow:3px 4px color-mix(in srgb,var(--dc-about-accent) 50%,transparent),0 6px 16px #00000040}.dc-about__media:hover .dc-about__media-arrow,.dc-about__media:focus-visible .dc-about__media-arrow{transform:translate(4px)}.dc-about__media img.dc-about__shot--dark,html[data-theme=dark] .dc-about__media img.dc-about__shot--light{display:none}html[data-theme=dark] .dc-about__media img.dc-about__shot--dark{display:block}.dc-about__section{margin-bottom:36px;padding-top:6px;border-top:1.5px dashed color-mix(in srgb,var(--dc-about-accent) 22%,transparent)}.dc-about__h2{margin:14px 0 10px;font-family:var(--font-hand);font-size:1.45rem;font-weight:700}.dc-about__h3{margin:0 0 8px;font-family:var(--font-hand);font-size:1.15rem;font-weight:700;color:var(--dc-about-accent)}.dc-about__prose{margin:0;max-width:52em;font-size:1.02rem;line-height:1.7;color:var(--dc-about-muted)}.dc-about__prose--lead{margin-bottom:8px}.dc-about__pillars{display:flex;flex-direction:column;gap:36px;margin-top:16px}.dc-about__pillar{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:28px 32px;align-items:center}.dc-about__pillar--flip{grid-template-columns:minmax(0,1.15fr) minmax(0,.95fr)}.dc-about__pillar--flip .dc-about__pillar-copy{order:2}.dc-about__pillar--flip .dc-about__media{order:1;transform:rotate(-.45deg)}.dc-about__pillar--flip .dc-about__media:hover,.dc-about__pillar--flip .dc-about__media:focus-visible{transform:rotate(0) translateY(-4px) scale(1.02)}.dc-about__pillar--flip .dc-about__media:active{transform:rotate(0) translateY(-1px) scale(1.01)}.dc-about__step{display:inline-flex;align-items:baseline;gap:10px;margin-bottom:6px;font-family:var(--font-hand);font-weight:700}.dc-about__step-n{font-size:.85rem;color:color-mix(in srgb,var(--dc-about-accent) 65%,#888)}.dc-about__step-tab{font-size:.78rem;letter-spacing:.06em;text-transform:uppercase;color:var(--dc-about-accent)}.dc-about__pillar-copy p{margin:0;line-height:1.65;color:var(--dc-about-muted)}.dc-about__step-cta{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;margin-top:14px;padding:0;border:none;background:transparent;font-family:var(--font-hand);font-size:.98rem;font-weight:700;color:var(--dc-about-accent);cursor:pointer;transition:transform .2s var(--dc-about-ease, ease),opacity .2s ease}.dc-about__step-cta:hover{transform:translate(3px);opacity:.9}.dc-about__who{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px 28px;margin-top:4px}.dc-about__who p{margin:0;font-size:.98rem;line-height:1.6;color:var(--dc-about-muted)}.dc-about__who strong{display:block;margin-bottom:6px;font-family:var(--font-hand);font-size:1.05rem;font-weight:700;color:var(--dc-about-accent)}.dc-about__guest{border-top-style:dashed}.dc-about__guest .dc-about__cta-row{margin-top:16px}.dc-about__footer{margin-top:8px;padding-top:16px;border-top:1.5px dashed color-mix(in srgb,var(--dc-about-accent) 22%,transparent);font-family:var(--font-hand);color:var(--dc-about-muted)}.dc-about__footer p{margin:0}html[data-theme=dark] .dc-about{--dc-about-ink: var(--text-primary, #e8e8ec);--dc-about-muted: var(--text-secondary, #a1a1aa)}@media (max-width: 900px){.dc-about__inner{width:min(100%,calc(100% - 28px))}.dc-about__pillar,.dc-about__pillar--flip{grid-template-columns:1fr}.dc-about__pillar--flip .dc-about__pillar-copy,.dc-about__pillar--flip .dc-about__media{order:initial}.dc-about__hero{min-height:auto;align-items:flex-start;padding-top:24px}.dc-about__hero-bg-img{object-position:center 32%}.dc-about__hero-veil{background:linear-gradient(180deg,color-mix(in srgb,var(--dc-about-hero-paper) 92%,transparent),color-mix(in srgb,var(--dc-about-hero-paper) 78%,transparent) 45%,color-mix(in srgb,var(--dc-about-hero-paper) 52%,transparent))}.dc-about__hero-copy{width:min(100%,calc(100% - 36px));margin:0 auto;padding:16px 0 28px}.dc-about__media{max-width:calc(100% - 8px);margin:16px auto 22px;transform:rotate(0)!important}.dc-about__who{grid-template-columns:1fr 1fr}}@media (max-width: 560px){.dc-about__inner{width:min(calc(100% - 32px),1180px);margin:0 auto;padding-top:16px}.dc-about__hero{min-height:auto;align-items:flex-start;padding-top:28px}.dc-about__hero-copy{width:min(100%,calc(100% - 32px));margin:0 auto;padding:14px 0 24px}.dc-about__eyebrow{margin:6px 0 10px}.dc-about__media{max-width:calc(100% - 6px);margin:14px auto 22px;padding:4px;transform:rotate(0)!important;box-shadow:3px 4px color-mix(in srgb,var(--dc-about-accent) 22%,transparent),0 6px 16px #00000014}.dc-about__media-go{left:10px;bottom:10px;padding:6px 12px;font-size:.82rem}.dc-about__who{grid-template-columns:1fr}}.dc-about{--dc-about-ease: cubic-bezier(.22, 1, .36, 1)}.dc-about__hero--in .dc-about__hero-copy{animation:dcAboutInkIn .7s var(--dc-about-ease) both}.dc-about__hero--in .dc-about__hero-bg{animation:dcAboutSketchIn .9s var(--dc-about-ease) both}@keyframes dcAboutInkIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes dcAboutSketchIn{0%{opacity:0;transform:scale(1.06)}to{opacity:1;transform:none}}[data-dc-reveal]{opacity:0;transform:translateY(14px) rotate(-.35deg);transition:opacity .55s var(--dc-about-ease),transform .55s var(--dc-about-ease)}[data-dc-reveal].is-in{opacity:1;transform:none}.dc-about__pillar[data-dc-reveal].is-in .dc-about__media{transition:transform .55s var(--dc-about-ease)}@media (prefers-reduced-motion: reduce){.dc-about__hero--in .dc-about__hero-copy,.dc-about__hero--in .dc-about__hero-bg{animation:none!important}.dc-about__step-cta,.dc-about__media,.dc-about__media img,.dc-about__media-go{transition:none}.dc-about__media:hover,.dc-about__media:focus-visible,.dc-about__pillar--flip .dc-about__media:hover,.dc-about__pillar--flip .dc-about__media:focus-visible{transform:none;box-shadow:none}.dc-about__media:hover img,.dc-about__media:focus-visible img{transform:none}[data-dc-reveal]{opacity:1;transform:none;transition:none}}.dc-snack-stack{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:10060;display:flex;flex-direction:column-reverse;align-items:center;gap:10px;width:min(440px,calc(100vw - 24px));pointer-events:none}.dc-snack{pointer-events:auto;display:flex;align-items:flex-start;gap:10px;width:100%;padding:12px 14px;border-radius:16px 18px 14px 17px/17px 14px 18px 16px;border:2px solid color-mix(in srgb,var(--brand-purple, #6965db) 38%,transparent);background:var(--bg-elevated, #1e1e1e);color:var(--text-primary, #e4e4e7);box-shadow:3px 4px color-mix(in srgb,var(--brand-purple, #6965db) 16%,transparent),0 14px 36px color-mix(in srgb,#000 28%,transparent);transform:rotate(-.3deg);animation:dc-snack-in .32s cubic-bezier(.22,1,.36,1) both}.dc-snack--error{border-color:color-mix(in srgb,var(--brand-accent, #f59e0b) 50%,transparent)}.dc-snack--offline{border-color:color-mix(in srgb,#71717a 55%,transparent);background:color-mix(in srgb,#18181b 92%,#6965db)}.dc-snack--success{border-color:color-mix(in srgb,#3ba974 55%,transparent)}.dc-snack__mark{flex-shrink:0;width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:42% 58% 48% 52%/52% 42% 58% 48%;color:var(--brand-purple, #6965db);background:color-mix(in srgb,var(--brand-purple, #6965db) 12%,transparent);border:1.5px dashed color-mix(in srgb,var(--brand-purple, #6965db) 40%,transparent)}.dc-snack__loading{width:17px;height:17px;border:2px solid color-mix(in srgb,currentColor 25%,transparent);border-top-color:currentColor;border-radius:50%;animation:dc-snack-spin .75s linear infinite}@keyframes dc-snack-spin{to{transform:rotate(360deg)}}.dc-snack--error .dc-snack__mark{color:var(--brand-accent, #f59e0b);background:color-mix(in srgb,var(--brand-accent, #f59e0b) 14%,transparent);border-color:color-mix(in srgb,var(--brand-accent, #f59e0b) 45%,transparent)}.dc-snack--offline .dc-snack__mark{color:#a1a1aa;background:color-mix(in srgb,#71717a 16%,transparent);border-color:color-mix(in srgb,#a1a1aa 40%,transparent)}.dc-snack--success .dc-snack__mark{color:#3ba974;background:color-mix(in srgb,#3ba974 14%,transparent);border-color:color-mix(in srgb,#3ba974 45%,transparent)}.dc-snack__body{flex:1;min-width:0;text-align:left}.dc-snack__title{margin:0 0 2px;font-family:var(--font-hand);font-size:14px;font-weight:700;letter-spacing:.01em;color:var(--text-primary, #e4e4e7)}.dc-snack__message{margin:0;font-size:13px;line-height:1.4;color:var(--text-secondary, #a1a1aa)}.dc-snack__progress{display:block;width:100%;height:3px;margin-top:7px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--brand-purple, #6965db) 14%,transparent)}.dc-snack__progress>span{display:block;height:100%;border-radius:inherit;background:var(--brand-purple, #6965db);transition:width .18s ease}.dc-snack__action{flex-shrink:0;align-self:center;padding:7px 12px;border-radius:999px;border:2px solid #5a56c7;background:#6965db;color:#fff;font-family:var(--font-hand);font-size:12px;font-weight:700;cursor:pointer;box-shadow:1px 2px color-mix(in srgb,#6965db 35%,#000);transform:rotate(1deg)}.dc-snack__action:hover{filter:brightness(1.06)}.dc-snack__dismiss{flex-shrink:0;width:28px;height:28px;border:none;border-radius:999px;background:transparent;color:var(--text-secondary, #a1a1aa);font-size:18px;line-height:1;cursor:pointer}.dc-snack__dismiss:hover{color:var(--text-primary, #e4e4e7);background:color-mix(in srgb,var(--brand-purple, #6965db) 10%,transparent)}@keyframes dc-snack-in{0%{opacity:0;transform:translateY(14px) scale(.96) rotate(-1deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(-.3deg)}}@media (prefers-reduced-motion: reduce){.dc-snack{animation:none}}[data-theme=light] .dc-snack{background:#fff;color:#18181b}[data-theme=light] .dc-snack__title{color:#18181b}[data-theme=light] .dc-snack__message{color:#71717a}[data-theme=light] .dc-snack--offline{background:#f4f4f5}.excalidraw .ToolIcon{border-radius:var(--border-radius-lg);display:inline-flex;align-items:center;position:relative;cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.excalidraw .ToolIcon__hidden{display:none!important}.excalidraw .ToolIcon.fillable .ToolIcon_type_radio:checked+.ToolIcon__icon,.excalidraw .ToolIcon.fillable .ToolIcon_type_checkbox:checked+.ToolIcon__icon{--icon-fill-color: var(--color-on-primary-container)}.excalidraw .ToolIcon.fillable .ToolIcon_type_radio:checked+.ToolIcon__icon svg,.excalidraw .ToolIcon.fillable .ToolIcon_type_checkbox:checked+.ToolIcon__icon svg{fill:var(--icon-fill-color)}.excalidraw .ToolIcon .ToolIcon_type_radio:checked+.ToolIcon__icon,.excalidraw .ToolIcon .ToolIcon_type_checkbox:checked+.ToolIcon__icon{background:var(--color-surface-primary-container);--keybinding-color: var(--color-on-primary-container)}.excalidraw .ToolIcon .ToolIcon_type_radio:checked+.ToolIcon__icon svg,.excalidraw .ToolIcon .ToolIcon_type_checkbox:checked+.ToolIcon__icon svg{color:var(--color-on-primary-container)}.excalidraw .ToolIcon .ToolIcon__keybinding{bottom:4px;right:4px}.excalidraw .ToolIcon .ToolIcon__icon:hover{background:var(--button-hover-bg)}.excalidraw .ToolIcon .ToolIcon__icon:active{background:var(--button-hover-bg);border:1px solid var(--button-active-border)}.excalidraw .ToolIcon .ToolIcon__icon:active svg{color:var(--color-on-primary-container)}.excalidraw .ToolIcon .ToolIcon__icon[aria-disabled=true]{background:initial;border:none}.excalidraw .ToolIcon .ToolIcon__icon[aria-disabled=true] svg{color:var(--color-disabled)}.excalidraw .ToolIcon--plain{background-color:transparent}.excalidraw .ToolIcon--plain .ToolIcon__icon{width:2rem;height:2rem}.excalidraw .ToolIcon_type_radio,.excalidraw .ToolIcon_type_checkbox{position:absolute;opacity:0;pointer-events:none}.excalidraw .ToolIcon__icon{box-sizing:border-box;width:var(--default-button-size);height:var(--default-button-size);color:var(--icon-fill-color);display:flex;justify-content:center;align-items:center;border-radius:var(--border-radius-lg)}.excalidraw .ToolIcon__icon+.ToolIcon__label{margin-inline-start:0}.excalidraw .ToolIcon__icon svg{position:relative;width:var(--default-icon-size);height:var(--default-icon-size);color:var(--icon-fill-color)}.excalidraw .ToolIcon__label{display:flex;align-items:center;color:var(--icon-fill-color);font-family:var(--ui-font);margin:0 .8em;text-overflow:ellipsis}.excalidraw .ToolIcon__label .Spinner{margin-left:.6em}.excalidraw .ToolIcon_size_small .ToolIcon__icon{width:2rem;height:2rem;font-size:.8em}.excalidraw .ToolIcon_type_button,.excalidraw .Modal .ToolIcon_type_button{padding:0;border:none;margin:0;font-size:inherit;background-color:initial}.excalidraw .ToolIcon_type_button:focus-visible,.excalidraw .Modal .ToolIcon_type_button:focus-visible{box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .ToolIcon_type_button.ToolIcon--selected,.excalidraw .Modal .ToolIcon_type_button.ToolIcon--selected{background-color:var(--button-gray-2)}.excalidraw .ToolIcon_type_button.ToolIcon--selected:active,.excalidraw .Modal .ToolIcon_type_button.ToolIcon--selected:active,.excalidraw .ToolIcon_type_button:active,.excalidraw .Modal .ToolIcon_type_button:active{background-color:var(--button-gray-3)}.excalidraw .ToolIcon_type_button:disabled,.excalidraw .Modal .ToolIcon_type_button:disabled{cursor:default}.excalidraw .ToolIcon_type_button:disabled:active,.excalidraw .ToolIcon_type_button:disabled:focus-visible,.excalidraw .ToolIcon_type_button:disabled:hover,.excalidraw .Modal .ToolIcon_type_button:disabled:active,.excalidraw .Modal .ToolIcon_type_button:disabled:focus-visible,.excalidraw .Modal .ToolIcon_type_button:disabled:hover{background-color:initial;border:none;box-shadow:none}.excalidraw .ToolIcon_type_button:disabled svg,.excalidraw .Modal .ToolIcon_type_button:disabled svg{color:var(--color-disabled)}.excalidraw .ToolIcon_type_button--show,.excalidraw .Modal .ToolIcon_type_button--show{visibility:visible}.excalidraw .ToolIcon_type_button--hide,.excalidraw .Modal .ToolIcon_type_button--hide{display:none!important}.excalidraw .ToolIcon_type_floating,.excalidraw .ToolIcon_type_floating:hover,.excalidraw .ToolIcon_type_floating:active{background-color:transparent}.excalidraw .ToolIcon_type_floating .ToolIcon__icon{background-color:var(--button-gray-1)}.excalidraw .ToolIcon_type_floating .ToolIcon__icon:hover{background-color:var(--button-gray-2)}.excalidraw .ToolIcon_type_floating .ToolIcon__icon:active{background-color:var(--button-gray-3)}.excalidraw .ToolIcon_type_floating .ToolIcon__icon{width:2rem;height:2rem}.excalidraw .ToolIcon__keybinding{position:absolute;bottom:2px;right:3px;font-size:.625rem;color:var(--keybinding-color);font-family:var(--ui-font);-webkit-user-select:none;user-select:none}:root[dir=ltr] .excalidraw .unlocked-icon{left:2px}:root[dir=rtl] .excalidraw .unlocked-icon{right:2px}.excalidraw .App-toolbar-container .ToolIcon__icon{width:var(--lg-button-size);height:var(--lg-button-size)}@media screen and (max-width: 450px){.excalidraw .App-toolbar-container .ToolIcon__icon{width:1.8rem;height:1.8rem}}@media screen and (max-width: 379px){.excalidraw .App-toolbar-container .ToolIcon__icon{width:1.5rem;height:1.5rem}}.excalidraw .App-toolbar-container .ToolIcon__icon svg{width:var(--lg-icon-size);height:var(--lg-icon-size)}.excalidraw .App-toolbar-container .ToolIcon__LaserPointer .ToolIcon__icon,.excalidraw .App-toolbar-container .ToolIcon__MagicButton .ToolIcon__icon{width:var(--default-button-size);height:var(--default-button-size)}.excalidraw .Spinner{display:flex;align-items:center;justify-content:center;height:100%;margin-left:auto;margin-right:auto;--spinner-color: var(--icon-fill-color)}.excalidraw .Spinner svg{animation:rotate 1.6s linear infinite;animation-delay:var(--spinner-delay);transform-origin:center center}.excalidraw .Spinner circle{stroke:var(--spinner-color);animation:dash 1.6s linear 0s infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes dash{0%{stroke-dasharray:1,300;stroke-dashoffset:0}50%{stroke-dasharray:150,300;stroke-dashoffset:-200}to{stroke-dasharray:1,300;stroke-dashoffset:-280}}.excalidraw{--theme-filter: none;--button-destructive-bg-color: #ffe3e3;--button-destructive-color: #c92a2a;--button-gray-1: #e9ecef;--button-gray-2: #ced4da;--button-gray-3: #adb5bd;--mobile-action-button-bg: rgba(255, 255, 255, .35);--mobile-color-border: var(--default-border-color);--button-special-active-bg-color: #ebfbee;--dialog-border-color: var(--color-gray-20);--dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');--focus-highlight-color: #a5d8ff;--icon-fill-color: var(--color-on-surface);--icon-green-fill-color: #2b8a3e;--default-bg-color: #fff;--input-bg-color: #fff;--input-border-color: #ced4da;--input-hover-bg-color: #f1f3f5;--input-label-color: #495057;--island-bg-color: #ffffff;--island-bg-color-alt: #fff;--keybinding-color: var(--color-gray-40);--link-color: #1c7ed6;--link-color-hover: #1971c2;--link-color-active: #a5d8ff;--overlay-bg-color: rgba(255, 255, 255, .88);--popup-bg-color: var(--island-bg-color);--popup-secondary-bg-color: #f1f3f5;--popup-text-color: #000;--popup-text-inverted-color: #fff;--select-highlight-color: #339af0;--shadow-island: 0px 0px 1px 0px rgba(0, 0, 0, .17), 0px 0px 3px 0px rgba(0, 0, 0, .08), 0px 7px 14px 0px rgba(0, 0, 0, .05);--shadow-island-stronger: 0px 0px 1px 0px rgba(0, 0, 0, .17), 0px 0px 3px 0px rgba(0, 0, 0, .08), 0px 7px 14px 0px rgb(0 0 0 / 18%);--button-hover-bg: var(--color-surface-high);--button-active-bg: var(--color-surface-high);--button-active-border: var(--color-brand-active);--default-border-color: var(--color-surface-high);--default-button-size: 2rem;--default-icon-size: 1rem;--lg-button-size: 2.25rem;--lg-icon-size: 1rem;--editor-container-padding: 1rem;--mobile-action-button-size: 2rem;--scrollbar-thumb: var(--button-gray-2);--scrollbar-thumb-hover: var(--button-gray-3);--color-slider-track: hsl(240, 100%, 90%);--color-slider-thumb: var(--color-gray-80);--modal-shadow: 0px 100px 80px rgba(0, 0, 0, .07), 0px 41.7776px 33.4221px rgba(0, 0, 0, .0503198), 0px 22.3363px 17.869px rgba(0, 0, 0, .0417275), 0px 12.5216px 10.0172px rgba(0, 0, 0, .035), 0px 6.6501px 5.32008px rgba(0, 0, 0, .0282725), 0px 2.76726px 2.21381px rgba(0, 0, 0, .0196802);--avatar-border-color: var(--color-gray-20);--sidebar-shadow: 0px 100px 80px rgba(0, 0, 0, .07), 0px 41.7776px 33.4221px rgba(0, 0, 0, .0503198), 0px 22.3363px 17.869px rgba(0, 0, 0, .0417275), 0px 12.5216px 10.0172px rgba(0, 0, 0, .035), 0px 6.6501px 5.32008px rgba(0, 0, 0, .0282725), 0px 2.76726px 2.21381px rgba(0, 0, 0, .0196802);--sidebar-border-color: var(--color-surface-high);--sidebar-bg-color: var(--island-bg-color);--library-dropdown-shadow: 0px 15px 6px rgba(0, 0, 0, .01), 0px 8px 5px rgba(0, 0, 0, .05), 0px 4px 4px rgba(0, 0, 0, .09), 0px 1px 2px rgba(0, 0, 0, .1), 0px 0px 0px rgba(0, 0, 0, .1);--chat-msg-shadow: 0 1px 2px rgba(0, 0, 0, .1);--space-factor: .25rem;--text-primary-color: var(--color-on-surface);--color-selection: #6965db;--color-icon-white: #fff;--color-primary: #6965db;--color-primary-darker: #5b57d1;--color-primary-darkest: #4a47b1;--color-primary-light: #e3e2fe;--color-primary-light-darker: #d7d5ff;--color-primary-hover: #5753d0;--color-gray-10: #f5f5f5;--color-gray-20: #ebebeb;--color-gray-30: #d6d6d6;--color-gray-40: #b8b8b8;--color-gray-50: #999999;--color-gray-60: #7a7a7a;--color-gray-70: #5c5c5c;--color-gray-80: #3d3d3d;--color-gray-85: #242424;--color-gray-90: #1e1e1e;--color-gray-100: #121212;--color-disabled: var(--color-gray-40);--color-warning: #fceeca;--color-warning-dark: #f5c354;--color-warning-darker: #f3ab2c;--color-warning-darkest: #ec8b14;--color-text-warning: var(--text-primary-color);--color-danger: #db6965;--color-danger-dark: #db6965;--color-danger-darker: #d65550;--color-danger-darkest: #d1413c;--color-danger-text: black;--color-danger-background: #fff0f0;--color-danger-icon-background: #ffdad6;--color-danger-color: #700000;--color-danger-icon-color: #700000;--color-warning-background: var(--color-warning);--color-warning-icon-background: var(--color-warning-dark);--color-warning-color: var(--text-primary-color);--color-warning-icon-color: var(--text-primary-color);--color-muted: var(--color-gray-30);--color-muted-darker: var(--color-gray-60);--color-muted-darkest: var(--color-gray-100);--color-muted-background: var(--color-gray-80);--color-muted-background-darker: var(--color-gray-100);--color-promo: var(--color-primary);--color-success: #cafccc;--color-success-darker: #bafabc;--color-success-darkest: #a5eba8;--color-success-text: #268029;--color-success-contrast: #65bb6a;--color-success-contrast-hover: #6bcf70;--color-success-contrast-active: #6edf74;--color-logo-icon: var(--color-primary);--color-logo-text: #190064;--border-radius-md: .375rem;--border-radius-lg: .5rem;--color-surface-high: #f1f0ff;--color-surface-mid: #f6f6f9;--color-surface-low: #ececf4;--color-surface-lowest: #ffffff;--color-on-surface: #1b1b1f;--color-brand-hover: #5753d0;--color-on-primary-container: #030064;--color-brand-active: #4440bf;--color-border-outline: #767680;--color-border-outline-variant: #c5c5d0;--color-surface-primary-container: #e0dfff;--color-badge: #0b6513;--background-color-badge: #d3ffd2}.excalidraw.theme--dark{--theme-filter: invert(93%) hue-rotate(180deg);--button-destructive-bg-color: #5a0000;--button-destructive-color: #ffa8a8;--button-gray-1: #363636;--button-gray-2: #272727;--button-gray-3: #222;--mobile-action-button-bg: var(--island-bg-color);--mobile-color-border: rgba(255, 255, 255, .85);--button-special-active-bg-color: #204624;--dialog-border-color: var(--color-gray-80);--dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path fill="%23ced4da" d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');--focus-highlight-color: #228be6;--icon-green-fill-color: #69db7c;--default-bg-color: #121212;--input-bg-color: #121212;--input-border-color: #2e2e2e;--input-hover-bg-color: #181818;--input-label-color: #e9ecef;--island-bg-color: #232329;--island-bg-color-alt: hsl(240, 12%, 12%);--keybinding-color: var(--color-gray-60);--link-color: #4dabf7;--overlay-bg-color: rgba(52, 58, 64, .12);--popup-secondary-bg-color: #222;--popup-text-color: #ced4da;--popup-text-inverted-color: #2c2c2c;--select-highlight-color: #4dabf7;--modal-shadow: 0px 100px 80px rgba(0, 0, 0, .07), 0px 41.7776px 33.4221px rgba(0, 0, 0, .0503198), 0px 22.3363px 17.869px rgba(0, 0, 0, .0417275), 0px 12.5216px 10.0172px rgba(0, 0, 0, .035), 0px 6.6501px 5.32008px rgba(0, 0, 0, .0282725), 0px 2.76726px 2.21381px rgba(0, 0, 0, .0196802);--avatar-border-color: var(--color-gray-85);--scrollbar-thumb: #343a40;--scrollbar-thumb-hover: #495057;--color-slider-track: hsl(244, 23%, 39%);--color-selection: #3530c4;--color-icon-white: var(--color-gray-90);--color-primary: #a8a5ff;--color-primary-darker: #b2aeff;--color-primary-darkest: #beb9ff;--color-primary-light: #4f4d6f;--color-primary-light-darker: #43415e;--color-primary-hover: #bbb8ff;--color-disabled: var(--color-gray-70);--color-text-warning: var(--color-gray-80);--color-danger: #ffa8a5;--color-danger-dark: #672120;--color-danger-darker: #8f2625;--color-danger-darkest: #ac2b29;--color-danger-text: #fbcbcc;--color-danger-background: #fbcbcc;--color-danger-icon-background: #672120;--color-danger-color: #261919;--color-danger-icon-color: #fbcbcc;--color-warning-background: var(--color-warning);--color-warning-icon-background: var(--color-warning-dark);--color-warning-color: var(--color-gray-80);--color-warning-icon-color: var(--color-gray-80);--color-muted: var(--color-gray-80);--color-muted-darker: var(--color-gray-60);--color-muted-darkest: var(--color-gray-20);--color-muted-background: var(--color-gray-40);--color-muted-background-darker: var(--color-gray-20);--color-logo-text: #e2dfff;--color-surface-high: #2e2d39;--color-surface-low: hsl(240, 8%, 15%);--color-surface-mid: hsl(240 6% 10%);--color-surface-lowest: hsl(0, 0%, 7%);--color-on-surface: #e3e3e8;--color-brand-hover: #bbb8ff;--color-on-primary-container: #e0dfff;--color-brand-active: #d0ccff;--color-border-outline: #8e8d9c;--color-border-outline-variant: #46464f;--color-surface-primary-container: #403e6a}.excalidraw button.standalone{display:flex;justify-content:center;align-items:center;padding:.625rem;width:var(--button-width, var(--default-button-size));height:var(--button-height, var(--default-button-size));box-sizing:border-box;border-width:1px;border-style:solid;border-color:var(--button-border, var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg, var(--island-bg-color));color:var(--button-color, var(--color-on-surface));font-family:var(--ui-font)}.excalidraw button.standalone svg{width:var(--button-width, var(--lg-icon-size));height:var(--button-height, var(--lg-icon-size))}.excalidraw button.standalone:hover{background-color:var(--button-hover-bg, var(--island-bg-color));border-color:var(--button-hover-border, var(--button-border, var(--default-border-color)));color:var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)))}.excalidraw button.standalone:active{background-color:var(--button-active-bg, var(--island-bg-color));border-color:var(--button-active-border, var(--color-primary-darkest))}.excalidraw button.standalone.active{background-color:var(--button-selected-bg, var(--color-surface-primary-container));border-color:var(--button-selected-border, var(--color-surface-primary-container))}.excalidraw button.standalone.active:hover{background-color:var(--button-selected-hover-bg, var(--color-surface-primary-container))}.excalidraw button.standalone.active svg{color:var(--button-color, var(--color-on-primary-container))}.excalidraw--mobile.excalidraw button.standalone{width:var(--mobile-action-button-size, var(--default-button-size));height:var(--mobile-action-button-size, var(--default-button-size))}.excalidraw button.standalone{padding:0}.excalidraw button.standalone svg{width:var(--default-icon-size);height:var(--default-icon-size)}.excalidraw button.standalone>*{pointer-events:none}.excalidraw .excalidraw-eye-dropper-container,.excalidraw .excalidraw-eye-dropper-backdrop{position:absolute;width:100%;height:100%;z-index:var(--zIndex-eyeDropperBackdrop);touch-action:none}.excalidraw .excalidraw-eye-dropper-container{pointer-events:none}.excalidraw .excalidraw-eye-dropper-backdrop{pointer-events:all}.excalidraw .excalidraw-eye-dropper-preview{pointer-events:none;width:3rem;height:3rem;position:fixed;z-index:var(--zIndex-eyeDropperPreview);border-radius:1rem;border:1px solid var(--default-border-color);filter:var(--theme-filter)}.excalidraw .excalidraw-eye-dropper-trigger{width:1.25rem;height:1.25rem;cursor:pointer;padding:4px;margin-right:-4px;margin-left:-2px;border-radius:.5rem;color:var(--icon-fill-color)}.excalidraw .excalidraw-eye-dropper-trigger:hover{background:var(--button-hover-bg)}.excalidraw .excalidraw-eye-dropper-trigger.selected{color:var(--color-primary);background:var(--color-primary-light)}.excalidraw .Island{--padding: 0;box-sizing:border-box;background-color:var(--island-bg-color);box-shadow:var(--shadow-island);border-radius:var(--border-radius-lg);padding:calc(var(--padding) * var(--space-factor));position:relative}.excalidraw .Island.zen-mode{box-shadow:none}.excalidraw .focus-visible-none:focus-visible{outline:none!important}.excalidraw .color-picker__title{padding:0 .5rem;font-size:.875rem;text-align:left}.excalidraw .color-picker__heading{padding:0 .5rem;font-size:.75rem;text-align:left}.excalidraw .color-picker-container{display:grid;grid-template-columns:1fr 20px 1.625rem;padding:.25rem 0px;align-items:center}.excalidraw--mobile.excalidraw .color-picker-container{max-width:11rem}.excalidraw .color-picker-container.color-picker-container--no-top-picks{display:flex;justify-content:center;grid-template-columns:unset}.excalidraw .color-picker__top-picks{display:flex;justify-content:space-between;align-items:center}.excalidraw .color-picker__button{--radius: 4px;--size: 1.375rem}.excalidraw .color-picker__button.has-outline{box-shadow:inset 0 0 0 1px #d9d9d9}.excalidraw .color-picker__button{padding:0;margin:0;width:var(--size);height:var(--size);border:0;border-radius:var(--radius);filter:var(--theme-filter);background-color:var(--swatch-color);background-position:left center;position:relative;font-family:inherit;box-sizing:border-box}.excalidraw .color-picker__button:hover:not(.active):not(.color-picker__button--large){transform:scale(1.075)}.excalidraw .color-picker__button:hover:not(.active).color-picker__button--large:after{content:"";position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;box-shadow:0 0 0 1px var(--color-gray-30);border-radius:var(--radius);filter:var(--theme-filter)}.excalidraw .color-picker__button .color-picker__button-outline{display:flex;align-items:center;justify-content:center}.excalidraw .color-picker__button .color-picker__button-outline svg{color:var(--color-gray-60);width:1.25rem;height:1.25rem}.excalidraw .color-picker__button .color-picker__button-background{display:flex;align-items:center;justify-content:center}.excalidraw .color-picker__button .color-picker__button-background svg{width:100%;height:100%}.excalidraw .color-picker__button.active .color-picker__button-outline{position:absolute;--offset: -1px;top:var(--offset);left:var(--offset);right:var(--offset);bottom:var(--offset);box-shadow:0 0 0 1px var(--color-primary-darkest);z-index:1;border-radius:var(--radius);filter:var(--theme-filter)}.excalidraw .color-picker__button:focus-visible{outline:none}.excalidraw .color-picker__button:focus-visible:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:3px solid var(--focus-highlight-color);border-radius:calc(var(--radius) + 1px)}.excalidraw .color-picker__button:focus-visible.active .color-picker__button-outline{display:none}.excalidraw .color-picker__button--large{--radius: .5rem;width:1.875rem;height:1.875rem}.excalidraw .color-picker__button.is-transparent{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==)}.excalidraw .color-picker__button--no-focus-visible{border:0}.excalidraw .color-picker__button--no-focus-visible:after{display:none}.excalidraw .color-picker__button--no-focus-visible:focus-visible{outline:none!important}.excalidraw .color-picker__button.active-color{border-radius:calc(var(--radius) + 1px);width:1.625rem;height:1.625rem}.excalidraw .color-picker__button.compact-sizing{width:var(--mobile-action-button-size);height:var(--mobile-action-button-size)}.excalidraw .color-picker__button.mobile-border{border:1px solid var(--mobile-color-border)}.excalidraw .color-picker__button__hotkey-label{position:absolute;right:5px;bottom:3px;filter:none;font-size:11px;font-weight:500}.excalidraw .color-picker{background:var(--popup-bg-color);border:0 solid rgba(255,255,255,.25);box-shadow:#00000040 0 1px 4px;border-radius:4px;position:absolute}:root[dir=ltr] .excalidraw .color-picker{left:-5.5px}:root[dir=rtl] .excalidraw .color-picker{right:-5.5px}.excalidraw .color-picker-control-container{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:.5rem}.excalidraw .color-picker-control-container+.popover{position:static}.excalidraw .color-picker-popover-container{margin-top:-.25rem}:root[dir=ltr] .excalidraw .color-picker-popover-container{margin-left:.5rem}:root[dir=rtl] .excalidraw .color-picker-popover-container{margin-left:-3rem}.excalidraw .color-picker-triangle{width:0;height:0;border-style:solid;border-width:0 9px 10px;border-color:transparent transparent var(--popup-bg-color);position:absolute;top:10px}:root[dir=ltr] .excalidraw .color-picker-triangle{transform:rotate(270deg);left:-14px}:root[dir=rtl] .excalidraw .color-picker-triangle{transform:rotate(90deg);right:-14px}.excalidraw .color-picker-triangle-shadow{border-color:transparent transparent rgba(0,0,0,.1)}:root[dir=ltr] .excalidraw .color-picker-triangle-shadow{left:-14px}:root[dir=rtl] .excalidraw .color-picker-triangle-shadow{right:-16px}.excalidraw .color-picker-content{display:flex;flex-direction:column;gap:.75rem;outline:none}.excalidraw .color-picker-content--default{padding:.5rem;display:grid;grid-template-columns:repeat(5,1.875rem);grid-gap:.25rem;border-radius:4px}.excalidraw .color-picker-content--default:focus{outline:none;box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .color-picker-content--canvas{display:flex;flex-direction:column;padding:.25rem}.excalidraw .color-picker-content--canvas-title{color:#868e96;font-size:12px;padding:0 .25rem}.excalidraw .color-picker-content--canvas-colors{padding:.5rem 0}.excalidraw .color-picker-content--canvas-colors .color-picker-swatch{margin:0 .25rem}.excalidraw .color-picker-content .color-input-container{grid-column:1/span 5}.excalidraw .color-picker-swatch{position:relative;height:1.875rem;width:1.875rem;cursor:pointer;border-radius:4px;margin:0;box-sizing:border-box;border:1px solid #ddd;background-color:currentColor!important;filter:var(--theme-filter)}.excalidraw .color-picker-swatch:focus{box-shadow:0 0 4px 1px currentColor;border-color:var(--select-highlight-color)}.excalidraw .color-picker-transparent{border-radius:4px;box-shadow:#0000001a 0 0 0 1px inset;position:absolute;top:0;right:0;bottom:0;left:0}.excalidraw .color-picker-transparent,.excalidraw .color-picker-label-swatch{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==) left center}.excalidraw .color-picker-hash{height:var(--default-button-size);flex-shrink:0;padding:.5rem .5rem .5rem .75rem;border:1px solid var(--default-border-color);border-right:0;box-sizing:border-box}:root[dir=ltr] .excalidraw .color-picker-hash{border-radius:var(--border-radius-lg) 0 0 var(--border-radius-lg)}:root[dir=rtl] .excalidraw .color-picker-hash{border-radius:0 var(--border-radius-lg) var(--border-radius-lg) 0;border-right:1px solid var(--default-border-color);border-left:0}.excalidraw .color-picker-hash{color:var(--input-label-color);display:flex;align-items:center;justify-content:center;position:relative}.excalidraw .color-input-container{display:flex}.excalidraw .color-input-container:focus-within{box-shadow:0 0 0 1px var(--color-primary-darkest);border-radius:var(--border-radius-lg)}.excalidraw .color-picker__input-label{display:grid;grid-template-columns:auto 1fr auto auto;gap:8px;align-items:center;border:1px solid var(--default-border-color);border-radius:8px;padding:0 12px;margin:8px;box-sizing:border-box}.excalidraw .color-picker__input-label:focus-within{box-shadow:0 0 0 1px var(--color-primary-darkest);border-radius:var(--border-radius-lg)}.excalidraw .color-picker__input-hash{padding:0 .25rem}.excalidraw .color-picker-input{box-sizing:border-box;width:100%;margin:0;font-size:.875rem;font-family:inherit;background-color:transparent;color:var(--text-primary-color);border:0;outline:none;height:var(--default-button-size);border:1px solid var(--default-border-color);border-left:0;letter-spacing:.4px}:root[dir=ltr] .excalidraw .color-picker-input{border-radius:0 var(--border-radius-lg) var(--border-radius-lg) 0}:root[dir=rtl] .excalidraw .color-picker-input{border-radius:var(--border-radius-lg) 0 0 var(--border-radius-lg);border-left:1px solid var(--default-border-color);border-right:0}.excalidraw .color-picker-input{padding:.5rem .5rem .5rem .25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.excalidraw .color-picker-input:focus-visible{box-shadow:none}.excalidraw .color-picker-label-swatch-container{border:1px solid var(--default-border-color);border-radius:var(--border-radius-lg);width:var(--default-button-size);height:var(--default-button-size);box-sizing:border-box;overflow:hidden}.excalidraw .color-picker-label-swatch{display:flex;justify-content:center;align-items:center;padding:.625rem;width:var(--button-width, var(--default-button-size));height:var(--button-height, var(--default-button-size));box-sizing:border-box;border-width:1px;border-style:solid;border-color:var(--button-border, var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg, var(--island-bg-color));color:var(--button-color, var(--color-on-surface));font-family:var(--ui-font)}.excalidraw .color-picker-label-swatch svg{width:var(--button-width, var(--lg-icon-size));height:var(--button-height, var(--lg-icon-size))}.excalidraw .color-picker-label-swatch:hover{background-color:var(--button-hover-bg, var(--island-bg-color));border-color:var(--button-hover-border, var(--button-border, var(--default-border-color)));color:var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)))}.excalidraw .color-picker-label-swatch:active{background-color:var(--button-active-bg, var(--island-bg-color));border-color:var(--button-active-border, var(--color-primary-darkest))}.excalidraw .color-picker-label-swatch.active{background-color:var(--button-selected-bg, var(--color-surface-primary-container));border-color:var(--button-selected-border, var(--color-surface-primary-container))}.excalidraw .color-picker-label-swatch.active:hover{background-color:var(--button-selected-hover-bg, var(--color-surface-primary-container))}.excalidraw .color-picker-label-swatch.active svg{color:var(--button-color, var(--color-on-primary-container))}.excalidraw--mobile.excalidraw .color-picker-label-swatch{width:var(--mobile-action-button-size, var(--default-button-size));height:var(--mobile-action-button-size, var(--default-button-size))}.excalidraw .color-picker-label-swatch{background-color:var(--swatch-color)!important;overflow:hidden;position:relative;filter:var(--theme-filter);border:0!important}.excalidraw .color-picker-label-swatch:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--swatch-color)}.excalidraw .color-picker-keybinding{position:absolute;bottom:2px;font-size:.7em}:root[dir=ltr] .excalidraw .color-picker-keybinding{right:2px}:root[dir=rtl] .excalidraw .color-picker-keybinding{left:2px}.excalidraw--mobile.excalidraw .color-picker-keybinding{display:none}.excalidraw .color-picker-type-canvasBackground .color-picker-keybinding{color:#aaa}.excalidraw .color-picker-type-elementBackground .color-picker-keybinding{color:#fff}.excalidraw .color-picker-swatch[aria-label=transparent] .color-picker-keybinding{color:#aaa}.excalidraw .color-picker-type-elementStroke .color-picker-keybinding{color:#d4d4d4}.excalidraw.theme--dark .color-picker-type-elementBackground .color-picker-keybinding,.excalidraw.theme--dark .color-picker-swatch[aria-label=transparent] .color-picker-keybinding{color:#000}.excalidraw{--list-border-color: var(--color-gray-20)}.excalidraw .QuickSearch__wrapper{position:relative;height:2.6rem;border-bottom:1px solid var(--list-border-color)}.excalidraw .QuickSearch__wrapper svg{position:absolute;top:47.5%;transform:translateY(-50%);left:.75rem;width:1.25rem;height:1.25rem;color:var(--color-gray-40);z-index:1}.excalidraw.theme--dark{--list-border-color: var(--color-gray-80)}.excalidraw.theme--dark .QuickSearch__wrapper{border-bottom:none}.excalidraw .QuickSearch__input{position:absolute;top:0;left:0;width:100%;box-sizing:border-box;border:0!important;font-size:.875rem;padding-left:2.5rem!important;padding-right:.75rem!important}.excalidraw .QuickSearch__input::placeholder{color:var(--color-gray-40)}.excalidraw .QuickSearch__input:focus{box-shadow:none!important}.excalidraw .ScrollableList__wrapper{position:static!important;border:none;font-size:.875rem;overflow-y:auto}.excalidraw .ScrollableList__wrapper>.empty,.excalidraw .ScrollableList__wrapper>.hint{display:flex;justify-content:center;align-items:center;padding:.5rem;font-size:.75rem;color:var(--color-gray-60);overflow:hidden;text-align:center;line-height:150%}.excalidraw .FontPicker__container{display:grid;grid-template-columns:calc(1rem + 3 * var(--default-button-size)) 1rem 1fr;align-items:center}.excalidraw--mobile.excalidraw .FontPicker__container{max-width:calc(2rem + 4 * var(--default-button-size))}.excalidraw .FontPicker__container--compact{display:block;grid-template-columns:none}.excalidraw .picker{padding:.5rem;background:var(--popup-bg-color);border:0 solid rgba(255,255,255,.25);box-shadow:var(--shadow-island-stronger);border-radius:4px}:root[dir=rtl] .excalidraw .picker{padding:.4rem}.excalidraw .picker-sections,.excalidraw .picker-section{display:flex;flex-direction:column;gap:.5rem}.excalidraw .picker-container button,.excalidraw .picker button{position:relative;display:flex;align-items:center;justify-content:center}.excalidraw .picker-container button:focus-visible,.excalidraw .picker button:focus-visible{outline:transparent;background-color:var(--button-gray-2)}.excalidraw .picker-container button:focus-visible svg,.excalidraw .picker button:focus-visible svg{opacity:1}.excalidraw .picker-container button:hover,.excalidraw .picker button:hover{background-color:var(--button-gray-2)}.excalidraw .picker-container button:active,.excalidraw .picker button:active{background-color:var(--button-gray-3)}.excalidraw .picker-container button:disabled,.excalidraw .picker button:disabled{cursor:not-allowed}.excalidraw .picker-container button svg,.excalidraw .picker button svg{margin:0;width:36px;height:18px;pointer-events:none}.excalidraw .picker button{padding:.25rem .28rem .35rem .25rem}.excalidraw .picker-content{display:grid;grid-template-columns:repeat(4,auto);grid-gap:.5rem;border-radius:4px}.excalidraw .picker-collapsible{font-size:.75rem;padding:0;color:var(--text-primary-color)}.excalidraw .picker-section-label{font-size:.75rem;color:var(--text-primary-color)}.excalidraw .picker-keybinding{position:absolute;bottom:2px;font-size:.7em;color:var(--keybinding-color)}:root[dir=ltr] .excalidraw .picker-keybinding{right:2px}:root[dir=rtl] .excalidraw .picker-keybinding{left:2px}.excalidraw--mobile.excalidraw .picker-keybinding{display:none}.excalidraw .picker-type-canvasBackground .picker-keybinding{color:#aaa}.excalidraw .picker-type-elementBackground .picker-keybinding{color:#fff}.excalidraw .picker-swatch[aria-label=transparent] .picker-keybinding{color:#aaa}.excalidraw .picker-type-elementStroke .picker-keybinding{color:#d4d4d4}.excalidraw.theme--dark .picker-type-elementBackground .picker-keybinding,.excalidraw.theme--dark .picker-swatch[aria-label=transparent] .picker-keybinding{color:#000}.excalidraw{--slider-thumb-size: 16px}.excalidraw .range-wrapper{position:relative;padding-top:10px;padding-bottom:25px}.excalidraw .range-input{width:100%;height:4px;-webkit-appearance:none;background:var(--color-slider-track);border-radius:2px;outline:none}.excalidraw .range-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:var(--slider-thumb-size);height:var(--slider-thumb-size);background:var(--color-slider-thumb);border-radius:50%;cursor:pointer;border:none}.excalidraw .range-input::-moz-range-thumb{width:var(--slider-thumb-size);height:var(--slider-thumb-size);background:var(--color-slider-thumb);border-radius:50%;cursor:pointer;border:none}.excalidraw .value-bubble{position:absolute;bottom:0;transform:translate(-50%);font-size:12px;color:var(--text-primary-color)}.excalidraw .zero-label{position:absolute;bottom:0;left:4px;font-size:12px;color:var(--text-primary-color)}.excalidraw-tooltip{--ui-font: Assistant, system-ui, BlinkMacSystemFont, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;font-family:var(--ui-font);position:fixed;z-index:var(--zIndex-popup);padding:8px;border-radius:6px;box-sizing:border-box;pointer-events:none;word-wrap:break-word;background:#000;line-height:1.5;text-align:center;font-size:13px;font-weight:500;color:#fff;display:none}.excalidraw-tooltip.excalidraw-tooltip--visible{display:block}.excalidraw-tooltip-wrapper{display:flex}.excalidraw-tooltip-icon{width:.9em;height:.9em;margin-left:5px;margin-top:1px;display:flex}.excalidraw--mobile.excalidraw-tooltip-icon{display:none}.excalidraw .Checkbox{margin:4px .3em;display:flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.excalidraw .Checkbox:hover:not(.is-checked) .Checkbox-box:not(:focus){box-shadow:0 0 0 2px #4dabf7}.excalidraw .Checkbox:hover:not(.is-checked) .Checkbox-box:not(:focus) svg{display:block;opacity:.3}.excalidraw .Checkbox:active .Checkbox-box{box-shadow:0 0 2px 1px inset #1c7ed6!important}.excalidraw .Checkbox:hover .Checkbox-box{background-color:#d0ebff33}.excalidraw .Checkbox.is-checked .Checkbox-box{background-color:#d0ebff}.excalidraw .Checkbox.is-checked .Checkbox-box svg{display:block}.excalidraw .Checkbox.is-checked:hover .Checkbox-box{background-color:#a5d8ff}.excalidraw .Checkbox .Checkbox-box{width:22px;height:22px;padding:0;flex:0 0 auto;margin:0 1em;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px #1c7ed6;background-color:transparent;border-radius:4px;color:#1c7ed6;border:0}.excalidraw .Checkbox .Checkbox-box:focus{box-shadow:0 0 0 3px #1c7ed6}.excalidraw .Checkbox .Checkbox-box svg{display:none;width:16px;height:16px;stroke-width:3px}.excalidraw .Checkbox .Checkbox-label{display:flex;align-items:center}.excalidraw .Checkbox .excalidraw-tooltip-icon{width:1em;height:1em}.excalidraw .TextInput{display:inline-block}.ProjectName{margin:auto;display:flex;align-items:center}.ProjectName .TextInput{height:calc(1rem - 3px);width:200px;overflow:hidden;text-align:center;margin-left:8px;text-overflow:ellipsis}.ProjectName .TextInput--readonly{background:none;border:none}.ProjectName .TextInput--readonly:hover{background:none}.ProjectName .TextInput--readonly{width:auto;max-width:200px;padding-left:2px}.excalidraw .Toast{animation:Toast-fade-in .5s;min-width:220px;max-width:min(360px,100vw - 32px);border-radius:var(--border-radius-lg);border:1px solid var(--default-border-color);background-color:var(--island-bg-color);color:var(--text-primary-color);padding:.5rem .75rem;box-shadow:0 0 0 1px var(--color-surface-lowest);box-sizing:border-box;cursor:default;pointer-events:none}.excalidraw .Toast .Toast__message{font-family:var(--ui-font);font-size:.75rem;line-height:1.25rem;text-align:center;padding:0 1.6rem;white-space:pre-wrap}.excalidraw .Toast .Toast__progress-bar{margin-top:.35rem;width:100%;height:4px;border-radius:999px;background-color:var(--button-gray-2);overflow:hidden}.excalidraw .Toast .Toast__progress-bar-fill{height:100%;border-radius:inherit;background-color:var(--color-primary)}.excalidraw .Toast .close{position:absolute;top:0;right:0;padding:.4rem;pointer-events:auto}.excalidraw .Toast .close .ToolIcon__icon{width:1.2rem;height:1.2rem}@keyframes Toast-fade-in{0%{opacity:0}to{opacity:1}}.excalidraw .Avatar{width:var(--avatar-size, 1.5rem);height:var(--avatar-size, 1.5rem);position:relative;border-radius:100%;outline-offset:2px;display:flex;justify-content:center;align-items:center;cursor:pointer;font-size:.75rem;font-weight:700;line-height:1;color:var(--color-gray-90);flex:0 0 auto}.excalidraw .Avatar:active{transform:scale(.94)}.excalidraw .Avatar-img{width:100%;height:100%;border-radius:100%}.excalidraw .Avatar:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:100%}.excalidraw .Avatar.is-followed:before{border-color:var(--color-primary-hover);box-shadow:0 0 0 1px var(--color-primary-hover)}.excalidraw .Avatar.is-current-user{cursor:auto}.excalidraw-hyperlinkContainer{display:flex;align-items:center;justify-content:space-between;position:absolute;box-shadow:0 2px 4px #0000004d;z-index:var(--zIndex-hyperlinkContainer);background:var(--island-bg-color);border-radius:var(--border-radius-md);box-sizing:border-box;min-height:42px}.excalidraw-hyperlinkContainer-input,.excalidraw-hyperlinkContainer button{z-index:100}.excalidraw-hyperlinkContainer-input,.excalidraw-hyperlinkContainer-link{height:24px;padding:0 8px;line-height:24px;font-size:.9rem;font-weight:500;font-family:var(--ui-font)}.excalidraw-hyperlinkContainer-input{width:18rem;background-color:transparent;color:var(--text-primary-color);outline:none;border:none;box-shadow:none!important}.excalidraw-hyperlinkContainer-link{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:15rem}.excalidraw-hyperlinkContainer button{color:#228be6;background-color:transparent!important;font-weight:500}.excalidraw-hyperlinkContainer button.excalidraw-hyperlinkContainer--remove{color:#c92a2a}.excalidraw-hyperlinkContainer--remove .ToolIcon__icon svg{color:#fa5252}.excalidraw-hyperlinkContainer .ToolIcon__icon{width:2rem;height:2rem}.excalidraw-hyperlinkContainer__buttons{flex:0 0 auto}.excalidraw .ConvertElementTypePopup{display:flex;flex-wrap:wrap;justify-content:center;gap:.2rem;border-radius:.5rem;background:var(--island-bg-color);box-shadow:var(--shadow-island);padding:.5rem}.excalidraw .ConvertElementTypePopup:focus{outline:none}.excalidraw .Dialog__action-button{position:relative;display:flex;column-gap:.5rem;align-items:center;padding:.5rem 1.5rem;border:1px solid var(--default-border-color);background-color:transparent;height:3rem;border-radius:var(--border-radius-lg);letter-spacing:.4px;color:inherit;font-family:inherit;font-size:.875rem;font-weight:600;-webkit-user-select:none;user-select:none}.excalidraw .Dialog__action-button svg{display:block;width:1rem;height:1rem}.excalidraw .Dialog__action-button--danger{background-color:var(--color-danger);border-color:var(--color-danger);color:#fff}.excalidraw .Dialog__action-button--primary{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.excalidraw.theme--dark .Dialog__action-button--danger,.excalidraw.theme--dark .Dialog__action-button--primary{color:var(--color-gray-100)}.excalidraw .confirm-dialog-buttons{display:flex;column-gap:.5rem;justify-content:flex-end}.excalidraw .publish-library__fields{display:flex;flex-direction:column}.excalidraw .publish-library__fields label{padding:1em 0;display:flex;justify-content:space-between;align-items:center}.excalidraw .publish-library__fields label span{font-weight:500;font-size:1rem;color:#868e96}.excalidraw .publish-library__fields label input,.excalidraw .publish-library__fields label textarea{width:70%;padding:.6em;font-family:var(--ui-font)}.excalidraw .publish-library__fields label .required{color:#e03131;margin:.2rem}.excalidraw .publish-library__buttons{display:flex;padding:.2rem 0;justify-content:flex-end;gap:.5rem}.excalidraw .publish-library__buttons .ToolIcon__icon{min-width:2.5rem;width:auto;font-size:1rem}.excalidraw .publish-library__buttons .ToolIcon_type_button{margin-left:1rem;padding:0 .5rem}.excalidraw .publish-library__buttons--confirm.ToolIcon_type_button{background-color:#228be6}.excalidraw .publish-library__buttons--confirm.ToolIcon_type_button:hover{background-color:#1971c2}.excalidraw .publish-library__buttons--cancel.ToolIcon_type_button{background-color:#adb5bd}.excalidraw .publish-library__buttons--cancel.ToolIcon_type_button:hover{background-color:#868e96}.excalidraw .publish-library__buttons .ToolIcon__icon{color:#fff}.excalidraw .publish-library__buttons .ToolIcon__icon .Spinner{--spinner-color: #fff}.excalidraw .publish-library__buttons .ToolIcon__icon .Spinner svg{padding:.5rem}.excalidraw .publish-library .selected-library-items{display:flex;flex-wrap:wrap}.excalidraw .publish-library .selected-library-items .single-library-item-wrapper{width:9rem}.excalidraw .publish-library-warning{color:#fa5252}.excalidraw .publish-library-note{padding:1em 0;font-style:italic;font-size:14px;display:block}.excalidraw .single-library-item{position:relative}.excalidraw .single-library-item-status{position:absolute;top:.3rem;left:.3rem;font-size:.7rem;color:#f03e3e;background:#ffffffe6;padding:.1rem .2rem;border-radius:.2rem}.excalidraw .single-library-item__svg{background-color:#fff;padding:.3rem;width:7.5rem;height:7.5rem;border:1px solid var(--button-gray-2)}.excalidraw .single-library-item__svg svg{width:100%;height:100%}.excalidraw .single-library-item .ToolIcon__icon{background-color:#fff;width:auto;height:auto;margin:0 .5rem}.excalidraw .single-library-item .ToolIcon,.excalidraw .single-library-item .ToolIcon_type_button:hover{background-color:#fff}.excalidraw .single-library-item .required,.excalidraw .single-library-item .error{color:#e03131;font-weight:700;font-size:1rem;margin:.2rem}.excalidraw .single-library-item .error{font-weight:500;margin:0;padding:.3em 0}.excalidraw .single-library-item--remove{position:absolute;top:.2rem;right:1rem}.excalidraw .single-library-item--remove .ToolIcon__icon{margin:0}.excalidraw .single-library-item--remove .ToolIcon__icon{background-color:#fa5252}.excalidraw .single-library-item--remove .ToolIcon__icon:hover{background-color:#f03e3e}.excalidraw .single-library-item--remove .ToolIcon__icon:active{background-color:#e03131}.excalidraw .single-library-item--remove svg{color:#fff;padding:.26rem;border-radius:.3em;width:1rem;height:1rem}.excalidraw .Stack{--gap: 0;display:grid;gap:calc(var(--space-factor) * var(--gap))}.excalidraw .Stack_vertical{grid-template-columns:auto;grid-auto-flow:row;grid-auto-rows:min-content}.excalidraw .Stack_horizontal{grid-template-rows:auto;grid-auto-flow:column;grid-auto-columns:min-content}.excalidraw .dropdown-menu{max-width:20rem;z-index:1}.excalidraw .dropdown-menu--placement-top{margin-bottom:.5rem}.excalidraw .dropdown-menu__submenu-trigger[aria-expanded=true] .dropdown-menu-item{background-color:var(--button-hover-bg)}.excalidraw .dropdown-menu__submenu-trigger-icon{margin-left:auto;opacity:.5}.excalidraw .dropdown-menu__submenu-trigger-icon svg g{stroke-width:2}.excalidraw .dropdown-menu--mobile{width:100%;row-gap:.75rem}.excalidraw .dropdown-menu--mobile.main-menu{min-width:232px;margin-top:0;margin-bottom:0}@media screen and (orientation: landscape){.excalidraw .dropdown-menu--mobile.main-menu{max-width:232px}}.excalidraw .dropdown-menu--mobile .dropdown-menu-container{padding:8px;box-sizing:border-box;border-radius:var(--border-radius-lg);position:relative;transition:box-shadow .5s ease-in-out;display:flex;flex-direction:column;overflow-y:auto}.excalidraw .dropdown-menu--mobile .dropdown-menu-container.zen-mode{box-shadow:none}.excalidraw .dropdown-menu .dropdown-menu-container{background-color:var(--island-bg-color);overflow-y:auto;display:flex;flex-direction:column;gap:1px;box-shadow:var(--box-shadow, var(--shadow-island));max-height:calc(100svh - var(--editor-container-padding) * 2 - 2.25rem)}.excalidraw.theme--dark.excalidraw .dropdown-menu .dropdown-menu-container{box-shadow:var(--box-shadow, var(--shadow-island)),0 0 0 1px #00000026}.excalidraw .dropdown-menu .dropdown-menu-item-base{display:flex;column-gap:.625rem;padding:0 .5rem;font-size:.875rem;color:var(--color-on-surface);width:100%;box-sizing:border-box;font-weight:400;font-family:inherit}.excalidraw .dropdown-menu.manual-hover .dropdown-menu-item:hover{background-color:transparent}.excalidraw .dropdown-menu.manual-hover .dropdown-menu-item--hovered{background-color:var(--button-hover-bg)!important}.excalidraw .dropdown-menu.manual-hover .dropdown-menu-item--selected{background-color:var(--color-primary-light)!important}.excalidraw .dropdown-menu.fonts{margin-top:1rem;max-height:calc(7*(2rem + 2px) + 3.95rem)}@media screen and (min-width: 1921px){.excalidraw .dropdown-menu.fonts{max-height:calc(7*(2.25rem + 2px) + 3.95rem)}}.excalidraw .dropdown-menu.fonts .dropdown-menu-item-base{display:inline-flex}.excalidraw .dropdown-menu.fonts .dropdown-menu-group:not(:first-child){margin-top:1rem}.excalidraw .dropdown-menu.fonts .dropdown-menu-group-title{font-size:.75rem;text-align:left;font-weight:400;margin:0 0 .5rem;line-height:1.3}.excalidraw .dropdown-menu .dropdown-menu-item{height:2rem;padding:0 .5rem;background-color:transparent;border:none;align-items:center;cursor:pointer;border-radius:var(--border-radius-md);flex:1 0 auto}@media screen and (min-width: 1921px){.excalidraw .dropdown-menu .dropdown-menu-item{height:2.25rem}}.excalidraw .dropdown-menu .dropdown-menu-item__text{display:flex;align-items:center;width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;gap:.75rem}.excalidraw .dropdown-menu .dropdown-menu-item__shortcut{margin-inline-start:auto;opacity:.5}.excalidraw .dropdown-menu .dropdown-menu-item__shortcut--orphaned{text-align:right;font-size:.875rem;padding:0 .625rem}.excalidraw .dropdown-menu .dropdown-menu-item--selected{background:var(--color-primary-light);--icon-fill-color: var(--color-primary-darker)}.excalidraw .dropdown-menu .dropdown-menu-item:hover{background-color:var(--button-hover-bg);text-decoration:none}.excalidraw .dropdown-menu .dropdown-menu-item:active{background-color:var(--button-hover-bg);box-shadow:0 0 0 1px var(--color-brand-active)}.excalidraw .dropdown-menu .dropdown-menu-item[disabled]{cursor:not-allowed;opacity:.5;pointer-events:none}.excalidraw .dropdown-menu .dropdown-menu-item[disabled]:hover{background-color:transparent}.excalidraw .dropdown-menu .dropdown-menu-item[disabled]:active{background-color:transparent;box-shadow:none}.excalidraw .dropdown-menu .dropdown-menu-item svg{width:1rem;height:1rem;display:block}.excalidraw .dropdown-menu .dropdown-menu-item-bare{align-items:center;height:2rem;justify-content:space-between}@media screen and (min-width: 1921px){.excalidraw .dropdown-menu .dropdown-menu-item-bare{height:2.25rem}}.excalidraw .dropdown-menu .dropdown-menu-item-bare svg{width:1rem;height:1rem;display:block}.excalidraw .dropdown-menu .dropdown-menu-item-custom{margin-top:.5rem}.excalidraw .dropdown-menu .dropdown-menu-group-title{font-size:14px;text-align:left;margin:10px 0;font-weight:500}.excalidraw .dropdown-menu-button{display:flex;justify-content:center;align-items:center;padding:.625rem;width:var(--button-width, var(--default-button-size));height:var(--button-height, var(--default-button-size));box-sizing:border-box;border-width:1px;border-style:solid;border-color:var(--button-border, var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg, var(--island-bg-color));color:var(--button-color, var(--color-on-surface));font-family:var(--ui-font)}.excalidraw .dropdown-menu-button svg{width:var(--button-width, var(--lg-icon-size));height:var(--button-height, var(--lg-icon-size))}.excalidraw .dropdown-menu-button:hover{background-color:var(--button-hover-bg, var(--island-bg-color));border-color:var(--button-hover-border, var(--button-border, var(--default-border-color)));color:var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)))}.excalidraw .dropdown-menu-button:active{background-color:var(--button-active-bg, var(--island-bg-color));border-color:var(--button-active-border, var(--color-primary-darkest))}.excalidraw .dropdown-menu-button.active{background-color:var(--button-selected-bg, var(--color-surface-primary-container));border-color:var(--button-selected-border, var(--color-surface-primary-container))}.excalidraw .dropdown-menu-button.active:hover{background-color:var(--button-selected-hover-bg, var(--color-surface-primary-container))}.excalidraw .dropdown-menu-button.active svg{color:var(--button-color, var(--color-on-primary-container))}.excalidraw--mobile.excalidraw .dropdown-menu-button{width:var(--mobile-action-button-size, var(--default-button-size));height:var(--mobile-action-button-size, var(--default-button-size))}.excalidraw .dropdown-menu-button{width:var(--lg-button-size);height:var(--lg-button-size);--background: var(--color-surface-mid);background-color:var(--background)}.excalidraw.theme--dark.excalidraw .dropdown-menu-button{--background: var(--color-surface-high)}.excalidraw.theme--dark.excalidraw .dropdown-menu-button:hover{--background: #363541}.excalidraw .dropdown-menu-button:hover{--background: var(--color-surface-high);background-color:var(--background);text-decoration:none}.excalidraw .dropdown-menu-button:active{box-shadow:0 0 0 1px var(--color-primary)}.excalidraw .dropdown-menu-button[disabled]{cursor:not-allowed}.excalidraw .dropdown-menu-button[disabled]:hover{--background: var(--color-surface-mid);background-color:var(--background)}.excalidraw .dropdown-menu-button[disabled]:active{box-shadow:none}.excalidraw.theme--dark.excalidraw .dropdown-menu-button[disabled]:hover{--background: var(--color-surface-high)}.excalidraw .dropdown-menu-button svg{width:var(--lg-icon-size);height:var(--lg-icon-size)}.excalidraw .dropdown-menu-button--mobile{border:none;margin:0;padding:0;width:var(--default-button-size);height:var(--default-button-size)}.excalidraw .library-unit{align-items:center;border:1px solid transparent;display:flex;justify-content:center;position:relative;width:55px;height:55px;box-sizing:border-box;border-radius:var(--border-radius-lg)}.excalidraw .library-unit svg{pointer-events:none}.excalidraw .library-unit--hover{background-color:var(--color-surface-mid)}.excalidraw .library-unit:active:not(:has(.library-unit__checkbox:hover)),.excalidraw .library-unit--selected{background-color:var(--color-surface-high)}.excalidraw .library-unit--skeleton{opacity:.5;background:linear-gradient(-45deg,var(--color-gray-10),var(--color-gray-20),var(--color-gray-10));background-size:200% 200%;animation:library-unit__skeleton-opacity-animation .2s linear}.excalidraw.theme--dark .library-unit--skeleton{background-image:linear-gradient(-45deg,var(--color-gray-100),var(--color-gray-80),var(--color-gray-100))}.excalidraw .library-unit__dragger{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.excalidraw .library-unit__dragger>svg{filter:var(--theme-filter);flex-grow:1;max-height:100%;max-width:100%}.excalidraw .library-unit__checkbox-container,.excalidraw .library-unit__checkbox-container:hover,.excalidraw .library-unit__checkbox-container:active{align-items:center;background:none;border:none;color:var(--icon-fill-color);display:flex;justify-content:center;margin:0;padding:.5rem;position:absolute;left:2rem;bottom:2rem;cursor:pointer}.excalidraw .library-unit__checkbox-container input,.excalidraw .library-unit__checkbox-container:hover input,.excalidraw .library-unit__checkbox-container:active input{cursor:pointer}.excalidraw .library-unit__checkbox{position:absolute;top:.125rem;right:.125rem;margin:0}.excalidraw .library-unit__checkbox .Checkbox-box{margin:0;width:1rem;height:1rem;border-radius:4px;background-color:var(--color-primary-light);border:1px solid var(--color-primary);box-shadow:none!important;padding:2px}.excalidraw .library-unit__checkbox.Checkbox:hover .Checkbox-box{background-color:var(--color-primary-light)}.excalidraw .library-unit__checkbox.is-checked .Checkbox-box{background-color:var(--color-primary)!important}.excalidraw .library-unit__checkbox.is-checked .Checkbox-box svg{color:var(--color-primary-light)}.excalidraw .library-unit__removeFromLibrary>svg{height:16px;width:16px}.excalidraw .library-unit__adder{transform:scale(1);animation:library-unit__adder-animation 1s ease-in infinite;position:absolute;width:1.5rem;height:1.5rem;background-color:var(--color-primary);border-radius:var(--border-radius-md);display:flex;justify-content:center;align-items:center;pointer-events:none}.excalidraw .library-unit__adder svg{color:var(--color-primary-light);width:1rem;height:1rem}.excalidraw .library-unit:active .library-unit__adder{animation:none;transform:scale(.8)}.excalidraw .library-unit__active{cursor:pointer}@keyframes library-unit__adder-animation{0%{transform:scale(.85)}50%{transform:scale(1)}to{transform:scale(.85)}}@keyframes library-unit__skeleton-opacity-animation{0%{opacity:0}75%{opacity:0}to{opacity:.5}}.excalidraw{--container-padding-y: 1rem;--container-padding-x: .75rem}.excalidraw .library-menu-items-header{display:flex;padding-top:1rem;padding-bottom:.5rem;gap:.5rem}.excalidraw .library-menu-items__no-items{text-align:center;color:var(--color-gray-70);line-height:1.5;font-size:.875rem;width:100%;min-height:55px;display:flex;flex-direction:column;align-items:center;justify-content:center}.excalidraw .library-menu-items__no-items__label{color:var(--color-primary);font-weight:700;font-size:1.125rem;margin-bottom:.25rem}.excalidraw .library-menu-items__no-items__hint{color:var(--color-border-outline);padding:.75rem 1rem}.excalidraw.theme--dark .library-menu-items__no-items{color:var(--color-gray-40)}.excalidraw .library-menu-items-container{width:100%;display:flex;flex-grow:1;flex-shrink:1;flex-basis:0;overflow-y:auto;flex-direction:column;height:100%;justify-content:flex-start;margin:0;position:relative}.excalidraw .library-menu-items-container>div{padding-left:.75rem;padding-right:.75rem}.excalidraw .library-menu-items-container__row{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.excalidraw .library-menu-items-container__items{position:relative;row-gap:.5rem;padding:1rem 0 var(--container-padding-y) 0;flex:1;overflow-y:auto;overflow-x:hidden}.excalidraw .library-menu-items-container__header{display:flex;align-items:center;flex:1 1 auto;color:var(--color-primary);font-size:1.125rem;font-weight:700;margin-bottom:.75rem;width:100%;box-sizing:border-box}.excalidraw .library-menu-items-container__header--excal{margin-top:2rem}.excalidraw .library-menu-items-container__header__hint{margin-left:auto;font-size:10px;color:var(--color-border-outline);font-weight:400}.excalidraw .library-menu-items-container__header__hint kbd{font-family:monospace;border:1px solid var(--color-border-outline);border-radius:4px;padding:1px 3px}.excalidraw .library-menu-items-container__grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;grid-gap:1rem}.excalidraw .library-menu-items-container__search{flex:1 1 auto;margin:0}.excalidraw .library-menu-items-container__search .ExcTextField__input{height:var(--lg-button-size)}.excalidraw .library-menu-items-container__search .ExcTextField__input input{font-size:.875rem}.excalidraw .library-menu-items-container__search.hideCancelButton input::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:none}.excalidraw .library-menu-items-container .separator{width:100%;display:flex;align-items:center;font-weight:500;font-size:.9rem;margin:.6em .2em;color:var(--text-primary-color)}.excalidraw .library-menu-items-private-library-container{min-height:3.75rem;width:100%}.excalidraw{--theme-filter: none;--button-destructive-bg-color: #ffe3e3;--button-destructive-color: #c92a2a;--button-gray-1: #e9ecef;--button-gray-2: #ced4da;--button-gray-3: #adb5bd;--mobile-action-button-bg: rgba(255, 255, 255, .35);--mobile-color-border: var(--default-border-color);--button-special-active-bg-color: #ebfbee;--dialog-border-color: var(--color-gray-20);--dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');--focus-highlight-color: #a5d8ff;--icon-fill-color: var(--color-on-surface);--icon-green-fill-color: #2b8a3e;--default-bg-color: #fff;--input-bg-color: #fff;--input-border-color: #ced4da;--input-hover-bg-color: #f1f3f5;--input-label-color: #495057;--island-bg-color: #ffffff;--island-bg-color-alt: #fff;--keybinding-color: var(--color-gray-40);--link-color: #1c7ed6;--link-color-hover: #1971c2;--link-color-active: #a5d8ff;--overlay-bg-color: rgba(255, 255, 255, .88);--popup-bg-color: var(--island-bg-color);--popup-secondary-bg-color: #f1f3f5;--popup-text-color: #000;--popup-text-inverted-color: #fff;--select-highlight-color: #339af0;--shadow-island: 0px 0px 1px 0px rgba(0, 0, 0, .17), 0px 0px 3px 0px rgba(0, 0, 0, .08), 0px 7px 14px 0px rgba(0, 0, 0, .05);--shadow-island-stronger: 0px 0px 1px 0px rgba(0, 0, 0, .17), 0px 0px 3px 0px rgba(0, 0, 0, .08), 0px 7px 14px 0px rgb(0 0 0 / 18%);--button-hover-bg: var(--color-surface-high);--button-active-bg: var(--color-surface-high);--button-active-border: var(--color-brand-active);--default-border-color: var(--color-surface-high);--default-button-size: 2rem;--default-icon-size: 1rem;--lg-button-size: 2.25rem;--lg-icon-size: 1rem;--editor-container-padding: 1rem;--mobile-action-button-size: 2rem;--scrollbar-thumb: var(--button-gray-2);--scrollbar-thumb-hover: var(--button-gray-3);--color-slider-track: hsl(240, 100%, 90%);--color-slider-thumb: var(--color-gray-80);--modal-shadow: 0px 100px 80px rgba(0, 0, 0, .07), 0px 41.7776px 33.4221px rgba(0, 0, 0, .0503198), 0px 22.3363px 17.869px rgba(0, 0, 0, .0417275), 0px 12.5216px 10.0172px rgba(0, 0, 0, .035), 0px 6.6501px 5.32008px rgba(0, 0, 0, .0282725), 0px 2.76726px 2.21381px rgba(0, 0, 0, .0196802);--avatar-border-color: var(--color-gray-20);--sidebar-shadow: 0px 100px 80px rgba(0, 0, 0, .07), 0px 41.7776px 33.4221px rgba(0, 0, 0, .0503198), 0px 22.3363px 17.869px rgba(0, 0, 0, .0417275), 0px 12.5216px 10.0172px rgba(0, 0, 0, .035), 0px 6.6501px 5.32008px rgba(0, 0, 0, .0282725), 0px 2.76726px 2.21381px rgba(0, 0, 0, .0196802);--sidebar-border-color: var(--color-surface-high);--sidebar-bg-color: var(--island-bg-color);--library-dropdown-shadow: 0px 15px 6px rgba(0, 0, 0, .01), 0px 8px 5px rgba(0, 0, 0, .05), 0px 4px 4px rgba(0, 0, 0, .09), 0px 1px 2px rgba(0, 0, 0, .1), 0px 0px 0px rgba(0, 0, 0, .1);--chat-msg-shadow: 0 1px 2px rgba(0, 0, 0, .1);--space-factor: .25rem;--text-primary-color: var(--color-on-surface);--color-selection: #6965db;--color-icon-white: #fff;--color-primary: #6965db;--color-primary-darker: #5b57d1;--color-primary-darkest: #4a47b1;--color-primary-light: #e3e2fe;--color-primary-light-darker: #d7d5ff;--color-primary-hover: #5753d0;--color-gray-10: #f5f5f5;--color-gray-20: #ebebeb;--color-gray-30: #d6d6d6;--color-gray-40: #b8b8b8;--color-gray-50: #999999;--color-gray-60: #7a7a7a;--color-gray-70: #5c5c5c;--color-gray-80: #3d3d3d;--color-gray-85: #242424;--color-gray-90: #1e1e1e;--color-gray-100: #121212;--color-disabled: var(--color-gray-40);--color-warning: #fceeca;--color-warning-dark: #f5c354;--color-warning-darker: #f3ab2c;--color-warning-darkest: #ec8b14;--color-text-warning: var(--text-primary-color);--color-danger: #db6965;--color-danger-dark: #db6965;--color-danger-darker: #d65550;--color-danger-darkest: #d1413c;--color-danger-text: black;--color-danger-background: #fff0f0;--color-danger-icon-background: #ffdad6;--color-danger-color: #700000;--color-danger-icon-color: #700000;--color-warning-background: var(--color-warning);--color-warning-icon-background: var(--color-warning-dark);--color-warning-color: var(--text-primary-color);--color-warning-icon-color: var(--text-primary-color);--color-muted: var(--color-gray-30);--color-muted-darker: var(--color-gray-60);--color-muted-darkest: var(--color-gray-100);--color-muted-background: var(--color-gray-80);--color-muted-background-darker: var(--color-gray-100);--color-promo: var(--color-primary);--color-success: #cafccc;--color-success-darker: #bafabc;--color-success-darkest: #a5eba8;--color-success-text: #268029;--color-success-contrast: #65bb6a;--color-success-contrast-hover: #6bcf70;--color-success-contrast-active: #6edf74;--color-logo-icon: var(--color-primary);--color-logo-text: #190064;--border-radius-md: .375rem;--border-radius-lg: .5rem;--color-surface-high: #f1f0ff;--color-surface-mid: #f6f6f9;--color-surface-low: #ececf4;--color-surface-lowest: #ffffff;--color-on-surface: #1b1b1f;--color-brand-hover: #5753d0;--color-on-primary-container: #030064;--color-brand-active: #4440bf;--color-border-outline: #767680;--color-border-outline-variant: #c5c5d0;--color-surface-primary-container: #e0dfff;--color-badge: #0b6513;--background-color-badge: #d3ffd2}.excalidraw.theme--dark{--theme-filter: invert(93%) hue-rotate(180deg);--button-destructive-bg-color: #5a0000;--button-destructive-color: #ffa8a8;--button-gray-1: #363636;--button-gray-2: #272727;--button-gray-3: #222;--mobile-action-button-bg: var(--island-bg-color);--mobile-color-border: rgba(255, 255, 255, .85);--button-special-active-bg-color: #204624;--dialog-border-color: var(--color-gray-80);--dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path fill="%23ced4da" d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');--focus-highlight-color: #228be6;--icon-green-fill-color: #69db7c;--default-bg-color: #121212;--input-bg-color: #121212;--input-border-color: #2e2e2e;--input-hover-bg-color: #181818;--input-label-color: #e9ecef;--island-bg-color: #232329;--island-bg-color-alt: hsl(240, 12%, 12%);--keybinding-color: var(--color-gray-60);--link-color: #4dabf7;--overlay-bg-color: rgba(52, 58, 64, .12);--popup-secondary-bg-color: #222;--popup-text-color: #ced4da;--popup-text-inverted-color: #2c2c2c;--select-highlight-color: #4dabf7;--modal-shadow: 0px 100px 80px rgba(0, 0, 0, .07), 0px 41.7776px 33.4221px rgba(0, 0, 0, .0503198), 0px 22.3363px 17.869px rgba(0, 0, 0, .0417275), 0px 12.5216px 10.0172px rgba(0, 0, 0, .035), 0px 6.6501px 5.32008px rgba(0, 0, 0, .0282725), 0px 2.76726px 2.21381px rgba(0, 0, 0, .0196802);--avatar-border-color: var(--color-gray-85);--scrollbar-thumb: #343a40;--scrollbar-thumb-hover: #495057;--color-slider-track: hsl(244, 23%, 39%);--color-selection: #3530c4;--color-icon-white: var(--color-gray-90);--color-primary: #a8a5ff;--color-primary-darker: #b2aeff;--color-primary-darkest: #beb9ff;--color-primary-light: #4f4d6f;--color-primary-light-darker: #43415e;--color-primary-hover: #bbb8ff;--color-disabled: var(--color-gray-70);--color-text-warning: var(--color-gray-80);--color-danger: #ffa8a5;--color-danger-dark: #672120;--color-danger-darker: #8f2625;--color-danger-darkest: #ac2b29;--color-danger-text: #fbcbcc;--color-danger-background: #fbcbcc;--color-danger-icon-background: #672120;--color-danger-color: #261919;--color-danger-icon-color: #fbcbcc;--color-warning-background: var(--color-warning);--color-warning-icon-background: var(--color-warning-dark);--color-warning-color: var(--color-gray-80);--color-warning-icon-color: var(--color-gray-80);--color-muted: var(--color-gray-80);--color-muted-darker: var(--color-gray-60);--color-muted-darkest: var(--color-gray-20);--color-muted-background: var(--color-gray-40);--color-muted-background-darker: var(--color-gray-20);--color-logo-text: #e2dfff;--color-surface-high: #2e2d39;--color-surface-low: hsl(240, 8%, 15%);--color-surface-mid: hsl(240 6% 10%);--color-surface-lowest: hsl(0, 0%, 7%);--color-on-surface: #e3e3e8;--color-brand-hover: #bbb8ff;--color-on-primary-container: #e0dfff;--color-brand-active: #d0ccff;--color-border-outline: #8e8d9c;--color-border-outline-variant: #46464f;--color-surface-primary-container: #403e6a}.excalidraw .excalidraw-button{display:flex;justify-content:center;align-items:center;padding:.625rem;width:var(--button-width, var(--default-button-size));height:var(--button-height, var(--default-button-size));box-sizing:border-box;border-width:1px;border-style:solid;border-color:var(--button-border, var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg, var(--island-bg-color));color:var(--button-color, var(--color-on-surface));font-family:var(--ui-font)}.excalidraw .excalidraw-button svg{width:var(--button-width, var(--lg-icon-size));height:var(--button-height, var(--lg-icon-size))}.excalidraw .excalidraw-button:hover{background-color:var(--button-hover-bg, var(--island-bg-color));border-color:var(--button-hover-border, var(--button-border, var(--default-border-color)));color:var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)))}.excalidraw .excalidraw-button:active{background-color:var(--button-active-bg, var(--island-bg-color));border-color:var(--button-active-border, var(--color-primary-darkest))}.excalidraw .excalidraw-button.active{background-color:var(--button-selected-bg, var(--color-surface-primary-container));border-color:var(--button-selected-border, var(--color-surface-primary-container))}.excalidraw .excalidraw-button.active:hover{background-color:var(--button-selected-hover-bg, var(--color-surface-primary-container))}.excalidraw .excalidraw-button.active svg{color:var(--button-color, var(--color-on-primary-container))}.excalidraw--mobile.excalidraw .excalidraw-button{width:var(--mobile-action-button-size, var(--default-button-size));height:var(--mobile-action-button-size, var(--default-button-size))}.excalidraw{--ExcTextField--color: var(--color-on-surface);--ExcTextField--label-color: var(--color-on-surface);--ExcTextField--background: var(--color-surface-low);--ExcTextField--readonly--background: var(--color-surface-high);--ExcTextField--readonly--color: var(--color-on-surface);--ExcTextField--border: var(--color-gray-20);--ExcTextField--readonly--border: var(--color-border-outline-variant);--ExcTextField--border-hover: var(--color-brand-hover);--ExcTextField--border-active: var(--color-brand-active);--ExcTextField--placeholder: var(--color-border-outline-variant)}.excalidraw.theme--dark{--ExcTextField--border: var(--color-border-outline-variant)}.excalidraw .ExcTextField{position:relative}.excalidraw .ExcTextField svg{position:absolute;top:50%;transform:translateY(-50%);left:.75rem;width:1.25rem;height:1.25rem;color:var(--color-gray-40);z-index:1}.excalidraw .ExcTextField--fullWidth{width:100%;flex-grow:1}.excalidraw .ExcTextField__label{font-family:Assistant;font-style:normal;font-weight:600;font-size:.875rem;line-height:150%;color:var(--ExcTextField--label-color);margin-bottom:.25rem;-webkit-user-select:none;user-select:none}.excalidraw .ExcTextField__input{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;height:3rem;background:var(--ExcTextField--background);border:1px solid var(--ExcTextField--border);border-radius:.5rem;padding:0 .75rem}.excalidraw .ExcTextField__input:not(.excalidraw .ExcTextField__input--readonly):hover{border-color:var(--ExcTextField--border-hover)}.excalidraw .ExcTextField__input:not(.excalidraw .ExcTextField__input--readonly):active,.excalidraw .ExcTextField__input:not(.excalidraw .ExcTextField__input--readonly):focus-within{border-color:var(--ExcTextField--border-active)}.excalidraw .ExcTextField__input input{display:flex;align-items:center;border:none;outline:none;padding:0;margin:0;height:1.5rem;color:var(--ExcTextField--color);font-family:Assistant;font-style:normal;font-weight:400;font-size:1rem;line-height:150%;text-overflow:ellipsis;background:transparent;width:100%}.excalidraw .ExcTextField__input input:not(:focus):hover{background-color:initial}.excalidraw .ExcTextField__input input:focus{outline:initial;box-shadow:initial}.excalidraw .ExcTextField__input--readonly{background:var(--ExcTextField--readonly--background);border-color:var(--ExcTextField--readonly--border)}.excalidraw .ExcTextField__input--readonly input{color:var(--ExcTextField--readonly--color)}.excalidraw .ExcTextField--hasIcon .ExcTextField__input{padding-left:2.5rem}.excalidraw .layer-ui__library{display:flex;flex-direction:column;flex:1 1 auto}.excalidraw .library-actions-counter{background-color:var(--color-primary);color:var(--color-primary-light);font-weight:700;display:flex;align-items:center;justify-content:center;border-radius:50%;width:1rem;height:1rem;position:absolute;bottom:-.25rem;right:-.25rem;font-size:.625rem;pointer-events:none}.excalidraw .layer-ui__library-message{padding:2rem;min-width:200px;display:flex;flex-direction:column;align-items:center;flex-grow:1;justify-content:center}.excalidraw .layer-ui__library-message span{font-size:.8em}.excalidraw .publish-library-success .Dialog__content{display:flex;flex-direction:column}.excalidraw .publish-library-success-close.ToolIcon_type_button{background-color:#228be6;align-self:flex-end}.excalidraw .publish-library-success-close.ToolIcon_type_button:hover{background-color:#1971c2}.excalidraw .publish-library-success-close.ToolIcon_type_button .ToolIcon__icon{width:auto;font-size:1rem;color:#fff;padding:0 .5rem}.excalidraw .library-menu-control-buttons{display:flex;align-items:center;justify-content:center;gap:.625rem;position:relative}.excalidraw .library-menu-control-buttons--at-bottom:before{content:"";width:calc(100% - 1.5rem);height:1px;position:absolute;top:-1px;background:var(--sidebar-border-color)}.excalidraw .library-menu-browse-button{flex:1;height:var(--lg-button-size);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;border-radius:var(--border-radius-lg);background-color:var(--color-primary);color:#fff;text-align:center;white-space:nowrap;text-decoration:none!important;font-weight:600;font-size:.75rem}.excalidraw .library-menu-browse-button:hover{background-color:var(--color-brand-hover)}.excalidraw .library-menu-browse-button:active{background-color:var(--color-brand-active)}.excalidraw.theme--dark .library-menu-browse-button{color:var(--color-gray-100)}.excalidraw.excalidraw--mobile .library-menu-browse-button{height:var(--default-button-size)}.excalidraw .layer-ui__library .dropdown-menu{width:auto;top:initial;right:0;left:initial;bottom:100%;margin-bottom:.625rem}.excalidraw .layer-ui__library .dropdown-menu .dropdown-menu-container{width:196px;border-radius:var(--border-radius-lg);padding:.25rem .5rem;--box-shadow: var(--library-dropdown-shadow)}.excalidraw .layer-ui__library .library-menu-dropdown-container{z-index:1;position:relative}.excalidraw .layer-ui__library .library-menu-dropdown-container--in-heading{margin-left:auto}.excalidraw .layer-ui__library .library-menu-dropdown-container--in-heading .dropdown-menu{top:100%}.excalidraw.excalidraw-modal-container{position:absolute;z-index:var(--zIndex-modal)}.excalidraw .Modal{position:absolute;top:0;left:0;right:0;bottom:0;align-items:center;justify-content:center;overflow:auto;padding:calc(var(--space-factor) * 10);display:flex;flex-direction:column}.excalidraw .Modal .Island{padding:2.5rem;border:0;box-shadow:none;border-radius:0}.excalidraw .Modal.animations-disabled .Modal__background{animation:none}.excalidraw .Modal.animations-disabled .Modal__content{animation:none;opacity:1}.excalidraw .Modal__background{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1;background-color:#12121233;animation:Modal__background__fade-in .1s linear forwards}.excalidraw .Modal__content{z-index:2;width:100%;max-width:var(--max-width);max-height:100%;opacity:0;transform:translateY(10px);animation:Modal__content_fade-in 25ms ease-out 0s forwards;position:relative;overflow-y:auto;background:var(--island-bg-color);border:1px solid var(--dialog-border-color);box-shadow:var(--modal-shadow);border-radius:.75rem;box-sizing:border-box}.excalidraw .Modal__content:focus{outline:none}@keyframes Modal__background__fade-in{0%{opacity:0}to{opacity:1}}@keyframes Modal__content_fade-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.excalidraw .Modal__close{color:var(--icon-fill-color);margin:0;padding:.375rem;position:absolute;top:1rem;right:1rem;border:0;background-color:transparent;line-height:0;cursor:pointer}.excalidraw .Modal__close svg{width:1.5rem;height:1.5rem}.excalidraw .Dialog--fullscreen .Modal{padding:0}.excalidraw .Dialog--fullscreen .Modal__content{position:absolute;top:0;left:0;right:0;bottom:0;max-width:100%;border:0;border-radius:0}.excalidraw .Dialog{-webkit-user-select:text;user-select:text;cursor:auto}.excalidraw .Dialog__title{margin:0;text-align:left;font-size:1.25rem;border-bottom:1px solid var(--dialog-border-color);padding:0 0 .75rem;margin-bottom:1.5rem}.excalidraw .Dialog__close{color:var(--color-gray-40);margin:0;position:absolute;top:.75rem;right:.5rem;border:0;background-color:transparent;line-height:0;cursor:pointer}.excalidraw .Dialog__close:hover{color:var(--color-gray-60)}.excalidraw .Dialog__close:active{color:var(--color-gray-40)}.excalidraw .Dialog__close svg{width:1.5rem;height:1.5rem}.excalidraw .Dialog__close+.Dialog__content{--offset: 28px;height:calc(100% - var(--offset))!important;margin-top:var(--offset)!important}.excalidraw .Dialog--fullscreen .Dialog__close{top:1.25rem;right:1.25rem}.zoom-actions,.undo-redo-buttons{background-color:var(--island-bg-color);border-radius:var(--border-radius-lg);box-shadow:0 0 0 1px var(--color-surface-lowest)}.zoom-button,.undo-redo-buttons button{border-radius:0!important;background-color:var(--color-surface-low)!important;font-size:.875rem!important;width:var(--lg-button-size);height:var(--lg-button-size)}.zoom-button svg,.undo-redo-buttons button svg{width:var(--lg-icon-size)!important;height:var(--lg-icon-size)!important}.zoom-button .ToolIcon__icon,.undo-redo-buttons button .ToolIcon__icon{width:100%;height:100%}.reset-zoom-button{border-left:0!important;border-right:0!important;padding:0 .625rem!important;width:3.75rem!important;justify-content:center;color:var(--text-primary-color)}.zoom-out-button{border-top-left-radius:var(--border-radius-lg)!important;border-bottom-left-radius:var(--border-radius-lg)!important}:root[dir=rtl] .zoom-out-button{transform:scaleX(-1)}.zoom-out-button .ToolIcon__icon{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.zoom-in-button{border-top-right-radius:var(--border-radius-lg)!important;border-bottom-right-radius:var(--border-radius-lg)!important}:root[dir=rtl] .zoom-in-button{transform:scaleX(-1)}.zoom-in-button .ToolIcon__icon{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.undo-redo-buttons .undo-button-container button{border-top-left-radius:var(--border-radius-lg)!important;border-bottom-left-radius:var(--border-radius-lg)!important;border-right:0!important}:root[dir=rtl] .undo-redo-buttons .undo-button-container button{transform:scaleX(-1)}.undo-redo-buttons .undo-button-container button .ToolIcon__icon{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.undo-redo-buttons .redo-button-container button{border-top-right-radius:var(--border-radius-lg)!important;border-bottom-right-radius:var(--border-radius-lg)!important}:root[dir=rtl] .undo-redo-buttons .redo-button-container button{transform:scaleX(-1)}.undo-redo-buttons .redo-button-container button .ToolIcon__icon{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.compact-shape-actions{display:flex;flex-direction:column;gap:.5rem;max-height:calc(100vh - 200px);overflow-y:auto;padding:.5rem}.compact-shape-actions .compact-action-item{position:relative;display:flex;justify-content:center;align-items:center;min-height:2.5rem;pointer-events:auto;--default-button-size: 2rem}.compact-shape-actions .compact-action-item .compact-action-button{width:var(--mobile-action-button-size);height:var(--mobile-action-button-size);border:none;border-radius:var(--border-radius-lg);color:var(--color-on-surface);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;background:var(--mobile-action-button-bg)}.compact-shape-actions .compact-action-item .compact-action-button svg{width:1rem;height:1rem;flex:0 0 auto}.compact-shape-actions .compact-action-item .compact-action-button.active{background:var(--color-surface-primary-container, var(--mobile-action-button-bg))}.compact-shape-actions .compact-action-item .compact-popover-content .popover-section{margin-bottom:1rem}.compact-shape-actions .compact-action-item .compact-popover-content .popover-section:last-child{margin-bottom:0}.compact-shape-actions .compact-action-item .compact-popover-content .popover-section .popover-section-title{font-size:.75rem;font-weight:600;color:var(--color-text-secondary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.compact-shape-actions .compact-action-item .compact-popover-content .popover-section .buttonList{display:flex;flex-wrap:wrap;gap:.25rem}.compact-shape-actions .ToolIcon .ToolIcon__icon{width:var(--mobile-action-button-size);height:var(--mobile-action-button-size);background:var(--mobile-action-button-bg)}.compact-shape-actions .ToolIcon .ToolIcon__icon:hover{background-color:transparent}.compact-shape-actions-island{width:fit-content;overflow-x:hidden}.mobile-shape-actions{z-index:999;display:flex;flex-direction:row;justify-content:space-between;width:100%;background:transparent;border-radius:var(--border-radius-lg);box-shadow:none;overflow:none;scrollbar-width:none;-ms-overflow-style:none}.shape-actions-theme-scope{--button-border: transparent;--button-bg: var(--color-surface-mid)}:root.theme--dark .shape-actions-theme-scope{--button-hover-bg: #363541;--button-bg: var(--color-surface-high)}.excalidraw .tool-popover-content{display:flex;flex-direction:row;gap:.25rem;border-radius:.5rem;background:var(--island-bg-color);box-shadow:var(--shadow-island);padding:.5rem;z-index:var(--zIndex-layerUI)}.excalidraw .command-palette-dialog{-webkit-user-select:none;user-select:none}.excalidraw .command-palette-dialog .Modal__content{height:auto;max-height:100%}@media screen and (min-width: 861px){.excalidraw .command-palette-dialog .Modal__content{max-height:750px;height:100%}}.excalidraw .command-palette-dialog .Modal__content .Island{height:100%;padding:1.5rem}.excalidraw .command-palette-dialog .Modal__content .Dialog__content{height:100%;display:flex;flex-direction:column}.excalidraw .command-palette-dialog .shortcuts-wrapper{display:flex;justify-content:center;align-items:center;margin-top:12px;gap:1.5rem}.excalidraw .command-palette-dialog .shortcut{display:flex;justify-content:center;align-items:center;height:16px;font-size:10px;gap:.25rem}.excalidraw .command-palette-dialog .shortcut .shortcut-wrapper{display:flex}.excalidraw .command-palette-dialog .shortcut .shortcut-plus{margin:0 4px}.excalidraw .command-palette-dialog .shortcut .shortcut-key{padding:0 4px;height:16px;border-radius:4px;display:flex;justify-content:center;align-items:center;background-color:var(--color-primary-light)}.excalidraw .command-palette-dialog .shortcut .shortcut-desc{margin-left:4px;color:var(--color-gray-50)}.excalidraw .command-palette-dialog .commands{overflow-y:auto;box-sizing:border-box;margin-top:12px;color:var(--popup-text-color);-webkit-user-select:none;user-select:none}.excalidraw .command-palette-dialog .commands .command-category{display:flex;flex-direction:column;padding:12px 0;margin-right:.25rem}.excalidraw .command-palette-dialog .commands .command-category-title{font-size:1rem;font-weight:600;margin-bottom:6px;display:flex;align-items:center}.excalidraw .command-palette-dialog .commands .command-item{color:var(--popup-text-color);height:2.5rem;display:flex;justify-content:space-between;align-items:center;box-sizing:border-box;padding:0 .5rem;border-radius:var(--border-radius-lg);cursor:pointer;--icon-size: 1rem}.excalidraw .command-palette-dialog .commands .command-item.command-item-large{height:2.75rem;--icon-size: 1.5rem}.excalidraw .command-palette-dialog .commands .command-item.command-item-large .icon{width:var(--icon-size);height:var(--icon-size);margin-right:.625rem}.excalidraw .command-palette-dialog .commands .command-item:active{background-color:var(--color-surface-low)}.excalidraw .command-palette-dialog .commands .command-item .name{display:flex;align-items:center;gap:.25rem;overflow:hidden}.excalidraw .command-palette-dialog .commands .item-selected{background-color:var(--color-surface-mid)}.excalidraw .command-palette-dialog .commands .item-disabled{opacity:.3;cursor:not-allowed}.excalidraw .command-palette-dialog .commands .no-match{display:flex;justify-content:center;align-items:center;margin-top:36px}.excalidraw .command-palette-dialog .icon{width:var(--icon-size, 1rem);height:var(--icon-size, 1rem);margin-right:.375rem}.excalidraw .command-palette-dialog .icon .library-item-icon{display:flex;align-items:center;justify-content:center;height:100%;width:100%}.excalidraw .excalidraw-canvas-buttons{position:absolute;box-shadow:0 2px 4px #0000004d;z-index:var(--zIndex-canvasButtons);background:var(--island-bg-color);border-radius:var(--border-radius-lg);display:flex;flex-direction:column;gap:.375rem}.excalidraw .popover{position:absolute;z-index:10;padding:5px 0;outline:none}.excalidraw .context-menu-popover{z-index:var(--zIndex-ui-context-menu)}.excalidraw .context-menu{position:relative;border-radius:4px;box-shadow:0 3px 10px #0003;padding:0;list-style:none;-webkit-user-select:none;user-select:none;margin:-.25rem 0 0 .125rem;padding:.5rem 0;background-color:var(--popup-secondary-bg-color);border:1px solid var(--button-gray-3);cursor:default}.excalidraw .context-menu button{color:var(--popup-text-color)}.excalidraw .context-menu-item{position:relative;width:100%;min-width:9.5rem;margin:0;padding:.25rem 1rem .25rem 1.25rem;text-align:start;border-radius:0;background-color:transparent;border:none;white-space:nowrap;font-family:inherit;display:grid;grid-template-columns:1fr .2fr;align-items:center}.excalidraw .context-menu-item.checkmark:before{position:absolute;left:6px;margin-bottom:1px;content:"✓"}.excalidraw .context-menu-item.dangerous .context-menu-item__label{color:#f03e3e}.excalidraw .context-menu-item .context-menu-item__label{justify-self:start;margin-inline-end:20px}.excalidraw .context-menu-item .context-menu-item__shortcut{justify-self:end;opacity:.6;font-family:inherit;font-size:.7rem}.excalidraw .context-menu-item:hover{color:var(--popup-bg-color);background-color:var(--select-highlight-color)}.excalidraw .context-menu-item:hover.dangerous .context-menu-item__label{color:var(--popup-bg-color)}.excalidraw .context-menu-item:hover.dangerous{background-color:#fa5252}.excalidraw .context-menu-item:focus{z-index:1}.excalidraw--mobile.excalidraw .context-menu-item{display:block}.excalidraw--mobile.excalidraw .context-menu-item .context-menu-item__label{margin-inline-end:0}.excalidraw--mobile.excalidraw .context-menu-item .context-menu-item__shortcut{display:none}.excalidraw .context-menu-item-separator{border:none;border-top:1px solid #adb5bd}.excalidraw .follow-mode{position:absolute;box-sizing:border-box;pointer-events:none;border:2px solid var(--color-primary-hover);z-index:9999;display:flex;align-items:flex-end;justify-content:center}.excalidraw .follow-mode__badge{background-color:var(--color-primary-hover);color:var(--color-primary-light);padding:.25rem .5rem;margin-bottom:.5rem;border-radius:.5rem;pointer-events:all;font-size:.75rem;display:flex;gap:.5rem;align-items:center}.excalidraw .follow-mode__badge__label{display:flex;white-space:pre-wrap;line-height:1}.excalidraw .follow-mode__badge__username{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.excalidraw .follow-mode__disconnect-btn{all:unset;cursor:pointer;border-radius:.25rem}.excalidraw .follow-mode__disconnect-btn:hover{background-color:var(--color-primary-darker)}.excalidraw .follow-mode__disconnect-btn:active{background-color:var(--color-primary-darkest)}.excalidraw .follow-mode__disconnect-btn svg{display:block;width:1rem;height:1rem}.excalidraw .mobile-toolbar{display:flex;flex:1;align-items:center;padding:0;gap:4px;border-radius:var(--space-factor);overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;justify-content:space-between}.excalidraw .mobile-toolbar::-webkit-scrollbar{display:none}.excalidraw .mobile-toolbar .ToolIcon{min-width:2rem;min-height:2rem;border-radius:4px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.excalidraw .mobile-toolbar .ToolIcon .ToolIcon__icon{width:2.25rem;height:2.25rem}.excalidraw .mobile-toolbar .ToolIcon .ToolIcon__icon:hover{background-color:transparent}.excalidraw .mobile-toolbar .ToolIcon.active{background:var(--color-surface-primary-container, var(--island-bg-color));border-color:var(--button-active-border, var(--color-primary-darkest))}.excalidraw .mobile-toolbar .ToolIcon svg{width:1rem;height:1rem}.excalidraw .mobile-toolbar .App-toolbar__extra-tools-dropdown{min-width:160px;z-index:var(--zIndex-layerUI)}.excalidraw .mobile-toolbar-separator{width:1px;height:24px;background:var(--default-border-color);margin:0 2px;flex-shrink:0}.excalidraw .mobile-toolbar-undo{display:flex;align-items:center}.excalidraw .mobile-toolbar-undo .ToolIcon{min-width:32px;min-height:32px;width:32px;height:32px}.excalidraw .FixedSideContainer{position:absolute;pointer-events:none}.excalidraw .FixedSideContainer>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .FixedSideContainer_side_top{left:var(--editor-container-padding);top:var(--editor-container-padding);right:var(--editor-container-padding);bottom:var(--editor-container-padding)}.excalidraw .FixedSideContainer_side_top.zen-mode{right:42px}.excalidraw .PasteChartDialog .PasteChartDialog__title{display:flex;align-items:center;gap:.5rem}.excalidraw .PasteChartDialog .PasteChartDialog__titleText{min-width:0}.excalidraw .PasteChartDialog .PasteChartDialog__reshuffleBtn{margin-left:auto;flex:0 0 auto;width:1rem;height:1rem;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;color:var(--text-primary-color);transition:transform .12s ease,background-color .12s ease,color .12s ease;-webkit-user-select:none;user-select:none}.excalidraw .PasteChartDialog .PasteChartDialog__reshuffleBtn:hover{color:#228be6}.excalidraw .PasteChartDialog .PasteChartDialog__reshuffleBtn:active{transform:scale(.94)}.excalidraw--mobile.excalidraw .PasteChartDialog .Island{display:flex;flex-direction:column}.excalidraw .PasteChartDialog .container{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:1rem}.excalidraw--mobile.excalidraw .PasteChartDialog .container{flex-direction:column;justify-content:center;align-items:stretch}.excalidraw .PasteChartDialog .ChartPreview{width:260px;min-height:190px;border-radius:8px;padding:10px;border:1px solid #ced4da;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:10px;background:transparent}.excalidraw .PasteChartDialog .ChartPreview .ChartPreview__canvas{display:flex;flex:1;align-items:center;justify-content:center;overflow:hidden}.excalidraw .PasteChartDialog .ChartPreview .ChartPreview__label{font-size:.875rem;font-weight:600;line-height:1;text-align:center;color:var(--text-primary-color)}.excalidraw .PasteChartDialog .ChartPreview svg{max-height:144px;max-width:100%}.excalidraw .PasteChartDialog .ChartPreview:hover{border-color:#339af0}.excalidraw .PasteChartDialog .ChartPreview:active{border-color:#339af0;box-shadow:0 0 0 1px #339af0;transform:scale(.98)}.excalidraw .PasteChartDialog .ChartPreview:focus-visible{border-color:#339af0;box-shadow:0 0 0 1px #339af0}.excalidraw--mobile.excalidraw .PasteChartDialog .ChartPreview{width:100%;min-height:200px}.excalidraw .sidebar-trigger{display:flex;justify-content:center;align-items:center;padding:.625rem;width:var(--button-width, var(--default-button-size));height:var(--button-height, var(--default-button-size));box-sizing:border-box;border-width:1px;border-style:solid;border-color:var(--button-border, var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg, var(--island-bg-color));color:var(--button-color, var(--color-on-surface));font-family:var(--ui-font)}.excalidraw .sidebar-trigger svg{width:var(--button-width, var(--lg-icon-size));height:var(--button-height, var(--lg-icon-size))}.excalidraw .sidebar-trigger:hover{background-color:var(--button-hover-bg, var(--island-bg-color));border-color:var(--button-hover-border, var(--button-border, var(--default-border-color)));color:var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)))}.excalidraw .sidebar-trigger:active{background-color:var(--button-active-bg, var(--island-bg-color));border-color:var(--button-active-border, var(--color-primary-darkest))}.excalidraw .sidebar-trigger.active{background-color:var(--button-selected-bg, var(--color-surface-primary-container));border-color:var(--button-selected-border, var(--color-surface-primary-container))}.excalidraw .sidebar-trigger.active:hover{background-color:var(--button-selected-hover-bg, var(--color-surface-primary-container))}.excalidraw .sidebar-trigger.active svg{color:var(--button-color, var(--color-on-primary-container))}.excalidraw--mobile.excalidraw .sidebar-trigger{width:var(--mobile-action-button-size, var(--default-button-size));height:var(--mobile-action-button-size, var(--default-button-size))}.excalidraw .sidebar-trigger{border:none;box-shadow:0 0 0 1px var(--color-surface-lowest);background-color:var(--color-surface-low)}.excalidraw .sidebar-trigger:active{box-shadow:0 0 0 1px var(--color-brand-active)}.excalidraw--mobile.excalidraw .sidebar-trigger{width:var(--mobile-action-button-size, 2rem);height:var(--mobile-action-button-size, 2rem)}.excalidraw .sidebar-trigger{width:auto;height:var(--lg-button-size);display:flex;align-items:center;gap:.5rem;line-height:0;font-size:.75rem;letter-spacing:.4px}.excalidraw .sidebar-trigger svg{width:var(--lg-icon-size);height:var(--lg-icon-size)}.excalidraw .sidebar-trigger__label-element{align-self:flex-start}.excalidraw .default-sidebar-trigger .sidebar-trigger__label{display:block;white-space:nowrap}.excalidraw.excalidraw--mobile .default-sidebar-trigger .sidebar-trigger__label{display:none}.excalidraw .sidebar{display:flex;flex-direction:column;position:absolute;top:0;bottom:0;right:0;z-index:var(--zIndex-ui-library);margin:0;padding:0;box-sizing:border-box;background-color:var(--sidebar-bg-color);box-shadow:var(--sidebar-shadow);pointer-events:var(--ui-pointerEvents);overflow:hidden;border-radius:0;width:calc(var(--right-sidebar-width) - var(--space-factor) * 2);border-left:1px solid var(--sidebar-border-color)}:root[dir=rtl] .excalidraw .sidebar{left:0;right:auto}.excalidraw .sidebar--docked{box-shadow:none}:root[dir=rtl] .excalidraw .sidebar{border-right:1px solid var(--sidebar-border-color);border-left:0}.excalidraw .sidebar__header{box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;width:100%;padding:1rem .75rem;position:relative}.excalidraw .sidebar__header:after{content:"";width:calc(100% - 1.5rem);height:1px;background:var(--sidebar-border-color);position:absolute;bottom:-1px}.excalidraw .sidebar__header__buttons{gap:0;display:flex;align-items:center;margin-left:auto}.excalidraw .sidebar__header__buttons button{display:flex;justify-content:center;align-items:center;padding:.625rem;width:var(--button-width, var(--default-button-size));height:var(--button-height, var(--default-button-size));box-sizing:border-box;border-width:1px;border-style:solid;border-color:var(--button-border, var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg, var(--island-bg-color));color:var(--button-color, var(--color-on-surface));font-family:var(--ui-font)}.excalidraw .sidebar__header__buttons button svg{width:var(--button-width, var(--lg-icon-size));height:var(--button-height, var(--lg-icon-size))}.excalidraw .sidebar__header__buttons button:hover{background-color:var(--button-hover-bg, var(--island-bg-color));border-color:var(--button-hover-border, var(--button-border, var(--default-border-color)));color:var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)))}.excalidraw .sidebar__header__buttons button:active{background-color:var(--button-active-bg, var(--island-bg-color));border-color:var(--button-active-border, var(--color-primary-darkest))}.excalidraw .sidebar__header__buttons button.active{background-color:var(--button-selected-bg, var(--color-surface-primary-container));border-color:var(--button-selected-border, var(--color-surface-primary-container))}.excalidraw .sidebar__header__buttons button.active:hover{background-color:var(--button-selected-hover-bg, var(--color-surface-primary-container))}.excalidraw .sidebar__header__buttons button.active svg{color:var(--button-color, var(--color-on-primary-container))}.excalidraw--mobile.excalidraw .sidebar__header__buttons button{width:var(--mobile-action-button-size, var(--default-button-size));height:var(--mobile-action-button-size, var(--default-button-size))}.excalidraw .sidebar__header__buttons button{--button-bg: transparent;border:0!important;width:var(--lg-button-size);height:var(--lg-button-size);padding:0}.excalidraw .sidebar__header__buttons button svg{width:var(--lg-icon-size);height:var(--lg-icon-size)}.excalidraw .sidebar__header__buttons button:hover{background:var(--button-hover-bg, var(--island-bg-color))}.excalidraw .sidebar__header__buttons .sidebar__dock.selected svg{stroke:var(--color-primary);fill:var(--color-primary)}.excalidraw .sidebar-tabs-root{display:flex;flex-direction:column;flex:1 1 auto;padding:1rem 0}.excalidraw .sidebar-tabs-root [role=tabpanel]{flex:1;flex:1 1 auto;display:flex;flex-direction:column;outline:none}.excalidraw .sidebar-tabs-root [role=tabpanel][data-state=inactive]{display:none!important}.excalidraw .sidebar-tabs-root [role=tablist]{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.excalidraw .sidebar-tabs-root>.sidebar__header{padding-top:0;padding-bottom:1rem}.excalidraw .sidebar-tab-trigger{--button-width: auto;--button-bg: transparent;--button-hover-bg: transparent;--button-active-bg: var(--color-primary);--button-hover-color: var(--color-primary);--button-hover-border: var(--color-primary)}.excalidraw .sidebar-tab-trigger[data-state=active]{--button-bg: var(--color-primary);--button-hover-bg: var(--color-primary-darker);--button-hover-color: var(--color-icon-white);--button-border: var(--color-primary);color:var(--color-icon-white)}.excalidraw .default-sidebar{display:flex;flex-direction:column}.excalidraw .default-sidebar .sidebar-triggers{display:flex;gap:0;padding:2px;margin-top:-3px;margin-bottom:-3px;border:1px solid var(--sidebar-border-color);background:var(--default-bg-color);border-radius:.625rem}.excalidraw .default-sidebar .sidebar-triggers .sidebar-tab-trigger{height:var(--lg-button-size);width:var(--lg-button-size);border:none}.excalidraw{--RadioGroup-background: var(--island-bg-color);--RadioGroup-border: var(--color-surface-high);--RadioGroup-choice-color-off: var(--color-primary);--RadioGroup-choice-color-off-hover: var(--color-brand-hover);--RadioGroup-choice-background-off: var(--island-bg-color);--RadioGroup-choice-background-off-active: var(--color-surface-high);--RadioGroup-choice-color-on: var(--color-surface-lowest);--RadioGroup-choice-background-on: var(--color-primary);--RadioGroup-choice-background-on-hover: var(--color-brand-hover);--RadioGroup-choice-background-on-active: var(--color-brand-active)}.excalidraw .RadioGroup{box-sizing:border-box;display:flex;flex-direction:row;align-items:flex-start;padding:3px;border-radius:10px;background:var(--RadioGroup-background);border:1px solid var(--RadioGroup-border);gap:2px}.excalidraw .RadioGroup__choice{box-sizing:content-box;position:relative;display:flex;align-items:center;justify-content:center;min-width:20px;height:24px;padding:0 .375rem;color:var(--RadioGroup-choice-color-off);background:var(--RadioGroup-choice-background-off);border-radius:8px;font-family:Assistant;font-style:normal;font-weight:600;font-size:.75rem;line-height:100%;-webkit-user-select:none;user-select:none;letter-spacing:.4px}.excalidraw .RadioGroup__choice:hover{color:var(--RadioGroup-choice-color-off-hover)}.excalidraw .RadioGroup__choice:not(.active):active{background:var(--RadioGroup-choice-background-off-active)}.excalidraw .RadioGroup__choice.active{color:var(--RadioGroup-choice-color-on);background:var(--RadioGroup-choice-background-on)}.excalidraw .RadioGroup__choice.active:hover{background:var(--RadioGroup-choice-background-on-hover)}.excalidraw .RadioGroup__choice.active:active{background:var(--RadioGroup-choice-background-on-active)}.excalidraw .RadioGroup__choice input{z-index:1;position:absolute;width:100%;height:100%;margin:0;padding:0;border-radius:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.excalidraw .ActiveFile .ActiveFile__fileName{display:flex;align-items:center}.excalidraw .ActiveFile .ActiveFile__fileName span{text-overflow:ellipsis;overflow:hidden;white-space:nowrap;width:9.3em}.excalidraw .ActiveFile .ActiveFile__fileName svg{width:1.15em;margin-inline-end:.3em;transform:scaleY(.9)}@keyframes successStatusAnimation{0%{transform:scale(.35)}50%{transform:scale(1.25)}to{transform:scale(1)}}.excalidraw .ExcButton{--text-color: transparent;--border-color: transparent;--back-color: transparent;color:var(--text-color);background-color:var(--back-color);border-color:var(--border-color);border-radius:.5rem;border-width:1px;border-style:solid;font-family:var(--font-family);-webkit-user-select:none;user-select:none}.excalidraw .ExcButton:hover{transition:all .15s ease-out}.excalidraw .ExcButton .Spinner{--spinner-color: var(--color-surface-lowest)}.excalidraw .ExcButton .ExcButton__statusIcon{visibility:visible;position:absolute;width:1.2rem;height:1.2rem;animation:successStatusAnimation .5s cubic-bezier(.3,1,.6,1)}.excalidraw .ExcButton.ExcButton--status-loading,.excalidraw .ExcButton.ExcButton--status-success{pointer-events:none;background-color:var(--color-success)}.excalidraw .ExcButton.ExcButton--status-loading .ExcButton__contents,.excalidraw .ExcButton.ExcButton--status-success .ExcButton__contents{visibility:hidden}.excalidraw .ExcButton[disabled]{cursor:not-allowed}.excalidraw .ExcButton[disabled].ExcButton--variant-filled,.excalidraw .ExcButton[disabled]:hover{--back-color: var(--color-surface-low) !important;--text-color: var(--color-on-surface-variant) !important}.excalidraw .ExcButton[disabled].ExcButton--variant-outlined,.excalidraw .ExcButton[disabled].ExcButton--variant-icon{--text-color: var(--color-on-surface-variant);--border-color: var(--color-surface-high)}.excalidraw .ExcButton,.excalidraw .ExcButton__contents{display:flex;justify-content:center;align-items:center;flex-shrink:0;flex-wrap:nowrap;position:relative}.excalidraw .ExcButton--color-primary.ExcButton--variant-filled{--text-color: var(--color-surface-lowest);--back-color: var(--color-primary)}.excalidraw .ExcButton--color-primary.ExcButton--variant-filled .Spinner{--spinner-color: var(--text-color)}.excalidraw .ExcButton--color-primary.ExcButton--variant-filled:hover{--back-color: var(--color-brand-hover)}.excalidraw .ExcButton--color-primary.ExcButton--variant-filled:active{--back-color: var(--color-brand-active)}.excalidraw .ExcButton--color-primary.ExcButton--variant-outlined,.excalidraw .ExcButton--color-primary.ExcButton--variant-icon{--text-color: var(--color-primary);--border-color: var(--color-primary);--back-color: transparent}.excalidraw .ExcButton--color-primary.ExcButton--variant-outlined .Spinner,.excalidraw .ExcButton--color-primary.ExcButton--variant-icon .Spinner{--spinner-color: var(--text-color)}.excalidraw .ExcButton--color-primary.ExcButton--variant-outlined:hover,.excalidraw .ExcButton--color-primary.ExcButton--variant-icon:hover{--text-color: var(--color-brand-hover);--border-color: var(--color-brand-hover)}.excalidraw .ExcButton--color-primary.ExcButton--variant-outlined:active,.excalidraw .ExcButton--color-primary.ExcButton--variant-icon:active{--text-color: var(--color-brand-active);--border-color: var(--color-brand-active)}.excalidraw .ExcButton--color-danger.ExcButton--variant-filled{--text-color: var(--color-danger-text);--back-color: var(--color-danger-dark)}.excalidraw .ExcButton--color-danger.ExcButton--variant-filled .Spinner{--spinner-color: var(--text-color)}.excalidraw .ExcButton--color-danger.ExcButton--variant-filled:hover{--back-color: var(--color-danger-darker)}.excalidraw .ExcButton--color-danger.ExcButton--variant-filled:active{--back-color: var(--color-danger-darkest)}.excalidraw .ExcButton--color-danger.ExcButton--variant-outlined,.excalidraw .ExcButton--color-danger.ExcButton--variant-icon{--text-color: var(--color-danger);--border-color: var(--color-danger);--back-color: transparent}.excalidraw .ExcButton--color-danger.ExcButton--variant-outlined .Spinner,.excalidraw .ExcButton--color-danger.ExcButton--variant-icon .Spinner{--spinner-color: var(--text-color)}.excalidraw .ExcButton--color-danger.ExcButton--variant-outlined:hover,.excalidraw .ExcButton--color-danger.ExcButton--variant-icon:hover{--text-color: var(--color-danger-darkest);--border-color: var(--color-danger-darkest)}.excalidraw .ExcButton--color-danger.ExcButton--variant-outlined:active,.excalidraw .ExcButton--color-danger.ExcButton--variant-icon:active{--text-color: var(--color-danger-darker);--border-color: var(--color-danger-darker)}.excalidraw .ExcButton--color-success.ExcButton--variant-filled{--text-color: var(--color-success-text);--back-color: var(--color-success)}.excalidraw .ExcButton--color-success.ExcButton--variant-filled .Spinner{--spinner-color: var(--color-success)}.excalidraw .ExcButton--color-success.ExcButton--variant-filled:hover{--back-color: var(--color-success-darker)}.excalidraw .ExcButton--color-success.ExcButton--variant-filled:active{--back-color: var(--color-success-darkest)}.excalidraw .ExcButton--color-success.ExcButton--variant-outlined,.excalidraw .ExcButton--color-success.ExcButton--variant-icon{--text-color: var(--color-success-contrast);--border-color: var(--color-success-contrast);--back-color: transparent}.excalidraw .ExcButton--color-success.ExcButton--variant-outlined .Spinner,.excalidraw .ExcButton--color-success.ExcButton--variant-icon .Spinner{--spinner-color: var(--color-success-contrast)}.excalidraw .ExcButton--color-success.ExcButton--variant-outlined:hover,.excalidraw .ExcButton--color-success.ExcButton--variant-icon:hover{--text-color: var(--color-success-contrast-hover);--border-color: var(--color-success-contrast-hover)}.excalidraw .ExcButton--color-success.ExcButton--variant-outlined:active,.excalidraw .ExcButton--color-success.ExcButton--variant-icon:active{--text-color: var(--color-success-contrast-active);--border-color: var(--color-success-contrast-active)}.excalidraw .ExcButton--color-muted.ExcButton--variant-filled{--text-color: var(--island-bg-color);--back-color: var(--color-gray-50)}.excalidraw .ExcButton--color-muted.ExcButton--variant-filled .Spinner{--spinner-color: var(--text-color)}.excalidraw .ExcButton--color-muted.ExcButton--variant-filled:hover{--back-color: var(--color-gray-60)}.excalidraw .ExcButton--color-muted.ExcButton--variant-filled:active{--back-color: var(--color-gray-80)}.excalidraw .ExcButton--color-muted.ExcButton--variant-outlined,.excalidraw .ExcButton--color-muted.ExcButton--variant-icon{--text-color: var(--color-muted-background);--border-color: var(--color-muted);--back-color: var(--island-bg-color)}.excalidraw .ExcButton--color-muted.ExcButton--variant-outlined .Spinner,.excalidraw .ExcButton--color-muted.ExcButton--variant-icon .Spinner{--spinner-color: var(--text-color)}.excalidraw .ExcButton--color-muted.ExcButton--variant-outlined:hover,.excalidraw .ExcButton--color-muted.ExcButton--variant-icon:hover{--text-color: var(--color-muted-background-darker);--border-color: var(--color-muted-darker)}.excalidraw .ExcButton--color-muted.ExcButton--variant-outlined:active,.excalidraw .ExcButton--color-muted.ExcButton--variant-icon:active{--text-color: var(--color-muted-background-darker);--border-color: var(--color-muted-darkest)}.excalidraw .ExcButton--color-warning.ExcButton--variant-filled{--text-color: black;--back-color: var(--color-warning-dark)}.excalidraw .ExcButton--color-warning.ExcButton--variant-filled .Spinner{--spinner-color: var(--text-color)}.excalidraw .ExcButton--color-warning.ExcButton--variant-filled:hover{--back-color: var(--color-warning-darker)}.excalidraw .ExcButton--color-warning.ExcButton--variant-filled:active{--back-color: var(--color-warning-darkest)}.excalidraw .ExcButton--color-warning.ExcButton--variant-outlined,.excalidraw .ExcButton--color-warning.ExcButton--variant-icon{--text-color: var(--color-warning-dark);--border-color: var(--color-warning-dark);--back-color: var(--input-bg-color)}.excalidraw .ExcButton--color-warning.ExcButton--variant-outlined .Spinner,.excalidraw .ExcButton--color-warning.ExcButton--variant-icon .Spinner{--spinner-color: var(--text-color)}.excalidraw .ExcButton--color-warning.ExcButton--variant-outlined:hover,.excalidraw .ExcButton--color-warning.ExcButton--variant-icon:hover{--text-color: var(--color-warning-darker);--border-color: var(--color-warning-darker)}.excalidraw .ExcButton--color-warning.ExcButton--variant-outlined:active,.excalidraw .ExcButton--color-warning.ExcButton--variant-icon:active{--text-color: var(--color-warning-darkest);--border-color: var(--color-warning-darkest)}.excalidraw .ExcButton--size-large{font-weight:600;font-size:.875rem;min-height:3rem;padding:.5rem 1.5rem;letter-spacing:.4px}.excalidraw .ExcButton--size-large .ExcButton__contents{gap:.75rem}.excalidraw .ExcButton--size-medium{font-weight:600;font-size:.75rem;min-height:2.5rem;padding:.5rem 1rem;letter-spacing:normal}.excalidraw .ExcButton--size-medium .ExcButton__contents{gap:.5rem}.excalidraw .ExcButton--variant-icon{padding:.5rem .75rem;width:3rem}.excalidraw .ExcButton--fullWidth{width:100%}.excalidraw .ExcButton__icon{width:1.25rem;height:1.25rem}.excalidraw .OverwriteConfirm{display:flex;flex-direction:column;align-items:center;gap:.75rem;isolation:isolate}.excalidraw .OverwriteConfirm h3{margin:0;font-weight:700;font-size:1.3125rem;line-height:130%;align-self:flex-start;color:var(--text-primary-color)}.excalidraw .OverwriteConfirm__Description{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;width:100%;gap:1rem}.excalidraw--mobile.excalidraw .OverwriteConfirm__Description{flex-direction:column;text-align:center}.excalidraw .OverwriteConfirm__Description{padding:2.5rem;background:var(--color-danger-background);border-radius:.5rem;font-family:Assistant;font-style:normal;font-weight:400;font-size:1rem;line-height:150%;color:var(--color-danger-color)}.excalidraw .OverwriteConfirm__Description__spacer{flex-grow:1}.excalidraw .OverwriteConfirm__Description__icon{box-sizing:border-box;display:flex;align-items:center;justify-content:center;border-radius:2.5rem;background:var(--color-danger-icon-background);width:3.5rem;height:3.5rem;padding:.75rem}.excalidraw .OverwriteConfirm__Description__icon svg{color:var(--color-danger-icon-color);width:1.5rem;height:1.5rem}.excalidraw .OverwriteConfirm__Description.OverwriteConfirm__Description--color-warning{background:var(--color-warning-background);color:var(--color-warning-color)}.excalidraw .OverwriteConfirm__Description.OverwriteConfirm__Description--color-warning .OverwriteConfirm__Description__icon{background:var(--color-warning-icon-background);flex:0 0 auto}.excalidraw .OverwriteConfirm__Description.OverwriteConfirm__Description--color-warning .OverwriteConfirm__Description__icon svg{color:var(--color-warning-icon-color)}.excalidraw .OverwriteConfirm__Actions{display:flex;flex-direction:row;align-items:stretch;justify-items:stretch;justify-content:center;gap:1.5rem}.excalidraw--mobile.excalidraw .OverwriteConfirm__Actions{flex-direction:column}.excalidraw .OverwriteConfirm__Actions__Action{display:flex;flex-direction:column;align-items:center;padding:1.5rem;gap:.75rem;flex-basis:50%;flex-grow:0}.excalidraw .OverwriteConfirm__Actions__Action__content{height:100%;font-size:.875rem;text-align:center}.excalidraw .OverwriteConfirm__Actions__Action h4{font-weight:700;font-size:1.125rem;line-height:130%;margin:0;color:var(--text-primary-color)}.excalidraw .layer-ui__search{flex:1 0 auto;display:flex;flex-direction:column;padding:8px 0 0}.excalidraw .layer-ui__search-header{display:flex;justify-content:space-between;align-items:center;padding:0 .75rem}.excalidraw .layer-ui__search-header .ExcTextField{flex:1 0 auto}.excalidraw .layer-ui__search-header .ExcTextField__input{background-color:#f5f5f9}.excalidraw.theme--dark.excalidraw .layer-ui__search-header .ExcTextField__input{background-color:#31303b}.excalidraw .layer-ui__search-header .ExcTextField__input{border-radius:var(--border-radius-md);border:0}.excalidraw .layer-ui__search-header .ExcTextField__input input::placeholder{font-size:.9rem}.excalidraw .layer-ui__search-count{display:flex;justify-content:space-between;align-items:center;padding:8px 8px 0;margin:0 .75rem .25rem;font-size:.8em}.excalidraw .layer-ui__search-count .result-nav{display:flex}.excalidraw .layer-ui__search-count .result-nav .result-nav-btn{width:36px;height:36px;--button-border: transparent}.excalidraw .layer-ui__search-count .result-nav .result-nav-btn:active{background-color:var(--color-surface-high)}.excalidraw .layer-ui__search-count .result-nav .result-nav-btn:first-child{margin-right:4px}.excalidraw .layer-ui__search-result-container{overflow-y:auto;flex:1 1 0;display:flex;flex-direction:column;padding:0 .75rem;gap:.125rem}.excalidraw .layer-ui__search .collapsible-items{gap:2px}.excalidraw .layer-ui__search-result-title{font-size:.875rem;margin-bottom:.25rem;display:flex;align-items:center;gap:.25rem;font-weight:700}.excalidraw .layer-ui__search-result-title .title-icon{width:.875rem;height:.875rem;margin-right:.25rem}.excalidraw .layer-ui__search-result-title .title-icon svg g{stroke-width:1.25}.excalidraw .layer-ui__divider{width:100%;margin-top:.25rem;margin-bottom:1rem;position:relative}.excalidraw .layer-ui__result-item{display:flex;align-items:center;min-height:1.875rem;flex:0 0 auto;padding:.25rem .75rem;cursor:pointer;border:1px solid transparent;outline:none;font-size:16px;border-radius:var(--border-radius-md)}.excalidraw .layer-ui__result-item .text-icon{width:1rem;height:1rem;margin-right:.75rem}.excalidraw .layer-ui__result-item .preview-text{flex:1;max-height:48px;line-height:24px;overflow:hidden;text-overflow:ellipsis;word-break:break-all}.excalidraw .layer-ui__result-item:hover{background-color:var(--color-surface-high)}.excalidraw .layer-ui__result-item:active{border-color:var(--color-primary)}.excalidraw .layer-ui__result-item.active{background-color:var(--color-surface-high)}.excalidraw .dialog-mermaid-title{margin-block:.25rem;font-size:1.25rem;font-weight:700;padding-inline:2.5rem}.excalidraw.theme--dark .chat-message--assistant .chat-message__content{background:var(--color-surface-lowest)}.excalidraw.theme--dark .chat-message--system .chat-message__content{color:var(--color-surface-low)}.excalidraw .chat-interface{display:flex;flex-direction:column;height:100%;min-height:0;position:relative}@media screen and (max-width: 861px){.excalidraw .chat-interface{min-height:200px}}.excalidraw .chat-interface__messages{flex:1 1 0;overflow-y:auto;margin-bottom:.5rem;padding:1rem .5rem 0;display:flex;flex-direction:column;gap:2rem;min-height:0;border-top-left-radius:var(--border-radius-lg);border-top-right-radius:var(--border-radius-lg)}@media screen and (max-width: 861px){.excalidraw .chat-interface__messages{min-height:100px;padding:.75rem}}.excalidraw .chat-interface__welcome-screen{display:flex;align-items:center;justify-content:center;height:100%;min-height:200px}.excalidraw .chat-interface__welcome-screen__welcome-message{text-align:center}.excalidraw .chat-interface__welcome-screen__welcome-message h3{margin:0 0 .5rem;font-size:1.25rem;font-weight:600}.excalidraw .chat-interface__welcome-screen__welcome-message p{margin:0 0 .2rem;font-size:.875rem;color:var(--color-on-surface)}@media screen and (max-width: 861px){.excalidraw .chat-interface__welcome-screen{min-height:100px}}.excalidraw .chat-interface__input-outer{position:relative;min-height:71px}.excalidraw .chat-interface__input-container{display:flex;flex-direction:column;justify-content:flex-end}.excalidraw .chat-interface__input-wrapper{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:flex-end;gap:.5rem;border:1px solid var(--dialog-border-color);border-radius:var(--border-radius-lg);padding:.75rem;background:var(--color-surface-lowest);transition:border-color .2s ease}.excalidraw .chat-interface__input-wrapper:focus-within{border-color:var(--color-primary)}@media screen and (max-width: 861px){.excalidraw .chat-interface__input-wrapper{padding:.5rem .75rem}}.excalidraw .chat-interface__input{flex:1;border:none;outline:none;font-size:.875rem;line-height:1.5;min-height:24px;max-height:120px;overflow-x:hidden;border:none!important;background:transparent!important;color:var(--color-on-surface)}.excalidraw .chat-interface__input::placeholder{color:var(--color-gray-40)}@media screen and (max-width: 861px){.excalidraw .chat-interface__input{line-height:1.4;min-height:20px;max-height:100px;resize:none;padding:0}.excalidraw .chat-interface__input::placeholder{opacity:.6}}.excalidraw .chat-interface__send-button{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:50%;background:var(--color-primary);color:var(--color-surface-lowest);cursor:pointer;margin-bottom:8px}.excalidraw .chat-interface__send-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.excalidraw .chat-interface__send-button:hover{background-color:var(--color-primary-darker)}.excalidraw .chat-interface__send-button svg{transform:rotate(-90deg)}.excalidraw .chat-message{display:flex;align-items:center;gap:.5rem}.excalidraw .chat-message--user{justify-content:flex-end}.excalidraw .chat-message--user .chat-message__content{background:var(--color-primary-light);color:var(--text-primary-color);border-radius:var(--border-radius-md);min-width:6rem}.excalidraw .chat-message--assistant{flex-direction:column;justify-content:flex-start;align-items:flex-start}.excalidraw .chat-message--assistant .chat-message__content{background:var(--color-surface-low);color:var(--color-on-surface);border-radius:var(--border-radius-md);min-width:6rem}.excalidraw .chat-message--assistant .chat-message__content .chat-message__body{font-family:monospace}.excalidraw .chat-message--system{justify-content:flex-start;margin-bottom:0}.excalidraw .chat-message--system .chat-message__content{background:var(--color-warning);color:var(--color-on-surface);border-radius:var(--border-radius-md);min-width:6rem}.excalidraw .chat-message--system .chat-message__content .chat-message__body{font-family:monospace}.excalidraw .chat-message__content{max-width:80%;padding:.75rem 1rem;box-shadow:var(--chat-msg-shadow)}.excalidraw .chat-message__header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;font-size:.75rem}.excalidraw .chat-message__role{font-weight:600}.excalidraw .chat-message__timestamp{font-size:.625rem}.excalidraw .chat-message__actions{display:flex;align-items:center;gap:.5rem}.excalidraw .chat-message__action{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;padding:.25rem 0;color:var(--color-gray-60);transition:color .2s ease;flex-shrink:0}.excalidraw .chat-message__action.invisible{visibility:hidden;pointer-events:none}.excalidraw .chat-message__action:hover{color:var(--color-primary)}.excalidraw .chat-message__action svg{width:14px;height:14px}.excalidraw .chat-message__action--danger:hover{color:var(--color-danger)}.excalidraw .chat-message__body{line-height:1.5}.excalidraw .chat-message__text{white-space:pre-wrap;word-wrap:break-word}.excalidraw .chat-message__cursor{display:inline-block;margin-left:2px;color:currentColor;animation:blink 1s infinite}.excalidraw .chat-message__loading{display:flex;align-items:center;gap:.5rem}.excalidraw .chat-message__typing-indicator{display:flex;gap:.25rem}.excalidraw .chat-message__typing-indicator span{width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.4;animation:typing 1.4s infinite ease-in-out}.excalidraw .chat-message__typing-indicator span:nth-child(1){animation-delay:-.32s}.excalidraw .chat-message__typing-indicator span:nth-child(2){animation-delay:-.16s}.excalidraw .chat-message__typing-indicator span:nth-child(3){animation-delay:0s}.excalidraw .chat-message__error{color:var(--color-danger);font-weight:500;white-space:pre-wrap;word-wrap:break-word;display:flex;flex-direction:column;gap:.5rem}.excalidraw .chat-message__error_message{background:var(--color-warning-background);color:var(--color-warning-color);padding:.5rem .75rem;border-radius:var(--border-radius-md);margin-top:1rem;font-size:.875rem}.excalidraw .chat-message__error-link{display:flex;align-items:center;background:none;border:none;cursor:pointer;font-size:.875rem;font-weight:500;padding:0;margin-top:1rem;text-decoration:underline;font-family:inherit;color:var(--link-color)}.excalidraw .chat-message__error-link:hover{color:var(--link-color-hover)}.excalidraw .chat-message__error-link:active{color:var(--link-color-active)}.excalidraw .chat-message__error-link:disabled{cursor:not-allowed;text-decoration:none}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.4}40%{transform:scale(1);opacity:1}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.excalidraw .Modal.Dialog.ttd-dialog{padding:1.25rem}.excalidraw .Modal.Dialog.ttd-dialog.Dialog--fullscreen{margin-top:0}.excalidraw .Modal.Dialog.ttd-dialog .Island{padding-inline:0!important;height:100%;display:flex;flex-direction:column;flex:1 1 auto}.excalidraw .Modal.Dialog.ttd-dialog .Modal__content{max-height:100%;min-height:95vh;height:100%}@media screen and (min-width: 861px){.excalidraw .Modal.Dialog.ttd-dialog .Modal__content{max-height:min(950px,100vh - 4rem);height:100%;min-height:unset}}.excalidraw .Modal.Dialog.ttd-dialog .Dialog__content{flex:1 1 auto}@media screen and (max-width: 861px){.excalidraw .Modal.Dialog.ttd-dialog .Dialog__content{margin-top:0!important}}.excalidraw .ttd-dialog-desc{font-size:15px;font-style:italic;font-weight:500;margin:.5rem 0 1.5rem}.excalidraw .ttd-dialog-tabs-root{width:100%;height:100%;display:flex;flex-direction:column}.excalidraw .ttd-dialog-tab-trigger{color:var(--color-on-surface);font-size:.875rem;margin:0;padding:0 1rem;background-color:transparent;border:0;height:2.875rem;font-weight:600;font-family:inherit;letter-spacing:.4px}.excalidraw .ttd-dialog-tab-trigger[data-state=active]{border-bottom:2px solid var(--color-primary)}.excalidraw .ttd-dialog-tab-trigger__content{display:flex;align-items:center}.excalidraw .ttd-dialog-tab-trigger__badge{display:flex;align-items:center;justify-content:center;padding:1px 6px;margin-left:10px;font-size:10px;border-radius:12px;background:var(--color-promo);color:var(--color-surface-lowest)}.excalidraw .ttd-dialog-triggers{border-bottom:1px solid var(--color-surface-high);margin-bottom:1rem;padding-inline:2.5rem}@media screen and (max-width: 861px){.excalidraw .ttd-dialog-triggers{margin-bottom:1rem}}.excalidraw .ttd-dialog-content{padding-inline:2.5rem;height:100%;display:flex;flex-direction:column;overflow:visible;outline:none}.excalidraw .ttd-dialog-content[hidden]{display:none}@media screen and (max-width: 861px){.excalidraw .ttd-dialog-content{padding-inline:1rem;flex-grow:1}}.excalidraw .ttd-dialog-panel__header .dropdown-menu{z-index:2;margin:0;right:0;left:auto;min-width:280px}.excalidraw .ttd-dialog-panel__header .dropdown-menu .dropdown-menu-container.dropdown-menu-container{padding-inline:.5rem!important;padding-top:.5rem;padding-bottom:.5rem;max-height:min(400px,70vh);height:fit-content;overflow-y:auto;box-shadow:var(--shadow-island);border-radius:var(--border-radius-lg);background-color:var(--island-bg-color-alt)}.excalidraw .ttd-dialog-layout{display:grid;grid-template-columns:1fr 1fr;height:100%}.excalidraw .ttd-dialog-layout--split{gap:2rem;min-width:0}@media screen and (max-width: 861px){.excalidraw .ttd-dialog-layout--split{grid-template-columns:1fr;grid-template-rows:1fr auto;grid-row-gap:0}}.excalidraw .ttd-dialog-layout--split .ttd-dialog-chat-panel{min-width:0}@media screen and (max-width: 861px){.excalidraw .ttd-dialog-layout--split .ttd-dialog-chat-panel{width:100%;flex:0 0 auto;height:auto;min-height:250px}}.excalidraw .ttd-dialog-layout--split .ttd-dialog-preview-panel{min-width:0;overflow:hidden}@media screen and (max-width: 861px){.excalidraw .ttd-dialog-layout--split .ttd-dialog-preview-panel{width:100%;flex:0 0 auto;max-width:100%;min-height:280px;height:unset}}.excalidraw .ttd-dialog-layout--chat-only{grid-template-columns:1fr}.excalidraw .ttd-dialog-layout--chat-only .invisible{display:none}@media screen and (max-width: 861px){.excalidraw .ttd-dialog-layout--chat-only .ttd-dialog-chat-panel{height:unset}}@media screen and (max-width: 861px){.excalidraw .ttd-dialog-layout--chat-only .chat-interface{max-height:100%}.excalidraw .ttd-dialog-layout--chat-only .chat-interface__messages{max-height:unset}}.excalidraw .ttd-dialog-input{width:auto;height:10rem;resize:none;border-radius:var(--border-radius-lg);border:1px solid var(--dialog-border-color);white-space:pre-wrap;padding:.85rem;box-sizing:border-box;font-family:monospace}@media screen and (min-width: 861px){.excalidraw .ttd-dialog-input{width:100%;height:100%}}.excalidraw .ttd-dialog-input--loading{display:flex;align-items:center;justify-content:center}.excalidraw .ttd-dialog-input--codemirror{padding:0;overflow:hidden;height:0;flex:1 1 0;min-height:0}.excalidraw .ttd-dialog-input--codemirror .cm-editor{height:100%;font-family:monospace}.excalidraw .ttd-dialog-input--codemirror .cm-editor.cm-focused{outline:none}.excalidraw .ttd-dialog-input--codemirror .cm-scroller{padding:.85rem 0;overflow:auto}.excalidraw .ttd-dialog-input--codemirror .cm-gutters{padding-left:.25rem}.excalidraw .ttd-dialog-input--codemirror .cm-content{padding:0}.excalidraw .ttd-dialog-input--codemirror .cm-placeholder{color:var(--color-gray-40);font-style:italic}.excalidraw .ttd-dialog-output-wrapper{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;flex-grow:1;position:relative;overflow:hidden;max-height:100%;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==) left center;border-radius:var(--border-radius-lg);border:1px solid var(--dialog-border-color);height:400px;width:auto;max-width:100%}@media screen and (max-width: 600px){.excalidraw .ttd-dialog-output-wrapper{height:200px}}@media screen and (max-width: 861px){.excalidraw .ttd-dialog-output-wrapper{width:100%;max-width:100%}}.excalidraw .ttd-dialog-output-wrapper--error{background:none;border:1px solid var(--dialog-border-color);border-radius:var(--border-radius-lg)}.excalidraw .ttd-dialog-output-wrapper canvas{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.excalidraw .ttd-dialog-output-canvas-container{display:flex;width:100%;height:100%;align-items:center;justify-content:center;flex-grow:1;position:relative;-webkit-user-select:none;user-select:none}.excalidraw .ttd-dialog-output-canvas-container.invisible{visibility:hidden;pointer-events:none}.excalidraw .ttd-dialog-output-canvas-content{display:flex;width:100%;height:100%;align-items:center;justify-content:center;flex-grow:1}.excalidraw .ttd-dialog-output-canvas-content canvas{image-rendering:auto}.excalidraw .ttd-dialog-output-error{position:absolute;z-index:10;display:flex;align-items:center;justify-content:center;padding:2rem}.excalidraw .ttd-dialog-output-error .ttd-dialog-output-error-content{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:2.5rem 2rem;background:var(--color-surface-primary)}.excalidraw .ttd-dialog-output-error .ttd-dialog-output-error-icon{color:var(--color-danger);display:flex;align-items:center;justify-content:center}.excalidraw .ttd-dialog-output-error .ttd-dialog-output-error-icon svg{width:52px;height:52px;stroke-width:1.5}.excalidraw .ttd-dialog-output-error .ttd-dialog-output-error-title{font-size:1.25rem;font-weight:600;color:var(--color-danger);text-align:center;margin-top:.25rem}.excalidraw .ttd-dialog-output-error .ttd-dialog-output-error-summary{width:100%;max-width:640px;color:var(--color-gray-50);font-size:.9rem;text-align:left}.excalidraw .ttd-dialog-output-error .ttd-dialog-output-error-summary__headline{font-weight:600;color:var(--color-gray-60)}.excalidraw .ttd-dialog-output-error .ttd-dialog-output-error-summary__label{margin-top:.35rem;font-weight:500}.excalidraw .ttd-dialog-output-error .ttd-dialog-output-error-summary__causes{margin:.35rem 0 0;padding-left:2rem}.excalidraw .ttd-dialog-output-error .ttd-dialog-output-error-message{text-align:left;font-weight:400;color:var(--color-gray-50);word-break:break-word;white-space:pre-wrap;max-width:640px;width:100%;font-family:monospace}.excalidraw .ttd-dialog-output-error .ttd-dialog-output-error-message__caret{color:var(--color-danger)}.excalidraw .ttd-dialog-output-error .ttd-dialog-output-error-autofix-slot{align-self:flex-start;margin-top:.35rem;min-height:2.5rem;display:flex;align-items:flex-start}.excalidraw .ttd-dialog-output-error .ttd-dialog-output-error-autofix{margin-top:0;white-space:nowrap}.excalidraw .ttd-dialog-panels{height:100%}@media screen and (min-width: 861px){.excalidraw .ttd-dialog-panels{display:grid;grid-template-columns:1fr 1fr;gap:2rem}}.excalidraw .ttd-dialog-chat-panel,.excalidraw .ttd-dialog-preview-panel{display:flex;flex-direction:column;width:100%;height:100%;min-width:0;align-items:stretch}.excalidraw .ttd-dialog-panel{display:flex;flex-direction:column;width:100%;height:100%}@media screen and (max-width: 861px){.excalidraw .ttd-dialog-panel{height:50%}}.excalidraw .ttd-dialog-panel__header{display:flex;align-items:center;gap:.3rem;height:36px;margin-top:.2rem;margin-bottom:.5rem;flex-shrink:0}.excalidraw .ttd-dialog-panel__header label{font-size:14px;line-height:22px;font-style:normal;font-weight:600}.excalidraw .ttd-dialog-panel__label-wrapper{display:flex;justify-content:space-between;align-items:center;width:100%}.excalidraw .ttd-dialog-panel__label-group{display:flex;gap:5px}.excalidraw .ttd-dialog-panel__header-right{display:flex;align-items:center;gap:.75rem}.excalidraw .ttd-dialog-panel__rate-limit{font-size:.75rem;font-weight:500;white-space:nowrap}.excalidraw .ttd-dialog-panel__rate-limit--danger{color:var(--color-danger)}.excalidraw .ttd-dialog-panel__menu-wrapper{position:relative}.excalidraw .ttd-dialog-panel__menu-wrapper .ttd-dialog-menu-trigger{height:40px;width:40px}.excalidraw .ttd-dialog-panel__menu-wrapper .dropdown-menu{margin-top:.375rem;right:0}.excalidraw .ttd-dialog-panel textarea{height:100%;resize:none;border-radius:var(--border-radius-lg);border:1px solid var(--dialog-border-color);white-space:pre-wrap;padding:.85rem;box-sizing:border-box;width:100%;font-family:monospace}@media screen and (max-width: 861px){.excalidraw .ttd-dialog-panel textarea{width:auto}}.excalidraw .ttd-dialog-panel-button-container{display:flex;align-items:center;flex-grow:0;height:40px;flex-shrink:0;margin-top:1rem;margin-bottom:.5rem}@media screen and (max-width: 861px){.excalidraw .ttd-dialog-panel-button-container{margin-top:.5rem}}.excalidraw .ttd-dialog-panel-button-container.invisible{visibility:hidden}@media screen and (max-width: 861px){.excalidraw .ttd-dialog-panel-button-container.invisible{display:none}}.excalidraw .ttd-dialog-panel-button.excalidraw-button{font-family:inherit;font-weight:600;height:2.5rem;font-size:12px;color:#fff;background-color:var(--color-primary);width:100%}.excalidraw .ttd-dialog-panel-button.excalidraw-button:hover{background-color:var(--color-primary-darker)}.excalidraw .ttd-dialog-panel-button.excalidraw-button:active{background-color:var(--color-primary-darkest)}.excalidraw .ttd-dialog-panel-button.excalidraw-button:disabled{opacity:.5;cursor:not-allowed}.excalidraw .ttd-dialog-panel-button.excalidraw-button:disabled:hover{background-color:var(--color-primary)}@media screen and (min-width: 861px){.excalidraw .ttd-dialog-panel-button.excalidraw-button{width:auto;min-width:7.5rem}}.excalidraw.theme--dark.excalidraw .ttd-dialog-panel-button.excalidraw-button{color:var(--color-gray-100)}.excalidraw .ttd-dialog-panel-button{position:relative}.excalidraw .ttd-dialog-panel-button div{display:contents}.excalidraw .ttd-dialog-panel-button div.invisible{visibility:hidden}.excalidraw .ttd-dialog-panel-button div.Spinner{display:flex!important;position:absolute;top:0;right:0;bottom:0;left:0;--spinner-color: white}.excalidraw.theme--dark.excalidraw .ttd-dialog-panel-button div.Spinner{--spinner-color: var(--color-gray-100)}.excalidraw .ttd-dialog-panel-button div span{padding-left:.5rem;display:flex}.excalidraw .ttd-dialog-submit-shortcut{margin-inline-start:.5rem;font-size:.625rem;opacity:.6;display:flex;gap:.125rem}.excalidraw .ttd-dialog-submit-shortcut__key{border:1px solid gray;padding:2px 3px;border-radius:4px}.excalidraw .ttd-dialog-panel-action-link{display:flex;align-items:center;gap:.25rem;background:none;border:none;color:var(--color-primary);font-weight:500;font-family:inherit;height:40px}.excalidraw .ttd-dialog-panel-action-link__icon{display:inline-flex;align-items:center}.excalidraw .ttd-dialog-panel-action-link__icon svg{width:12px;height:12px}@media screen and (max-width: 861px){.excalidraw .ttd-dialog-panel-action-link{height:unset}}.excalidraw .dropdown-menu-item-custom.ttd-chat-menu-item{display:flex;width:unset;align-items:center;justify-content:space-between;padding:.25rem .5rem;cursor:pointer;position:relative;border:1px solid transparent;border-radius:var(--border-radius-md);margin-top:1px}.excalidraw .dropdown-menu-item-custom.ttd-chat-menu-item:hover{background-color:var(--button-hover-bg)}.excalidraw .dropdown-menu-item-custom.ttd-chat-menu-item:active{border:1px solid var(--button-active-border)}.excalidraw .dropdown-menu-item-custom.ttd-chat-menu-item--active{background-color:var(--color-surface-primary-container)}.excalidraw .dropdown-menu-item-custom.ttd-chat-menu-item .ttd-chat-menu-item__title{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.excalidraw .dropdown-menu-item-custom.ttd-chat-menu-item:hover .ttd-chat-menu-item__delete{visibility:visible}.excalidraw .dropdown-menu-item-custom.ttd-chat-menu-item .ttd-chat-menu-item__delete{border:none;padding:.25rem;cursor:pointer;flex-shrink:0;margin-left:.5rem;display:flex;align-items:center;justify-content:center;background:transparent;visibility:hidden}.excalidraw .dropdown-menu-item-custom.ttd-chat-menu-item .ttd-chat-menu-item__delete:hover{color:var(--color-danger)}.excalidraw.theme--dark.excalidraw .dropdown-menu-item-custom.ttd-chat-menu-item .ttd-chat-menu-item__delete svg{color:var(--color-on-surface)}.excalidraw.theme--dark.excalidraw .dropdown-menu-item-custom.ttd-chat-menu-item .ttd-chat-menu-item__delete:hover svg{color:var(--color-danger)}.excalidraw .dropdown-menu-item-custom.ttd-chat-menu-item .ttd-chat-menu-item__delete svg{width:16px;height:16px}.excalidraw .ttd-dialog-preview-panel--hidden{display:none}.excalidraw .ttd-chat-history-menu{display:flex;gap:1rem;align-items:center}.excalidraw .drag-input-container{display:flex;width:100%;border-radius:var(--border-radius-lg)}.excalidraw .drag-input-container:focus-within{box-shadow:0 0 0 1px var(--color-primary-darkest);border-radius:var(--border-radius-md);background:transparent}.excalidraw .disabled{opacity:.5;pointer-events:none}.excalidraw .drag-input-label{flex-shrink:0;border:0;padding:0 .5rem 0 .25rem;min-width:1rem;width:1.5rem;height:2rem;box-sizing:content-box;color:var(--popup-text-color);display:flex;align-items:center;justify-content:center;position:relative}.excalidraw .drag-input{box-sizing:border-box;width:100%;margin:0;font-size:.875rem;font-family:inherit;background-color:transparent;color:var(--text-primary-color);border:0;outline:none;height:2rem;letter-spacing:.4px;padding:.5rem .5rem .5rem .25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.excalidraw .drag-input:focus-visible{box-shadow:none}.exc-stats{width:204px;position:absolute;top:60px;font-size:12px;z-index:var(--zIndex-layerUI);pointer-events:var(--ui-pointerEvents)}:root[dir=rtl] .exc-stats{left:12px;right:initial}.exc-stats h2{font-size:1.5em;margin-block-start:.83em;margin-block-end:.83em;font-weight:700}.exc-stats h3{white-space:nowrap;font-size:1.17em;margin:0;font-weight:700}.exc-stats__rows{display:flex;flex-direction:column;gap:.3125rem}.exc-stats__row{display:flex;justify-content:space-between;align-items:center;display:grid;gap:4px}.exc-stats__row div+div{text-align:right}.exc-stats__row:empty{display:none}.exc-stats__row--heading{text-align:center;font-weight:700;margin:.25rem 0}.exc-stats .title{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.exc-stats .title h2{margin:0}.exc-stats .close{height:16px;width:16px;cursor:pointer}.exc-stats .close svg{width:100%;height:100%}.excalidraw .ElementLinkDialog{position:absolute;top:var(--editor-container-padding);left:var(--editor-container-padding);z-index:var(--zIndex-modal);border-radius:10px;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;box-shadow:var(--shadow-island);background-color:var(--island-bg-color)}.excalidraw--mobile.excalidraw .ElementLinkDialog{left:0;margin-left:.5rem;margin-right:.5rem;width:calc(100% - 1rem);box-sizing:border-box;z-index:5}.excalidraw .ElementLinkDialog .ElementLinkDialog__header h2{margin-top:0;margin-bottom:.5rem}.excalidraw--mobile.excalidraw .ElementLinkDialog .ElementLinkDialog__header h2{font-size:1.25rem}.excalidraw .ElementLinkDialog .ElementLinkDialog__header p{margin:0}.excalidraw--mobile.excalidraw .ElementLinkDialog .ElementLinkDialog__header p{font-size:.875rem}.excalidraw .ElementLinkDialog .ElementLinkDialog__header{margin-bottom:1.5rem}.excalidraw--mobile.excalidraw .ElementLinkDialog .ElementLinkDialog__header{margin-bottom:1rem}.excalidraw .ElementLinkDialog .ElementLinkDialog__input{display:flex}.excalidraw .ElementLinkDialog .ElementLinkDialog__input .ElementLinkDialog__input-field{flex:1}.excalidraw .ElementLinkDialog .ElementLinkDialog__input .ElementLinkDialog__remove{color:#c92a2a;margin-left:1rem}.excalidraw .ElementLinkDialog .ElementLinkDialog__input .ElementLinkDialog__remove .ToolIcon__icon{width:2rem;height:2rem}.excalidraw .ElementLinkDialog .ElementLinkDialog__input .ElementLinkDialog__remove .ToolIcon__icon svg{color:#fa5252}.excalidraw .ElementLinkDialog .ElementLinkDialog__actions{display:flex;justify-content:flex-end;margin-top:1.5rem}.excalidraw--mobile.excalidraw .ElementLinkDialog .ElementLinkDialog__actions{font-size:.875rem;margin-top:1rem}.excalidraw .HelpDialog .Modal__content{max-width:960px}.excalidraw .HelpDialog h3{margin:1.5rem 0;font-weight:700;font-size:1.125rem}.excalidraw .HelpDialog__header{display:flex;flex-wrap:wrap;gap:.75rem}.excalidraw .HelpDialog__btn{--background: var(--color-surface-mid);display:flex;column-gap:.5rem;align-items:center;background-color:var(--background);padding:.625rem 1rem;border:1px solid var(--background);border-radius:var(--border-radius-lg);color:var(--text-primary-color);font-weight:600;font-size:.75rem;letter-spacing:.4px}.excalidraw.theme--dark.excalidraw .HelpDialog__btn{--background: var(--color-surface-high)}.excalidraw.theme--dark.excalidraw .HelpDialog__btn:hover{--background: #363541}.excalidraw .HelpDialog__btn:hover{--background: var(--color-surface-high);text-decoration:none}.excalidraw .HelpDialog__btn:active{border-color:var(--color-primary)}.excalidraw .HelpDialog__link-icon{line-height:0}.excalidraw .HelpDialog__link-icon svg{width:1rem;height:1rem}.excalidraw .HelpDialog__islands-container{display:grid;grid-column-gap:1.5rem;grid-row-gap:2rem}@media screen and (min-width: 1024px){.excalidraw .HelpDialog__islands-container{grid-template-columns:1fr 1fr}}@media screen and (min-width: 1024px){.excalidraw .HelpDialog__island--tools{grid-area:1/1/2/2}.excalidraw .HelpDialog__island--view{grid-area:2/1/3/2}.excalidraw .HelpDialog__island--editor{grid-area:1/2/3/3}}.excalidraw .HelpDialog__island h4{font-size:1rem;font-weight:700;margin:0;margin-bottom:.625rem}.excalidraw .HelpDialog__island-content{border:1px solid var(--dialog-border-color);border-radius:var(--border-radius-lg)}.excalidraw .HelpDialog__shortcut{border-bottom:1px solid var(--dialog-border-color);padding:.375rem .75rem;display:flex;justify-content:space-between;align-items:center;font-size:.875rem;column-gap:.5rem}.excalidraw .HelpDialog__shortcut:last-child{border-bottom:none}.excalidraw .HelpDialog__key-container{display:flex;align-items:center;column-gap:.25rem;flex-shrink:0}.excalidraw .HelpDialog__key{display:flex;box-sizing:border-box;font-size:.625rem;background-color:var(--color-primary-light);border-radius:var(--border-radius-md);padding:.5rem;word-break:keep-all;align-items:center;font-family:inherit;line-height:1}.excalidraw .HintViewer{pointer-events:none;box-sizing:border-box;position:absolute;display:flex;flex-direction:column;justify-content:center;left:0;top:100%;max-width:100%;width:100%;margin-top:.5rem;text-align:center;color:var(--color-gray-40);font-size:.75rem}.excalidraw--mobile.excalidraw .HintViewer{position:static;padding-right:2rem}.excalidraw .HintViewer>span{padding:.25rem}.excalidraw .HintViewer kbd{display:inline-block;margin:0 1px;font-family:monospace;border:1px solid var(--color-gray-40);border-radius:4px;padding:1px 3px;font-size:10px}.excalidraw.theme--dark .HintViewer{color:var(--color-gray-60)}.excalidraw.theme--dark .HintViewer kbd{border-color:var(--color-gray-60)}.excalidraw{--Switch-disabled-color: var(--color-border-outline);--Switch-disabled-toggled-background: var(--color-border-outline-variant);--Switch-disabled-border: var(--color-border-outline-variant);--Switch-track-background: var(--island-bg-color);--Switch-thumb-background: var(--color-on-surface);--Switch-hover-background: var(--color-brand-hover);--Switch-active-background: var(--color-brand-active)}.excalidraw .Switch{position:relative;box-sizing:border-box;width:40px;height:20px;border-radius:12px;transition-property:background,border;transition-duration:.15s;transition-timing-function:ease-out;background:var(--Switch-track-background);border:1px solid var(--Switch-disabled-color)}.excalidraw .Switch:hover{background:var(--Switch-track-background);border:1px solid var(--Switch-hover-background)}.excalidraw .Switch:active{border:1px solid var(--Switch-active-background)}.excalidraw .Switch.toggled{background:var(--color-primary);border:1px solid var(--color-primary)}.excalidraw .Switch.toggled:hover{background:var(--color-primary-darker);border:1px solid var(--color-primary-darker)}.excalidraw .Switch.disabled{background:var(--Switch-track-background);border:1px solid var(--Switch-disabled-border)}.excalidraw .Switch.disabled.toggled{background:var(--Switch-disabled-toggled-background);border:1px solid var(--Switch-disabled-toggled-background)}.excalidraw .Switch:before{content:"";box-sizing:border-box;display:block;pointer-events:none;position:absolute;border-radius:100%;transition:all .15s ease-out;width:10px;height:10px;top:4px;left:4px;background:var(--Switch-thumb-background)}.excalidraw .Switch:active:before{width:12px}.excalidraw .Switch.toggled:before{width:14px;height:14px;left:22px;top:2px;background:var(--Switch-track-background)}.excalidraw .Switch.toggled:active:before{width:16px;left:20px}.excalidraw .Switch.disabled:before{background:var(--Switch-disabled-color)}.excalidraw .Switch.disabled.toggled:before{background:var(--Switch-disabled-color)}.excalidraw .Switch input{width:100%;height:100%;margin:0;border-radius:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer}.excalidraw .Switch input:disabled{cursor:unset}.excalidraw{--ImageExportModal-preview-border: #d6d6d6}.excalidraw.theme--dark{--ImageExportModal-preview-border: #5c5c5c}.excalidraw .ImageExportModal{display:flex;flex-direction:row;justify-content:space-between;-webkit-user-select:none;user-select:none}.excalidraw .ImageExportModal h3{font-family:Assistant;font-style:normal;font-weight:700;font-size:1.313rem;line-height:130%;padding:0;margin:0}.excalidraw--mobile.excalidraw .ImageExportModal h3{display:none}.excalidraw .ImageExportModal>h3{display:none}.excalidraw--mobile.excalidraw .ImageExportModal>h3{display:block}.excalidraw--mobile.excalidraw .ImageExportModal{flex-direction:column;height:calc(100vh - 5rem)}.excalidraw .ImageExportModal__preview{box-sizing:border-box;display:flex;flex-direction:column;align-items:center;height:360px;width:55%;margin-right:1.5rem}.excalidraw--mobile.excalidraw .ImageExportModal__preview{max-width:unset;margin-right:unset;width:100%;height:unset;flex-grow:1}.excalidraw .ImageExportModal__preview__filename>input{margin-top:1rem}.excalidraw .ImageExportModal__preview__canvas{box-sizing:border-box;width:100%;height:100%;display:flex;flex-grow:1;justify-content:center;align-items:center;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==) left center;border:1px solid var(--ImageExportModal-preview-border);border-radius:12px;overflow:hidden;padding:1rem}.excalidraw .ImageExportModal__preview__canvas>canvas{max-width:calc(100% - 2rem);max-height:calc(100% - 2rem);filter:none!important}.excalidraw--mobile.excalidraw .ImageExportModal__preview__canvas>canvas{max-height:100%}.excalidraw--mobile.excalidraw .ImageExportModal__preview__canvas{margin-top:24px;max-width:unset}.excalidraw .ImageExportModal__settings{display:flex;flex-direction:column;flex-wrap:wrap;gap:18px}.excalidraw--mobile.excalidraw .ImageExportModal__settings{margin-left:unset;margin-top:1rem;flex-direction:row;gap:6px 34px;align-content:flex-start}.excalidraw .ImageExportModal__settings__setting{display:flex;flex-direction:row;justify-content:space-between;align-items:center}.excalidraw--mobile.excalidraw .ImageExportModal__settings__setting{flex-direction:column;align-items:start;justify-content:unset;height:52px}.excalidraw .ImageExportModal__settings__setting__label{display:flex;flex-direction:row;align-items:center;font-family:Assistant;font-weight:600;font-size:1rem;line-height:150%}.excalidraw .ImageExportModal__settings__setting__label svg{width:20px;height:20px;margin-left:10px}.excalidraw .ImageExportModal__settings__setting__content{display:flex;height:100%;align-items:center}.excalidraw .ImageExportModal__settings__buttons{flex-grow:1;flex-wrap:wrap;display:flex;flex-direction:row;gap:11px;align-items:flex-end;align-content:flex-end}.excalidraw--mobile.excalidraw .ImageExportModal__settings__buttons{padding-top:32px;flex-basis:100%;justify-content:center}.excalidraw .Card{display:flex;flex-direction:column;align-items:center;max-width:290px;margin:1em;text-align:center}.excalidraw .Card .Card-icon{font-size:2.6em;display:flex;flex:0 0 auto;padding:1.4rem;border-radius:50%;background:var(--card-color);color:#fff}.excalidraw .Card .Card-icon svg{width:2.8rem;height:2.8rem}.excalidraw .Card .Card-details{font-size:.96em;min-height:90px;padding:0 1em;margin-bottom:auto}.excalidraw .Card .Card-button.ToolIcon_type_button{height:2.5rem;margin-top:1em;margin-bottom:.3em;background-color:var(--card-color)}.excalidraw .Card .Card-button.ToolIcon_type_button:hover{background-color:var(--card-color-darker)}.excalidraw .Card .Card-button.ToolIcon_type_button:active{background-color:var(--card-color-darkest)}.excalidraw .Card .Card-button.ToolIcon_type_button .ToolIcon__label{color:#fff}.excalidraw .Card .Card-button.ToolIcon_type_button .Spinner{--spinner-color: #fff}.excalidraw .ExportDialog__preview{--preview-padding: calc(var(--space-factor) * 4);background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg==) left center;text-align:center;padding:var(--preview-padding);margin-bottom:calc(var(--space-factor) * 3);display:flex;justify-content:center;align-items:center}.excalidraw .ExportDialog__preview canvas{max-width:calc(100% - var(--preview-padding) * 2);max-height:25rem}.excalidraw.theme--dark .ExportDialog__preview canvas{filter:none}.excalidraw .ExportDialog__actions{width:100%;display:flex;grid-gap:calc(var(--space-factor) * 2);align-items:top;justify-content:space-between}.excalidraw--mobile.excalidraw .ExportDialog{display:flex;flex-direction:column}.excalidraw--mobile.excalidraw .ExportDialog__actions{flex-direction:column;align-items:center}.excalidraw--mobile.excalidraw .ExportDialog__actions>*{margin-bottom:calc(var(--space-factor) * 3)}.excalidraw--mobile.excalidraw .ExportDialog__preview canvas{max-height:30vh}.excalidraw--mobile.excalidraw .ExportDialog__dialog,.excalidraw--mobile.excalidraw .ExportDialog__dialog .Island{height:100%;box-sizing:border-box}.excalidraw--mobile.excalidraw .ExportDialog__dialog .Island{overflow-y:auto}.excalidraw .ExportDialog--json .ExportDialog-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));justify-items:center;row-gap:2em}@media (max-width: 460px){.excalidraw .ExportDialog--json .ExportDialog-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.excalidraw .ExportDialog--json .ExportDialog-cards .Card-details{min-height:40px}}.excalidraw .ExportDialog--json .ExportDialog-cards .ProjectName{width:fit-content;margin:1em auto;align-items:flex-start;flex-direction:column}.excalidraw .ExportDialog--json .ExportDialog-cards .ProjectName .TextInput{width:auto}.excalidraw .ExportDialog--json .ExportDialog-cards .ProjectName-label{margin:.625em 0;font-weight:700}.excalidraw button.ExportDialog-imageExportButton{border:0;width:5rem;height:5rem;margin:0 .2em;padding:0;display:flex;align-items:center;justify-content:center;border-radius:1rem;background-color:var(--button-color);box-shadow:0 3px 5px -1px #00000047,0 6px 10px #00000024;font-family:Cascadia;font-size:1.8em;color:#fff}.excalidraw button.ExportDialog-imageExportButton:hover{background-color:var(--button-color-darker)}.excalidraw button.ExportDialog-imageExportButton:active{background-color:var(--button-color-darkest);box-shadow:none}.excalidraw button.ExportDialog-imageExportButton svg{width:.9em}.excalidraw .layer-ui__wrapper.animate{transition:width .1s ease-in-out}.excalidraw .layer-ui__wrapper{position:absolute;width:100%;height:100%;pointer-events:none;z-index:var(--zIndex-layerUI)}.excalidraw .layer-ui__wrapper__top-right{display:flex;width:100%;justify-content:flex-end;gap:.75rem;pointer-events:none!important}.excalidraw .layer-ui__wrapper__top-right--compact{gap:.5rem}.excalidraw .layer-ui__wrapper__top-right>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .layer-ui__wrapper__footer{width:100%}.excalidraw .layer-ui__wrapper__footer-right{z-index:100;display:flex}.excalidraw .layer-ui__wrapper .zen-mode-transition{transition:transform .5s ease-in-out}:root[dir=ltr] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-left{transform:translate(-999px)}:root[dir=ltr] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-right{transform:translate(999px)}:root[dir=rtl] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-left{transform:translate(999px)}:root[dir=rtl] .excalidraw .layer-ui__wrapper .zen-mode-transition.transition-right{transform:translate(-999px)}.excalidraw .layer-ui__wrapper .zen-mode-transition.layer-ui__wrapper__footer-left--transition-bottom{transform:translateY(92px)}.excalidraw .layer-ui__wrapper .disable-zen-mode{padding:10px;position:absolute;bottom:0}[dir=ltr] .excalidraw .layer-ui__wrapper .disable-zen-mode{right:1rem}[dir=rtl] .excalidraw .layer-ui__wrapper .disable-zen-mode{left:1rem}.excalidraw .layer-ui__wrapper .disable-zen-mode{opacity:0;visibility:hidden;transition:visibility 0s linear 0s,opacity .5s;font-family:var(--ui-font);font-size:.75rem;font-weight:500;line-height:1;border-radius:var(--border-radius-lg);border:1px solid var(--default-border-color);background-color:var(--island-bg-color);color:var(--text-primary-color)}.excalidraw .layer-ui__wrapper .disable-zen-mode:hover{background-color:var(--button-hover-bg)}.excalidraw .layer-ui__wrapper .disable-zen-mode:active{border-color:var(--color-primary)}.excalidraw .layer-ui__wrapper .disable-zen-mode--visible{opacity:1;visibility:visible;transition:visibility 0s linear .3s,opacity .5s;transition-delay:.8s;pointer-events:var(--ui-pointerEvents)}.excalidraw .layer-ui__wrapper .layer-ui__wrapper__footer-left>*,.excalidraw .layer-ui__wrapper .footer-center>*,.excalidraw .layer-ui__wrapper .layer-ui__wrapper__footer-right>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .layer-ui__wrapper .layer-ui__wrapper__footer-right{margin-top:auto;margin-bottom:auto}.excalidraw .disable-view-mode{display:flex;justify-content:center;cursor:pointer;align-items:center;border:1px solid var(--color-primary);padding:.5rem;border-radius:var(--border-radius-lg);background-color:var(--island-bg-color);text-decoration:none!important;font-family:var(--ui-font);font-size:.8333rem;box-sizing:border-box;width:var(--mobile-action-button-size, var(--default-button-size));height:var(--mobile-action-button-size, var(--default-button-size));border:none;box-shadow:0 0 0 1px var(--color-surface-lowest);background-color:var(--color-surface-low);color:var(--button-color, var(--color-on-surface))!important}.excalidraw .disable-view-mode:active{box-shadow:0 0 0 1px var(--color-brand-active)}.excalidraw .disable-view-mode:hover{background-color:var(--color-primary);color:#fff!important}.excalidraw .disable-view-mode:active{background-color:var(--color-primary-darker)}.excalidraw .disable-view-mode svg{width:20px;height:20px}.excalidraw .theme--dark .plus-banner:hover{color:#000!important}.excalidraw .App-toolbar.zen-mode .ToolIcon__keybinding,.excalidraw .App-toolbar.zen-mode .HintViewer,.excalidraw .App-toolbar--compact .ToolIcon__keybinding{display:none}.excalidraw .App-toolbar--compact .App-toolbar__divider{margin:0}.excalidraw .App-toolbar__divider{width:1px;height:1.5rem;align-self:center;background-color:var(--default-border-color);margin:0 .25rem}.excalidraw--mobile.excalidraw .App-toolbar__divider{margin:0}.excalidraw .App-toolbar__extra-tools-trigger{box-shadow:none;border:0;background-color:transparent}.excalidraw .App-toolbar__extra-tools-trigger:active{background-color:var(--button-hover-bg);box-shadow:0 0 0 1px var(--button-active-border, var(--color-primary-darkest)) inset}.excalidraw .App-toolbar__extra-tools-trigger:hover{background-color:transparent}.excalidraw .App-toolbar__extra-tools-trigger--selected,.excalidraw .App-toolbar__extra-tools-trigger--selected:hover{background:var(--color-primary-light);color:var(--color-primary)}.excalidraw .App-toolbar__extra-tools-dropdown{margin-top:.375rem;right:0;min-width:11.875rem;z-index:1}.excalidraw .SVGLayer{pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0;z-index:var(--zIndex-svgLayer)}.excalidraw .SVGLayer svg{image-rendering:auto;overflow:visible;position:absolute;width:100%;height:100%;top:0;left:0}.excalidraw .UnlockPopup{position:absolute;z-index:var(--zIndex-interactiveCanvas);display:flex;justify-content:center;align-items:center;gap:.5rem;border-radius:.5rem;background:var(--island-bg-color);box-shadow:var(--shadow-island);padding:.8rem;cursor:pointer;color:var(--color-gray-60)}.excalidraw .UnlockPopup:focus{outline:none}.excalidraw .UnlockPopup svg{display:block;width:1.25rem;height:1.25rem;color:var(--color-gray-60)}.excalidraw .UnlockPopup:hover svg{color:var(--color-primary)}.excalidraw .UnlockPopup:active svg{transform:scale(.95)}.footer-center{pointer-events:none;display:flex;width:100%;justify-content:flex-start;margin-inline-end:.6rem}.footer-center>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .collab-button{--button-bg: var(--color-primary);--button-color: var(--color-surface-lowest);--button-border: var(--color-primary);--button-width: var(--lg-button-size);--button-height: var(--lg-button-size);--button-hover-bg: var(--color-primary-darker);--button-hover-border: var(--color-primary-darker);--button-active-bg: var(--color-primary-darker);box-shadow:0 0 0 1px var(--color-surface-lowest);flex-shrink:0}.excalidraw .collab-button.active.active{background-color:#0fb884;border-color:#0fb884}.excalidraw .collab-button.active.active svg{color:#fff}.excalidraw .collab-button.active.active:hover,.excalidraw .collab-button.active.active:active{background-color:#0fb884;border-color:#0fb884}.excalidraw .CollabButton.is-collaborating{background-color:var(--button-special-active-bg-color)}.excalidraw .CollabButton.is-collaborating .ToolIcon__icon svg,.excalidraw .CollabButton.is-collaborating .ToolIcon__label{color:var(--icon-green-fill-color)}:root[dir=ltr] .excalidraw .CollabButton-collaborators{right:-5px}:root[dir=rtl] .excalidraw .CollabButton-collaborators{left:-5px}.excalidraw .CollabButton-collaborators{min-width:1em;min-height:1em;line-height:1;position:absolute;bottom:-5px;padding:3px;border-radius:50%;background-color:#b2f2bb;color:#2b8a3e;font-size:.6rem;font-family:Cascadia}.excalidraw .ExcalidrawLogo{--logo-icon--mobile: 1rem;--logo-text--mobile: .75rem;--logo-icon--xs: 2rem;--logo-text--xs: 1.5rem;--logo-icon--small: 2.5rem;--logo-text--small: 1.75rem;--logo-icon--normal: 3rem;--logo-text--normal: 2.2rem;--logo-icon--large: 90px;--logo-text--large: 65px;display:flex;align-items:center}.excalidraw .ExcalidrawLogo svg{flex:0 0 auto}.excalidraw .ExcalidrawLogo .ExcalidrawLogo-icon{width:auto;color:var(--color-logo-icon)}.excalidraw .ExcalidrawLogo .ExcalidrawLogo-text{margin-left:.75rem;width:auto;color:var(--color-logo-text)}.excalidraw .ExcalidrawLogo.is-mobile .ExcalidrawLogo-icon{height:var(--logo-icon--mobile)}.excalidraw .ExcalidrawLogo.is-mobile .ExcalidrawLogo-text{height:var(--logo-text--mobile);margin-left:.5rem}.excalidraw .ExcalidrawLogo.is-xs .ExcalidrawLogo-icon{height:var(--logo-icon--xs)}.excalidraw .ExcalidrawLogo.is-xs .ExcalidrawLogo-text{height:var(--logo-text--xs)}.excalidraw .ExcalidrawLogo.is-small .ExcalidrawLogo-icon{height:var(--logo-icon--small)}.excalidraw .ExcalidrawLogo.is-small .ExcalidrawLogo-text{height:var(--logo-text--small)}.excalidraw .ExcalidrawLogo.is-normal .ExcalidrawLogo-icon{height:var(--logo-icon--normal)}.excalidraw .ExcalidrawLogo.is-normal .ExcalidrawLogo-text{height:var(--logo-text--normal)}.excalidraw .ExcalidrawLogo.is-large .ExcalidrawLogo-icon{height:var(--logo-icon--large)}.excalidraw .ExcalidrawLogo.is-large .ExcalidrawLogo-text{height:var(--logo-text--large)}.excalidraw .excalifont{font-family:Excalifont,Xiaolai}.excalidraw .welcome-screen-decor{pointer-events:none;color:var(--color-gray-40)}.excalidraw .welcome-screen-decor a{--color: var(--color-primary);color:var(--color);text-decoration:none;margin-bottom:-6px}.excalidraw.theme--dark .welcome-screen-decor{color:var(--color-gray-60)}@media (max-height: 780px){.excalidraw .welcome-screen-decor-hint{display:none!important}}@media (max-width: 1024px),(max-width: 800px){.excalidraw .welcome-screen-decor-hint .welcome-screen-decor--help,.excalidraw .welcome-screen-decor-hint .welcome-screen-decor--menu{display:none}}.excalidraw .welcome-screen-decor-hint--help{display:flex;position:absolute;right:0;bottom:100%}:root[dir=rtl] .excalidraw .welcome-screen-decor-hint--help{left:0;right:auto}.excalidraw .welcome-screen-decor-hint--help svg{margin-top:.5rem;width:85px;height:71px;transform:scaleX(-1) rotate(80deg)}:root[dir=rtl] .excalidraw .welcome-screen-decor-hint--help svg{transform:rotate(80deg)}.excalidraw .welcome-screen-decor-hint--toolbar{position:absolute;top:100%;left:50%;transform:translate(-50%);margin-top:2.5rem;display:flex;align-items:baseline}.excalidraw .welcome-screen-decor-hint--toolbar .welcome-screen-decor-hint__label{width:120px;position:relative;top:-.5rem}.excalidraw .welcome-screen-decor-hint--toolbar svg{width:38px;height:78px}:root[dir=rtl] .excalidraw .welcome-screen-decor-hint--toolbar svg{transform:scaleX(-1)}.excalidraw .welcome-screen-decor-hint--menu{position:absolute;width:320px;font-size:1rem;top:100%;margin-top:.25rem;margin-inline-start:.6rem;display:flex;align-items:flex-end;gap:.5rem}.excalidraw .welcome-screen-decor-hint--menu svg{width:41px;height:94px}:root[dir=rtl] .excalidraw .welcome-screen-decor-hint--menu svg{transform:scaleX(-1)}@media (max-width: 860px){.excalidraw .welcome-screen-decor-hint--menu .welcome-screen-decor-hint__label{max-width:160px}}.excalidraw .welcome-screen-center{display:flex;flex-direction:column;gap:2rem;justify-content:center;align-items:center;position:absolute;pointer-events:none;left:1rem;top:1rem;right:1rem;bottom:1rem}.excalidraw .welcome-screen-center__logo{display:flex;align-items:center;column-gap:.75rem;font-size:2.25rem}.excalidraw .welcome-screen-center__heading{font-size:1.125rem;text-align:center;line-height:1.35rem}.excalidraw .welcome-screen-menu{display:flex;flex-direction:column;gap:2px;justify-content:center;align-items:center}.excalidraw .welcome-screen-menu-item{box-sizing:border-box;pointer-events:var(--ui-pointerEvents);color:var(--color-gray-50);font-size:.875rem;width:100%;min-width:300px;max-width:400px;display:grid;align-items:center;justify-content:space-between;background:none;border:1px solid transparent;padding:.75rem;border-radius:var(--border-radius-md);grid-template-columns:calc(var(--default-icon-size) + .5rem) 1fr 3rem}.excalidraw .welcome-screen-menu-item__text{display:flex;align-items:center;margin-right:auto;text-align:left;column-gap:.5rem}.excalidraw .welcome-screen-menu-item__icon{width:var(--default-icon-size);height:var(--default-icon-size)}.excalidraw .welcome-screen-menu-item__shortcut{margin-left:auto;color:var(--color-gray-40);font-size:.75rem}.excalidraw .welcome-screen-menu-item:hover{text-decoration:none;background:var(--button-hover-bg)}.excalidraw .welcome-screen-menu-item:hover .welcome-screen-menu-item__shortcut,.excalidraw .welcome-screen-menu-item:hover .welcome-screen-menu-item__icon,.excalidraw .welcome-screen-menu-item:hover .welcome-screen-menu-item__text{color:var(--color-gray-100)}.excalidraw .welcome-screen-menu-item:active{background:var(--button-hover-bg);border-color:var(--color-brand-active)}.excalidraw .welcome-screen-menu-item:active .welcome-screen-menu-item__shortcut,.excalidraw .welcome-screen-menu-item:active .welcome-screen-menu-item__icon,.excalidraw .welcome-screen-menu-item:active .welcome-screen-menu-item__text{color:var(--color-gray-100)}.excalidraw.theme--dark .welcome-screen-menu-item,.excalidraw.theme--dark .welcome-screen-menu-item__shortcut{color:var(--color-gray-60)}.excalidraw.theme--dark .welcome-screen-menu-item:hover{background-color:var(--color-surface-low)}.excalidraw.theme--dark .welcome-screen-menu-item:hover .welcome-screen-menu-item__icon,.excalidraw.theme--dark .welcome-screen-menu-item:hover .welcome-screen-menu-item__shortcut,.excalidraw.theme--dark .welcome-screen-menu-item:hover .welcome-screen-menu-item__text,.excalidraw.theme--dark .welcome-screen-menu-item:active .welcome-screen-menu-item__icon,.excalidraw.theme--dark .welcome-screen-menu-item:active .welcome-screen-menu-item__shortcut,.excalidraw.theme--dark .welcome-screen-menu-item:active .welcome-screen-menu-item__text{color:var(--color-gray-10)}.excalidraw.excalidraw--mobile .welcome-screen-center{margin-bottom:2rem}@media (max-height: 500px),(max-width: 320px){.excalidraw .welcome-screen-center{display:none}}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;-webkit-user-select:none;user-select:none}.LoadingMessage{position:absolute;top:0;right:0;bottom:0;left:0;z-index:999;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.LoadingMessage .Spinner{font-size:2.8em}.LoadingMessage .LoadingMessage-text{margin-top:1em;font-size:.8em}.LoadingMessage--dark{background-color:#121212;color:#ced4da}.excalidraw{--theme-filter: none;--button-destructive-bg-color: #ffe3e3;--button-destructive-color: #c92a2a;--button-gray-1: #e9ecef;--button-gray-2: #ced4da;--button-gray-3: #adb5bd;--mobile-action-button-bg: rgba(255, 255, 255, .35);--mobile-color-border: var(--default-border-color);--button-special-active-bg-color: #ebfbee;--dialog-border-color: var(--color-gray-20);--dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');--focus-highlight-color: #a5d8ff;--icon-fill-color: var(--color-on-surface);--icon-green-fill-color: #2b8a3e;--default-bg-color: #fff;--input-bg-color: #fff;--input-border-color: #ced4da;--input-hover-bg-color: #f1f3f5;--input-label-color: #495057;--island-bg-color: #ffffff;--island-bg-color-alt: #fff;--keybinding-color: var(--color-gray-40);--link-color: #1c7ed6;--link-color-hover: #1971c2;--link-color-active: #a5d8ff;--overlay-bg-color: rgba(255, 255, 255, .88);--popup-bg-color: var(--island-bg-color);--popup-secondary-bg-color: #f1f3f5;--popup-text-color: #000;--popup-text-inverted-color: #fff;--select-highlight-color: #339af0;--shadow-island: 0px 0px 1px 0px rgba(0, 0, 0, .17), 0px 0px 3px 0px rgba(0, 0, 0, .08), 0px 7px 14px 0px rgba(0, 0, 0, .05);--shadow-island-stronger: 0px 0px 1px 0px rgba(0, 0, 0, .17), 0px 0px 3px 0px rgba(0, 0, 0, .08), 0px 7px 14px 0px rgb(0 0 0 / 18%);--button-hover-bg: var(--color-surface-high);--button-active-bg: var(--color-surface-high);--button-active-border: var(--color-brand-active);--default-border-color: var(--color-surface-high);--default-button-size: 2rem;--default-icon-size: 1rem;--lg-button-size: 2.25rem;--lg-icon-size: 1rem;--editor-container-padding: 1rem;--mobile-action-button-size: 2rem;--scrollbar-thumb: var(--button-gray-2);--scrollbar-thumb-hover: var(--button-gray-3);--color-slider-track: hsl(240, 100%, 90%);--color-slider-thumb: var(--color-gray-80);--modal-shadow: 0px 100px 80px rgba(0, 0, 0, .07), 0px 41.7776px 33.4221px rgba(0, 0, 0, .0503198), 0px 22.3363px 17.869px rgba(0, 0, 0, .0417275), 0px 12.5216px 10.0172px rgba(0, 0, 0, .035), 0px 6.6501px 5.32008px rgba(0, 0, 0, .0282725), 0px 2.76726px 2.21381px rgba(0, 0, 0, .0196802);--avatar-border-color: var(--color-gray-20);--sidebar-shadow: 0px 100px 80px rgba(0, 0, 0, .07), 0px 41.7776px 33.4221px rgba(0, 0, 0, .0503198), 0px 22.3363px 17.869px rgba(0, 0, 0, .0417275), 0px 12.5216px 10.0172px rgba(0, 0, 0, .035), 0px 6.6501px 5.32008px rgba(0, 0, 0, .0282725), 0px 2.76726px 2.21381px rgba(0, 0, 0, .0196802);--sidebar-border-color: var(--color-surface-high);--sidebar-bg-color: var(--island-bg-color);--library-dropdown-shadow: 0px 15px 6px rgba(0, 0, 0, .01), 0px 8px 5px rgba(0, 0, 0, .05), 0px 4px 4px rgba(0, 0, 0, .09), 0px 1px 2px rgba(0, 0, 0, .1), 0px 0px 0px rgba(0, 0, 0, .1);--chat-msg-shadow: 0 1px 2px rgba(0, 0, 0, .1);--space-factor: .25rem;--text-primary-color: var(--color-on-surface);--color-selection: #6965db;--color-icon-white: #fff;--color-primary: #6965db;--color-primary-darker: #5b57d1;--color-primary-darkest: #4a47b1;--color-primary-light: #e3e2fe;--color-primary-light-darker: #d7d5ff;--color-primary-hover: #5753d0;--color-gray-10: #f5f5f5;--color-gray-20: #ebebeb;--color-gray-30: #d6d6d6;--color-gray-40: #b8b8b8;--color-gray-50: #999999;--color-gray-60: #7a7a7a;--color-gray-70: #5c5c5c;--color-gray-80: #3d3d3d;--color-gray-85: #242424;--color-gray-90: #1e1e1e;--color-gray-100: #121212;--color-disabled: var(--color-gray-40);--color-warning: #fceeca;--color-warning-dark: #f5c354;--color-warning-darker: #f3ab2c;--color-warning-darkest: #ec8b14;--color-text-warning: var(--text-primary-color);--color-danger: #db6965;--color-danger-dark: #db6965;--color-danger-darker: #d65550;--color-danger-darkest: #d1413c;--color-danger-text: black;--color-danger-background: #fff0f0;--color-danger-icon-background: #ffdad6;--color-danger-color: #700000;--color-danger-icon-color: #700000;--color-warning-background: var(--color-warning);--color-warning-icon-background: var(--color-warning-dark);--color-warning-color: var(--text-primary-color);--color-warning-icon-color: var(--text-primary-color);--color-muted: var(--color-gray-30);--color-muted-darker: var(--color-gray-60);--color-muted-darkest: var(--color-gray-100);--color-muted-background: var(--color-gray-80);--color-muted-background-darker: var(--color-gray-100);--color-promo: var(--color-primary);--color-success: #cafccc;--color-success-darker: #bafabc;--color-success-darkest: #a5eba8;--color-success-text: #268029;--color-success-contrast: #65bb6a;--color-success-contrast-hover: #6bcf70;--color-success-contrast-active: #6edf74;--color-logo-icon: var(--color-primary);--color-logo-text: #190064;--border-radius-md: .375rem;--border-radius-lg: .5rem;--color-surface-high: #f1f0ff;--color-surface-mid: #f6f6f9;--color-surface-low: #ececf4;--color-surface-lowest: #ffffff;--color-on-surface: #1b1b1f;--color-brand-hover: #5753d0;--color-on-primary-container: #030064;--color-brand-active: #4440bf;--color-border-outline: #767680;--color-border-outline-variant: #c5c5d0;--color-surface-primary-container: #e0dfff;--color-badge: #0b6513;--background-color-badge: #d3ffd2}.excalidraw--mobile.excalidraw{--editor-container-padding: .75rem}@media screen and (min-device-width: 1921px){.excalidraw{--lg-button-size: 2.5rem;--lg-icon-size: 1.25rem;--default-button-size: 2.25rem;--default-icon-size: 1.25rem}}.excalidraw.theme--dark.theme--dark-background-none{background:none}.excalidraw.theme--dark{--theme-filter: invert(93%) hue-rotate(180deg);--button-destructive-bg-color: #5a0000;--button-destructive-color: #ffa8a8;--button-gray-1: #363636;--button-gray-2: #272727;--button-gray-3: #222;--mobile-action-button-bg: var(--island-bg-color);--mobile-color-border: rgba(255, 255, 255, .85);--button-special-active-bg-color: #204624;--dialog-border-color: var(--color-gray-80);--dropdown-icon: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path fill="%23ced4da" d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>');--focus-highlight-color: #228be6;--icon-green-fill-color: #69db7c;--default-bg-color: #121212;--input-bg-color: #121212;--input-border-color: #2e2e2e;--input-hover-bg-color: #181818;--input-label-color: #e9ecef;--island-bg-color: #232329;--island-bg-color-alt: hsl(240, 12%, 12%);--keybinding-color: var(--color-gray-60);--link-color: #4dabf7;--overlay-bg-color: rgba(52, 58, 64, .12);--popup-secondary-bg-color: #222;--popup-text-color: #ced4da;--popup-text-inverted-color: #2c2c2c;--select-highlight-color: #4dabf7;--modal-shadow: 0px 100px 80px rgba(0, 0, 0, .07), 0px 41.7776px 33.4221px rgba(0, 0, 0, .0503198), 0px 22.3363px 17.869px rgba(0, 0, 0, .0417275), 0px 12.5216px 10.0172px rgba(0, 0, 0, .035), 0px 6.6501px 5.32008px rgba(0, 0, 0, .0282725), 0px 2.76726px 2.21381px rgba(0, 0, 0, .0196802);--avatar-border-color: var(--color-gray-85);--scrollbar-thumb: #343a40;--scrollbar-thumb-hover: #495057;--color-slider-track: hsl(244, 23%, 39%);--color-selection: #3530c4;--color-icon-white: var(--color-gray-90);--color-primary: #a8a5ff;--color-primary-darker: #b2aeff;--color-primary-darkest: #beb9ff;--color-primary-light: #4f4d6f;--color-primary-light-darker: #43415e;--color-primary-hover: #bbb8ff;--color-disabled: var(--color-gray-70);--color-text-warning: var(--color-gray-80);--color-danger: #ffa8a5;--color-danger-dark: #672120;--color-danger-darker: #8f2625;--color-danger-darkest: #ac2b29;--color-danger-text: #fbcbcc;--color-danger-background: #fbcbcc;--color-danger-icon-background: #672120;--color-danger-color: #261919;--color-danger-icon-color: #fbcbcc;--color-warning-background: var(--color-warning);--color-warning-icon-background: var(--color-warning-dark);--color-warning-color: var(--color-gray-80);--color-warning-icon-color: var(--color-gray-80);--color-muted: var(--color-gray-80);--color-muted-darker: var(--color-gray-60);--color-muted-darkest: var(--color-gray-20);--color-muted-background: var(--color-gray-40);--color-muted-background-darker: var(--color-gray-20);--color-logo-text: #e2dfff;--color-surface-high: #2e2d39;--color-surface-low: hsl(240, 8%, 15%);--color-surface-mid: hsl(240 6% 10%);--color-surface-lowest: hsl(0, 0%, 7%);--color-on-surface: #e3e3e8;--color-brand-hover: #bbb8ff;--color-on-primary-container: #e0dfff;--color-brand-active: #d0ccff;--color-border-outline: #8e8d9c;--color-border-outline-variant: #46464f;--color-surface-primary-container: #403e6a}:root{--zIndex-canvas: 1;--zIndex-interactiveCanvas: 2;--zIndex-svgLayer: 3;--zIndex-wysiwyg: 3;--zIndex-canvasButtons: 3;--zIndex-layerUI: 4;--zIndex-eyeDropperBackdrop: 5;--zIndex-eyeDropperPreview: 6;--zIndex-hyperlinkContainer: 7;--zIndex-ui-bottom: 60;--zIndex-ui-context-menu: 90;--zIndex-ui-styles-popup: 100;--zIndex-ui-top: 100;--zIndex-ui-main-menu: 110;--zIndex-ui-library: 120;--zIndex-modal: 1000;--zIndex-popup: 1001;--zIndex-toast: 999999;--sab: env(safe-area-inset-bottom);--sal: env(safe-area-inset-left);--sar: env(safe-area-inset-right);--sat: env(safe-area-inset-top)}body.excalidraw-cursor-resize,body.excalidraw-cursor-resize a:hover,body.excalidraw-cursor-resize *{cursor:ew-resize}.excalidraw{--ui-font: Assistant, system-ui, BlinkMacSystemFont, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;font-family:var(--ui-font);position:relative;overflow:hidden;color:var(--text-primary-color);display:flex;top:0;bottom:0;left:0;right:0;height:100%;width:100%}.excalidraw button{font-size:.8333rem}.excalidraw button,.excalidraw label{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.excalidraw button{cursor:pointer;-webkit-user-select:none;user-select:none}.excalidraw:focus{outline:none}.excalidraw{-webkit-user-select:none;user-select:none}.excalidraw .excalidraw-link,.excalidraw a{font-weight:500;text-decoration:none;color:var(--link-color);-webkit-user-select:none;user-select:none;cursor:pointer}.excalidraw .excalidraw-link:hover,.excalidraw a:hover{text-decoration:underline}.excalidraw .excalidraw-link:active,.excalidraw a:active{text-decoration:none}.excalidraw canvas{touch-action:none;image-rendering:pixelated;image-rendering:-moz-crisp-edges;z-index:var(--zIndex-canvas)}.excalidraw canvas.interactive{z-index:var(--zIndex-interactiveCanvas);filter:var(--theme-filter)}.excalidraw__canvas-wrapper,.excalidraw__canvas.static{pointer-events:none}.excalidraw__canvas{position:absolute}.excalidraw__embeddable{width:100%;height:100%;border:0}.excalidraw__embeddable-container{position:absolute;z-index:2;transform-origin:top left;pointer-events:none}.excalidraw .FixedSideContainer{padding-top:var(--sat, 0);padding-right:var(--sar, 0);padding-bottom:var(--sab, 0);padding-left:var(--sal, 0)}.excalidraw .panelRow{display:flex;justify-content:space-between}.excalidraw .selected-shape-actions{display:flex;flex-direction:column;row-gap:.75rem}.excalidraw .selected-shape-actions h3,.excalidraw .selected-shape-actions legend,.excalidraw .selected-shape-actions .control-label{margin:0;margin-bottom:.25rem;font-size:.75rem;color:var(--text-primary-color);font-weight:400;display:block}.excalidraw .selected-shape-actions .control-label input{display:block;width:100%}.excalidraw .selected-shape-actions legend{padding:0}.excalidraw .selected-shape-actions .iconSelectList{flex-wrap:wrap;position:relative}.excalidraw .selected-shape-actions .buttonList{flex-wrap:wrap;display:flex;column-gap:.5rem;row-gap:.5rem}.excalidraw .selected-shape-actions .buttonList label{font-size:.75rem}.excalidraw .selected-shape-actions .buttonList input[type=radio],.excalidraw .selected-shape-actions .buttonList input[type=button]{opacity:0;position:absolute;pointer-events:none}.excalidraw .selected-shape-actions .buttonList .iconRow{margin-top:8px}.excalidraw .selected-shape-actions fieldset{margin:0;padding:0;border:none}.excalidraw .divider{width:1px;background-color:#e9ecef;margin:1px}.excalidraw .welcome-screen-menu-item:focus-visible,.excalidraw .dropdown-menu-item:focus-visible,.excalidraw button:focus-visible,.excalidraw .buttonList label:focus-within,.excalidraw input:focus-visible{outline:transparent;box-shadow:0 0 0 1px var(--color-brand-hover)}.excalidraw [data-radix-collection-item]:focus-visible{box-shadow:none!important}.excalidraw .buttonList .ToolIcon__icon{all:unset!important;display:flex!important}.excalidraw .buttonList button{background-color:transparent}.excalidraw .buttonList label,.excalidraw .buttonList button,.excalidraw .buttonList .zIndexButton{display:flex;justify-content:center;align-items:center;padding:.625rem;width:var(--button-width, var(--default-button-size));height:var(--button-height, var(--default-button-size));box-sizing:border-box;border-width:1px;border-style:solid;border-color:var(--button-border, var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg, var(--island-bg-color));color:var(--button-color, var(--color-on-surface));font-family:var(--ui-font)}.excalidraw .buttonList label svg,.excalidraw .buttonList button svg,.excalidraw .buttonList .zIndexButton svg{width:var(--button-width, var(--lg-icon-size));height:var(--button-height, var(--lg-icon-size))}.excalidraw .buttonList label:hover,.excalidraw .buttonList button:hover,.excalidraw .buttonList .zIndexButton:hover{background-color:var(--button-hover-bg, var(--island-bg-color));border-color:var(--button-hover-border, var(--button-border, var(--default-border-color)));color:var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)))}.excalidraw .buttonList label:active,.excalidraw .buttonList button:active,.excalidraw .buttonList .zIndexButton:active{background-color:var(--button-active-bg, var(--island-bg-color));border-color:var(--button-active-border, var(--color-primary-darkest))}.excalidraw .buttonList label.active,.excalidraw .buttonList button.active,.excalidraw .buttonList .zIndexButton.active{background-color:var(--button-selected-bg, var(--color-surface-primary-container));border-color:var(--button-selected-border, var(--color-surface-primary-container))}.excalidraw .buttonList label.active:hover,.excalidraw .buttonList button.active:hover,.excalidraw .buttonList .zIndexButton.active:hover{background-color:var(--button-selected-hover-bg, var(--color-surface-primary-container))}.excalidraw .buttonList label.active svg,.excalidraw .buttonList button.active svg,.excalidraw .buttonList .zIndexButton.active svg{color:var(--button-color, var(--color-on-primary-container))}.excalidraw--mobile.excalidraw .buttonList label,.excalidraw .buttonList button,.excalidraw .buttonList .zIndexButton{width:var(--mobile-action-button-size, var(--default-button-size));height:var(--mobile-action-button-size, var(--default-button-size))}.excalidraw .buttonList label,.excalidraw .buttonList button,.excalidraw .buttonList .zIndexButton{padding:0}.excalidraw .buttonList label svg,.excalidraw .buttonList button svg,.excalidraw .buttonList .zIndexButton svg{width:var(--default-icon-size);height:var(--default-icon-size)}.excalidraw .App-top-bar{z-index:var(--zIndex-ui-top);display:flex;flex-direction:column}.excalidraw .App-welcome-screen{z-index:var(--zIndex-layerUI)}.excalidraw .App-bottom-bar{position:absolute;width:calc(100% - 28px);max-width:450px;bottom:0;left:50%;transform:translate(-50%);--bar-padding: calc(4 * var(--space-factor));z-index:var(--zIndex-ui-bottom);display:flex;flex-direction:column;pointer-events:none;justify-content:center}.excalidraw .App-bottom-bar>.Island{box-sizing:border-box;max-height:100%;padding:4px;display:flex;flex-direction:column;pointer-events:var(--ui-pointerEvents)}.excalidraw .App-toolbar{display:flex;justify-content:center}.excalidraw .App-toolbar .eraser.ToolIcon:hover{--icon-fill-color: #fff;--keybinding-color: #fff}.excalidraw .App-toolbar .eraser.active{background-color:var(--color-primary)}.excalidraw .excalidraw-ui-top-left,.excalidraw .excalidraw-ui-top-right{display:flex;align-items:center;gap:.5rem}.excalidraw .App-toolbar-content{display:flex;flex-direction:column;pointer-events:none}.excalidraw .App-toolbar-content>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .App-mobile-menu{width:100%;overflow-x:visible;overflow-y:auto;box-sizing:border-box;margin-bottom:var(--bar-padding)}.excalidraw .App-mobile-menu .selected-shape-actions{padding:8px 8px 0}.excalidraw .App-menu{display:grid;color:var(--icon-fill-color)}.excalidraw .shapes-section{display:flex;justify-content:center;pointer-events:none!important}.excalidraw .shapes-section>*{pointer-events:var(--ui-pointerEvents)}.excalidraw .App-menu_top{grid-template-columns:1fr 2fr 1fr;grid-gap:1rem;align-items:flex-start;cursor:default;pointer-events:none!important}.excalidraw .App-menu_top>*{pointer-events:var(--ui-pointerEvents)}@media (min-width: 1536px){.excalidraw .App-menu_top{grid-template-columns:1fr 1fr 1fr;grid-gap:3rem}}.excalidraw .App-menu_top>*:first-child{justify-self:flex-start}.excalidraw .selected-shape-actions-container{width:fit-content}.excalidraw .selected-shape-actions-container--compact{min-width:48px}.excalidraw .App-menu_top>*:last-child{justify-self:flex-end}.excalidraw .App-menu_bottom{position:absolute;bottom:1rem;display:flex;justify-content:space-between;align-items:flex-start;cursor:default;pointer-events:none!important;box-sizing:border-box;padding:0 1rem}.excalidraw .App-menu_bottom--transition-left section{width:185px}.excalidraw .App-menu_bottom section{display:flex}.excalidraw .App-menu_bottom>*:first-child{justify-self:flex-start}.excalidraw .App-menu_bottom>*:last-child{justify-self:flex-end}.excalidraw .App-menu_left{grid-template-rows:1fr auto 1fr;height:100%}.excalidraw .App-menu_right{grid-template-rows:1fr;height:100%}.excalidraw .App-menu__left{overflow-y:auto;padding:.75rem;width:12.5rem;box-sizing:border-box;position:absolute}.excalidraw .dropdown-select{height:1.5rem;padding:0;padding-inline-start:.5rem;padding-inline-end:1.5rem;color:var(--icon-fill-color);background-color:var(--button-gray-1);border-radius:var(--space-factor);border:1px solid var(--button-gray-2);font-size:.8rem;font-family:inherit;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:var(--dropdown-icon);background-repeat:no-repeat;background-position:right .7rem top 50%,0 0}:root[dir=rtl] .excalidraw .dropdown-select{background-position:left .7rem top 50%,0 0}.excalidraw .dropdown-select{background-size:.65em auto,100%}.excalidraw .dropdown-select:focus{box-shadow:0 0 0 2px var(--focus-highlight-color)}.excalidraw .dropdown-select:hover,.excalidraw .dropdown-select:active{background-color:var(--button-gray-2)}.excalidraw .dropdown-select__language{height:2rem;background-color:var(--island-bg-color);border-color:var(--default-border-color)!important;cursor:pointer}.excalidraw .dropdown-select__language:hover{background-color:var(--island-bg-color)}.excalidraw .scroll-back-to-content{border-radius:var(--border-radius-lg);background-color:var(--island-bg-color);color:var(--icon-fill-color);border:1px solid var(--default-border-color);padding:10px 20px;position:absolute;left:50%;bottom:30px;transform:translate(-50%);pointer-events:var(--ui-pointerEvents);font-family:inherit}.excalidraw .scroll-back-to-content:hover{background-color:var(--button-hover-bg)}.excalidraw .scroll-back-to-content:active{border:1px solid var(--button-active-border)}.excalidraw .floating-status-stack{position:absolute;left:50%;bottom:30px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem;pointer-events:none}.excalidraw .floating-status-stack .scroll-back-to-content{position:static;left:auto;bottom:auto;transform:none;pointer-events:var(--ui-pointerEvents)}.excalidraw .help-icon{display:flex;justify-content:center;align-items:center;padding:.625rem;width:var(--button-width, var(--default-button-size));height:var(--button-height, var(--default-button-size));box-sizing:border-box;border-width:1px;border-style:solid;border-color:var(--button-border, var(--default-border-color));border-radius:var(--border-radius-lg);cursor:pointer;background-color:var(--button-bg, var(--island-bg-color));color:var(--button-color, var(--color-on-surface));font-family:var(--ui-font)}.excalidraw .help-icon svg{width:var(--button-width, var(--lg-icon-size));height:var(--button-height, var(--lg-icon-size))}.excalidraw .help-icon:hover{background-color:var(--button-hover-bg, var(--island-bg-color));border-color:var(--button-hover-border, var(--button-border, var(--default-border-color)));color:var(--button-hover-color, var(--button-color, var(--text-primary-color, inherit)))}.excalidraw .help-icon:active{background-color:var(--button-active-bg, var(--island-bg-color));border-color:var(--button-active-border, var(--color-primary-darkest))}.excalidraw .help-icon.active{background-color:var(--button-selected-bg, var(--color-surface-primary-container));border-color:var(--button-selected-border, var(--color-surface-primary-container))}.excalidraw .help-icon.active:hover{background-color:var(--button-selected-hover-bg, var(--color-surface-primary-container))}.excalidraw .help-icon.active svg{color:var(--button-color, var(--color-on-primary-container))}.excalidraw--mobile.excalidraw .help-icon{width:var(--mobile-action-button-size, var(--default-button-size));height:var(--mobile-action-button-size, var(--default-button-size))}.excalidraw .help-icon{border:none;box-shadow:0 0 0 1px var(--color-surface-lowest);background-color:var(--color-surface-low)}.excalidraw .help-icon:active{box-shadow:0 0 0 1px var(--color-brand-active)}.excalidraw--mobile.excalidraw .help-icon{width:var(--mobile-action-button-size, 2rem);height:var(--mobile-action-button-size, 2rem)}.excalidraw .help-icon{width:var(--lg-button-size);height:var(--lg-button-size)}.excalidraw .help-icon svg{width:var(--lg-icon-size);height:var(--lg-icon-size)}.excalidraw .reset-zoom-button{font-family:var(--ui-font)}.excalidraw .finalize-button{display:grid;grid-auto-flow:column;gap:.4em;margin-top:auto;margin-bottom:auto;margin-inline-start:.6em}.excalidraw .undo-redo-buttons,.excalidraw .eraser-buttons{display:grid;grid-auto-flow:column;margin-top:auto;margin-bottom:auto;margin-inline-start:.6em}.excalidraw--mobile.excalidraw aside{display:none}.excalidraw--mobile.excalidraw .scroll-back-to-content{bottom:calc(100px + var(--sab, 0));z-index:-1}:root[dir=rtl] .excalidraw .rtl-mirror{transform:scaleX(-1)}.excalidraw .zen-mode-visibility{visibility:visible;opacity:1;height:auto;width:auto;transition:opacity .5s}.excalidraw .zen-mode-visibility.zen-mode-visibility--hidden{visibility:hidden;opacity:0;height:0;width:0;transition:opacity .5s}.excalidraw .disable-pointerEvents{pointer-events:none!important}.excalidraw.excalidraw--view-mode .App-menu{display:flex;justify-content:space-between}.excalidraw input.is-redacted{-webkit-text-security:disc}.excalidraw input[type=text],.excalidraw textarea:not(.excalidraw-wysiwyg){color:var(--text-primary-color);border:1.5px solid var(--input-border-color);padding:.75rem;white-space:nowrap;border-radius:var(--space-factor);background-color:var(--input-bg-color)}.excalidraw input[type=text]:not(:focus):hover,.excalidraw textarea:not(.excalidraw-wysiwyg):not(:focus):hover{border-color:var(--color-brand-hover)}.excalidraw input[type=text]:focus,.excalidraw textarea:not(.excalidraw-wysiwyg):focus{outline:none;border-color:var(--color-brand-hover)}@media print{.excalidraw .App-bottom-bar,.excalidraw .FixedSideContainer,.excalidraw .layer-ui__wrapper{display:none}}.excalidraw ::-webkit-scrollbar{width:4px;height:3px}.excalidraw select::-webkit-scrollbar{width:10px}.excalidraw ::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:10px}.excalidraw ::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.excalidraw ::-webkit-scrollbar-thumb:active{background:var(--scrollbar-thumb)}.excalidraw .mobile-misc-tools-container{position:absolute;top:calc(5rem - var(--editor-container-padding));right:calc(var(--editor-container-padding) * -1);display:flex;flex-direction:column;border:1px solid var(--sidebar-border-color);border-top-left-radius:var(--border-radius-lg);border-bottom-left-radius:var(--border-radius-lg);border-right:0;overflow:hidden;background-color:var(--island-bg-color)}.excalidraw .mobile-misc-tools-container .ToolIcon__icon{width:2rem;height:2rem;border-radius:0}.excalidraw .mobile-misc-tools-container .default-sidebar-trigger{border:0}.excalidraw .App-toolbar--mobile{overflow:visible;max-width:98vw}.excalidraw .App-toolbar--mobile .ToolIcon__keybinding{display:none}.excalidraw .UserList-Wrapper{margin:0;padding:0;border:none;text-align:left}.excalidraw .UserList-Wrapper legend{display:block;font-size:.75rem;font-weight:400;margin:0 0 .25rem;padding:0}.excalidraw .main-menu{z-index:var(--zIndex-ui-main-menu)}.excalidraw .main-menu-trigger{border:none;box-shadow:0 0 0 1px var(--color-surface-lowest);background-color:var(--color-surface-low)}.excalidraw .main-menu-trigger:active{box-shadow:0 0 0 1px var(--color-brand-active)}.excalidraw--mobile.excalidraw .main-menu-trigger{width:var(--mobile-action-button-size, 2rem);height:var(--mobile-action-button-size, 2rem)}.excalidraw .App-mobile-menu,.excalidraw .App-menu__left{--button-border: transparent;--button-bg: var(--color-surface-mid)}.excalidraw.theme--dark.excalidraw .App-mobile-menu,.excalidraw.theme--dark.excalidraw .App-menu__left{--button-hover-bg: #363541;--button-bg: var(--color-surface-high)}.excalidraw .App-menu__left .buttonList{padding:.25rem 0}.excalidraw .excalidraw__paragraph{margin:1rem 0}.excalidraw .Modal__content .excalidraw__paragraph:first-child{margin-top:0}.excalidraw .Modal__content .excalidraw__paragraph+.excalidraw__paragraph{margin-top:0rem}.excalidraw .link-button{display:flex;text-decoration:none!important}.ErrorSplash.excalidraw{min-height:100vh;padding:20px 0;overflow:auto;display:flex;align-items:center;justify-content:center;-webkit-user-select:text;user-select:text}.ErrorSplash.excalidraw .ErrorSplash-messageContainer{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;background-color:#ffe3e3;border:3px solid #c92a2a}.ErrorSplash.excalidraw .ErrorSplash-paragraph{margin:15px 0;max-width:600px}.ErrorSplash.excalidraw .ErrorSplash-paragraph.align-center{text-align:center}.ErrorSplash.excalidraw .bigger,.ErrorSplash.excalidraw .bigger button{font-size:1.1em}.ErrorSplash.excalidraw .smaller,.ErrorSplash.excalidraw .smaller button{font-size:.9em}.ErrorSplash.excalidraw .ErrorSplash-details{display:flex;flex-direction:column;align-items:flex-start}.ErrorSplash.excalidraw .ErrorSplash-details textarea{width:100%;margin:10px 0;font-family:Cascadia;font-size:.8em}.excalidraw__embeddable-container .excalidraw__embeddable-container__inner{overflow:hidden;display:flex;align-items:center;justify-content:center;border-radius:var(--embeddable-radius)}.excalidraw__embeddable-container .excalidraw__embeddable__outer{width:100%;height:100%}.excalidraw__embeddable-container .excalidraw__embeddable__content{width:100%;height:100%;transform-origin:top left}.excalidraw__embeddable-container .excalidraw__embeddable__content,.excalidraw__embeddable-container .excalidraw__embeddable__content>*{border-radius:var(--embeddable-radius)}.excalidraw__embeddable-container .excalidraw__embeddable-hint{position:absolute;z-index:1;background:#00000080;padding:1rem 1.6rem;border-radius:12px;color:#fff;font-weight:700;letter-spacing:.6px;font-family:Assistant}@font-face{font-family:Assistant;src:url(/assets/Assistant-Regular-DVxZuzxb.woff2) format("woff2");font-weight:400;style:normal;display:swap}@font-face{font-family:Assistant;src:url(/assets/Assistant-Medium-DrcxCXg3.woff2) format("woff2");font-weight:500;style:normal;display:swap}@font-face{font-family:Assistant;src:url(/assets/Assistant-SemiBold-SCI4bEL9.woff2) format("woff2");font-weight:600;style:normal;display:swap}@font-face{font-family:Assistant;src:url(/assets/Assistant-Bold-gm-uSS1B.woff2) format("woff2");font-weight:700;style:normal;display:swap}.dc-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:24px;background:color-mix(in srgb,#0a0a0f 52%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:dc-confirm-fade .2s ease both}[data-theme=light] .dc-confirm-overlay{background:color-mix(in srgb,#18181b 28%,transparent)}.dc-confirm{position:relative;width:min(400px,100%);padding:22px 22px 18px;border-radius:18px 20px 16px 19px/19px 16px 20px 18px;border:2px solid color-mix(in srgb,var(--brand-purple, #6965db) 40%,transparent);background:var(--bg-elevated, var(--bg-secondary, #fff));color:var(--text-primary, #18181b);box-shadow:4px 5px color-mix(in srgb,var(--brand-purple, #6965db) 18%,transparent),0 20px 48px color-mix(in srgb,#000 22%,transparent);transform:rotate(-.4deg);animation:dc-confirm-pop .32s cubic-bezier(.22,1,.36,1) both;text-align:center}.dc-confirm--danger{border-color:color-mix(in srgb,var(--brand-purple, #6965db) 45%,transparent)}.dc-confirm__mark{width:44px;height:44px;margin:0 auto 12px;display:inline-flex;align-items:center;justify-content:center;border-radius:42% 58% 48% 52%/52% 42% 58% 48%;color:var(--brand-purple, #6965db);background:color-mix(in srgb,var(--brand-purple, #6965db) 12%,transparent);border:1.5px dashed color-mix(in srgb,var(--brand-purple, #6965db) 40%,transparent);transform:rotate(-3deg)}.dc-confirm--danger .dc-confirm__mark{color:var(--brand-accent, #f59e0b);background:color-mix(in srgb,var(--brand-accent, #f59e0b) 14%,transparent);border-color:color-mix(in srgb,var(--brand-accent, #f59e0b) 45%,transparent)}.dc-confirm__title{margin:0 0 8px;font-family:var(--font-hand);font-size:20px;font-weight:700;letter-spacing:.02em;color:var(--text-primary, #18181b)}.dc-confirm__message{margin:0 0 18px;font-size:14px;line-height:1.5;color:var(--text-secondary, #71717a);white-space:pre-line}.dc-confirm__actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.dc-confirm__btn{min-width:108px;padding:9px 16px;border-radius:999px;font-family:var(--font-hand);font-size:13px;font-weight:700;cursor:pointer;transition:transform .15s,filter .15s,background .15s,box-shadow .15s}.dc-confirm__btn:focus-visible{outline:2px solid var(--brand-purple, #6965db);outline-offset:2px}.dc-confirm__btn--cancel{border:1.5px solid var(--border-light, rgba(0, 0, 0, .12));background:transparent;color:var(--text-secondary, #71717a);transform:rotate(-1deg)}.dc-confirm__btn--cancel:hover{color:var(--text-primary, #18181b);background:color-mix(in srgb,var(--brand-purple, #6965db) 8%,transparent);transform:rotate(0)}.dc-confirm__btn--ok{border:2px solid #5a56c7;background:#6965db;color:#fff;box-shadow:2px 3px color-mix(in srgb,#6965db 35%,#000);transform:rotate(1deg)}.dc-confirm__btn--ok:hover{filter:brightness(1.06);transform:rotate(0) translateY(-1px)}.dc-confirm__btn--danger{border-color:color-mix(in srgb,var(--brand-accent, #f59e0b) 55%,#b45309);background:linear-gradient(135deg,#f59e0b,#ea580c);box-shadow:2px 3px color-mix(in srgb,#ea580c 35%,#000)}@keyframes dc-confirm-fade{0%{opacity:0}to{opacity:1}}@keyframes dc-confirm-pop{0%{opacity:0;transform:translateY(12px) scale(.94) rotate(-1.5deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(-.4deg)}}@media (prefers-reduced-motion: reduce){.dc-confirm-overlay,.dc-confirm{animation:none}}.upm{position:relative;width:100%}.upm__trigger{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:var(--obs-input-bg, var(--bg-secondary, #1e1e1e));border:1px solid var(--obs-input-border, var(--border, rgba(255,255,255,.08)));border-radius:10px;cursor:pointer;text-align:left;color:var(--obs-strong, var(--text-primary, #e8e8e8));transition:background .14s ease,border-color .14s ease,transform .05s ease;font:inherit;outline:none}.upm__trigger:hover{background:var(--obs-hover, var(--bg-hover, #252525));border-color:color-mix(in srgb,var(--accent-secondary, #6366F1) 35%,var(--obs-input-border, transparent))}.upm__trigger:focus-visible{border-color:var(--accent-secondary, #6366F1);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-secondary, #6366F1) 25%,transparent)}.upm--open .upm__trigger{background:var(--obs-hover, var(--bg-hover, #252525));border-color:color-mix(in srgb,var(--accent-secondary, #6366F1) 50%,transparent)}.upm__avatar{flex:0 0 auto;width:32px;height:32px;border-radius:999px;overflow:hidden;background:linear-gradient(135deg,#6366f1,#10b981);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;letter-spacing:.02em;box-shadow:0 1px 3px #0003}.upm__avatar img{width:100%;height:100%;object-fit:cover}.upm__avatar--lg{width:44px;height:44px;font-size:15px}.upm__initials{line-height:1}.upm__identity{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;gap:1px}.upm__identity--lg{gap:2px}.upm__name{font-size:13px;font-weight:600;color:var(--obs-strong, var(--text-primary, #e8e8e8));letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upm__email{font-size:11px;font-weight:500;color:var(--obs-muted, var(--text-secondary, #999));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upm__chev{flex:0 0 auto;display:inline-flex;color:var(--obs-muted, var(--text-secondary, #999));transition:transform .16s ease}.upm--open .upm__chev{transform:rotate(180deg)}.upm--compact .upm__email{display:none}.upm--navbar{width:auto}.upm--navbar .upm__trigger{width:auto;padding:4px;border-radius:999px;background:transparent;border:1px solid transparent;gap:0}.upm--navbar .upm__trigger:hover{background:var(--obs-hover, var(--bg-hover, #252525));border-color:color-mix(in srgb,var(--accent-secondary, #6366F1) 30%,transparent)}.upm--navbar.upm--open .upm__trigger{border-color:color-mix(in srgb,var(--accent-secondary, #6366F1) 50%,transparent)}.upm--navbar .upm__avatar{width:28px;height:28px;font-size:11px}.upm--navbar .upm__menu{bottom:auto;top:calc(100% + 8px);left:auto;right:0;min-width:260px;animation:upm-pop-down .14s ease-out}@keyframes upm-pop-down{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.upm__menu{position:absolute;bottom:calc(100% + 6px);left:0;right:0;background:var(--bg-elevated, var(--obs-surface, #1e1e1e));border:1px solid var(--border-light, var(--obs-border, rgba(255,255,255,.12)));border-radius:12px;box-shadow:0 12px 32px -8px #00000073,0 4px 12px -4px #00000040;padding:6px;z-index:1000;min-width:240px;animation:upm-pop .14s ease-out}@keyframes upm-pop{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.upm__menu-header{display:flex;align-items:center;gap:10px;padding:8px 10px 10px}.upm__menu-divider{height:1px;background:var(--border-light, var(--obs-border, rgba(255,255,255,.08)));margin:4px 2px}.upm__menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border:none;background:transparent;color:var(--obs-strong, var(--text-primary, #e8e8e8));font:inherit;font-size:13px;text-align:left;border-radius:8px;cursor:pointer;transition:background .1s ease,color .1s ease}.upm__menu-item:hover,.upm__menu-item:focus-visible{background:var(--obs-hover, var(--bg-hover, #252525));outline:none}.upm__menu-item svg{flex:0 0 auto;color:var(--obs-muted, var(--text-secondary, #999))}.upm__menu-item:hover svg{color:var(--accent-secondary, #6366F1)}.upm__menu-item--danger{color:#f87171}.upm__menu-item--danger svg{color:#f87171}.upm__menu-item--danger:hover{background:color-mix(in srgb,#ef4444 14%,transparent);color:#fca5a5}.upm__menu-item--danger:hover svg{color:#fca5a5}.nc{position:relative;flex-shrink:0}.nc__trigger{position:relative}.nc__badge{position:absolute;top:2px;right:2px;min-width:14px;height:14px;padding:0 3px;border-radius:999px;background:var(--brand-purple, #6965db);color:#fff;font-size:9px;font-weight:700;line-height:14px;text-align:center;box-shadow:0 0 0 2px var(--bg-primary, #121212);pointer-events:none}.nc-mascot{position:fixed;z-index:1800;right:24px;bottom:18px;width:min(350px,calc(100vw - 32px));padding-bottom:61px;font-family:var(--font-hand, var(--font-ui), sans-serif);filter:drop-shadow(0 14px 24px rgba(20,20,34,.2));animation:nc-mascot-arrive .52s cubic-bezier(.2,.9,.28,1.18) both}.nc-mascot__card{position:relative;z-index:3;width:100%;min-height:76px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:13px 42px 13px 13px;border:2px solid color-mix(in srgb,var(--brand-purple, #6965db) 52%,var(--border));border-radius:15px 13px 16px 12px/13px 16px 12px 15px;background:color-mix(in srgb,var(--bg-secondary) 96%,var(--brand-purple, #6965db));color:var(--text-primary);text-align:left;cursor:pointer;box-shadow:3px 4px color-mix(in srgb,var(--brand-purple, #6965db) 14%,transparent);transform:rotate(-.25deg);transition:transform .18s ease,border-color .18s ease}.nc-mascot__card:hover,.nc-mascot__card:focus-visible{transform:translateY(-2px) rotate(0);border-color:var(--brand-purple, #6965db);outline:none}.nc-mascot__bell{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;color:#fff;background:var(--brand-purple, #6965db);box-shadow:inset 0 0 0 1.5px #ffffff47}.nc-mascot__copy{min-width:0;display:flex;flex-direction:column;gap:3px}.nc-mascot__copy strong{overflow:hidden;color:var(--text-primary);font-size:13px;line-height:1.2;font-weight:700;white-space:nowrap;text-overflow:ellipsis}.nc-mascot__copy>span{display:-webkit-box;overflow:hidden;color:var(--text-secondary);font-size:11px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}.nc-mascot__open{color:var(--brand-purple, #6965db);font-size:11px;font-weight:700;white-space:nowrap}.nc-mascot__dismiss{position:absolute;z-index:5;top:9px;right:9px;width:25px;height:25px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:color-mix(in srgb,var(--bg-tertiary) 90%,transparent);color:var(--text-tertiary);cursor:pointer}.nc-mascot__dismiss:hover,.nc-mascot__dismiss:focus-visible{background:var(--bg-hover);color:var(--text-primary);outline:2px solid color-mix(in srgb,var(--brand-purple, #6965db) 40%,transparent)}.nc-mascot__robot{position:absolute;z-index:2;right:19px;bottom:0;width:76px;height:87px;pointer-events:none;transform-origin:50% 100%;animation:nc-mascot-work 2.8s ease-in-out infinite}.nc-mascot:hover .nc-mascot__robot,.nc-mascot:focus-within .nc-mascot__robot{animation-play-state:paused}@keyframes nc-mascot-arrive{0%{opacity:0;transform:translateY(95px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes nc-mascot-work{0%,to{transform:translateY(0) rotate(0)}45%{transform:translateY(-2px) rotate(-.8deg)}65%{transform:translateY(-1px) rotate(.6deg)}}@media (max-width: 600px){.nc-mascot{right:12px;bottom:max(12px,env(safe-area-inset-bottom));width:calc(100vw - 24px)}.nc-mascot__card{grid-template-columns:30px minmax(0,1fr);min-height:70px;padding-right:38px}.nc-mascot__bell{width:30px;height:30px}.nc-mascot__open{display:none}}@media (prefers-reduced-motion: reduce){.nc-mascot,.nc-mascot__robot{animation:none}}.nc__panel{position:absolute;top:calc(100% + 8px);right:0;z-index:1200;width:min(360px,calc(100vw - 24px));max-height:min(70vh,480px);display:flex;flex-direction:column;background:var(--bg-elevated, var(--obs-surface, #1a1a1a));border:1px solid var(--border-light, var(--obs-border, rgba(255, 255, 255, .1)));border-radius:12px;box-shadow:0 16px 40px #0000006b,0 2px 8px #0000002e;overflow:hidden;animation:nc-pop .15s ease-out;font-family:var(--font-ui, var(--font-sans), system-ui, sans-serif)}@keyframes nc-pop{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.nc__header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 14px 10px;border-bottom:1px solid var(--border-light, var(--obs-divider, rgba(255, 255, 255, .08)))}.nc__header-text{min-width:0}.nc__title{margin:0;font-family:var(--font-hand);font-size:16px;font-weight:700;color:var(--text-primary, var(--obs-strong, #eee));line-height:1.2}.nc__subtitle{margin:3px 0 0;font-size:11px;color:var(--text-tertiary, var(--obs-muted, #999))}.nc__text-btn{border:none;background:transparent;color:var(--brand-purple, #6965db);font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;padding:4px 6px;border-radius:6px;flex-shrink:0;white-space:nowrap}.nc__text-btn:hover{background:var(--bg-hover, var(--obs-hover, rgba(255, 255, 255, .06)))}.nc__body{overflow-y:auto;flex:1 1 auto;min-height:0}.nc__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:36px 20px;text-align:center;color:var(--text-secondary, var(--obs-muted, #aaa))}.nc__empty--loading{flex-direction:row;gap:10px;padding:28px 16px;font-size:13px}.nc__empty-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;margin-bottom:4px;color:var(--brand-purple, #6965db);background:color-mix(in srgb,var(--brand-purple, #6965db) 12%,transparent)}.nc__empty strong{font-size:13px;font-weight:600;color:var(--text-primary, var(--obs-strong, #eee))}.nc__empty p{margin:0;font-size:12px;line-height:1.4;max-width:220px}.nc__spin{color:var(--brand-purple, #6965db);flex-shrink:0}.nc__spin .dc-spinner__svg{display:block}.nc__list{list-style:none;margin:0;padding:4px}.nc__item{width:100%;display:grid;grid-template-columns:32px minmax(0,1fr) 10px;align-items:start;gap:10px;padding:10px;border:none;border-radius:8px;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.nc__item:hover{background:var(--bg-hover, var(--obs-hover, rgba(255, 255, 255, .06)))}.nc__item--unread{background:color-mix(in srgb,var(--brand-purple, #6965db) 7%,transparent)}.nc__item--unread:hover{background:color-mix(in srgb,var(--brand-purple, #6965db) 12%,transparent)}.nc__item-icon{width:32px;height:32px;border-radius:8px;display:grid;place-items:center;color:var(--brand-purple, #6965db);background:color-mix(in srgb,var(--brand-purple, #6965db) 12%,transparent);flex-shrink:0}.nc__item-icon--invite{color:#f59e0b;background:color-mix(in srgb,#f59e0b 14%,transparent)}.nc__item-icon--share{color:var(--brand-purple, #6965db);background:color-mix(in srgb,var(--brand-purple, #6965db) 12%,transparent)}.nc__item-main{min-width:0;display:flex;flex-direction:column;gap:2px}.nc__item-title{font-size:13px;font-weight:600;color:var(--text-primary, var(--obs-strong, #eee));line-height:1.3}.nc__item-body{font-size:12px;color:var(--text-secondary, var(--obs-muted, #aaa));line-height:1.35;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.nc__item-time{margin-top:2px;font-size:11px;color:var(--text-tertiary, var(--obs-muted-weak, #888))}.nc__dot{width:8px;height:8px;margin-top:6px;border-radius:999px;background:var(--brand-purple, #6965db);justify-self:end}.nc__footer-loading{display:flex;align-items:center;justify-content:center;gap:8px;padding:8px;border-top:1px solid var(--border-light, var(--obs-divider, rgba(255, 255, 255, .08)));font-size:11px;color:var(--text-tertiary)}@media (max-width: 768px){.nc__panel{position:fixed;top:calc(58px + env(safe-area-inset-top,0px));right:max(10px,env(safe-area-inset-right));left:auto;width:min(360px,calc(100vw - 20px))}}html:has(.dc-auth-page),body:has(.dc-auth-page){overflow:auto;height:auto;min-height:100%;background:var(--dc-bg-paper, var(--bg-primary, #0d0d0d));background-attachment:fixed}html[data-theme=light]:has(.dc-auth-page){color-scheme:light}html[data-theme=dark]:has(.dc-auth-page),html:not([data-theme=light]):has(.dc-auth-page){color-scheme:dark}#root:has(.dc-auth-page){height:auto;min-height:100%;background:var(--dc-bg-paper, var(--bg-primary, #0d0d0d));background-attachment:fixed}@media (min-width: 901px){html:has(.dc-auth-page),body:has(.dc-auth-page){overflow:hidden;height:100%}#root:has(.dc-auth-page){height:100%}}.dc-auth-screen-wrapper{display:flex;flex-direction:column;height:100dvh;width:100%;overflow:hidden}.dc-auth-page{--dc-auth-bg: var(--bg-primary, #0d0d0d);--dc-auth-ink: var(--text-primary, #e8e8e8);--dc-auth-muted: var(--text-secondary, #999);--dc-auth-line: var(--border, rgba(255, 255, 255, .12));--dc-auth-surface: var(--bg-tertiary, #1a1a1a);--dc-auth-surface-2: var(--bg-secondary, #141414);--dc-auth-purple: #6965db;--dc-auth-amber: #f59e0b;--dc-auth-green: #22c55e;--dc-auth-green-dark: #16a34a;--dc-auth-hand: var(--font-hand, "Comic Neue", "Comic Sans MS", system-ui, sans-serif);--dc-auth-ease: cubic-bezier(.22, 1, .36, 1);--dc-auth-rail: var(--bg-primary, #0d0d0d);--dc-auth-panel-veil-top: transparent;--dc-auth-panel-veil-bot: transparent;--dc-auth-panel-stripe: transparent;--dc-auth-panel-shadow: transparent;--dc-auth-autofill: #1a1a1a;--dc-auth-info: #34d399;--dc-auth-error: #fb7185;box-sizing:border-box;min-height:100vh;min-height:100dvh;width:100%;display:flex;flex-direction:row;align-items:stretch;background:var(--dc-bg-paper, var(--dc-auth-bg));color:var(--dc-auth-ink);overflow-x:hidden}html[data-theme=light] .dc-auth-page{--dc-auth-autofill: #fffdf6;--dc-auth-info: #059669;--dc-auth-error: #e11d48;--dc-auth-line: var(--border, rgba(0, 0, 0, .08))}@media (min-width: 901px){.dc-auth-page{height:100%;max-height:100%;overflow:hidden}}.dc-auth-page *,.dc-auth-page *:before,.dc-auth-page *:after{box-sizing:border-box}.dc-auth-hero{flex:0 0 70%;max-width:70%;min-width:0;height:100%;max-height:100%;display:block;padding:0;background:transparent;position:relative;overflow-y:auto;-webkit-overflow-scrolling:touch;order:1}.dc-auth-hero--enter{animation:dcAuthHeroIn .85s var(--dc-auth-ease) both}.dc-auth-panel--enter{animation:dcAuthPanelIn .85s var(--dc-auth-ease) .1s both}.dc-auth-card--enter{animation:dcAuthCardIn .65s var(--dc-auth-ease) .22s both}@keyframes dcAuthHeroIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes dcAuthPanelIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes dcAuthCardIn{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.dc-showcase{position:relative;display:flex;flex-direction:column;width:100%;padding:clamp(20px,3.2vh,36px) clamp(22px,3.5vw,40px) clamp(14px,2vh,22px);min-height:100%;gap:clamp(10px,1.6vh,18px)}.dc-showcase__bg{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.dc-showcase__blob{position:absolute;border-radius:50%;filter:blur(72px);opacity:.42;animation:dcBlobFloat 22s ease-in-out infinite alternate}.dc-showcase__blob--1{width:320px;height:320px;background:#ddd9ff;top:-80px;left:-90px}.dc-showcase__blob--2{width:240px;height:240px;background:#fde68a;opacity:.28;bottom:8%;right:-50px;animation-delay:-7s}.dc-showcase__blob--3{width:200px;height:200px;background:#c7d2fe;opacity:.3;top:48%;left:52%;animation:dcBlobFloat 26s ease-in-out -10s infinite alternate}.dc-showcase__block{position:absolute;border-radius:18px;border:1.5px dashed rgba(26,26,26,.07);background:#ffffff38;animation:dcAuthBlockDrift 18s ease-in-out infinite alternate}.dc-showcase__block--1{--r: 8deg;width:110px;height:72px;top:22%;right:14%;transform:rotate(var(--r))}.dc-showcase__block--2{--r: -6deg;width:78px;height:78px;bottom:28%;left:10%;transform:rotate(var(--r));animation-delay:-6s}.dc-showcase__scribble{position:absolute;width:72px;height:72px;border:2px dashed rgba(26,26,26,.07);border-radius:50%;animation:dcScribbleSpin 32s linear infinite}.dc-showcase__scribble--1{top:14%;right:18%}.dc-showcase__scribble--2{bottom:18%;left:12%;width:44px;height:44px;animation-direction:reverse;animation-duration:24s}@keyframes dcBlobFloat{0%{transform:translate(0) scale(1)}to{transform:translate(18px,-14px) scale(1.06)}}@keyframes dcAuthBlockDrift{0%{transform:translate(0) rotate(var(--r, 6deg))}to{transform:translate(8px,-10px) rotate(calc(var(--r, 6deg) + 4deg))}}@keyframes dcScribbleSpin{to{transform:rotate(360deg)}}.dc-showcase__grid{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;opacity:.45;pointer-events:none;mask-image:radial-gradient(ellipse at 40% 45%,#000 25%,transparent 72%);-webkit-mask-image:radial-gradient(ellipse at 40% 45%,#000 25%,transparent 72%)}.dc-showcase__hero{position:relative;z-index:2;max-width:36rem;border:none;outline:none;box-shadow:none;background:transparent;animation:dcAuthBrandSettle .9s var(--dc-auth-ease) both}@keyframes dcAuthBrandSettle{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.dc-showcase__brand{margin:0 0 10px;font-size:inherit;font-weight:inherit;line-height:1}.dc-showcase__brand .dc-brand,.dc-showcase .dc-brand-wordmark{color:var(--dc-auth-ink)}.dc-showcase__brand .dc-brand-wordmark__accent,.dc-showcase .dc-brand-wordmark__accent{color:var(--brand-purple, #6965db)}.dc-auth-page .dc-brand-logo__tile{fill:var(--brand-purple, #6965db)}.dc-auth-page .dc-brand-logo__slash,.dc-auth-page .dc-brand-logo__spark{stroke:#f59e0b;fill:#f59e0b}.dc-auth-page .dc-brand-logo__slash{fill:none}.dc-showcase__lede{margin:0;font-family:var(--dc-auth-hand);font-size:clamp(.95rem,1.35vw,1.08rem);line-height:1.45;color:var(--dc-auth-muted);max-width:34rem}.dc-showcase__browse{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:14px;font-family:var(--dc-auth-hand);font-size:.88rem;font-weight:600}.dc-showcase__browse a{color:var(--dc-auth-purple, #6965db);text-decoration:none}.dc-showcase__browse a:hover{text-decoration:underline}.dc-showcase__stage{position:relative;z-index:1;flex:1;min-height:0;display:flex;flex-direction:column}.dc-showcase__slide{position:relative;z-index:1;flex:1;display:flex;flex-direction:row;align-items:center;gap:clamp(18px,3vw,36px);min-height:0;transition:opacity .32s var(--dc-auth-ease),transform .32s var(--dc-auth-ease)}.dc-showcase__slide--in{opacity:1;transform:scale(1)}.dc-showcase__slide--out{opacity:0;transform:scale(.985)}.dc-showcase__info{flex:0 0 38%;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.dc-showcase__board{flex:1;min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:0;background:transparent;box-shadow:none;transform:none}.dc-showcase__visual{width:100%;min-width:0;display:flex;align-items:center;justify-content:center;animation:dcStageIn .55s var(--dc-auth-ease) both}@keyframes dcStageIn{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.dc-showcase__headline{margin:0 0 8px;font-family:var(--dc-auth-hand);font-size:clamp(1.35rem,2.4vw,1.85rem);font-weight:700;line-height:1.18;letter-spacing:-.02em}.dc-showcase__accent{color:var(--slide-accent, var(--dc-auth-purple))}.dc-showcase__tagline{margin:0;font-family:var(--dc-auth-hand);font-size:clamp(.82rem,1.15vw,.94rem);line-height:1.5;color:var(--dc-auth-muted)}.dc-showcase__scene-title{margin:0;font-family:var(--dc-auth-hand);font-size:.9rem;font-weight:600;color:var(--dc-auth-ink)}.dc-showcase__bottom{position:relative;z-index:1;margin-top:auto;padding-top:4px}.dc-showcase__nav{display:flex;gap:8px;margin-bottom:10px}.dc-showcase__dot{width:8px;height:8px;padding:0;border:none;border-radius:50%;background:var(--dc-auth-line);cursor:pointer;transition:transform .22s var(--dc-auth-ease),background .28s ease,width .28s var(--dc-auth-ease)}.dc-showcase__dot--active{width:22px;border-radius:999px;background:var(--dc-auth-purple)}.dc-showcase__dot:hover:not(.dc-showcase__dot--active){background:color-mix(in srgb,var(--dc-auth-purple) 40%,var(--dc-auth-line));transform:scale(1.12)}.dc-showcase__features{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.dc-showcase__feature{padding:5px 12px;border-radius:255px 12px 225px/12px 225px 12px 255px;font-family:var(--dc-auth-hand);font-size:.76rem;color:var(--dc-auth-muted);border:1.5px solid var(--dc-auth-line);background:color-mix(in srgb,var(--dc-auth-ink) 6%,transparent);cursor:pointer;transition:color .25s ease,border-color .25s ease,background .25s ease,transform .2s ease}.dc-showcase__feature:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--slide-accent, #6965db) 35%,var(--dc-auth-line))}.dc-showcase__feature--active{color:var(--dc-auth-ink);border-color:color-mix(in srgb,var(--slide-accent, #6965db) 55%,var(--dc-auth-line));background:color-mix(in srgb,var(--slide-accent, #6965db) 18%,var(--dc-auth-surface))}.dc-showcase-scene{width:100%}.dc-showcase-scene--img{display:flex;align-items:center;justify-content:center;width:100%}.dc-showcase-scene__img{width:100%;height:auto;max-height:clamp(220px,38vh,340px);object-fit:contain;border-radius:10px;border:none;box-shadow:0 4px 20px #1a1a1a14;background:transparent;opacity:0;transform:translateY(8px) scale(.97);animation:dcImgReveal .6s cubic-bezier(.22,1,.36,1) .1s forwards}@keyframes dcImgReveal{to{opacity:1;transform:translateY(0) scale(1)}}.dc-showcase-scene--draw{width:100%;max-width:360px;min-height:240px;display:flex;align-items:center;justify-content:center}.dc-auth-sketch-scene{width:100%;max-width:340px;display:flex;flex-direction:column;gap:8px;align-items:stretch}.dc-auth-sketch-canvas{min-height:200px;background:#fff;border-color:color-mix(in srgb,#e8e4dc 92%,transparent)}.dc-auth-sketch-canvas .dc-auth-canvas__surface{background:#fff}.dc-auth-sketch-surface{min-height:168px;padding:6px 4px 8px}.dc-auth-sketch-svg{width:100%;height:auto;display:block}.dc-auth-sketch-caption{color:#64748b!important;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dc-auth-sketch-hint{margin:0;padding:0 4px;font:500 12px/1.35 var(--dc-auth-hand);color:#64748b;text-align:center;min-height:1.35em}.dc-auth-sketch-label{font:600 16px var(--dc-auth-hand);opacity:0}.dc-auth-sketch-label--in{animation:dcAuthSketchFade .35s ease forwards}@keyframes dcAuthSketchStroke{to{stroke-dashoffset:0;opacity:1}}@keyframes dcAuthSketchFade{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.dc-showcase-sketch{width:100%;max-width:360px;height:auto}.dc-sketch{opacity:0}.dc-sketch--1,.dc-sketch--3{stroke-dasharray:400;stroke-dashoffset:400;animation:dcDrawStroke .8s ease forwards}.dc-sketch--1{animation-delay:.1s}.dc-sketch--3{animation-delay:.45s}.dc-sketch--5{stroke-dasharray:120;stroke-dashoffset:120;animation:dcDrawStroke .7s ease .85s forwards}.dc-sketch--6{animation:dcDrawFade .3s ease 1.1s forwards}.dc-sketch--7{stroke-dasharray:400;stroke-dashoffset:400;animation:dcDrawStroke 1s ease 1.2s forwards}.dc-sketch--2{fill-opacity:0;animation:dcDrawFade .4s ease .5s forwards}.dc-sketch--4{fill-opacity:0;animation:dcDrawFade .4s ease .85s forwards}.dc-sketch--8{fill-opacity:0;animation:dcDrawFade .4s ease 1.6s forwards}.dc-sketch--3b{stroke-dasharray:400;stroke-dashoffset:400;animation:dcDrawStroke .8s ease .55s forwards}.dc-sketch--4b{fill-opacity:0;animation:dcDrawFade .4s ease .9s forwards}.dc-sketch--5b{stroke-dasharray:120;stroke-dashoffset:120;animation:dcDrawStroke .7s ease .95s forwards}.dc-sketch--6b{animation:dcDrawFade .3s ease 1.2s forwards}@keyframes dcDrawStroke{to{opacity:1;stroke-dashoffset:0}}@keyframes dcDrawFade{to{opacity:1;fill-opacity:1}}.dc-showcase-theory{width:min(100%,360px);height:auto}.dc-theory-curve{stroke-dasharray:600;stroke-dashoffset:600;animation:dcCurveDraw 1.6s cubic-bezier(.4,0,.2,1) forwards}.dc-theory-curve--const{animation-delay:.1s}.dc-theory-curve--lin{animation-delay:.35s}.dc-theory-curve--nlog{animation-delay:.6s}.dc-theory-curve--quad{animation-delay:.85s}@keyframes dcCurveDraw{to{stroke-dashoffset:0}}.dc-showcase-scene--run{width:100%;max-width:360px;display:flex;align-items:center;justify-content:center}.dc-auth-code-demo.dcw-shell{position:relative;width:100%;max-width:340px;pointer-events:none;animation:dcAuthCodeFloat 4.5s ease-in-out infinite alternate}@keyframes dcAuthCodeFloat{0%{transform:translateY(0)}to{transform:translateY(-5px)}}.dc-auth-code-demo__header{cursor:default}.dc-auth-code-demo__editor{height:128px;flex:none}.dc-auth-code-demo__output{min-height:72px;flex-shrink:0}.dc-auth-code-demo__output-empty{min-height:1.5em;color:transparent}.dc-auth-code-demo__run--idle{opacity:.92}.dc-auth-faux-editor{display:flex;height:100%;font-family:var(--font-hand);font-size:13px;line-height:21px;background:#fff}.dc-auth-faux-editor__gutter{flex-shrink:0;width:36px;padding:8px 6px 8px 0;text-align:right;background:#fafafa;border-right:1px solid #f1f5f9;color:#9ca3af;-webkit-user-select:none;user-select:none}.dc-auth-faux-editor__ln{display:block;height:21px}.dc-auth-faux-editor__ln--active{color:#6b7280;font-weight:600}.dc-auth-faux-editor__code{flex:1;margin:0;padding:8px 10px;overflow:hidden;background:#fff;color:#1a1a1a;white-space:pre}.dc-auth-faux-editor__row{height:21px}.dc-auth-faux-editor__cursor{display:inline-block;width:2px;height:16px;margin-left:1px;vertical-align:text-bottom;background:#1a1a1a;animation:dcAuthCodeCursor .9s step-end infinite}.dc-auth-output-cursor{display:inline-block;width:2px;height:.95em;margin-left:1px;vertical-align:text-bottom;background:#16a34a;animation:dcAuthCodeCursor .9s step-end infinite}@keyframes dcAuthCodeCursor{0%,to{opacity:1}50%{opacity:0}}.dc-auth-faux-editor .tok-kw{color:#00f}.dc-auth-faux-editor .tok-str{color:#a31515}.dc-auth-faux-editor .tok-num{color:#098658}.dc-auth-faux-editor .tok-op,.dc-auth-faux-editor .tok-plain{color:#1a1a1a}.dc-showcase-widget{border:2.5px solid var(--dc-auth-ink);border-radius:12px;background:#fff;box-shadow:4px 4px #1a1a1a14;overflow:hidden;animation:dcWidgetFloat 4s ease-in-out infinite alternate}@keyframes dcWidgetFloat{0%{transform:translateY(0)}to{transform:translateY(-6px)}}.dc-showcase-widget__bar{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1.5px solid var(--dc-auth-line);background:#fafafa}.dc-showcase-widget__dot{width:7px;height:7px;border-radius:50%;background:var(--dc-auth-line)}.dc-showcase-widget__lang{margin-left:auto;font-family:var(--dc-auth-hand);font-size:.72rem;padding:2px 8px;border:1.5px solid var(--dc-auth-line);border-radius:6px}.dc-showcase-widget__run{font-family:var(--dc-auth-hand);font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:6px;background:var(--dc-auth-green);color:#fff}.dc-showcase-widget__body{padding:10px 12px;background:#1a1a1e}.dc-showcase-lines{display:grid;grid-template-columns:18px 1fr;gap:4px 8px;align-items:center}.dc-showcase-lines>span{font-family:var(--font-mono, monospace);font-size:.65rem;color:#ffffff40;text-align:right}.dc-showcase-code{font-family:var(--font-mono, monospace);font-size:.72rem;color:#e8e8e8;opacity:0;animation:dcTypeLine .4s ease forwards}.dc-showcase-code--1{animation-delay:.2s;color:#c792ea}.dc-showcase-code--2{animation-delay:.55s;color:#82aaff}.dc-showcase-code--3{animation-delay:.9s}.dc-showcase-code--4{animation-delay:1.1s;color:#c792ea}@keyframes dcTypeLine{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.dc-showcase-widget__out{display:flex;align-items:center;gap:10px;padding:8px 12px;border-top:1.5px solid var(--dc-auth-line);font-family:var(--dc-auth-hand);font-size:.75rem}.dc-showcase-widget__out-label{color:var(--dc-auth-muted)}.dc-showcase-widget__out-text{color:var(--dc-auth-green-dark);font-weight:700;opacity:0;animation:dcOutAppear .4s ease 1.4s forwards}@keyframes dcOutAppear{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.dc-showcase-widget__cursor{display:inline-block;width:7px;height:14px;background:var(--dc-auth-green-dark);margin-left:4px;vertical-align:middle;animation:dcCursorBlink 1s steps(2,start) infinite}@keyframes dcCursorBlink{to{visibility:hidden}}.dc-showcase-scene--ai{width:100%;max-width:400px;min-height:420px;display:flex;align-items:center;justify-content:center}.dc-auth-agent-scene{width:100%;max-width:360px;display:flex;flex-direction:column;gap:10px;align-items:stretch}.dc-auth-canvas{position:relative;border-radius:12px;border:1px solid color-mix(in srgb,#e8e4dc 92%,transparent);background:#faf9f6;box-shadow:0 8px 22px #0f172a1a,0 2px 5px #0f172a0f;overflow:hidden;min-height:168px}.dc-auth-canvas__grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(0,0,0,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.04) 1px,transparent 1px);background-size:16px 16px;pointer-events:none}.dc-auth-canvas__chrome{position:relative;z-index:1;display:flex;align-items:center;gap:5px;padding:7px 10px;border-bottom:1px solid rgba(0,0,0,.06);background:#ffffffb8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dc-auth-canvas__dot{width:7px;height:7px;border-radius:50%;background:#e2e0d8}.dc-auth-canvas__dot:first-child{background:#f87171}.dc-auth-canvas__dot:nth-child(2){background:#fbbf24}.dc-auth-canvas__dot:nth-child(3){background:#4ade80}.dc-auth-canvas__title{margin-left:4px;font:600 10px/1 var(--dc-auth-hand);letter-spacing:.04em;text-transform:uppercase;color:#64748b}.dc-auth-canvas__status{margin-left:auto;display:inline-flex;align-items:center;gap:4px;font:500 10px/1 var(--dc-auth-hand);color:#6965db}.dc-auth-canvas__pen{display:inline-block;animation:dcAuthPenBob 1.2s ease-in-out infinite}@keyframes dcAuthPenBob{0%,to{transform:translateY(0) rotate(-8deg)}50%{transform:translateY(-2px) rotate(4deg)}}.dc-auth-canvas__surface{position:relative;z-index:1;min-height:130px;padding:4px 6px 10px}.dc-auth-canvas__svg{width:100%;height:auto;display:block}.dc-auth-canvas__label{font:500 11px var(--dc-auth-hand);fill:#64748b}.dc-auth-canvas__cell-num{font:600 12px var(--dc-auth-hand);fill:#1a1a1a}.dc-auth-canvas__tag{font:600 9px var(--dc-auth-hand);fill:#6965db}.dc-auth-canvas__tag--in{animation:dcAuthFadeUp .35s ease-out both}.dc-auth-canvas__hint{font:500 10px var(--dc-auth-hand);fill:#2563eb}.dc-auth-canvas__hint--ok{fill:#16a34a}.dc-auth-canvas__cell--in,.dc-auth-canvas__draw--in{animation:dcAuthDrawIn .45s cubic-bezier(.22,1,.36,1) both}.dc-auth-canvas__link-cut{stroke-dasharray:6 4;stroke:#ef4444}@keyframes dcAuthDrawIn{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dcAuthFadeUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.dc-auth-canvas__cursor-fx{position:absolute;right:18%;bottom:22%;width:14px;height:14px;border-radius:50%;border:2px solid #6965db;background:#6965db26;box-shadow:0 0 0 4px #6965db14;animation:dcAuthCursorMove 2.8s ease-in-out infinite;pointer-events:none}@keyframes dcAuthCursorMove{0%{transform:translate(0);opacity:.9}25%{transform:translate(-40px,-18px);opacity:1}50%{transform:translate(-80px,8px);opacity:.85}75%{transform:translate(-30px,22px);opacity:1}to{transform:translate(0);opacity:.9}}.dc-auth-canvas--drawing{border-color:color-mix(in srgb,#6965db 35%,#e8e4dc)}.dc-auth-canvas--complete{border-color:color-mix(in srgb,#22c55e 30%,#e8e4dc)}.dc-auth-canvas__status--done{color:#16a34a}.dc-auth-agent-wrap{width:100%;display:flex;justify-content:center;--obs-border: color-mix(in srgb, #e8e4dc 92%, transparent);--obs-hover: rgba(0, 0, 0, .05);--obs-surface: #ffffff;--obs-muted: #64748b;--obs-strong: #1a1a1a;--accent-primary: #6965db;--xc-island-shadow: 0 8px 22px rgba(15, 23, 42, .14), 0 2px 5px rgba(15, 23, 42, .08)}.dc-auth-agent-wrap .nc-agentbar.nc-agentbar--demo{position:relative;left:auto;bottom:auto;transform:none;width:100%;max-width:360px;gap:6px;pointer-events:none}.dc-auth-agent-wrap .nc-agentbar--island .chat-input-container{padding:0;margin:0;background:transparent;border:none}.dc-auth-agent-wrap .nc-agentbar--island .chat-input-wrapper{max-width:none;width:100%;border:none;box-shadow:none}.dc-auth-agent-wrap .nc-agentbar--island .chat-input-box{display:flex;align-items:center;min-height:38px;padding:5px 8px;gap:3px;border:1px solid var(--obs-border);border-radius:10px;background:var(--obs-surface);box-shadow:var(--xc-island-shadow);transform:none;overflow:hidden}.dc-auth-agent-wrap .nc-agentbar--island .chat-input-box.processing{border:1px solid transparent;background-image:linear-gradient(var(--obs-surface),var(--obs-surface)),linear-gradient(90deg,#6965db,#7bc86c,#f4a261,#6965db);background-origin:border-box;background-clip:padding-box,border-box;background-size:100% 100%,220% 100%;animation:dc-auth-island-border 2.2s linear infinite;box-shadow:var(--xc-island-shadow)}@keyframes dc-auth-island-border{0%{background-position:0 0,0% 50%}to{background-position:0 0,220% 50%}}.dc-auth-agent-wrap .nc-agentbar--island .nc-agentbar__avatar{width:28px;height:28px;border:none;border-radius:6px;background:transparent;box-shadow:none;padding:0;flex-shrink:0}.dc-auth-agent-wrap .nc-agentbar--island .nc-agentbar__voice-btn,.dc-auth-agent-wrap .nc-agentbar--island .send-btn{width:24px;height:24px;min-width:24px;flex-shrink:0;border:none;border-radius:6px;background:transparent;box-shadow:none;color:var(--obs-muted);padding:0}.dc-auth-agent-wrap .nc-agentbar--island .send-btn{color:var(--accent-primary)}.dc-auth-agent-wrap .nc-agentbar--island .send-btn.stop-btn{color:#ef4444;background:transparent}.dc-auth-agent-wrap .nc-agentbar--island .chat-input{flex:1;min-width:0;padding:4px 2px;font:400 13px/1.35 var(--dc-auth-hand);color:var(--obs-strong);border:none;background:transparent;resize:none}.dc-auth-agent-wrap .nc-agentbar--island .nc-agentbar__feedback{align-self:stretch;display:inline-flex;align-items:center;gap:7px;min-height:22px;padding:4px 10px;font-size:11px;line-height:1.35;border-radius:8px;border:1px solid var(--obs-border);background:var(--obs-surface);box-shadow:var(--xc-island-shadow);color:var(--obs-muted)}.dc-auth-agent-wrap .nc-agentbar--island .nc-agentbar__feedback-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-primary);flex-shrink:0}.dc-auth-agent-wrap .nc-agentbar--island .nc-agentbar__history{max-height:120px;overflow:auto;padding:8px 10px;border-radius:10px;border:1px solid var(--obs-border);background:var(--obs-surface);box-shadow:var(--xc-island-shadow)}.dc-auth-agent-wrap .nc-agentbar--island .nc-agentbar__message{margin-bottom:6px;padding:6px 8px;border-radius:8px;background:#f8f7ff;border:1px solid #ebe9ff}.dc-auth-agent-wrap .nc-agentbar--island .nc-agentbar__message-head{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--obs-muted);margin-bottom:4px}.dc-auth-agent-wrap .nc-agentbar--island .nc-agentbar__message-body{font-size:11px;line-height:1.4;color:#4f4d6d}.dc-auth-agent-wrap .nc-agentbar--island .nc-agentbar__typing{font-size:11px;color:var(--accent-primary)}.dc-auth-agent-wrap .nc-agentbar--island .nc-agentbar__steps{display:flex;flex-wrap:wrap;gap:5px}.dc-auth-agent-wrap .nc-agentbar--island .nc-agentbar__step{display:inline-flex;align-items:center;min-height:22px;padding:0 8px;border-radius:999px;font-size:10px;font-weight:500;background:#6965db14;color:#4f4d6d;border:1px solid transparent}.dc-auth-agent-wrap .nc-agentbar--island .nc-agentbar__step--active{background:color-mix(in srgb,#6965db 18%,#fff);color:#1a1a1a;border-color:color-mix(in srgb,#6965db 45%,transparent)}.dc-auth-agent-wrap .nc-agentbar--island .nc-agentbar__step--done{background:color-mix(in srgb,#22c55e 14%,#fff);color:#166534;border-color:color-mix(in srgb,#22c55e 35%,transparent)}.dc-auth-agent-input{pointer-events:none;overflow:hidden}.dc-auth-agent-cursor{display:inline-block;width:2px;height:.9em;margin-left:1px;vertical-align:text-bottom;background:#6965db;animation:dcAuthCursorBlink .9s step-end infinite}@keyframes dcAuthCursorBlink{50%{opacity:0}}.dc-showcase-ai{position:relative;width:100%;max-width:300px;min-height:180px}.dc-showcase-ai__bubble{position:relative;padding:10px 14px;margin-bottom:10px;border:2px solid var(--dc-auth-ink);border-radius:12px;background:#fff;font-family:var(--dc-auth-hand);font-size:.82rem;line-height:1.4;box-shadow:3px 3px #1a1a1a0f;opacity:0;transform:translateY(12px);animation:dcBubbleIn .45s cubic-bezier(.22,1,.36,1) forwards}.dc-showcase-ai__bubble--1{animation-delay:.15s;background:#ede9fe}.dc-showcase-ai__bubble--2{animation-delay:.45s;margin-left:16px}.dc-showcase-ai__bubble--3{animation-delay:.75s;margin-left:32px}@keyframes dcBubbleIn{to{opacity:1;transform:translateY(0)}}.dc-showcase-ai__spark{color:var(--dc-auth-purple);margin-right:4px;animation:dcSparkle 1.5s ease-in-out infinite}@keyframes dcSparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.2)}}.dc-showcase-ai__step{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin-right:6px;border-radius:50%;background:var(--dc-auth-purple);color:#fff;font-size:.7rem;font-weight:700}.dc-showcase-ai__agent{position:absolute;right:-8px;top:14%;display:flex;align-items:center;justify-content:center;animation:dcAgentBob 3s ease-in-out infinite}.dc-showcase-ai__agent-face{position:relative;display:flex;align-items:center;justify-content:center;width:68px;height:68px;border-radius:16px;background:linear-gradient(145deg,#faf8ff,#fff 55%,#f3f0ff);border:2px solid var(--dc-auth-ink);box-shadow:3px 3px #1a1a1a14,0 0 0 3px #6965db1f,0 8px 24px #6965db2e}.dc-showcase-ai__agent-face:before{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:20px;background:radial-gradient(circle at 50% 40%,rgba(105,101,219,.2),transparent 70%);z-index:-1;animation:dcAgentGlow 2.8s ease-in-out infinite}.dc-showcase-ai__agent-icon{display:block;flex-shrink:0;filter:drop-shadow(0 2px 6px rgba(61,74,143,.15))}.dc-showcase-ai__agent-icon .dc-agent-icon__halo{animation:dcAgentHalo 3s ease-in-out infinite}@keyframes dcAgentGlow{0%,to{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.06)}}@keyframes dcAgentHalo{0%,to{opacity:.7}50%{opacity:1}}@keyframes dcAgentBob{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.dc-showcase-scene--build{width:100%;max-width:360px;display:flex;align-items:center;justify-content:center}.dc-auth-workspace-scene{width:100%;max-width:340px;display:flex;flex-direction:column;gap:10px}.dc-auth-workspace{border-radius:14px;border:1px solid color-mix(in srgb,#e8e4dc 88%,#1a1a1a);background:#fff;box-shadow:0 10px 28px #0f172a14,0 2px 6px #0f172a0a;overflow:hidden;transition:border-color .45s ease,box-shadow .45s ease}.dc-auth-workspace--ready{border-color:color-mix(in srgb,#22c55e 38%,#e8e4dc);box-shadow:0 10px 28px #0f172a14,0 0 0 2px #22c55e24}.dc-auth-workspace__chrome{display:flex;align-items:center;gap:5px;padding:8px 12px;border-bottom:1px solid #f1f5f9;background:#fafafa}.dc-auth-workspace__dot{width:7px;height:7px;border-radius:50%;background:#e2e8f0}.dc-auth-workspace__dot:first-child{background:#fca5a5}.dc-auth-workspace__dot:nth-child(2){background:#fcd34d}.dc-auth-workspace__dot:nth-child(3){background:#86efac}.dc-auth-workspace__title{margin-left:6px;font:600 11px/1 var(--dc-auth-hand);letter-spacing:.02em;color:#64748b}.dc-auth-workspace__badge{margin-left:auto;padding:3px 8px;border-radius:999px;font:600 9px var(--dc-auth-hand);color:#16a34a;background:#ecfdf3;border:1px solid color-mix(in srgb,#22c55e 30%,transparent)}.dc-auth-workspace__board{display:flex;flex-direction:column;background:#fff;padding:10px 10px 12px}.dc-auth-ws-canvas{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto;gap:12px 14px;min-height:168px;padding:2px 2px 4px}.dc-auth-ws-cell{min-height:72px;display:flex;align-items:flex-start}.dc-auth-ws-cell--sketch{grid-column:1;grid-row:1;align-items:center}.dc-auth-ws-cell--code{grid-column:2;grid-row:1;justify-content:flex-end}.dc-auth-ws-cell--theory{grid-column:1;grid-row:2;align-items:flex-end}.dc-auth-ws-cell--note{grid-column:2;grid-row:2;justify-content:flex-end;align-items:flex-end}.dc-auth-ws-cell--live>*{animation:dcAuthWsIn .5s cubic-bezier(.22,1,.36,1) forwards}@keyframes dcAuthWsIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.dc-auth-ws-diagram{width:100%;max-width:148px;height:auto;display:block}.dc-auth-ws-diagram__txt{font:600 11px var(--dc-auth-hand);fill:#1a1a1a}.dc-auth-ws-diagram__tag{font:600 8px var(--dc-auth-hand);fill:#6965db}.dc-auth-ws-code{width:100%;max-width:118px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 2px 10px #0f172a0f;overflow:hidden}.dc-auth-ws-code__head{display:flex;align-items:center;justify-content:space-between;gap:4px;padding:5px 7px;border-bottom:1px solid #f1f5f9;background:#fafafa}.dc-auth-ws-code__lang{font:500 9px var(--dc-auth-hand);padding:2px 6px;border:1px solid #e5e7eb;border-radius:6px;color:#1a1a1a;background:#fff}.dc-auth-ws-code__run{display:inline-flex;align-items:center;gap:3px;font:700 9px var(--dc-auth-hand);padding:3px 7px;border-radius:6px;background:#22c55e;color:#fff}.dc-auth-ws-code__editor{padding:6px 8px;font:500 9px/1.4 var(--font-hand);color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dc-auth-ws-code__editor .tok-kw{color:#00f}.dc-auth-ws-code__out{display:flex;align-items:center;gap:5px;padding:5px 8px 6px;border-top:1px solid #f1f5f9;font:500 9px var(--dc-auth-hand)}.dc-auth-ws-code__out-k{color:#94a3b8;font-weight:600;font-size:8px;text-transform:uppercase;letter-spacing:.04em}.dc-auth-ws-code__out-v{color:#16a34a;font-weight:700}.dc-auth-ws-card{width:100%;max-width:118px;padding:7px 8px 8px;border-radius:10px;border:1px solid #e5e7eb;background:#fff;box-shadow:0 2px 10px #0f172a0d}.dc-auth-ws-card__chip{display:inline-block;margin-bottom:5px;padding:2px 7px;border-radius:999px;font:600 8px var(--dc-auth-hand);letter-spacing:.03em}.dc-auth-ws-card__chip--theory{color:#be185d;background:#fce7f3}.dc-auth-ws-card__chip--note{color:#92400e;background:#fef3c7}.dc-auth-ws-theory__chart{width:100%;height:auto;display:block}.dc-auth-ws-theory__tag{font:600 8px var(--dc-auth-hand);fill:#64748b}.dc-auth-ws-theory__tag--n{fill:#6965db}.dc-auth-ws-note__text{margin:0;font:500 9px/1.4 var(--dc-auth-hand);color:#475569}.dc-auth-workspace-hint{margin:0;padding:6px 10px;font:500 12px/1.35 var(--dc-auth-hand);color:#64748b;text-align:center;border-radius:999px;background:color-mix(in srgb,#f8fafc 80%,transparent);border:1px solid #f1f5f9;animation:dcAuthWsHint .35s ease}@keyframes dcAuthWsHint{0%{opacity:.5;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}.dc-bento{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;gap:10px;width:280px;font-family:var(--dc-auth-hand)}.dc-bento__cell{position:relative;padding:14px;border-radius:14px;border:2px solid rgba(26,26,26,.08);display:flex;flex-direction:column;align-items:flex-start;gap:6px;opacity:0;animation:dcBentoIn .45s cubic-bezier(.22,1,.36,1) forwards;transition:transform .25s ease,box-shadow .25s ease}.dc-bento__cell:hover{transform:translateY(-2px);box-shadow:0 6px 20px #6965db1f}.dc-bento__cell--canvas{background:linear-gradient(135deg,#faf8f3,#ede9fe);animation-delay:.05s;grid-column:1;grid-row:1}.dc-bento__cell--code{background:linear-gradient(135deg,#1e1e2e,#2d2b55);color:#e8e8e8;animation-delay:.15s;grid-column:2;grid-row:1}.dc-bento__cell--ai{background:linear-gradient(135deg,#ede9fe,#e0e7ff);animation-delay:.25s;grid-column:1 / -1;grid-row:2;flex-direction:row;align-items:center;gap:12px}.dc-bento__cell--theory{background:linear-gradient(135deg,#fce7f3,#fef3c7);animation-delay:.35s;grid-column:1;grid-row:3}.dc-bento__cell--notes{background:linear-gradient(135deg,#fef3c7,#ecfdf5);animation-delay:.45s;grid-column:2;grid-row:3}@keyframes dcBentoIn{0%{opacity:0;transform:scale(.88) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.dc-bento__label{font-size:.78rem;font-weight:700;letter-spacing:.02em;color:var(--dc-auth-ink, #1a1a1a)}.dc-bento__cell--code .dc-bento__label{color:#a9b1d6}.dc-bento__sub{font-size:.68rem;color:var(--dc-auth-muted, #5c5c5c);font-weight:500}.dc-bento__code-lines{font-family:var(--font-mono, monospace);font-size:.68rem;line-height:1.5;white-space:pre}.dc-bento__spark{font-size:1.3rem;color:var(--dc-auth-purple, #6965db);animation:dcSparkle 1.5s ease-in-out infinite}.dc-bento__dots{width:100%;height:16px;background:radial-gradient(circle,var(--dc-auth-purple, #6965db) 1.5px,transparent 1.5px);background-size:8px 8px;opacity:.3}.dc-bento__note-lines span{display:block;height:3px;border-radius:2px;margin-bottom:5px;background:#1a1a1a26}.dc-bento__note-lines span:nth-child(1){width:85%}.dc-bento__note-lines span:nth-child(2){width:60%}.dc-bento__note-lines span:nth-child(3){width:72%}.dc-bento__links{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.dc-brand-logo--animated svg{filter:drop-shadow(0 6px 14px rgba(105,101,219,.25))}.dc-brand-logo--animated .dc-brand-logo__slash{transform-origin:24px 24px;animation:dcSlashDraw 2.4s cubic-bezier(.5,0,.5,1) infinite}.dc-brand-logo--animated .dc-brand-logo__spark{transform-origin:36px 12px;animation:dcSparkPulse 2s ease-in-out infinite}@keyframes dcSlashDraw{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.7;transform:translateY(-1px)}}@keyframes dcSparkPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.75}}.dc-auth-panel{flex:0 0 30%;max-width:30%;min-width:320px;height:100%;max-height:100%;display:flex;align-items:center;justify-content:center;padding:clamp(24px,4vh,48px) clamp(20px,2.8vw,36px);order:2;position:relative;overflow-y:auto;background:var(--dc-bg-paper);border-left:1px dashed color-mix(in srgb,var(--brand-purple, #6965db) 35%,transparent);box-shadow:-4px 0 20px #0000000a}.dc-auth-card{width:100%;max-width:340px;display:flex;flex-direction:column;align-items:stretch;gap:16px;padding:0;background:transparent;border:none;border-radius:0;box-shadow:none}.dc-auth-card__brand{display:flex;justify-content:center;margin-bottom:0}.dc-auth-card__brand .dc-brand-wordmark{font-size:1.05rem;color:var(--dc-auth-ink)}.dc-auth-card__title{margin:0;font-family:var(--dc-auth-hand);font-size:1.35rem;font-weight:700;text-align:center;line-height:1.2;color:var(--dc-auth-ink)}.dc-auth-card__subtitle{margin:-8px 0 2px;font-family:var(--dc-auth-hand);font-size:.9rem;color:var(--dc-auth-muted);text-align:center;line-height:1.45}.dc-auth-card .auth__divider--guest{margin-top:12px}.dc-auth-card .auth__guest-continue{display:flex;align-items:center;justify-content:center;width:100%;box-sizing:border-box;margin-top:2px;padding:10px 14px;border:1.5px solid var(--dc-auth-line);border-radius:12px 10px 14px/10px 14px 10px 12px;background:var(--dc-auth-surface);color:var(--dc-auth-ink);font-family:var(--dc-auth-hand);font-size:.92rem;font-weight:700;text-decoration:none;text-align:center;cursor:pointer;transition:border-color .2s ease,background .2s ease,transform .16s ease}.dc-auth-card .auth__guest-continue:hover{border-color:color-mix(in srgb,var(--dc-auth-purple) 55%,var(--dc-auth-line));background:color-mix(in srgb,var(--dc-auth-purple) 14%,var(--dc-auth-surface));transform:translateY(-1px)}.dc-auth-card .auth__guest-continue:focus-visible{outline:2px solid var(--dc-auth-purple, #6965db);outline-offset:2px}.dc-auth-card .auth__guest-hint{margin:8px 0 0;font-family:var(--dc-auth-hand);font-size:.78rem;color:var(--dc-auth-muted);text-align:center;line-height:1.4}.dc-auth-card .auth__oauth-row,.dc-auth-card .auth__form,.dc-auth-card .auth__divider{width:100%;margin:0}.dc-auth-card .auth__oauth-row{gap:10px}.dc-auth-card .auth__oauth-btn{border:1.5px solid var(--dc-auth-line);border-radius:12px 10px 14px/10px 14px 10px 12px;background:var(--dc-auth-surface);color:var(--dc-auth-ink);font-family:var(--dc-auth-hand);font-size:.88rem;padding:10px 0;transition:border-color .2s ease,background .2s ease,transform .16s ease}.dc-auth-card .auth__oauth-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--dc-auth-purple) 55%,var(--dc-auth-line));background:color-mix(in srgb,var(--dc-auth-purple) 14%,var(--dc-auth-surface));box-shadow:none;transform:translateY(-1px)}.dc-auth-card .auth__divider{gap:12px;margin-top:2px}.dc-auth-card .auth__divider-line{background:var(--dc-auth-line);height:1px}.dc-auth-card .auth__divider-text{font-family:var(--dc-auth-hand);font-size:.78rem;color:var(--dc-auth-muted);letter-spacing:.02em}.dc-auth-card .auth__form{gap:14px}.auth__input-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--dc-auth-muted);pointer-events:none}.dc-auth-card .auth__email-input{border:1.5px solid color-mix(in srgb,var(--dc-auth-amber) 40%,var(--dc-auth-line))!important;border-radius:255px 14px 225px/14px 225px 14px 255px!important;background:var(--dc-auth-surface)!important;font-family:var(--dc-auth-hand);font-size:1rem;padding:12px 12px 12px 42px;color:var(--dc-auth-ink);transition:border-color .2s ease,box-shadow .2s ease,transform .16s ease;box-shadow:2px 3px #f59e0b2e!important;width:100%;box-sizing:border-box}.dc-auth-card .auth__email-input:focus{border-color:var(--dc-auth-amber)!important;box-shadow:3px 4px #f59e0b47!important;outline:none;transform:translateY(-1px)}.dc-auth-card .auth__email-input:-webkit-autofill{-webkit-box-shadow:0 0 0 100px var(--dc-auth-autofill) inset!important;-webkit-text-fill-color:var(--dc-auth-ink)!important}.dc-auth-card .auth__email-input::placeholder{color:color-mix(in srgb,var(--dc-auth-muted) 85%,transparent)}.dc-auth-card .auth__submit{width:100%;align-self:center;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:14px 16px 13px 15px/15px 13px 16px 14px;border:2px solid var(--dc-auth-purple);background:var(--dc-auth-purple);color:#fff;font-family:var(--dc-auth-hand);font-size:1rem;font-weight:600;letter-spacing:.01em;box-shadow:none;cursor:pointer;transform:rotate(-.6deg);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,filter .16s ease}.dc-auth-card .auth__submit:hover:not(:disabled){transform:translateY(-2px) rotate(0);filter:brightness(1.05);box-shadow:3px 3px color-mix(in srgb,var(--dc-auth-purple) 28%,transparent)}.dc-auth-card .auth__submit:active:not(:disabled){transform:translateY(0) rotate(0);box-shadow:1px 1px color-mix(in srgb,var(--dc-auth-purple) 22%,transparent)}.dc-auth-card .auth__submit:disabled{opacity:.55;cursor:not-allowed;transform:none!important;box-shadow:none!important;filter:none}.dc-auth-card .auth__submit.is-sent{border-color:var(--dc-auth-purple);background:var(--dc-auth-purple);color:#fff;box-shadow:2px 2px color-mix(in srgb,var(--dc-auth-purple) 22%,transparent)}.dc-auth-card .auth__submit.is-sent:hover:not(:disabled){filter:brightness(1.05)}.auth__btn-loading-wrap{display:inline-flex;align-items:center;justify-content:center;gap:8px}.auth__submit-spinner{color:#fff!important}.auth__submit-spinner .dc-spinner__arc{stroke:#fff!important}.dc-auth-card .auth__button-spinner{color:var(--dc-auth-purple);flex-shrink:0}.dc-auth-card .auth__button-spinner .dc-spinner__svg{display:block}.dc-auth-card .auth__button-spinner--light{color:#fff}.dc-auth-card .auth__button-spinner--light .dc-spinner__slash{stroke:#fff}@media (prefers-reduced-motion: reduce){.dc-auth-card .auth__submit{transition:none;transform:none}.dc-auth-card .auth__submit:hover:not(:disabled),.dc-auth-card .auth__submit:active:not(:disabled){transform:none;box-shadow:none}}.dc-auth-card .auth__hint{margin:0;max-width:none;font-family:var(--dc-auth-hand);font-size:.9rem;color:var(--dc-auth-muted);text-align:center;line-height:1.45}.dc-auth-card .auth__info-msg{margin:0;font-family:var(--dc-auth-hand);font-size:.95rem;font-weight:600;color:var(--dc-auth-info);text-align:center;background:transparent!important;border:none!important;padding:0!important;border-radius:0!important}.dc-auth-card .auth__error{margin:0;font-family:var(--dc-auth-hand);font-size:.95rem;font-weight:600;color:var(--dc-auth-error);text-align:center;background:transparent!important;border:none!important;padding:0!important;border-radius:0!important}.dc-auth-card .auth__spinner{color:var(--dc-auth-purple)}.dc-auth-card--loading{align-items:center;text-align:center;padding-top:36px;padding-bottom:36px}.dc-auth-card--loading .dc-auth-card__subtitle{margin:0}.dc-mobile-auth-floating-bar,.dc-mobile-auth-sheet{display:none}@media (max-width: 900px){.dc-auth-screen-wrapper{height:auto!important;min-height:100dvh!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;padding-bottom:72px!important}.dc-auth-page{flex-direction:column!important;min-height:auto!important;height:auto!important;max-height:none!important;overflow:visible!important}.dc-auth-panel--desktop{display:none!important}.dc-auth-hero{order:1!important;flex:none!important;min-height:0!important;height:auto!important;max-height:none!important;width:100%!important;max-width:100%!important;overflow:visible!important;padding:0!important}.dc-about{height:auto!important;min-height:auto!important;overflow:visible!important}.dc-about__hero{min-height:auto!important;padding:24px 0 16px!important}.dc-about__inner{width:min(100% - 24px,1180px)!important;margin:0 auto!important;padding:12px 0 64px!important}.dc-mobile-auth-floating-bar{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:200;padding:10px 16px;padding-bottom:max(10px,env(safe-area-inset-bottom,10px));background:color-mix(in srgb,var(--bg-primary, #0d0d0d) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1.5px dashed color-mix(in srgb,var(--brand-purple, #6965db) 42%,var(--border, rgba(128, 128, 128, .3)));box-shadow:0 -4px 20px #0000002e}.dc-mobile-auth-trigger-btn{width:100%;min-height:46px;display:flex;align-items:center;justify-content:center;gap:8px;background:color-mix(in srgb,var(--brand-purple, #6965db) 12%,var(--bg-primary, #0d0d0d));color:var(--brand-purple, #6965db);border:1.5px solid color-mix(in srgb,var(--brand-purple, #6965db) 48%,var(--border, rgba(128, 128, 128, .3)));border-radius:14px 12px 15px 13px/13px 15px 12px 14px;font-family:var(--font-hand, cursive);font-size:15px;font-weight:700;letter-spacing:.02em;cursor:pointer;box-shadow:2px 2px color-mix(in srgb,var(--brand-purple, #6965db) 30%,transparent);transition:transform .18s cubic-bezier(.34,1.56,.64,1),background .18s ease,border-color .18s ease,box-shadow .18s ease}.dc-mobile-auth-trigger-btn:hover{background:color-mix(in srgb,var(--brand-purple, #6965db) 20%,var(--bg-primary, #0d0d0d));border-color:var(--brand-purple, #6965db);box-shadow:3px 3px color-mix(in srgb,var(--brand-purple, #6965db) 42%,transparent)}.dc-mobile-auth-trigger-btn:active{transform:scale(.96) rotate(-.5deg);box-shadow:1px 1px color-mix(in srgb,var(--brand-purple, #6965db) 35%,transparent)}.dc-mobile-auth-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:399}.dc-mobile-auth-sheet{display:flex;flex-direction:column;position:fixed;bottom:0;left:0;right:0;max-height:92vh;max-height:92dvh;z-index:400;background-color:var(--bg-primary, #0d0d0d);background-image:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--brand-purple, #6965db) 16%,transparent) 1px,transparent 0);background-size:20px 20px;border-top:2px dashed color-mix(in srgb,var(--brand-purple, #6965db) 55%,var(--border, rgba(128, 128, 128, .3)));border-radius:22px 22px 0 0;box-shadow:0 -10px 40px #00000059;transform:translateY(105%);transition:transform .28s cubic-bezier(.32,.72,0,1);overflow:hidden}.dc-mobile-auth-sheet.is-open{transform:translateY(0)}.dc-mobile-auth-sheet__grabber{width:38px;height:4.5px;border-radius:4px;background:color-mix(in srgb,var(--brand-purple, #6965db) 45%,var(--border, rgba(128, 128, 128, .4)));margin:10px auto 4px;flex-shrink:0}.dc-mobile-auth-sheet__head{display:flex;align-items:center;justify-content:space-between;padding:8px 18px 10px;border-bottom:1px dashed color-mix(in srgb,var(--brand-purple, #6965db) 25%,var(--border, rgba(128, 128, 128, .2)));font-family:var(--font-hand, cursive);font-size:14.5px;font-weight:700;color:var(--brand-purple, #6965db);flex-shrink:0}.dc-mobile-auth-sheet__close{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--text-primary, #ffffff) 8%,transparent);border:1px solid var(--border, rgba(128, 128, 128, .3));color:var(--text-primary, #ffffff);font-size:14px;font-weight:700;cursor:pointer;transition:transform .15s ease,background .15s ease}.dc-mobile-auth-sheet__close:active{transform:scale(.9)}.dc-mobile-auth-sheet__body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:20px 16px 36px;display:flex;flex-direction:column;align-items:center}.dc-mobile-auth-sheet__body .dc-auth-card{border:none!important;box-shadow:none!important;padding:0!important;background:transparent!important;max-width:380px;width:100%}}@media (prefers-reduced-motion: reduce){.dc-auth-hero--enter,.dc-auth-panel--enter,.dc-auth-card--enter,.dc-showcase__hero,.dc-showcase__slide,.dc-showcase__visual,.dc-showcase-widget,.dc-auth-code-demo.dcw-shell,.dc-auth-faux-editor__cursor,.dc-auth-output-cursor,.dc-auth-sketch-rough path,.dc-auth-sketch-label--in,.dc-auth-sketch-canvas,.dc-auth-ws-cell--live>*,.dc-auth-workspace-hint,.dc-auth-workspace,.dc-showcase-widget__run,.dc-showcase-code,.dc-showcase-widget__out-text,.dc-showcase-scene__img,.dc-sketch,.dc-auth-agent-wrap .nc-agentbar--island .chat-input-box.processing,.dc-auth-agent-wrap .nc-agentbar--island .nc-agentbar__feedback.is-working .nc-agentbar__feedback-dot,.dc-auth-agent-cursor,.dc-bento__cell,.dc-bento__spark,.dc-showcase__blob,.dc-showcase__block,.dc-showcase__scribble,.dc-brand-logo--animated .dc-brand-logo__slash,.dc-brand-logo--animated .dc-brand-logo__spark{animation:none!important;transition:none!important;opacity:1!important;transform:none!important;stroke-dashoffset:0!important}.dc-showcase__slide--in,.dc-showcase__slide--out{opacity:1!important;transform:none!important}}html.dc-signout-active,html.dc-signout-active body{background:var(--bg-primary, #0d0d0d)!important;overflow:hidden!important}.dc-signout-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;display:flex;align-items:center;justify-content:center;animation:dcSignOutIn .35s cubic-bezier(.22,1,.36,1) both}.dc-signout-overlay--exit{animation:dcSignOutOut .52s cubic-bezier(.22,1,.36,1) forwards}.dc-signout-overlay__bg{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-primary, #0d0d0d);pointer-events:none}.dc-signout-overlay__content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:14px;padding:32px 24px;text-align:center}.dc-signout-overlay__hand{width:88px;height:88px;margin-top:4px;transform-origin:70% 80%;animation:dcSignOutWave 1.1s ease-in-out .5s infinite}.dc-signout-overlay__title{margin:0;font-family:var(--dc-auth-hand, var(--font-hand));font-size:clamp(2rem,6vw,2.75rem);font-weight:700;color:var(--text-primary, #e8e8e8);letter-spacing:.02em;animation:dcSignOutTitleIn .55s cubic-bezier(.22,1,.36,1) .2s both}.dc-signout-overlay__title-accent{color:#6965db}.dc-signout-overlay .dc-spinner__label{font-family:var(--dc-auth-hand, var(--font-hand));color:var(--text-secondary, #999)}@keyframes dcSignOutIn{0%{opacity:0}to{opacity:1}}@keyframes dcSignOutOut{0%{opacity:1}to{opacity:0}}@keyframes dcSignOutTitleIn{0%{opacity:0;transform:translateY(12px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes dcSignOutWave{0%,to{transform:rotate(0)}25%{transform:rotate(14deg)}75%{transform:rotate(-6deg)}}@media (prefers-reduced-motion: reduce){.dc-signout-overlay,.dc-signout-overlay__title,.dc-signout-overlay__hand{animation:none!important}}.dc-tour-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10040;pointer-events:none}.dc-tour-dim{position:absolute;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,#0a0a0f 52%,transparent);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);pointer-events:auto;animation:dc-tour-fade .2s ease both}[data-theme=light] .dc-tour-dim{background:color-mix(in srgb,#18181b 28%,transparent)}.dc-tour-spotlight{position:absolute;box-sizing:border-box;border-radius:14px 16px 12px 15px/15px 12px 16px 13px;border:2px solid color-mix(in srgb,var(--brand-purple, #6965db) 70%,#fff);box-shadow:0 0 0 9999px color-mix(in srgb,#0a0a0f 52%,transparent),3px 4px color-mix(in srgb,var(--brand-purple, #6965db) 28%,transparent),0 0 0 6px color-mix(in srgb,var(--brand-purple, #6965db) 18%,transparent);pointer-events:none;transition:top .22s ease,left .22s ease,width .22s ease,height .22s ease}[data-theme=light] .dc-tour-spotlight{box-shadow:0 0 0 9999px color-mix(in srgb,#18181b 28%,transparent),3px 4px color-mix(in srgb,var(--brand-purple, #6965db) 22%,transparent),0 0 0 6px color-mix(in srgb,var(--brand-purple, #6965db) 14%,transparent)}.dc-tour-card{position:absolute;width:min(360px,calc(100vw - 32px));max-height:min(70vh,480px);overflow-y:auto;padding:18px 18px 14px;border-radius:18px 20px 16px 19px/19px 16px 20px 18px;border:2px solid color-mix(in srgb,var(--brand-purple, #6965db) 40%,transparent);background:var(--bg-elevated, var(--bg-secondary, #fff));color:var(--text-primary, #18181b);box-shadow:4px 5px color-mix(in srgb,var(--brand-purple, #6965db) 18%,transparent),0 20px 48px color-mix(in srgb,#000 22%,transparent);transform:rotate(-.35deg);pointer-events:auto;animation:dc-tour-pop .32s cubic-bezier(.22,1,.36,1) both;z-index:2}.dc-tour-card--center{left:50%;top:50%;transform:translate(-50%,-50%) rotate(-.35deg)}.dc-tour-card__arrow{position:absolute;width:14px;height:14px;background:var(--bg-elevated, var(--bg-secondary, #fff));border:2px solid color-mix(in srgb,var(--brand-purple, #6965db) 40%,transparent);transform:rotate(45deg);z-index:-1}.dc-tour-card__arrow[data-side=top]{left:var(--dc-tour-arrow-x, 50%);top:-8px;margin-left:-7px;border-right:none;border-bottom:none}.dc-tour-card__arrow[data-side=bottom]{left:var(--dc-tour-arrow-x, 50%);bottom:-8px;margin-left:-7px;border-left:none;border-top:none}.dc-tour-card__arrow[data-side=left]{top:var(--dc-tour-arrow-y, 50%);left:-8px;margin-top:-7px;border-right:none;border-top:none}.dc-tour-card__arrow[data-side=right]{top:var(--dc-tour-arrow-y, 50%);right:-8px;margin-top:-7px;border-left:none;border-bottom:none}.dc-tour-card__eyebrow{margin:0 0 6px;font-family:var(--font-hand);font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--brand-purple, #6965db)}.dc-tour-card__title{margin:0 0 8px;font-family:var(--font-hand);font-size:19px;font-weight:700;letter-spacing:.02em;color:var(--text-primary, #18181b)}.dc-tour-card__body{margin:0 0 14px;font-size:13.5px;line-height:1.55;color:var(--text-secondary, #71717a);white-space:pre-wrap}.dc-tour-card__dots{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:0 0 12px}.dc-tour-card__dot{width:7px;height:7px;border-radius:50%;background:color-mix(in srgb,var(--brand-purple, #6965db) 22%,transparent);border:1px solid color-mix(in srgb,var(--brand-purple, #6965db) 35%,transparent)}.dc-tour-card__dot--active{width:18px;border-radius:999px;background:var(--brand-purple, #6965db);border-color:#5a56c7}.dc-tour-card__actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.dc-tour-card__actions-right{display:flex;flex-wrap:wrap;gap:8px;margin-left:auto}.dc-tour-btn{min-width:72px;padding:8px 14px;border-radius:999px;font-family:var(--font-hand);font-size:13px;font-weight:700;cursor:pointer;transition:transform .15s,filter .15s,background .15s,box-shadow .15s}.dc-tour-btn:focus-visible{outline:2px solid var(--brand-purple, #6965db);outline-offset:2px}.dc-tour-btn--ghost{border:1.5px solid var(--border-light, rgba(0, 0, 0, .12));background:transparent;color:var(--text-secondary, #71717a);transform:rotate(-1deg)}.dc-tour-btn--ghost:hover{color:var(--text-primary, #18181b);background:color-mix(in srgb,var(--brand-purple, #6965db) 8%,transparent);transform:rotate(0)}.dc-tour-btn--primary{border:2px solid #5a56c7;background:#6965db;color:#fff;box-shadow:2px 3px color-mix(in srgb,#6965db 35%,#000);transform:rotate(1deg)}.dc-tour-btn--primary:hover{filter:brightness(1.06);transform:rotate(0) translateY(-1px)}@keyframes dc-tour-fade{0%{opacity:0}to{opacity:1}}@keyframes dc-tour-pop{0%{opacity:0;transform:translateY(10px) scale(.94) rotate(-1.2deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(-.35deg)}}.dc-tour-card--center{animation-name:dc-tour-pop-center}@keyframes dc-tour-pop-center{0%{opacity:0;transform:translate(-50%,-46%) scale(.94) rotate(-1.2deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-.35deg)}}@media (max-width: 768px){.dc-tour-card{width:min(320px,calc(100vw - 24px));bottom:calc(88px + env(safe-area-inset-bottom,0px))!important;top:auto!important;left:50%!important;transform:translate(-50%) rotate(-.35deg)}.dc-tour-card--center{top:42%!important;bottom:auto!important;transform:translate(-50%,-50%) rotate(-.35deg)}.dc-tour-card__arrow{display:none}}@media (prefers-reduced-motion: reduce){.dc-tour-dim,.dc-tour-card,.dc-tour-spotlight{animation:none;transition:none}}.dc-public-profile{display:flex;flex-direction:column;min-height:100vh;background-color:var(--dc-bg-paper);color:var(--dc-text);font-family:var(--dc-font-sans)}.dc-public-profile-header{display:flex;flex-direction:row;align-items:center;justify-content:space-between;max-width:1140px;margin:0 auto;width:100%;padding:40px 20px 28px;box-sizing:border-box;gap:32px}.dc-public-profile-header .dc-catalog__header{flex:1;text-align:left;margin-bottom:0}.dc-public-profile-header .dc-catalog__eyebrow{font-family:var(--font-hand, cursive);font-size:.85rem;font-weight:700;letter-spacing:.1em;color:var(--brand-purple, #6965db);margin:0 0 6px;text-transform:uppercase}.dc-public-profile-header .dc-catalog__title{font-family:var(--font-hand, cursive);font-size:2rem;font-weight:700;color:var(--dc-text);margin:0 0 8px;line-height:1.15}.dc-public-profile-header .dc-catalog__desc{font-family:var(--font-hand, cursive);font-size:1.05rem;color:var(--dc-text-muted);max-width:440px;line-height:1.4;margin:0}.dc-public-profile-user-box{display:flex;flex-direction:column;align-items:flex-end;gap:12px;flex-shrink:0}.dc-public-profile-user-top{display:flex;align-items:center;gap:16px}.dc-public-profile-avatar-container{flex-shrink:0}.dc-public-profile-avatar{width:80px;height:80px;border-radius:50%;object-fit:cover;border:2px dashed color-mix(in srgb,var(--brand-purple, #6965db) 60%,transparent);padding:3px;background-clip:content-box;box-shadow:0 4px 12px #00000014;transition:transform .3s cubic-bezier(.175,.885,.32,1.275)}.dc-public-profile-avatar:hover{transform:scale(1.05) rotate(-2deg)}.dc-public-profile-avatar-fallback{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent-gradient, linear-gradient(135deg, #6366F1, #10B981));border:2px dashed color-mix(in srgb,var(--brand-purple, #6965db) 60%,transparent);padding:3px;box-shadow:0 4px 12px #00000014}.dc-public-profile-initials{font-family:var(--font-hand, cursive);font-size:2rem;font-weight:700;color:#fff}.dc-public-profile-info{display:flex;flex-direction:column;gap:4px}.dc-public-profile-name{font-family:var(--font-hand, cursive);font-size:1.35rem;font-weight:700;margin:0;color:var(--dc-text);line-height:1.2}.dc-public-profile-username-tag{display:inline-block;font-family:var(--font-hand, cursive);font-size:.98rem;font-weight:600;color:var(--brand-purple, #6965db);text-decoration:none;cursor:pointer;transition:opacity .16s ease,text-decoration .16s ease;margin-bottom:2px}.dc-public-profile-username-tag:hover{text-decoration:underline;text-underline-offset:3px;opacity:.88}.dc-public-profile-actions-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}.dc-public-profile-follow-btn{font-family:var(--font-hand, cursive);background:var(--brand-purple, #6965db);color:#fff;border:2px solid var(--brand-purple, #6965db);border-radius:12px 14px 11px 13px/13px 11px 14px 12px;padding:8px 22px;font-weight:700;font-size:1rem;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,background .16s ease;box-shadow:2px 3px color-mix(in srgb,var(--brand-purple, #6965db) 40%,transparent);transform:rotate(-.5deg)}.dc-public-profile-follow-btn:hover:not(:disabled){transform:translateY(-2px) rotate(0);box-shadow:3px 4px color-mix(in srgb,var(--brand-purple, #6965db) 60%,transparent)}.dc-public-profile-follow-btn.is-following{background:transparent;color:var(--dc-text);border:2px solid var(--dc-border);box-shadow:2px 2px 0 var(--dc-border)}.dc-public-profile-copy-btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-hand, cursive);font-size:.9rem;font-weight:700;padding:7px 16px;border-radius:12px 14px 11px 13px/13px 11px 14px 12px;border:1.5px solid color-mix(in srgb,var(--brand-purple, #6965db) 40%,var(--dc-border));background:color-mix(in srgb,var(--brand-purple, #6965db) 8%,var(--dc-bg-paper));color:var(--brand-purple, #6965db);cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease,color .16s ease;white-space:nowrap}.dc-public-profile-copy-btn:hover{transform:translateY(-1px);background:color-mix(in srgb,var(--brand-purple, #6965db) 16%,var(--dc-bg-paper));border-color:var(--brand-purple, #6965db)}.dc-public-profile-copy-btn.is-copied{background:color-mix(in srgb,#22c55e 16%,var(--dc-bg-paper));border-color:#22c55e;color:#22c55e}.dc-public-profile-stats{display:flex;gap:24px;list-style:none;padding:0;margin:6px 0 0}.dc-public-profile-stat{display:flex;align-items:center;gap:6px;font-family:var(--font-hand, cursive);font-size:1.05rem;color:var(--dc-text-muted)}.dc-public-profile-stat svg{color:var(--brand-purple, #6965db);flex-shrink:0}.dc-public-profile-stat strong{color:var(--dc-text);font-weight:700;font-size:1.2rem}.dc-public-profile-divider{max-width:1140px;margin:0 auto;width:calc(100% - 40px);border-top:2px dashed color-mix(in srgb,var(--brand-purple, #6965db) 40%,transparent)}.dc-catalog__search-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:28px}.dc-public-profile-grid-container .dc-catalog__header{text-align:left;margin-bottom:24px}.dc-public-profile-grid-container .dc-catalog__eyebrow{font-family:var(--font-hand, cursive);font-size:.85rem;font-weight:700;letter-spacing:.1em;color:var(--brand-purple, #6965db);margin:0 0 6px;text-transform:uppercase}.dc-public-profile-grid-container .dc-catalog__title{font-family:var(--font-hand, cursive);font-size:1.8rem;font-weight:700;color:var(--dc-text);margin:0 0 8px}.dc-public-profile-grid-container .dc-catalog__desc{font-family:var(--font-hand, cursive);font-size:1.05rem;color:var(--dc-text-muted);max-width:650px;line-height:1.4;margin:0}.dc-search-wrap{position:relative;flex:1;max-width:480px}.dc-search-wrap__icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--dc-text-muted);pointer-events:none}.dc-search-input{width:100%;padding:0;margin:0;font-family:var(--font-hand, cursive);font-size:.95rem;border:none!important;background:transparent!important;color:var(--dc-text);outline:none!important;box-shadow:none!important;border-radius:0!important}.dc-search-input:focus{border:none!important;outline:none!important;box-shadow:none!important}.dc-search-wrap__clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--dc-text-muted);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center}.dc-catalog__count{font-family:var(--font-hand, cursive);font-size:1.05rem;font-weight:700;color:var(--dc-text-muted);white-space:nowrap}.dc-theory-search-hits{margin:0 0 24px;padding:12px 14px 10px;border-radius:14px 12px 15px 11px/12px 14px 11px 15px;border:1.5px solid color-mix(in srgb,var(--brand-purple, #6965db) 42%,var(--dc-border));background:linear-gradient(145deg,color-mix(in srgb,var(--brand-purple, #6965db) 8%,transparent),transparent 55%),var(--dc-bg-paper);transform:rotate(-.35deg);box-shadow:3px 3px color-mix(in srgb,var(--brand-purple, #6965db) 18%,transparent);max-width:560px}.dc-theory-search-hits__status{margin:0;padding:6px 8px;font-size:.95rem;font-family:var(--font-hand, cursive);color:var(--dc-text-muted)}.dc-theory-search-hits__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:280px;overflow-y:auto}.dc-theory-search-hit{--hit-accent: var(--brand-purple, #6965db);display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;border:1.5px dashed transparent;border-radius:10px;background:transparent;text-decoration:none;cursor:pointer;transition:background .14s ease,border-color .14s ease,transform .14s ease}.dc-theory-search-hit:hover{background:color-mix(in srgb,var(--hit-accent) 12%,transparent);border-color:color-mix(in srgb,var(--hit-accent) 40%,transparent);transform:translate(3px)}.dc-theory-search-hit__text{display:flex;align-items:center;justify-content:space-between;width:100%}.dc-theory-search-hit__track{font-family:var(--font-hand, cursive);font-size:1.05rem;font-weight:700;color:var(--dc-text)}.dc-theory-search-hit__label{font-family:var(--font-hand, cursive);font-size:.85rem;font-weight:600;color:var(--hit-accent)}.dc-public-profile-grid-container{max-width:1140px;margin:0 auto;width:100%;padding:40px 20px;box-sizing:border-box}.dc-public-profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.dc-public-profile-card{display:flex;flex-direction:column;align-items:stretch;padding:20px 22px 18px;min-height:180px;border:2px solid var(--dc-border, #e2e8f0);border-radius:16px 18px 15px 17px/17px 15px 18px 16px;background:var(--dc-bg-paper, #ffffff);text-decoration:none;color:var(--dc-text);font-family:var(--font-hand, cursive);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;position:relative;overflow:hidden;transform:rotate(-.4deg)}.dc-public-profile-card:nth-child(2n){transform:rotate(.5deg);border-radius:18px 15px 19px 14px/15px 18px 14px 19px}.dc-public-profile-card:nth-child(3n){transform:rotate(-.3deg)}.dc-public-profile-card:hover{transform:translateY(-4px) rotate(0);border-color:var(--card-accent, var(--brand-purple, #6965db));box-shadow:4px 4px color-mix(in srgb,var(--card-accent, var(--brand-purple, #6965db)) 30%,transparent)}.dc-public-profile-card-icon-circle{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;color:var(--card-accent, var(--brand-purple, #6965db));border:1.5px solid color-mix(in srgb,var(--card-accent, var(--brand-purple, #6965db)) 40%,transparent);border-radius:42% 58% 50% 48%/48% 42% 58% 50%;background:transparent;padding:6px;box-sizing:border-box;margin-bottom:12px;transition:transform .2s ease,background-color .2s ease}.dc-public-profile-card-icon-circle svg{width:20px;height:20px;display:block}.dc-public-profile-card:hover .dc-public-profile-card-icon-circle{transform:scale(1.08) rotate(-4deg);background:color-mix(in srgb,var(--card-accent, var(--brand-purple, #6965db)) 10%,transparent)}.dc-public-profile-card-title{font-family:var(--font-hand, cursive);font-size:1.25rem;font-weight:700;margin:0 0 14px;line-height:1.3;color:var(--dc-text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dc-public-profile-card-divider{border-top:1.5px dashed color-mix(in srgb,var(--dc-border) 90%,transparent);margin:auto 0 12px}.dc-public-profile-card-footer{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;font-weight:600;color:var(--dc-text-muted)}.dc-public-profile-card-meta{font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:75%}.dc-public-profile-card-likes{display:inline-flex;align-items:center;gap:4px;font-size:.8rem}.dc-public-profile-card-image-preview{position:relative;z-index:1;height:124px;margin:-20px -22px 16px;overflow:hidden;border-bottom:1.5px dashed color-mix(in srgb,var(--card-accent) 32%,var(--dc-border));background:var(--dc-bg-paper)}.dc-public-profile-card-image-preview img{width:100%;height:100%;object-fit:cover;transition:transform .28s ease,filter .28s ease}.dc-public-profile-card:hover .dc-public-profile-card-image-preview img{transform:scale(1.04);filter:saturate(.9) brightness(.82)}.dc-public-profile-card-image-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#0d0f1814,#0d0f18a3);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .22s ease}.dc-public-profile-card:hover .dc-public-profile-card-image-overlay,.dc-public-profile-card:focus-visible .dc-public-profile-card-image-overlay{opacity:1}.dc-public-profile-card-image-overlay span{color:#fff;font-family:var(--font-hand, cursive);font-size:.95rem;font-weight:700;background:var(--card-accent, var(--brand-purple, #6965db));padding:7px 13px;border:2px solid color-mix(in srgb,var(--card-accent) 65%,transparent);border-radius:10px;box-shadow:2px 3px color-mix(in srgb,var(--card-accent) 30%,transparent)}.dc-public-profile-card-text-preview{position:relative;z-index:1;min-height:142px;margin:-20px -22px 16px;padding:20px 22px 18px;overflow:hidden;box-sizing:border-box;background:radial-gradient(circle at 88% 18%,color-mix(in srgb,var(--card-accent) 24%,transparent) 0 4px,transparent 5px),linear-gradient(145deg,color-mix(in srgb,var(--card-accent) 12%,var(--dc-bg-paper)) 0%,var(--dc-bg-paper) 76%);border-bottom:1.5px dashed color-mix(in srgb,var(--card-accent) 32%,var(--dc-border))}.dc-public-profile-card-text-preview:after{content:"";position:absolute;right:18px;bottom:14px;width:52px;height:10px;border-bottom:3px solid color-mix(in srgb,var(--card-accent) 60%,transparent);border-radius:50%;transform:rotate(-3deg);pointer-events:none}.dc-public-profile-card-text-preview-content{transition:filter .22s ease,opacity .22s ease,transform .22s ease}.dc-public-profile-card-text-kicker{display:block;margin-bottom:7px;color:var(--card-accent, var(--brand-purple, #6965db));font-size:.68rem;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.dc-public-profile-card-text-preview h3{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0 0 8px;color:var(--dc-text);font-family:var(--font-hand, cursive);font-size:1.15rem;font-weight:700;line-height:1.25}.dc-public-profile-card-text-preview p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;margin:0;color:var(--dc-text-muted);font-family:var(--font-hand, cursive);font-size:.82rem;line-height:1.45}.dc-public-profile-card-text-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--dc-bg-paper) 64%,transparent);opacity:0;transition:opacity .22s ease}.dc-public-profile-card-text-overlay span{padding:7px 13px;border:2px solid color-mix(in srgb,var(--card-accent) 65%,transparent);border-radius:10px;background:var(--card-accent, var(--brand-purple, #6965db));box-shadow:2px 3px color-mix(in srgb,var(--card-accent) 30%,transparent);color:#fff;font-family:var(--font-hand, cursive);font-size:.9rem;font-weight:700;transform:translateY(5px) rotate(-1deg);transition:transform .22s ease}.dc-public-profile-card:hover .dc-public-profile-card-text-preview-content,.dc-public-profile-card:focus-visible .dc-public-profile-card-text-preview-content{filter:blur(2.2px);opacity:.42;transform:scale(1.015)}.dc-public-profile-card:hover .dc-public-profile-card-text-overlay,.dc-public-profile-card:focus-visible .dc-public-profile-card-text-overlay{opacity:1}.dc-public-profile-card:hover .dc-public-profile-card-text-overlay span,.dc-public-profile-card:focus-visible .dc-public-profile-card-text-overlay span{transform:translateY(0) rotate(-1deg)}.dc-public-profile-card.has-text-preview .dc-public-profile-card-divider{margin-top:auto}.dc-public-profile-empty{text-align:center;padding:40px 20px 60px;display:flex;justify-content:center}.dc-public-profile-empty-sketch-box{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:420px;padding:36px 30px;border:2px dashed color-mix(in srgb,var(--brand-purple, #6965db) 40%,transparent);border-radius:20px 18px 22px 17px/18px 22px 17px 20px;background:var(--dc-bg-paper);transform:rotate(-.5deg);box-shadow:4px 4px #00000008}.dc-public-profile-empty-sketch-box svg{color:var(--brand-purple, #6965db);animation:dcEmptyFloat 3s ease-in-out infinite}@keyframes dcEmptyFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(-3deg)}}.dc-public-profile-empty-sketch-box h3{font-family:var(--font-hand, cursive);font-size:1.5rem;font-weight:700;margin:0;color:var(--dc-text)}.dc-public-profile-empty-sketch-box p{font-family:var(--font-hand, cursive);font-size:1.05rem;margin:0;color:var(--dc-text-muted)}.dc-profile-tab-shell{display:flex;flex-direction:column;min-height:100%;background-color:var(--dc-bg-paper)}.dc-profile-tab-bar-wrap{background:var(--dc-bg-paper);border-bottom:2px dashed color-mix(in srgb,var(--brand-purple, #6965db) 30%,transparent);padding:12px 20px 0;display:flex;justify-content:center}.dc-profile-tab-bar{display:flex;align-items:center;gap:8px;max-width:1140px;width:100%}.dc-profile-tab-item{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-hand, cursive);font-size:1.05rem;font-weight:700;padding:10px 22px;border:2px solid transparent;border-bottom:none;border-radius:14px 14px 0 0;background:transparent;color:var(--dc-text-muted);cursor:pointer;transition:all .16s ease;position:relative;top:2px}.dc-profile-tab-item:hover{color:var(--brand-purple, #6965db);background:color-mix(in srgb,var(--brand-purple, #6965db) 6%,transparent)}.dc-profile-tab-item:disabled{cursor:not-allowed;opacity:.48}.dc-profile-tab-item:disabled:hover{color:var(--dc-text-muted);background:transparent}.dc-profile-tab-content{min-width:0}.dc-profile-tab-item.is-active{color:var(--brand-purple, #6965db);background:var(--dc-bg-paper);border-color:color-mix(in srgb,var(--brand-purple, #6965db) 40%,transparent);border-bottom-color:var(--dc-bg-paper);box-shadow:0 -2px 8px #00000008}.dc-public-profile-edit-btn{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-hand, cursive);font-size:.95rem;font-weight:700;color:var(--brand-purple, #6965db);background:color-mix(in srgb,var(--brand-purple, #6965db) 10%,transparent);border:1.5px dashed color-mix(in srgb,var(--brand-purple, #6965db) 40%,transparent);border-radius:10px;padding:6px 14px;text-decoration:none;cursor:pointer;transition:all .16s ease}.dc-public-profile-edit-btn:hover{background:color-mix(in srgb,var(--brand-purple, #6965db) 20%,transparent);transform:translateY(-1px)}.dc-public-profile-error-container{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px;min-height:calc(100vh - 220px)}.dc-public-profile-error-card{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:380px;width:100%;padding:28px 24px;background:var(--dc-bg-paper);border:2px dashed color-mix(in srgb,var(--brand-purple, #6965db) 45%,transparent);border-radius:20px 16px 18px 15px/15px 18px 16px 20px;transform:rotate(-.5deg);box-shadow:4px 4px color-mix(in srgb,var(--brand-purple, #6965db) 15%,transparent);transition:transform .2s ease,box-shadow .2s ease}.dc-public-profile-error-card:hover{transform:rotate(0) translateY(-2px);box-shadow:6px 6px color-mix(in srgb,var(--brand-purple, #6965db) 25%,transparent)}.dc-public-profile-error-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--brand-purple, #6965db) 10%,transparent);border:1.5px dashed color-mix(in srgb,var(--brand-purple, #6965db) 50%,transparent);color:var(--brand-purple, #6965db);margin-bottom:14px;animation:dcEmptyFloat 3s ease-in-out infinite}.dc-public-profile-error-title{font-family:var(--font-hand, cursive);font-size:1.55rem;font-weight:700;color:var(--dc-text);margin:0 0 8px;line-height:1.2}.dc-public-profile-error-desc{font-family:var(--font-hand, cursive);font-size:.98rem;color:var(--dc-text-muted);margin:0 0 20px;line-height:1.4}.dc-public-profile-error-actions{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:10px;width:100%}.dc-public-profile-btn-primary{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-hand, cursive);font-size:.95rem;font-weight:700;background:var(--brand-purple, #6965db);color:#fff;border:2px solid var(--brand-purple, #6965db);border-radius:12px 14px 11px 13px/13px 11px 14px 12px;padding:9px 16px;text-decoration:none;cursor:pointer;box-shadow:2px 2px color-mix(in srgb,var(--brand-purple, #6965db) 40%,transparent);transform:rotate(-.5deg);transition:transform .16s ease,box-shadow .16s ease,background .16s ease;white-space:nowrap}.dc-public-profile-btn-primary:hover{transform:translateY(-2px) rotate(0);box-shadow:3px 4px color-mix(in srgb,var(--brand-purple, #6965db) 60%,transparent);color:#fff}.dc-public-profile-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:6px;font-family:var(--font-hand, cursive);font-size:.95rem;font-weight:700;background:var(--dc-bg-paper);color:var(--dc-text);border:2px solid var(--dc-border);border-radius:11px 13px 12px 14px/14px 12px 13px 11px;padding:9px 16px;text-decoration:none;cursor:pointer;box-shadow:2px 2px #0000000a;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;white-space:nowrap}.dc-public-profile-btn-secondary:hover{border-color:var(--brand-purple, #6965db);color:var(--brand-purple, #6965db);transform:translateY(-2px);box-shadow:3px 3px color-mix(in srgb,var(--brand-purple, #6965db) 25%,transparent)}.dc-public-profile-btn-outline{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-hand, cursive);font-size:.95rem;font-weight:600;color:var(--dc-text-muted);background:transparent;border:none;padding:8px 16px;text-decoration:underline;text-underline-offset:4px;cursor:pointer;transition:color .16s ease}.dc-public-profile-btn-outline:hover{color:var(--brand-purple, #6965db)}.dc-404-page{min-height:100vh;display:flex;flex-direction:column;background-color:var(--dc-bg-paper)}.dc-404-body{flex:1;display:flex;align-items:center;justify-content:center;padding:40px 20px;min-height:calc(100vh - 120px)}.dc-404-card{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:400px;width:100%;padding:32px 28px;background:var(--dc-bg-paper);border:2px dashed color-mix(in srgb,var(--brand-purple, #6965db) 40%,transparent);border-radius:22px 18px 20px 16px/16px 20px 18px 22px;transform:rotate(-.5deg);box-shadow:5px 5px color-mix(in srgb,var(--brand-purple, #6965db) 15%,transparent);transition:transform .2s ease,box-shadow .2s ease}.dc-404-card:hover{transform:rotate(0) translateY(-2px);box-shadow:7px 7px color-mix(in srgb,var(--brand-purple, #6965db) 25%,transparent)}.dc-404-sketch{color:var(--brand-purple, #6965db);margin-bottom:12px}.dc-404-spark-a{animation:dcSpark 2.4s ease-in-out infinite alternate}.dc-404-spark-b{animation:dcSpark 2.8s ease-in-out .4s infinite alternate}@keyframes dcSpark{0%{transform:translateY(0) scale(1);opacity:.8}to{transform:translateY(-4px) scale(1.2);opacity:1}}.dc-404-title{font-family:var(--font-hand, cursive);font-size:1.8rem;font-weight:700;color:var(--dc-text);margin:0 0 8px;line-height:1.2}.dc-404-desc{font-family:var(--font-hand, cursive);font-size:.98rem;color:var(--dc-text-muted);margin:0 0 24px;line-height:1.4;max-width:320px}.dc-404-actions{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;flex-wrap:wrap}.dc-404-btn-primary{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-hand, cursive);font-size:.9rem;font-weight:700;background:var(--brand-purple, #6965db);color:#fff;border:1.5px solid var(--brand-purple, #6965db);border-radius:11px 13px 10px 12px/12px 10px 13px 11px;padding:8px 14px;text-decoration:none;cursor:pointer;box-shadow:2px 2px color-mix(in srgb,var(--brand-purple, #6965db) 40%,transparent);transform:rotate(-.5deg);transition:transform .16s ease,box-shadow .16s ease;white-space:nowrap}.dc-404-btn-primary:hover{transform:translateY(-2px) rotate(0);box-shadow:3px 3px color-mix(in srgb,var(--brand-purple, #6965db) 60%,transparent);color:#fff}.dc-404-btn-secondary{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-hand, cursive);font-size:.9rem;font-weight:700;background:var(--dc-bg-paper);color:var(--dc-text);border:1.5px solid var(--dc-border);border-radius:10px 12px 11px 13px/13px 11px 12px 10px;padding:8px 14px;text-decoration:none;cursor:pointer;box-shadow:2px 2px #0000000a;transition:transform .16s ease,border-color .16s ease;white-space:nowrap}.dc-404-btn-secondary:hover{border-color:var(--brand-purple, #6965db);color:var(--brand-purple, #6965db);transform:translateY(-2px)}.dc-404-btn-outline{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-hand, cursive);font-size:.88rem;font-weight:600;color:var(--dc-text-muted);background:transparent;border:1.5px dashed transparent;border-radius:10px;padding:7px 12px;text-decoration:none;cursor:pointer;transition:color .16s ease,border-color .16s ease;white-space:nowrap}.dc-404-btn-outline:hover{color:var(--brand-purple, #6965db);border-color:color-mix(in srgb,var(--brand-purple, #6965db) 30%,transparent)}@media (max-width: 860px){.dc-public-profile{padding-bottom:calc(84px + env(safe-area-inset-bottom,0px))}.dc-public-profile-header{flex-direction:column;align-items:center;text-align:center;gap:18px;padding:24px 16px 18px}.dc-public-profile-header .dc-catalog__header{text-align:center;margin-bottom:0;width:100%}.dc-public-profile-header .dc-catalog__eyebrow{font-size:.8rem;letter-spacing:.08em;margin-bottom:4px;text-align:center}.dc-public-profile-header .dc-catalog__title{font-size:clamp(1.45rem,5vw,1.9rem);margin-bottom:6px;text-align:center;line-height:1.2}.dc-public-profile-header .dc-catalog__desc{font-size:.95rem;text-align:center;margin:0 auto;max-width:500px;line-height:1.45}.dc-public-profile-user-box{width:100%;max-width:100%;align-items:center;text-align:center;margin:0 auto;gap:10px;padding:0;background:transparent;border:none;border-radius:0;box-shadow:none;transform:none}.dc-public-profile-user-top{flex-direction:column;align-items:center;text-align:center;gap:10px;width:100%}.dc-public-profile-avatar,.dc-public-profile-avatar-fallback{width:72px;height:72px}.dc-public-profile-info{align-items:center;text-align:center;width:100%;gap:3px}.dc-public-profile-name{font-size:1.35rem;text-align:center}.dc-public-profile-username-tag{font-size:.95rem;text-align:center;margin-bottom:4px}.dc-public-profile-actions-row{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;flex-wrap:wrap;margin-top:4px}.dc-public-profile-follow-btn{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:120px;max-width:200px;height:38px;padding:0 20px;font-size:.95rem;font-weight:700;border-radius:12px;transform:none}.dc-public-profile-edit-btn{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:120px;max-width:200px;height:38px;padding:0 16px;font-size:.92rem;font-weight:700;border-radius:12px}.dc-public-profile-copy-btn{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:120px;max-width:200px;height:38px;padding:0 16px;font-size:.9rem;font-weight:700;border-radius:12px}.dc-public-profile-stats{width:100%;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:20px;padding:4px 0 0;background:transparent;border:none;box-shadow:none;margin:4px 0 0;list-style:none;flex-wrap:wrap}.dc-public-profile-stat{display:inline-flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;font-size:.92rem;color:var(--dc-text-muted)}.dc-public-profile-stat strong{font-size:1.15rem;color:var(--dc-text);line-height:1}.dc-public-profile-stat svg{width:15px;height:15px;color:var(--brand-purple, #6965db)}.dc-public-profile-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}}@media (max-width: 640px){.dc-profile-tab-bar-wrap{padding:8px 10px 0}.dc-profile-tab-bar{gap:4px}.dc-profile-tab-item{flex:1 1 0;justify-content:center;min-width:0;gap:5px;padding:8px 6px;font-size:.84rem;line-height:1.15;text-align:center;border-radius:12px 12px 0 0}.dc-profile-tab-item svg{flex:0 0 auto;width:14px;height:14px}.dc-public-profile-header{padding:18px 14px 16px;gap:16px}.dc-public-profile-divider{width:calc(100% - 28px)}.dc-public-profile-grid-container{padding:20px 14px 40px}.dc-catalog__search-row{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:20px}.dc-search-wrap{max-width:100%;width:100%}.dc-catalog__count{align-self:flex-end;font-size:.85rem;margin-top:-2px}.dc-public-profile-grid{grid-template-columns:1fr;gap:14px}.dc-public-profile-card,.dc-public-profile-card:nth-child(2n),.dc-public-profile-card:nth-child(3n){transform:none;border-radius:14px;padding:16px 16px 14px}.dc-public-profile-card-image-preview{height:120px;margin:-16px -16px 14px}.dc-public-profile-card-text-preview{min-height:110px;margin:-16px -16px 14px;padding:14px 16px 12px}}@media (max-width: 380px){.dc-public-profile-stats{gap:12px}.dc-public-profile-stat{font-size:.82rem;gap:4px}.dc-public-profile-stat strong{font-size:1rem}}.dc-eph-shell{flex:1;min-height:0;overflow-y:auto;background:var(--bg-primary)}.dc-eph-shell__body{min-height:100%}.cv-app{display:flex;flex-direction:column;height:100vh;height:100dvh;background:var(--bg-primary);overflow:hidden;position:relative}.cv-body{flex:1;display:flex;min-height:0;overflow:hidden}.cv-main{flex:1;position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden}.excalidraw-page{display:flex;flex-direction:column;width:100vw;height:100vh;height:100dvh;overflow:hidden;background:var(--bg-primary, #121212);--obs-chrome: var(--bg-secondary, #1e1e2e);--obs-border: color-mix(in srgb, var(--border, #45475a) 42%, transparent);--obs-divider: color-mix(in srgb, var(--border, #45475a) 28%, transparent);--obs-hover: var(--bg-hover, rgba(255, 255, 255, .06));--obs-surface: var(--bg-primary, #121212);--obs-muted: var(--text-secondary, #a6adc8);--obs-muted-weak: var(--text-tertiary, #6c7086);--obs-strong: var(--text-primary, #cdd6f4);--obs-input-bg: var(--bg-tertiary, #1a1a1a);--obs-input-border: var(--border-light, rgba(255, 255, 255, .12));--border-focus: var(--accent-secondary, #6366f1);--xc-island-shadow: 0 8px 24px rgba(0, 0, 0, .34), 0 2px 6px rgba(0, 0, 0, .2)}.excalidraw-page[data-theme=light]{--obs-muted: var(--text-secondary, #64748b);--obs-strong: var(--text-primary, #1a1a1a);--xc-island-shadow: 0 8px 22px rgba(15, 23, 42, .14), 0 2px 5px rgba(15, 23, 42, .08)}.excalidraw-page__stage{flex:1;min-height:0;position:relative;overflow:hidden}.excalidraw-page__body{flex:1;display:flex;min-height:0;min-width:0;overflow:hidden}.excalidraw-page .obs-app__body[data-loading=true]>*:not(.obs-skeleton-overlay){pointer-events:none}.excalidraw-page .cv-main--loading{flex:1 1 auto;min-height:0}.excalidraw-page .cv-scene-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:4;display:flex;align-items:stretch;justify-content:stretch;pointer-events:none;background:color-mix(in srgb,var(--bg-primary, #0f1115) 72%,transparent)}.excalidraw-page .cv-scene-loading__skel{flex:1;margin:16px;border-radius:10px;background:linear-gradient(110deg,color-mix(in srgb,var(--bg-secondary, #1a1d24) 80%,transparent) 20%,color-mix(in srgb,var(--bg-tertiary, #2a2f3a) 90%,transparent),color-mix(in srgb,var(--bg-secondary, #1a1d24) 80%,transparent) 60%);background-size:200% 100%;animation:cv-scene-skel 1.1s ease-in-out infinite}@keyframes cv-scene-skel{0%{background-position:100% 0}to{background-position:-100% 0}}.excalidraw-page--with-sidebar .ft-tree-sidebar{flex-shrink:0}.excalidraw-page .ft-sidebar .ft-search{display:flex;align-items:center;gap:6px;position:relative;padding:8px 10px;border-bottom:none;background:transparent}.excalidraw-page .ft-sidebar .ft-search__icon{position:absolute;left:18px;color:var(--obs-muted);pointer-events:none}.excalidraw-page .ft-sidebar .ft-search__input{width:100%;height:28px;border-radius:999px;border:1px solid color-mix(in srgb,var(--obs-input-border) 70%,transparent);background:color-mix(in srgb,var(--obs-input-bg) 45%,transparent);color:var(--obs-strong);font-family:var(--font-hand)!important;letter-spacing:.1px;font-size:12px;padding:0 28px 0 30px;outline:none}.excalidraw-page .ft-sidebar .ft-search__input::placeholder{color:var(--obs-muted);font-family:var(--font-hand)!important;letter-spacing:.1px}.excalidraw-page .ft-sidebar .ft-search__input:focus{border-color:color-mix(in srgb,var(--border-focus) 80%,transparent);background:color-mix(in srgb,var(--obs-input-bg) 65%,transparent)}.excalidraw-page .ft-sidebar .ft-search__clear{position:absolute;right:14px;width:18px;height:18px;border:none;border-radius:5px;background:transparent;color:var(--obs-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.excalidraw-page .ft-sidebar .ft-search__clear:hover{background:var(--obs-hover);color:var(--obs-strong)}.excalidraw-stage-wrap{position:relative;flex:1;min-height:0;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-primary)}.excalidraw-stage-wrap .cv-excalidraw-root{flex:1;min-height:0}.obs-main.is-agent-working{position:relative}.obs-main.is-agent-working .obs-tabbar,.obs-main.is-agent-working .obs-tabs{overflow:visible}.obs-main.is-agent-working .obs-tabbar{position:relative;z-index:42}.obs-main.is-agent-working>.excalidraw-stage-wrap{position:relative;isolation:isolate}.obs-main.is-agent-working>.excalidraw-stage-wrap:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:18;pointer-events:none;padding:2px;background:linear-gradient(120deg,#6965db,#22c55e,#f4a261,#e8590c,#228be6,#6965db);background-size:300% 300%;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;box-shadow:0 0 16px color-mix(in srgb,#6965db 32%,transparent),0 0 28px color-mix(in srgb,#22c55e 16%,transparent);animation:dc-canvas-agent-rainbow 2.4s linear infinite,dc-canvas-agent-glow 1.7s ease-in-out infinite}.obs-main.is-agent-working .obs-tab--active{position:relative;z-index:43;margin-bottom:-2px;background:var(--obs-surface, var(--bg-primary, #121212))}.obs-main.is-agent-working .obs-tab--active:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;border-radius:8px 8px 0 0;padding:2px 2px 0;background:linear-gradient(120deg,#6965db,#22c55e,#f4a261,#e8590c,#228be6,#6965db);background-size:300% 300%;-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;box-shadow:0 -2px 12px color-mix(in srgb,#6965db 36%,transparent),0 0 18px color-mix(in srgb,#22c55e 14%,transparent);animation:dc-canvas-agent-rainbow 2.4s linear infinite}.obs-main.is-agent-working .obs-tab--active>*{position:relative;z-index:1}.obs-main.is-agent-working:before,.obs-main.is-agent-working>.excalidraw-stage-wrap:after,.obs-main.is-agent-working .obs-tab--active:after{content:none!important;display:none!important}@keyframes dc-canvas-agent-glow{0%,to{opacity:.72}50%{opacity:1}}@keyframes dc-canvas-agent-rainbow{0%{background-position:0% 50%}to{background-position:300% 50%}}@media (prefers-reduced-motion: reduce){.obs-main.is-agent-working>.excalidraw-stage-wrap:before,.obs-main.is-agent-working .obs-tab--active:before{animation:none}}.excalidraw-page .nc-agentbar{position:absolute;left:50%;bottom:12px;transform:translate(-50%);z-index:20;width:min(560px,calc(100% - 80px));gap:6px;pointer-events:none}.excalidraw-page .nc-agentbar.nc-agentbar--island .nc-agentbar__shell{width:100%}.excalidraw-page .nc-agentbar.nc-agentbar--island .chat-input-container{padding:0;margin:0;background:transparent;border:none}.excalidraw-page .nc-agentbar.nc-agentbar--island .chat-input-wrapper{max-width:none;width:100%;border:none;box-shadow:none}.excalidraw-page .nc-agentbar.nc-agentbar--island .chat-input-box{display:flex;align-items:center;min-height:38px;padding:5px 8px;gap:3px;border:1px solid var(--obs-border);border-radius:10px;background:var(--obs-surface);box-shadow:var(--xc-island-shadow);transform:none;overflow:visible;position:relative}.excalidraw-page .nc-agentbar.nc-agentbar--island .chat-input-box:focus-within{border-color:color-mix(in srgb,var(--accent-primary, #6965db) 55%,var(--obs-border));transform:none;box-shadow:var(--xc-island-shadow)}.excalidraw-page .nc-agentbar.nc-agentbar--island .chat-input-box.processing{border:1px solid transparent;background-image:linear-gradient(var(--obs-surface),var(--obs-surface)),linear-gradient(90deg,#6965db,#7bc86c,#f4a261,#6965db);background-origin:border-box;background-clip:padding-box,border-box;background-size:100% 100%,220% 100%;animation:nc-island-agent-border 2.2s linear infinite;box-shadow:var(--xc-island-shadow)}@keyframes nc-island-agent-border{0%{background-position:0 0,0% 50%}to{background-position:0 0,220% 50%}}.excalidraw-page .nc-agentbar.nc-agentbar--island .nc-agentbar__avatar{width:28px;height:28px;border:none;border-radius:6px;background:transparent;box-shadow:none;color:var(--obs-muted);cursor:pointer;transition:background .15s,color .15s;flex-shrink:0;padding:0;overflow:visible}.excalidraw-page .nc-agentbar.nc-agentbar--island .nc-agentbar__robot{position:relative;z-index:3;transform:none}.excalidraw-page .nc-agentbar.nc-agentbar--island .nc-agentbar__robot .dc-character__bubble{top:8px;right:46px;left:auto;z-index:30;max-width:min(220px,48vw);overflow:hidden;text-overflow:ellipsis}.excalidraw-page .nc-agentbar.nc-agentbar--island .nc-agentbar__robot .dc-character__bubble:after{right:-5px;left:auto;transform:rotate(-45deg)}.excalidraw-page .nc-agentbar.nc-agentbar--island .nc-agentbar__robot-perch{position:absolute;right:50px;bottom:calc(100% - 6px);z-index:25;width:64px;height:68px;padding:0;overflow:visible;border:0;border-radius:18px;background:transparent;box-shadow:none;color:inherit;cursor:pointer}.excalidraw-page .nc-agentbar.nc-agentbar--island .nc-agentbar__robot-perch:hover,.excalidraw-page .nc-agentbar.nc-agentbar--island .nc-agentbar__robot-perch.is-active{background:transparent;box-shadow:none}.excalidraw-page .nc-agentbar.nc-agentbar--island .nc-agentbar__avatar .nc-agentbar__agent-icon{display:block;flex-shrink:0}.excalidraw-page .nc-agentbar.nc-agentbar--island .nc-agentbar__avatar:hover,.excalidraw-page .nc-agentbar.nc-agentbar--island .nc-agentbar__avatar.is-active{background:var(--obs-hover);color:var(--obs-strong);box-shadow:none}.excalidraw-page .nc-agentbar.nc-agentbar--island .nc-agentbar__voice-btn,.excalidraw-page .nc-agentbar.nc-agentbar--island .send-btn{width:24px;height:24px;min-width:24px;flex-shrink:0;border:none;border-radius:6px;background:transparent;box-shadow:none;color:var(--obs-muted);transition:background .15s,color .15s}.excalidraw-page .nc-agentbar.nc-agentbar--island .nc-agentbar__voice-btn:hover:not(:disabled),.excalidraw-page .nc-agentbar.nc-agentbar--island .send-btn:hover:not(:disabled){background:var(--obs-hover);color:var(--obs-strong);transform:none;box-shadow:none}.excalidraw-page .nc-agentbar.nc-agentbar--island .send-btn{color:var(--accent-primary, #6965db)}.excalidraw-page .nc-agentbar.nc-agentbar--island .send-btn:disabled{opacity:.4;color:var(--obs-muted)}.excalidraw-page .nc-agentbar.nc-agentbar--island .send-btn.stop-btn{color:#ef4444}.excalidraw-page .nc-agentbar.nc-agentbar--island .nc-agentbar__voice-btn.is-recording{color:#ef4444;background:color-mix(in srgb,#ef4444 12%,transparent)}.excalidraw-page .nc-agentbar.nc-agentbar--island .chat-input{padding:4px 2px;font-size:13px;line-height:1.35;min-height:20px}.excalidraw-page .nc-agentbar.nc-agentbar--island .nc-agentbar__feedback{min-height:22px;max-width:100%;padding:4px 10px;font-size:11px;border-radius:8px;border:1px solid var(--obs-border);background:var(--obs-surface);box-shadow:var(--xc-island-shadow);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.excalidraw-page .nc-agentbar.nc-agentbar--island .nc-agentbar__history{max-height:96px;padding:8px 10px;border-radius:10px;border:1px solid var(--obs-border);background:var(--obs-surface);box-shadow:var(--xc-island-shadow);font-size:11px}.excalidraw-page .nc-agentbar.nc-agentbar--island .nc-agentbar__message{margin-bottom:6px;padding:6px 8px}.excalidraw-page .nc-agentbar.nc-agentbar--island .nc-agentbar__message-head{font-size:10px}.excalidraw-page .nc-agentbar.nc-agentbar--island .nc-agentbar__message-body{font-size:11px;line-height:1.35}.excalidraw-page[data-theme=dark] .nc-agentbar.nc-agentbar--island .chat-input-box.processing{background-image:linear-gradient(var(--obs-surface),var(--obs-surface)),linear-gradient(90deg,#6965db,#7bc86c,#f4a261,#6965db)}.excalidraw-page[data-theme=dark] .nc-agentbar.nc-agentbar--island .chat-input{color:var(--obs-strong)}.excalidraw-page[data-theme=dark] .nc-agentbar.nc-agentbar--island .chat-input::placeholder{color:var(--obs-muted)}.excalidraw-page[data-theme=light] .nc-agentbar.nc-agentbar--island .chat-input-box.processing{background-image:linear-gradient(var(--obs-surface),var(--obs-surface)),linear-gradient(90deg,#6965db,#7bc86c,#f4a261,#6965db)}.excalidraw-page .nc-agentbar.nc-agentbar--pet .nc-agentbar__robot .dc-character__bubble{right:auto;left:100px}.excalidraw-page .nc-agentbar.nc-agentbar--pet .nc-agentbar__robot .dc-character__bubble:after{right:auto;left:-5px;transform:rotate(135deg)}.excalidraw-page .nc-agentbar.nc-agentbar--pet.is-pet-panel-left .nc-agentbar__robot .dc-character__bubble{right:102px;left:auto}.excalidraw-page .nc-agentbar.nc-agentbar--pet.is-pet-panel-left .nc-agentbar__robot .dc-character__bubble:after{right:-5px;left:auto;transform:rotate(-45deg)}.excalidraw-page[data-theme=dark] .excalidraw .excalidraw__canvas-wrapper{background:var(--bg-primary)!important}.excalidraw-page .excalidraw canvas.excalidraw__canvas,.excalidraw-page .excalidraw svg.excalidraw__canvas{background:transparent!important}.excalidraw-page .excalidraw .layer-ui__wrapper,.excalidraw-page .excalidraw .excalidraw-container,.excalidraw-page .excalidraw .App{background:transparent!important}.excalidraw-page .cv-main{flex:1;min-height:0;display:flex;flex-direction:column;position:relative;overflow:hidden}.excalidraw-page .cv-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--obs-muted);padding:40px;text-align:center}.excalidraw-page .cv-empty__title{font-size:15px;font-weight:600;color:var(--obs-strong)}.excalidraw-page .cv-empty__copy{font-size:13px;max-width:320px}.excalidraw-page .cv-empty__btn{margin-top:12px;padding:8px 16px;border-radius:8px;border:1px solid var(--obs-border);background:var(--obs-chrome);color:var(--obs-strong);font-size:13px;font-weight:500;cursor:pointer}.excalidraw-page .cv-empty__btn:hover{background:var(--obs-hover);border-color:color-mix(in srgb,var(--obs-strong) 24%,var(--obs-border))}.excalidraw-page .obs-tabbar__right{gap:3px;padding-bottom:3px;position:relative;align-items:center}.excalidraw-page .excalidraw .welcome-screen-center,.excalidraw-page .excalidraw .welcome-screen-menu-hints,.excalidraw-page .excalidraw [class*=welcome-screen]{display:none!important}.excalidraw-page .excalidraw .layer-ui__wrapper{z-index:10!important}.excalidraw-page .excalidraw .main-menu-trigger,.excalidraw-page .excalidraw button.main-menu-trigger,.excalidraw-page .excalidraw .dropdown-menu-button.main-menu-trigger,.excalidraw-page .excalidraw .App-menu_top__left>div:has(.main-menu-trigger){display:none!important;width:0!important;min-width:0!important;overflow:hidden!important;pointer-events:none!important}.excalidraw-page .excalidraw .App-menu_top{grid-template-columns:1fr auto 1fr!important;grid-gap:8px!important;align-items:start!important}.excalidraw-page .excalidraw .App-menu_top>*:first-child{grid-column:1!important;width:0!important;min-width:0!important;max-width:0!important;overflow:visible!important;padding:0!important;margin:0!important;position:static!important;transform:none!important}.excalidraw-page .excalidraw .App-menu_top>*:nth-child(2){grid-column:2!important;justify-self:center!important;min-width:0!important;max-width:100%!important;pointer-events:var(--ui-pointerEvents, all)!important}.excalidraw-page .excalidraw .App-menu_top>*:nth-child(3){grid-column:3!important;justify-self:end!important;pointer-events:var(--ui-pointerEvents, all)!important}.excalidraw-page .excalidraw .App-menu_top__left{display:block!important;width:0!important;min-width:0!important;max-width:0!important;overflow:visible!important;position:static!important}.excalidraw-page .excalidraw .App-menu_top__left>div:has(.main-menu-trigger){pointer-events:none!important}.excalidraw-page{--xc-props-width: 11rem}.excalidraw-page .excalidraw{--xc-props-max-height: min(520px, calc(100dvh - 72px) , calc(100vh - 72px) )}.excalidraw-page .excalidraw .App-menu_top__left>section.selected-shape-actions,.excalidraw-page .excalidraw .App-menu_top section.selected-shape-actions{position:absolute!important;left:0!important;top:50%!important;transform:translateY(-50%)!important;width:var(--xc-props-width)!important;min-width:var(--xc-props-width)!important;max-width:var(--xc-props-width)!important;max-height:var(--xc-props-max-height)!important;height:auto!important;z-index:15!important;margin:0!important;padding:0!important;border:none!important;overflow:hidden!important;pointer-events:none!important}.excalidraw-page .excalidraw .App-menu_top__left>section.selected-shape-actions>h2.visually-hidden,.excalidraw-page .excalidraw .App-menu_top section.selected-shape-actions>h2.visually-hidden{display:none!important}.excalidraw-page .excalidraw .Island.App-menu__left,.excalidraw-page .excalidraw .FixedSideContainer_side_top .Island.App-menu__left{position:absolute!important;left:0!important;top:50%!important;transform:translateY(-50%)!important;width:var(--xc-props-width)!important;min-width:var(--xc-props-width)!important;max-width:var(--xc-props-width)!important;max-height:var(--xc-props-max-height)!important;height:auto!important;min-height:0!important;z-index:15!important;display:flex!important;flex-direction:column!important;visibility:visible!important;pointer-events:all!important;box-sizing:border-box!important;padding:.55rem .75rem!important;border-radius:10px!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;box-shadow:0 4px 14px #0003!important;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable}.excalidraw-page .excalidraw section.selected-shape-actions>.Island.App-menu__left{position:relative!important;top:auto!important;left:auto!important;transform:none!important;width:var(--xc-props-width)!important;min-width:var(--xc-props-width)!important;max-width:var(--xc-props-width)!important;max-height:var(--xc-props-max-height)!important;flex:1 1 auto!important;min-height:0!important}.excalidraw-page .excalidraw .Island.App-menu__left>.selected-shape-actions,.excalidraw-page .excalidraw .Island.App-menu__left>.panelColumn{position:static!important;transform:none!important;display:flex!important;flex-direction:column!important;flex:0 0 auto!important;gap:.5rem!important;width:100%!important;height:auto!important;min-height:min-content!important;overflow:visible!important;pointer-events:auto!important}.excalidraw-page .excalidraw .Island.App-menu__left::-webkit-scrollbar{width:6px!important}.excalidraw-page .excalidraw .Island.App-menu__left::-webkit-scrollbar-track{background:transparent!important}.excalidraw-page .excalidraw .Island.App-menu__left::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--obs-muted) 65%,transparent)!important;border-radius:6px!important;min-height:32px!important}.excalidraw-page .excalidraw .Island.App-menu__left::-webkit-scrollbar-thumb:hover{background:var(--obs-muted)!important}.excalidraw-page .excalidraw .Island.App-menu__left{scrollbar-width:thin!important;scrollbar-color:color-mix(in srgb,var(--obs-muted) 65%,transparent) transparent!important}.excalidraw-page .excalidraw .Island.App-menu__left .panelColumn{display:flex!important;flex-direction:column!important;gap:.45rem!important;row-gap:.45rem!important;min-width:0!important;min-height:min-content!important;height:auto!important;width:100%!important}.excalidraw-page .excalidraw .Island.App-menu__left h3,.excalidraw-page .excalidraw .Island.App-menu__left legend,.excalidraw-page .excalidraw .Island.App-menu__left .control-label{font-size:.6875rem!important;margin:0 0 .1rem!important;line-height:1.2!important;min-width:0!important;max-width:100%!important}.excalidraw-page .excalidraw .Island.App-menu__left fieldset{margin:0!important;padding:0!important;min-width:0!important;max-width:100%!important}.excalidraw-page .excalidraw .Island.App-menu__left .buttonList{flex-wrap:wrap!important;max-width:100%!important;column-gap:.2rem!important;row-gap:.2rem!important;padding:0!important}.excalidraw-page .excalidraw .Island.App-menu__left .buttonList label,.excalidraw-page .excalidraw .Island.App-menu__left .buttonList .ToolIcon,.excalidraw-page .excalidraw .Island.App-menu__left .buttonList .zIndexButton{width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;padding:0!important;margin:0!important}.excalidraw-page .excalidraw .Island.App-menu__left .buttonList svg{width:13px!important;height:13px!important}.excalidraw-page .excalidraw .Island.App-menu__left .color-picker-container{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:.2rem!important;max-width:100%!important}.excalidraw-page .excalidraw .Island.App-menu__left .color-picker__top-picks{display:flex!important;flex-wrap:wrap!important;justify-content:flex-start!important;gap:.15rem!important}.excalidraw-page .excalidraw .Island.App-menu__left .color-picker__button{width:1.15rem!important;height:1.15rem!important;--radius: .22rem}.excalidraw-page .excalidraw .Island.App-menu__left .color-picker__button.active-color{width:1.3rem!important;height:1.3rem!important}.excalidraw-page .excalidraw .Island.App-menu__left .range-wrapper{padding-top:.25rem!important;padding-bottom:1rem!important}.excalidraw-page .excalidraw .Island.App-menu__left .range-input{height:3px!important}.excalidraw-page .excalidraw .Island.App-menu__left .range-input::-webkit-slider-thumb,.excalidraw-page .excalidraw .Island.App-menu__left .range-input::-moz-range-thumb{width:11px!important;height:11px!important}.excalidraw-page .excalidraw .Island.App-menu__left .value-bubble,.excalidraw-page .excalidraw .Island.App-menu__left .zero-label{font-size:.625rem!important}.excalidraw-page .excalidraw .help-icon,.excalidraw-page .excalidraw button.help-icon,.excalidraw-page .excalidraw [class*=help-icon]{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:0!important;opacity:0!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;border:none!important;pointer-events:none!important}.excalidraw-page .excalidraw .Island{box-shadow:var(--xc-island-shadow)!important;border:1px solid var(--obs-border)!important;border-radius:10px!important;background:var(--obs-surface)!important;padding:4px 6px!important}.excalidraw-page .excalidraw .Island.App-toolbar{padding:5px 8px!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;gap:3px!important;max-width:100%!important;width:auto!important;box-sizing:border-box!important}.excalidraw-page .excalidraw .App-toolbar-container{min-width:0!important;max-width:100%!important;flex-wrap:wrap!important;justify-content:center!important;display:flex!important;align-items:center!important;gap:3px!important}.excalidraw-page .excalidraw .App-toolbar .HintViewer,.excalidraw-page .excalidraw .App-toolbar [class*=HintViewer],.excalidraw-page .excalidraw .HintViewer,.excalidraw-page .excalidraw .App-toolbar__divider,.excalidraw-page .excalidraw .shapes-section__header,.excalidraw-page .excalidraw [class*=shapes-section__header],.excalidraw-page .excalidraw .App-toolbar .ToolIcon__keybinding,.excalidraw-page .excalidraw .ToolIcon__keybinding,.excalidraw-page .excalidraw .shapes-section .ToolIcon__label,.excalidraw-page .excalidraw .App-toolbar .ToolIcon__label,.excalidraw-page .excalidraw .ToolIcon__label{display:none!important}.excalidraw-page .excalidraw .App-toolbar .shapes-section,.excalidraw-page .excalidraw .App-toolbar section,.excalidraw-page .excalidraw .App-toolbar .Stack,.excalidraw-page .excalidraw .App-toolbar .Stack_horizontal,.excalidraw-page .excalidraw .App-toolbar .Stack_vertical,.excalidraw-page .excalidraw .shapes-section{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;gap:3px!important;min-width:0!important;max-width:100%!important}.excalidraw-page .excalidraw .ToolIcon__icon,.excalidraw-page .excalidraw .ToolIcon_type_button,.excalidraw-page .excalidraw .ToolIcon_type_radio,.excalidraw-page .excalidraw .ToolIcon{width:28px!important;height:28px!important;min-width:28px!important;padding:0!important;margin:0!important;border:none!important;border-radius:6px!important;background:transparent!important;color:var(--obs-muted)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;transition:background .15s,color .15s!important;box-shadow:none!important;box-sizing:border-box!important}.excalidraw-page .excalidraw .ToolIcon_type_button:hover,.excalidraw-page .excalidraw .ToolIcon_type_radio:hover,.excalidraw-page .excalidraw .ToolIcon__icon:hover,.excalidraw-page .excalidraw .ToolIcon:hover,.excalidraw-page .excalidraw .ToolIcon_type_button.ToolIcon_type_button--selected,.excalidraw-page .excalidraw .ToolIcon_type_radio.ToolIcon_type_radio--selected,.excalidraw-page .excalidraw .ToolIcon__icon--selected,.excalidraw-page .excalidraw .ToolIcon--selected,.excalidraw-page .excalidraw .ToolIcon.ToolIcon--selected{background:var(--obs-hover)!important;color:var(--obs-strong)!important}.excalidraw-page .excalidraw .ToolIcon__icon svg,.excalidraw-page .excalidraw .ToolIcon_type_button svg,.excalidraw-page .excalidraw .ToolIcon_type_radio svg,.excalidraw-page .excalidraw .ToolIcon svg{width:16px!important;height:16px!important}.excalidraw-page .excalidraw .zoom-actions,.excalidraw-page .excalidraw .zoom-action{background:transparent!important;border:none!important;box-shadow:none!important}.excalidraw-page .excalidraw .layer-ui__wrapper__footer-left .Island{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}.excalidraw-page .excalidraw .zoom-button,.excalidraw-page .excalidraw .zoom-in-button,.excalidraw-page .excalidraw .zoom-out-button,.excalidraw-page .excalidraw .reset-zoom-button{width:24px!important;height:24px!important;min-width:24px!important;padding:0!important;margin:0 1px!important;border:none!important;border-radius:6px!important;background:transparent!important;color:var(--obs-muted)!important;box-shadow:none!important;transition:background .15s,color .15s!important}.excalidraw-page .excalidraw .reset-zoom-button{width:auto!important;min-width:32px!important;padding:0 6px!important;font-size:11px!important}.excalidraw-page .excalidraw .zoom-button:hover,.excalidraw-page .excalidraw .zoom-in-button:hover,.excalidraw-page .excalidraw .zoom-out-button:hover,.excalidraw-page .excalidraw .reset-zoom-button:hover{background:var(--obs-hover)!important;color:var(--obs-strong)!important}.excalidraw-page .excalidraw .dropdown-menu-button,.excalidraw-page .excalidraw button.dropdown-menu-button{width:28px!important;height:28px!important;min-width:28px!important;padding:0!important;border:none!important;border-radius:6px!important;background:transparent!important;color:var(--obs-muted)!important;box-shadow:none!important;transition:background .15s,color .15s!important}.excalidraw-page .excalidraw .dropdown-menu-button:hover,.excalidraw-page .excalidraw button.dropdown-menu-button:hover{background:var(--obs-hover)!important;color:var(--obs-strong)!important}.excalidraw-page .nc-agentbar__feedback,.excalidraw-page .nc-agentbar__history,.excalidraw-page .nc-agentbar__shell,.excalidraw-page .nc-agentbar .chat-input-box,.excalidraw-page .nc-agentbar .model-dropdown{pointer-events:auto}.excalidraw-page .cv-excalidraw-root{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;background:var(--bg-primary)}.excalidraw-page .cv-excalidraw-root .excalidraw,.excalidraw-page .cv-excalidraw-root .excalidraw .excalidraw-container,.excalidraw-page .cv-excalidraw-root .excalidraw .App,.cv-excalidraw-root,.cv-excalidraw-root .excalidraw{width:100%;height:100%}.cv-canvas-wrap{flex:1;position:relative;overflow:hidden}.cv-sidebar{width:220px;background:var(--bg-secondary);display:flex;flex-direction:column;flex-shrink:0;z-index:5;border-right:1px solid var(--border)}.cv-sidebar__header{display:flex;align-items:center;gap:6px;padding:10px 10px 6px}.cv-sidebar__title{flex:1;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary)}.cv-sidebar__btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast)}.cv-sidebar__btn:hover{background:var(--bg-hover);color:var(--text-primary)}.cv-sidebar__list{flex:1;overflow-y:auto;padding:6px 8px}.cv-sidebar__empty{padding:24px 16px;text-align:center;font-size:12px;color:var(--text-secondary)}.cv-sidebar__item{display:flex;align-items:center;gap:8px;padding:7px 10px;cursor:pointer;font-size:13px;color:var(--text-primary);transition:background .15s ease,color .15s ease;position:relative;border-radius:var(--radius-md);margin:1px 0}.cv-sidebar__item:hover{background:var(--bg-hover)}.cv-sidebar__item--active{background:transparent;color:var(--text-primary)}.cv-sidebar__item--active:hover{background:var(--bg-hover)}.cv-sidebar__item--active svg{opacity:1}.cv-sidebar__item--active .cv-sidebar__item-name{font-weight:600}.cv-sidebar__item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.cv-sidebar__item-actions{display:flex;gap:2px;flex-shrink:0;opacity:0;visibility:hidden;transition:opacity .12s ease,visibility .12s ease}.cv-sidebar__item:hover .cv-sidebar__item-actions,.cv-sidebar__item--active .cv-sidebar__item-actions{opacity:1;visibility:visible}.cv-sidebar__item-actions button{width:22px;height:22px;border:none;background:transparent;color:inherit;border-radius:var(--radius-sm, 6px);cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:.5;transition:opacity .12s ease,background .12s ease}.cv-sidebar__item-actions button:hover{opacity:1;background:var(--bg-hover)}.cv-sidebar__rename{flex:1;border:1px solid var(--accent-secondary);background:var(--bg-elevated);border-radius:var(--radius-md);padding:4px 8px;font-size:12px;outline:none;color:var(--text-primary)}.cv-sidebar__ds-section{padding:4px 8px 0;border-top:1px solid var(--border)}.cv-sidebar__ds-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:7px 4px;border:none;background:transparent;color:var(--text-secondary);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.4px;cursor:pointer;border-radius:var(--radius-md);transition:var(--transition-fast)}.cv-sidebar__ds-toggle:hover{background:var(--bg-hover)}.cv-sidebar__ds-config{padding:4px 4px 8px}.cv-sidebar__ds-label{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-primary);gap:8px}.cv-sidebar__ds-input{width:52px;border:1px solid var(--border);border-radius:var(--radius-md);padding:4px 6px;font-size:12px;text-align:center;outline:none;background:var(--bg-elevated);color:var(--text-primary);transition:var(--transition-fast)}.cv-sidebar__ds-input:focus{border-color:var(--accent-secondary);box-shadow:0 0 0 3px #6366f126}.cv-sidebar__ds-presets{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.cv-sidebar__ds-preset-tag{font-size:10px;padding:2px 6px;border-radius:var(--radius-sm, 6px);background:var(--bg-tertiary);color:var(--text-secondary);white-space:nowrap}.cv-sidebar__footer{padding:8px 10px;border-top:1px solid var(--border)}.cv-sidebar__footer-btn{display:flex;align-items:center;gap:6px;width:100%;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-elevated);color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:var(--transition-fast)}.cv-sidebar__footer-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-light)}.cv-sidebar-toggle{position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:15;width:20px;height:40px;border:1px solid var(--border);border-left:none;border-radius:0 var(--radius-md) var(--radius-md) 0;background:var(--bg-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:var(--transition-fast)}.cv-sidebar-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.cv-ds-slot{display:flex;align-items:center;gap:2px;margin-left:2px}.cv-ds-divider{width:1px;height:20px;background:var(--border);margin:0 4px;flex-shrink:0}.cv-ds-tool__btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);background:transparent;color:var(--text-primary);padding:0}.cv-ds-tool__btn:hover{background:var(--bg-hover)}.cv-ds-tool__btn:not(.cv-widget-tool__btn):active{background:var(--accent-secondary)!important;color:#fff!important}.cv-ds-tool__btn:not(.cv-widget-tool__btn):active svg{stroke:#fff}.cv-ds-overlay{position:absolute;z-index:100;display:flex;flex-direction:column;gap:4px;pointer-events:none}.cv-ds-overlay__btn{pointer-events:auto;display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:50%;cursor:pointer;transition:var(--transition-fast);box-shadow:var(--glass-shadow)}.cv-ds-overlay__btn:hover{transform:scale(1.12);box-shadow:var(--glass-shadow-hover)}.cv-ds-overlay__btn--add{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.cv-ds-overlay__btn--remove{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.cv-ds-overlay--array{gap:6px}.cv-ds-overlay--array .cv-ds-overlay__btn{width:24px;height:24px;box-shadow:0 4px 14px #00000024}.cv-status-bar{display:flex;align-items:center;gap:12px;padding:5px 14px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-top:1px solid var(--border);font-size:11px;color:var(--text-secondary);z-index:10;flex-shrink:0}.cv-status-bar__item{font-variant-numeric:tabular-nums}.cv-status-bar__sync{margin-left:auto}.cv-status-bar__sync--saved{color:var(--accent)}.cv-status-bar__sync--syncing{color:var(--accent-secondary)}.cv-status-bar__sync--pending{color:var(--accent-warm)}.cv-status-bar__sync--error{color:var(--danger)}.cv-main .excalidraw .sidebar-trigger,.cv-main .excalidraw .default-sidebar-trigger,.cv-main .excalidraw [class*=sidebar-trigger],.cv-main .excalidraw .layer-ui__library,.cv-main .excalidraw [class*=library-menu],.cv-main .excalidraw .library-button,.cv-main .excalidraw [class*=Library],.cv-main .excalidraw button[title=Library]{display:none!important;visibility:hidden!important;width:0!important;height:0!important;overflow:hidden!important;pointer-events:none!important;position:absolute!important;left:-9999px!important}.cv-main .excalidraw .welcome-screen-center,.cv-main .excalidraw .welcome-screen-menu-hints,.cv-main .excalidraw [class*=welcome-screen],.excalidraw-page .excalidraw .ExcalidrawLogo,.excalidraw-page .excalidraw [class*=ExcalidrawLogo],.cv-main .excalidraw .ExcalidrawLogo,.cv-main .excalidraw [class*=ExcalidrawLogo],.excalidraw-page .HelpDialog__header,.cv-main .HelpDialog__header,.excalidraw .HelpDialog__header{display:none!important}.cv-main .excalidraw{--color-primary: var(--accent-secondary)}.cv-main .excalidraw .layer-ui__wrapper{z-index:10!important}.cv-widget-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;pointer-events:none!important;overflow:visible}.cv-main .cw-overlay,.cv-main .nw-overlay,.cv-main .aw-overlay{pointer-events:none}.obs-app.cv-app .excalidraw canvas.excalidraw__canvas{touch-action:none;z-index:2}.dcw-shell,.nw-overlay,.aw-overlay,.uw-overlay{mix-blend-mode:multiply}[data-theme=dark] .dcw-shell,[data-theme=dark] .nw-overlay,[data-theme=dark] .aw-overlay,[data-theme=dark] .uw-overlay{mix-blend-mode:screen}.cw-drag-ghost{background:#6366f114;border:1.5px dashed rgba(99,102,241,.4);border-radius:8px;padding:8px;display:flex;align-items:center;justify-content:center}.cv-ds-tool__btn[draggable=true]{cursor:grab}.cv-ds-tool__btn[draggable=true]:active{cursor:grabbing}.cv-widget-menu{position:relative;display:flex;align-items:center}.cv-widget-menu__popover{position:absolute;top:calc(100% + 10px);left:50%;width:310px;transform:translate(-50%);padding:10px;z-index:30;color:var(--obs-strong, var(--text-primary));background:var(--obs-surface, var(--island-bg-color, var(--bg-elevated)));border:1px solid var(--obs-border, var(--default-border-color, var(--border)));border-radius:8px;box-shadow:0 12px 30px #0003}.excalidraw-page .excalidraw .App-toolbar .cv-widget-menu__popover{color:var(--obs-strong)!important;background:var(--obs-surface)!important;border-color:var(--obs-border)!important}.cv-widget-menu__title{padding:2px 4px 8px;color:var(--obs-muted, var(--text-secondary));font-size:11px;font-weight:700;text-transform:uppercase}.cv-widget-menu__title--section{margin-top:8px;padding-top:9px;border-top:1px solid var(--obs-border, var(--border))}.cv-widget-menu__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.cv-widget-menu__item{min-width:0;height:36px;display:flex;align-items:center;gap:8px;padding:0 9px;border:0;border-radius:6px;color:inherit;background:transparent;cursor:pointer;font:inherit;font-size:12px;text-align:left}.cv-widget-menu__item:hover,.cv-widget-menu__item--active{background:var(--obs-hover, var(--bg-hover))}.cv-widget-menu__item--active{color:var(--color-primary, #6965db);font-weight:700}.cv-widget-menu__item>span{width:20px;height:20px;display:grid;place-items:center;flex:0 0 auto}.cv-widget-menu__item svg{width:17px;height:17px;fill:none;stroke:currentColor}.cv-main .excalidraw .cw-overlay{border-radius:var(--border-radius-lg, 12px);overflow:visible;background:var(--island-bg-color, color-mix(in srgb, var(--bg-primary, #1e1e2e) 94%, transparent));border:1px solid var(--default-border-color, var(--border, #45475a));box-shadow:0 0 0 1px color-mix(in srgb,var(--border, #45475a) 35%,transparent),0 6px 20px #0000002e;display:flex;flex-direction:column;font-family:var(--ui-font, var(--font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif));transition:box-shadow .18s ease,border-color .18s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.cw-overlay{border-radius:12px;overflow:visible;background:color-mix(in srgb,var(--bg-primary, #ffffff) 88%,transparent);border:1px solid var(--border, #45475a);box-shadow:0 6px 20px #0000001f;display:flex;flex-direction:column;font-family:var(--font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);transition:box-shadow .18s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.cw-overlay--selected{outline:2px solid var(--accent-secondary, #6366f1);outline-offset:2px}.cw-overlay--dragging{box-shadow:none;opacity:.92}.cw-overlay--resizing{box-shadow:none;opacity:.96}.cw-overlay--dragging *,.cw-overlay--resizing *{transition:none!important}.cv-main .excalidraw .cw-header{border-radius:var(--border-radius-lg, 12px) var(--border-radius-lg, 12px) 0 0}.cw-header{display:flex;align-items:center;gap:6px;padding:6px 10px;background:color-mix(in srgb,var(--island-bg-color, var(--bg-primary)) 65%,transparent);border-bottom:1px solid color-mix(in srgb,var(--default-border-color, var(--border, #45475a)) 70%,transparent);min-height:32px;flex-shrink:0;cursor:grab;border-radius:12px 12px 0 0;-webkit-user-select:none;user-select:none}.cw-overlay--dragging .cw-header{cursor:grabbing}.cw-header--ft{gap:4px;padding:5px 8px 5px 10px}.cw-header--ft .ft-actions__btn{flex-shrink:0}.cw-toolbar-spacer{flex:1;min-width:2px}.cw-overlay--drawcode{border:2px solid color-mix(in srgb,var(--text-primary, #1e293b) 85%,transparent);border-radius:14px;box-shadow:0 8px 24px #0f172a1f,0 1px #fff9 inset;background:color-mix(in srgb,var(--bg-primary, #ffffff) 96%,transparent)}[data-theme=dark] .cw-overlay--drawcode{border-color:color-mix(in srgb,var(--border, #45475a) 90%,transparent);box-shadow:0 8px 24px #00000059}.cw-overlay--drawcode .cw-editor-area{background:color-mix(in srgb,#ffffff 92%,var(--bg-primary))}[data-theme=dark] .cw-overlay--drawcode .cw-editor-area{background:color-mix(in srgb,var(--bg-primary) 88%,#0f0f0f)}.cw-overlay--drawcode .cw-output-text{color:#16a34a}.cw-toolbar__run{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;border:none;font-size:12px;font-weight:600;cursor:pointer;background:#22c55e;color:#fff!important;transition:background .15s ease,transform .1s ease}.cw-toolbar__run:hover{background:#16a34a;color:#fff!important}.cw-toolbar__run--stop{background:#ef4444!important;color:#fff!important}.cw-toolbar__run--stop:hover{background:#dc2626!important;color:#fff!important}.excalidraw-page .cv-ds-slot .cv-widget-tool__btn{width:28px!important;height:28px!important;min-width:28px!important;padding:0!important;border:none!important;border-radius:6px!important;background:transparent!important;color:var(--obs-muted)!important;box-shadow:none!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.excalidraw-page .cv-ds-slot .cv-widget-tool__btn svg{width:16px!important;height:16px!important;stroke:currentColor;fill:none}.excalidraw-page .cv-ds-slot .cv-widget-tool__btn:hover:not(.cv-widget-tool__btn--active){background:var(--obs-hover)!important;color:var(--obs-strong)!important}.excalidraw-page .cv-ds-slot .cv-widget-tool__btn--active{background:var(--color-primary, #6965db)!important;color:#fff!important}.excalidraw-page .cv-ds-slot .cv-widget-tool__btn--active svg{stroke:currentColor}.excalidraw-page .cv-ds-slot .cv-widget-tool__btn:not(.cv-widget-tool__btn--active):active{background:var(--obs-hover)!important;color:var(--obs-strong)!important}.excalidraw-page .cv-ds-slot .cv-widget-tool__btn:focus,.excalidraw-page .cv-ds-slot .cv-widget-tool__btn:focus-visible{outline:none!important;box-shadow:none!important}.cw-status-inline{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:500;color:var(--obs-muted, var(--text-tertiary, #6c7086));white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}.cw-status-inline__dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.cw-toolbar__close:hover{color:#fff!important;background:#ef4444!important}.cw-lang-select{font-size:11px;min-height:28px;padding:4px 10px;border-radius:var(--border-radius-md, 8px);border:1px solid color-mix(in srgb,var(--border, #45475a) 80%,transparent);background:color-mix(in srgb,var(--bg-primary, #111) 40%,transparent);color:var(--text-primary, #cdd6f4);cursor:pointer;outline:none;transition:border-color .15s ease,background .15s ease}.cw-lang-select:hover{border-color:color-mix(in srgb,var(--accent-secondary, #6366f1) 45%,var(--border))}.cw-lang-select:focus{border-color:var(--accent-secondary, #6366f1)}.cw-lang-select--ft{height:28px;min-height:28px;padding:0 12px 0 10px;border-radius:999px;font-size:12px;font-weight:500;max-width:120px;border:1px solid color-mix(in srgb,var(--obs-input-border, var(--border, #45475a)) 70%,transparent);background:color-mix(in srgb,var(--obs-input-bg, var(--bg-primary)) 45%,transparent);color:var(--obs-strong, var(--text-primary, #cdd6f4))}.cw-lang-select--ft:focus{border-color:color-mix(in srgb,var(--border-focus, var(--accent-secondary)) 80%,transparent);background:color-mix(in srgb,var(--obs-input-bg, var(--bg-primary)) 60%,transparent)}.cw-lang-picker{position:relative;flex-shrink:0;z-index:1}.cw-lang-picker--open{z-index:30}.cw-lang-picker__trigger{display:inline-flex;align-items:center;justify-content:space-between;gap:6px;height:28px;min-height:28px;padding:0 8px 0 12px;max-width:132px;border-radius:999px;font-size:12px;font-weight:500;font-family:inherit;line-height:1;border:1px solid color-mix(in srgb,var(--obs-input-border, var(--border, #45475a)) 70%,transparent);background:color-mix(in srgb,var(--obs-input-bg, var(--bg-primary)) 45%,transparent);color:var(--obs-strong, var(--text-primary, #cdd6f4));cursor:pointer;outline:none;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.cw-lang-picker__trigger:hover{border-color:color-mix(in srgb,var(--border-focus, var(--accent-secondary)) 55%,transparent);background:color-mix(in srgb,var(--obs-input-bg, var(--bg-primary)) 58%,transparent)}.cw-lang-picker__trigger--open{border-color:color-mix(in srgb,var(--border-focus, var(--accent-secondary)) 80%,transparent);background:color-mix(in srgb,var(--obs-input-bg, var(--bg-primary)) 65%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--accent-secondary, #6366f1) 25%,transparent)}.cw-lang-picker__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;text-align:left}.cw-lang-picker__caret{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--obs-muted, var(--text-tertiary));transition:transform .18s ease}.cw-lang-picker__trigger--open .cw-lang-picker__caret{transform:rotate(180deg)}.cw-lang-picker__caret svg{width:12px;height:12px;stroke-linecap:round;stroke-linejoin:round}.cw-lang-picker__menu{position:absolute;top:calc(100% + 5px);left:0;min-width:100%;width:max-content;max-width:min(220px,70vw);margin:0;padding:6px;list-style:none;border-radius:10px;border:1px solid color-mix(in srgb,var(--obs-border, var(--border, #45475a)) 85%,transparent);background:var(--obs-chrome, color-mix(in srgb, var(--bg-primary, #1e1e2e) 96%, #fff));box-shadow:0 0 0 1px color-mix(in srgb,var(--obs-border, var(--border)) 40%,transparent),0 10px 28px #00000047;z-index:40}.cw-lang-picker__menu li{margin:0;padding:0}.cw-lang-picker__option{display:block;width:100%;text-align:left;padding:7px 10px;margin:0;border:none;border-radius:6px;font-size:12px;font-weight:400;font-family:inherit;line-height:1.35;color:var(--obs-strong, var(--text-primary));background:transparent;cursor:pointer;transition:background .12s ease,color .12s ease}.cw-lang-picker__option:hover{background:color-mix(in srgb,var(--obs-hover, rgba(255, 255, 255, .06)) 55%,transparent);color:var(--obs-strong, var(--text-primary))}.cw-lang-picker__option--active{font-weight:600;background:color-mix(in srgb,var(--bg-active, rgba(99, 102, 241, .18)) 76%,transparent);color:var(--obs-strong, var(--text-primary))}.cw-lang-picker__option--active:hover{background:color-mix(in srgb,var(--bg-active, rgba(99, 102, 241, .22)) 80%,transparent)}.cw-editor-area{flex:1;min-height:0;overflow:hidden;border-radius:0 0 8px 8px;background:transparent}.cw-zoom-hint{display:flex;align-items:center;justify-content:center;height:100%;font-size:12px;color:var(--text-tertiary, #6c7086)}.cw-output{height:100px;overflow-y:auto;border-top:1px solid color-mix(in srgb,var(--border, #45475a) 78%,transparent);background:color-mix(in srgb,var(--bg-primary) 40%,transparent);flex-shrink:0;border-radius:0 0 12px 12px;display:flex;flex-direction:column}.cw-output__bar{display:flex;align-items:center;justify-content:space-between;padding:4px 10px 2px;flex-shrink:0}.cw-output__label{font-size:11px;font-weight:600;color:var(--text-secondary, #64748b);text-transform:uppercase;letter-spacing:.04em}.cw-output__clear{border:none;background:transparent;font-size:11px;color:var(--text-tertiary, #94a3b8);cursor:pointer;padding:2px 6px;border-radius:4px}.cw-output__clear:hover{color:var(--text-primary);background:color-mix(in srgb,var(--bg-hover, rgba(0,0,0,.06)) 80%,transparent)}.cw-output-text{margin:0;padding:6px 10px;font-size:11px;font-family:var(--font-mono, "JetBrains Mono", "Fira Code", monospace);color:var(--text-primary, #cdd6f4);white-space:pre-wrap;word-break:break-all;line-height:1.5}.cw-overlay .monaco-editor,.cw-overlay .monaco-editor-background,.cw-overlay .monaco-editor .margin,.cw-overlay .monaco-editor .monaco-editor-background,.cw-overlay .monaco-editor .inputarea.ime-input,.cw-overlay .monaco-editor .glyph-margin{background:transparent!important}.cw-overlay .monaco-editor .current-line,.cw-overlay .monaco-editor .view-overlays .current-line{border:none!important;background:color-mix(in srgb,var(--border, #45475a) 28%,transparent)!important}.cw-overlay .monaco-editor .line-numbers{color:var(--text-tertiary, #6c7086)!important}.monaco-editor .suggest-widget,.monaco-editor .parameter-hints-widget{border:1px solid color-mix(in srgb,var(--accent-secondary, #6366f1) 20%,var(--border, #45475a))!important;border-radius:10px!important;box-shadow:0 14px 34px #00000038!important;overflow:hidden!important}.monaco-editor .suggest-widget{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.monaco-editor .suggest-widget .monaco-list-row{border-radius:6px!important;margin:2px 6px!important}.monaco-editor .suggest-widget .monaco-list-row.focused,.monaco-editor .suggest-widget .monaco-list-row.selected{background:color-mix(in srgb,var(--accent-secondary, #6366f1) 18%,transparent)!important}.monaco-editor .suggest-widget .details-label,.monaco-editor .suggest-widget .readMore{opacity:.9}.monaco-editor .parameter-hints-widget{padding:6px 8px!important}.cw-status-dot{display:inline-flex;align-items:center;gap:4px;font-weight:600;margin-left:2px;-webkit-user-select:none;user-select:none}.cw-output::-webkit-scrollbar{width:4px}.cw-output::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb, #585b70);border-radius:4px}.cw-resize{position:absolute;z-index:2;opacity:0;transition:opacity .12s}.cw-overlay:hover .cw-resize,.nw-overlay:hover .cw-resize,.aw-overlay:hover .cw-resize{opacity:1}.cw-resize--e{top:8px;right:-3px;width:6px;height:calc(100% - 16px);cursor:e-resize}.cw-resize--w{top:8px;left:-3px;width:6px;height:calc(100% - 16px);cursor:w-resize}.cw-resize--s{left:8px;bottom:-3px;width:calc(100% - 16px);height:6px;cursor:s-resize}.cw-resize--n{left:8px;top:-3px;width:calc(100% - 16px);height:6px;cursor:n-resize}.cw-resize--se{right:-4px;bottom:-4px;width:10px;height:10px;cursor:se-resize;border-radius:2px;background:var(--accent-secondary, #6366f1)}.cw-resize--sw{left:-4px;bottom:-4px;width:10px;height:10px;cursor:sw-resize;border-radius:2px;background:var(--accent-secondary, #6366f1)}.cw-resize--ne{right:-4px;top:-4px;width:10px;height:10px;cursor:ne-resize;border-radius:2px;background:var(--accent-secondary, #6366f1)}.cw-resize--nw{left:-4px;top:-4px;width:10px;height:10px;cursor:nw-resize;border-radius:2px;background:var(--accent-secondary, #6366f1)}.nw-overlay{border-radius:10px;overflow:visible;background:var(--nw-bg, #fff);border:1.5px solid var(--nw-border, #d1d5db);box-shadow:0 6px 18px #0f172a14;display:flex;flex-direction:column;font-family:var(--font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);transition:box-shadow .15s ease}.nw-overlay--selected{outline:2px solid var(--accent-secondary, #6366f1);outline-offset:2px}.nw-overlay--dragging{box-shadow:0 16px 48px #0000004d;opacity:.92}.nw-overlay--resizing{box-shadow:0 12px 40px #00000040;opacity:.96}.nw-overlay--canvas-tool .nw-header,.nw-overlay--canvas-tool .nw-textarea,.nw-overlay--canvas-tool .cw-resize{pointer-events:none!important}.nw-overlay--dragging *,.nw-overlay--resizing *{transition:none!important}.nw-header{display:flex;align-items:center;padding:4px 10px;gap:3px;background:color-mix(in srgb,var(--nw-bg, #fff) 92%,var(--nw-border, #d1d5db));border-bottom:1px solid color-mix(in srgb,var(--nw-border, #d1d5db) 42%,transparent);height:32px;flex-shrink:0;cursor:grab;border-radius:8px 8px 0 0;-webkit-user-select:none;user-select:none}.nw-overlay--dragging .nw-header{cursor:grabbing}.nw-title{margin-right:auto;font-size:12px;font-weight:600;color:var(--nw-ink, #1f2937)}.nw-close-btn{margin-left:0;font-size:13px;padding:2px 6px;border:none;background:transparent;color:var(--nw-muted, #6b7280);cursor:pointer;border-radius:4px;line-height:1;opacity:.5;transition:opacity .12s,color .12s,background .12s}.nw-open-btn:hover{color:currentColor;background:color-mix(in srgb,currentColor 10%,transparent)}.nw-header:hover .nw-close-btn{opacity:1}.nw-close-btn:hover{color:#fff;background:#ef4444;opacity:1}.nw-close-btn.nw-open-btn:hover{color:inherit;background:color-mix(in srgb,currentColor 10%,transparent)}.nw-textarea{flex:1;border:none;outline:none;resize:none;padding:10px 12px;font-size:13px;font-family:var(--font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);line-height:1.6;background:transparent;color:var(--nw-ink, #1f2937);border-radius:0 0 8px 8px}.nw-textarea::placeholder{color:var(--nw-muted, #6b7280);opacity:.7}.nw-markdown-preview{overflow:auto;white-space:normal;-webkit-user-select:text;user-select:text}.nw-markdown-preview h1,.nw-markdown-preview h2,.nw-markdown-preview h3{margin:.55em 0 .3em;line-height:1.2}.nw-markdown-preview p{margin:0 0 .65em}.nw-markdown-preview ul,.nw-markdown-preview ol{margin:.3em 0 .75em;padding-left:1.5em}.nw-markdown-preview table{width:100%;border-collapse:collapse}.nw-markdown-preview th,.nw-markdown-preview td{border:1px solid var(--nw-border);padding:.35em .5em;text-align:left}.nw-markdown-preview pre{overflow:auto;padding:.65em;border-radius:6px;background:color-mix(in srgb,var(--nw-bg) 86%,#000 8%)}.nw-mode-btn svg{width:14px;height:14px}.nw-full-body{min-height:0;display:grid;grid-template-rows:34px 30px minmax(0,1fr);overflow:hidden}.nw-title-input{min-width:0;border:0;border-bottom:1px solid color-mix(in srgb,var(--nw-border) 30%,transparent);outline:0;padding:5px 11px;color:var(--nw-ink);background:transparent;font:700 13px/1.2 var(--font-hand, inherit)}.nw-title-input::placeholder{color:var(--nw-muted);font-weight:500}.nw-formatbar{display:flex;align-items:center;gap:3px;padding:3px 8px;border-bottom:1px solid color-mix(in srgb,var(--nw-border) 25%,transparent)}.nw-formatbar button{width:24px;height:23px;display:grid;place-items:center;border:0;border-radius:5px;color:var(--nw-muted);background:transparent;font:700 11px/1 var(--font-hand, inherit);cursor:pointer}.nw-formatbar button:hover{color:var(--nw-ink);background:color-mix(in srgb,var(--nw-border) 12%,transparent)}.nw-full-body .nw-textarea{min-height:0;height:100%;border-radius:0 0 8px 8px}.cv-main .excalidraw .aw-overlay{border-radius:8px;overflow:hidden;background:color-mix(in srgb,var(--island-bg-color, var(--bg-primary, #1e1e2e)) 96%,transparent);border:1px solid color-mix(in srgb,var(--default-border-color, var(--border, #45475a)) 55%,transparent);box-shadow:0 4px 14px #0000001f;display:flex;flex-direction:column;font-family:var(--ui-font, var(--font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif));transition:box-shadow .18s ease,border-color .18s ease,opacity .15s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.aw-overlay{--aw-surface: color-mix(in srgb, var(--bg-primary, #ffffff) 97%, transparent);--aw-surface-strong: var(--bg-primary, #ffffff);--aw-cell-bg: color-mix(in srgb, var(--bg-primary, #ffffff) 92%, transparent);--aw-cell-bg-hover: color-mix(in srgb, var(--accent-secondary, #6366f1) 6%, var(--bg-primary, #ffffff));--aw-index-bg: color-mix(in srgb, var(--accent-secondary, #6366f1) 8%, transparent);--aw-index-fg: color-mix(in srgb, var(--accent-secondary, #6366f1) 65%, var(--text-secondary, #475569));--aw-divider-soft: color-mix(in srgb, var(--border, #e2e8f0) 70%, transparent);--aw-accent: var(--accent-secondary, #6366f1);border-radius:10px;overflow:hidden;background:var(--aw-surface);border:1px solid color-mix(in srgb,var(--border, #e2e8f0) 80%,#64748b 20%);box-shadow:0 4px 16px -4px #0f172a14,0 1px 2px #0f172a0a;display:flex;flex-direction:column;font-family:var(--font-sans, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);transition:box-shadow .18s ease,opacity .15s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}[data-theme=dark] .aw-overlay,.dark .aw-overlay{--aw-surface: color-mix(in srgb, var(--bg-primary, #1e1e2e) 96%, transparent);--aw-surface-strong: var(--bg-primary, #1e1e2e);--aw-cell-bg: color-mix(in srgb, var(--bg-secondary, #313244) 65%, transparent);--aw-cell-bg-hover: color-mix(in srgb, var(--accent-secondary, #818cf8) 14%, var(--bg-secondary, #313244));--aw-index-bg: color-mix(in srgb, var(--accent-secondary, #818cf8) 14%, transparent);--aw-index-fg: color-mix(in srgb, var(--accent-secondary, #a5b4fc) 78%, var(--text-secondary, #cbd5e1));--aw-divider-soft: color-mix(in srgb, var(--border, #45475a) 65%, transparent);box-shadow:0 4px 16px -4px #00000073,0 1px 2px #0000004d}.aw-overlay:hover{box-shadow:0 6px 20px -4px #0f172a1f,0 1px 2px #0f172a0d}[data-theme=dark] .aw-overlay:hover,.dark .aw-overlay:hover{box-shadow:0 6px 22px -4px #0000008c,0 1px 2px #00000059}.aw-panel__header.cw-header--ft{flex-shrink:0;cursor:grab;border-bottom:1px solid var(--aw-divider-soft);background:color-mix(in srgb,var(--island-bg-color, var(--bg-primary)) 92%,transparent);border-radius:0;gap:8px}.aw-overlay--dragging .aw-panel__header{cursor:grabbing}.aw-panel__body{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column;background:transparent;padding:0}.aw-overlay .aw-panel__body{overflow:visible;justify-content:flex-start;align-items:stretch;padding-bottom:1px}.aw-panel__brand{display:inline-flex;align-items:center;gap:7px;flex-shrink:0}.aw-panel__brand-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:5px;color:var(--aw-accent);background:color-mix(in srgb,var(--aw-accent) 12%,transparent)}.aw-panel__title{font-weight:600;font-size:12px;color:var(--obs-strong, var(--text-primary, #0f172a));letter-spacing:.01em}[data-theme=dark] .aw-panel__title,.dark .aw-panel__title{color:var(--obs-strong, var(--text-primary, #e2e8f0))}.aw-panel__meta{display:inline-flex;align-items:center;height:18px;padding:0 7px;font-size:10.5px;font-weight:600;letter-spacing:.02em;color:var(--aw-index-fg);background:var(--aw-index-bg);border-radius:999px;white-space:nowrap;font-variant-numeric:tabular-nums}.aw-toolbar__append{color:var(--aw-accent)}.aw-toolbar__append:hover{color:color-mix(in srgb,var(--aw-accent) 80%,#fff);background:color-mix(in srgb,var(--aw-accent) 10%,transparent)}.aw-overlay--selected{outline:1.5px solid color-mix(in srgb,var(--aw-accent) 70%,transparent);outline-offset:1px}.aw-overlay--dragging{opacity:.92}.aw-overlay--resizing{opacity:.96}.aw-overlay--dragging *,.aw-overlay--resizing *{transition:none!important}.aw-content{display:flex;flex-direction:column;gap:0;padding:6px 8px 8px;min-height:0;will-change:transform;opacity:var(--aw-opacity, 1);backface-visibility:hidden;-webkit-backface-visibility:hidden}.aw-array-stage{display:flex;flex-direction:column;align-items:stretch;gap:0;min-height:0;flex:0 0 auto;width:100%}.aw-track{flex:0 0 auto;overflow:visible;padding:0;cursor:default;display:flex;flex-direction:column;align-items:stretch;width:100%}.aw-overlay--dragging .aw-track{cursor:default}.aw-track-inner{position:relative;display:flex;flex-direction:row;align-items:stretch;gap:4px;width:100%;min-width:0;border:none;border-radius:0;overflow:visible;background:transparent}.aw-cell{position:relative;flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:0;transform-origin:left center;margin:0;padding:0;box-sizing:border-box;border-radius:8px;background:var(--aw-cell-bg);border:1px solid var(--aw-divider-soft);overflow:hidden;transition:background .14s ease,border-color .14s ease,transform .14s ease,box-shadow .14s ease}.aw-cell:hover{background:var(--aw-cell-bg-hover);border-color:color-mix(in srgb,var(--aw-accent) 35%,var(--aw-divider-soft))}.aw-cell:focus-within{border-color:color-mix(in srgb,var(--aw-accent) 65%,transparent);box-shadow:0 0 0 2px color-mix(in srgb,var(--aw-accent) 20%,transparent)}.aw-cell--new{animation:aw-cell-in .36s cubic-bezier(.22,1,.36,1)}.aw-cell__box{position:relative;height:44px;border:none;border-radius:0;box-shadow:none;background:transparent;display:flex;align-items:center;justify-content:center}.aw-cell__input{width:100%;height:100%;border:none;border-radius:0;background:transparent;color:var(--aw-value, var(--text-primary, #0f172a));caret-color:var(--aw-accent);text-align:center;font-size:16px;font-weight:600;letter-spacing:-.01em;font-variant-numeric:tabular-nums;outline:none;padding:0 6px;transition:color .12s}.aw-cell__input::placeholder{color:color-mix(in srgb,var(--aw-muted, var(--text-tertiary, #64748b)) 70%,transparent);font-weight:500}.aw-cell__input::selection{background:var(--aw-selection-bg, color-mix(in srgb, var(--aw-accent) 28%, transparent));color:var(--aw-value, inherit)}.aw-cell__input::-moz-selection{background:var(--aw-selection-bg, color-mix(in srgb, var(--aw-accent) 28%, transparent));color:var(--aw-value, inherit)}[data-theme=dark] .aw-cell__input,.dark .aw-cell__input{color:var(--aw-value, var(--text-primary, #f1f5f9))}.aw-cell__remove{position:absolute;top:3px;right:3px;width:16px;height:16px;border:none;border-radius:999px;background:color-mix(in srgb,var(--aw-surface-strong, #fff) 90%,transparent);color:var(--text-tertiary, #94a3b8);display:inline-flex;align-items:center;justify-content:center;opacity:0;transform:scale(.85);box-shadow:0 1px 3px #0f172a2e;transition:opacity .12s ease,color .12s ease,background .12s ease,transform .12s ease}.aw-cell:hover .aw-cell__remove{opacity:1;transform:scale(1)}.aw-cell__remove:hover{color:#fff;background:#ef4444;box-shadow:0 2px 6px #ef444466}[data-theme=dark] .aw-cell__remove,.dark .aw-cell__remove{background:color-mix(in srgb,var(--bg-secondary, #313244) 92%,transparent)}.aw-cell__index{display:flex;align-items:center;justify-content:center;width:100%;min-height:18px;flex-shrink:0;line-height:1;overflow:visible;border:none;border-top:1px solid var(--aw-divider-soft);background:var(--aw-index-bg);color:var(--aw-index-fg);font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.06em}.aw-insert-btn{position:absolute;top:0;left:-10px;width:18px;height:44px;border:none;background:transparent;color:var(--text-secondary, #64748b);display:inline-flex;align-items:center;justify-content:center;transition:transform .14s ease,opacity .14s ease;pointer-events:auto;opacity:1;z-index:4}.aw-insert-btn--start{left:-11px}.aw-insert-btn--end{left:auto;right:-11px}.aw-insert-btn__icon{width:16px;height:16px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--aw-accent) 35%,var(--aw-divider-soft));background:var(--aw-surface-strong, #ffffff);color:var(--aw-accent);box-shadow:0 2px 8px -2px #0f172a2e;opacity:0;transform:scale(.82);transition:opacity .12s ease,transform .12s ease,background .12s ease,color .12s ease,border-color .12s ease}.aw-overlay:hover .aw-insert-btn__icon{opacity:.55;transform:scale(.92)}.aw-insert-btn:hover .aw-insert-btn__icon,.aw-insert-btn:focus-visible .aw-insert-btn__icon{opacity:1;transform:scale(1.08);background:var(--aw-accent);color:#fff;border-color:var(--aw-accent);box-shadow:0 3px 10px -2px color-mix(in srgb,var(--aw-accent) 50%,transparent)}[data-theme=dark] .aw-insert-btn__icon,.dark .aw-insert-btn__icon{background:var(--bg-secondary, #313244);border-color:color-mix(in srgb,var(--aw-accent) 40%,var(--aw-divider-soft))}.aw-border-handle{position:absolute;top:-2px;width:14px;height:100%;opacity:0;transition:opacity .12s ease,background .12s ease;z-index:5;border-radius:8px}.aw-border-handle--w{left:-6px;cursor:w-resize}.aw-border-handle--e{right:-6px;cursor:e-resize}.aw-border-handle--visible{opacity:.22}.aw-border-handle:hover{opacity:.32;background:color-mix(in srgb,var(--accent-secondary, #6366f1) 20%,transparent)}@keyframes aw-cell-in{0%{opacity:0;transform:translate(8px) scaleX(.82)}to{opacity:1;transform:translate(0) scaleX(1)}}.cv-excalidraw-root--enter{animation:cv-canvas-enter .18s ease-out}@keyframes cv-canvas-enter{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){.cv-excalidraw-root--enter{animation:none}}html.sn-html-unlock,body.sn-body-unlock{overflow:auto!important;height:auto!important}body.sn-body-unlock #root{height:auto!important;overflow:visible!important}html.sn-html-unlock,.sn-page,.sn-comments-drawer{--sn-brand: var(--brand-purple, #6965db);--sn-brand-deep: color-mix(in srgb, var(--brand-purple, #6965db) 82%, #000);--sn-brand-soft: var(--brand-purple-light, #8b86ff);--sn-accent: var(--brand-accent, #f59e0b);--sketch-stroke: var(--sn-brand)}.sn-page{min-height:100dvh;position:relative;display:flex;flex-direction:column;font-family:var(--font-hand);-webkit-font-smoothing:antialiased;transition:background .35s ease,color .35s ease}.sn-page--dark{--glass-bg: rgba(20,20,28,.75);--glass-border: rgba(255,255,255,.07);--glass-highlight: rgba(255,255,255,.04);--glass-shadow: rgba(0,0,0,.25);--glass-text: #e4e4e7;--glass-text-dim: #71717a;--glass-surface: rgba(12,12,18,.88);--page-bg: #0a0a0f;background:var(--page-bg);color:#e4e4e7}.sn-page--light{--glass-bg: rgba(255,255,255,.65);--glass-border: rgba(0,0,0,.06);--glass-highlight: rgba(255,255,255,.8);--glass-shadow: rgba(0,0,0,.05);--glass-text: #18181b;--glass-text-dim: #71717a;--glass-surface: rgba(255,255,255,.82);--page-bg: #fafafa;background:var(--page-bg);color:#18181b}.sn-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:18px;position:relative;z-index:1;padding:24px}.sn-loading .dc-spinner__label{font-family:var(--font-hand);color:var(--glass-text-dim, #71717a)}.sn-published-skeleton{min-height:100dvh;background:var(--page-bg)}.sn-published-skeleton__article{width:min(820px,calc(100% - 40px));margin:0 auto;padding:72px 0 80px;display:flex;flex-direction:column;gap:22px}.sn-published-skeleton__line{display:block;width:100%;height:14px;border-radius:7px;background:color-mix(in srgb,var(--glass-text) 8%,transparent);animation:sn-skeleton-pulse 1.4s ease-in-out infinite alternate}.sn-published-skeleton__line--title{width:min(72%,590px);height:42px;margin-bottom:8px}.sn-published-skeleton__byline{display:flex;align-items:center;gap:12px}.sn-published-skeleton__avatar{width:36px;height:36px;flex:0 0 36px;border-radius:50%;background:color-mix(in srgb,var(--glass-text) 8%,transparent);animation:sn-skeleton-pulse 1.4s ease-in-out infinite alternate}.sn-published-skeleton__byline-copy{display:flex;width:180px;flex-direction:column;gap:7px}.sn-published-skeleton__line--author{width:76%;height:12px}.sn-published-skeleton__line--meta{width:100%;height:9px}.sn-published-skeleton__body{display:flex;flex-direction:column;gap:16px;margin-top:20px}.sn-published-skeleton__line--short{width:64%}@keyframes sn-skeleton-pulse{to{opacity:.46}}html[data-theme=dark] .sn-mermaid,html[data-theme=dark] .sn-codeblock-nodeview.is-mermaid .sn-codeblock-nodeview__diagram{background-color:transparent;background-image:none;box-shadow:none}html[data-theme=dark] :is(.sn-mermaid,.sn-codeblock-nodeview__diagram) :is(.node,.cluster,.basic) :is(path,rect,circle,ellipse,polygon),html[data-theme=dark] :is(.sn-mermaid,.sn-codeblock-nodeview__diagram) .label-container{fill:transparent!important}html[data-theme=dark] :is(.sn-mermaid,.sn-codeblock-nodeview__diagram) :is(.nodeLabel,.cluster-label,.edgeLabel,.label),html[data-theme=dark] :is(.sn-mermaid,.sn-codeblock-nodeview__diagram) text{color:var(--text-primary, #f4f1ff)!important;fill:var(--text-primary, #f4f1ff)!important}.sn-codeblock__spin{color:inherit;flex-shrink:0}.sn-nav__pill{display:none;font-family:var(--font-hand);font-size:11px;font-weight:700;letter-spacing:.04em;padding:4px 10px;border-radius:999px;color:var(--sn-brand);border:1.5px dashed color-mix(in srgb,var(--sn-brand) 45%,transparent);background:color-mix(in srgb,var(--sn-brand) 10%,transparent)}@media (min-width: 640px){.sn-nav__pill{display:inline-flex}}.sn-article__eyebrow{margin:0 0 8px;font-family:var(--font-hand);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--sn-accent)}.sn-nav__brand .dc-brand-wordmark{font-family:var(--font-hand);font-size:16px;font-weight:700}.sn-loading__scene{position:relative;width:80px;height:120px}.sn-loading__drop{position:absolute;left:50%;top:0;transform:translate(-50%);animation:sn-drop-fall 1.6s cubic-bezier(.4,0,.6,1) infinite}.sn-loading__drop svg{filter:drop-shadow(0 4px 12px rgba(99,102,241,.4))}.sn-loading__ripple-wrap{position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.sn-loading__ripple{position:absolute;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;border:1.5px solid rgba(99,102,241,.5);animation:sn-ripple 1.6s cubic-bezier(0,.4,.6,1) infinite;opacity:0}.sn-loading__ripple--2{animation-delay:.15s}.sn-loading__ripple--3{animation-delay:.3s}.sn-loading__brand{font-size:15px;font-weight:600;letter-spacing:-.3px;color:var(--glass-text-dim, #71717a);animation:sn-brand-pulse 1.6s ease-in-out infinite}@keyframes sn-drop-fall{0%{top:0;opacity:0}15%{opacity:1}55%{top:70px;opacity:1}60%{top:70px;opacity:0;transform:translate(-50%) scale(.6)}to{top:70px;opacity:0}}@keyframes sn-ripple{0%,50%{transform:scale(0);opacity:0}55%{transform:scale(1);opacity:.7}to{transform:scale(8);opacity:0}}@keyframes sn-brand-pulse{0%,to{opacity:.5}55%{opacity:1}}.sn-error{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;gap:0;text-align:center;padding:48px 24px 56px;overflow:hidden}.sn-error__glow{position:absolute;width:min(520px,90vw);height:min(520px,90vw);border-radius:50%;background:radial-gradient(circle at 40% 35%,color-mix(in srgb,var(--sn-brand) 22%,transparent),transparent 58%),radial-gradient(circle at 70% 70%,color-mix(in srgb,var(--sn-accent) 14%,transparent),transparent 50%);pointer-events:none;animation:sn-error-glow 5s ease-in-out infinite alternate}.sn-error__dots{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.35;background-image:radial-gradient(color-mix(in srgb,var(--sn-brand) 35%,transparent) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:radial-gradient(circle at center,#000 20%,transparent 72%);mask-image:radial-gradient(circle at center,#000 20%,transparent 72%)}@keyframes sn-error-glow{0%{transform:scale(.94) translateY(6px);opacity:.75}to{transform:scale(1.06) translateY(-4px);opacity:1}}.sn-error__brand{position:relative;z-index:1;text-decoration:none;margin-bottom:28px;animation:sn-error-in .55s cubic-bezier(.22,1,.36,1) both}.sn-error__sketch{position:relative;z-index:1;width:min(180px,56vw);color:var(--sn-brand);margin-bottom:18px;animation:sn-error-in .6s cubic-bezier(.22,1,.36,1) .06s both}.sn-error__sketch svg{width:100%;height:auto;display:block}.sn-error__page{fill:color-mix(in srgb,var(--sn-brand) 6%,transparent);transform-origin:80px 60px;animation:sn-error-tilt 4.5s ease-in-out infinite}.sn-error__fold{opacity:.7}.sn-error__slash{animation:sn-error-slash .7s cubic-bezier(.22,1,.36,1) .35s both}.sn-error__spark--a{animation:sn-error-spark 2.4s ease-in-out infinite}.sn-error__spark--b{animation:sn-error-spark 2.8s ease-in-out .4s infinite}@keyframes sn-error-tilt{0%,to{transform:rotate(-1.5deg)}50%{transform:rotate(1.8deg)}}@keyframes sn-error-slash{0%{stroke-dasharray:90;stroke-dashoffset:90;opacity:0}to{stroke-dasharray:90;stroke-dashoffset:0;opacity:1}}@keyframes sn-error-spark{0%,to{transform:scale(.7);opacity:.45}50%{transform:scale(1.25);opacity:1}}@keyframes sn-error-in{0%{opacity:0;transform:translateY(14px) rotate(-1deg)}to{opacity:1;transform:translateY(0) rotate(0)}}.sn-error__eyebrow{position:relative;z-index:1;margin:0 0 8px;font-family:var(--font-hand);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--sn-accent);animation:sn-error-in .55s cubic-bezier(.22,1,.36,1) .1s both}.sn-error__title{position:relative;z-index:1;margin:0 0 10px;max-width:18ch;font-family:var(--font-hand);font-size:clamp(26px,5vw,34px);font-weight:700;line-height:1.2;letter-spacing:.02em;color:var(--glass-text, #18181b);transform:rotate(-.6deg);animation:sn-error-in .55s cubic-bezier(.22,1,.36,1) .14s both}.sn-error__detail{position:relative;z-index:1;margin:0 0 6px;max-width:34ch;font-family:var(--font-hand);font-size:15px;font-weight:650;color:var(--sn-brand);animation:sn-error-in .55s cubic-bezier(.22,1,.36,1) .18s both}.sn-error__hint{position:relative;z-index:1;margin:0;max-width:36ch;font-size:13px;line-height:1.45;color:var(--glass-text-dim, #71717a);animation:sn-error-in .55s cubic-bezier(.22,1,.36,1) .22s both}.sn-error__actions{position:relative;z-index:1;margin-top:22px;display:flex;flex-wrap:wrap;gap:10px;justify-content:center;animation:sn-error-in .55s cubic-bezier(.22,1,.36,1) .28s both}.sn-error__home{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 20px;border:none;border-radius:999px;font-size:14px;font-weight:700;font-family:var(--font-hand);text-decoration:none;color:#fff;background:var(--sn-brand);cursor:pointer;border:2px solid var(--sn-brand-deep);box-shadow:3px 4px color-mix(in srgb,var(--sn-brand) 35%,#000);transform:rotate(1deg);overflow:hidden;transition:transform .18s ease,filter .18s,box-shadow .18s}.sn-error__home-ink{position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:radial-gradient(circle at 30% 20%,color-mix(in srgb,#fff 20%,transparent),transparent 45%);pointer-events:none}.sn-error__home>span:last-child{position:relative;z-index:1}.sn-error__home:hover{filter:brightness(1.06);transform:rotate(0) translateY(-2px);box-shadow:4px 6px color-mix(in srgb,var(--sn-brand) 30%,#000)}.sn-error__home:active{transform:translateY(1px);box-shadow:1px 2px color-mix(in srgb,var(--sn-brand) 35%,#000)}@media (prefers-reduced-motion: reduce){.sn-error__glow,.sn-error__page,.sn-error__slash,.sn-error__spark--a,.sn-error__spark--b,.sn-error__brand,.sn-error__sketch,.sn-error__eyebrow,.sn-error__title,.sn-error__detail,.sn-error__hint,.sn-error__actions{animation:none!important}}.sn-nav{display:flex;align-items:center;justify-content:space-between;padding:0 28px;height:48px;position:fixed;top:0;left:0;right:0;z-index:100;background:var(--glass-surface);backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);border-bottom:1px solid var(--glass-border)}.sn-nav__spacer{height:48px;flex-shrink:0}.sn-nav__brand{display:flex;align-items:center;gap:7px;text-decoration:none;font-weight:700;font-size:15px;letter-spacing:-.3px;color:var(--glass-text)}.sn-nav__brand svg{stroke:var(--sn-brand)}.sn-nav__title{position:absolute;left:50%;max-width:min(48vw,560px);overflow:hidden;transform:translate(-50%,-4px);white-space:nowrap;text-overflow:ellipsis;color:var(--glass-text);font-family:var(--font-hand);font-size:15px;font-weight:700;opacity:0;pointer-events:none;transition:opacity .15s ease,transform .15s ease}.sn-nav__title.is-visible{opacity:1;transform:translate(-50%)}.sn-nav__actions,.sn-nav__right{display:flex;align-items:center;gap:8px}.sn-page>.sn-nav{display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,2fr) minmax(96px,1fr)}.sn-page>.sn-nav .sn-nav__brand{justify-self:start}.sn-page>.sn-nav .sn-nav__title{position:static;left:auto;min-width:0;max-width:100%;justify-self:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transform:translateY(-4px)}.sn-page>.sn-nav .sn-nav__title.is-visible{transform:translateY(0)}.sn-page>.sn-nav .sn-nav__actions{justify-self:end}.sn-nav__icon-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1.5px solid var(--glass-border);border-radius:42% 58% 48% 52%/52% 42% 58% 48%;cursor:pointer;transition:background .15s,color .15s,border-color .15s,transform .15s;font-size:14px;background:transparent;color:var(--glass-text-dim);transform:rotate(-1deg)}.sn-nav__icon-btn:hover{background:color-mix(in srgb,var(--sn-brand) 10%,transparent);border-color:color-mix(in srgb,var(--sn-brand) 35%,transparent);color:var(--glass-text);transform:rotate(0)}.sn-nav__theme-toggle svg{display:block;transition:transform .25s cubic-bezier(.22,1,.36,1)}html.dc-theme-revealing--to-day .sn-nav__theme-toggle svg{animation:dc-theme-icon-day .62s cubic-bezier(.22,.99,.28,1) both}html.dc-theme-revealing--to-night .sn-nav__theme-toggle svg{animation:dc-theme-icon-night .62s cubic-bezier(.22,.99,.28,1) both}.sn-nav__share{position:relative;display:inline-flex;align-items:center;height:34px;width:34px;padding:0;justify-content:center;border:2px solid color-mix(in srgb,var(--sn-brand) 55%,transparent);border-radius:999px;background:color-mix(in srgb,var(--sn-brand) 12%,transparent);color:var(--sn-brand);font-family:var(--font-hand);font-size:13px;font-weight:700;cursor:pointer;transform:rotate(1deg);box-shadow:2px 2px color-mix(in srgb,var(--sn-brand) 18%,transparent);transition:transform .18s ease,background .18s,border-color .18s,color .18s,box-shadow .18s}.sn-nav__share:hover{transform:rotate(0) translateY(-1px);background:color-mix(in srgb,var(--sn-brand) 18%,transparent);box-shadow:3px 3px color-mix(in srgb,var(--sn-brand) 22%,transparent)}.sn-nav__share:active{transform:translateY(1px);box-shadow:1px 1px color-mix(in srgb,var(--sn-brand) 18%,transparent)}.sn-nav__share.is-copied{color:#fff;background:var(--sn-brand);border-color:var(--sn-brand-deep);animation:sn-share-pop .45s cubic-bezier(.22,1,.36,1)}.sn-nav__share.is-copied:after{content:"";position:absolute;top:-5px;right:-5px;bottom:-5px;left:-5px;border:2px solid var(--sn-brand);border-radius:inherit;pointer-events:none;animation:sn-share-ring .5s ease-out both}.sn-nav__share-icon{display:inline-flex;align-items:center;justify-content:center}@keyframes sn-share-pop{0%{transform:scale(.92) rotate(1deg)}55%{transform:scale(1.06) rotate(-1deg)}to{transform:scale(1) rotate(0)}}@keyframes sn-share-ring{0%{opacity:.8;transform:scale(.8)}to{opacity:0;transform:scale(1.35)}}.sn-hero{width:100%;height:clamp(300px,43vw,540px);margin:0;background-color:var(--page-bg);overflow:hidden;position:relative;z-index:1}.sn-hero img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;opacity:1;filter:none;transform:scale(1.012) rotate(-.12deg);transition:opacity .24s ease,transform .9s cubic-bezier(.22,1,.36,1)}.sn-hero:hover img{transform:scale(1.032) rotate(.08deg)}.sn-hero--loading img,.sn-hero--error img{opacity:0}.sn-hero__loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;gap:10px;color:var(--glass-text-dim, #71717a);font-family:var(--font-hand);background:radial-gradient(circle at 30% 20%,color-mix(in srgb,var(--accent) 9%,transparent),transparent 45%),var(--page-bg)}.sn-cover-skeleton__mark{display:grid;place-items:center;width:54px;height:54px;border:1.5px dashed color-mix(in srgb,var(--sn-brand) 55%,transparent);border-radius:45% 55% 48% 52%/52% 46% 54% 48%;color:var(--sn-brand);animation:sn-cover-pulse 1.25s ease-in-out infinite}.sn-cover-skeleton__line{width:min(310px,54vw);height:13px;border-radius:999px;background:color-mix(in srgb,var(--sn-brand) 12%,var(--page-bg));animation:sn-cover-pulse 1.25s ease-in-out infinite}.sn-cover-skeleton__line--short{width:min(190px,34vw);animation-delay:90ms}@keyframes sn-cover-pulse{50%{opacity:.42;transform:translateY(1px)}}.sn-hero__loading--error{opacity:.72}.sn-hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:transparent;pointer-events:none}.sn-hero__title-wrap{position:absolute;z-index:2;left:max(24px,calc((100% - 1040px)/2 + 24px));right:max(24px,calc((100% - 1040px)/2 + 24px));bottom:clamp(20px,2.6vw,30px);color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.72)}.sn-hero__title-card{display:inline-block;max-width:min(680px,92%);padding:0;color:#fff;background:transparent;border:0;border-radius:16px 20px 17px 21px/18px 15px 20px 16px;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;text-shadow:0 3px 11px rgba(0,0,0,.95),0 0 24px rgba(0,0,0,.82)}.sn-hero__title-card .sn-article__eyebrow{color:#e3e1ff;margin-bottom:7px;text-shadow:0 2px 8px rgba(0,0,0,.8)}.sn-hero__title{max-width:100%;margin:0;font-family:var(--font-hand);font-size:clamp(30px,4vw,47px);line-height:1.08;letter-spacing:.015em;text-wrap:balance}.sn-hero__meta-panel{margin-top:18px;max-width:100%}.sn-hero__meta-panel .sn-article__header-bar{display:inline-flex;width:auto;margin:0;padding:7px 0;border:0;border-radius:0;color:#fff;background:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.sn-hero__meta-panel .sn-article__meta-sub{color:#fffffff0;text-shadow:0 2px 6px rgba(0,0,0,.8)}.sn-hero__meta-panel :is(.sn-article__author-name,.sn-article__meta-chip,.sn-article__meta-dot){color:inherit}.sn-hero__meta-panel .sn-article__author:hover .sn-article__author-name{color:#fff}.sn-hero__meta-panel .sn-article__avatar{width:42px;height:42px;border-color:#ffffffd1;box-shadow:0 5px 18px #00000047}.sn-hero__meta-panel .sn-author-follow{color:#fff;border-color:#ffffff9e;background:transparent;box-shadow:0 2px 8px #0000007a;-webkit-backdrop-filter:none;backdrop-filter:none}.sn-hero__meta-panel .sn-author-follow:hover,.sn-hero__meta-panel .sn-author-follow.is-following{background:#6965dbb8;border-color:#c9c6ff}.sn-hero__meta-panel .sn-article-like{color:#fff;border-color:#ffffffd6;background:transparent;box-shadow:0 2px 8px #0000007a;-webkit-backdrop-filter:none;backdrop-filter:none}.sn-hero__meta-panel .sn-sketch-tags{margin:12px 0 0 50px}.sn-hero__meta-panel :is(.sn-tag,.sn-sketch-tag){color:#fff;background:#14122052;border:1px dashed rgba(255,255,255,.58);border-radius:46% 54% 48% 52%/54% 44% 56% 46%;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sn-content-wrap{position:relative;z-index:1;flex:1 0 auto;display:block;width:100%;min-height:0}.sn-article{max-width:1040px;width:100%;box-sizing:border-box;margin:0 auto;padding:38px 24px 18px}.sn-article__title{font-family:var(--font-hand);font-size:38px;font-weight:700;line-height:1.25;letter-spacing:.02em;margin:0 0 16px;color:var(--glass-text);width:100%;transition:color .35s cubic-bezier(.22,1,.36,1)}:is(.sn-page--light,html[data-theme=light]) .sn-article__title{color:#111827}.sn-article__header-bar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:12px 0 18px;margin-bottom:20px;border-bottom:1px dashed color-mix(in srgb,var(--glass-border, rgba(255, 255, 255, .12)) 80%,transparent)}.sn-article__header-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}.sn-sketch-tags{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 14px}.sn-tag,.sn-sketch-tag{display:inline-flex;align-items:center;font-family:var(--font-hand);font-size:12px;font-weight:650;padding:3px 10px 4px;letter-spacing:.02em;color:var(--sn-brand);background:color-mix(in srgb,var(--sn-brand) 9%,transparent);border:2px solid color-mix(in srgb,var(--sn-brand) 45%,transparent);border-radius:46% 54% 50% 50%/50% 45% 55% 50%;transform:rotate(-1.2deg)}.sn-tag:nth-child(2n),.sn-sketch-tag:nth-child(2n){transform:rotate(1.4deg);border-radius:52% 48% 46% 54%/48% 52%}.sn-tag:nth-child(3n),.sn-sketch-tag:nth-child(3n){transform:rotate(-.6deg);border-radius:48% 52% 54% 46%/46% 48% 52% 54%}.sn-article__meta-sub{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:13px;color:var(--glass-text-dim);margin-bottom:0}.sn-article__author{display:inline-flex;align-items:center;gap:8px;min-width:0;color:inherit;text-decoration:none}.sn-article__author:hover .sn-article__author-name{color:var(--sn-brand)}.sn-article__avatar{width:26px;height:26px;border-radius:42% 58% 48% 52%/52% 42% 58% 48%;overflow:hidden;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-hand);font-size:12px;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--sn-brand-soft),var(--sn-brand));border:1.5px solid color-mix(in srgb,var(--sn-brand) 35%,transparent);transform:rotate(-2deg)}.sn-article__avatar img{width:100%;height:100%;object-fit:cover;display:block}.sn-article__author-name{font-family:var(--font-hand);font-weight:700;color:var(--glass-text);letter-spacing:.01em}.sn-author-follow{min-height:26px;padding:3px 9px;border:1.5px solid color-mix(in srgb,var(--sn-brand) 52%,transparent);border-radius:8px 7px 9px;background:color-mix(in srgb,var(--sn-brand) 7%,transparent);color:var(--sn-brand);font-family:var(--font-hand);font-size:11px;font-weight:700;cursor:pointer;transform:rotate(-.5deg);transition:background-color .16s ease,color .16s ease,transform .16s ease}.sn-author-follow:hover{background:var(--sn-brand);color:#fff;transform:rotate(0) translateY(-1px)}.sn-author-follow.is-following{background:color-mix(in srgb,var(--sn-brand) 14%,transparent)}.sn-author-follow:disabled{opacity:.6;cursor:wait}.sn-article__meta-dot{opacity:.55;line-height:1}.sn-article__meta-chip{display:inline-flex;align-items:center;gap:5px;color:var(--glass-text-dim)}.sn-article__meta-chip svg{flex-shrink:0;opacity:.85;color:var(--sn-brand)}.sn-content{font-family:var(--font-hand);font-size:17px;line-height:1.75;color:var(--glass-text);max-width:1040px;margin:0 auto;padding:0 24px 48px;letter-spacing:.02em;width:100%;box-sizing:border-box}.sn-content--after-cover{padding-top:34px}.sn-more-by-author{width:min(1040px,calc(100% - 48px));margin:10px auto 52px;padding:28px 0 0;border-top:1px dashed color-mix(in srgb,var(--sn-brand) 38%,var(--glass-border))}.sn-more-by-author__head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.sn-more-by-author__head .sn-article__eyebrow{width:100%;margin-bottom:-2px}.sn-more-by-author h2{margin:0;color:var(--glass-text);font-family:var(--font-hand);font-size:25px;line-height:1.2}.sn-more-by-author__head>a{margin-left:auto;color:var(--sn-brand);font-family:var(--font-hand);font-weight:700;text-decoration:none}.sn-more-by-author__head>a:hover{text-decoration:underline;text-underline-offset:3px}.sn-more-by-author__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,250px));gap:12px;margin-top:14px}.sn-more-by-author__card{display:flex;min-height:72px;flex-direction:column;align-items:flex-start;padding:13px 15px;color:var(--glass-text);text-decoration:none;background:color-mix(in srgb,var(--glass-surface) 88%,transparent);border:1px solid var(--glass-border);border-radius:15px 18px 16px 19px/17px 14px 20px 15px;box-shadow:3px 4px color-mix(in srgb,var(--sn-brand) 10%,transparent);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.sn-more-by-author__card:hover{transform:translateY(-3px) rotate(-.15deg);border-color:color-mix(in srgb,var(--sn-brand) 48%,var(--glass-border));box-shadow:5px 7px color-mix(in srgb,var(--sn-brand) 16%,transparent)}.sn-more-by-author__card strong{font-family:var(--font-hand);font-size:16px;line-height:1.18}.sn-more-by-author__card>span{display:-webkit-box;margin-top:5px;overflow:hidden;color:var(--glass-text-dim);font-size:12px;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:1}:is(.sn-page--light,html[data-theme=light]) .sn-content{color:#374151}.sn-prose h1,.sn-prose h2,.sn-prose h3,.sn-prose h4{font-family:var(--font-hand)}.sn-prose h1{font-size:22px;font-weight:700;margin:28px 0 10px;letter-spacing:.02em;color:var(--glass-text)}.sn-prose h2{font-size:18px;font-weight:700;margin:24px 0 8px;letter-spacing:.02em;color:var(--glass-text)}.sn-prose h3{font-size:16px;font-weight:650;margin:20px 0 6px;color:var(--glass-text)}:is(.sn-page--light,html[data-theme=light]) .sn-prose h1,:is(.sn-page--light,html[data-theme=light]) .sn-prose h2,:is(.sn-page--light,html[data-theme=light]) .sn-prose h3{color:#111827}.sn-prose p{margin:0 0 16px}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) strong{font-family:var(--font-hand);font-weight:700;color:var(--sn-brand);letter-spacing:.02em}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) em{font-family:var(--font-hand);font-style:italic;letter-spacing:.03em}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) u{text-decoration:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='4' viewBox='0 0 14 4'%3E%3Cpath d='M0 2.6 Q3.5 0.4 7 2.6 T14 2.6' stroke='%236965db' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:repeat-x;background-position:0 calc(100% - 1px);background-size:14px 4px;padding-bottom:2px}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) s{text-decoration:line-through;text-decoration-color:color-mix(in srgb,var(--sn-brand) 55%,transparent);text-decoration-thickness:2px;color:var(--glass-text-dim, var(--text-tertiary))}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) a{color:var(--sn-brand);text-decoration:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='4' viewBox='0 0 14 4'%3E%3Cpath d='M0 2.6 Q3.5 0.4 7 2.6 T14 2.6' stroke='%23818cf8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:repeat-x;background-position:0 calc(100% - 1px);background-size:14px 4px;padding-bottom:2px;transition:color .15s}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) a:hover{color:var(--sn-brand-soft)}.sn-prose a{color:var(--sn-brand);text-decoration:none}:is(.sn-page--dark,html[data-theme=dark]) .sn-prose strong{color:var(--sn-brand)}:is(.sn-page--light,html[data-theme=light]) .sn-prose strong{color:#5b21b6}.sn-prose blockquote{border-left:none;padding:12px 18px 12px 22px;margin:20px 0;border-radius:0 10px 10px 0;background:color-mix(in srgb,var(--sn-brand) 6%,transparent);font-style:italic;color:var(--glass-text-dim);position:relative}.sn-prose blockquote p:last-child{margin-bottom:0}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose){counter-reset:dc-sketch-ol}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) ul:not([data-type=taskList]):not(:has(>li>input[type=checkbox])){list-style:none;padding-left:0;margin:14px 0}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) ul:not([data-type=taskList]):not(:has(>li>input[type=checkbox]))>li{position:relative;padding-left:1.55em;margin:6px 0}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) ul:not([data-type=taskList]):not(:has(>li>input[type=checkbox]))>li:before{content:"";position:absolute;left:.1em;top:.52em;width:8px;height:8px;border:1.85px solid var(--sketch-stroke);border-radius:42% 58% 52% 48%/48% 42% 58% 52%;transform:rotate(-14deg);opacity:.9}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) ul:not([data-type=taskList]) ul>li:before{width:6px;height:6px;top:.58em;border-style:dashed;border-width:1.6px;transform:rotate(8deg)}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) ol{list-style:none;padding-left:0;margin:14px 0;counter-reset:dc-sketch-ol}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) ol>li{counter-increment:dc-sketch-ol;position:relative;padding-left:2.35em;margin:8px 0}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) ol>li:before{content:counter(dc-sketch-ol);position:absolute;left:0;top:.02em;width:1.55em;height:1.55em;display:flex;align-items:center;justify-content:center;font-family:var(--font-hand);font-weight:700;font-size:.88em;line-height:1;color:var(--sn-brand);letter-spacing:0;border:2px solid var(--sketch-stroke);border-radius:46% 54% 50% 50%/50% 45% 55% 50%;transform:rotate(-5deg);box-sizing:border-box;opacity:.95}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) ol>li:nth-child(3n+2):before{transform:rotate(4deg);border-radius:52% 48% 46% 54%/48% 52%}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) ol>li:nth-child(3n):before{transform:rotate(-2deg);border-radius:48% 52% 54% 46%/46% 48% 52% 54%}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) ol ol>li:before{width:1.35em;height:1.35em;font-size:.82em;border-style:dashed;border-width:1.75px}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) li p{margin:0}:is(.sn-prose,.markdown-viewer__content.sn-prose) ul:has(>li>input[type=checkbox]){list-style:none;padding-left:2px;margin:14px 0}:is(.sn-prose,.markdown-viewer__content.sn-prose) ul:has(>li>input[type=checkbox])>li{display:flex;align-items:flex-start;gap:8px;margin:6px 0}:is(.sn-prose,.markdown-viewer__content.sn-prose) ul:has(>li>input[type=checkbox]) input[type=checkbox]{flex-shrink:0;margin-top:3px}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) ul[data-type=taskList] input[type=checkbox],:is(.sn-prose,.markdown-viewer__content.sn-prose) ul:has(>li>input[type=checkbox]) input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;margin:0;border:2px solid var(--sketch-stroke);border-radius:42% 58% 50% 50%/50% 45% 55% 50%;background:transparent;cursor:pointer;flex-shrink:0;position:relative}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) ul[data-type=taskList] input[type=checkbox]:checked,:is(.sn-prose,.markdown-viewer__content.sn-prose) ul:has(>li>input[type=checkbox]) input[type=checkbox]:checked{background:color-mix(in srgb,var(--sn-brand) 18%,transparent)}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) ul[data-type=taskList] input[type=checkbox]:checked:after,:is(.sn-prose,.markdown-viewer__content.sn-prose) ul:has(>li>input[type=checkbox]) input[type=checkbox]:checked:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-family:var(--font-hand);font-size:11px;font-weight:700;color:var(--sn-brand);line-height:1}.sn-prose ul,.sn-prose ol{padding-left:0;margin:14px 0}.sn-prose li{margin:6px 0}.sn-prose li::marker{content:none}.sn-prose code:not(pre code){font-family:JetBrains Mono,monospace;padding:2px 6px;border-radius:5px;font-size:.85em;background:var(--glass-bg);border:1px solid var(--glass-border);color:#c084fc}:is(.sn-page--light,html[data-theme=light]) .sn-prose code:not(pre code){color:#7c3aed}.sn-prose img{display:block;width:auto;height:auto;max-width:100%;max-height:min(72vh,760px);object-fit:contain;border-radius:10px;margin:14px auto}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) hr{border:none;height:18px;margin:28px 0;padding:0;background:transparent;position:relative;overflow:visible}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) hr:after{content:"";display:block;position:absolute;left:0;right:0;top:50%;height:2px;transform:translateY(-50%) rotate(-.35deg);background:repeating-linear-gradient(90deg,var(--sketch-stroke) 0 5px,transparent 5px 12px);opacity:.78}.sketch-hr-wrap{position:relative;height:18px;margin:28px 0;border:none;background:transparent}.sketch-hr-wrap hr{visibility:hidden;height:0;margin:0;padding:0}.sketch-hr-wrap hr:after{display:none}.sketch-img-wrap{display:block;width:fit-content;max-width:100%;margin:20px 0;padding:0}.sketch-img-wrap img{margin:0;border-radius:8px;display:block;max-width:100%}.sn-table-wrapper,.ne-tiptap .tiptap.sn-prose .tableWrapper{position:relative;overflow-x:auto;margin:24px 0;padding:0;border:none;border-radius:0;background:transparent;--sketch-radius: 10;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}.sn-table-wrapper,.sn-codeblock,.sn-codeblock-nodeview{outline:1.5px solid color-mix(in srgb,var(--sn-brand) 34%,var(--border));outline-offset:-1px}.sn-table-wrapper.sketch-frame,.sn-codeblock.sketch-frame,.sn-codeblock-nodeview.sketch-frame{outline-color:transparent}.sn-table-wrapper::-webkit-scrollbar,.ne-tiptap .tiptap.sn-prose .tableWrapper::-webkit-scrollbar{height:6px}.sn-table-wrapper::-webkit-scrollbar-thumb,.ne-tiptap .tiptap.sn-prose .tableWrapper::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px}.sn-prose table,.sn-table-wrapper table,.ne-tiptap .tiptap.sn-prose table{width:100%;border-collapse:collapse;border-spacing:0;margin:0;font-family:var(--font-hand);font-size:13px;line-height:1.55;border:none;border-radius:12px;overflow:hidden;background:transparent}.sn-prose th,.sn-prose td,.sn-table-wrapper th,.sn-table-wrapper td,.ne-tiptap .tiptap.sn-prose th,.ne-tiptap .tiptap.sn-prose td{padding:11px 14px;text-align:left;vertical-align:top;border-right:1px solid color-mix(in srgb,var(--sn-brand) 12%,var(--glass-border));border-bottom:1px solid color-mix(in srgb,var(--sn-brand) 12%,var(--glass-border));font-family:var(--font-hand);font-size:13px}.sn-prose tr:last-child td,.sn-table-wrapper tr:last-child td{border-bottom:0}.sn-prose :is(th,td):last-child,.sn-table-wrapper :is(th,td):last-child{border-right:0}.sketch-frame--table th,.sketch-frame--table td{border:none!important}.sn-prose th,.sn-table-wrapper th,.ne-tiptap .tiptap.sn-prose th{background:color-mix(in srgb,var(--sn-brand) 8%,transparent);color:var(--text-primary);font-family:var(--font-hand);font-weight:600;text-transform:none;letter-spacing:.02em;white-space:normal}.sn-prose td,.sn-table-wrapper td,.ne-tiptap .tiptap.sn-prose td{color:var(--text-secondary)}.sn-prose tr:hover td,.sn-table-wrapper tr:hover td,.ne-tiptap .tiptap.sn-prose tbody tr:hover td{background:var(--bg-hover)}.ne-tiptap .tiptap.sn-prose th,.ne-tiptap .tiptap.sn-prose td{min-width:80px;border:none!important}.sketch-frame--table.ne-tiptap .tiptap.sn-prose th,.sketch-frame--table.ne-tiptap .tiptap.sn-prose td,.ne-tiptap .tiptap.sn-prose .sketch-frame--table th,.ne-tiptap .tiptap.sn-prose .sketch-frame--table td{border:none!important}.ne-tiptap .tiptap.sn-prose .selectedCell{background:color-mix(in srgb,var(--sn-brand) 12%,transparent)!important}.ne-tiptap .tiptap.sn-prose .selectedCell:after{background:color-mix(in srgb,var(--sn-brand) 16%,transparent)!important}.sn-prose input[type=checkbox]{margin-right:0}.ne-panel,.ne-preview{--sn-brand: var(--brand-purple, #6965db);--sn-brand-soft: var(--brand-purple-light, #8b86ff)}.sn-mermaid{margin:24px 0;border-radius:0;padding:12px 0;overflow-x:auto;text-align:center;background:transparent;border:0;box-shadow:none}.sn-mermaid.sketch-frame--media{border:0;box-shadow:none}.sn-mermaid svg{max-width:100%;height:auto;font-family:var(--font-hand)!important}.sn-mermaid-err{color:#ef4444;font-size:12px}.sn-link-preview{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:11px;width:min(100%,620px);margin:16px 0;padding:11px 12px;box-sizing:border-box;border:1.5px solid color-mix(in srgb,var(--sn-brand) 38%,var(--border, transparent));border-radius:11px 9px 12px 10px;background:color-mix(in srgb,var(--sn-brand) 4%,var(--bg-primary, var(--glass-bg)));box-shadow:3px 3px color-mix(in srgb,var(--sn-brand) 10%,transparent);font-family:var(--font-hand);color:var(--text-primary, var(--glass-text));transform:rotate(-.15deg)}.sn-link-preview.ProseMirror-selectednode{outline:2px solid var(--sn-brand);outline-offset:3px}.sn-link-preview__favicon{position:relative;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px 7px 9px;overflow:hidden;background:color-mix(in srgb,var(--sn-brand) 12%,var(--bg-secondary, transparent));color:var(--sn-brand)}.sn-link-preview__favicon img{position:relative;z-index:1;width:20px;height:20px;object-fit:contain}.sn-link-preview__favicon-fallback{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-size:16px;font-weight:800}.sn-link-preview__copy{display:flex;flex-direction:column;min-width:0;line-height:1.25}.sn-link-preview__copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary, var(--glass-text));font-size:14px}.sn-link-preview__copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-tertiary, var(--glass-text-dim));font-size:11px}.sn-link-preview__open{display:inline-flex;align-items:center;min-height:28px;padding:3px 10px;border-radius:8px;background:var(--sn-brand);color:#fff!important;font-size:12px;font-weight:700;text-decoration:none!important;background-image:none!important}.sn-link-preview__open:hover{color:#fff!important;filter:brightness(1.08);transform:translateY(-1px)}@media (max-width: 520px){.sn-link-preview{grid-template-columns:30px minmax(0,1fr)}.sn-link-preview__open{grid-column:1 / -1;justify-content:center}}.sn-codeblock{position:relative;margin:20px 0;padding:0;border:none;border-radius:0;overflow:visible;background:var(--md-code-surface, var(--bg-tertiary));box-shadow:none;--sketch-radius: 12}html[data-theme=dark]{--md-code-surface: #1a1a1a;--md-code-label: #e8957a}html[data-theme=light]{--md-code-surface: #ffffff;--md-code-label: #c2410c}.sn-page--dark{--md-code-surface: #1a1a1a;--md-code-label: #e8957a}.sn-page--light{--md-code-surface: #ffffff;--md-code-label: #c2410c}.sn-codeblock__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:none;background:transparent}.sketch-frame--code .sn-codeblock__header{border-bottom:none!important}.sketch-frame--code .sn-codeblock__output{border-top:none!important}.sketch-frame--code .sn-codeblock__lang{background:transparent;border:none}.sn-codeblock__lang{display:inline-flex;align-items:center;min-height:22px;padding:2px 10px;border-radius:0;font-family:var(--font-hand);font-size:11px;text-transform:uppercase;font-weight:600;letter-spacing:.06em;color:var(--text-secondary);background:transparent}.sn-codeblock__actions{display:flex;gap:6px;align-items:center}.sn-codeblock__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:28px;padding:0 10px;border:none;border-radius:6px;font-size:11px;font-weight:600;cursor:pointer;transition:opacity .15s,background .15s,color .15s;background:transparent;color:var(--text-tertiary)}.sn-codeblock__btn:hover{color:var(--text-secondary);background:var(--bg-hover)}.sn-codeblock__btn--icon{width:30px;min-width:30px;height:30px;padding:0;opacity:.65}.sn-codeblock__btn--icon:hover{opacity:1}.sn-codeblock__btn--success{color:var(--accent)!important;opacity:1}.sn-codeblock__btn-icon{font-size:12px;line-height:1}.sn-sketch-copy{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:8px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:color .15s,background .15s}.sn-sketch-copy:hover{color:var(--text-secondary);background:color-mix(in srgb,var(--sketch-stroke, var(--text-primary)) 8%,transparent)}.sn-sketch-copy--done{color:var(--accent)!important}.sn-sketch-copy__icon{display:block;opacity:.92}.sn-sketch-copy__check{font-family:var(--font-hand);font-size:14px;font-weight:650;line-height:1}.sn-codeblock__btn--run{color:var(--accent)!important;border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)!important;background:color-mix(in srgb,var(--accent) 8%,transparent)!important;opacity:1}.sn-codeblock__btn--run:hover{background:color-mix(in srgb,var(--accent) 14%,transparent)!important}.sn-codeblock__btn:disabled{opacity:.4;cursor:not-allowed}.sn-codeblock pre{margin:0;padding:18px 20px 20px;overflow-x:auto;font-size:13px;line-height:1.75;font-family:var(--font-mono, "JetBrains Mono", monospace);background:transparent;color:var(--text-primary);scrollbar-width:thin}.sn-codeblock pre::-webkit-scrollbar{height:6px}.sn-codeblock pre::-webkit-scrollbar-track{background:transparent}.sn-codeblock pre::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px}.sn-codeblock code{background:none!important;padding:0!important;border:none!important;font-family:inherit!important}.sn-codeblock__label{color:var(--md-code-label, #e8957a);font-weight:500}.sn-codeblock__output{border-top:none;background:color-mix(in srgb,var(--bg-primary) 40%,transparent)}.sn-codeblock__output--error{background:var(--danger-bg)!important}.sn-codeblock__output-header{padding:8px 14px 0;font-family:var(--font-ui);font-size:10px;color:var(--text-tertiary);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.sn-codeblock__output--error .sn-codeblock__output-header{color:var(--danger)}.sn-codeblock__output pre{margin:0;padding:10px 14px 14px;font-size:12px;color:var(--text-secondary);white-space:pre-wrap;max-height:200px;overflow-y:auto}.sn-codeblock__output--error pre{color:var(--danger)}html[data-theme=dark] .sn-codeblock .hljs,.sn-page--dark .sn-codeblock .hljs{background:transparent!important;color:#d4d4d8!important}html[data-theme=dark] .sn-codeblock .hljs-keyword,.sn-page--dark .sn-codeblock .hljs-keyword{color:#c084fc}html[data-theme=dark] .sn-codeblock .hljs-string,.sn-page--dark .sn-codeblock .hljs-string{color:#86efac}html[data-theme=light] .sn-codeblock .hljs,.sn-page--light .sn-codeblock .hljs{background:transparent!important;color:#1f2937!important}html[data-theme=light] .sn-codeblock .hljs-keyword{color:#7c3aed}html[data-theme=light] .sn-codeblock .hljs-built_in,html[data-theme=light] .sn-codeblock .hljs-type{color:#0891b2}html[data-theme=light] .sn-codeblock .hljs-literal{color:#dc2626}html[data-theme=light] .sn-codeblock .hljs-number,html[data-theme=light] .sn-codeblock .hljs-string,html[data-theme=light] .sn-codeblock .hljs-regexp,html[data-theme=light] .sn-codeblock .hljs-symbol{color:#059669}html[data-theme=light] .sn-codeblock .hljs-title{color:#2563eb}html[data-theme=light] .sn-codeblock .hljs-comment,html[data-theme=light] .sn-codeblock .hljs-doctag,html[data-theme=light] .sn-codeblock .hljs-meta{color:#9ca3af;font-style:italic}html[data-theme=light] .sn-codeblock .hljs-tag,html[data-theme=light] .sn-codeblock .hljs-name{color:#dc2626}html[data-theme=light] .sn-codeblock .hljs-attr{color:#d97706}html[data-theme=light] .sn-codeblock .hljs-variable{color:#dc2626}.sn-section{animation:sn-section-in .4s ease-out both}@keyframes sn-section-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.sn-load-more{text-align:center;padding:16px 0}.sn-load-more__sentinel{height:1px;width:100%}.sn-engage{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px}.sn-engage__comments{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--glass-border);background:transparent;color:var(--glass-text);font-family:var(--font-hand);font-size:13px;font-weight:700;cursor:pointer;transition:border-color .15s,background .15s,color .15s}.sn-engage__comments:hover{border-color:color-mix(in srgb,var(--sn-brand) 50%,transparent);background:color-mix(in srgb,var(--sn-brand) 8%,transparent);color:var(--sn-brand)}.sn-article-like{display:inline-flex;align-items:center;justify-content:center;min-width:38px;width:auto;height:38px;padding:7px;border:0;border-radius:9px;background:transparent;color:var(--glass-text-dim, #a1a1aa);cursor:pointer;transition:color .18s ease,background-color .18s ease}.sn-article-like__count{min-width:1ch;margin-left:4px;color:currentColor;font-family:var(--font-hand);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.sn-article-like:hover{color:var(--sn-brand);background:color-mix(in srgb,var(--sn-brand) 7%,transparent)}.sn-article-like.is-liked{color:var(--sn-brand)}.sn-article-like__hand{display:inline-flex;align-items:center;justify-content:center;color:inherit}.sn-article-like__hand svg,.sn-thumb-icon{display:block;width:20px;height:20px;color:inherit;transition:transform .18s ease,color .18s ease}.sn-thumb-icon__outline{transition:opacity .18s ease}.sn-thumb-icon__fill{opacity:0;transform-origin:50% 60%;transform:scale(.72);transition:opacity .18s ease,transform .18s ease}.sn-thumb-icon.is-filled .sn-thumb-icon__fill{opacity:1;transform:scale(1)}.sn-thumb-icon.is-filled .sn-thumb-icon__outline{opacity:0}.sn-article-like:active .sn-thumb-icon{transform:scale(.88)}.sn-article-like:disabled{cursor:wait;opacity:.72}.sn-article-like.is-pending{color:var(--sn-brand)}.sn-article-like--nav{min-width:34px;height:34px;padding:6px;border:1px solid var(--glass-border);border-radius:42% 58% 48% 52%/52% 42% 58% 48%;background:var(--glass-surface);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.sn-article-like--nav .sn-article-like__count{display:none}.sn-page--nav-title .sn-article__header-actions{visibility:hidden;pointer-events:none}.sn-in-content-ad{margin:clamp(28px,5vw,52px) 0}.sn-in-content-ad--end{margin-top:clamp(40px,7vw,72px);margin-bottom:clamp(18px,3vw,32px)}@media (prefers-reduced-motion: reduce){.sn-article-like,.sn-thumb-icon,.sn-thumb-icon__fill,.sn-thumb-icon__outline{animation:none;transition:none}.sn-thumb-icon.is-filled .sn-thumb-icon__fill{transform:none}}.sn-comments-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10040;border:none;padding:0;margin:0;background:color-mix(in srgb,#0a0a0f 42%,transparent);backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px);opacity:0;pointer-events:none;transition:opacity .55s cubic-bezier(.22,1,.36,1),backdrop-filter .55s cubic-bezier(.22,1,.36,1),-webkit-backdrop-filter .55s cubic-bezier(.22,1,.36,1);cursor:pointer}.sn-comments-backdrop.is-open{opacity:1;pointer-events:auto;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.sn-comments-drawer{position:fixed;top:0;right:0;z-index:10050;width:min(420px,100vw);height:100dvh;max-height:100dvh;display:flex;flex-direction:column;background:var(--page-bg, #0a0a0f);border-left:2px solid color-mix(in srgb,var(--sn-brand) 35%,var(--glass-border));box-shadow:-18px 0 50px color-mix(in srgb,#000 24%,transparent);transform:translate3d(100%,0,0);opacity:.92;border-radius:0;transition:transform .58s cubic-bezier(.16,1,.3,1),opacity .45s cubic-bezier(.22,1,.36,1),box-shadow .45s ease;pointer-events:none;padding:0;will-change:transform,opacity}.sn-comments-drawer.is-open{transform:translateZ(0);opacity:1;pointer-events:auto;box-shadow:-22px 0 60px color-mix(in srgb,#000 28%,transparent)}.sn-comments-drawer.is-open .sn-comments-drawer__head{animation:sn-drawer-fade .5s cubic-bezier(.16,1,.3,1) .08s both}.sn-comments-drawer.is-open .sn-comments__composer{animation:sn-drawer-fade .52s cubic-bezier(.16,1,.3,1) .14s both}.sn-comments-drawer.is-open .sn-comments__list{animation:sn-drawer-fade .55s cubic-bezier(.16,1,.3,1) .2s both}@keyframes sn-drawer-fade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.sn-comments-backdrop,.sn-comments-drawer{transition-duration:.01ms!important}.sn-comments-drawer.is-open .sn-comments-drawer__head,.sn-comments-drawer.is-open .sn-comments__composer,.sn-comments-drawer.is-open .sn-comments__list{animation:none}}.sn-comments-drawer__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:calc(14px + env(safe-area-inset-top,0px)) 14px 14px 16px;border-bottom:2px dashed color-mix(in srgb,var(--sn-brand) 22%,transparent);flex-shrink:0;position:relative;z-index:2;background:var(--page-bg, #0a0a0f)}.sn-comments-drawer__close{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1.5px solid color-mix(in srgb,var(--sn-brand) 30%,var(--glass-border));border-radius:40% 60% 45% 55%/55% 40% 60% 45%;background:color-mix(in srgb,var(--sn-brand) 8%,transparent);color:var(--glass-text);cursor:pointer;flex-shrink:0;transform:rotate(2deg);transition:color .15s,border-color .15s,background .15s,transform .15s}.sn-comments-drawer__close:hover{background:color-mix(in srgb,var(--sn-brand) 16%,transparent);border-color:color-mix(in srgb,var(--sn-brand) 50%,transparent);color:var(--sn-brand);transform:rotate(0)}.sn-comments-drawer .sn-comments__composer{margin:0;padding:12px 16px;border-bottom:1px solid var(--glass-border);flex-shrink:0}.sn-comments-drawer .sn-comments__list{flex:1;overflow-y:auto;padding:4px 16px 24px;overscroll-behavior:contain;scrollbar-width:thin}.sn-comments-fab{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:max(20px,calc(12px + env(safe-area-inset-bottom,0px)));z-index:10030;display:inline-flex;align-items:center;gap:8px;padding:11px 16px 11px 14px;border:2px solid var(--sn-brand-deep);border-radius:48% 52% 50% 50%/52% 48%;background:var(--sn-brand);color:#fff;font-family:var(--font-hand);font-size:14px;font-weight:700;letter-spacing:.01em;cursor:pointer;box-shadow:3px 4px color-mix(in srgb,var(--sn-brand) 35%,#000);transform:rotate(-1.5deg);transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .3s,opacity .35s cubic-bezier(.22,1,.36,1),filter .2s;overflow:hidden;isolation:isolate;--sn-brand: var(--brand-purple, #6965db);--sn-brand-deep: color-mix(in srgb, var(--brand-purple, #6965db) 82%, #000)}.sn-comments-fab:hover{transform:rotate(0) translateY(-3px);filter:brightness(1.05);box-shadow:4px 6px color-mix(in srgb,var(--sn-brand) 30%,#000)}.sn-comments-fab:active{transform:rotate(-1deg) translateY(1px);box-shadow:1px 2px color-mix(in srgb,var(--sn-brand) 35%,#000)}.sn-comments-fab.is-open{opacity:0;pointer-events:none;transform:rotate(-4deg) scale(.82) translateY(6px)}.sn-comments-fab__label{line-height:1}.sn-comments-fab__count{min-width:1.35em;padding:2px 7px;border-radius:999px;border:1.5px dashed color-mix(in srgb,#fff 55%,transparent);background:color-mix(in srgb,#000 18%,transparent);font-variant-numeric:tabular-nums;font-size:12px;line-height:1.2}.sn-comments__title-wrap{display:flex;align-items:center;gap:10px}.sn-comments__mark{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;color:var(--sn-brand);background:color-mix(in srgb,var(--sn-brand) 10%,transparent);border-radius:10px}.sn-comments__eyebrow{margin:0;font-family:var(--font-hand);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--sn-accent)}.sn-comments__title{margin:2px 0 0;font-family:var(--font-hand);font-size:17px;font-weight:700;color:var(--glass-text)}.sn-comments__live{display:inline-flex;align-items:center;gap:5px;margin-top:3px;color:var(--glass-text-dim);font-size:10px;line-height:1}.sn-comments__live>span{width:6px;height:6px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px color-mix(in srgb,#22c55e 14%,transparent)}.sn-comments__live.is-syncing>span{animation:sn-live-pulse .8s ease-in-out infinite alternate}@keyframes sn-live-pulse{to{opacity:.35;transform:scale(.75)}}.sn-comments__hint{margin:0;max-width:240px;font-size:12px;line-height:1.4;color:var(--glass-text-dim);text-align:right}.sn-comments__composer{margin-bottom:18px;padding:12px 0 14px;border-bottom:1px solid var(--glass-border)}.sn-comments__composer--flash{animation:sn-comment-post .55s cubic-bezier(.22,1,.36,1)}@keyframes sn-comment-post{0%{opacity:.85}to{opacity:1}}.sn-comments__composer-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}.sn-comment__name-wrap{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.sn-comment__name-label{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--glass-text-dim)}.sn-comment__name-field{width:100%;max-width:240px;padding:2px 0 4px;border:none;border-bottom:2px dashed color-mix(in srgb,var(--sn-brand) 35%,transparent);border-radius:0;background:transparent;color:var(--glass-text, #18181b);font-family:var(--font-hand);font-size:15px;font-weight:700;outline:none;caret-color:var(--sn-brand)}.sn-comment__name-field::placeholder{color:var(--glass-text-dim);font-weight:600;opacity:.75}.sn-comment__name-field:focus{border-bottom-style:solid;border-bottom-color:var(--sn-brand)}.sn-comment__name-field--static{border-bottom-style:solid;border-bottom-color:transparent;cursor:default;display:block}.sn-comments__signin{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:4px 0 8px}.sn-comments__signin-title{margin:0;font-family:var(--font-hand);font-size:15px;font-weight:700;color:var(--glass-text)}.sn-comments__signin-copy{margin:0;font-size:13px;line-height:1.45;color:var(--glass-text-dim)}.sn-comments__error{margin:0;font-size:12px;color:#ef4444}.sn-comments__composer-body{display:flex;flex-direction:column;gap:8px}.sn-comment__textarea{width:100%;min-height:64px;resize:vertical;padding:10px 12px;border-radius:12px 14px 11px 13px/13px 11px 14px 12px;border:1.5px solid color-mix(in srgb,var(--sn-brand) 28%,var(--glass-border));background:transparent;color:var(--glass-text);font-family:var(--font-hand);font-size:14px;line-height:1.45;outline:none;transition:border-color .15s}.sn-comment__textarea:focus{border-color:var(--sn-brand)}.sn-comment__textarea::placeholder{color:var(--glass-text-dim);opacity:.85}.sn-comment__input{flex:1;padding:6px 10px;border-radius:8px;font-size:13px;font-family:var(--font-hand);outline:none;background:transparent;border:1px solid var(--glass-border);color:var(--glass-text)}.sn-comment__input:focus{border-color:color-mix(in srgb,var(--sn-brand) 55%,transparent)}.sn-comment__input--name{margin:0;max-width:180px;font-weight:700}.sn-comments__reply-chip{display:inline-flex;align-items:center;gap:10px;align-self:flex-start;font-size:12px;color:var(--glass-text-dim)}.sn-comments__reply-chip strong{color:var(--sn-brand)}.sn-comments__reply-chip button{border:none;background:transparent;color:var(--glass-text-dim);font-size:12px;font-weight:700;cursor:pointer;font-family:inherit;text-decoration:underline;text-underline-offset:2px}.sn-comments__reply-chip button:hover{color:var(--glass-text)}.sn-comments__composer-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.sn-comments__typing{display:flex;align-items:center;gap:7px;min-height:18px;color:var(--glass-text-dim);font-size:11px}.sn-comments__typing-dots{display:inline-flex;align-items:center;gap:2px}.sn-comments__typing-dots i{width:4px;height:4px;border-radius:50%;background:var(--sn-accent);animation:sn-typing-dot .9s ease-in-out infinite alternate}.sn-comments__typing-dots i:nth-child(2){animation-delay:.15s}.sn-comments__typing-dots i:nth-child(3){animation-delay:.3s}@keyframes sn-typing-dot{to{opacity:.35;transform:translateY(-2px)}}.sn-comments__shortcut{font-size:11px;color:var(--glass-text-dim);font-family:JetBrains Mono,ui-monospace,monospace}.sn-comment__post{display:inline-flex;align-items:center;gap:6px;min-width:5.75rem;justify-content:center;padding:7px 14px;border-radius:999px;border:2px solid var(--sn-brand-deep);background:var(--sn-brand);color:#fff;font-family:var(--font-hand);font-size:13px;font-weight:700;cursor:pointer;box-shadow:2px 2px color-mix(in srgb,var(--sn-brand) 40%,#000);transform:rotate(1deg);transition:filter .15s,opacity .15s,transform .15s}.sn-comment__post:hover:not(:disabled){filter:brightness(1.06);transform:rotate(0) translateY(-1px)}.sn-comment__post:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.sn-comment__post.is-posting,.sn-comment__post.is-posting:disabled{opacity:1;cursor:wait;box-shadow:2px 2px color-mix(in srgb,var(--sn-brand) 40%,#000);transform:rotate(0);filter:none}.sn-comment__post-spin{color:#fff!important;flex-shrink:0;line-height:0}.sn-comment__post-spin .dc-spinner__svg{display:block}.sn-comment__post-spin .dc-spinner__slash{stroke:color-mix(in srgb,#fff 70%,var(--brand-accent, #f59e0b))}.sn-comment__textarea:disabled{opacity:.72;cursor:wait}.sn-comments__list{display:flex;flex-direction:column;gap:0}.sn-comments__empty{text-align:center;padding:24px 8px;color:var(--glass-text-dim)}.sn-comments__empty-sketch{width:100px;height:54px;margin:0 auto 8px;color:var(--sn-brand);display:block}.sn-comments__empty-title{margin:0 0 4px;font-family:var(--font-hand);font-size:15px;font-weight:700;color:var(--glass-text)}.sn-comments__empty p{margin:0;font-size:13px}.sn-thread{padding:12px 0;border-bottom:1px solid color-mix(in srgb,var(--glass-border) 70%,transparent)}.sn-thread:last-child{border-bottom:none}.sn-comment{display:flex;gap:10px;padding:2px 0}.sn-comment--reply{padding-left:0}.sn-comment__avatar{width:30px;height:30px;flex-shrink:0;border-radius:50%;overflow:hidden;background:linear-gradient(135deg,var(--sn-brand-soft),var(--sn-brand));color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-hand);font-weight:700;font-size:12px;border:1.5px solid color-mix(in srgb,var(--sn-brand) 28%,transparent)}.sn-comment__avatar img{width:100%;height:100%;object-fit:cover;display:block}.sn-comment__avatar--reply,.sn-comment--reply .sn-comment__avatar{width:24px;height:24px;font-size:11px}.sn-comment__avatar--you{background:linear-gradient(135deg,var(--sn-accent),color-mix(in srgb,var(--sn-accent) 55%,#ea580c));border-color:color-mix(in srgb,var(--sn-accent) 40%,transparent)}.sn-comment__main{flex:1;min-width:0}.sn-comment__header{display:flex;align-items:baseline;gap:8px;margin-bottom:2px}.sn-comment__name{font-family:var(--font-hand);font-weight:700;font-size:14px;color:var(--glass-text, #18181b)}:is(.sn-page--light,html[data-theme=light]) .sn-comment__name{color:#111827}.sn-comment__time{font-size:11px;color:var(--glass-text-dim)}.sn-comment__text{font-size:14px;line-height:1.45;margin:0 0 6px;word-wrap:break-word;color:var(--glass-text)}:is(.sn-page--light,html[data-theme=light]) .sn-comment__text{color:#374151}.sn-comment__mention{color:var(--sn-brand);font-weight:700;margin-right:4px}.sn-comment__actions{display:flex;align-items:center;gap:12px}.sn-comment__like{display:inline-flex;align-items:center;gap:5px;padding:0;border:none;background:transparent;color:var(--glass-text-dim);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;cursor:pointer;transition:color .3s ease}.sn-comment__like:hover{color:var(--sn-brand)}.sn-comment__like .sn-thumb-icon{width:15px;height:15px;flex-shrink:0}.sn-comment__like-count{line-height:1}.sn-comment__like--liked,.sn-comment__like--liked .sn-thumb-icon{color:var(--sn-accent)}.sn-comment__reply-btn{border:none;background:transparent;padding:0;color:var(--glass-text-dim);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}.sn-comment__reply-btn:hover{color:var(--sn-brand)}.sn-thread__replies-section{padding-left:40px;margin-top:4px}.sn-thread__toggle{display:inline-flex;align-items:center;gap:5px;padding:2px 0;border:none;font-size:12px;font-weight:600;cursor:pointer;color:var(--sn-brand);background:transparent}.sn-thread__toggle:hover{text-decoration:underline;text-underline-offset:2px}.sn-thread__replies{display:flex;flex-direction:column;gap:10px;margin-top:8px;padding-left:10px;border-left:2px solid color-mix(in srgb,var(--sn-brand) 18%,transparent)}@media (max-width: 640px){.sn-nav__share-label{display:none}.sn-nav__share{padding:0 10px}.sn-comments-drawer{width:100vw;height:min(92dvh,100dvh);max-height:min(92dvh,100dvh);top:auto;bottom:0;right:0;border-left:none;border-top:2px solid color-mix(in srgb,var(--sn-brand) 35%,var(--glass-border));transform:translate3d(0,100%,0);border-radius:18px 18px 0 0;box-shadow:0 -16px 48px color-mix(in srgb,#000 22%,transparent);transition:transform .56s cubic-bezier(.16,1,.3,1),opacity .42s cubic-bezier(.22,1,.36,1),box-shadow .42s ease}.sn-comments-drawer.is-open{transform:translateZ(0);opacity:1}.sn-comments-drawer__head{padding-top:14px}}.sn-footer{flex-shrink:0;margin-top:0;padding:0;position:relative;z-index:1;width:100%;box-sizing:border-box;background:var(--page-bg, #0a0a0f)}.sn-footer:before{content:"";display:block;width:100%;height:1px;background:var(--glass-border)}.sn-footer__inner{max-width:720px;margin:0 auto;padding:10px 24px max(10px,env(safe-area-inset-bottom,0px));display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;box-sizing:border-box;text-align:center;font-size:12px;line-height:1.35;color:var(--glass-text-dim)}.sn-footer a{color:var(--sn-brand);text-decoration:none;font-weight:600}.sn-footer a:hover{text-decoration:underline;text-underline-offset:2px}.sn-page .sn-comments-fab,body>.sn-comments-fab{bottom:max(20px,calc(12px + env(safe-area-inset-bottom,0px)))}.ne-preview{width:100%;box-sizing:border-box;padding:24px 32px;max-width:760px;margin:0 auto}.ne-preview--embedded{max-width:none;margin:0;padding:8px 48px 60px}.ne-preview--embedded .sn-content{max-width:none;margin:0;padding:0}[data-theme=light] .ne-preview--embedded .sn-content{color:#18181b}.sn-codeblock-nodeview{position:relative;margin:20px 0;padding:0;border:none;border-radius:0;overflow:visible;background:var(--md-code-surface, var(--bg-tertiary));--sketch-radius: 12}.sn-codeblock-nodeview .sn-codeblock__header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:none;background:transparent;-webkit-user-select:none;user-select:none}.sn-codeblock-nodeview .sn-codeblock__lang{display:inline-flex;align-items:center;min-height:22px;padding:2px 10px;border-radius:0;font-family:var(--font-hand);font-size:11px;text-transform:uppercase;font-weight:600;letter-spacing:.06em;color:var(--text-secondary);background:transparent}.sn-codeblock-nodeview .sn-codeblock__actions{display:flex;gap:6px}.sn-codeblock__diagram-toggle{min-height:28px;padding:0 9px;border:none;border-radius:7px;background:transparent;color:var(--text-tertiary);font-family:var(--font-hand);font-size:11px;cursor:pointer}.sn-codeblock__diagram-toggle:hover{color:var(--text-primary);background:var(--bg-hover)}.sn-codeblock-nodeview__diagram{display:none}.sn-codeblock-nodeview.is-mermaid .sn-codeblock-nodeview__diagram{display:flex;min-height:180px;align-items:center;justify-content:center;overflow-x:auto;padding:22px;color:var(--text-tertiary);background-color:var(--bg-primary, #fffef9);background-image:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--sn-brand) 15%,transparent) 1px,transparent 1.2px);background-position:0 0;background-size:20px 20px}.sn-codeblock-nodeview.is-mermaid .sn-codeblock-nodeview__diagram svg{max-width:100%;height:auto;font-family:var(--font-hand)!important}.sn-codeblock-nodeview.is-mermaid .sn-codeblock-nodeview__diagram.is-error{color:#dc4c59}.sn-codeblock-nodeview.is-mermaid .sn-codeblock-nodeview__code{display:none}.sn-codeblock-nodeview.is-mermaid.is-source-visible .sn-codeblock-nodeview__code{display:block}.sn-codeblock-nodeview.is-mermaid.is-source-visible .sn-codeblock-nodeview__diagram{display:none}.sn-codeblock-nodeview .sn-codeblock__btn{display:inline-flex;align-items:center;justify-content:center;width:30px;min-width:30px;height:30px;padding:0;border:none;border-radius:6px;cursor:pointer;transition:opacity .15s,background .15s;background:transparent;color:var(--text-tertiary);opacity:.65}.sn-codeblock-nodeview .sn-codeblock__btn:hover{opacity:1;background:var(--bg-hover);color:var(--text-secondary)}.sn-codeblock-nodeview .sn-codeblock__btn--success{color:var(--accent)!important;opacity:1}.sn-codeblock-nodeview__code{margin:0!important;padding:18px 20px 20px!important;font-family:var(--font-mono, "JetBrains Mono", monospace)!important;font-size:13px!important;line-height:1.75!important;overflow-x:auto;background:transparent!important;color:var(--text-primary)!important;border:none!important;border-radius:0!important;box-shadow:none!important}.sn-codeblock-nodeview__code code{background:none!important;padding:0!important;border:none!important;color:inherit!important;font-family:inherit!important;font-size:inherit!important}.sn-codeblock-nodeview__code::-webkit-scrollbar{height:6px}.sn-codeblock-nodeview__code::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px}.ne-tiptap.sn-content{max-width:none;margin:0;padding:0}.ne-tiptap .tiptap.sn-prose{--glass-text: var(--text-primary);--glass-text-dim: var(--text-secondary);--glass-bg: var(--bg-tertiary);--glass-border: var(--border);color:var(--text-primary);font-family:var(--font-hand);font-size:15px;line-height:1.65;letter-spacing:.02em}.ne-tiptap .tiptap.sn-prose h1,.ne-tiptap .tiptap.sn-prose h2,.ne-tiptap .tiptap.sn-prose h3,.ne-tiptap .tiptap.sn-prose h4{font-family:var(--font-hand);color:var(--text-primary)}.ne-tiptap .tiptap.sn-prose h1{font-size:22px;font-weight:700;margin:28px 0 10px}.ne-tiptap .tiptap.sn-prose h2{font-size:18px;font-weight:700;margin:24px 0 8px}.ne-tiptap .tiptap.sn-prose h3{font-size:16px;font-weight:650;margin:20px 0 6px}.ne-tiptap .tiptap.sn-prose p{margin:0 0 10px}.ne-tiptap .tiptap.sn-prose blockquote{border-left:none;padding:8px 16px 8px 22px;margin:12px 0;border-radius:0 10px 10px 0;background:color-mix(in srgb,var(--sn-brand) 6%,transparent);font-style:normal;color:var(--text-secondary);position:relative}.ne-tiptap .tiptap.sn-prose blockquote:not(.sketch-frame):before{content:"";position:absolute;left:7px;top:10px;bottom:10px;width:3px;border-radius:2px;background:repeating-linear-gradient(180deg,var(--sn-brand) 0 4px,transparent 4px 8px);opacity:.85;transform:rotate(-1deg)}.ne-tiptap .tiptap.sn-prose blockquote p:last-child{margin-bottom:0}.ne-tiptap .tiptap.sn-prose ul[data-type=taskList]{list-style:none;padding-left:2px}.ne-tiptap .tiptap.sn-prose ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:8px;margin-bottom:4px}.ne-tiptap .tiptap.sn-prose ul[data-type=taskList] li>label{flex-shrink:0;margin-top:3px}.ne-tiptap .tiptap.sn-prose ul[data-type=taskList] li>div{flex:1;min-width:0}.ne-tiptap .tiptap.sn-prose ul[data-type=taskList] li[data-checked=true]>div{text-decoration:line-through;color:var(--glass-text-dim)}.ne-tiptap .tiptap.sn-prose code:not(pre code){font-family:var(--font-mono, "JetBrains Mono", monospace)!important;padding:2px 6px;border-radius:6px;font-size:12px;background:color-mix(in srgb,var(--sn-brand) 8%,transparent);border:none;color:var(--sn-brand)}.ne-tiptap .tiptap.sn-prose img{max-width:100%;border-radius:10px;margin:0;cursor:default}.ne-tiptap .tiptap.sn-prose img.ProseMirror-selectednode{outline:2px solid var(--accent-secondary, var(--sn-brand));outline-offset:2px}[data-theme=light] .ne-tiptap .tiptap.sn-prose{color:var(--text-primary)}[data-theme=light] .ne-tiptap .tiptap.sn-prose s{color:var(--text-tertiary)}[data-theme=light] .ne-preview .sn-prose{color:var(--text-primary)}[data-theme=light] .ne-preview .sn-table-wrapper th{color:#64748b}[data-theme=light] .ne-preview .sn-table-wrapper td{color:var(--text-primary)}[data-theme=light] .ne-preview .sn-table-wrapper tr:hover td{background:#0f172a05}.share-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:color-mix(in srgb,#000 45%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000}.share-dialog,.share-dialog--themed{--sn-brand: var(--brand-purple, #6965db);--sn-brand-deep: color-mix(in srgb, var(--brand-purple, #6965db) 82%, #000);--sn-brand-soft: var(--brand-purple-light, #8b86ff);background:var(--bg-elevated, var(--bg-secondary, #fff));border:1.5px solid var(--border-light, var(--border));border-radius:14px;width:400px;max-width:90vw;box-shadow:0 16px 48px color-mix(in srgb,#000 18%,transparent),4px 5px color-mix(in srgb,var(--brand-purple, #6965db) 14%,transparent);color:var(--text-primary)}.share-dialog__header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px 10px;border-bottom:1px solid var(--border-light, var(--border))}.share-dialog__title{font-size:15px;font-weight:700;font-family:var(--font-hand);color:var(--text-primary)}.share-dialog__close{width:28px;height:28px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center}.share-dialog__close:hover{background:var(--bg-hover);color:var(--text-primary)}.share-dialog__body{padding:14px 18px 18px}.share-dialog .sd-tabs{padding:0 18px}.share-dialog__hint{margin:0 0 14px;font-size:13px;line-height:1.45;color:var(--text-secondary)}.share-dialog__option{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;margin-bottom:12px}.share-dialog__option label{font-size:12px;font-weight:600;color:var(--text-secondary)}.share-dialog__option .dc-dd,.share-dialog__option .dc-dd--full{min-width:0}.share-dialog__link-row{display:flex;gap:6px;margin-top:10px;align-items:center}.share-dialog__link-input{flex:1;min-width:0;padding:7px 10px;background:var(--bg-tertiary, var(--bg-secondary));border:1.5px solid var(--border);color:var(--text-primary);border-radius:8px;font-size:11.5px;font-family:JetBrains Mono,ui-monospace,monospace}.share-dialog__btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:5px 10px;min-height:30px;border:1.5px solid transparent;border-radius:8px 10px 8px 9px/9px 8px 10px;font-size:12px;font-weight:700;font-family:var(--font-hand);letter-spacing:.01em;cursor:pointer;transition:background .15s,border-color .15s,color .15s,transform .15s,filter .15s}.share-dialog__btn:active:not(:disabled){transform:scale(.97)}.share-dialog__btn:disabled{opacity:.55;cursor:not-allowed}.share-dialog__btn--primary{width:100%;margin-top:12px;min-height:36px;background:#6965db!important;color:#fff!important;border:2px solid #5a56c7!important;box-shadow:2px 3px color-mix(in srgb,#6965db 35%,#000)!important}.share-dialog__btn--primary:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px);background:#5a56c7!important}.share-dialog__btn--copy{flex-shrink:0;min-width:64px;padding:5px 11px;background:color-mix(in srgb,var(--sn-brand) 14%,transparent);color:var(--sn-brand);border-color:color-mix(in srgb,var(--sn-brand) 45%,transparent)}.share-dialog__btn--copy:hover:not(:disabled){background:color-mix(in srgb,var(--sn-brand) 22%,transparent)}.share-dialog__btn--copy.is-copied{background:color-mix(in srgb,#22c55e 16%,transparent);color:#16a34a;border-color:color-mix(in srgb,#22c55e 40%,transparent)}.share-dialog__btn--danger{background:transparent;color:#dc2626;border-color:color-mix(in srgb,#ef4444 40%,transparent);min-height:28px;padding:4px 9px;font-size:11.5px}.share-dialog__btn--danger:hover:not(:disabled){background:color-mix(in srgb,#ef4444 12%,transparent)}.share-dialog__btn--ghost{background:transparent;color:var(--text-secondary);border-color:var(--border);min-height:28px;padding:4px 9px;font-size:11.5px}.share-dialog__btn--ghost:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary);border-color:color-mix(in srgb,var(--sn-brand) 35%,var(--border))}.share-dialog__success{margin-top:10px;padding:7px 10px;background:color-mix(in srgb,var(--sn-brand) 10%,transparent);border:1.5px dashed color-mix(in srgb,var(--sn-brand) 40%,transparent);border-radius:8px;color:var(--sn-brand);font-size:12px;font-family:var(--font-hand);font-weight:600}.share-dialog__error{color:#dc2626;font-size:12px;margin:8px 0}.share-dialog__existing{margin-top:16px;padding-top:12px;border-top:1px solid var(--border-light, var(--border))}.share-dialog__existing-title{font-size:11px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;font-weight:700}.share-dialog__existing-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.share-dialog__existing-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border:1px solid var(--border-light, var(--border));border-radius:10px;background:var(--bg-secondary)}.share-dialog__existing-meta{display:flex;flex-direction:column;gap:2px;min-width:0}.share-dialog__existing-status{font-size:12px;font-weight:600;color:var(--text-primary)}.share-dialog__existing-date{font-size:11px;color:var(--text-tertiary)}.share-dialog__existing-actions{display:flex;gap:6px;flex-shrink:0}.share-dialog__vault-id{margin:12px 0 0;font-size:11px;color:var(--text-tertiary);font-family:JetBrains Mono,ui-monospace,monospace}[data-theme=dark] .share-dialog__success{color:var(--sn-brand-soft)}[data-theme=dark] .share-dialog__btn--danger{color:#f87171}[data-theme=light] .share-dialog-overlay{background:color-mix(in srgb,#0f172a 28%,transparent)}.share-dialog__spin{color:inherit;flex-shrink:0}.share-dialog__btn--primary .share-dialog__spin{color:#fff}.share-dialog__btn--primary .share-dialog__spin .dc-spinner__slash{stroke:#fbbf24}.share-dialog__btn--danger .share-dialog__spin{color:currentColor}.share-dialog__list-loading{display:inline-flex;align-items:center;gap:8px;margin:0;font-size:12.5px;color:var(--text-secondary)}.share-dialog__list-loading .share-dialog__spin{color:var(--sn-brand)}.ne-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:6px}.ne-title-wrap{flex:1 1 260px;min-width:0;display:flex;flex-direction:column;gap:4px}.ne-title-wrap .ne-title{width:100%;font-size:clamp(24px,4vw,36px);font-weight:700;font-family:var(--font-hand, cursive);background:transparent;border:none;outline:none;color:var(--text-primary);line-height:1.2}.ne-title-actions{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;flex-shrink:0;margin-top:4px}.ne-publish-btn{position:relative;flex-shrink:0;margin-top:4px;display:inline-flex;align-items:center;gap:7px;padding:5px 12px 5px 8px;border:2px solid color-mix(in srgb,var(--sn-brand) 45%,transparent);border-radius:999px;background:color-mix(in srgb,var(--sn-brand) 10%,transparent);color:var(--sn-brand);cursor:pointer;font-family:var(--font-hand);font-size:12.5px;font-weight:700;letter-spacing:.02em;transform:rotate(1.2deg);transition:background .15s,border-color .15s,transform .15s}.ne-publish-btn:hover{background:color-mix(in srgb,var(--sn-brand) 18%,transparent);transform:rotate(0) scale(1.03)}.ne-publish-btn__icon{display:flex;width:15px;height:15px}.ne-publish-btn__text{line-height:1}.ne-action-spin{color:inherit}.ne-share-btn{flex-shrink:0;margin-top:4px;width:34px;height:34px;border:1.5px solid var(--border-light, #e4e4e7);border-radius:10px 12px 9px 11px/11px 9px 12px 10px;background:transparent;color:var(--text-secondary, #71717a);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;transition:color .15s,border-color .15s,transform .15s,background .15s}.ne-share-btn:hover{color:var(--sn-brand);border-color:color-mix(in srgb,var(--brand-purple) 45%,transparent);transform:rotate(-2deg) scale(1.04)}.ne-published-actions{display:inline-flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;flex-shrink:0}.ne-publish-state-skeleton{width:94px;height:30px;flex:0 0 94px;margin-top:4px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--sn-brand) 7%,transparent) 20%,color-mix(in srgb,var(--sn-brand) 18%,transparent),color-mix(in srgb,var(--sn-brand) 7%,transparent) 80%);background-size:220% 100%;animation:ne-publish-state-shimmer 1.1s ease-in-out infinite}@keyframes ne-publish-state-shimmer{to{background-position:-220% 0}}.ne-published-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 11px 5px 8px;border:2px solid color-mix(in srgb,var(--sn-brand) 42%,transparent);border-radius:999px;background:color-mix(in srgb,var(--sn-brand) 9%,transparent);color:var(--sn-brand);cursor:pointer;font-family:var(--font-hand);font-size:12.5px;font-weight:700;letter-spacing:.02em;transition:background .15s,border-color .15s,transform .15s,color .15s}.ne-published-btn--view{transform:rotate(-1.2deg)}.ne-published-btn--copy{transform:rotate(1deg)}.ne-published-btn:hover{background:color-mix(in srgb,var(--sn-brand) 16%,transparent);transform:rotate(0) scale(1.03)}.ne-published-btn.is-copied{color:#fff;background:var(--sn-brand);border-color:color-mix(in srgb,var(--sn-brand) 80%,#000)}.ne-published-btn__icon{display:flex;width:15px;height:15px}.ne-published-btn__text{line-height:1}.ne-unpublish-btn{position:relative;flex-shrink:0;margin-top:4px;display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 8px;border:2px solid color-mix(in srgb,var(--sn-brand) 45%,transparent);border-radius:999px;background:transparent;color:var(--sn-brand);cursor:pointer;font-family:var(--font-hand);font-size:12.5px;font-weight:700;letter-spacing:.02em;transform:rotate(-1.5deg);transition:background .15s,border-color .15s,transform .15s}.ne-unpublish-btn:hover:not(:disabled){background:color-mix(in srgb,var(--sn-brand) 10%,transparent);transform:rotate(0) scale(1.03)}.ne-unpublish-btn:disabled{opacity:.6;cursor:wait}.ne-unpublish-btn--draw .ne-unpublish-btn__ring{animation:ne-unpublish-ring .55s cubic-bezier(.22,1,.36,1) forwards}.ne-unpublish-btn--draw .ne-unpublish-btn__icon{animation:ne-unpublish-icon .5s ease-out}.ne-unpublish-btn__ring{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:1.5px dashed color-mix(in srgb,var(--sn-brand) 55%,transparent);border-radius:999px;opacity:0;pointer-events:none}.ne-unpublish-btn__icon{display:flex;width:16px;height:16px}.ne-unpublish-btn__text{line-height:1}@keyframes ne-unpublish-ring{0%{opacity:0;transform:scale(.7)}40%{opacity:1}to{opacity:0;transform:scale(1.25)}}@keyframes ne-unpublish-icon{0%{transform:scale(1) rotate(0)}40%{transform:scale(.85) rotate(-12deg)}to{transform:scale(1) rotate(0)}}@media (prefers-reduced-motion: reduce){.ne-unpublish-btn--draw .ne-unpublish-btn__ring,.ne-unpublish-btn--draw .ne-unpublish-btn__icon{animation:none}}@media (prefers-reduced-motion: reduce){.sn-loading__drop,.sn-loading__ripple,.sn-loading__brand{animation:none!important}.sn-loading__drop{top:70px!important;opacity:1!important}.sn-section{animation:none}.sn-hero img,.sn-hero:hover img{transform:none;transition:opacity .16s ease}}@media (max-width: 768px){.sn-nav{padding:0 16px;backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%)}.sn-article{padding:20px 16px 16px}.sn-article__title-row{gap:10px;align-items:center}.sn-article__title{font-size:24px}.sn-article__like{padding-top:0}.sn-content{font-size:15px;line-height:1.7;padding:0 16px 28px}.sn-footer__inner{padding-left:16px;padding-right:16px}.sn-hero{width:100%;height:clamp(360px,82vw,480px);margin-top:0;border-radius:0}.sn-content--after-cover{padding-top:28px}.sn-comments-fab{right:max(14px,env(safe-area-inset-right,0px));bottom:max(16px,calc(10px + env(safe-area-inset-bottom,0px)))}.sn-thread__replies-section{padding-left:28px}.sn-comment__avatar{width:26px;height:26px;font-size:11px}.sn-comment--reply .sn-comment__avatar{width:22px;height:22px;font-size:10px}.sn-comment__name-field{max-width:none}.sn-codeblock pre{font-size:12px;padding:10px 12px}}@media (max-width: 480px){.sn-page>.sn-nav{grid-template-columns:40px minmax(0,1fr) 118px;column-gap:8px}.sn-article__title{font-size:22px}.sn-article-like{min-width:38px;width:auto;height:38px;padding:7px}.sn-nav__brand span{display:none}.sn-nav__title{max-width:calc(100vw - 154px);font-size:13px}.sn-thread__replies-section{padding-left:18px}.sn-comments__shortcut{display:none}}@media (max-width: 700px){.sn-hero__title-wrap{left:18px;right:18px;bottom:20px}.sn-hero__title{font-size:clamp(27px,8.5vw,38px)}.sn-hero__meta-panel{margin-top:13px}.sn-hero__meta-panel .sn-article__header-bar{gap:10px}.sn-hero__meta-panel .sn-article__meta-sub{gap:6px}.sn-hero__meta-panel .sn-sketch-tags{margin:10px 0 0}.sn-hero__meta-panel .sn-article__avatar{width:36px;height:36px}.sn-hero__title-card{padding:12px 15px 14px;box-shadow:3px 4px #09081233,0 10px 22px #0003}.sn-more-by-author{width:calc(100% - 32px);margin-bottom:34px}.sn-more-by-author__grid{grid-template-columns:1fr}.sn-more-by-author__head>a{margin-left:0}.ne-preview--embedded{padding:8px 20px 60px}}html[data-theme=dark] .sn-content,html[data-theme=light] .sn-content,.ne-preview .sn-content,.markdown-viewer__content.sn-content,.dc-theory-md.sn-content{--glass-text: var(--text-primary);--glass-text-dim: var(--text-secondary);--glass-bg: var(--bg-tertiary);--glass-border: var(--border);font-family:var(--font-hand);font-size:15px;line-height:1.65;letter-spacing:.02em;color:var(--text-primary)}html[data-theme] .sn-content .sn-prose,html[data-theme] .markdown-viewer__content .md-section.sn-prose,html[data-theme] .markdown-viewer__content .sn-prose{font-family:var(--font-hand)}html[data-theme] .sn-content .sn-prose h1,html[data-theme] .sn-content .sn-prose h2,html[data-theme] .sn-content .sn-prose h3,html[data-theme] .sn-content .sn-prose h4,html[data-theme] .markdown-viewer__content.sn-prose h1,html[data-theme] .markdown-viewer__content.sn-prose h2,html[data-theme] .markdown-viewer__content.sn-prose h3,html[data-theme] .markdown-viewer__content.sn-prose h4{font-family:var(--font-hand);color:var(--text-primary)}html[data-theme] .sn-content .sn-prose h1,html[data-theme] .markdown-viewer__content.sn-prose h1{font-size:22px;font-weight:700;margin:28px 0 10px}html[data-theme] .sn-content .sn-prose h2,html[data-theme] .markdown-viewer__content.sn-prose h2{font-size:18px;font-weight:700;margin:24px 0 8px}html[data-theme] .sn-content .sn-prose h3,html[data-theme] .markdown-viewer__content.sn-prose h3{font-size:16px;font-weight:650;margin:20px 0 6px}html[data-theme] .sn-content .sn-prose p,html[data-theme] .markdown-viewer__content.sn-prose p{margin:0 0 10px}html[data-theme] .sn-content .sn-prose strong,html[data-theme] .markdown-viewer__content.sn-prose strong{color:var(--sn-brand);font-weight:700}html[data-theme] .sn-content .sn-prose li,html[data-theme] .sn-content .sn-prose td,html[data-theme] .markdown-viewer__content.sn-prose li,html[data-theme] .markdown-viewer__content.sn-prose td{font-family:var(--font-hand)}html[data-theme] .sn-content .sn-prose code:not(pre code),html[data-theme] .markdown-viewer__content.sn-prose code:not(pre code){font-family:var(--font-mono, "JetBrains Mono", monospace)!important;font-size:12px;padding:2px 6px;border-radius:6px;background:color-mix(in srgb,var(--sn-brand) 8%,transparent);color:var(--sn-brand);border:none}.sn-codeblock,.sn-codeblock pre,.sn-codeblock pre code,.sn-codeblock-nodeview,.sn-codeblock-nodeview__code,.sn-codeblock .code-diff,.sn-codeblock .ascii-block__pre{font-family:var(--font-mono, "JetBrains Mono", monospace)!important}.markdown-viewer__content.sn-content{padding:8px 0 60px}.sn-prose .task-item{list-style:none;display:flex;align-items:flex-start;gap:8px;margin-left:0;padding:2px 0}.sn-prose .task-item--done .task-text{text-decoration:line-through;color:var(--text-secondary)}.sn-prose .task-check{width:16px;height:16px;flex-shrink:0;margin-top:3px;border-radius:3px;border:1.5px solid var(--border-light);display:flex;align-items:center;justify-content:center;accent-color:var(--sn-brand)}.sn-prose .task-check--checked{background:var(--sn-brand);border-color:var(--sn-brand);color:#fff}.sn-codeblock .code-diff{margin:0;padding:12px 0;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.7;overflow-x:auto;background:transparent}.sn-codeblock .diff-line{padding:0 16px;min-height:1.7em;white-space:pre}html[data-theme=dark] .sn-codeblock .diff-add{background:#10b9811f;color:#4ade80}html[data-theme=dark] .sn-codeblock .diff-del{background:#ef44441f;color:#f87171}html[data-theme=light] .sn-codeblock .diff-add{background:#10b9811a;color:#16a34a}html[data-theme=light] .sn-codeblock .diff-del{background:#ef44441a;color:#dc2626}.sn-codeblock .ascii-block__pre{margin:0;padding:14px 16px 16px;font-family:JetBrains Mono,monospace;font-size:13px;line-height:1.5;overflow-x:auto;white-space:pre;background:transparent;color:inherit;border:none}.sn-codeblock-wrap{margin:20px 0;border:none;border-radius:0;overflow:visible;background:transparent}.sn-codeblock-wrap>.sn-codeblock{margin:0}.sn-codeblock__collapse{display:flex;justify-content:center;padding:8px 12px 10px;border-top:1px solid var(--border);background:var(--md-code-surface, var(--bg-tertiary))}.sn-codeblock__collapse-btn{font-size:11px;font-weight:600;color:var(--sn-brand-soft);background:transparent;border:1px solid rgba(129,140,248,.25);border-radius:4px;padding:4px 12px;cursor:pointer;transition:background .15s,border-color .15s}.sn-codeblock__collapse-btn:hover{background:#6366f114;border-color:#818cf873}.sketch-frame{position:relative;isolation:isolate}.sketch-frame__border{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:visible}.sketch-frame--table{overflow:auto}.sketch-frame--table .sketch-frame__border{min-width:100%;min-height:100%}.sketch-frame__border path{stroke-linecap:round;stroke-linejoin:round}.sketch-frame>*:not(.sketch-frame__border){position:relative;z-index:1}@media (prefers-reduced-motion: reduce){.sn-cover-skeleton__mark,.sn-cover-skeleton__line{animation:none}.sketch-frame__border{display:none}.sn-codeblock,.sn-codeblock-nodeview,.sn-table-wrapper,.tableWrapper{border:1.5px solid var(--border-light)!important;border-radius:var(--sketch-radius, 12px)}.sketch-hr-wrap{height:18px;margin:28px 0}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) hr:after{background:var(--glass-border);opacity:1;transform:none}:is(.sn-prose,.ne-tiptap .tiptap.sn-prose,.markdown-viewer__content.sn-prose) blockquote{border-left:3px solid var(--sn-brand)!important}.sketch-frame--table th,.sketch-frame--table td{border:1px solid var(--border)!important}.sketch-frame--code .sn-codeblock__header{border-bottom:1px solid var(--border)!important}}.markdown-viewer__content .sn-mermaid{margin:24px 0}@media (max-width: 768px){.ne-title-row{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:6px}.ne-title-wrap{width:100%;flex:none;min-width:0}.ne-title-wrap .ne-title{width:100%;font-size:clamp(22px,6.5vw,28px)}.ne-title-actions{margin-top:0;width:100%;justify-content:flex-start;gap:8px}.ne-publish-btn{margin-top:0}.ne-tagbar{padding:2px 0 6px;gap:6px;margin-bottom:8px}.ne-status{height:28px;padding:0 10px;font-size:11px;font-family:var(--font-hand, cursive);border-top:1px dashed var(--border)}.ne-editor-container{padding:12px 14px 24px}}html.dc-ads-doc-scroll,body.dc-ads-doc-scroll{overflow:auto!important;height:auto!important}html.dc-ads-doc-scroll body.dc-ads-doc-scroll #root{height:auto!important;min-height:100%;overflow:visible!important}html.dc-ads-doc-scroll .dc-public-learn-shell--doc-scroll,html.dc-ads-doc-scroll .dc-scroll-shell--doc{height:auto!important;min-height:100vh;overflow:visible!important}html.dc-ads-doc-scroll .dc-doc-flow,html.dc-ads-doc-scroll .dc-eph-shell{overflow:visible!important;height:auto!important;min-height:0!important;flex:none!important}html.dc-ads-doc-scroll .dc-navbar{position:fixed!important;top:0;left:0;right:0;width:100%;z-index:200}html.dc-ads-doc-scroll .dc-scroll-shell--doc,html.dc-ads-doc-scroll .dc-public-learn-shell--doc-scroll{padding-top:50px;box-sizing:border-box}@media (max-width: 768px){html.dc-ads-doc-scroll .dc-scroll-shell--doc,html.dc-ads-doc-scroll .dc-public-learn-shell--doc-scroll{padding-top:52px}}.dc-scroll-shell:not(.dc-scroll-shell--doc){display:flex;flex-direction:column;height:100%;min-height:0;overflow:hidden}.dc-scroll-shell:not(.dc-scroll-shell--doc) .dc-scroll-root{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;overscroll-behavior:contain}.dc-ad{width:100%;margin:12px 0 18px;box-sizing:border-box}.dc-ad__label{margin:0 0 6px;font-family:var(--font-hand);font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary, #8a8a8a)}.dc-ad__frame{position:relative;min-height:90px;border:1.5px solid color-mix(in srgb,var(--brand-purple, #6965db) 18%,var(--border, #e8e4dc));border-radius:14px 12px 16px/12px 14px 12px 16px;background:color-mix(in srgb,var(--bg-secondary, #faf8f3) 88%,transparent);overflow:hidden;max-width:100%;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.dc-ad__slot{width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;box-sizing:border-box}.dc-ad__slot--pending{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;opacity:0;pointer-events:none}.dc-ad__slot--filled{position:relative;z-index:1}.dc-ad__frame--filled{justify-content:center}.dc-ad__unit{display:inline-block;width:320px;height:100px;max-width:100%;box-sizing:border-box}@media (min-width: 500px){.dc-ad__unit{width:468px;height:60px}.dc-ad__frame{min-height:60px}}@media (min-width: 800px){.dc-ad__unit{width:728px;height:90px}.dc-ad__frame{min-height:90px}}.dc-ad__fallback{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;min-height:90px;width:100%;box-sizing:border-box}.dc-ad__fallback--behind{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:.5}.dc-ad__fallback--visible{position:relative;z-index:1;pointer-events:auto;background:color-mix(in srgb,var(--bg-secondary, #faf8f3) 92%,#fff)}.dc-ad--lesson{max-width:100%;margin:10px 0 14px;min-width:0}.dc-ad--lesson .dc-ad__frame{min-height:72px;max-width:100%;box-sizing:border-box}.dc-ad--lesson .dc-ad__fallback{min-height:72px;padding:10px 12px;flex-wrap:wrap}.dc-ad--lesson .dc-ad__fallback-copy span{font-size:.74rem}.dc-ad--lesson .dc-ad__upgrade{min-height:32px;padding:0 12px;font-size:.78rem}.dc-intro--workbench .dc-ad--lesson,.dc-intro__body .dc-ad--lesson{width:100%;max-width:100%}.dc-ad--problems-foot{margin:16px 0 8px;max-width:100%}.dc-ad--theory-foot,.dc-ad--algo-foot{margin:18px 0 8px;max-width:100%}.dc-ad--theory-inline{margin:16px 0 20px;max-width:100%}.dc-ad--theory-top{margin-top:0}.dc-ad--theory-bottom{margin-bottom:8px}.dc-ad--theory-mid{margin:20px 0}.dc-ad--problems-calendar{margin:12px 0 0;max-width:100%}.dc-ad--problems-calendar .dc-ad__frame{min-height:250px;justify-content:center}.dc-ad--problems-calendar .dc-ad__unit{width:250px;height:250px}.dc-ad--problems-calendar .dc-ad__fallback{flex-direction:column;align-items:stretch;min-height:250px;text-align:left}.dc-ad--problems-calendar .dc-ad__upgrade{width:100%;text-align:center}.dc-ad--workspace-sidebar{flex-shrink:0;margin:0;padding:8px 8px 0;width:100%;max-width:100%;box-sizing:border-box}.dc-ad--workspace-sidebar .dc-ad__label{margin:0 0 4px;font-size:.62rem}.dc-ad--workspace-sidebar .dc-ad__frame{container-type:inline-size;width:100%;min-height:0;aspect-ratio:300 / 250;max-height:250px;border-radius:10px 8px 12px/8px 10px 8px 12px}.dc-ad--workspace-sidebar .dc-ad__slot--filled{position:absolute;top:0;left:50%;width:300px;height:250px;transform:translate(-50%) scale(calc(100cqi / 300));transform-origin:top center}.dc-ad--workspace-sidebar .dc-ad__unit{width:300px;height:250px;max-width:none}.dc-ad--workspace-sidebar .dc-ad__fallback{flex-direction:column;align-items:stretch;justify-content:center;gap:8px;min-height:0;height:100%;padding:10px;text-align:left}.dc-ad--workspace-sidebar .dc-ad__fallback-copy span{font-size:.72rem}.dc-ad--workspace-sidebar .dc-ad__upgrade{width:100%;text-align:center;min-height:32px;font-size:.78rem}@media (max-height: 560px){.dc-ad--workspace-sidebar{display:none}}.dc-ad__fallback-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.dc-ad__fallback-copy strong{font-family:var(--font-hand);font-size:.92rem;font-weight:700;color:var(--text-primary, #1a1a1a)}.dc-ad__fallback-copy span{font-family:var(--font-hand);font-size:.78rem;line-height:1.35;color:var(--text-secondary, #5c5c5c)}.dc-ad__upgrade{flex-shrink:0;min-height:36px;padding:0 14px;border-radius:14px 16px 13px 15px/15px 13px 16px 14px;border:2px solid var(--brand-purple, #6965db);background:var(--brand-purple, #6965db);color:#fff;font-family:var(--font-hand);font-size:.82rem;font-weight:600;cursor:pointer;transform:rotate(-.4deg);transition:transform .16s ease,filter .16s ease,box-shadow .16s ease}.dc-ad__upgrade:hover{transform:translateY(-1px) rotate(0);filter:brightness(1.05);box-shadow:2px 2px color-mix(in srgb,var(--brand-purple, #6965db) 28%,transparent)}.dc-ad--plans{margin:28px 0 8px}@media (max-width: 900px){.dc-ad{margin:10px 0 14px}.dc-ad__frame{min-height:100px}.dc-ad__fallback{flex-direction:column;align-items:stretch;text-align:left;min-height:72px;gap:10px}.dc-ad__upgrade{width:100%;text-align:center}}@media (prefers-reduced-motion: reduce){.dc-ad__upgrade{transition:none;transform:none}.dc-ad__upgrade:hover{transform:none;box-shadow:none}}.dc-guest-import{position:fixed;top:0;right:0;bottom:0;left:0;z-index:12000;display:flex;align-items:center;justify-content:center;padding:20px}.dc-guest-import__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;margin:0;padding:0;cursor:pointer;background:color-mix(in srgb,var(--bg-primary, #0d0d0d) 35%,#000 65%);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}[data-theme=light] .dc-guest-import__backdrop{background:color-mix(in srgb,#0a0a0a 40%,transparent)}.dc-guest-import__panel{position:relative;z-index:1;width:min(380px,100%);max-height:min(92vh,640px);overflow:auto;display:flex;flex-direction:column;align-items:stretch;gap:14px;padding:28px 24px 22px;border-radius:8px;border:1px solid color-mix(in srgb,var(--brand-purple, #6965db) 28%,var(--border, #333));background:var(--bg-secondary, #141414);color:var(--text-primary, #e8e8e8);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand-purple, #6965db) 12%,transparent),0 18px 48px color-mix(in srgb,#000 45%,transparent);font-family:var(--font-hand)}.dc-guest-import__loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:center;justify-content:center;padding:24px;border-radius:inherit;background:color-mix(in srgb,var(--bg-secondary, #141414) 88%,transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:var(--brand-purple, #6965db)}.dc-guest-import__loading .dc-spinner{align-items:center;gap:12px}.dc-guest-import__loading .dc-spinner__label{text-align:center;color:var(--text-primary, #e8e8e8);font-size:.95rem;font-weight:600}.dc-guest-import__btn-spinner{color:#fff}.dc-guest-import__backdrop:disabled{cursor:default}.dc-guest-import__close:disabled{opacity:0;pointer-events:none}[data-theme=light] .dc-guest-import__panel{background:var(--bg-secondary, #fff);border-color:color-mix(in srgb,var(--brand-purple, #6965db) 22%,var(--border, #e5e5e5));box-shadow:0 0 0 1px color-mix(in srgb,var(--brand-purple, #6965db) 8%,transparent),0 16px 40px color-mix(in srgb,#1a1a1a 12%,transparent)}.dc-guest-import__close{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-secondary, #999);cursor:pointer}.dc-guest-import__close:hover{background:var(--bg-hover, color-mix(in srgb, var(--text-primary) 8%, transparent));color:var(--text-primary, #e8e8e8)}.dc-guest-import__brand{display:flex;justify-content:center;margin-top:2px}.dc-guest-import__brand .dc-brand-wordmark{color:var(--text-primary, #e8e8e8)}.dc-guest-import__title{margin:0;font-size:1.28rem;font-weight:700;line-height:1.25;text-align:center;color:var(--text-primary, #e8e8e8)}.dc-guest-import__sub{margin:-4px 0 0;font-size:.92rem;line-height:1.45;text-align:center;color:var(--text-secondary, #999)}.dc-guest-import__counts{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.dc-guest-import__counts li{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 8px;border-radius:6px;border:1px solid var(--border, #333);background:var(--bg-tertiary, #1a1a1a)}[data-theme=light] .dc-guest-import__counts li{background:var(--bg-tertiary, #f0f1f3);border-color:var(--border, #e5e5e5)}.dc-guest-import__count-n{font-size:1.35rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--brand-purple, #6965db);line-height:1.1}.dc-guest-import__count-l{font-size:.78rem;color:var(--text-secondary, #999)}.dc-guest-import__actions,.dc-guest-import__choose{display:flex;flex-direction:column;gap:8px;margin-top:4px}.dc-guest-import__row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.dc-guest-import__check{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;border-radius:6px;border:1px solid var(--border, #333);background:var(--bg-tertiary, #1a1a1a);font-size:.95rem;color:var(--text-primary, #e8e8e8);cursor:pointer}[data-theme=light] .dc-guest-import__check{background:var(--bg-tertiary, #f0f1f3);border-color:var(--border, #e5e5e5)}.dc-guest-import__check.is-disabled{opacity:.45;cursor:not-allowed}.dc-guest-import__check input{width:16px;height:16px;accent-color:var(--brand-purple, #6965db)}.dc-guest-import__check-n{font-variant-numeric:tabular-nums;color:var(--text-secondary, #999);font-size:.85rem}.dc-guest-import__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 14px;border-radius:6px;border:1px solid transparent;font:inherit;font-size:.95rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,opacity .15s ease}.dc-guest-import__btn:disabled{opacity:.55;cursor:not-allowed}.dc-guest-import__btn--primary{background:var(--brand-purple, #6965db);color:#fff;border-color:color-mix(in srgb,var(--brand-purple, #6965db) 70%,#000)}.dc-guest-import__btn--primary:hover:not(:disabled){filter:brightness(1.06)}.dc-guest-import__btn--secondary{background:transparent;color:var(--text-primary, #e8e8e8);border-color:var(--border, #333)}.dc-guest-import__btn--secondary:hover:not(:disabled){background:var(--bg-hover, color-mix(in srgb, var(--text-primary) 6%, transparent));border-color:color-mix(in srgb,var(--brand-purple, #6965db) 35%,var(--border, #333))}.dc-guest-import__btn--ghost{background:transparent;color:var(--text-secondary, #999);border-color:transparent}.dc-guest-import__btn--ghost:hover:not(:disabled){color:var(--text-primary, #e8e8e8);background:var(--bg-hover, color-mix(in srgb, var(--text-primary) 6%, transparent))}@media (max-width: 420px){.dc-guest-import__panel{padding:24px 18px 18px}.dc-guest-import__row{grid-template-columns:1fr}}.dc-crash{min-height:100%;min-height:100dvh;display:grid;place-items:center;padding:24px 16px;background:var(--bg-primary, #0d0d0d);color:var(--text-primary, #e8e8e8);font-family:var(--font-hand)}.dc-crash__card{width:min(420px,100%);display:flex;flex-direction:column;align-items:center;gap:12px;padding:28px 22px;border-radius:10px;border:1px solid color-mix(in srgb,var(--brand-purple, #6965db) 30%,var(--border, #333));background:var(--bg-secondary, #141414);text-align:center}.dc-crash__title{margin:8px 0 0;font-size:1.35rem;font-weight:700}.dc-crash__sub{margin:0;font-size:.95rem;line-height:1.45;color:var(--text-secondary, #999)}.dc-crash__detail{margin:0;max-width:100%;padding:10px 12px;border-radius:6px;background:var(--bg-tertiary, #1a1a1a);color:var(--text-tertiary, #888);font-size:.78rem;font-family:var(--font-mono, ui-monospace, monospace);word-break:break-word;text-align:left}.dc-crash__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:8px;width:100%}.dc-crash__btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:42px;padding:0 16px;border-radius:6px;border:1px solid var(--border, #333);background:transparent;color:var(--text-primary, #e8e8e8);font:inherit;font-weight:600;cursor:pointer}.dc-crash__btn--primary{background:var(--brand-purple, #6965db);border-color:color-mix(in srgb,var(--brand-purple, #6965db) 70%,#000);color:#fff}@font-face{font-family:Comic Neue;src:url(/fonts/ComicNeue/ComicNeue-Regular.woff2) format("woff2");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:Comic Neue;src:url(/fonts/ComicNeue/ComicNeue-Bold.woff2) format("woff2");font-display:swap;font-style:normal;font-weight:700}@font-face{font-family:Excalifont;src:url(/fonts/Excalifont/Excalifont-Regular-a88b72a24fb54c9f94e3b5fdaa7481c9.woff2) format("woff2");font-display:swap;font-style:normal;font-weight:400 700;unicode-range:U+20-7E,U+A0-A3,U+A5-A6,U+A8-AB,U+AD-B1,U+B4,U+B6-B8,U+BA-FF,U+131,U+152-153,U+2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+2013-2014,U+2018-201A,U+201C-201E,U+2020,U+2022,U+2024-2026,U+2030,U+2039-203A,U+20AC,U+2122,U+2212}@font-face{font-family:Excalifont;src:url(/fonts/Excalifont/Excalifont-Regular-be310b9bcd4f1a43f571c46df7809174.woff2) format("woff2");font-display:swap;font-style:normal;font-weight:400 700;unicode-range:U+100-130,U+132-137,U+139-149,U+14C-151,U+154-17E,U+192,U+1FC-1FF,U+218-21B,U+237,U+1E80-1E85,U+1EF2-1EF3,U+2113}@font-face{font-family:Excalifont;src:url(/fonts/Excalifont/Excalifont-Regular-b9dcf9d2e50a1eaf42fc664b50a3fd0d.woff2) format("woff2");font-display:swap;font-style:normal;font-weight:400 700;unicode-range:U+400-45F,U+490-491,U+2116}@font-face{font-family:Excalifont;src:url(/fonts/Excalifont/Excalifont-Regular-41b173a47b57366892116a575a43e2b6.woff2) format("woff2");font-display:swap;font-style:normal;font-weight:400 700;unicode-range:U+37E,U+384-38A,U+38C,U+38E-393,U+395-3A1,U+3A3-3A8,U+3AA-3CF,U+3D7}@font-face{font-family:Excalifont;src:url(/fonts/Excalifont/Excalifont-Regular-3f2c5db56cc93c5a6873b1361d730c16.woff2) format("woff2");font-display:swap;font-style:normal;font-weight:400 700;unicode-range:U+2C7,U+2D8-2D9,U+2DB,U+2DD,U+302,U+306-307,U+30A-30C,U+326-328,U+212E,U+2211,U+FB01-FB02}@font-face{font-family:Excalifont;src:url(/fonts/Excalifont/Excalifont-Regular-349fac6ca4700ffec595a7150a0d1e1d.woff2) format("woff2");font-display:swap;font-style:normal;font-weight:400 700;unicode-range:U+462-463,U+472-475,U+4D8-4D9,U+4E2-4E3,U+4E6-4E9,U+4EE-4EF}@font-face{font-family:Excalifont;src:url(/fonts/Excalifont/Excalifont-Regular-623ccf21b21ef6b3a0d87738f77eb071.woff2) format("woff2");font-display:swap;font-style:normal;font-weight:400 700;unicode-range:U+300-301,U+303}@font-face{font-family:Excalifont;src:url(/fonts/Excalifont.woff2) format("woff2");font-display:swap;font-style:normal;font-weight:400 700;unicode-range:U+20-7E,U+A0-A3,U+A5-A6,U+A8-AB,U+AD-B1,U+B4,U+B6-B8,U+BA-FF,U+131,U+152-153,U+2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+2013-2014,U+2018-201A,U+201C-201E,U+2020,U+2022,U+2024-2026,U+2030,U+2039-203A,U+20AC,U+2122,U+2212}:root{--font-comic: "Comic Neue", "Comic Sans MS", system-ui, sans-serif;--font-hand: var(--font-comic);--font-sans: var(--font-comic);--font-ui: var(--font-comic);--font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;--brand-purple: #6965db;--brand-purple-light: #8b86ff;--brand-accent: #f59e0b;--brand-accent-light: #ffd166;--dc-dot-accent: var(--brand-purple, #6965db);--dc-bg-dots: radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--dc-dot-accent) 14%, transparent) 1px, transparent 0) 0 0 / 22px 22px;--dc-bg-paper: var(--dc-bg-dots), var(--bg-primary, #0d0d0d);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 22px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.22, 1, .36, 1);--transition-normal: .25s cubic-bezier(.22, 1, .36, 1);--transition-slow: .4s cubic-bezier(.22, 1, .36, 1)}h1,h2,h3,h4,h5,h6,.dc-navbar,.dc-navbar__link,.dc-navbar__brand,.dc-brand-wordmark,.dc-brand,button.dc-navbar__link,.dc-theory-card h3,.ft-tree-sidebar,.ft-tree,.ft-tree__empty-title,.ft-actions,.ft-search,.ft-bottom,.obs-tab,.obs-tab__title,.dc-showcase__headline,.dc-showcase__scene-title,.auth__submit,.auth__oauth-btn,.dc-auth-card__title{font-family:var(--font-hand)!important;letter-spacing:.1px}code,pre,kbd,samp,.cm-editor,.cm-content,.monaco-editor,.monaco-editor .view-lines{font-family:var(--font-mono),monospace}input,textarea,select,.auth__email-input,input[type=email],input[type=text],input[type=password]{font-family:var(--font-ui)}[data-theme=dark]{--bg-primary: #0d0d0d;--bg-secondary: #141414;--bg-tertiary: #1a1a1a;--bg-elevated: #1e1e1e;--bg-hover: #252525;--bg-active: #2e2e2e;--border: rgba(255, 255, 255, .08);--border-light: rgba(255, 255, 255, .12);--border-focus: rgba(105, 101, 219, .4);--text-primary: #e8e8e8;--text-secondary: #999;--text-tertiary: #5a5a5a;--text-inverse: #0d0d0d;--accent: #10B981;--accent-hover: #059669;--accent-secondary: #6366F1;--accent-tertiary: #7bc86c;--accent-warm: #f4a261;--accent-gradient: linear-gradient(135deg, #6366F1, #10B981);--glass-bg: rgba(22, 22, 22, .75);--glass-bg-strong: rgba(28, 28, 28, .85);--glass-blur: blur(20px) saturate(1.6);--glass-border: rgba(255, 255, 255, .06);--glass-highlight: inset 0 1px 0 0 rgba(255, 255, 255, .04);--glass-shadow: 0 4px 24px rgba(0, 0, 0, .3);--glass-shadow-hover: 0 8px 32px rgba(0, 0, 0, .4);--chat-user-bg: transparent;--chat-assistant-bg: rgba(28, 28, 28, .6);--scrollbar-thumb: #2a2a2a;--danger: #ef4444;--danger-bg: rgba(239, 68, 68, .1);--code-content-bg: #1f2329;--code-header-bg: rgba(255, 255, 255, .02);--code-line-num: rgba(255, 255, 255, .2);--sketch-stroke: rgba(232, 232, 232, .88);--sketch-radius: 12}[data-theme=light]{--bg-primary: #f9fafb;--bg-secondary: #ffffff;--bg-tertiary: #f0f1f3;--bg-elevated: #ffffff;--bg-hover: #f0f0f2;--bg-active: #e5e5ea;--border: rgba(0, 0, 0, .08);--border-light: rgba(0, 0, 0, .12);--border-focus: rgba(99, 102, 241, .4);--text-primary: #1a1a1a;--text-secondary: #6b6b6b;--text-tertiary: #999;--text-inverse: #fff;--accent: #10B981;--accent-hover: #059669;--accent-secondary: #6366F1;--accent-tertiary: #7bc86c;--accent-warm: #f4a261;--accent-gradient: linear-gradient(135deg, #6366F1, #10B981);--glass-bg: rgba(255, 255, 255, .7);--glass-bg-strong: rgba(255, 255, 255, .82);--glass-blur: blur(20px) saturate(1.6);--glass-border: rgba(255, 255, 255, .5);--glass-highlight: inset 0 1px 0 0 rgba(255, 255, 255, .7);--glass-shadow: 0 4px 24px rgba(0, 0, 0, .05);--glass-shadow-hover: 0 8px 32px rgba(0, 0, 0, .08);--chat-user-bg: transparent;--chat-assistant-bg: rgba(0, 0, 0, .02);--scrollbar-thumb: #d0d0d0;--danger: #ef4444;--danger-bg: rgba(239, 68, 68, .08);--code-content-bg: #f8fafc;--code-header-bg: #f1f5f9;--code-line-num: rgba(0, 0, 0, .25);--sketch-stroke: rgba(26, 26, 26, .9);--sketch-radius: 12}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;height:100%;background:var(--dc-bg-paper);background-attachment:fixed}body{font-family:var(--font-sans);background:var(--dc-bg-paper);background-attachment:fixed;color:var(--text-primary);line-height:1.5;overflow:hidden;height:100%}#root{height:100%;background:var(--dc-bg-paper);background-attachment:fixed}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:3px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px;min-height:40px}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--bg-tertiary)}button{cursor:pointer;border:none;background:none;font-family:inherit;color:inherit}input,textarea,select{font-family:inherit;color:inherit}::view-transition-old(root),::view-transition-new(root){animation-duration:.5s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(root){z-index:9999;animation-name:vtFadeOut}::view-transition-new(root){animation-name:vtFadeIn}@keyframes vtFadeOut{0%{opacity:1}to{opacity:0}}@keyframes vtFadeIn{0%{opacity:0}to{opacity:1}}html.dc-theme-revealing:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483646;pointer-events:none;transform-origin:var(--dc-theme-reveal-x, 50%) var(--dc-theme-reveal-y, 8%);background:radial-gradient(ellipse 42% 36% at var(--dc-theme-reveal-x, 50%) var(--dc-theme-reveal-y, 8%),var(--dc-theme-veil-core, transparent) 0%,var(--dc-theme-veil-mid, transparent) 42%,transparent 72%);animation:dc-theme-ink-veil .62s cubic-bezier(.22,.99,.28,1) both}html.dc-theme-revealing--to-day{--dc-theme-veil-core: color-mix(in srgb, #f6e7b2 55%, transparent);--dc-theme-veil-mid: color-mix(in srgb, #f0d48a 18%, transparent)}html.dc-theme-revealing--to-night{--dc-theme-veil-core: color-mix(in srgb, var(--brand-purple, #6965db) 42%, transparent);--dc-theme-veil-mid: color-mix(in srgb, #1a1630 28%, transparent)}@keyframes dc-theme-ink-veil{0%{opacity:0;transform:scale(.55)}28%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(1.55)}}html.dc-theme-transition-fallback:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483647;pointer-events:none;background:color-mix(in srgb,var(--brand-purple, #6965db) 22%,transparent);animation:dc-theme-fallback .36s ease-out both}@keyframes dc-theme-fallback{0%{opacity:.8}to{opacity:0}}@media (prefers-reduced-motion: reduce){html.dc-theme-revealing::view-transition-new(root),html.dc-theme-revealing::view-transition-old(root),html.dc-theme-revealing:after,html.dc-theme-transition-fallback:after{animation-duration:.01ms}}html.dc-bridge-vt::view-transition-old(root),html.dc-bridge-vt::view-transition-new(root){animation-duration:.38s;animation-timing-function:cubic-bezier(.22,1,.36,1);mix-blend-mode:normal}html.dc-bridge-vt--out::view-transition-old(root){z-index:1;animation-name:dc-bridge-out-old}html.dc-bridge-vt--out::view-transition-new(root){z-index:2;animation-name:dc-bridge-out-new}html.dc-bridge-vt--back::view-transition-old(root){z-index:1;animation-name:dc-bridge-back-old}html.dc-bridge-vt--back::view-transition-new(root){z-index:2;animation-name:dc-bridge-back-new}@keyframes dc-bridge-out-old{0%{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}to{opacity:0;transform:scale(.97) translateY(-10px);filter:blur(1.5px)}}@keyframes dc-bridge-out-new{0%{opacity:0;transform:scale(1.015) translateY(18px);filter:blur(2px)}to{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}}@keyframes dc-bridge-back-old{0%{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}to{opacity:0;transform:scale(1.02) translateY(14px);filter:blur(1.5px)}}@keyframes dc-bridge-back-new{0%{opacity:0;transform:scale(.97) translateY(-12px);filter:blur(2px)}to{opacity:1;transform:scale(1) translateY(0);filter:blur(0)}}html.dc-bridge-vt-fallback:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483646;pointer-events:none;background:radial-gradient(120% 80% at 50% 40%,color-mix(in srgb,var(--bg-primary) 55%,transparent),transparent 70%),color-mix(in srgb,var(--bg-primary) 28%,transparent);animation:dc-bridge-fallback-veil .34s cubic-bezier(.22,1,.36,1) both}@keyframes dc-bridge-fallback-veil{0%{opacity:0}35%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion: reduce){html.dc-bridge-vt::view-transition-old(root),html.dc-bridge-vt::view-transition-new(root){animation-duration:.01ms;filter:none!important}html.dc-bridge-vt-fallback:after{animation-duration:.01ms}}html.dc-theme-revealing::view-transition-old(root),html.dc-theme-revealing::view-transition-new(root){animation:none!important;mix-blend-mode:normal!important;filter:none!important}html.dc-theme-revealing::view-transition-old(root){z-index:1}html.dc-theme-revealing::view-transition-new(root){z-index:2}html.dc-app-vt::view-transition-old(root),html.dc-app-vt::view-transition-new(root){animation-duration:.34s;animation-timing-function:cubic-bezier(.22,1,.36,1);mix-blend-mode:normal}html.dc-app-vt--forward::view-transition-old(root){z-index:1;animation-name:dc-app-forward-old}html.dc-app-vt--forward::view-transition-new(root){z-index:2;animation-name:dc-app-forward-new}html.dc-app-vt--back::view-transition-old(root){z-index:1;animation-name:dc-app-back-old}html.dc-app-vt--back::view-transition-new(root){z-index:2;animation-name:dc-app-back-new}html.dc-app-vt--tab::view-transition-old(root){z-index:1;animation-name:dc-app-tab-old}html.dc-app-vt--tab::view-transition-new(root){z-index:2;animation-name:dc-app-tab-new}html.dc-app-vt--tab::view-transition-old(root),html.dc-app-vt--tab::view-transition-new(root){animation-duration:.2s;animation-timing-function:ease}html.dc-app-vt--ephemeral-in::view-transition-old(root),html.dc-app-vt--ephemeral-out::view-transition-old(root),html.dc-app-vt--ephemeral-switch::view-transition-old(root),html.dc-app-vt--ephemeral-in::view-transition-new(root),html.dc-app-vt--ephemeral-out::view-transition-new(root),html.dc-app-vt--ephemeral-switch::view-transition-new(root){animation-duration:.28s;animation-timing-function:cubic-bezier(.22,1,.36,1)}html.dc-app-vt--ephemeral-in::view-transition-old(root){z-index:1;animation-name:dc-eph-in-old}html.dc-app-vt--ephemeral-in::view-transition-new(root){z-index:2;animation-name:dc-eph-in-new}html.dc-app-vt--ephemeral-out::view-transition-old(root){z-index:2;animation-name:dc-eph-out-old}html.dc-app-vt--ephemeral-out::view-transition-new(root){z-index:1;animation-name:dc-eph-out-new}html.dc-app-vt--ephemeral-switch::view-transition-old(root){z-index:1;animation-name:dc-eph-switch-old}html.dc-app-vt--ephemeral-switch::view-transition-new(root){z-index:2;animation-name:dc-eph-switch-new}@keyframes dc-app-forward-old{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(-18px) scale(.985)}}@keyframes dc-app-forward-new{0%{opacity:0;transform:translate(22px) scale(.985)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes dc-app-back-old{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(18px) scale(.985)}}@keyframes dc-app-back-new{0%{opacity:0;transform:translate(-22px) scale(.985)}to{opacity:1;transform:translate(0) scale(1)}}@keyframes dc-app-tab-old{0%{opacity:1}to{opacity:0}}@keyframes dc-app-tab-new{0%{opacity:0}to{opacity:1}}@keyframes dc-eph-in-old{0%{opacity:1}to{opacity:0}}@keyframes dc-eph-in-new{0%{opacity:0}to{opacity:1}}@keyframes dc-eph-out-old{0%{opacity:1}to{opacity:0}}@keyframes dc-eph-out-new{0%{opacity:0}to{opacity:1}}@keyframes dc-eph-switch-old{0%{opacity:1}to{opacity:0}}@keyframes dc-eph-switch-new{0%{opacity:0}to{opacity:1}}html.dc-app-vt-fallback:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483645;pointer-events:none;background:color-mix(in srgb,var(--bg-primary) 35%,transparent);animation:dc-app-fallback-veil .28s cubic-bezier(.22,1,.36,1) both}@keyframes dc-app-fallback-veil{0%{opacity:0}40%{opacity:1}to{opacity:0}}.dc-workspace-pane-enter{animation:dc-workspace-pane-in .18s ease both}@keyframes dc-workspace-pane-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion: reduce){html.dc-app-vt::view-transition-old(root),html.dc-app-vt::view-transition-new(root){animation-duration:.01ms;filter:none!important}html.dc-app-vt-fallback:after{animation-duration:.01ms}.dc-workspace-pane-enter{animation:none}.dc-navbar__ephemeral-tab,.dc-navbar__ephemeral-tab--active:after{animation:none!important}}html.dc-theme-revealing.dc-app-vt::view-transition-old(root),html.dc-theme-revealing.dc-app-vt::view-transition-new(root){animation:none!important}.app{display:flex;height:100vh;overflow:hidden;background:transparent}.overlay{display:none}.main-area{flex:1 1 0%;display:flex;flex-direction:column;min-width:0;height:100vh;max-height:100vh;overflow:hidden;background:transparent}.content-wrapper{flex:1 1 0%;display:flex;overflow:hidden;position:relative;min-height:0;background:transparent}.content{flex:1 1 0%;min-width:0;display:flex;flex-direction:column;overflow:hidden;min-height:0;background:transparent}.content--with-chat{flex:1}.content__scroll{flex:1 1 0%;min-height:0;overflow-y:auto;overflow-x:hidden;position:relative}.view-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;transition:opacity .35s ease,visibility 0s linear 0s}.view-layer--hidden{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .3s ease,visibility 0s linear .3s}.content__scroll::-webkit-scrollbar{width:7px}.content__scroll::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:4px}.content__scroll::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px;min-height:40px}.content__scroll::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.header{height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 12px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border);box-shadow:var(--glass-highlight);flex-shrink:0;gap:8px;z-index:10}.header__left{display:flex;align-items:center;gap:8px}.header__menu-btn{display:none;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition-fast)}.header__menu-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.header__brand{display:flex;align-items:center;gap:6px}.header__logo{flex-shrink:0;filter:drop-shadow(0 1px 4px rgba(99,102,241,.2))}.header__title{font-size:13px;font-weight:700;letter-spacing:-.01em}.header__center{flex:1;display:flex;justify-content:center}.header__breadcrumb{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary)}.header__breadcrumb-folder{opacity:.6}.header__breadcrumb-file{color:var(--text-primary);font-weight:500}.header__right{display:flex;align-items:center;gap:4px}.header__btn{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-md);font-size:12px;font-weight:500;color:var(--text-secondary);transition:all var(--transition-fast)}.header__btn:hover{background:var(--bg-hover);color:var(--text-primary)}.header__btn--active{background:var(--accent);color:#fff}.header__btn--active:hover{background:var(--accent-hover);color:#fff}.header__theme-btn{padding:4px 8px}.header__profile{position:relative}.header__avatar-btn{width:32px;height:32px;border-radius:50%;padding:2px;border:2px solid transparent;background:var(--accent-gradient);cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:border-color .2s ease,box-shadow .2s ease}.header__avatar-btn:hover{box-shadow:0 0 0 3px #6366f12e}.header__avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%}.header__avatar-fallback{font-size:10px;font-weight:700;color:#fff;line-height:1}.header__dropdown{position:absolute;top:calc(100% + 6px);right:0;z-index:100;min-width:220px;background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:0 8px 32px #0003;overflow:hidden;animation:profileDropIn .15s cubic-bezier(.22,1,.36,1)}@keyframes profileDropIn{0%{opacity:0;transform:translateY(-6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.header__dropdown-header{display:flex;align-items:center;gap:10px;padding:14px 14px 10px}.header__dropdown-avatar-wrap{width:40px;height:40px;border-radius:50%;flex-shrink:0;padding:2px;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center}.header__dropdown-avatar{width:100%;height:100%;border-radius:50%;object-fit:cover}.header__dropdown-avatar-fallback{width:100%;height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);color:var(--text-primary);font-size:14px;font-weight:700}.header__dropdown-info{display:flex;flex-direction:column;min-width:0}.header__dropdown-name{font-size:13px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header__dropdown-email{font-size:11px;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header__dropdown-divider{height:1px;background:var(--border);margin:0 10px}.header__dropdown-item{display:flex;align-items:center;gap:8px;width:100%;padding:10px 14px;font-size:12px;font-weight:500;color:var(--text-secondary);background:none;border:none;cursor:pointer;transition:all var(--transition-fast)}.header__dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary)}.header__dropdown-item--danger{color:var(--danger)}.header__dropdown-item--danger:hover{background:var(--danger-bg);color:var(--danger)}.sidebar{width:230px;flex-shrink:0;display:flex;flex-direction:column;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-right:1px solid var(--border);box-shadow:var(--glass-highlight);height:100vh;max-height:100vh;overflow:hidden;transition:transform var(--transition-normal)}.sidebar__header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--border);flex-shrink:0}.sidebar__logo{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;letter-spacing:-.01em;color:var(--text-primary);background:none;border:none;cursor:pointer;padding:0}.sidebar__logo:hover{opacity:.85}.sidebar__logo svg{filter:drop-shadow(0 1px 3px rgba(99,102,241,.2));flex-shrink:0}.sidebar__header-icons{display:flex;align-items:center;gap:2px}.sidebar__icon-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-secondary);background:none;border:none;cursor:pointer;transition:all var(--transition-fast)}.sidebar__icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar__icon-btn--active{background:var(--accent);color:#fff}.sidebar__icon-btn--active:hover{background:var(--accent-hover);color:#fff}.sidebar__icon-btn--locked{position:relative}.sidebar__lock-badge{position:absolute;top:-4px;right:-6px;font-size:7px;font-weight:800;letter-spacing:.02em;background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;padding:1px 4px;border-radius:4px;line-height:1.3;pointer-events:none}.sidebar__close{display:none;width:24px;height:24px;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-secondary)}.sidebar__close:hover{background:var(--bg-hover)}.sidebar__footer{flex-shrink:0;border-top:1px solid var(--border);position:relative}.sidebar__profile-btn{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;background:none;border:none;cursor:pointer;color:var(--text-primary);transition:background var(--transition-fast);font-size:12px;font-weight:500}.sidebar__profile-btn:hover{background:var(--bg-hover)}.sidebar__avatar{width:28px;height:28px;border-radius:50%;flex-shrink:0;overflow:hidden;background:var(--accent-gradient);display:flex;align-items:center;justify-content:center}.sidebar__avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}.sidebar__avatar-fallback{font-size:10px;font-weight:700;color:#fff}.sidebar__profile-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__pro-badge{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;background:var(--accent);color:#fff;letter-spacing:.05em}.sidebar__profile-dropdown{position:absolute;bottom:calc(100% + 4px);left:6px;right:6px;z-index:200;background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:0 -4px 24px #00000026;overflow:hidden;animation:profileDropUp .15s cubic-bezier(.22,1,.36,1)}@keyframes profileDropUp{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.sidebar__profile-item{display:flex;align-items:center;gap:8px;width:100%;padding:9px 12px;font-size:12px;font-weight:500;color:var(--text-secondary);background:none;border:none;cursor:pointer;transition:all var(--transition-fast)}.sidebar__profile-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar__profile-item--upgrade{color:var(--accent)}.sidebar__profile-item--upgrade:hover{background:#6366f114;color:var(--accent)}.sidebar__profile-item--danger{color:var(--danger)}.sidebar__profile-item--danger:hover{background:var(--danger-bg);color:var(--danger)}.sidebar__profile-divider{height:1px;background:var(--border);margin:2px 10px}.mobile-menu-btn{display:none;position:fixed;top:8px;left:8px;z-index:50;width:34px;height:34px;align-items:center;justify-content:center;border-radius:var(--radius-sm);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;box-shadow:0 2px 8px #00000014;transition:all var(--transition-fast)}.mobile-menu-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar__back{flex-shrink:0;padding:4px 6px 0}.sidebar__back-btn{display:flex;align-items:center;gap:4px;width:100%;padding:5px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:600;color:var(--accent);background:none;border:none;cursor:pointer;transition:all var(--transition-fast)}.sidebar__back-btn:hover{background:var(--bg-hover)}.sidebar__back-btn svg{flex-shrink:0;color:var(--accent)}.sidebar__back-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.sidebar__back-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-weight:500}.sidebar__search{display:flex;align-items:center;gap:6px;margin:6px 6px 4px;padding:5px 8px;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid transparent;transition:border-color var(--transition-fast);flex-shrink:0}.sidebar__search:focus-within{border-color:var(--border-focus)}.sidebar__search svg{flex-shrink:0;color:var(--text-tertiary)}.sidebar__search input{flex:1;border:none;background:none;outline:none;font-size:12px}.sidebar__search input::placeholder{color:var(--text-tertiary)}.sidebar__actions{display:flex;gap:3px;padding:0 6px;margin-bottom:4px;flex-shrink:0}.sidebar__action-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:2px;padding:4px 2px;font-size:10px;font-weight:500;border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-secondary);transition:all var(--transition-fast)}.sidebar__action-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-light)}.sidebar__action-btn--primary{background:var(--accent);color:#fff;border-color:var(--accent)}.sidebar__action-btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff}.sidebar__new-folder{display:flex;gap:3px;padding:0 6px 4px;flex-shrink:0}.sidebar__new-folder input{flex:1;padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);font-size:12px;outline:none}.sidebar__new-folder input:focus{border-color:var(--border-focus)}.sidebar__new-folder-ok,.sidebar__new-folder-cancel{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:background var(--transition-fast)}.sidebar__new-folder-ok{color:var(--accent)}.sidebar__new-folder-ok:hover{background:#10a37f1f}.sidebar__new-folder-cancel{color:var(--text-tertiary)}.sidebar__new-folder-cancel:hover{background:var(--bg-hover)}.sidebar__nav{flex:1 1 0%;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 4px;transition:background var(--transition-fast)}.sidebar__nav::-webkit-scrollbar{width:6px}.sidebar__nav::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:3px}.sidebar__nav::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:3px;min-height:30px}.sidebar__nav::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.sidebar__nav--dragover{background:#10a37f0a;outline:2px dashed var(--accent);outline-offset:-4px;border-radius:var(--radius-md)}.sidebar__skeletons{padding:8px 6px}.sidebar__skeleton-item{padding:4px 0}.sidebar__empty{display:flex;flex-direction:column;align-items:center;gap:4px;padding:28px 14px;text-align:center;color:var(--text-tertiary)}.sidebar__empty p{font-size:12px;font-weight:500}.sidebar__empty-hint{font-size:11px}.sidebar__folder{position:relative;transition:background .15s ease}.sidebar__folder--dragover{background:var(--bg-hover);border-radius:var(--radius-sm)}.sidebar__folder--drop-target{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--accent) 8%,transparent)}.sidebar__folder--dragover>.sidebar__folder-btn,.sidebar__folder--drop-target>.sidebar__folder-btn{color:var(--accent)}.sidebar__root-drop-zone{display:flex;align-items:center;gap:6px;justify-content:center;padding:8px 10px;margin:4px 6px;border-radius:var(--radius-sm);border:2px dashed var(--accent);color:var(--accent);font-size:10px;font-weight:600;opacity:.8;animation:dropPulse 1.2s ease-in-out infinite}@keyframes dropPulse{0%,to{opacity:.6}50%{opacity:1}}.sidebar__bulk-actions{padding:6px 8px;margin-top:4px;border-top:1px solid var(--border)}.sidebar__bulk-btn{display:flex;align-items:center;gap:5px;width:100%;padding:5px 8px;border-radius:var(--radius-sm);font-size:10px;font-weight:500;cursor:pointer;background:none;border:none;color:var(--text-tertiary);transition:all var(--transition-fast)}.sidebar__bulk-btn:hover{background:var(--bg-hover);color:var(--text-secondary)}.sidebar__bulk-btn--danger:hover{background:var(--danger-bg);color:var(--danger)}.sidebar__confirm-bar{display:flex;align-items:center;gap:6px;padding:4px 6px;font-size:10px;color:var(--text-secondary)}.sidebar__confirm-bar span{flex:1}.sidebar__confirm-yes{padding:2px 10px;border-radius:var(--radius-sm);font-size:10px;font-weight:600;background:var(--danger);color:#fff;border:none;cursor:pointer}.sidebar__confirm-yes:hover{opacity:.9}.sidebar__confirm-no{padding:2px 10px;border-radius:var(--radius-sm);font-size:10px;font-weight:500;background:var(--bg-tertiary);color:var(--text-secondary);border:none;cursor:pointer}.sidebar__confirm-no:hover{background:var(--bg-hover)}.sidebar__select-toolbar{display:flex;align-items:center;gap:4px;padding:5px 6px;margin:2px 4px 4px;background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--border)}.sidebar__select-action{display:flex;align-items:center;gap:3px;padding:3px 8px;border-radius:var(--radius-sm);font-size:10px;font-weight:500;cursor:pointer;background:none;border:none;color:var(--text-secondary);transition:all var(--transition-fast)}.sidebar__select-action:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar__select-action--danger{color:var(--danger)}.sidebar__select-action--danger:hover{background:var(--danger-bg)}.sidebar__select-action:disabled{opacity:.4;cursor:default}.sidebar__select-action:disabled:hover{background:none}.sidebar__checkbox{display:flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:3px;flex-shrink:0;border:1.5px solid var(--border);background:var(--bg-primary);transition:all .15s ease}.sidebar__checkbox--checked{background:var(--accent);border-color:var(--accent);color:#fff}.sidebar__folder-btn--selected{background:color-mix(in srgb,var(--accent) 10%,transparent)}.sidebar__folder-btn{display:flex;align-items:center;gap:5px;width:100%;padding:5px 6px;border-radius:var(--radius-sm);font-size:12px;font-weight:500;color:var(--text-secondary);transition:background .15s ease,color .15s ease}.sidebar__folder-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar__folder-btn--active{background:var(--bg-active);color:var(--text-primary);font-weight:600}.sidebar__folder-btn--dragging{opacity:.35;transform:scale(.97);transition:opacity .15s ease,transform .15s ease}.sidebar__color-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;box-shadow:0 0 5px color-mix(in srgb,currentColor 25%,transparent)}.sidebar__folder-name{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__folder-count{font-size:10px;color:var(--text-tertiary);background:var(--bg-tertiary);padding:0 5px;border-radius:var(--radius-full);line-height:1.6}.sidebar__subfolder-badge{display:flex;align-items:center;margin-left:-2px}.sidebar__children{margin-left:10px;padding-left:12px;border-left:1px solid var(--border)}.sidebar__menu-btn{opacity:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:4px;color:var(--text-tertiary);transition:all var(--transition-fast);flex-shrink:0}.sidebar__folder-btn:hover .sidebar__menu-btn{opacity:1}.sidebar__menu-btn:hover{background:var(--bg-active);color:var(--text-primary)}.sidebar__dropdown{position:absolute;left:10px;top:100%;z-index:20;min-width:140px;background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:0 8px 24px #00000040;padding:4px;animation:dropIn .12s ease}@keyframes dropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.sidebar__dropdown button{display:flex;align-items:center;gap:6px;width:100%;padding:6px 8px;font-size:12px;border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition-fast)}.sidebar__dropdown button:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar__dropdown-danger{color:var(--danger)!important}.sidebar__dropdown-danger:hover{background:var(--danger-bg)!important;color:var(--danger)!important}.sidebar__rename{display:flex;gap:3px;padding:3px 5px}.sidebar__rename input{flex:1;padding:3px 6px;border-radius:var(--radius-sm);border:1px solid var(--border-focus);background:var(--bg-tertiary);font-size:12px;outline:none;min-width:0}.sidebar__note-edit{padding:4px 8px 6px}.sidebar__note-edit textarea{width:100%;padding:5px 8px;border-radius:var(--radius-sm);border:1px solid var(--border-focus);background:var(--bg-tertiary);font-size:11px;line-height:1.4;outline:none;resize:vertical;min-height:36px;max-height:80px}.sidebar__note-actions{display:flex;gap:4px;margin-top:3px;justify-content:flex-end}.sidebar__note-actions button{padding:2px 8px;font-size:10px;font-weight:600;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.sidebar__note-actions button:first-child{color:var(--accent)}.sidebar__note-actions button:first-child:hover{background:#10a37f1f}.sidebar__note-actions button:last-child{color:var(--text-tertiary)}.sidebar__note-actions button:last-child:hover{background:var(--bg-hover)}.sidebar__note{display:flex;align-items:flex-start;gap:4px;padding:2px 8px 4px;cursor:pointer;transition:background var(--transition-fast);border-radius:var(--radius-sm);margin:0 4px}.sidebar__note:hover{background:var(--bg-hover)}.sidebar__note svg{flex-shrink:0;margin-top:2px;color:var(--accent-warm)}.sidebar__note span{font-size:10px;color:var(--text-tertiary);line-height:1.4;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.sidebar__delete-btn{opacity:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:3px;color:var(--text-tertiary);transition:all var(--transition-fast)}.sidebar__folder-btn:hover .sidebar__delete-btn,.sidebar__file-btn:hover .sidebar__delete-btn{opacity:1}.sidebar__delete-btn:hover{background:var(--danger-bg);color:var(--danger)}.sidebar__files{margin:1px 0}.sidebar__file-btn{display:flex;align-items:center;gap:5px;width:100%;padding:4px 6px 4px 8px;border-radius:var(--radius-sm);font-size:11px;color:var(--text-secondary);transition:background .15s ease,color .15s ease,opacity .15s ease;cursor:grab;position:relative}.sidebar__file-btn:active{cursor:grabbing}.sidebar__file-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar__file-btn--active{color:var(--text-primary);font-weight:500}.sidebar__file-btn svg{flex-shrink:0;color:var(--text-tertiary)}.sidebar__file-btn--active svg{color:var(--text-primary);opacity:.65}.sidebar__file-btn--active .sidebar__file-name{text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;text-decoration-thickness:1px;text-decoration-color:currentColor;opacity:.85}.sidebar__file-name{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__upload-progress{display:flex;align-items:center;gap:8px;padding:8px 10px;margin:4px 6px;border-radius:var(--radius-md);background:#10a37f0f;border:1px solid rgba(16,163,127,.15);animation:fadeInUp .2s ease}.sidebar__upload-progress-icon{color:var(--accent);flex-shrink:0;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.sidebar__upload-progress-info{flex:1;min-width:0}.sidebar__upload-progress-text{font-size:10px;font-weight:500;color:var(--text-secondary);display:block;margin-bottom:4px}.sidebar__upload-progress-bar{height:3px;border-radius:2px;background:var(--bg-tertiary);overflow:hidden}.sidebar__upload-progress-fill{height:100%;border-radius:2px;background:var(--accent-gradient);transition:width .3s ease}.sidebar__upload-done{display:flex;align-items:center;gap:6px;padding:6px 10px;margin:4px 6px;border-radius:var(--radius-md);background:#10a37f0f;font-size:10px;font-weight:500;color:var(--accent);animation:fadeInUp .2s ease}.chat-premium-gate{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;margin:0;border-top:1px solid var(--border);background:var(--bg-primary);font-size:12px;color:var(--text-tertiary);cursor:pointer;transition:color .15s ease;flex-shrink:0}.chat-premium-gate:hover{color:var(--accent)}.chat-premium-gate svg{opacity:.6}.chat-input-container{padding:8px 16px 12px;background:var(--bg-primary);border-top:1px solid var(--border);width:100%;display:flex;justify-content:center;flex-shrink:0}.chat-input-wrapper{width:100%;max-width:680px;position:relative}.chat-input-box{display:flex;align-items:flex-end;gap:8px;background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-xl);padding:6px 6px 6px 14px;transition:all var(--transition-normal);box-shadow:var(--glass-highlight),var(--glass-shadow)}.chat-input-box:focus-within{border-color:var(--border-focus);box-shadow:var(--glass-highlight),var(--glass-shadow-hover),0 0 0 3px #6965db14}.chat-input-box.processing{border:1px solid transparent;background-image:linear-gradient(var(--glass-bg-strong),var(--glass-bg-strong)),linear-gradient(90deg,#6965db80,#10a37f80,#f4a26166,#6965db80);background-origin:border-box;background-clip:padding-box,border-box;background-size:100% 100%,300% 100%;animation:rainbow-border 3s linear infinite}@keyframes rainbow-border{0%{background-position:0 0,0% 0}to{background-position:0 0,300% 0}}.chat-input-box__scope{display:flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-full);background:var(--bg-tertiary);font-size:10px;font-weight:500;color:var(--text-secondary);white-space:nowrap;flex-shrink:0;margin-bottom:3px}.chat-input-box__scope svg{color:var(--accent)}.chat-input-textarea{flex:1;background:transparent;border:none;color:var(--text-primary);font-size:13px;font-family:var(--font-sans);resize:none;outline:none;padding:4px 0;line-height:1.45;max-height:120px;overflow-y:auto}.chat-input-textarea::placeholder{color:var(--text-tertiary)}.chat-input-send{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--accent-gradient);color:#fff;border-radius:var(--radius-full);transition:all var(--transition-fast);box-shadow:0 2px 8px #6965db33}.chat-input-send:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 14px #6965db4d}.chat-input-send:disabled{opacity:.3;cursor:not-allowed}.chat-input-footer{display:flex;justify-content:center;padding-top:4px;font-size:10px;color:var(--text-tertiary)}.chat-panel{width:360px;flex-shrink:0;display:flex;flex-direction:column;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border-left:1px solid var(--border);box-shadow:var(--glass-highlight);height:100%;animation:slideInRight .2s ease}@keyframes slideInRight{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.chat-panel__header{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-bottom:1px solid var(--border)}.chat-panel__header-left{display:flex;align-items:center;gap:6px}.chat-panel__header-left svg{color:var(--accent);width:14px;height:14px}.chat-panel__header-left h3{font-size:12px;font-weight:600}.chat-panel__scope{font-size:10px;color:var(--text-tertiary);display:block}.chat-panel__header-right{display:flex;align-items:center;gap:4px}.chat-panel__clear{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-tertiary);transition:all var(--transition-fast)}.chat-panel__clear:hover{background:var(--danger-bg);color:var(--danger)}.chat-panel__close{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition-fast)}.chat-panel__close:hover{background:var(--bg-hover)}.chat-panel__messages{flex:1;overflow-y:auto;padding:10px}.chat-panel__skeleton{padding:12px 0;display:flex;flex-direction:column;gap:12px}.chat-skeleton-bubble{padding:8px 12px;border-radius:var(--radius-md)}.chat-skeleton-bubble--right{align-self:flex-end;background:var(--bg-tertiary);width:70%}.chat-skeleton-bubble--left{align-self:flex-start;background:var(--chat-assistant-bg);width:85%}.chat-panel__empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 10px;gap:6px}.chat-panel__empty-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:50%;color:var(--text-tertiary)}.chat-panel__empty p{font-size:12px;color:var(--text-secondary)}.chat-panel__suggestions{display:flex;flex-direction:column;gap:3px;margin-top:4px;width:100%}.chat-panel__suggestion{padding:6px 10px;font-size:11px;text-align:left;border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-secondary);transition:all var(--transition-fast)}.chat-panel__suggestion:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-light)}.chat-msg{display:flex;gap:8px;padding:8px 0}.chat-msg--assistant{background:var(--chat-assistant-bg);margin:0 -10px;padding:8px 10px;border-radius:var(--radius-md)}.chat-msg__avatar{width:22px;height:22px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-tertiary);font-size:10px}.chat-msg--assistant .chat-msg__avatar{background:var(--accent);color:#fff}.chat-msg__content{flex:1;min-width:0;font-size:12px;line-height:1.6}.chat-msg__content p{margin:0 0 4px}.chat-msg__content p:last-child{margin:0}.chat-msg__content h3{font-size:12px;font-weight:600;margin-bottom:3px}.chat-msg__content hr{border:none;height:1px;background:var(--border);margin:6px 0}.chat-msg__content strong{font-weight:600}.chat-msg__content em{color:var(--text-secondary)}.chat-msg__content code{font-family:var(--font-mono);font-size:.85em;padding:1px 4px;border-radius:3px;background:var(--bg-tertiary)}.chat-msg__content pre{margin:4px 0;padding:6px;border-radius:var(--radius-sm);background:var(--bg-tertiary);overflow-x:auto;font-size:11px}.chat-msg__sources{display:flex;flex-wrap:wrap;gap:3px;margin-top:4px;font-size:10px;color:var(--text-tertiary);align-items:center}.chat-msg__source-tag{padding:1px 5px;background:var(--bg-tertiary);border-radius:3px;font-family:var(--font-mono);font-size:10px}.chat-msg__typing{display:flex;gap:4px;padding:4px 0}.chat-msg__typing span{width:5px;height:5px;border-radius:50%;background:var(--text-tertiary);animation:typingBounce 1.4s infinite ease-in-out}.chat-msg__typing span:nth-child(1){animation-delay:0s}.chat-msg__typing span:nth-child(2){animation-delay:.2s}.chat-msg__typing span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.chat-panel__input-area{padding:8px 10px;border-top:1px solid var(--border)}.chat-panel__input-wrapper{display:flex;align-items:flex-end;gap:4px;background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);padding:3px 3px 3px 10px;transition:all var(--transition-fast)}.chat-panel__input-wrapper:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 2px #6965db14}.chat-panel__input{flex:1;border:none;background:none;outline:none;resize:none;padding:5px 0;font-size:12px;line-height:1.4;max-height:80px;color:var(--text-primary);overflow-y:auto}.chat-panel__input::placeholder{color:var(--text-tertiary)}.chat-panel__send{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);background:var(--accent-gradient);color:#fff;flex-shrink:0;transition:all var(--transition-fast)}.chat-panel__send:hover:not(:disabled){transform:scale(1.05)}.chat-panel__send:disabled{opacity:.3;cursor:not-allowed}.welcome{display:flex;align-items:center;justify-content:center;height:100%;min-height:0;flex:1 1 0%;position:relative;overflow:hidden;touch-action:none;-webkit-user-select:none;user-select:none}.welcome--scatter .tree{opacity:0;transition:opacity .3s ease}.welcome--gather .tree{animation:treeGather .5s cubic-bezier(.22,1,.36,1) both}@keyframes treeGather{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.tree--diving{pointer-events:none;transition:filter .3s ease,opacity .25s ease}.tree--surfacing{animation:treeSurface .5s cubic-bezier(.22,1,.36,1) both}@keyframes treeSurface{0%{opacity:0;filter:blur(3px)}to{opacity:1;filter:blur(0)}}.zoom-ctrl{position:absolute;top:12px;right:16px;z-index:20;display:flex;align-items:center;gap:2px;background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-radius:var(--radius-md);padding:3px 4px;box-shadow:var(--glass-shadow)}.zoom-ctrl button{width:26px;height:26px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--text-secondary);background:none;border:none;cursor:pointer;transition:all var(--transition-fast)}.zoom-ctrl button:hover{background:var(--bg-hover);color:var(--text-primary)}.zoom-ctrl__level{font-size:10px;font-weight:600;color:var(--text-tertiary);min-width:36px;text-align:center}.zoom-ctrl__reset{font-size:13px}.tree{display:flex;flex-direction:column;align-items:center;padding:32px 40px 60px;transform-origin:center center;transition:transform .38s cubic-bezier(.22,1,.36,1),opacity .35s ease,filter .35s ease;min-width:max-content}.tree__root{display:flex;flex-direction:column;align-items:center;gap:4px}.tree__logo{display:flex;align-items:center;justify-content:center;position:relative}.tree__logo svg{filter:drop-shadow(0 4px 16px rgba(99,102,241,.3)) drop-shadow(0 2px 6px rgba(16,185,129,.2));transition:filter .3s ease}.tree__logo:hover svg{filter:drop-shadow(0 6px 24px rgba(99,102,241,.4)) drop-shadow(0 3px 10px rgba(16,185,129,.25))}.tree__root-label{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(135deg,#6366f1,#10b981);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tree__trunk{width:1px;height:28px;background:var(--border-light);margin:0 auto}.tree__rail{height:1px;background:var(--border-light);align-self:stretch;margin:0 60px}.tree__grid{display:flex;gap:0;align-items:flex-start}.tree__branch{display:flex;flex-direction:column;align-items:center;min-width:130px;padding:0 6px;animation:branchIn .4s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--i) * 35ms);transition:min-width .3s ease}.tree__branch--expanded{min-width:260px;align-items:center}@keyframes branchIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.tree__stem{width:1px;height:20px;background:var(--color);opacity:.25;margin-bottom:0}.tree__empty{font-size:13px;color:var(--text-tertiary);margin-top:24px;letter-spacing:.02em;opacity:.7}.tree__features{display:flex;gap:12px;margin-top:32px;justify-content:center;flex-wrap:wrap;pointer-events:auto}.tree__feature-card{display:flex;align-items:center;gap:14px;padding:14px 20px;min-width:240px;max-width:320px;border-radius:var(--radius-md, 12px);background:var(--glass-bg, rgba(255, 255, 255, .06));border:1px solid var(--border, rgba(255, 255, 255, .08));backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);cursor:pointer;transition:all .25s ease;text-align:left;color:var(--text-primary);box-shadow:0 2px 12px #00000014}.tree__feature-card:hover{border-color:var(--accent, #6965db);background:var(--bg-hover, rgba(255, 255, 255, .1));transform:translateY(-2px);box-shadow:0 6px 24px #6965db2e}.tree__feature-card--algo .tree__feature-icon{color:#10b981}.tree__feature-card--problems .tree__feature-icon{color:#6366f1}.tree__feature-card--canvas .tree__feature-icon{color:#3b82f6}.tree__feature-card:hover .tree__feature-icon{transform:scale(1.1)}.tree__feature-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;background:var(--bg-secondary, rgba(255, 255, 255, .05));flex-shrink:0;transition:transform .25s ease}.tree__feature-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.tree__feature-title{font-size:14px;font-weight:600;letter-spacing:-.01em;color:var(--text-primary)}.tree__feature-desc{font-size:11px;color:var(--text-secondary);line-height:1.4;opacity:.8}.tree__feature-arrow{color:var(--text-tertiary);flex-shrink:0;transition:transform .2s ease,color .2s ease}.tree__feature-card:hover .tree__feature-arrow{color:var(--accent, #6965db);transform:translate(3px)}.sidebar__sections{display:flex;flex-direction:column;gap:1px;padding:0 6px;margin-bottom:8px}.sidebar__sections-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;color:var(--text-tertiary);padding:8px 8px 5px;margin:0;-webkit-user-select:none;user-select:none}.sidebar__nav-link{display:flex;align-items:center;gap:8px;padding:7px 10px;font-size:12px;font-weight:500;border-radius:var(--radius-sm);border:none;border-left:2px solid transparent;color:var(--text-secondary);background:transparent;transition:all .15s ease;cursor:pointer;white-space:nowrap;width:100%}.sidebar__nav-link:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar__nav-link--active{border-left-color:var(--accent, #6965db);background:color-mix(in srgb,var(--accent, #6965db) 10%,transparent);color:var(--text-primary);font-weight:600}.sidebar__nav-link--active svg{opacity:1;color:var(--accent, #6965db)}.sidebar__nav-link svg{opacity:.55;flex-shrink:0;transition:opacity .15s,color .15s}.sidebar__nav-link:hover svg{opacity:.85}.sidebar__nav-link__arrow{margin-left:auto;opacity:0;transition:opacity .15s,transform .15s;color:var(--text-tertiary);flex-shrink:0}.sidebar__nav-link:hover .sidebar__nav-link__arrow{opacity:.6;transform:translate(2px)}.tnode{display:flex;align-items:center;gap:5px;padding:5px 8px 5px 6px;border-radius:var(--radius-sm);background:none;border:1px solid transparent;cursor:pointer;transition:all .25s ease;white-space:nowrap}.tnode:hover{background:var(--bg-hover);border-color:var(--border)}.tnode--open{background:color-mix(in srgb,var(--color) 8%,transparent);border-color:color-mix(in srgb,var(--color) 20%,transparent)}.tnode__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--color);box-shadow:0 0 6px color-mix(in srgb,var(--color) 30%,transparent);transition:box-shadow .2s ease,transform .2s ease}.tnode:hover .tnode__dot{transform:scale(1.25);box-shadow:0 0 10px color-mix(in srgb,var(--color) 45%,transparent)}.tnode__name{font-size:11px;font-weight:600;color:var(--text-primary);max-width:160px;overflow:hidden;text-overflow:ellipsis;transition:color .2s ease}.tnode:hover .tnode__name{color:var(--color)}.tnode__badge{font-size:9px;font-weight:500;color:var(--text-tertiary);background:var(--bg-tertiary);border-radius:var(--radius-full);padding:0 4px;line-height:1.5}.tnode__chevron{color:var(--text-tertiary);transition:transform .25s ease,color .2s ease}.tnode--open .tnode__chevron{transform:rotate(180deg);color:var(--color)}.subtree{display:flex;flex-direction:column;align-items:center;width:100%;margin-top:2px;animation:subtreeIn .3s cubic-bezier(.22,1,.36,1) both}@keyframes subtreeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.subtree__trunk{width:1px;height:20px;opacity:.3}.subtree__rail{height:1px;background:var(--border-light);align-self:stretch;margin:0 50px}.subtree__grid{display:flex;gap:0;align-items:flex-start}.subtree__branch{display:flex;flex-direction:column;align-items:center;min-width:130px;padding:0 4px}.subtree__branch--expanded{min-width:200px}.subtree__stem{width:1px;height:16px;opacity:.2}.snode{display:flex;align-items:center;gap:5px;padding:5px 8px;border-radius:var(--radius-sm);background:none;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:all .2s ease}.snode:hover{background:var(--bg-hover);border-color:var(--border)}.snode--open{background:color-mix(in srgb,var(--scolor) 6%,transparent);border-color:color-mix(in srgb,var(--scolor) 15%,transparent)}.snode__name{font-size:11px;font-weight:600;color:var(--text-primary);max-width:140px;overflow:hidden;text-overflow:ellipsis}.snode:hover .snode__name{color:var(--scolor)}.snode__badge{font-size:9px;font-weight:500;color:var(--text-tertiary);background:var(--bg-tertiary);border-radius:var(--radius-full);padding:0 4px;line-height:1.5}.snode__chevron{color:var(--text-tertiary);transition:transform .2s ease,color .2s ease}.snode--open .snode__chevron{transform:rotate(180deg);color:var(--scolor)}.subtree__filelist{display:flex;flex-direction:column;gap:1px;margin-top:4px;margin-left:14px;padding-left:14px;border-left:1px solid var(--border-light);animation:subtreeIn .25s cubic-bezier(.22,1,.36,1) both}.subtree__filelist--root{margin-top:10px}.fnode{display:flex;align-items:center;gap:6px;padding:3px 8px 3px 6px;border-radius:var(--radius-sm);background:none;cursor:pointer;color:var(--text-secondary);white-space:nowrap;transition:background .15s ease,color .15s ease;animation:fnodeIn .2s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--d, 0s)}@keyframes fnodeIn{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.fnode:hover{background:var(--bg-hover);color:var(--text-primary)}.fnode__dot{width:5px;height:5px;border-radius:50%;flex-shrink:0;background:var(--color);opacity:.4;transition:opacity .15s ease}.fnode:hover .fnode__dot{opacity:1}.fnode__name{font-size:11px;font-weight:500;max-width:180px;overflow:hidden;text-overflow:ellipsis}.content__scroll--scatter-out{animation:viewDiveOut .4s cubic-bezier(.4,0,1,1) both}.content__scroll--content-in{animation:viewDiveIn .42s cubic-bezier(.22,1,.36,1) both}.content__scroll--content-out{animation:viewSurfaceOut .3s cubic-bezier(.4,0,1,1) both}.content__scroll--gather-in{animation:viewSurfaceIn .45s cubic-bezier(.22,1,.36,1) both}@keyframes viewDiveOut{0%{opacity:1;transform:scale(1);filter:blur(0)}to{opacity:0;transform:scale(1.03);filter:blur(3px)}}@keyframes viewDiveIn{0%{opacity:0;transform:translateY(12px) scale(.98);filter:blur(1px)}50%{filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes viewSurfaceOut{0%{opacity:1;transform:scale(1);filter:blur(0)}to{opacity:0;transform:scale(.94);filter:blur(3px)}}@keyframes viewSurfaceIn{0%{opacity:0;transform:scale(1.04);filter:blur(2px)}60%{filter:blur(0)}to{opacity:1;transform:scale(1);filter:blur(0)}}.hero-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;pointer-events:none}.hero-card{position:absolute;top:var(--src-top);left:var(--src-left);width:var(--src-w);height:var(--src-h);display:flex;flex-direction:column;padding:0;background:var(--bg-elevated);border:1px solid var(--hero-color, var(--border-light));border-radius:8px;box-shadow:0 4px 24px #0000001f,0 0 0 1px var(--hero-color, transparent);will-change:top,left,width,height,border-radius,box-shadow,opacity;transition:top .48s cubic-bezier(.22,1,.36,1),left .48s cubic-bezier(.22,1,.36,1),width .48s cubic-bezier(.22,1,.36,1),height .48s cubic-bezier(.22,1,.36,1),border-radius .48s cubic-bezier(.22,1,.36,1),box-shadow .48s cubic-bezier(.22,1,.36,1),background .48s cubic-bezier(.22,1,.36,1),opacity .35s ease;overflow:hidden}.hero-card--flying{top:var(--dst-top);left:var(--dst-left);width:var(--dst-w);height:var(--dst-h);border-radius:12px;box-shadow:0 8px 40px #0000002e,0 0 0 1px var(--border-light);border-color:var(--border-light);background:var(--bg-primary)}.hero-card--expanding{top:var(--exp-top);left:var(--exp-left);width:var(--exp-w);height:var(--exp-h);border-radius:0;border-color:transparent;box-shadow:none;background:var(--bg-primary);overflow-y:auto}.hero-card--done{opacity:0;transition:opacity .3s ease}.hero-card__header{display:flex;align-items:center;gap:8px;padding:8px 16px;flex-shrink:0}.hero-card__icon{flex-shrink:0;color:var(--hero-color, var(--accent));transition:transform .48s cubic-bezier(.22,1,.36,1),color .48s ease}.hero-card--flying .hero-card__icon,.hero-card--expanding .hero-card__icon{transform:scale(1.3);color:var(--text-primary)}.hero-card__label{font-size:12px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:font-size .48s cubic-bezier(.22,1,.36,1)}.hero-card--flying .hero-card__label{font-size:20px}.hero-card--expanding .hero-card__header{display:none}.hero-card__skeleton{display:flex;flex-direction:column;gap:10px;padding:16px 40px 32px;opacity:0;transition:opacity .35s ease .1s;max-width:780px}.hero-card--expanding .hero-card__skeleton{opacity:1}.hero-card--done .hero-card__skeleton{opacity:0;transition:opacity .2s ease}.skel-topbar{display:flex;align-items:center;gap:10px;padding-bottom:10px;margin-bottom:6px;border-bottom:1px solid var(--border)}.skel-topbar .skeleton-line{margin-bottom:0}.skel-code{display:flex;flex-direction:column;gap:8px;background:var(--bg-tertiary);border-radius:8px;padding:14px 16px;margin:4px 0}.skel-code .skeleton-line{margin-bottom:0;height:10px;background:linear-gradient(90deg,var(--bg-hover) 25%,var(--border) 50%,var(--bg-hover) 75%);background-size:200% 100%;animation:skeletonShimmer 1.6s ease-in-out infinite}.markdown-viewer{max-width:100%;margin:0 auto;padding:16px 40px 32px;width:100%;position:relative;display:flex;flex-direction:column;min-height:0}.markdown-viewer--draw{padding:0;max-width:100%;height:100%;position:absolute;top:0;right:0;bottom:0;left:0}.reading-progress{position:sticky;top:0;left:0;height:2px;z-index:10;background:var(--accent-gradient);border-radius:0 1px 1px 0;transition:width .15s ease}.viewer-topbar{display:flex;align-items:center;justify-content:space-between;padding:6px 16px 10px;margin-bottom:16px;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20;background:var(--bg-primary)}.viewer-topbar__breadcrumb{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-tertiary);min-width:0;overflow:hidden}.viewer-topbar__breadcrumb svg{flex-shrink:0;opacity:.5}.viewer-topbar__folder{white-space:nowrap}.viewer-topbar__file{color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.viewer-topbar__meta{display:flex;align-items:center;gap:10px;flex-shrink:0}.viewer-topbar__stat{font-size:10px;color:var(--text-tertiary);white-space:nowrap}.viewer-topbar__highlight-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);color:var(--text-tertiary);transition:all .15s ease;border:1px solid transparent;flex-shrink:0}.viewer-topbar__highlight-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.viewer-topbar__highlight-btn--active{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b4d}.viewer-topbar__download{display:flex;align-items:center;gap:4px;padding:4px 8px;border-radius:var(--radius-sm);font-size:11px;font-weight:500;color:var(--text-secondary);text-decoration:none;transition:all var(--transition-fast);border:1px solid var(--border);flex-shrink:0}.viewer-topbar__download:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-light)}.markdown-viewer__content--highlighting{cursor:text}.markdown-viewer__content--highlighting ::selection{background:#f59e0b4d}.markdown-viewer__layout{position:relative}.markdown-viewer__layout--annotating{cursor:crosshair}.annotation-canvas{position:absolute;top:0;left:0;z-index:15;pointer-events:auto;touch-action:none}.annot-toolbar{position:fixed;bottom:80px;left:50%;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:2px;background:color-mix(in srgb,var(--bg-primary) 90%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:14px;padding:5px;box-shadow:0 4px 24px #00000026}.annot-toolbar__btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:9px;color:var(--text-secondary);transition:all .12s ease}.annot-toolbar__btn:hover{color:var(--text-primary);background:var(--bg-hover)}.annot-toolbar__btn--active{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.annot-toolbar__btn--close{color:var(--text-tertiary)}.annot-toolbar__btn--close:hover{color:#ef4444;background:#ef44441a}.annot-toolbar__btn:disabled{opacity:.3;pointer-events:none}.annot-toolbar__sep{width:1px;height:22px;background:var(--border);margin:0 3px}.annot-toolbar__color-wrap{position:relative}.annot-toolbar__color-btn{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);cursor:pointer;transition:transform .12s ease}.annot-toolbar__color-btn:hover{transform:scale(1.15)}.annot-toolbar__colors{position:absolute;bottom:44px;left:50%;transform:translate(-50%);display:flex;gap:4px;padding:6px 8px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;box-shadow:0 4px 16px #00000026}.annot-toolbar__color-dot{width:18px;height:18px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:all .12s ease}.annot-toolbar__color-dot:hover{transform:scale(1.2)}.annot-toolbar__color-dot--active{border-color:var(--text-primary);transform:scale(1.15)}.viewer-topbar__tabs{display:flex;gap:2px;background:var(--bg-tertiary);border-radius:8px;padding:2px;flex-shrink:0}.viewer-topbar__tab{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:500;color:var(--text-tertiary);transition:all .15s ease;cursor:pointer}.viewer-topbar__tab:hover{color:var(--text-primary)}.viewer-topbar__tab--active{background:var(--bg-primary);color:var(--text-primary);box-shadow:0 1px 3px #00000014}.viewer-topbar__tab svg{opacity:.6}.viewer-topbar__tab--active svg{opacity:1}.draw-canvas-wrap{position:absolute;top:0;left:0;right:0;bottom:0;overflow:hidden}.draw-canvas-wrap .excalidraw-container,.draw-canvas-wrap .excalidraw{width:100%!important;height:100%!important}.draw-canvas-wrap--custom-ui .excalidraw .Island,.draw-canvas-wrap--custom-ui .excalidraw .App-toolbar,.draw-canvas-wrap--custom-ui .excalidraw .App-menu,.draw-canvas-wrap--custom-ui .excalidraw .layer-ui__wrapper__top-right,.draw-canvas-wrap--custom-ui .excalidraw .layer-ui__wrapper__footer,.draw-canvas-wrap--custom-ui .excalidraw .App-bottom-bar,.draw-canvas-wrap--custom-ui .excalidraw .HintViewer,.draw-canvas-wrap--custom-ui .excalidraw .FixedSideContainer,.draw-canvas-wrap--custom-ui .excalidraw .shapes-section{display:none!important}.draw-canvas-wrap--loading{display:flex;align-items:center;justify-content:center;position:absolute;top:0;right:0;bottom:0;left:0}.draw-canvas-loader{display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--text-tertiary);font-size:12px}.draw-canvas-loader svg{animation:spin 1.2s linear infinite}.draw-canvas-saving{position:absolute;top:12px;right:12px;z-index:30;font-size:10px;font-weight:600;color:var(--text-tertiary);background:var(--bg-elevated);padding:3px 8px;border-radius:4px;border:1px solid var(--border);opacity:.8}.draw-toolbar{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:25;display:flex;align-items:center;gap:2px;background:color-mix(in srgb,var(--bg-primary) 85%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-radius:12px;padding:4px;box-shadow:0 2px 16px #0000001f}.draw-toolbar__btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:var(--text-secondary);transition:all .12s ease}.draw-toolbar__btn:hover{color:var(--text-primary);background:var(--bg-hover)}.draw-toolbar__btn--active{color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.draw-toolbar__sep{width:1px;height:20px;background:var(--border);margin:0 4px}.draw-toolbar__read-btn{display:flex;align-items:center;gap:4px;padding:5px 10px;border-radius:8px;font-size:11px;font-weight:600;color:var(--text-secondary);background:var(--bg-tertiary);transition:all .15s ease;white-space:nowrap}.draw-toolbar__read-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.draw-toolbar__filename{font-size:11px;color:var(--text-tertiary);max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.draw-toolbar__shapes-wrap{position:relative}.draw-toolbar__shapes-menu{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:2px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;padding:4px;box-shadow:0 4px 20px #00000026;min-width:140px;z-index:30}.draw-toolbar__shapes-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:7px;font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap;transition:all .1s ease}.draw-toolbar__shapes-item:hover{background:var(--bg-hover);color:var(--text-primary)}.draw-toolbar__shapes-icon{width:22px;text-align:center;font-size:14px;font-weight:700;color:var(--accent)}.ds-panel{position:fixed;z-index:30;background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;padding:0;box-shadow:0 4px 24px #0000002e;min-width:160px;overflow:hidden}.ds-panel__header{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--bg-tertiary)}.ds-panel__title{font-size:12px;font-weight:700;color:var(--text-primary)}.ds-panel__count{font-size:10px;color:var(--text-tertiary);background:var(--bg-hover);padding:1px 6px;border-radius:8px;margin-left:auto}.ds-panel__close{width:20px;height:20px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text-tertiary);margin-left:4px}.ds-panel__close:hover{background:var(--bg-hover);color:var(--text-primary)}.ds-panel__ops{display:flex;flex-direction:column;gap:1px;padding:4px}.ds-panel__op-btn{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:7px;font-size:12px;font-weight:500;color:var(--text-secondary);transition:all .1s ease;white-space:nowrap}.ds-panel__op-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.ds-panel__op-icon{width:22px;text-align:center;font-size:12px;font-weight:700;color:var(--accent)}.markdown-viewer__layout{display:flex;gap:24px;align-items:flex-start}.markdown-viewer__content{flex:1;min-width:0;max-width:760px;font-family:var(--font-sans)}.markdown-viewer__content a.icon-link{border:none}.markdown-viewer__content pre{margin:0;border-radius:0;overflow:hidden}.markdown-viewer__content pre code{background:none;padding:0;color:inherit;border:none}.md-heading{position:relative;display:flex;align-items:center;gap:6px}.md-heading__link{opacity:0;display:inline-flex;align-items:center;padding:2px;color:var(--text-tertiary);transition:opacity .15s ease,color .15s ease;border:none!important;flex-shrink:0}.md-heading:hover .md-heading__link{opacity:1}.md-heading__link:hover{color:var(--accent)}.callout{margin:0 0 14px;padding:10px 14px;border-radius:var(--radius-md);border-left:3px solid var(--callout-color, var(--accent));background:color-mix(in srgb,var(--callout-color, var(--accent)) 6%,transparent)}.callout__header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.callout__type{font-size:11px;font-weight:700;text-transform:capitalize;color:var(--callout-color, var(--accent))}.callout__body{font-size:13px}.callout__body p{margin:0 0 4px}.callout__body p:last-child{margin:0}.md-figure{margin:16px 0;text-align:center}.md-figure__img{max-width:100%;border-radius:var(--radius-md);cursor:zoom-in;transition:transform .2s ease,box-shadow .2s ease}.md-figure__img:hover{transform:scale(1.01);box-shadow:0 4px 20px #00000026}.md-figure figcaption{font-size:11px;color:var(--text-secondary);margin-top:4px}.mermaid-container{display:flex;justify-content:center;margin:14px 0;padding:14px;background:var(--glass-bg-strong);border-radius:var(--radius-md);border:1px solid var(--glass-border);overflow-x:auto}.mermaid-container svg{max-width:100%}.task-item{list-style:none;display:flex;align-items:flex-start;gap:8px;margin-left:-18px;padding:2px 0}.task-item--done .task-text{text-decoration:line-through;color:var(--text-tertiary)}.task-check{width:16px;height:16px;flex-shrink:0;margin-top:2px;border-radius:3px;border:1.5px solid var(--border-light);display:flex;align-items:center;justify-content:center;transition:all .15s ease}.task-check--checked{background:var(--accent);border-color:var(--accent);color:#fff}.katex-display{margin:12px 0;overflow-x:auto;overflow-y:hidden;padding:4px 0}.katex{font-size:1em}.toc-sidebar{width:190px;flex-shrink:0;position:sticky;top:20px;max-height:calc(100vh - 140px);display:flex;flex-direction:column}.toc-sidebar__label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);padding:0 0 8px;margin:0 12px;border-bottom:1px solid var(--border)}.toc-sidebar__nav{display:flex;flex-direction:column;position:relative;overflow-y:auto;scrollbar-width:none;padding:6px 0;margin-left:2px;border-left:1.5px solid var(--border)}.toc-sidebar__nav::-webkit-scrollbar{display:none}.toc-sidebar__pill{position:absolute;left:-1.5px;z-index:2;width:2px;border-radius:1px;top:var(--pill-top, 0);height:var(--pill-h, 0);background:var(--accent);opacity:0;transition:top .3s cubic-bezier(.22,1,.36,1),height .3s cubic-bezier(.22,1,.36,1),opacity .2s ease}.toc-sidebar__pill--visible{opacity:1}.toc-sidebar__item{display:flex;align-items:center;padding:5px 12px 5px calc(var(--depth, 0) * 10px + 12px);font-size:12px;line-height:1.4;color:var(--text-tertiary);text-decoration:none;transition:color .15s ease;position:relative;z-index:1}.toc-sidebar__item:hover{color:var(--text-primary)}.toc-sidebar__item--active{color:var(--accent);font-weight:600}.toc-sidebar__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-wrapper{border-radius:6px;overflow:hidden;border:1px solid var(--border-light);margin:0 0 16px;position:relative;background:var(--bg-secondary)}.code-wrapper__header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--code-header-bg);border-bottom:1px solid var(--border-light)}.code-wrapper__lang{font-size:11px;font-weight:700;font-family:var(--font-mono);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.code-wrapper__actions{display:flex;align-items:center;gap:6px}.code-toggle-btn{font-size:11px;font-weight:500;color:var(--accent);background:var(--bg-secondary);border:1px solid var(--border);cursor:pointer;padding:3px 10px;border-radius:4px;transition:all .2s}.code-toggle-btn:hover{background:var(--bg-hover);border-color:var(--border-light)}.code-copy-btn{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;font-size:11px;font-weight:500;border-radius:4px;border:1px solid var(--border);color:var(--text-secondary);transition:all .2s;background:var(--bg-secondary);cursor:pointer;white-space:nowrap}.code-copy-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-light)}.code-plain{padding:14px 16px;margin:0;font-family:var(--font-mono);font-size:13px;line-height:1.6;overflow-x:auto;background:var(--code-content-bg);color:var(--text-primary)}.code-fade{position:absolute;bottom:0;left:0;right:0;height:48px;background:linear-gradient(transparent,var(--code-content-bg));pointer-events:none}.code-diff{padding:12px 0;margin:0;font-family:var(--font-mono);font-size:13px;line-height:1.6;overflow-x:auto;background:var(--code-content-bg)}.diff-line{padding:0 16px;min-height:1.6em;white-space:pre}[data-theme=dark] .diff-add{background:#10a37f1f;color:#4ade80}[data-theme=dark] .diff-del{background:#ef44441f;color:#f87171}[data-theme=light] .diff-add{background:#10a37f1a;color:#16a34a}[data-theme=light] .diff-del{background:#ef44441a;color:#dc2626}.ascii-block{border-radius:6px;overflow:hidden;border:1px solid var(--border-light);margin:0 0 16px;background:var(--bg-secondary)}.ascii-block__header{display:flex;align-items:center;justify-content:space-between;padding:8px 14px;background:var(--code-header-bg);border-bottom:1px solid var(--border-light)}.ascii-block__label{font-size:11px;font-weight:700;color:var(--accent-secondary);text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:6px}.ascii-block__label:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent-secondary);display:inline-block}.ascii-block__pre{padding:14px 16px;margin:0;font-family:var(--font-mono);font-size:13px;line-height:1.5;overflow-x:auto;white-space:pre;color:var(--text-primary);background:var(--code-content-bg)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#000000d9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;cursor:zoom-out;animation:fadeIn .2s ease}.lightbox__img{max-width:90vw;max-height:90vh;border-radius:var(--radius-md);box-shadow:0 8px 40px #00000080;cursor:default;animation:scaleIn .25s cubic-bezier(.22,1,.36,1)}.lightbox__close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;background:#ffffff1a;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;transition:background .15s ease}.lightbox__close:hover{background:#fff3}.back-to-top{position:fixed;bottom:80px;right:24px;z-index:30;width:36px;height:36px;border-radius:50%;background:var(--glass-bg-strong);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;animation:fadeInUp .25s ease}.back-to-top:hover{background:var(--bg-hover);color:var(--text-primary);transform:translateY(-2px)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:100;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{width:460px;max-height:70vh;background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--glass-shadow);overflow:hidden;display:flex;flex-direction:column;animation:scaleIn .2s ease}@keyframes scaleIn{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border)}.modal__header h2{font-size:13px;font-weight:600}.modal__close{width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition-fast)}.modal__close:hover{background:var(--bg-hover)}.modal__body{padding:14px;overflow-y:auto}.modal__folder-select{margin-bottom:10px}.modal__folder-select>label{display:block;font-size:10px;font-weight:600;color:var(--text-secondary);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}.modal__folder-options{display:flex;flex-direction:column;gap:4px}.modal__radio{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:12px}.modal__radio input[type=radio]{accent-color:var(--accent)}.modal__radio select,.modal__folder-input{flex:1;padding:5px 8px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);font-size:12px;outline:none}.modal__radio select:focus,.modal__folder-input:focus{border-color:var(--border-focus)}.modal__dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:20px;border:2px dashed var(--border);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s;color:var(--text-secondary);margin-bottom:10px}.modal__dropzone:hover,.modal__dropzone--active{border-color:var(--accent);background:#10a37f08}.modal__dropzone svg{width:28px;height:28px}.modal__dropzone p{font-size:12px;font-weight:500}.modal__dropzone span{font-size:10px;color:var(--text-tertiary)}.modal__file-list{border:1px solid var(--border);border-radius:var(--radius-md);overflow:hidden}.modal__file-list h4{padding:6px 10px;font-size:10px;font-weight:600;background:var(--bg-tertiary);color:var(--text-secondary)}.modal__file-item{display:flex;align-items:center;gap:4px;padding:5px 10px;border-top:1px solid var(--border);font-size:11px}.modal__file-item svg{flex-shrink:0;color:var(--text-tertiary)}.modal__file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal__file-size{font-size:10px;color:var(--text-tertiary)}.modal__file-remove{width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:3px;color:var(--text-tertiary);transition:all var(--transition-fast)}.modal__file-remove:hover{background:var(--danger-bg);color:var(--danger)}.modal__footer{display:flex;justify-content:flex-end;gap:6px;padding:8px 14px;border-top:1px solid var(--border)}.modal__btn{padding:5px 12px;font-size:12px;font-weight:600;border-radius:var(--radius-sm);transition:all var(--transition-fast)}.modal__btn--secondary{color:var(--text-secondary);border:1px solid var(--border)}.modal__btn--secondary:hover{background:var(--bg-hover)}.modal__btn--primary{background:var(--accent-gradient);color:#fff}.modal__btn--primary:hover:not(:disabled){transform:translateY(-1px)}.modal__btn--primary:disabled{opacity:.4;cursor:not-allowed}.md-section{animation:sectionSlideIn .4s cubic-bezier(.22,1,.36,1) both}@keyframes sectionSlideIn{0%{opacity:0;transform:translateY(12px);filter:blur(2px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.md-section-loader{padding:20px 0;min-height:80px}.md-section-loader__spinner{display:flex;flex-direction:column;gap:10px}.md-section-end{text-align:center;padding:20px 0 8px;font-size:10px;color:var(--text-tertiary);border-top:1px solid var(--border);margin-top:20px}.loading-skeleton{max-width:100%;margin:0 auto;padding:20px 40px}.skeleton-line{height:12px;border-radius:var(--radius-sm);margin-bottom:10px;width:100%;background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-hover) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:skeletonShimmer 1.6s ease-in-out infinite}.skeleton-title{height:20px;width:50%;margin-bottom:18px}.skeleton-w80{width:80%}.skeleton-w65{width:65%}.skeleton-w50{width:50%}.skeleton-w40,.skeleton-short{width:40%}.skeleton-medium{width:65%}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.timeline{max-width:460px;margin:0 auto;padding:0 20px 20px;animation:fadeInUp .3s ease .1s both}.timeline__title{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);margin-bottom:8px}.timeline__list{display:flex;flex-direction:column;gap:0}.timeline__item{display:flex;align-items:flex-start;gap:8px;padding:4px 0;position:relative}.timeline__item:before{content:"";position:absolute;left:8px;top:20px;width:1px;height:calc(100% - 8px);background:var(--border)}.timeline__item:last-child:before{display:none}.timeline__dot{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-tertiary);color:var(--text-secondary);position:relative;z-index:1}.timeline__item--open .timeline__dot{color:var(--accent)}.timeline__item--upload .timeline__dot{color:var(--accent-tertiary)}.timeline__item--delete .timeline__dot{color:var(--danger)}.timeline__item--create .timeline__dot{color:var(--accent-secondary)}.timeline__item--chat .timeline__dot{color:var(--accent-warm)}.timeline__content{flex:1;min-width:0;padding-top:1px}.timeline__text{font-size:11px;color:var(--text-secondary);display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline__time{font-size:10px;color:var(--text-tertiary)}@media (max-width: 1024px){.chat-panel{width:300px}.toc-sidebar{display:none}}@media (max-width: 768px){.sidebar{position:fixed;left:0;top:0;z-index:50;transform:translate(-100%)}.sidebar--open{transform:translate(0)}.overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:40}.mobile-menu-btn,.sidebar__close{display:flex}.chat-panel{position:fixed;right:0;top:0;z-index:50;width:100%;max-width:360px;height:100vh}.markdown-viewer{padding:16px 14px 80px}.welcome__greeting{font-size:32px}.modal{width:calc(100% - 24px)}.toc-sidebar{display:none}.back-to-top{bottom:100px;right:16px}.auth__card{width:calc(100% - 32px);padding:28px 20px}.auth__oauth-row{flex-direction:column;gap:8px}}.auth{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:var(--bg-primary);position:relative;overflow:hidden}.auth__bg-orbs{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;overflow:hidden}.auth__orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.18;animation:authOrbFloat 12s ease-in-out infinite alternate}.auth__orb--1{width:340px;height:340px;background:#6366f1;top:-60px;left:-80px;animation-delay:0s}.auth__orb--2{width:280px;height:280px;background:#10b981;bottom:-40px;right:-60px;animation-delay:-4s}.auth__orb--3{width:200px;height:200px;background:#8b5cf6;top:40%;left:60%;animation-delay:-8s}@keyframes authOrbFloat{0%{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.05)}66%{transform:translate(-20px,15px) scale(.95)}to{transform:translate(10px,-10px) scale(1.02)}}[data-theme=light] .auth__orb{opacity:.1}.auth__card{display:flex;flex-direction:column;align-items:center;gap:18px;max-width:360px;width:100%;padding:36px 30px 32px;background:color-mix(in srgb,var(--bg-secondary) 80%,transparent);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border:1px solid color-mix(in srgb,var(--border-light) 60%,transparent);border-radius:16px;box-shadow:0 4px 32px #0000001f,0 0 0 1px #ffffff08 inset;position:relative;z-index:1}.auth__card--shake{animation:authShake .4s ease}@keyframes authShake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.auth__logo{filter:drop-shadow(0 2px 12px rgba(99,102,241,.25))}.auth__header-text{display:flex;flex-direction:column;align-items:center;gap:4px}.auth__title{font-size:21px;font-weight:700;color:var(--text-primary);margin:0;letter-spacing:-.025em}.auth__subtitle{font-size:13px;color:var(--text-tertiary);margin:0;text-align:center;font-weight:400}.auth__oauth-row{display:flex;gap:10px;width:100%}.auth__oauth-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:7px;padding:9px 0;border-radius:10px;border:1px solid var(--border-light);background:var(--bg-primary);color:var(--text-primary);font-size:13px;font-weight:550;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.auth__oauth-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.04),transparent);opacity:0;transition:opacity .2s}.auth__oauth-btn:hover:not(:disabled):before{opacity:1}.auth__oauth-btn:hover:not(:disabled){border-color:color-mix(in srgb,var(--text-tertiary) 50%,transparent);box-shadow:0 2px 8px #0000000f;transform:translateY(-1px)}.auth__oauth-btn:active:not(:disabled){transform:translateY(0) scale(.98)}.auth__oauth-btn:disabled{opacity:.45;cursor:not-allowed}.auth__oauth-btn--github svg{opacity:.85}.auth__oauth-spinner{width:14px;height:14px;border:2px solid var(--border-light);border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite}.auth__divider{display:flex;align-items:center;gap:14px;width:100%}.auth__divider-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--border),transparent)}.auth__divider-text{font-size:11px;font-weight:500;color:var(--text-tertiary);text-transform:lowercase;letter-spacing:.02em;white-space:nowrap}.auth__form{display:flex;flex-direction:column;gap:10px;width:100%}.auth__input-wrap{position:relative;width:100%}.auth__input-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none;transition:color .15s}.auth__input-wrap:focus-within .auth__input-icon{color:var(--accent)}.auth__email-input{width:100%;padding:10px 14px 10px 36px;border-radius:10px;border:1px solid var(--border-light);background:var(--bg-tertiary);color:var(--text-primary);font-size:13px;outline:none;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.auth__email-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent);background:var(--bg-primary)}.auth__email-input::placeholder{color:var(--text-tertiary)}.auth__submit{width:100%;padding:10px;border-radius:10px;border:none;background:var(--accent-gradient);color:#fff;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:opacity .15s ease,transform .15s ease,box-shadow .15s ease}.auth__submit:hover:not(:disabled){opacity:.92;transform:translateY(-1px);box-shadow:0 4px 16px color-mix(in srgb,var(--accent) 30%,transparent)}.auth__submit:active:not(:disabled){transform:translateY(0)}.auth__submit:disabled{opacity:.35;cursor:default;transform:none}.auth__info-msg{font-size:12px;color:#10b981;margin:0;font-weight:500;text-align:center;line-height:1.5;padding:8px 12px;border-radius:8px;background:color-mix(in srgb,#10B981 8%,transparent);width:100%}.auth__error{font-size:12px;color:var(--danger);margin:0;font-weight:500;text-align:center;line-height:1.5;padding:8px 12px;border-radius:8px;background:color-mix(in srgb,var(--danger) 8%,transparent);width:100%}.auth__hint{font-size:11px;color:var(--text-tertiary);margin:0;text-align:center;line-height:1.5;max-width:280px}.auth__spinner{width:24px;height:24px;border:2.5px solid var(--border-light);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes authFadeIn{0%{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.auth__card{animation:authFadeIn .5s cubic-bezier(.22,1,.36,1)}.auth__name-input{width:100%;padding:10px 14px;border-radius:10px;border:1px solid var(--border-light);background:var(--bg-tertiary);color:var(--text-primary);font-size:13px;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.auth__name-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--border-focus)}.auth__name-input::placeholder{color:var(--text-tertiary)}.auth__pin-group{display:flex;flex-direction:column;gap:10px;align-items:center;width:100%}.auth__pin-label{font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.auth__pin-inputs{display:flex;gap:8px}.auth__pin-digit{width:42px;height:50px;text-align:center;font-size:22px;font-weight:700;border:2px solid var(--border-light);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);outline:none;caret-color:var(--accent);transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.auth__pin-digit:focus{border-color:var(--accent);background:var(--bg-primary);box-shadow:0 0 0 3px var(--border-focus)}.auth__pin-digit--filled{border-color:var(--accent);background:var(--bg-primary)}.auth__pin-digit::-webkit-inner-spin-button,.auth__pin-digit::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.auth__pin-digit{-moz-appearance:textfield}[data-theme=light] .auth__pin-digit{border-color:#0000002e;background:#f0f1f3}[data-theme=light] .auth__pin-digit:focus{border-color:#6366f1;background:#fff}[data-theme=light] .auth__pin-digit--filled{border-color:#6366f1;background:#fff}[data-theme=light] .auth__name-input{border-color:#00000026;background:#f0f1f3}[data-theme=light] .auth__name-input:focus{border-color:#6366f1;background:#fff}[data-theme=light] .auth__email-input{border-color:#0000001f;background:#f4f5f7}[data-theme=light] .auth__email-input:focus{border-color:#6366f1;background:#fff}[data-theme=light] .auth__oauth-btn{border-color:#0000001a;background:#fff}[data-theme=light] .auth__oauth-btn:hover:not(:disabled){border-color:#0000002e;box-shadow:0 2px 12px #0000000f}[data-theme=light] .auth__card{background:#ffffffd1;box-shadow:0 4px 24px #0000000f,0 1px 3px #0000000a;border-color:#0000000f}.share-dialog{max-width:480px;width:100%}.share-dialog__header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--border)}.share-dialog__header-left{display:flex;align-items:center;gap:10px}.share-dialog__title{font-size:15px;font-weight:700;color:var(--text-primary);margin:0;line-height:1.2}.share-dialog__folder-name{font-size:11px;color:var(--text-tertiary);margin:0;line-height:1.2}.share-dialog__tabs{display:flex;border-bottom:1px solid var(--border)}.share-dialog__tab{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:10px;font-size:12px;font-weight:600;color:var(--text-tertiary);background:none;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:all var(--transition-fast)}.share-dialog__tab:hover{color:var(--text-primary)}.share-dialog__tab--active{color:var(--accent);border-bottom-color:var(--accent)}.share-dialog__tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:8px;font-size:9px;font-weight:700;background:var(--accent);color:#fff}.share-dialog__body{padding:16px 18px;max-height:480px;overflow-y:auto}.share__create-panel{display:flex;flex-direction:column;gap:14px}.share__field{display:flex;flex-direction:column;gap:5px}.share__field--flex{flex:1}.share__row{display:flex;gap:12px}.share__label{font-size:11px;color:var(--text-secondary);font-weight:600}.share__input{padding:8px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);font-size:12px;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.share__input:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent)}.share__input::placeholder{color:var(--text-tertiary)}.share__input--indent{margin-left:24px}.share__perm-btns{display:flex;gap:4px;flex-wrap:wrap}.share__perm-btn{display:flex;align-items:center;gap:4px;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);font-size:11px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.share__perm-btn:hover{border-color:var(--text-tertiary)}.share__perm-btn--active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.share__expiry-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.share__expiry-btn{padding:6px 4px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);font-size:10px;font-weight:500;cursor:pointer;text-align:center;transition:all var(--transition-fast)}.share__expiry-btn:hover{border-color:var(--text-tertiary)}.share__expiry-btn--active{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);font-weight:600}.share__advanced-toggle{display:flex;align-items:center;gap:5px;padding:0;border:none;background:none;color:var(--text-tertiary);font-size:11px;font-weight:500;cursor:pointer;transition:color var(--transition-fast)}.share__advanced-toggle:hover{color:var(--text-primary)}.share__advanced{display:flex;flex-direction:column;gap:10px;padding:10px 0}.share__toggle-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.share__toggle-info{display:flex;align-items:flex-start;gap:8px;flex:1}.share__toggle-info>svg{margin-top:2px;flex-shrink:0;color:var(--text-tertiary)}.share__toggle-label{display:block;font-size:12px;font-weight:600;color:var(--text-primary)}.share__toggle-desc{display:block;font-size:10px;color:var(--text-tertiary);line-height:1.3}.share__switch{position:relative;width:36px;height:20px;border-radius:10px;background:var(--border);border:none;cursor:pointer;transition:background .2s ease;flex-shrink:0}.share__switch--on{background:var(--accent)}.share__switch-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .2s ease}.share__switch--on .share__switch-knob{transform:translate(16px)}.share__create-btn{display:flex;align-items:center;gap:6px;justify-content:center;width:100%;padding:10px;border-radius:var(--radius-sm);border:none;background:var(--accent-gradient);color:#fff;font-size:13px;font-weight:600;cursor:pointer;transition:opacity var(--transition-fast),transform .1s}.share__create-btn:hover{opacity:.92}.share__create-btn:active{transform:scale(.98)}.share__create-btn:disabled{opacity:.5;cursor:default;transform:none}.share__links-panel{display:flex;flex-direction:column;gap:8px}.share__loading{font-size:12px;color:var(--text-tertiary);text-align:center;padding:24px 0}.share__empty-state{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 16px;text-align:center}.share__empty-state p{font-size:12px;color:var(--text-tertiary);margin:0}.share__empty-btn{padding:6px 14px;border-radius:var(--radius-sm);border:1px solid var(--accent);background:none;color:var(--accent);font-size:11px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.share__empty-btn:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.share__link-card{padding:12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);transition:border-color var(--transition-fast)}.share__link-card:hover{border-color:var(--text-tertiary)}.share__link-card--expired{opacity:.55}.share__link-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.share__link-label{font-size:13px;font-weight:600;color:var(--text-primary)}.share__link-badges{display:flex;gap:4px;align-items:center}.share__badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:8px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.share__badge--active{background:color-mix(in srgb,#10b981 12%,transparent);color:#10b981}.share__badge--paused{background:color-mix(in srgb,#f59e0b 12%,transparent);color:#f59e0b}.share__badge--expired{background:color-mix(in srgb,var(--danger) 12%,transparent);color:var(--danger)}.share__badge--lock{background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);padding:3px 5px}.share__link-meta{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:10px;color:var(--text-tertiary);margin-bottom:8px}.share__link-dot{color:var(--border)}.share__link-actions{display:flex;gap:4px}.share__action-btn{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);font-size:10px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.share__action-btn:hover{border-color:var(--accent);color:var(--accent)}.share__action-btn--copy{font-weight:600}.share__action-btn--copied{border-color:#10b981;color:#10b981;background:color-mix(in srgb,#10b981 6%,transparent)}.share__action-btn--danger:hover{border-color:var(--danger);color:var(--danger)}.share__section-divider{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:10px;color:var(--text-tertiary);font-weight:600;text-transform:uppercase}.share__section-divider:after{content:"";flex:1;height:1px;background:var(--border)}.share-view{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px;background:var(--bg-primary)}.share-view--reading{flex-direction:column;align-items:stretch;min-height:100vh}.share-view__loading{display:flex;flex-direction:column;align-items:center;gap:12px;color:var(--text-tertiary);font-size:13px}.share-view__error{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.share-view__error h2{font-size:18px;font-weight:700;color:var(--text-primary);margin:0}.share-view__error p{font-size:13px;color:var(--text-tertiary);margin:0}.share-view__home-link{padding:8px 16px;border-radius:var(--radius-sm);background:var(--accent-gradient);color:#fff;text-decoration:none;font-size:12px;font-weight:600}.share-view__pw-card{max-width:380px;width:100%;padding:32px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0000001f;display:flex;flex-direction:column;align-items:center;text-align:center;animation:authFadeIn .3s ease}.share-view__pw-icon{width:56px;height:56px;border-radius:16px;background:color-mix(in srgb,var(--accent) 10%,transparent);display:flex;align-items:center;justify-content:center;margin-bottom:16px}.share-view__pw-title{font-size:18px;font-weight:700;color:var(--text-primary);margin:0 0 4px}.share-view__pw-label{font-size:13px;color:var(--accent);margin:0 0 4px;font-weight:600}.share-view__pw-desc{font-size:12px;color:var(--text-tertiary);margin:0 0 20px}.share-view__pw-form{display:flex;gap:6px;width:100%}.share-view__pw-input{flex:1;padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);font-size:13px;outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.share-view__pw-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent)}.share-view__pw-btn{width:40px;height:40px;border-radius:var(--radius-sm);border:none;background:var(--accent-gradient);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:opacity var(--transition-fast)}.share-view__pw-btn:hover{opacity:.88}.share-view__pw-btn:disabled{opacity:.5;cursor:default}.share-view__pw-error{font-size:12px;color:var(--danger);margin:8px 0 0}.share-view__pw-footer{display:flex;align-items:center;gap:6px;justify-content:center;margin-top:24px;padding-top:12px;border-top:1px solid var(--border);font-size:10px;color:var(--text-tertiary);width:100%}.share-view__card{max-width:500px;width:100%;padding:28px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 8px 32px #0000001f;animation:authFadeIn .3s ease}.share-view__card-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px}.share-view__card-title-group{flex:1}.share-view__card-title-group h2{font-size:20px;font-weight:700;color:var(--text-primary);margin:0;line-height:1.2}.share-view__card-label{font-size:12px;color:var(--text-tertiary);margin:2px 0 0}.share-view__badge{padding:3px 9px;border-radius:10px;font-size:9px;font-weight:700;background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);text-transform:uppercase;letter-spacing:.05em;flex-shrink:0}.share-view__info-bar{display:flex;flex-wrap:wrap;gap:12px;padding:10px 12px;background:var(--bg-tertiary);border-radius:var(--radius-sm);margin-bottom:16px}.share-view__info-item{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-secondary)}.share-view__info-item svg{color:var(--text-tertiary);flex-shrink:0}.share-view__files{display:flex;flex-direction:column;gap:3px}.share-view__file{display:flex;align-items:center;gap:8px;padding:11px 12px;border-radius:var(--radius-sm);border:none;background:var(--bg-tertiary);color:var(--text-secondary);font-size:13px;cursor:pointer;width:100%;text-align:left;transition:all var(--transition-fast)}.share-view__file:hover{background:var(--bg-hover);color:var(--text-primary)}.share-view__file span{flex:1}.share-view__footer{display:flex;align-items:center;gap:6px;justify-content:center;margin-top:20px;padding-top:14px;border-top:1px solid var(--border);font-size:10px;color:var(--text-tertiary)}.share-view__header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border)}.share-view__header-actions{display:flex;align-items:center;gap:8px}.share-view__download-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.share-view__download-btn:hover{border-color:var(--accent);color:var(--accent)}.share-view__back{display:flex;align-items:center;gap:4px;padding:5px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all var(--transition-fast)}.share-view__back:hover{border-color:var(--accent);color:var(--accent)}.share-view__file-title{flex:1;font-size:14px;font-weight:600;color:var(--text-primary)}.share-view__content{flex:1;overflow-y:auto;padding:20px}.header__upgrade-btn{background:linear-gradient(135deg,#f59e0b,#ef4444)!important;color:#fff!important;font-weight:600!important;border-radius:var(--radius-full)!important;padding:3px 10px!important;font-size:11px!important;animation:upgradeGlow 2s ease-in-out infinite}.header__upgrade-btn:hover{transform:scale(1.05);opacity:.95!important}@keyframes upgradeGlow{0%,to{box-shadow:0 0 4px #f59e0b4d}50%{box-shadow:0 0 12px #f59e0b80}}.header__pro-dot{position:absolute;bottom:-1px;right:-1px;width:8px;height:8px;border-radius:50%;background:#f59e0b;border:1.5px solid var(--bg-primary)}.header__dropdown-pro-badge{display:inline-block;padding:1px 5px;border-radius:3px;background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;font-size:8px;font-weight:800;letter-spacing:.05em;margin-left:6px;vertical-align:middle}.header__dropdown-item--upgrade{color:#f59e0b!important}.header__dropdown-item--upgrade:hover{background:#f59e0b14!important}.premium-modal{width:600px;max-width:calc(100% - 24px);max-height:90vh;background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:0 16px 64px #0000004d;overflow-y:auto;position:relative;animation:scaleIn .25s ease}.premium-modal__close{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-tertiary);background:var(--bg-tertiary);border:none;cursor:pointer;z-index:1;transition:all var(--transition-fast)}.premium-modal__close:hover{background:var(--bg-hover);color:var(--text-primary)}.premium-modal__header{display:flex;flex-direction:column;align-items:center;gap:8px;padding:28px 24px 16px;text-align:center}.premium-modal__badge{display:inline-block;padding:3px 10px;border-radius:var(--radius-full);background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;font-size:10px;font-weight:800;letter-spacing:.08em}.premium-modal__title{font-size:20px;font-weight:700;color:var(--text-primary);margin:0}.premium-modal__subtitle{font-size:13px;color:var(--text-secondary);margin:0}.premium-modal__plans{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:0 20px}.premium-plan{display:flex;flex-direction:column;gap:10px;padding:16px 12px;border-radius:var(--radius-md);border:2px solid var(--border);background:var(--bg-primary);cursor:pointer;text-align:center;position:relative;transition:all .2s ease}.premium-plan:hover{border-color:var(--border-light)}.premium-plan--selected{border-color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 4%,transparent)}.premium-plan--popular{border-color:#f59e0b}.premium-plan__tag{position:absolute;top:-8px;left:50%;transform:translate(-50%);padding:2px 8px;border-radius:var(--radius-full);background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.premium-plan__name{font-size:12px;font-weight:600;color:var(--text-primary)}.premium-plan__price{display:flex;align-items:baseline;justify-content:center;gap:2px}.premium-plan__original{font-size:13px;color:var(--text-tertiary);text-decoration:line-through;margin-right:4px}.premium-plan__amount{font-size:24px;font-weight:800;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.premium-plan__period{font-size:11px;color:var(--text-tertiary)}.premium-plan__features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px;text-align:left}.premium-plan__features li{display:flex;align-items:center;gap:5px;font-size:10px;color:var(--text-secondary)}.premium-plan__features li svg{color:var(--accent);flex-shrink:0}.premium-modal__referral{padding:12px 20px;display:flex;flex-direction:column;gap:6px}.premium-modal__referral label{font-size:11px;font-weight:600;color:var(--text-secondary)}.premium-modal__referral-input{display:flex;gap:6px}.premium-modal__referral-input input{flex:1;padding:7px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);font-size:12px;outline:none;color:var(--text-primary)}.premium-modal__referral-input input:focus{border-color:var(--accent)}.premium-modal__referral-input button{padding:7px 14px;border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-secondary);font-size:11px;font-weight:600;cursor:pointer;transition:all var(--transition-fast)}.premium-modal__referral-input button:hover{border-color:var(--accent);color:var(--accent)}.premium-modal__referral-input button:disabled{opacity:.4;cursor:default}.premium-modal__referral-applied{padding:7px 14px;border-radius:var(--radius-sm);background:#10b9811a;color:var(--accent);font-size:11px;font-weight:600}.premium-modal__error{padding:0 20px;font-size:12px;color:var(--danger);font-weight:500;margin:0}.premium-modal__pay{display:flex;align-items:center;justify-content:center;gap:8px;margin:8px 20px;padding:12px;border-radius:var(--radius-sm);background:var(--accent-gradient);color:#fff;font-size:14px;font-weight:700;border:none;cursor:pointer;transition:all .2s ease}.premium-modal__pay:hover:not(:disabled){opacity:.92;transform:translateY(-1px)}.premium-modal__pay:disabled{opacity:.5;cursor:default}.premium-modal__secure{display:flex;align-items:center;justify-content:center;gap:4px;padding:8px 20px 20px;font-size:10px;color:var(--text-tertiary);margin:0}.referral-panel{width:440px;max-width:calc(100% - 24px);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:0 16px 64px #0000004d;overflow:hidden;animation:scaleIn .25s ease}.referral-panel__header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.referral-panel__header h2{font-size:15px;font-weight:700;margin:0}.referral-panel__hero{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 18px 12px;text-align:center}.referral-panel__icon{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ef44441a,#f59e0b1a);color:#ef4444}.referral-panel__hero h3{font-size:16px;font-weight:700;margin:0;color:var(--text-primary)}.referral-panel__hero p{font-size:12px;color:var(--text-secondary);margin:0}.referral-panel__code-section{padding:0 18px 12px}.referral-panel__code-section label{font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:6px}.referral-panel__code-box{display:flex;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px dashed var(--border-light)}.referral-panel__code{flex:1;font-size:16px;font-weight:800;font-family:var(--font-mono);letter-spacing:.06em;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.referral-panel__copy{padding:5px 12px;border-radius:var(--radius-sm);background:var(--accent-gradient);color:#fff;font-size:11px;font-weight:600;border:none;cursor:pointer;transition:all var(--transition-fast)}.referral-panel__copy:hover{opacity:.9}.referral-panel__copy--done{background:#10b981!important}.referral-panel__stats{display:flex;gap:12px;padding:0 18px 12px}.referral-panel__stat{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px;border-radius:var(--radius-sm);background:var(--bg-tertiary);border:1px solid var(--border)}.referral-panel__stat-value{font-size:20px;font-weight:800;color:var(--text-primary)}.referral-panel__stat-label{font-size:10px;font-weight:500;color:var(--text-tertiary)}.referral-panel__share{padding:0 18px 12px}.referral-panel__share label{font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:6px}.referral-panel__share-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.referral-panel__share-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 4px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-primary);text-decoration:none;color:var(--text-secondary);font-size:10px;font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.referral-panel__share-btn:hover{border-color:var(--accent);background:var(--bg-hover);color:var(--text-primary)}.referral-panel__share-btn span:first-child{font-size:18px}.referral-panel__link-section{padding:0 18px 18px}.referral-panel__link-section label{font-size:10px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;display:block;margin-bottom:6px}.referral-panel__link-box{display:flex;gap:4px}.referral-panel__link-box input{flex:1;padding:7px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);font-size:11px;font-family:var(--font-mono);color:var(--text-secondary);outline:none;min-width:0}.referral-panel__link-box button{padding:7px 10px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.referral-panel__link-box button:hover{border-color:var(--accent);color:var(--accent)}@media (max-width: 640px){.premium-modal__plans{grid-template-columns:1fr}.premium-modal{max-height:85vh}.referral-panel__share-grid{grid-template-columns:repeat(2,1fr)}}.dc-navbar{position:sticky;top:0;z-index:50;background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border-bottom:1px solid var(--border);box-shadow:var(--glass-shadow)}.dc-navbar__inner{display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 24px;height:50px;width:100%}.dc-navbar__brand{display:inline-flex;align-items:center;gap:8px;border:none;background:transparent;cursor:pointer;padding:4px 8px;border-radius:var(--radius-md, 8px);color:inherit}.dc-navbar__brand:hover{background:var(--bg-hover)}.dc-brand{display:inline-flex;align-items:center;gap:8px;transition:gap .22s ease}.dc-brand__label{display:inline-grid;align-items:center;min-width:0}.dc-brand__label-full,.dc-brand__label-short{grid-area:1 / 1;white-space:nowrap;transition:opacity .28s cubic-bezier(.4,0,.2,1),transform .28s cubic-bezier(.4,0,.2,1),max-width .28s cubic-bezier(.4,0,.2,1)}.dc-brand--compact .dc-brand__label-full{opacity:0;max-width:0;overflow:hidden;transform:translate(-8px);pointer-events:none}.dc-brand--compact .dc-brand__label-short{opacity:1;transform:none}.dc-brand--expanded{gap:9px}.dc-brand--expanded .dc-brand__label-short{opacity:0;max-width:0;overflow:hidden;transform:scale(.88);pointer-events:none}.dc-brand--expanded .dc-brand__label-full{opacity:1;max-width:12rem;transform:none}@media (prefers-reduced-motion: reduce){.dc-brand__label-full,.dc-brand__label-short{transition:none}}.dc-brand-wordmark{font-family:var(--font-hand);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;color:var(--text-primary)}.dc-brand-wordmark__accent{color:var(--brand-purple, #6965db)}.auth__logo .dc-brand-wordmark{font-size:1.35rem}.dc-navbar__title{font-size:16px;font-weight:700;color:var(--text-primary)}.dc-navbar__links{display:flex;align-items:center;justify-content:center;gap:6px;flex:1}.dc-navbar__sep{display:inline-flex;align-items:center;justify-content:center;padding:0 4px;color:var(--text-tertiary, #888);font-size:14px;font-weight:400;opacity:.55;-webkit-user-select:none;user-select:none;line-height:1}.dc-navbar__ephemeral-tab{display:inline-flex;align-items:center;gap:2px;max-width:180px;padding:2px 4px 2px 10px;border-radius:var(--radius-md);color:var(--text-secondary);transition:color .18s ease,background .18s ease,transform .18s ease;position:relative;animation:dc-eph-tab-in .32s cubic-bezier(.22,1,.36,1) both}.dc-navbar__ephemeral-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.dc-navbar__ephemeral-tab--active{color:var(--brand-purple, #6965db);background:color-mix(in srgb,var(--brand-purple, #6965db) 12%,transparent)}.dc-navbar__ephemeral-tab--active:after{content:"";position:absolute;left:10px;right:28px;bottom:2px;height:2px;border-radius:2px;background:var(--brand-purple, #6965db);opacity:.85;animation:dc-eph-tab-underline .28s cubic-bezier(.22,1,.36,1) both}@keyframes dc-eph-tab-in{0%{opacity:0}to{opacity:1}}@keyframes dc-eph-tab-underline{0%{transform:scaleX(.4);opacity:0}to{transform:scaleX(1);opacity:.85}}.dc-navbar__ephemeral-tab__label{border:none;background:transparent;color:inherit;font-size:14px;font-weight:500;font-family:inherit;padding:4px 2px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px}.dc-navbar__ephemeral-tab--profile{max-width:220px;padding-left:6px}.dc-navbar__ephemeral-tab__label--profile{display:inline-flex;align-items:center;gap:7px;max-width:170px;padding-left:0}.dc-navbar__ephemeral-tab__avatar{width:18px;height:18px;border-radius:50%;overflow:hidden;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-gradient, linear-gradient(135deg, #6366F1, #10B981));font-size:8px;font-weight:700;color:#fff;line-height:1}.dc-navbar__ephemeral-tab__avatar img{width:100%;height:100%;object-fit:cover}.dc-navbar__ephemeral-tab__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.dc-navbar__ephemeral-tab--profile.dc-navbar__ephemeral-tab--active:after{left:28px}.dc-navbar__ephemeral-tab__close{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:5px;background:transparent;color:inherit;opacity:.55;cursor:pointer;flex-shrink:0}.dc-navbar__ephemeral-tab:hover .dc-navbar__ephemeral-tab__close,.dc-navbar__ephemeral-tab--active .dc-navbar__ephemeral-tab__close{opacity:.85}.dc-navbar__ephemeral-tab__close:hover{opacity:1;background:color-mix(in srgb,var(--text-primary) 10%,transparent);color:var(--text-primary)}.dc-navbar__link{font-size:14px;font-weight:500;padding:6px 18px;border-radius:var(--radius-md);color:var(--text-secondary);transition:var(--transition-fast);white-space:nowrap;position:relative}.dc-navbar__link:hover{color:var(--text-primary);background:var(--bg-hover)}.dc-navbar__link--active{color:var(--brand-purple, #6965db);background:color-mix(in srgb,var(--brand-purple, #6965db) 12%,transparent)}.dc-navbar__link--active:after{content:"";position:absolute;left:18px;right:18px;bottom:2px;height:2px;border-radius:2px;background:var(--brand-purple, #6965db);opacity:.85}@media (prefers-reduced-motion: reduce){.dc-navbar__link--active:after{animation:none}}.dc-navbar__theme-btn{padding:6px;border-radius:var(--radius-sm);color:var(--text-secondary);transition:var(--transition-fast);flex-shrink:0}.dc-navbar__theme-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.dc-navbar__actions{display:flex;align-items:center;gap:2px;flex-shrink:0}.dc-navbar__icon-btn{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast)}.dc-navbar__icon-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.dc-navbar__icon-btn:focus-visible{border-color:var(--accent-secondary);outline:none}.dc-navbar__theme-toggle svg,[data-dc-theme-toggle] svg{transition:transform .28s cubic-bezier(.22,1,.36,1)}html.dc-theme-revealing--to-day .dc-navbar__theme-toggle svg,html.dc-theme-revealing--to-day [data-dc-theme-toggle] svg{animation:dc-theme-icon-day .62s cubic-bezier(.22,.99,.28,1) both}html.dc-theme-revealing--to-night .dc-navbar__theme-toggle svg,html.dc-theme-revealing--to-night [data-dc-theme-toggle] svg{animation:dc-theme-icon-night .62s cubic-bezier(.22,.99,.28,1) both}@keyframes dc-theme-icon-day{0%{transform:rotate(-48deg) scale(.72);opacity:.55}55%{transform:rotate(8deg) scale(1.1);opacity:1}to{transform:rotate(0) scale(1);opacity:1}}@keyframes dc-theme-icon-night{0%{transform:rotate(36deg) scale(.72);opacity:.55}55%{transform:rotate(-10deg) scale(1.08);opacity:1}to{transform:rotate(0) scale(1);opacity:1}}@keyframes dc-theme-icon-sketch{0%{transform:rotate(0) scale(1)}42%{transform:rotate(-18deg) scale(.82)}72%{transform:rotate(9deg) scale(1.12)}to{transform:rotate(0) scale(1)}}.dc-cloud-save-btn{position:relative;transition:color .2s ease,background .2s ease}.dc-cloud-save-btn--dirty{color:var(--accent-secondary, #6366F1)}.dc-cloud-save-btn--error{color:var(--danger, #f87171)}.dc-cloud-save-btn--busy{color:var(--text-secondary, #94a3b8);cursor:wait}.dc-cloud-save-btn--ok{color:#16a34a}html[data-theme=dark] .dc-cloud-save-btn--ok{color:#4ade80}.dc-cloud-save-btn__dot{position:absolute;top:5px;right:5px;width:6px;height:6px;border-radius:50%;background:var(--accent-secondary, #6366F1);box-shadow:0 0 0 2px var(--bg-primary, #0f1115)}.dc-cloud-save__spinner{animation:dc-cloud-save-spin .75s linear infinite}@keyframes dc-cloud-save-spin{to{transform:rotate(360deg)}}.dc-mobile-sheet__actions .dc-cloud-save-btn{display:flex;align-items:center;gap:10px;width:100%}.dc-mobile-nav,.dc-mobile-sheet,.dc-mobile-sheet-backdrop,.dc-mobile-workspace-backdrop,.dc-mobile-workspace-trigger,.dc-notes-mobile-bar{display:none}@media (max-width: 768px){.dc-navbar{position:sticky}.dc-navbar__inner{height:52px;padding:0 max(12px,env(safe-area-inset-right)) 0 max(12px,env(safe-area-inset-left))}.dc-navbar__links{display:none}.dc-navbar__brand{padding-left:0}.dc-navbar__brand .dc-brand--expanded .dc-brand__label-full{max-width:9rem}.dc-navbar__actions>.dc-navbar__icon-btn:not(.dc-navbar__theme-toggle):not(.nc__trigger){display:none}.dc-navbar__actions .nc{display:inline-flex}.dc-navbar__actions .user-profile-menu,.dc-navbar__actions [class*=profile]{display:none}.dc-navbar__icon-btn{width:40px;height:40px}.dc-mobile-nav{position:fixed;z-index:120;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;left:0;right:0;bottom:0;width:100%;max-width:100%;margin:0;height:calc(58px + env(safe-area-inset-bottom));padding:4px 8px env(safe-area-inset-bottom);border-top:1.5px dashed color-mix(in srgb,var(--brand-purple, #6965db) 42%,var(--border, rgba(128, 128, 128, .35)));border-left:none;border-right:none;border-bottom:none;border-radius:0;background-color:var(--bg-primary);background-image:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--brand-purple, #6965db) 18%,transparent) 1px,transparent 0);background-size:20px 20px;box-shadow:0 -4px 20px #0000001f;backdrop-filter:blur(20px) saturate(160%);-webkit-backdrop-filter:blur(20px) saturate(160%);box-sizing:border-box}.dc-mobile-nav__slider{position:absolute;top:2px;bottom:env(safe-area-inset-bottom);left:8px;width:calc((100% - 16px)/5);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:2px;background:transparent;border:none;box-shadow:none;pointer-events:none;z-index:1;transition:transform .36s cubic-bezier(.34,1.45,.64,1);will-change:transform;box-sizing:border-box}.dc-mobile-nav__slider:after{content:"";width:28px;height:3.5px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--brand-purple, #6965db) 80%,#8b5cf6),var(--brand-purple, #6965db));box-shadow:0 2px 8px color-mix(in srgb,var(--brand-purple, #6965db) 65%,transparent),0 0 2px color-mix(in srgb,var(--brand-purple, #6965db) 90%,#fff);transform:rotate(-1deg)}.dc-mobile-nav__item{position:relative;z-index:2;min-width:0;height:52px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border-radius:14px 12px 15px 13px/13px 15px 12px 14px;color:var(--text-tertiary, #71717a);font-family:var(--font-hand, cursive);font-size:11px;font-weight:600;cursor:pointer;background:transparent;border:none;transition:color .28s ease,transform .28s cubic-bezier(.34,1.56,.64,1);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.dc-mobile-nav__icon-wrap{display:flex;align-items:center;justify-content:center;width:28px;height:26px;transition:transform .34s cubic-bezier(.34,1.56,.64,1),color .24s ease,filter .24s ease}.dc-mobile-nav__icon-wrap svg{flex:0 0 auto;transition:stroke-width .24s ease,transform .34s cubic-bezier(.34,1.56,.64,1)}.dc-mobile-nav__label{display:block;line-height:1;font-size:10.5px;font-family:var(--font-hand, cursive);transition:transform .28s cubic-bezier(.34,1.56,.64,1),font-weight .24s ease,color .24s ease}.dc-mobile-nav__item:hover{color:var(--text-primary)}.dc-mobile-nav__item--active{color:var(--brand-purple, #6965db)}.dc-mobile-nav__item--active .dc-mobile-nav__icon-wrap{transform:translateY(-3px) scale(1.16);color:var(--brand-purple, #6965db);filter:drop-shadow(0 2px 6px color-mix(in srgb,var(--brand-purple, #6965db) 45%,transparent))}.dc-mobile-nav__item--active .dc-mobile-nav__label{color:var(--brand-purple, #6965db);font-weight:700;transform:translateY(-1px)}.dc-mobile-nav__item:active{transform:scale(.88)}.dc-mobile-nav__item:active .dc-mobile-nav__icon-wrap{transform:scale(.92) rotate(-6deg)}.dc-mobile-sheet-backdrop{display:block;position:fixed;z-index:125;top:0;right:0;bottom:0;left:0;border:0;background:#0c0c1266;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dc-mobile-sheet{display:block;position:fixed;z-index:130;left:0;right:0;bottom:0;width:100%;max-width:100%;margin:0;padding:14px 16px calc(24px + env(safe-area-inset-bottom));border-top:2px solid color-mix(in srgb,var(--brand-purple, #6965db) 45%,var(--border, rgba(0, 0, 0, .15)));border-left:0;border-right:0;border-bottom:0;border-radius:26px 26px 0 0;background-color:var(--bg-primary);background-image:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--brand-purple, #6965db) 22%,transparent) 1px,transparent 0);background-size:20px 20px;backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);box-shadow:0 -16px 44px #00000047;transform:translateY(105%);transition:transform .32s cubic-bezier(.22,1,.36,1);visibility:hidden}.dc-mobile-sheet--open{transform:translateY(0);visibility:visible}.dc-mobile-sheet__grabber{width:44px;height:4.5px;margin:0 auto 14px;border-radius:999px;background:color-mix(in srgb,var(--brand-purple, #6965db) 50%,var(--border))}.dc-mobile-sheet__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;font-family:var(--font-hand, cursive);font-size:20px;font-weight:700;color:var(--text-primary)}.dc-mobile-sheet__head button{width:34px;height:34px;border:1.5px solid color-mix(in srgb,var(--brand-purple, #6965db) 35%,var(--border));border-radius:12px 10px 14px 11px/11px 13px 10px 12px;background:var(--bg-primary);color:var(--text-secondary);font-size:20px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s cubic-bezier(.34,1.56,.64,1)}.dc-mobile-sheet__head button:active{transform:scale(.9) rotate(8deg);color:var(--brand-purple, #6965db)}.dc-mobile-sheet__links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.dc-mobile-sheet__link-btn{min-height:48px;padding:9px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1.5px solid color-mix(in srgb,var(--brand-purple, #6965db) 35%,var(--border));border-radius:14px 12px 15px 13px/13px 15px 12px 14px;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-hand, cursive);font-size:13.5px;font-weight:600;box-shadow:2px 2px color-mix(in srgb,var(--brand-purple, #6965db) 20%,transparent);cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease}.dc-mobile-sheet__link-arrow{font-size:14px;color:var(--brand-purple, #6965db);transition:transform .2s ease}.dc-mobile-sheet__link-btn:active{transform:scale(.94) rotate(-.5deg);box-shadow:1px 1px color-mix(in srgb,var(--brand-purple, #6965db) 30%,transparent)}.dc-mobile-sheet__link-btn.is-active{background:color-mix(in srgb,var(--brand-purple, #6965db) 14%,var(--bg-primary));border-color:var(--brand-purple, #6965db);color:var(--brand-purple, #6965db);box-shadow:2px 2px color-mix(in srgb,var(--brand-purple, #6965db) 40%,transparent);font-weight:700}.dc-mobile-sheet__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.dc-mobile-sheet__actions button{min-height:44px;padding:8px 12px;display:flex;align-items:center;justify-content:flex-start;gap:8px;border:1.5px solid var(--border);border-radius:14px 12px 15px 13px/13px 15px 12px 14px;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-hand, cursive);font-size:12.5px;font-weight:600;box-shadow:2px 2px color-mix(in srgb,var(--border) 40%,transparent);cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1),background .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease;text-align:left}.dc-mobile-sheet__btn-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--brand-purple, #6965db);flex-shrink:0}.dc-mobile-sheet__actions button:active{transform:scale(.94);border-color:color-mix(in srgb,var(--brand-purple, #6965db) 50%,var(--border))}.dc-mobile-sheet__profile{margin-top:10px;padding-top:10px;border-top:1.5px dashed color-mix(in srgb,var(--brand-purple, #6965db) 35%,var(--border))}.dc-mobile-sheet__profile .upm{width:100%}.dc-mobile-sheet__profile .upm__trigger{width:100%;min-height:46px;border:1.5px solid color-mix(in srgb,var(--brand-purple, #6965db) 40%,var(--border));border-radius:14px 12px 15px 13px;background:var(--bg-primary);box-shadow:2px 2px color-mix(in srgb,var(--brand-purple, #6965db) 25%,transparent);font-family:var(--font-hand, cursive)}.dc-mobile-sheet__profile .dc-navbar__signin{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center;border:1.5px solid var(--brand-purple, #6965db);border-radius:14px 12px 15px 13px;background:color-mix(in srgb,var(--brand-purple, #6965db) 14%,var(--bg-primary));color:var(--brand-purple, #6965db);font-family:var(--font-hand, cursive);font-size:15px;font-weight:700;box-shadow:2px 2px color-mix(in srgb,var(--brand-purple, #6965db) 40%,transparent);cursor:pointer;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.dc-mobile-sheet__profile .dc-navbar__signin:active{transform:scale(.95)}@media (prefers-reduced-motion: reduce){.dc-mobile-nav__item,.dc-mobile-sheet,.ft-sidebar{transition:none!important}.dc-mobile-nav__item:active{transform:none}}.obs-app__body,.dc-theory-reader__body,.dc-catalog,.dc-detail__content--unified{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.obs-app.cv-app .obs-app__body,.excalidraw-page .obs-app__body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.dc-mobile-workspace-backdrop{display:block;position:fixed;z-index:92;top:52px;right:0;bottom:0;left:0;border:0;background:#080a124d;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ft-sidebar{position:fixed!important;z-index:100;top:52px;bottom:0;left:0;width:min(86vw,340px)!important;max-width:min(86vw,340px)!important;transform:translate(-105%);transition:transform .25s cubic-bezier(.22,1,.36,1);box-shadow:12px 0 30px #0003}.ft-sidebar.ft-sidebar--mobile-open{transform:translate(0)}.ft-sidebar .sidebar-resizer,.ft-sidebar .sidebar-resize-handle,.ft-actions__btn--sidebar-collapse{display:none!important}.dc-mobile-workspace-trigger{display:inline-flex;align-items:center;gap:6px;min-height:40px;margin:6px 8px -2px;padding:0 9px;border:1px solid var(--obs-border, var(--border));border-radius:9px;background:var(--obs-chrome, var(--bg-secondary));color:var(--obs-strong, var(--text-primary));font-size:12px;font-weight:600}.dc-mobile-workspace-trigger--canvas{min-height:32px;width:32px;margin:0 4px 0 0;padding:0;justify-content:center}.dc-notes-mobile-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;height:48px;padding:0 12px;border-bottom:1.5px solid color-mix(in srgb,var(--brand-purple, #6965db) 25%,var(--border-light, rgba(128, 128, 128, .25)));background:color-mix(in srgb,var(--bg-primary) 96%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);flex-shrink:0;z-index:10}.dc-notes-mobile-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border:1.5px solid color-mix(in srgb,var(--brand-purple, #6965db) 55%,var(--border-light, rgba(128, 128, 128, .35)));border-radius:12px 10px 14px 9px/10px 13px 9px 12px;font-family:var(--font-hand, cursive);font-size:13px;font-weight:700;cursor:pointer;color:var(--brand-purple, #6965db);background:color-mix(in srgb,var(--brand-purple, #6965db) 8%,transparent);transform:rotate(-.3deg);transition:transform .16s ease,border-color .16s ease,background .16s ease,box-shadow .16s ease;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.dc-notes-mobile-btn:hover{transform:translateY(-1px) rotate(0);border-color:var(--brand-purple, #6965db);background:color-mix(in srgb,var(--brand-purple, #6965db) 14%,transparent);box-shadow:2px 2px color-mix(in srgb,var(--brand-purple, #6965db) 28%,transparent)}.dc-notes-mobile-btn:active{transform:scale(.94) rotate(0);background:color-mix(in srgb,var(--brand-purple, #6965db) 18%,transparent)}.dc-notes-mobile-btn--new{width:32px;height:30px;padding:0;justify-content:center;border-radius:10px 12px 9px 11px/11px 9px 12px 10px;transform:rotate(.4deg)}.dc-notes-mobile-title,.dc-notes-mobile-title-wrap{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;padding:0 4px}.dc-notes-mobile-title{text-align:center;font-family:var(--font-hand, cursive);font-size:14.5px;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dc-notes-mobile-title-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;max-width:100%;padding:3px 8px;border:1px dashed transparent;border-radius:8px;background:transparent;cursor:pointer;font-family:var(--font-hand, cursive);font-size:14.5px;font-weight:700;color:var(--text-primary);transition:background .18s ease,border-color .18s ease,transform .18s ease}.dc-notes-mobile-title-btn.is-editable:hover,.dc-notes-mobile-title-btn.is-editable:active{background:color-mix(in srgb,var(--brand-purple, #6965db) 12%,transparent);border-color:color-mix(in srgb,var(--brand-purple, #6965db) 40%,transparent);transform:scale(.98)}.dc-notes-mobile-title-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.dc-notes-mobile-title-pencil{color:var(--brand-purple, #6965db);opacity:.65;flex-shrink:0;transition:opacity .18s ease}.dc-notes-mobile-title-btn:hover .dc-notes-mobile-title-pencil{opacity:1}.dc-notes-mobile-title-input{width:min(220px,100%);height:30px;padding:2px 8px;font-family:var(--font-hand, cursive);font-size:14px;font-weight:700;color:var(--text-primary);background:var(--bg-primary);border:1.5px solid var(--brand-purple, #6965db);border-radius:8px;text-align:center;outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-purple, #6965db) 20%,transparent)}.dc-notes-mobile-btn-spacer{width:32px;flex-shrink:0}.obs-app:not(.ce-app) .obs-tabbar{display:none!important}.obs-app.ce-app .obs-tabbar{height:38px;min-height:38px;padding:0 8px;justify-content:flex-end}.obs-app.ce-app .obs-tabbar .obs-tabs,.obs-app [data-dc-tour=code-split],.obs-app [data-dc-tour=code-io-layout],.obs-app [title="Split right"],.obs-app [title="Close pane"],.obs-app [title="Split down"],.obs-tabbar__icon-btn[data-dc-tour=code-split]{display:none!important}.dc-catalog,.dc-problems-page{padding:24px 16px calc(92px + env(safe-area-inset-bottom))}.dc-catalog__header{margin-bottom:20px}.dc-catalog__title{font-size:clamp(30px,9vw,42px);line-height:1.04}.dc-catalog__desc{font-size:15px;line-height:1.5}.dc-tag-cloud__wrap,.dc-problems-toolbar__diff{flex-wrap:nowrap;overflow-x:auto;padding:2px 1px 8px;margin-bottom:-8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.dc-tag-cloud--skeleton .dc-tag-cloud__wrap--skeleton{flex-wrap:wrap!important;overflow:visible!important;padding:0;margin-bottom:0}.dc-tag-cloud__wrap::-webkit-scrollbar{display:none}.dc-tag-pill{min-height:38px;padding:5px 13px}.dc-card-grid,.dc-catalog--wide .dc-card-grid{grid-template-columns:1fr;gap:10px}.dc-algo-card{padding:15px;min-height:120px}.dc-problems-page{width:100%;max-width:100%;margin:0 auto;box-sizing:border-box}.dc-problems-page__body{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:16px;width:100%}.dc-problems-page__main{position:relative;z-index:2;flex:0 0 auto;width:100%;max-width:100%;margin:0;padding-top:4px;background:var(--bg-primary);order:unset}.dc-problems-profile--full{display:none!important}.dc-problems-profile--highlights,.dc-problems-profile--details{display:flex!important;flex-direction:column!important;position:static!important;top:auto!important;width:100%!important;max-width:100%!important;flex:0 0 auto!important;height:auto!important;min-height:0;overflow:visible!important;margin:0;gap:12px;order:unset;z-index:1}.dc-problems-profile--highlights{margin-bottom:4px}.dc-problems-profile--details{margin-top:8px;margin-bottom:calc(12px + env(safe-area-inset-bottom))}.dc-problems-profile--highlights .dc-profile-activity,.dc-problems-profile--highlights .dc-profile-heatmap{position:relative!important;display:flex;flex-direction:column;width:100%;height:auto!important;overflow:visible}.dc-problems-profile--highlights .dc-profile-heatmap{flex-direction:row;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:8px;margin-bottom:4px}.dc-problems-profile__user{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:4px}.dc-problems-profile__avatar-wrap{--dc-avatar-size: 96px;--dc-avatar-gap: 8px;transform:none;transform-origin:center center}.dc-problems-profile__name{font-size:16px;margin:0}.dc-problems-profile__block{margin-top:4px;width:100%}.dc-problems-profile__card-body{justify-content:center;gap:12px}.dc-problems-profile__ring-wrap{transform:scale(.85);transform-origin:center center}.dc-problems-profile__status-grid{margin-top:4px;width:100%}.dc-problems-profile .dc-profile-activity,.dc-problems-profile .dc-profile-daily,.dc-problems-profile .dc-profile-calendar{display:block;width:100%;max-width:100%;box-sizing:border-box;position:relative;height:auto;overflow:visible}.dc-problems-profile .dc-profile-heatmap,.dc-problems-profile .dc-profile-heatmap__grid-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.dc-problems-profile .dc-profile-heatmap__grid{min-width:max-content}.dc-problems-profile .dc-profile-calendar{overflow:visible}.dc-problems-profile .dc-profile-calendar__grid,.dc-problems-profile .dc-profile-daily__body{width:100%}.dc-catalog--problems .dc-catalog__search-row,.dc-catalog--problems .dc-tag-cloud,.dc-catalog--problems .dc-problems-toolbar,.dc-catalog--problems .dc-problem-list,.dc-catalog--problems .dc-pagination{width:100%;max-width:100%;margin-left:auto;margin-right:auto}.dc-catalog--problems .dc-problem-list{border:1px solid color-mix(in srgb,var(--border) 85%,transparent);border-radius:var(--radius-md, 8px);overflow:hidden;background:var(--bg-primary);box-sizing:border-box}.dc-catalog--problems .dc-problem-list__header{display:flex;position:sticky;top:0;z-index:1;padding:7px 10px 7px 12px;font-size:10px;width:100%;box-sizing:border-box}.dc-catalog--problems .dc-problem-list__col--cat,.dc-catalog--problems .dc-problem-list__col--icon,.dc-catalog--problems .dc-problem-row__cat,.dc-catalog--problems .dc-problem-row__icon-wrap,.dc-catalog--problems .dc-problem-sort-head--cat{display:none!important;width:0!important;min-width:0!important;margin:0!important;padding:0!important;overflow:hidden}.dc-catalog--problems .dc-problem-list__col--status,.dc-catalog--problems .dc-problem-row__status{width:72px;flex-shrink:0;font-size:11px}.dc-catalog--problems .dc-problem-list__col--diff,.dc-catalog--problems .dc-problem-row__diff,.dc-catalog--problems .dc-problem-sort-head--diff{width:72px;flex-shrink:0;font-size:11px;font-weight:700}.dc-catalog--problems .dc-problem-sort-head--title{flex:1;min-width:0}.dc-catalog--problems .dc-problem-row{display:flex;align-items:center;width:100%;min-height:46px;margin:0;padding:8px 10px 8px 12px;border:none;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);border-radius:0;background:transparent;text-align:left;gap:0;box-sizing:border-box}.dc-catalog--problems .dc-problem-row:last-child{border-bottom:none}.dc-catalog--problems .dc-problem-row__title{flex:1;min-width:0;font-size:13px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dc-catalog--problems .dc-problem-row__num{width:36px;font-size:12px}.dc-pagination{padding-bottom:8px}.dc-theory-reader__topbar{padding:8px 12px;gap:8px}.dc-theory-reader__title-block{min-width:0}.dc-theory-reader__track-title{font-size:13px}.dc-theory-reader__breadcrumb{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.dc-theory-sidebar{width:min(86vw,336px)!important;max-width:min(86vw,336px);height:100%!important;top:0!important;box-shadow:10px 0 28px #0000002e}.dc-theory-sidebar--collapsed{transform:translate(-105%);opacity:1;pointer-events:none}.dc-theory-mobile-backdrop{display:block;z-index:95;top:0;right:0;bottom:0;left:0}.dc-theory-sidebar{z-index:100;position:fixed!important}.dc-theory-reader__main,.dc-theory-main{min-width:0}.dc-theory-article{padding:20px 16px calc(96px + env(safe-area-inset-bottom))}.dc-theory-article__title{font-size:clamp(26px,8vw,34px)}.dc-theory-reader .markdown-viewer__content{font-size:16px;line-height:1.72}.obs-tabs{overflow-x:auto;scrollbar-width:none}.obs-tabs::-webkit-scrollbar{display:none}.obs-tab{min-height:36px;flex:0 1 auto}.obs-tab--active{flex:0 0 auto;min-width:calc(var(--obs-tab-active-title-ch) + var(--obs-tab-active-chrome))}.obs-app.ce-app .ce-main{min-height:0}.obs-app.ce-app .ce-io-split__handle.obs-split__handle--vertical{height:14px}.obs-app.cv-app .obs-tabbar,.excalidraw-page .obs-tabbar{display:none!important}.obs-app.cv-app .cv-main,.excalidraw-page .cv-main{min-height:0}.obs-app.cv-app .excalidraw .layer-ui__wrapper__footer,.obs-app.cv-app .excalidraw .App-bottom-bar,.excalidraw-page .excalidraw .layer-ui__wrapper__footer,.excalidraw-page .excalidraw .App-bottom-bar{background:transparent!important;border:none!important;box-shadow:none!important;pointer-events:none!important}.obs-app.cv-app .excalidraw .layer-ui__wrapper__footer>*,.obs-app.cv-app .excalidraw .App-bottom-bar>*,.excalidraw-page .excalidraw .layer-ui__wrapper__footer>*,.excalidraw-page .excalidraw .App-bottom-bar>*{pointer-events:auto!important}.obs-app.cv-app .excalidraw .App-bottom-bar .Island,.excalidraw-page .excalidraw .App-bottom-bar .Island,.obs-app.cv-app .excalidraw .App-bottom-bar__actions .Island,.excalidraw-page .excalidraw .App-bottom-bar__actions .Island{background:transparent!important;border:none!important;box-shadow:none!important;width:auto!important;max-width:max-content!important;padding:0!important;margin:0!important}.obs-app.cv-app .excalidraw .App-toolbar,.excalidraw-page .excalidraw .Island.App-toolbar,.obs-app.cv-app .excalidraw .Island.App-toolbar{position:fixed!important;bottom:calc(64px + env(safe-area-inset-bottom))!important;left:50%!important;transform:translate(-50%)!important;width:min(calc(100vw - 16px),480px)!important;max-width:calc(100vw - 16px)!important;height:44px!important;min-height:44px!important;padding:3px 6px!important;margin:0 auto!important;border:1.5px solid color-mix(in srgb,var(--brand-purple, #6965db) 42%,var(--border, rgba(0, 0, 0, .18)))!important;border-radius:14px 12px 15px 13px/13px 15px 12px 14px!important;background-color:var(--bg-primary)!important;background-image:radial-gradient(circle at 1px 1px,color-mix(in srgb,var(--brand-purple, #6965db) 18%,transparent) 1px,transparent 0)!important;background-size:20px 20px!important;box-shadow:2.5px 3px color-mix(in srgb,var(--brand-purple, #6965db) 24%,transparent),0 8px 24px #0003!important;backdrop-filter:blur(20px) saturate(160%)!important;-webkit-backdrop-filter:blur(20px) saturate(160%)!important;display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:flex-start!important;overflow-x:auto!important;overflow-y:hidden!important;scrollbar-width:none!important;-webkit-overflow-scrolling:touch!important;z-index:110!important;pointer-events:auto!important}.obs-app.cv-app .excalidraw .App-toolbar::-webkit-scrollbar,.excalidraw-page .excalidraw .App-toolbar::-webkit-scrollbar{display:none!important}.obs-app.cv-app .excalidraw .App-toolbar .shapes-section,.obs-app.cv-app .excalidraw .App-toolbar section,.obs-app.cv-app .excalidraw .App-toolbar .Stack.Stack_horizontal,.obs-app.cv-app .excalidraw .App-toolbar .Stack.Stack_vertical,.excalidraw-page .excalidraw .App-toolbar .shapes-section,.excalidraw-page .excalidraw .App-toolbar section,.excalidraw-page .excalidraw .App-toolbar .Stack.Stack_horizontal,.excalidraw-page .excalidraw .App-toolbar .Stack.Stack_vertical{flex-wrap:nowrap!important;gap:4px!important;min-width:max-content!important}.obs-app.cv-app .excalidraw .App-toolbar .ToolIcon,.obs-app.cv-app .excalidraw .App-toolbar .ToolIcon__icon,.excalidraw-page .excalidraw .App-toolbar .ToolIcon,.excalidraw-page .excalidraw .App-toolbar .ToolIcon__icon{width:32px!important;height:32px!important;min-width:32px!important;border-radius:8px!important}.obs-app.cv-app .excalidraw .App-bottom-bar__actions,.excalidraw-page .excalidraw .App-bottom-bar__actions,.obs-app.cv-app .excalidraw .layer-ui__wrapper__footer-left,.excalidraw-page .excalidraw .layer-ui__wrapper__footer-left{position:fixed!important;bottom:calc(118px + env(safe-area-inset-bottom))!important;left:12px!important;right:auto!important;top:auto!important;transform:none!important;background:transparent!important;border:none!important;box-shadow:none!important;width:auto!important;max-width:max-content!important;padding:0!important;margin:0!important;z-index:109!important;pointer-events:none!important}.obs-app.cv-app .excalidraw .App-bottom-bar__actions>*,.excalidraw-page .excalidraw .App-bottom-bar__actions>*,.obs-app.cv-app .excalidraw .layer-ui__wrapper__footer-left>*,.excalidraw-page .excalidraw .layer-ui__wrapper__footer-left>*{pointer-events:auto!important;background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}.obs-app.cv-app .excalidraw .undo-redo-buttons,.excalidraw-page .excalidraw .undo-redo-buttons,.obs-app.cv-app .excalidraw .actions-container,.excalidraw-page .excalidraw .actions-container,.obs-app.cv-app .excalidraw .layer-ui__wrapper__footer-left .Island,.excalidraw-page .excalidraw .layer-ui__wrapper__footer-left .Island{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:4px!important;padding:2px 4px!important;border:1.5px solid color-mix(in srgb,var(--brand-purple, #6965db) 38%,var(--border, rgba(0, 0, 0, .2)))!important;border-radius:10px!important;background-color:var(--bg-primary)!important;box-shadow:2px 2px color-mix(in srgb,var(--brand-purple, #6965db) 22%,transparent)!important}.obs-app.cv-app .excalidraw .undo-redo-buttons button,.excalidraw-page .excalidraw .undo-redo-buttons button,.obs-app.cv-app .excalidraw .actions-container button,.excalidraw-page .excalidraw .actions-container button,.obs-app.cv-app .excalidraw .App-bottom-bar__actions button,.excalidraw-page .excalidraw .App-bottom-bar__actions button{width:28px!important;height:28px!important;min-width:28px!important;padding:0!important;margin:0!important;border-radius:6px!important;border:none!important;background:transparent!important;color:var(--text-primary)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.nc-agentbar-mobile-fab{display:inline-flex!important;align-items:center;justify-content:center;position:fixed!important;bottom:calc(118px + env(safe-area-inset-bottom))!important;right:12px!important;left:auto!important;top:auto!important;width:38px!important;height:38px!important;min-width:38px!important;padding:0!important;border:1.5px solid color-mix(in srgb,var(--brand-purple, #6965db) 60%,transparent)!important;border-radius:50%!important;background:var(--bg-primary)!important;color:var(--brand-purple, #6965db)!important;box-shadow:2px 2.5px color-mix(in srgb,var(--brand-purple, #6965db) 30%,transparent),0 4px 12px #00000026!important;cursor:pointer;z-index:115!important;transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease}.nc-agentbar-mobile-fab.is-hidden{display:none!important}.nc-agentbar-mobile-fab:active{transform:scale(.9)}body.has-mobile-agent-open .obs-app.cv-app .excalidraw .App-toolbar,body.has-mobile-agent-open .excalidraw-page .excalidraw .Island.App-toolbar,body.has-mobile-agent-open .obs-app.cv-app .excalidraw .Island.App-toolbar,body.has-mobile-agent-open .excalidraw .layer-ui__wrapper .Island,body.has-mobile-agent-open .obs-app.cv-app .excalidraw .layer-ui__wrapper__footer-left,body.has-mobile-agent-open .excalidraw-page .excalidraw .layer-ui__wrapper__footer-left{display:none!important}.obs-app.cv-app .nc-agentbar:not(.is-mobile-expanded),.excalidraw-page .nc-agentbar:not(.is-mobile-expanded){display:none!important}.obs-app.cv-app .nc-agentbar.is-mobile-expanded,.excalidraw-page .nc-agentbar.is-mobile-expanded{display:flex!important;position:fixed!important;bottom:calc(64px + env(safe-area-inset-bottom))!important;left:8px!important;right:8px!important;width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;transform:none!important;z-index:128!important;animation:dcMobileAgentSlideUp .25s cubic-bezier(.22,1,.36,1) both}.nc-agentbar__mobile-close-btn{display:inline-flex!important;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;color:var(--text-tertiary, #888);font-size:14px;font-weight:700;cursor:pointer;border-radius:6px;margin-left:2px}.nc-agentbar__mobile-close-btn:active{color:var(--brand-purple, #6965db);transform:scale(.9)}}.nc-agentbar-mobile-fab,.nc-agentbar__mobile-close-btn{display:none}@keyframes dcMobileAgentSlideUp{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dc-spinner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--brand-purple, #6965db);padding:8px}.dc-spinner--inline{flex-direction:row;gap:10px;padding:0}.dc-spinner__svg{animation:dcSpinWhole 6s linear infinite}.dc-spinner__arc{transform-origin:24px 24px;animation:dcSpinArc 1s cubic-bezier(.4,0,.2,1) infinite}.dc-spinner__slash{transform-origin:24px 24px;animation:dcSpinSlashPulse 1.2s ease-in-out infinite}.dc-spinner__label{font-family:var(--font-hand);font-size:13px;color:var(--text-secondary);letter-spacing:.2px}@keyframes dcSpinArc{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dcSpinWhole{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dcSpinSlashPulse{0%,to{opacity:.5}50%{opacity:1}}@media (max-width: 768px){.obs-app__body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.ft-sidebar{position:fixed!important;z-index:100;top:52px;bottom:0;left:0;width:min(86vw,340px)!important;max-width:min(86vw,340px)!important;transform:translate(-105%);transition:transform .25s cubic-bezier(.22,1,.36,1);box-shadow:12px 0 30px #0003}.ft-sidebar.ft-sidebar--mobile-open{transform:translate(0)}.dc-catalog,.dc-problems-page{padding:24px 16px calc(92px + env(safe-area-inset-bottom))}.dc-tag-cloud__wrap,.dc-problems-toolbar__diff{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.dc-tag-cloud--skeleton .dc-tag-cloud__wrap--skeleton{flex-wrap:wrap!important;overflow:visible!important}.dc-tag-cloud__wrap::-webkit-scrollbar{display:none}.dc-card-grid,.dc-catalog--wide .dc-card-grid{grid-template-columns:1fr}.dc-problems-page__body{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:16px}.dc-problems-profile--full{display:none!important}.dc-problems-profile--highlights,.dc-problems-profile--details{display:flex!important;flex-direction:column!important;position:static!important;width:100%!important;max-width:100%!important;flex:0 0 auto!important;height:auto!important;overflow:visible!important}.dc-problems-page__main{position:relative;z-index:2;flex:0 0 auto;width:100%;background:var(--bg-primary)}.dc-theory-reader__body{padding-bottom:calc(78px + env(safe-area-inset-bottom))}.dc-theory-sidebar{width:min(86vw,336px)!important;max-width:min(86vw,336px)}.dc-theory-article{padding:20px 16px calc(96px + env(safe-area-inset-bottom))}.obs-app.ce-app .ce-io-split__handle.obs-split__handle--vertical{height:14px}.obs-app.ce-app .ce-terminal-header__hint{display:none}.dc-canvas-return{bottom:calc(84px + env(safe-area-inset-bottom))}}.dc-section-label{font-family:var(--font-mono);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);margin-bottom:6px}.dc-badge{display:inline-block;font-size:11px;font-weight:600;padding:2px 10px;border-radius:var(--radius-full);white-space:nowrap}.dc-btn{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:6px 14px;border-radius:var(--radius-sm);border:1.5px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);transition:var(--transition-fast);cursor:pointer;white-space:nowrap}.dc-btn:hover{background:var(--bg-hover);transform:translateY(-1px)}.dc-btn--primary{background:var(--accent-secondary);color:#fff;border-color:var(--accent-secondary)}.dc-btn--primary:hover{opacity:.9}.dc-btn--secondary{background:#6366f126;color:var(--accent-secondary);border-color:#6366f14d}.dc-btn--success{background:var(--accent);color:#fff;border-color:var(--accent)}.dc-btn--danger{background:transparent;color:var(--danger);border-color:var(--danger)}.dc-btn--danger:hover{background:var(--danger-bg)}.dc-btn--outline{background:transparent;color:var(--text-secondary)}.dc-btn--xs{font-size:11px;padding:3px 10px}.dc-catalog{max-width:1000px;margin:0 auto;padding:40px 24px;--obs-chrome: var(--bg-secondary);--obs-border: color-mix(in srgb, var(--border) 42%, transparent);--obs-hover: var(--bg-hover);--obs-muted: var(--text-secondary);--obs-strong: var(--text-primary);--obs-input-bg: var(--bg-tertiary);--obs-input-border: var(--border-light);--border-focus: var(--accent-secondary)}.dc-catalog--wide{width:100%;max-width:none;padding:24px clamp(16px,3vw,36px) 48px}.dc-catalog--wide .dc-catalog__header{text-align:left}.dc-catalog--wide .dc-catalog__desc{max-width:640px;margin:0}.dc-catalog__header{text-align:center;margin-bottom:20px}.dc-catalog__title{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:8px}.dc-catalog__desc{font-size:14px;color:var(--text-secondary);max-width:500px;margin:0 auto}.dc-catalog__eyebrow{margin:0 0 6px;font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}.dc-catalog--wide .dc-catalog__eyebrow{text-align:left}.dc-problem-tracks{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.dc-problem-tracks__tab{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);border-radius:999px;padding:7px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.dc-problem-tracks__tab:hover{background:var(--bg-hover);color:var(--text-primary)}.dc-problem-tracks__tab--active{background:color-mix(in srgb,var(--brand-purple, #6965db) 14%,var(--bg-secondary));border-color:color-mix(in srgb,var(--brand-purple, #6965db) 45%,var(--border));color:var(--brand-purple, #6965db)}.dc-problem-tracks__tab--spark.dc-problem-tracks__tab--active{background:color-mix(in srgb,#d97706 12%,var(--bg-secondary));border-color:color-mix(in srgb,#d97706 45%,var(--border));color:#d97706}.dc-catalog--split .dc-catalog__desc{max-width:720px}.dc-problems-split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(16px,2.5vw,28px);align-items:start;min-height:0}.dc-problems-split__col{display:flex;flex-direction:column;min-width:0;min-height:0}.dc-problems-split__col-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.dc-problems-split__col-title{margin:0;font-size:15px;font-weight:700;color:var(--text-primary);letter-spacing:-.01em}.dc-problems-split__col--spark .dc-problems-split__col-title{color:#d97706}.dc-problems-split__col-count{flex-shrink:0;min-width:24px;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;font-family:var(--font-mono);color:var(--text-tertiary);background:color-mix(in srgb,var(--bg-tertiary) 90%,transparent);border:1px solid color-mix(in srgb,var(--border) 80%,transparent);text-align:center}.dc-problems-split__col-desc{margin:0 0 12px;font-size:12px;line-height:1.45;color:var(--text-secondary)}.dc-problems-split__list{display:flex;flex-direction:column;min-height:0;max-height:min(68vh,720px)}.dc-problems-split__list-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain}.dc-problems-split__empty{padding:28px 16px;text-align:center;font-size:13px;color:var(--text-tertiary)}.dc-pagination--compact{margin-top:10px;gap:8px}.dc-pagination--compact .dc-pagination__btn{padding:4px 10px;font-size:12px}.dc-pagination--compact .dc-pagination__info{font-size:12px}@media (max-width: 960px){.dc-problems-split{grid-template-columns:1fr}.dc-problems-split__list{max-height:none}}.dc-catalog__search-row{display:flex;align-items:center;gap:0;width:100%;margin-bottom:18px}.dc-catalog__search-shell{position:relative;flex:1;min-width:0;display:flex;align-items:center;min-height:30px;border-radius:999px;border:1px solid color-mix(in srgb,var(--obs-input-border) 70%,transparent);background:color-mix(in srgb,var(--obs-input-bg) 45%,transparent);padding:0 2px 0 0;transition:border-color .15s,background .15s,box-shadow .15s}.dc-catalog__search-shell:has(.dc-catalog__search-input:focus){border-color:color-mix(in srgb,var(--border-focus) 80%,transparent);background:color-mix(in srgb,var(--obs-input-bg) 65%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--border-focus) 25%,transparent)}.dc-catalog__search-icon{position:absolute;left:12px;top:50%;margin-top:-7px;z-index:0;color:var(--obs-muted);pointer-events:none;flex-shrink:0}.dc-catalog__search-hint{position:absolute;left:30px;right:34px;top:50%;transform:translateY(-50%);z-index:0;pointer-events:none;font-size:12px;line-height:1.25;color:var(--obs-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dc-catalog__search-hint__prefix{opacity:.8;font-weight:500}.dc-catalog__search-hint__typed{font-weight:400}.dc-catalog__search-input{position:relative;z-index:1;width:100%;min-width:0;height:30px;box-sizing:border-box;padding:0 30px;border:none;background:transparent;border-radius:999px;color:var(--obs-strong);font-size:12px;outline:none}.dc-catalog__search-input--ghost{color:transparent;caret-color:var(--border-focus, var(--accent-secondary));text-shadow:none}.dc-catalog__search-input::placeholder{color:var(--obs-muted);opacity:.9}.dc-catalog__search-input:not(.dc-catalog__search-input--ghost)::placeholder{color:var(--obs-muted)}.dc-catalog__search-clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);z-index:2;width:22px;height:22px;border:none;border-radius:6px;background:transparent;color:var(--obs-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s;padding:0}.dc-catalog__search-clear:hover{background:var(--obs-hover);color:var(--obs-strong)}.dc-catalog__search-input[type=search]::-webkit-search-decoration,.dc-catalog__search-input[type=search]::-webkit-search-cancel-button{-webkit-appearance:none;-moz-appearance:none;appearance:none}.dc-catalog__search-input[type=search]{-webkit-appearance:none;-moz-appearance:none;appearance:none}.dc-search-wrap{position:relative;display:flex;align-items:center;flex:1;min-width:0}.dc-search-wrap__icon{position:absolute;left:14px;color:var(--text-tertiary);pointer-events:none}.dc-search-wrap__clear{position:absolute;right:10px;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:999px;background:transparent;color:var(--text-tertiary);cursor:pointer;transition:var(--transition-fast)}.dc-search-wrap__clear:hover{background:var(--bg-hover);color:var(--text-primary)}.dc-catalog__count{flex-shrink:0;font-size:13px;font-weight:600;color:var(--text-secondary)}.dc-catalog__filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:24px}.dc-search-wrap .dc-search-input,.dc-search-input{width:100%;flex:1;min-width:0;padding:0!important;margin:0!important;border:none!important;background:transparent!important;box-shadow:none!important;border-radius:0!important;color:var(--text-primary);font-family:var(--font-hand, cursive);font-size:.95rem;outline:none!important}.dc-search-wrap .dc-search-input:focus,.dc-search-input:focus{border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important}.dc-search-input::placeholder{color:var(--text-tertiary)}.dc-filter-tabs{display:flex;gap:4px}.dc-filter-tab{font-size:12px;font-weight:500;padding:6px 14px;border-radius:var(--radius-full);border:1px solid var(--border);background:transparent;color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast)}.dc-filter-tab:hover{background:var(--bg-hover)}.dc-filter-tab--active{background:var(--accent-secondary);color:#fff;border-color:var(--accent-secondary)}.dc-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px}.dc-catalog--wide .dc-card-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.dc-algo-card{text-align:left;padding:18px;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);box-shadow:var(--glass-shadow);cursor:pointer;transition:var(--transition-normal)}.dc-algo-card:hover{transform:translateY(-2px);border-color:var(--accent-secondary);box-shadow:var(--glass-shadow-hover)}.dc-algo-card__top{display:flex;align-items:flex-start;gap:10px;margin-bottom:10px}.dc-algo-card__icon{font-size:28px}.dc-algo-card__title{font-size:15px;font-weight:600;color:var(--text-primary)}.dc-algo-card__cat{font-size:11px;color:var(--text-tertiary);margin-top:2px}.dc-algo-card__desc{font-size:13px;color:var(--text-secondary);line-height:1.5;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.dc-algo-card__langs{display:flex;gap:6px;flex-wrap:wrap}.dc-lang-badge{font-family:var(--font-mono);font-size:10px;font-weight:600;padding:2px 8px;border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-secondary)}.dc-tag-cloud{margin-bottom:20px;display:flex;flex-direction:column;gap:8px}.dc-tag-cloud__wrap{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.dc-tag-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s ease;white-space:nowrap}.dc-tag-pill:hover{background:var(--bg-hover);border-color:var(--accent-secondary);color:var(--text-primary)}.dc-tag-pill--active{background:var(--accent-secondary);color:#fff;border-color:var(--accent-secondary)}.dc-tag-pill--active:hover{background:var(--accent-secondary);color:#fff;opacity:.9}.dc-tag-pill__count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border-radius:var(--radius-full);background:#ffffff26;font-size:11px;font-weight:700;line-height:1}.dc-tag-pill:not(.dc-tag-pill--active) .dc-tag-pill__count{background:var(--bg-tertiary);color:var(--text-tertiary)}.dc-tag-cloud__toggle{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:var(--radius-full);border:1px dashed var(--border);background:transparent;color:var(--text-tertiary);font-size:12px;cursor:pointer;transition:all .15s ease}.dc-tag-cloud__toggle:hover{color:var(--accent-secondary);border-color:var(--accent-secondary)}.dc-tag-cloud__clear{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);border:none;background:#e031311a;color:var(--danger, #e03131);font-size:11px;cursor:pointer;align-self:flex-start;transition:background .15s}.dc-tag-cloud__clear:hover{background:#e0313133}.dc-algo-card__tags{display:flex;gap:4px;flex-wrap:wrap;margin-top:8px}.dc-algo-tag{font-size:10px;font-weight:500;padding:2px 8px;border-radius:var(--radius-full);background:var(--bg-tertiary);color:var(--text-tertiary)}.dc-empty{text-align:center;padding:40px;color:var(--text-tertiary);font-size:14px}.dc-async-state{min-height:340px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px 24px;color:var(--text-primary)}.dc-async-state--compact{min-height:min(440px,calc(100vh - 96px))}.dc-async-state__sketch{position:relative;width:90px;height:70px;display:grid;place-items:center;margin-bottom:10px;color:var(--brand-purple, #6965db);animation:dc-async-float 2.6s ease-in-out infinite}.dc-async-state__sketch:before{content:"";position:absolute;top:7px;right:3px;bottom:1px;left:3px;border:1.5px dashed color-mix(in srgb,var(--brand-purple, #6965db) 42%,transparent);border-radius:50%;transform:rotate(-7deg)}.dc-async-state__sketch svg{position:relative;z-index:1;width:72px;filter:drop-shadow(0 4px 0 color-mix(in srgb,var(--brand-purple, #6965db) 12%,transparent))}.dc-async-state__spark{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--accent-warm, #f59f00);animation:dc-async-spark 1.8s ease-in-out infinite}.dc-async-state__spark--one{top:5px;right:5px}.dc-async-state__spark--two{bottom:7px;left:4px;width:5px;height:5px;animation-delay:-.8s}.dc-async-state__eyebrow{margin:0 0 7px;color:var(--brand-purple, #6965db);font-family:var(--font-hand);font-size:11px;font-weight:700;letter-spacing:.08em}.dc-async-state h2{max-width:420px;margin:0;font-family:var(--font-hand);font-size:22px;line-height:1.25}.dc-async-state__message{max-width:500px;margin:10px 0 18px;color:var(--text-secondary);font-size:13px;line-height:1.6}.dc-async-state__action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:7px 14px;border:1.5px solid var(--brand-purple, #6965db);border-radius:9px;background:color-mix(in srgb,var(--brand-purple, #6965db) 12%,var(--bg-secondary));color:var(--brand-purple, #6965db);font-family:var(--font-hand);font-size:13px;font-weight:700;cursor:pointer;transition:transform .16s ease,background .16s ease,box-shadow .16s ease}.dc-async-state__action:hover{transform:translateY(-1px) rotate(-.4deg);background:color-mix(in srgb,var(--brand-purple, #6965db) 19%,var(--bg-secondary));box-shadow:0 7px 14px -10px color-mix(in srgb,var(--brand-purple, #6965db) 70%,transparent)}.dc-async-state__action:focus-visible{outline:3px solid color-mix(in srgb,var(--brand-purple, #6965db) 32%,transparent);outline-offset:3px}@keyframes dc-async-float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}@keyframes dc-async-spark{0%,to{transform:scale(.7);opacity:.4}50%{transform:scale(1.15);opacity:1}}.dc-problem-list__header{display:flex;align-items:center;padding:8px 12px 8px 14px;background:color-mix(in srgb,var(--bg-tertiary) 88%,transparent);border-bottom:1px solid color-mix(in srgb,var(--border) 80%,transparent);font-size:11px;font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;gap:0}.dc-problem-list__col--num{width:40px;flex-shrink:0}.dc-problem-list__col--icon{width:32px;flex-shrink:0}.dc-problem-list__col--title{flex:1;min-width:0}.dc-problem-list__col--cat{width:108px;flex-shrink:0;text-align:left}.dc-problem-list__col--status{width:96px;flex-shrink:0;text-align:left}.dc-problem-list__col--diff{width:92px;text-align:right;flex-shrink:0}.dc-problem-list{border:1px solid color-mix(in srgb,var(--border) 85%,transparent);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-primary)}.dc-problem-row{display:flex;align-items:center;width:100%;min-height:40px;padding:6px 12px 6px 14px;gap:0;border:none;border-bottom:1px solid color-mix(in srgb,var(--border) 70%,transparent);background:transparent;cursor:pointer;transition:background .15s,border-color .15s;text-align:left}.dc-problem-row:last-child{border-bottom:none}.dc-problem-row:hover{background:color-mix(in srgb,var(--obs-hover) 50%,transparent)}.dc-problem-row__num{width:40px;font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--text-tertiary);flex-shrink:0}.dc-problem-row__icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;margin-right:10px;border-radius:6px;border:1px solid color-mix(in srgb,var(--obs-border) 80%,var(--border));background:color-mix(in srgb,var(--obs-input-bg) 75%,var(--bg-primary));line-height:0;transition:border-color .15s,background .15s}.dc-problem-row:hover .dc-problem-row__icon-wrap{border-color:color-mix(in srgb,var(--accent-secondary) 28%,var(--border));background:var(--obs-hover)}.dc-problem-row__icon-emoji{font-size:15px;line-height:1;display:block}.dc-problem-row__title{flex:1;min-width:0;font-size:13px;font-weight:500;color:var(--text-primary);text-align:left}.dc-problem-row__cat{width:108px;flex-shrink:0;font-size:11px;font-weight:600;letter-spacing:.01em}.dc-problem-row__status{width:96px;flex-shrink:0;font-size:11px;font-weight:600;letter-spacing:.01em}.dc-problem-row__status--todo{color:var(--text-tertiary)}.dc-problem-row__status--attempted{color:#6366f1}.dc-problem-row__diff{width:92px;text-align:right;font-size:12px;font-weight:600;flex-shrink:0}.dc-problem-row--skeleton{pointer-events:none}.dc-detail{display:flex;flex-direction:column;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:var(--bg-primary)}.dc-detail__topbar{display:flex;align-items:center;padding:10px 20px;border-bottom:1.5px solid var(--border);background:var(--bg-secondary);position:relative;min-height:48px}.dc-detail__back{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;border:1.5px solid var(--border-light);background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-hand);font-size:13px;font-weight:500;cursor:pointer;transition:var(--transition-fast);flex-shrink:0}.dc-detail__back:hover{background:var(--bg-hover);border-color:var(--brand-purple, #6965db);color:var(--brand-purple, #6965db)}.dc-detail__center-tabs{position:absolute;left:50%;transform:translate(-50%);display:flex;gap:2px;background:var(--bg-tertiary);border-radius:999px;padding:3px;border:1.5px solid var(--border-light)}.dc-detail__tab{display:inline-flex;align-items:center;gap:6px;padding:6px 18px;font-family:var(--font-hand);font-size:13px;font-weight:500;color:var(--text-secondary);border:none;background:none;cursor:pointer;border-radius:999px;transition:var(--transition-fast)}.dc-detail__tab:hover{color:var(--text-primary);background:var(--bg-hover)}.dc-detail__tab--active{background:color-mix(in srgb,var(--brand-purple, #6965db) 16%,transparent);color:var(--brand-purple, #6965db)}.dc-detail__meta{margin-left:auto;display:flex;align-items:center;gap:8px;flex-shrink:0}.dc-detail__icon{font-size:18px}.dc-detail__name{font-family:var(--font-hand);font-size:14px;font-weight:600;color:var(--text-secondary)}.dc-detail__content{flex:1;min-width:0;min-height:0;overflow-y:auto}.dc-detail__content--unified{width:100%;overflow:hidden;background:var(--bg-primary)}.dc-algorithm-workbench{width:100%;height:100%;min-width:0;min-height:0;display:grid;grid-template-columns:minmax(520px,1.35fr) minmax(360px,.9fr)}.dc-intro--workbench{max-width:none;height:100%;margin:0;min-width:0;overflow:auto;border-right:0}.dc-intro__language-content{animation:dc-language-content-in .22s ease-out}@keyframes dc-language-content-in{0%{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.dc-detail__playground{width:100%;height:100%;min-width:0;min-height:0;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;background:var(--bg-secondary);border-right:1px solid var(--border)}.dc-detail__playground>.dc-playground,.dc-detail__playground>.dc-visualizer,.dc-detail__playground>[class*=Visualizer],.dc-detail__playground .dc-playground{width:100%;height:auto;min-width:0;min-height:min-content;flex:1 0 auto;overflow:visible}.dc-visualizer{display:flex;flex-direction:column;width:100%;height:auto;min-height:0;overflow:visible}.dc-detail__section-heading{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 16px;border-bottom:1px solid var(--border);background:var(--bg-secondary);font-family:var(--font-hand)}.dc-detail__section-heading span{font-size:14px;font-weight:700;color:var(--text-primary)}.dc-detail__section-heading small{color:var(--text-tertiary);font-size:11px}.dc-intro{max-width:800px;margin:0 auto;padding:28px 24px}.dc-intro__lang-tabs{position:relative;display:grid;grid-template-columns:1fr 1fr;width:min(100%,300px);padding:0 0 7px;margin-bottom:24px}.dc-intro__lang-tabs:before{content:"";position:absolute;bottom:0;left:0;width:50%;height:3px;border-radius:999px;background:var(--brand-purple, #6965db);transform:translate(0);transition:transform .32s cubic-bezier(.22,1,.36,1),width .2s ease}.dc-intro__lang-tabs--hinglish:before{transform:translate(100%)}.dc-intro__lang-tab{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:32px;padding:3px 8px;background:transparent;color:var(--text-secondary);font-family:var(--font-hand);font-size:13px;font-weight:600;cursor:pointer;transition:color .2s ease,transform .2s ease,letter-spacing .2s ease}.dc-intro__lang-tab:hover{color:var(--brand-purple, #6965db)}.dc-intro__lang-tab--active{color:var(--brand-purple, #6965db);transform:translateY(-1px);letter-spacing:.15px}.dc-intro__lang-flag{font-family:var(--font-ui, sans-serif);font-size:10px;font-weight:800;color:var(--text-tertiary);transition:color .2s ease,transform .28s cubic-bezier(.22,1,.36,1)}.dc-intro__lang-tab--active .dc-intro__lang-flag{color:var(--brand-purple, #6965db);transform:rotate(-3deg) scale(1.08)}.dc-intro__body{line-height:1.75;color:var(--text-primary);font-family:var(--font-hand);font-size:15px}.dc-intro__body h2{font-family:var(--font-hand);font-size:22px;font-weight:700;margin:0 0 14px;color:var(--text-primary)}.dc-intro__body h3{font-family:var(--font-hand);font-size:17px;font-weight:600;margin:24px 0 10px;color:var(--text-primary)}.dc-intro__body p{margin:0 0 12px;font-size:14px;line-height:1.7}.dc-intro__body ul,.dc-intro__body ol{margin:0 0 12px;padding-left:24px;font-size:14px}.dc-intro__body li{margin-bottom:5px}.dc-intro__body strong{color:var(--brand-purple, #6965db)}.dc-intro__body table{width:100%;border-collapse:collapse;margin:14px 0;font-size:13px;border:1.5px solid var(--border-light);border-radius:10px;overflow:hidden}.dc-intro__body th{text-align:left;padding:8px 12px;background:color-mix(in srgb,var(--brand-purple, #6965db) 8%,transparent);border:1px solid var(--border);font-family:var(--font-hand);font-weight:600;color:var(--text-primary);font-size:13px}.dc-intro__body td{padding:8px 12px;border:1px solid var(--border);color:var(--text-secondary);font-size:13px}.dc-intro__body code{background:color-mix(in srgb,var(--brand-purple, #6965db) 8%,transparent);padding:2px 6px;border-radius:6px;font-family:var(--font-mono);font-size:12px;color:var(--brand-purple, #6965db)}.dc-intro__body pre{background:var(--bg-tertiary);border:1.5px solid var(--border-light);border-radius:10px;padding:14px 16px;overflow-x:auto;margin:12px 0}.dc-intro__body pre code{background:none;padding:0;color:var(--text-primary);font-size:13px}.dc-intro__body blockquote{border-left:3px solid var(--brand-purple, #6965db);margin:12px 0;padding:8px 16px;color:var(--text-secondary);background:color-mix(in srgb,var(--brand-purple, #6965db) 5%,transparent);border-radius:0 8px 8px 0;font-size:14px}.dc-visualizer__stats-bar{border-bottom:1px solid var(--border);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);padding:10px 16px;max-width:1140px;margin:0 auto}.dc-visualizer__bottom{max-width:1140px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;align-items:start;gap:0;min-height:0;width:100%;border-top:1px solid var(--border);flex:0 0 auto}.dc-visualizer__explain-col{padding:14px 16px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0;overflow:visible}.dc-visualizer__log-col{padding:14px 16px;display:flex;flex-direction:column;gap:0;min-width:0;min-height:0;overflow:visible}.dc-visualizer__code-wrap{min-height:0;overflow:visible;animation:dc-code-wrap-in .2s ease-out}@keyframes dc-code-wrap-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.dc-code-toggle{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:var(--transition-fast);align-self:flex-start}.dc-code-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.dc-visualizer__shortcuts{max-width:1140px;margin:0 auto;width:100%;flex:0 0 auto;text-align:center;padding:10px;font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary);border-top:1px solid var(--border)}.dc-visualizer__shortcuts kbd{display:inline-block;padding:2px 6px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);font-size:10px;margin:0 2px;font-family:var(--font-mono)}.dc-canvas-wrap{width:100%;max-width:960px;margin:0 auto;padding:4px 8px}.dc-canvas{width:100%;display:block;border-radius:var(--radius-md);cursor:default;background:var(--bg-secondary)}.dc-control-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;border-bottom:1px solid var(--border);background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);padding:10px 16px;max-width:1140px;margin:0 auto}.dc-control-bar__sep{width:1px;height:24px;background:var(--border);margin:0 4px}.dc-slider-group{display:flex;align-items:center;gap:6px;font-size:12px}.dc-slider-group label{color:var(--text-secondary);font-weight:500;white-space:nowrap;font-size:11px}.dc-slider-group input[type=range]{width:64px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border);border-radius:4px;cursor:pointer;outline:none}.dc-slider-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent-secondary);border:2px solid var(--bg-secondary);cursor:pointer}.dc-slider-val{font-family:var(--font-mono);font-size:11px;font-weight:700;color:var(--accent-secondary);min-width:28px;text-align:right}.dc-code-panel{display:flex;flex-direction:column;height:100%}.dc-code-panel__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.dc-lang-tabs{display:flex;gap:4px}.dc-lang-tab{font-size:13px;font-weight:500;padding:6px 16px;border:none;cursor:pointer;background:transparent;color:var(--text-secondary);border-radius:var(--radius-md);transition:var(--transition-fast)}.dc-lang-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.dc-lang-tab--active{background:#6366f11a;color:var(--accent-secondary)}.dc-code-block{background:var(--code-content-bg);border:1px solid var(--border);border-radius:var(--radius-md);padding:8px 0;font-family:var(--font-mono);font-size:11px;line-height:1.75;overflow-x:auto;max-height:340px;min-height:120px;overflow-y:auto;overscroll-behavior:contain}.dc-code-line{display:flex;padding:0 12px;transition:background .12s}.dc-code-line--active{background:#6366f126}.dc-code-line--green{background:#10b98126}.dc-code-line--red{background:#ef444426}.dc-code-line__num{color:var(--code-line-num);min-width:22px;text-align:right;padding-right:10px;-webkit-user-select:none;user-select:none;font-size:10px;flex-shrink:0}.dc-code-line__text{flex:1}.dc-kw{color:var(--accent-secondary);font-weight:600}.dc-kw-comment{color:var(--text-tertiary);font-style:italic}.dc-stats-inline{display:flex;align-items:center;gap:16px}.dc-stat-chip{display:flex;align-items:baseline;gap:5px}.dc-stat-chip__value{font-family:var(--font-mono);font-size:18px;font-weight:800}.dc-stat-chip__label{font-family:var(--font-mono);font-size:10px;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.3px}.dc-stats-inline__bar{flex:1;height:6px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden;border:1px solid var(--border);min-width:60px}.dc-stats-inline__bar-fill{height:100%;border-radius:var(--radius-full);transition:width .4s cubic-bezier(.22,1,.36,1)}.dc-event-log{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);max-height:min(220px,32vh);overflow-y:auto;font-family:var(--font-mono);font-size:11px;line-height:1.6}.dc-event-log__empty{padding:12px;text-align:center;color:var(--text-tertiary);font-size:12px}.dc-event-log__row{display:flex;gap:8px;padding:2px 12px;border-bottom:1px solid var(--border)}.dc-event-log__time{color:var(--text-tertiary);flex-shrink:0}.dc-event-log__msg--allow{color:var(--accent)}.dc-event-log__msg--deny{color:var(--danger)}.dc-event-log__msg--refill{color:var(--accent-secondary)}.dc-explanation{background:var(--bg-elevated);border:1.5px solid var(--border);border-radius:var(--radius-md);padding:12px;min-height:56px;display:flex;gap:10px;align-items:flex-start;transition:border-color .3s}.dc-explanation__icon{font-size:18px;flex-shrink:0;margin-top:2px}.dc-explanation__body{flex:1;min-width:0}.dc-explanation__text{font-size:13px;line-height:1.45;color:var(--text-primary)}.dc-explanation__live{margin-top:6px;font-family:var(--font-mono);font-size:11px;color:var(--accent-secondary);line-height:1.5;background:#6366f114;border-radius:var(--radius-sm);padding:4px 10px}.dc-playground{display:flex;height:calc(100vh - 50px);overflow:hidden}.dc-playground__center{flex:1;display:flex;flex-direction:column;overflow:hidden;position:relative}.dc-config-panel{position:absolute;top:12px;left:12px;z-index:20;width:220px;max-height:calc(100% - 24px);display:flex;flex-direction:column;gap:8px;pointer-events:none}.dc-config-panel__section{pointer-events:auto;background:var(--glass-bg, rgba(255, 255, 255, .06));border:1.5px solid var(--border);border-radius:var(--radius-md, 10px);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:10px 8px;box-shadow:0 4px 20px #0000001f;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;animation:dc-config-slide-in .2s ease-out}@keyframes dc-config-slide-in{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.dc-config-panel__section::-webkit-scrollbar{width:3px}.dc-config-panel__section::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:3px}.dc-config-panel__stats{padding:6px 4px}.dc-config-panel__stats-title{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-tertiary);padding:0 8px 4px;border-bottom:1px solid var(--border);margin-bottom:2px}.dc-question-panel{display:flex;flex-direction:column;width:300px;flex-shrink:0;border-right:2px solid var(--border);background:var(--bg-secondary);overflow:hidden}.dc-question-panel__select-wrap{display:flex;flex-direction:column;gap:8px;padding:8px;border-bottom:2px solid var(--border)}.dc-question-panel__back{align-self:flex-start}.dc-question-panel__tabs{display:flex;border-bottom:2px solid var(--border)}.dc-question-panel__tab{flex:1;padding:8px;font-size:12px;font-weight:600;border-bottom:2px solid transparent;margin-bottom:-2px;color:var(--text-tertiary);cursor:pointer;transition:var(--transition-fast)}.dc-question-panel__tab:hover{color:var(--text-primary)}.dc-question-panel__tab--active{color:var(--text-primary);border-color:var(--accent-secondary)}.dc-question-panel__body{flex:1;overflow-y:auto;padding:12px;font-size:12px;line-height:1.6}.dc-question-panel__title-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.dc-question-panel__title{font-size:15px;font-weight:700;color:var(--text-primary)}.dc-question-panel__text{color:var(--text-primary);margin-bottom:12px}.dc-req-list{margin-left:16px;margin-bottom:12px;font-size:11px;color:var(--text-primary);list-style:disc}.dc-req-list li{margin-bottom:3px}.dc-hint-card{display:flex;gap:8px;padding:8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-tertiary);font-size:11px;margin-bottom:8px}.dc-hint-card__num{display:flex;align-items:center;justify-content:center;width:18px;height:18px;flex-shrink:0;border-radius:50%;background:var(--accent-secondary);font-family:var(--font-mono);font-size:9px;font-weight:700;color:#fff}.dc-comp-sidebar{display:flex;flex-direction:column;width:170px;flex-shrink:0;border-left:2px solid var(--border);background:var(--bg-secondary);overflow-y:auto}.dc-comp-sidebar__search{display:flex;align-items:center;gap:5px;padding:6px 8px;border-bottom:1.5px solid var(--border)}.dc-comp-sidebar__search svg{flex-shrink:0;color:var(--text-tertiary)}.dc-comp-sidebar__search input{flex:1;border:none;background:transparent;outline:none;font-size:11px;color:var(--text-primary);font-family:inherit}.dc-comp-sidebar__search input::placeholder{color:var(--text-tertiary)}.dc-comp-sidebar__grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:6px;flex:1;overflow-y:auto;align-content:start}.dc-comp-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:8px 4px;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);cursor:grab;-webkit-user-select:none;user-select:none;transition:all .15s ease}.dc-comp-tile:hover{transform:translateY(-2px);box-shadow:0 3px 10px #0000001f;border-color:var(--accent)}.dc-comp-tile:active{cursor:grabbing;transform:scale(.95)}.dc-comp-tile__icon{font-size:18px;line-height:1}.dc-comp-tile__name{font-size:8px;font-weight:700;text-align:center;color:var(--text-secondary);letter-spacing:.02em;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.dc-comp-sidebar__no-results{grid-column:1 / -1;text-align:center;padding:12px;font-size:10px;color:var(--text-tertiary)}.dc-comp-sidebar__tools{display:flex;gap:4px;padding:6px;border-top:1.5px solid var(--border)}.dc-design-canvas{position:relative;flex:1;overflow:hidden}.dc-design-canvas__el{display:block;width:100%;height:100%;cursor:default;background:#282828}[data-theme=light] .dc-design-canvas__el{background:#fff}.dc-design-canvas__mode{pointer-events:none;position:absolute;left:50%;top:8px;z-index:10;transform:translate(-50%);border-radius:var(--radius-sm);padding:4px 12px;background:var(--text-primary);color:var(--bg-primary);font-family:var(--font-mono);font-size:10px;font-weight:700;opacity:0;transition:opacity .25s}.dc-design-canvas__shortcuts{pointer-events:none;position:absolute;bottom:6px;left:50%;transform:translate(-50%);white-space:nowrap;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--glass-bg-strong);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);padding:3px 10px;font-family:var(--font-mono);font-size:8px;color:var(--text-tertiary)}.dc-design-canvas__shortcuts kbd{display:inline-block;padding:1px 4px;margin:0 1px;border:1px solid var(--border);border-radius:3px;background:var(--bg-tertiary);font-size:7px;font-family:var(--font-mono)}.dc-top-bar{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;gap:8px;flex-shrink:0;background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:25;min-height:36px}.dc-sim-toolbar{display:flex;align-items:center;gap:4px;padding:3px 8px;flex-shrink:0;background:var(--glass-bg, rgba(255, 255, 255, .06));border:1.5px solid var(--border);border-radius:10px}.dc-sim-toolbar__btn{display:flex;align-items:center;justify-content:center;width:30px;height:28px;border-radius:7px;border:1.5px solid var(--border);background:var(--bg-elevated);color:var(--text-primary);cursor:pointer;transition:all .15s ease}.dc-sim-toolbar__btn:hover{border-color:var(--accent)}.dc-sim-toolbar__btn--play{background:var(--accent);color:#fff;border-color:var(--accent)}.dc-sim-toolbar__btn--play:hover{background:var(--accent-hover)}.dc-sim-toolbar__btn--pause{background:#f59e0b;color:#fff;border-color:#f59e0b}.dc-sim-toolbar__btn--pause:hover{background:#d97706}.dc-sim-toolbar__btn--reset{color:var(--text-secondary)}.dc-sim-toolbar__btn--reset:hover{color:var(--danger);border-color:var(--danger)}.dc-sim-toolbar__divider{width:1px;height:18px;background:var(--border);margin:0 2px}.dc-sim-toolbar__speed{display:flex;align-items:center;gap:4px}.dc-sim-toolbar__slider{width:50px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border);border-radius:3px;cursor:pointer;outline:none}.dc-sim-toolbar__slider::-webkit-slider-thumb{-webkit-appearance:none;width:10px;height:10px;border-radius:50%;background:var(--accent-secondary);border:2px solid var(--bg-secondary);cursor:pointer}.dc-sim-toolbar__speed-val{font-family:var(--font-mono);font-size:9px;font-weight:700;color:var(--accent-secondary);min-width:22px}.dc-test-panel{display:flex;flex-direction:column;flex-shrink:0;border-top:2px solid var(--border);background:var(--bg-secondary);transition:height .2s}.dc-test-panel--collapsed .dc-test-panel__body,.dc-test-panel--collapsed .dc-test-panel__verdict{display:none}.dc-test-panel__header{display:flex;align-items:center;justify-content:space-between;padding:4px 10px;border-bottom:1px solid var(--border);flex-shrink:0}.dc-test-panel__toggle{display:flex;align-items:center;gap:5px;background:none;border:none;cursor:pointer;color:var(--text-secondary);padding:2px 0}.dc-test-panel__toggle:hover{color:var(--text-primary)}.dc-test-panel__actions{display:flex;gap:4px}.dc-test-panel__body{flex:1;overflow-y:auto;padding:4px 8px}.dc-test-row{display:flex;align-items:center;gap:6px;padding:3px 6px;border-radius:var(--radius-sm);font-size:11px;margin-bottom:2px;transition:background .15s}.dc-test-row:hover{background:var(--bg-hover)}.dc-test-row--pass{background:#10b98114}.dc-test-row--fail{background:#ef444414}.dc-test-row__icon{width:16px;text-align:center;font-size:13px;flex-shrink:0}.dc-test-row__name{flex:1;font-weight:600;color:var(--text-primary)}.dc-test-row__badge{font-family:var(--font-mono);font-size:7px;text-transform:uppercase;padding:1px 6px;border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-tertiary);white-space:nowrap}.dc-test-row__replay{width:18px;height:18px;border-radius:50%;border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;font-size:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.dc-test-row__replay:hover{background:var(--accent);color:#fff;border-color:var(--accent)}.dc-test-row__replay--active{background:var(--accent);color:#fff;border-color:var(--accent);animation:dc-pulse 1s infinite}@keyframes dc-pulse{0%,to{opacity:1}50%{opacity:.5}}.dc-test-panel__empty{padding:12px;text-align:center;color:var(--text-tertiary);font-size:11px}.dc-test-panel__verdict--error{background:#8b5cf61f;color:#8b5cf6}.dc-test-panel__verdict{padding:6px;text-align:center;font-size:13px;font-weight:700}.dc-test-panel__verdict--pass{border-top:2px solid var(--accent);background:#10b9811a;color:var(--accent)}.dc-test-panel__verdict--fail{border-top:2px solid var(--danger);background:var(--danger-bg);color:var(--danger)}.dc-prop-header{font-size:12px;font-weight:700;margin-bottom:4px;display:flex;align-items:center;gap:4px}.dc-prop-slider{display:flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:9px;margin-bottom:2px}.dc-prop-slider__label{width:68px;flex-shrink:0;text-align:right;color:var(--text-tertiary)}.dc-prop-slider__input{flex:1;height:5px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--border);border-radius:4px;cursor:pointer;outline:none}.dc-prop-slider__input::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;border-radius:50%;background:var(--accent-secondary);border:2px solid var(--bg-secondary);cursor:pointer}.dc-prop-slider__val{min-width:28px;font-size:8px;font-weight:700;color:var(--accent-secondary);text-align:right}.dc-prop-select__input{flex:1;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);padding:1px 4px;font-family:var(--font-mono);font-size:8px;cursor:pointer;color:var(--text-primary);outline:none}.dc-prop-group{margin-top:4px;margin-bottom:2px;border-bottom:1px dashed var(--border);padding-bottom:2px;font-family:var(--font-mono);font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary)}.dc-live-stats{padding:2px 12px 8px}.dc-live-stats__row{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:9px;color:var(--text-tertiary)}.dc-live-stats__val{font-weight:700;color:var(--text-primary)}.dc-skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-hover) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:dc-shimmer 1.5s ease-in-out infinite}@keyframes dc-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dc-algo-card--skeleton{pointer-events:none}.dc-algo-card--skeleton .dc-algo-card__top{display:flex;align-items:center;gap:10px}.dc-skeleton-detail{width:100%;height:100%;min-height:0;display:grid;grid-template-columns:minmax(520px,1.35fr) minmax(360px,.9fr);background:var(--bg-primary)}.dc-skeleton-detail__lesson{min-width:0;padding:28px 24px;border-right:0;overflow:hidden}.dc-skeleton-detail__tabs{display:flex;gap:8px;margin-bottom:28px}.dc-skeleton-detail__body{max-width:620px}.dc-skeleton-detail__playground{min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-secondary);border-right:1px solid var(--border)}.dc-skeleton-detail__playground-header{min-height:48px;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid var(--border)}.dc-skeleton-detail__controls{display:flex;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.dc-skeleton-detail__scene{flex:1;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px;padding:22px;background-image:radial-gradient(color-mix(in srgb,var(--border) 65%,transparent) 1px,transparent 1px);background-size:18px 18px}.dc-skeleton-detail__nodes{display:flex;align-items:center;justify-content:center;gap:26px;width:min(80%,450px)}.dc-skeleton-detail__nodes .dc-skeleton{position:relative}.dc-skeleton-detail__nodes .dc-skeleton:not(:last-child):after{content:"";position:absolute;top:50%;left:calc(100% + 7px);width:12px;border-top:1.5px dashed color-mix(in srgb,var(--brand-purple, #6965db) 45%,transparent)}.dc-skeleton-detail__footer{min-height:68px;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--border)}.dc-skeleton-playground{padding:16px}.dc-skeleton-playground__controls{display:flex;gap:10px;margin-bottom:16px}.dc-skeleton-playground__canvas{margin-bottom:16px}.dc-skeleton-playground__bottom{display:grid;grid-template-columns:1fr;gap:12px}.dc-playground--skeleton{pointer-events:none}.dc-question-panel--skeleton,.dc-comp-sidebar--skeleton,.dc-test-panel--skeleton{background:var(--bg-secondary)}.dc-question-panel__body--skeleton{padding-bottom:24px}.dc-skeleton-sd__section{margin-top:18px}.dc-top-bar--skeleton{justify-content:space-between}.dc-skeleton-sd__toolbar-group,.dc-skeleton-sd__test-actions{display:flex;align-items:center;gap:8px}.dc-playground__center--skeleton{background:var(--bg-secondary)}.dc-skeleton-sd__canvas-wrap{position:relative;flex:1;overflow:hidden;background:var(--bg-secondary)}.dc-skeleton-sd__config-panel{position:absolute;top:12px;left:12px;z-index:2;width:220px;display:flex;flex-direction:column;gap:8px}.dc-skeleton-sd__canvas{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:radial-gradient(circle at 1px 1px,rgba(255,255,255,.08) 1px,transparent 0) 0 0 / 20px 20px,var(--bg-secondary)}[data-theme=light] .dc-skeleton-sd__canvas{background:radial-gradient(circle at 1px 1px,rgba(0,0,0,.06) 1px,transparent 0) 0 0 / 20px 20px,var(--bg-secondary)}.dc-skeleton-sd__canvas-grid{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent 0,transparent calc(100% - 1px),rgba(255,255,255,.03) calc(100% - 1px)) 0 0 / 80px 100%,linear-gradient(transparent 0,transparent calc(100% - 1px),rgba(255,255,255,.03) calc(100% - 1px)) 0 0 / 100% 80px;opacity:.35}[data-theme=light] .dc-skeleton-sd__canvas-grid{background:linear-gradient(90deg,transparent 0,transparent calc(100% - 1px),rgba(0,0,0,.03) calc(100% - 1px)) 0 0 / 80px 100%,linear-gradient(transparent 0,transparent calc(100% - 1px),rgba(0,0,0,.03) calc(100% - 1px)) 0 0 / 100% 80px}.dc-skeleton-sd__canvas-badge{position:absolute;top:10px;left:50%;transform:translate(-50%)}.dc-skeleton-sd__canvas-shortcuts{position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.dc-skeleton-sd__test-row{display:flex;align-items:center;gap:8px;padding:4px 0}.dc-comp-tile--skeleton{cursor:default}.dc-comp-tile--skeleton .dc-skeleton:last-child{align-self:center}.dc-problem-row--skeleton td{padding:10px 12px}.dc-tag-cloud--skeleton{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;padding:0}.dc-tag-cloud--skeleton .dc-tag-cloud__wrap--skeleton{display:flex;flex-wrap:wrap;align-items:center;gap:8px;overflow:visible}.dc-tag-cloud--skeleton .dc-tag-pill--skeleton{flex:0 0 auto;max-width:100%}.dc-tag-cloud--skeleton .dc-tag-pill--skeleton-more{opacity:.72}.dc-pagination{display:flex;align-items:center;justify-content:center;gap:16px;padding:24px 0;margin-top:8px}.dc-pagination__btn{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 16px;font-size:13px;color:var(--text-primary);cursor:pointer;transition:all .15s}.dc-pagination__btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--accent)}.dc-pagination__btn:disabled{opacity:.4;cursor:not-allowed}.dc-pagination__info{font-size:13px;color:var(--text-secondary)}.dc-question-panel__hint-count{font-size:10px;padding:1px 6px;border-radius:8px;background:#f08c0033;color:#f08c00;margin-left:4px;font-weight:700}.dc-question-panel__tab--notify{animation:dc-tab-pulse 1s ease-in-out 3}@keyframes dc-tab-pulse{0%,to{color:var(--text-secondary)}50%{color:var(--accent)}}.dc-lc-section{margin-top:16px}.dc-lc-section__label{font-size:12px;font-weight:700;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}.dc-lc-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.dc-lc-list__item{font-size:13px;color:var(--text-secondary);line-height:1.5;padding:4px 0 4px 16px;position:relative}.dc-lc-list__item:before{content:"•";position:absolute;left:2px;color:var(--accent);font-weight:700}.dc-lc-list--constraints .dc-lc-list__item{font-family:monospace;font-size:12px;padding:3px 8px;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border)}.dc-lc-list--constraints .dc-lc-list__item:before{display:none}.dc-lc-api-list{display:flex;flex-direction:column;gap:6px}.dc-lc-api-row{display:flex;align-items:center;gap:8px;padding:6px 10px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm)}.dc-lc-api-method{font-size:10px;font-weight:800;padding:2px 8px;border-radius:4px;min-width:48px;text-align:center;color:#fff}.dc-lc-api-method--get{background:#1971c2}.dc-lc-api-method--post{background:#2f9e44}.dc-lc-api-method--put{background:#f08c00}.dc-lc-api-method--patch{background:#ae3ec9}.dc-lc-api-method--delete{background:#e03131}.dc-lc-api-method--websocket{background:#0c8599}.dc-lc-api-path{font-size:12px;font-family:monospace;color:var(--accent)}.dc-lc-api-desc{font-size:11px;color:var(--text-tertiary);margin-left:auto}.dc-lc-testcase-summary{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-secondary);padding:8px 12px;background:var(--bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--border)}.dc-lc-testcase-dot{color:var(--text-tertiary)}.dc-lc-hints__warning{font-size:12px;color:var(--danger);margin:0 0 16px;padding:10px 14px;background:#e031310f;border:1px solid rgba(224,49,49,.12);border-radius:var(--radius-sm)}.dc-lc-hint{margin-bottom:8px;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden;transition:all .2s}.dc-lc-hint--revealed{border-color:var(--accent)}.dc-lc-hint__toggle{width:100%;display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:var(--bg-elevated);border:none;color:var(--text-primary);cursor:pointer;font-size:13px;transition:background .15s}.dc-lc-hint__toggle:hover:not(:disabled){background:var(--bg-hover)}.dc-lc-hint__toggle:disabled{cursor:default}.dc-lc-hint__num{font-weight:700}.dc-lc-hint__lock{font-size:11px;color:var(--danger);font-weight:600;padding:2px 8px;background:#e0313114;border-radius:10px}.dc-lc-hint__content{padding:12px 14px;font-size:13px;color:var(--text-secondary);line-height:1.6;border-top:1px solid var(--border);background:var(--bg-surface);animation:dc-hint-reveal .3s ease-out}@keyframes dc-hint-reveal{0%{opacity:0;max-height:0;padding-top:0;padding-bottom:0}to{opacity:1;max-height:200px}}.dc-lc-deepdive__intro{font-size:13px;color:var(--text-secondary);margin:0 0 20px;line-height:1.5}.dc-lc-deepdive__q{margin-bottom:20px;padding:14px;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-sm)}.dc-lc-deepdive__q-header{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px}.dc-lc-deepdive__q-num{font-size:10px;font-weight:700;padding:2px 7px;background:var(--accent);color:#fff;border-radius:4px;white-space:nowrap}.dc-lc-deepdive__q-text{font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.4;flex:1}.dc-lc-deepdive__q-badge{width:20px;height:20px;border-radius:50%;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.dc-lc-deepdive__q-badge--correct{background:#10b98126;color:#10b981}.dc-lc-deepdive__q-badge--partial{background:#f59e0b26;color:#f59e0b}.dc-lc-deepdive__q-badge--wrong{background:#ef444426;color:#ef4444}.dc-lc-deepdive__multi{font-size:11px;color:var(--text-tertiary);font-style:italic;margin-bottom:8px;display:block}.dc-lc-deepdive__options{display:flex;flex-direction:column;gap:5px}.dc-lc-deepdive__opt{display:flex;align-items:flex-start;gap:8px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-surface);cursor:pointer;font-size:12px;color:var(--text-primary);text-align:left;transition:all .15s;width:100%}.dc-lc-deepdive__opt:hover:not(:disabled){border-color:var(--accent);background:var(--bg-hover)}.dc-lc-deepdive__opt--selected{border-color:var(--accent);background:#2f9e440f}.dc-lc-deepdive__opt--correct{border-color:#2f9e44;background:#2f9e441a}.dc-lc-deepdive__opt--wrong{border-color:#e03131;background:#e0313114}.dc-lc-deepdive__opt-marker{font-size:13px;min-width:16px}.dc-lc-deepdive__explain{margin-top:10px;padding:10px 12px;font-size:12px;background:#1971c20f;border:1px solid rgba(25,113,194,.12);border-radius:var(--radius-sm);color:var(--text-secondary);line-height:1.5}.dc-lc-deepdive__actions{margin-top:16px;display:flex;gap:10px;align-items:center}.dc-lc-deepdive__result{display:flex;align-items:center;gap:12px}.dc-lc-deepdive__score{font-size:14px;font-weight:700;padding:4px 12px;border-radius:var(--radius-sm);background:#f08c001a;color:#f08c00}.dc-lc-deepdive__score--good{background:#2f9e441a;color:#2f9e44}.dc-chaos-toolbar{display:flex;align-items:center;gap:6px;padding:2px 6px;background:#e031310a;border:1px solid rgba(224,49,49,.12);border-radius:10px;font-size:11px}.dc-chaos-toolbar__label{font-weight:700;color:var(--danger);white-space:nowrap;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.dc-chaos-toolbar__btn{padding:3px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);font-size:10px;cursor:pointer;transition:all .15s;white-space:nowrap}.dc-chaos-toolbar__btn:hover:not(:disabled){border-color:var(--danger);background:#e0313114}.dc-chaos-toolbar__btn--active{border-color:var(--danger);background:#e031311f;color:var(--danger);font-weight:700}.dc-chaos-toolbar__btn--clear{border-color:var(--accent);color:var(--accent)}.dc-chaos-toolbar__btn:disabled{opacity:.4;cursor:not-allowed}.dc-test-panel__tab-row{display:flex;gap:2px}.dc-test-panel__tab{padding:3px 10px;border:none;background:none;font-size:11px;color:var(--text-tertiary);cursor:pointer;border-bottom:2px solid transparent;font-weight:600;transition:all .15s}.dc-test-panel__tab:hover{color:var(--text-primary)}.dc-test-panel__tab--active{color:var(--text-primary);border-bottom-color:var(--accent)}.dc-btn--submitted{opacity:.7}.dc-score-card-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#000000a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:dc-overlay-in .2s ease-out}@keyframes dc-overlay-in{0%{opacity:0}to{opacity:1}}.dc-score-card{width:460px;max-width:95vw;max-height:90vh;overflow-y:auto;background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-lg);padding:32px;box-shadow:0 24px 80px #0000004d;animation:dc-card-in .3s ease-out}@keyframes dc-card-in{0%{transform:scale(.9) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}.dc-score-card__header{text-align:center;margin-bottom:24px}.dc-score-card__title{font-size:22px;font-weight:800;color:var(--text-primary);margin:0 0 4px}.dc-score-card__problem{font-size:14px;color:var(--text-secondary);margin:0}.dc-score-card__verdict{text-align:center;margin-bottom:28px;padding:20px;border:3px solid;border-radius:var(--radius)}.dc-score-card__total{font-size:48px;font-weight:800;line-height:1}.dc-score-card__verdict-label{display:inline-block;margin-top:8px;padding:4px 16px;border-radius:20px;font-size:14px;font-weight:700;color:#fff}.dc-score-card__breakdown{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.dc-score-card__row{display:flex;align-items:center;gap:8px}.dc-score-card__row-icon{font-size:16px;min-width:24px;text-align:center}.dc-score-card__row-label{font-size:13px;font-weight:600;color:var(--text-primary);min-width:120px}.dc-score-card__row-weight{font-size:11px;color:var(--text-tertiary);min-width:36px}.dc-score-card__bar-track{flex:1;height:8px;background:var(--border);border-radius:4px;overflow:hidden}.dc-score-card__bar-fill{height:100%;border-radius:4px;transition:width .6s ease-out}.dc-score-card__row-score{font-size:13px;font-weight:700;color:var(--text-primary);min-width:40px;text-align:right}.dc-score-card__penalty{text-align:center;font-size:13px;color:var(--danger);padding:8px;background:#e031310f;border-radius:var(--radius-sm);margin-bottom:16px}.dc-score-card__actions{display:flex;justify-content:center;gap:12px}.dc-btn--outline{background:transparent;border:1px solid var(--border);color:var(--text-primary);padding:4px 12px;border-radius:var(--radius-sm);font-size:11px;cursor:pointer;font-weight:600;transition:all .15s}.dc-btn--outline:hover{border-color:var(--accent);color:var(--accent)}@media (max-width: 768px){.dc-visualizer__bottom{grid-template-columns:1fr}.dc-visualizer__explain-col{border-right:none;border-bottom:1px solid var(--border)}.dc-stats-inline{flex-wrap:wrap;gap:10px}.dc-detail__center-tabs{position:static;transform:none}.dc-playground{flex-direction:column}.dc-question-panel{width:100%;max-height:200px;border-right:none;border-bottom:2px solid var(--border)}.dc-comp-sidebar{width:100%;max-height:180px;border-left:none;border-top:2px solid var(--border)}.dc-comp-sidebar__grid{grid-template-columns:repeat(5,1fr)}.dc-config-panel{position:static;width:100%;max-height:none;flex-direction:row;padding:4px}.dc-config-panel__section{max-height:160px}.dc-skeleton-sd__config-panel{position:static;width:100%;flex-direction:row;padding:8px}.dc-skeleton-sd__config-panel .dc-skeleton{flex:1}.dc-sim-toolbar{padding:3px 6px}.dc-top-bar{flex-wrap:wrap;gap:4px}.dc-control-bar,.dc-lc-api-row{flex-wrap:wrap}.dc-lc-api-desc{margin-left:0;width:100%}.dc-score-card{padding:20px;width:95vw}.dc-chaos-toolbar{flex-wrap:wrap}}@media (max-width: 1100px){.dc-detail__content--unified{overflow:auto;-webkit-overflow-scrolling:touch}.dc-algorithm-workbench{height:auto;min-height:100%;grid-template-columns:1fr}.dc-intro--workbench{height:auto;overflow:visible;border-right:0;border-bottom:0}.dc-detail__playground{display:flex;flex-direction:column;height:auto;min-height:0;overflow:visible;border-right:0;border-bottom:1px solid var(--border)}.dc-detail__playground>.dc-playground,.dc-detail__playground>.dc-visualizer,.dc-detail__playground>[class*=Visualizer],.dc-detail__playground .dc-playground{flex:none!important;height:auto!important;min-height:0!important;overflow:visible!important}.dc-visualizer{display:flex;flex-direction:column;height:auto;overflow:visible}.dc-visualizer__bottom{grid-template-columns:1fr;min-height:0;overflow:visible}.dc-visualizer__explain-col{border-right:none;border-bottom:1px solid var(--border);min-height:0;overflow:visible}.dc-visualizer__code-wrap{max-height:none;overflow:visible}.dc-code-block{max-height:min(55vh,480px);min-height:200px}.dc-skeleton-detail{height:auto;min-height:100%;grid-template-columns:1fr}.dc-skeleton-detail__lesson{border-right:0;border-bottom:0}.dc-skeleton-detail__playground{min-height:min(42vh,360px);border-right:0;border-bottom:1px solid var(--border)}}.dc-catalog--drawcode .dc-catalog__eyebrow{font-family:var(--font-hand);color:var(--brand-purple, #6965db);letter-spacing:.4px;font-size:12px;margin:0 0 4px}.dc-catalog--drawcode .dc-catalog__title{font-family:var(--font-hand);font-size:clamp(24px,3vw,34px);font-weight:700;line-height:1.1;margin:0 0 6px}.dc-catalog--drawcode .dc-catalog__desc{font-family:var(--font-hand);font-size:14px;max-width:640px;color:var(--text-secondary);line-height:1.5}.dc-catalog__search-row{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;margin-bottom:20px}.dc-search-wrap{position:relative;display:flex;align-items:center;flex:1;max-width:480px;min-width:0;border:1.5px solid var(--border-light, rgba(0, 0, 0, .12));border-radius:12px;padding:8px 14px 8px 36px;background:var(--bg-secondary);box-shadow:none;transition:border-color .2s ease,box-shadow .2s ease}.dc-search-wrap:focus-within{border-color:var(--brand-purple, #6965db);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand-purple, #6965db) 15%,transparent)}.dc-search-wrap__icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--text-tertiary);pointer-events:none;transition:color .2s ease}.dc-search-wrap:focus-within .dc-search-wrap__icon{color:var(--brand-purple, #6965db);opacity:1}.dc-search-wrap__clear{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:22px;height:22px;border-radius:50%;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.dc-search-input{border:none;background:transparent;padding:0;font-family:var(--font-hand, cursive);font-size:.95rem;color:var(--text-primary);height:100%;width:100%;outline:none}.dc-search-input:focus{box-shadow:none}.dc-search-input::placeholder{color:var(--text-tertiary);font-family:var(--font-hand, cursive);opacity:.7;font-size:.95rem}.dc-catalog__count{font-family:var(--font-hand, cursive);font-size:1.05rem;font-weight:700;color:var(--text-secondary);margin-left:10px;background:transparent;padding:0;border:none;white-space:nowrap;flex-shrink:0}.dc-catalog--drawcode .dc-tag-pill{border:1.5px solid var(--border-light, rgba(0, 0, 0, .12));border-radius:999px;padding:4px 12px;font-family:var(--font-hand);font-size:12px;background:var(--bg-secondary);transition:border-color .18s,color .18s,background .18s,transform .18s}.dc-catalog--drawcode .dc-tag-pill:hover{border-color:var(--brand-purple, #6965db);color:var(--brand-purple, #6965db);transform:translateY(-1px)}.dc-catalog--drawcode .dc-tag-pill--active{background:color-mix(in srgb,var(--brand-purple, #6965db) 16%,transparent);border-color:var(--brand-purple, #6965db);color:var(--brand-purple, #6965db)}.dc-catalog--drawcode .dc-tag-pill--active:hover{background:color-mix(in srgb,var(--brand-purple, #6965db) 22%,transparent);opacity:1}.dc-catalog--drawcode .dc-tag-pill__count{font-family:var(--font-ui);background:color-mix(in srgb,var(--brand-purple, #6965db) 14%,transparent);color:var(--brand-purple, #6965db);font-weight:700;font-size:11px}.dc-catalog--drawcode .dc-tag-pill--active .dc-tag-pill__count{background:var(--brand-purple, #6965db);color:#fff}.dc-catalog--drawcode .dc-tag-cloud__toggle{border:1.5px dashed color-mix(in srgb,var(--brand-purple, #6965db) 45%,transparent);color:var(--brand-purple, #6965db);font-family:var(--font-hand)}.dc-catalog--drawcode .dc-algo-card{border:1.5px solid var(--border-light, rgba(0, 0, 0, .12));border-radius:14px;background:var(--bg-secondary);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;padding:16px;position:relative;overflow:hidden;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.dc-catalog--drawcode .dc-algo-card:before{display:none}.dc-catalog--drawcode .dc-algo-card:hover{transform:translateY(-3px);border-color:var(--brand-purple, #6965db);box-shadow:0 12px 24px -12px color-mix(in srgb,var(--brand-purple, #6965db) 30%,transparent)}.dc-catalog--drawcode .dc-algo-card__top{gap:8px;margin-bottom:8px}.dc-catalog--drawcode .dc-algo-card__title{font-family:var(--font-hand);font-size:15px;letter-spacing:.1px}.dc-catalog--drawcode .dc-algo-card__cat{font-family:var(--font-hand);color:var(--brand-purple, #6965db);font-size:11px;opacity:.85}.dc-catalog--drawcode .dc-algo-card__desc{font-family:var(--font-hand);font-size:12px;line-height:1.55;margin-bottom:8px}.dc-catalog--drawcode .dc-algo-card__icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:color-mix(in srgb,var(--brand-purple, #6965db) 12%,transparent);border:1.5px solid color-mix(in srgb,var(--brand-purple, #6965db) 25%,transparent);font-size:18px;flex-shrink:0}.dc-catalog--drawcode .dc-badge{font-family:var(--font-hand);border-radius:999px;padding:2px 8px;font-size:10px;letter-spacing:.3px;border:1.5px solid rgba(255,255,255,.35)}.dc-catalog--drawcode .dc-algo-tag{font-family:var(--font-hand);background:color-mix(in srgb,var(--brand-purple, #6965db) 10%,transparent);color:var(--brand-purple, #6965db);border:1px solid color-mix(in srgb,var(--brand-purple, #6965db) 25%,transparent);padding:2px 8px;font-size:10px}.dc-catalog__loading{display:flex;justify-content:center;align-items:center;padding:32px 0 20px}.dc-card-grid[aria-busy=true]{pointer-events:none}.dc-catalog--drawcode .dc-algo-card--skeleton{min-height:158px;border-style:dashed;border-color:color-mix(in srgb,var(--brand-purple, #6965db) 22%,var(--border-light))}.dc-catalog--drawcode .dc-algo-card--skeleton:hover{transform:none;box-shadow:none}.dc-catalog--drawcode .dc-algo-card--skeleton:nth-child(3n+2) .dc-skeleton{animation-delay:-.35s}.dc-catalog--drawcode .dc-algo-card--skeleton:nth-child(3n) .dc-skeleton{animation-delay:-.7s}.dc-catalog--drawcode .dc-pagination__btn{font-family:var(--font-hand);border:1.8px solid var(--border-light);border-radius:999px;padding:8px 18px;background:var(--bg-secondary);color:var(--text-primary);transition:border-color .2s,color .2s,transform .15s}.dc-catalog--drawcode .dc-pagination__btn:not(:disabled):hover{border-color:var(--brand-purple, #6965db);color:var(--brand-purple, #6965db);transform:translateY(-1px)}.dc-catalog--drawcode .dc-pagination__info{font-family:var(--font-hand);color:var(--text-secondary)}[data-theme=dark] .dc-catalog--drawcode .dc-algo-card,[data-theme=dark] .dc-catalog--drawcode .dc-search-wrap,[data-theme=dark] .dc-catalog--drawcode .dc-tag-pill{background:var(--bg-elevated);border-color:#ffffff1a}.dc-catalog--problems .dc-problem-list{border:1.5px solid var(--border-light, rgba(0, 0, 0, .12));border-radius:14px;overflow:hidden;min-height:470px}.dc-catalog--problems .dc-problem-list__header{font-family:var(--font-hand);padding:8px 12px 8px 14px;gap:0}.dc-catalog--problems .dc-problem-list__col--status{font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.dc-catalog--problems .dc-problem-list__header--sortable{min-height:unset}.dc-problem-sort-head{display:inline-flex;align-items:center;gap:4px;border:none;background:none;cursor:pointer;padding:0;margin:0;font-family:inherit;font-size:11px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);transition:color .15s;border-radius:0;line-height:1}.dc-problem-sort-head:hover,.dc-problem-sort-head--active{color:var(--text-secondary)}.dc-problem-sort-head--right{justify-content:flex-end}.dc-problem-sort-head__label{pointer-events:none}.dc-problem-sort-head__chev{flex-shrink:0;display:block;color:var(--text-tertiary);opacity:.85}.dc-problem-sort-head--active .dc-problem-sort-head__chev{color:var(--text-secondary);opacity:1}.dc-problem-sort-head--num{width:40px;flex-shrink:0;justify-content:flex-start}.dc-problem-sort-head--title{flex:1;min-width:0;justify-content:flex-start}.dc-problem-sort-head--cat{width:108px;flex-shrink:0;justify-content:flex-start}.dc-problem-list__col--status,.dc-problem-sort-head--status{width:96px;flex-shrink:0}.dc-problem-sort-head--diff{width:92px;flex-shrink:0;justify-content:flex-end}.dc-catalog--problems .dc-problem-row__title{font-family:var(--font-hand);font-size:14px;letter-spacing:.05px}.dc-problems-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:16px}.dc-problems-toolbar__diff{flex:1;min-width:0}.dc-problems-toolbar__clear{margin-left:auto}.dc-catalog--problems .dc-tag-pill--diff.dc-tag-pill--easy.dc-tag-pill--active{background:color-mix(in srgb,var(--accent) 16%,transparent);border-color:var(--accent);color:var(--accent)}.dc-catalog--problems .dc-tag-pill--diff.dc-tag-pill--medium.dc-tag-pill--active{background:color-mix(in srgb,var(--accent-warm) 16%,transparent);border-color:var(--accent-warm);color:var(--accent-warm)}.dc-catalog--problems .dc-tag-pill--diff.dc-tag-pill--hard.dc-tag-pill--active{background:color-mix(in srgb,var(--danger) 14%,transparent);border-color:var(--danger);color:var(--danger)}.dc-catalog--problems .dc-tag-pill--pyspark.dc-tag-pill--active{background:color-mix(in srgb,#d97706 14%,transparent);border-color:#d97706;color:#d97706}.dc-catalog--problems .dc-tag-pill--pyspark.dc-tag-pill--active .dc-tag-pill__count{background:#d97706;color:#fff}.dc-catalog--problems .dc-tag-pill--sql.dc-tag-pill--active{background:color-mix(in srgb,#0d9488 14%,transparent);border-color:#0d9488;color:#0d9488}.dc-catalog--problems .dc-tag-pill--sql.dc-tag-pill--active .dc-tag-pill__count{background:#0d9488;color:#fff}.dc-catalog--problems .dc-tag-pill--dsa.dc-tag-pill--active{background:color-mix(in srgb,#2563eb 14%,transparent);border-color:#2563eb;color:#2563eb}.dc-catalog--problems .dc-tag-pill--dsa.dc-tag-pill--active .dc-tag-pill__count{background:#2563eb;color:#fff}.dc-problems-page{display:flex;flex-direction:column;gap:0;max-width:1400px;margin:0 auto;padding:24px clamp(16px,3vw,36px) 48px}.dc-problems-page__body{display:flex;align-items:flex-start;gap:clamp(20px,2.5vw,32px)}.dc-problems-page__main{flex:1;min-width:0}.dc-problems-profile{width:340px;flex-shrink:0;position:sticky;top:16px;display:flex;flex-direction:column;gap:14px}@media (min-width: 769px){.dc-problems-profile--highlights,.dc-problems-profile--details{display:none!important}.dc-problems-profile--full{display:flex}}.dc-problems-profile--flat{gap:12px}.dc-problems-profile--flat .dc-profile-streak,.dc-problems-profile--flat .dc-profile-activity,.dc-problems-profile--flat .dc-profile-daily,.dc-problems-profile--flat .dc-problems-profile__block,.dc-problems-profile--flat .dc-problems-profile__status-item{border:none;box-shadow:none;background:transparent}.dc-problems-profile--flat .dc-profile-streak{padding:0}.dc-problems-profile--flat .dc-profile-activity{padding:0;margin:0;border-top:none}.dc-problems-profile--flat .dc-profile-daily{border:none;box-shadow:none;background:transparent;border-radius:0}.dc-problems-profile--flat .dc-profile-daily__ribbon{border-bottom:none;padding-left:0;padding-right:0}.dc-problems-profile--flat .dc-profile-daily__body{padding-left:0;padding-right:0}.dc-problems-profile--flat .dc-profile-daily__body:hover{background:transparent}.dc-problems-profile--flat .dc-profile-daily__hint{padding-left:0;padding-right:0}.dc-problems-profile--flat .dc-profile-avatar-dc{filter:none}.dc-problems-profile__block{padding:0}.dc-problems-profile__block-title{margin:0 0 10px;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);font-family:var(--font-hand)}.dc-problems-profile--flat .dc-profile-calendar{padding:0}.dc-problems-profile--flat .dc-problems-profile__status-grid{gap:6px}.dc-problems-profile--flat .dc-problems-profile__status-item{padding:8px 4px;border-radius:8px;background:color-mix(in srgb,var(--border) 30%,transparent)}.dc-problems-profile__user{display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}.dc-problems-profile__card--wide>.dc-profile-streak{margin:0}.dc-problems-profile__card--wide>.dc-profile-activity{padding:0;border-top:none;margin-top:0}.dc-problems-profile__avatar-wrap{--dc-avatar-size: 96px;--dc-avatar-gap: 5px;position:relative;display:flex;align-items:center;justify-content:center;width:calc(var(--dc-avatar-size) + var(--dc-avatar-gap) * 2);height:calc(var(--dc-avatar-size) + var(--dc-avatar-gap) * 2);margin:0 auto;padding:0;transform:none}.dc-problems-profile__avatar-ring{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:18px;border:2px dashed color-mix(in srgb,var(--brand-purple, #6965db) calc(var(--dc-profile-pct, 0) * .55 + 22%),transparent);pointer-events:none;opacity:.95;box-sizing:border-box}.dc-profile-mascot{position:relative;width:var(--dc-profile-mascot-size, 164px);height:calc(var(--dc-profile-mascot-size, 164px) * 1.0556);margin:-4px auto -10px;flex:0 0 auto;overflow:visible;filter:drop-shadow(0 8px 10px color-mix(in srgb,#1a1a1a 10%,transparent))}.dc-profile-mascot__body{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%;overflow:visible}.dc-profile-mascot__head{position:absolute;z-index:3;top:1px;left:50%;width:50%;height:50%;transform:translate(-50%) rotate(-1.5deg);transform-origin:50% 84%;filter:drop-shadow(0 3px 2px color-mix(in srgb,#1a1a1a 20%,transparent));animation:dc-profile-robot-head 3.4s ease-in-out infinite}.dc-profile-mascot__shadow{fill:color-mix(in srgb,var(--brand-purple, #6965db) 18%,transparent)}.dc-profile-mascot__limb{fill:none;stroke:#242424;stroke-width:7;stroke-linecap:round;stroke-linejoin:round}[data-theme=dark] .dc-profile-mascot__limb{stroke:#d8d8df}.dc-profile-mascot__hand{fill:var(--brand-purple-light, #8b86ff);stroke:#242424;stroke-width:2.6}.dc-profile-mascot__joint{fill:color-mix(in srgb,var(--brand-purple-light, #8b86ff) 72%,var(--bg-secondary));stroke:#242424;stroke-width:2.4}.dc-profile-mascot__finger{fill:none;stroke:#242424;stroke-width:2.5;stroke-linecap:round}[data-theme=dark] .dc-profile-mascot__hand,[data-theme=dark] .dc-profile-mascot__joint,[data-theme=dark] .dc-profile-mascot__finger{stroke:#d8d8df}.dc-profile-mascot__arm-left{transform-box:fill-box;transform-origin:88% 8%;animation:dc-profile-robot-arm-idle 3.4s ease-in-out infinite}.dc-profile-mascot__neck{fill:none;stroke:#242424;stroke-width:4;stroke-linecap:round}[data-theme=dark] .dc-profile-mascot__neck{stroke:#d8d8df}.dc-profile-mascot__torso{fill:color-mix(in srgb,var(--brand-purple, #6965db) 14%,var(--bg-secondary));stroke:#242424;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.dc-profile-mascot__core{transform-box:fill-box;transform-origin:50% 85%;animation:dc-profile-robot-core 3.4s ease-in-out infinite}[data-theme=dark] .dc-profile-mascot__torso{stroke:#d8d8df}.dc-profile-mascot__torso-sketch{fill:none;stroke:color-mix(in srgb,var(--brand-purple-light, #8b86ff) 62%,transparent);stroke-width:1.6;stroke-linecap:round;stroke-dasharray:4 5}.dc-profile-mascot__panel-line,.dc-profile-mascot__vent{fill:none;stroke:color-mix(in srgb,var(--text-secondary) 68%,transparent);stroke-width:1.8;stroke-linecap:round}.dc-profile-mascot__vent{stroke-width:1.5}.dc-profile-mascot__bolt{fill:#f59e0b;stroke:#242424;stroke-width:.9}.dc-profile-mascot__screen-glow{fill:none;stroke:color-mix(in srgb,var(--brand-purple-light, #8b86ff) 35%,transparent);stroke-width:3;animation:dc-profile-robot-screen 2.2s ease-in-out infinite}.dc-profile-mascot__screen{fill:var(--brand-purple, #6965db);stroke:#242424;stroke-width:2}.dc-profile-mascot__code{fill:none;stroke:#fff;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}.dc-profile-mascot__status{fill:#f59e0b;stroke:#242424;stroke-width:1.4;animation:dc-profile-robot-status 1.9s steps(1,end) infinite}.dc-profile-mascot__boot{fill:var(--brand-purple, #6965db);stroke:#242424;stroke-width:2.6;stroke-linejoin:round}[data-theme=dark] .dc-profile-mascot__screen,[data-theme=dark] .dc-profile-mascot__status,[data-theme=dark] .dc-profile-mascot__boot{stroke:#d8d8df}.dc-profile-mascot__wave{transform-box:fill-box;transform-origin:18% 88%;animation:dc-profile-robot-wave 2.8s ease-in-out infinite}.dc-profile-mascot--near .dc-profile-mascot__wave,.dc-profile-mascot:hover .dc-profile-mascot__wave{animation:none;transform:rotate(0)}.dc-profile-mascot--near .dc-profile-mascot__screen-glow{opacity:.95;stroke-width:3.5px}.dc-profile-mascot--clicked{transform:translateY(-8px) scale(1.06);transition:transform .22s cubic-bezier(.34,1.56,.64,1)}.dc-profile-mascot__hello{position:absolute;z-index:4;top:31px;right:-22px;padding:4px 8px;border:1.5px solid color-mix(in srgb,var(--brand-purple, #6965db) 42%,var(--border));border-radius:10px 9px 11px 8px;background:var(--bg-secondary);color:var(--brand-purple, #6965db);font:700 10px/1 var(--font-hand);transform:rotate(3deg);animation:dc-profile-robot-hello 2.8s ease-in-out infinite}.dc-profile-mascot__hello:after{content:"";position:absolute;left:8px;bottom:-5px;width:8px;height:8px;background:var(--bg-secondary);border-right:1.5px solid color-mix(in srgb,var(--brand-purple, #6965db) 42%,var(--border));border-bottom:1.5px solid color-mix(in srgb,var(--brand-purple, #6965db) 42%,var(--border));transform:rotate(45deg)}@keyframes dc-profile-robot-wave{0%,16%,68%,to{transform:rotate(0)}24%{transform:rotate(-14deg)}34%{transform:rotate(10deg)}44%{transform:rotate(-12deg)}54%{transform:rotate(7deg)}}@keyframes dc-profile-robot-head{0%,to{transform:translate(-50%) translateY(0) rotate(-1.5deg)}22%{transform:translate(-50%) translateY(-2px) rotate(1.5deg)}48%{transform:translate(-50%) translateY(1px) rotate(-2.5deg)}70%{transform:translate(-50%) translateY(-1px) rotate(1deg)}}@keyframes dc-profile-robot-core{0%,to{transform:translateY(0) rotate(0)}22%{transform:translateY(-1.5px) rotate(-.5deg)}48%{transform:translateY(.8px) rotate(.45deg)}70%{transform:translateY(-.7px) rotate(-.25deg)}}@keyframes dc-profile-robot-arm-idle{0%,to{transform:rotate(0)}28%{transform:rotate(3deg)}62%{transform:rotate(-2deg)}}@keyframes dc-profile-robot-screen{0%,to{opacity:.35}50%{opacity:.9}}@keyframes dc-profile-robot-status{0%,72%,to{opacity:1}74%,82%{opacity:.25}}@keyframes dc-profile-robot-hello{0%,16%,68%,to{transform:translateY(2px) rotate(3deg);opacity:.72}25%,58%{transform:translateY(-2px) rotate(1deg);opacity:1}}@media (prefers-reduced-motion: reduce){.dc-profile-mascot__wave,.dc-profile-mascot__head,.dc-profile-mascot__core,.dc-profile-mascot__arm-left,.dc-profile-mascot__screen-glow,.dc-profile-mascot__status,.dc-profile-mascot__hello{animation:none}}.dc-character-mascot{position:relative;overflow:visible;filter:drop-shadow(0 4px 8px color-mix(in srgb,#1a1a1a 9%,transparent))}.dc-character-mascot--sitting{transform:translateY(-2px)}.dc-character__bubble{position:absolute;z-index:10;top:-26px;right:-24px;padding:4px 9px;border:1.5px solid color-mix(in srgb,var(--brand-purple, #6965db) 42%,var(--border));border-radius:10px 9px 11px 8px;background:var(--bg-secondary);color:var(--brand-purple, #6965db);font:700 11px/1 var(--font-hand, sans-serif);white-space:nowrap;pointer-events:none;box-shadow:0 4px 12px color-mix(in srgb,#1a1a1a 12%,transparent)}.dc-character__bubble:after{content:"";position:absolute;left:10px;bottom:-5px;width:7px;height:7px;background:var(--bg-secondary);border-right:1.5px solid color-mix(in srgb,var(--brand-purple, #6965db) 42%,var(--border));border-bottom:1.5px solid color-mix(in srgb,var(--brand-purple, #6965db) 42%,var(--border));transform:rotate(45deg)}.dc-character__limb{fill:none;stroke:#242424;stroke-width:4.2;stroke-linecap:round;stroke-linejoin:round}[data-theme=dark] .dc-character__limb{stroke:#d8d8df}.dc-character__hand{fill:var(--brand-purple-light, #8b86ff);stroke:#242424;stroke-width:1.8}.dc-character__joint{fill:color-mix(in srgb,var(--brand-purple-light, #8b86ff) 72%,var(--bg-secondary));stroke:#242424;stroke-width:1.6}[data-theme=dark] .dc-character__hand,[data-theme=dark] .dc-character__joint{stroke:#d8d8df}.dc-character__finger{fill:none;stroke:#242424;stroke-width:1.8;stroke-linecap:round}[data-theme=dark] .dc-character__finger{stroke:#d8d8df}.dc-character__neck{fill:none;stroke:#242424;stroke-width:2.8;stroke-linecap:round}[data-theme=dark] .dc-character__neck{stroke:#d8d8df}.dc-character__torso{fill:color-mix(in srgb,var(--brand-purple, #6965db) 14%,var(--bg-secondary));stroke:#242424;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}[data-theme=dark] .dc-character__torso{stroke:#d8d8df}.dc-character__torso-sketch{fill:none;stroke:color-mix(in srgb,var(--brand-purple-light, #8b86ff) 62%,transparent);stroke-width:1.2;stroke-linecap:round;stroke-dasharray:2.5 3}.dc-character__bolt{fill:#f59e0b;stroke:#242424;stroke-width:.7}.dc-character__screen-glow{fill:none;stroke:color-mix(in srgb,var(--brand-purple-light, #8b86ff) 35%,transparent);stroke-width:2}.dc-character__screen{fill:var(--brand-purple, #6965db);stroke:#242424;stroke-width:1.5}[data-theme=dark] .dc-character__screen{stroke:#d8d8df}.dc-character__status{fill:#f59e0b;stroke:#242424;stroke-width:1}[data-theme=dark] .dc-character__status{stroke:#d8d8df}.dc-character__boot{fill:var(--brand-purple, #6965db);stroke:#242424;stroke-width:1.8;stroke-linejoin:round}[data-theme=dark] .dc-character__boot{stroke:#d8d8df}.dc-search-wrap__mascot{position:absolute;right:36px;top:-34px;z-index:4;-webkit-user-select:none;user-select:none;transition:transform .28s cubic-bezier(.34,1.56,.64,1)}.dc-search-wrap:focus-within .dc-search-wrap__mascot{transform:translateY(-2px) scale(1.05)}.dc-profile-avatar-dc{position:relative;z-index:1;flex-shrink:0;transform:rotate(-.4deg);overflow:hidden;border-radius:14px;background:transparent;box-shadow:none;filter:none}.dc-profile-avatar-dc__photo{position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:9px;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--brand-purple, #6965db) 18%,var(--bg-secondary)),var(--bg-tertiary));display:flex;align-items:center;justify-content:center;z-index:0}.dc-profile-avatar-dc__photo img{width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block}.dc-profile-avatar-dc__initials{font-family:var(--font-hand);font-size:28px;font-weight:700;color:var(--brand-purple, #6965db);line-height:1}.dc-profile-avatar-dc__frame{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;width:100%;height:100%;pointer-events:none;display:block;overflow:hidden}.dc-profile-avatar-dc__badge{position:absolute;right:10px;bottom:10px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:26px;height:20px;padding:0;border-radius:6px;background:linear-gradient(145deg,var(--brand-purple-light, #8b86ff),var(--brand-purple, #6965db));border:1.5px solid color-mix(in srgb,#1a1a1a 50%,transparent);box-shadow:none;transform:none;pointer-events:none}.dc-profile-avatar-dc__badge svg{width:14px;height:10px;display:block}.dc-problems-profile__name{margin:0;font-family:var(--font-hand);font-size:18px;font-weight:700;color:var(--text-primary);letter-spacing:.02em;word-break:break-word}.dc-problems-profile__card{border:2px solid color-mix(in srgb,var(--brand-purple, #6965db) 18%,var(--border-light, rgba(0, 0, 0, .12)));border-radius:14px;background:var(--bg-secondary);overflow:hidden;box-shadow:2px 3px color-mix(in srgb,var(--brand-purple, #6965db) 8%,transparent)}.dc-problems-profile__card-title{margin:0;padding:12px 14px 0;font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);font-family:var(--font-hand)}.dc-problems-profile__card-body{display:flex;align-items:flex-start;gap:12px;padding:14px}.dc-problems-profile__ring-wrap{position:relative;width:118px;flex-shrink:0}.dc-problems-profile__ring{display:block;width:118px;height:118px}.dc-problems-profile__ring-bg{stroke:color-mix(in srgb,var(--border) 90%,transparent)}.dc-problems-profile__ring-center{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none}.dc-problems-profile__ring-ratio{font-family:var(--font-ui);font-weight:700;line-height:1.1;color:var(--text-primary)}.dc-problems-profile__ring-solved{font-size:22px}.dc-problems-profile__ring-slash,.dc-problems-profile__ring-total{font-size:14px;color:var(--text-tertiary);font-weight:600}.dc-problems-profile__ring-label{display:inline-flex;align-items:center;gap:3px;margin-top:2px;font-size:11px;font-weight:600;color:#2dd4bf}.dc-problems-profile__attempting{margin:6px 0 0;text-align:center;font-size:11px;color:var(--text-tertiary);font-family:var(--font-hand)}.dc-problems-profile__diffs{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px;padding-top:16px}.dc-problems-profile__diff-row{display:flex;flex-direction:column;gap:4px}.dc-problems-profile__diff-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.dc-problems-profile__diff-name{font-size:12px;font-weight:700;font-family:var(--font-hand)}.dc-problems-profile__diff-count{font-size:12px;font-weight:600;font-family:var(--font-ui)}.dc-problems-profile__diff-total{color:var(--text-tertiary)}.dc-problems-profile__diff-track{height:4px;border-radius:999px;background:color-mix(in srgb,var(--border) 80%,transparent);overflow:hidden}.dc-problems-profile__diff-fill{height:100%;border-radius:999px;transition:width .35s ease}.dc-problems-profile__status-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.dc-problems-profile__status-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border-radius:10px;border:1.5px solid var(--border-light, rgba(0, 0, 0, .1));background:var(--bg-secondary)}.dc-problems-profile__status-num{font-size:18px;font-weight:700;font-family:var(--font-ui);color:var(--text-tertiary)}.dc-problems-profile__status-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-tertiary);font-family:var(--font-hand)}.dc-problems-profile__status-item--attempted .dc-problems-profile__status-num{color:#6366f1}.dc-problems-profile__status-item--completed .dc-problems-profile__status-num{color:#2dd4bf}@media (max-width: 1024px){.dc-problems-page__body{flex-direction:column}.dc-problems-profile--full{width:100%;position:static;order:-1}.dc-problems-profile__card-body{justify-content:center}}.dc-profile-streak{width:auto;padding:0;border-radius:0;border:none;background:transparent}.dc-profile-streak__main{display:flex;align-items:center;justify-content:center;gap:8px}.dc-profile-streak__meta{margin-top:6px;display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;color:var(--text-tertiary)}.dc-profile-streak__flame{font-size:22px;line-height:1;filter:drop-shadow(0 1px 2px rgba(251,191,36,.4))}.dc-profile-streak__num{font-size:26px;font-weight:800;font-family:var(--font-hand);color:var(--text-primary);line-height:1;margin-right:4px}.dc-profile-streak__label{font-size:13px;font-weight:600;color:var(--text-secondary);font-family:var(--font-hand)}.dc-profile-activity--compact .dc-profile-activity__stat-compact{margin:0 0 6px;font-size:10px;color:var(--text-tertiary)}.dc-profile-activity--compact .dc-profile-activity__stat-compact strong{color:var(--text-primary);font-weight:700}.dc-profile-activity--compact .dc-profile-heatmap__cell{width:10px;height:10px}.dc-profile-activity--compact .dc-profile-heatmap__legend{margin-top:6px}.dc-profile-activity--compact .dc-profile-heatmap__legend .dc-profile-heatmap__cell{width:9px;height:9px}.dc-profile-streak__dot{opacity:.5}.dc-profile-daily{border:2px solid color-mix(in srgb,var(--brand-purple, #6965db) 35%,var(--border));border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--brand-purple, #6965db) 10%,var(--bg-secondary)) 0%,var(--bg-secondary) 60%);overflow:hidden;box-shadow:2px 3px color-mix(in srgb,var(--brand-purple, #6965db) 12%,transparent)}.dc-profile-daily--done{border-color:color-mix(in srgb,#2dd4bf 40%,var(--border));background:linear-gradient(135deg,color-mix(in srgb,#2dd4bf 10%,var(--bg-secondary)) 0%,var(--bg-secondary) 60%)}.dc-profile-daily__ribbon{padding:6px 12px;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--brand-purple, #6965db);font-family:var(--font-hand);border-bottom:1px dashed color-mix(in srgb,var(--brand-purple, #6965db) 25%,var(--border))}.dc-profile-daily--done .dc-profile-daily__ribbon{color:#2dd4bf;border-bottom-color:color-mix(in srgb,#2dd4bf 25%,var(--border))}.dc-profile-daily__body{display:flex;align-items:center;gap:10px;width:100%;padding:12px;border:none;background:transparent;cursor:pointer;text-align:left;color:inherit}.dc-profile-daily__body:hover{background:color-mix(in srgb,var(--brand-purple, #6965db) 6%,transparent)}.dc-profile-daily__icon{font-size:22px;line-height:1;flex-shrink:0}.dc-profile-daily__text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.dc-profile-daily__title{font-size:14px;font-weight:700;color:var(--text-primary);font-family:var(--font-hand);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dc-profile-daily__meta{font-size:11px;color:var(--text-tertiary);font-weight:600}.dc-profile-daily__sep{margin:0 4px;opacity:.5}.dc-profile-daily__action{flex-shrink:0;color:var(--brand-purple, #6965db)}.dc-profile-daily--done .dc-profile-daily__action{color:#2dd4bf}.dc-profile-daily__hint{margin:0;padding:0 12px 10px;font-size:10px;color:var(--text-tertiary);font-family:var(--font-hand)}.dc-profile-activity__title{margin:0 0 4px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);font-family:var(--font-hand)}.dc-problems-profile__section-head{padding:12px 14px 0}.dc-problems-profile__section-title{margin:0;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);font-family:var(--font-hand)}.dc-problems-profile__card--wide .dc-profile-calendar{padding-top:8px}.dc-profile-activity{padding:12px 14px 14px}.dc-profile-activity__head{margin-bottom:12px}.dc-profile-activity__stat-main{margin:0 0 6px;font-size:13px;color:var(--text-secondary);line-height:1.4}.dc-profile-activity__stat-main strong{color:var(--text-primary);font-weight:700;font-size:15px}.dc-profile-activity__stat-meta{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:11px;color:var(--text-tertiary)}.dc-profile-heatmap{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}.dc-profile-heatmap__days{display:flex;flex-direction:column;justify-content:space-between;gap:3px;padding:0 0 18px;flex-shrink:0}.dc-profile-heatmap__day-label{font-size:9px;color:var(--text-tertiary);height:11px;line-height:11px}.dc-profile-heatmap__grid-wrap{flex:1;min-width:0}.dc-profile-heatmap__grid{display:flex;gap:3px}.dc-profile-heatmap__col{display:flex;flex-direction:column;gap:3px}.dc-profile-heatmap__cell{width:12px;height:12px;border-radius:3px;flex-shrink:0;border:1px solid color-mix(in srgb,var(--border) 40%,transparent)}.dc-profile-heatmap__cell--empty{background:transparent;border-color:transparent}.dc-profile-heatmap__cell--l0{background:color-mix(in srgb,var(--border) 55%,var(--bg-tertiary))}.dc-profile-heatmap__cell--l1{background:color-mix(in srgb,var(--brand-purple, #6965db) 28%,var(--bg-tertiary));border-color:color-mix(in srgb,var(--brand-purple, #6965db) 20%,transparent)}.dc-profile-heatmap__cell--l2{background:color-mix(in srgb,var(--brand-purple, #6965db) 58%,var(--bg-tertiary));border-color:color-mix(in srgb,var(--brand-purple, #6965db) 35%,transparent)}.dc-profile-heatmap__cell--l3{background:var(--brand-purple, #6965db);border-color:color-mix(in srgb,var(--brand-purple, #6965db) 80%,#1a1a1a);box-shadow:0 0 0 1px color-mix(in srgb,var(--brand-purple, #6965db) 30%,transparent)}.dc-profile-heatmap__legend{display:flex;align-items:center;justify-content:flex-end;gap:4px;margin-top:10px;font-size:9px;color:var(--text-tertiary)}.dc-profile-heatmap__legend .dc-profile-heatmap__cell{width:11px;height:11px}.dc-profile-heatmap__months{display:grid;gap:3px;margin-top:6px;font-size:9px;color:var(--text-tertiary)}.dc-profile-heatmap__month{white-space:nowrap}.dc-profile-calendar{--calendar-cell-size: clamp(28px, 3.2vw, 36px);padding:14px;border:0;border-radius:0;background:transparent}.dc-profile-calendar__head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:10px}.dc-profile-calendar__day-label{display:block;font-size:14px;font-weight:700;color:var(--text-primary);font-family:var(--font-hand)}.dc-profile-calendar__day-label:after{content:"";display:block;width:34px;height:3px;margin-top:4px;border-radius:999px;background:linear-gradient(90deg,#6965db 0,#6965db 55%,#f4a261 55%,#f4a261)}.dc-profile-calendar__streak{display:block;font-size:11px;color:#fbbf24;margin-top:2px}.dc-profile-calendar__nav{display:flex;align-items:center;gap:6px;flex-shrink:0}.dc-profile-calendar__nav button{width:24px;height:24px;border:1px solid var(--border-light);border-radius:6px;background:var(--bg-primary);color:var(--text-secondary);cursor:pointer;font-size:16px;line-height:1}.dc-profile-calendar__nav button:hover{border-color:var(--brand-purple, #6965db);color:var(--brand-purple, #6965db)}.dc-profile-calendar__month{font-size:11px;font-weight:600;color:var(--text-secondary);min-width:64px;text-align:center}.dc-profile-calendar__weekdays{display:grid;grid-template-columns:repeat(7,var(--calendar-cell-size));justify-content:space-between;gap:6px;margin-bottom:6px;text-align:center;font-size:10px;font-weight:600;color:var(--text-tertiary)}.dc-profile-calendar__grid{display:grid;grid-template-columns:repeat(7,var(--calendar-cell-size));grid-auto-rows:var(--calendar-cell-size);justify-content:space-between;gap:6px}.dc-profile-calendar__cell{width:var(--calendar-cell-size);height:var(--calendar-cell-size);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;border:1px solid transparent;border-radius:7px;color:var(--text-secondary);box-sizing:border-box}.dc-profile-calendar__cell--pad{visibility:hidden}.dc-profile-calendar__cell--today{border-color:var(--brand-purple, #6965db);background:color-mix(in srgb,var(--brand-purple, #6965db) 88%,#fff);color:#fff;box-shadow:3px 3px color-mix(in srgb,var(--brand-purple, #6965db) 28%,transparent)}.dc-profile-calendar__cell--done{background:color-mix(in srgb,var(--brand-purple, #6965db) 16%,transparent);border-color:color-mix(in srgb,var(--brand-purple, #6965db) 28%,transparent);color:var(--brand-purple, #6965db)}.dc-profile-calendar__cell--done svg{stroke:var(--brand-purple, #6965db)}.dc-profile-calendar--loading{opacity:.65;pointer-events:none}.dc-profile-calendar__cell--missed{color:var(--text-tertiary);border-color:color-mix(in srgb,var(--border-light, #888) 38%,transparent)}.dc-profile-calendar__cell--future{color:var(--text-tertiary);opacity:.45}.dc-profile-calendar__footer{margin-top:10px;padding-top:8px;border-top:1px solid color-mix(in srgb,var(--border) 80%,transparent)}.dc-profile-calendar__footer-stat{font-size:11px;color:var(--text-tertiary)}@media (max-width: 560px){.dc-profile-calendar{--calendar-cell-size: clamp(26px, 10vw, 34px);padding:12px}.dc-profile-calendar__weekdays,.dc-profile-calendar__grid{gap:3px}}.dc-theory-card__tag{display:inline-block;font-family:var(--font-hand);font-size:10px;padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--card-accent, var(--brand-purple)) 14%,transparent);color:var(--card-accent, var(--brand-purple));margin-bottom:10px;letter-spacing:.3px;border:1px solid color-mix(in srgb,var(--card-accent, var(--brand-purple)) 30%,transparent)}.dc-catalog--drawcode .dc-theory-card:hover{border-color:var(--card-accent, var(--brand-purple, #6965db));box-shadow:0 12px 24px -12px color-mix(in srgb,var(--card-accent, var(--brand-purple)) 30%,transparent)}.dc-canvas-return{position:fixed;right:18px;bottom:18px;z-index:1200;min-height:34px;display:inline-flex;align-items:center;gap:6px;padding:0 11px;border:1px solid var(--border, rgba(255, 255, 255, .14));border-radius:7px;color:var(--text-primary, #f1f3f5);background:var(--bg-elevated, #232329);box-shadow:0 8px 24px #0000003d;font:600 12px/1 var(--font-hand, inherit);cursor:pointer;animation:dc-canvas-return-in .42s cubic-bezier(.22,1,.36,1) both;transition:background .18s ease,transform .18s ease,box-shadow .18s ease}.dc-canvas-return:hover{background:var(--bg-hover, #303038);transform:translateY(-1px);box-shadow:0 12px 28px #00000047}.dc-canvas-return:active{transform:translateY(0)}.dc-canvas-return svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2}@keyframes dc-canvas-return-in{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.dc-canvas-return{animation:none;transition:none}}.obs-app.ce-app{--obs-chrome: var(--bg-secondary);--obs-surface: var(--bg-primary)}.obs-app.ce-app .ce-main-host{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;overflow:hidden}.obs-app.ce-app .ce-pane__body .ce-pane__tab-host{flex:1 1 auto;display:flex;flex-direction:column;min-width:0;min-height:0;width:100%;height:100%;overflow:hidden}.obs-app.ce-app .ce-pane__body .ce-pane-editor,.ce-pane__body .ce-pane-editor{flex:1 1 auto;min-width:0;min-height:0;width:100%;height:100%;display:flex;flex-direction:column;overflow:hidden}.obs-app.ce-app .obs-tabbar__right{gap:3px;padding-bottom:3px;align-items:center}.obs-app.ce-app .obs-tabbar__icon-btn,.obs-app.ce-app .obs-tabbar__new-btn{width:24px;height:24px;padding:0;margin:0;border:none;border-radius:6px;background:transparent;color:var(--obs-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s}.obs-app.ce-app .obs-tabbar__icon-btn:hover,.obs-app.ce-app .obs-tabbar__new-btn:hover,.obs-app.ce-app .obs-tabbar__icon-btn--active{background:var(--obs-hover);color:var(--obs-strong)}.obs-app.ce-app .obs-tabbar__icon-btn svg,.obs-app.ce-app .obs-tabbar__new-btn svg,.obs-app.ce-app .ce-run-btn svg,.obs-app.ce-app .ft-actions__btn svg,.obs-app.ce-app .ft-node__icon,.obs-app.ce-app .ft-search__icon{width:14px;height:14px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;shape-rendering:geometricPrecision}.obs-app.ce-app .ce-lang-select{display:inline-flex;align-items:center;margin-right:2px;position:relative}.obs-app.ce-app .ce-lang-select:after{content:"";position:absolute;right:9px;top:50%;width:6px;height:6px;border-right:1.5px solid var(--obs-muted);border-bottom:1.5px solid var(--obs-muted);transform:translateY(-65%) rotate(45deg);pointer-events:none;opacity:.9}.obs-app.ce-app .ce-lang-select__select{height:26px;min-width:132px;padding:0 26px 0 10px;border-radius:6px;border:1px solid color-mix(in srgb,var(--obs-border) 65%,transparent);background:color-mix(in srgb,var(--obs-surface) 70%,transparent);color:var(--obs-strong);font-size:12px;font-family:var(--font-sans);font-weight:500;cursor:pointer;outline:none;transition:background .15s,border-color .15s;appearance:none;-webkit-appearance:none;-moz-appearance:none}.obs-app.ce-app .ce-lang-select__select:hover{background:var(--obs-hover)}.obs-app.ce-app .ce-lang-select__select:focus{border-color:color-mix(in srgb,var(--obs-strong) 30%,var(--obs-border))}.obs-app.ce-app .ce-run-btn{height:26px;min-height:26px;padding:0 10px 0 8px;gap:5px;font-family:var(--font-hand, cursive);font-size:12.5px;font-weight:700;letter-spacing:.02em;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;border-radius:9px 8px 10px 7px/8px 10px 7px 9px;transition:all .16s cubic-bezier(.34,1.56,.64,1);transform:rotate(-.3deg);white-space:nowrap}.obs-app.ce-app .ce-run-btn--ready{background:#16a34a;background-image:linear-gradient(180deg,#22c55e,#16a34a);color:#fff;border:1.5px solid #15803d;box-shadow:1.5px 2px #14532d,0 1px 4px #16a34a40;text-shadow:0 1px 1px rgba(0,0,0,.2)}.obs-app.ce-app .ce-run-btn--ready:hover{background:#15803d;background-image:linear-gradient(180deg,#22c55e,#15803d);transform:translateY(-1px) rotate(0) scale(1.04);box-shadow:2px 3px #14532d,0 4px 10px #16a34a59;color:#fff}.obs-app.ce-app .ce-run-btn--ready:active{transform:translateY(1px) scale(.96);box-shadow:.5px 1px #14532d}.obs-app.ce-app .ce-run-btn--running{background:#ea580c;background-image:linear-gradient(180deg,#f97316,#ea580c);color:#fff;border:1.5px solid #c2410c;box-shadow:1.5px 2px #7c2d12,0 1px 4px #ea580c40;text-shadow:0 1px 1px rgba(0,0,0,.2);animation:ce-pulse-running 1.4s ease-in-out infinite alternate}.obs-app.ce-app .ce-run-btn--running:hover{background:#dc2626;background-image:linear-gradient(180deg,#ef4444,#dc2626);border-color:#b91c1c;box-shadow:2px 3px #7f1d1d,0 4px 10px #dc262659}.obs-app.ce-app .ce-run-btn__spinner{width:11px;height:11px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:ce-spin .7s linear infinite}.obs-app.ce-app .ce-run-btn__icon{flex-shrink:0;display:block}.obs-app.ce-app .ce-run-btn__label{display:inline-block;line-height:1}@keyframes ce-pulse-running{0%{box-shadow:1.5px 2px #7c2d12,0 0 3px #ea580c4d}to{box-shadow:1.5px 2px #7c2d12,0 0 10px #ea580c99}}.obs-app.ce-app .obs-subheader{display:none}.obs-app.ce-app .obs-subheader__title{display:inline-flex;align-items:center;gap:10px;justify-content:center;font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:11.5px;color:var(--obs-muted)}.obs-app.ce-app .ce-subheader__stats{display:inline-flex;align-items:center;gap:10px}.obs-app.ce-app .ce-subheader__stat{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;font-family:JetBrains Mono,monospace;color:color-mix(in srgb,#10b981 75%,var(--obs-muted))}.obs-app.ce-app .ce-subheader__engine{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--obs-muted-weak);padding:1px 5px;border-radius:3px;border:1px solid var(--obs-border)}.obs-app.ce-app .ce-subheader__running{font-size:10.5px;font-weight:600;color:#f59e0b;animation:ce-lsp-pulse 1s infinite}@keyframes ce-lsp-pulse{0%,to{opacity:1}50%{opacity:.3}}.obs-app.ce-app .ce-main{display:flex;flex-direction:column;flex:1 1 auto;min-width:0;min-height:0;width:100%;height:100%;overflow:hidden;background:var(--obs-surface)}.obs-app.ce-app .ce-main--doc-only{flex-direction:column}.obs-app.ce-app .ce-main--doc-only .ce-editor-area,.obs-app.ce-app .ce-main>.ce-editor-area{flex:1 1 auto;min-height:0;min-width:0;height:100%}.obs-app.ce-app .ce-io-split.obs-split{flex:1 1 auto!important;min-width:0;min-height:0;width:100%;height:100%;align-self:stretch}.obs-app.ce-app .ce-io-split__panel{min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.obs-app.ce-app .ce-io-split__panel .ce-editor-area,.obs-app.ce-app .ce-io-split__panel .ce-terminal-area{flex:1 1 auto;width:100%;height:100%;min-height:0;min-width:0}.obs-app.ce-app .ce-io-split__handle{z-index:6;background:color-mix(in srgb,var(--obs-chrome, var(--bg-secondary)) 80%,transparent)}.obs-app.ce-app .ce-io-split__handle.obs-split__handle--vertical{height:10px;margin:-4px 0}.obs-app.ce-app .ce-io-split__handle.obs-split__handle--horizontal{width:10px;margin:0 -4px}.obs-app.ce-app .ce-io-split__grip{display:flex;align-items:center;justify-content:center;gap:3px;pointer-events:none;z-index:1}.obs-app.ce-app .ce-io-split__handle.obs-split__handle--vertical .ce-io-split__grip{flex-direction:row}.obs-app.ce-app .ce-io-split__handle.obs-split__handle--horizontal .ce-io-split__grip{flex-direction:column}.obs-app.ce-app .ce-io-split__grip span{width:3px;height:3px;border-radius:50%;background:color-mix(in srgb,var(--obs-muted, #888) 70%,transparent)}.obs-app.ce-app .ce-io-split__handle:hover .ce-io-split__grip span,.obs-app.ce-app .ce-io-split__handle[data-resize-handle-active=true] .ce-io-split__grip span{background:var(--brand-purple, #6965db)}.obs-app.ce-app .ce-editor-area{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0;overflow:hidden;background:var(--obs-surface)}.obs-app.ce-app .ce-editor-pane{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0;height:100%;overflow:hidden}.obs-app.ce-app .ce-monaco-wrap{flex:1;min-height:0;min-width:0;height:100%;width:100%;position:relative}.obs-app.ce-app .ce-sql-workspace{display:flex;flex-direction:column;height:100%;min-height:0;background:var(--obs-surface)}.obs-app.ce-app .ce-sql-layout-toggle{flex-shrink:0}.obs-app.ce-app .ce-sql-workspace__editors{position:relative;flex:1;min-height:0;display:flex;min-width:0}.obs-app.ce-app .ce-sql-workspace__pane--single{position:relative;inset:auto;flex:1;min-height:0;opacity:1;pointer-events:auto}.obs-app.ce-app .ce-sql-workspace__pane--split{position:relative;inset:auto;opacity:1;pointer-events:auto;display:flex;flex-direction:column;min-width:0;min-height:0;flex-shrink:0}.obs-app.ce-app .ce-sql-workspace__pane-head{flex-shrink:0;padding:5px 10px;font-size:11px;font-weight:600;color:var(--obs-muted);border-bottom:1px solid color-mix(in srgb,var(--obs-border) 60%,transparent);background:color-mix(in srgb,var(--obs-chrome) 70%,transparent);font-family:var(--font-hand)!important;letter-spacing:.1px}.obs-app.ce-app .ce-sql-workspace__pane--ddl .ce-sql-workspace__pane-head{border-right:1px solid color-mix(in srgb,var(--obs-border) 45%,transparent)}.obs-app.ce-app .ce-sql-workspace__pane-body{flex:1;min-height:0;min-width:0}.obs-app.ce-app .ce-sql-workspace__vsplit{flex-shrink:0;width:6px;cursor:col-resize;background:transparent;position:relative;z-index:2}.obs-app.ce-app .ce-sql-workspace__vsplit:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translate(-50%);background:color-mix(in srgb,var(--obs-border) 80%,transparent);transition:background .15s ease}.obs-app.ce-app .ce-sql-workspace__vsplit:hover:before{background:color-mix(in srgb,var(--border-focus, #6366f1) 55%,transparent)}.obs-app.ce-app .ce-editor-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;height:100%;color:var(--obs-muted);font-size:13px}.obs-app.ce-app .ce-spinner{width:14px;height:14px;border:2px solid color-mix(in srgb,var(--obs-muted) 30%,transparent);border-top-color:var(--obs-strong);border-radius:50%;animation:ce-spin .6s linear infinite}@keyframes ce-spin{to{transform:rotate(360deg)}}.obs-app.ce-app .ce-io-split[data-panel-group-direction=vertical] .ce-terminal-area{border-top:1px solid var(--obs-divider)}.obs-app.ce-app .ce-io-split[data-panel-group-direction=horizontal] .ce-terminal-area{border-top:none;border-left:1px solid var(--obs-divider)}.obs-app.ce-app .ce-terminal-area{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;min-width:0;overflow:hidden;background:var(--obs-surface)}.obs-app.ce-app .ce-terminal-header{display:flex;align-items:center;justify-content:space-between;gap:8px;height:32px;padding:0 12px;background:color-mix(in srgb,var(--obs-chrome) 78%,var(--obs-surface));border-bottom:1px solid var(--obs-divider);flex-shrink:0}.obs-app.ce-app .ce-terminal-header__left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.obs-app.ce-app .ce-terminal-header__title{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--obs-strong);letter-spacing:.2px;padding:3px 8px;border-radius:999px;border:1px solid color-mix(in srgb,var(--obs-border) 68%,transparent);background:color-mix(in srgb,var(--obs-surface) 80%,transparent);flex-shrink:0}.obs-app.ce-app .ce-terminal-header__title svg{width:11px;height:11px;color:var(--obs-muted)}.obs-app.ce-app .ce-terminal-header__file{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-family:var(--font-mono, "JetBrains Mono", Consolas, monospace);color:var(--obs-muted, #888)}.obs-app.ce-app .ce-terminal-header__hint{flex-shrink:0;font-size:10px;font-family:var(--font-hand);color:var(--obs-muted-weak, #666);opacity:.75}.obs-app.ce-app .ce-stdin-panel{padding:6px 10px;background:var(--obs-chrome);border-bottom:1px solid var(--obs-divider);flex-shrink:0}.obs-app.ce-app .ce-stdin-panel__label{display:flex;align-items:center;gap:5px;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--obs-muted-weak);margin-bottom:4px}.obs-app.ce-app .ce-stdin-panel__input{width:100%;padding:6px 8px;background:var(--obs-surface);border:1px solid var(--obs-border);border-radius:4px;color:var(--obs-strong);font-family:JetBrains Mono,monospace;font-size:12px;line-height:1.4;resize:vertical;min-height:40px;max-height:120px;outline:none;transition:border-color .15s}.obs-app.ce-app .ce-stdin-panel__input:focus{border-color:color-mix(in srgb,var(--obs-strong) 30%,var(--obs-border))}.obs-app.ce-app .ce-stdin-panel__input::placeholder{color:var(--obs-muted-weak)}.obs-app.ce-app .ce-xterm{flex:1;min-height:0;overflow:hidden;padding:4px 10px 8px;background:#0d0d0d}[data-theme=light] .obs-app.ce-app .ce-xterm{background:#f9fafb}.obs-app.ce-app .ce-xterm .xterm{height:100%;background-color:#0d0d0d}[data-theme=light] .obs-app.ce-app .ce-xterm .xterm{background-color:#f9fafb}.obs-app.ce-app .ce-xterm .xterm-viewport{overflow-y:auto!important;background-color:#0d0d0d!important;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--obs-muted) 58%,transparent) transparent}[data-theme=light] .obs-app.ce-app .ce-xterm .xterm-viewport{background-color:#f9fafb!important}.obs-app.ce-app .ce-xterm .xterm-scrollable-element>.shadow.top,.obs-app.ce-app .ce-xterm .xterm-scrollable-element>.shadow.top-left-corner{display:none!important}.obs-app.ce-app .ce-xterm .xterm-viewport::-webkit-scrollbar{width:7px;height:7px}.obs-app.ce-app .ce-xterm .xterm-viewport::-webkit-scrollbar-track{background:transparent}.obs-app.ce-app .ce-xterm .xterm-viewport::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--obs-muted) 58%,transparent);border-radius:999px;border:2px solid transparent;background-clip:content-box}.obs-app.ce-app .ce-xterm .xterm-viewport::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--obs-muted) 82%,transparent);background-clip:content-box}.obs-app.ce-app .ce-xterm .xterm-viewport::-webkit-scrollbar-button{display:none;width:0;height:0}.obs-app.ce-app .ce-xterm .xterm-viewport::-webkit-scrollbar-corner{background:transparent}.obs-app.ce-app .ce-editor-pane .monaco-scrollable-element>.scrollbar{background:transparent!important}.obs-app.ce-app .ce-editor-pane .monaco-scrollable-element>.scrollbar.vertical{width:7px!important}.obs-app.ce-app .ce-editor-pane .monaco-scrollable-element>.scrollbar.horizontal{height:0!important;display:none!important}.obs-app.ce-app .ce-editor-pane .monaco-scrollable-element>.scrollbar>.slider{border-radius:999px!important;border:none!important;background-clip:border-box!important;box-shadow:none!important}.obs-app.ce-app .monaco-editor .suggest-widget{width:min(520px,calc(100vw - 36px))!important;max-width:min(520px,calc(100vw - 36px))!important;max-height:310px!important;border:1px solid color-mix(in srgb,var(--obs-accent, #6965db) 34%,var(--obs-border))!important;border-radius:8px!important;background:color-mix(in srgb,var(--obs-surface, #fff) 96%,var(--obs-accent, #6965db))!important;box-shadow:0 14px 34px #0f172a2e,0 2px 8px #0f172a14!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.obs-app.ce-app .monaco-editor .suggest-widget .tree,.obs-app.ce-app .monaco-editor .suggest-widget .monaco-list,.obs-app.ce-app .monaco-editor .suggest-widget .monaco-list-rows{max-height:254px!important}.obs-app.ce-app .monaco-editor .suggest-widget .monaco-list-row{min-height:30px!important;margin:0!important;padding:0 7px!important;border-radius:0!important;font-family:var(--font-mono, "JetBrains Mono", monospace)!important;font-size:12.5px!important}.obs-app.ce-app .monaco-editor .suggest-widget .monaco-list-row.focused,.obs-app.ce-app .monaco-editor .suggest-widget .monaco-list-row.selected{background:color-mix(in srgb,var(--obs-accent, #6965db) 15%,transparent)!important;color:var(--obs-text, #1f2937)!important}.obs-app.ce-app .monaco-editor .suggest-widget .details-label{color:var(--obs-muted, #6b7280)!important;font-size:11.5px!important}.obs-app.ce-app .monaco-editor .suggest-widget .suggest-status-bar{min-height:28px!important;border-top:1px solid var(--obs-border)!important;color:var(--obs-muted)!important;font-size:10.5px!important}.ce-language-service{height:22px;padding:0 7px;display:inline-flex;align-items:center;gap:5px;border:1px solid var(--obs-border);border-radius:6px;color:var(--obs-muted);font:650 9px/1 var(--font-mono, "JetBrains Mono", monospace);letter-spacing:0;-webkit-user-select:none;user-select:none}.ce-language-service__dot{width:6px;height:6px;border-radius:50%;background:#8b93a1}.ce-language-service--active .ce-language-service__dot,.ce-language-service--native .ce-language-service__dot{background:#2f9e44;box-shadow:0 0 0 2px color-mix(in srgb,#2f9e44 16%,transparent)}.ce-language-service--connecting .ce-language-service__dot{background:#f4a261;animation:ce-lsp-pulse 1s ease-in-out infinite}.obs-app.ce-app .obs-tab,.obs-app.ce-app .obs-tab__title{font-family:var(--font-mono, "JetBrains Mono", "Fira Code", Consolas, monospace)}@media (max-width: 768px){.obs-app.ce-app .ce-main{flex-direction:column}.obs-app.ce-app .ce-io-split{min-height:0}.obs-app.ce-app .ce-lang-select__badge,.obs-app.ce-app .ce-subheader__stats{display:none}}.obs-app.cv-app{--obs-chrome: var(--bg-secondary);--obs-surface: var(--bg-primary)}.obs-app.cv-app .obs-tabbar__right{gap:3px;padding-bottom:3px;position:relative;align-items:center}.obs-app.cv-app .obs-tabbar__icon-btn,.obs-app.cv-app .obs-tabbar__new-btn{width:24px;height:24px;padding:0;margin:0;border:none;border-radius:6px;background:transparent;color:var(--obs-muted);display:inline-flex;align-items:center;justify-content:center;transition:background .15s,color .15s;cursor:pointer}.obs-app.cv-app .obs-tabbar__icon-btn:hover,.obs-app.cv-app .obs-tabbar__new-btn:hover,.obs-app.cv-app .obs-tabbar__icon-btn--active{background:var(--obs-hover);color:var(--obs-strong)}.obs-app.cv-app .obs-tabbar__icon-btn svg,.obs-app.cv-app .obs-tabbar__new-btn svg,.obs-app.cv-app .obs-tab__close svg,.obs-app.cv-app .ft-actions__btn svg,.obs-app.cv-app .ft-node__icon,.obs-app.cv-app .ft-search__icon,.obs-app.cv-app .ft-bottom__btn svg,.obs-app.cv-app .cv-ds-popover svg{width:14px;height:14px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;shape-rendering:geometricPrecision}.obs-app.cv-app .obs-subheader{display:none}.obs-app.cv-app .cv-sync-pill{display:inline-flex;align-items:center;gap:4px;padding:0 8px;height:22px;font-size:11px;font-weight:500;border-radius:6px;border:none;background:transparent;color:var(--obs-muted);line-height:1;margin-right:2px}.obs-app.cv-app .cv-sync-pill--syncing{color:var(--brand-purple, var(--accent-secondary, #6965db))}.obs-app.cv-app .cv-sync-pill--saved{color:#10b981}.obs-app.cv-app .cv-sync-pill--pending{color:var(--brand-purple, var(--accent-secondary, #6965db))}.obs-app.cv-app .cv-sync-pill--error{color:#ef4444}.obs-app.cv-app .cv-ds-wrap{position:relative;display:inline-flex}.obs-app.cv-app .cv-ds-popover{position:absolute;top:calc(100% + 6px);right:0;min-width:240px;padding:12px;background:var(--obs-surface);border:1px solid var(--obs-border);border-radius:10px;box-shadow:0 8px 24px #00000029;z-index:60;display:flex;flex-direction:column;gap:10px}.obs-app.cv-app .cv-ds-popover__header{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--obs-muted)}.obs-app.cv-app .cv-ds-popover__label{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--obs-strong)}.obs-app.cv-app .cv-ds-popover__input{width:64px;padding:4px 8px;border:1px solid var(--obs-border);border-radius:6px;background:var(--obs-chrome);color:var(--obs-strong);font-size:12.5px;font-family:inherit;text-align:center}.obs-app.cv-app .cv-ds-popover__input:focus{outline:none;border-color:color-mix(in srgb,var(--obs-strong) 32%,var(--obs-border))}.obs-app.cv-app .cv-ds-popover__presets{display:flex;flex-wrap:wrap;gap:4px}.obs-app.cv-app .cv-ds-popover__preset{font-size:10.5px;padding:2px 8px;border-radius:999px;background:var(--obs-hover);color:var(--obs-muted);white-space:nowrap}.obs-app.cv-app .cv-main{flex:1;min-height:0;display:flex;flex-direction:column;position:relative;background:var(--obs-surface);overflow:hidden}.obs-app.cv-app .cv-main>.excalidraw-wrap,.obs-app.cv-app .cv-main>.excalidraw-canvas-root,.obs-app.cv-app .cv-main>div{flex:1;min-height:0}.obs-app.cv-app .cv-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--obs-muted);padding:40px;text-align:center}.obs-app.cv-app .cv-empty__title{font-size:15px;font-weight:600;color:var(--obs-strong)}.obs-app.cv-app .cv-empty__copy{font-size:13px;max-width:320px}.obs-app.cv-app .cv-empty__btn{margin-top:12px;padding:8px 16px;border-radius:8px;border:1px solid var(--obs-border);background:var(--obs-chrome);color:var(--obs-strong);font-size:13px;font-weight:500;cursor:pointer}.obs-app.cv-app .cv-empty__btn:hover{background:var(--obs-hover);border-color:color-mix(in srgb,var(--obs-strong) 24%,var(--obs-border))}.obs-app.cv-app .excalidraw .sidebar-trigger,.obs-app.cv-app .excalidraw .default-sidebar-trigger,.obs-app.cv-app .excalidraw [class*=sidebar-trigger],.obs-app.cv-app .excalidraw .layer-ui__library,.obs-app.cv-app .excalidraw [class*=library-menu],.obs-app.cv-app .excalidraw .library-button,.obs-app.cv-app .excalidraw [class*=Library],.obs-app.cv-app .excalidraw button[title=Library],.obs-app.cv-app .excalidraw .App-menu__left,.obs-app.cv-app .excalidraw .layer-ui__sidebar,.obs-app.cv-app .excalidraw .sidebar{display:none!important;visibility:hidden!important;width:0!important;height:0!important;overflow:hidden!important;pointer-events:none!important;position:absolute!important;left:-9999px!important}.obs-app.cv-app .excalidraw .welcome-screen-center,.obs-app.cv-app .excalidraw .welcome-screen-menu-hints,.obs-app.cv-app .excalidraw [class*=welcome-screen],.obs-app.cv-app .excalidraw .main-menu-trigger,.obs-app.cv-app .excalidraw .dropdown-menu-button.main-menu-trigger,.obs-app.cv-app .excalidraw button.main-menu-trigger,.obs-app.cv-app .excalidraw .help-icon,.obs-app.cv-app .excalidraw button.help-icon,.obs-app.cv-app .excalidraw [class*=help-icon],.obs-app.cv-app .excalidraw .undo-redo-buttons{display:none!important}.obs-app.cv-app:not(.excalidraw-page) .excalidraw,.obs-app.cv-app:not(.excalidraw-page) .excalidraw .excalidraw-container,.obs-app.cv-app:not(.excalidraw-page) .excalidraw .App,.obs-app.cv-app:not(.excalidraw-page) .excalidraw .layer-ui__wrapper,.obs-app.cv-app .excalidraw .layer-ui__wrapper__footer,.obs-app.cv-app .excalidraw .App-menu,.obs-app.cv-app .excalidraw .App-bottom-bar,.obs-app.cv-app .excalidraw .Island{background:var(--obs-surface)!important}.obs-app.cv-app .excalidraw canvas.excalidraw__canvas{background:transparent!important}.obs-app.cv-app .excalidraw svg.excalidraw__canvas{background:transparent!important}.obs-app.cv-app .excalidraw .Island{box-shadow:none!important;border:1px solid var(--obs-border)!important;border-radius:10px!important;background:var(--obs-surface)!important;padding:4px 6px!important}.obs-app.cv-app .excalidraw .Island.App-toolbar{border-width:2px!important;border-color:color-mix(in srgb,var(--obs-border) 80%,var(--obs-muted))!important;padding:6px 8px!important;display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;row-gap:4px!important;column-gap:4px!important;max-width:100%!important;width:auto!important;box-sizing:border-box!important}.obs-app.cv-app .excalidraw .App-toolbar .shapes-section,.obs-app.cv-app .excalidraw .App-toolbar section,.obs-app.cv-app .excalidraw .App-toolbar .shapes-section>div,.obs-app.cv-app .excalidraw .App-toolbar .Stack.Stack_vertical,.obs-app.cv-app .excalidraw .App-toolbar .Stack.Stack_horizontal{flex-wrap:wrap!important;max-width:100%!important;justify-content:center!important}.obs-app.cv-app .excalidraw .App-menu_top{grid-template-columns:auto 1fr auto!important;grid-gap:8px!important;align-items:start!important}.obs-app.cv-app .excalidraw .App-menu_top>*:nth-child(2){justify-self:center!important;min-width:0!important;max-width:100%!important}.obs-app.cv-app .excalidraw .App-toolbar-container{min-width:0!important;max-width:100%!important;flex-wrap:wrap!important;justify-content:center!important}.obs-app.cv-app .excalidraw .App-toolbar .HintViewer,.obs-app.cv-app .excalidraw .App-toolbar [class*=HintViewer],.obs-app.cv-app .excalidraw .HintViewer,.obs-app.cv-app .excalidraw .App-toolbar__divider,.obs-app.cv-app .excalidraw .shapes-section__header,.obs-app.cv-app .excalidraw [class*=shapes-section__header]{display:none!important}.obs-app.cv-app .excalidraw .ToolIcon__icon,.obs-app.cv-app .excalidraw .ToolIcon_type_button,.obs-app.cv-app .excalidraw .ToolIcon_type_radio,.obs-app.cv-app .excalidraw .ToolIcon{width:32px!important;height:32px!important;min-width:32px!important;padding:0!important;margin:0!important;border:none!important;border-radius:6px!important;background:transparent!important;color:var(--obs-muted)!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;transition:background .15s,color .15s!important;box-sizing:border-box!important}.obs-app.cv-app .excalidraw .ToolIcon_type_button:hover,.obs-app.cv-app .excalidraw .ToolIcon_type_radio:hover,.obs-app.cv-app .excalidraw .ToolIcon__icon:hover,.obs-app.cv-app .excalidraw .ToolIcon:hover,.obs-app.cv-app .excalidraw .ToolIcon_type_button.ToolIcon_type_button--selected,.obs-app.cv-app .excalidraw .ToolIcon_type_radio.ToolIcon_type_radio--selected,.obs-app.cv-app .excalidraw .ToolIcon__icon--selected,.obs-app.cv-app .excalidraw .ToolIcon--selected,.obs-app.cv-app .excalidraw .ToolIcon.ToolIcon--selected{background:var(--obs-hover)!important;color:var(--obs-strong)!important}.obs-app.cv-app .excalidraw .ToolIcon__icon svg,.obs-app.cv-app .excalidraw .ToolIcon_type_button svg,.obs-app.cv-app .excalidraw .ToolIcon_type_radio svg,.obs-app.cv-app .excalidraw .ToolIcon svg{width:18px!important;height:18px!important;stroke-width:1.5!important;stroke-linecap:round!important;stroke-linejoin:round!important}.obs-app.cv-app .excalidraw .App-toolbar-container{display:flex!important;flex-direction:row!important;align-items:center!important;gap:6px!important}.obs-app.cv-app .excalidraw .App-toolbar .Stack,.obs-app.cv-app .excalidraw .App-toolbar .Stack_horizontal,.obs-app.cv-app .excalidraw .App-toolbar .Stack_vertical{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;gap:4px!important;min-width:0!important;max-width:100%!important}.obs-app.cv-app .excalidraw .shapes-section,.obs-app.cv-app .excalidraw .App-toolbar section{display:flex!important;flex-direction:row!important;flex-wrap:wrap!important;align-items:center!important;justify-content:center!important;gap:4px!important;min-width:0!important;max-width:100%!important}.obs-app.cv-app .excalidraw .shapes-section .ToolIcon__label,.obs-app.cv-app .excalidraw .App-toolbar .ToolIcon__label,.obs-app.cv-app .excalidraw .ToolIcon__label,.obs-app.cv-app .excalidraw .App-toolbar .ToolIcon__keybinding,.obs-app.cv-app .excalidraw .ToolIcon__keybinding{display:none!important}.obs-app.cv-app .excalidraw .zoom-actions,.obs-app.cv-app .excalidraw .zoom-action{background:transparent!important;border:none!important;box-shadow:none!important}.obs-app.cv-app .excalidraw .zoom-button,.obs-app.cv-app .excalidraw .zoom-in-button,.obs-app.cv-app .excalidraw .zoom-out-button,.obs-app.cv-app .excalidraw .reset-zoom-button{width:24px!important;height:24px!important;min-width:24px!important;padding:0!important;margin:0 1px!important;border:none!important;border-radius:6px!important;background:transparent!important;color:var(--obs-muted)!important;font-size:11px!important;font-weight:500!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;transition:background .15s,color .15s!important}.obs-app.cv-app .excalidraw .reset-zoom-button{width:auto!important;min-width:36px!important;padding:0 6px!important}.obs-app.cv-app .excalidraw .zoom-button:hover,.obs-app.cv-app .excalidraw .zoom-in-button:hover,.obs-app.cv-app .excalidraw .zoom-out-button:hover,.obs-app.cv-app .excalidraw .reset-zoom-button:hover{background:var(--obs-hover)!important;color:var(--obs-strong)!important}.obs-app.cv-app .excalidraw .zoom-button .ToolIcon__icon,.obs-app.cv-app .excalidraw .zoom-in-button .ToolIcon__icon,.obs-app.cv-app .excalidraw .zoom-out-button .ToolIcon__icon{width:14px!important;height:14px!important}.obs-app.cv-app .excalidraw .zoom-button svg,.obs-app.cv-app .excalidraw .zoom-in-button svg,.obs-app.cv-app .excalidraw .zoom-out-button svg{width:14px!important;height:14px!important;stroke-linecap:round!important;stroke-linejoin:round!important}.obs-app.cv-app .excalidraw .layer-ui__wrapper__footer-left .Island{background:transparent!important;border:none!important;box-shadow:none!important;padding:0!important}@media (max-width: 768px){.obs-app.cv-app .cv-ds-popover{right:-8px;min-width:220px}}.obs-app{--obs-chrome: var(--bg-secondary);--obs-border: color-mix(in srgb, var(--border) 42%, transparent);--obs-divider: color-mix(in srgb, var(--border) 28%, transparent);--obs-hover: var(--bg-hover);--obs-surface: var(--bg-primary);--obs-muted: var(--text-secondary);--obs-muted-weak: var(--text-tertiary);--obs-strong: var(--text-primary);--obs-input-bg: var(--bg-tertiary);--obs-input-border: var(--border-light);display:flex;flex-direction:column;height:100vh;background:var(--obs-chrome)}.obs-app *{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--obs-muted) 58%,transparent) transparent}.obs-app *::-webkit-scrollbar{width:7px;height:7px}.obs-app *::-webkit-scrollbar-track{background:transparent}.obs-app *::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--obs-muted) 58%,transparent);border-radius:999px;border:2px solid transparent;background-clip:content-box}.obs-app *::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--obs-muted) 82%,transparent);background-clip:content-box}.obs-app *::-webkit-scrollbar-button{display:none;width:0;height:0}.obs-app *::-webkit-scrollbar-corner{background:transparent}.obs-app .dc-navbar{background:var(--obs-chrome);border-bottom:1px solid var(--obs-border);box-shadow:none}.obs-app .dc-navbar__link:hover{color:var(--text-primary);background:var(--bg-hover)}.obs-app .dc-navbar__link--active{color:var(--brand-purple, #6965db);background:color-mix(in srgb,var(--brand-purple, #6965db) 12%,transparent)}.obs-app .dc-navbar__link--active:after{background:var(--brand-purple, #6965db)}.obs-app .dc-brand--compact .dc-brand-wordmark,.obs-app .dc-brand--expanded .dc-brand-wordmark{color:var(--obs-strong)}.obs-app .dc-brand--compact .dc-brand-wordmark__accent,.obs-app .dc-brand--expanded .dc-brand-wordmark__accent{color:var(--brand-purple, #6965db)}.obs-app .dc-navbar__theme-btn:hover{background:var(--obs-hover)}.obs-app .ne-panel{background:var(--obs-surface)}.obs-app .ne-status{background:var(--obs-chrome)}.obs-app .ne-action-btn--active{background:var(--obs-hover);border-color:var(--obs-border);color:var(--obs-strong)}.obs-app__body{display:flex;flex:1;min-height:0;background:var(--obs-chrome)}.obs-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden;background:var(--obs-surface)}.obs-tabbar{height:36px;display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding:0 8px;background:var(--obs-chrome);border-bottom:none;flex-shrink:0}.obs-tabbar__left{display:flex;align-items:flex-end;min-width:0;flex:1;gap:4px}.obs-tabbar__nav-btn{width:24px;height:24px;margin-bottom:4px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--obs-muted);cursor:default}.obs-tabbar__new-btn{width:24px;height:24px;align-self:center;margin-bottom:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--obs-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.obs-tabbar__new-btn:hover{background:var(--obs-hover);color:var(--obs-strong)}.obs-tabbar__right{display:flex;align-items:center;gap:4px;padding-bottom:4px}.obs-tabbar__icon-btn{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:6px;background:transparent;color:var(--obs-muted);cursor:pointer;transition:background .15s ease,color .15s ease}.obs-tabbar__icon-btn:hover,.obs-tabbar__icon-btn--active{background:var(--obs-hover);color:var(--obs-strong)}.obs-tabbar__right{position:relative}.obs-more-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:190px;padding:6px;border-radius:10px;border:1px solid var(--obs-border);background:var(--obs-chrome);box-shadow:0 12px 28px #00000073}.obs-more-menu button{width:100%;border:none;background:transparent;color:var(--obs-strong);text-align:left;font-size:12px;padding:7px 10px;border-radius:7px;cursor:pointer}.obs-more-menu button:hover{background:var(--obs-hover);color:var(--obs-strong)}.obs-more-menu__sep{height:1px;background:var(--obs-border);margin:6px 2px}.obs-more-menu--from-bottom-left{top:auto;right:auto;left:0;bottom:calc(100% + 6px)}.obs-tabs{--obs-tab-active-title-ch: 11ch;--obs-tab-active-chrome: 34px;display:flex;align-items:flex-end;gap:2px;overflow-x:auto;min-width:0}.obs-tabs::-webkit-scrollbar{height:0}.obs-tab{height:30px;display:flex;align-items:center;gap:6px;padding:0 12px;font-size:12px;color:var(--obs-muted);cursor:pointer;border:none;border-radius:8px 8px 0 0;white-space:nowrap;transition:var(--transition-fast);flex:0 1 auto;min-width:40px;max-width:108px}.obs-tab:hover{background:var(--obs-hover);color:var(--obs-strong)}.obs-tab--active{background:var(--obs-surface);color:var(--obs-strong);flex:0 0 auto;min-width:calc(var(--obs-tab-active-title-ch) + var(--obs-tab-active-chrome));max-width:min(280px,46vw);padding:0 12px;gap:6px;font-size:12px}.obs-tab__title{overflow:hidden;text-overflow:ellipsis;min-width:0}.obs-tab--active .obs-tab__title{flex:1 1 auto;min-width:var(--obs-tab-active-title-ch)}.obs-tab:not(.obs-tab--active) .obs-tab__title{flex:1 1 auto;min-width:0}.obs-tab__title-input{flex:1;min-width:48px;max-width:min(160px,38vw);height:22px;padding:0 6px;margin:0;border:1px solid var(--border-focus, var(--accent-secondary, #6366f1));border-radius:4px;background:var(--obs-surface);color:var(--obs-strong);font:inherit;font-size:inherit;line-height:1.2;outline:none;box-sizing:border-box}.obs-tab--active .obs-tab__title-input{background:var(--obs-chrome);min-width:var(--obs-tab-active-title-ch);max-width:min(240px,42vw)}.obs-tabs--compact .obs-tab:not(.obs-tab--active){font-size:11px;max-width:88px;padding:0 8px;gap:4px}.obs-tabs--dense .obs-tab:not(.obs-tab--active){font-size:10px;max-width:64px;padding:0 6px;gap:3px}.obs-tabs--tiny .obs-tab:not(.obs-tab--active){font-size:9px;max-width:48px;padding:0 5px;gap:2px}.obs-tabs--compact .obs-tab--active,.obs-tabs--dense .obs-tab--active,.obs-tabs--tiny .obs-tab--active{font-size:12px;padding:0 12px;gap:6px;min-width:calc(var(--obs-tab-active-title-ch) + var(--obs-tab-active-chrome));max-width:min(300px,50vw)}.obs-tab__close{flex-shrink:0;width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;color:var(--obs-muted);opacity:0;transition:var(--transition-fast);cursor:pointer;border:none;background:none}.obs-tab:hover .obs-tab__close,.obs-tab--active .obs-tab__close{opacity:1}.obs-tab__close:hover{color:var(--obs-strong);background:var(--obs-hover)}.obs-subheader{height:30px;display:grid;grid-template-columns:1fr;align-items:center;gap:0;padding:0 10px;background:var(--obs-surface);border-bottom:none;flex-shrink:0}.obs-subheader__nav{display:none}.obs-subheader__nav-btn{width:22px;height:22px;border:none;border-radius:5px;background:transparent;color:var(--obs-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background .15s,color .15s}.obs-subheader__nav-btn:hover:not(:disabled){background:var(--obs-hover);color:var(--obs-strong)}.obs-subheader__nav-btn:disabled{opacity:.45;cursor:default}.obs-subheader__title{font-size:12px;color:var(--obs-strong);text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.obs-subheader__spacer{display:none}.obs-split{flex:1;display:flex;min-height:0;min-width:0}.obs-empty{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.obs-empty__content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:0;overflow:auto;background-color:var(--bg-primary, #121212);background-image:radial-gradient(circle at 1px 1px,rgba(140,140,170,.16) 1px,transparent 0);background-size:20px 20px}[data-theme=light] .obs-empty__content{background-color:#fcfbfa;background-image:radial-gradient(circle at 1px 1px,rgba(80,80,110,.12) 1.2px,transparent 0);background-size:20px 20px}.obs-empty__content h2{font-size:15px;font-weight:400;color:var(--obs-muted);margin:0 0 12px}.obs-empty__action{font-size:13px;color:var(--obs-strong);cursor:pointer;padding:4px 8px;border-radius:4px;border:none;background:none;transition:var(--transition-fast);display:flex;align-items:center;gap:12px}.obs-empty__action:hover{background:var(--obs-hover);color:var(--obs-strong)}.obs-empty__action kbd{font-size:10px;color:var(--obs-muted-weak);font-family:var(--font-mono);padding:1px 5px;border-radius:3px;background:var(--bg-tertiary);border:1px solid var(--border)}.obs-app.ce-app .ce-empty__content{gap:0;padding:24px 16px;text-align:center}.obs-app.ce-app .ce-empty__eyebrow{display:inline-block;padding:3px 12px;border-radius:999px;font-family:var(--font-hand);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brand-purple, #6965db);background:color-mix(in srgb,var(--brand-purple, #6965db) 12%,transparent);border:1.5px dashed color-mix(in srgb,var(--brand-purple, #6965db) 40%,transparent);margin-bottom:8px;transform:rotate(-1deg)}.obs-app.ce-app .ce-empty__title{margin:0;font-family:var(--font-hand);font-size:clamp(26px,5vw,34px);font-weight:700;letter-spacing:.01em;color:var(--text-primary);transform:rotate(-.4deg);text-align:center}.obs-app.ce-app .ce-empty__copy,.ce-empty__copy{width:min(480px,90vw);margin:4px auto 20px;text-align:center;font-family:var(--font-hand);font-size:14px;line-height:1.4;color:var(--text-secondary)}.obs-app.ce-app .ce-empty__grid{width:min(580px,94vw);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;text-align:left}@media (max-width: 480px){.obs-app.ce-app .ce-empty__grid{grid-template-columns:1fr;gap:10px}}.obs-app.ce-app .ce-empty__action{width:100%;justify-content:flex-start;padding:0;border:none;border-radius:0;background:none}.obs-app.ce-app .ce-empty__tile{--tile-accent: var(--brand-purple, #6965db);display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:52px;padding:10px 14px;text-align:left;border:1.5px solid color-mix(in srgb,var(--tile-accent) 45%,var(--border-light, rgba(128, 128, 128, .28)));border-radius:14px 12px 16px 11px/12px 15px 11px 14px;background:color-mix(in srgb,var(--tile-accent) 7%,var(--bg-primary));box-shadow:2px 2.5px color-mix(in srgb,var(--tile-accent) 22%,transparent);cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;transform:rotate(-.4deg);transition:transform .18s cubic-bezier(.34,1.56,.64,1),background .15s ease,border-color .15s ease,box-shadow .18s ease}.obs-app.ce-app .ce-empty__tile:nth-child(2n){transform:rotate(.4deg);border-radius:12px 15px 11px 14px/14px 11px 15px 12px}.obs-app.ce-app .ce-empty__tile:hover{transform:translateY(-2px) rotate(0) scale(1.015);background:color-mix(in srgb,var(--tile-accent) 14%,var(--bg-primary));border-color:var(--tile-accent);box-shadow:3px 4px color-mix(in srgb,var(--tile-accent) 35%,transparent)}.obs-app.ce-app .ce-empty__tile:active{transform:scale(.96) rotate(0);box-shadow:1px 1px color-mix(in srgb,var(--tile-accent) 38%,transparent)}.obs-app.ce-app .ce-empty__tile-header{display:inline-flex;align-items:center;gap:10px;min-width:0}.obs-app.ce-app .ce-empty__tile-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px 10px 7px 9px/9px 7px 10px 8px;background:color-mix(in srgb,var(--tile-accent) 14%,transparent);color:var(--tile-accent);flex-shrink:0;transition:transform .16s ease}.obs-app.ce-app .ce-empty__tile:hover .ce-empty__tile-icon{transform:scale(1.12) rotate(-4deg)}.obs-app.ce-app .ce-empty__tile-label{font-family:var(--font-hand);font-size:14.5px;font-weight:700;color:var(--text-primary);line-height:1.2}.obs-app.ce-app .ce-empty__tile kbd,.obs-app.ce-app .ce-empty__tile .ce-empty__tile-ext{flex-shrink:0;font-family:var(--font-mono, "JetBrains Mono", monospace);font-size:11px;font-weight:600;padding:3px 8px;border-radius:999px;color:var(--tile-accent);background:color-mix(in srgb,var(--tile-accent) 10%,transparent);border:1.2px solid color-mix(in srgb,var(--tile-accent) 38%,transparent);transform:rotate(.8deg)}.obs-app.ce-app .ce-empty__tile--code{--tile-accent: var(--brand-purple, #6965db)}.obs-app.ce-app .ce-empty__tile--db{--tile-accent: #0284c7}.obs-app.ce-app .ce-empty__tile--spark{--tile-accent: #d97706}.obs-app.ce-app .ce-empty__tile--neutral{--tile-accent: #64748b}[data-theme=light] .obs-app.ce-app .ce-empty__tile--code{--tile-accent: #5b54d6}[data-theme=light] .obs-app.ce-app .ce-empty__tile--db{--tile-accent: #0284c7}[data-theme=light] .obs-app.ce-app .ce-empty__tile--spark{--tile-accent: #b45309}.ft-sidebar{width:250px;min-width:250px;position:relative;display:flex;flex-direction:column;align-self:stretch;flex-shrink:0;-webkit-user-select:none;user-select:none;background:var(--obs-chrome);border-right:1px solid var(--obs-border);transition:width .24s cubic-bezier(.4,0,.2,1),min-width .24s cubic-bezier(.4,0,.2,1),border-color .2s ease}.ft-sidebar--resizing,.ft-sidebar--resizing *{transition:none!important}.ft-sidebar--resizing{will-change:width}.ft-sidebar__resizer{position:absolute;top:0;right:-4px;width:8px;height:100%;z-index:20;cursor:col-resize;background:transparent;touch-action:none}.ft-sidebar__resizer:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:2px;transform:translate(-50%);background:transparent;border-radius:2px;transition:background .18s ease,box-shadow .18s ease}.ft-sidebar__resizer:hover:before,.ft-sidebar--resizing .ft-sidebar__resizer:before{background:color-mix(in srgb,var(--border-focus, #6b8cff) 70%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--border-focus, #6b8cff) 25%,transparent)}.ft-sidebar__resizer-grip{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:28px;border-radius:2px;background:transparent;box-shadow:-3px 0 0 0 currentColor,3px 0 0 0 currentColor;color:transparent;transition:color .18s ease;pointer-events:none}.ft-sidebar__resizer:hover .ft-sidebar__resizer-grip,.ft-sidebar--resizing .ft-sidebar__resizer-grip{color:color-mix(in srgb,var(--obs-strong) 55%,transparent)}@media (prefers-reduced-motion: reduce){.ft-sidebar__resizer:before,.ft-sidebar__resizer-grip{transition:none}}.ft-sidebar--collapsed{width:32px;min-width:32px;justify-content:center;align-items:center;padding:0;overflow:hidden}.ft-sidebar__toggle{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:0;padding:0;border-radius:8px;border:1px solid color-mix(in srgb,var(--obs-border) 65%,transparent);color:var(--obs-muted);cursor:pointer;background:color-mix(in srgb,var(--obs-surface) 55%,transparent);box-shadow:0 1px 2px #0000000f;transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .18s cubic-bezier(.34,1.2,.64,1)}.ft-sidebar__toggle:hover{color:var(--obs-strong);background:var(--obs-hover);border-color:color-mix(in srgb,var(--obs-border) 85%,transparent);box-shadow:0 2px 8px #0000001a;transform:scale(1.06)}.ft-sidebar__toggle:active{transform:scale(.96)}.ft-sidebar__toggle:focus-visible{outline:2px solid color-mix(in srgb,var(--border-focus, #6b8cff) 70%,transparent);outline-offset:2px}@media (prefers-reduced-motion: reduce){.ft-sidebar{transition:none}.ft-sidebar__toggle{transition:background .15s ease,color .15s ease,border-color .15s ease}.ft-sidebar__toggle:hover,.ft-sidebar__toggle:active{transform:none}}.ft-pane{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;background:transparent}.ft-actions{display:flex;align-items:center;flex-wrap:nowrap;gap:2px;padding:7px 8px;border-bottom:none;background:transparent;min-width:0}.ft-actions__readonly{font-size:11px;font-weight:600;letter-spacing:.02em;color:var(--obs-muted);padding:0 6px;white-space:nowrap;opacity:.85}.ft-actions__btn--canvas-menu{margin-left:auto}.ft-actions__btn--sidebar-collapse{flex-shrink:0}.ft-actions__btn{width:24px;height:24px;padding:0;border-radius:6px;color:var(--obs-muted);cursor:pointer;border:none;background:none;transition:background .15s,color .15s}.ft-actions__btn:hover{color:var(--obs-strong);background:var(--obs-hover)}.ft-fold-all{position:relative;overflow:hidden}.ft-fold-all .ft-fold-all__icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;transform-origin:center;animation:ft-fold-all-swap .32s cubic-bezier(.34,1.56,.64,1);will-change:transform,opacity}.ft-fold-all--animating{animation:ft-fold-all-press .34s cubic-bezier(.34,1.56,.64,1)}.ft-fold-all:active{transform:scale(.92)}@keyframes ft-fold-all-swap{0%{opacity:0;transform:scale(.55) rotate(-12deg)}55%{opacity:1;transform:scale(1.12) rotate(3deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes ft-fold-all-press{0%{transform:scale(1)}40%{transform:scale(.86)}to{transform:scale(1)}}@media (prefers-reduced-motion: reduce){.ft-fold-all .ft-fold-all__icon,.ft-fold-all--animating{animation:none}}.ft-actions__sep{width:1px;height:14px;background:var(--obs-border);margin:0 2px;flex-shrink:0}.ft-actions__btn--active{color:var(--obs-strong);background:var(--obs-hover)}.ft-canvas-menu{position:fixed;z-index:1200;min-width:196px;padding:6px;border-radius:10px;border:1px solid var(--obs-border);background:var(--obs-surface, var(--bg-elevated));box-shadow:0 10px 28px #0f172a24;display:flex;flex-direction:column;gap:2px}.ft-canvas-menu button[role=menuitem]{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:7px 10px;border:none;border-radius:7px;background:transparent;color:var(--obs-strong, var(--text-primary));font-size:12px;text-align:left;cursor:pointer}.ft-canvas-menu button[role=menuitem]:hover{background:var(--obs-hover, var(--bg-hover))}.ft-canvas-menu__kbd{font-size:10px;color:var(--obs-muted, var(--text-secondary));font-variant-numeric:tabular-nums}.ft-canvas-menu__sep{height:1px;margin:4px 2px;background:var(--obs-border, var(--border))}.ft-canvas-menu__danger{color:var(--danger, #ef4444)!important}.ft-canvas-menu__danger:hover{background:color-mix(in srgb,var(--danger, #ef4444) 12%,transparent)!important}.ft-canvas-menu__swatches{display:flex;flex-wrap:wrap;gap:6px;padding:4px 8px 6px}.ft-canvas-menu__swatch{width:22px;height:22px;padding:0;border-radius:6px;border:1.5px solid color-mix(in srgb,var(--obs-border) 80%,#000);background:var(--swatch);cursor:pointer}.ft-canvas-menu__swatch:hover{transform:scale(1.06)}.ft-search{display:flex;align-items:center;gap:6px;position:relative;padding:8px 10px;border-bottom:none;background:transparent}.ft-search__icon{position:absolute;left:18px;color:var(--obs-muted);pointer-events:none}.ft-search__input{width:100%;height:28px;border-radius:999px;border:1px solid color-mix(in srgb,var(--obs-input-border) 70%,transparent);background:color-mix(in srgb,var(--obs-input-bg) 45%,transparent);color:var(--obs-strong);font-family:var(--font-hand)!important;letter-spacing:.1px;font-size:12px;padding:0 28px 0 30px;outline:none}.ft-search__input::placeholder{color:var(--obs-muted);font-family:var(--font-hand)!important;letter-spacing:.1px}.ft-search__input:focus{border-color:color-mix(in srgb,var(--border-focus) 80%,transparent);background:color-mix(in srgb,var(--obs-input-bg) 65%,transparent)}.ft-search__clear{position:absolute;right:14px;width:18px;height:18px;border:none;border-radius:5px;background:transparent;color:var(--obs-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.ft-search__clear:hover{background:var(--obs-hover);color:var(--obs-strong)}.ft-tree{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;position:relative;padding:6px 8px 8px;background:var(--obs-chrome);font-family:Cambria,Georgia,Times New Roman,serif;scrollbar-width:thin;scrollbar-color:transparent transparent;transition:scrollbar-color .25s ease}.ft-tree:hover,.ft-tree:focus-within,.ft-tree.is-scrolling{scrollbar-color:color-mix(in srgb,var(--obs-muted) 55%,transparent) transparent}.ft-tree::-webkit-scrollbar{width:8px;background:transparent}.ft-tree::-webkit-scrollbar-track{background:transparent;border-radius:999px;margin:4px 0}.ft-tree::-webkit-scrollbar-thumb{background:transparent;border-radius:999px;border:2px solid transparent;background-clip:content-box;min-height:32px;transition:background-color .2s ease}.ft-tree:hover::-webkit-scrollbar-thumb,.ft-tree:focus-within::-webkit-scrollbar-thumb,.ft-tree.is-scrolling::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,var(--obs-muted) 55%,transparent)}.ft-tree::-webkit-scrollbar-thumb:hover{background-color:color-mix(in srgb,var(--obs-muted) 85%,transparent)!important}.ft-tree::-webkit-scrollbar-thumb:active{background-color:color-mix(in srgb,var(--obs-strong) 60%,transparent)!important}.ft-tree::-webkit-scrollbar-button{display:none;width:0;height:0}.ft-tree::-webkit-scrollbar-corner{background:transparent}.ft-tree--can-scroll-top:before,.ft-tree--can-scroll-bottom:after{content:"";position:sticky;left:0;right:0;height:10px;display:block;pointer-events:none;z-index:2}.ft-tree--can-scroll-top:before{top:0;margin-bottom:-10px;background:linear-gradient(to bottom,var(--obs-chrome) 0%,transparent 100%)}.ft-tree--can-scroll-bottom:after{bottom:0;margin-top:-10px;background:linear-gradient(to top,var(--obs-chrome) 0%,transparent 100%)}@media (prefers-reduced-motion: reduce){.ft-tree,.ft-tree::-webkit-scrollbar-thumb{transition:none}}.ft-node{display:flex;align-items:center;gap:7px;padding:4px 8px;cursor:pointer;border-radius:4px;margin:1px 0;transition:background .15s,color .15s;position:relative;font-size:13px;line-height:1.4;color:var(--obs-strong)}.ft-node:hover{background:color-mix(in srgb,var(--obs-hover) 55%,transparent)}.ft-node--active{background:color-mix(in srgb,var(--bg-active) 76%,transparent)}.ft-node--active .ft-node__label{color:var(--obs-strong);font-weight:600}.ft-node--folder{font-weight:600}.ft-node--folder .ft-node__label{color:var(--obs-strong)}.ft-node--file{gap:4px}.ft-node--file .ft-node__label{font-weight:400;color:var(--obs-strong)}.ft-node--file .ft-node__icon{display:none}.ft-children{display:grid;grid-template-rows:1fr;transition:grid-template-rows .18s ease,opacity .18s ease;margin-left:12px;padding-left:12px;border-left:1px solid color-mix(in srgb,var(--obs-muted) 24%,transparent);opacity:1}.ft-children--collapsed{grid-template-rows:0fr;opacity:0;border-left-color:transparent}.ft-children__inner{min-height:0;overflow:hidden;padding:2px 0 3px}.ft-node__arrow{flex-shrink:0;transition:transform .15s;color:var(--obs-muted);margin-right:2px}.ft-node__icon{flex-shrink:0;color:var(--obs-muted)}.ft-node__label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:none;min-width:0}.ft-node__label--done{text-decoration:line-through;color:var(--text-tertiary)}.ft-node--file .ft-node__label.ft-node__label--agent-busy,.ft-node .ft-node__label.ft-node__label--agent-busy,.obs-tab__title.obs-tab__title--agent-busy{font-weight:700;background:linear-gradient(110deg,color-mix(in srgb,var(--brand-purple, #6965db) 45%,var(--obs-muted, #94a3b8)) 0%,var(--brand-purple, #6965db) 28%,color-mix(in srgb,var(--brand-purple, #6965db) 30%,white) 50%,var(--brand-purple, #6965db) 72%,color-mix(in srgb,var(--brand-purple, #6965db) 45%,var(--obs-muted, #94a3b8)) 100%);background-size:220% 100%;-webkit-background-clip:text;background-clip:text;color:transparent!important;animation:ft-agent-text-flow 1.7s linear infinite}@keyframes ft-agent-text-flow{0%{background-position:100% 50%;opacity:.72}50%{opacity:1}to{background-position:-100% 50%;opacity:.72}}@media (prefers-reduced-motion: reduce){.ft-node--file .ft-node__label.ft-node__label--agent-busy,.ft-node .ft-node__label.ft-node__label--agent-busy,.obs-tab__title.obs-tab__title--agent-busy{animation:none;color:var(--brand-purple, #6965db)!important;background:none;-webkit-background-clip:unset;background-clip:unset}}.ft-node__pin{color:var(--obs-muted);margin-left:auto;flex-shrink:0}.ft-node__published{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;color:var(--brand-purple, #6965db);filter:drop-shadow(0 1px 0 color-mix(in srgb,var(--brand-purple, #6965db) 22%,transparent))}.ft-node__published+.ft-node__pin{margin-left:2px}.ft-node__edit{flex:1;border:1px solid var(--border-focus);border-radius:8px;padding:3px 8px;font-size:13px;background:var(--bg-tertiary);color:var(--text-primary);outline:none}.ft-tree__empty{font-size:12px;color:var(--obs-muted);text-align:center;padding:14px 10px}.ft-tree__empty-state{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 10px;color:var(--obs-muted)}.ft-tree__empty-title{font-size:12px;font-weight:600;color:var(--obs-strong)}.ft-tree__empty-copy{font-size:11px;line-height:1.45}.ft-tree__empty-btn{padding:6px 10px;border-radius:8px;border:1px solid color-mix(in srgb,var(--obs-border) 85%,transparent);background:color-mix(in srgb,var(--obs-input-bg) 50%,transparent);color:var(--obs-strong);font-size:12px}.ft-tree__empty-btn:hover{background:var(--obs-hover)}.ft-ctx{position:fixed;z-index:1000;background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:10px;padding:4px;min-width:168px;max-width:min(260px,calc(100vw - 16px));max-height:calc(100vh - 16px);overflow-y:auto;box-shadow:0 14px 36px #00000059}.ft-ctx button{display:block;width:100%;text-align:left;padding:7px 12px;font-size:13px;border-radius:8px;color:var(--text-primary);cursor:pointer;border:none;background:none;transition:background .12s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ft-ctx button:hover{background:var(--bg-hover)}.ft-ctx--danger{color:var(--danger)!important}.ft-ctx--danger:hover{background:var(--danger-bg)!important}.ft-actions{position:relative}.ft-upload-menu{position:absolute;left:6px;right:6px;top:40px;z-index:60;padding:4px;background:color-mix(in srgb,var(--bg-elevated, var(--obs-surface)) 96%,transparent);border:1px solid color-mix(in srgb,var(--obs-border) 75%,transparent);border-radius:10px;box-shadow:0 1px color-mix(in srgb,#fff 4%,transparent) inset,0 12px 28px #00000042,0 2px 6px #0000002e;backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1);transform-origin:top right;animation:ft-upload-menu-in .18s cubic-bezier(.34,1.4,.64,1);will-change:transform,opacity}@keyframes ft-upload-menu-in{0%{opacity:0;transform:translateY(-6px) scale(.96)}60%{opacity:1;transform:translateY(1px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}.ft-upload-menu__item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border-radius:7px;color:var(--text-primary, var(--obs-strong));background:transparent;border:none;cursor:pointer;text-align:left;font-family:inherit;transition:background .14s ease,transform .14s cubic-bezier(.34,1.4,.64,1),color .14s ease}.ft-upload-menu__item+.ft-upload-menu__item{margin-top:1px}.ft-upload-menu__item:hover,.ft-upload-menu__item:focus-visible{background:color-mix(in srgb,var(--obs-hover) 85%,transparent);outline:none}.ft-upload-menu__item:active{transform:scale(.985)}.ft-upload-menu__icon{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;color:var(--obs-muted);background:color-mix(in srgb,var(--obs-border) 35%,transparent);border:1px solid color-mix(in srgb,var(--obs-border) 55%,transparent);flex-shrink:0;transition:background .14s ease,color .14s ease,border-color .14s ease}.ft-upload-menu__item:hover .ft-upload-menu__icon,.ft-upload-menu__item:focus-visible .ft-upload-menu__icon{color:var(--obs-strong);background:color-mix(in srgb,var(--border-focus, #6b8cff) 14%,transparent);border-color:color-mix(in srgb,var(--border-focus, #6b8cff) 55%,transparent)}.ft-upload-menu__text{display:flex;flex-direction:column;min-width:0;line-height:1.15}.ft-upload-menu__title{font-size:12.5px;font-weight:500;letter-spacing:.1px}.ft-upload-menu__hint{margin-top:1px;font-size:10.5px;color:var(--obs-muted);letter-spacing:.2px}@media (prefers-reduced-motion: reduce){.ft-upload-menu{animation:none}.ft-upload-menu__item{transition:background .1s ease}.ft-upload-menu__item:active{transform:none}}.ft-actions__btn--active{background:var(--bg-hover, rgba(255, 255, 255, .06))!important;color:var(--text-primary, currentColor)!important}.ft-upload-toast{margin:6px 10px 0;padding:6px 10px;font-size:12px;line-height:1.35;border-radius:8px;border:1px solid var(--border-light);background:var(--bg-elevated);color:var(--text-secondary, var(--text-primary));animation:ft-upload-menu-in .15s ease-out}.ft-upload-toast--success{border-color:color-mix(in srgb,var(--success, #3ba974) 55%,var(--border-light));color:var(--success, #3ba974)}.ft-upload-toast--error{border-color:color-mix(in srgb,var(--danger, #e05b5b) 55%,var(--border-light));color:var(--danger, #e05b5b)}.ft-upload-toast--info{color:var(--text-primary)}.ft-bottom{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding:10px 10px 12px;border-top:1px solid var(--obs-border, var(--border, rgba(255, 255, 255, .06)));background:transparent}.ft-bottom__profile{width:100%}.ft-bottom__row{display:flex;align-items:center;gap:6px}.ft-node--drop{background:color-mix(in srgb,var(--accent-secondary, #6366F1) 18%,transparent);outline:1px dashed var(--accent-secondary, #6366F1);outline-offset:-2px;border-radius:6px}.ft-bottom__label{flex:1;display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:var(--obs-muted);letter-spacing:.1px;font-family:var(--font-hand);text-shadow:none}.ft-bottom__btn{padding:5px;border-radius:6px;color:var(--obs-muted);cursor:pointer;border:none;background:none;transition:background .15s,color .15s}.ft-bottom__btn:hover{color:var(--obs-strong);background:var(--obs-hover)}.ne-panel{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;overflow:hidden;background:var(--bg-primary);position:relative}.ne-scroll{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;position:relative}.ne-scroll::-webkit-scrollbar{width:7px}.ne-scroll::-webkit-scrollbar-track{background:transparent}.ne-scroll::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--obs-muted) 58%,transparent);border-radius:999px;border:2px solid transparent;background-clip:content-box}.ne-scroll::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--obs-muted) 82%,transparent);background-clip:content-box}.ne-panel::-webkit-scrollbar{width:7px}.ne-panel::-webkit-scrollbar-track{background:transparent}.ne-panel::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--obs-muted) 58%,transparent);border-radius:999px;border:2px solid transparent;background-clip:content-box}.ne-panel::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--obs-muted) 82%,transparent);background-clip:content-box}.ne-panel--fullscreen{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;width:100vw;height:100vh;background:var(--bg-primary)}.ne-top-actions{position:absolute;top:10px;right:16px;z-index:60;display:flex;gap:6px}.ne-action-btn{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:6px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;opacity:.5;transition:opacity .15s,background .15s}.ne-action-btn:hover{opacity:1;background:var(--bg-tertiary)}.ne-action-btn--active{opacity:1;background:var(--accent, #6366f1);color:#fff;border-color:var(--accent, #6366f1)}.ne-panel--fullscreen .ne-top-actions{top:12px;right:20px}.ne-fullscreen-btn{position:absolute;top:10px;right:16px;z-index:60;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:6px;cursor:pointer;color:var(--text-secondary);display:flex;align-items:center;justify-content:center;opacity:.5;transition:opacity .15s,background .15s}.ne-fullscreen-btn:hover{opacity:1;background:var(--bg-tertiary)}.ne-panel--fullscreen .ne-fullscreen-btn{top:12px;right:20px}.ne-cover{width:100%;height:180px;position:relative;flex-shrink:0;overflow:hidden;background:var(--bg-secondary)}.ne-cover__image{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.ne-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(transparent 40%,var(--bg-primary))}.ne-cover__change,.ne-cover__remove{position:absolute;top:10px;z-index:2;font-size:11px;padding:4px 10px;border-radius:4px;cursor:pointer;border:none;background:#00000080;color:#fff;opacity:0;transition:opacity .15s}.ne-cover__change{right:90px}.ne-cover__remove{right:10px}.ne-cover:hover .ne-cover__change,.ne-cover:hover .ne-cover__remove{opacity:1}.ne-cover__change:has(input:disabled),.ne-cover__remove:disabled{cursor:wait;opacity:.55}.ne-add-cover{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-hand);font-size:12px;color:var(--text-tertiary);cursor:pointer;padding:4px 0;opacity:0;transition:opacity .15s;letter-spacing:.02em}.ne-title-row:hover .ne-add-cover{opacity:1}.ne-add-cover:has(input:disabled){cursor:wait;opacity:.45}.ne-title-row{padding:20px 48px 0}.ne-title{width:100%;border:none;background:none;outline:none;font-family:var(--font-hand);font-size:34px;font-weight:700;line-height:1.28;color:var(--text-primary);letter-spacing:.03em;caret-color:var(--brand-purple, #6965db)}.ne-title::placeholder{color:var(--text-tertiary);font-weight:500;font-style:italic;letter-spacing:.04em}.ne-tagbar{display:flex;align-items:center;gap:7px;padding:8px 48px 6px;flex-wrap:wrap}.ne-tagbar__tag{display:inline-flex;align-items:center;gap:4px;font-family:var(--font-hand);font-size:12px;font-weight:650;padding:3px 10px 4px;letter-spacing:.02em;color:var(--brand-purple, #6965db);background:color-mix(in srgb,var(--brand-purple, #6965db) 9%,transparent);border:2px solid color-mix(in srgb,var(--brand-purple, #6965db) 45%,transparent);border-radius:46% 54% 50% 50%/50% 45% 55% 50%;transform:rotate(-1.2deg);transition:background .15s,transform .15s}.ne-tagbar__tag:nth-child(2n){transform:rotate(1.4deg);border-radius:52% 48% 46% 54%/48% 52%}.ne-tagbar__tag:nth-child(3n){transform:rotate(-.6deg);border-radius:48% 52% 54% 46%/46% 48% 52% 54%}.ne-tagbar__tag:hover{background:color-mix(in srgb,var(--brand-purple, #6965db) 14%,transparent)}.ne-tagbar__tag button{font-family:var(--font-hand);font-size:14px;cursor:pointer;color:inherit;opacity:.45;border:none;background:none;padding:0;line-height:1}.ne-tagbar__tag button:hover{opacity:1}.ne-tagbar__input{flex:1;min-width:80px;border:none;background:none;outline:none;font-family:var(--font-hand);font-size:12px;font-weight:500;letter-spacing:.03em;color:var(--text-secondary)}.ne-tagbar__input::placeholder{color:var(--text-tertiary);font-style:italic}.ne-body{flex:0 0 auto;overflow:visible;position:relative;isolation:isolate}.ne-preview-scroll{width:100%}.ne-preview__cover{width:calc(100% - 96px);max-width:720px;height:180px;margin:0 auto 16px;background-size:cover;background-position:center;border-radius:10px;border:2px solid color-mix(in srgb,var(--brand-purple, #6965db) 30%,transparent)}.ne-preview__title,.ne-preview__tags{max-width:720px;margin-left:auto;margin-right:auto;padding:0 48px}.ne-preview--embedded .sn-content{padding-top:0}.ne-body__stage,.ne-tiptap{width:100%}.ne-tiptap .tiptap{padding:8px 48px 60px;outline:none;min-height:300px;font-family:var(--font-hand);font-size:15px;line-height:1.65;letter-spacing:.02em;caret-color:var(--accent-secondary)}.ne-tiptap .tiptap>*+*{margin-top:0}.ne-tiptap .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;height:0;color:var(--text-tertiary);pointer-events:none;font-style:italic}.bubble-menu{display:flex;align-items:center;gap:1px;padding:4px;background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:8px;box-shadow:0 8px 30px #0000004d}.bubble-menu button{padding:5px 8px;border:none;background:none;cursor:pointer;border-radius:4px;color:var(--text-secondary);font-size:13px;font-family:var(--font-hand);display:flex;align-items:center;justify-content:center;min-width:28px;transition:all 80ms}.bubble-menu button strong{color:inherit;font-weight:700}.bubble-menu button em{font-style:italic}.bubble-menu button u{text-decoration:none;border-bottom:2px wavy var(--brand-purple, #6965db)}.bubble-menu button:hover{background:var(--bg-hover);color:var(--text-primary)}.bubble-menu button.is-active{background:#6366f126;color:var(--accent-secondary)}.slash-menu-wrapper{position:absolute;z-index:100}.slash-menu{background:var(--bg-elevated);border:1px solid var(--border-light);border-radius:10px;padding:6px;min-width:260px;max-height:340px;overflow-y:auto;box-shadow:0 12px 40px #00000059}.slash-menu::-webkit-scrollbar{width:4px}.slash-menu::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}.slash-menu__item{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:6px;cursor:pointer;border:none;background:none;width:100%;text-align:left;transition:background 80ms}.slash-menu__item:hover,.slash-menu__item--active{background:var(--bg-hover)}.slash-menu__icon{width:36px;height:36px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:600;flex-shrink:0;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border)}.slash-menu__text{display:flex;flex-direction:column;gap:1px;min-width:0}.slash-menu__title{font-size:13px;font-weight:500;color:var(--text-primary)}.slash-menu__desc{font-size:11px;color:var(--text-tertiary)}.ne-status{display:flex;align-items:center;gap:14px;padding:4px 20px;border-top:1px solid var(--border);font-size:11px;color:var(--text-tertiary);background:var(--bg-secondary);flex-shrink:0;z-index:10}@media (max-width: 700px){.ft-sidebar{width:250px;min-width:250px}.ne-title-row{padding:16px 20px 0}.ne-title{font-size:28px}.ne-tagbar{padding:6px 20px 4px}.ne-preview__title,.ne-preview__tags{padding:0 20px}.ne-preview__cover{width:calc(100% - 40px)}.ne-tiptap .tiptap{padding:8px 20px 60px}}
