@charset "UTF-8";
:root{--green:#23705a;--radius:12px;--editor-rail-w:0px;--editor-inspector-w:304px;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);font-size:16px;background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button,a{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{opacity:.45;cursor:not-allowed}button,input,select,textarea{outline-offset:4px}*:focus-visible{outline:3px solid #70B4E0!important}button{transition:background .16s,border-color .16s,box-shadow .16s}img{max-width:100%;display:block;object-fit:cover}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.75rem,2.5vw,2.25rem);font-weight:600;letter-spacing:-1.1px;line-height:1.3}h2{font-size:1.3rem;letter-spacing:-.5px;font-weight:600}h3{font-size:1rem;font-weight:600}p{line-height:1.65}small,.small{font-size:.75rem;color:var(--muted);line-height:1.6}svg.icon{width:20px;height:20px;flex-shrink:0;vertical-align:middle;stroke:currentColor;fill:none;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}.skip{position:fixed;left:16px;top:-70px;background:white;padding:16px;z-index:999}.skip:focus{top:10px}.shell{display:grid;grid-template-columns:274px minmax(0,1fr)}.brand{display:flex;align-items:center;gap:10px;color:white;text-decoration:none}.brand-mark{display:grid;grid-template-columns:repeat(2,9px);gap:3px;transform:rotate(-10deg);margin-right:3px;flex-shrink:0}.brand-mark i{height:11px;background:var(--accent);border-radius:1px}.brand-mark i:last-child{background:transparent;border:1px solid #70B4E0}.brand-body{display:flex;flex-direction:column;line-height:1}.brand-name{display:flex;align-items:baseline;gap:5px}.brand-name strong{font-weight:600;font-size:25px;letter-spacing:-1.4px;color:inherit;line-height:1}.brand-studio{font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--ink);font-weight:500;line-height:1}.public-nav .brand-studio{color:var(--muted)}.brand-byline{font-size:10px;font-weight:600;letter-spacing:0.6px;color:var(--brand-link);margin-top:2px;line-height:1;opacity:0.95}.public-nav .brand-byline{color:var(--brand-link)}.workspace-switch{display:flex;align-items:center;gap:10px;border:1px solid var(--line);background:var(--surface);border-radius:8px;padding:11px;margin:29px 0 24px;font-size:14px;color:white}.workspace-switch b{font-size:13px}.workspace-switch small{display:block;font-size:11px;color:var(--muted)}.avatar{width:34px;height:34px;border-radius:50%;background:var(--surface);color:var(--ink);display:grid;place-items:center;flex-shrink:0;font-size:12px;font-weight:600}.workspace-switch .avatar{border-radius:7px;background:var(--surface);color:var(--ink)}.nav-label{font-size:10px;text-transform:uppercase;letter-spacing:1.7px;color:var(--muted);padding:0 12px;margin:8px 0 10px}.nav-link{display:flex;align-items:center;gap:12px;padding:12px 14px;min-height:46px;font-size:14px;border-radius:7px;margin:3px 0;color:var(--ink)}.nav-link:hover{background:var(--tint);color:white}.nav-link.active{background:var(--tint);color:var(--ink)}.nav-link.active:before{content:"";width:3px;height:20px;position:absolute;left:20px;border-radius:3px;background:var(--accent)}.nav-link .count{margin-left:auto;color:var(--ink);font-size:12px;background:var(--surface);padding:1px 7px;border-radius:4px}.side-bottom{margin-top:auto;padding-top:28px}.credit-card{border:1px solid var(--line);border-radius:9px;margin:16px 0;padding:15px;font-size:12px}.credit-card .row{justify-content:space-between}.credit-card strong{color:white;font-size:18px;font-weight:500}.credit-card p{font-size:11px;color:var(--ink);margin:8px 0 0}.meter{height:4px;background:var(--surface);border-radius:9px;overflow:hidden;margin:12px 0}.meter i{display:block;height:100%;background:var(--accent)}.profile{display:flex;align-items:center;gap:10px;font-size:13px;padding:9px}.profile small{display:block;color:var(--muted);font-size:11px}.topbar{height:78px;display:flex;align-items:center;justify-content:space-between;padding:0 38px;gap:16px}.breadcrumbs{color:var(--muted);font-size:13px;display:flex;align-items:center;gap:12px}.top-actions,.row{display:flex;align-items:center;gap:12px}.row.wrap{flex-wrap:wrap}.spread{justify-content:space-between}.tag{font-size:12px;font-weight:500;display:inline-flex;align-items:center;gap:6px;border-radius:5px;padding:5px 8px;background:var(--surface);color:var(--ink);white-space:nowrap}.tag.green{color:var(--ink);background:var(--surface)}.tag.orange{color:var(--brand-link);background:var(--surface)}.tag.blue{color:var(--ink);background:var(--surface)}.tag.red{color:var(--ink);background:var(--surface)}.tag.dark{background:var(--surface);color:var(--ink)}.tag.outline{border:1px solid var(--line);background:transparent}.dot{width:5px;height:5px;background:currentColor;border-radius:50%}.icon-btn{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid transparent;background:transparent;border-radius:8px;flex-shrink:0}.icon-btn:hover{background:var(--tint)}.icon-btn.active{background:var(--tint);color:var(--brand-link);border-color:var(--line)}.btn{min-height:44px;padding:10px 17px;border:1px solid var(--line);background:var(--surface);border-radius:7px;display:inline-flex;gap:9px;align-items:center;justify-content:center;font-size:14px;font-weight:500;white-space:normal;text-align:center}.btn:hover{border-color:var(--line);background:var(--tint)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--brand-on-action)}.btn.primary:hover{background:var(--accent-hover)}.btn.dark{background:var(--dark);border-color:var(--dark);color:white}.btn.ghost{background:transparent;border-color:transparent}.btn.danger{color:#ac3434;border-color:#e8bebe}.btn.wide{width:100%}.btn.sm{min-height:36px;padding:6px 12px;font-size:12px}.text-link{border:0;background:transparent;padding:4px 0;color:var(--brand-link);font-size:14px;display:inline-flex;gap:8px;align-items:center;min-height:36px}.page-title{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:28px}.page-title p{font-size:14px;color:var(--muted);margin-top:8px}.eyebrow{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:var(--muted);margin-bottom:12px}.welcome-banner{display:grid;grid-template-columns:1.15fr 1fr;min-height:228px;background:var(--surface);overflow:hidden;margin-bottom:27px}.banner-copy{padding:28px 32px;position:relative;z-index:1}.banner-copy h2{font-size:26px;line-height:1.4;max-width:350px;letter-spacing:-.8px}.banner-copy p{font-size:13px;color:var(--ink);max-width:360px;margin:10px 0 16px}.banner-image{position:relative;min-height:235px}.banner-image img{width:100%;height:100%;position:absolute;object-position:center 56%}.banner-image:before{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(90deg,#e9edeb,transparent 35%)}.banner-image .tag{position:absolute;right:16px;bottom:16px;z-index:2}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:35px}.stat{background:var(--surface);padding:20px;border:1px solid var(--line);border-radius:9px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.stat p{font-size:12px;color:var(--muted)}.stat strong{display:block;font-size:26px;font-weight:500;margin:7px 0 4px;letter-spacing:-.7px}.stat small{font-size:11px}.stat .stat-icon{padding:9px;border:1px solid var(--line);border-radius:8px;color:var(--ink)}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.section-heading h2{font-size:19px}.tabs{display:flex;align-items:center;gap:24px;border-bottom:1px solid var(--line);margin-bottom:22px;overflow:auto}.tab{border:0;background:transparent;border-bottom:2px solid transparent;padding:13px 0;font-size:13px;white-space:nowrap;color:var(--muted);min-height:44px}.tab.active{border-color:var(--accent);color:var(--ink);font-weight:600}.tab small{margin-left:5px;padding:2px 6px;border-radius:4px;background:var(--surface);font-size:10px}.filters{display:flex;justify-content:space-between;gap:14px;margin:0 0 20px}.search{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--surface);padding:0 12px;border-radius:7px;max-width:330px;width:100%}.search .icon{width:17px;color:var(--muted)}.search input{width:100%;border:0;min-height:42px;font-size:13px;background:transparent;color:var(--ink)}.search input:focus{outline:0}.search:focus-within{outline:2px solid var(--accent);outline-offset:2px}.toggle{display:flex;background:var(--surface);border:1px solid var(--line);padding:3px;border-radius:7px}.toggle button{border:0;background:transparent;width:34px;height:34px;border-radius:4px;color:var(--ink)}.toggle button.active{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px #0001}.projects-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.project-card{background:white;border:1px solid var(--line);border-radius:10px;overflow:hidden;transition:box-shadow .18s,border-color .18s;position:relative}.project-card:hover{box-shadow:0 8px 30px #2430290d}.project-photo{height:auto;aspect-ratio:1.65;position:relative;display:block;overflow:hidden;background:var(--surface)}.project-photo img{width:100%;height:100%;transition:transform .3s}.project-card:hover .project-photo img{transform:scale(1.025)}.project-photo .tag{position:absolute;top:13px;left:13px;backdrop-filter:blur(8px);background:var(--surface)}.project-photo .photo-count{position:absolute;right:12px;bottom:12px;color:white;background:var(--surface);padding:5px 7px;border-radius:5px;font-size:11px;display:flex;align-items:center;gap:5px}.card-body{padding:16px 17px 13px}.card-body h3{font-size:15px;letter-spacing:-.2px;line-height:1.5}.card-body p{font-size:12px;color:var(--muted);margin:5px 0 15px}.card-bottom{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding-top:11px;font-size:11px;color:var(--muted)}.mini-avatars{display:flex;align-items:center}.mini-avatars span{border:2px solid white;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;background:var(--surface);font-size:9px;color:var(--ink);margin-right:-6px}.mini-avatars span:nth-child(2){background:var(--surface);color:var(--ink)}.card-menu{position:absolute;right:10px;top:10px;background:var(--surface);color:var(--ink);width:32px;height:32px;border-radius:6px}.new-card{border:1px dashed var(--line);border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--surface);min-height:270px;color:var(--ink)}.new-card .icon{width:26px;height:26px}.new-card h3{font-size:15px}.new-card p{font-size:12px;max-width:200px;text-align:center;color:var(--ink)}.projects-grid.list{grid-template-columns:1fr}.projects-grid.list .project-card{display:grid;grid-template-columns:180px 1fr}.projects-grid.list .project-photo{height:140px;aspect-ratio:auto}.projects-grid.list .new-card{min-height:100px}.bottom-note{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px;gap:8px;margin:30px 0 0}.panel{border:1px solid var(--line);border-radius:10px;background:white;padding:24px}.panel h2{margin-bottom:15px}.two-cols{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px}.three-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.stack{display:flex;flex-direction:column;gap:18px}.note{padding:13px 16px;background:var(--surface);color:var(--ink);border-radius:8px;font-size:13px;line-height:1.6;display:flex;gap:10px;align-items:flex-start}.note.warning{background:#fff4e9;color:#805427}.note.error{background:#fff0ed;color:#a13628}.muted{color:var(--muted)}.field{display:flex;flex-direction:column;gap:8px;margin:0 0 17px;font-size:13px}.field label,.field>span{font-weight:500}.field input,.field textarea,.field select,select.control{width:100%;border:1px solid var(--line);border-radius:7px;background:white;padding:11px 12px;color:var(--ink);font-size:14px;min-height:44px}.field textarea{resize:vertical;min-height:100px;line-height:1.6}.field small{font-size:12px}.field .error-text{color:#a8352c}.field input[aria-invalid=true]{border-color:var(--line)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.upload-zone{padding:36px 22px;border:1.5px dashed var(--line);background:var(--surface);border-radius:10px;text-align:center;cursor:pointer;display:block}.upload-zone.dragover{background:var(--surface);border-color:var(--accent)}.upload-zone .icon{width:30px;height:30px;color:var(--ink);margin:auto auto 14px}.upload-zone h3{font-size:15px;margin-bottom:6px}.upload-zone p{font-size:12px;color:var(--muted)}.upload-list{display:flex;flex-direction:column;gap:10px}.upload-item{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:8px;padding:9px;font-size:13px}.upload-item img{width:70px;height:52px;border-radius:5px}.upload-item .field{margin:0}.upload-item select{font-size:12px;max-width:145px}.upload-item .grow{flex:1;min-width:0;overflow-wrap:anywhere}.stepper{display:flex;gap:22px;margin:0 0 28px;font-size:13px;color:var(--muted);align-items:center}.stepper span{display:flex;align-items:center;gap:8px}.stepper b{width:25px;height:25px;border-radius:50%;background:var(--surface);display:grid;place-items:center;font-size:11px}.stepper .active{color:var(--brand-link)}.stepper .active b{background:var(--accent);color:var(--ink)}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.room-tile{border:1px solid var(--line);border-radius:8px;overflow:hidden;background:white;position:relative}.room-tile.selected{outline:2px solid var(--accent);outline-offset:2px}.room-tile img{aspect-ratio:1.45;width:100%}.room-tile .tile-info{padding:12px;font-size:13px}.room-tile input[type=checkbox]{position:absolute;left:10px;top:10px;width:20px;height:20px;accent-color:var(--accent)}.room-tile .tile-actions{padding:0 12px 12px}.room-tile p{font-size:12px;color:var(--muted);margin-top:4px}.style-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.style-tile{padding:0;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:white;text-align:left;position:relative}.style-tile.active{border:2px solid var(--accent)}.style-tile img{aspect-ratio:1.6;width:100%;height:78px}.style-tile span{display:block;padding:8px;font-size:11px}.style-tile.active:after{content:"✓";position:absolute;top:5px;right:5px;background:var(--accent);border-radius:50%;color:var(--ink);font-size:11px;width:18px;height:18px;text-align:center}.editor-layout{height:calc(100vh - 78px);display:grid;grid-template-columns:minmax(0,1fr) var(--editor-inspector-w,304px);grid-template-rows:minmax(0,1fr) 108px;background:var(--bg)}.canvas-work{grid-column:1;grid-row:1}.rail-divider{height:1px;background:var(--line);width:28px;margin:5px 0}.canvas-work{position:relative;min-width:0;min-height:0;display:flex;flex-direction:column;padding:8px 16px 8px;background-color:var(--bg);background-image:radial-gradient(#c7d0d3 .6px,transparent .6px);background-size:12px 12px}.canvas-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;gap:12px;font-size:12px;flex-shrink:0}.canvas-toolbar .tag{background:white}.canvas-frame{position:relative;display:flex;align-items:center;justify-content:center;flex:1;width:100%;height:100%;min-height:0;overflow:auto;box-sizing:border-box}.artboard{width:100%;max-width:calc((100vh - 235px) * 1.55);max-height:calc(100vh - 235px);position:relative;box-shadow:0 10px 40px rgba(0,0,0,0.22);background:var(--surface);border-radius:8px;line-height:0;overflow:hidden;flex-shrink:0;margin:auto}.artboard img{width:100%;height:auto;display:block;border-radius:inherit}.canvas-label{font-size:10px;padding:7px 11px;color:white;background:var(--surface);position:absolute;left:12px;bottom:12px;line-height:1.3;border-radius:4px;z-index:5}.canvas-controls{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:25;display:flex;justify-content:center;padding:0}.canvas-controls .row{padding:3px 8px;border:1px solid var(--line);border-radius:9999px;background:var(--surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 18px rgba(0,0,0,0.1);gap:4px}[data-theme="dark"] .canvas-controls .row{background:var(--surface);border-color:var(--line);box-shadow:0 4px 20px rgba(0,0,0,0.4)}.canvas-controls span{font-size:11px;min-width:40px;text-align:center;font-weight:500}.canvas-controls .icon-btn{height:28px;width:28px}.inspector{overflow:auto}.inspector-header{display:flex;justify-content:space-between;font-size:14px;font-weight:600}.inspector-section{padding:19px;border-bottom:1px solid var(--line)}.inspector-section h3{font-size:13px;margin-bottom:12px;display:flex;align-items:center;gap:8px}.inspector-section h3 small{margin-left:auto}.inspector .field{font-size:12px;margin-bottom:12px}.inspector input,.inspector textarea,.inspector select{font-size:12px}.inspector textarea:not(.brief-direct-textarea){min-height:85px}.inspector-footer{padding:18px;background:var(--surface);position:sticky;bottom:0;border-top:1px solid var(--line);margin-top:auto}.filmstrip{overflow-x:auto;overflow-y:hidden}.film-item span{font-size:10px;display:block;text-align:left;margin-top:4px}.filmstrip .icon-btn{border:1px dashed var(--line);height:65px}.range{width:100%;accent-color:var(--accent)}.check-line{display:flex;align-items:center;gap:9px;font-size:13px;line-height:1.6}.check-line input{width:17px;height:17px;accent-color:var(--accent);flex-shrink:0}.compare-view>img{display:block;width:100%;height:auto;border-radius:inherit}.compare-overlay{position:absolute;inset:0;clip-path:inset(0 50% 0 0)}.compare-overlay img{width:100%;height:100%;object-fit:cover;display:block}.compare-divider{position:absolute;top:0;bottom:0;left:50%;width:2px;background:white;pointer-events:none}.compare-divider:after{content:"↔";position:absolute;top:48%;left:-18px;width:36px;height:36px;border-radius:50%;background:white;color:var(--ink);display:grid;place-items:center;font-size:18px;box-shadow:0 2px 12px #0003}.compare-view .tag{position:absolute;top:13px;line-height:1.4}.compare-view .tag:first-of-type{left:13px}.compare-view .tag:last-of-type{right:13px}.compare-range{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize}.compare-range:focus-visible{opacity:1;height:25px;top:auto;bottom:10px}.versions{display:flex;gap:12px;overflow:auto;padding:6px 2px}.version{width:130px;padding:6px;border:1px solid var(--line);border-radius:7px;background:white;text-align:left;flex-shrink:0}.version img{height:75px;width:100%;border-radius:4px}.version.active{border:2px solid var(--accent)}.version span{font-size:11px;display:block;margin:6px 0 2px}.details-list{display:grid;grid-template-columns:1fr 1.1fr;gap:13px;font-size:12px}.details-list dt{color:var(--muted)}.details-list dd{margin:0;text-align:right}.timeline{border-left:1px solid var(--line);margin:10px;padding-left:24px}.timeline-item{padding:0 0 25px;position:relative}.timeline-item:before{content:"";width:9px;height:9px;background:var(--surface);border:3px solid white;outline:1px solid #c1d0c8;border-radius:50%;position:absolute;left:-29px;top:5px}.timeline-item h3{font-size:14px}.timeline-item p{font-size:12px;color:var(--muted);margin:5px 0}.empty{border:1px dashed var(--line);border-radius:10px;padding:60px 24px;text-align:center;background:white;grid-column:1/-1}.empty>.icon{width:36px;height:36px;color:var(--ink);margin-bottom:15px}.empty h3{font-size:18px}.empty p{font-size:14px;color:var(--muted);margin:10px 0 20px}.table-wrap{overflow:auto;background:white;border:1px solid var(--line);border-radius:10px}table{width:100%;border-collapse:collapse;text-align:left;white-space:nowrap;font-size:13px}th{font-size:11px;letter-spacing:.5px;color:var(--muted);font-weight:500;background:var(--surface);padding:15px 18px;border-bottom:1px solid var(--line)}td{padding:16px 18px;border-bottom:1px solid var(--line)}tr:last-child td{border-bottom:0}td .row img{height:42px;width:60px;border-radius:5px}.progress{height:5px;background:var(--surface);border-radius:5px;overflow:hidden;min-width:90px}.progress span{display:block;height:100%;background:var(--accent);transition:width .5s}.job-stage{font-size:11px;color:var(--muted);margin-top:6px}.storage{height:8px;border-radius:5px;background:var(--surface);margin:15px 0;display:flex;overflow:hidden}.storage i{background:var(--surface);height:100%;width:32%}.storage i:nth-child(2){background:var(--surface);width:18%}.storage i:nth-child(3){background:var(--surface);width:12%}.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.catalog-card{background:white;border:1px solid var(--line)}.catalog-card img{aspect-ratio:1.4}.catalog-card .content{padding:18px}.catalog-card h3{margin-bottom:6px}.catalog-card p{font-size:13px;color:var(--muted);margin-bottom:14px}.faq{border-bottom:1px solid var(--line);padding:19px 0}.faq summary{cursor:pointer;font-size:15px;font-weight:500;padding-right:20px}.faq p{font-size:14px;color:var(--muted);margin-top:12px;max-width:800px}.support-hero{background:var(--surface);border-radius:12px;padding:35px;margin-bottom:25px}.support-hero p{margin:10px 0 20px;font-size:14px;color:var(--muted)}.support-hero .search{max-width:500px}.comment{background:var(--surface);border-radius:8px;padding:13px;font-size:13px;margin:12px 0}.comment strong{font-size:12px;display:block;margin-bottom:6px}.comment small{display:block;margin-top:8px}.mask-overlay{position:absolute;inset:0;width:100%;height:100%;touch-action:none}.mask-overlay .region{fill:#d36b3d30;stroke:#d36b3d;stroke-width:.4;stroke-dasharray:1 1}.mask-overlay .region.selected{fill:#d36b3d65;stroke-width:.7}.annotation-text{fill:#fff;font-size:3px;paint-order:stroke;stroke:#1b2820;stroke-width:.12}.object-button{display:flex;align-items:center;gap:10px;padding:11px;border:1px solid var(--line);border-radius:7px;background:white;width:100%;font-size:13px;text-align:left;margin-bottom:8px}.object-button.selected{background:var(--tint);border-color:var(--line)}.swatches{display:flex;gap:9px}.swatch{height:30px;width:30px;border-radius:50%;border:3px solid white;outline:1px solid #d4dadd;background:var(--swatch)}.swatch.active{outline:2px solid var(--accent)}.swatch span{position:absolute;width:1px;height:1px;overflow:hidden}.switch-row{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);font-size:14px}.switch-row small{display:block;font-size:12px;margin-top:5px}.switch-row input{width:37px;height:21px;accent-color:var(--accent)}.plan-card{padding:28px;background:white;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;gap:18px}.plan-card.featured{border:2px solid var(--accent);position:relative}.plan-card h3{font-size:20px}.plan-card strong{font-size:36px;font-weight:500;letter-spacing:-1px}.plan-card p{font-size:13px;color:var(--muted)}.plan-card ul{padding:0;list-style:none;font-size:13px;line-height:2.5}.plan-card .btn{margin-top:auto}.public-body{background:white;min-height:100vh}.public-nav{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 6%;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:30}.public-nav .brand{color:var(--ink)}.public-links{display:flex;gap:24px;font-size:14px;align-items:center}.public-main{max-width:1320px;margin:auto;padding:0 40px}.hero{grid-template-columns:1fr 1.15fr}.hero h1{font-size:clamp(38px,4.6vw,64px);letter-spacing:-2.8px}.hero h1 em{color:var(--brand-link)}.hero .compare-view img{aspect-ratio:1;object-fit:cover}.hero .compare-overlay img{height:100%}.public-section{padding:60px 0}.public-section>h2{font-size:32px;margin-bottom:15px;letter-spacing:-1px}.public-section>.muted{margin-bottom:28px}.trust-strip{display:flex;justify-content:space-between;gap:24px;padding:25px 0;border-block:1px solid var(--line);font-size:13px;color:var(--ink)}.trust-strip span{display:flex;gap:10px;align-items:center}.number{font-size:36px;letter-spacing:-2px;color:var(--ink);margin:0 0 20px}.final-cta{background:var(--surface);padding:55px;border-radius:15px;color:white;display:flex;justify-content:space-between;gap:25px;align-items:center}.final-cta h2{font-size:32px;max-width:400px}.final-cta p{color:var(--ink);margin-top:12px;font-size:14px}.public-footer{padding:45px 0;display:flex;justify-content:space-between;font-size:12px;color:var(--muted);gap:24px}.public-footer nav{display:flex;gap:20px}.auth{max-width:440px;margin:70px auto;padding:30px;border:1px solid var(--line);border-radius:12px}.auth h1{font-size:28px}.auth p{font-size:14px;color:var(--muted);margin:14px 0 24px}.auth .btn{margin-bottom:12px}.review-shell{max-width:1200px;margin:auto;padding:30px}.review-header{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:25px}.review-shell .brand{color:var(--ink)}dialog{border:1px solid var(--line);border-radius:14px;padding:0;max-width:570px;width:calc(100% - 32px);box-shadow:0 25px 100px #15251a3b;color:var(--ink);max-height:90vh;overflow:auto}dialog::backdrop{background:color-mix(in srgb,var(--accent-deep) 38%,transparent);backdrop-filter:blur(6px)}.dialog-header{padding:22px 25px 14px;display:flex;justify-content:space-between;align-items:center;gap:20px}.dialog-header h2{font-size:20px}.dialog-body{padding:6px 25px 25px}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;border-top:1px solid var(--line);padding:16px 25px;background:var(--surface)}.dialog-body p{font-size:14px;color:var(--muted);margin-bottom:15px}.dialog-body .quote-summary{background:var(--surface);padding:17px;border-radius:8px;margin:15px 0}.dialog-body .quote-summary .row{font-size:13px;margin:9px 0}.dialog-body .quote-summary strong{font-size:22px;color:var(--brand-link)}.dialog-body .menu-list{display:flex;flex-direction:column;gap:8px}.dialog-body .menu-list .btn{justify-content:flex-start}.sim-options{display:flex;flex-direction:column;gap:10px}.scenario{border:1px solid var(--line);background:white;border-radius:8px;padding:14px;text-align:left;display:flex;gap:13px;align-items:flex-start;min-height:65px}.scenario:hover{background:var(--tint);border-color:var(--line)}.scenario strong{font-size:14px;display:block}.scenario small{display:block;margin-top:4px}.scenario .icon{color:var(--brand-link)}#toasts{position:fixed;right:24px;bottom:24px;display:flex;flex-direction:column;gap:10px;z-index:100;max-width:370px;pointer-events:none}.toast{background:#263a30;color:white;border:1px solid #4c6e5b;border-radius:9px;padding:14px 18px;box-shadow:0 10px 30px #0002;font-size:13px;display:flex;gap:10px;align-items:flex-start;animation:toast-in .2s ease-out;line-height:1.6}.toast.error{background:#76372d;border-color:#a95547}.sim-running{position:fixed;bottom:24px;left:265px;z-index:70;background:var(--surface);color:white;border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);padding:17px 20px;width:360px}.sim-running .eyebrow{color:var(--ink);font-size:10px;margin-bottom:8px}.sim-running p{font-size:13px;margin-bottom:10px}.sim-running .btn{color:white;background:var(--surface);border-color:var(--line)}.sim-running .progress{background:var(--surface)}.sim-running .progress span{background:var(--surface)}.mobile-menu{display:none}.skeleton{height:200px;background:linear-gradient(90deg,#e9eded,#f6f8f8,#e9eded);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:10px}.loading-ring{display:inline-block;width:17px;height:17px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}.not-found{text-align:center;padding:100px 20px}.not-found h1{font-size:65px}.not-found p{margin:15px 0 25px}.pill-group{display:flex;flex-wrap:wrap;gap:8px}.pill-group button{border:1px solid var(--line);padding:9px 14px;border-radius:6px;background:white;font-size:12px;min-height:38px}.pill-group button.active{border-color:var(--accent);background:var(--tint);color:var(--brand-link)}.hidden{display:none!important}.annotation-list{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.8}.legal{max-width:800px;margin:40px auto}.legal h2{margin:28px 0 15px}.legal p{margin:14px 0;color:var(--muted);font-size:15px}.help-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.help-card{padding:24px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}.help-card>.icon{color:var(--brand-link);margin-bottom:20px;width:24px;height:24px}.help-card h3{margin-bottom:10px}.help-card p{font-size:13px;color:var(--muted);margin-bottom:15px}.badge-number{background:var(--tint);color:var(--brand-link);padding:4px 8px;font-size:12px;border-radius:4px}.metric-label{font-size:12px;color:var(--muted);margin-bottom:10px}.activity-list .row{padding:13px 0;border-bottom:1px solid var(--line);font-size:13px;align-items:flex-start}.activity-list p{font-size:12px;color:var(--muted)}.activity-list .avatar{width:28px;height:28px;font-size:10px}.selection-bar{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0;font-size:13px}.inspector-hint{font-size:11px;color:var(--muted);line-height:1.7;margin-top:10px}.full-span{grid-column:1/-1}.divider{height:1px;background:var(--line);margin:18px 0}.editor-main{max-width:none;padding:0}.editor-status{font-size:11px;color:#5a7765;display:flex;gap:6px;align-items:center}.editor-status .icon{width:14px;height:14px}.admin-banner{margin-bottom:20px}.data-control{font-size:12px;color:var(--muted);margin-top:20px}.toast .icon{margin-top:1px}.budget-number{font-variant-numeric:tabular-nums}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.canvas-frame[data-tool=brush]{cursor:crosshair}.quote-block{border-left:2px solid var(--accent);padding-left:18px;font-size:15px;line-height:1.7;color:var(--ink)}.resource-search{margin-bottom:25px}.preset-filter{filter:var(--photo-filter,none)}
@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes toast-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(min-width:1700px){:root{--editor-rail-w:0px;--editor-inspector-w:335px}.projects-grid{grid-template-columns:repeat(4,1fr)}.welcome-banner{min-height:290px}.banner-copy{padding:40px}.banner-copy h2{font-size:32px}.project-photo{aspect-ratio:1.5}.editor-layout{grid-template-columns:minmax(0,1fr) var(--editor-inspector-w,335px)}}
@media(max-width:1200px){:root{--editor-rail-w:0px;--editor-inspector-w:265px}.shell{grid-template-columns:200px minmax(0,1fr)}.sidebar{width:200px;padding-inline:13px}.brand{font-size:25px}.topbar{padding:0 25px}.main{padding:28px 25px}.projects-grid{gap:15px;grid-template-columns:repeat(2,minmax(0,1fr))}.stats{gap:10px}.stat{padding:16px}.stat .stat-icon{display:none}.two-cols{grid-template-columns:minmax(0,1fr) 280px}.editor-layout{grid-template-columns:minmax(0,1fr) var(--editor-inspector-w,265px)}.canvas-work{padding:14px}.inspector-section{padding:15px}.room-grid{grid-template-columns:repeat(2,1fr)}.hero{gap:35px}.public-links{gap:14px}.sim-running{left:220px}.sidebar .nav-link.active:before{left:13px}}
@media(max-width:950px){:root{--editor-rail-w:0px;--editor-inspector-w:0px}.shell{grid-template-columns:78px minmax(0,1fr)}.sidebar{width:78px;padding:28px 10px}.sidebar .brand{justify-content:center}.sidebar .brand>span,.sidebar .brand>strong,.workspace-switch,.nav-label,.sidebar .nav-link>span,.sidebar .credit-card,.sidebar .profile>div:not(.avatar){display:none}.sidebar .nav-link{justify-content:center;padding:12px;margin:8px 0}.sidebar .brand{margin-bottom:30px}.sidebar .nav-link.active:before{left:8px}.sidebar .profile{justify-content:center;padding:0}.side-bottom{padding-top:15px}.banner-copy{padding:23px}.banner-copy h2{font-size:23px}.banner-copy p{font-size:12px}.catalog-grid{grid-template-columns:repeat(2,1fr)}.sim-running{left:95px}.two-cols{grid-template-columns:1fr}.two-cols>.stack{display:grid;grid-template-columns:1fr 1fr}.public-links{display:none}.public-main{padding:0 28px}.hero{grid-template-columns:1fr 1fr;gap:25px}.hero h1{font-size:43px}.three-cols,.help-grid{grid-template-columns:repeat(2,1fr)}.editor-layout{height:auto;min-height:calc(100vh - 78px);grid-template-columns:1fr;grid-template-rows:460px 100px auto}.inspector{grid-row:3;grid-column:1;display:grid;grid-template-columns:1fr 1fr;overflow:visible}.inspector-header{grid-column:1/-1}.inspector-footer{position:static;grid-column:1/-1}.filmstrip{grid-column:1}.artboard img{max-height:330px}.topbar .breadcrumbs span:first-child{display:none}.welcome-banner{grid-template-columns:1.3fr 1fr}.stats{grid-template-columns:repeat(4,1fr)}.stat strong{font-size:24px}}
@media(max-width:640px){.shell{display:block}.sidebar{transform:translateX(-100%);width:240px;transition:transform .2s;box-shadow:var(--shadow)}.sidebar.open{transform:none}.sidebar.open .brand>strong,.sidebar.open .brand>span,.sidebar.open .nav-link>span,.sidebar.open .credit-card,.sidebar.open .profile>div,.sidebar.open .nav-label{display:block}.sidebar.open .brand{justify-content:flex-start;padding:0 12px}.sidebar.open .nav-link{justify-content:flex-start}.sidebar.open .profile{justify-content:flex-start;padding:12px}.sidebar.open .side-bottom{padding-top:0}.sidebar.open .credit-card{margin-top:10px}.mobile-menu{display:inline-flex}.topbar{padding:0 14px;height:65px;gap:8px}.topbar .breadcrumbs{font-size:12px;gap:5px}.top-actions{gap:3px}.top-actions .tag{font-size:10px;padding:5px}.top-actions>.btn{font-size:11px;min-height:36px;padding:7px 9px}.top-actions>.avatar{display:none}.topbar .breadcrumbs .icon{display:none}.topbar.editor-topbar{flex-wrap:wrap;height:auto;min-height:105px;padding:10px 12px}.main{padding:24px 18px 40px}.page-title{align-items:flex-start;gap:15px;flex-wrap:wrap;margin-bottom:24px}.page-title h1{font-size:27px}.page-title p{font-size:13px}.page-title>.row{width:100%}.page-title>.row .btn{flex:1}.welcome-banner{grid-template-columns:1fr;position:relative;min-height:255px}.banner-copy{padding:26px;z-index:2;max-width:80%;background:linear-gradient(90deg,#e9edeb 68%,#e9edeb00)}.banner-copy h2{font-size:25px}.banner-copy p{max-width:230px}.banner-image{position:absolute;inset:0 0 0 40%;height:100%;opacity:.6}.banner-image .tag{display:none}.stats{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:27px}.stat{padding:15px}.stat .stat-icon{display:block;padding:6px}.stat .stat-icon .icon{width:17px;height:17px}.stat strong{font-size:24px;margin:6px 0}.stat small{font-size:10px}.section-heading{flex-wrap:wrap;gap:8px}.section-heading h2{font-size:18px}.tabs{gap:20px}.filters{gap:8px;flex-wrap:wrap}.filters>.row{width:100%;justify-content:space-between}.search{max-width:none}.projects-grid{grid-template-columns:1fr;gap:18px}.project-photo{aspect-ratio:1.6}.new-card{min-height:180px}.projects-grid.list .project-card{grid-template-columns:110px 1fr}.projects-grid.list .project-photo{height:100%}.projects-grid.list .photo-count,.projects-grid.list .project-photo>.tag{display:none}.card-body h3{font-size:15px}.two-cols>.stack{display:flex}.three-cols,.help-grid,.catalog-grid{grid-template-columns:1fr}.panel{padding:20px}.room-grid{grid-template-columns:1fr 1fr;gap:10px}.room-tile .tile-info{padding:10px}.room-tile .tile-actions{padding:0 10px 10px}.room-tile .btn{font-size:11px;min-height:36px;padding:6px 8px}.form-grid{grid-template-columns:1fr;gap:0}.stepper{gap:13px;font-size:11px;flex-wrap:wrap}.stepper span{gap:5px}.stepper b{width:22px;height:22px}.upload-item{flex-wrap:wrap}.upload-item img{width:55px}.upload-item select{max-width:120px}.editor-layout{min-height:calc(100vh - 105px);grid-template-rows:330px 94px auto;grid-template-columns:1fr}.canvas-work{padding:10px 8px}.canvas-toolbar{flex-wrap:wrap;font-size:10px;margin-bottom:8px}.canvas-toolbar .tag{font-size:9px}.canvas-toolbar>.row{gap:5px}.artboard img{max-height:225px}.canvas-label{font-size:8px;padding:5px;bottom:5px;left:5px}.tool-rail{gap:3px;padding:8px 0}.tool-rail .icon-btn{width:38px;height:38px}.tool-rail .icon{width:17px}.filmstrip{padding:8px}.film-item img{width:76px;height:46px}.inspector{display:block}.style-grid{grid-template-columns:repeat(3,1fr)}.style-tile img{height:70px}.inspector-section{padding:20px}.inspector-footer{position:sticky;z-index:4;padding:12px 20px}.inspector-hint{font-size:11px}.sim-running{left:12px;bottom:12px;width:calc(100% - 24px)}#toasts{left:14px;right:14px;bottom:18px;max-width:none}.public-nav{padding:17px 20px}.public-nav .brand{font-size:25px}.public-nav>.row .btn{font-size:12px;padding:9px}.public-nav>.row .btn.ghost{display:none}.public-main{padding:0 22px}.hero{grid-template-columns:1fr;gap:30px;padding:40px 0}.hero h1{font-size:45px;letter-spacing:-2px}.hero p{font-size:15px;margin:20px 0}.hero .compare-view img{aspect-ratio:1.15}.trust-strip{flex-direction:column;gap:14px}.public-section{padding:38px 0}.public-section>h2{font-size:28px}.final-cta{padding:28px;flex-direction:column;align-items:flex-start}.final-cta h2{font-size:28px}.public-footer{flex-direction:column;gap:18px}.public-footer nav{flex-wrap:wrap}.review-shell{padding:20px 15px}.review-header{flex-wrap:wrap}.review-header .brand{font-size:23px}.compare-view .tag{font-size:10px}.selection-bar{flex-wrap:wrap}.section-heading>.row{flex-wrap:wrap}.support-hero{padding:25px}.table-wrap{max-width:100%}.auth{margin:30px auto}.dialog-header{padding:18px 20px 12px}.dialog-body{padding:5px 20px 20px}.dialog-footer{padding:15px 20px}.dialog-footer .btn{flex:1;font-size:12px}.not-found h1{font-size:50px}.bottom-note{text-align:center;align-items:flex-start;line-height:1.6}.upload-zone{padding:28px 14px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.sidebar,.topbar,.btn,.icon-btn,.sim-running,#toasts,.tool-rail,.inspector,.filmstrip{display:none!important}.shell,.app-body{display:block}.main{padding:0}.panel{break-inside:avoid}.compare-view>img{max-height:none}}
/* Dark theme: the image stays true; the surrounding workspace adapts. */
:root[data-theme="dark"]{--green:#90ceb0}
[data-theme="dark"] .btn{background:var(--surface);color:var(--ink)}[data-theme="dark"] .btn.primary{background:var(--accent);color:var(--brand-on-action);border-color:var(--accent)}[data-theme="dark"] .btn.primary:hover{background:var(--accent-hover)}[data-theme="dark"] .btn.dark{background:var(--surface);color:var(--ink);border-color:var(--line)}[data-theme="dark"] .btn.ghost{background:transparent}[data-theme="dark"] .btn:hover{background:var(--tint)}[data-theme="dark"] .btn.danger{color:#ffb1a9;border-color:#975047}[data-theme="dark"] .icon-btn:hover{background:var(--tint)}[data-theme="dark"] .icon-btn.active{background:var(--tint);color:var(--brand-link)}
[data-theme="dark"] .panel,[data-theme="dark"] .project-card,[data-theme="dark"] .room-tile,[data-theme="dark"] .catalog-card,[data-theme="dark"] .plan-card,[data-theme="dark"] .help-card,[data-theme="dark"] .table-wrap,[data-theme="dark"] .empty,[data-theme="dark"] .style-tile,[data-theme="dark"] .version,[data-theme="dark"] .film-item,[data-theme="dark"] .scenario,[data-theme="dark"] .object-button{background:var(--surface);color:var(--ink)}
[data-theme="dark"] .search,[data-theme="dark"] .field input,[data-theme="dark"] .field textarea,[data-theme="dark"] .field select,[data-theme="dark"] select.control,[data-theme="dark"] .upload-item select{background:var(--surface);color:var(--ink);border-color:var(--line)}[data-theme="dark"] input::placeholder,[data-theme="dark"] textarea::placeholder{color:var(--muted)}
[data-theme="dark"] .welcome-banner{background:var(--surface)}[data-theme="dark"] .banner-copy p{color:var(--ink)}[data-theme="dark"] .banner-image:before{background:linear-gradient(90deg,#263930,transparent 35%)}[data-theme="dark"] .banner-copy h2{color:var(--ink)}[data-theme="dark"] .new-card{background:var(--surface);border-color:var(--line);color:var(--ink)}[data-theme="dark"] .new-card p{color:var(--ink)}[data-theme="dark"] .stat .stat-icon{color:var(--ink)}[data-theme="dark"] .card-bottom{border-color:var(--line)}[data-theme="dark"] .mini-avatars span{border-color:var(--surface)}[data-theme="dark"] .project-photo>.tag{background:var(--surface);color:var(--ink)}[data-theme="dark"] .project-photo .card-menu{background:var(--surface)}
[data-theme="dark"] .tag{background:var(--surface);color:var(--ink)}[data-theme="dark"] .tag.outline{background:transparent;color:var(--ink)}[data-theme="dark"] .tag.green{background:var(--surface);color:var(--ink)}[data-theme="dark"] .tag.orange{background:var(--surface);color:var(--ink)}[data-theme="dark"] .tag.red{background:var(--surface);color:var(--ink)}[data-theme="dark"] .tag.blue{background:var(--surface);color:var(--ink)}[data-theme="dark"] .tag.dark{background:var(--surface);color:var(--ink)}[data-theme="dark"] .tab small{background:var(--surface);color:var(--muted)}[data-theme="dark"] .toggle{background:var(--surface)}[data-theme="dark"] .toggle button.active{background:var(--tint);color:var(--brand-on-action)}
[data-theme="dark"] .note{background:var(--surface);color:var(--ink)}[data-theme="dark"] .note.warning{background:#403326;color:#ebcaa2}[data-theme="dark"] .note.error{background:#432a28;color:#ffbdb4}[data-theme="dark"] .upload-zone{background:var(--surface);border-color:var(--line)}[data-theme="dark"] .upload-zone.dragover{background:var(--surface)}[data-theme="dark"] .upload-zone .icon{color:var(--ink)}[data-theme="dark"] .stepper b{background:var(--surface);color:var(--ink)}[data-theme="dark"] .stepper .active b{background:var(--accent);color:var(--ink)}
[data-theme="dark"] .editor-layout,[data-theme="dark"] .canvas-work{background-color:var(--bg);background-image:radial-gradient(#3a4950 .6px,transparent .6px)}[data-theme="dark"] .tool-rail,[data-theme="dark"] .inspector,[data-theme="dark"] .inspector-footer,[data-theme="dark"] .filmstrip,[data-theme="dark"] .canvas-controls .row{background:var(--surface);border-color:var(--line)}[data-theme="dark"] .canvas-toolbar .tag{background:var(--surface)}[data-theme="dark"] .editor-status{color:#acd0b9}[data-theme="dark"] .compare-view .tag{color:white}[data-theme="dark"] .timeline-item:before{border-color:var(--surface);background:var(--surface)}[data-theme="dark"] th{background:var(--surface)}[data-theme="dark"] td{border-color:var(--line)}[data-theme="dark"] .progress{background:var(--surface)}[data-theme="dark"] .comment{background:var(--surface)}[data-theme="dark"] .quote-block{color:var(--ink)}[data-theme="dark"] .selection-bar{background:var(--surface);border-color:var(--line)}[data-theme="dark"] .object-button.selected{background:var(--tint)}[data-theme="dark"] .pill-group button{background:var(--surface);color:var(--ink)}[data-theme="dark"] .pill-group button.active{background:var(--tint)}
[data-theme="dark"] .public-body{background:var(--bg)}[data-theme="dark"] .public-nav{background:var(--surface)}[data-theme="dark"] .public-nav .brand,[data-theme="dark"] .review-shell .brand{color:var(--ink)}[data-theme="dark"] .trust-strip{color:var(--ink)}[data-theme="dark"] .support-hero{background:var(--surface)}[data-theme="dark"] .final-cta{background:var(--surface)}[data-theme="dark"] dialog{background:var(--surface);color:var(--ink)}[data-theme="dark"] .dialog-footer{background:var(--surface)}[data-theme="dark"] .dialog-body .quote-summary{background:var(--surface)}[data-theme="dark"] .scenario:hover{background:var(--tint)}[data-theme="dark"] .skeleton{background:linear-gradient(90deg,#253138,#3b4b52,#253138);background-size:200% 100%}[data-theme="dark"] .skip{background:var(--surface)}[data-theme="dark"] .card-menu{background:var(--surface);color:var(--ink)}
@media(max-width:640px){[data-theme="dark"] .banner-copy{background:linear-gradient(90deg,#263930 68%,#26393000)}}
/* Shared, theme-aware scrolling matching the Forma Studio design system */
* {
  scrollbar-width: thin;
  scrollbar-color: rgba(32, 38, 41, 0.24) transparent;
}
*::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}
*::-webkit-scrollbar-track {
  background: transparent;
}
*::-webkit-scrollbar-thumb {
  background: var(--surface);
  border-radius: 9999px;
  border: 1px solid transparent;
  background-clip: padding-box;
  transition: background 0.18s ease;
}
*::-webkit-scrollbar-thumb:hover {
  background: var(--accent);
  background-clip: padding-box;
}
[data-theme="dark"] * {
  scrollbar-color: rgba(255, 255, 255, 0.22) transparent;
}
[data-theme="dark"] *::-webkit-scrollbar-thumb {
  background: var(--surface);
  background-clip: padding-box;
}
[data-theme="dark"] *::-webkit-scrollbar-thumb:hover {
  background: var(--accent);
  background-clip: padding-box;
}
*::-webkit-scrollbar-corner {
  background: transparent;
}

/* EZ Mode Custom Scrollbars matching the Dark Warm Accent Staging Palette */
.try-page-shell * {
  scrollbar-width: thin;
  scrollbar-color: rgba(112, 180, 224, 0.32) transparent;
}
.try-page-shell *::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}
.try-page-shell *::-webkit-scrollbar-track {
  background: transparent;
}
.try-page-shell *::-webkit-scrollbar-thumb {
  background: var(--surface);
  border-radius: 9999px;
  transition: background 0.18s ease;
}
.try-page-shell *::-webkit-scrollbar-thumb:hover {
  background: var(--accent);
}
.editor-queue{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin-top:12px;flex-shrink:0;overflow:hidden}.editor-queue-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid var(--line);min-height:46px}.editor-queue-head h3{font-size:12px;font-weight:600}.editor-queue-head .row{gap:8px}.editor-queue-head .icon{width:16px;height:16px}.editor-queue-head .tag{font-size:10px;padding:3px 6px}.editor-queue-head .text-link{font-size:11px;min-height:25px}.editor-queue-head .icon-btn{width:28px;height:28px}.editor-queue-items{max-height:145px;overflow:auto}.editor-queue-empty{display:flex;align-items:center;gap:13px;padding:15px;color:var(--muted)}.editor-queue-empty>.icon{width:24px;height:24px;color:var(--brand-link)}.editor-queue-empty strong{font-size:12px;color:var(--ink);font-weight:500}.editor-queue-empty p{font-size:11px;margin-top:4px}.editor-job{display:flex;align-items:center;gap:10px;padding:9px 12px;border-bottom:1px solid var(--line)}.editor-job:last-child{border:0}.editor-job-thumb{width:51px;flex-shrink:0}.editor-job-thumb img{width:51px;height:37px;border-radius:4px}.editor-job-main{flex:1;min-width:0}.editor-job-main strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.editor-job-main .tag{font-size:9px;padding:3px 5px}.editor-job-main .tag .icon{width:12px;height:12px}.editor-job-detail{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:4px}.editor-job-detail>span{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.editor-job-detail .progress{width:75px;min-width:50px;height:3px}.editor-job-action{min-width:44px;display:flex;justify-content:flex-end}.editor-job-action .btn{font-size:10px;min-height:28px;padding:5px 7px}.editor-job-action .btn .icon{width:13px}.canvas-work .artboard img{max-height:calc(100vh - 420px)}
.output-workbench{display:grid;grid-template-columns:minmax(0,1fr) 65px 290px;border:1px solid var(--line);border-radius:11px;background:var(--surface);overflow:hidden;min-height:580px}.output-stage{padding:20px;background:var(--bg);min-width:0}.output-stage-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:18px}.output-stage-top .tag{font-size:11px}.output-stage-top .small{font-size:10px}.output-stage .compare-view{border-radius:5px;box-shadow:0 2px 15px #203b2610}.output-stage .compare-view>img{max-height:500px;min-height:220px}.output-stage .compare-view+.row{flex-wrap:wrap;gap:8px}.output-stage .compare-view+.row>.small{font-size:10px}.output-stage-note{font-size:11px;line-height:1.7;color:var(--muted);display:flex;align-items:flex-start;gap:8px;margin-top:18px}.output-stage-note>.icon{width:15px;height:15px;margin-top:2px;flex-shrink:0}.output-tabs{border-inline:1px solid var(--line);display:flex;flex-direction:column;background:var(--surface);padding-top:9px;gap:2px}.output-tab{display:flex;flex-direction:column;align-items:center;gap:6px;justify-content:center;min-height:65px;border:0;border-left:3px solid transparent;background:transparent;color:var(--muted);padding:10px 3px}.output-tab .icon{width:19px;height:19px}.output-tab span{font-size:9px}.output-tab:hover{background:var(--bg);color:var(--ink)}.output-tab.active{background:var(--tint);color:var(--brand-link);border-left-color:var(--accent)}.output-side-panel{min-width:0;max-height:760px;overflow:auto;background:var(--surface)}.output-panel-head{display:flex;justify-content:space-between;align-items:center;padding:20px 18px;border-bottom:1px solid var(--line);gap:8px}.output-panel-head h2{font-size:15px}.output-panel-head .tag{font-size:10px}.output-panel-body{padding:20px 18px}.output-panel-body>.btn{font-size:12px}.output-panel-body textarea{min-height:90px;font-size:12px}.output-panel-body .field{font-size:12px}.output-panel-body .details-list{line-height:1.6}.output-region-canvas{display:flex;align-items:center;justify-content:center;min-height:300px;background:var(--bg);border-radius:6px}.output-region-canvas .artboard{width:100%;box-shadow:0 4px 20px #0001;border-radius:5px}.output-region-canvas .artboard>img{max-height:500px;object-fit:contain}.region-intro{padding:15px 0 25px}.region-intro>.icon{width:30px;height:30px;color:var(--brand-link);margin-bottom:20px}.region-intro h3{font-size:19px;font-weight:500;line-height:1.5;letter-spacing:-.4px}.region-intro p{font-size:13px;color:var(--muted);margin-top:13px}.output-history-item{display:flex;gap:11px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:7px;margin-bottom:11px}.output-history-item.active{border-color:var(--accent);background:var(--tint)}.output-history-item img{width:68px;height:55px;border-radius:4px}.output-history-item strong{font-size:12px}.output-history-item p{font-size:10px;color:var(--muted)}.output-history-item .tag{font-size:9px;margin-top:5px}.output-history-item .tag .icon{width:12px;height:12px}
.choice-field{min-width:0}.choice-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px;padding:11px 12px;min-height:44px;border:1px solid var(--line);background:var(--surface);border-radius:7px;text-align:left;font-size:13px}.choice-trigger:hover{border-color:var(--accent);background:var(--bg)}.choice-trigger>.icon{width:15px;height:15px;color:var(--muted)}.choice-trigger>span{flex:1;min-width:0}.choice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.choice-grid.two-options{grid-template-columns:repeat(2,1fr)}.choice-card{background:var(--surface);border:1px solid var(--line);border-radius:9px;overflow:hidden;padding:5px;text-align:left;position:relative}.choice-card:hover{border-color:var(--accent)}.choice-card.selected{border:2px solid var(--accent);padding:4px;background:var(--tint)}.choice-thumbnail{position:relative;border-radius:5px;overflow:hidden}.choice-thumbnail>img{height:105px;aspect-ratio:1.4;width:100%;object-fit:cover}.choice-thumbnail>span{position:absolute;bottom:7px;left:7px;display:flex;align-items:center;gap:5px;background:var(--surface);color:white;border-radius:4px;padding:5px 7px;font-size:11px}.choice-thumbnail>span .icon{width:16px;height:16px}.choice-caption{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:12px 7px;font-size:12px;font-weight:500;line-height:1.5}.choice-tick{width:20px;height:20px;border:1px solid var(--line);border-radius:5px;color:transparent;display:grid;place-items:center;flex-shrink:0}.choice-tick .icon{width:14px;height:14px}.choice-card.selected .choice-tick{background:var(--accent);border-color:var(--accent);color:white}.choice-symbol{display:grid;place-items:center;background:var(--bg);height:70px;border-radius:5px;color:var(--brand-link)}.choice-symbol .icon{width:26px;height:26px}.selected-direction{width:100%;height:104px;display:flex;align-items:flex-end;position:relative;border:2px solid var(--accent);border-radius:8px;overflow:hidden;padding:0;text-align:left}.selected-direction>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.selected-direction>span{position:relative;z-index:1;width:100%;background:linear-gradient(transparent,#18291ddd);padding:28px 12px 10px;color:white}.selected-direction strong{display:block;font-size:13px}.selected-direction small{display:block;font-size:10px;color:var(--muted)}.selection-check{position:absolute;top:8px;right:8px;width:20px;height:20px;border-radius:5px;background:var(--accent);color:white;display:grid;place-items:center;z-index:2}.selection-check>.icon{height:14px;width:14px}.brief-preview{width:100%;display:flex;align-items:flex-start;gap:8px;padding:12px;border:1px solid var(--line);border-radius:7px;background:var(--bg);text-align:left}.brief-preview>span{font-size:12px;line-height:1.65;color:var(--muted)}.brief-preview>.icon{height:16px;width:16px;color:var(--muted);flex-shrink:0;margin-top:2px}.popup-style-grid{grid-template-columns:repeat(3,1fr)}.popup-style-grid .style-tile img{height:110px}.popup-style-grid .style-tile span{font-size:12px;padding:12px}.tool-rail .icon-btn.active{position:relative}.tool-rail .icon-btn.active:after{content:'✓';position:absolute;right:1px;bottom:1px;font-size:8px;width:12px;height:12px;border-radius:3px;background:var(--accent);color:white}.filters .choice-field{margin:0;max-width:145px}.filters .choice-field>span:empty{display:none}.upload-item .choice-field{margin:0;width:140px;flex-shrink:0}.upload-item .choice-field>span{display:none}
.workflow-thumbnail{height:148px;position:relative;overflow:hidden;border-radius:7px;margin-bottom:20px;background:var(--bg)}.workflow-thumbnail>img{width:100%;height:100%;object-fit:cover}.workflow-thumb-label{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;gap:6px;padding:7px 9px;border-radius:5px;background:var(--surface);color:var(--muted);font-size:10px;font-weight:500}.workflow-thumb-label .icon{width:14px;height:14px}.workflow-selection{position:absolute;left:24%;top:33%;width:42%;height:40%;background:var(--surface);border:2px dashed var(--line);border-radius:5px}.workflow-result-badge{position:absolute;right:9px;top:9px;font-size:9px;color:white;background:#2e5648db;border-radius:4px;padding:6px}.meet-editors-section>.section-heading h2{font-size:32px}.editor-showcase-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:0;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:var(--bg)}.editor-showcase-photo{position:relative;min-height:350px}.editor-showcase-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.editor-showcase-photo>div{position:absolute;bottom:20px;left:20px}.editor-showcase-copy{padding:35px}.editor-showcase-copy h3{font-size:30px;font-weight:500;line-height:1.3;letter-spacing:-1px}.editor-showcase-copy>p{font-size:14px;color:var(--muted);margin:17px 0}.editor-showcase-copy>.small{font-size:11px}.expert-avatar-row{display:flex;align-items:center;margin:22px 0;gap:0}.expert-avatar{height:40px;width:40px;display:inline-grid;place-items:center;flex-shrink:0;border-radius:50%;background:var(--surface);color:var(--ink);border:3px solid var(--surface);font-size:11px;font-weight:600;letter-spacing:.3px}.expert-avatar:nth-child(2){background:var(--surface);color:var(--ink)}.expert-avatar:nth-child(3){background:var(--surface);color:var(--ink)}.expert-avatar-row>.expert-avatar{margin-right:-9px}.expert-avatar-row>span:last-child:not(.expert-avatar){font-size:12px;line-height:1.5;margin-left:22px}.expert-avatar-row small{font-size:10px}.expert-profile>.content>.row h3{font-size:15px;margin-bottom:3px}.output-expert-card{position:relative;border:1px solid var(--line);border-radius:8px;padding:17px;margin-top:24px;background:var(--surface);display:flex;gap:14px;align-items:center;flex-wrap:wrap}.expert-avatar-pair{display:flex;align-items:center}.expert-avatar-pair .expert-avatar{height:32px;width:32px;font-size:9px;margin-right:-10px}.expert-avatar-pair{margin-right:7px}.output-expert-copy{flex:1;min-width:180px}.output-expert-copy>.eyebrow{font-size:8px;letter-spacing:1.5px;margin-bottom:7px;color:var(--brand-link)}.output-expert-copy h3{font-size:14px;font-weight:500;line-height:1.5;letter-spacing:-.2px}.output-expert-copy>p:not(.eyebrow){font-size:11px;color:var(--muted);line-height:1.7;margin-top:5px}.output-expert-card>.btn{font-size:11px;min-height:36px;padding:8px 10px}.expert-demo-caption{flex-basis:100%;font-size:9px;color:var(--muted);text-align:right;margin-top:-5px}.finishing-request{display:grid;grid-template-columns:210px minmax(0,1fr);gap:25px}.finishing-request>div>img{width:100%;aspect-ratio:1.3;object-fit:cover;border-radius:8px;margin-bottom:10px}.finishing-request h2{font-size:20px}.finishing-progress{display:flex;gap:14px;margin:23px 0;flex-wrap:wrap}.finishing-progress>span{display:flex;gap:6px;align-items:center;font-size:10px;color:var(--muted)}.finishing-progress b{width:19px;height:19px;border-radius:50%;display:grid;place-items:center;background:var(--bg);font-size:9px}.finishing-progress .active{color:var(--green)}.finishing-progress .active b{background:var(--green);color:var(--surface)}
[data-theme="dark"] .choice-trigger{border-color:var(--line)}[data-theme="dark"] .choice-tick{border-color:var(--line)}[data-theme="dark"] .choice-card.selected .choice-tick,[data-theme="dark"] .selection-check,[data-theme="dark"] .tool-rail .icon-btn.active:after{color:var(--brand-on-action)}[data-theme="dark"] .workflow-thumb-label{background:var(--surface);color:var(--muted)}[data-theme="dark"] .expert-avatar{border-color:var(--surface)}
@media(min-width:1600px){.output-workbench{grid-template-columns:minmax(0,1fr) 70px 320px}.output-expert-card{flex-wrap:nowrap}.expert-demo-caption{display:none}}
@media(max-width:1200px){.output-workbench{grid-template-columns:minmax(0,1fr) 58px 260px}.output-stage{padding:15px}.output-panel-body{padding:17px 15px}.output-panel-head{padding:18px 15px}.public-links{gap:15px;font-size:12px}.editor-showcase-copy{padding:26px}.editor-showcase-copy h3{font-size:27px}.editor-queue-head h3{font-size:11px}}
@media(max-width:950px){.editor-layout{grid-template-rows:560px 100px auto}.canvas-work .artboard img{max-height:280px}.output-workbench{grid-template-columns:minmax(0,1fr) 58px}.output-stage{grid-column:1;grid-row:1}.output-tabs{grid-column:2;grid-row:1/3}.output-side-panel{grid-column:1;grid-row:2;border-top:1px solid var(--line);max-height:none}.output-panel-body{display:block;padding:20px}.output-panel-body .field{max-width:100%}.output-panel-body .object-button{display:inline-flex;max-width:31%;margin-right:2%;font-size:11px}.output-panel-body .object-button .icon{width:15px}.editor-showcase-grid{grid-template-columns:1fr 1fr}.finishing-request{grid-template-columns:160px minmax(0,1fr)}}
@media(max-width:640px){.editor-layout{grid-template-rows:430px 90px auto}.canvas-work .artboard img{max-height:200px}.editor-queue{margin-top:7px}.editor-queue-head{padding:7px 9px}.editor-queue-head h3{font-size:10px}.editor-queue-head .tag{font-size:8px}.editor-queue-head .row{gap:5px}.editor-queue-head>.row:last-child .text-link{display:none}.editor-queue-items{max-height:98px}.editor-queue-empty{padding:10px;gap:8px}.editor-queue-empty strong{font-size:10px}.editor-queue-empty p{font-size:9px}.editor-queue-empty .icon{width:18px}.editor-job{padding:7px 8px;gap:6px}.editor-job-thumb,.editor-job-thumb img{width:35px}.editor-job-thumb img{height:30px}.editor-job-main strong{font-size:9px;max-width:90px}.editor-job-main .tag{font-size:8px}.editor-job-detail>span{font-size:8px}.editor-job-detail .progress{display:none}.editor-job-action .btn{font-size:9px}.editor-job-action .btn .icon{display:none}.editor-job-action{min-width:32px}.output-workbench{grid-template-columns:minmax(0,1fr) 49px;border-radius:8px}.output-stage{padding:11px}.output-stage-top{flex-wrap:wrap;margin-bottom:12px}.output-stage-top .tag{font-size:9px}.output-stage-top .small{font-size:9px}.output-stage .compare-view>img{min-height:120px}.output-tab{min-height:60px;padding:10px 2px}.output-tab span{font-size:8px}.output-tab .icon{width:17px}.output-stage .compare-view+.row>.row{gap:5px}.output-stage .compare-view+.row .btn{font-size:10px;padding:5px 7px;min-height:30px}.output-stage .compare-view+.row .btn .icon{width:12px}.output-stage .compare-view+.row>.small{font-size:9px}.output-stage-note{font-size:10px}.output-expert-card{padding:13px;gap:10px}.output-expert-copy{min-width:130px}.output-expert-copy h3{font-size:13px}.output-expert-copy>p:not(.eyebrow){font-size:10px}.output-expert-card>.btn{width:100%;font-size:11px}.expert-demo-caption{font-size:8px;margin-top:0}.expert-avatar-pair{display:none}.output-panel-head{padding:17px 14px}.output-panel-body{padding:17px 14px}.output-panel-body .object-button{max-width:none;width:100%;display:flex;font-size:12px}.output-region-canvas{min-height:150px}.output-region-canvas .artboard>img{max-height:260px}.choice-grid,.choice-grid.two-options{grid-template-columns:repeat(2,1fr)}.choice-thumbnail>img{height:95px}.choice-caption{font-size:11px;padding:10px 6px}.choice-thumbnail>span{font-size:9px}.choice-tick{height:17px;width:17px}.popup-style-grid{grid-template-columns:repeat(2,1fr)}.popup-style-grid .style-tile img{height:105px}.selected-direction{height:130px}.inspector .form-grid{grid-template-columns:1fr 1fr;gap:12px}.inspector-section{padding:16px 20px}.inspector-section>h3{font-size:13px}.upload-item .choice-field{width:130px}.editor-showcase-grid{grid-template-columns:1fr}.editor-showcase-photo{min-height:260px}.editor-showcase-copy{padding:26px}.editor-showcase-copy h3{font-size:28px}.editor-showcase-copy>p{font-size:14px}.meet-editors-section>.section-heading h2{font-size:29px}.workflow-thumbnail{height:180px}.finishing-request{grid-template-columns:1fr}.finishing-request>div>img{aspect-ratio:1.6;max-height:250px}.finishing-progress{gap:8px}.finishing-progress>span{font-size:9px}}

/* =========================================================================
   PHOTOSHOP-STYLE LAYERS & REGIONS SIDETAB (PTS PANEL)
   ========================================================================= */
.pts-panel {
  display: flex;
  flex-direction: column;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 9px;
  overflow: hidden;
  font-size: 11px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
}
.pts-tab-bar {
  display: flex;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
  padding: 0;
  gap: 1px;
}
:root[data-theme="light"] .pts-tab-bar, .light .pts-tab-bar {
  background: var(--surface);
  border-bottom: 1px solid var(--line);
}
.pts-tab-btn {
  flex: 1;
  padding: 8px 10px;
  background: transparent;
  border: 0;
  border-bottom: 2px solid transparent;
  color: var(--ink);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.3px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  transition: all 0.15s;
}
.pts-tab-btn:hover {
  color: var(--brand-on-action);
  background: var(--tint);
}
:root[data-theme="light"] .pts-tab-btn, .light .pts-tab-btn {
  color: var(--ink);
}
:root[data-theme="light"] .pts-tab-btn:hover, .light .pts-tab-btn:hover {
  color: var(--ink);
  background: var(--tint);
}
.pts-tab-btn.active {
  color: var(--brand-on-action);
  background: var(--tint);
  border-bottom-color: var(--line);
}
:root[data-theme="light"] .pts-tab-btn.active, .light .pts-tab-btn.active {
  color: var(--brand-on-action);
  background: var(--surface);
  border-bottom-color: var(--line);
}
.pts-controls-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 10px;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
  gap: 8px;
}
:root[data-theme="light"] .pts-controls-bar, .light .pts-controls-bar {
  background: var(--surface);
  border-bottom: 1px solid var(--line);
}
.pts-blend-select {
  background: var(--surface);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 4px 7px;
  font-size: 11px;
  cursor: pointer;
  max-width: 115px;
}
:root[data-theme="light"] .pts-blend-select, .light .pts-blend-select {
  background: var(--surface);
  color: var(--ink);
  border-color: var(--line);
}
.pts-opacity-wrap {
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--ink);
  font-size: 10px;
}
.pts-opacity-badge {
  background: #14191d;
  color: #38bdf8;
  border: 1px solid #3d4951;
  padding: 2px 7px;
  border-radius: 3px;
  font-family: monospace;
  font-size: 10px;
}
:root[data-theme="light"] .pts-opacity-badge, .light .pts-opacity-badge {
  background: var(--surface);
  color: #0284c7;
  border-color: #cbd5e1;
}
.pts-lock-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 10px;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  font-size: 10px;
}
:root[data-theme="light"] .pts-lock-bar, .light .pts-lock-bar {
  background: var(--surface);
  border-bottom: 1px solid var(--line);
  color: var(--muted);
}
.pts-lock-icons {
  display: flex;
  align-items: center;
  gap: 8px;
}
.pts-lock-btn {
  background: transparent;
  border: 0;
  padding: 2px;
  color: inherit;
  cursor: pointer;
  border-radius: 2px;
  font-size: 11px;
  line-height: 1;
}
.pts-lock-btn:hover {
  color: var(--ink);
}
.pts-layer-list {
  display: flex;
  flex-direction: column;
  background: var(--surface);
  overflow-y: auto;
  max-height: 240px;
}
:root[data-theme="light"] .pts-layer-list, .light .pts-layer-list {
  background: var(--surface);
}
.pts-layer-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border-bottom: 1px solid var(--line);
  cursor: pointer;
  transition: background 0.12s;
  user-select: none;
  text-align: left;
  width: 100%;
  border-left: 3px solid transparent;
}
:root[data-theme="light"] .pts-layer-row, .light .pts-layer-row {
  border-bottom: 1px solid var(--line);
}
.pts-layer-row:hover {
  background: var(--tint);
}
:root[data-theme="light"] .pts-layer-row:hover, .light .pts-layer-row:hover {
  background: var(--tint);
}
.pts-layer-row.selected {
  background: var(--tint);
  color: var(--ink);
  border-left-color: var(--line);
}
:root[data-theme="light"] .pts-layer-row.selected, .light .pts-layer-row.selected {
  background: var(--tint);
  color: var(--ink);
  border-left-color: var(--line);
}
.pts-eye-btn {
  background: transparent;
  border: 0;
  padding: 2px;
  color: var(--ink);
  cursor: pointer;
  display: grid;
  place-items: center;
  width: 22px;
  height: 22px;
  border-radius: 3px;
  flex-shrink: 0;
}
.pts-eye-btn:hover {
  background: var(--tint);
  color: var(--brand-on-action);
}
:root[data-theme="light"] .pts-eye-btn:hover, .light .pts-eye-btn:hover {
  background: var(--tint);
  color: var(--ink);
}
.pts-eye-btn.hidden-mask {
  opacity: 0.25;
}
.pts-thumb {
  width: 38px;
  height: 28px;
  border-radius: 3px;
  background-color: var(--surface);
  background-image: linear-gradient(45deg, #1c2429 25%, transparent 25%),
                    linear-gradient(-45deg, #1c2429 25%, transparent 25%),
                    linear-gradient(45deg, transparent 75%, #1c2429 75%),
                    linear-gradient(-45deg, transparent 75%, #1c2429 75%);
  background-size: 8px 8px;
  background-position: 0 0, 0 4px, 4px -4px, -4px 0px;
  border: 1px solid var(--line);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  overflow: hidden;
}
:root[data-theme="light"] .pts-thumb, .light .pts-thumb {
  background-color: var(--surface);
  background-image: linear-gradient(45deg, #cbd5e1 25%, transparent 25%),
                    linear-gradient(-45deg, #cbd5e1 25%, transparent 25%),
                    linear-gradient(45deg, transparent 75%, #cbd5e1 75%),
                    linear-gradient(-45deg, transparent 75%, #cbd5e1 75%);
  border-color: var(--line);
}
.pts-thumb-shape {
  width: 70%;
  height: 60%;
  border-radius: 2px;
  opacity: 0.9;
}
.pts-thumb-shape.sofa { background: var(--surface); }
.pts-thumb-shape.table { background: var(--surface); border-radius: 50%; }
.pts-thumb-shape.wall { background: var(--surface); }
.pts-thumb-shape.lamp { background: var(--surface); border-radius: 50%; }
.pts-thumb-shape.base { width: 100%; height: 100%; background: var(--surface-hover); opacity: 0.45; }
.pts-layer-info {
  flex: 1;
  min-width: 0;
}
.pts-layer-title {
  font-weight: 600;
  font-size: 11px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: flex;
  align-items: center;
  gap: 5px;
}
.pts-layer-sub {
  font-size: 9px;
  color: var(--ink);
  margin-top: 1px;
  font-family: monospace;
}
:root[data-theme="light"] .pts-layer-sub, .light .pts-layer-sub {
  color: var(--muted);
}
.pts-layer-lock {
  font-size: 11px;
  color: var(--muted);
  margin-left: auto;
  flex-shrink: 0;
}
.pts-footer-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 3px;
  padding: 5px 8px;
  background: var(--surface);
  border-top: 1px solid var(--line);
}
:root[data-theme="light"] .pts-footer-bar, .light .pts-footer-bar {
  background: var(--surface);
  border-top: 1px solid var(--line);
}
.pts-footer-btn {
  width: 26px;
  height: 24px;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 4px;
  color: var(--ink);
  display: grid;
  place-items: center;
  cursor: pointer;
  font-size: 11px;
  transition: all 0.12s;
}
.pts-footer-btn:hover {
  background: var(--tint);
  color: var(--brand-on-action);
  border-color: var(--line);
}
:root[data-theme="light"] .pts-footer-btn:hover, .light .pts-footer-btn:hover {
  background: var(--tint);
  color: var(--ink);
  border-color: var(--line);
}
.pts-props-panel {
  padding: 13px;
  background: var(--surface);
  border-top: 1px solid var(--line);
}
.pts-props-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.pts-props-head h4 {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
}
.pts-op-pills {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 4px;
  margin-bottom: 12px;
}
.pts-op-pill {
  padding: 6px 3px;
  border: 1px solid var(--line);
  background: var(--bg);
  border-radius: 5px;
  font-size: 10px;
  font-weight: 500;
  cursor: pointer;
  text-align: center;
  transition: all 0.12s;
}
.pts-op-pill:hover {
  border-color: var(--accent);
}
.pts-op-pill.active {
  background: var(--tint);
  border-color: var(--accent);
  color: var(--brand-link);
  font-weight: 600;
}
.pts-swatches-grid {
  display: flex;
  align-items: center;
  gap: 7px;
  margin: 6px 0 12px;
  flex-wrap: wrap;
}
.pts-swatch {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  border: 2px solid var(--surface);
  outline: 1px solid var(--line);
  cursor: pointer;
  transition: transform 0.12s, outline-color 0.12s;
}
.pts-swatch:hover {
  transform: scale(1.18);
  outline-color: var(--accent);
}
.pts-swatch.active {
  outline: 2px solid var(--accent);
  transform: scale(1.18);
}
.pts-prompt-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 6px;
}
.pts-chip {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 2px 7px;
  font-size: 9px;
  color: var(--muted);
  cursor: pointer;
}
.pts-chip:hover {
  color: var(--ink);
  border-color: var(--accent);
}

/* --- Essential Canvas In-Place View & Minimal Rating Styles --- */
.editor-view-toggle {
  display: inline-flex;
  align-items: center;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 20px;
  padding: 2px;
  gap: 2px;
}
.editor-view-btn {
  border: none;
  background: transparent;
  padding: 4px 10px;
  border-radius: 16px;
  font-size: 11px;
  font-weight: 500;
  color: var(--muted);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  transition: all 0.15s ease;
}
.editor-view-btn svg {
  width: 12px;
  height: 12px;
}
.editor-view-btn:hover {
  color: var(--ink);
}
.editor-view-btn.active {
  background: var(--ink);
  color: var(--bg);
  box-shadow: 0 1px 3px rgba(0,0,0,0.15);
}
[data-theme="dark"] .editor-view-btn.active {
  background: var(--accent);
  color: var(--brand-on-action);
}
.canvas-rating-wrap {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: var(--bg);
  border: 1px solid var(--line);
  padding: 3px 8px;
  border-radius: 16px;
  font-size: 11px;
}
.canvas-rating-wrap .rating-label {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: var(--muted);
}
.canvas-stars {
  display: inline-flex;
  align-items: center;
  gap: 1px;
}
.canvas-star {
  background: none;
  border: none;
  padding: 0 1px;
  font-size: 14px;
  line-height: 1;
  color: var(--line);
  cursor: pointer;
  transition: transform 0.12s, color 0.12s;
}
.canvas-star:hover {
  transform: scale(1.25);
  color: var(--ink);
}
.canvas-star.active {
  color: var(--ink);
}
.canvas-rating-text {
  font-size: 10px;
  font-weight: 600;
  color: var(--ink);
}
.essential-rating-card {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 16px;
  margin-bottom: 16px;
  text-align: center;
}
.essential-rating-title {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--muted);
  margin-bottom: 8px;
}
.rating-stars-row {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin-bottom: 8px;
}
.rating-star-btn {
  background: none;
  border: none;
  padding: 2px;
  font-size: 26px;
  line-height: 1;
  color: var(--line);
  cursor: pointer;
  transition: transform 0.15s, color 0.15s;
}
.rating-star-btn:hover {
  transform: scale(1.25);
  color: var(--ink);
}
.rating-star-btn.filled {
  color: var(--ink);
}
.rating-caption {
  font-size: 12px;
  font-weight: 600;
  color: var(--ink);
}

.camera-hud-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 20;
  background: rgba(15, 23, 42, 0.85);
  backdrop-filter: blur(6px);
  color: var(--ink);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 8px;
  padding: 4px 10px;
  font-size: 11px;
  display: inline-flex;
  flex-direction: column;
  gap: 2px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
  pointer-events: none;
}
.camera-hud-badge .hud-coords {
  font-size: 10px;
  color: #94a3b8;
  font-family: monospace;
}

/* --- Studio Artboard Download Cluster --- */
.artboard-download-cluster {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 25;
  display: inline-flex;
  align-items: center;
  background: var(--surface);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.3);
  overflow: hidden;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

.artboard-download-cluster:hover {
  border-color: var(--line);
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.4);
}

.artboard-download-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  background: transparent;
  border: none;
  color: var(--brand-on-action);
  padding: 8px 10px;
  min-height: 34px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
  line-height: 1;
}

.artboard-download-btn:hover {
  background: var(--accent, #0E4872);
  color: var(--brand-on-action);
}

.artboard-download-btn:active {
  transform: scale(0.96);
}

.artboard-download-btn .icon {
  width: 17px;
  height: 17px;
}

.artboard-download-divider {
  width: 1px;
  height: 16px;
  background: var(--surface);
}

.artboard-download-opt-btn {
  padding: 8px 8px;
}

.artboard-download-opt-btn .icon {
  width: 13px;
  height: 13px;
}

@media (max-width: 640px) {
  .artboard-download-cluster {
    top: 8px;
    right: 8px;
    border-radius: 6px;
  }
  .artboard-download-btn {
    padding: 6px 8px;
    min-height: 30px;
  }
  .artboard-download-btn .icon {
    width: 15px;
    height: 15px;
  }
  .artboard-download-opt-btn {
    padding: 6px 6px;
  }
}

.result-actions-card {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 14px;
  margin-bottom: 16px;
}
/* --- 3D Orbit Camera Visualizer (WebGPU Orbit Style) --- */
.orbit-3d-wrap {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}
.multiview-head.compact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2px;
}
.multiview-head.compact h4 {
  font-size: 13px;
  font-weight: 600;
  margin: 0;
  color: var(--ink);
}
.multiview-head.compact p {
  font-size: 11px;
  margin: 0;
  color: var(--muted);
}
.accent-tag {
  background: var(--surface);
  color: var(--ink);
  border: 1px solid var(--line);
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 4px;
}
[data-theme="dark"] .accent-tag {
  color: var(--ink);
}

.orbit-stage-box {
  position: relative;
  width: 100%;
  height: 190px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
  box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.8), 0 4px 12px rgba(0, 0, 0, 0.3);
  user-select: none;
  touch-action: none;
}
#orbit-camera-canvas {
  display: block;
  width: 100%;
  height: 100%;
  cursor: grab;
}
#orbit-camera-canvas.grabbing {
  cursor: grabbing;
}

.orbit-prompt-pill {
  position: absolute;
  bottom: 8px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--surface);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid var(--line);
  border-radius: 9999px;
  padding: 3px 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  pointer-events: none;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.6), 0 0 10px rgba(0, 245, 196, 0.15);
  max-width: 94%;
}
.orbit-prompt-tag {
  color: var(--ink);
  font-family: 'JetBrains Mono', 'Fira Code', var(--font-mono, monospace);
  font-size: 10.5px;
  font-weight: 700;
  text-shadow: 0 0 6px rgba(0, 245, 196, 0.4);
}
.orbit-prompt-body {
  color: var(--ink);
  font-family: 'JetBrains Mono', 'Fira Code', var(--font-mono, monospace);
  font-size: 10.5px;
  font-weight: 500;
  overflow: hidden;
  text-overflow: ellipsis;
  text-shadow: 0 0 6px rgba(52, 211, 153, 0.35);
}

.orbit-controls-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 2px;
  font-size: 11px;
}
.orbit-readouts {
  display: flex;
  gap: 8px;
  color: var(--muted);
}
.orbit-readouts b {
  color: var(--ink);
  font-family: var(--font-mono, monospace);
  font-size: 11px;
}

.orbit-preset-chips {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5px;
}
.orbit-chip {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 28px;
  padding: 0 6px;
  background: var(--surface-2, rgba(255, 255, 255, 0.04));
  border: 1px solid var(--line);
  border-radius: 6px;
  font-size: 11px;
  color: var(--ink);
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.orbit-chip:hover:not(.active) {
  background: var(--surface-hover, rgba(255, 255, 255, 0.08));
  border-color: var(--line-hover, var(--line));
}
.orbit-chip.active {
  background: var(--tint);
  border-color: var(--line);
  color: var(--ink);
  font-weight: 600;
}
[data-theme="dark"] .orbit-chip.active {
  color: var(--ink);
}
.orbit-chip-glyph {
  font-size: 12px;
  opacity: 0.85;
}

.orbit-lens-chips {
  display: flex;
  align-items: center;
  gap: 4px;
}
.orbit-lens-btn {
  flex: 1;
  height: 24px;
  font-size: 10px;
  padding: 0 2px;
  border-radius: 5px;
  background: var(--surface-2, rgba(255, 255, 255, 0.04));
  border: 1px solid var(--line);
  color: var(--muted);
  cursor: pointer;
  text-align: center;
  transition: all 0.15s ease;
  white-space: nowrap;
}
.orbit-lens-btn:hover:not(.active) {
  background: var(--surface-hover, rgba(255, 255, 255, 0.08));
  color: var(--ink);
}
.orbit-lens-btn.active {
  background: var(--ink);
  color: var(--bg);
  border-color: var(--ink);
  font-weight: 600;
}

.orbit-action-wrap {
  margin-top: 4px;
}


/* --- Aspect Ratio Selector Pills --- */
.ratio-pill-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
  margin-top: 8px;
}
.ratio-pill {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 8px 4px;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.15s ease;
  color: var(--ink);
  text-align: center;
}
.ratio-pill:hover {
  border-color: var(--accent);
  color: var(--brand-link);
}
.ratio-pill.active {
  border-color: var(--accent);
  background: var(--tint);
  color: var(--brand-link);
  font-weight: 600;
  box-shadow: 0 0 0 1px var(--accent);
}
.ratio-icon {
  font-size: 15px;
  line-height: 1;
}
.ratio-name {
  font-size: 10px;
  white-space: nowrap;
}


/* Output Review Popup Modal */
dialog.output-dialog-modal {
  max-width: 1320px;
  width: 95vw;
  max-height: 92vh;
  height: 90vh;
  border-radius: 16px;
  border: 1px solid var(--line);
  box-shadow: 0 25px 90px rgba(0, 0, 0, 0.5);
  background: var(--surface);
  color: var(--ink);
  padding: 0;
  display: none;
  flex-direction: column;
  overflow: hidden;
  z-index: 1050;
}
dialog.output-dialog-modal[open] {
  display: flex;
}
dialog.output-dialog-modal::backdrop {
  background: var(--surface);
  backdrop-filter: blur(6px);
}
.output-modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 22px;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
  flex-shrink: 0;
  gap: 16px;
}
.output-modal-header h2 {
  font-size: 18px;
  font-weight: 700;
  margin: 0;
  color: var(--ink);
}
.output-modal-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}
.output-modal-close-btn {
  background: transparent;
  border: 1px solid var(--line);
  border-radius: 8px;
  width: 32px;
  height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  font-weight: 600;
  color: var(--muted);
  cursor: pointer;
  transition: all 0.15s ease;
}
.output-modal-close-btn:hover {
  background: var(--tint);
  color: var(--ink);
  border-color: var(--ink);
}
.output-modal-body {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: var(--bg);
  min-height: 0;
}
.output-workbench.modal-workbench {
  border: none;
  border-radius: 0;
  flex: 1;
  height: 100%;
  min-height: 0;
  background: var(--surface);
}
.output-workbench.modal-workbench .output-stage {
  overflow-y: auto;
  padding: 20px 24px;
}
.output-workbench.modal-workbench .output-side-panel {
  overflow-y: auto;
  max-height: none;
}
.output-modal-expert-bar .output-expert-card {
  margin-top: 0 !important;
}
[data-theme="dark"] .output-modal-expert-bar {
  background: var(--surface) !important;
  border-color: var(--line) !important;
}
[data-theme="dark"] dialog.output-dialog-modal {
  background: var(--surface);
  border-color: var(--line);
  color: var(--ink);
}
[data-theme="dark"] .output-modal-header {
  background: var(--surface);
  border-color: var(--line);
}
[data-theme="dark"] .output-modal-header h2 {
  color: var(--ink);
}
[data-theme="dark"] .output-modal-close-btn {
  border-color: var(--line);
  color: var(--ink);
}
[data-theme="dark"] .output-modal-close-btn:hover {
  background: var(--tint);
  color: var(--brand-on-action);
  border-color: var(--line);
}
[data-theme="dark"] .output-modal-body {
  background: var(--surface);
}
[data-theme="dark"] .output-workbench.modal-workbench {
  background: var(--surface);
}
[data-theme="dark"] .output-workbench.modal-workbench .output-side-panel {
  background: var(--surface);
  border-color: var(--line);
}


/* --- CALLOUT ANNOTATION & SEGMENTED OBJECT EDIT/DELETE STYLES --- */
.callout-chip-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 10px 0 14px;
}
.callout-chip {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 500;
  color: var(--ink);
  cursor: pointer;
  transition: all 0.15s ease;
}
.callout-chip:hover {
  background: var(--tint);
  border-color: var(--accent);
  color: var(--brand-link);
}

/* On-Canvas Floating Contextual Object Action Bar */
.canvas-object-toolbar {
  position: absolute;
  transform: translate(-50%, -100%);
  margin-top: -14px;
  background: var(--surface);
  backdrop-filter: blur(10px);
  border: 1px solid var(--line);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 255, 255, 0.1) inset;
  border-radius: 10px;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  z-index: 60;
  white-space: nowrap;
  animation: objBarPop 0.22s cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events: auto;
}
.canvas-object-toolbar::after {
  content: '';
  position: absolute;
  bottom: -6px;
  left: 50%;
  transform: translateX(-50%);
  border-width: 6px 6px 0;
  border-style: solid;
  border-color: var(--line) transparent transparent;
}
@keyframes objBarPop {
  0% { opacity: 0; transform: translate(-50%, -90%) scale(0.92); }
  100% { opacity: 1; transform: translate(-50%, -100%) scale(1); }
}
.obj-bar-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--ink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.3px;
  padding-right: 10px;
  border-right: 1px solid rgba(255, 255, 255, 0.18);
}
.obj-bar-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}
.obj-bar-actions .btn {
  font-size: 11px;
  padding: 4px 8px;
  height: 26px;
}
.obj-bar-actions .btn.danger {
  background: #dc2626;
  color: var(--brand-on-action);
  border-color: #ef4444;
}
.obj-bar-actions .btn.danger:hover {
  background: #b91c1c;
}

/* Segmented Regions Interactive States */
.mask-overlay .region {
  fill: rgba(56, 189, 248, 0.2);
  stroke: #38bdf8;
  stroke-width: 0.6;
  stroke-dasharray: 2 1.5;
  cursor: pointer;
  transition: all 0.2s ease;
  pointer-events: all;
}
.mask-overlay .region:hover {
  fill: rgba(56, 189, 248, 0.38);
  stroke: #0284c7;
  stroke-width: 0.9;
  stroke-dasharray: none;
}
.mask-overlay .region.selected {
  fill: rgba(244, 63, 94, 0.28);
  stroke: #f43f5e;
  stroke-width: 1.3;
  stroke-dasharray: none;
  filter: drop-shadow(0 0 6px rgba(244, 63, 94, 0.7));
}

/* Callout pin in SVG */
.annotation-callout-badge {
  cursor: pointer;
  transition: transform 0.15s ease;
}
.annotation-callout-badge:hover {
  filter: brightness(1.15);
}

/* Callout Manager in Inspector */
.callout-list-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 10px;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 8px;
  margin-top: 6px;
  font-size: 12px;
}
.callout-list-item strong {
  color: var(--brand-link);
  font-size: 11px;
}
.callout-list-item .callout-text-preview {
  flex: 1;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  color: var(--ink);
}

/* Selected Object Edit Panel in Inspector */
.object-edit-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 14px;
  margin-bottom: 14px;
}
.object-edit-card .obj-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.object-edit-card .obj-title-row strong {
  font-size: 13px;
  font-weight: 700;
}
.object-delete-box {
  background: var(--surface);
  border: 1px dashed var(--line);
  border-radius: 8px;
  padding: 10px 12px;
  margin-top: 12px;
}
.object-delete-box p {
  font-size: 11px;
  color: var(--muted);
  margin: 4px 0 8px;
  line-height: 1.4;
}

[data-theme="dark"] .callout-chip {
  background: var(--surface);
  border-color: var(--line);
  color: var(--ink);
}
[data-theme="dark"] .callout-chip:hover {
  background: var(--tint);
  border-color: var(--line);
  color: var(--ink);
}
[data-theme="dark"] .callout-list-item {
  background: var(--surface);
  border-color: var(--line);
}
[data-theme="dark"] .object-edit-card {
  background: var(--surface);
  border-color: var(--line);
}
[data-theme="dark"] .object-delete-box {
  background: var(--surface);
  border-color: var(--line);
}


/* Filmstrip Staged Output Badges & Quick Version Switching */
.filmstrip {
  grid-column: 1;
  grid-row: 2;
  display: flex;
  gap: 12px;
  align-items: center;
  background: white;
  border-top: 1px solid var(--line);
  padding: 6px 16px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  box-sizing: border-box !important;
  scrollbar-width: thin;
}
.filmstrip::-webkit-scrollbar {
  height: 4px;
}
.filmstrip::-webkit-scrollbar-track {
  background: transparent;
}
.filmstrip::-webkit-scrollbar-thumb {
  background: var(--surface);
  border-radius: 4px;
}
[data-theme="dark"] .filmstrip::-webkit-scrollbar-thumb {
  background: var(--surface);
}
.film-item-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  flex-shrink: 0;
}
.film-item {
  position: relative;
  display: block;
  text-decoration: none;
  padding: 2px !important;
  background: white;
  border: 1px solid var(--line);
  border-radius: 5px;
  flex-shrink: 0;
  box-sizing: border-box;
}
.film-item.active {
  border: 2px solid var(--accent);
}
.film-item img {
  width: 82px !important;
  height: 50px !important;
  border-radius: 3px;
  display: block;
}
.film-version-badge {
  position: absolute;
  top: 5px;
  right: 5px;
  background: rgba(15, 23, 42, 0.88);
  color: #38bdf8;
  border: 1px solid rgba(56, 189, 248, 0.45);
  font-size: 9px;
  font-weight: 700;
  padding: 1px 4px;
  border-radius: 3px;
  line-height: 1.2;
  backdrop-filter: blur(4px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.35);
}
.film-caption {
  font-size: 10px;
  display: block;
  text-align: left;
  margin-top: 2px;
  color: var(--ink);
  white-space: nowrap;
  line-height: 1.2;
}
.film-versions-quickbar {
  display: flex;
  gap: 3px;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.film-v-pill {
  padding: 1px 5px;
  font-size: 9px;
  font-weight: 600;
  border-radius: 3px;
  border: 1px solid var(--line);
  background: var(--bg);
  color: var(--muted);
  cursor: pointer;
  transition: all 0.15s ease;
  line-height: 1.3;
}
.film-v-pill:hover {
  border-color: var(--accent);
  color: var(--brand-link);
  background: var(--tint);
}
.film-v-pill.active {
  background: var(--accent);
  color: var(--ink);
  border-color: var(--accent);
  font-weight: 700;
}
.version-selector-strip .btn.sm {
  min-height: 28px;
  padding: 2px 8px;
  font-size: 11px;
}
[data-theme="dark"] .film-v-pill {
  background: var(--surface);
  border-color: var(--line);
  color: var(--ink);
}
[data-theme="dark"] .film-v-pill:hover {
  border-color: var(--accent);
  color: var(--brand-link);
}
[data-theme="dark"] .film-v-pill.active {
  background: var(--accent);
  color: var(--ink);
  border-color: var(--accent);
}


/* =========================================================================
   STREAMLINED COMPACT INSPECTOR — ZERO VERTICAL SCROLLING
   ========================================================================= */
.inspector {
  grid-column: 2;
  grid-row: 1/3;
  background: white;
  border-left: 1px solid var(--line);
  overflow: hidden;
  scrollbar-width: none;
  display: flex;
  flex-direction: column;
  height: 100%;
  max-height: 100%;
}
.inspector::-webkit-scrollbar {
  display: none;
}
.inspector-header {
  padding: 6px 12px;
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
}
.inspector-header .inspector-tabs-row .btn.sm {
  min-height: 28px;
  padding: 3px 8px;
  font-size: 11px;
}
.compact-sec {
  padding: 8px 12px !important;
  border-bottom: none !important;
  flex-shrink: 0;
}
.compact-sec h3 {
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  margin: 0 !important;
  display: flex;
  align-items: center;
  gap: 5px;
  color: var(--ink);
}
.compact-sec h3 .icon {
  width: 13px;
  height: 13px;
  color: var(--brand-link);
}
.compact-res-card {
  padding: 6px 8px;
  background: var(--bg);
  border: 1px solid var(--line);
  flex-shrink: 0;
}
.selected-direction-compact {
  width: 100%;
  height: 60px;
  display: flex;
  align-items: center;
  position: relative;
  border: 1px solid var(--line);
  background: var(--bg);
  border-radius: 8px;
  overflow: hidden;
  padding: 6px 10px;
  text-align: left;
  gap: 12px;
  cursor: pointer;
  transition: all 0.15s ease;
  margin-top: 4px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}
.selected-direction-compact:hover {
  border-color: var(--accent);
  background: var(--tint);
  box-shadow: 0 2px 8px rgba(187, 75, 44, 0.12);
}
.selected-direction-compact img {
  width: 48px;
  height: 48px;
  border-radius: 6px;
  object-fit: cover;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}
.selected-direction-compact span {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.selected-direction-compact strong {
  display: block;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.25;
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.selected-direction-compact small {
  display: block;
  font-size: 11px;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.selection-check-compact {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--accent);
  color: var(--ink);
  display: grid;
  place-items: center;
  flex-shrink: 0;
  box-shadow: 0 2px 6px rgba(187, 75, 44, 0.35);
}
.selection-check-compact .icon {
  width: 14px;
  height: 14px;
}
.brief-preview-compact {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
  padding: 6px 8px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--bg);
  text-align: left;
  cursor: pointer;
  transition: all 0.15s ease;
  margin-top: 4px;
}
.brief-preview-compact:hover {
  border-color: var(--accent);
  background: var(--tint);
}
.brief-preview-compact span {
  font-size: 11px;
  line-height: 1.35;
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
}
.brief-preview-compact .icon {
  width: 12px;
  height: 12px;
  color: var(--muted);
  flex-shrink: 0;
}
.callout-mini-strip {
  display: flex;
  gap: 4px;
  align-items: center;
  margin-top: 5px;
  flex-wrap: wrap;
  max-height: 64px;
  overflow-y: auto;
  padding: 2px 0;
}
.callout-chip-mini {
  display: inline-flex;
  align-items: center;
  gap: 3px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 1px 5px;
  font-size: 9px;
  font-weight: 600;
  color: var(--ink);
}
.mini-del-btn {
  border: 0;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  padding: 0;
  font-size: 9px;
  line-height: 1;
}
.mini-del-btn:hover {
  color: var(--ink);
}
.compact-seg-wrap {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.compact-seg-title {
  font-size: 10px;
  font-weight: 600;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.compact-seg-btns {
  display: flex;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 2px;
  gap: 2px;
}
.compact-seg-btn {
  flex: 1;
  border: 0;
  background: transparent;
  padding: 3px 5px;
  font-size: 11px;
  font-weight: 600;
  color: var(--muted);
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
  text-align: center;
  line-height: 1.2;
}
.compact-seg-btn:hover {
  color: var(--ink);
}
.compact-seg-btn.active {
  background: var(--surface);
  color: var(--brand-link);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  font-weight: 700;
}
.ratio-compact-row {
  display: flex;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 2px;
  gap: 2px;
  width: 100%;
}
.ratio-compact-chip {
  flex: 1;
  border: 0;
  background: transparent;
  padding: 4px 1px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
  gap: 1px;
}
.ratio-compact-chip:hover {
  background: var(--tint);
}
.ratio-compact-gly {
  font-size: 9px;
  line-height: 1;
  color: var(--muted);
}
.ratio-compact-lbl {
  font-size: 9px;
  font-weight: 600;
  line-height: 1.1;
  color: var(--ink);
}
.ratio-compact-chip.active {
  background: var(--surface);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
  border: 1px solid var(--accent);
}
.ratio-compact-chip.active .ratio-compact-gly,
.ratio-compact-chip.active .ratio-compact-lbl {
  color: var(--brand-link);
  font-weight: 700;
}

[data-theme="dark"] .compact-seg-btn.active {
  background: var(--tint);
  color: var(--brand-link);
}
[data-theme="dark"] .ratio-compact-chip.active {
  background: var(--tint);
  border-color: var(--accent);
}
[data-theme="dark"] .selected-direction-compact,
[data-theme="dark"] .brief-preview-compact {
  background: var(--tint);
  border-color: var(--line);
}
[data-theme="dark"] .compact-res-card {
  background: var(--surface);
}

/* Toast Notifications Completely Disabled & Hidden */
#toasts, .toast {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Old clamped block removed */



/* --- Pure Parametric Layout Fit (100% Fit, Zero Gap, Zero Scroll) --- */
.editor-brief-wrap {
  display: flex;
  flex-direction: column;
  height: 100%;
  flex: 1 1 0;
  min-height: 0;
  overflow: hidden;
}
.editor-brief-wrap .inspector-section.compact-sec {
  padding: 8px 12px !important;
  border-bottom: none !important;
  flex-shrink: 0;
}
.editor-brief-wrap .inspector-section.brief-sec {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  padding: 8px 12px 10px 12px !important;
  border-bottom: 1px solid var(--line);
  box-sizing: border-box;
  overflow: visible;
  margin-bottom: 0;
}
.brief-textarea-wrap {
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  display: flex !important;
  margin-top: 4px;
  margin-bottom: 0;
  flex-shrink: 0;
  overflow: hidden !important;
  position: relative;
  box-sizing: border-box;
}
.editor-brief-wrap textarea.brief-direct-textarea,
.inspector textarea.brief-direct-textarea,
.brief-direct-textarea {
  width: 100% !important;
  height: 56px !important;
  min-height: 56px !important;
  max-height: 56px !important;
  padding: 6px 10px !important;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 6px;
  font-size: 11.5px;
  line-height: 1.4;
  color: var(--ink);
  resize: none !important;
  font-family: inherit;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  box-sizing: border-box !important;
  display: block !important;
  margin: 0 !important;
  overflow-y: auto !important;
}

/* Preset Prompts Dropdown */
.preset-prompts-sec {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  padding: 8px 12px !important;
  border-bottom: 1px solid var(--line);
  clear: both;
  position: relative;
  z-index: 1;
  background: var(--surface);
  box-sizing: border-box;
}
.preset-dropdown-wrap {
  position: relative;
  width: 100%;
}
.preset-prompt-select {
  width: 100%;
  height: 34px;
  padding: 0 30px 0 10px;
  background-color: var(--bg);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%238899a6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 14px;
  border: 1px solid var(--line);
  border-radius: 6px;
  font-size: 11.5px;
  color: var(--ink);
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  outline: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
  font-family: inherit;
  box-sizing: border-box;
}
.preset-prompt-select:hover {
  border-color: var(--accent);
  background-color: var(--tint);
}
.preset-prompt-select:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(187, 75, 44, 0.15);
}
.preset-prompt-select option {
  background: var(--surface);
  color: var(--ink);
  font-size: 12px;
  padding: 6px;
}
[data-theme="dark"] .preset-prompt-select {
  background-color: var(--surface);
  border-color: var(--line);
  color: var(--ink);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}
[data-theme="dark"] .preset-prompt-select option {
  background: var(--surface);
  color: var(--ink);
}
.brief-direct-textarea:focus {
  outline: none !important;
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(187, 75, 44, 0.15);
  background: var(--surface);
}
[data-theme="dark"] .brief-direct-textarea {
  background: var(--surface);
  color: var(--ink);
  border-color: var(--line);
}
[data-theme="dark"] .brief-direct-textarea:focus {
  background: var(--surface);
  border-color: var(--accent);
}
.compact-footer {
  padding: 8px 12px !important;
  background: var(--surface);
  border-top: 1px solid var(--line);
  margin-top: 0 !important;
  flex-shrink: 0;
}


/* Inline On-Image Callout Annotation Card */
.inline-callout-overlay {
  position: absolute;
  z-index: 50;
  pointer-events: auto;
  line-height: normal;
}
.inline-callout-pin {
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-50%, -50%);
  width: 14px;
  height: 14px;
  pointer-events: none;
  display: grid;
  place-items: center;
}
.inline-callout-pin-core {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--accent);
  border: 2px solid var(--line);
  box-shadow: 0 2px 6px rgba(0,0,0,0.35);
  display: block;
}
.inline-callout-pin-pulse {
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  border: 2px solid var(--accent);
  opacity: 0.8;
  animation: calloutPulse 1.6s cubic-bezier(0.25, 1, 0.5, 1) infinite;
}
@keyframes calloutPulse {
  0% { transform: scale(0.6); opacity: 0.9; }
  100% { transform: scale(2.2); opacity: 0; }
}
.inline-callout-card {
  position: absolute;
  width: 270px;
  background: var(--surface);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 8px 10px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.22);
  display: flex;
  flex-direction: column;
  gap: 6px;
  animation: calloutAppear 0.18s ease-out;
}
[data-theme="dark"] .inline-callout-card {
  background: var(--surface);
  border-color: var(--line);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.55);
}
@keyframes calloutAppear {
  from { opacity: 0; transform: scale(0.92); }
  to { opacity: 1; transform: scale(1); }
}
.inline-callout-card.align-left.align-top {
  left: 12px;
  top: 12px;
}
.inline-callout-card.align-left.align-bottom {
  left: 12px;
  bottom: 12px;
}
.inline-callout-card.align-right.align-top {
  right: 12px;
  top: 12px;
}
.inline-callout-card.align-right.align-bottom {
  right: 12px;
  bottom: 12px;
}
.inline-callout-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.inline-callout-close-btn {
  background: transparent;
  border: none;
  color: var(--muted);
  font-size: 13px;
  cursor: pointer;
  padding: 0 4px;
  line-height: 1;
  border-radius: 4px;
}
.inline-callout-close-btn:hover {
  color: var(--ink);
  background: var(--tint);
}
.inline-callout-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.inline-callout-chip {
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 2px 6px;
  font-size: 10px;
  color: var(--ink);
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.15s ease;
}
.inline-callout-chip:hover {
  border-color: var(--accent);
  color: var(--brand-link);
  background: var(--tint);
}
.inline-callout-input-wrap {
  display: flex;
}
.inline-callout-textarea {
  width: 100%;
  height: 48px;
  min-height: 48px;
  max-height: 60px;
  padding: 6px 8px;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 5px;
  font-size: 11px;
  line-height: 1.4;
  color: var(--ink);
  resize: none;
  font-family: inherit;
  box-sizing: border-box;
}
.inline-callout-textarea:focus {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(187, 75, 44, 0.15);
}
.inline-callout-footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

/* --- Editor Back Button --- */
.editor-back-btn {
  display: inline-flex !important;
  align-items: center;
  gap: 7px;
  min-height: 32px;
  padding: 0 12px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
  text-decoration: none;
  border: 1px solid var(--line);
  background: var(--surface);
  transition: all 0.15s ease;
  cursor: pointer;
  white-space: nowrap;
  line-height: 1;
}
.editor-back-btn .icon {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
  color: var(--muted);
  transition: transform 0.15s ease, color 0.15s ease;
}
.editor-back-btn:hover {
  background: var(--bg);
  border-color: var(--line);
  color: var(--brand-link);
}
.editor-back-btn:hover .icon {
  color: var(--brand-link);
  transform: translateX(-2px);
}
[data-theme="dark"] .editor-back-btn {
  background: var(--surface);
  border-color: var(--line);
  color: var(--ink);
}
[data-theme="dark"] .editor-back-btn .icon {
  color: var(--ink);
}
[data-theme="dark"] .editor-back-btn:hover {
  background: var(--tint);
  border-color: var(--line);
  color: var(--brand-on-action);
}
[data-theme="dark"] .editor-back-btn:hover .icon {
  color: var(--brand-on-action);
}

/* --- Topbar Mode Switch: Staging & Meet Our Editors --- */
.topbar.editor-topbar {
  position: relative !important;
}

.topbar-mode-switch {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
}

/* Center 2 mode buttons directly over the canvas containing the image */
@media(min-width: 821px) {
  .topbar.editor-canvas-topbar .topbar-mode-switch {
    position: absolute !important;
    left: 0px !important;
    right: var(--editor-inspector-w, 304px) !important;
    top: 0 !important;
    bottom: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    pointer-events: none !important;
    z-index: 10 !important;
  }
  .topbar.editor-canvas-topbar .topbar-mode-nav {
    pointer-events: auto !important;
  }
}
.topbar-mode-nav {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--bg);
  padding: 3px 4px;
  border-radius: 9px;
  border: 1px solid var(--line);
}
.topbar-mode-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 32px;
  padding: 0 14px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid transparent;
  background: transparent;
  color: var(--muted);
  transition: all 0.15s ease;
  cursor: pointer;
  white-space: nowrap;
}
.topbar-mode-pill .icon {
  width: 14px;
  height: 14px;
  flex-shrink: 0;
}
.topbar-mode-pill:hover {
  color: var(--ink);
  background: var(--surface);
}
.topbar-mode-pill.active {
  background: var(--accent);
  color: var(--ink) !important;
  box-shadow: 0 1px 4px rgba(187, 75, 44, 0.25);
}
.topbar-mode-pill.active .icon {
  stroke: #ffffff;
}
[data-theme="dark"] .topbar-mode-nav {
  background: var(--surface);
  border-color: var(--line);
}
[data-theme="dark"] .topbar-mode-pill {
  color: var(--ink);
}
[data-theme="dark"] .topbar-mode-pill:hover {
  background: var(--tint);
  color: var(--ink);
}
[data-theme="dark"] .topbar-mode-pill.active {
  background: var(--accent);
  color: var(--ink) !important;
}
[data-theme="dark"] .topbar-mode-pill.active .icon {
  stroke: #ffffff;
}
@media(max-width: 820px) {
  .topbar-mode-switch {
    display: none;
  }
}

/* --- Floating Canvas Toolbar (Dual Capsule / Pill Pods) --- */
.canvas-frame {
  padding: 12px 115px !important;
  box-sizing: border-box !important;
}

.tool-rail.canvas-floating-toolbar {
  position: absolute !important;
  left: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 35 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 8px !important;
  padding: 0 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  pointer-events: none !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
}

.floating-tool-pill {
  pointer-events: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 3px !important;
  padding: 6px 5px !important;
  border-radius: 14px !important;
  width: auto !important;
  min-width: 92px !important;
  box-sizing: border-box !important;
  background: var(--surface) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid var(--line) !important;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45), 0 2px 8px rgba(0, 0, 0, 0.25) !important;
}

.floating-tool-pill.history-pod {
  border-radius: 14px !important;
}

.floating-tool-pill .tool-btn,
.floating-tool-pill .icon-btn {
  width: 100% !important;
  height: 31px !important;
  min-height: 31px !important;
  border-radius: 8px !important;
  border: 1px solid transparent !important;
  background: transparent !important;
  color: var(--ink) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  padding: 0 8px !important;
  transition: all 0.15s ease !important;
  cursor: pointer !important;
  position: relative !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
  font-family: inherit !important;
}

.floating-tool-pill .tool-btn .icon,
.floating-tool-pill .icon-btn .icon {
  width: 15px !important;
  height: 15px !important;
  stroke: currentColor !important;
  display: block !important;
  flex-shrink: 0 !important;
}

.floating-tool-pill .tool-btn-text {
  font-size: 11.5px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  color: inherit !important;
  white-space: nowrap !important;
}

.floating-tool-pill .tool-btn:hover,
.floating-tool-pill .icon-btn:hover {
  background: var(--tint) !important;
  color: var(--brand-on-action) !important;
}

.floating-tool-pill .tool-btn.active,
.floating-tool-pill .icon-btn.active {
  background: var(--tint) !important;
  border: 1px solid var(--line) !important;
  color: var(--brand-on-action) !important;
  box-shadow: 0 0 12px rgba(220, 102, 60, 0.25) !important;
}

.floating-tool-pill .tool-btn.active:after,
.floating-tool-pill .icon-btn.active:after {
  display: none !important;
}

.floating-tool-pill .pill-divider {
  width: calc(100% - 8px) !important;
  height: 1px !important;
  background: var(--surface) !important;
  margin: 3px auto !important;
  flex-shrink: 0 !important;
}

/* Light Theme overrides for floating toolbar */
[data-theme="light"] .floating-tool-pill {
  background: var(--surface) !important;
  border: 1px solid var(--line) !important;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.05) !important;
}

[data-theme="light"] .floating-tool-pill .tool-btn,
[data-theme="light"] .floating-tool-pill .icon-btn {
  color: var(--ink) !important;
}

[data-theme="light"] .floating-tool-pill .tool-btn:hover,
[data-theme="light"] .floating-tool-pill .icon-btn:hover {
  background: var(--tint) !important;
  color: var(--ink) !important;
}

[data-theme="light"] .floating-tool-pill .tool-btn.active,
[data-theme="light"] .floating-tool-pill .icon-btn.active {
  background: var(--tint) !important;
  border: 1px solid var(--line) !important;
  color: var(--brand-link) !important;
  box-shadow: 0 0 10px rgba(187, 75, 44, 0.2) !important;
}

[data-theme="light"] .floating-tool-pill .pill-divider {
  background: var(--surface) !important;
}

/* Mobile adjustments handled in main responsive section */



/* --- Canvas Generating Overlay (Clean Column, Zero Overlap) --- */
.canvas-generating-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: var(--surface) !important;
  backdrop-filter: blur(6px) !important;
  -webkit-backdrop-filter: blur(6px) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  z-index: 50 !important;
  border-radius: inherit !important;
  padding: 24px !important;
  text-align: center !important;
  box-sizing: border-box !important;
}
.canvas-generating-overlay .loading-ring {
  width: 40px !important;
  height: 40px !important;
  border: 3px solid var(--line) !important;
  border-top-color: var(--accent, var(--line)) !important;
  border-radius: 50% !important;
  animation: spin 1s linear infinite !important;
  margin: 0 !important;
  display: inline-block !important;
}
.canvas-generating-overlay .generating-title {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px !important;
  line-height: 1.3 !important;
  display: block !important;
}
.canvas-generating-overlay .generating-sub {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--ink) !important;
  font-size: 12px !important;
  font-family: var(--mono, monospace) !important;
  line-height: 1.3 !important;
  display: block !important;
}
.canvas-generating-overlay .generating-progress-bar {
  width: 220px !important;
  max-width: 80% !important;
  height: 6px !important;
  background: var(--surface) !important;
  border-radius: 3px !important;
  overflow: hidden !important;
  margin: 4px 0 0 0 !important;
  display: block !important;
}
.canvas-generating-overlay .generating-progress-fill {
  display: block !important;
  height: 100% !important;
  background: var(--accent, #0E4872) !important;
  transition: width 0.2s ease !important;
}

/* --- Seamless Inspector (Divider lines completely removed as requested in media_1788922684150.png) --- */
.inspector-tabs,
.inspector-header {
  border-bottom: none !important;
}
.compact-res-card {
  border: none !important;
  border-top: none !important;
  border-bottom: none !important;
  margin: 4px 12px 6px 12px !important;
  border-radius: 8px !important;
}
.compact-sec,
.inspector-section,
.inspector-section.compact-sec,
.editor-brief-wrap .inspector-section.compact-sec,
.editor-brief-wrap .inspector-section.brief-sec,
.preset-prompts-sec,
.settings-sec {
  border-bottom: none !important;
  border-top: none !important;
}
.preset-dropdown-wrap {
  margin-top: 2px !important;
}
.compact-footer,
.inspector-footer,
.inspector-footer.compact-footer,
.editor-brief-wrap .compact-footer {
  border-top: none !important;
  border-bottom: none !important;
}

/* --- Redesigned Interior Style Card (Matching user reference media_1788922576668.png) --- */
.selected-direction-card,
.selected-direction-compact {
  width: 100% !important;
  height: 106px !important;
  position: relative !important;
  display: block !important;
  border: 2px solid var(--accent, var(--line)) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 5px 0 2px 0 !important;
  text-align: left !important;
  cursor: pointer !important;
  background: var(--surface) !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08) !important;
  transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease !important;
  box-sizing: border-box !important;
}
.selected-direction-card:hover,
.selected-direction-compact:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px rgba(187, 75, 44, 0.25) !important;
  border-color: var(--line) !important;
}
.selected-direction-card img,
.selected-direction-compact img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: inherit !important;
}
.selected-direction-card .style-card-overlay,
.selected-direction-compact .style-card-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.04) 0%, rgba(0, 0, 0, 0.2) 35%, rgba(0, 0, 0, 0.72) 100%) !important;
  pointer-events: none !important;
  border-radius: inherit !important;
}
.selected-direction-card .selection-check-badge,
.selected-direction-compact .selection-check-compact,
.selected-direction-compact .selection-check-badge {
  position: absolute !important;
  top: 8px !important;
  right: 8px !important;
  z-index: 2 !important;
  width: 24px !important;
  height: 24px !important;
  border-radius: 6px !important;
  background: var(--accent, #0E4872) !important;
  color: var(--ink) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35) !important;
}
.selected-direction-card .selection-check-badge .icon,
.selected-direction-compact .selection-check-compact .icon {
  width: 14px !important;
  height: 14px !important;
  stroke: #ffffff !important;
  stroke-width: 2.5 !important;
}
.selected-direction-card .style-card-content,
.selected-direction-compact span {
  position: absolute !important;
  bottom: 8px !important;
  left: 12px !important;
  right: 12px !important;
  z-index: 2 !important;
  text-align: left !important;
  pointer-events: none !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 2px !important;
}
.selected-direction-card .style-card-content strong,
.selected-direction-compact strong {
  display: block !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: var(--ink) !important;
  line-height: 1.25 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85) !important;
  letter-spacing: -0.2px !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.selected-direction-card .style-card-content small,
.selected-direction-compact small {
  display: block !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  color: var(--muted) !important;
  line-height: 1.25 !important;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85) !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}


/* --- Expert Request Source & Reference Assets UI --- */
.expert-asset-section {
  margin-top: 18px;
  border-top: 1px solid var(--line);
  padding-top: 16px;
}
.asset-tab-switch {
  display: flex;
}
.asset-tab-btn {
  flex: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  white-space: nowrap;
}
.asset-tab-btn .icon {
  width: 13px;
  height: 13px;
  flex-shrink: 0;
}
.asset-tab-btn:hover {
  color: var(--ink);
  background: var(--surface);
}
.asset-tab-btn.active {
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.asset-tab-btn .dot.active {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent);
  display: inline-block;
  margin-left: 2px;
}
.expert-dropzone-btn {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 18px 12px;
  border: 1.5px dashed var(--line);
  border-radius: 8px;
  background: var(--bg);
  color: var(--ink);
  cursor: pointer;
  transition: all 0.15s ease;
  text-align: center;
  box-sizing: border-box;
}
.expert-dropzone-btn:hover {
  border-color: var(--accent);
  background: var(--tint);
}
.expert-drop-icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--surface);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--brand-link);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}
.expert-drop-icon .icon {
  width: 16px;
  height: 16px;
}
.expert-file-card {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 8px 10px;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 8px;
}
.expert-card-thumb {
  width: 48px;
  height: 48px;
  border-radius: 6px;
  object-fit: cover;
  flex-shrink: 0;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}
.expert-card-info {
  flex: 1;
  min-width: 0;
}
[data-theme="dark"] .asset-tab-switch {
  background: var(--surface);
  border-color: var(--line);
}
[data-theme="dark"] .asset-tab-btn {
  color: var(--ink);
}
[data-theme="dark"] .asset-tab-btn:hover {
  background: var(--tint);
  color: var(--ink);
}
[data-theme="dark"] .asset-tab-btn.active {
  background: var(--tint);
  color: var(--brand-on-action);
}
[data-theme="dark"] .expert-dropzone-btn {
  background: var(--surface);
  border-color: var(--line);
  color: var(--ink);
}
[data-theme="dark"] .expert-dropzone-btn:hover {
  background: var(--tint);
  border-color: var(--accent);
}
[data-theme="dark"] .expert-file-card {
  background: var(--surface);
  border-color: var(--line);
}

/* Staged output Meet Our Editors card enhancements */
.canvas-staged-expert-bar {
  display: none !important;
}
[data-theme="dark"] .inspector-expert-card-inner {
  background: var(--surface) !important;
  border-color: var(--line) !important;
}

/* Blog and Journal Styling */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 24px;
  margin-top: 24px;
}
.blog-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  text-decoration: none;
  color: var(--ink);
}
.blog-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
  border-color: var(--accent);
}
.blog-card-thumb {
  position: relative;
  height: 180px;
  overflow: hidden;
}
.blog-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.blog-card:hover .blog-card-thumb img {
  transform: scale(1.04);
}
.blog-card-cat {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--surface);
  backdrop-filter: blur(4px);
  color: var(--ink);
  font-size: 10.5px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 6px;
  letter-spacing: 0.03em;
}
.blog-card-body {
  padding: 18px 20px 20px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.blog-card-meta {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: var(--muted);
  margin-bottom: 8px;
}
.blog-card-body h3 {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  margin: 0 0 8px 0;
  color: var(--ink);
}
.blog-title-link {
  color: inherit;
  text-decoration: none;
}
.blog-title-link:hover {
  color: var(--brand-link);
}
.blog-card-body p {
  font-size: 13px;
  line-height: 1.55;
  color: var(--muted);
  margin: 0 0 16px 0;
  flex: 1;
}
.blog-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 12px;
  border-top: 1px solid var(--line);
  font-size: 12px;
}
.blog-author-info {
  display: flex;
  align-items: center;
  gap: 8px;
}
.blog-author-avatar {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--surface);
  color: var(--ink);
  font-size: 10px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.blog-read-link {
  color: var(--brand-link);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  text-decoration: none;
  font-size: 12px;
}

/* Single Article Reader */
.blog-article-wrapper {
  max-width: 820px;
  margin: 0 auto;
  padding: 40px 20px 80px;
}
.blog-article-header {
  margin-bottom: 32px;
}
.blog-article-title {
  font-size: 32px;
  font-weight: 800;
  line-height: 1.25;
  margin: 12px 0 14px;
  color: var(--ink);
}
.blog-article-subtitle {
  font-size: 18px;
  line-height: 1.5;
  color: var(--muted);
  margin: 0 0 24px;
}
.blog-article-cover {
  width: 100%;
  border-radius: 14px;
  overflow: hidden;
  margin-bottom: 36px;
  box-shadow: 0 12px 36px rgba(0,0,0,0.1);
}
.blog-article-cover img {
  width: 100%;
  height: auto;
  max-height: 480px;
  object-fit: cover;
  display: block;
}
.blog-article-content {
  font-size: 16px;
  line-height: 1.8;
  color: var(--ink);
}
.blog-article-content h2 {
  font-size: 22px;
  font-weight: 700;
  margin: 36px 0 16px;
  line-height: 1.3;
}
.blog-article-content h3 {
  font-size: 18px;
  font-weight: 600;
  margin: 28px 0 12px;
}
.blog-article-content p {
  margin: 0 0 20px;
}
.blog-article-content blockquote {
  border-left: 3px solid var(--accent);
  margin: 28px 0;
  padding: 14px 22px;
  background: var(--surface);
  border-radius: 0 8px 8px 0;
  font-style: italic;
  color: var(--ink);
  line-height: 1.6;
}
.blog-article-content ul, .blog-article-content ol {
  margin: 0 0 24px 20px;
  padding-left: 10px;
}
.blog-article-content li {
  margin-bottom: 8px;
}
.article-cta-box {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 28px;
  margin: 44px 0 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
}
.article-cta-box h3 {
  font-size: 18px;
  font-weight: 700;
  margin: 6px 0 6px;
}
.article-cta-box p {
  color: var(--muted);
  font-size: 14px;
  margin: 0;
}

/* Dark mode adjustments */
[data-theme="dark"] .blog-card {
  background: var(--surface);
  border-color: var(--line);
}
[data-theme="dark"] .blog-card:hover {
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.4);
  border-color: var(--accent);
}
[data-theme="dark"] .blog-card-body h3 {
  color: var(--ink);
}
[data-theme="dark"] .blog-card-footer {
  border-color: var(--line);
}
[data-theme="dark"] .blog-article-content blockquote {
  background: var(--surface);
  border-color: var(--accent);
}
[data-theme="dark"] .article-cta-box {
  background: var(--surface);
  border-color: var(--line);
}

/* Quick Tour shares one compact card on desktop and mobile. */
.tour-backdrop { position:fixed; inset:0; z-index:10010; cursor:pointer; background:rgb(6 19 30 / .32); }
.tour-spotlight-box {
  position:fixed; z-index:10015; pointer-events:none; border:2px solid var(--accent);
  border-radius:8px; box-shadow:0 0 0 9999px rgb(6 19 30 / .28); box-sizing:border-box;
}
.tour-anchored-popover {
  --type-ui:12px; --type-control-sm:12px;
  position:fixed; z-index:10020; width:280px; max-width:calc(100vw - 24px);
  max-height:calc(100dvh - 24px); overflow:auto; box-sizing:border-box;
  padding:12px; border:1px solid var(--line); border-radius:8px;
  background:var(--surface); color:var(--ink); box-shadow:0 12px 32px rgb(0 0 0 / .25);
}
.tour-anchored-popover:not([data-positioned]) { visibility:hidden; }
.tour-popover-header { display:flex; align-items:center; gap:8px; }
.tour-tag { color:var(--ink); font-size:10px; font-weight:700; letter-spacing:.04em; }
.tour-step-count { color:var(--muted); font-size:11px; white-space:nowrap; }
.tour-skip-btn {
  margin-left:auto; display:flex; align-items:center; gap:4px; min-height:28px; padding:3px 4px;
  border:0; border-radius:5px; background:transparent; color:var(--muted); cursor:pointer;
}
.tour-skip-btn svg { width:12px; height:12px; }
.tour-skip-btn:hover { color:var(--ink); background:var(--tint); }
.tour-anchored-popover button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.tour-step-progress-bar { height:2px; margin:6px 0 10px; overflow:hidden; border-radius:2px; background:var(--line); }
.tour-step-progress-bar span { display:block; height:100%; background:var(--accent); }
.tour-popover-title { margin:0 0 6px; font-size:13px; line-height:1.35; font-weight:600; letter-spacing:0; }
.tour-popover-desc { margin:0; font-size:12px; line-height:1.45; color:var(--muted); }
.tour-popover-footer { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:12px; }
.tour-popover-footer .btn { min-height:30px; padding:4px 12px; border-radius:6px; }


/* --- Meet Our Editors: Zero-Vertical-Scroll Workbench & Overflow Protection --- */
.expert-request-shell {
  max-width: 1220px;
  margin: 0 auto;
  box-sizing: border-box;
}
.expert-request-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
}
.expert-request-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.95fr);
  gap: 16px;
  align-items: start;
}
.expert-panel-form {
  box-sizing: border-box;
}
.expert-steps-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 6px;
}
.expert-step-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--muted);
}
.expert-step-item.active {
  color: var(--brand-link);
  font-weight: 600;
}
.expert-step-item .step-num {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--bg);
  border: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  font-weight: 700;
}
.expert-step-item.active .step-num {
  background: var(--accent);
  color: var(--ink);
  border-color: var(--accent);
}
.step-divider {
  color: var(--line);
  font-size: 11px;
}

/* Asset Tab Switch Fix: Strict 3-column Grid, Zero Overflow */
.asset-tab-switch {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 3px !important;
  background: var(--bg);
  padding: 3px !important;
  border-radius: 8px;
  border: 1px solid var(--line);
  box-sizing: border-box !important;
  width: 100% !important;
  overflow: hidden !important;
}
.asset-tab-btn {
  width: 100% !important;
  min-width: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  padding: 6px 2px !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  border-radius: 6px !important;
  border: none !important;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  transition: all 0.15s ease;
  position: relative;
  box-sizing: border-box !important;
  overflow: hidden !important;
}
.asset-tab-btn span {
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Zero-scroll containment on desktop and laptop displays */
@media (min-height: 680px) and (min-width: 951px) {
  .main:has(.expert-request-shell) {
    padding: 18px 32px 20px !important;
    overflow: hidden !important;
  }
}

/* Responsive aspect-ratio and viewport fine-tuning across all devices */
@media (min-width: 1920px) {
  .main {
    max-width: 1800px;
  }
  .expert-request-shell {
    max-width: 1340px;
  }
}
@media (max-width: 1100px) and (min-width: 951px) {
  .expert-request-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
}
@media (max-width: 950px) {
  .expert-request-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

@media (max-width: 640px) {
  .expert-request-top {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .expert-request-top .row {
    width: 100% !important;
    justify-content: flex-start !important;
    gap: 8px !important;
  }
  .expert-request-top .btn {
    flex: 1 !important;
    text-align: center !important;
    justify-content: center !important;
  }
  .expert-panel-form .form-grid-compact {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }
  .expert-form-actions {
    flex-direction: column-reverse !important;
    align-items: stretch !important;
    gap: 10px !important;
  }
  .expert-form-actions .btn {
    width: 100% !important;
    justify-content: center !important;
    min-height: 42px !important;
    font-size: 13px !important;
  }
  .expert-form-actions .note-compact {
    justify-content: center !important;
    text-align: center !important;
  }
  .expert-version-card .row {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
}

/* --- Product Mega Menu Dropdown (Matches Screenshot media_1788925293081.png) --- */
.product-dropdown-container {
  position: static;
  display: inline-flex;
  align-items: center;
}
.product-nav-trigger {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background: transparent;
  border: none;
  font-size: 14px;
  font-weight: 500;
  color: inherit;
  cursor: pointer;
  padding: 6px 0;
  transition: color 0.15s ease;
}
.product-nav-trigger:hover,
.product-dropdown-container:hover .product-nav-trigger,
.product-dropdown-container.open .product-nav-trigger {
  color: var(--brand-link);
}
.product-nav-trigger .icon {
  width: 13px;
  height: 13px;
  transition: transform 0.2s ease;
}
.product-dropdown-container:hover .product-nav-trigger .icon,
.product-dropdown-container.open .product-nav-trigger .icon {
  transform: rotate(180deg);
}

.product-mega-menu {
  position: absolute;
  top: calc(100% + 2px);
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  width: 1060px;
  max-width: calc(100vw - 36px);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.12), 0 4px 16px rgba(0, 0, 0, 0.04);
  padding: 20px 24px;
  display: grid;
  grid-template-columns: 270px 1fr;
  gap: 20px;
  align-items: start;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s ease;
  pointer-events: none;
  box-sizing: border-box;
}

.product-dropdown-container:hover .product-mega-menu,
.product-dropdown-container:focus-within .product-mega-menu,
.product-dropdown-container.open .product-mega-menu,
.product-mega-menu.visible {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
  pointer-events: auto;
}

/* Left preview column */
.product-menu-preview-col {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.product-menu-photo-frame {
  width: 100%;
  height: 235px;
  border-radius: 12px;
  overflow: hidden;
  background: var(--surface);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
}
.product-menu-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: left center;
  display: block;
  transition: opacity 0.2s ease;
}
.product-menu-preview-meta strong {
  font-size: 14px;
  font-weight: 700;
  color: var(--ink);
  display: block;
}
.product-menu-preview-meta p {
  font-size: 11px;
  color: var(--muted);
  line-height: 1.4;
  margin: 4px 0 6px;
}

/* Right 4-columns grid with vertical dividers */
.product-menu-columns {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0;
  align-items: start;
}
.product-menu-col {
  display: flex;
  flex-direction: column;
  gap: 3px;
  padding: 0 12px;
  box-sizing: border-box;
}
.product-menu-col.col-divided {
  border-left: 1px solid var(--line);
}

/* Items styling - Exactly matching screenshot */
.product-menu-item {
  display: block;
  padding: 6px 10px;
  border-radius: 8px;
  font-size: 12.5px;
  font-weight: 500;
  color: var(--ink);
  text-decoration: none;
  transition: all 0.15s ease;
  cursor: pointer;
  white-space: nowrap;
  line-height: 1.35;
}
.product-menu-item:hover,
.product-menu-item.active {
  background: var(--tint);
  color: var(--brand-link); /* Vibrant orange matching screenshot */
  font-weight: 600;
}

/* Dark theme styling */
[data-theme="dark"] .product-mega-menu {
  background: var(--surface);
  border-color: var(--line);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.5);
}
[data-theme="dark"] .product-menu-col.col-divided {
  border-color: var(--line);
}
[data-theme="dark"] .product-menu-item {
  color: var(--ink);
}
[data-theme="dark"] .product-menu-item:hover,
[data-theme="dark"] .product-menu-item.active {
  background: var(--tint);
  color: var(--brand-link);
}
[data-theme="dark"] .product-menu-photo-frame {
  background: var(--surface);
}

/* Responsive adjustment for mega menu on narrower screens */
@media (max-width: 1100px) {
  .product-mega-menu {
    width: 95vw;
    padding: 16px;
    grid-template-columns: 220px 1fr;
  }
  .product-menu-photo-frame {
    height: 190px;
  }
  .product-menu-item {
    font-size: 11.5px;
    padding: 5px 6px;
  }
}
@media (max-width: 820px) {
  .product-mega-menu {
    display: none !important;
  }
}


/* ==========================================================================
   MOBILE RESPONSIVE COMPREHENSIVE SUITE (Forma Studio Mobile Design System)
   ========================================================================== */

/* Global Mobile Overflow Guard */
html, body, .shell, .public-body, .app-body {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

body.drawer-locked {
  overflow: hidden !important;
}

/* Public Header Mobile Optimization */
.public-hamburger-btn {
  display: none !important;
}

@media (max-width: 950px) {
  .public-links {
    display: none !important;
  }
  .public-hamburger-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 8px;
    background: var(--surface);
    border: 1px solid var(--line);
    color: var(--ink);
    cursor: pointer;
  }
  .public-nav-actions .try-nav-btn {
    display: none !important;
  }
  .canvas-toolbar {
    flex-wrap: wrap !important;
    gap: 8px !important;
  }
  .canvas-toolbar > .row {
    flex-wrap: wrap !important;
    gap: 6px !important;
  }
  .public-nav {
    padding: 8px 12px !important;
    height: 56px !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 100 !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
  }
  .public-nav .brand {
    font-size: 17px !important;
    flex-shrink: 1 !important;
    min-width: 0 !important;
  }
  .public-nav .brand-name strong {
    font-size: 18px !important;
  }
  .public-nav .brand-byline {
    display: none !important;
  }
  .public-nav-actions {
    gap: 6px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
  }
  .public-nav-actions .theme-toggle {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    flex-shrink: 0 !important;
  }
  .public-studio-btn {
    padding: 6px 10px !important;
    font-size: 12px !important;
    min-height: 36px !important;
    border-radius: 8px !important;
    gap: 4px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  }
  .public-hamburger-btn {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    flex-shrink: 0 !important;
  }
}

@media (max-width: 380px) {
  .public-nav {
    padding: 8px 8px !important;
  }
  .public-nav .brand-byline {
    display: none !important;
  }
  .public-nav .brand-name strong {
    font-size: 16px !important;
  }
  .public-studio-btn span {
    display: none !important;
  }
  .public-studio-btn {
    padding: 5px 8px !important;
    min-width: 36px !important;
  }
}

/* Public Mobile Slide-out Drawer */
.drawer-backdrop {
  position: fixed;
  inset: 0;
  background: var(--surface);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}
.drawer-backdrop.open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.public-mobile-drawer {
  position: fixed;
  background: var(--surface);
  border-left: 1px solid var(--line);
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  visibility: hidden;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.25s ease;
  box-shadow: -8px 0 32px rgba(0, 0, 0, 0.5);
}
.public-mobile-drawer.open {
  transform: translateX(0);
  visibility: visible;
}

.drawer-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 18px;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}
.drawer-close-btn {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: var(--surface-2);
  border: 1px solid var(--line);
  color: var(--ink);
  display: grid;
  place-items: center;
  cursor: pointer;
  transition: all 0.15s ease;
}
.drawer-close-btn:hover {
  background: var(--surface-3);
  color: var(--brand-on-action);
}
.drawer-scroll {
  flex: 1;
  overflow-y: auto;
  padding: 16px 18px;
  -webkit-overflow-scrolling: touch;
}
.drawer-section-label {
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  color: var(--muted);
  margin: 18px 0 8px;
  font-weight: 700;
}
.drawer-section-label:first-child {
  margin-top: 4px;
}

.mobile-product-accordion {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.mobile-accordion-item {
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  background: var(--surface-2);
}
.mobile-accordion-trigger {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: transparent;
  border: none;
  color: var(--ink);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  text-align: left;
}
.mobile-accordion-trigger .icon {
  width: 14px;
  height: 14px;
  color: var(--brand-link);
  transition: transform 0.2s ease;
  flex-shrink: 0;
}
.mobile-accordion-item.open .mobile-accordion-trigger .icon {
  transform: rotate(180deg);
}
.mobile-accordion-content {
  display: none;
  padding: 6px 14px 10px;
  background: var(--bg);
  border-top: 1px solid var(--line);
}
.mobile-accordion-item.open .mobile-accordion-content {
  display: block;
}
.mobile-accordion-link {
  display: block;
  padding: 6px 0;
  font-size: 12.5px;
  color: var(--muted);
  text-decoration: none;
  transition: color 0.15s ease;
}
.mobile-accordion-link:hover {
  color: var(--brand-link);
}

.drawer-nav-links {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.drawer-nav-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 8px;
  color: var(--ink);
  font-size: 13.5px;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.15s ease;
}
.drawer-nav-item .icon {
  width: 16px;
  height: 16px;
  color: var(--brand-link);
  flex-shrink: 0;
}
.drawer-nav-item:hover {
  background: var(--surface-2);
  color: var(--ink);
}
.drawer-actions {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}

/* Workspace Sidebar Backdrop & Close Button */
.sidebar-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(10, 14, 16, 0.7);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  z-index: 38;
  display: none;
}
@media (max-width: 640px) {
  .sidebar {
    z-index: 45 !important;
  }
  .sidebar.open ~ .sidebar-backdrop,
  .shell:has(.sidebar.open) .sidebar-backdrop {
    display: block !important;
  }
  .sidebar-head-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-bottom: 20px;
  }
  .sidebar-close-btn {
    display: grid !important;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: var(--surface-2);
    border: 1px solid var(--line);
    color: var(--ink);
    cursor: pointer;
  }
}
@media (min-width: 641px) {
  .sidebar-close-btn {
    display: none !important;
  }
}

/* Hero Section & Before/After Slider Mobile Tuning */
@media (max-width: 640px) {
  .hero {
    padding: 20px 0 30px !important;
    gap: 20px !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .hero h1 {
    font-size: clamp(26px, 7.5vw, 36px) !important;
    letter-spacing: -1px !important;
    line-height: 1.2 !important;
    word-break: break-word !important;
  }
  .hero p {
    font-size: 14px !important;
    margin: 12px 0 16px !important;
    line-height: 1.5 !important;
  }
  .hero .row {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    gap: 10px !important;
  }
  .hero .btn {
    width: 100% !important;
    justify-content: center !important;
    min-height: 48px !important;
    font-size: 14px !important;
  }
  .compare-view {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 10px !important;
    touch-action: pan-y !important;
    overflow: hidden !important;
  }
  .compare-view img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16/9 !important;
    object-fit: cover !important;
  }
}

/* Studio & Editor Mobile Bottom-Dock & Clean Canvas */
@media (max-width: 640px) {
  .editor-layout {
    display: flex !important;
    flex-direction: column !important;
    min-height: auto !important;
    height: auto !important;
    width: 100% !important;
    overflow-x: hidden !important;
  }
  .tool-rail {
    order: 2 !important;
    flex-direction: row !important;
    width: max-content !important;
    max-width: calc(100vw - 28px) !important;
    box-sizing: border-box !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    height: auto !important;
    border: 1px solid var(--line) !important;
    border-radius: 30px !important;
    padding: 6px 10px !important;
    gap: 4px !important;
    justify-content: center !important;
    margin: 8px auto !important;
    background: var(--surface) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4) !important;
    position: sticky !important;
    bottom: 12px !important;
    z-index: 25 !important;
  }
  @media (max-width: 360px) {
    .tool-rail {
      padding: 4px 6px !important;
      gap: 2px !important;
      max-width: calc(100vw - 12px) !important;
    }
    .tool-rail .icon-btn {
      width: 32px !important;
      height: 32px !important;
    }
    .tool-rail .icon-btn .icon {
      width: 15px !important;
      height: 15px !important;
    }
  }
  .rail-divider {
    width: 1px !important;
    height: 22px !important;
    margin: 0 2px !important;
  }
  .canvas-work {
    order: 1 !important;
    padding: 8px !important;
    min-height: 220px !important;
    max-height: none !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    overflow-x: hidden !important;
  }
  .canvas-toolbar {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    gap: 6px !important;
    font-size: 11px !important;
    margin-bottom: 8px !important;
    overflow-x: hidden !important;
  }
  .canvas-toolbar > .row {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
    max-width: 100% !important;
  }
  .canvas-toolbar .editor-view-toggle {
    max-width: 100% !important;
    overflow-x: auto !important;
  }
  .artboard {
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
  }
  .artboard img {
    max-width: 100% !important;
    max-height: 260px !important;
    object-fit: contain !important;
    border-radius: 8px !important;
  }
  .inspector {
    order: 3 !important;
    display: block !important;
    width: 100% !important;
  }
  .inspector-section {
    padding: 16px !important;
  }
  .inspector-footer {
    position: sticky !important;
    bottom: 0 !important;
    background: var(--surface) !important;
    padding: 12px 16px !important;
    border-top: 1px solid var(--line) !important;
    z-index: 10 !important;
  }
  .inspector-footer .btn {
    width: 100% !important;
    min-height: 48px !important;
    justify-content: center !important;
    font-size: 14px !important;
  }

  /* Output Workbench Mobile */
  .output-workbench {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
  }
  .output-tabs {
    order: 1 !important;
    display: flex !important;
    flex-direction: row !important;
    width: 100% !important;
    overflow-x: auto !important;
    border-left: none !important;
    border-bottom: 1px solid var(--line) !important;
    padding: 4px 8px !important;
    gap: 4px !important;
  }
  .output-tab {
    flex: 1 !important;
    min-width: 68px !important;
    padding: 8px 4px !important;
    font-size: 11px !important;
    text-align: center !important;
  }
  .output-stage {
    order: 2 !important;
    min-height: 260px !important;
    padding: 10px !important;
  }
  .output-side-panel {
    order: 3 !important;
    width: 100% !important;
  }
}

/* Meet Our Editors & Pricing Responsive Refinements */
@media (max-width: 640px) {
  .expert-profile-card {
    flex-direction: column !important;
    padding: 16px !important;
  }
  .expert-drawer {
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 16px 16px 0 0 !important;
    max-height: 92vh !important;
  }
  .pricing-grid {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  .pricing-card {
    padding: 20px !important;
  }
  .plan-matrix {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
  }
  dialog {
    max-width: calc(100vw - 24px) !important;
    max-height: 90vh !important;
    margin: auto !important;
    border-radius: 14px !important;
  }
}


/* ==================== DEMO CHECKOUT & PAYMENT STYLES ==================== */
.checkout-section {
  max-width: 1140px;
  margin: 0 auto;
  padding: 30px 20px 80px;
}

.checkout-sandbox-banner {
  display: flex;
  align-items: center;
  gap: 16px;
  background: linear-gradient(135deg, rgba(188, 83, 47, 0.08) 0%, rgba(246, 173, 85, 0.12) 100%);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 14px 20px;
  margin-bottom: 24px;
}

.checkout-sandbox-icon {
  font-size: 28px;
  flex-shrink: 0;
}

.checkout-sandbox-copy strong {
  display: block;
  font-size: 15px;
  color: var(--brand-link);
  margin-bottom: 2px;
}

.checkout-sandbox-copy p {
  font-size: 13px;
  color: var(--muted);
  margin: 0;
  line-height: 1.45;
}

.checkout-nav-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}

.checkout-back-link {
  font-size: 14px;
  font-weight: 500;
  color: var(--muted);
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: color 0.15s;
}

.checkout-back-link:hover {
  color: var(--brand-link);
}

.checkout-security-indicator {
  display: flex;
  align-items: center;
  gap: 16px;
  font-size: 13px;
  color: var(--muted);
}

.checkout-layout-grid {
  display: grid;
  grid-template-columns: 1fr 410px;
  gap: 32px;
  align-items: start;
}

@media (max-width: 960px) {
  .checkout-layout-grid {
    grid-template-columns: 1fr;
  }
}

.checkout-left-col {
  display: flex;
  flex-direction: column;
  gap: 24px;
}

.checkout-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 24px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.03);
}

.checkout-card-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.checkout-step-badge {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--accent);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 13px;
}

.checkout-card-header h3 {
  font-size: 18px;
  margin: 0;
}

/* Plan selector pills */
.checkout-plans-selector {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.plan-select-pill {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 16px;
  border: 1.5px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  text-align: left;
  transition: all 0.15s ease;
  cursor: pointer;
  width: 100%;
}

.plan-select-pill:hover {
  border-color: var(--accent);
  background: var(--tint);
}

.plan-select-pill.active {
  border-color: var(--accent);
  background: var(--tint);
  box-shadow: 0 0 0 1px var(--accent);
}

.plan-pill-name {
  display: block;
  font-size: 15px;
  color: var(--ink);
}

.plan-pill-credits {
  display: block;
  font-size: 12px;
  color: var(--muted);
  margin-top: 2px;
}

.plan-pill-price {
  text-align: right;
}

.plan-pill-price strong {
  font-size: 18px;
  color: var(--brand-link);
}

.plan-pill-price small {
  display: block;
  font-size: 11px;
  color: var(--muted);
}

/* Payment Method Tabs */
.payment-method-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 20px;
}

.method-tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 12px 8px;
  border: 1.5px solid var(--line);
  border-radius: var(--radius);
  background: var(--bg);
  cursor: pointer;
  transition: all 0.15s ease;
  font-size: 13px;
  font-weight: 500;
  color: var(--muted);
}

.method-tab:hover {
  border-color: var(--accent);
  color: var(--ink);
}

.method-tab.active {
  border-color: var(--accent);
  background: var(--surface);
  color: var(--brand-link);
  box-shadow: 0 2px 8px rgba(188, 83, 47, 0.12);
}

.method-tab-icon {
  font-size: 20px;
}

/* Credit Card Styling */
.card-quick-fill-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--surface);
  padding: 10px 14px;
  border-radius: 8px;
  font-size: 12px;
  color: var(--muted);
  margin-bottom: 16px;
}

.fill-test-card-btn {
  font-size: 12px !important;
  font-weight: 600;
  color: var(--brand-link) !important;
  border: 1px solid var(--accent) !important;
  padding: 4px 10px !important;
}

.card-preview-visual {
  background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%);
  color: white;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  position: relative;
  overflow: hidden;
  margin-bottom: 16px;
}

.card-preview-visual::after {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, transparent 70%);
  border-radius: 50%;
}

.card-chip {
  width: 36px;
  height: 26px;
  background: linear-gradient(135deg, #fbbf24 0%, #d97706 100%);
  border-radius: 4px;
  margin-bottom: 16px;
}

.card-contactless {
  position: absolute;
  top: 22px;
  right: 24px;
  font-size: 16px;
  opacity: 0.6;
}

.card-number-display {
  font-family: 'Courier New', Courier, monospace;
  font-size: 19px;
  letter-spacing: 2px;
  margin-bottom: 18px;
}

.card-meta-row {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.card-meta-label {
  font-size: 9px;
  color: var(--muted);
  letter-spacing: 1px;
  margin-bottom: 2px;
}

.card-meta-value {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.5px;
}

.card-brand-logo {
  font-weight: 800;
  font-size: 14px;
  letter-spacing: 1px;
  color: var(--ink);
}

.input-with-icon {
  position: relative;
}

.input-with-icon input {
  padding-right: 40px;
}

.card-type-icon {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 18px;
  pointer-events: none;
}

/* VietQR Box Styling */
.vietqr-box {
  background: var(--surface);
  border: 1.5px solid var(--line);
  border-radius: 12px;
  overflow: hidden;
}

.vietqr-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 18px;
  background: var(--surface);
  color: white;
}

.vietqr-bank-name {
  font-weight: 800;
  font-size: 15px;
  letter-spacing: 0.5px;
}

.vietqr-tag {
  font-size: 10px;
  background: var(--surface);
  padding: 2px 6px;
  border-radius: 4px;
  margin-left: 8px;
}

.vietqr-live-badge {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  font-weight: 600;
  background: rgba(0, 0, 0, 0.2);
  padding: 3px 8px;
  border-radius: 20px;
}

.pulse-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--surface);
  animation: pulse-animation 1.5s infinite;
}

@keyframes pulse-animation {
  0% { transform: scale(0.95); opacity: 0.8; }
  50% { transform: scale(1.3); opacity: 1; }
  100% { transform: scale(0.95); opacity: 0.8; }
}

.vietqr-body {
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 20px;
  padding: 20px;
}

@media (max-width: 640px) {
  .vietqr-body {
    grid-template-columns: 1fr;
  }
}

.vietqr-code-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.vietqr-svg {
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 4px;
  background: white;
}

.vietqr-scan-hint {
  font-size: 11px;
  color: var(--muted);
  text-align: center;
}

.vietqr-details {
  display: flex;
  flex-direction: column;
  gap: 10px;
  justify-content: center;
}

.vietqr-info-row {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.vietqr-label {
  font-size: 11px;
  color: var(--muted);
}

.vietqr-val {
  font-size: 14px;
  color: var(--ink);
}

.vietqr-val.highlight {
  font-size: 16px;
  letter-spacing: 1px;
  color: var(--ink);
}

.vietqr-val.highlight-box {
  background: var(--surface);
  padding: 3px 8px;
  border-radius: 4px;
  color: var(--brand-link);
  font-family: monospace;
  font-size: 14px;
}

.copyable-val {
  display: flex;
  align-items: center;
  gap: 8px;
}

.copy-btn {
  font-size: 11px !important;
  padding: 2px 8px !important;
  height: 24px;
  border-radius: 4px;
}

.vietqr-note {
  font-size: 11px;
  color: var(--muted);
  background: var(--bg);
  padding: 8px 10px;
  border-radius: 6px;
  line-height: 1.4;
  margin-top: 4px;
}

/* Wallet buttons */
.wallet-buttons-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

@media (max-width: 500px) {
  .wallet-buttons-grid {
    grid-template-columns: 1fr;
  }
}

.wallet-btn {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--surface);
  cursor: pointer;
  transition: all 0.15s ease;
  text-align: left;
}

.wallet-btn:hover {
  border-color: var(--accent);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
}

.wallet-logo-badge {
  font-size: 11px;
  font-weight: 700;
  padding: 4px 8px;
  border-radius: 6px;
  color: white;
}

.momo-badge { background: #a50064; }
.zalopay-badge { background: #0068ff; }
.apple-badge { background: #000000; }
.gpay-badge { background: #4285f4; }

.wallet-btn-text {
  font-size: 12px;
  color: var(--ink);
}

/* Right Column: Order Summary Card */
.checkout-summary-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 24px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.05);
  position: sticky;
  top: 80px;
}

.checkout-summary-card h3 {
  font-size: 18px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.summary-plan-box {
  background: var(--bg);
  padding: 16px;
  border-radius: 10px;
  margin-bottom: 20px;
}

.summary-plan-title {
  font-size: 16px;
  color: var(--ink);
}

.summary-plan-credits {
  font-size: 12px;
  color: var(--brand-link);
  font-weight: 600;
  margin-top: 2px;
}

.summary-price {
  font-size: 20px;
  color: var(--brand-link);
}

.summary-period {
  font-size: 11px;
  color: var(--muted);
}

.summary-plan-desc {
  font-size: 12px;
  color: var(--muted);
  margin: 8px 0 12px;
  line-height: 1.45;
}

.summary-features-list {
  list-style: none;
  padding: 0;
  margin: 0;
  font-size: 12px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.summary-features-list li {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  color: var(--ink);
}

.summary-check {
  color: var(--green);
  font-weight: bold;
}

/* Coupon section */
.coupon-section {
  margin-bottom: 20px;
}

.coupon-label {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: var(--muted);
  margin-bottom: 6px;
}

.coupon-input-group {
  display: flex;
  gap: 8px;
}

.coupon-input-group input {
  flex: 1;
  text-transform: uppercase;
  font-weight: 600;
  letter-spacing: 0.5px;
}

.coupon-badge {
  margin-top: 8px;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.coupon-badge.success {
  background: rgba(35, 112, 90, 0.12);
  color: var(--green);
  border: 1px solid rgba(35, 112, 90, 0.25);
}

.coupon-badge.error {
  background: rgba(224, 36, 36, 0.08);
  color: #e02424;
  border: 1px solid rgba(224, 36, 36, 0.2);
}

.remove-coupon-btn {
  background: none;
  border: none;
  color: inherit;
  font-size: 16px;
  cursor: pointer;
  padding: 0 4px;
}

.coupon-hint {
  font-size: 11px;
  color: var(--muted);
  margin-top: 6px;
}

.coupon-hint code {
  background: var(--bg);
  padding: 2px 4px;
  border-radius: 4px;
  font-weight: 600;
  color: var(--brand-link);
}

/* Breakdown rows */
.summary-breakdown {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 20px;
  font-size: 13px;
}

.breakdown-row {
  display: flex;
  justify-content: space-between;
  color: var(--muted);
}

.breakdown-row.discount-row {
  color: var(--green);
  font-weight: 500;
}

.breakdown-divider {
  height: 1px;
  background: var(--line);
  margin: 6px 0;
}

.breakdown-row.total-row {
  align-items: baseline;
  font-size: 15px;
  font-weight: 600;
  color: var(--ink);
}

.total-price-box {
  text-align: right;
}

.total-usd {
  display: block;
  font-size: 22px;
  color: var(--brand-link);
}

.total-vnd {
  display: block;
  font-size: 12px;
  color: var(--muted);
  font-weight: normal;
}

/* CTA and Processing Spinner */
.checkout-cta-wrapper {
  margin-bottom: 20px;
}

.checkout-pay-btn {
  font-size: 15px !important;
  padding: 14px 20px !important;
  font-weight: 600;
  letter-spacing: 0.2px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.checkout-spinner {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid var(--line);
  border-radius: 50%;
  border-top-color: var(--line);
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

.checkout-trust-badges {
  border-top: 1px solid var(--line);
  padding-top: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 11px;
  color: var(--muted);
}

.trust-item {
  display: flex;
  align-items: center;
  gap: 8px;
}

.trust-icon {
  font-size: 14px;
}

/* ==================== RECEIPT SCREEN ==================== */
.checkout-receipt-card {
  max-width: 640px;
  margin: 0 auto;
  background: var(--surface);
  border: 1.5px solid var(--line);
  border-radius: 16px;
  padding: 40px 32px;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.06);
  text-align: center;
}

.receipt-success-banner {
  margin-bottom: 24px;
}

.receipt-check-icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--green);
  color: white;
  font-size: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
  box-shadow: 0 8px 20px rgba(35, 112, 90, 0.25);
  animation: pop-check 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@keyframes pop-check {
  0% { transform: scale(0.6); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}

.receipt-success-banner h2 {
  font-size: 24px;
  color: var(--ink);
  margin-bottom: 8px;
}

.receipt-success-banner p {
  color: var(--muted);
  font-size: 14px;
}

.receipt-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: var(--bg);
  padding: 6px 14px;
  border-radius: 20px;
  margin-bottom: 24px;
  font-size: 13px;
}

.receipt-table-wrapper {
  background: var(--bg);
  border-radius: 12px;
  padding: 16px;
  margin-bottom: 28px;
  text-align: left;
}

.receipt-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

.receipt-table tr td {
  padding: 10px 8px;
  border-bottom: 1px solid var(--line);
}

.receipt-table tr:last-child td {
  border-bottom: none;
}

.receipt-label {
  color: var(--muted);
  width: 45%;
}

.receipt-val {
  color: var(--ink);
  text-align: right;
}

.receipt-val .highlight-credit {
  color: var(--brand-link);
  font-size: 14px;
}

.receipt-actions-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 20px;
}

.receipt-cta-btn {
  display: flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px !important;
  font-weight: 600;
}

.receipt-footer-note {
  line-height: 1.5;
}

/* Pricing Addon Card Styling */
.pricing-addon-section .addon-card {
  padding: 24px;
}

.pricing-addon-section .addon-card.featured {
  border: 2px solid var(--accent);
  position: relative;
}

/* Dark mode adjustments for checkout */
[data-theme="dark"] .card-preview-visual {
  background: linear-gradient(135deg, #0f172a 0%, #020617 100%);
  border: 1px solid var(--line);
}

[data-theme="dark"] .vietqr-box {
  border-color: var(--line);
}

[data-theme="dark"] .vietqr-svg {
  background: var(--surface);
}

[data-theme="dark"] .summary-plan-box,
[data-theme="dark"] .receipt-table-wrapper,
[data-theme="dark"] .receipt-status-pill {
  background: rgba(255, 255, 255, 0.04);
}


/* ==================== GLOBAL MOBILE OVERFLOW, RESPONSIVENESS & INTERACTION FIXES ==================== */
html, body {
  overflow-x: hidden !important;
  width: 100% !important;
  max-width: 100vw !important;
  position: relative !important;
  -webkit-font-smoothing: antialiased;
}

.public-body,
.shell,
.app-body,
.main,
.editor-main {
  overflow-x: hidden !important;
  width: 100% !important;
  max-width: 100vw !important;
}

/* Eliminate tap delay and ghost clicks on touchscreens */
button,
a,
input,
select,
textarea,
[data-action],
.tab,
.plan-select-pill,
.method-tab,
.nav-link,
.card-select-pill {
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

/* Canvas drawing touches must not trigger page panning gestures */
#annotation-canvas {
  touch-action: none !important;
}

/* Mobile Drawer Zero Overflow Guarantee */
.public-mobile-drawer {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 320px !important;
  max-width: 85vw !important;
  z-index: 10000 !important;
  box-shadow: -8px 0 32px rgba(0, 0, 0, 0.3) !important;
}

.public-mobile-drawer:not(.open) {
  display: none !important;
}

.drawer-backdrop {
  position: fixed !important;
  inset: 0 !important;
  background: var(--surface) !important;
  backdrop-filter: blur(4px) !important;
  -webkit-backdrop-filter: blur(4px) !important;
  z-index: 9998 !important;
}

.drawer-backdrop:not(.open) {
  display: none !important;
}

/* Workspace Sidebar on Mobile */
@media (max-width: 640px) {
  .sidebar {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    width: 260px !important;
    max-width: 82vw !important;
    z-index: 10000 !important;
    box-shadow: 10px 0 40px rgba(0, 0, 0, 0.45) !important;
    transition: transform 0.25s ease !important;
  }
  
  .sidebar:not(.open) {
    display: none !important;
  }
  
  .sidebar.open {
    display: flex !important;
    transform: none !important;
  }
  
  .sidebar-head-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    margin-bottom: 16px !important;
  }
  
  .sidebar-close-btn {
    display: grid !important;
    place-items: center !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    color: #fff !important;
    font-size: 16px !important;
    cursor: pointer !important;
    line-height: 1 !important;
  }
  
  .sidebar-backdrop {
    position: fixed !important;
    inset: 0 !important;
    background: rgba(10, 14, 16, 0.65) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    z-index: 9999 !important;
    display: none;
  }
  
  .shell:has(.sidebar.open) .sidebar-backdrop,
  .sidebar.open ~ .sidebar-backdrop {
    display: block !important;
  }
  
  /* Topbar single row, no awkward wrapping */
  .topbar {
    height: 54px !important;
    min-height: 54px !important;
    padding: 0 12px !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
  }
  
  .topbar .breadcrumbs {
    font-size: 12px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: calc(100vw - 140px) !important;
    display: inline-block !important;
  }
  
  .topbar .breadcrumbs a {
    max-width: 110px !important;
    display: inline-block !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    vertical-align: middle !important;
  }
  
  .top-actions {
    gap: 4px !important;
    flex-shrink: 0 !important;
  }
  
  .top-actions .avatar,
  .top-actions .tag {
    display: none !important;
  }

  /* Editor Topbar: Clean 2-row layout on mobile */
  .topbar.editor-topbar {
    display: flex !important;
    flex-wrap: wrap !important;
    height: auto !important;
    min-height: 54px !important;
    padding: 8px 12px !important;
    gap: 6px !important;
    justify-content: space-between !important;
    align-items: center !important;
  }
  
  .topbar.editor-topbar > .row {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 90px) !important;
  }
  
  .topbar.editor-topbar .breadcrumbs {
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
  
  .topbar.editor-topbar .top-actions {
    flex: 0 0 auto !important;
    margin-left: auto !important;
  }
  
  .topbar.editor-topbar .topbar-mode-switch {
    width: 100% !important;
    order: 3 !important;
    display: flex !important;
    justify-content: center !important;
    margin: 4px 0 2px !important;
    padding: 0 !important;
  }
  
  .topbar.editor-topbar .topbar-mode-nav {
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    gap: 6px !important;
  }
  
  .topbar.editor-topbar .topbar-mode-pill {
    flex: 1 !important;
    text-align: center !important;
    justify-content: center !important;
    padding: 5px 8px !important;
    font-size: 11px !important;
    white-space: nowrap !important;
  }
  
  /* Editor Layout: Zero Collisions, Zero Overlap */
  .editor-layout {
    display: flex !important;
    flex-direction: column !important;
    min-height: auto !important;
    height: auto !important;
    width: 100% !important;
    overflow-x: hidden !important;
    padding-bottom: 30px !important;
  }
  
  /* Filmstrip at top: neat scrollable camera roll */
  /* Filmstrip at top: neat touch-scrollable camera roll with unclipped cards */
  .filmstrip {
    order: 0 !important;
    grid-column: unset !important;
    grid-row: unset !important;
    height: auto !important;
    min-height: 72px !important;
    padding: 6px 10px !important;
    gap: 8px !important;
    background: var(--surface) !important;
    border-top: none !important;
    border-bottom: 1px solid var(--line) !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    flex-shrink: 0 !important;
    scrollbar-width: none !important;
    align-items: center !important;
    display: flex !important;
  }

  .filmstrip::-webkit-scrollbar {
    display: none !important;
  }

  .film-item-wrap {
    flex-shrink: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 3px !important;
  }

  .film-item {
    width: 64px !important;
    height: 48px !important;
    border-radius: 6px !important;
    overflow: hidden !important;
    position: relative !important;
    display: block !important;
  }

  .film-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  .film-caption {
    font-size: 9px !important;
    padding: 1px 3px !important;
    line-height: 1.1 !important;
  }

  .film-version-badge {
    font-size: 8px !important;
    padding: 1px 3px !important;
  }

  .film-versions-quickbar {
    gap: 2px !important;
    margin-top: 1px !important;
  }

  .film-v-pill {
    padding: 1px 4px !important;
    font-size: 8px !important;
  }
  
  /* Canvas Work area */
  .canvas-work {
    order: 1 !important;
    padding: 6px 8px !important;
    min-height: auto !important;
    max-height: none !important;
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    overflow-x: hidden !important;
    position: relative !important;
  }
  
  /* Controls row above canvas: scroll horizontally smoothly without multi-line wrapping */
  /* Canvas Toolbar on Mobile: Clean 2-row layout with zero horizontal scrolling */
  .canvas-toolbar {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    padding: 4px 0 6px !important;
    gap: 6px !important;
    box-sizing: border-box !important;
  }
  
  .canvas-toolbar > .row {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-bottom: 0 !important;
    gap: 6px !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: space-between !important;
  }
  
  .canvas-toolbar .editor-view-toggle {
    display: inline-flex !important;
    gap: 2px !important;
    padding: 2px !important;
    border-radius: 8px !important;
  }

  .canvas-toolbar .editor-view-btn {
    padding: 4px 7px !important;
    font-size: 11px !important;
    gap: 4px !important;
    min-height: 28px !important;
  }

  .canvas-toolbar .editor-view-btn .icon {
    width: 12px !important;
    height: 12px !important;
  }

  .canvas-toolbar .canvas-rating-wrap {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    flex-shrink: 0 !important;
  }

  .canvas-toolbar .canvas-rating-wrap .rating-label {
    display: none !important;
  }

  .canvas-toolbar .canvas-stars {
    gap: 1px !important;
  }

  .canvas-toolbar .canvas-star {
    font-size: 13px !important;
    padding: 0 1px !important;
  }

  .canvas-toolbar .canvas-rating-text {
    font-size: 11px !important;
    font-weight: 600 !important;
  }

  .canvas-toolbar .btn,
  .canvas-toolbar .tag {
    flex-shrink: 0 !important;
    white-space: nowrap !important;
    font-size: 11px !important;
    padding: 4px 8px !important;
    min-height: 28px !important;
  }
  
  /* Artboard styling on Mobile */
  .canvas-frame {
    padding: 6px 4px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    overflow: hidden !important;
    min-height: 200px !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .artboard {
    max-width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
  }
  
  .artboard img {
    max-width: 100% !important;
    max-height: 38vh !important;
    height: auto !important;
    object-fit: contain !important;
    border-radius: 8px !important;
  }
  
  /* Tool rail on Mobile: Centered, Icon-Only capsule bar directly below canvas */
  .tool-rail.canvas-floating-toolbar,
  .tool-rail {
    order: 2 !important;
    position: static !important;
    transform: none !important;
    bottom: auto !important;
    left: auto !important;
    z-index: 10 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    height: auto !important;
    border: none !important;
    border-radius: 0 !important;
    padding: 4px 0 !important;
    gap: 6px !important;
    margin: 4px 0 6px !important;
    background: transparent !important;
    box-shadow: none !important;
    pointer-events: auto !important;
  }

  .tool-rail::-webkit-scrollbar {
    display: none !important;
  }
  
  .floating-tool-pill {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    width: auto !important;
    min-width: 0 !important;
    border-radius: 20px !important;
    padding: 2px 4px !important;
    gap: 2px !important;
    flex-shrink: 0 !important;
  }
  
  .floating-tool-pill .tool-btn,
  .floating-tool-pill .icon-btn {
    width: 28px !important;
    min-width: 28px !important;
    height: 28px !important;
    min-height: 28px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 6px !important;
    flex-shrink: 0 !important;
  }

  .floating-tool-pill .tool-btn .icon,
  .floating-tool-pill .icon-btn .icon {
    width: 14px !important;
    height: 14px !important;
  }

  .floating-tool-pill .tool-btn-text {
    display: none !important;
  }

  .floating-tool-pill .pill-divider {
    width: 1px !important;
    height: 16px !important;
    margin: 0 2px !important;
    background: var(--line) !important;
  }

  /* Staging Toolbar on Mobile: Smart 3-Row Dock with ZERO Horizontal Scrolling */
  .editor-bottom-toolbar {
    order: 3 !important;
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 4px 0 10px 0 !important;
    z-index: 30 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 6px !important;
    padding: 8px !important;
    box-sizing: border-box !important;
    border-radius: 14px !important;
    overflow-x: visible !important;
    white-space: normal !important;
  }

  /* EZ Mode Staging Toolbar on Mobile: Dedicated 6-Column Grid */
  .try-bottom-toolbar {
    order: 3 !important;
    position: relative !important;
    bottom: auto !important;
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 4px 0 10px 0 !important;
    z-index: 30 !important;
    display: grid !important;
    grid-template-columns: repeat(6, 1fr) !important;
    gap: 6px !important;
    padding: 8px !important;
    box-sizing: border-box !important;
    border-radius: 14px !important;
    overflow-x: visible !important;
    white-space: normal !important;
  }

  /* Row 1: Room Button (3 cols / 50%), Style Button (3 cols / 50%) */
  .try-bottom-toolbar > button[data-modal="roomType"] {
    grid-column: span 3 !important;
    grid-row: 1 !important;
  }

  .try-bottom-toolbar > button[data-modal="style"] {
    grid-column: span 3 !important;
    grid-row: 1 !important;
  }

  /* Row 2: Ratio (2 cols / 33.3%), Quality (2 cols / 33.3%), Outputs (2 cols / 33.3%) */
  .try-bottom-toolbar .try-bar-dropdown-wrap:nth-of-type(1) {
    grid-column: span 2 !important;
    grid-row: 2 !important;
  }

  .try-bottom-toolbar .try-bar-dropdown-wrap:nth-of-type(2) {
    grid-column: span 2 !important;
    grid-row: 2 !important;
  }

  .try-bottom-toolbar .try-bar-dropdown-wrap:nth-of-type(3) {
    grid-column: span 2 !important;
    grid-row: 2 !important;
  }

  /* Row 3: Generate CTA (6 cols / 100% full width) */
  .try-bottom-toolbar .try-bar-generate-btn {
    grid-column: span 6 !important;
    grid-row: 3 !important;
    width: 100% !important;
    min-height: 42px !important;
    margin-top: 2px !important;
  }

  .editor-bar-prompt-box {
    grid-column: 1 / -1 !important;
    order: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 38px !important;
    flex-shrink: 0 !important;
    padding: 0 8px !important;
    gap: 6px !important;
    box-sizing: border-box !important;
  }

  .editor-inline-prompt-input {
    font-size: 12px !important;
    flex: 1 !important;
    min-width: 0 !important;
  }

  .try-bar-dropdown-wrap {
    order: 2 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .try-bar-btn {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 11.5px !important;
    padding: 6px 8px !important;
    min-height: 36px !important;
    gap: 4px !important;
    box-sizing: border-box !important;
    justify-content: space-between !important;
    display: flex !important;
    align-items: center !important;
  }

  .try-bar-lbl {
    font-size: 8px !important;
    letter-spacing: 0.5px !important;
    opacity: 0.75 !important;
  }

  .try-bar-val {
    font-size: 11px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 78px !important;
  }

  .try-bar-chevron {
    font-size: 9px !important;
    opacity: 0.6 !important;
    margin-left: auto !important;
  }

  .editor-bottom-toolbar .try-bar-generate-btn,
  .try-bottom-toolbar .try-bar-generate-btn {
    grid-column: 1 / -1 !important;
    order: 3 !important;
    width: 100% !important;
    min-height: 42px !important;
    padding: 8px 16px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    border-radius: 8px !important;
    justify-content: center !important;
    gap: 8px !important;
    box-sizing: border-box !important;
    background: linear-gradient(135deg, var(--accent) 0%, #082F4B 100%) !important;
    color: var(--brand-on-action) !important;
    border: 1px solid var(--line) !important;
    box-shadow: 0 4px 14px rgba(187, 75, 44, 0.35) !important;
  }

  [data-theme="dark"] .editor-bottom-toolbar .try-bar-generate-btn,
  [data-theme="dark"] .try-bottom-toolbar .try-bar-generate-btn {
    background: linear-gradient(135deg, var(--accent) 0%, #082F4B 100%) !important;
    color: var(--brand-on-action) !important;
    border: 1px solid var(--line) !important;
    box-shadow: 0 4px 18px rgba(187, 75, 44, 0.45) !important;
  }

  .try-bar-generate-btn .try-gen-arrow {
    font-size: 14px !important;
    transition: transform 0.15s ease !important;
  }

  /* Dropdown Popovers: Native-feeling Bottom Sheet Modal on Mobile */
  .try-dropdown-popover {
    position: fixed !important;
    bottom: 12px !important;
    left: 12px !important;
    right: 12px !important;
    width: auto !important;
    max-width: calc(100vw - 24px) !important;
    max-height: 70vh !important;
    transform: none !important;
    border-radius: 14px !important;
    overflow-y: auto !important;
    z-index: 600 !important;
    background: var(--surface) !important;
    border: 1px solid var(--line) !important;
    box-shadow: 0 -8px 36px rgba(0, 0, 0, 0.35) !important;
  }

  [data-theme="dark"] .try-dropdown-popover {
    background: var(--surface) !important;
    border: 1px solid var(--line) !important;
    box-shadow: 0 -8px 40px rgba(0, 0, 0, 0.75) !important;
  }

  .try-dropdown-backdrop {
    position: fixed !important;
    inset: 0 !important;
    background: var(--surface) !important;
    backdrop-filter: blur(4px) !important;
    -webkit-backdrop-filter: blur(4px) !important;
    z-index: 550 !important;
  }

  /* EZ Mode Output Screen (Canvas View) on Mobile: Zero Overflow, Crisp Badges, 1-Click Download */
  .try-view-canvas {
    width: 100% !important;
    max-width: 100% !important;
    padding: 0 4px !important;
    box-sizing: border-box !important;
    height: auto !important;
    max-height: none !important;
    overflow-x: hidden !important;
  }

  .try-canvas-row {
    width: 100% !important;
    max-width: 100% !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  .try-artboard-container {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    position: relative !important;
  }

  .try-canvas-artboard-wrap {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: 52vh !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    box-shadow: 0 12px 36px rgba(0, 0, 0, 0.6) !important;
  }

  .try-compare-container {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    overflow: hidden !important;
    border-radius: 12px !important;
  }

  .try-tag-before {
    position: absolute !important;
    bottom: 8px !important;
    left: 8px !important;
    font-size: 9px !important;
    padding: 2px 7px !important;
    border-radius: 5px !important;
    z-index: 12 !important;
  }

  .try-tag-after {
    position: absolute !important;
    bottom: 8px !important;
    right: 8px !important;
    font-size: 9px !important;
    padding: 2px 7px !important;
    border-radius: 5px !important;
    z-index: 12 !important;
  }

  .try-artboard-download-btn {
    top: 8px !important;
    right: 8px !important;
    padding: 4px 8px !important;
    font-size: 10.5px !important;
    border-radius: 6px !important;
  }

  /* Side Action Buttons on Mobile: Clean 2-Button Row under Canvas */
  .try-canvas-side-actions {
    position: static !important;
    transform: none !important;
    left: auto !important;
    top: auto !important;
    flex-direction: row !important;
    width: 100% !important;
    max-width: 100% !important;
    gap: 8px !important;
    margin-top: 8px !important;
    z-index: 10 !important;
    box-sizing: border-box !important;
  }

  .try-side-btn {
    flex: 1 !important;
    min-height: 38px !important;
    font-size: 11.5px !important;
    padding: 6px 12px !important;
    border-radius: 8px !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  /* Output Staging Prompt Card on Mobile */
  .try-output-prompt-card {
    width: 100% !important;
    max-width: 100% !important;
    padding: 7px 10px !important;
    margin-top: 8px !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
  }

  .try-output-prompt-header {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    width: 100% !important;
  }

  .try-output-prompt-header .row {
    flex: 1 !important;
    min-width: 0 !important;
    overflow: hidden !important;
    gap: 5px !important;
  }

  .try-output-prompt-badge {
    font-size: 9.5px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  }

  .try-output-prompt-meta {
    display: none !important;
  }

  .try-prompt-copy-btn {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    font-size: 10px !important;
    padding: 2px 8px !important;
    min-height: 24px !important;
  }

  .try-stage-prompt-textarea {
    font-size: 11.5px !important;
    line-height: 1.35 !important;
    padding: 5px 7px !important;
  }

  /* Photo Tray on Mobile: Single-Line Title & Zero-Scrollbar Touch Tray */
  .try-photo-tray-wrap {
    width: 100% !important;
    max-width: 100% !important;
    padding: 6px 10px !important;
    margin-top: 8px !important;
    border-radius: 10px !important;
    box-sizing: border-box !important;
  }

  .try-photo-tray-header {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 6px !important;
    width: 100% !important;
    margin-bottom: 5px !important;
  }

  .try-photo-tray-header .row {
    flex: 1 !important;
    min-width: 0 !important;
    gap: 6px !important;
    flex-wrap: nowrap !important;
  }

  .try-tray-title {
    font-size: 11px !important;
    white-space: nowrap !important;
    letter-spacing: 0.2px !important;
  }

  .try-photo-tray-header .small.muted {
    display: none !important;
  }

  .try-tray-add-btn {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    font-size: 10px !important;
    padding: 2px 8px !important;
    min-height: 24px !important;
  }

  .try-photo-tray-scroll {
    gap: 8px !important;
    padding-bottom: 2px !important;
    scrollbar-width: none !important;
    -webkit-overflow-scrolling: touch !important;
    overflow-x: auto !important;
  }

  .try-photo-tray-scroll::-webkit-scrollbar {
    display: none !important;
  }

  .try-tray-item {
    width: 90px !important;
    gap: 3px !important;
  }

  .try-tray-thumb-box {
    width: 90px !important;
    height: 58px !important;
    border-radius: 6px !important;
  }

  .try-tray-name {
    font-size: 9px !important;
    max-width: 90px !important;
  }

  /* Meet Our Editors Card on Mobile: 100% Full-Width CTA Button matching Image 3 */
  .try-editors-horizontal-card {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px 14px !important;
    margin-top: 8px !important;
    margin-bottom: 12px !important;
    box-sizing: border-box !important;
    border-radius: 12px !important;
    background: var(--surface) !important;
    border: 1px solid var(--line) !important;
  }

  .try-editors-avatars-wrap {
    display: none !important;
  }

  .try-editors-card-left {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
  }

  .try-editors-card-text {
    width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
  }

  .try-editors-eyebrow {
    font-size: 10px !important;
    font-weight: 800 !important;
    color: var(--brand-link) !important;
    letter-spacing: 0.5px !important;
    text-transform: uppercase !important;
    margin-bottom: 2px !important;
  }

  .try-editors-title {
    font-size: 13.5px !important;
    font-weight: 700 !important;
    color: var(--ink) !important;
    letter-spacing: -0.2px !important;
    margin: 0 !important;
  }

  .try-editors-sub {
    font-size: 11px !important;
    color: var(--ink) !important;
    line-height: 1.4 !important;
    margin: 4px 0 10px 0 !important;
  }

  .try-editors-card-right {
    width: 100% !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    flex-shrink: 0 !important;
  }

  .try-finishing-review-btn {
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 40px !important;
    padding: 10px 16px !important;
    border-radius: 8px !important;
    background: var(--accent) !important;
    color: var(--ink) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    gap: 8px !important;
    text-align: center !important;
    border: none !important;
    box-shadow: 0 3px 10px rgba(222, 138, 102, 0.35) !important;
    box-sizing: border-box !important;
  }

  .try-finishing-review-btn:hover {
    background: var(--accent) !important;
    color: var(--ink) !important;
  }

  .try-btn-arrow-icon {
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
  }

  /* Inspector: Naturally stacked below canvas work */
  .editor-inspector,
  .inspector {
    order: 4 !important;
    display: block !important;
    width: 100% !important;
    border-left: none !important;
    border-top: 1px solid var(--line) !important;
    background: var(--surface) !important;
  }
  
  .inspector-section {
    padding: 16px 14px !important;
  }

  .inspector-multiview-content {
    padding: 12px 14px 72px !important;
  }

  .orbit-stage-box {
    width: 100% !important;
    max-width: 340px !important;
    height: 250px !important;
    margin: 0 auto !important;
  }
  
  /* All grids: 100% 1 column on mobile */
  .two-cols,
  .three-cols,
  .four-cols,
  .catalog-grid,
  .help-grid,
  .blog-grid,
  .checkout-layout-grid,
  .form-grid,
  .pricing-addon-section .two-cols {
    grid-template-columns: 1fr !important;
    gap: 16px !important;
  }
  
  /* Payment methods on mobile */
  .payment-method-tabs {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }
  
  .vietqr-body {
    grid-template-columns: 1fr !important;
    padding: 14px !important;
    gap: 16px !important;
  }
  
  .vietqr-code-wrapper {
    margin: 0 auto !important;
  }
  
  .vietqr-code-wrapper svg {
    width: 150px !important;
    height: 150px !important;
  }
  
  .card-number-display {
    font-size: 16px !important;
    letter-spacing: 1px !important;
  }
  
  .wallet-buttons-grid {
    grid-template-columns: 1fr !important;
  }

  /* Output modal full screen sheet on mobile */
  dialog.output-dialog-modal {
    width: 100vw !important;
    height: 100vh !important;
    max-width: 100vw !important;
    max-height: 100vh !important;
    border-radius: 0 !important;
    margin: 0 !important;
    inset: 0 !important;
  }

  .output-workbench.modal-workbench {
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
    overflow-y: auto !important;
  }

  .output-workbench.modal-workbench .output-stage {
    flex: 0 0 auto !important;
    max-height: 45vh !important;
  }

  .output-workbench.modal-workbench .output-side-panel {
    flex: 1 1 auto !important;
  }
}


/* ==========================================================================
   HOMEPAGE 16:9 CINEMATIC HERO & LIVELY CSS ANIMATIONS
   ========================================================================== */
.hero {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
  padding: 56px 0 48px;
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  align-items: center;
  gap: 52px;
}

@media (max-width: 950px) {
  .hero {
    grid-template-columns: 1fr !important;
    gap: 36px !important;
    padding: 36px 0 28px !important;
  }
}

.hero::before {
  content: "";
  position: absolute;
  top: -40px;
  left: -60px;
  width: 460px;
  height: 460px;
  background: radial-gradient(circle, rgba(187, 75, 44, 0.11) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
  filter: blur(38px);
}

[data-theme="dark"] .hero::before {
  background: radial-gradient(circle, rgba(112, 180, 224, 0.15) 0%, transparent 70%);
}

.hero > * {
  position: relative;
  z-index: 1;
}

/* --- Hero Text Animations & Typography --- */
.hero-copy {
  display: flex;
  flex-direction: column;
}

.hero .eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  background: var(--tint);
  border: 1px solid var(--line);
  border-radius: 9999px;
  color: var(--brand-link);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  width: fit-content;
  box-shadow: 0 2px 12px rgba(187, 75, 44, 0.12);
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
  animation: heroFadeUp 0.75s cubic-bezier(0.16, 1, 0.3, 1) 0.08s both;
}

.hero .eyebrow:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 18px rgba(187, 75, 44, 0.22);
  border-color: var(--line);
}

.hero .eyebrow::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 6px var(--accent);
  animation: pulseBadgeDot 2.2s ease-in-out infinite;
}

@keyframes pulseBadgeDot {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
    box-shadow: 0 0 6px var(--accent);
  }
  50% {
    transform: scale(1.45);
    opacity: 0.75;
    box-shadow: 0 0 14px var(--accent);
  }
}

.hero h1 {
  font-size: clamp(38px, 4.4vw, 62px);
  font-weight: 500;
  letter-spacing: -2.4px;
  line-height: 1.12;
  margin: 18px 0 16px;
  animation: heroFadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.18s both;
}

.hero h1 em {
  font-style: normal;
  background: linear-gradient(120deg, #0E4872 0%, #0E4872 25%, #f6a67a 50%, #0E4872 75%, #0E4872 100%);
  background-size: 260% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: inline-block;
  animation: textShimmer 6s ease-in-out infinite alternate;
  filter: drop-shadow(0 2px 14px rgba(187, 75, 44, 0.25));
}

[data-theme="dark"] .hero h1 em {
  background: linear-gradient(120deg, #0E4872 0%, #9accec 25%, #ffd4bf 50%, #9accec 75%, #0E4872 100%);
  background-size: 260% 100%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 2px 18px rgba(232, 114, 72, 0.38));
}

@keyframes textShimmer {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 100% 50%;
  }
}

.hero p {
  color: var(--muted);
  font-size: 16px;
  line-height: 1.55;
  max-width: 460px;
  margin: 0 0 24px;
  animation: heroFadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.3s both;
}

.hero .row.wrap {
  animation: heroFadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.42s both;
}

.hero .hero-meta-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 14px;
  animation: heroFadeUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) 0.52s both;
}

.hero .hero-meta-badge p.small {
  margin: 0;
  font-size: 13px;
  color: var(--muted);
}

.hero .pulse-indicator-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--surface);
  box-shadow: 0 0 8px rgba(34, 197, 94, 0.7);
  animation: pulseBadgeDot 2s ease-in-out infinite;
  flex-shrink: 0;
}

.hero .btn.primary {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #0E4872 0%, #082F4B 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.25), 0 8px 24px rgba(187, 75, 44, 0.3);
  font-weight: 600;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.hero .btn.primary::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -80%;
  width: 50%;
  height: 200%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
  transform: rotate(25deg);
  animation: btnSheenSweep 5.5s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  pointer-events: none;
}

@keyframes btnSheenSweep {
  0%, 75% {
    left: -80%;
  }
  100% {
    left: 150%;
  }
}

.hero .btn.primary:hover {
  transform: translateY(-2px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35), 0 14px 34px rgba(187, 75, 44, 0.42);
}

.hero .btn.ghost {
  transition: all 0.25s ease;
}

.hero .btn.ghost:hover {
  transform: translateY(-2px);
  background: var(--tint);
  color: var(--brand-link);
}

@keyframes heroFadeUp {
  0% {
    opacity: 0;
    transform: translateY(22px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* --- 16:9 Hero Image Visual & Compare Slider --- */
.hero-visual {
  position: relative;
  width: 100%;
  animation: heroVisualEntrance 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0.22s both;
}

@keyframes heroVisualEntrance {
  0% {
    opacity: 0;
    transform: translateY(26px) scale(0.97);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.hero-visual-aura {
  position: absolute;
  inset: -18px;
  border-radius: 28px;
  background: radial-gradient(ellipse at 55% 45%, rgba(233, 154, 116, 0.32) 0%, rgba(187, 75, 44, 0.15) 45%, transparent 72%);
  filter: blur(30px);
  z-index: 0;
  pointer-events: none;
  animation: auraBreathing 5.5s ease-in-out infinite alternate;
}

[data-theme="dark"] .hero-visual-aura {
  background: radial-gradient(ellipse at 55% 45%, rgba(233, 154, 116, 0.26) 0%, rgba(187, 75, 44, 0.2) 50%, transparent 75%);
}

@keyframes auraBreathing {
  0% {
    opacity: 0.55;
    transform: scale(0.96);
  }
  100% {
    opacity: 0.95;
    transform: scale(1.04);
  }
}

.hero-visual-card {
  position: relative;
  border-radius: 16px;
  z-index: 1;
  animation: heroCardFloat 7.5s ease-in-out infinite alternate;
  will-change: transform;
}

@keyframes heroCardFloat {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-7px);
  }
  100% {
    transform: translateY(0);
  }
}

/* Strict 16:9 Aspect Ratio on Hero Compare Slider */
.hero .compare-view,
.hero-home .compare-view {
  aspect-ratio: 16 / 9 !important;
  width: 100% !important;
  height: auto !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 25px 65px -12px rgba(0, 0, 0, 0.18), 0 8px 24px -4px rgba(0, 0, 0, 0.08) !important;
  border: 1px solid var(--line) !important;
  position: relative;
  z-index: 1;
  transition: box-shadow 0.35s ease, transform 0.35s ease;
}

.hero .compare-view:hover,
.hero-home .compare-view:hover {
  box-shadow: 0 32px 80px -12px rgba(0, 0, 0, 0.24), 0 12px 30px -4px rgba(187, 75, 44, 0.15) !important;
}

[data-theme="dark"] .hero .compare-view,
[data-theme="dark"] .hero-home .compare-view {
  box-shadow: 0 30px 85px -15px rgba(0, 0, 0, 0.65), 0 0 0 1px rgba(255, 255, 255, 0.14) !important;
  border-color: var(--line) !important;
}

.hero .compare-view > img,
.hero .compare-overlay img,
.hero-home .compare-view > img,
.hero-home .compare-overlay img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.hero .compare-view:hover > img,
.hero .compare-view:hover .compare-overlay img {
  transform: scale(1.018);
}

/* Compare Divider & Beacon Pulse */
.compare-view {
  position: relative;
  overflow: hidden;
  border-radius: 12px;
  line-height: 0;
  background: var(--surface);
  width: 100%;
  height: auto;
  display: block;
}

.compare-divider::after {
  background: var(--surface);
  border: 2px solid var(--accent);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.35);
  transition: transform 0.15s ease;
  animation: dividerBeacon 3.2s cubic-bezier(0.4, 0, 0.2, 1) infinite;
}

@keyframes dividerBeacon {
  0% {
    box-shadow: 0 0 0 0 rgba(187, 75, 44, 0.65), 0 4px 18px rgba(0, 0, 0, 0.35);
  }
  60% {
    box-shadow: 0 0 0 11px rgba(187, 75, 44, 0), 0 6px 22px rgba(187, 75, 44, 0.4);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(187, 75, 44, 0), 0 4px 18px rgba(0, 0, 0, 0.35);
  }
}

.compare-view:hover .compare-divider::after {
  transform: translate(-50%, -50%) scale(1.12);
}

.compare-view .tag {
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  background: var(--surface);
  border: 1px solid var(--line);
  font-weight: 600;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.compare-view:hover .tag {
  transform: translateY(-1px);
}

[data-theme="dark"] .compare-view .tag {
  background: var(--surface);
  border-color: var(--line);
  color: var(--ink);
}

/* Interactive Drag Pill Helper */
.hero-compare-pill {
  position: absolute;
  bottom: 14px;
  right: 14px;
  z-index: 4;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 9999px;
  background: var(--surface);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  color: var(--ink);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2px;
  pointer-events: none;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
  border: 1px solid var(--line);
  animation: dragHintPill 4s ease-in-out infinite;
}

.hero-compare-pill svg {
  width: 14px;
  height: 14px;
  stroke: #70B4E0;
  stroke-width: 2;
  fill: none;
}

@keyframes dragHintPill {
  0%, 100% {
    transform: translateY(0);
    opacity: 0.88;
  }
  50% {
    transform: translateY(-2px);
    opacity: 1;
  }
}

/* --- Homepage Cards with 16:9 Ratios and Lively Hover Animations --- */
.catalog-card {
  transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.32s ease, border-color 0.32s ease;
  overflow: hidden;
  border-radius: 12px;
}

.catalog-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.1), 0 4px 12px rgba(187, 75, 44, 0.12);
  border-color: var(--line);
}

.catalog-card img {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  display: block !important;
  transition: transform 0.55s cubic-bezier(0.16, 1, 0.3, 1), filter 0.4s ease;
}

.catalog-card:hover img {
  transform: scale(1.05);
  filter: contrast(1.03) brightness(1.02);
}

.welcome-banner .banner-image img {
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  border-radius: 12px;
  transition: transform 0.55s ease;
}

.welcome-banner:hover .banner-image img {
  transform: scale(1.03);
}

.editor-showcase-photo img {
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  border-radius: 12px;
  transition: transform 0.55s ease;
}

.editor-showcase-photo:hover img {
  transform: scale(1.03);
}

/* Reduced Motion Support */
@media (prefers-reduced-motion: reduce) {
  .hero .eyebrow,
  .hero h1,
  .hero p,
  .hero .row.wrap,
  .hero .hero-meta-badge,
  .hero-visual,
  .hero-visual-card,
  .hero-visual-aura,
  .hero h1 em,
  .hero .btn.primary::before,
  .hero .eyebrow::before,
  .compare-divider::after,
  .hero-compare-pill {
    animation: none !important;
    transition: none !important;
    transform: none !important;
  }
}

.final-cta {
  background: linear-gradient(135deg, #18221f 0%, #202e29 50%, #151d1a 100%);
  border: 1px solid var(--line);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.25);
  position: relative;
  overflow: hidden;
}

.final-cta::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -20%;
  width: 360px;
  height: 360px;
  background: radial-gradient(circle, rgba(112, 180, 224, 0.18) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}

/* ==========================================================================
   WORKSPACE ENHANCED STYLING (Staging, Editor, Library, Billing)
   ========================================================================== */
.topbar {
  background: var(--surface);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--line);
}

[data-theme="dark"] .topbar {
  background: var(--surface);
  border-bottom-color: var(--line);
}

.top-actions .tag.outline {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  border-radius: 9999px;
  padding: 4px 10px;
  font-size: 11px;
  font-weight: 600;
  border: 1px solid var(--line);
}

.top-actions .dot {
  width: 6px;
  height: 6px;
  background: var(--surface);
  border-radius: 50%;
  box-shadow: 0 0 6px #22c55e;
  animation: pulseDot 2s infinite;
}

.welcome-banner {
  background: linear-gradient(135deg, #e9edeb 0%, #e2e8e5 60%, #d8e0dc 100%);
  border: 1px solid var(--line);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04);
  border-radius: 14px;
}

[data-theme="dark"] .welcome-banner {
  background: linear-gradient(135deg, #1d2528 0%, #232d30 100%);
  border-color: var(--line);
}

.stat {
  transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.22s ease, border-color 0.22s ease;
  position: relative;
  overflow: hidden;
}

.stat:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.06);
  border-color: var(--line);
}

.stat .stat-icon {
  background: var(--tint);
  border-color: var(--line);
  color: var(--brand-link);
}

.project-card {
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s ease, border-color 0.25s ease;
}

.project-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.09);
  border-color: var(--line);
}

.project-photo img {
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.project-card:hover .project-photo img {
  transform: scale(1.035);
}

/* Canvas Area Dot Pattern */
.editor-layout,
.canvas-work {
  background-color: var(--bg);
  background-image: radial-gradient(circle, #c3ccd0 0.8px, transparent 0.8px);
  background-size: 14px 14px;
}

[data-theme="dark"] .editor-layout,
[data-theme="dark"] .canvas-work {
  background-color: var(--bg);
  background-image: radial-gradient(circle, #222e34 0.8px, transparent 0.8px);
  background-size: 14px 14px;
}

.artboard {
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.22);
}

[data-theme="dark"] .artboard {
  box-shadow: 0 25px 80px rgba(0, 0, 0, 0.65);
}

.canvas-controls {
  display: none !important;
}

.canvas-frame {
  cursor: grab;
}

.canvas-frame.is-panning {
  cursor: grabbing !important;
}

.canvas-frame[data-tool="brush"] {
  cursor: crosshair;
}

.canvas-frame[data-tool="text"] {
  cursor: text;
}

.canvas-frame[data-tool="hand"] {
  cursor: grab;
}

.canvas-zoom-hud {
  position: absolute;
  bottom: 22px;
  left: 50%;
  transform: translateX(-50%) translateY(8px);
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
  padding: 6px 16px;
  border-radius: 9999px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.6);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease, transform 0.2s ease;
  z-index: 60;
  letter-spacing: 0.5px;
}

.canvas-zoom-hud.visible {
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

/* ==========================================================================
   LIVE CHAT SUPPORT WIDGET (Forma Studio & Fotober Support)
   ========================================================================== */

/* Floating Trigger Button */
.live-chat-trigger {
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.live-chat-trigger:hover {
  box-shadow: 0 14px 36px rgba(187, 75, 44, 0.45), 0 3px 8px rgba(0,0,0,0.15);
  background: linear-gradient(135deg, var(--accent-hover) 0%, #082F4B 100%);
}

.chat-trigger-icon-wrap {
  position: relative;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
}

.chat-trigger-online-dot {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 9px;
  height: 9px;
  background: var(--surface);
  border: 2px solid var(--accent);
  border-radius: 50%;
  box-shadow: 0 0 6px #22c55e;
  animation: chatPulseOnline 2s infinite ease-in-out;
}

@keyframes chatPulseOnline {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.25); opacity: 0.85; }
}

.chat-icon-svg {
  stroke: #fff;
  width: 22px;
  height: 22px;
}

.chat-trigger-label {
  font-size: 13.5px;
  font-weight: 600;
  letter-spacing: -0.2px;
  white-space: nowrap;
}

.chat-unread-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  background: #ef4444;
  color: var(--ink);
  font-size: 10.5px;
  font-weight: 700;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  border: 2px solid var(--surface);
  box-shadow: 0 2px 6px rgba(239, 68, 68, 0.5);
  animation: bounceBadge 2s infinite;
}

@keyframes bounceBadge {
  0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
  40% { transform: translateY(-4px); }
  60% { transform: translateY(-2px); }
}

/* Chat Popup Window */
.live-chat-box {
  position: fixed;
  bottom: 84px;
  right: 24px;
  width: 380px;
  max-width: calc(100vw - 32px);
  height: 550px;
  max-height: calc(100vh - 100px);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.22), 0 4px 16px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  z-index: 9999;
  opacity: 0;
  pointer-events: none;
  transform: translateY(16px) scale(0.96);
  transform-origin: bottom right;
  transition: opacity 0.22s ease, transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.live-chat-wrapper.open .live-chat-box {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.live-chat-wrapper.minimized .live-chat-box {
  height: auto !important;
  max-height: none !important;
}

/* Chat Header */
.chat-header {
  padding: 14px 16px;
  background: linear-gradient(135deg, var(--dark) 0%, #222b2e 100%);
  color: var(--ink);
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
}

[data-theme="dark"] .chat-header {
  background: linear-gradient(135deg, #151c20 0%, #1c252a 100%);
}

.chat-header-info {
  display: flex;
  align-items: center;
  gap: 12px;
}

.chat-agent-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: linear-gradient(135deg, #70B4E0 0%, #0E4872 100%);
  color: var(--ink);
  font-weight: 700;
  font-size: 13px;
  display: grid;
  place-items: center;
  position: relative;
  box-shadow: 0 4px 12px rgba(193, 85, 51, 0.35);
  border: 2px solid var(--line);
}

.chat-agent-status-dot {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 11px;
  height: 11px;
  background: #22c55e;
  border: 2px solid #1d2325;
  border-radius: 50%;
}

.chat-agent-meta {
  display: flex;
  flex-direction: column;
}

.chat-agent-name {
  font-size: 14.5px;
  font-weight: 600;
  letter-spacing: -0.2px;
  color: var(--ink);
  line-height: 1.2;
}

.chat-agent-role {
  font-size: 11px;
  color: var(--ink);
  margin-top: 1px;
}

.chat-online-badge {
  font-size: 9.5px;
  color: #4ade80;
  margin-top: 2px;
  display: flex;
  align-items: center;
  gap: 3px;
}

.chat-header-actions {
  display: flex;
  align-items: center;
  gap: 4px;
}

.chat-header-btn {
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--brand-on-action);
  width: 30px;
  height: 30px;
  border-radius: 6px;
  cursor: pointer;
  display: grid;
  place-items: center;
  font-size: 13px;
  transition: all 0.15s ease;
}

.chat-header-btn:hover {
  background: var(--tint);
}

/* Chat Body */
.chat-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  background: var(--bg);
}

.chat-body.hidden {
  display: none !important;
}

.chat-notice-banner {
  padding: 8px 14px;
  background: var(--tint);
  border-bottom: 1px solid var(--line);
  color: var(--brand-link);
  font-size: 11px;
  font-weight: 500;
  text-align: center;
  line-height: 1.4;
  flex-shrink: 0;
}

/* Quick Suggestion Chips */
.chat-chips-scroll {
  padding: 8px 12px 6px;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
}

.chat-chips-label {
  font-size: 10.5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color: var(--muted);
  margin-bottom: 6px;
}

.chat-chips-list {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding-bottom: 4px;
  scrollbar-width: none;
}

.chat-chips-list::-webkit-scrollbar {
  display: none;
}

.chat-chip-btn {
  white-space: nowrap;
  flex-shrink: 0;
  padding: 5px 10px;
  font-size: 11px;
  font-weight: 500;
  border-radius: 9999px;
  background: var(--bg);
  border: 1px solid var(--line);
  color: var(--ink);
  cursor: pointer;
  transition: all 0.16s ease;
}

.chat-chip-btn:hover {
  background: var(--tint);
  border-color: var(--accent);
  color: var(--brand-link);
  transform: translateY(-1px);
}

/* Message Thread */
.chat-messages-container {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding: 14px 12px;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.chat-message-row {
  display: flex;
  gap: 8px;
  align-items: flex-end;
  animation: chatMsgIn 0.2s cubic-bezier(0.16, 1, 0.3, 1);
}

@keyframes chatMsgIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

.chat-message-row.user-row {
  justify-content: flex-end;
}

.chat-msg-avatar {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: linear-gradient(135deg, #70B4E0 0%, #0E4872 100%);
  color: var(--ink);
  font-size: 10px;
  font-weight: 700;
  display: grid;
  place-items: center;
  flex-shrink: 0;
}

.chat-bubble {
  max-width: 82%;
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 12.5px;
  line-height: 1.55;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
}

.chat-bubble.agent-bubble {
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--ink);
  border-bottom-left-radius: 3px;
}

.chat-bubble.user-bubble {
  background: linear-gradient(135deg, var(--accent) 0%, #082F4B 100%);
  color: var(--ink);
  border-bottom-right-radius: 3px;
  text-align: left;
}

.chat-msg-author {
  font-size: 10.5px;
  font-weight: 700;
  color: var(--brand-link);
  margin-bottom: 4px;
}

.chat-msg-time {
  font-size: 9.5px;
  color: var(--muted);
  text-align: right;
  margin-top: 4px;
}

.user-bubble .chat-msg-time {
  color: var(--ink);
}

.chat-inline-link {
  color: var(--brand-link);
  font-weight: 600;
  text-decoration: underline;
}

.chat-inline-link:hover {
  color: var(--accent-hover);
}

/* Typing Indicator */
.chat-typing-bubble {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
}

.chat-typing-dots {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.chat-typing-dots span {
  width: 6px;
  height: 6px;
  background: var(--muted);
  border-radius: 50%;
  animation: chatDotBounce 1.2s infinite ease-in-out both;
}

.chat-typing-dots span:nth-child(1) { animation-delay: -0.32s; }
.chat-typing-dots span:nth-child(2) { animation-delay: -0.16s; }

@keyframes chatDotBounce {
  0%, 80%, 100% { transform: scale(0.6); opacity: 0.4; }
  40% { transform: scale(1.1); opacity: 1; }
}

.chat-typing-label {
  font-size: 11px;
  color: var(--muted);
  font-style: italic;
}

/* Chat Input Footer */
.chat-footer-form {
  padding: 10px 12px;
  background: var(--surface);
  border-top: 1px solid var(--line);
  flex-shrink: 0;
}

.chat-input-wrapper {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 9999px;
  padding: 4px 6px 4px 14px;
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
}

.chat-input-wrapper:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(187, 75, 44, 0.15);
  background: var(--surface);
}

.chat-input-field {
  flex: 1;
  border: none;
  background: transparent;
  font-size: 13px;
  color: var(--ink);
  outline: none;
  min-height: 36px;
}

.chat-send-btn {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--accent);
  border: none;
  color: var(--brand-on-action);
  display: grid;
  place-items: center;
  cursor: pointer;
  flex-shrink: 0;
  transition: all 0.16s ease;
}

.chat-send-btn:hover {
  background: var(--accent-hover);
  transform: scale(1.06);
}

.chat-send-btn:active {
  transform: scale(0.95);
}

.chat-footer-caption {
  font-size: 9.5px;
  color: var(--muted);
  text-align: center;
  margin-top: 6px;
}

/* Mobile Responsiveness for Live Chat */
@media (max-width: 640px) {
  .live-chat-wrapper {
    bottom: 16px;
    right: 16px;
  }
  .live-chat-trigger {
    padding: 10px;
    border-radius: 50%;
    width: 48px;
    height: 48px;
    justify-content: center;
  }
  .chat-trigger-label,
  .chat-trigger-collapse-btn {
    display: none !important;
  }
  .live-chat-box {
    bottom: 74px;
    right: 12px;
    left: 12px;
    width: calc(100% - 24px);
    max-width: none;
    height: 480px;
    max-height: calc(100vh - 90px);
    border-radius: 14px;
  }
}

/* ==========================================================================
   COMPACT INTERNATIONAL CHECKOUT GRID (NO VERTICAL SCROLL ON DESKTOP)
   ========================================================================== */
.checkout-compact-page {
  padding: 12px 16px 16px;
  min-height: calc(100vh - 72px);
  display: flex;
  align-items: center;
  justify-content: center;
  background: radial-gradient(circle at 50% 0%, rgba(13, 148, 136, 0.04) 0%, transparent 65%), var(--bg);
}

.checkout-grid-container {
  width: 100%;
  max-width: 1020px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 18px;
  align-items: stretch;
}

.checkout-col {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 16px 20px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.04);
  display: flex;
  flex-direction: column;
}

.checkout-col-left {
  justify-content: flex-start;
}

.checkout-col-right {
  justify-content: flex-start;
}

/* Brand bar & headers */
.checkout-brand-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.checkout-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 600;
  color: var(--muted);
  text-decoration: none;
  transition: color 0.15s ease;
}

.checkout-back-btn:hover {
  color: var(--brand-link);
}

.checkout-secure-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10.5px;
  font-weight: 600;
  color: #059669;
  background: rgba(5, 150, 105, 0.08);
  border: 1px solid rgba(5, 150, 105, 0.2);
  padding: 2px 7px;
  border-radius: 20px;
}

.checkout-header-compact h1 {
  font-size: 18px;
  font-weight: 800;
  margin: 0 0 2px 0;
  color: var(--ink);
  letter-spacing: -0.02em;
}

.checkout-header-compact p {
  font-size: 11px;
  color: var(--muted);
  margin: 0 0 10px 0;
}

/* Plan switcher tabs - 5 columns fitting in 1 row */
.checkout-plan-switcher {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 4px;
  margin-bottom: 10px;
}

.plan-tab-btn {
  padding: 5px 3px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  cursor: pointer;
  text-align: center;
  transition: all 0.15s ease;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.plan-tab-btn:hover {
  border-color: var(--line);
  background: var(--tint);
}

.plan-tab-btn.active {
  border-color: var(--accent);
  background: var(--tint);
  box-shadow: 0 0 0 1px var(--accent);
}

.plan-tab-top {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 10.5px;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.15;
}

.plan-tab-top strong {
  font-size: 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

.plan-tab-price {
  font-size: 11px;
  color: var(--brand-link);
  font-weight: 800;
  margin-top: 1px;
}

.plan-tab-sub {
  font-size: 8.5px;
  color: var(--muted);
  font-weight: 500;
  margin-top: 1px;
  text-align: center;
  white-space: nowrap;
}

/* Active plan card */
.checkout-active-plan-card {
  background: var(--tint);
  border: 1px dashed var(--line);
  border-radius: 10px;
  padding: 10px 12px;
  margin-bottom: 10px;
}

.active-plan-title {
  font-size: 13.5px;
  font-weight: 800;
  color: var(--ink);
  margin-right: 6px;
}

.active-plan-pill {
  font-size: 9px;
  font-weight: 700;
  color: var(--ink);
  background: var(--accent);
  padding: 1px 6px;
  border-radius: 8px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.active-plan-price-tag .active-price {
  font-size: 17px;
  font-weight: 800;
  color: var(--ink);
}

.active-plan-price-tag .active-period {
  font-size: 10.5px;
  color: var(--muted);
}

.active-plan-desc {
  font-size: 11px;
  color: var(--muted);
  margin: 2px 0 6px;
  line-height: 1.35;
}

.active-plan-features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3px 8px;
  font-size: 10.5px;
  color: var(--ink);
}

.feat-check {
  color: var(--ink);
  font-weight: 800;
  margin-right: 3px;
}

/* Order summary & coupon */
.checkout-summary-box {
  border-top: 1px solid var(--line);
  padding-top: 10px;
  margin-top: auto;
}

.coupon-row {
  display: flex;
  gap: 5px;
  margin-bottom: 6px;
}

.coupon-field {
  flex: 1;
  padding: 5px 8px;
  font-size: 11px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--bg);
  color: var(--ink);
}

.coupon-submit-btn {
  padding: 5px 12px;
  font-size: 11px;
  font-weight: 600;
  border-radius: 6px;
}

.coupon-status-msg {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 10.5px;
  padding: 3px 7px;
  border-radius: 5px;
  margin-bottom: 6px;
}

.coupon-status-msg.success {
  background: rgba(16, 185, 129, 0.1);
  color: #065f46;
}

.coupon-status-msg.error {
  background: rgba(239, 68, 68, 0.1);
  color: #991b1b;
}

.coupon-clear-btn {
  background: none;
  border: none;
  color: inherit;
  font-size: 13px;
  cursor: pointer;
  padding: 0 3px;
}

.summary-lines {
  font-size: 11.5px;
}

.summary-line {
  display: flex;
  justify-content: space-between;
  margin-bottom: 3px;
  color: var(--muted);
}

.discount-line {
  color: var(--ink);
  font-weight: 600;
}

.summary-divider {
  border-bottom: 1px dashed var(--line);
  margin: 5px 0;
}

.summary-line.total-line {
  font-size: 14px;
  font-weight: 800;
  color: var(--ink);
  margin-top: 4px;
  padding-top: 2px;
}

.total-amount {
  color: var(--brand-link);
  font-size: 16px;
}

/* Right column: Express & Stripe form */
.express-checkout-box {
  margin-bottom: 10px;
}

.express-label {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--muted);
  margin-bottom: 6px;
  text-align: center;
}

.express-buttons-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.express-btn {
  height: 34px;
  border-radius: 7px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.15s ease;
}

.apple-pay-btn {
  background: var(--surface);
  color: var(--brand-on-action);
  border: none;
}

.apple-pay-btn:hover {
  opacity: 0.9;
}

.google-pay-btn {
  background: var(--surface);
  color: var(--ink);
  border: 1px solid var(--line);
}

.google-pay-btn:hover {
  background: var(--tint);
}

.express-divider {
  display: flex;
  align-items: center;
  text-align: center;
  margin: 8px 0 6px;
  color: var(--muted);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.express-divider::before,
.express-divider::after {
  content: '';
  flex: 1;
  border-bottom: 1px solid var(--line);
}

.express-divider span {
  padding: 0 8px;
}

/* Card Form */
.checkout-card-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.checkout-card-form .field {
  display: flex;
  flex-direction: column;
}

.checkout-card-form .field label {
  font-size: 10.5px;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 3px;
}

.card-brand-logos {
  display: flex;
  gap: 3px;
}

.card-logo-badge {
  font-size: 8px;
  font-weight: 800;
  padding: 1px 4px;
  border-radius: 3px;
  background: var(--surface);
  color: #475569;
  border: 1px solid #cbd5e1;
  letter-spacing: 0.02em;
}

.card-logo-badge.visa {
  color: #1e3a8a;
  font-style: italic;
}

.card-logo-badge.mc {
  color: #dc2626;
}

.card-logo-badge.amex {
  color: #0284c7;
}

.stripe-card-group {
  border: 1px solid var(--line);
  border-radius: 7px;
  overflow: hidden;
  background: var(--bg);
  transition: border-color 0.15s, box-shadow 0.15s;
}

.stripe-card-group:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(13, 148, 136, 0.15);
}

.stripe-card-number-row input {
  width: 100%;
  border: none;
  padding: 7px 10px;
  font-size: 12.5px;
  background: transparent;
  color: var(--ink);
  font-family: monospace, sans-serif;
  letter-spacing: 0.05em;
  outline: none;
  border-bottom: 1px solid var(--line);
}

.stripe-card-inline-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.stripe-card-inline-row input {
  width: 100%;
  border: none;
  padding: 7px 10px;
  font-size: 12.5px;
  background: transparent;
  color: var(--ink);
  font-family: monospace, sans-serif;
  outline: none;
}

.stripe-card-inline-row input:first-child {
  border-right: 1px solid var(--line);
}

.form-grid-2col {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 8px;
}

.checkout-card-form input[type="email"],
.checkout-card-form input[type="text"],
.checkout-card-form select {
  width: 100%;
  padding: 6px 9px;
  font-size: 11.5px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--bg);
  color: var(--ink);
  outline: none;
  transition: border-color 0.15s;
}

.checkout-card-form input:focus,
.checkout-card-form select:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(13, 148, 136, 0.12);
}

.checkout-submit-cta {
  height: 38px;
  margin-top: 4px;
  font-size: 13.5px;
  font-weight: 700;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  background: var(--accent);
  color: var(--brand-on-action);
  box-shadow: 0 3px 12px rgba(13, 148, 136, 0.25);
  cursor: pointer;
  transition: transform 0.1s ease, filter 0.15s ease;
}

.checkout-submit-cta:hover {
  filter: brightness(1.06);
}

.checkout-submit-cta:active {
  transform: translateY(1px);
}

.checkout-guarantee-note {
  text-align: center;
  margin-top: 4px;
  font-size: 10px;
  color: var(--muted);
  line-height: 1.3;
}

.guarantee-pills {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 3px;
  font-size: 9.5px;
  font-weight: 600;
  color: var(--muted);
}

/* Receipt Screen */
.checkout-receipt-box {
  max-width: 540px;
  margin: 0 auto;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 28px 24px;
  box-shadow: 0 10px 36px rgba(0, 0, 0, 0.05);
  text-align: center;
}

.receipt-check-circle {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: var(--surface);
  color: var(--ink);
  font-size: 24px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 12px;
}

.receipt-success-header h2 {
  font-size: 19px;
  font-weight: 800;
  color: var(--ink);
  margin: 0 0 5px 0;
}

.receipt-success-header p {
  font-size: 12px;
  color: var(--muted);
  margin: 0 0 16px 0;
}

.receipt-summary-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  text-align: left;
  background: var(--bg);
  border: 1px solid var(--line);
  border-radius: 9px;
  padding: 10px 14px;
  margin-bottom: 14px;
}

.receipt-meta-item {
  display: flex;
  flex-direction: column;
}

.receipt-meta-label {
  font-size: 10px;
  font-weight: 600;
  color: var(--muted);
  margin-bottom: 2px;
}

.receipt-meta-value {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--ink);
}

.receipt-balance-banner {
  background: var(--surface);
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 12px;
  margin-bottom: 16px;
}

.balance-tag {
  color: var(--brand-link);
  font-size: 13.5px;
}

.receipt-actions-row {
  display: flex;
  gap: 8px;
  justify-content: center;
  flex-wrap: wrap;
}

.receipt-cta {
  padding: 7px 13px;
  font-size: 12px;
}

/* Responsive adjustments */
@media (max-width: 860px) {
  .checkout-grid-container {
    grid-template-columns: 1fr;
    max-width: 500px;
    gap: 16px;
  }
  .checkout-compact-page {
    padding: 14px 10px 40px;
  }
  .checkout-plan-switcher {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ==========================================================================
   COMPACT NEW PROJECT PAGE (NO WORKFLOW SELECTOR, OPTIONAL PHOTOS)
   ========================================================================== */
.new-project-wrapper {
  max-width: 660px;
  margin: 24px auto 48px;
  padding: 0 16px;
}

.new-project-header {
  margin-bottom: 20px;
}

.new-project-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--muted);
  text-decoration: none;
  margin-bottom: 12px;
  transition: color 0.15s ease;
}

.new-project-back:hover {
  color: var(--brand-link);
}

.new-project-header h1 {
  font-size: 24px;
  font-weight: 800;
  color: var(--ink);
  margin: 0 0 4px 0;
  letter-spacing: -0.02em;
}

.new-project-header p {
  font-size: 13px;
  color: var(--muted);
  margin: 0;
}

.new-project-card {
  padding: 24px 28px;
  border-radius: 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.04);
}

.new-project-name-field {
  margin-bottom: 20px;
}

.new-project-name-field label,
.upload-field-header label {
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 5px;
}

.required-star {
  color: var(--brand-link);
}

.new-project-name-field input {
  width: 100%;
  padding: 11px 13px;
  font-size: 14px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: var(--bg);
  color: var(--ink);
  outline: none;
  transition: border-color 0.15s, box-shadow 0.15s;
}

.new-project-name-field input:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(13, 148, 136, 0.15);
}

.field-hint {
  display: block;
  font-size: 11.5px;
  color: var(--muted);
  margin-top: 5px;
}

.upload-field-header {
  align-items: flex-start;
  margin-bottom: 8px;
}

.upload-subtext {
  font-size: 11.5px;
  color: var(--muted);
  margin: 0;
}

.compact-upload-zone {
  padding: 20px 16px;
  cursor: pointer;
  border: 1.5px dashed var(--line);
  border-radius: 10px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  background: var(--surface);
  transition: all 0.15s ease;
}

.compact-upload-zone:hover,
.compact-upload-zone.dragover {
  border-color: var(--accent);
  background: var(--tint);
}

.upload-zone-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--surface);
  color: var(--brand-link);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.upload-zone-text {
  text-align: left;
}

.upload-zone-text strong {
  display: block;
  font-size: 13px;
  color: var(--ink);
  margin-bottom: 2px;
}

.upload-zone-text span {
  font-size: 11px;
  color: var(--muted);
}

.new-project-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 18px;
  margin-top: 18px;
  border-top: 1px solid var(--line);
}

.new-project-cta {
  padding: 10px 22px;
  font-size: 13.5px;
  font-weight: 700;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  box-shadow: 0 4px 14px rgba(13, 148, 136, 0.25);
}

.new-project-guarantee {
  text-align: center;
  margin-top: 14px;
  font-size: 11.5px;
  color: var(--muted);
}

/* Canvas Dragover styling */
.canvas-frame.dragover {
  outline: 2px dashed var(--accent);
  outline-offset: -4px;
  background: var(--surface) !important;
}

/* ==========================================================================
   SIDEBAR COMPACT & OVERFLOW FIX (Never cut off bottom profile or credit widget)
   ========================================================================== */
.sidebar {
  position: fixed;
  inset: 0 auto 0 0;
  width: 274px;
  height: 100vh;
  max-height: 100vh;
  background: var(--dark);
  color: #c0c7ca;
  display: flex;
  flex-direction: column;
  padding: 16px 14px 12px;
  z-index: 40;
  overflow-y: auto;
  overflow-x: hidden;
  box-sizing: border-box;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.18) transparent;
}

.sidebar::-webkit-scrollbar {
  width: 4px;
}
.sidebar::-webkit-scrollbar-track {
  background: transparent;
}
.sidebar::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.18);
  border-radius: 4px;
}
.sidebar::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.35);
}

.sidebar .brand {
  margin-bottom: 2px;
}

.sidebar .workspace-switch {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #41494c;
  background: #2a3235;
  border-radius: 8px;
  padding: 7px 9px;
  margin: 10px 0 8px;
  font-size: 13px;
  color: white;
  width: 100%;
  box-sizing: border-box;
}

.sidebar .workspace-switch .avatar {
  width: 28px;
  height: 28px;
  font-size: 11px;
  border-radius: 6px;
  flex-shrink: 0;
}

.sidebar .workspace-switch b {
  font-size: 12.5px;
  display: block;
  line-height: 1.2;
}

.sidebar .workspace-switch small {
  display: block;
  font-size: 10.5px;
  color: #a8b2b7;
}

.sidebar .nav-label {
  font-size: 9.5px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: #8b979d;
  padding: 0 8px;
  margin: 7px 0 3px;
}

.sidebar .nav-label-discover {
  margin-top: 10px !important;
}

.sidebar .nav-link {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 8px;
  min-height: 38px;
  font-size: 13px;
  border-radius: 7px;
  margin: 1px 0;
  color: #bec7cc;
  position: relative;
  box-sizing: border-box;
}

.sidebar .nav-link > span:first-of-type {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidebar .nav-link svg.icon {
  width: 17px;
  height: 17px;
}

.sidebar .nav-link:hover {
  background: #30393d;
  color: #fff;
}

.sidebar .nav-link.active {
  background: #3b4447;
  color: #fff;
}

.sidebar .nav-link.active:before {
  content: "";
  width: 3px;
  height: 18px;
  position: absolute;
  left: 3px;
  border-radius: 3px;
  background: #70B4E0;
}

.nav-coming-soon-badge {
  margin-left: auto !important;
  font-size: 9px !important;
  font-weight: 400 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  padding: 0 3px !important;
  border-radius: 9999px !important;
  color: var(--brand-link) !important;
  border: 0 !important;
  background: transparent !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
}

[data-theme="light"] .nav-coming-soon-badge {
  color: var(--brand-link) !important;
  border-color: rgba(196, 84, 45, 0.45) !important;
  background: transparent !important;
}

.sidebar .side-bottom {
  margin-top: auto;
  padding-top: 10px;
}

.sidebar .credit-card {
  border: 1px solid #485154;
  border-radius: 8px;
  margin: 8px 0;
  padding: 10px 12px;
  font-size: 11.5px;
  background: rgba(255, 255, 255, 0.02);
}

.sidebar .credit-card .row {
  justify-content: space-between;
}

.sidebar .credit-card strong {
  color: white;
  font-size: 16px;
  font-weight: 600;
}

.sidebar .credit-card p {
  font-size: 10.5px;
  color: #aeb8bd;
  margin: 4px 0 0;
}

.sidebar .meter {
  height: 4px;
  background: #465054;
  border-radius: 9px;
  overflow: hidden;
  margin: 6px 0;
}

.sidebar .profile {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 12.5px;
  padding: 6px 8px;
  border-radius: 7px;
  color: #bec7cc;
  transition: background 0.15s;
}

.sidebar .profile:hover {
  background: #2a3235;
  color: #fff;
}

.sidebar .profile .avatar {
  width: 30px;
  height: 30px;
  font-size: 11px;
}

.sidebar .profile small {
  display: block;
  color: #a4b0b6;
  font-size: 10.5px;
}

/* ==========================================================================
   APP SHELL & MAIN BODY SAFE BOTTOM CLEARANCE
   ========================================================================== */
.shell {
  min-height: 100vh;
}

.app-body {
  grid-column: 2;
  min-width: 0;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}

.main {
  flex: 1;
  min-height: 0;
  padding: 32px 38px 100px;
  max-width: 1720px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}

/* ==========================================================================
   SETTINGS > PLAN & CREDITS FULL PAGE STYLING
   ========================================================================== */
.billing-page {
  display: flex;
  flex-direction: column;
  gap: 28px;
}

.billing-hero-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  padding: 24px 28px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
}

.billing-hero-info {
  flex: 1;
  min-width: 260px;
}

.billing-hero-credits {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin: 8px 0;
}

.billing-hero-credits strong {
  font-size: 40px;
  font-weight: 700;
  letter-spacing: -1.2px;
  color: var(--ink);
  line-height: 1;
}

.billing-hero-meta span {
  font-size: 14px;
  font-weight: 600;
  color: var(--ink);
  display: block;
}

.billing-hero-meta small {
  font-size: 11.5px;
  color: var(--muted);
  display: block;
  margin-top: 2px;
}

.billing-hero-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 220px;
}

/* Subscription Plans 3-Column Grid */
.billing-plans-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin-top: 14px;
}

.billing-plan-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 24px 22px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
  position: relative;
}

.billing-plan-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.12);
}

.billing-plan-card.featured {
  border: 2px solid var(--accent);
}

.billing-plan-card.is-current {
  border: 2px solid var(--line);
  background: var(--surface);
}

.billing-plan-head h3 {
  font-size: 18px;
  font-weight: 600;
  margin: 10px 0 4px;
}

.billing-plan-pricing {
  display: flex;
  align-items: baseline;
  gap: 4px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
}

.billing-plan-pricing strong {
  font-size: 34px;
  font-weight: 700;
  letter-spacing: -1px;
  color: var(--ink);
}

.billing-plan-pricing span {
  font-size: 13px;
  color: var(--muted);
}

.billing-plan-allowance {
  background: var(--surface);
  border: 1px dashed var(--line);
  border-radius: 8px;
  padding: 10px 12px;
}

[data-theme="dark"] .billing-plan-allowance {
  background: var(--surface);
}

.billing-plan-allowance strong {
  display: block;
  font-size: 13px;
  color: var(--brand-link);
}

.billing-plan-allowance small {
  display: block;
  font-size: 11px;
  color: var(--muted);
  margin-top: 2px;
}

.billing-plan-features {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: 12.5px;
  color: var(--ink);
  line-height: 1.4;
  flex: 1;
}

.billing-plan-features li {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}

.billing-plan-features li svg {
  width: 16px;
  height: 16px;
  color: var(--ink);
  flex-shrink: 0;
  margin-top: 1px;
}

.billing-plan-features.compact {
  gap: 7px;
}

.billing-plan-footer {
  margin-top: auto;
  padding-top: 8px;
}

.billing-current-btn {
  background: var(--surface) !important;
  border: 1px solid var(--line) !important;
  color: var(--ink) !important;
  font-weight: 600;
  cursor: default !important;
}

/* On-Demand Addons 2-Column Grid */
.billing-addons-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
  margin-top: 14px;
}

.billing-addon-card {
  padding: 22px;
}

.billing-addon-card.featured {
  border: 2px solid var(--accent);
}

@media (max-width: 1050px) {
  .billing-plans-grid {
    grid-template-columns: 1fr;
  }
  .billing-addons-grid {
    grid-template-columns: 1fr;
  }
  .billing-hero-card {
    flex-direction: column;
    align-items: flex-start;
  }
  .billing-hero-actions {
    width: 100%;
  }
}

/* ==========================================================================
   SMART COLLAPSIBLE LIVE CHAT SUPPORT (Never obscures UI controls)
   ========================================================================== */
.live-chat-wrapper {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 9998;
  font-family: inherit;
  transition: bottom 0.25s ease, right 0.25s ease;
}

/* Live chat in editor: positioned at bottom-right corner of viewport */

.live-chat-trigger-group {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* The Main Trigger Pill */
.live-chat-trigger {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 16px 10px 13px;
  background: linear-gradient(135deg, var(--accent) 0%, #082F4B 100%);
  color: var(--ink);
  border: 1px solid var(--line);
  border-radius: 9999px;
  cursor: pointer;
  box-shadow: 0 10px 30px rgba(187, 75, 44, 0.35), 0 2px 6px rgba(0,0,0,0.1);
  transition: all 0.22s cubic-bezier(0.16, 1, 0.3, 1);
  user-select: none;
  touch-action: manipulation;
  position: relative;
  font-size: 13.5px;
  font-weight: 600;
  white-space: nowrap;
}

.live-chat-trigger:hover {
  transform: translateY(-2px) scale(1.02);
  box-shadow: 0 14px 36px rgba(187, 75, 44, 0.45);
}

.live-chat-trigger:active {
  transform: translateY(0) scale(0.98);
}

/* Small Collapse Toggle Button on the group */
.chat-trigger-collapse-btn {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--ink);
  font-size: 11px;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  transition: all 0.15s ease;
  padding: 0;
}

.chat-trigger-collapse-btn:hover {
  background: var(--dark);
  color: var(--brand-on-action);
  transform: scale(1.1);
}

/* COMPACT MODE & AUTO-SCROLLED MODE (Transforms to 46px round floating button) */
.live-chat-wrapper.compact .live-chat-trigger,
.live-chat-wrapper.scrolled-compact .live-chat-trigger {
  width: 46px !important;
  height: 46px !important;
  min-width: 46px !important;
  max-width: 46px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 8px 24px rgba(187, 75, 44, 0.45) !important;
}

.live-chat-wrapper.compact .chat-trigger-label,
.live-chat-wrapper.scrolled-compact .chat-trigger-label {
  display: none !important;
}

.live-chat-wrapper.compact .chat-trigger-collapse-btn,
.live-chat-wrapper.scrolled-compact .chat-trigger-collapse-btn {
  display: none !important;
}

.live-chat-wrapper.compact .chat-trigger-icon-wrap,
.live-chat-wrapper.scrolled-compact .chat-trigger-icon-wrap {
  width: 24px !important;
  height: 24px !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  position: relative !important;
}

.live-chat-wrapper.compact .chat-icon-svg,
.live-chat-wrapper.scrolled-compact .chat-icon-svg {
  width: 22px !important;
  height: 22px !important;
  stroke: #ffffff !important;
  display: block !important;
}

/* When in compact mode, hovering smoothly reveals tooltip */
.live-chat-wrapper.compact .live-chat-trigger:hover::after,
.live-chat-wrapper.scrolled-compact .live-chat-trigger:hover::after {
  content: "Live Support";
  position: absolute;
  right: 52px;
  background: var(--dark);
  color: var(--ink);
  font-size: 11.5px;
  font-weight: 600;
  padding: 5px 10px;
  border-radius: 6px;
  white-space: nowrap;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  border: 1px solid var(--line);
  pointer-events: none;
}





/* ==========================================================================
   TRY IT FREE — INSTANT AI STAGING SANDBOX STYLING (ZERO-SCROLL 100VH FIT)
   ========================================================================== */

.try-page-shell {
  height: 100vh;
  max-height: 100vh;
  display: flex;
  flex-direction: column;
  background: var(--surface);
  color: var(--ink);
  position: relative;
  overflow: hidden; /* ABSOLUTELY NO VERTICAL SCROLL */
}

.try-header {
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 0 20px;
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
  background: var(--surface);
  position: relative;
  z-index: 40;
}

.try-header-left {
  display: none !important;
}

.try-back-home-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
  text-decoration: none;
  padding: 6px 13px;
  border-radius: 8px;
  border: 1px solid var(--line);
  background: var(--surface);
  transition: all 0.18s ease;
}

.try-back-home-link:hover {
  color: var(--ink);
  background: var(--tint);
  border-color: var(--accent);
}

.try-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  padding: 6px 16px;
  border-radius: 9999px;
  background: rgba(35, 112, 90, 0.22);
  border: 1px solid rgba(144, 206, 176, 0.4);
  color: #90ceb0;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}

.try-pulse-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--surface);
  box-shadow: 0 0 8px #22c55e;
  display: inline-block;
  animation: liveDotPulse 2s ease-in-out infinite;
}

.try-open-studio-btn {
  display: none !important;
}

.try-header-right {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}

:is(.try-history-toggle-btn,.ez-back-btn) {
  color: var(--brand-on-action) !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.35) !important;
}

:is(.try-history-toggle-btn,.ez-back-btn):hover, :is(.try-history-toggle-btn,.ez-back-btn).active {
  border-color: var(--line) !important;
  box-shadow: 0 0 16px rgba(112, 180, 224, 0.4) !important;
}

@media (max-width: 640px) {
  .try-header {
    height: 52px !important;
    padding: 0 10px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 6px !important;
    box-sizing: border-box !important;
  }
  .try-header .brand {
    transform: none !important;
    min-width: 0 !important;
    flex-shrink: 1 !important;
  }
  .try-header .brand-name strong {
    font-size: 17px !important;
  }
  .try-header .brand-byline,
  .try-header .brand-studio {
    display: none !important;
  }
  .try-header-left {
    gap: 6px !important;
    align-items: center !important;
    min-width: 0 !important;
    flex-shrink: 1 !important;
  }
  .try-back-home-link {
    padding: 5px 8px !important;
    min-height: 32px !important;
    font-size: 11px !important;
    border-radius: 6px !important;
  }
  .try-back-home-link span {
    display: none !important;
  }
  .try-header-right {
    gap: 6px !important;
    flex-shrink: 0 !important;
    display: flex !important;
    align-items: center !important;
  }
  :is(.try-history-toggle-btn,.ez-back-btn) {
    padding: 6px 14px !important;
    min-height: 32px !important;
    font-size: 12px !important;
    font-weight: 650 !important;
    border-radius: 9999px !important;
    gap: 6px !important;
    background: var(--surface) !important;
    border: 1px solid var(--line) !important;
    color: var(--brand-on-action) !important;
  }
  .try-history-toggle-lbl {
    display: inline-block !important;
  }
  .try-open-studio-btn {
    display: none !important;
  }
}

.try-main-stage {
  position: relative;
  flex: 1;
  min-width: 0;
  height: 100%;
  max-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 6px 16px 72px; /* Clearance for bottom toolbar */
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
  overflow: hidden;
}

/* 3D PERSPECTIVE CAROUSEL */
.try-view-carousel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  max-height: 100%;
  box-sizing: border-box;
}

.try-carousel-nav-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 100%;
  max-width: 960px;
  position: relative;
  flex-shrink: 0;
  margin: 0 auto;
}

.try-carousel-arrow {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--ink);
  font-size: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  flex-shrink: 0;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  z-index: 10;
  user-select: none;
}

.try-carousel-arrow:hover {
  background: var(--tint);
  border-color: var(--accent);
  transform: scale(1.08);
  color: var(--ink);
}

.try-3d-perspective-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  perspective: 1200px;
  width: 100%;
  max-width: min(880px, 80vw);
  margin: 0 auto;
}

.try-card {
  border-radius: 14px;
  overflow: hidden;
  position: relative;
  transition: all 0.4s cubic-bezier(0.2, 0.8, 0.2, 1);
  cursor: pointer;
  box-shadow: 0 12px 32px rgba(0,0,0,0.5);
  border: 1px solid var(--line);
  background: var(--surface);
}

.try-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.try-card-left {
  width: min(210px, 19vw);
  height: min(300px, 32vh);
  transform: perspective(1000px) rotateY(20deg) scale(0.9);
  opacity: 0.8;
}

.try-card-left:hover {
  transform: perspective(1000px) rotateY(8deg) scale(0.95);
  opacity: 1;
}

.try-card-center {
  width: min(330px, 29vw);
  height: min(370px, 39vh);
  transform: perspective(1000px) scale(1.02);
  z-index: 5;
  border-color: var(--accent);
  box-shadow: 0 20px 48px rgba(0,0,0,0.7);
}

.try-card-right {
  width: min(210px, 19vw);
  height: min(300px, 32vh);
  transform: perspective(1000px) rotateY(-20deg) scale(0.9);
  opacity: 0.8;
}

.try-card-right:hover {
  transform: perspective(1000px) rotateY(-8deg) scale(0.95);
  opacity: 1;
}

.try-card-label {
  position: absolute;
  bottom: 8px;
  left: 8px;
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--ink);
  font-size: 10px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 5px;
  backdrop-filter: blur(4px);
}

.try-center-preview-wrap {
  width: 100%;
  height: 100%;
  position: relative;
}

.try-center-split-line {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 2px;
  background: var(--surface);
  box-shadow: 0 0 8px rgba(0,0,0,0.5);
  pointer-events: none;
}

.try-split-handle {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--surface);
  box-shadow: 0 2px 8px rgba(0,0,0,0.5);
}

.try-center-chips {
  position: absolute;
  bottom: 10px;
  left: 10px;
  right: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  pointer-events: none;
}

.try-before-chip {
  background: var(--surface) !important;
  color: var(--ink) !important;
  font-size: 10px !important;
  padding: 2px 8px !important;
  border: 1px solid var(--line) !important;
}

.try-after-chip {
  background: var(--surface) !important;
  color: var(--ink) !important;
  font-size: 10px !important;
  padding: 2px 8px !important;
  border: 1px solid var(--line) !important;
}

/* UPLOAD CTA BLOCK */
.try-upload-cta-block {
  text-align: center;
  max-width: 480px;
  width: 100%;
  margin-top: 6px;
  flex-shrink: 0;
}

.try-upload-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--ink);
  margin: 0 0 2px;
}

.try-upload-sub {
  font-size: 11.5px;
  color: var(--ink);
  margin: 0 0 8px;
}

.try-upload-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.try-upload-now-btn {
  width: auto;
  min-width: 150px;
  padding: 7px 18px;
  font-size: 12.5px;
  font-weight: 700;
  border-radius: 8px;
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--brand-on-action);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  cursor: pointer;
  transition: all 0.2s;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3);
}

.try-upload-now-btn:hover {
  background: var(--tint);
  border-color: var(--accent);
  transform: translateY(-1px);
}

.try-explore-samples-btn {
  padding: 7px 14px;
  border-radius: 8px;
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--ink);
  font-size: 12px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: all 0.2s;
}

.try-explore-samples-btn:hover {
  background: var(--tint);
  border-color: var(--accent);
  color: var(--brand-on-action);
}

.try-sample-icon-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* FOCUSED CANVAS VIEW */
.try-view-canvas {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 820px;
  height: 100%;
  max-height: 100%;
  box-sizing: border-box;
}

.try-canvas-artboard-wrap {
  width: auto;
  max-width: 100%;
  height: min(330px, 35vh);
  border-radius: 12px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 18px 44px rgba(0,0,0,0.65);
  border: 1px solid var(--line);
  background: var(--surface);
  flex-shrink: 0;
}

.try-canvas-single-wrap {
  width: 100%;
  height: 100%;
  position: relative;
}

.try-canvas-photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.try-canvas-hint-pill {
  position: absolute;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 9999px;
  padding: 4px 12px;
  font-size: 11px;
  font-weight: 600;
  color: var(--ink);
  backdrop-filter: blur(8px);
  white-space: nowrap;
}

.try-generating-overlay {
  position: absolute;
  inset: 0;
  background: var(--surface);
  backdrop-filter: blur(8px);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 20;
}

.try-gen-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--ink);
  margin-top: 10px;
}

.try-gen-sub {
  font-size: 12px;
  color: var(--ink);
  margin-top: 3px;
}

/* COMPARE SLIDER */
.try-compare-container {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  user-select: none;
}

.try-compare-media {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.try-compare-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.try-compare-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  transform: translateX(-50%);
  width: 4px;
  pointer-events: none;
  z-index: 10;
}

.try-handle-line {
  position: absolute;
  inset: 0;
  background: var(--surface);
  box-shadow: 0 0 8px rgba(0,0,0,0.5);
}

.try-handle-pill {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--surface);
  color: var(--ink);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 9px;
  gap: 2px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.4);
}

.try-compare-range {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: ew-resize;
  z-index: 15;
}

.try-tag-before {
  position: absolute;
  bottom: 10px;
  left: 10px;
  z-index: 12;
  background: var(--surface) !important;
  color: var(--ink) !important;
  font-size: 10px !important;
  padding: 2px 8px !important;
  border: 1px solid var(--line) !important;
}

.try-tag-after {
  position: absolute;
  bottom: 10px;
  right: 10px;
  z-index: 12;
  background: var(--surface) !important;
  color: var(--ink) !important;
  font-size: 10px !important;
  padding: 2px 8px !important;
  border: 1px solid var(--line) !important;
}

.try-artboard-download-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 20;
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--brand-on-action);
  border-radius: 8px;
  padding: 5px 10px;
  font-size: 11px;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  cursor: pointer;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  transition: all 0.18s ease;
  font-family: inherit;
  line-height: 1;
}

.try-artboard-download-btn:hover {
  background: var(--accent);
  border-color: var(--accent);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(112, 180, 224, 0.45);
}

.try-artboard-download-btn .icon {
  width: 13px;
  height: 13px;
}

/* SMART FILMSTRIP TRAY */
.try-photo-tray-wrap {
  width: 100%;
  max-width: 820px;
  margin: 4px auto 0;
  margin-bottom: 0;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 6px 14px;
  box-sizing: border-box;
  flex-shrink: 0;
}

.try-photo-tray-header {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-bottom: 4px;
}

.try-tray-pulse {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 5px var(--accent);
  display: inline-block;
}

.try-tray-title {
  font-size: 11px;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: 0.3px;
}

.try-tray-add-btn {
  font-size: 11px !important;
  padding: 2px 8px !important;
  border-radius: 5px !important;
  color: var(--ink) !important;
}

.try-photo-tray-scroll {
  display: flex;
  align-items: center;
  gap: 12px;
  overflow-x: auto;
  padding-bottom: 3px;
  scrollbar-width: thin;
}

.try-tray-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  flex-shrink: 0;
  width: 108px;
}

.try-tray-thumb-box {
  width: 108px;
  height: 70px;
  border-radius: 8px;
  overflow: hidden;
  position: relative;
  background: var(--surface);
  border: 2px solid var(--line);
  transition: all 0.2s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.35);
}

.try-tray-thumb-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.try-tray-item:hover .try-tray-thumb-box {
  border-color: var(--line);
  transform: translateY(-2px);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.45);
}

.try-tray-item.active .try-tray-thumb-box {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px var(--accent), 0 4px 14px rgba(112, 180, 224, 0.4);
}

.try-tray-badge {
  position: absolute;
  top: 4px;
  left: 4px;
  background: rgba(15, 23, 28, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.3);
  color: var(--ink);
  font-size: 10px;
  font-weight: 800;
  padding: 1px 6px;
  border-radius: 4px;
  line-height: 1.2;
  backdrop-filter: blur(4px);
}

.try-tray-staged-mark {
  position: absolute;
  bottom: 4px;
  right: 4px;
  background: var(--surface);
  border: 1px solid var(--line);
  font-size: 11px;
  padding: 2px 5px;
  border-radius: 4px;
  line-height: 1.2;
}

.try-tray-delete-btn {
  position: absolute;
  top: 4px;
  right: 4px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--surface);
  border: none;
  color: var(--brand-on-action);
  font-size: 10px;
  display: none;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
}

.try-tray-thumb-box:hover .try-tray-delete-btn {
  display: flex;
}

.try-tray-name {
  font-size: 11px;
  color: var(--ink);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 108px;
  text-align: center;
  font-weight: 500;
}

.try-tray-item.active .try-tray-name {
  color: var(--ink);
  font-weight: 600;
}

/* ARTBOARD ROW & SIDE ACTION BUTTONS (BESIDE THE PHOTO) */
.try-canvas-row {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  flex-shrink: 0;
}

.try-artboard-container {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.try-canvas-side-actions {
  position: absolute;
  top: 50%;
  left: calc(100% + 14px);
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 10px;
  width: 168px;
  z-index: 30;
}

.try-side-btn {
  width: 100%;
  min-height: 40px;
  padding: 8px 14px;
  font-size: 12px;
  font-weight: 700;
  border-radius: 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  white-space: nowrap;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4);
  transition: all 0.2s ease;
  font-family: inherit;
  cursor: pointer;
  box-sizing: border-box;
}

.try-side-download-btn {
  background: linear-gradient(135deg, #70B4E0 0%, #d97745 100%) !important;
  border: 1px solid var(--line) !important;
  color: var(--brand-on-action) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

.try-side-download-btn:hover {
  filter: brightness(1.08);
  transform: translateY(-1px);
  box-shadow: 0 6px 18px rgba(112, 180, 224, 0.5);
}

.try-side-raw-btn {
  background: var(--surface) !important;
  border: 1px solid var(--line) !important;
  color: var(--ink) !important;
}

.try-side-raw-btn:hover {
  background: var(--tint) !important;
  border-color: var(--accent) !important;
  color: var(--brand-on-action) !important;
  transform: translateY(-1px);
}

/* HORIZONTAL "MEET OUR EDITORS" CARD (MATCHING USER REFERENCE IMAGE 2) */
.try-editors-horizontal-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 7px 14px;
  width: 100%;
  box-sizing: border-box;
  margin-top: 6px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.35);
  flex-shrink: 0;
}

.try-editors-card-left {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}

.try-editors-avatars-wrap {
  display: flex;
  align-items: center;
  position: relative;
  flex-shrink: 0;
  width: 48px;
  height: 28px;
}

.try-editor-avatar-circle {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 9.5px;
  font-weight: 800;
  letter-spacing: -0.3px;
  position: absolute;
  top: 1px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4);
}

.try-avatar-mc {
  left: 0;
  background: var(--surface);
  color: var(--ink);
  border: 2px solid var(--line);
  z-index: 1;
}

.try-avatar-jp {
  left: 16px;
  background: var(--surface);
  color: var(--ink);
  border: 2px solid var(--line);
  z-index: 2;
}

.try-editors-card-text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.try-editors-eyebrow {
  font-size: 9.5px;
  font-weight: 800;
  color: var(--brand-link);
  letter-spacing: 0.6px;
  text-transform: uppercase;
}

.try-editors-title {
  font-size: 13px;
  font-weight: 700;
  color: var(--ink);
  margin: 1px 0;
  letter-spacing: -0.2px;
}

.try-editors-sub {
  font-size: 11px;
  color: var(--ink);
  margin: 0;
  line-height: 1.35;
}

.try-editors-card-right {
  flex-shrink: 0;
}

.try-finishing-review-btn {
  background: var(--accent) !important;
  color: var(--ink) !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  padding: 7px 14px !important;
  border-radius: 7px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  border: none !important;
  box-shadow: 0 3px 10px rgba(222, 138, 102, 0.35) !important;
  white-space: nowrap !important;
}

.try-finishing-review-btn:hover {
  background: var(--accent) !important;
  color: var(--ink) !important;
  transform: translateY(-1px) !important;
}

.try-btn-arrow-icon {
  font-size: 13px;
  font-weight: 800;
}

/* FLOATING BOTTOM TOOLBAR WITH INLINE PROMPT INPUT */

/* DEDICATED PROMPT BLOCK IN MAIN STAGE (TALLER VERTICAL HEIGHT, QUICK ADD REMOVED) */
.try-prompt-stage-block {
  width: 100%;
  max-width: 720px;
  min-height: 74px;
  margin: 6px auto 0;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 14px;
  box-sizing: border-box;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.try-prompt-stage-block:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(112, 180, 224, 0.25), 0 8px 28px rgba(0, 0, 0, 0.55);
  background: var(--surface);
}

.try-prompt-stage-block-canvas {
  max-width: 880px;
  margin-top: 6px;
}

.try-prompt-input-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  width: 100%;
  height: 100%;
}

.try-prompt-stage-ic {
  font-size: 16px;
  color: var(--brand-link);
  flex-shrink: 0;
  margin-top: 2px;
}

.try-stage-prompt-textarea {
  flex: 1;
  background: transparent;
  border: none;
  outline: none;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.45;
  font-family: inherit;
  width: 100%;
  height: 56px;
  min-height: 54px;
  resize: none;
  padding: 0;
  margin: 0;
  scrollbar-width: thin;
}

.try-stage-prompt-textarea::placeholder {
  color: var(--muted);
  font-size: 12.5px;
  line-height: 1.45;
}

.try-stage-prompt-clear {
  background: transparent;
  border: none;
  color: var(--ink);
  font-size: 13px;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: color 0.15s;
  margin-top: 2px;
  flex-shrink: 0;
}

.try-stage-prompt-clear:hover {
  color: var(--ink);
}

.try-bottom-toolbar {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 500;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 6px 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 12px 36px rgba(15, 23, 42, 0.12), 0 2px 8px rgba(15, 23, 42, 0.06);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  max-width: calc(100% - 32px);
  box-sizing: border-box;
  flex-wrap: nowrap;
}

.try-bar-btn {
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--ink);
  border-radius: 8px;
  padding: 6px 10px;
  font-size: 12px;
  min-height: 35px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  transition: all 0.18s ease;
  font-family: inherit;
  white-space: nowrap;
  flex-shrink: 0;
  box-sizing: border-box;
}

.try-bar-btn:hover {
  background: var(--surface);
  border-color: var(--accent);
  color: var(--brand-link);
  transform: translateY(-1px);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
}

.try-bar-btn.active {
  background: var(--surface);
  border-color: var(--accent);
  box-shadow: 0 0 0 1.5px var(--accent);
}

.try-bar-back {
  padding: 6px 10px;
}

.try-bar-back svg {
  width: 17px !important;
  height: 17px !important;
}

.try-bar-ic {
  font-size: 13px;
  display: inline-flex;
  align-items: center;
}

.try-bar-lbl {
  font-size: 9px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.4px;
  font-weight: 600;
}

.try-bar-val {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--ink);
}

.try-bar-chevron {
  font-size: 10px;
  color: var(--ink);
  margin-left: 1px;
}

/* DIRECT INLINE PROMPT INPUT (NO POPUP) */
.try-bar-prompt-box {
  display: flex;
  align-items: center;
  gap: 6px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 7px;
  padding: 0 8px;
  height: 30px;
  width: 250px;
  min-width: 160px;
  transition: all 0.18s ease;
  position: relative;
  flex-shrink: 1;
}

.try-bar-prompt-box:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(187, 75, 44, 0.2);
  background: var(--surface);
}

.try-prompt-box-ic {
  font-size: 11.5px;
  color: var(--muted);
  flex-shrink: 0;
}

.try-inline-prompt-input {
  background: transparent;
  border: none;
  outline: none;
  color: var(--ink);
  font-size: 11.5px;
  font-family: inherit;
  width: 100%;
  padding: 0;
}

.try-inline-prompt-input::placeholder {
  color: var(--muted);
  font-size: 11px;
}

.try-prompt-clear-btn {
  background: transparent;
  border: none;
  color: var(--ink);
  font-size: 10px;
  cursor: pointer;
  padding: 2px;
  border-radius: 3px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.try-prompt-clear-btn:hover {
  color: var(--ink);
}

/* STUDIO BOTTOM TOOLBAR PROMPT BOX */
.editor-bar-prompt-box {
  display: flex;
  align-items: center;
  gap: 6px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 0 8px;
  height: 35px;
  width: 320px;
  min-width: 220px;
  max-width: 360px;
  transition: all 0.18s ease;
  position: relative;
  flex-shrink: 1;
  box-sizing: border-box;
}

.editor-bar-prompt-box:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(187, 75, 44, 0.18);
  background: var(--surface);
}

.editor-prompt-box-ic {
  font-size: 13px;
  color: var(--brand-link);
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
}

.editor-inline-prompt-input {
  background: transparent;
  border: none;
  outline: none;
  color: var(--ink);
  font-size: 12px;
  font-family: inherit;
  width: 100%;
  padding: 0 2px;
  min-width: 0;
}

.editor-inline-prompt-input::placeholder {
  color: var(--muted);
  font-size: 11.5px;
}

.editor-prompt-clear-btn {
  background: transparent;
  border: none;
  color: var(--ink);
  font-size: 11px;
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: color 0.15s ease;
}

.editor-prompt-clear-btn:hover {
  color: var(--ink);
}

.editor-prompt-expand-btn {
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--muted);
  border-radius: 5px;
  width: auto;
  height: 22px;
  padding: 0 6px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  transition: all 0.15s ease;
}

.editor-prompt-expand-btn:hover {
  background: var(--surface);
  border-color: var(--accent);
  color: var(--brand-link);
}

.try-bar-download {
  padding: 6px 11px;
  font-size: 12px;
  font-weight: 700;
  color: var(--ink);
  min-height: 35px;
  box-sizing: border-box;
}

.try-bar-download.accent-border {
  border-color: var(--accent) !important;
  background: var(--surface) !important;
  color: var(--brand-link) !important;
}

.try-bar-generate-btn {
  background: var(--accent) !important;
  border: 1px solid var(--accent) !important;
  color: var(--brand-on-action) !important;
  font-size: 12.5px !important;
  font-weight: 800 !important;
  padding: 6px 16px !important;
  border-radius: 8px !important;
  min-height: 35px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 4px 14px rgba(187, 75, 44, 0.28) !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  letter-spacing: 0.2px !important;
  box-sizing: border-box !important;
}

.try-bar-generate-btn:hover {
  background: var(--accent-hover) !important;
  border-color: var(--accent-hover) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 6px 18px rgba(187, 75, 44, 0.4) !important;
}

.try-gen-arrow {
  font-size: 14px;
  transition: transform 0.15s ease;
}

.try-bar-generate-btn:hover .try-gen-arrow {
  transform: translateX(3px);
}

/* COMPACT FLOATING DROPDOWN MENUS (RATIO, QUALITY, OUTPUTS) */
.try-bar-dropdown-wrap {
  position: relative;
  display: inline-flex;
}

.try-dropdown-backdrop {
  position: fixed;
  inset: 0;
  z-index: 450;
  background: transparent;
}

.try-dropdown-popover {
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--surface) !important;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 8px;
  min-width: 235px;
  box-shadow: 0 16px 40px rgba(15, 23, 42, 0.14), 0 2px 10px rgba(15, 23, 42, 0.06);
  z-index: 600;
  display: flex;
  flex-direction: column;
  gap: 3px;
  animation: tryDropdownPop 0.12s cubic-bezier(0.16, 1, 0.3, 1);
  box-sizing: border-box;
}

@keyframes tryDropdownPop {
  from {
    transform: translateX(-50%) translateY(4px) scale(0.98);
  }
  to {
    transform: translateX(-50%) translateY(0) scale(1);
  }
}

.try-dropdown-ratio,
.try-dropdown-format {
  width: 360px;
  min-width: 0;
  max-width: calc(100vw - 32px);
  max-height: min(440px, calc(100dvh - 120px));
  overflow-y: auto;
}

.format-quality-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}
.format-quality-btn {
  justify-content: center;
  min-height: 40px;
  text-align: center;
  font-weight: 700;
}
.provider-credit-cost {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}
.credit-unit-icon { width: 14px; height: 14px; flex: none; vertical-align: middle; }

.format-ratio-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.format-ratio-btn {
  position: relative;
  flex-direction: column;
  justify-content: center;
  min-height: 64px;
  padding: 10px 6px !important;
  gap: 6px !important;
  text-align: center;
}

.format-ratio-btn .try-menu-title {
  font-size: 11px;
}

.format-ratio-btn .try-menu-check {
  position: absolute;
  top: 4px;
  right: 6px;
  font-size: 11px;
}

.try-dropdown-header {
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: var(--muted);
  padding: 4px 8px 6px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 3px;
}

.try-menu-item {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 7px 10px;
  border-radius: 7px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  transition: all 0.15s ease;
  font-family: inherit;
  width: 100%;
  box-sizing: border-box;
}

.try-menu-item:hover {
  background: var(--surface);
  color: var(--ink);
  border-color: var(--line);
}

.try-menu-item.selected {
  background: var(--tint);
  border-color: var(--accent);
  color: var(--brand-link);
}

.try-menu-ratio-tag, .try-menu-count-badge {
  font-size: 11px;
  font-weight: 800;
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--ink);
  border-radius: 5px;
  padding: 2px 6px;
  min-width: 32px;
  text-align: center;
  flex-shrink: 0;
}

.try-menu-item.selected .try-menu-ratio-tag,
.try-menu-item.selected .try-menu-count-badge {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--ink);
}

.try-menu-quality-ic {
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 6px;
  background: var(--surface);
  border: 1px solid var(--line);
  flex-shrink: 0;
}

.try-menu-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}

.try-menu-title {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--ink);
  line-height: 1.2;
}

.try-menu-sub {
  font-size: 10.5px;
  color: var(--muted);
  line-height: 1.2;
}

.try-menu-check {
  color: var(--brand-link);
  font-weight: 800;
  font-size: 13px;
  margin-left: auto;
  flex-shrink: 0;
}

/* --- Dark Mode Overrides for Floating Toolbar & Popovers --- */
[data-theme="dark"] .try-bottom-toolbar {
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.75), 0 2px 8px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .try-bar-btn {
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--ink);
}

[data-theme="dark"] .try-bar-btn:hover {
  background: var(--tint);
  border-color: var(--accent);
  color: var(--brand-on-action);
  transform: translateY(-1px);
}

[data-theme="dark"] .try-bar-btn.active {
  background: var(--tint);
  border-color: var(--accent);
  color: var(--brand-on-action);
  box-shadow: 0 0 0 1.5px var(--accent);
}

[data-theme="dark"] .try-bar-lbl {
  color: var(--ink);
}

[data-theme="dark"] .try-bar-val {
  color: var(--ink);
}

[data-theme="dark"] .try-bar-chevron {
  color: var(--ink);
}

[data-theme="dark"] .try-bar-prompt-box {
  background: var(--surface);
  border-color: var(--line);
}

[data-theme="dark"] .try-bar-prompt-box:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(112, 180, 224, 0.25);
  background: var(--surface);
}

[data-theme="dark"] .try-prompt-box-ic {
  color: var(--ink);
}

[data-theme="dark"] .try-inline-prompt-input {
  color: var(--ink);
}

[data-theme="dark"] .try-inline-prompt-input::placeholder {
  color: var(--muted);
}

[data-theme="dark"] .try-prompt-clear-btn {
  color: var(--ink);
}

[data-theme="dark"] .try-prompt-clear-btn:hover {
  color: var(--brand-on-action);
}

[data-theme="dark"] .editor-bar-prompt-box {
  background: var(--surface);
  border-color: var(--line);
}

[data-theme="dark"] .editor-bar-prompt-box:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(112, 180, 224, 0.25);
  background: var(--surface);
}

[data-theme="dark"] .editor-prompt-box-ic {
  color: var(--brand-link);
}

[data-theme="dark"] .editor-inline-prompt-input {
  color: var(--ink);
}

[data-theme="dark"] .editor-inline-prompt-input::placeholder {
  color: var(--muted);
}

[data-theme="dark"] .editor-prompt-clear-btn {
  color: var(--ink);
}

[data-theme="dark"] .editor-prompt-clear-btn:hover {
  color: var(--brand-on-action);
}

[data-theme="dark"] .editor-prompt-expand-btn {
  background: var(--surface);
  border-color: var(--line);
  color: var(--ink);
}

[data-theme="dark"] .editor-prompt-expand-btn:hover {
  background: var(--tint);
  border-color: var(--accent);
  color: var(--brand-on-action);
}

[data-theme="dark"] .try-bar-download {
  color: var(--ink);
}

[data-theme="dark"] .try-bar-download.accent-border {
  border-color: var(--line) !important;
  background: var(--surface) !important;
  color: var(--ink) !important;
}

[data-theme="dark"] .try-bar-generate-btn {
  background: var(--accent-primary) !important;
  border: 1px solid var(--line) !important;
  color: var(--brand-on-action) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.4) !important;
}

[data-theme="dark"] .try-bar-generate-btn:hover {
  background: var(--tint) !important;
  border-color: var(--accent) !important;
  box-shadow: 0 6px 18px rgba(112, 180, 224, 0.3) !important;
}

[data-theme="dark"] .try-dropdown-popover {
  background: var(--surface) !important;
  border: 1px solid var(--line);
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.96), 0 4px 14px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.08);
}

[data-theme="dark"] .try-dropdown-header {
  color: var(--ink);
  border-bottom: 1px solid var(--line);
}

[data-theme="dark"] .try-menu-item {
  color: var(--ink);
}

[data-theme="dark"] .try-menu-item:hover {
  background: var(--tint);
  color: var(--ink);
  border-color: var(--line);
}

[data-theme="dark"] .try-menu-item.selected {
  background: var(--tint);
  border-color: var(--accent);
  color: var(--ink);
}

[data-theme="dark"] .try-menu-quality-ic {
  background: var(--surface);
  border: 1px solid var(--line);
}

[data-theme="dark"] .try-menu-title {
  color: var(--ink);
}

[data-theme="dark"] .try-menu-sub {
  color: var(--ink);
}

/* FULL PROMPT MODAL & CHIPS */
.full-prompt-modal-body {
  min-width: 320px;
  max-width: 580px;
}

.prompt-chips-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.prompt-chip-btn {
  font-size: 11px;
  padding: 4px 9px;
  border-radius: 6px;
  cursor: pointer;
  background: transparent;
  border: 1px solid var(--line);
  color: var(--body);
  transition: all 0.15s ease;
}

.prompt-chip-btn:hover {
  border-color: var(--accent);
  color: var(--brand-link);
  background: var(--tint);
}

[data-theme="dark"] .prompt-chip-btn:hover {
  background: var(--tint);
}

/* MODALS: ROOM TYPES & DESIGN STYLES */
.try-modal-overlay {
  position: fixed;
  inset: 0;
  background: var(--surface);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
  animation: fadeIn 0.18s ease-out;
}

.try-modal-dialog {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 16px;
  width: 100%;
  max-width: 860px;
  max-height: 84vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0,0,0,0.7);
  animation: zoomIn 0.2s ease-out;
  color: var(--ink);
}

.try-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
  background: var(--surface);
}

.try-modal-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--ink);
  margin: 0;
}

.try-modal-sub {
  font-size: 12px;
  color: var(--ink);
  margin: 2px 0 0;
}

.try-modal-close {
  color: var(--ink);
  border-radius: 8px;
}

.try-modal-close:hover {
  background: var(--tint);
  color: var(--ink);
}

.try-grid-cards {
  flex: 1;
  overflow-y: auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  padding: 16px 20px;
  background: var(--surface);
}

.try-grid-card {
  background: var(--surface);
  border: 2px solid var(--line);
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  transition: all 0.2s;
  position: relative;
  display: flex;
  flex-direction: column;
  text-align: left;
}

.try-grid-card:hover {
  border-color: var(--line);
  transform: translateY(-2px);
  background: var(--tint);
}

.try-grid-card.selected {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px var(--accent), 0 6px 18px rgba(112, 180, 224, 0.35);
  background: var(--tint);
}

.try-card-img-wrap {
  width: 100%;
  aspect-ratio: 4/3;
  position: relative;
  overflow: hidden;
  background: var(--surface);
}

.try-card-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.try-card-check {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: var(--accent);
  color: var(--ink);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0,0,0,0.5);
  z-index: 3;
}

.try-card-check svg {
  width: 12px;
  height: 12px;
  stroke: #fff;
}

.try-card-info {
  padding: 8px 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--surface);
  border-top: 1px solid var(--line);
}

.try-card-name {
  font-size: 12px;
  font-weight: 600;
  color: var(--ink) !important;
}

.try-card-icon {
  font-size: 13px;
  color: var(--ink);
}

.try-modal-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  border-top: 1px solid var(--line);
  flex-shrink: 0;
  background: var(--surface);
}

.try-modal-select-btn {
  background: linear-gradient(135deg, var(--accent) 0%, #0E4872 100%) !important;
  border: none !important;
  color: var(--brand-on-action) !important;
  font-weight: 700 !important;
  font-size: 12.5px !important;
  padding: 7px 20px !important;
  border-radius: 7px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  cursor: pointer !important;
  transition: all 0.18s ease !important;
  box-shadow: 0 3px 12px rgba(112, 180, 224, 0.35) !important;
}

.try-modal-select-btn:hover {
  background: linear-gradient(135deg, var(--accent-hover) 0%, #0E4872 100%) !important;
  transform: translateY(-1px) !important;
}

.try-options-list {
  padding: 14px 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.try-option-row {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--surface);
  border: 2px solid var(--line);
  border-radius: 10px;
  padding: 10px 14px;
  cursor: pointer;
  transition: all 0.2s ease;
}

.try-option-row:hover {
  border-color: var(--line);
  background: var(--tint);
  transform: translateY(-1px);
}

.try-option-row.selected {
  border-color: var(--accent);
  background: var(--tint);
  box-shadow: 0 0 0 2px var(--accent), 0 3px 12px rgba(112, 180, 224, 0.25);
}

.try-option-title {
  font-size: 13.5px;
  color: var(--ink);
}

.try-option-desc {
  font-size: 11.5px;
  color: var(--ink);
  margin: 2px 0 0;
  line-height: 1.35;
}

.try-check-pill {
  font-size: 10.5px;
  font-weight: 700;
  color: var(--brand-link);
  display: inline-flex;
  align-items: center;
  gap: 3px;
}

.try-ratio-preview-box {
  width: 38px;
  height: 30px;
  border: 2px dashed var(--line);
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background: var(--surface);
}

.try-ratio-inner-label {
  font-size: 8.5px;
  font-weight: 700;
  color: var(--muted);
}

.try-option-row.selected .try-ratio-preview-box {
  border-color: var(--accent);
  border-style: solid;
}

.try-quality-icon-box, .try-count-num-box {
  width: 36px;
  height: 36px;
  border-radius: 7px;
  background: var(--surface);
  border: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  font-size: 14px;
  font-weight: 800;
  color: var(--brand-link);
}

@media (max-width: 900px) {
  .try-bottom-toolbar {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    max-width: calc(100% - 24px);
  }
  .try-bottom-toolbar::-webkit-scrollbar {
    display: none;
  }
  .editor-bar-prompt-box {
    width: 220px;
    min-width: 160px;
  }
}

@media (max-width: 768px) {
  .try-3d-perspective-wrap {
    flex-direction: column;
    gap: 12px;
  }
  .try-card-left, .try-card-right {
    display: none;
  }
  .try-card-center {
    width: 100%;
    max-width: 300px;
    height: 300px;
  }
  .try-grid-cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 8px;
    padding: 10px;
  }
  .try-editors-horizontal-card {
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    padding: 12px;
  }
  .try-editors-card-right {
    width: 100%;
  }
  .try-finishing-review-btn {
    width: 100%;
    justify-content: center;
  }
}



/* ==========================================================================
   ADOBE CAMERA RAW / LIGHTROOM POST-PROCESSING STUDIO
   ========================================================================== */

.raw-dialog-modal {
  border: none;
  border-radius: 14px;
  padding: 0;
  width: 96vw;
  max-width: 1480px;
  height: 94vh;
  max-height: 960px;
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.85);
  overflow: hidden;
  animation: zoomIn 0.2s ease-out;
}

.raw-dialog-modal::backdrop {
  background: var(--surface);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.raw-window {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  background: var(--surface);
  overflow: hidden;
}

/* TOPBAR */
.raw-topbar {
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  background: var(--surface);
  border-bottom: 1px solid var(--line);
  flex-shrink: 0;
  user-select: none;
}

.raw-topbar-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
}

.raw-file-ic {
  font-size: 14px;
  opacity: 0.8;
}

.raw-file-tag {
  font-size: 10.5px;
  background: var(--surface);
  color: var(--ink);
  padding: 2px 6px;
  border-radius: 4px;
  font-weight: 500;
}

.raw-topbar-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.raw-zoom-pills {
  display: inline-flex;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 2px;
}

.raw-topbar-btn {
  background: transparent;
  border: 1px solid transparent;
  color: var(--ink);
  font-size: 12px;
  font-weight: 500;
  padding: 4px 10px;
  border-radius: 5px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  transition: all 0.15s ease;
}

.raw-topbar-btn:hover {
  background: var(--tint);
  color: var(--brand-on-action);
}

.raw-topbar-btn.active {
  background: var(--tint);
  color: var(--brand-on-action);
  border-color: var(--line);
}

.raw-topbar-close {
  width: 28px;
  height: 28px;
  padding: 0;
  justify-content: center;
  border-radius: 6px;
  font-size: 15px;
}

.raw-topbar-close:hover {
  background: var(--tint);
  color: var(--ink);
}

/* MAIN BODY */
.raw-body {
  flex: 1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 350px;
  min-height: 0;
  overflow: hidden;
}

/* VIEWPORT & CANVAS */
.raw-canvas-viewport {
  background: var(--surface);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  overflow: auto;
  position: relative;
}

.raw-canvas-artboard {
  position: relative;
  max-width: 100%;
  max-height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 16px 50px rgba(0, 0, 0, 0.7);
  background: var(--surface);
}

.raw-canvas-artboard.zoom-100 {
  transform: scale(1.25);
  transform-origin: center center;
}

.raw-single-box, .raw-compare-box {
  position: relative;
  line-height: 0;
  max-width: 100%;
  max-height: 75vh;
}

.raw-preview-img, .raw-img-before, .raw-img-after {
  display: block;
  max-width: 100%;
  max-height: 75vh;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 4px;
  transition: filter 0.05s ease;
}

.raw-vignette-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  z-index: 5;
  transition: background 0.05s ease;
}

.raw-grain-overlay {
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  z-index: 6;
  opacity: 0;
  background-image: radial-gradient(rgba(255,255,255,0.15) 1px, transparent 0);
  background-size: 3px 3px;
  mix-blend-mode: overlay;
  transition: opacity 0.05s ease;
}

.raw-canvas-status-badge {
  position: absolute;
  bottom: 12px;
  left: 12px;
  z-index: 10;
  background: rgba(14, 20, 24, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 6px;
  padding: 4px 10px;
  font-size: 11px;
  color: #94a3b8;
  display: flex;
  align-items: center;
  gap: 8px;
  backdrop-filter: blur(6px);
}

.raw-canvas-status-badge span:first-child {
  color: #22c55e;
  font-weight: 600;
}

.raw-profile-chip {
  background: var(--surface);
  color: var(--ink);
  padding: 1px 6px;
  border-radius: 4px;
  font-size: 10px;
}

/* COMPARE SPLIT ON RAW CANVAS */
.raw-compare-box {
  position: relative;
  overflow: hidden;
  user-select: none;
}

.raw-compare-clipped {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.raw-compare-divider {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 2px;
  background: var(--surface);
  box-shadow: 0 0 10px rgba(0,0,0,0.7);
  pointer-events: none;
  z-index: 15;
  transform: translateX(-50%);
}

.raw-compare-knob {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: var(--surface);
  color: var(--ink);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 2px 8px rgba(0,0,0,0.5);
}

.raw-compare-slider {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: ew-resize;
  z-index: 20;
}

.raw-tag-lbl {
  position: absolute;
  bottom: 12px;
  padding: 4px 10px;
  border-radius: 6px;
  font-size: 11px;
  font-weight: 600;
  color: var(--ink);
  z-index: 12;
  backdrop-filter: blur(4px);
}

.raw-tag-lbl.before {
  left: 12px;
  background: var(--surface);
  border: 1px solid var(--line);
}

.raw-tag-lbl.after {
  right: 12px;
  background: var(--surface);
  border: 1px solid var(--line);
}

/* RIGHT SIDEBAR PANEL */
.raw-sidebar {
  background: #182025;
  border-left: 1px solid #242e35;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

/* HISTOGRAM */
.raw-histogram-card {
  padding: 10px 14px 8px;
  border-bottom: 1px solid #242e35;
  background: #141b20;
  flex-shrink: 0;
}

.raw-histogram-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 11px;
  color: #7b8893;
  margin-bottom: 5px;
}

.raw-clipping-tri {
  font-size: 10px;
  color: var(--ink);
  cursor: pointer;
  transition: color 0.15s ease;
}

.raw-clipping-tri.clipped {
  color: var(--ink);
  text-shadow: 0 0 6px rgba(239, 68, 68, 0.8);
}

.raw-hist-canvas-wrap {
  width: 100%;
  height: 84px;
  border-radius: 6px;
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--line);
}

.raw-hist-canvas-wrap canvas {
  width: 100%;
  height: 100%;
  display: block;
}

.raw-hist-readout {
  display: flex;
  justify-content: space-between;
  font-size: 10.5px;
  color: var(--ink);
  margin-top: 4px;
}

/* EDIT PILLS */
.raw-edit-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 14px;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
  flex-shrink: 0;
}

.raw-edit-title {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--ink);
}

.raw-edit-pills {
  display: flex;
  gap: 5px;
}

.raw-pill-btn {
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--ink);
  font-size: 11px;
  font-weight: 600;
  padding: 4px 11px;
  border-radius: 5px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.raw-pill-btn:hover {
  background: var(--tint);
  color: var(--brand-on-action);
  border-color: var(--line);
}

.raw-pill-btn.active {
  background: var(--accent);
  color: var(--brand-on-action);
  border-color: var(--line);
}

/* PROFILE ROW */
.raw-profile-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 14px;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
  flex-shrink: 0;
}

.raw-profile-lbl {
  font-size: 12px;
  color: var(--ink);
  font-weight: 500;
}

.raw-profile-ctrl {
  display: flex;
  align-items: center;
  gap: 6px;
}

.raw-select {
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--ink);
  font-size: 11.5px;
  padding: 4px 8px;
  border-radius: 5px;
  outline: none;
  cursor: pointer;
}

.raw-select:focus {
  border-color: var(--line);
}

.raw-icon-btn {
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--ink);
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 5px;
  cursor: pointer;
  font-size: 11px;
}

.raw-icon-btn:hover {
  background: var(--tint);
  color: var(--brand-on-action);
}

/* ACCORDIONS SCROLL AREA */
.raw-accordions-scroll {
  flex: 1;
  overflow-y: auto;
  min-height: 0;
}

.raw-accordion {
  border-bottom: 1px solid var(--line);
}

.raw-acc-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 14px;
  background: var(--surface);
  cursor: pointer;
  user-select: none;
  transition: background 0.15s ease;
}

.raw-acc-header:hover {
  background: var(--tint);
}

.raw-acc-title {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 12.5px;
  font-weight: 700;
  color: var(--ink);
}

.raw-acc-chevron {
  font-size: 11px;
  color: var(--ink);
  transition: transform 0.18s ease;
}

.raw-accordion.open .raw-acc-chevron {
  color: var(--brand-link);
}

.raw-acc-eye {
  background: transparent;
  border: none;
  font-size: 13px;
  color: var(--ink);
  cursor: pointer;
  padding: 2px 4px;
  border-radius: 4px;
  transition: color 0.15s ease;
}

.raw-acc-eye:hover {
  color: var(--ink);
}

.raw-acc-eye.active {
  color: var(--brand-link);
}

.raw-accordion:not(.open) .raw-acc-body {
  display: none !important;
}

.raw-accordion.open .raw-acc-body {
  display: flex !important;
}

.raw-acc-body {
  padding: 12px 14px 14px;
  background: var(--surface);
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* SLIDER ROW */
.raw-slider-row {
  display: grid;
  grid-template-columns: 86px 1fr 48px;
  align-items: center;
  gap: 8px;
}

.raw-slider-label {
  font-size: 11.5px;
  color: var(--muted);
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.raw-slider-control {
  grid-column: 2 / 4;
  display: flex;
  align-items: center;
  gap: 8px;
}

.raw-range {
  flex: 1;
  height: 24px;
  background: transparent;
  position: relative;
  cursor: pointer;
}

.raw-num-box {
  width: 48px;
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--ink);
  font-size: 11px;
  font-weight: 600;
  text-align: right;
  padding: 3px 5px;
  border-radius: 4px;
  outline: none;
  font-family: inherit;
}

.raw-num-box:focus {
  border-color: var(--line);
}

/* WHITE BALANCE ROW */
.raw-wb-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 4px;
}

.raw-wb-row label {
  font-size: 11.5px;
  color: var(--muted);
  font-weight: 500;
}

.raw-wb-controls {
  display: flex;
  align-items: center;
  gap: 6px;
}

/* CURVE ACCORDION */
.raw-curve-adjust-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 11.5px;
  color: var(--ink);
  margin-bottom: 4px;
}

.raw-curve-channels {
  display: flex;
  align-items: center;
  gap: 4px;
}

.raw-channel-btn {
  background: var(--surface);
  border: 1px solid var(--line);
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  cursor: pointer;
  font-size: 10px;
  color: var(--ink);
  transition: all 0.15s ease;
}

.raw-channel-btn.active {
  background: var(--tint);
  color: var(--brand-on-action);
  border-color: var(--line);
}

.raw-channel-btn.red { color: var(--ink); }
.raw-channel-btn.green { color: var(--ink); }
.raw-channel-btn.blue { color: var(--ink); }

.raw-curve-canvas-wrap {
  width: 100%;
  height: 180px;
  border-radius: 6px;
  overflow: hidden;
  background: var(--surface);
  border: 1px solid var(--line);
  margin: 4px 0 6px;
}

.raw-curve-canvas-wrap canvas {
  width: 100%;
  height: 100%;
  display: block;
}

.raw-curve-split-axis {
  display: flex;
  align-items: center;
  justify-content: space-around;
  height: 12px;
  border-top: 1px solid var(--line);
  margin-bottom: 6px;
  padding: 0 10px;
}

.raw-split-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--surface);
}

/* FOOTER */
.raw-footer {
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 16px;
  background: var(--surface);
  border-top: 1px solid var(--line);
  flex-shrink: 0;
}

.raw-reset-btn {
  background: var(--surface) !important;
  border: 1px solid var(--line) !important;
  color: var(--ink) !important;
  font-size: 12px !important;
  padding: 6px 14px !important;
  border-radius: 6px !important;
}

.raw-reset-btn:hover {
  background: var(--tint) !important;
  color: var(--brand-on-action) !important;
}

.raw-footer-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.raw-cancel-btn {
  font-size: 12.5px !important;
  color: var(--ink) !important;
  padding: 6px 16px !important;
}

.raw-cancel-btn:hover {
  color: var(--brand-on-action) !important;
}

.raw-ok-btn {
  background: var(--accent) !important;
  border: 1px solid var(--line) !important;
  color: var(--brand-on-action) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 7px 22px !important;
  border-radius: 6px !important;
  box-shadow: 0 2px 8px rgba(112, 180, 224, 0.4) !important;
}

.raw-ok-btn:hover {
  background: var(--accent) !important;
}

/* OUTPUT WORKBENCH POST-PROCESSING SIDE PANEL */
.raw-side-panel-compact {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.raw-panel-studio-btn {
  background: linear-gradient(135deg, #1e2830 0%, #151d23 100%) !important;
  border: 1px solid var(--line) !important;
  color: var(--ink) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  padding: 10px 16px !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  cursor: pointer !important;
  transition: all 0.18s ease !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.3) !important;
}

.raw-panel-studio-btn:hover {
  border-color: var(--line) !important;
  background: linear-gradient(135deg, #24323c 0%, #1a242c 100%) !important;
  color: var(--brand-on-action) !important;
  transform: translateY(-1px) !important;
}

@media (max-width: 900px) {
  .raw-body {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr auto;
  }
  .raw-sidebar {
    height: 380px;
  }
}




/* ADVANCED CAMERA RAW SUITE (COLOR MIXER, COLOR GRADING, DETAIL, OPTICS, LENS BLUR, CALIBRATION) */

/* Color Mixer */
.raw-subtabs-row {
  display: flex;
  gap: 6px;
  margin-bottom: 8px;
}

.raw-tab-pill {
  padding: 3px 10px;
  font-size: 11px;
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--ink);
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.15s ease;
}

.raw-tab-pill.active {
  background: var(--tint);
  color: var(--ink);
  border-color: var(--line);
}

.raw-adjust-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.raw-adjust-label {
  font-size: 11.5px;
  color: var(--muted);
  width: 44px;
}

.raw-adjust-select-wrap {
  flex: 1;
}

.raw-tat-btn {
  width: 26px;
  height: 24px;
  background: var(--surface);
  border: 1px solid var(--line);
  color: var(--ink);
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;
}

.raw-tat-btn:hover {
  background: var(--tint);
  color: var(--brand-on-action);
}

.raw-channel-subtabs {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  margin-bottom: 10px;
  padding-bottom: 2px;
}

.raw-ch-subtab {
  background: transparent;
  border: none;
  font-size: 11px;
  color: var(--ink);
  padding: 4px 6px;
  cursor: pointer;
  position: relative;
  transition: color 0.15s ease;
}

.raw-ch-subtab:hover {
  color: var(--ink);
}

.raw-ch-subtab.active {
  color: var(--ink);
  font-weight: 600;
}

.raw-ch-subtab.active::after {
  content: '';
  position: absolute;
  bottom: -3px;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--surface);
}

/* Color Grading */
.raw-grading-modes-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.raw-grading-adjust-label {
  font-size: 11px;
  color: var(--muted);
  width: 44px;
}

.raw-grading-icons {
  display: flex;
  align-items: center;
  gap: 6px;
}

.raw-grading-mode-btn {
  background: transparent;
  border: none;
  color: var(--muted);
  cursor: pointer;
  padding: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: all 0.15s ease;
}

.raw-grading-mode-btn:hover,
.raw-grading-mode-btn.active {
  color: var(--ink);
  background: var(--tint);
}

.raw-mode-pipe {
  color: var(--ink);
  font-size: 12px;
}

.raw-3way-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
  align-items: center;
}

.raw-wheel-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.raw-wheel-card.center {
  width: 100%;
}

.raw-wheel-label {
  font-size: 11px;
  color: var(--muted);
  font-weight: 500;
}

.raw-wheel-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
}

.raw-wheel-disc {
  border-radius: 50%;
  background: conic-gradient(red, yellow, lime, aqua, blue, magenta, red);
  position: relative;
  cursor: crosshair;
  box-shadow: inset 0 0 1px 1px rgba(0,0,0,0.4), 0 2px 6px rgba(0,0,0,0.5);
}

.raw-wheel-inner-shade {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: radial-gradient(circle, #7b8794 0%, transparent 72%);
  pointer-events: none;
}

.raw-wheel-handle {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  border: 1.5px solid var(--line);
  background: var(--surface);
  transform: translate(-50%, -50%);
  pointer-events: none;
  box-shadow: 0 1px 3px rgba(0,0,0,0.8);
}

.raw-wheel-side-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--surface);
}

.raw-wheel-lum-row {
  width: 100%;
  max-width: 110px;
}

.raw-wheels-pair-row {
  display: flex;
  justify-content: space-around;
  width: 100%;
  gap: 10px;
}

.raw-section-divider {
  height: 1px;
  background: var(--surface);
  margin: 10px 0;
  width: 100%;
}

/* Detail Panel */
.raw-expander-btn {
  background: transparent;
  border: none;
  color: var(--muted);
  font-size: 9px;
  cursor: pointer;
  padding: 0 4px;
  transition: color 0.15s ease;
}

.raw-expander-btn:hover {
  color: var(--ink);
}

.raw-detail-note {
  font-size: 10.5px;
  color: var(--muted);
  line-height: 1.4;
  margin-top: 8px;
  font-style: italic;
}

/* Optics & Sub-bars */
.raw-subbar-row {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 5px;
  cursor: pointer;
  margin-top: 6px;
  transition: all 0.15s ease;
}

.raw-subbar-row:hover {
  background: var(--tint);
  border-color: var(--line);
}

.raw-subbar-icon {
  color: var(--ink);
  display: flex;
  align-items: center;
}

.raw-subbar-title {
  flex: 1;
  font-size: 11.5px;
  color: var(--ink);
}

.raw-subbar-arrow {
  font-size: 9px;
  color: var(--muted);
}

/* Lens Blur */
.raw-checkbox-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: var(--ink);
  margin-bottom: 8px;
  cursor: pointer;
}

.raw-bokeh-section {
  margin: 8px 0;
}

.raw-bokeh-label {
  font-size: 11px;
  color: var(--muted);
  margin-bottom: 6px;
}

.raw-bokeh-buttons {
  display: flex;
  gap: 6px;
}

.raw-bokeh-btn {
  flex: 1;
  height: 32px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 5px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.15s ease;
}

.raw-bokeh-btn:hover {
  background: var(--tint);
  border-color: var(--line);
}

.raw-bokeh-btn.active {
  background: var(--tint);
  border-color: var(--line);
  box-shadow: 0 0 6px rgba(56, 189, 248, 0.3);
}

.raw-focus-section {
  margin-top: 8px;
}

.raw-focus-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

.raw-focus-title {
  font-size: 11px;
  color: var(--ink);
}

.raw-focus-icons {
  display: flex;
  gap: 6px;
}

.raw-focus-icon-btn {
  background: transparent;
  border: none;
  color: var(--muted);
  cursor: pointer;
  padding: 2px;
  border-radius: 4px;
}

.raw-focus-icon-btn.active,
.raw-focus-icon-btn:hover {
  color: var(--brand-on-action);
}

.raw-depth-bar-track {
  height: 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 4px;
  position: relative;
  overflow: hidden;
  margin-bottom: 2px;
}

.raw-depth-bracket {
  position: absolute;
  top: 0;
  bottom: 0;
  background: var(--surface);
  border-left: 2px solid var(--line);
  border-right: 2px solid var(--line);
}

.raw-depth-labels {
  display: flex;
  justify-content: space-between;
  font-size: 9.5px;
  color: var(--muted);
}

/* Calibration */
.raw-calib-process-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}

.raw-calib-label {
  font-size: 11px;
  color: var(--muted);
  width: 50px;
}

.raw-calib-header-centered {
  text-align: center;
  font-size: 11.5px;
  font-weight: 500;
  color: var(--ink);
  margin: 6px 0 4px;
}


/* --------------------------------------------------------------------------
   WORKSPACE BODY & RIGHT-HAND GENERATION HISTORY COLUMN
   -------------------------------------------------------------------------- */
.try-workspace-body {
  display: flex;
  align-items: stretch;
  justify-content: center;
  width: 100%;
  height: calc(100vh - 48px);
  max-height: calc(100vh - 48px);
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
}

:is(.try-history-toggle-btn,.ez-back-btn) {
  background: var(--surface) !important;
  border: 1px solid var(--line) !important;
  color: var(--ink) !important;
  font-size: 11.5px !important;
  padding: 6px 14px !important;
  border-radius: 9999px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  cursor: pointer !important;
  transition: all 0.18s ease !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  font-family: inherit !important;
  font-weight: 500 !important;
}

:is(.try-history-toggle-btn,.ez-back-btn):hover, :is(.try-history-toggle-btn,.ez-back-btn).active {
  background: var(--tint) !important;
  border-color: var(--accent) !important;
  color: var(--brand-on-action) !important;
  box-shadow: 0 0 12px rgba(112, 180, 224, 0.25) !important;
}

/* RIGHT-HAND FLOATING GENERATION HISTORY PANEL */
.try-history-sidebar {
  position: absolute !important;
  right: 20px !important;
  top: 18px !important;
  width: 320px !important;
  max-width: calc(100vw - 40px) !important;
  height: auto !important;
  max-height: calc(100% - 96px) !important;
  background: var(--bg-surface-glass) !important;
  backdrop-filter: blur(24px) saturate(170%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(170%) !important;
  border: 1px solid var(--line) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: var(--shadow-ambient) !important;
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  z-index: 600 !important;
  pointer-events: auto !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.2s ease, box-shadow 0.2s ease !important;
}

.try-history-header {
  padding: 12px 14px 12px 16px;
  border-bottom: 1px solid var(--line);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--surface);
  border-top-left-radius: 18px;
  border-top-right-radius: 18px;
  flex-shrink: 0;
}

.try-history-ic {
  font-size: 13px;
}

.try-history-title {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: 0.3px;
  margin: 0;
}

.try-history-count-badge {
  font-size: 9.5px !important;
  padding: 1px 6px !important;
  border-radius: 9999px !important;
}

.try-history-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.try-history-clear-btn {
  background: transparent;
  border: none;
  color: var(--ink);
  font-size: 11px;
  font-family: inherit;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 4px;
  transition: all 0.15s;
}

.try-history-clear-btn:hover {
  color: var(--ink);
  background: var(--tint);
}

.try-history-close-btn {
  background: transparent;
  border: 1px solid transparent;
  color: var(--ink);
  width: 24px;
  height: 24px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  padding: 0;
  transition: all 0.15s ease;
}

.try-history-close-btn:hover {
  background: var(--tint);
  color: var(--brand-on-action);
  border-color: var(--line);
}

.try-history-list {
  flex: 1;
  overflow-y: auto;
  padding: 10px 10px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  scrollbar-width: thin;
  scrollbar-color: rgba(112, 180, 224, 0.35) transparent;
}

.try-history-list::-webkit-scrollbar {
  width: 4px;
}

.try-history-list::-webkit-scrollbar-track {
  background: transparent;
}

.try-history-list::-webkit-scrollbar-thumb {
  background: var(--surface);
  border-radius: 4px;
  transition: background 0.18s ease;
}

.try-history-list::-webkit-scrollbar-thumb:hover {
  background: var(--accent);
}

.try-history-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 36px 16px;
  text-align: center;
}

.try-history-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 9px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  display: flex;
  flex-direction: column;
  gap: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
}

.try-history-card:hover {
  background: var(--tint);
  border-color: var(--line);
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.45);
}

.try-history-card.active {
  border: 1.5px solid var(--line);
  background: var(--tint);
  box-shadow: 0 0 16px rgba(112, 180, 224, 0.25);
}

.try-hist-card-top {
  display: flex;
  align-items: center;
  gap: 8px;
}

.try-hist-thumb-wrap {
  width: 64px;
  height: 42px;
  border-radius: 6px;
  overflow: hidden;
  position: relative;
  background: var(--surface);
  border: 1px solid var(--line);
  flex-shrink: 0;
}

.try-hist-thumb-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.try-hist-staged-mark {
  position: absolute;
  bottom: 2px;
  right: 2px;
  background: var(--surface);
  font-size: 8px;
  padding: 1px 3px;
  border-radius: 3px;
  line-height: 1;
}

.try-hist-active-indicator {
  position: absolute;
  top: 2px;
  left: 2px;
  background: var(--accent);
  color: var(--ink);
  font-size: 8px;
  font-weight: 800;
  padding: 1px 4px;
  border-radius: 3px;
  line-height: 1;
}

.try-hist-info {
  flex: 1;
  min-width: 0;
}

.try-hist-room {
  font-size: 11.5px;
  color: var(--ink);
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.try-hist-time {
  font-size: 9.5px;
  color: var(--muted);
  flex-shrink: 0;
}

.try-hist-meta-pills {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 3px;
}

.try-hist-pill {
  font-size: 9px !important;
  padding: 1px 5px !important;
  border-radius: 4px !important;
  color: var(--ink) !important;
}

.try-hist-prompt-box {
  display: flex;
  align-items: flex-start;
  gap: 4px;
  background: var(--surface);
  border-radius: 6px;
  padding: 4px 6px;
}

.try-hist-prompt-ic {
  font-size: 10px;
  color: var(--brand-link);
  margin-top: 1px;
  flex-shrink: 0;
}

.try-hist-prompt-text {
  font-size: 10.5px;
  color: var(--ink);
  margin: 0;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}


/* --------------------------------------------------------------------------
   ACTIVE OUTPUT PROMPT CARD (ALWAYS VISIBLE AT OUTPUT)
   -------------------------------------------------------------------------- */
.try-output-prompt-card {
  width: 100%;
  max-width: 960px;
  min-height: 62px;
  margin-top: 4px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 6px 12px;
  box-sizing: border-box;
  box-shadow: 0 6px 20px rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  transition: all 0.2s ease;
  flex-shrink: 0;
}

.try-output-prompt-card:focus-within {
  border-color: var(--accent);
  box-shadow: 0 0 0 2px rgba(112, 180, 224, 0.25), 0 8px 24px rgba(0, 0, 0, 0.5);
  background: var(--surface);
}

.try-output-prompt-header {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
}

.try-output-prompt-badge {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.5px;
  color: var(--brand-link);
  text-transform: uppercase;
}

.try-output-prompt-meta {
  font-size: 10.5px;
  color: var(--ink);
}

.try-prompt-copy-btn {
  font-size: 10.5px !important;
  padding: 2px 8px !important;
  border-radius: 5px !important;
  color: var(--ink) !important;
}

.try-prompt-copy-btn:hover {
  color: var(--brand-on-action) !important;
  border-color: var(--accent) !important;
}

/* --- Editor Floating Staging Toolbar (Image 1 into Image 2) --- */
.editor-bottom-toolbar {
  position: absolute;
  bottom: 14px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 50;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 6px 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 12px 36px rgba(15, 23, 42, 0.12), 0 2px 8px rgba(15, 23, 42, 0.06);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  max-width: calc(100% - 32px);
  box-sizing: border-box;
  flex-wrap: nowrap;
}

[data-theme="dark"] .editor-bottom-toolbar {
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: 0 16px 44px rgba(0, 0, 0, 0.75), 0 2px 8px rgba(0, 0, 0, 0.4);
}

.canvas-frame {
  padding-bottom: 56px !important;
}

/* --- Right Inspector 3D Multi-View Content & Expert Card --- */
.inspector-multiview-content {
  overflow-y: auto;
  overflow-x: hidden;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 12px 14px 68px;
  box-sizing: border-box;
}

.inspector-multiview-content::-webkit-scrollbar {
  width: 5px;
}

.inspector-multiview-content::-webkit-scrollbar-thumb {
  background: var(--surface);
  border-radius: 4px;
}

[data-theme="dark"] .inspector-multiview-content::-webkit-scrollbar-thumb {
  background: var(--surface);
}

/* In-Editor Live Support: compact circle icon button placed at bottom-right corner outside canvas */
.live-chat-wrapper.in-editor .chat-trigger-label,
.live-chat-wrapper.in-editor .chat-trigger-collapse-btn {
  display: none !important;
}

.live-chat-wrapper.in-editor .live-chat-trigger {
  padding: 10px !important;
  border-radius: 50% !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  justify-content: center !important;
}

.live-chat-wrapper.in-editor {
  bottom: 16px !important;
  right: 16px !important;
  z-index: 9999 !important;
}

.live-chat-wrapper.in-editor .live-chat-box {
  bottom: 70px !important;
  right: 16px !important;
}

.sidebar-account-row{display:flex;align-items:center;gap:4px;min-width:0}
.sidebar .sidebar-account-row .profile{flex:1;min-width:0;padding-inline:4px}
.sidebar-account-row .profile>div:not(.avatar){min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.sidebar-collapse-btn{width:44px;height:44px;flex:0 0 44px;border:0;background:transparent;color:inherit;border-radius:7px}
.sidebar-collapse-btn .icon{width:20px;height:20px}
.sidebar-collapse-btn:hover{background:rgba(255,255,255,.08);color:#fff}
.sidebar-collapse-btn:focus-visible{outline:2px solid #70B4E0;outline-offset:-2px}
@media(min-width:951px){.sidebar-collapsed .sidebar-account-row{flex-direction:column}.sidebar-collapsed .sidebar-account-row .profile{flex:none;width:44px}}
@media(max-width:950px){.sidebar-collapse-btn{display:none}}

/* Global Mobile Touch Optimization for Tabs & In-Editor Live Support */
@media (max-width: 640px) {
  .live-chat-wrapper.in-editor {
    bottom: 110px !important;
    right: 12px !important;
  }

  .tabs {
    gap: 10px !important;
    overflow-x: auto !important;
    flex-wrap: nowrap !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    padding-bottom: 2px !important;
    margin-bottom: 16px !important;
  }

  .tabs::-webkit-scrollbar {
    display: none !important;
  }

  .tab {
    padding: 6px 3px !important;
    font-size: 11.5px !important;
    white-space: nowrap !important;
    flex-shrink: 0 !important;
  }
}


