:root{--bg-primary:#fff;--bg-secondary:#f5f5f5;--bg-tertiary:#e8e8e8;--text-primary:#1a1a1a;--text-secondary:#595959;--border-color:#ddd;--accent-color:#1f6bb8;--accent-hover:#17528f;--success-color:#7ed321;--shadow-sm:0 2px 4px #0000001a;--shadow-md:0 4px 8px #00000026;--shadow-lg:0 8px 16px #0003;--transition:color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, opacity .2s ease, transform .2s ease;--transition-fast:color .12s ease, background-color .12s ease, border-color .12s ease, box-shadow .12s ease, opacity .12s ease, transform .12s ease;--color-success:var(--success-color);--color-info:var(--accent-color);--color-warning:#e0a800;--color-danger:#e0533f;--text-on-accent:#fff;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-pill:999px;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"SFMono-Regular", SFMono-Regular, ui-monospace, Menlo, Consolas, monospace}[data-theme=dark]{--bg-primary:#1a1a1a;--bg-secondary:#2a2a2a;--bg-tertiary:#3a3a3a;--text-primary:#e6e6e6;--text-secondary:#ccc;--border-color:#444;--accent-color:#7ab8f5;--accent-hover:#a3cdf8;--text-on-accent:#0d1b2a;--shadow-sm:0 2px 4px #0000004d;--shadow-md:0 4px 8px #0006;--shadow-lg:0 8px 16px #00000080}*{box-sizing:border-box;margin:0;padding:0}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}body{font-family:var(--font-sans);background-color:var(--bg-secondary);color:var(--text-primary);line-height:1.6;overflow:hidden}.app-container{flex-direction:column;height:100vh;display:flex}.app-header{background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm);z-index:100;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.header-left{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.logo-link{align-items:center;text-decoration:none;display:flex}.header-logo{width:auto;height:40px}.header-logo-dark,[data-theme=dark] .header-logo-light{display:none}[data-theme=dark] .header-logo-dark{display:block}.app-header h1{color:var(--text-primary);font-size:1.5rem;font-weight:600}.version-info{align-items:center;gap:.75rem;font-size:.8rem;display:flex}.version-label{color:var(--text-secondary);font-weight:500}.version-update{color:var(--accent-color);font-weight:500}.version-update a{color:var(--accent-color);text-decoration:none}.version-update a:hover{text-decoration:underline}.source-link{color:var(--text-secondary);border-left:1px solid var(--border-color);padding-left:.75rem;text-decoration:none}.source-link:hover{color:var(--accent-color);text-decoration:underline}.header-controls{gap:.5rem;display:flex}.theme-toggle{background:var(--bg-tertiary);min-height:2.25rem;color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.8rem;font-weight:600;line-height:1;display:inline-flex}.theme-icon{display:inline-flex}.theme-toggle:hover,.theme-toggle.active:hover{background:var(--accent-color);color:var(--text-on-accent);border-color:var(--accent-color);transform:scale(1.05)}.theme-toggle.active{border-color:var(--accent-color);color:var(--accent-color)}.visual-theme-picker,.header-more-picker{display:flex;position:relative}.visual-theme-toggle-label{line-height:1}@media (width<=520px){.app-header{flex-wrap:wrap;gap:.75rem}.header-controls{margin-left:auto}.visual-theme-toggle-label{display:none}}.visual-theme-menu{z-index:200;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);min-width:10.5rem;box-shadow:var(--shadow-md);flex-direction:column;gap:.15rem;padding:.35rem;display:flex;position:absolute;top:calc(100% + .4rem);right:0}.visual-theme-menu[hidden]{display:none}.visual-theme-option{text-align:left;border-radius:var(--radius-md);width:100%;color:var(--text-primary);cursor:pointer;background:0 0;border:none;padding:.45rem .7rem;font-size:.9rem;display:block}.visual-theme-option:hover,.visual-theme-option.active{background:var(--bg-tertiary)}.visual-theme-option.active{color:var(--accent-color);font-weight:600}.drop-zone{flex:1;justify-content:center;align-items:center;min-height:0;padding:2rem;display:flex;position:relative}.drop-zone-content{text-align:center;border:3px dashed var(--border-color);background-color:var(--bg-primary);transition:var(--transition);cursor:pointer;border-radius:16px;padding:4rem}.drop-zone-content:hover{border-color:var(--accent-color);background-color:var(--bg-secondary);transform:scale(1.02)}.drop-zone.drag-over .drop-zone-content{border-color:var(--accent-color);background-color:var(--bg-secondary);transform:scale(1.05)}.drop-zone:not(.web-showcase) .drop-zone-content{min-width:0;max-width:100%;max-height:100%;padding:clamp(1rem,3vmin,1.5rem);overflow-y:auto;transform:none}.drop-zone:not(.web-showcase) .drop-zone-buttons .browse-button{padding-inline:1.25rem}.drop-zone-icon{width:64px;height:64px;color:var(--accent-color);margin:0 auto 1rem}.drop-zone-content h2{color:var(--text-primary);margin-bottom:.5rem;font-size:1.5rem}.drop-zone-content p{color:var(--text-secondary);margin-bottom:1.5rem}.browse-button{background-color:var(--accent-color);color:var(--text-on-accent);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);border:none;padding:.75rem 2rem;font-size:1rem;font-weight:500}.browse-button:hover{background-color:var(--accent-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.sample-section{flex-direction:column;align-items:center;gap:.75rem;margin-top:1.25rem;display:flex}.sample-button-row{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.sample-button{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);padding:.7rem 1.1rem;font-size:.95rem;font-weight:500}.sample-button:hover{border-color:var(--accent-color);color:var(--text-on-accent);background-color:var(--accent-color);box-shadow:var(--shadow-md);transform:translateY(-1px)}.url-section,.sample-section{border-top:1px solid var(--border-color);padding-top:var(--space-4);opacity:.85;transition:var(--transition-fast)}.url-section:hover,.url-section:focus-within,.sample-section:hover{opacity:1}.url-section{flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:420px;margin-top:1.25rem;display:flex}#open-url-btn[aria-busy=true]{cursor:progress;opacity:.7}.url-separator{color:var(--text-secondary);text-transform:lowercase;letter-spacing:.03em;font-size:.8rem}.url-input-row{gap:.5rem;width:100%;display:flex}.url-input-row input[type=url]{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-primary);min-width:0;color:var(--text-primary);outline:none;flex:1;padding:.55rem .85rem;font-size:.9rem;transition:border-color .2s}.url-input-row input[type=url]:focus{border-color:var(--accent-color)}.url-input-row button{background-color:var(--accent-color);color:var(--text-on-accent);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:none;padding:.55rem 1.1rem;font-size:.9rem;font-weight:500;transition:background-color .2s}.url-input-row button:hover{background-color:var(--accent-hover)}.url-error{color:#e53935;text-align:center;max-width:420px;font-size:.8rem}.url-note{color:var(--text-secondary);text-align:center;opacity:.75;margin-top:.25rem;font-size:.75rem}.recent-files-overlay{z-index:10020;padding:calc(1rem + env(safe-area-inset-top,0px)) calc(1rem + env(safe-area-inset-right,0px)) calc(1rem + env(safe-area-inset-bottom,0px)) calc(1rem + env(safe-area-inset-left,0px));background-color:#0006;place-items:center;display:grid;position:fixed;inset:0}.recent-files-dialog{background-color:var(--bg-primary);width:min(34rem,100%);min-width:0;min-height:0;max-height:min(34rem,100%);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);flex-direction:column;gap:1rem;padding:1.25rem;display:flex}.recent-files-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:1rem;display:flex}.recent-files-header h2{font-size:1.2rem}.recent-files-clear{color:var(--text-secondary);font:inherit;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;align-self:flex-start;padding:.4rem .3rem;font-size:.85rem}.recent-files-clear:hover:not(:disabled){color:var(--accent-color);text-decoration:underline}.recent-files-clear:disabled{opacity:.5;cursor:default}.recent-files-list{overscroll-behavior:contain;flex-direction:column;gap:.5rem;min-width:0;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.recent-files-list[hidden]{display:none}.recent-file-item{text-align:left;background-color:var(--bg-primary);width:100%;color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;transition:var(--transition-fast);padding:.5rem .75rem;font-size:.9rem;overflow:hidden}.recent-file-item:hover{border-color:var(--accent-color);background-color:var(--bg-secondary)}.drop-zone-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--accent-color);pointer-events:none;background-color:#4a90e21a;justify-content:center;align-items:center;font-size:2rem;font-weight:600;display:none;position:absolute;inset:0}.drop-zone.drag-over .drop-zone-overlay{display:flex}[data-visual-theme=starfield] .drop-zone{isolation:isolate;background:radial-gradient(80% 60% at 12% 8%,#00a3bf47,#0000 55%),radial-gradient(70% 50% at 92% 18%,#ff7a4d38,#0000 50%),radial-gradient(60% 70% at 70% 92%,#7a50dc33,#0000 55%),#070b18;overflow:hidden}[data-visual-theme=starfield] .drop-zone:before{content:"";pointer-events:none;z-index:0;flex:0 0 0;width:100%;height:0;animation:28s ease-in-out infinite alternate landing-nebula-drift;display:block;position:sticky;top:0;box-shadow:0 0 180px 80px #00a3bf1f,40vw 30vh 220px 90px #ff7a4d1a,70vw 80vh 200px 70px #5a46c81f}@keyframes landing-nebula-drift{0%{transform:translate(0,0)scale(1)}to{transform:translate(-4%,3%)scale(1.08)}}[data-theme=dark][data-visual-theme=starfield] .drop-zone{background:radial-gradient(80% 60% at 12% 8%,#7ab8f529,#0000 55%),radial-gradient(70% 50% at 92% 18%,#ff8c5a24,#0000 50%),radial-gradient(60% 70% at 70% 92%,#5032a038,#0000 55%),#05060d}.starfield-canvas,.starfield-cursor-core{display:none}[data-visual-theme=starfield] .starfield-canvas{pointer-events:none;z-index:0;width:100%;height:100%;display:block;position:absolute;top:0;left:0}[data-visual-theme=starfield] .starfield-cursor-core{pointer-events:none;z-index:1;opacity:.9;width:220px;height:220px;display:block;position:absolute;top:0;left:0}[data-visual-theme=starfield] .starfield-cursor-dot{background:radial-gradient(circle at 35% 30%,#fff 0%,#7ae0ff 35%,#ff8a4d 100%);border-radius:50%;width:14px;height:14px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 18px 6px #7ae0ff8c,0 0 48px 16px #ff7a4d47}[data-visual-theme=starfield] .starfield-cursor-ring{border:1px solid #7ae0ff73;border-radius:50%;animation:3.6s ease-in-out infinite landing-cursor-pulse;position:absolute;inset:18%;box-shadow:inset 0 0 40px #00a3bf40}@keyframes landing-cursor-pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}[data-visual-theme=starfield] .drop-zone-content{z-index:2;position:relative}[data-theme=light][data-visual-theme=starfield] .drop-zone{background:radial-gradient(80% 60% at 12% 8%,#00a3bf33,#0000 55%),radial-gradient(70% 50% at 92% 18%,#ff7a4d29,#0000 50%),radial-gradient(60% 70% at 70% 92%,#785ad21a,#0000 55%),#eef4fb}[data-theme=light][data-visual-theme=starfield] .drop-zone:before{box-shadow:0 0 160px 70px #00a3bf1a,40vw 30vh 200px 80px #ff7a4d14,70vw 80vh 180px 60px #785ad214}[data-theme=light][data-visual-theme=starfield] .starfield-cursor-dot{box-shadow:0 0 16px 5px #1f6bb859,0 0 40px 14px #ff7a4d38}[data-theme=light][data-visual-theme=starfield] .starfield-cursor-ring{border-color:#1f6bb861;box-shadow:inset 0 0 36px #00a3bf2e}@media (width<=640px){[data-visual-theme=starfield] .starfield-cursor-core{display:none}}@media (prefers-reduced-motion:reduce){[data-visual-theme=starfield] .drop-zone:before,[data-visual-theme=starfield] .starfield-cursor-ring{animation:none}[data-visual-theme=starfield] .starfield-cursor-core{display:none}}[data-visual-theme=aurora] .drop-zone{isolation:isolate;background:radial-gradient(90% 50% at 18% 88%,#20e69652,#0000 55%),radial-gradient(70% 45% at 72% 22%,#46beff47,#0000 55%),radial-gradient(55% 60% at 92% 78%,#b05cff3d,#0000 50%),#06141c;overflow:hidden}[data-visual-theme=aurora] .drop-zone:before{content:"";pointer-events:none;z-index:0;filter:blur(10px);background:repeating-linear-gradient(118deg,#0000 0 7%,#30ffba14 9%,#50d2ff29 11%,#a86eff1a 13%,#0000 16%);animation:22s ease-in-out infinite alternate aurora-sweep;position:absolute;inset:-10% -20%}@keyframes aurora-sweep{0%{transform:translate(0,0)skew(-4deg)}to{transform:translate(-6%,4%)skew(6deg)}}[data-theme=dark][data-visual-theme=aurora] .drop-zone{background:radial-gradient(90% 50% at 18% 88%,#20e69638,#0000 55%),radial-gradient(70% 45% at 72% 22%,#46beff2e,#0000 55%),radial-gradient(55% 60% at 92% 78%,#b05cff33,#0000 50%),#040b10}[data-theme=light][data-visual-theme=aurora] .drop-zone{background:radial-gradient(90% 50% at 18% 88%,#14aa782e,#0000 55%),radial-gradient(70% 45% at 72% 22%,#2882d224,#0000 55%),radial-gradient(55% 60% at 92% 78%,#8c46d21a,#0000 50%),#eef6f4}[data-theme=light][data-visual-theme=aurora] .drop-zone:before{background:repeating-linear-gradient(118deg,#0000 0 7%,#10966e14 9%,#1e78be1a 11%,#7846be12 13%,#0000 16%)}[data-visual-theme=aurora] .drop-zone-content{z-index:2;position:relative}@media (prefers-reduced-motion:reduce){[data-visual-theme=aurora] .drop-zone:before{filter:none;animation:none}}[data-visual-theme=blueprint] .drop-zone{isolation:isolate;background-color:#0b2a4a;background-image:linear-gradient(#78c8ff1f 1px,#0000 1px),linear-gradient(90deg,#78c8ff1f 1px,#0000 1px),linear-gradient(#78c8ff38 1px,#0000 1px),linear-gradient(90deg,#78c8ff38 1px,#0000 1px);background-position:-1px -1px;background-size:24px 24px,24px 24px,120px 120px,120px 120px;overflow:hidden}[data-visual-theme=blueprint] .drop-zone:before{content:"";pointer-events:none;z-index:0;border:1px solid #96dcff59;position:absolute;inset:12px;box-shadow:inset 0 0 0 1px #96dcff1f,0 0 80px #288cdc1f}[data-theme=dark][data-visual-theme=blueprint] .drop-zone{background-color:#071d33}[data-theme=light][data-visual-theme=blueprint] .drop-zone{background-color:#eef5fb;background-image:linear-gradient(#14508c1a 1px,#0000 1px),linear-gradient(90deg,#14508c1a 1px,#0000 1px),linear-gradient(#14508c33 1px,#0000 1px),linear-gradient(90deg,#14508c33 1px,#0000 1px)}[data-theme=light][data-visual-theme=blueprint] .drop-zone:before{border-color:#14508c47;box-shadow:inset 0 0 0 1px #14508c14,0 0 60px #14508c0f}[data-visual-theme=blueprint] .drop-zone-content{z-index:2;position:relative}.drop-zone.web-showcase{text-align:center;-webkit-overflow-scrolling:touch;isolation:isolate;flex-direction:column;justify-content:flex-start;align-items:stretch;position:relative;overflow:hidden auto}.drop-zone.web-showcase .drop-zone-content{box-sizing:border-box;z-index:2;align-self:center;width:auto;min-width:0;max-width:100%;position:relative}.drop-zone.web-showcase .landing-hero,.drop-zone.web-showcase .landing-diagram-host,.drop-zone.web-showcase .landing-pillars,.drop-zone.web-showcase .landing-desktop{box-sizing:border-box;z-index:2;text-align:center;width:min(960px,100%);min-width:0;max-width:100%;margin-inline:auto;position:relative}.drop-zone.web-showcase .landing-hero{margin-bottom:var(--space-6);flex-direction:column;align-items:center;display:flex}.drop-zone.web-showcase .landing-eyebrow{margin:0 0 var(--space-3);letter-spacing:.16em;text-transform:uppercase;color:#9bebff;border-radius:var(--radius-pill);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#07102073;border:1px solid #7ae0ff59;justify-content:center;align-items:center;gap:.5rem;padding:.2rem .7rem;font-size:.72rem;font-weight:700;display:inline-flex}.drop-zone.web-showcase .landing-signal{background:#7dffb3;border-radius:50%;width:.5rem;height:.5rem;animation:1.6s ease-in-out infinite landing-signal-blink;box-shadow:0 0 10px #7dffb3}@keyframes landing-signal-blink{0%,to{opacity:1}50%{opacity:.25}}.drop-zone.web-showcase .landing-title{margin:0 0 var(--space-3);letter-spacing:-.03em;text-align:center;color:#f4fbff;background:linear-gradient(115deg,#fff 10%,#7ae0ff 48%,#ffb089 100%);-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 18px #7ae0ff47);-webkit-background-clip:text;background-clip:text;font-size:clamp(1.85rem,4.4vw,2.85rem);line-height:1.12}.drop-zone.web-showcase .landing-lede{text-align:center;color:#e6f0ffc7;max-width:42rem;margin:0 auto;font-size:1.08rem}.drop-zone.web-showcase .landing-kicker{margin:0 0 var(--space-2);letter-spacing:.14em;text-transform:uppercase;color:#ffb089;font-size:.68rem;font-weight:700}.drop-zone.web-showcase .landing-diagram-host{margin-top:var(--space-6)}.drop-zone.web-showcase .landing-diagram-caption{margin:0 0 var(--space-3);letter-spacing:.04em;color:#c8e6ffb8;font-size:.85rem}.drop-zone.web-showcase .landing-diagram{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);padding:var(--space-4);background:#080e1c8c;border:1px solid #7ae0ff47;border-radius:18px;min-width:0;max-width:100%;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a,0 12px 40px #00000047}.drop-zone.web-showcase .landing-diagram .diagram-container,.drop-zone.web-showcase .landing-diagram .diagram-wrapper{min-width:0;max-width:100%;margin:0}.drop-zone.web-showcase .landing-pillars{gap:var(--space-4);margin-top:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.drop-zone.web-showcase .landing-pillar{padding:var(--space-5) var(--space-4);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:center;background:#0a102094;border:1px solid #7ae0ff38;border-radius:18px;transition:transform .18s,border-color .18s;box-shadow:0 10px 30px #0003}.drop-zone.web-showcase .landing-pillar:hover{border-color:#ffb08973;transform:translateY(-3px)}.drop-zone.web-showcase .landing-pillar h3{margin:0 0 var(--space-2);color:#f4fbff;font-size:1.05rem}.drop-zone.web-showcase .landing-pillar p:not(.landing-kicker){color:#d2e4ffb8;margin:0;font-size:.9rem}.drop-zone.web-showcase .landing-desktop{margin-top:var(--space-6);margin-bottom:var(--space-6);padding:var(--space-5);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);text-align:center;background:linear-gradient(135deg,#ff7a4d1f,#00a3bf1a),#0a10209e;border:1px solid #ffb08947;border-radius:18px}.drop-zone.web-showcase .landing-desktop h3{margin:0 0 var(--space-2);color:#f4fbff;font-size:1.15rem}.drop-zone.web-showcase .landing-desktop p:not(.landing-kicker){margin:0 0 var(--space-4);color:#d2e4ffbf}.drop-zone.web-showcase .landing-download{color:#fff;border-radius:var(--radius-pill);letter-spacing:.02em;transition:var(--transition-fast);background:linear-gradient(115deg,#1f6bb8,#00a3bf 55%,#ff7a4d);padding:.8rem 1.35rem;font-weight:600;text-decoration:none;display:inline-block;box-shadow:0 8px 24px #00a3bf59}.drop-zone.web-showcase .landing-download:hover{color:#fff;background:linear-gradient(115deg,#17528f,#00c2d6 55%,#ff9268);transform:translateY(-1px)}.drop-zone.web-showcase .url-section,.drop-zone.web-showcase .sample-section{color:#d2e4ffcc;border-top-color:#7ae0ff2e;margin-left:auto;margin-right:auto}.drop-zone.web-showcase .url-separator,.drop-zone.web-showcase .url-note{color:#b4d2ebb3}.drop-zone.web-showcase .url-input-row input{color:#f4fbff;background:#080e1ca6;border-color:#7ae0ff47}[data-theme=light] .drop-zone.web-showcase .landing-eyebrow{color:#17528f;background:#ffffff9e;border-color:#1f6bb847}[data-theme=light] .drop-zone.web-showcase .landing-signal{background:#1aa35a;box-shadow:0 0 8px #1aa35a8c}[data-theme=light] .drop-zone.web-showcase .landing-title{color:#0d1b2a;background:linear-gradient(115deg,#0d1b2a 8%,#1f6bb8 52%,#d65a28 100%);-webkit-text-fill-color:transparent;filter:none;-webkit-background-clip:text;background-clip:text}[data-theme=light] .drop-zone.web-showcase .landing-lede{color:#3d4f63}[data-theme=light] .drop-zone.web-showcase .landing-kicker{color:#c45c28}[data-theme=light] .drop-zone.web-showcase .landing-diagram-caption{color:#4a6078}[data-theme=light] .drop-zone.web-showcase .landing-diagram{background:#ffffffb8;border-color:#1f6bb82e;box-shadow:inset 0 0 0 1px #fffc,0 12px 32px #1f3c6414}[data-theme=light] .drop-zone.web-showcase .landing-pillar{background:#ffffffb3;border-color:#1f6bb829;box-shadow:0 10px 28px #1f3c6412}[data-theme=light] .drop-zone.web-showcase .landing-pillar:hover{border-color:#d65a2866}[data-theme=light] .drop-zone.web-showcase .landing-pillar h3{color:#0d1b2a}[data-theme=light] .drop-zone.web-showcase .landing-pillar p:not(.landing-kicker){color:#4a6078}[data-theme=light] .drop-zone.web-showcase .landing-desktop{background:linear-gradient(135deg,#ff7a4d1a,#00a3bf14),#ffffffc2;border-color:#d65a2847}[data-theme=light] .drop-zone.web-showcase .landing-desktop h3{color:#0d1b2a}[data-theme=light] .drop-zone.web-showcase .landing-desktop p:not(.landing-kicker){color:#4a6078}[data-theme=light] .drop-zone.web-showcase .url-section,[data-theme=light] .drop-zone.web-showcase .sample-section{color:#3d4f63;border-top-color:#1f6bb829}[data-theme=light] .drop-zone.web-showcase .url-separator,[data-theme=light] .drop-zone.web-showcase .url-note{color:#5a7188}[data-theme=light] .drop-zone.web-showcase .url-input-row input{color:#0d1b2a;background:#ffffffe0;border-color:#1f6bb838}@media (width<=640px){.drop-zone.web-showcase .drop-zone-content{padding:var(--space-5) var(--space-4)}}@media (prefers-reduced-motion:reduce){.drop-zone.web-showcase .landing-signal{animation:none}}.content-area{flex-direction:column;flex:1;display:flex;overflow:hidden}.content-header{background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex}.file-info{align-items:center;gap:.5rem;display:flex}.file-icon{font-size:1.5rem}.file-name{color:var(--text-primary);font-weight:500}.content-header-actions{align-items:center;gap:.5rem;display:flex;position:relative}.content-header-actions .overflow-only{display:none!important}.search-toggle-button{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);align-items:center;padding:.4rem .6rem;line-height:1;display:inline-flex}.search-toggle-button:hover{background-color:var(--accent-color);border-color:var(--accent-color);color:var(--text-on-accent)}.overflow-toggle-button{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);padding:.4rem .6rem;font-size:1.1rem;line-height:1}.overflow-toggle-button:hover{background-color:var(--accent-color);border-color:var(--accent-color);color:var(--text-on-accent)}.overflow-menu,.header-more-menu{z-index:200;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);min-width:12rem;box-shadow:var(--shadow-lg);flex-direction:column;padding:.25rem;display:flex;position:absolute;top:calc(100% + .4rem);right:0}.header-more-menu[hidden]{display:none}.overflow-menu-item,.header-more-menu-item{text-align:left;color:var(--text-primary);font:inherit;border-radius:var(--radius-md);cursor:pointer;background:0 0;border:none;padding:.55rem .75rem}.overflow-menu-item:hover,.header-more-menu-item:hover{background-color:var(--accent-color);color:var(--text-on-accent)}.workspace-toggle-button,.toc-toggle-button,.split-toggle-button,.comments-toggle-button,.annotation-toggle-button,.annotation-list-toggle-button,.print-button,.present-button,.view-toggle-button{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);align-items:center;gap:.4rem;padding:.5rem 1rem;font-size:.9rem;display:flex}.comments-toggle-button,.annotation-list-toggle-button{padding:.5rem .9rem}.workspace-toggle-button:hover,.workspace-toggle-button.active,.toc-toggle-button:hover,.toc-toggle-button.active,.split-toggle-button:hover,.split-toggle-button.active,.comments-toggle-button:hover,.comments-toggle-button.active,.annotation-toggle-button:hover,.annotation-list-toggle-button:hover,.annotation-list-toggle-button.active,.print-button:hover,.present-button:hover,.view-toggle-button:hover,.view-toggle-button.active{background-color:var(--accent-color);color:var(--text-on-accent);border-color:var(--accent-color)}.watch-chip{background-color:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:var(--radius-pill);letter-spacing:.02em;cursor:pointer;transition:var(--transition-fast);align-items:center;gap:.35rem;margin-left:.6rem;padding:.15rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.watch-chip:hover{border-color:var(--accent-color);color:var(--text-primary)}.watch-chip-dot{background-color:var(--text-secondary);opacity:.5;border-radius:50%;width:7px;height:7px}.watch-chip.active{color:var(--text-primary)}.watch-chip.active .watch-chip-dot{opacity:1;background-color:#27ae60}@keyframes watch-chip-pulse{0%{background-color:var(--bg-tertiary)}30%{background-color:var(--accent-color);color:var(--text-on-accent)}to{background-color:var(--bg-tertiary)}}.watch-chip.reloaded{animation:1.1s ease-out watch-chip-pulse}.watch-chip.reloaded .watch-chip-dot{background-color:var(--color-success);opacity:1}.tab-watching-dot{background-color:#27ae60;border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:background-color .2s;display:inline-block}.tab.tab-has-changes .tab-watching-dot{background-color:#f59e0b;animation:1.6s ease-in-out infinite tab-changed-pulse}@keyframes tab-changed-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(1.35)}}.view-toggle-icon{font-family:Courier New,Courier,monospace;font-size:.85rem;font-weight:700}.markdown-content{overflow-wrap:break-word;background-color:var(--bg-primary);flex:1;padding:2rem;overflow:hidden auto}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{color:var(--text-primary);margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.3}.markdown-content h1{border-bottom:2px solid var(--border-color);padding-bottom:.3em;font-size:2em}.markdown-content h2{border-bottom:1px solid var(--border-color);padding-bottom:.3em;font-size:1.5em}.markdown-content h3{font-size:1.25em}.markdown-content h4{font-size:1.1em}.markdown-content h5{font-size:1em}.markdown-content h6{color:var(--text-secondary);font-size:.9em}.markdown-content p{margin-bottom:1em}.markdown-content a{color:var(--accent-color);text-decoration:none}.markdown-content a:hover{text-decoration:underline}.markdown-content ul,.markdown-content ol{margin-bottom:1em;padding-left:2em}.markdown-content li{margin-bottom:.5em}.markdown-content code{background-color:var(--bg-tertiary);border-radius:3px;padding:.2em .4em;font-family:Courier New,Courier,monospace;font-size:.9em}.markdown-content pre{border-radius:var(--radius-md);background-color:#0d1117;border:1px solid #30363d;margin-bottom:1em;padding:1em;position:relative;overflow-x:auto}.code-copy-btn{font-size:.72rem;font-family:var(--font-sans);color:#e6edf3;border-radius:var(--radius-sm);cursor:pointer;opacity:0;background-color:#ffffff14;border:1px solid #30363d;padding:.2rem .55rem;transition:opacity .12s,background-color .12s;position:absolute;top:.5rem;right:.5rem}.markdown-content pre:hover .code-copy-btn,.markdown-content pre:focus-within .code-copy-btn{opacity:1}.code-copy-btn:hover{background-color:#ffffff29}.code-copy-btn:focus-visible{opacity:1}.code-copy-btn.is-copied{color:#fff;background-color:var(--color-success);border-color:var(--color-success)}@media print{.code-copy-btn{display:none}}.markdown-content pre code{color:#e6edf3;background-color:#0000;padding:0}.markdown-content table{border-collapse:collapse;width:100%;max-width:100%;margin-bottom:1em;display:block;overflow-x:auto}.markdown-content th,.markdown-content td{border:1px solid var(--border-color);text-align:left;padding:.75em}.markdown-content th{background-color:var(--bg-secondary);font-weight:600}.markdown-content blockquote{border-left:4px solid var(--accent-color);color:var(--text-secondary);margin-bottom:1em;margin-left:0;padding-left:1em}.markdown-content img{max-width:100%;height:auto}.markdown-content .html-comment-block{background-color:var(--bg-secondary);border-left:3px solid var(--color-warning);color:var(--text-secondary);white-space:pre-wrap;border-radius:0 4px 4px 0;margin-bottom:1em;padding:.6em 1em;font-size:.9em}.markdown-content .html-comment-label{text-transform:uppercase;letter-spacing:.06em;color:var(--color-warning);vertical-align:.1em;-webkit-user-select:none;user-select:none;margin-right:.6em;font-size:.65rem;font-weight:600;display:inline-block}.markdown-content.comments-hidden .html-comment-block{display:none}.comments-toggle-count{background-color:var(--accent-color);color:var(--text-on-accent);border-radius:var(--radius-pill);text-align:center;min-width:1.2em;padding:0 .4em;font-size:.7rem;font-weight:600}.comments-toggle-button.active .comments-toggle-count{color:var(--accent-color);background-color:#fff}.raw-markdown{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);white-space:pre-wrap;word-wrap:break-word;color:var(--text-primary);margin:0;padding:1.5em;font-family:Courier New,Courier,monospace;font-size:.9em;line-height:1.7;overflow-x:auto}.raw-markdown code{font-family:inherit;font-size:inherit;background-color:#0000;padding:0}.diagram-container{margin:2em 0;padding-top:40px;position:relative}.diagram-expand{z-index:10;background-color:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);cursor:pointer;opacity:0;touch-action:manipulation;justify-content:center;align-items:center;width:32px;min-width:32px;height:32px;min-height:32px;transition:opacity .15s;display:inline-flex;position:absolute;top:0;right:0}.diagram-container:hover .diagram-expand,.diagram-expand:focus-visible,.diagram-container.diagram-scaled .diagram-expand{opacity:1}@media (pointer:coarse){.diagram-container{padding-top:52px}.diagram-expand{opacity:1;width:44px;min-width:44px;height:44px;min-height:44px}}@media (prefers-reduced-motion:reduce){.diagram-expand{transition:none}}.diagram-expand:hover{background-color:var(--accent-color);color:var(--text-on-accent);border-color:var(--accent-color)}.diagram-wrapper{justify-content:center;display:flex}.diagram-wrapper svg{width:auto;max-width:100%;height:auto;max-height:70vh;display:block}.diagram-container.diagram-scaled .diagram-wrapper{cursor:zoom-in}.fullscreen-overlay{background-color:var(--bg-secondary);z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}[data-theme=light] .fullscreen-overlay{background-color:#f5f5f5fa}[data-theme=dark] .fullscreen-overlay{background-color:#1a1a1afa}.fullscreen-content{flex-direction:column;width:95vw;height:95vh;display:flex;position:relative}.fullscreen-controls{z-index:1001;background-color:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);gap:10px;padding:10px;display:flex;position:absolute;top:20px;right:20px}.fullscreen-controls button{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);touch-action:manipulation;min-width:44px;min-height:44px;padding:.75rem 1rem;font-size:1.2rem;font-weight:600}.zoom-range-label{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);align-items:center;gap:.4rem;padding:.2rem .5rem;display:inline-flex}.zoom-percent{text-align:right;min-width:3.2rem;color:var(--text-secondary);font-size:.85rem;font-weight:700}.zoom-range{width:110px}.fullscreen-controls button:hover{background-color:var(--accent-color);color:var(--text-on-accent);border-color:var(--accent-color);transform:scale(1.1)}.fullscreen-controls .close-fullscreen{color:#fff;background-color:#e74c3c;border-color:#c0392b}.fullscreen-controls .close-fullscreen:hover{background-color:#c0392b}.fullscreen-diagram-wrapper{cursor:grab;background-color:var(--bg-primary);border-radius:var(--radius-lg);flex:1;position:relative;overflow:hidden}.fullscreen-diagram-wrapper:active{cursor:grabbing}.fullscreen-diagram-wrapper svg{transform-origin:0 0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.markdown-content{animation:.4s fadeIn}@media (width<=768px){.app-header{padding:.75rem 1rem}.header-left{gap:.5rem}.app-header h1{font-size:1.2rem}.version-info{font-size:.7rem}.markdown-content{padding:1rem}.fullscreen-controls{flex-wrap:wrap}.fullscreen-controls button{padding:.4rem .6rem;font-size:.9rem}}.tab-bar{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:0;padding:0 .5rem;display:flex;overflow-x:auto}.tab-bar::-webkit-scrollbar{height:3px}.tab{background-color:var(--bg-tertiary);border-right:1px solid var(--border-color);cursor:pointer;white-space:nowrap;color:var(--text-secondary);-webkit-user-select:none;user-select:none;align-items:center;gap:.4rem;min-width:0;max-width:180px;padding:.5rem .75rem;font-size:.85rem;transition:background-color .15s,color .15s;display:flex}.tab:hover{background-color:var(--bg-primary);color:var(--text-primary)}.tab-active{background-color:var(--bg-primary);color:var(--text-primary);border-top:2px solid var(--accent-color);padding-top:calc(.5rem - 2px);font-weight:500}.tab-filename{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.tab-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;padding:0 2px;font-size:1rem;line-height:1;transition:background-color .15s,color .15s}.tab-close:hover{color:#e74c3c;background-color:#e74c3c26}.tab-new{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;margin-left:.25rem;padding:.35rem .65rem;font-size:1.2rem;transition:background-color .15s,color .15s}.tab-new:hover{background-color:var(--bg-tertiary);color:var(--accent-color)}@media print{.app-header,.tab-bar,.content-header,.search-bar,.toc-sidebar,.workspace-sidebar,.annotation-panel,.annotation-popover,.diagram-expand,.fullscreen-overlay,.presentation-overlay,.overflow-menu,.share-toast,.toast,.theme-toggle,.watch-chip,.drop-zone,.ios-action-bar,.ios-sheet-backdrop,.skip-link{display:none!important}html,body{height:auto!important;overflow:visible!important}.app-container,.content-area,.content-main,.content-body{height:auto!important;min-height:0!important;display:block!important;overflow:visible!important}.markdown-content{padding:0;height:auto!important;overflow:visible!important}.split-raw-pane{display:none!important}.markdown-content{color:#1f2937!important;background:#fff!important}.markdown-content pre{white-space:pre-wrap;word-break:break-word;border:1px solid #d1d5db;background:#f6f8fa!important;overflow:visible!important}.markdown-content pre code,.markdown-content pre code *{color:#1f2937!important;background:0 0!important}.markdown-content table{table-layout:fixed;width:100%!important;display:table!important;overflow-x:visible!important}.markdown-content th,.markdown-content td{word-break:break-word}.diagram-wrapper{page-break-inside:avoid;break-inside:avoid;height:auto!important;overflow:visible!important}.diagram-wrapper svg{max-width:100%;width:auto!important;height:auto!important;max-height:none!important;position:static!important;transform:none!important}}.content-body{flex:1;min-height:0;display:flex;overflow:hidden}.toc-sidebar{background-color:var(--bg-secondary);border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;width:240px;min-width:200px;display:flex;overflow:hidden}.toc-header{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;padding:.75rem 1rem .5rem;font-size:.75rem;font-weight:600}.toc-nav{flex:1;padding:.5rem 0;overflow-y:auto}.toc-link{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;border-left:2px solid #0000;padding:.3rem 1rem;font-size:.82rem;text-decoration:none;transition:color .15s,background-color .15s;display:block;overflow:hidden}.toc-link:hover{color:var(--accent-color);background-color:var(--bg-tertiary)}.toc-link-active{color:var(--accent-color);border-left-color:var(--accent-color);font-weight:500}.toc-level-1{padding-left:1rem}.toc-level-2{padding-left:1.5rem}.toc-level-3{padding-left:2rem}.toc-level-4{padding-left:2.5rem}.workspace-sidebar{background-color:var(--bg-secondary);border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;width:240px;min-width:200px;display:flex;overflow:hidden}.workspace-header{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;padding:.75rem 1rem .5rem;font-size:.75rem;font-weight:600}.workspace-file-list{flex:1;margin:0;padding:.5rem 0;list-style:none;overflow-y:auto}.workspace-file-item{text-align:left;width:100%;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:none;border-left:2px solid #0000;padding:.3rem 1rem;font-family:inherit;font-size:.82rem;transition:color .15s,background-color .15s;display:block;overflow:hidden}.workspace-file-item:hover{color:var(--accent-color);background-color:var(--bg-tertiary)}.workspace-file-active{color:var(--accent-color);border-left-color:var(--accent-color);font-weight:500}.workspace-tree{margin:0;padding-left:.85rem;list-style:none}.workspace-dir-item{text-align:left;width:100%;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;cursor:pointer;background:0 0;border:none;border-left:2px solid #0000;align-items:center;gap:.3rem;padding:.3rem 1rem;font-family:inherit;font-size:.82rem;font-weight:500;transition:color .15s,background-color .15s;display:flex;overflow:hidden}.workspace-dir-item:hover{background-color:var(--bg-tertiary)}.workspace-caret{width:.8em;color:var(--text-secondary);flex-shrink:0;font-size:.7rem;display:inline-block}.workspace-dir-name{text-overflow:ellipsis;overflow:hidden}.drop-zone-buttons{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.browse-button-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.browse-button-secondary:hover{background-color:var(--accent-color);color:var(--text-on-accent);border-color:var(--accent-color)}.content-main{flex:1;min-width:0;display:flex;overflow:hidden}.content-main .markdown-content{flex:1;min-width:0}.content-main.split-active .markdown-content{border-right:1px solid var(--border-color);flex:1}.split-raw-pane{background-color:var(--bg-secondary);flex:1;min-width:0;overflow-y:auto}.split-raw-content{background-color:#0000;border:none;border-radius:0;height:100%;margin:0;font-size:.85rem}.search-bar{background-color:var(--bg-primary);border-bottom:1px solid var(--border-color);flex-shrink:0;align-items:center;gap:.5rem;padding:.5rem 1rem;display:flex}.search-input{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-secondary);max-width:320px;color:var(--text-primary);outline:none;flex:1;padding:.4rem .75rem;font-size:.9rem;transition:border-color .2s}.search-input:focus{border-color:var(--accent-color)}.search-count{color:var(--text-secondary);text-align:center;min-width:4em;font-size:.8rem}.search-nav-btn{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;color:var(--text-primary);transition:var(--transition);padding:.3rem .6rem;font-size:.9rem}.search-nav-btn:hover{background-color:var(--accent-color);color:var(--text-on-accent);border-color:var(--accent-color)}.search-close-btn{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.2rem .5rem;font-size:1rem;transition:color .15s,background-color .15s}.search-close-btn:hover{color:#e74c3c;background-color:#e74c3c1a}mark.search-highlight{color:inherit;background-color:#ffe082;border-radius:2px;padding:0 1px}[data-theme=dark] mark.search-highlight{color:#fff;background-color:#b8860b}mark.search-highlight-current{color:#fff;background-color:#ff9800;outline:2px solid #e65100}[data-theme=dark] mark.search-highlight-current{color:#fff;background-color:#ff9800}.share-toast{color:#fff;border-radius:var(--radius-lg);z-index:9999;box-shadow:var(--shadow-lg);pointer-events:none;background-color:#323232;padding:.6rem 1.4rem;font-size:.9rem;animation:.2s fadeIn;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}.toast-region{z-index:10000;pointer-events:none;flex-direction:column;align-items:center;gap:.5rem;max-width:min(90vw,32rem);display:flex;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;cursor:pointer;color:#fff;border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-lg);background-color:#323232;border-left:4px solid #0000;padding:.6rem 1.4rem;font-size:.9rem;line-height:1.4;animation:.2s fadeIn}.toast-success{border-left-color:var(--color-success)}.toast-info{border-left-color:var(--color-info)}.toast-warning{border-left-color:var(--color-warning)}.toast-error{border-left-color:var(--color-danger)}.toast-has-action{text-align:left;align-items:center;gap:.75rem;display:inline-flex}.toast-action{color:#fff;border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;background-color:#ffffff26;border:1px solid #fff6;flex-shrink:0;padding:.3rem .7rem;font-size:.85rem;font-weight:600}.toast-action:hover{background-color:#ffffff47}.skip-link{z-index:10001;background-color:var(--accent-color);color:var(--text-on-accent);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:.5rem 1rem;text-decoration:none;transition:top .15s;position:absolute;top:-3rem;left:.5rem}.skip-link:focus{outline-offset:2px;outline:2px solid #fff;top:.5rem}.presentation-overlay{z-index:10002;background-color:var(--bg-primary);outline:none;flex-direction:column;display:flex;position:fixed;inset:0}.presentation-stage{flex:1;justify-content:center;align-items:center;min-height:0;padding:2rem;display:flex}.presentation-stage svg{width:auto;max-width:100%;height:auto;max-height:100%}.presentation-nav{padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-color);background-color:var(--bg-secondary);justify-content:center;align-items:center;gap:1rem;display:flex}.presentation-nav button{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);padding:.4rem .9rem;font-size:1.1rem;line-height:1}.presentation-nav button:hover:not(:disabled){background-color:var(--accent-color);border-color:var(--accent-color);color:var(--text-on-accent)}.presentation-nav button:disabled{opacity:.4;cursor:default}.presentation-counter{text-align:center;min-width:4rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.presentation-close{margin-left:1rem}.command-palette-overlay{z-index:10002;background-color:#0006;justify-content:center;align-items:flex-start;padding-top:12vh;display:flex;position:fixed;inset:0}.command-palette{background-color:var(--bg-primary);width:min(92vw,38rem);max-height:60vh;color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.command-palette-input{color:var(--text-primary);border:none;border-bottom:1px solid var(--border-color);background-color:#0000;outline:none;padding:1rem 1.25rem;font-family:inherit;font-size:1rem}.command-palette-list{margin:0;padding:.25rem;list-style:none;overflow-y:auto}.command-palette-item{border-radius:var(--radius-lg);cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem .85rem;display:flex}.command-palette-item.is-selected{background-color:var(--accent-color);color:var(--text-on-accent)}.command-palette-item-hint{opacity:.7;white-space:nowrap;font-size:.8rem}.command-palette-item.is-selected .command-palette-item-hint{opacity:.9}.command-palette-empty{text-align:center;opacity:.7;padding:.85rem}.shortcuts-overlay{z-index:10002;background-color:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.shortcuts-sheet{background-color:var(--bg-primary);width:min(92vw,26rem);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);outline:none;padding:1.25rem 1.5rem}.shortcuts-title{margin-bottom:.75rem;font-size:1.1rem}.shortcuts-list{margin:0}.shortcuts-row{align-items:center;gap:1rem;padding:.35rem 0;display:flex}.shortcuts-row dt,.shortcuts-row dd{margin:0}.shortcuts-row dt{min-width:4.5rem}.shortcuts-row kbd{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.15rem .5rem;font-family:inherit;font-size:.85rem;display:inline-block}.file-info-overlay{z-index:10002;background-color:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.file-info-sheet{background-color:var(--bg-primary);width:min(92vw,32rem);max-height:85vh;color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);outline:none;padding:1.25rem 1.5rem;overflow-y:auto}.file-info-title{margin-bottom:.75rem;font-size:1.1rem}.file-info-list{margin:0}.file-info-row{border-top:1px solid var(--border-color);grid-template-columns:6.5rem 1fr;align-items:baseline;gap:.75rem;padding:.4rem 0;display:grid}.file-info-row:first-child{border-top:none}.file-info-row dt{color:var(--text-secondary);margin:0;font-size:.85rem}.file-info-row dd{word-break:break-word;overflow-wrap:anywhere;margin:0}.file-info-mono{-webkit-user-select:text;user-select:text;font-family:SFMono-Regular,ui-monospace,Menlo,monospace;font-size:.9rem}.file-info-actions{justify-content:flex-end;margin-top:1rem;display:flex}.file-info-copy{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;padding:.4rem .9rem;font-size:.9rem}.file-info-copy:hover{background-color:var(--bg-secondary)}.ios-native{-webkit-tap-highlight-color:#4a90e22e}.ios-native .app-header{padding:calc(.75rem + env(safe-area-inset-top,0px)) calc(1rem + env(safe-area-inset-right,0px)) .75rem calc(1rem + env(safe-area-inset-left,0px))}.ios-native .version-update,.ios-native .source-link,.ios-native .content-header-actions{display:none}.ios-pad .content-header-actions{display:flex}.ios-pad .source-link{display:inline}.ios-native .tab-bar,.ios-native .markdown-content,.ios-native .split-raw-pane,.ios-native .toc-nav{-webkit-overflow-scrolling:touch}.ios-native .markdown-content{padding-bottom:calc(7rem + env(safe-area-inset-bottom,0px));animation:none}.ios-pad .markdown-content{padding-bottom:2rem}.ios-native .split-raw-pane{padding-bottom:calc(5rem + env(safe-area-inset-bottom,0px))}.ios-pad .split-raw-pane{padding-bottom:0}.ios-native .drop-zone-content,.ios-native .browse-button,.ios-native .sample-button,.ios-native .theme-toggle,.ios-native .diagram-expand,.ios-native .fullscreen-controls button{transition:none}.ios-native .drop-zone-content:hover,.ios-native .browse-button:hover,.ios-native .sample-button:hover,.ios-native .theme-toggle:hover,.ios-native .diagram-expand:hover,.ios-native .fullscreen-controls button:hover{box-shadow:none;transform:none}.ios-native .fullscreen-overlay{-webkit-backdrop-filter:none;backdrop-filter:none}.ios-native .fullscreen-minimap{display:none}.ios-action-bar{z-index:900;padding:.75rem calc(.9rem + env(safe-area-inset-right,0px)) calc(.75rem + env(safe-area-inset-bottom,0px)) calc(.9rem + env(safe-area-inset-left,0px));border-top:1px solid var(--border-color);background:#fffffff5;grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #00000014}[data-theme=dark] .ios-action-bar{background:#1a1a1af5;box-shadow:0 -4px 16px #0000004d}.ios-action-button{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--bg-primary);min-height:52px;color:var(--text-primary);flex-direction:column;justify-content:center;align-items:center;gap:.2rem;font-size:.78rem;font-weight:600;display:flex}.ios-action-button:disabled{opacity:.45}.ios-action-button.active{border-color:var(--accent-color);color:var(--accent-color)}.ios-action-icon{font-size:1rem;line-height:1}.ios-sheet-backdrop{z-index:950;background:#00000047;justify-content:center;align-items:flex-end;padding:1rem;display:none;position:fixed;inset:0}.ios-sheet{background:var(--bg-primary);width:min(100%,540px);max-height:min(75vh,720px);box-shadow:var(--shadow-lg);border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.ios-sheet-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1rem .75rem;display:flex}.ios-sheet-title{font-size:1rem;font-weight:700}.ios-sheet-close{border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);border-radius:var(--radius-pill);width:34px;height:34px;font-size:.95rem}.ios-sheet-actions{gap:.75rem;padding:1rem;display:grid}.ios-sheet-action-button{border:1px solid var(--border-color);border-radius:var(--radius-xl);background:var(--bg-secondary);width:100%;min-height:48px;color:var(--text-primary);text-align:left;padding:.85rem 1rem;font-size:.95rem;font-weight:600}.ios-sheet-action-button.active{border-color:var(--accent-color);color:var(--accent-color);background:var(--bg-primary)}.ios-sheet-action-button:disabled{opacity:.45}.ios-toc-sheet .toc-nav{padding:.5rem 0 1rem}.ios-toc-nav .toc-link{white-space:normal;padding-top:.65rem;padding-bottom:.65rem}.fullscreen-minimap{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:1002;padding:4px;position:absolute;bottom:20px;left:20px;overflow:hidden}.minimap-canvas{border-radius:var(--radius-sm);opacity:.85;display:block}.minimap-viewport{border:2px solid var(--accent-color);pointer-events:none;opacity:.7;background-color:#4a90e21a;border-radius:2px;position:absolute}.annotation-toggle-button.active{color:#fff;background-color:#f39c12;border-color:#e67e22}.annotatable{cursor:pointer;position:relative}.annotatable:hover{background-color:#f39c121f;border-radius:3px;outline:1px dashed #f39c1299}.annotatable.has-annotation{border-left:3px solid #f39c12;padding-left:.5em}.annotation-badge{color:#fff;cursor:pointer;vertical-align:middle;-webkit-user-select:none;user-select:none;background-color:#f39c12;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;margin-left:.4em;font-size:.65rem;font-style:normal;transition:background-color .15s;display:inline-flex}.annotation-badge:hover{background-color:#e67e22}.annotation-badge-orphaned{background-color:#95a5a6;border:1px dashed #ffffffd9}.annotation-badge-orphaned:hover{background-color:#7f8c8d}.annotation-list-context-orphaned{opacity:.75;font-style:italic}.annotation-popover{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);max-width:280px;box-shadow:var(--shadow-md);z-index:500;white-space:pre-wrap;word-break:break-word;padding:.6rem .9rem;font-size:.85rem;position:fixed}.annotation-flash{animation:1.2s annotation-flash}@keyframes annotation-flash{0%{background-color:#f39c1259}to{background-color:#0000}}.annotation-list-count{background-color:var(--accent-color);color:var(--text-on-accent);border-radius:var(--radius-pill);text-align:center;min-width:1.2em;padding:0 .4em;font-size:.7rem;font-weight:600}.annotation-list-toggle-button.active .annotation-list-count{color:var(--accent-color);background-color:#fff}.annotation-panel{background-color:var(--bg-secondary);border-left:1px solid var(--border-color);flex-direction:column;flex-shrink:0;width:280px;min-width:240px;display:flex;overflow:hidden}@media (width<=700px){.annotation-panel{z-index:600;width:100%;max-width:360px;box-shadow:var(--shadow-lg);position:fixed;top:0;bottom:0;right:0}}.annotation-panel-header{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:.6rem .75rem .5rem 1rem;font-size:.75rem;font-weight:600;display:flex}.annotation-panel-close{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:.2rem .35rem;font-size:.9rem;line-height:1}.annotation-panel-close:hover{background-color:var(--bg-tertiary);color:var(--text-primary)}.annotation-list{flex:1;margin:0;padding:.5rem 0;list-style:none;overflow-y:auto}.annotation-list-item{align-items:flex-start;gap:.25rem;padding:.25rem .5rem .25rem .75rem;display:flex}.annotation-list-item:hover{background-color:var(--bg-tertiary)}.annotation-list-jump{text-align:left;border:none;border-left:2px solid var(--accent-color);cursor:pointer;background:0 0;flex-direction:column;flex:1;gap:.1rem;min-width:0;padding:.1rem 0 .1rem .5rem;font-family:inherit;display:flex}.annotation-list-note{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;font-size:.82rem;line-height:1.35}.annotation-list-context{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;overflow:hidden}.annotation-list-edit,.annotation-list-delete{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;padding:.15rem .3rem;font-size:.8rem;line-height:1}.annotation-list-edit:hover{color:var(--accent-color);background-color:var(--bg-primary)}.annotation-list-delete:hover{color:var(--color-danger);background-color:var(--bg-primary)}.annotation-editor-backdrop{z-index:1000;background-color:#0006;justify-content:center;align-items:center;padding:1rem;display:none;position:fixed;inset:0}.annotation-editor{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);flex-direction:column;gap:.75rem;width:min(440px,100%);padding:1rem;display:flex}.annotation-editor-input{resize:vertical;width:100%;color:var(--text-primary);background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.6rem .7rem;font-family:inherit;font-size:.9rem}.annotation-editor-actions{align-items:center;gap:.5rem;display:flex}.annotation-editor-spacer{flex:1}.annotation-editor-actions button{border:1px solid var(--border-color);background-color:var(--bg-tertiary);color:var(--text-primary);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);padding:.45rem 1rem;font-family:inherit;font-size:.9rem}.annotation-editor-save{background-color:var(--accent-color)!important;border-color:var(--accent-color)!important;color:#fff!important}.annotation-editor-save:hover{background-color:var(--accent-hover)!important}.annotation-editor-delete{color:var(--color-danger)!important}.repo-browser-modal{z-index:2000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.repo-browser-content{background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:520px;max-width:95vw;max-height:70vh;box-shadow:var(--shadow-lg);flex-direction:column;display:flex;overflow:hidden}.repo-browser-header{border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;padding:1rem 1.25rem;display:flex}.repo-browser-title{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:600;overflow:hidden}.repo-browser-close{color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;padding:.2rem .4rem;font-size:1rem;transition:color .15s,background-color .15s}.repo-browser-close:hover{color:#e74c3c;background-color:#e74c3c1a}.repo-browser-search{border-bottom:1px solid var(--border-color);flex-shrink:0;padding:.75rem 1.25rem}.repo-browser-filter{border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-secondary);width:100%;color:var(--text-primary);outline:none;padding:.45rem .75rem;font-size:.9rem;transition:border-color .2s}.repo-browser-filter:focus{border-color:var(--accent-color)}.repo-browser-list{flex:1;margin:0;padding:.5rem 0;list-style:none;overflow-y:auto}.repo-browser-item{cursor:pointer;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.875rem;transition:background-color .15s;display:flex}.repo-browser-item:hover{background-color:var(--bg-tertiary);color:var(--accent-color)}.repo-file-icon{flex-shrink:0;font-size:.9rem}.repo-file-path{text-overflow:ellipsis;white-space:nowrap;color:var(--text-primary);font-family:Courier New,Courier,monospace;overflow:hidden}.repo-browser-item:hover .repo-file-path{color:var(--accent-color)}@media (width<=768px){.toc-sidebar{display:none!important}.content-main.split-active{flex-direction:column}.content-main.split-active .markdown-content{border-right:none;border-bottom:1px solid var(--border-color)}.content-header-actions #toc-toggle,.content-header-actions #split-toggle,.content-header-actions #annotation-toggle,.content-header-actions #present-button{display:none}}pre code.hljs{padding:1em;display:block;overflow-x:auto}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}.bookmarks-dialog button{font:inherit;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;border-radius:6px;padding:.5rem .75rem}.bookmarks-dialog button:hover{color:var(--accent-color);border-color:var(--accent-color)}.bookmarks-overlay{z-index:10020;padding:calc(1rem + env(safe-area-inset-top,0px)) calc(1rem + env(safe-area-inset-right,0px)) calc(1rem + env(safe-area-inset-bottom,0px)) calc(1rem + env(safe-area-inset-left,0px));background:#0006;place-items:center;display:grid;position:fixed;inset:0}.bookmarks-dialog{border:1px solid var(--border-color);background:var(--bg-primary);width:min(620px,100%);max-height:85dvh;color:var(--text-primary);border-radius:12px;flex-direction:column;gap:.85rem;padding:1.25rem;display:flex;overflow:auto;box-shadow:0 12px 48px #00000040}.bookmarks-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.bookmarks-heading h2{margin:0;font-size:1.4rem}.bookmarks-help,.bookmark-location{color:var(--text-secondary);margin:0;font-size:.85rem;line-height:1.5}.bookmarks-dialog input{box-sizing:border-box;width:100%;min-width:0;font:inherit;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;padding:.65rem}.bookmarks-dialog :focus-visible{outline:2px solid var(--accent-color);outline-offset:2px}#bookmark-list{margin:0;padding:0;list-style:none}.bookmark-row{border-bottom:1px solid var(--border-color);flex-direction:column;gap:.5rem;padding:1rem 0;display:flex}.bookmarks-dialog .bookmark-open{text-align:left;color:var(--accent-color);overflow-wrap:anywhere;font-weight:600}.bookmark-location{overflow-wrap:anywhere}.bookmark-actions{flex-wrap:wrap;gap:.5rem;font-size:.85rem;display:flex}.bookmark-status{margin:0;font-size:.85rem}.bookmark-status:empty{display:none}.bookmarks-dialog button:disabled{opacity:.6;cursor:wait}@media (width<=600px){.bookmarks-button-label{display:none}.bookmarks-dialog button{min-height:44px}}@media print{.bookmarks-overlay{display:none}}
