.group-block{position:relative;border:1.5px dashed transparent;border-radius:4px;margin:4px 0;padding:18px 0 6px}.group-block:not(.group-editing):hover{border-color:rgba(120,120,200,0.5)}.group-block:not(.group-editing):hover::after{content:"";position:absolute;inset:0;background:var(--sel-color-fill);pointer-events:none;z-index:100}.group-block:not(.group-editing) .group-inner *{pointer-events:none}.group-block.group-selected:not(.group-editing)::after{content:"";position:absolute;inset:0;background:var(--sel-color-fill);pointer-events:none;z-index:100}.group-block.group-selected{border-color:rgba(120,120,200,1);border-style:solid;outline:var(--sel-outline-w) solid var(--sel-color);outline-offset:calc(-1 * var(--sel-outline-w))}.group-block.group-selected .group-block-label{color:rgba(140,140,220,1)}.group-block.group-editing::after{display:none}.group-block.group-editing .group-inner *{pointer-events:auto}.group-block.dragging{pointer-events:none}.group-block-label{display:none}.group-inner{display:flex;flex-direction:column}.section-toolbar{display:none;position:absolute;top:-22px;right:0;height:22px;background:var(--ui-bg-elevated);border:1px solid var(--ui-border-mid);border-radius:3px 3px 0 0;align-items:center;padding:0 4px;gap:2px;z-index:200;transform:scale(var(--ui-scale, 1));transform-origin:bottom right}.section-block.selected .section-toolbar{display:flex}.st-btn{height:18px;padding:0 6px;background:transparent;border:none;border-radius:var(--ui-radius-sm);color:var(--ui-text-muted);font-size:var(--ui-fs-10);cursor:pointer;white-space:nowrap;transition:background 0.15s ease,color 0.15s ease}.st-btn:hover{background:var(--ui-border);color:#fff}.section-memo-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 160ms ease;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.section-memo-backdrop.open{opacity:1}.section-memo-popover{position:relative;width:560px;max-width:calc(100vw - 80px);max-height:calc(100vh - 100px);background:var(--ui-bg-elevated, #1f1f1f);border:1px solid var(--ui-border-mid, #444);border-radius:var(--ui-radius-lg);box-shadow:0 24px 64px rgba(0,0,0,0.6),0 0 0 1px rgba(255,255,255,0.04);z-index:10000;display:flex;flex-direction:column;padding:18px 20px 16px;gap:12px;opacity:0;transform:scale(0.94) translateY(8px);transform-origin:center center;transition:opacity 180ms ease,transform 200ms cubic-bezier(0.16,1,0.3,1)}.section-memo-backdrop.open .section-memo-popover{opacity:1;transform:scale(1) translateY(0)}.smp-head{display:flex;align-items:center;justify-content:space-between;padding:0 2px 4px;border-bottom:1px solid var(--ui-border, #333)}.smp-title{font-size:var(--ui-fs-14);color:var(--ui-text, #eee);font-weight:var(--ui-fw-medium)}.smp-close{background:transparent;border:none;color:var(--ui-text-muted);cursor:pointer;font-size:var(--ui-fs-16);padding:2px 8px;line-height:1;border-radius:4px;transition:background 120ms,color 120ms}.smp-close:hover{color:#fff;background:rgba(255,255,255,0.08)}.smp-textarea{width:100%;box-sizing:border-box;min-height:240px;background:var(--ui-bg-input, #2a2a2a);border:1px solid var(--ui-border, #333);border-radius:6px;padding:10px 12px;font-family:"Pretendard","SF Pro",sans-serif;font-size:var(--ui-fs-13);line-height:1.55;color:var(--ui-text, #eee);resize:vertical}.smp-textarea:focus{outline:1px solid var(--ui-accent-primary, #2d6fe8);border-color:var(--ui-accent-primary, #2d6fe8)}.smp-foot{display:flex;justify-content:space-between;align-items:center;font-size:var(--ui-fs-base);color:var(--ui-text-muted, #777);padding:0 2px}.smp-status{color:var(--ui-accent-primary, #2d6fe8);transition:opacity 160ms}.st-protected-btn{color:var(--ui-text-muted);transition:color 120ms,background 120ms}.st-protected-btn:hover{background:rgba(232,197,71,0.18);color:#ffd966}.st-protected-btn.is-on{color:#e8c547}.st-protected-btn.is-on:hover{color:#ffd966;background:rgba(232,197,71,0.24)}.section-block[data-protected=true]{outline:1px dashed rgba(232,197,71,0.42);outline-offset:-1px}.section-protect-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity 160ms ease;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.section-protect-backdrop.open{opacity:1}.section-protect-popover{position:relative;width:380px;max-width:calc(100vw - 80px);background:var(--ui-bg-elevated, #1f1f1f);border:1px solid var(--ui-border-mid, #444);border-radius:var(--ui-radius-lg);box-shadow:0 24px 64px rgba(0,0,0,0.6),0 0 0 1px rgba(255,255,255,0.04);z-index:10000;display:flex;flex-direction:column;padding:16px 18px 14px;gap:10px;opacity:0;transform:scale(0.94) translateY(8px);transform-origin:center center;transition:opacity 180ms ease,transform 200ms cubic-bezier(0.16,1,0.3,1)}.section-protect-backdrop.open .section-protect-popover{opacity:1;transform:scale(1) translateY(0)}.spp-head{display:flex;align-items:center;justify-content:space-between;padding:0 2px 4px;border-bottom:1px solid var(--ui-border, #333)}.spp-title{font-size:var(--ui-fs-13);color:var(--ui-text, #eee);font-weight:var(--ui-fw-medium)}.spp-close{background:transparent;border:none;color:var(--ui-text-muted);cursor:pointer;font-size:15px;padding:2px 8px;line-height:1;border-radius:4px;transition:background 120ms,color 120ms}.spp-close:hover{color:#fff;background:rgba(255,255,255,0.08)}.spp-row{display:flex;flex-direction:column;gap:6px;padding:2px}.spp-toggle{display:flex;align-items:center;gap:8px;font-size:var(--ui-fs-12);color:var(--ui-text, #eee);cursor:pointer;user-select:none}.spp-toggle input[type=checkbox]{accent-color:#e8c547;width:14px;height:14px;cursor:pointer}.spp-reason-label{font-size:var(--ui-fs-base);color:var(--ui-text-muted, #888)}.spp-reason{width:100%;box-sizing:border-box;min-height:60px;background:var(--ui-bg-input, #2a2a2a);border:1px solid var(--ui-border, #333);border-radius:6px;padding:8px 10px;font-family:"Pretendard","SF Pro",sans-serif;font-size:var(--ui-fs-12);line-height:1.5;color:var(--ui-text, #eee);resize:vertical}.spp-reason:focus{outline:1px solid #e8c547;border-color:#e8c547}.spp-foot{display:flex;justify-content:space-between;align-items:center;font-size:var(--ui-fs-10);color:var(--ui-text-muted, #777);padding:0 2px}.spp-status{color:#e8c547;transition:opacity 160ms}.section-inner{display:flex;flex-direction:column;overflow-x:hidden}.row{position:relative;display:flex;width:100%}.row.row-active{outline:var(--sel-outline-w) solid var(--sel-color);outline-offset:calc(-1 * var(--sel-outline-w))}.row[data-layout=stack]{flex-direction:column}.row[data-layout=flex]{flex-direction:row;gap:12px;align-items:stretch}.row[data-layout=grid]{display:grid;gap:12px}.row:hover::before{content:"";position:absolute;inset:0;pointer-events:none}.text-block{position:relative;z-index:2;cursor:text;outline:2px solid transparent;padding:0;width:100%;word-break:keep-all;overflow-wrap:break-word}.text-block:hover::after{content:"";position:absolute;inset:0;background:var(--sel-color-fill);pointer-events:none;z-index:0}.text-block.selected{outline:var(--sel-outline-w) solid var(--sel-color);outline-offset:calc(-1 * var(--sel-outline-w))}.text-block.editing{outline:1.5px dashed var(--sel-color);background:var(--sel-color-fill)}.text-block [contenteditable]{outline:none;cursor:inherit;caret-color:currentColor;overflow-wrap:break-word;word-break:keep-all}.text-block .tb-h1:empty::before{content:"\c81c\baa9\c744  \c785\b825\d558\c138\c694";color:#ccc;pointer-events:none}.text-block .tb-h2:empty::before{content:"\c18c\c81c\baa9\c744  \c785\b825\d558\c138\c694";color:#ccc;pointer-events:none}.text-block .tb-h3:empty::before{content:"\c18c\d56d\baa9\c744  \c785\b825\d558\c138\c694";color:#ccc;pointer-events:none}.text-block .tb-body:empty::before{content:"\bcf8\bb38\c744  \c785\b825\d558\c138\c694";color:#ccc;pointer-events:none}.text-block .tb-caption:empty::before{content:"\cea1\c158\c744  \c785\b825\d558\c138\c694";color:#ccc;pointer-events:none}.text-block .tb-label:empty::before{content:"Label";color:#ccc;pointer-events:none}.text-block .tb-h1{font-size:104px;font-weight:700;color:var(--preset-h1-color);font-family:var(--preset-h1-family);line-height:1.1;letter-spacing:-0.02em}.text-block .tb-h2{font-size:72px;font-weight:600;color:var(--preset-h2-color);font-family:var(--preset-h2-family);line-height:1.15}.text-block .tb-h3{font-size:52px;font-weight:600;color:var(--preset-h3-color);font-family:var(--preset-h3-family);line-height:1.2}.text-block .tb-body{font-size:36px;color:var(--preset-body-color);font-family:var(--preset-body-family);line-height:1.6}.text-block .tb-caption{font-size:26px;color:var(--preset-caption-color);font-family:var(--preset-body-family);line-height:1.6;letter-spacing:0.01em}.text-block ul.tb-bullet{font-size:36px;color:var(--preset-body-color);font-family:var(--preset-body-family);line-height:1.6;list-style:disc outside;padding-left:1.4em;margin:0}.text-block ul.tb-bullet>li{margin:0;padding:0}.text-block ul.tb-bullet>li:empty::before{content:"\d56d\baa9\c744  \c785\b825\d558\c138\c694";color:#ccc;pointer-events:none}.text-block[data-type=label]{padding-top:0;padding-bottom:0;padding-left:0;padding-right:0}.text-block .tb-label{display:inline-block;background:var(--preset-label-bg);color:var(--preset-label-color);font-size:26px;font-weight:700;padding:11px 36px;border-radius:var(--preset-label-radius);letter-spacing:0.06em}.text-block .tb-label[data-shape=circle],.text-block[data-type=label] .tb-label[style*="border-radius: 50%"]{aspect-ratio:1 / 1;padding:0!important;box-sizing:border-box;min-width:0;flex-shrink:0;line-height:1;display:inline-flex;align-items:center;justify-content:center}@keyframes tb-highlight-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}.text-block[data-highlight=highlight]::after,.text-block[data-highlight=underline]::after{content:"";position:absolute;pointer-events:none;transform-origin:left center;animation:tb-highlight-in 0.65s cubic-bezier(0.4,0,0.2,1) both;background:var(--tb-highlight-color, #ffeb3b);border-radius:3px}.text-block[data-highlight=highlight]::after{inset:0;opacity:0.42;z-index:0}.text-block[data-highlight=underline]::after{left:20px;right:20px;bottom:24px;height:8px;opacity:0.85;z-index:0}.text-block[data-highlight] [contenteditable]{position:relative;z-index:1}.label-group-block{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 0;min-height:60px;width:100%;cursor:default;outline:2px solid transparent;transition:padding-right 0.15s}.label-group-block.selected{padding-right:58px}.label-group-block:hover::after{content:"";position:absolute;inset:0;background:var(--sel-color-fill);pointer-events:none;z-index:0}.label-group-block.selected{outline:var(--sel-outline-w) solid var(--sel-color);outline-offset:calc(-1 * var(--sel-outline-w))}.label-item{display:inline-flex;align-items:center;padding:11px 36px;border-radius:40px;background:#111111;color:#ffffff;font-size:26px;font-weight:700;letter-spacing:0.06em;cursor:pointer;user-select:none;position:relative}.label-item.item-selected{outline:var(--sel-outline-w) solid var(--sel-color);outline-offset:calc(-1 * var(--sel-outline-w))}.label-item-text{outline:none;min-width:20px;white-space:nowrap}.label-item.label-circle{padding:20px;width:100px;height:100px;justify-content:center;flex-direction:column;text-align:center;flex-shrink:0}.label-item.label-circle .label-item-text{white-space:normal;text-align:center}.label-group-add-btn{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1.5px dashed var(--ui-divider);background:none;color:var(--ui-text-muted);font-size:20px;cursor:pointer;opacity:0;transition:opacity 0.15s;pointer-events:none}.label-group-block.selected .label-group-add-btn{opacity:1;pointer-events:auto}.label-group-add-btn:hover{border-color:var(--ui-accent-primary);color:var(--ui-accent-primary)}.label-item-delete-btn{position:absolute;top:-8px;right:-8px;width:18px;height:18px;border-radius:50%;background:#e84040;border:none;color:#fff;font-size:12px;line-height:18px;text-align:center;cursor:pointer;display:none;padding:0}.label-item.item-selected .label-item-delete-btn{display:block}.asset-block{position:relative;width:100%;height:780px;background:repeating-conic-gradient(#d8d8d8 0% 25%,#f0f0f0 0% 50%) 0 0 / 72px 72px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;cursor:pointer;margin-top:0;margin-bottom:0;outline:2px solid transparent;transition:background 0.15s}.asset-block:hover::after{content:"";position:absolute;inset:0;background:var(--sel-color-fill);pointer-events:none;z-index:0}.asset-block.selected{outline:var(--sel-outline-w) solid var(--sel-color);outline-offset:calc(-1 * var(--sel-outline-w))}.asset-block .asset-label{display:none}.asset-block .asset-icon{display:none}.asset-block .asset-sub{font-size:18px;color:#ccc}.asset-size{position:absolute;bottom:24px;right:24px;font-size:18px;color:#ccc;font-variant-numeric:tabular-nums;letter-spacing:0.04em}.asset-overlay{display:none;position:absolute;inset:0;padding:24px 0;background:rgba(0,0,0,0.35);z-index:2;pointer-events:none;flex-direction:column;justify-content:center;gap:8px;overflow:hidden}.asset-block[data-overlay=true] .asset-overlay{display:flex}.asset-overlay .text-block{padding:4px 16px!important}.asset-overlay .text-block[data-type=label]{padding:0 16px!important}.asset-overlay .gap-block{min-height:8px}.asset-overlay .row{width:100%}.asset-block[data-overlay=true] .asset-label{display:none}.overlay-tb,.asset-overlay .gap-block{width:100%;pointer-events:auto;padding:0!important;background:none!important;cursor:pointer}.overlay-tb [contenteditable]{color:#fff;outline:none;text-align:center;white-space:pre-wrap;min-height:1.2em}.overlay-tb [contenteditable]:empty::before{content:"\d14d\c2a4\d2b8  \c785\b825";color:rgba(255,255,255,0.3);pointer-events:none}.overlay-tb.selected,.asset-overlay .label-group-block.selected{outline:1.5px dashed rgba(255,255,255,0.7)!important;outline-offset:0}.asset-overlay .label-group-block{width:100%;pointer-events:auto;padding:0 16px!important;background:none!important}.overlay-tb .tb-h1,.overlay-tb .tb-h2,.overlay-tb .tb-h3,.overlay-tb .tb-body,.overlay-tb .tb-caption,.overlay-tb .tb-label{color:#fff}
