.studio-body{--sw-panel:#202020;--sw-canvas:#141414;--sw-raised:#2b2b2b;--sw-overlay:#343434;--sw-border:rgba(255,255,255,0.07);--sw-ink:#dadada;--sw-muted:#9e9e9e;--sw-faint:#6a6a6a;--sw-accent:#ff2e88;--sw-accent-soft:rgba(255,46,136,0.16);--sw-danger:#ff6b5a;--sw-link:#e989b6;--sw-gutter:18px;background:var(--sw-canvas);color:var(--sw-ink);color-scheme:dark;font-family:var(--font-geist-sans),system-ui,sans-serif}.studio-body ::selection{background:var(--sw-accent-soft)}.sw-app{display:flex;height:100dvh;flex-direction:column;overflow:hidden}.sw-topbar{display:flex;flex:none;align-items:center;gap:.5rem;padding:.3rem .45rem;background:var(--sw-panel);border-bottom:1px solid var(--sw-border)}.sw-shell{display:flex;flex:1;min-height:0;overflow:hidden}@media (min-width:1024px){.sw-mobile-only.sw-mobile-only{display:none}}.sw-main{flex:1;min-width:0}.sw-main,.sw-sidebar{display:flex;flex-direction:column}.sw-sidebar{position:fixed;inset:0 auto 0 0;z-index:40;width:min(85vw,20rem);background:var(--sw-panel);transform:translateX(-100%);transition:transform .22s ease;border-right:1px solid var(--sw-border);overflow:hidden}.sw-sidebar.open{transform:translateX(0)}.sw-scrim{position:fixed;inset:0;z-index:30;background:rgba(0,0,0,.6)}@media (min-width:1024px){.sw-sidebar{position:static;width:var(--sw-left-w,17.5rem);transform:none;transition:none}.sw-scrim,.sw-sidebar .sw-sidebar-close,.sw-sidebar:not(.open){display:none}}.sw-rightpanel{position:fixed;inset:0 0 0 auto;z-index:40;display:flex;width:min(85vw,22rem);flex-direction:column;background:var(--sw-panel);border-left:1px solid var(--sw-border);transform:translateX(100%);transition:transform .22s ease;overflow:hidden}.sw-rightpanel.open{transform:translateX(0)}@media (min-width:1024px){.sw-rightpanel{position:static;width:var(--sw-right-w,21rem);transform:none;transition:none}.sw-rightpanel .sw-rightpanel-close,.sw-rightpanel:not(.open){display:none}}.sw-resizer{display:none}@media (min-width:1024px){.sw-resizer{display:block;flex:none;width:7px;margin:0 -3px;z-index:10;cursor:col-resize;background:transparent}.sw-resizer.dragging,.sw-resizer:hover{background:var(--sw-accent-soft)}}body.sw-resizing,body.sw-resizing *{cursor:col-resize!important;user-select:none!important}.sw-vault-title{font-family:var(--font-space-grotesk),sans-serif;font-size:1.05rem;font-weight:600;color:var(--sw-ink)}.sw-vault-host{font-family:var(--font-geist-mono),monospace;font-size:.72rem;color:var(--sw-faint);transition:color .18s ease}.sw-vault-host:hover{transition:none;color:var(--sw-accent)}.sw-panel-label{font-size:.78rem;font-weight:600;color:var(--sw-muted)}.sw-tree-head{display:flex;width:100%;align-items:center;gap:.25rem;border-radius:7px;padding:.25rem .35rem;text-align:left;transition:background-color .2s ease}.sw-tree-head:hover{transition:none;background:var(--sw-raised)}.sw-tree-head:hover .sw-panel-label{color:var(--sw-ink)}.sw-tree-caret{flex:none;color:var(--sw-faint);transition:transform .16s ease}.sw-tree-head[aria-expanded=true] .sw-tree-caret{transform:rotate(90deg)}.sw-tree-children{display:flex;flex-direction:column;gap:1px;margin-left:.75rem;padding-left:.9rem;border-left:1px solid var(--sw-border)}.sw-count{font-family:var(--font-geist-mono),monospace;font-size:.68rem;color:var(--sw-faint)}.sw-file-row{display:flex;width:100%;align-items:center;gap:.5rem;border-radius:7px;padding:.4rem .55rem;text-align:left;font-size:.86rem;color:var(--sw-muted);transition:background-color .2s ease,color .2s ease}.sw-file-row:hover{transition:none}.sw-file-row.active,.sw-file-row:hover{background:var(--sw-raised);color:var(--sw-ink)}.sw-filter{width:100%;border-radius:7px;border:1px solid var(--sw-border);background:var(--sw-canvas);padding:.38rem .6rem;font-size:.82rem;color:var(--sw-ink);outline:none}.sw-filter::placeholder{color:var(--sw-faint)}.sw-filter:focus{border-color:var(--sw-faint)}.sw-btn{display:inline-flex;align-items:center;gap:.4rem;border-radius:7px;padding:.36rem .7rem;font-size:.82rem;font-weight:500;color:var(--sw-muted);transition:background-color .2s ease,color .2s ease}.sw-btn:hover{transition:none;background:var(--sw-raised);color:var(--sw-ink)}.sw-btn-accent{background:var(--sw-accent);color:#161616;font-weight:600}.sw-btn-accent:hover{transition:none;background:#ff4d9b;color:#161616}.sw-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;border-radius:7px;color:var(--sw-muted);transition:background-color .2s ease,color .2s ease}.sw-iconbtn:hover{transition:none}.sw-iconbtn.active,.sw-iconbtn:hover{background:var(--sw-raised);color:var(--sw-ink)}.studio-body :is(button,a):focus-visible{outline:2px solid var(--sw-accent);outline-offset:1px;border-radius:7px}.sw-btn:active,.sw-cta:active,.sw-dropzone:active,.sw-iconbtn:active{transform:scale(.97)}.sw-file-item{position:relative;display:flex;align-items:center}.sw-file-dirty{position:absolute;right:.53rem;width:7px;height:7px;border-radius:999px;background:var(--sw-accent);transition:opacity .15s ease}.sw-file-item:hover .sw-file-dirty{opacity:0}.sw-file-close{position:absolute;right:.25rem;display:inline-flex;align-items:center;justify-content:center;width:1.15rem;height:1.15rem;flex:none;border-radius:5px;color:var(--sw-faint);opacity:0;transition:opacity .15s ease,background-color .2s ease,color .2s ease}.sw-file-close:focus-visible,.sw-file-item:hover .sw-file-close{opacity:1}.sw-file-close:hover{background:var(--sw-overlay);color:var(--sw-ink)}.sw-editor{position:relative;display:flex;flex:1;min-height:0;flex-direction:column;background:var(--sw-canvas)}.sw-editor-scroll{flex:1;min-height:0;overflow-y:auto}.sw-doc{margin:0 auto;width:100%;max-width:47rem;padding:1.6rem 1.1rem 40vh}@media (min-width:1024px){.sw-doc{padding:2.4rem 2rem 40vh}}.sw-title-input{width:100%;padding-left:var(--sw-gutter);background:transparent;border:none;outline:none;font-family:var(--font-space-grotesk),sans-serif;font-size:1.65rem;font-weight:600;line-height:1.25;color:var(--sw-ink)}.sw-title-input::placeholder{color:var(--sw-faint)}.sw-props-toggle{display:inline-flex;align-items:center;gap:6px;margin-top:.9rem;margin-bottom:1.4rem;font-size:.78rem;color:var(--sw-faint)}.sw-props-toggle:hover{color:var(--sw-muted)}.sw-props-toggle[aria-expanded=true]{margin-bottom:0}.sw-props{display:flex;flex-direction:column;gap:.15rem;margin-top:.4rem;margin-bottom:1.4rem;padding-left:var(--sw-gutter)}.sw-prop{display:grid;grid-template-columns:6.5rem 1fr;align-items:baseline;gap:.6rem;font-size:.8rem}.sw-prop-label{display:inline-flex;align-items:center;gap:.35rem;color:var(--sw-faint);padding:.22rem 0}.sw-prop-value{min-width:0}.sw-prop-input,.sw-prop-value{color:var(--sw-muted);font-family:var(--font-geist-mono),monospace;font-size:.78rem}.sw-prop-input{width:100%;background:transparent;border:none;outline:none;border-radius:5px;padding:.22rem .35rem;margin-left:-.35rem}.sw-prop-input:focus,.sw-prop-input:hover{background:var(--sw-raised)}.sw-prop-input:focus{color:var(--sw-ink)}.sw-prop-toggle{align-self:flex-start;color:var(--sw-muted);font-family:var(--font-geist-mono),monospace;font-size:.78rem;border-radius:5px;padding:.22rem .35rem;margin-left:-.35rem}.sw-prop-toggle:hover{background:var(--sw-raised);color:var(--sw-ink)}.sw-statusbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--sw-panel);padding:.3rem .8rem;font-family:var(--font-geist-mono),monospace;font-size:.7rem;color:var(--sw-faint)}.sw-statusbar .sw-saved{color:var(--sw-muted)}.sw-statusbar .sw-attention{color:var(--sw-accent)}.sw-cal{padding:.4rem .9rem .7rem}.sw-cal-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem;margin-bottom:.45rem}.sw-cal-month{flex:none;font-family:var(--font-space-grotesk),sans-serif;font-size:1.15rem;font-weight:600;letter-spacing:-.01em;white-space:nowrap;color:var(--sw-ink)}.sw-cal-head .sw-iconbtn{width:1.35rem;height:1.6rem}.sw-cal-head .sw-btn{padding:.3rem;font-size:.76rem}.sw-cal-month .year{color:var(--sw-accent)}.sw-cal-grid{display:grid;grid-template-columns:1.4rem repeat(7,1fr);row-gap:1px;font-family:var(--font-geist-mono),monospace;font-size:.68rem}.sw-cal-dow,.sw-cal-week{display:flex;align-items:center;justify-content:center;padding:.22rem 0;color:var(--sw-faint)}.sw-cal-day{display:flex;flex-direction:column;align-items:center;gap:2px;border-radius:6px;padding:.24rem 0 .18rem;color:var(--sw-muted);transition:background-color .2s ease}.sw-cal-day:hover{transition:none;background:var(--sw-raised);color:var(--sw-ink)}.sw-cal-day.outside{color:var(--sw-faint);opacity:.55}.sw-cal-day.today{background:var(--sw-accent-soft);color:var(--sw-ink);font-weight:700}.sw-cal-dots{display:flex;gap:2px;height:4px}.sw-cal-dots i{width:3.5px;height:3.5px;border-radius:999px;background:var(--sw-faint)}.sw-cal-dots i.published{background:var(--sw-accent)}.sw-cm .cm-editor{background:transparent}.sw-cm .cm-editor.cm-focused{outline:none}.sw-cm .cm-scroller{font-family:var(--font-geist-mono),monospace;font-size:.875rem;line-height:1.75}.sw-cm .cm-content{padding:0;caret-color:var(--sw-accent)}.sw-cm .cm-line{padding:0}.sw-cm .cm-cursor{border-left:2px solid var(--sw-accent)}.sw-cm .cm-editor.cm-focused .cm-selectionBackground,.sw-cm .cm-selectionBackground{background:var(--sw-accent-soft)!important}.sw-wl{color:var(--sw-link);cursor:pointer}.sw-wl-new{color:var(--sw-faint);text-decoration:underline dotted;text-underline-offset:3px}.sw-cm .cm-content{padding-left:var(--sw-gutter)}.sw-ann-dot,.sw-ann-ring{position:absolute;left:3px;width:7px;height:7px;border-radius:999px;margin-top:9px;cursor:pointer;transition:transform .15s ease-out}.sw-ann-ring{border:1.5px solid var(--sw-muted)}.sw-ann-dot:hover,.sw-ann-ring:hover{transform:scale(1.35)}.sw-ann-active{border-radius:2px}.studio-body .cm-tooltip{background:var(--sw-overlay);border:1px solid var(--sw-border);border-radius:8px;overflow:hidden}.studio-body .cm-tooltip.cm-tooltip-autocomplete>ul{font-family:var(--font-geist-sans),sans-serif;font-size:.82rem;max-height:14rem}.studio-body .cm-tooltip.cm-tooltip-autocomplete>ul>li{color:var(--sw-muted);padding:.3rem .6rem}.studio-body .cm-tooltip.cm-tooltip-autocomplete>ul>li[aria-selected]{background:var(--sw-raised);color:var(--sw-ink)}.studio-body .cm-completionDetail{color:var(--sw-faint);font-style:normal;margin-left:.6rem}.studio-body .cm-completionMatchedText{text-decoration:none;color:var(--sw-accent)}.sw-ann-note{width:100%;min-height:12rem;field-sizing:content;background:transparent;border:none;outline:none;resize:none;padding:0;font-size:.9rem;line-height:1.65;color:var(--sw-ink);caret-color:var(--sw-accent)}.sw-ann-note::placeholder{color:var(--sw-faint)}.sw-textbtn{font-size:.875rem;color:var(--sw-faint)}.sw-textbtn:hover{color:var(--sw-ink)}.sw-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;width:6.5rem;aspect-ratio:1;border:1px dashed rgba(255,255,255,.18);border-radius:8px;font-size:.72rem;color:var(--sw-faint);text-align:center;cursor:pointer;transition:border-color .2s ease,color .2s ease}.sw-dropzone:hover{transition:none;border-color:rgba(255,255,255,.34);color:var(--sw-muted)}.sw-dropzone.drag{border-color:var(--sw-accent);color:var(--sw-muted)}.sw-ann-image{position:relative;overflow:hidden;border-radius:8px}.sw-ann-image img{display:block;width:100%;height:auto}.sw-ann-image-remove{position:absolute;top:.4rem;right:.4rem;background:rgba(0,0,0,.55);color:#fff}.sw-ann-image-remove:hover{background:rgba(0,0,0,.75)}.sw-palette-scrim{position:fixed;inset:0;z-index:60;background:rgba(0,0,0,.45)}.sw-palette{position:fixed;top:12vh;left:50%;transform:translateX(-50%);z-index:61;display:flex;width:min(92vw,34rem);flex-direction:column;background:var(--sw-overlay);border:1px solid var(--sw-border);border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.5);overflow:hidden}.sw-palette-input{width:100%;background:transparent;border:none;outline:none;border-bottom:1px solid var(--sw-border);padding:.75rem .95rem;font-size:.92rem;color:var(--sw-ink)}.sw-palette-input::placeholder{color:var(--sw-faint)}.sw-palette-list{max-height:46vh;overflow-y:auto;padding:.35rem}.sw-palette-section{padding:.45rem .65rem .2rem;font-size:.7rem;font-weight:600;color:var(--sw-faint)}.sw-palette-item{display:flex;width:100%;align-items:center;gap:.6rem;border-radius:7px;padding:.45rem .65rem;font-size:.86rem;color:var(--sw-muted);text-align:left}.sw-palette-item.selected{background:var(--sw-raised);color:var(--sw-ink)}.sw-palette-item.disabled{opacity:.45}.sw-palette-hint{margin-left:auto;flex:none;font-family:var(--font-geist-mono),monospace;font-size:.68rem;color:var(--sw-faint)}.sw-menu-scrim{position:fixed;inset:0;z-index:60}.sw-menu{position:fixed;z-index:61;min-width:13rem;padding:.25rem;background:var(--sw-overlay);border:1px solid var(--sw-border);border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.5)}.sw-menu-item{display:flex;width:100%;align-items:center;gap:.6rem;border-radius:7px;padding:.45rem .65rem;font-size:.86rem;color:var(--sw-muted);text-align:left}.sw-menu-item:focus-visible,.sw-menu-item:hover{background:var(--sw-raised);color:var(--sw-ink);outline:none}.sw-palette-empty{padding:.8rem .95rem;font-size:.85rem;color:var(--sw-faint)}.sw-dialog-scrim{position:fixed;inset:0;z-index:70;background:rgba(0,0,0,.55)}.sw-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:71;width:min(92vw,26rem);padding:1.15rem 1.25rem 1rem;background:var(--sw-overlay);border:1px solid var(--sw-border);border-radius:10px;box-shadow:0 18px 50px rgba(0,0,0,.5)}.sw-dialog-title{font-size:.98rem;font-weight:600;line-height:1.35;color:var(--sw-ink)}.sw-dialog-body{margin-top:.4rem;font-size:.86rem;line-height:1.5;color:var(--sw-muted)}.sw-dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.15rem}.sw-dialog-btn{border-radius:7px;padding:.4rem .85rem;font-size:.84rem;font-weight:500;color:var(--sw-muted);transition:background-color .2s ease,color .2s ease}.sw-dialog-btn:hover{transition:none;background:var(--sw-raised);color:var(--sw-ink)}.sw-dialog-btn:focus-visible{outline:2px solid var(--sw-accent);outline-offset:2px}.sw-dialog-btn:active{transform:scale(.97)}.sw-dialog-btn.primary{background:var(--sw-accent);color:#161616;font-weight:600}.sw-dialog-btn.primary:hover{transition:none;background:#ff4d9b;color:#161616}.sw-dialog-btn.danger{background:var(--sw-danger);color:#161616;font-weight:600}.sw-dialog-btn.danger:hover{transition:none;background:#ff8877;color:#161616}.sw-dialog-btn.danger:focus-visible{outline-color:var(--sw-danger)}.studio-body ::-webkit-scrollbar{width:10px;height:10px}.studio-body ::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:999px;border:3px solid transparent;background-clip:content-box}.studio-body ::-webkit-scrollbar-thumb:hover{background-color:rgba(255,255,255,.22)}.studio-body ::-webkit-scrollbar-track{background:transparent}.sw-cta{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border-radius:8px;padding:.55rem 1rem;font-size:.9rem;font-weight:600;background:var(--sw-accent);color:#161616;transition:background-color .2s ease}.sw-cta:hover{transition:none;background:#ff4d9b}.sw-cta:disabled{opacity:.6}.sw-page-input{width:100%;border-radius:7px;border:1px solid var(--sw-border);background:var(--sw-canvas);padding:.55rem .75rem;font-size:.95rem;color:var(--sw-ink);outline:none}.sw-page-input::placeholder{color:var(--sw-faint)}.sw-page-input:focus{border-color:var(--sw-faint)}@media (prefers-reduced-motion:reduce){.sw-sidebar{transition:none}}