:root{--ed-bg: #f1f5f9;--ed-panel: #ffffff;--ed-border: #e2e8f0;--ed-text: #0f172a;--ed-muted: #64748b;--ed-accent: #0ea5e9}*{box-sizing:border-box}body{margin:0;background:var(--ed-bg);color:var(--ed-text);font-family:system-ui,-apple-system,Segoe UI,sans-serif}.ed-app{height:100vh;display:grid;grid-template-columns:240px 1fr 300px;grid-template-rows:auto 1fr;grid-template-areas:"header header header" "sidebar main inspector"}.ed-header{grid-area:header;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem;background:var(--ed-panel);border-bottom:1px solid var(--ed-border)}.ed-deck-title{min-width:0;width:24rem;max-width:60%;padding:.3rem .5rem;border:1px solid transparent;border-radius:6px;background:none;color:inherit;font:inherit;font-size:1rem;font-weight:600}.ed-deck-title:hover,.ed-deck-title:focus{border-color:var(--ed-border);outline:none}.ed-sidebar{grid-area:sidebar;display:flex;flex-direction:column;min-height:0;background:var(--ed-panel);border-right:1px solid var(--ed-border)}.ed-thumbnails{flex:1;margin:0;padding:1rem;list-style:none;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem}.ed-thumbnail-item{position:relative;touch-action:none}.ed-thumbnail-item[data-dragging]{opacity:.45}.ed-thumbnail-item[data-drop-before]:before,.ed-thumbnail-item[data-drop-after]:after{content:"";position:absolute;left:1.5rem;right:0;height:3px;border-radius:2px;background:var(--ed-accent)}.ed-thumbnail-item[data-drop-before]:before{top:-.45rem}.ed-thumbnail-item[data-drop-after]:after{bottom:-.45rem}.ed-history{display:flex;gap:.25rem}.ed-thumbnail{position:relative;display:block;width:100%;padding:0 0 0 1.5rem;border:none;background:none;cursor:pointer;text-align:left}.ed-thumbnail .pt-stage{width:min(100%,calc(150px * var(--ed-aspect, 1.7778)));border:2px solid var(--ed-border);border-radius:6px}.ed-thumbnail[aria-current=true] .pt-stage{border-color:var(--ed-accent)}.ed-thumbnail-number{position:absolute;left:0;top:0;font-size:.75rem;color:var(--ed-muted)}.ed-add{display:flex;flex-direction:column;gap:.4rem;padding:1rem;border-top:1px solid var(--ed-border)}.ed-add-label{margin:0 0 .25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ed-muted)}.ed-main{grid-area:main;min-width:0;min-height:0;overflow:auto;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.ed-canvas{position:relative;flex-shrink:0;width:min(100%,1100px,calc((100vh - 13rem) * var(--ed-aspect, 1.7778)));box-shadow:0 .5rem 2rem #0f172a1f;border-radius:8px;outline:none;touch-action:none;-webkit-user-select:none;user-select:none}.ed-canvas .pt-stage{border-radius:8px}.ed-overlay{position:absolute;top:0;right:0;bottom:0;left:0}.ed-box{position:absolute;box-sizing:border-box;cursor:move}.ed-box:hover{outline:1px dashed var(--ed-accent)}.ed-box[data-selected]{outline:2px solid var(--ed-accent)}.ed-box[data-linked]:after{content:"Link ↗";position:absolute;top:4px;right:4px;padding:1px 6px;border-radius:999px;background:var(--ed-accent);color:#fff;font:600 10px/1.5 system-ui,sans-serif;pointer-events:none}.ed-handle{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;background:#fff;border:2px solid var(--ed-accent);border-radius:2px;box-sizing:border-box}.ed-handle-nw{left:0;top:0;cursor:nwse-resize}.ed-handle-n{left:50%;top:0;cursor:ns-resize}.ed-handle-ne{left:100%;top:0;cursor:nesw-resize}.ed-handle-e{left:100%;top:50%;cursor:ew-resize}.ed-handle-se{left:100%;top:100%;cursor:nwse-resize}.ed-handle-s{left:50%;top:100%;cursor:ns-resize}.ed-handle-sw{left:0;top:100%;cursor:nesw-resize}.ed-handle-w{left:0;top:50%;cursor:ew-resize}.ed-hint{margin:0;font-size:.8rem;color:var(--ed-muted);text-align:center}.ed-toolbar{display:flex;gap:.5rem}.ed-btn{padding:.45rem .8rem;border:1px solid var(--ed-border);border-radius:6px;background:var(--ed-panel);color:var(--ed-text);font:inherit;font-size:.875rem;text-align:left;cursor:pointer}.ed-btn:hover:not(:disabled){border-color:var(--ed-accent)}.ed-btn:disabled{opacity:.5;cursor:default}.ed-btn-primary{background:var(--ed-accent);border-color:var(--ed-accent);color:#fff}.ed-inline-editor{position:absolute;z-index:3;display:flex;flex-direction:column;min-width:220px;min-height:110px;border:2px solid var(--ed-accent);border-radius:6px;background:#fffffff7;box-shadow:0 .5rem 1.5rem #0f172a40;overflow:hidden}.ed-inline-editor textarea{flex:1;width:100%;min-height:0;padding:.5rem .6rem;border:none;outline:none;resize:none;background:transparent;color:var(--ed-text);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.85rem;line-height:1.45}.ed-inline-hint{padding:.2rem .6rem;border-top:1px solid var(--ed-border);background:var(--ed-bg);color:var(--ed-muted);font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ed-presenter{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;background:#000}.ed-presenter .pt-deck{width:min(100vw,calc(100vh * var(--pt-aspect, 1.7778)));max-width:none;border-radius:0;background:transparent;box-shadow:none}.ed-presenter-close{position:absolute;top:.75rem;right:.75rem;z-index:2;padding:.4rem .75rem;border:none;border-radius:6px;background:#0f172a8c;color:#fff;font:inherit;font-size:.8rem;cursor:pointer;opacity:0;transition:opacity .2s ease}.ed-presenter:has(.pt-controls-active) .ed-presenter-close,.ed-presenter-close:focus-visible{opacity:1}.ed-presenter:not(:has(.pt-controls-active)),.ed-presenter:not(:has(.pt-controls-active)) *{cursor:none}.ed-inspector{grid-area:inspector;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--ed-panel);border-left:1px solid var(--ed-border)}.ed-panel-title{margin:0;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ed-muted)}.ed-panel-title-spaced{margin-top:.75rem;padding-top:1rem;border-top:1px solid var(--ed-border)}.ed-size-summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;font-size:.85rem;font-variant-numeric:tabular-nums}.ed-radius{display:grid;grid-template-columns:1fr 4.5rem auto;align-items:center;gap:.5rem}.ed-radius input[type=range]{width:100%;padding:0;border:none;accent-color:var(--ed-accent)}.ed-field-label{font-size:.75rem;color:var(--ed-muted)}.ed-swatches{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem}.ed-swatch{aspect-ratio:16 / 10;padding:0;border:1px solid var(--ed-border);border-radius:6px;cursor:pointer}.ed-swatch:hover{border-color:var(--ed-accent)}.ed-swatch[aria-pressed=true]{outline:2px solid var(--ed-accent);outline-offset:1px}.ed-button-row{display:flex;flex-wrap:wrap;gap:.4rem}.ed-check{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--ed-text)!important;cursor:pointer}.ed-check input{width:auto!important;margin:0;accent-color:var(--ed-accent)}.ed-color-row{display:grid;grid-template-columns:2.5rem 1fr;gap:.5rem;align-items:center}.ed-color-row input[type=color]{width:2.5rem;height:2rem;padding:.15rem;cursor:pointer}.ed-color-row input[type=color]:disabled{opacity:.4;cursor:default}.ed-hex{font-family:ui-monospace,Cascadia Code,Consolas,monospace!important;text-transform:lowercase}.ed-align-start{align-self:flex-start}.ed-btn-small{padding:.25rem .55rem;font-size:.8rem}.ed-section-title{margin:.5rem 0 0;font-size:.8rem;font-weight:600}.ed-muted{margin:0;font-size:.8rem;color:var(--ed-muted)}.ed-stack-buttons{display:flex;flex-direction:column;gap:.4rem}.ed-field{display:flex;flex-direction:column;gap:.25rem;min-width:0}.ed-field label{font-size:.75rem;color:var(--ed-muted)}.ed-field input,.ed-field select,.ed-field textarea{width:100%;padding:.4rem .5rem;border:1px solid var(--ed-border);border-radius:6px;background:#fff;color:var(--ed-text);font:inherit;font-size:.85rem}.ed-field textarea{resize:vertical;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.8rem;line-height:1.4}.ed-field input:focus,.ed-field select:focus,.ed-field textarea:focus{outline:2px solid var(--ed-accent);outline-offset:-1px;border-color:transparent}.ed-field-row,.ed-box-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.ed-tiles{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.ed-tile-card{display:flex;flex-direction:column;gap:.5rem;padding:.6rem;border:1px solid var(--ed-border);border-radius:8px;background:var(--ed-bg)}.ed-tile-header{display:flex;align-items:center;justify-content:space-between;font-size:.8rem;font-weight:600}.ed-tile-actions{display:flex;gap:.25rem}.ed-icon-btn{width:1.6rem;height:1.6rem;padding:0;border:1px solid var(--ed-border);border-radius:4px;background:var(--ed-panel);color:var(--ed-text);font-size:.75rem;cursor:pointer}.ed-icon-btn:disabled{opacity:.4;cursor:default}.ed-btn-danger{margin-top:.5rem;color:#b91c1c}.ed-btn-danger:hover:not(:disabled){border-color:#b91c1c}.ed-header{position:relative}.ed-share{position:absolute;top:calc(100% + .4rem);right:1rem;z-index:5;width:min(30rem,calc(100vw - 2rem));display:flex;flex-direction:column;gap:.6rem;padding:1rem;background:var(--ed-panel);border:1px solid var(--ed-border);border-radius:10px;box-shadow:0 1rem 2.5rem #0f172a2e}.ed-share-row{display:grid;grid-template-columns:1fr auto auto;gap:.4rem;align-items:center}.ed-share-link,.ed-share-code{width:100%;padding:.4rem .5rem;border:1px solid var(--ed-border);border-radius:6px;background:var(--ed-bg);color:var(--ed-text);font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.78rem}.ed-share-code{resize:none;line-height:1.4}a.ed-btn{text-decoration:none;display:inline-block}.ed-header-start,.ed-header-end{display:flex;align-items:center;gap:.75rem;min-width:0}.ed-header-start{flex:1}.ed-back{flex-shrink:0;color:var(--ed-muted);font-size:.875rem;text-decoration:none}.ed-back:hover{color:var(--ed-accent)}.ed-save{display:inline-flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--ed-muted);white-space:nowrap}.ed-save-error,.ed-save-conflict{color:#b91c1c}.ed-link-btn{padding:0;border:none;background:none;color:var(--ed-accent);font:inherit;text-decoration:underline;cursor:pointer}.ed-list-page{max-width:760px;margin:0 auto;padding:2.5rem 1.25rem}.ed-list-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.5rem}.ed-list-header h1{margin:0;font-size:1.5rem}.ed-deck-list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:.5rem}.ed-deck-card{display:flex;align-items:center;gap:.75rem;padding-right:.75rem;background:var(--ed-panel);border:1px solid var(--ed-border);border-radius:8px}.ed-deck-card:hover{border-color:var(--ed-accent)}.ed-deck-link{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem;padding:.9rem 1rem;color:inherit;text-decoration:none}.ed-deck-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ed-deck-meta{font-size:.8rem;color:var(--ed-muted)}.ed-alert{margin-bottom:1rem;padding:.75rem 1rem;border:1px solid #fecaca;border-radius:8px;background:#fef2f2;color:#b91c1c;font-size:.875rem}.ed-page-message{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:4rem 1.25rem;color:var(--ed-muted);text-align:center}.ed-page-message a{color:var(--ed-accent)}.ed-backlinks{width:100%;max-width:960px;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--ed-border)}.ed-backlinks-title{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--ed-muted)}.ed-count{padding:0 .45rem;border-radius:999px;background:var(--ed-border);color:var(--ed-text);font-size:.7rem;letter-spacing:0}.ed-backlinks-list,.ed-backlinks-list ul{list-style:none;margin:0;padding:0}.ed-backlink{margin-bottom:.6rem;padding:.6rem .75rem;border:1px solid var(--ed-border);border-radius:8px;background:#fff}.ed-backlink button{display:flex;gap:.5rem;align-items:baseline;width:100%;padding:.15rem 0;border:0;background:none;font:inherit;text-align:left;color:inherit;cursor:pointer}.ed-backlink-slide{font-weight:600}.ed-backlink-slide:hover,.ed-backlink-item:hover .ed-backlink-snippet{color:var(--ed-accent)}.ed-backlink-item{padding-left:.9rem!important;font-size:.85rem}.ed-backlink-item:before{content:"↳";color:var(--ed-muted)}.ed-backlink-via{margin-left:auto;font-size:.75rem;color:var(--ed-muted);white-space:nowrap}.ed-graph{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:radial-gradient(circle at 50% 40%,#13213a,#0a1120 70%);color:#e2e8f0}.ed-graph-canvas{display:block;width:100%;height:100%;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.ed-graph-canvas:active{cursor:grabbing}.ed-graph-edge{stroke:#64748b}.ed-graph-edge.is-lit{stroke:#5eead4}.ed-graph-edge.is-dim{opacity:.15}.ed-graph-arrow-plain{fill:#64748b}.ed-graph-arrow-lit{fill:#5eead4}.ed-graph-node{cursor:pointer}.ed-graph-node circle{fill:#2dd4bf;stroke:#0a1120;stroke-width:1.5;transition:r .15s}.ed-graph-node-url circle{fill:#60a5fa}.ed-graph-node.is-current circle{fill:#fbbf24}.ed-graph-node:hover circle{stroke:#fff;stroke-width:2.5}.ed-graph-node.is-dim{opacity:.2}.ed-graph-node text{fill:#cbd5e1;text-anchor:middle;font-family:system-ui,sans-serif;pointer-events:none;paint-order:stroke;stroke:#0a1120;stroke-width:3px}.ed-graph-panel{position:absolute;top:1rem;left:1rem;display:flex;flex-direction:column;gap:.4rem;padding:.9rem 1rem;border:1px solid #1e293b;border-radius:10px;background:#0f172ad9;font-size:.85rem}.ed-graph-panel h2{margin:0;font-size:1rem}.ed-graph-panel p{margin:0 0 .3rem;color:#94a3b8}.ed-graph-legend{display:flex;gap:.8rem;margin-top:.3rem;color:#94a3b8;font-size:.8rem}.ed-graph-dot{display:inline-block;width:.6rem;height:.6rem;margin-right:.25rem;border-radius:50%;vertical-align:-.05rem}.ed-graph-dot-slide{background:#2dd4bf}.ed-graph-dot-url{background:#60a5fa}.ed-graph-dot-current{background:#fbbf24}.ed-graph-close{position:absolute;top:1rem;right:1rem}.ed-graph-hint{position:absolute;bottom:1rem;left:0;right:0;margin:0;text-align:center;font-size:.8rem;color:#64748b;pointer-events:none}
