:root{--ink:var(--ec-color-ink);--muted:var(--ec-color-subtle);--blue:var(--ec-color-brand);--line:var(--ec-color-success-soft);--surface:var(--ec-color-surface);--radius:14px;--font:var(--ec-font-ui)}*{box-sizing:border-box}body{background:var(--ec-color-paper);color:var(--ink);font-family:var(--ec-font-ui);font-size:var(--ec-type-small);letter-spacing:-.035em;-webkit-font-smoothing:antialiased;margin:0}button,input,textarea,select{font:inherit;letter-spacing:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit;text-decoration:none}button{color:inherit}button,input,textarea,select{outline:none}button:focus-visible,a:focus-visible{outline:3px solid var(--ec-color-dark-muted);outline-offset:3px}input:focus,textarea:focus,select:focus{box-shadow:0 0 0 3px var(--ec-color-shadow);border-color:var(--ec-color-dark-muted)!important}h1,h2,h3,p{margin:0}h1{font-size:var(--ec-type-h3);letter-spacing:-.065em;font-weight:750;line-height:1.5}h2{font-size:var(--ec-type-h3);letter-spacing:-.05em;font-weight:700}h3{font-size:var(--ec-type-body);font-weight:650}p{color:var(--ec-color-muted);line-height:1.8}svg{vertical-align:middle;flex-shrink:0}.button{border:1px solid var(--ec-color-line);background:var(--ec-color-paper);color:var(--ec-color-dark-line);white-space:nowrap;transition:transform var(--ec-duration-ui) var(--ec-ease-ui), opacity var(--ec-duration-ui) var(--ec-ease-ui);border-radius:8px;justify-content:center;align-items:center;gap:9px;padding:11px 18px;font-weight:550;line-height:1.4;display:inline-flex}.button:hover{background:var(--ec-color-surface);border-color:var(--ec-color-line)}.button.primary{background:var(--blue);border-color:var(--blue);color:var(--ec-color-paper);box-shadow:0 3px 5px var(--ec-color-shadow)}.button.primary:hover{background:var(--ec-color-brand-hover)}.button.dark{background:var(--ec-color-ink);color:var(--ec-color-paper);border-color:var(--ec-color-ink)}.button.large{font-size:var(--ec-type-body);border-radius:9px;padding:17px 25px}.icon-button{background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:inline-flex}.icon-button:hover{background:var(--ec-color-surface-alt)}.text-link{font-size:var(--ec-type-small);align-items:center;gap:9px;font-weight:550;display:inline-flex}.text-link:hover{color:var(--blue)}.eyebrow{font-size:var(--ec-type-caption);letter-spacing:.14em;color:var(--ec-color-muted);margin-bottom:12px;font-weight:700;display:block}.muted{color:var(--muted)}.footnote{font-size:var(--ec-type-caption);margin-top:26px}.mobile-only{display:none}.notice{background:var(--ec-color-brand-soft);border:1px solid var(--ec-color-line);color:var(--ec-color-brand-hover);border-radius:9px;margin:16px 0;padding:16px;line-height:1.75}.notice.error{background:var(--ec-color-danger-soft);border-color:var(--ec-color-warning-soft);color:var(--ec-color-danger)}.notice.small{font-size:var(--ec-type-caption);padding:10px}.notice button{background:0 0;border:0;margin-left:12px;text-decoration:underline}.spinner{border:2px solid var(--ec-color-line);border-top-color:var(--blue);width:24px;height:24px;animation:spin var(--ec-duration-reveal) linear infinite;border-radius:50%;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.center-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100vh;padding:30px;display:flex}.skip-link{z-index:100;background:var(--ec-color-paper);padding:12px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:10px}.brand{white-space:nowrap;font-size:var(--ec-type-h3);letter-spacing:-.08em;align-items:center;gap:10px;font-weight:850;display:inline-flex}.brand small{font-size:var(--ec-type-caption);letter-spacing:.34em;color:var(--ec-color-muted);margin-top:1px;font-weight:600;line-height:1;display:block}.brand.small{font-size:var(--ec-type-h3)}.brand-mark,.editor-brand-mark{flex-shrink:0;width:34px;height:26px;display:flex;position:relative}.brand-mark i,.editor-brand-mark i{border:1.8px solid;border-radius:50%;width:25px;height:25px;position:absolute;top:1px;left:0}.brand-mark i:first-child,.editor-brand-mark i:first-child{background:currentColor}.brand-mark i:last-child,.editor-brand-mark i:last-child{border-color:currentColor;left:10px;box-shadow:-3px 0 #fff}.scene-preview{aspect-ratio:16/9;border-radius:inherit;width:100%;height:auto;display:block;overflow:hidden}.template-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:26px 22px;display:grid}.template-card{text-align:left;background:0 0;border:0;min-width:0;padding:0;display:block}.template-visual{aspect-ratio:16/9;background:var(--ec-color-surface-alt);border:1px solid var(--ec-color-shadow);border-radius:10px;position:relative;overflow:hidden}.template-visual img{object-fit:cover;width:100%;height:100%}.template-info{justify-content:space-between;align-items:center;margin-top:17px;display:flex}.template-info>svg{color:var(--ec-color-muted)}.category-text{font-size:var(--ec-type-caption);color:var(--ec-color-muted);margin-bottom:5px;display:block}.template-info h3{font-size:var(--ec-type-small)}.template-card p{font-size:var(--ec-type-caption);margin-top:6px}.sample-label{font-size:var(--ec-type-caption);color:var(--ec-color-muted);align-items:center;gap:5px;margin-top:10px;display:inline-flex}.template-hover{background:var(--ec-color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:var(--ec-color-paper);opacity:0;transition:transform var(--ec-duration-ui) var(--ec-ease-ui), opacity var(--ec-duration-ui) var(--ec-ease-ui);justify-content:center;align-items:center;gap:10px;font-weight:650;display:flex;position:absolute;inset:0}.template-card:hover .template-hover,.template-card:focus-visible .template-hover{opacity:1}.template-card:hover .template-info h3{color:var(--blue)}.section-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px;display:flex}.section-heading h2{font-size:var(--ec-type-body)}.section-heading p{font-size:var(--ec-type-caption);margin-top:6px}.section-heading .eyebrow{margin-bottom:7px}.count{font-size:var(--ec-type-caption);background:var(--ec-color-surface-alt);color:var(--ec-color-muted);vertical-align:middle;border-radius:5px;margin-left:6px;padding:2px 6px;font-weight:600}.empty-state{text-align:center;color:var(--ec-color-muted);border:1px dashed var(--line);border-radius:12px;padding:65px 20px}.empty-state h3{color:var(--ec-color-muted);margin:17px 0 8px}.empty-state .button{margin-top:20px}.app-shell{background:var(--ec-color-paper);min-height:100vh;display:flex}.sidebar{z-index:30;border-right:1px solid var(--line);background:var(--ec-color-paper);flex-direction:column;width:232px;padding:29px 19px 0;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-top{justify-content:space-between;padding:0 5px;display:flex}.workspace-switch{border:1px solid var(--ec-color-success-soft);font-size:var(--ec-type-caption);border-radius:9px;align-items:center;gap:10px;margin-top:31px;padding:11px 10px;font-weight:600;display:flex}.avatar{background:var(--ec-color-brand-soft);width:32px;height:32px;color:var(--blue);border:1px solid var(--ec-color-line);font-size:var(--ec-type-body);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-weight:650;display:flex}.avatar.neutral{background:var(--ec-color-surface-alt);color:var(--ec-color-muted);border-color:var(--ec-color-line)}.workspace-switch small{font-size:var(--ec-type-caption);color:var(--ec-color-muted);margin-top:4px;font-weight:400;display:block}.tiny-tag{font-size:var(--ec-type-caption);border:1px solid var(--ec-color-line);color:var(--ec-color-muted);letter-spacing:.03em;border-radius:4px;margin-left:auto;padding:3px 4px}.nav-label{font-size:var(--ec-type-caption);letter-spacing:.15em;color:var(--ec-color-muted);padding:30px 12px 13px;font-weight:650}.sidebar nav{flex-direction:column;gap:6px;display:flex}.sidebar nav a{color:var(--ec-color-muted);font-size:var(--ec-type-caption);transition:transform var(--ec-duration-ui) var(--ec-ease-ui), opacity var(--ec-duration-ui) var(--ec-ease-ui);border-radius:7px;align-items:center;gap:12px;padding:12px 13px;display:flex}.sidebar nav a:hover{background:var(--ec-color-surface)}.sidebar nav a.active{color:var(--ec-color-brand);background:var(--ec-color-brand-soft);font-weight:650}.nav-dot{background:var(--ec-color-brand);border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-note{background:var(--ec-color-surface);border:1px solid var(--ec-color-surface-alt);border-radius:10px;margin:44px 4px 20px;padding:20px 15px;position:relative}.note-spark{font-size:var(--ec-type-h3);color:var(--ec-color-brand);margin-bottom:11px;display:block}.sidebar-note strong{font-size:var(--ec-type-small);font-weight:650;line-height:1.7}.sidebar-note p{font-size:var(--ec-type-caption);color:var(--ec-color-muted);margin-top:9px;line-height:1.9}.sidebar-note a{font-size:var(--ec-type-caption);align-items:center;gap:6px;margin-top:20px;font-weight:600;display:flex}.bottom-nav{margin-top:auto;padding-bottom:20px}.sidebar-profile{border-top:1px solid var(--line);font-size:var(--ec-type-caption);align-items:center;gap:10px;padding:20px 3px;display:flex}.sidebar-profile small{font-size:var(--ec-type-caption);color:var(--ec-color-muted);margin-top:4px;display:block}.sidebar-profile>a{color:var(--ec-color-muted);margin-left:auto}.main-shell{flex-direction:column;width:calc(100% - 232px);margin-left:232px;display:flex}.app-topbar{border-bottom:1px solid var(--line);background:var(--ec-color-paper);height:68px;font-size:var(--ec-type-caption);color:var(--ec-color-muted);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 42px;display:flex}.slash{color:var(--ec-color-muted);margin:0 12px}.app-topbar strong{color:var(--ec-color-muted);font-weight:500}.app-topbar>div{font-size:var(--ec-type-caption);align-items:center;gap:7px;display:flex}.status-dot{background:var(--ec-color-dark-muted);border-radius:50%;width:5px;height:5px;display:inline-block}.topbar-link{color:var(--ec-color-muted);align-items:center;gap:7px;margin-left:23px;display:flex}.app-main{width:100%;max-width:1600px;margin:auto auto 0;padding:39px 42px 0}.page-heading{margin-bottom:34px}.page-heading h1{font-size:var(--ec-type-h3);line-height:1.4}.page-heading p{font-size:var(--ec-type-caption);margin-top:11px}.studio-heading{justify-content:space-between;align-items:center;gap:15px;display:flex}.studio-heading .button{font-size:var(--ec-type-caption);padding:11px 15px}.studio-feature-grid{grid-template-columns:2.25fr 1fr;gap:20px;margin-bottom:41px;display:grid}.feature-banner{background:var(--ec-color-brand-soft);border:1px solid var(--ec-color-surface-alt);border-radius:13px;min-height:326px;display:flex;position:relative;overflow:hidden}.feature-copy{z-index:2;width:49%;padding:31px 0 28px 28px;position:relative}.light-label{font-size:var(--ec-type-caption);letter-spacing:.11em;color:var(--ec-color-muted);align-items:center;gap:6px;font-weight:700;display:flex}.light-label>span{background:var(--ec-color-dark-muted);border-radius:50%;width:4px;height:4px}.feature-copy h2{font-size:var(--ec-type-h3);letter-spacing:-.06em;color:var(--ec-color-dark-line);margin-top:23px;font-weight:750;line-height:1.45}.feature-copy p{font-size:var(--ec-type-caption);color:var(--ec-color-muted);margin-top:14px;line-height:1.9}.banner-cta{background:var(--ec-color-paper);border:1px solid var(--ec-color-line);color:var(--ec-color-muted);font-size:var(--ec-type-caption);box-shadow:0 3px 5px var(--ec-color-shadow);border-radius:7px;align-items:center;gap:13px;margin-top:28px;padding:11px 13px;font-weight:650;display:inline-flex}.banner-art{perspective:700px;background:var(--ec-color-surface);width:51%;height:100%;position:absolute;top:0;right:0}.floating-card{width:87%;box-shadow:0 15px 30px var(--ec-color-shadow);border-radius:5px;position:absolute}.floating-card.back{opacity:.92;top:40px;left:22%;transform:rotate(9deg)}.floating-card.front{outline:1px solid var(--ec-color-brand);outline-offset:4px;box-shadow:0 18px 40px var(--ec-color-shadow);top:115px;left:1%;transform:rotate(-7deg)}.selection-corner{background:var(--ec-color-paper);border:1px solid var(--ec-color-brand);width:6px;height:6px;position:absolute}.tl{top:-7px;left:-7px}.tr{top:-7px;right:-7px}.bl{bottom:-7px;left:-7px}.br{bottom:-7px;right:-7px}.cursor-label{color:var(--ec-color-warning);z-index:2;align-items:flex-start;display:flex;position:absolute;bottom:53px;left:49%;transform:rotate(-4deg)}.cursor-label span{background:var(--ec-color-lime);color:var(--ec-color-dark-line);white-space:nowrap;font-size:var(--ec-type-caption);box-shadow:0 4px 10px var(--ec-color-shadow);border-radius:4px;padding:6px 8px;position:relative;top:19px;left:-4px}.art-dimension{font-size:var(--ec-type-caption);color:var(--ec-color-muted);letter-spacing:.09em;position:absolute;bottom:25px;left:18%}.side-tools{flex-direction:column;gap:15px;display:flex}.tool-mini{background:var(--ec-color-paper);border:1px solid var(--ec-color-surface-alt);border-radius:12px;flex:1;padding:17px 19px;display:block}.tool-mini:hover{border-color:var(--ec-color-dark-muted)}.tool-mini.peach{background:var(--ec-color-paper);border-color:var(--ec-color-warning-soft)}.tool-mini-top{color:var(--ec-color-muted);justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.tool-icon{border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.tool-icon.blue{background:var(--ec-color-brand-soft);color:var(--ec-color-brand)}.tool-icon.orange{background:var(--ec-color-warning-soft);color:var(--ec-color-lime)}.tool-mini h3{font-size:var(--ec-type-small);font-weight:650}.tool-mini p{font-size:var(--ec-type-caption);color:var(--ec-color-muted);margin-top:6px}.tool-link{font-size:var(--ec-type-caption);color:var(--ec-color-muted);align-items:center;gap:8px;margin-top:14px;display:flex}.empty-project{border:1px dashed var(--ec-color-line);background:var(--ec-color-paper);border-radius:10px;align-items:center;gap:18px;min-height:110px;padding:24px 29px;display:flex}.empty-icon{background:var(--ec-color-paper);width:46px;height:46px;color:var(--ec-color-muted);border:1px solid var(--ec-color-surface-alt);border-radius:12px;justify-content:center;align-items:center;display:flex}.empty-project h3{font-size:var(--ec-type-small);color:var(--ec-color-muted);font-weight:550}.empty-project p{font-size:var(--ec-type-caption);color:var(--ec-color-muted);margin-top:5px}.empty-project a{font-size:var(--ec-type-caption);color:var(--ec-color-muted);align-items:center;gap:7px;margin-left:auto;display:flex}.starter-section{margin-top:40px}.starter-section .section-heading h2{font-size:var(--ec-type-body)}.starter-section .text-link{font-size:var(--ec-type-caption);color:var(--ec-color-muted)}.studio-tip{border-top:1px solid var(--line);align-items:center;gap:15px;margin-top:35px;padding:22px 0;display:flex}.studio-tip>span{font-size:var(--ec-type-caption);letter-spacing:.08em;color:var(--ec-color-muted);white-space:nowrap;font-weight:700}.studio-tip p{font-size:var(--ec-type-caption);color:var(--ec-color-muted)}.studio-tip a{white-space:nowrap;font-size:var(--ec-type-caption);color:var(--ec-color-muted);margin-left:auto}.app-footer{font-size:var(--ec-type-caption);color:var(--ec-color-muted);gap:16px;margin-top:22px;padding:18px 42px 23px;display:flex}.app-footer a{margin-left:auto}.library-controls{justify-content:space-between;gap:20px;display:flex}.search-box{border:1px solid var(--ec-color-line);background:var(--ec-color-paper);width:440px;max-width:100%;height:46px;color:var(--ec-color-muted);border-radius:8px;align-items:center;gap:12px;padding:0 16px;display:flex}.search-box input{min-width:0;font-size:var(--ec-type-caption);color:var(--ec-color-muted);box-shadow:none;background:0 0;border:0;flex:1;padding:10px 0}.search-box input::placeholder{color:var(--ec-color-muted)}.search-box kbd{border:1px solid var(--ec-color-surface-alt);color:var(--ec-color-muted);border-radius:4px;padding:0 5px}.category-tabs{flex-wrap:wrap;gap:7px;margin:26px 0;display:flex}.category-tabs button{background:var(--ec-color-paper);border:1px solid var(--ec-color-surface-alt);font-size:var(--ec-type-caption);color:var(--ec-color-muted);border-radius:7px;padding:8px 14px}.category-tabs button.selected{background:var(--ec-color-ink);border-color:var(--ec-color-ink);color:var(--ec-color-paper)}.project-card{background:var(--ec-color-paper);border:1px solid var(--ec-color-surface-alt);border-radius:12px;padding:9px;position:relative}.project-card h3{font-size:var(--ec-type-small);margin:13px 7px 5px}.project-card p{font-size:var(--ec-type-caption);align-items:center;gap:3px;margin-left:7px;display:flex}.project-delete{color:var(--ec-color-muted);position:absolute;bottom:9px;right:9px}.delete-confirm{font-size:var(--ec-type-caption);justify-content:space-between;align-items:center;gap:8px;padding:8px;display:flex}.delete-confirm button{background:var(--ec-color-surface);border:0;border-radius:4px;padding:5px 8px}.project-skeleton{background:var(--ec-color-surface);height:112px;animation:shimmer var(--ec-duration-reveal) infinite;background-size:200% 100%;border-radius:10px}.grid-density-control{flex-wrap:wrap;align-items:center;gap:12px;font-size:13px;display:flex}.grid-density-control label{white-space:nowrap;align-items:center;gap:8px;display:flex}.grid-density-control select{background:var(--ec-color-paper);border:1px solid var(--ec-color-line);min-height:42px;color:var(--ec-color-ink);border-radius:8px;padding:9px 12px}.grid-density-control small{color:var(--ec-color-muted);font-size:11px}@keyframes shimmer{to{background-position:-200% 0}}.landing-header{justify-content:space-between;align-items:center;gap:30px;max-width:1440px;margin:auto;padding:27px 60px;display:flex}.landing-header nav,.landing-header>div{font-size:var(--ec-type-caption);color:var(--ec-color-muted);align-items:center;gap:31px;display:flex}.landing-header nav{margin-left:auto;margin-right:50px}.landing-header .button{font-size:var(--ec-type-caption);padding:11px 15px}.landing-hero{text-align:center;background:var(--ec-color-surface);padding:70px 30px 0;overflow:hidden}.hero-overline{font-size:var(--ec-type-caption);letter-spacing:.16em;color:var(--ec-color-subtle);border:1px solid var(--ec-color-surface-alt);background:var(--ec-color-paper);border-radius:25px;align-items:center;gap:9px;padding:9px 16px;font-weight:650;display:inline-flex}.hero-overline>span{background:var(--ec-color-brand);border-radius:50%;width:5px;height:5px}.landing-hero h1{font-size:var(--ec-type-hero);letter-spacing:-.065em;margin-top:26px;font-weight:780;line-height:1.35}.landing-hero h1 span{color:var(--ec-color-brand)}.landing-hero>p{font-size:var(--ec-type-small);color:var(--ec-color-muted);margin-top:25px;line-height:1.9}.hero-actions{justify-content:center;align-items:center;gap:28px;margin-top:30px;display:flex}.hero-actions .text-link{font-size:var(--ec-type-caption);color:var(--ec-color-muted)}.hero-checks{color:var(--ec-color-muted);font-size:var(--ec-type-caption);justify-content:center;gap:24px;margin-top:21px;display:flex}.hero-checks span{align-items:center;gap:5px;display:flex}.hero-workspace{border:1px solid var(--ec-color-line);max-width:1060px;box-shadow:0 0 0 7px var(--ec-color-shadow), 0 28px 100px var(--ec-color-shadow);background:var(--ec-color-paper);text-align:left;border-radius:14px 14px 0 0;margin:56px auto 0;overflow:hidden}.mock-bar{border-bottom:1px solid var(--ec-color-surface-alt);height:44px;font-size:var(--ec-type-caption);color:var(--ec-color-muted);align-items:center;gap:29px;padding:0 17px;display:flex}.traffic{gap:5px;display:flex}.traffic i{background:var(--ec-color-line);border-radius:50%;width:6px;height:6px}.mock-save{font-size:var(--ec-type-caption);color:var(--ec-color-muted);margin-left:auto}.mock-save span{background:var(--ec-color-dark-muted);border-radius:50%;width:4px;height:4px;margin-right:5px;display:inline-block}.hero-editor{min-height:365px;display:flex}.mock-layers{border-right:1px solid var(--ec-color-surface-alt);width:151px;font-size:var(--ec-type-caption);color:var(--ec-color-muted);flex-shrink:0;padding:22px 15px}.mock-layers>span{margin-left:8px}.mock-layers>div{font-size:var(--ec-type-caption);margin-top:8px;padding:10px}.mock-layers>div:first-of-type{margin-top:25px}.mock-layers>div.active{background:var(--ec-color-brand-soft);color:var(--ec-color-brand);border-radius:4px}.hero-canvas{background:var(--ec-color-surface);flex:1;align-items:center;min-width:0;padding:38px 40px;display:flex;position:relative}.hero-canvas .scene-preview{box-shadow:0 5px 20px var(--ec-color-shadow);outline:1px solid var(--ec-color-dark-muted);outline-offset:5px;border-radius:1px}.hero-cursor{color:var(--ec-color-brand);display:flex;position:absolute;bottom:22%;right:14%}.hero-cursor span{background:var(--ec-color-brand);color:var(--ec-color-paper);font-size:var(--ec-type-caption);border-radius:5px;padding:7px 11px;position:relative;top:20px;left:-5px}.mock-properties{border-left:1px solid var(--ec-color-surface-alt);width:151px;font-size:var(--ec-type-caption);color:var(--ec-color-muted);flex-shrink:0;padding:24px 18px}.mock-properties>span{border-bottom:1px solid var(--ec-color-surface-alt);padding-bottom:20px;font-weight:650;display:block}.mock-properties small{color:var(--ec-color-muted);font-size:var(--ec-type-caption);margin:23px 0 10px;display:block}.mock-properties strong{font-size:var(--ec-type-caption)}.mock-properties>div{border:1px solid var(--ec-color-surface-alt);font-size:var(--ec-type-caption);border-radius:4px;padding:7px}.mock-properties i{background:var(--ec-color-lime);vertical-align:middle;border-radius:2px;width:10px;height:10px;margin-right:5px;display:inline-block}.landing-tools{max-width:1200px;margin:auto;padding:95px 50px}.landing-tools h2{font-size:var(--ec-type-h2);letter-spacing:-.06em;line-height:1.5}.landing-tool-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-top:40px;display:grid}.landing-tool-grid>a{border:1px solid var(--ec-color-surface-alt);transition:transform var(--ec-duration-ui) var(--ec-ease-ui), opacity var(--ec-duration-ui) var(--ec-ease-ui);border-radius:12px;padding:27px}.landing-tool-grid>a:hover{border-color:var(--ec-color-line);transform:translateY(-4px)}.landing-tool-grid>a>div{color:var(--ec-color-subtle);justify-content:space-between;align-items:center;margin-bottom:31px;display:flex}.landing-tool-grid>a>div span{font-size:var(--ec-type-caption);color:var(--ec-color-muted)}.landing-tool-grid h3{font-size:var(--ec-type-body)}.landing-tool-grid p{font-size:var(--ec-type-caption);max-width:250px;margin-top:12px;line-height:1.9}.landing-tool-grid>a>svg{color:var(--ec-color-muted);margin-top:28px}.landing-templates{border-top:1px solid var(--line);max-width:1200px;margin:auto;padding:60px 50px 80px}.landing-templates h2{font-size:var(--ec-type-h3)}.landing-templates .section-heading{margin-bottom:32px}.landing-templates .scene-preview{border-radius:10px}.landing-templates h3{font-size:var(--ec-type-small);margin-top:16px}.landing-templates p{font-size:var(--ec-type-caption);margin-top:5px}.landing-cta{background:var(--ec-color-surface);text-align:center;padding:67px 25px 70px}.landing-cta .brand-mark{color:var(--ec-color-muted);margin:auto}.landing-cta .brand-mark i:last-child{box-shadow:-3px 0 0 0 var(--ec-color-surface)}.landing-cta h2{font-size:var(--ec-type-h2);margin:25px 0 28px;line-height:1.5}.landing-cta p{font-size:var(--ec-type-caption);margin-top:17px}.landing-footer{justify-content:space-between;align-items:center;max-width:1200px;margin:auto;padding:40px 50px;display:flex}.landing-footer>div{font-size:var(--ec-type-caption);color:var(--ec-color-muted);gap:25px;display:flex}.landing-footer p{font-size:var(--ec-type-caption);text-align:right;line-height:1.9}.editor-app{background:var(--ec-color-paper);height:100dvh;font-size:var(--ec-type-caption);flex-direction:column;display:flex;overflow:hidden}.editor-header{border-bottom:1px solid var(--ec-color-surface-alt);z-index:10;background:var(--ec-color-paper);flex-shrink:0;align-items:center;gap:17px;height:66px;padding:0 20px;display:flex}.editor-brand-mark{width:26px;margin-left:-8px;transform:scale(.68)}.project-name{width:200px;font-size:var(--ec-type-caption);background:0 0;border:1px solid #0000;border-radius:5px;padding:8px 5px;font-weight:600}.project-name:hover{border-color:var(--ec-color-line)}.save-status{color:var(--ec-color-muted);font-size:var(--ec-type-caption);white-space:nowrap;align-items:center;gap:5px;display:flex}.editor-actions{align-items:center;gap:7px;margin-left:auto;display:flex}.editor-actions .button{font-size:var(--ec-type-caption);padding:10px 14px}.toolbar-separator{background:var(--ec-color-surface-alt);width:1px;height:22px;margin:0 8px}.editor-body{flex:1;min-height:0;display:flex}.editor-rail{border-right:1px solid var(--line);z-index:8;background:var(--ec-color-paper);flex-direction:column;flex-shrink:0;align-items:center;gap:9px;width:66px;padding:14px 6px;display:flex}.rail-button{width:50px;min-height:53px;color:var(--ec-color-muted);font-size:var(--ec-type-caption);cursor:pointer;background:0 0;border:0;border-radius:7px;flex-direction:column;justify-content:center;align-items:center;gap:5px;display:flex}.rail-button:hover{background:var(--ec-color-surface);color:var(--ec-color-brand-hover)}.rail-button.active{background:var(--ec-color-brand-soft);color:var(--ec-color-brand)}.rail-bottom{margin-top:auto}.layers-panel{border-right:1px solid var(--line);background:var(--ec-color-paper);flex-direction:column;flex-shrink:0;width:213px;display:none;overflow-y:auto}.layers-panel.visible{display:flex}.panel-heading{border-bottom:1px solid var(--line);height:54px;font-size:var(--ec-type-caption);flex-shrink:0;align-items:center;gap:8px;padding:0 18px;display:flex}.panel-heading strong{font-weight:650}.panel-heading>span{color:var(--ec-color-muted);font-size:var(--ec-type-caption)}.panel-heading>svg,.panel-heading>button{color:var(--ec-color-muted);margin-left:auto}.artboard-label{color:var(--ec-color-muted);font-size:var(--ec-type-caption);align-items:center;gap:6px;padding:19px 14px;display:flex}.artboard-label small{font-size:var(--ec-type-caption);color:var(--ec-color-muted);margin-left:auto}.layer-list{padding:0 6px}.layer-row{border:1px solid #0000;border-radius:5px;align-items:center;min-height:36px;margin:3px 0;padding-right:4px;display:flex}.layer-row.selected{background:var(--ec-color-brand-soft);border-color:var(--ec-color-brand-soft)}.layer-name{color:var(--ec-color-muted);font-size:var(--ec-type-caption);text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:8px;min-width:0;padding:9px 7px;display:flex}.layer-name span{white-space:nowrap;text-overflow:ellipsis;max-width:105px;overflow:hidden}.layer-row.selected .layer-name{color:var(--ec-color-brand)}.tiny-button{color:var(--ec-color-muted);opacity:0;background:0 0;border:0;align-items:center;padding:4px 3px;display:flex}.layer-row:hover .tiny-button,.layer-row.selected .tiny-button,.tiny-button:focus-visible{opacity:1}.panel-note{color:var(--ec-color-muted);margin:auto 18px 20px;padding-top:50px}.panel-note p{font-size:var(--ec-type-caption);color:var(--ec-color-muted);margin-top:10px}.panel-note>span{font-size:var(--ec-type-caption);color:var(--ec-color-muted);margin-top:15px;display:block}.canvas-workspace{background-color:var(--ec-color-surface-alt);background-image:radial-gradient(var(--ec-color-line) .65px, transparent .65px);background-size:14px 14px;flex:1;justify-content:center;align-items:center;min-width:0;padding:50px 35px 65px;display:flex;position:relative;overflow:auto}.canvas-frame{box-shadow:0 8px 24px var(--ec-color-shadow);background:var(--ec-color-paper);flex-shrink:0;position:relative}.canvas-top-label{font-size:var(--ec-type-caption);color:var(--ec-color-muted);pointer-events:none;justify-content:space-between;display:flex;position:absolute;top:18px;left:24px;right:24px}.canvas-bottom{color:var(--ec-color-muted);font-size:var(--ec-type-caption);align-items:center;gap:20px;display:flex;position:absolute;bottom:20px;left:24px;right:24px}.zoom-control{background:var(--ec-color-paper);border:1px solid var(--ec-color-line);box-shadow:0 2px 4px var(--ec-color-shadow);color:var(--ec-color-muted);border-radius:6px;flex-shrink:0;align-items:center;display:flex}.zoom-control button{width:29px;height:29px;color:var(--ec-color-muted);background:0 0;border:0}.zoom-control span{font-size:var(--ec-type-caption);text-align:center;min-width:37px}.canvas-bottom .button{font-size:var(--ec-type-caption);margin-left:auto;padding:6px 9px}.canvas-bottom .selected{background:var(--ec-color-brand-soft);color:var(--ec-color-brand)}.baseline-overlay{opacity:.5;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.editor-notice{z-index:5;background:var(--ec-color-danger-soft);color:var(--ec-color-warning);border:1px solid var(--ec-color-line);font-size:var(--ec-type-caption);box-shadow:0 4px 15px var(--ec-color-shadow);border-radius:8px;align-items:center;gap:12px;padding:12px 16px;display:flex;position:absolute;top:50px;left:20px;right:20px}.editor-notice button{color:inherit;white-space:nowrap;background:0 0;border:0;margin-left:auto}.canvas-loading{color:var(--ec-color-muted);font-size:var(--ec-type-caption);align-items:center;gap:13px;display:flex;position:absolute}.properties-panel{border-left:1px solid var(--line);background:var(--ec-color-paper);flex-direction:column;flex-shrink:0;width:250px;display:flex;overflow-y:auto}.property-section{border-bottom:1px solid var(--line);padding:19px 17px}.property-label{font-size:var(--ec-type-caption);color:var(--ec-color-muted);justify-content:space-between;align-items:center;margin-bottom:12px;font-weight:550;display:flex}.property-label strong{font-size:var(--ec-type-caption);color:var(--ec-color-muted);font-weight:400}.property-section input:not([type=color]):not([type=range]),.property-section select,.property-section textarea{border:1px solid var(--ec-color-surface-alt);background:var(--ec-color-paper);width:100%;color:var(--ec-color-muted);font-size:var(--ec-type-caption);border-radius:5px;padding:8px}.property-section textarea{resize:vertical;line-height:1.8}.align-tools{justify-content:space-between;gap:7px;margin:16px 0;display:flex}.align-tools button{background:var(--ec-color-paper);border:1px solid var(--ec-color-surface-alt);width:40px;height:30px;color:var(--ec-color-muted);border-radius:5px}.align-tools button:hover{background:var(--ec-color-brand-soft);color:var(--ec-color-brand)}.property-grid{grid-template-columns:1fr 1fr;gap:8px;margin-top:9px;display:grid}.property-grid label{border:1px solid var(--ec-color-surface-alt);font-size:var(--ec-type-caption);color:var(--ec-color-muted);border-radius:5px;align-items:center;gap:5px;min-width:0;padding-left:9px;display:flex}.property-grid label input{width:100%;min-width:0;box-shadow:none!important;border:0!important}.property-section .input-label{font-size:var(--ec-type-caption);color:var(--ec-color-muted);margin-top:14px;display:block}.input-label select{margin-top:7px}.text-align{background:var(--ec-color-surface);border-radius:6px;gap:2px;margin-top:12px;padding:3px;display:flex}.text-align button{color:var(--ec-color-muted);font-size:var(--ec-type-caption);background:0 0;border:0;border-radius:4px;flex:1;padding:5px}.text-align button.selected{background:var(--ec-color-paper);color:var(--ec-color-brand-hover);box-shadow:0 1px 3px var(--ec-color-shadow)}.color-input{border:1px solid var(--ec-color-surface-alt);font-size:var(--ec-type-caption);color:var(--ec-color-muted);border-radius:5px;align-items:center;gap:9px;padding:7px 9px;display:flex}.color-input input{appearance:none;cursor:pointer;background:0 0;border:0;border-radius:3px;width:21px;height:21px;padding:0;overflow:hidden}.color-input input::-webkit-color-swatch-wrapper{padding:0}.color-input input::-webkit-color-swatch{border:0;border-radius:3px}.color-input span:last-child{font-size:var(--ec-type-caption);margin-left:auto}.property-section input[type=range]{width:100%;accent-color:var(--ec-color-brand)}.property-buttons{gap:7px;margin-top:16px;display:flex}.property-buttons .button{font-size:var(--ec-type-caption);flex:1;padding:8px}.select-prompt{text-align:center;color:var(--ec-color-muted);margin:60px 0}.select-prompt h3{font-size:var(--ec-type-caption);color:var(--ec-color-muted);margin-top:15px}.select-prompt p{font-size:var(--ec-type-caption);color:var(--ec-color-muted);margin-top:9px;line-height:1.9}.editor-storage{color:var(--ec-color-muted);font-size:var(--ec-type-caption);gap:9px;margin-top:auto;padding:21px 17px;line-height:1.6;display:flex}.editor-storage p{font-size:var(--ec-type-caption);color:var(--ec-color-muted);margin-top:6px}.editor-footer{background:var(--ec-color-paper);border-top:1px solid var(--ec-color-line);height:28px;font-size:var(--ec-type-caption);color:var(--ec-color-muted);flex-shrink:0;justify-content:space-between;align-items:center;gap:15px;padding:0 20px;display:flex}.editor-footer span{align-items:center;gap:5px;display:flex}.editor-footer b{margin:0 7px;font-weight:400}.editor-footer button{color:var(--ec-color-muted);font-size:var(--ec-type-caption);background:0 0;border:0;align-items:center;gap:5px;display:flex}.import-warnings{font-size:var(--ec-type-caption);color:var(--ec-color-warning);background:var(--ec-color-danger-soft);padding:14px}.import-warnings p{font-size:var(--ec-type-caption);color:var(--ec-color-muted);margin-top:10px}.editor-app .mobile-only{display:none}.auth-page{grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.auth-story{background:var(--ec-color-brand-soft);flex-direction:column;padding:48px 60px;display:flex;position:relative;overflow:hidden}.auth-story h1{font-size:var(--ec-type-h2);color:var(--ec-color-dark-line);margin-top:80px;line-height:1.5}.auth-story p{font-size:var(--ec-type-small);color:var(--ec-color-muted);margin-top:20px}.auth-art{box-shadow:0 25px 50px var(--ec-color-shadow);border-radius:9px;margin:55px 0 50px;overflow:hidden;transform:rotate(-7deg)}.auth-story>small{font-size:var(--ec-type-caption);color:var(--ec-color-muted);margin-top:auto}.auth-form-wrap{flex-direction:column;justify-content:center;align-items:center;padding:50px 25px;display:flex}.auth-form{width:360px;max-width:100%}.auth-form h1{font-size:var(--ec-type-h3)}.auth-form>p{font-size:var(--ec-type-caption);margin-top:10px;margin-bottom:32px}.form-field{font-size:var(--ec-type-caption);color:var(--ec-color-muted);margin-bottom:17px;display:block}.form-field input,.form-field textarea,.form-field select{border:1px solid var(--ec-color-line);background:var(--ec-color-paper);width:100%;color:var(--ec-color-muted);font-size:var(--ec-type-caption);border-radius:7px;margin-top:8px;padding:12px 13px;line-height:1.6;display:block}.auth-form .button{width:100%;margin-top:4px}.auth-links{font-size:var(--ec-type-caption);color:var(--ec-color-muted);justify-content:space-between;margin-top:20px;display:flex}.auth-links button{color:var(--ec-color-subtle);background:0 0;border:0;padding:0}.auth-guest{text-align:center;border-top:1px solid var(--ec-color-surface-alt);color:var(--ec-color-muted);font-size:var(--ec-type-caption);margin-top:38px;padding-top:24px}.tool-page{max-width:860px}.tool-input-card{background:var(--ec-color-paper);border:1px solid var(--ec-color-line);border-radius:13px;padding:28px}.tool-input-card h2{font-size:var(--ec-type-body);margin-bottom:9px}.tool-input-card p{font-size:var(--ec-type-caption)}.input-action{gap:12px;margin-top:24px;display:flex}.input-action input{border:1px solid var(--ec-color-line);min-width:0;font-size:var(--ec-type-caption);border-radius:7px;flex:1;padding:12px 14px}.tool-explainer{border-top:1px solid var(--ec-color-surface-alt);color:var(--ec-color-muted);align-items:flex-start;gap:16px;margin-top:28px;padding-top:22px;display:flex}.tool-explainer h3{font-size:var(--ec-type-small);color:var(--ec-color-muted)}.tool-explainer p{font-size:var(--ec-type-caption);color:var(--ec-color-muted);margin-top:5px}.analysis-result{background:var(--ec-color-paper);border:1px solid var(--ec-color-surface-alt);border-radius:12px;margin-top:25px;padding:24px}.analysis-result>img{border-radius:10px;width:100%;max-width:380px;margin-bottom:20px}.analysis-result h2{font-size:var(--ec-type-body);line-height:1.7}.metric-grid{grid-template-columns:repeat(3,1fr);gap:15px;margin-top:25px;display:grid}.metric{background:var(--ec-color-surface);border:1px solid var(--ec-color-surface-alt);border-radius:9px;padding:20px}.metric span{font-size:var(--ec-type-caption);color:var(--ec-color-muted);display:block}.metric strong{font-size:var(--ec-type-h3);color:var(--ec-color-muted);margin-top:9px;font-weight:650;display:block}.checklist{margin-top:20px}.check-item{border:1px solid var(--ec-color-surface-alt);background:var(--ec-color-paper);cursor:pointer;border-radius:9px;align-items:flex-start;gap:15px;margin:10px 0;padding:22px 20px;display:flex}.check-item input{accent-color:var(--ec-color-brand);width:17px;height:17px;margin-top:4px}.check-item h3{font-size:var(--ec-type-small);color:var(--ec-color-muted)}.check-item p{font-size:var(--ec-type-caption);color:var(--ec-color-muted);margin-top:5px}.check-item.checked{background:var(--ec-color-surface);border-color:var(--ec-color-line)}.progress-track{background:var(--ec-color-surface-alt);border-radius:10px;height:5px;margin-top:20px;overflow:hidden}.progress-track>span{background:var(--ec-color-brand);height:100%;transition:transform var(--ec-duration-ui) var(--ec-ease-ui), opacity var(--ec-duration-ui) var(--ec-ease-ui);display:block}.settings-grid{grid-template-columns:1fr 1fr;gap:22px;max-width:950px;display:grid}.settings-card{border:1px solid var(--ec-color-line);background:var(--ec-color-paper);border-radius:12px;padding:27px}.settings-card h2{font-size:var(--ec-type-body);margin-bottom:13px}.settings-card p{font-size:var(--ec-type-caption);margin-bottom:20px}.settings-card .button{font-size:var(--ec-type-caption)}.badge{border:1px solid var(--ec-color-line);background:var(--ec-color-surface);color:var(--ec-color-muted);font-size:var(--ec-type-caption);border-radius:5px;padding:4px 7px;display:inline-flex}.badge.warning{background:var(--ec-color-warning-soft);border-color:var(--ec-color-warning-soft);color:var(--ec-color-subtle)}.data-table-wrap{border:1px solid var(--ec-color-surface-alt);background:var(--ec-color-paper);border-radius:10px;margin:20px 0 32px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:var(--ec-type-caption);white-space:nowrap}.data-table th{background:var(--ec-color-surface);color:var(--ec-color-muted);font-size:var(--ec-type-caption);text-align:left;border-bottom:1px solid var(--ec-color-surface-alt);padding:13px 17px;font-weight:500}.data-table td{border-bottom:1px solid var(--ec-color-surface-alt);color:var(--ec-color-muted);padding:15px 17px}.data-table tr:last-child td{border-bottom:0}.admin-section{margin-top:30px}.admin-section h2{font-size:var(--ec-type-body)}.funnel{flex-wrap:wrap;gap:10px;margin:24px 0;display:flex}.funnel>div{background:var(--ec-color-paper);border:1px solid var(--ec-color-surface-alt);min-width:110px;color:var(--ec-color-muted);font-size:var(--ec-type-caption);border-radius:9px;flex:1;padding:16px}.funnel strong{font-size:var(--ec-type-h3);color:var(--ec-color-muted);margin-top:10px;display:block}.guide-content{max-width:800px}.guide-content section{border-bottom:1px solid var(--line);padding:28px 0}.guide-content h2{font-size:var(--ec-type-body);margin-bottom:13px}.guide-content p,.guide-content li{font-size:var(--ec-type-small);color:var(--ec-color-muted);line-height:2}.guide-content ol{padding-left:20px}.guide-content a{color:var(--ec-color-brand)}@media (min-width:1550px){.feature-banner{min-height:375px}.feature-copy{padding:40px}.feature-copy h2{font-size:var(--ec-type-h3)}.feature-copy p{font-size:var(--ec-type-caption)}.banner-art{width:50%}.floating-card.front{top:135px}.floating-card.back{top:55px}.app-main{padding-left:55px;padding-right:55px}.template-card p{font-size:var(--ec-type-caption)}.tool-mini h3{font-size:var(--ec-type-body)}.tool-mini p{font-size:var(--ec-type-caption)}}@media (max-width:1190px){.sidebar{width:205px;padding-left:14px;padding-right:14px}.main-shell{width:calc(100% - 205px);margin-left:205px}.app-main{padding:30px 26px 0}.app-topbar{padding:0 26px}.studio-heading h1{font-size:var(--ec-type-h3)}.studio-feature-grid{grid-template-columns:1fr}.feature-banner{min-height:300px}.feature-copy{width:50%}.feature-copy h2{font-size:var(--ec-type-h3)}.banner-art{width:48%}.floating-card{max-width:320px}.floating-card.front{top:88px}.side-tools{flex-direction:row}.tool-mini{padding:16px 19px}.tool-mini-top{float:left;margin:0 15px 0 0}.tool-mini-top>svg{display:none}.tool-mini h3{margin-top:3px}.tool-link{margin-top:8px;margin-left:49px}.properties-panel{width:220px}.layers-panel{width:185px}.project-name{width:150px}.save-status{display:none}.landing-header{padding:25px 35px}.landing-header nav{gap:20px;margin-right:15px}.landing-hero h1{font-size:var(--ec-type-hero)}.mock-properties{width:135px}.mock-layers{width:130px}}@media (max-width:950px){.template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.starter-section .template-card:last-child{display:none}.studio-heading{align-items:flex-start}.studio-heading .button{padding:11px;font-size:0}.studio-heading .button svg{width:20px}.studio-tip p{font-size:var(--ec-type-caption)}.studio-tip a{display:none}.editor-app .mobile-only{display:flex}.properties-panel{z-index:20;box-shadow:-15px 0 30px var(--ec-color-shadow);display:none;position:absolute;top:66px;bottom:28px;right:0}.properties-panel.visible{display:flex}.layers-panel{z-index:20;box-shadow:15px 0 30px var(--ec-color-shadow);position:absolute;top:66px;bottom:28px;left:66px}.canvas-hint{display:none}.editor-header{gap:10px;padding:0 12px}.editor-header .project-name{width:145px}.cloud-save{gap:0!important;font-size:0!important}.editor-actions .button.primary{font-size:var(--ec-type-caption)}.auth-story{padding:40px}.auth-story h1{font-size:var(--ec-type-h3)}.landing-tool-grid{gap:14px}.landing-tool-grid>a{padding:22px}.landing-tool-grid p{font-size:var(--ec-type-caption)}.landing-templates .template-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-hero h1{font-size:var(--ec-type-h2)}.hero-workspace{margin-top:45px}.hero-editor{min-height:280px}.hero-canvas{padding:30px}.mock-layers,.mock-properties{width:105px;padding:18px 9px}.mock-properties strong{font-size:var(--ec-type-caption)}.landing-tools{padding-top:70px}.app-main{margin-top:0}.settings-grid{grid-template-columns:1fr}}@media (max-width:720px){.mobile-only{display:inline-flex}.sidebar{width:230px;transition:transform var(--ec-duration-ui) var(--ec-ease-ui), opacity var(--ec-duration-ui) var(--ec-ease-ui);transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.sidebar-backdrop{background:var(--ec-color-shadow);z-index:25;border:0;position:fixed;inset:0}.main-shell{width:100%;margin-left:0}.app-topbar{height:58px;font-size:var(--ec-type-caption);justify-content:flex-start;gap:9px;padding:0 18px}.app-topbar>div{font-size:var(--ec-type-caption);margin-left:auto}.topbar-link{display:none}.app-main{padding:27px 20px 0}.page-heading{margin-bottom:26px}.page-heading h1{font-size:var(--ec-type-h3)}.page-heading p{font-size:var(--ec-type-caption);line-height:1.9}.page-heading .eyebrow{font-size:var(--ec-type-caption)}.studio-heading h1{font-size:var(--ec-type-h3)}.studio-feature-grid{gap:13px;margin-bottom:30px}.feature-banner{min-height:275px}.feature-copy{width:60%;padding:24px 0 24px 23px}.feature-copy h2{font-size:var(--ec-type-h3)}.feature-copy p,.light-label{font-size:var(--ec-type-caption)}.banner-cta{font-size:var(--ec-type-caption);margin-top:23px;padding:10px}.banner-art{width:40%}.floating-card{width:170%}.floating-card.back{top:58px;left:12%;transform:rotate(13deg)}.floating-card.front{width:150%;top:125px;left:0;transform:rotate(-9deg)}.cursor-label{bottom:42px;left:17%}.cursor-label span{font-size:var(--ec-type-caption)}.art-dimension{font-size:var(--ec-type-caption);left:15%}.tool-mini{border-radius:10px;padding:15px 12px}.tool-mini-top{float:none;margin-bottom:13px}.tool-mini-top .tool-icon{width:30px;height:30px}.tool-mini h3{font-size:var(--ec-type-caption)}.tool-mini p{font-size:var(--ec-type-caption);line-height:1.8}.tool-link{font-size:var(--ec-type-caption);margin-top:12px;margin-left:0}.side-tools{gap:12px}.section-heading h2{font-size:var(--ec-type-body)}.section-heading p,.section-heading .text-link{font-size:var(--ec-type-caption)}.empty-project{flex-wrap:wrap;gap:12px;padding:22px 18px}.empty-project h3,.empty-project p{font-size:var(--ec-type-caption)}.empty-icon{width:38px;height:38px}.empty-project a{font-size:var(--ec-type-caption);margin-left:50px}.starter-section{margin-top:30px}.starter-section .section-heading h2{font-size:var(--ec-type-body)}.starter-section .section-heading .text-link{display:none}.template-grid{gap:23px 14px}.template-info{margin-top:12px}.template-info h3{font-size:var(--ec-type-caption)}.template-info>svg{width:15px}.category-text,.template-card p{font-size:var(--ec-type-caption)}.sample-label{font-size:var(--ec-type-caption);gap:3px}.studio-tip{gap:10px;margin-top:26px;padding:17px 0}.studio-tip>span,.studio-tip p{font-size:var(--ec-type-caption)}.app-footer{font-size:var(--ec-type-caption);gap:10px;margin-top:0;padding:15px 20px}.app-footer span{display:none}.library-controls{gap:10px}.library-controls>.button{font-size:var(--ec-type-caption);padding:10px}.search-box{gap:8px;height:42px;padding:0 10px}.search-box input{font-size:var(--ec-type-caption)}.search-box kbd{display:none}.category-tabs{gap:6px;margin:20px 0}.category-tabs button{font-size:var(--ec-type-caption);padding:7px 11px}.landing-header{padding:22px 20px}.landing-header .brand{font-size:var(--ec-type-h3)}.landing-header nav{display:none}.landing-header>div{gap:13px}.landing-header .login-link{font-size:var(--ec-type-caption)}.landing-header .button{font-size:var(--ec-type-caption);padding:9px 10px}.landing-header .button svg{width:12px}.landing-hero{padding:44px 20px 0}.hero-overline{font-size:var(--ec-type-caption);padding:8px 12px}.landing-hero h1{font-size:var(--ec-type-h2);letter-spacing:-.07em;margin-top:25px;line-height:1.45}.landing-hero>p{font-size:var(--ec-type-caption);margin-top:20px;line-height:1.9}.hero-actions{gap:18px;margin-top:26px}.hero-actions .button{font-size:var(--ec-type-caption);padding:13px 17px}.hero-actions .text-link{font-size:var(--ec-type-caption);gap:5px}.hero-checks{font-size:var(--ec-type-caption);gap:12px;margin-top:20px}.hero-checks svg{width:11px}.hero-workspace{border-radius:9px 9px 0 0;margin-top:37px;margin-left:-5px;margin-right:-5px}.mock-bar{height:32px;font-size:var(--ec-type-caption);gap:12px;padding:0 10px}.mock-save{display:none}.traffic{gap:3px}.traffic i{width:4px;height:4px}.hero-editor{min-height:0}.mock-layers{width:68px;font-size:var(--ec-type-caption);padding:14px 5px}.mock-layers>svg{width:12px}.mock-layers>span{font-size:var(--ec-type-caption);margin-left:4px}.mock-layers>div{font-size:var(--ec-type-caption);padding:7px 4px}.mock-layers>div:first-of-type{margin-top:14px}.mock-properties{display:none}.hero-canvas{padding:24px 20px}.hero-cursor{bottom:20%;right:10%}.hero-cursor>svg{width:20px}.hero-cursor>span{font-size:var(--ec-type-caption);padding:5px 7px;top:18px}.landing-tools{padding:56px 25px}.landing-tools h2{font-size:var(--ec-type-h3)}.landing-tool-grid{grid-template-columns:1fr;gap:13px;margin-top:28px}.landing-tool-grid>a{padding:23px;position:relative}.landing-tool-grid>a>div{margin-bottom:16px}.landing-tool-grid h3{font-size:var(--ec-type-body)}.landing-tool-grid p{font-size:var(--ec-type-caption);max-width:80%;margin-top:9px}.landing-tool-grid>a>svg{width:18px;position:absolute;bottom:25px;right:25px}.landing-templates{padding:35px 25px 45px}.landing-templates h2{font-size:var(--ec-type-h3)}.landing-templates .section-heading .text-link{display:none}.landing-templates .template-grid{grid-template-columns:1fr;gap:28px}.landing-templates .scene-preview{border-radius:9px}.landing-templates h3{font-size:var(--ec-type-small)}.landing-cta{padding:48px 20px}.landing-cta h2{font-size:var(--ec-type-h3)}.landing-cta .button{font-size:var(--ec-type-caption);padding:13px 20px}.landing-footer{flex-wrap:wrap;gap:25px;padding:30px 25px}.landing-footer p{text-align:left;font-size:var(--ec-type-caption)}.landing-footer>div{font-size:var(--ec-type-caption);gap:15px}.auth-page{grid-template-columns:1fr}.auth-story{display:none}.auth-form-wrap{padding:55px 25px}.auth-form h1{font-size:var(--ec-type-h3)}.editor-header{gap:5px;height:58px;padding:0 9px}.editor-brand-mark{display:none}.editor-header .project-name{width:120px;font-size:var(--ec-type-caption)}.editor-actions{gap:1px}.editor-actions>.icon-button{width:27px}.toolbar-separator{margin:0 4px}.editor-actions .button{padding:9px!important}.editor-actions .button.primary{gap:0;font-size:0}.editor-actions .button.primary svg{width:17px}.editor-rail{gap:6px;width:53px;padding:10px 3px}.rail-button{width:44px;font-size:var(--ec-type-caption)}.layers-panel{top:58px;bottom:26px;left:53px}.properties-panel{width:235px;top:58px;bottom:26px}.canvas-workspace{padding:45px 25px 60px}.canvas-top-label{font-size:var(--ec-type-caption);left:16px;right:16px}.canvas-bottom{gap:10px;bottom:16px;left:15px}.editor-footer{height:26px;font-size:var(--ec-type-caption);padding:0 10px}.editor-footer>span:nth-child(2){display:none}.editor-footer button{font-size:var(--ec-type-caption)}.editor-notice{font-size:var(--ec-type-caption);padding:10px;top:40px;left:10px;right:10px}.tool-input-card{padding:22px}.input-action{flex-direction:column}.tool-explainer{margin-top:22px;padding-top:20px}.tool-explainer p{font-size:var(--ec-type-caption)}.metric-grid{gap:9px}.metric{padding:13px}.metric strong{font-size:var(--ec-type-body)}.metric span{font-size:var(--ec-type-caption)}.check-item{gap:11px;padding:17px 14px}.check-item h3,.check-item p{font-size:var(--ec-type-caption)}.settings-card{padding:22px}.funnel{gap:8px}.funnel>div{min-width:95px;font-size:var(--ec-type-caption)}.guide-content p,.guide-content li{font-size:var(--ec-type-caption)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:transform var(--ec-duration-ui) var(--ec-ease-ui), opacity var(--ec-duration-ui) var(--ec-ease-ui);scroll-behavior:auto!important;animation:none!important}}.property-grid label{white-space:nowrap;font-size:var(--ec-type-caption);min-width:0;color:var(--ec-color-muted);gap:4px;padding-left:8px}.property-grid label input{font-size:var(--ec-type-caption)!important;padding:8px 4px!important}.property-label,.property-section .input-label{font-size:var(--ec-type-caption);color:var(--ec-color-muted)}.property-section textarea{font-size:var(--ec-type-caption)!important}.layer-name{font-size:var(--ec-type-caption);color:var(--ec-color-muted)}.layer-name span{max-width:100px}.artboard-label,.artboard-label small,.rail-button,.panel-note p,.panel-note>span,.editor-storage,.editor-storage p{font-size:var(--ec-type-caption);color:var(--ec-color-muted)}.editor-footer{font-size:var(--ec-type-caption);color:var(--ec-color-muted);height:30px}.editor-footer button,.save-status,.canvas-hint,.panel-heading{font-size:var(--ec-type-caption);color:var(--ec-color-muted)}.property-buttons .button{font-size:var(--ec-type-caption)}.tiny-button{color:var(--ec-color-muted)}.sidebar nav a{font-size:var(--ec-type-small)}.sidebar-note p,.app-topbar,.template-card p,.sample-label{color:var(--ec-color-muted)}.property-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.properties-panel .property-grid label{overflow:hidden}.properties-panel .property-grid label:last-child{min-width:100px}@media (max-width:720px){.editor-footer{font-size:var(--ec-type-caption);height:28px}.editor-footer button,.rail-button{font-size:var(--ec-type-caption)}.canvas-hint{display:none}}.template-card-wrap{min-width:0;position:relative}.template-card-wrap .template-card{width:100%;height:100%}.favorite-button{background:var(--ec-color-paper);width:34px;height:34px;color:var(--ec-color-muted);box-shadow:0 2px 10px var(--ec-color-shadow);border:1px solid var(--ec-color-surface-alt);border-radius:50%;place-items:center;display:grid;position:absolute;top:12px;right:12px}.favorite-button[aria-pressed=true]{color:var(--ec-color-warning);background:var(--ec-color-warning-soft)}.library-pagination{justify-content:space-between;align-items:center;gap:16px;margin-top:24px;display:flex}.project-search{max-width:420px;margin-bottom:20px}.project-copy{color:var(--ec-color-muted);position:absolute;bottom:9px;right:44px}.project-card p{padding-right:68px}.quick-slots{gap:20px;padding:16px;display:grid}.quick-slot{gap:8px;min-width:0;display:grid}.quick-slot strong{font-size:var(--ec-type-caption);overflow-wrap:anywhere}.quick-slot textarea{box-sizing:border-box;resize:vertical;border:1px solid var(--ec-color-line);width:100%;min-height:80px;font:inherit;font-size:var(--ec-type-caption);border-radius:8px;padding:9px}.quick-slot .text-link{color:var(--ec-color-brand);font-size:var(--ec-type-caption);justify-self:start}.image-controls>label{font-size:var(--ec-type-caption);gap:9px;margin:12px 0;display:grid}.image-controls input[type=range]{width:100%}.text-align button[aria-pressed=true]{background:var(--ec-color-brand-soft);color:var(--ec-color-brand)}.button.disabled{opacity:.5;cursor:not-allowed}.export-dialog{border:1px solid var(--ec-color-line);width:min(880px,100vw - 32px);max-height:calc(100dvh - 32px);color:var(--ec-color-ink);background:var(--ec-color-paper);box-shadow:0 28px 90px var(--ec-color-shadow);border-radius:18px;padding:0}.export-dialog::backdrop{background:var(--ec-color-overlay);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.export-dialog>header,.export-dialog>footer{justify-content:space-between;align-items:center;gap:20px;padding:22px 26px;display:flex}.export-dialog h2{font-size:var(--ec-type-h3);margin:6px 0 0}.export-dialog .eyebrow{color:var(--ec-color-brand);font-size:var(--ec-type-caption);margin:0}.export-dialog>footer{border-top:1px solid var(--ec-color-surface-alt)}.export-body{border-top:1px solid var(--ec-color-surface-alt);grid-template-columns:1fr 1fr;display:grid}.export-previews{background:var(--ec-color-surface);flex-direction:column;justify-content:center;align-items:center;gap:28px;min-width:0;min-height:300px;padding:24px;display:flex}.export-previews figure{max-width:100%;margin:0}.export-previews img{width:100%;height:auto;box-shadow:0 3px 12px var(--ec-color-shadow);background:repeating-conic-gradient(var(--ec-color-paper) 0% 25%, var(--ec-color-line) 0% 50%) 50% / 16px 16px;border-radius:5px;display:block}.export-previews figcaption{color:var(--ec-color-muted);font-size:var(--ec-type-caption);text-align:center;margin-top:9px}.export-settings{min-width:0;padding:24px}.export-settings>label{font-size:var(--ec-type-caption);gap:8px;margin-bottom:18px;font-weight:600;display:grid}.export-settings select{border:1px solid var(--ec-color-line);background:var(--ec-color-paper);width:100%;font:inherit;border-radius:8px;padding:11px 8px;font-weight:400}.export-review{background:var(--ec-color-surface);font-size:var(--ec-type-caption);border-radius:10px;margin-top:22px;padding:15px;line-height:1.7}.export-review ul{padding-left:18px}.export-review li+li{margin-top:8px}@media (max-width:650px){.export-body{grid-template-columns:1fr}.export-dialog>header,.export-dialog>footer{padding:16px}.export-previews{min-height:220px;padding:18px}.export-settings{padding:18px}.library-controls{flex-wrap:wrap}.library-controls .search-box{flex:100%}.library-pagination{align-items:flex-start}}.project-preview-frame{width:100%;height:100%;min-height:inherit;aspect-ratio:16/9;background:#f1f3f8;overflow:hidden}.project-preview-frame>img{object-fit:contain;width:100%;height:100%;display:block}.project-preview-frame .empty-preview{color:#8a97ac;flex-direction:column;justify-content:center;align-items:center;gap:9px;height:100%;font-size:12px;display:flex}
:root{--ec-color-ink:#20242a;--ec-color-muted:#5b6472;--ec-color-subtle:#727c89;--ec-color-paper:#fff;--ec-color-surface:#f3f5f9;--ec-color-surface-alt:#eef1f6;--ec-color-line:#dce1e8;--ec-color-brand:#3159e9;--ec-color-brand-hover:#2447cc;--ec-color-brand-soft:#edf1ff;--ec-color-lime:#d8ef51;--ec-color-dark:#0c0d10;--ec-color-dark-surface:#191c22;--ec-color-dark-muted:#b4bbc7;--ec-color-dark-line:#343941;--ec-color-success:#18704a;--ec-color-success-soft:#eaf6ef;--ec-color-danger:#b83232;--ec-color-danger-soft:#fff0ef;--ec-color-warning:#875514;--ec-color-warning-soft:#fff5e5;--ec-color-overlay:#0c0d10a6;--ec-color-shadow:#141e3c1a;--ec-color-brand-border:#3159e933;--ec-color-header:#ffffffd9;--ec-color-site-canvas:#f7f8fa;--ec-color-site-ink:#16191f;--ec-color-site-line:#e8ebf0;--ec-color-site-muted:#717887;--ec-font-ui:"Pretendard Variable", system-ui, sans-serif;--ec-font-mono:"Pretendard Variable", ui-monospace, monospace;--ec-opacity-site-art:.16;--ec-opacity-site-art-mobile:.12;--ec-opacity-site-linework:.09;--ec-opacity-site-grid:.055;--ec-opacity-site-auth-art:.1;--ec-type-display:64px;--ec-type-hero:56px;--ec-type-h2:40px;--ec-type-h3:24px;--ec-type-body:16px;--ec-type-small:14px;--ec-type-caption:12px;--ec-type-cinema:160px;--ec-type-site-hero:82px;--ec-type-site-hero-tablet:64px;--ec-type-site-hero-mobile:42px;--ec-type-site-section:50px;--ec-type-site-section-mobile:32px;--ec-type-site-lead:20px;--ec-type-site-card:26px;--ec-type-site-wordmark:128px;--ec-ease-ui:cubic-bezier(.22,1,.36,1);--ec-ease-reveal:cubic-bezier(.16,1,.3,1);--ec-ease-cut:cubic-bezier(.76,0,.24,1);--ec-ease-pop:cubic-bezier(.34,1.56,.64,1);--ec-duration-micro:.15s;--ec-duration-ui:.25s;--ec-duration-reveal:.9s;--ec-duration-cinema:1.4s;--ec-duration-reduced:.2s;--ec-duration-tooltip:.3s;--ec-duration-toast:3s;--ec-duration-loop:32s;--ec-duration-shimmer:1.2s;--ec-duration-stagger:50ms;--ec-duration-cut:.5s;--ec-duration-stack:4s;--ec-duration-intro:.6s;--ec-duration-line-stagger:80ms;--ec-duration-anchor:1.2s;--ec-duration-magnetic:.4s;--ec-duration-count:1.6s;--ec-motion-button-lift:-1;--ec-motion-card-lift:-4;--ec-motion-card-press:-2;--ec-motion-press:.97;--ec-motion-icon-press:.92;--ec-motion-image-scale:1.04;--ec-motion-modal-scale:.96;--ec-motion-lerp:.1;--ec-motion-cursor-lerp:.15;--ec-breakpoint-mobile:768px}
@font-face{font-family:Pretendard Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/ui/PretendardVariable.woff2)format("woff2")}:root{--ink:var(--ec-color-ink);--muted:var(--ec-color-muted);--blue:var(--ec-color-brand);--line:var(--ec-color-line);--surface:var(--ec-color-surface);--font:var(--ec-font-ui)}body{font-family:var(--ec-font-ui);font-size:var(--ec-type-body);letter-spacing:-.025em}body p{color:var(--ec-color-muted)}h1{font-size:var(--ec-type-h2);line-height:1.25}h2{font-size:var(--ec-type-h3);line-height:1.4}h3{font-size:var(--ec-type-body)}button,a,input,select,textarea,[tabindex]{outline-offset:2px}:is(button,a,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--ec-color-brand);outline-offset:2px}button:disabled{cursor:not-allowed}kbd{font-family:var(--ec-font-mono);font-size:var(--ec-type-caption);font-variant-numeric:tabular-nums}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.help-panel{flex-direction:column;gap:20px;padding:16px;display:flex}.help-panel h2{font-size:var(--ec-type-body);font-weight:700}.help-panel h3{font-size:var(--ec-type-small);margin-bottom:12px;font-weight:700}.help-panel section{border:1px solid var(--ec-color-line);border-radius:10px;padding:16px}.help-panel p{font-size:var(--ec-type-small);line-height:1.7}.help-panel .search-box{width:100%}.help-panel .search-box input{min-width:0;font-size:var(--ec-type-small)}.shortcut-row{border-bottom:1px solid var(--ec-color-line);font-size:var(--ec-type-small);justify-content:space-between;align-items:center;gap:14px;padding:10px 0;display:flex}.shortcut-row kbd{background:var(--ec-color-surface);border:1px solid var(--ec-color-line);font-family:var(--ec-font-mono);border-radius:4px;flex:none;padding:3px 6px}.ctr-track{background:var(--ec-color-line);border-radius:5px;height:8px;margin-top:14px;overflow:hidden}.ctr-track span{background:var(--ec-color-brand);transform-origin:0;width:100%;height:100%;transition:transform var(--ec-duration-ui) var(--ec-ease-ui);display:block}.ab-ai-action{flex-direction:column;align-items:flex-start;gap:12px;padding:20px 0;display:flex}.ab-ai-action p{font-size:var(--ec-type-small);color:var(--ec-color-muted)}.page-heading h1{font-size:var(--ec-type-h2)}.sidebar-note>svg{margin-bottom:12px;display:block}.filter-active-pill{background:var(--ec-color-dark);border-radius:inherit;z-index:-1;position:absolute;inset:0}.category-tabs button{isolation:isolate;position:relative}.category-tabs button.selected:has(.filter-active-pill){background:0 0}.template-modal-preview{background:var(--ec-color-surface);border-radius:12px;max-width:800px;margin:auto;overflow:hidden}.template-modal-preview>img{aspect-ratio:16/9;object-fit:contain;width:100%;display:block}.template-modal-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:24px;display:flex}.template-card-wrap .favorite-button{opacity:0;transition:opacity var(--ec-duration-ui) var(--ec-ease-ui)}.template-card-wrap:hover .favorite-button,.template-card-wrap:focus-within .favorite-button,.template-card-wrap .favorite-button[aria-pressed=true]{opacity:1}.template-preview-placeholder{aspect-ratio:16/9;background:var(--ec-color-surface);color:var(--ec-color-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.template-preview-placeholder small{font-size:var(--ec-type-caption)}.auth-card-stack{min-height:230px;position:relative}.auth-card-stack>div{position:relative}.auth-card-stack>.auth-stack-back{opacity:.35;position:absolute;inset:0;transform:rotate(-5deg)translateY(15px)}.auth-card-stack svg{border-radius:10px}.auth-form .form-field:focus-within{color:var(--ec-color-brand)}.auth-social .button{width:100%;margin-bottom:12px}.auth-social small{color:var(--ec-color-muted);font-size:var(--ec-type-small)}.launch-form{gap:20px;display:grid}.launch-form p,.launch-form>label{font-size:var(--ec-type-small);line-height:1.7}.analysis-coming{margin:28px 0}.analysis-coming h3{font-size:var(--ec-type-h3);margin:16px 0}.analysis-sample{border:1px solid var(--ec-color-line);background:var(--ec-color-surface);border-radius:12px;margin:24px 0;padding:24px}.analysis-sample>span{background:var(--ec-color-line);min-height:160px;color:var(--ec-color-muted);border-radius:8px;place-items:center;display:grid}.analysis-sample>div{justify-content:space-around;gap:12px;padding:24px 0;display:flex}.analysis-sample small{font-size:var(--ec-type-small);color:var(--ec-color-muted)}.missing-page{min-height:100dvh;padding:80px 7%}.missing-timecode{font-size:var(--ec-type-display);font-variant-numeric:tabular-nums;color:var(--ec-color-lime);margin:28px 0;font-weight:750}.missing-page .inline-actions{margin:32px 0 60px}.missing-templates{grid-template-columns:repeat(3,1fr);gap:24px;max-width:1100px;display:grid}.missing-templates h2{font-size:var(--ec-type-body);margin-top:16px}.missing-templates svg{border-radius:10px}.missing-templates a:hover{color:var(--ec-color-lime)}@media (max-width:767px){.page-heading h1{font-size:var(--ec-type-h3)}.template-modal-actions{flex-wrap:wrap}.template-modal-actions .primary{order:-1;width:100%}.template-card-wrap .favorite-button{opacity:1}.missing-timecode{font-size:var(--ec-type-h2)}.missing-templates{grid-template-columns:1fr}.auth-card-stack{min-height:0}.analysis-sample>div{font-size:var(--ec-type-small)}}.resume-project{border:1px solid var(--ec-color-line);background:var(--ec-color-surface);border-radius:16px;grid-template-columns:1.2fr 1fr;align-items:center;gap:36px;margin:32px 0;padding:28px;display:grid}.resume-project img{aspect-ratio:16/9;object-fit:cover;border-radius:8px;width:100%}.resume-project h2{font-size:var(--ec-type-h3);margin:16px 0}.resume-project .button{margin-top:24px}.resume-project>div{min-width:0}.onboarding-card{border:1px solid var(--ec-color-line);border-radius:16px;margin:24px 0 40px;padding:28px}.onboarding-card ol{grid-template-columns:1fr 1fr;gap:20px;margin:24px 0 0;padding:0;list-style:none;display:grid}.onboarding-card li{font-size:var(--ec-type-small);align-items:center;gap:12px;display:flex}.onboarding-card li>a{align-items:center;gap:10px;display:flex}.onboarding-check{border:1px solid var(--ec-color-line);border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.onboarding-check.done{background:var(--ec-color-success-soft);color:var(--ec-color-success)}.workspace-credit-badge{background:var(--ec-color-brand-soft);color:var(--ec-color-brand);font-size:var(--ec-type-small);border-radius:100px;align-items:center;gap:8px;padding:8px 12px;display:flex}.mobile-workspace-nav{flex-direction:column;gap:8px;display:flex}.mobile-workspace-nav a{border-radius:8px;padding:12px}.mobile-workspace-nav a:hover,.mobile-workspace-nav a[aria-current=page]{background:var(--ec-color-brand-soft);color:var(--ec-color-brand)}.sidebar nav a.active{border-left:3px solid var(--ec-color-brand)}.guide-layout{grid-template-columns:200px minmax(0,1fr);gap:48px;margin-top:40px;display:grid}.guide-index{flex-direction:column;align-self:start;gap:12px;display:flex;position:sticky;top:28px}.guide-index a{border-left:2px solid var(--ec-color-line);font-size:var(--ec-type-small);padding:10px}.guide-index a[aria-current=true]{color:var(--ec-color-brand);border-color:var(--ec-color-brand);background:var(--ec-color-brand-soft)}.guide-content{max-width:850px;margin:0}.guide-content section{scroll-margin-top:40px}.guide-content h2{font-size:var(--ec-type-h3);margin-bottom:20px}.guide-content p,.guide-content li{font-size:var(--ec-type-body);color:var(--ec-color-muted);line-height:1.9}.guide-demo{border:1px solid var(--ec-color-line);background:var(--ec-color-surface);border-radius:12px;margin:24px 0;padding:20px}.guide-demo .scene-preview{max-width:460px;margin:auto}.shortcut-table{border-collapse:collapse;width:100%}.shortcut-table td{border-bottom:1px solid var(--ec-color-line);padding:12px}.shortcut-table kbd{border:1px solid var(--ec-color-line);background:var(--ec-color-paper);border-radius:4px;padding:4px 7px}.ec-export-primary{font-weight:700;background:var(--ec-color-brand-soft)!important;color:var(--ec-color-brand)!important;min-height:52px!important}@media (max-width:767px){.resume-project,.guide-layout{grid-template-columns:1fr;gap:24px}.onboarding-card{padding:20px}.onboarding-card ol{grid-template-columns:1fr}.guide-index{white-space:nowrap;flex-direction:row;position:static;overflow:auto}.workspace-credit-badge{font-size:var(--ec-type-caption);padding:8px}.app-topbar{padding-inline:16px}.app-topbar>span{display:none}.workbench-root.mobile-editor{height:100dvh!important}}[hidden]{display:none!important}.admin-metadata-form,.mobile-fields{gap:20px;display:grid}.admin-template-preview{aspect-ratio:16/9;object-fit:contain;background:var(--ec-color-surface);border-radius:10px;width:100%}.admin-template-category{color:var(--ec-color-muted);margin-top:6px;display:block}.admin-tabs{white-space:nowrap;overflow:auto}.form-field select,.form-field textarea{border:1px solid var(--ec-color-line);background:var(--ec-color-paper);font:inherit;color:var(--ec-color-ink);border-radius:8px;padding:12px}.form-field small{font-size:var(--ec-type-small);line-height:1.6}.library-pagination{color:var(--ec-color-muted);font-size:var(--ec-type-small);justify-content:space-between;align-items:center;gap:16px;margin:28px 0;display:flex}.library-pagination>div{gap:8px;display:flex}.command-trigger{border:1px solid var(--ec-color-line);background:var(--ec-color-paper);color:var(--ec-color-muted);border-radius:8px;align-items:center;gap:10px;padding:8px 12px;display:flex}.command-trigger:hover{background:var(--ec-color-surface)}.command-trigger kbd{margin-left:20px}.command-results{gap:4px;margin-top:16px;display:grid}.command-results a{border-radius:8px;flex-direction:column;gap:6px;padding:12px;display:flex}.command-results a:hover,.command-results a:focus-visible{background:var(--ec-color-brand-soft);color:var(--ec-color-brand)}.command-results span{font-size:var(--ec-type-small);color:var(--ec-color-muted)}.review-layout{grid-template-columns:1fr 1fr;gap:28px;display:grid}.review-preview{align-self:start;position:sticky;top:0}.review-preview p,.review-preview small{font-size:var(--ec-type-small);color:var(--ec-color-muted);line-height:1.7}.review-preview small{margin-top:16px;display:block}.review-summary{align-items:flex-start;gap:10px;margin-bottom:16px;display:flex}.review-summary svg{color:var(--ec-color-success);flex:none}.review-summary h3{margin:0}.review-issue{border:1px solid var(--ec-color-line);border-radius:12px;margin-bottom:12px;padding:20px}.review-issue>div:first-child{font-size:var(--ec-type-small);align-items:center;gap:8px;display:flex}.review-issue svg{color:var(--ec-color-warning)}.review-issue p{font-size:var(--ec-type-body);margin:12px 0;line-height:1.7}.review-actions{border-top:1px solid var(--ec-color-line);justify-content:flex-end;gap:12px;margin-top:24px;padding-top:20px;display:flex}.youtube-preview{background:var(--ec-color-surface);border:1px solid var(--ec-color-line);border-radius:14px;margin:24px 0;padding-bottom:32px;overflow:hidden}.youtube-chrome{background:var(--ec-color-paper);border-bottom:1px solid var(--ec-color-line);justify-content:space-between;align-items:center;gap:24px;padding:16px 24px;display:flex}.youtube-chrome span{border:1px solid var(--ec-color-line);width:50%;font-size:var(--ec-type-small);color:var(--ec-color-muted);border-radius:100px;padding:8px 16px}.youtube-preview article{max-width:420px;margin:24px auto 0}.youtube-thumb{aspect-ratio:16/9;border-radius:10px;overflow:hidden}.youtube-caption{gap:12px;margin-top:12px;padding:0 8px;display:flex}.channel-avatar{background:var(--ec-color-dark);color:var(--ec-color-paper);border-radius:50%;flex:none;place-items:center;width:36px;height:36px;display:grid}.youtube-caption h3{font-size:var(--ec-type-body);margin:0;line-height:1.5}.youtube-caption p,.youtube-caption small{font-size:var(--ec-type-small);color:var(--ec-color-muted);margin:6px 0;line-height:1.6}.youtube-preview--search article{grid-template-columns:1fr 1fr;gap:20px;max-width:90%;display:grid}.youtube-preview--search .youtube-caption{margin-top:0}.youtube-preview--search .channel-avatar{display:none}.youtube-preview--mobile{max-width:360px;margin:24px auto}.youtube-preview--mobile .youtube-chrome{padding:12px}.youtube-preview--mobile article{padding:0 12px}.youtube-preview--mobile .youtube-chrome span{display:none}.mobile-editor{background:var(--ec-color-surface);height:100dvh;color:var(--ec-color-ink);flex-direction:column;display:flex;overflow:hidden}.mobile-editor>header{background:var(--ec-color-paper);border-bottom:1px solid var(--ec-color-line);font-size:var(--ec-type-small);justify-content:space-between;align-items:center;gap:8px;padding:14px 16px;display:flex}.mobile-editor>header span{font-size:var(--ec-type-caption);color:var(--ec-color-muted)}.mobile-editor>header button{color:var(--ec-color-brand);padding:6px}.mobile-editor-body{flex:1;padding:20px 16px 32px;overflow:auto}.mobile-editor-body>.form-field{margin-bottom:20px}.mobile-editor-hint{font-size:var(--ec-type-small);margin:20px 0;line-height:1.7}.mobile-variant-picker{gap:8px;padding:16px 0;display:flex;overflow:auto}.mobile-variant-picker button{border:1px solid var(--ec-color-line);background:var(--ec-color-paper);border-radius:8px;min-width:52px;min-height:40px}.mobile-variant-picker button[aria-pressed=true]{color:var(--ec-color-brand);border-color:var(--ec-color-brand)}.mobile-image-field{background:var(--ec-color-paper);font-size:var(--ec-type-small);border-radius:12px;gap:12px;padding:16px;display:grid}.mobile-image-field img{object-fit:contain;max-width:100%;height:120px}.mobile-image-field input{max-width:100%}.mobile-editor>footer{padding:12px 16px;padding-bottom:max(12px, env(safe-area-inset-bottom));background:var(--ec-color-paper);border-top:1px solid var(--ec-color-line);align-items:center;gap:10px;display:flex}.mobile-editor>footer>button{place-items:center;min-width:44px;min-height:44px;display:grid}.mobile-editor>footer>.button{flex:1;display:flex}.mobile-editor .category-tabs{margin-bottom:20px}.mobile-editor .category-tabs button{align-items:center;gap:8px;display:flex}.diagnosis-preview{grid-template-columns:1fr 1fr;align-items:center;gap:24px;margin:24px 0;display:grid}.diagnosis-preview img{aspect-ratio:16/9;object-fit:contain;background:var(--ec-color-surface);border-radius:10px;width:100%}.diagnosis-preview h3{font-size:var(--ec-type-body);line-height:1.5}.diagnosis-counter{font-size:var(--ec-type-small);color:var(--ec-color-muted);justify-content:space-between;gap:12px;display:flex}.check-example{border-top:1px solid var(--ec-color-line);font-size:var(--ec-type-small);margin-top:12px;padding-top:12px;line-height:1.7}.check-example summary{cursor:pointer;color:var(--ec-color-brand)}.check-example p{font-size:var(--ec-type-small);margin:8px 0}@media (max-width:767px){.review-layout{grid-template-columns:1fr}.review-preview{position:static}.review-actions{flex-direction:column-reverse}.youtube-preview--search article{display:block}.youtube-preview--search .youtube-caption{margin-top:12px}.command-trigger span,.command-trigger kbd{display:none}.library-pagination{flex-wrap:wrap}.diagnosis-preview{grid-template-columns:1fr}.ec-modal .category-tabs{white-space:nowrap;overflow:auto}}.ec-button,.button{isolation:isolate;border:1px solid var(--ec-color-line);background:var(--ec-color-paper);min-height:44px;color:var(--ec-color-ink);font:inherit;white-space:nowrap;transition:transform var(--ec-duration-ui) var(--ec-ease-ui);border-radius:8px;justify-content:center;align-items:center;gap:10px;padding:11px 20px;font-weight:650;line-height:1.4;text-decoration:none;display:inline-flex;position:relative}.ec-button:after,.button:after{content:"";z-index:-1;border-radius:inherit;box-shadow:0 8px 24px var(--ec-color-shadow);opacity:0;pointer-events:none;transition:opacity var(--ec-duration-ui) var(--ec-ease-ui);position:absolute;inset:0}.ec-button--primary,.button.primary{background:var(--ec-color-brand);border-color:var(--ec-color-brand);color:var(--ec-color-paper)}.ec-button--danger{background:var(--ec-color-danger);color:var(--ec-color-paper);border-color:var(--ec-color-danger)}.ec-button--ghost{background:0 0;border-color:#0000}.ec-button--large,.button.large{min-height:56px;font-size:var(--ec-type-body);padding:16px 26px}.ec-button--small{min-height:36px;font-size:var(--ec-type-small);padding:7px 12px}.ec-button--icon{border-radius:50%;width:44px;padding:0}.button.dark{background:var(--ec-color-dark);border-color:var(--ec-color-dark);color:var(--ec-color-paper)}@media (hover:hover) and (pointer:fine){.ec-button:not(:disabled):hover,.button:not(:disabled):hover{background:var(--ec-color-surface);transform:translateY(-1px)}.ec-button--primary:not(:disabled):hover,.button.primary:not(:disabled):hover{background:var(--ec-color-brand-hover)}.button.dark:hover{background:var(--ec-color-dark-surface)}.ec-button:not(:disabled):hover:after,.button:not(:disabled):hover:after{opacity:1}.ec-button:hover>svg:last-child,.button:hover>svg:last-child{transform:translate(2px,-2px)}}.ec-button>svg,.button>svg{transition:transform var(--ec-duration-ui) var(--ec-ease-ui)}.ec-button:not(:disabled):active,.button:not(:disabled):active{transform:scale(.97)}.icon-button{min-width:36px;min-height:36px;transition:transform var(--ec-duration-micro) var(--ec-ease-ui);border-radius:50%}.icon-button:hover{background:var(--ec-color-surface-alt)}.icon-button:active{transform:scale(.92)}.text-link,.ec-link,.site-header nav>a{position:relative}.text-link:after,.ec-link:after,.site-header nav>a:after{content:"";transform-origin:0;height:1px;transition:transform var(--ec-duration-ui) var(--ec-ease-ui);background:currentColor;position:absolute;bottom:-3px;left:0;right:0;transform:scaleX(0)}.text-link:hover:after,.ec-link:hover:after,.site-header nav>a:hover:after{transform:scaleX(1)}.ec-card{border:1px solid var(--ec-color-line);background:var(--ec-color-paper);border-radius:16px;padding:24px;position:relative}.ec-badge{border:1px solid var(--ec-color-line);font-size:var(--ec-type-caption);background:var(--ec-color-surface);border-radius:100px;align-items:center;gap:6px;padding:5px 10px;font-weight:650;display:inline-flex}.ec-badge--brand{background:var(--ec-color-brand-soft);color:var(--ec-color-brand);border-color:var(--ec-color-brand-border)}.ec-badge--lime{background:var(--ec-color-lime);color:var(--ec-color-dark);border-color:#0000}.ec-badge--success{background:var(--ec-color-success-soft);color:var(--ec-color-success)}.ec-tooltip{z-index:5000;font-size:var(--ec-type-small);background:var(--ec-color-dark);color:var(--ec-color-paper);border-radius:6px;padding:8px 12px}.ec-tooltip svg{fill:var(--ec-color-dark)}.ec-modal-overlay{background:var(--ec-color-overlay);z-index:4000;animation:ec-fade-in var(--ec-duration-ui) var(--ec-ease-ui);position:fixed;inset:0}.ec-modal{z-index:4001;background:var(--ec-color-paper);width:min(520px,100vw - 32px);max-height:calc(100dvh - 40px);color:var(--ec-color-ink);border:1px solid var(--ec-color-line);box-shadow:0 24px 80px var(--ec-color-shadow);animation:ec-modal-in var(--ec-duration-ui) var(--ec-ease-ui);border-radius:20px;padding:28px;position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.ec-modal--wide{width:min(1080px,100vw - 32px)}.ec-modal-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.ec-modal-heading h2{font-size:var(--ec-type-h3);margin:0}.ec-modal-description{margin-bottom:20px}.ec-modal[data-state=closed],.ec-modal-overlay[data-state=closed]{animation:ec-fade-out var(--ec-duration-micro) var(--ec-ease-ui)}@keyframes ec-modal-in{0%{opacity:0;scale:.96}to{opacity:1;scale:1}}@keyframes ec-fade-in{0%{opacity:0}to{opacity:1}}@keyframes ec-fade-out{to{opacity:0}}.ec-toast-host{z-index:5000;max-width:min(480px,100vw - 32px);position:fixed;bottom:24px;right:24px}.ec-toast{background:var(--ec-color-dark);color:var(--ec-color-paper);border:1px solid var(--ec-color-dark-line);box-shadow:0 12px 32px var(--ec-color-shadow);font-size:var(--ec-type-small);border-radius:12px;align-items:center;gap:12px;padding:16px 20px;display:flex}.ec-toast>svg{color:var(--ec-color-lime)}.ec-toast button{color:inherit;background:0 0;border:0;padding:4px}.ec-skeleton,.project-skeleton{background:var(--ec-color-surface);border-radius:12px;min-height:160px;animation:none;position:relative;overflow:hidden}.ec-skeleton:after{content:"";background:var(--ec-color-paper);opacity:.5;animation:ec-shimmer var(--ec-duration-shimmer) var(--ec-ease-ui) infinite;position:absolute;inset:0}@keyframes ec-shimmer{0%,to{opacity:.1}50%{opacity:.7}}.ec-empty{border:1px solid var(--ec-color-line);background:var(--ec-color-surface);border-radius:16px;flex-direction:column;align-items:flex-start;gap:16px;padding:40px;display:flex}.eyebrow,.category-text,.sample-label,.light-label{font-size:var(--ec-type-caption);color:var(--ec-color-muted)}.page-heading p,.settings-card p,.tool-input-card p,.template-card p,.section-heading p{font-size:var(--ec-type-body);color:var(--ec-color-muted)}:is(.app-main:has(.tool-page),.app-main:has(.settings-grid)){padding-top:40px}.tool-page,.settings-grid{margin-top:32px}.app-topbar,.app-footer{font-size:var(--ec-type-small)}.template-card{transition:transform var(--ec-duration-ui) var(--ec-ease-ui)}.template-visual{aspect-ratio:16/9;position:relative;overflow:hidden}.template-visual>.scene-preview,.template-visual>img{transition:transform var(--ec-duration-ui) var(--ec-ease-ui)}.template-hover{background:var(--ec-color-dark);-webkit-backdrop-filter:none;backdrop-filter:none;opacity:0;min-height:44px;transition:transform var(--ec-duration-ui) var(--ec-ease-ui), opacity var(--ec-duration-ui) var(--ec-ease-ui);font-size:var(--ec-type-small);justify-content:space-between;padding:10px 16px;inset:auto 0 0;transform:translateY(100%)}.template-card:hover .template-hover,.template-card:focus-visible .template-hover{opacity:1;transform:translateY(0)}.template-card:hover .scene-preview{transform:scale(1.04)}.template-card:hover{transform:translateY(-4px)}.template-card h3,.template-info h3{font-size:var(--ec-type-body)}.favorite-button{background:var(--ec-color-paper)}.auth-story{background:var(--ec-color-dark);color:var(--ec-color-paper)}.auth-story p,.auth-story small{color:var(--ec-color-dark-muted)}.auth-story h1{font-size:var(--ec-type-h2)}.auth-form h1{font-size:var(--ec-type-h3)}.auth-form p,.auth-form label,.auth-links,.auth-guest{font-size:var(--ec-type-body)}.auth-form label input{min-height:48px}.auth-form .button{width:100%}.auth-divider{color:var(--ec-color-muted);font-size:var(--ec-type-small);align-items:center;gap:16px;margin:24px 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--ec-color-line);flex:1;height:1px}.auth-google{width:100%}.auth-message{border:1px solid var(--ec-color-line);border-radius:8px;margin:12px 0;padding:12px 16px}.form-field input,.form-field textarea{font-size:var(--ec-type-body);color:var(--ec-color-ink)}.form-field{font-size:var(--ec-type-small);color:var(--ec-color-muted)}.form-field input::placeholder{color:var(--ec-color-muted)}.font-rights-field{gap:8px;margin-block:16px;display:grid}.font-rights-field :is(input,textarea){border:1px solid var(--ec-color-line);background:var(--ec-color-paper);border-radius:8px;width:100%;min-width:0;padding:12px}.font-rights-field textarea{resize:vertical}.inline-actions{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.ec-dark{background:var(--ec-color-dark);color:var(--ec-color-paper);isolation:isolate;position:relative}.ec-dark:before{content:"";opacity:.03;z-index:-1;pointer-events:none;background:url(/textures/film-grain.png);position:absolute;inset:0}.ec-dark p,.ec-dark .eyebrow{color:var(--ec-color-dark-muted)}.ec-dark .ec-button--secondary{border-color:var(--ec-color-dark-line);color:var(--ec-color-paper);background:0 0}.ec-dark .ec-button--secondary:hover{background:var(--ec-color-dark-surface)}.ec-dark .brand{color:var(--ec-color-paper)}.ec-dark .brand-mark i{border-color:var(--ec-color-paper)}.progress-track{background:var(--ec-color-surface-alt);border-radius:8px;height:8px;overflow:hidden}.progress-track>span{background:var(--ec-color-brand);transform-origin:0;width:100%;height:100%;transition:transform var(--ec-duration-ui) var(--ec-ease-ui);display:block}.checklist{grid-template-columns:1fr 1fr;gap:16px;display:grid}.check-item{background:var(--ec-color-paper);border:1px solid var(--ec-color-line);border-radius:12px;margin:0;padding:24px}.check-item.checked{background:var(--ec-color-success-soft);border-color:var(--ec-color-success)}.check-item p,.check-item h3{font-size:var(--ec-type-body)}.check-item input{accent-color:var(--ec-color-success);min-width:18px;min-height:18px}.sidebar-note{background:var(--ec-color-dark);color:var(--ec-color-paper)}.sidebar-note p{color:var(--ec-color-dark-muted)}.sidebar-note a{color:var(--ec-color-lime)}.sidebar nav a{font-size:var(--ec-type-small)}.sidebar nav a:hover{color:var(--ec-color-brand);background:var(--ec-color-brand-soft)}.notice,.notice.small,.footnote{font-size:var(--ec-type-small)}html[data-tab-hidden] *,html[data-tab-hidden] :before,html[data-tab-hidden] :after{animation-play-state:paused!important}@media (max-width:767px){h1{font-size:var(--ec-type-h3)}.app-main{padding:28px 20px 0}.checklist{grid-template-columns:1fr}.ec-modal{padding:20px}.ec-toast-host{bottom:16px;right:16px}.studio-heading .button{font-size:var(--ec-type-small);gap:8px;padding:10px 12px}.template-hover{opacity:1;position:relative;transform:none}.template-visual{aspect-ratio:auto}.template-visual>.scene-preview{aspect-ratio:16/9}.favorite-button{opacity:1;margin-top:8px;position:static!important}.template-card-wrap{position:relative}.template-card:hover,.template-card:hover .scene-preview{transform:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.ec-button:hover,.button:hover,.ec-button:active,.button:active,.icon-button:active,.template-card:hover,.template-card:hover .scene-preview,.ec-button:hover>svg,.button:hover>svg{transform:none!important}}.pricing-page{max-width:1280px;margin:auto;padding:140px 28px 90px}.pricing-heading{text-align:center;margin-bottom:64px}.pricing-heading h1{font-size:var(--ec-type-hero);letter-spacing:-.045em;margin:20px 0;line-height:1.12}.pricing-heading p{color:var(--ec-color-muted);line-height:1.8}.pricing-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.pricing-card{border:1px solid var(--ec-color-line);background:var(--ec-color-paper);border-radius:18px;flex-direction:column;padding:30px;display:flex}.pricing-card.recommended{border:2px solid var(--ec-color-brand);padding:29px}.pricing-card-label{justify-content:space-between;align-items:center;gap:12px;display:flex}.pricing-card h2{font-size:var(--ec-type-h3);margin:0}.pricing-card>p{color:var(--ec-color-muted);font-size:var(--ec-type-small);min-height:42px}.price{flex-direction:column;gap:8px;margin:24px 0;display:flex}.price strong{font-size:var(--ec-type-h2);letter-spacing:-.04em}.price small{font-size:var(--ec-type-body)}.price>span{font-size:var(--ec-type-small);color:var(--ec-color-muted)}.credit-allowance{background:var(--ec-color-brand-soft);color:var(--ec-color-brand);font-size:var(--ec-type-small);border-radius:10px;padding:14px}.credit-allowance b{margin-right:8px}.pricing-card ul{flex:1;margin:0;padding:20px 0;list-style:none}.pricing-card li{font-size:var(--ec-type-small);align-items:center;gap:10px;margin:14px 0;display:flex}.pricing-card li svg{color:var(--ec-color-brand);flex:none}.checkout-action>.ec-button{width:100%}.checkout-action .notice{font-size:var(--ec-type-small)}.credit-packs{background:var(--ec-color-surface);border-radius:20px;grid-template-columns:1fr 1fr;gap:60px;margin:80px 0;padding:48px;display:grid}.credit-packs h2{font-size:var(--ec-type-h3);line-height:1.4}.credit-packs p{color:var(--ec-color-muted);line-height:1.8;font-size:var(--ec-type-small)}.credit-pack{border-bottom:1px solid var(--ec-color-line);justify-content:space-between;align-items:center;gap:20px;padding:22px 0;display:flex}.credit-pack>div:first-child{flex-direction:column;gap:8px;display:flex}.credit-pack b{font-size:var(--ec-type-h3)}.credit-pack span{font-size:var(--ec-type-small);color:var(--ec-color-muted)}.pricing-notes{max-width:840px;margin:auto}.pricing-notes h2{font-size:var(--ec-type-h3)}.pricing-notes details{border-bottom:1px solid var(--ec-color-line);padding:22px 0}.pricing-notes summary{cursor:pointer;font-weight:650}.pricing-notes details p{font-size:var(--ec-type-small);color:var(--ec-color-muted);line-height:1.9}.billing-title,.credit-balance{justify-content:space-between;align-items:center;gap:16px;display:flex}.billing-title h2{margin:0}.credit-balance{margin:28px 0}.credit-balance strong{font-size:var(--ec-type-h2);letter-spacing:-.04em;display:block}.credit-balance small{font-size:var(--ec-type-body);margin-left:6px}.billing-panel details{font-size:var(--ec-type-small);margin:20px 0}.billing-panel summary{cursor:pointer;font-weight:650}.credit-expiries{padding:0;list-style:none}.credit-expiries li,.credit-ledger>div{border-bottom:1px solid var(--ec-color-line);justify-content:space-between;gap:14px;padding:12px 0;display:flex}.credit-ledger{max-height:300px;overflow:auto}.credit-ledger time{color:var(--ec-color-muted)}@media (max-width:900px){.pricing-grid{grid-template-columns:1fr}.pricing-card>p{min-height:0}.credit-packs{grid-template-columns:1fr;gap:16px;padding:28px}.pricing-heading h1{font-size:var(--ec-type-h2)}}@media (max-width:767px){.pricing-page{padding:104px 20px 56px}.credit-balance{flex-direction:column;align-items:flex-start}.pricing-card{padding:24px}.pricing-card.recommended{padding:23px}.credit-ledger>div{flex-wrap:wrap}.credit-ledger time{width:100%}}.brand-loader{z-index:50;background:var(--ec-color-paper);flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex;position:fixed;inset:0}.brand-loader-track{border-radius:4px;width:180px;height:6px!important}.preview-options{align-items:flex-end;gap:20px;display:flex}.preview-options .form-field{flex:1}.youtube-feed{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:20px;display:grid}.youtube-feed article{width:100%;min-width:0;max-width:none;margin:0}.youtube-thumb{position:relative}.youtube-duration{background:var(--ec-color-dark);color:var(--ec-color-paper);font-size:var(--ec-type-caption);border-radius:3px;padding:3px 5px;position:absolute;bottom:8px;right:8px}.youtube-preview--search .youtube-feed,.youtube-preview--mobile .youtube-feed,.youtube-preview--sidebar .youtube-feed{display:block}.youtube-preview--sidebar{max-width:440px;margin-inline:auto}.youtube-preview--sidebar article{grid-template-columns:45% 1fr;gap:12px;display:grid}.youtube-preview--sidebar .channel-avatar{display:none}.youtube-preview--dark{background:var(--ec-color-dark);color:var(--ec-color-paper);border-color:var(--ec-color-dark-line)}.youtube-preview--dark .youtube-chrome{background:var(--ec-color-dark-surface);border-color:var(--ec-color-dark-line)}.youtube-preview--dark .youtube-caption p{color:var(--ec-color-dark-muted)}.review-marked-preview{position:relative}.review-highlight{pointer-events:none;outline:2px dashed var(--ec-color-danger);outline-offset:2px;background:color-mix(in srgb, var(--ec-color-danger) 8%, transparent);position:absolute}.review-small-preview{width:240px;max-width:100%;margin:16px 0}.review-preview details{font-size:var(--ec-type-small);margin:16px 0}.review-preview summary{cursor:pointer}.form-field:focus-within{color:var(--ec-color-brand)}@media (max-width:767px){.preview-options{flex-direction:column;align-items:stretch}.youtube-feed{grid-template-columns:1fr}.surrounding-preview{display:none}.youtube-preview--sidebar article{grid-template-columns:1fr}.youtube-preview--search .my-preview{max-width:none}}.ec-modal.ec-modal--fullscreen{background:var(--ec-color-dark);width:100%;height:100dvh;max-height:100dvh;color:var(--ec-color-paper);border:0;border-radius:0;padding:24px;inset:0;transform:none}.ec-modal--fullscreen .ec-modal-heading .icon-button{border-color:var(--ec-color-dark-line);color:var(--ec-color-paper);background:0 0}.mobile-site-nav{flex-direction:column;gap:12px;display:flex}.mobile-site-nav a{border-bottom:1px solid var(--ec-color-dark-line);font-size:var(--ec-type-h3);justify-content:space-between;align-items:center;padding:20px 0;display:flex}.mobile-site-nav a:hover{color:var(--ec-color-lime)}.guide-demo>.form-field{margin:20px 0}.capture-video{background:var(--ec-color-dark);width:100%;max-height:55dvh;margin:20px 0;display:block}.media-dropzone{border:2px dashed var(--ec-color-line);color:var(--ec-color-muted);font-size:var(--ec-type-small);border-radius:10px;justify-content:center;align-items:center;gap:12px;padding:24px 12px;display:flex}.media-dropzone:hover,.media-dropzone.is-dragging{background:var(--ec-color-brand-soft);border-color:var(--ec-color-brand);color:var(--ec-color-brand)}.media-entry-links{gap:8px;display:grid}.media-entry-links .button{font-size:var(--ec-type-small);white-space:normal;padding:10px}.progress-track.is-complete{position:relative;overflow:visible}.progress-track.is-complete:after{content:"";border:2px solid var(--ec-color-lime);pointer-events:none;animation:ec-complete-ring var(--ec-duration-reveal) var(--ec-ease-reveal) both;border-radius:50%;position:absolute;inset:-8px}.check-item.checked>input{accent-color:var(--ec-color-success)}@keyframes ec-complete-ring{0%{opacity:1;transform:scale(.96)}to{opacity:0;transform:scale(1.06)}}.persistence-trigger{font-size:var(--ec-type-caption);color:var(--ec-color-muted);white-space:nowrap;border-radius:8px;align-items:center;gap:6px;padding:8px;display:inline-flex}.persistence-trigger:hover{background:var(--ec-color-surface);color:var(--ec-color-brand)}@media (max-width:767px){.app-shell>.sidebar{display:none}}.diagnosis-preview{display:block!important}.diagnosis-preview>article{max-width:420px}.diagnosis-preview .youtube-thumb img{object-fit:contain;width:100%;height:100%}.diagnosis-source{flex-wrap:wrap;gap:12px;margin-top:20px;display:flex}.check-example-images{grid-template-columns:1fr 1fr;gap:12px;margin:16px 0;display:grid}.check-example-images figure{margin:0}.check-example-images svg{border-radius:8px;width:100%;display:block}.check-example-images figcaption{font-size:var(--ec-type-caption);margin-top:8px}.project-picker{grid-template-columns:1fr 1fr;gap:16px;display:grid}.project-picker button{text-align:left;border:1px solid var(--ec-color-line);background:var(--ec-color-paper);border-radius:10px;overflow:hidden}.project-picker button:hover{border-color:var(--ec-color-brand);background:var(--ec-color-brand-soft)}.project-picker img{aspect-ratio:16/9;object-fit:contain;width:100%}.project-picker strong,.project-picker small{font-size:var(--ec-type-small);padding:10px;display:block}@media (max-width:767px){.ec-modal,.ec-modal--fullscreen{animation-name:ec-fade-in}}
