*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--color-background)}.radix-themes{--default-font-family:"Tomato Grotesk","Helvetica Neue",Arial,sans-serif;--heading-font-family:"Tomato Grotesk","Helvetica Neue",Arial,sans-serif}.app-header{width:100%;border-bottom:1px solid var(--gray-a5)}.dashboard-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));grid-gap:var(--space-3);gap:var(--space-3);align-items:stretch}.dashboard-gallery>*{display:block}.dash-card{height:100%}.dash-card-link{display:flex;flex-direction:column;height:100%}.dash-card-foot{margin-top:auto}.dash-title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.dash-excerpt{flex:1 1;min-height:3em;overflow:hidden}.canvas-preview-box{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;margin-bottom:var(--space-2);overflow:hidden;border-radius:var(--radius-2);border:1px solid var(--gray-a4);background:var(--gray-3)}.dash-card{position:relative}.dash-card .card-actions{position:absolute;bottom:var(--space-3);right:var(--space-3);z-index:2;opacity:0;transition:opacity .1s ease}.dash-card:focus-within .card-actions,.dash-card:hover .card-actions{opacity:1}.selection-bar{position:fixed;right:24px;bottom:24px;z-index:50;display:flex;flex-direction:column;gap:var(--space-3);min-width:240px;max-width:calc(100vw - 48px);background:var(--color-panel-solid);border:1px solid var(--gray-a6);border-radius:var(--radius-4);padding:var(--space-3) var(--space-4);box-shadow:var(--shadow-5);animation:selection-bar-in .14s ease-out}.selection-bar-actions{display:flex;gap:var(--space-2)}.selection-bar-actions>*{flex:1 1}@keyframes selection-bar-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.editor-shell{position:fixed;inset:0;flex-direction:column;overflow:hidden}.editor-bar,.editor-shell{background:var(--color-background);display:flex}.editor-bar{align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--gray-a5)}.gen-progress{height:2px;width:100%;overflow:hidden;background:var(--gray-a3)}.gen-progress-bar{height:100%;width:30%;border-radius:2px;background:var(--accent-9);animation:gen-slide 1.1s ease-in-out infinite}@keyframes gen-slide{0%{transform:translateX(-100%)}to{transform:translateX(400%)}}.editor-body{flex:1 1;display:flex;min-height:0;overflow:hidden}.editor-scroll{flex:1 1;overflow-y:auto}.history-panel{position:fixed;left:var(--space-4);top:50%;transform:translateY(-50%);z-index:20;width:240px;max-height:min(72vh,560px);overflow-y:auto;background:var(--color-panel-solid);border:1px solid var(--gray-a6);border-radius:var(--radius-4);box-shadow:var(--shadow-4);padding:var(--space-4) var(--space-3)}.history-item{display:flex;flex-direction:column;gap:2px;width:100%;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;padding:var(--space-2);border-radius:var(--radius-2);cursor:pointer}.history-item:hover{background:var(--gray-a3)}.history-label{font-size:13px;font-weight:600;color:var(--gray-12)}.history-meta{font-size:12px;color:var(--gray-11);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor-column{max-width:760px;margin:0 auto;padding:var(--space-8) var(--space-5) var(--space-9)}.editor-title{width:100%;border:none;background:transparent;color:var(--gray-12);font-family:var(--default-font-family);font-size:52px;font-weight:700;line-height:1.1;letter-spacing:-.025em;padding:0;margin-bottom:var(--space-3);resize:none;overflow:hidden;word-break:break-word}.editor-title:focus{outline:none}.editor-excerpt{width:100%;border:none;background:transparent;color:var(--gray-11);font-family:var(--default-font-family);font-size:19px;line-height:1.5;padding:0;margin-bottom:var(--space-6);resize:none;overflow:hidden}.editor-excerpt:focus{outline:none}.ProseMirror{outline:none;font-family:var(--default-font-family);font-size:18px;line-height:1.75;color:var(--gray-12)}.ProseMirror>*+*{margin-top:var(--space-3)}.ProseMirror h2{font-size:28px;font-weight:700;letter-spacing:-.015em;margin-top:var(--space-6)}.ProseMirror h3{font-size:22px;font-weight:700;margin-top:var(--space-5)}.ProseMirror blockquote{border-left:3px solid var(--accent-9);margin-left:0;padding-left:var(--space-4);color:var(--gray-11);font-style:italic}.ProseMirror ol,.ProseMirror ul{padding-left:var(--space-5)}.ProseMirror li>*+*{margin-top:var(--space-2)}.ProseMirror a{color:var(--accent-11);text-decoration:underline;text-underline-offset:2px}.ProseMirror code{background:var(--gray-a3);border-radius:var(--radius-2);padding:1px 6px;font-family:var(--code-font-family,ui-monospace,monospace);font-size:.9em}.ProseMirror p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--gray-a8);pointer-events:none;height:0}[data-tippy-root],[data-tippy-root] .tippy-box,[data-tippy-root] .tippy-content{max-width:none!important}.bubble-toolbar{display:flex;flex-wrap:nowrap;width:max-content;max-width:none;align-items:center;gap:var(--space-1);background:var(--color-panel-solid);border:1px solid var(--gray-a5);border-radius:var(--radius-4);padding:var(--space-1);box-shadow:var(--shadow-5)}.bubble-toolbar button{display:inline-grid;place-items:center;flex:0 0 auto;width:34px;height:34px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--gray-12);border-radius:var(--radius-2);cursor:pointer;transition:background .1s ease,color .1s ease}.bubble-toolbar button:hover{background:var(--gray-a4)}.bubble-toolbar button.active{background:var(--accent-a3);color:var(--accent-11)}.bubble-toolbar button.active:hover{background:var(--accent-a4)}.bubble-toolbar .divider{width:1px;height:22px;background:var(--gray-a5);margin:0 var(--space-1)}.design-left{width:280px;flex:0 0 280px;overflow-y:auto;padding:var(--space-3);border-right:1px solid var(--gray-a5);background:var(--color-background)}.layer-grip{opacity:.5}.layer-grip:hover{opacity:1}.layer-action{opacity:0;pointer-events:none;transition:opacity .1s ease}.layer-action.layer-action--on,.layer-row:focus-within .layer-action,.layer-row:hover .layer-action{opacity:1;pointer-events:auto}.layer-ghost{height:30px;border-radius:6px;border:1.5px dashed var(--accent-8);background:var(--accent-a3);pointer-events:none}.design-stage-area{position:relative;flex:1 1;min-width:0;display:flex}.design-viewport{flex:1 1;min-width:0;display:flex;align-items:safe center;justify-content:safe center;overflow:auto;padding:48px;background:var(--gray-a3)}.design-panel{width:304px;flex:0 0 304px;overflow-y:auto;scrollbar-gutter:stable;padding:var(--space-4);border-left:1px solid var(--gray-a5);background:var(--color-background)}.design-toolbar{left:50%;transform:translateX(-50%);gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--gray-a6);border-radius:var(--radius-5);box-shadow:var(--shadow-5)}.design-toolbar,.design-zoom{position:absolute;bottom:20px;display:flex;align-items:center;background:var(--color-panel-solid);z-index:20}.design-zoom{right:16px;gap:2px;padding:4px 6px;border:1px solid var(--gray-a6);border-radius:var(--radius-4);box-shadow:var(--shadow-4)}.design-zoom-label{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--gray-12);font-size:12px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:42px;padding:4px 6px;border-radius:var(--radius-2);cursor:pointer}.design-zoom-label:hover{background:var(--gray-a3)}.design-zoom-divider{width:1px;height:18px;background:var(--gray-a5);margin:0 2px}.bg-add-tile{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:var(--space-4);min-height:84px;color:var(--accent-11);background:var(--accent-a2);border:1.5px dashed var(--accent-a7);border-radius:var(--radius-4);cursor:pointer;font-size:12px;font-weight:500;transition:background .12s ease,border-color .12s ease}.bg-add-tile:hover{background:var(--accent-a3);border-color:var(--accent-a8)}.bg-asset{position:relative}.bg-asset-del{position:absolute;top:-6px;right:-6px;width:18px;height:18px;display:none;place-items:center;padding:0;border:1px solid var(--gray-a6);border-radius:50%;background:var(--color-panel-solid);color:var(--gray-12);cursor:pointer;box-shadow:var(--shadow-2)}.bg-asset:hover .bg-asset-del{display:grid}@font-face{font-family:Tomato Grotesk;src:url(/brand/fonts/tomato-grotesk-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Tomato Grotesk;src:url(/brand/fonts/tomato-grotesk-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Tomato Grotesk;src:url(/brand/fonts/tomato-grotesk-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Tomato Grotesk;src:url(/brand/fonts/tomato-grotesk-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Tomato Grotesk;src:url(/brand/fonts/tomato-grotesk-900.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Söhne;src:url(/brand/fonts/soehne-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Söhne;src:url(/brand/fonts/soehne-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Söhne;src:url(/brand/fonts/soehne-500.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Söhne;src:url(/brand/fonts/soehne-700.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Söhne;src:url(/brand/fonts/soehne-900.woff2) format("woff2");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Tiempos Text;src:url(/brand/fonts/tiempos-text-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Tiempos Text;src:url(/brand/fonts/tiempos-text-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Tiempos Text;src:url(/brand/fonts/tiempos-text-600.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Söhne Mono;src:url(/brand/fonts/soehne-mono-400.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}.design-grid-overlay{inset:0}.design-grid-overlay,.sel-handle{position:absolute;pointer-events:none}.sel-handle{width:10px;height:10px;background:#fff;border:1.5px solid #6d3ae0;border-radius:2px;box-shadow:0 0 1px rgba(0,0,0,.45);z-index:3}.sel-nw{top:-5px;left:-5px}.sel-ne{top:-5px;right:-5px}.sel-sw{bottom:-5px;left:-5px}.sel-se{bottom:-5px;right:-5px}.pos-cell{display:flex;width:19px;height:19px;padding:3px;border-radius:4px;border:1px solid var(--gray-a5);background:var(--color-panel-solid);cursor:pointer;transition:background .1s ease,border-color .1s ease}.pos-cell:hover{background:var(--gray-a3);border-color:var(--gray-a8)}.pos-cell:active{background:var(--accent-a4);border-color:var(--accent-8)}.pos-dot{width:4px;height:4px;border-radius:1px;background:var(--gray-9)}.pos-cell:hover .pos-dot{background:var(--gray-11)}.pos-cell:active .pos-dot{background:var(--accent-11)}.rotate-handle{position:absolute;top:-26px;left:50%;width:12px;height:12px;transform:translateX(-50%);background:#fff;border:1.5px solid #6d3ae0;border-radius:50%;box-shadow:0 0 1px rgba(0,0,0,.45);cursor:-webkit-grab;cursor:grab;z-index:3}.rotate-handle:active{cursor:-webkit-grabbing;cursor:grabbing}.rotate-handle:after{content:"";position:absolute;top:12px;left:50%;width:1.5px;height:14px;transform:translateX(-50%);background:#6d3ae0}.design-marquee{position:absolute;background:rgba(109,58,224,.12);border:1px solid #6d3ae0;pointer-events:none;z-index:5}.bubble-toolbar button:disabled{opacity:.4;cursor:default}.bubble-toolbar button:disabled:hover{background:transparent}.ttb-size{min-width:34px;text-align:center;font-size:13px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--gray-12)}.ttb-swatch{width:18px;height:18px;border-radius:5px;border:1px solid var(--gray-a6);display:block}.bubble-toolbar button.ttb-wide{display:inline-flex;align-items:center;width:auto;min-width:0;padding:0 8px;font-size:13px;white-space:nowrap}.ttb-weight-opt{display:block;width:100%;text-align:left;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--gray-12);padding:6px 8px;border-radius:var(--radius-2);cursor:pointer;font-size:15px}.ttb-weight-opt:hover{background:var(--gray-a3)}.ttb-weight-opt.active{background:var(--accent-a3);color:var(--accent-11)}.design-rte{height:100%;outline:none;font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;-webkit-text-stroke:inherit}.design-rte p{margin:0}.design-rte h2,.design-rte h3{font-size:inherit;font-weight:inherit;margin:0}.design-rte a{color:inherit;text-decoration:underline;text-underline-offset:2px}