:root{font-family:Segoe UI Variable,Helvetica Neue,Arial,sans-serif;color:#f3f4f6;background:#0d0f12;color-scheme:dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #0d0f12;--panel: #16191d;--panel-strong: #13161a;--panel-soft: #1d2127;--panel-border: #2b3038;--panel-border-soft: #20242b;--accent: #ff6a3d;--accent-soft: rgba(255, 106, 61, .16);--text: #f3f4f6;--muted: #9aa3b2;--grid: rgba(255, 255, 255, .035);--shadow: 0 18px 48px rgba(0, 0, 0, .32);--page-glow: rgba(255, 106, 61, .12);--page-top: #121418;--page-bottom: #0d0f12;--button-text-strong: #1a110d;--brand-text: #ffd4c6;--tool-badge-bg: #111419;--tool-badge-border: rgba(255, 255, 255, .06);--hint-bg: rgba(12, 14, 18, .82);--hint-border: rgba(255, 255, 255, .1);--meter-bg: #101318;--meter-fill-start: #ff8a66;--meter-fill-end: #ff6a3d}:root[data-theme=light]{color:#1b222c;background:#eef1f5;color-scheme:light;--bg: #eef1f5;--panel: #ffffff;--panel-strong: #f7f8fa;--panel-soft: #f2f4f7;--panel-border: #d6dce5;--panel-border-soft: #dde3eb;--accent: #ff6a3d;--accent-soft: rgba(255, 106, 61, .12);--text: #1b222c;--muted: #667284;--grid: rgba(22, 27, 34, .06);--shadow: 0 20px 45px rgba(31, 41, 55, .12);--page-glow: rgba(255, 106, 61, .1);--page-top: #f5f7fa;--page-bottom: #e9edf2;--button-text-strong: #ffffff;--brand-text: #ff6a3d;--tool-badge-bg: #ffffff;--tool-badge-border: rgba(27, 34, 44, .08);--hint-bg: rgba(255, 255, 255, .88);--hint-border: rgba(27, 34, 44, .08);--meter-bg: #dde3eb;--meter-fill-start: #ff946f;--meter-fill-end: #ff6a3d}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at top,var(--page-glow),transparent 26%),linear-gradient(180deg,var(--page-top) 0%,var(--page-bottom) 100%);color:var(--text)}button{font:inherit}#root{min-height:100vh}.hidden-file-input{display:none}.app-shell{min-height:100vh;padding:12px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;border:1px solid var(--panel-border-soft);border-radius:12px;background:linear-gradient(180deg,var(--panel),var(--panel-strong));box-shadow:var(--shadow)}.topbar h1,.panel-header h2,.settings-group h3{margin:0}.topbar h1{font-size:1rem;font-weight:650;letter-spacing:.01em}.brand-block{display:flex;align-items:center;gap:12px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(255,106,61,.45);border-radius:10px;background:linear-gradient(180deg,#ff6a3d2e,#ff6a3d14);color:#ffd4c6;font-size:.9rem;font-weight:700}.brand-mark svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.brand-mark-eye{fill:currentColor;stroke:none}.topbar-title p{margin:2px 0 0;color:var(--muted);font-size:.78rem;letter-spacing:.03em;text-transform:uppercase}.topbar-actions,.canvas-status{display:flex;flex-wrap:wrap;gap:8px}.topbar-actions{align-items:center}.topbar-mini-controls{display:inline-flex;align-items:center;gap:6px;margin-right:4px}.theme-switcher{display:inline-flex;align-items:center;gap:4px;padding:3px;border:1px solid var(--panel-border);border-radius:10px;background:linear-gradient(180deg,var(--panel-soft),var(--panel-strong))}.theme-switcher-subtle{padding:2px;border-color:transparent;background:transparent;opacity:.72}.theme-switcher-subtle:hover{opacity:1}.theme-button{min-height:32px;padding:0 12px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);cursor:pointer;font-size:.82rem;font-weight:600}.theme-button-subtle{min-height:24px;padding:0 8px;font-size:.72rem;color:var(--muted)}.theme-button.is-active{background:linear-gradient(180deg,var(--accent),#f25d2f);border-color:#ff6a3d4d;color:var(--button-text-strong)}.primary-button,.secondary-button,.tool-button,.action-icon-button{border-radius:9px;border:1px solid transparent;transition:background-color .12s ease,border-color .12s ease,color .12s ease,transform .12s ease}.primary-button,.secondary-button{padding:8px 11px;cursor:pointer;font-size:.88rem}.primary-button{background:linear-gradient(180deg,#ff7b54,#f25d2f);color:var(--button-text-strong);font-weight:700}.primary-button:hover{transform:translateY(-1px)}.primary-button:disabled,.secondary-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.secondary-button{background:linear-gradient(180deg,var(--panel-soft),var(--panel-strong));color:var(--text);border-color:var(--panel-border)}.secondary-button:hover,.tool-button:hover{border-color:#ff6a3d73}.action-icon-button{position:relative;display:inline-grid;place-items:center;width:36px;height:36px;padding:0;background:linear-gradient(180deg,var(--panel-soft),var(--panel-strong));color:var(--text);border-color:var(--panel-border);cursor:pointer}.action-icon-button:hover,.action-icon-button:focus-visible{border-color:#ff6a3d73;transform:translateY(-1px)}.action-icon-button:disabled{opacity:.42;cursor:default;transform:none}.action-icon-button:disabled:hover,.action-icon-button:disabled:focus-visible{border-color:var(--panel-border);transform:none}.action-icon-button:focus-visible{outline:0}.action-icon-button-primary{background:linear-gradient(180deg,#ff7b54,#f25d2f);color:var(--button-text-strong)}.action-icon{display:inline-grid;place-items:center;width:18px;height:18px}.action-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.action-icon-button:after{content:attr(data-tooltip);position:absolute;top:calc(100% + 8px);left:50%;z-index:5;padding:6px 8px;border:1px solid var(--panel-border);border-radius:8px;background:linear-gradient(180deg,var(--panel-soft),var(--panel-strong));color:var(--text);font-size:.72rem;line-height:1;white-space:nowrap;transform:translate(-50%) translateY(-2px);opacity:0;pointer-events:none;box-shadow:var(--shadow);transition:opacity .12s ease,transform .12s ease}.action-icon-button:hover:after,.action-icon-button:focus-visible:after{opacity:1;transform:translate(-50%) translateY(0)}.action-icon-button:disabled:after{display:none}.ad-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;place-items:center;padding:24px;background:#090b0ead;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.ad-modal{width:min(100%,480px);padding:20px;border:1px solid var(--panel-border-soft);border-radius:18px;background:linear-gradient(180deg,var(--panel),var(--panel-strong));box-shadow:var(--shadow)}.ad-modal h2{margin:10px 0 0;font-size:1.08rem;font-weight:650}.ad-modal-badge{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border:1px solid rgba(255,106,61,.28);border-radius:999px;background:#ff6a3d1f;color:var(--brand-text);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.ad-modal-subtitle{margin:8px 0 0;color:var(--muted);line-height:1.55}.ad-modal-note{margin:14px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}.ad-modal-timer{display:inline-flex;align-items:center;min-height:30px;margin-top:12px;padding:0 10px;border:1px solid var(--panel-border);border-radius:999px;background:linear-gradient(180deg,var(--panel-soft),var(--panel-strong));color:var(--text);font-size:.78rem;font-weight:600}.ad-slot{display:grid;gap:12px;margin-top:16px}.ad-slot-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.ad-slot-header strong{font-size:.92rem;font-weight:650}.ad-slot-header span{color:var(--muted);font-size:.74rem;letter-spacing:.04em;text-transform:uppercase}.ad-embed-shell{min-height:132px;padding:12px;border:1px dashed var(--panel-border);border-radius:14px;background:linear-gradient(180deg,#ffffff05,#fff0)}.ad-embed-shell.is-empty{display:grid;place-items:center}.ad-embed-container{min-height:108px}.ad-embed-placeholder{display:grid;gap:8px;text-align:center}.ad-embed-placeholder strong{font-size:.92rem;font-weight:650}.ad-embed-placeholder span,.ad-slot-note{color:var(--muted);font-size:.78rem;line-height:1.55}.ad-slot-note{margin:0}.ad-card{display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px;margin-top:16px;padding:16px;border:1px solid var(--panel-border-soft);border-radius:14px;background:radial-gradient(circle at top right,rgba(255,106,61,.14),transparent 30%),linear-gradient(180deg,var(--panel-soft),var(--panel-strong))}.ad-card-mark{display:grid;place-items:center;width:72px;height:72px;border:1px solid rgba(255,106,61,.24);border-radius:16px;background:#ff6a3d14;color:var(--brand-text)}.ad-card-mark svg{width:40px;height:40px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.ad-card-copy{display:grid;align-content:center;gap:8px}.ad-card-copy strong{font-size:.98rem;font-weight:650}.ad-card-copy span{color:var(--muted);line-height:1.55}.ad-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.workspace-grid{display:grid;grid-template-columns:var(--tool-panel-width, 148px) var(--tool-resizer-width, 10px) minmax(0,1fr) var(--settings-resizer-width, 10px) var(--settings-panel-width, 220px);gap:6px;min-height:calc(100vh - 84px);margin-top:12px}.page-affiliate-section{display:grid;gap:16px;margin-top:12px;padding:18px;border:1px solid var(--panel-border-soft);border-radius:12px;background:radial-gradient(circle at top right,rgba(255,106,61,.12),transparent 26%),linear-gradient(180deg,var(--panel),var(--panel-strong));box-shadow:var(--shadow)}.page-affiliate-header{display:flex;align-items:flex-start;gap:12px}.page-affiliate-header h2{margin:0;font-size:1rem;font-weight:650}.page-affiliate-header p{margin:6px 0 0;color:var(--muted);font-size:.84rem;line-height:1.5}.page-affiliate-badge{display:inline-flex;align-items:center;justify-content:center;min-width:88px;padding:6px 10px;border:1px solid rgba(255,106,61,.28);border-radius:999px;background:#ff6a3d1f;color:var(--brand-text);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.page-affiliate-section .ad-slot{margin-top:0}.panel,.canvas-panel{min-height:0;border:1px solid var(--panel-border-soft);border-radius:12px;background:linear-gradient(180deg,var(--panel),var(--panel-strong));box-shadow:var(--shadow)}.panel{display:flex;flex-direction:column;padding:12px;overflow:hidden}.panel-header,.panel-footer,.canvas-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}.panel-header span,.panel-footer p,.canvas-toolbar,.settings-row dt{color:var(--muted)}.panel-toggle{display:inline-grid;place-items:center;width:22px;height:22px;padding:0;border:1px solid var(--panel-border);border-radius:7px;background:linear-gradient(180deg,var(--panel-soft),var(--panel-strong));color:var(--muted);cursor:pointer}.panel-toggle:hover{border-color:#ff6a3d73;color:var(--text)}.tool-panel.is-collapsed,.settings-panel.is-collapsed{padding:8px 6px}.tool-panel{container-type:inline-size;container-name:tool-panel}.tool-panel.is-collapsed .panel-header,.settings-panel.is-collapsed .panel-header{justify-content:flex-end}.panel-resizer{position:relative;min-height:0;cursor:col-resize}.panel-resizer:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;transform:translate(-50%);background:linear-gradient(180deg,transparent,var(--panel-border),transparent);transition:background-color .12s ease,width .12s ease}.panel-resizer:hover:before{width:3px;background:linear-gradient(180deg,transparent,rgba(255,106,61,.55),transparent)}.panel-header h2{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase}.panel-header span{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em}.tool-list,.settings-groups{display:grid;gap:10px}.tool-list{margin-top:10px;align-content:start;flex:1}.tool-button{display:flex;align-items:center;gap:10px;justify-content:flex-start;padding:10px;min-height:54px;background:linear-gradient(180deg,var(--panel-soft),var(--panel-strong));color:var(--text);border-color:var(--panel-border);cursor:pointer}.tool-panel .panel-header h2{min-width:0}.tool-button.is-active{background:linear-gradient(180deg,#ff6a3d33,#ff6a3d14);border-color:#ff6a3d8c;box-shadow:inset 0 0 0 1px #ff6a3d24}.tool-badge{display:grid;place-items:center;min-width:34px;height:34px;border-radius:8px;background:var(--tool-badge-bg);border:1px solid var(--tool-badge-border);color:var(--text);font-size:.76rem;font-weight:700}.tool-badge svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.tool-meta{display:grid;gap:2px;min-width:0;text-align:left}.tool-meta strong{font-size:.9rem;font-weight:600;white-space:nowrap}@container tool-panel (max-width: 170px){.tool-button{justify-content:center;padding:10px 8px}.tool-meta{display:none}}@container tool-panel (max-width: 118px){.tool-panel{padding:10px 8px}.tool-panel .panel-header h2{display:none}.tool-panel .panel-header{justify-content:flex-end}.tool-list{gap:8px}.tool-badge{min-width:32px;height:32px}}.canvas-panel{display:flex;flex-direction:column;padding:10px}.canvas-stage{position:relative;flex:1;min-height:720px;margin-top:6px}.canvas-frame{position:relative;height:100%;overflow:hidden;border:1px solid var(--panel-border-soft);border-radius:12px;background:radial-gradient(circle at top,rgba(255,255,255,.02),transparent 30%),linear-gradient(180deg,var(--panel-soft) 0%,var(--panel-strong) 100%)}.canvas-frame.is-interactive{touch-action:none}.canvas-frame.is-interactive.mode-mouse{cursor:grab}.canvas-frame.is-interactive.mode-mouse:active{cursor:grabbing}.canvas-frame.is-interactive.mode-eraser{cursor:crosshair}.canvas-top-strip{position:absolute;top:0;left:0;right:0;z-index:1;display:flex;align-items:center;justify-content:flex-end;padding:10px 14px;background:linear-gradient(180deg,#0a0c0fdb,#0a0c0f00);color:var(--muted);font-size:.76rem;letter-spacing:.03em}:root[data-theme=light] .canvas-top-strip{background:linear-gradient(180deg,#f5f7faeb,#f5f7fa00)}.checkerboard{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(45deg,var(--grid) 25%,transparent 25%),linear-gradient(-45deg,var(--grid) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,var(--grid) 75%),linear-gradient(-45deg,transparent 75%,var(--grid) 75%);background-size:32px 32px;background-position:0 0,0 16px,16px -16px,-16px 0}.image-placeholder{position:relative;display:grid;place-items:center;height:100%;padding:16px}.image-bounds{position:relative;width:100%;height:100%;min-height:0;padding:20px;border:1px solid rgba(255,255,255,.07);border-radius:16px;background:linear-gradient(160deg,#2f3846d1,#11151beb),linear-gradient(180deg,#2a3340,#171c23);box-shadow:0 30px 80px #0000006b,inset 0 1px #ffffff0f;overflow:hidden}:root[data-theme=light] .image-bounds{background:linear-gradient(160deg,#f0f3f7eb,#e0e6edf2),linear-gradient(180deg,#f5f7fa,#e7ebf0);box-shadow:0 24px 60px #1f29371f,inset 0 1px #ffffffa6}.image-bounds.is-empty{display:grid;place-items:center}.image-bounds.has-image{display:flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.viewport-content{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;align-items:center;justify-content:center;transform-origin:center center;will-change:transform}.viewport-content.is-grayscale-preview{filter:grayscale(1)}.image-canvas{display:block;max-width:100%;max-height:100%;width:auto;height:auto;border-radius:10px;box-shadow:0 18px 48px #00000047;-webkit-user-select:none;user-select:none;pointer-events:none}.image-grid{position:absolute;top:0;right:0;bottom:0;left:0;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:56px 56px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.4),transparent 85%);mask-image:linear-gradient(180deg,rgba(0,0,0,.4),transparent 85%)}.empty-state{position:relative;z-index:1;display:grid;justify-items:center;gap:12px;width:min(100%,420px);text-align:center}.empty-state strong{font-size:1.2rem;font-weight:650}.empty-state span{color:var(--muted);line-height:1.6}.empty-state-button{margin-top:6px}.canvas-hint{position:absolute;left:20px;bottom:20px;z-index:2;display:grid;gap:4px;padding:10px 12px;border:1px solid var(--hint-border);border-radius:10px;background:var(--hint-bg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.canvas-hint strong{font-size:.92rem;font-weight:650}.canvas-hint span{color:var(--muted);font-size:.8rem}.canvas-toolbar{padding:2px 4px 0}.canvas-toolbar-compact{display:flex;justify-content:flex-end;padding:0 2px}.canvas-status span{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid var(--panel-border);border-radius:999px;background:linear-gradient(180deg,var(--panel-soft),var(--panel-strong));color:var(--muted);font-size:.76rem}.settings-groups{margin-top:12px}.settings-group{padding:12px;border:1px solid var(--panel-border-soft);border-radius:12px;background:linear-gradient(180deg,var(--panel-soft),var(--panel-strong))}.settings-group h3{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);opacity:.8}.settings-controls{display:grid;gap:12px;margin-top:10px}.field-group{display:grid;gap:8px}.field-label{color:var(--text);font-size:.84rem}.settings-note{margin-top:8px;color:var(--muted);font-size:.74rem}.segmented-control{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.segmented-control-two{grid-template-columns:repeat(2,minmax(0,1fr))}.segmented-button{min-height:30px;padding:0 8px;border:1px solid var(--panel-border);border-radius:8px;background:linear-gradient(180deg,var(--panel-soft),var(--panel-strong));color:var(--muted);cursor:pointer}.segmented-button:hover{border-color:#ff6a3d73;color:var(--text)}.segmented-button.is-active{border-color:#ff6a3d73;background:linear-gradient(180deg,#ff6a3d33,#ff6a3d14);color:var(--text)}.segmented-button:disabled{opacity:.55;cursor:not-allowed}.color-field{display:grid;gap:8px}.color-input-row{display:flex;align-items:center;gap:10px}.color-input{width:36px;height:28px;padding:0;border:1px solid var(--panel-border);border-radius:8px;background:transparent;cursor:pointer}.color-input:disabled{opacity:.55;cursor:not-allowed}.toggle-row,.threshold-control{display:grid;gap:8px}.toggle-row{grid-template-columns:1fr auto;align-items:center;color:var(--text);font-size:.88rem}.toggle-row input[type=checkbox]{height:18px;width:18px;margin:0;accent-color:var(--accent)}.toggle-row input[type=checkbox]:disabled,.threshold-control input:disabled{opacity:.55;cursor:not-allowed}.threshold-control.is-disabled{opacity:.7}.threshold-label-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text)}.threshold-label-row strong{font-size:.82rem}.threshold-control input[type=range]{width:100%;margin:0;accent-color:var(--accent)}.dual-range-labels{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.72rem}.dual-range{position:relative;height:24px}.dual-range-track,.dual-range-active{position:absolute;top:50%;height:4px;border-radius:999px;transform:translateY(-50%)}.dual-range-track{left:0;right:0;background:var(--meter-bg)}.dual-range-active{background:linear-gradient(90deg,var(--meter-fill-start),var(--meter-fill-end))}.dual-range-input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;margin:0;background:transparent;pointer-events:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.dual-range-input::-webkit-slider-runnable-track{height:4px;background:transparent}.dual-range-input::-moz-range-track{height:4px;background:transparent}.dual-range-input::-webkit-slider-thumb{pointer-events:auto;width:16px;height:16px;margin-top:-6px;border:2px solid var(--panel);border-radius:999px;background:var(--accent);box-shadow:0 2px 8px #0000003d;-webkit-appearance:none}.dual-range-input::-moz-range-thumb{pointer-events:auto;width:16px;height:16px;border:2px solid var(--panel);border-radius:999px;background:var(--accent);box-shadow:0 2px 8px #0000003d}@media (max-width: 1080px){.workspace-grid{grid-template-columns:minmax(0,1fr)}.tool-list{grid-template-columns:repeat(2,minmax(0,1fr))}.tool-panel,.settings-panel{grid-column:1 / -1}.panel-resizer{display:none}.canvas-stage{min-height:540px}}@media (max-width: 760px){.app-shell{padding:14px}.page-affiliate-header{flex-direction:column}.topbar{flex-direction:column;align-items:stretch}.workspace-grid{grid-template-columns:1fr;min-height:auto}.canvas-stage{min-height:360px}.image-bounds{min-height:320px}.viewport-content{top:0;right:0;bottom:0;left:0}.brand-block,.topbar-actions{width:100%}.tool-panel,.settings-panel{order:1}}
