:root{font-family:DM Sans,Noto Sans SC,sans-serif;color:#202520;background:#f7f5f0;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p{margin-top:0}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:700;color:#8c987f;text-transform:uppercase}.primary{border:0;background:#293c2e;color:#fff;border-radius:10px;padding:11px 18px;font-weight:700}.outline{border:1px solid #d5dbd1;background:#fff;color:#293c2e;border-radius:9px;padding:10px 13px;font-weight:600}.danger{border:0;background:transparent;color:#b75548;padding:10px}.hint{font-size:11px;line-height:1.6;color:#8b918a}.home{max-width:920px;margin:auto;padding:80px 28px}.home-head{padding:0 0 52px;border-bottom:1px solid #dddcd4}.home h1{font-size:clamp(48px,9vw,96px);line-height:1.08;letter-spacing:-.07em;margin:20px 0}.home h1 em{font-style:normal;color:#78916d}.home-head p{color:#797f75;font-size:17px}.project-list{display:grid;gap:12px;margin:36px 0}.project-card{background:#fff;border:1px solid #e8e9e2;border-radius:18px;padding:22px;display:flex;align-items:center;gap:18px;transition:transform .2s,box-shadow .2s}.project-card:hover{transform:translateY(-2px);box-shadow:0 10px 30px #293c2e12}.project-icon{background:#e9eee4;color:#486045;width:50px;height:50px;border-radius:14px;display:grid;place-items:center;font-size:23px;font-weight:700}.project-card strong,.project-card small{display:block}.project-card small{color:#8b918a;margin-top:5px}.project-card>span:last-child{margin-left:auto;font-size:24px;color:#8b918a}.admin-link{font-size:13px;color:#647b5d}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(100%,410px);background:#fff;border:1px solid #e8e9e2;border-radius:24px;padding:42px;box-shadow:0 20px 80px #24342312}.login-card h1{font-size:34px;margin:12px 0}.login-card p{color:#8b918a;font-size:13px;margin-bottom:34px}.login-card label,.settings label,.project-settings label{display:block;font-size:12px;font-weight:700;color:#566354;margin-bottom:15px}.login-card input,.settings input,.settings textarea,.settings select,.project-settings input{display:block;width:100%;margin-top:7px;border:1px solid #dce1d9;background:#fff;border-radius:9px;padding:10px 11px;color:#263526;outline:none}.login-card input:focus,.settings input:focus,.settings textarea:focus,.settings select:focus{border-color:#78916d}.login-card .primary{width:100%;margin:8px 0 20px}.login-card>a{display:block;text-align:center;font-size:12px;color:#8b918a}.admin-shell{min-height:100vh;display:grid;grid-template-columns:228px minmax(0,1fr)}.sidebar{background:#25372b;color:#f4f6f1;padding:26px 16px;display:flex;flex-direction:column;min-height:100vh}.brand{display:flex;align-items:center;gap:11px;font-size:16px;font-weight:700;letter-spacing:.04em;padding:0 10px 45px}.brand small{display:block;color:#a9b8a8;font-size:10px;font-weight:400;letter-spacing:0;margin-top:3px}.brand-mark{height:37px;width:37px;border-radius:10px;background:#cadcbc;color:#29402c;display:grid;place-items:center;font-size:20px}.side-label{font-size:10px;letter-spacing:.15em;color:#8fa38e;padding:0 10px 12px}.side-projects{display:grid;gap:4px}.side-projects button{border:0;background:transparent;text-align:left;color:#c3d0c2;border-radius:9px;padding:11px 10px}.side-projects button.chosen{background:#3c5341;color:#fff}.side-projects button span,.side-projects button small{display:block}.side-projects button small{color:#a2b6a1;font-size:10px;margin-top:4px}.sidebar .outline{background:transparent;color:#d7e5d0;border-color:#5b715e;margin-top:18px}.sidebar-foot{margin-top:auto;padding:24px 10px 0;display:grid;gap:14px;font-size:12px;color:#b4c6b0}.sidebar-foot button{background:none;border:0;color:inherit;text-align:left;padding:0}.workspace{min-width:0}.topbar{height:112px;border-bottom:1px solid #e3e5de;padding:26px 36px;display:flex;align-items:center;justify-content:space-between;background:#fff}.topbar h1{font-size:23px;margin:7px 0 0;letter-spacing:-.03em}.top-actions{display:flex;align-items:center;gap:15px}.status{font-size:11px;color:#8e958b}.status.published{color:#66835e}.editor-grid{display:grid;grid-template-columns:minmax(240px,290px) minmax(360px,1fr) minmax(250px,300px);min-height:calc(100vh - 112px)}.panel{background:#fff;padding:23px;border-right:1px solid #e5e7e1}.settings-panel{border-right:0;border-left:1px solid #e5e7e1}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.panel-head h2{font-size:15px;margin:0}.panel-head span{font-size:11px;color:#9ba397}.component-list{display:grid;gap:7px}.component-row{width:100%;border:1px solid #e5e9e2;background:#fff;border-radius:9px;padding:12px 10px;text-align:left;display:flex;align-items:center;gap:11px;font-size:12px;color:#405141}.component-row.selected{border-color:#8eaa83;background:#f3f8f1}.row-num{font-size:10px;color:#a3ada0}.row-actions{margin-left:auto;display:flex;gap:7px;color:#889687}.row-actions span{padding:2px}.add-menu{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:16px}.add-menu button{border:1px dashed #cbd7c8;background:#f9fbf8;border-radius:8px;color:#5f7959;font-size:11px;padding:10px 4px}.project-settings{border-top:1px solid #e9ece6;margin-top:30px;padding-top:23px}.project-settings h3{font-size:13px}.project-settings button{width:100%;margin-bottom:8px}.preview-panel{background:#f3f1eb;padding:23px;min-width:0}.preview-title{display:flex;justify-content:space-between;gap:10px;color:#889185;font-size:11px;margin-bottom:20px}.preview-title a{color:#536d4f}.device{width:min(100%,390px);margin:auto;background:#1d281f;padding:9px;border-radius:32px;box-shadow:0 20px 50px #28352925}.device-screen{width:100%;aspect-ratio:375/740;overflow:auto;background:#fff;border-radius:24px;scrollbar-width:thin}.settings label{margin-top:18px}.settings textarea{resize:vertical;font-size:11px;line-height:1.5}.assets .upload{display:block;text-align:center;background:#f1f7ee;border:1px dashed #98b193;border-radius:10px;padding:18px;color:#4b7247;font-size:12px;font-weight:700;cursor:pointer}.asset-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:19px}.asset{position:relative;min-width:0}.asset img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;background:#e6e8e2}.asset small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px;color:#8b918a}.asset button{position:absolute;right:5px;top:5px;border:0;background:#fff;color:#b75548;border-radius:50%;width:22px;height:22px}.welcome,.empty-state{text-align:center;padding:70px 24px;color:#869082}.welcome h2{color:#344736}.public-header{height:58px;display:flex;justify-content:space-between;align-items:center;gap:12px;max-width:750px;margin:auto;padding:0 14px;background:#fff;font-size:12px;color:#7e887b}.public-header strong{font-size:14px;color:#263526}.phone-page{width:min(100%,750px);margin:auto;background:#fff;min-height:calc(100vh - 58px)}.component{position:relative;overflow:hidden;width:100%;background:#edf0ea;isolation:isolate}.component img{display:block;width:100%;height:auto}.poster img{width:100%}.empty-image{min-height:180px;display:grid;place-items:center;color:#9aa398;font-size:13px}.carousel{aspect-ratio:750/450}.slides,.slides img{position:absolute;inset:0;width:100%;height:100%}.slides img{object-fit:cover;opacity:0;transition:opacity .5s}.slides img.active{opacity:1}.dots{position:absolute;bottom:12px;left:0;right:0;display:flex;justify-content:center;gap:5px}.dots span{width:5px;height:5px;border-radius:9px;background:#fff8}.dots span.active{width:15px;background:#fff}.tabs{display:flex;background:#fff}.tabs button{flex:1;border:0;background:transparent;padding:13px 4px;font-size:12px;color:#859080}.tabs button.active{color:#283d2a;border-bottom:2px solid #557b52;font-weight:700}.tab-image{aspect-ratio:750/450;background:#ecf0ea}.tab-image img{width:100%;height:100%;object-fit:cover}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:#fff}.tile{aspect-ratio:1;position:relative;background:#e9eee6;transition:transform .5s;backface-visibility:hidden}.tile.flipping{transform:rotateY(90deg)}.tile img{width:100%;height:100%;object-fit:cover}.flip-trigger{position:absolute;inset:0;width:100%;height:100%;background:#2e463bba;color:#fff;border:0;font-size:13px}.hotspot{position:absolute;z-index:2;background:transparent;border:0;padding:0}.hotspot:focus-visible{outline:2px solid #57a8ff}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:50;padding:12px 18px;border-radius:10px;color:#fff;font-size:12px;background:#365d3d;box-shadow:0 8px 25px #0002}#toast.error{background:#ad5147}@media(max-width:1100px){.editor-grid{grid-template-columns:240px minmax(340px,1fr)}.settings-panel{grid-column:1/-1;border-top:1px solid #e5e7e1;border-left:0}.asset-grid{grid-template-columns:repeat(6,1fr)}}@media(max-width:700px){.admin-shell{display:block}.sidebar{min-height:0;padding:15px}.brand{padding:0 0 16px}.side-projects{display:flex;overflow:auto}.side-projects button{flex:none;min-width:130px}.sidebar-foot{display:none}.topbar{padding:18px;height:auto}.editor-grid{display:block}.panel{border-right:0;border-bottom:1px solid #e5e7e1}.preview-panel{padding:20px}.device{max-width:390px}.asset-grid{grid-template-columns:repeat(3,1fr)}.home{padding:50px 22px}}.carousel .slides{left:2.133%;right:2.133%;width:auto}.settings h3{font-size:13px;margin:26px 0 12px;color:#354739}.settings .upload{margin:12px 0 18px}.full{width:100%}.image-card{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid #e5e9e2;border-radius:10px;margin:8px 0;background:#fff}.image-card img{width:56px;height:56px;object-fit:cover;border-radius:7px;background:#e6e8e2}.image-card>div{min-width:0;flex:1}.image-card small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#657064}.image-card button,.sortable-image>button,.layer-head button,.hotspot-row-head button,.text-danger{border:0;background:transparent;color:#af6255;font-size:11px;padding:5px 0}.sortable-image{display:flex;align-items:center;gap:5px}.sortable-image .image-card{flex:1;min-width:0}.sortable-image>button{color:#657b60;padding:6px}.tab-editor,.grid-layer{border:1px solid #e4eae0;border-radius:12px;padding:12px;margin:12px 0;background:#fcfdfb}.tab-editor .upload{margin:8px 0}.tab-editor label{margin-top:0}.grid-layer .layer-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;margin-bottom:8px}.grid-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.settings .grid-slot{display:grid;place-items:center;aspect-ratio:1;margin:0;border:1px dashed #bacdb6;border-radius:6px;overflow:hidden;background:#eff4ed;cursor:pointer}.grid-slot img{width:100%;height:100%;object-fit:cover}.grid-slot span{text-align:center;color:#78916d;font-size:20px;line-height:1}.grid-slot small{display:block;font-size:9px}.hotspot-settings{border-top:1px solid #e7ebe4;margin-top:25px;padding-top:4px}.hotspot-settings .hint{margin-bottom:10px}.hotspot-settings #draw-hotspot.drawing{background:#dcebd8;border-color:#74976c}.hotspot-row{border:1px solid #e2e9df;border-radius:10px;padding:10px;margin:10px 0;background:#fff;cursor:pointer}.hotspot-row.selected{border-color:#6f9a69;background:#f5faf3}.hotspot-row-head{display:flex;justify-content:space-between;align-items:center;font-size:12px}.hotspot-row label{margin:9px 0 0}.selected-component{outline:2px solid #80a77a;outline-offset:-2px}.hotspot-layer{position:absolute;inset:0;z-index:5;pointer-events:none;touch-action:none}.hotspot-layer.draw-mode{pointer-events:auto;cursor:crosshair;background:#7dba7720}.edit-hotspot{position:absolute;border:2px solid #55a94e;background:#8cdb7538;box-shadow:0 0 0 1px #fff7;pointer-events:auto;cursor:move;touch-action:none;min-width:5px;min-height:5px}.edit-hotspot.chosen{border-color:#e69233;background:#f8c06b55}.edit-hotspot.pending{border-style:dashed;pointer-events:none}.edit-hotspot span{position:absolute;left:0;top:0;background:#55a94e;color:#fff;padding:1px 4px;font-size:10px;line-height:1}.edit-hotspot .resize-handle{position:absolute;right:-5px;bottom:-5px;width:13px;height:13px;border:2px solid #fff;background:#55a94e;border-radius:3px;cursor:nwse-resize}.draw-mode .edit-hotspot{pointer-events:none}:root{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Noto Sans SC,sans-serif;color:#1d1d1f;background:#f5f5f7}body{background:#f5f5f7}button,input,textarea,select{font-family:inherit}.primary{background:#0071e3;color:#fff;border-radius:11px;font-weight:600;box-shadow:none;transition:background .18s,transform .18s}.primary:hover{background:#0077ed;transform:translateY(-1px)}.outline{border-color:#d9d9df;background:#fff;color:#303034;border-radius:11px;font-weight:600;transition:background .18s}.outline:hover{background:#f5f5f7}kbd{font:inherit;font-size:10px;opacity:.7;margin-left:7px}.admin-shell{grid-template-columns:210px minmax(0,1fr);background:#f5f5f7}.sidebar{background:#fbfbfd;color:#1d1d1f;border-right:1px solid #e8e8ed;padding:26px 14px}.brand{padding:0 10px 40px;letter-spacing:-.02em;font-size:15px}.brand small{color:#8e8e93;font-size:10px}.brand-mark{background:#1d1d1f;color:#fff;border-radius:12px;font-weight:600}.side-label{color:#8e8e93;font-size:10px}.side-projects button{color:#414147;border-radius:10px;font-weight:600}.side-projects button small{color:#92929a;font-weight:400}.side-projects button.chosen{background:#e8e8ed;color:#1d1d1f}.side-projects button.chosen small{color:#777782}.sidebar .outline{background:#fff;color:#303034;border-color:#dedee4}.sidebar-foot{color:#777782;border-top:1px solid #e8e8ed}.topbar{height:88px;padding:20px 32px;background:#fbfbfd;border-bottom:1px solid #e8e8ed}.topbar h1{font-size:24px;letter-spacing:-.035em;margin:5px 0 0}.topbar .eyebrow{color:#8e8e93;letter-spacing:.13em}.top-actions{gap:9px}.status{background:#f1f1f4;border-radius:20px;padding:7px 11px;color:#74747c}.status.published{background:#e6f4e9;color:#26713a}.editor-grid{grid-template-columns:260px minmax(380px,1fr) 300px;gap:18px;padding:20px;min-height:calc(100vh - 88px)}.panel{border:1px solid #e9e9ed;border-radius:18px;padding:20px;background:#fff;box-shadow:0 3px 16px #1d1d1f06}.components-panel,.settings-panel{height:calc(100vh - 128px);overflow:auto;scrollbar-width:thin}.settings-panel{border:1px solid #e9e9ed}.panel-head{margin-bottom:15px}.panel-head h2{font-size:15px;letter-spacing:-.02em}.project-settings{border-top:0;border-bottom:1px solid #ececf0;margin:0 0 24px;padding:0 0 20px}.project-settings .section-title{font-size:15px;font-weight:700;letter-spacing:-.02em;margin-bottom:15px}.project-settings label{color:#777780;font-size:11px;margin-bottom:12px;font-weight:600}.project-settings input,.settings input,.settings textarea,.settings select{border-color:#e0e0e5;background:#fbfbfd;border-radius:10px;color:#1d1d1f}.project-settings button{margin-bottom:7px}.project-settings .danger{width:auto;display:block;margin:6px auto 0;color:#a86868;font-size:11px}.component-row{border-color:#ebebef;background:#fff;border-radius:11px;color:#303035;font-size:12px;padding:12px}.component-row.selected{border-color:#91bfff;background:#f2f7ff}.row-num{color:#a1a1a8}.add-menu button{border:1px solid #e8e8ed;background:#fafafa;color:#565660;border-radius:10px}.add-menu button:hover{background:#f0f0f3}.preview-panel{border-radius:18px;background:#eeeef1;border:1px solid #e9e9ed;padding:20px 24px 28px;display:flex;flex-direction:column;align-items:center}.preview-title{width:100%;max-width:420px;color:#7c7c85;font-size:11px;margin-bottom:12px}.preview-title span:last-child{color:#9999a0}.device{position:relative;width:min(100%,390px);aspect-ratio:880/1812;max-height:none;background:transparent;padding:0;border-radius:0;box-shadow:none;overflow:visible}.device-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;z-index:1}.device-screen{position:absolute;z-index:2;inset:1.35% 2.7% 1.5%;width:auto;height:auto;aspect-ratio:auto;overflow:auto;background:#f5f5f7;border-radius:11%/5.5%;scrollbar-width:none}.device-screen::-webkit-scrollbar{display:none}.device-screen.phone-page{padding-top:18%}.device-island{position:absolute;z-index:4;top:3.45%;left:35.7%;width:28.6%;height:3.55%;border-radius:999px;background:#050505;box-shadow:0 0 0 3px #050505;pointer-events:none}.device-screen .component{margin:0}.phone-page{width:min(100%,750px);margin:auto;background:#f5f5f7;min-height:calc(100vh - 58px);padding:20px;display:flex;flex-direction:column;gap:20px}.device-screen.phone-page{min-height:0;margin:0;width:auto}.component{flex:none;box-shadow:0 2px 12px #1d1d1f0a}.clickable-component{cursor:pointer}.public-header{background:#fff;border-bottom:1px solid #efeff2;color:#777780}.public-header strong{color:#1d1d1f}.draft-toolbar{position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid #e7e7ec;padding:12px max(20px,calc((100vw - 750px)/2));display:flex;align-items:center;justify-content:space-between;gap:16px}.draft-toolbar strong{display:block;font-size:14px}.draft-toolbar small{display:block;color:#8e8e93;font-size:11px;margin-top:4px}.draft-toolbar>div:last-child{display:flex;align-items:center;gap:8px;white-space:nowrap}.draft-toolbar .outline,.draft-toolbar .primary{display:inline-block;padding:9px 13px;font-size:12px}.home{max-width:880px}.home h1{letter-spacing:-.06em}.home h1 em{color:#6c6c74}.project-card{border-color:#ececf0;border-radius:20px;box-shadow:0 4px 22px #1d1d1f05}.project-icon{background:#f1f1f4;color:#1d1d1f}.login-card{border-color:#ececf0;box-shadow:0 20px 80px #1d1d1f0b}.login-card .eyebrow{color:#8e8e93}@media(max-width:1180px){.editor-grid{grid-template-columns:240px minmax(330px,1fr)}.settings-panel{grid-column:1/-1;height:auto}.components-panel{height:auto}.preview-panel{min-height:800px}}@media(max-width:700px){.admin-shell{display:block}.sidebar{min-height:0;padding:14px}.brand{padding:0 0 15px}.topbar{height:auto;padding:16px;gap:12px;align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}.editor-grid{display:block;padding:12px}.panel,.preview-panel{margin-bottom:12px}.components-panel,.settings-panel{height:auto}.preview-panel{min-height:0}.device{width:min(100%,370px)}.draft-toolbar{padding:11px 16px}.draft-toolbar small{display:none}.phone-page{padding:20px;gap:20px}}.eyebrow{color:#86868b}.hint{color:#8e8e93}.settings h3{color:#1d1d1f}.settings .upload,.assets .upload{background:#f6f9ff;border-color:#ccdfff;color:#06c}.settings .upload:hover{background:#edf4ff}.login-card input:focus,.settings input:focus,.settings textarea:focus,.settings select:focus{border-color:#0071e3;box-shadow:0 0 0 3px #0071e31a}.home .admin-link,.preview-title a{color:#06c}.tabs button.active{color:#06c;border-color:#0071e3}.hotspot-layer.draw-mode{background:#0071e314}.edit-hotspot{border-color:#0071e3;background:#0071e32a}.edit-hotspot.chosen{border-color:#ff9500;background:#ff950033}.edit-hotspot span,.edit-hotspot .resize-handle{background:#0071e3}.device{width:min(100%,390px);aspect-ratio:auto;margin:auto;background:#1d281f;padding:9px;border-radius:32px;box-shadow:0 20px 50px #28352925;overflow:hidden}.device-screen{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:375/740;overflow:auto;background:#fff;border-radius:24px}.device-screen.phone-page{width:100%;height:auto;min-height:0;margin:0;padding-top:20px}.device-frame,.device-island{display:none}@media(max-width:700px){.device{width:min(100%,370px)}}.phone-page{width:min(100%,790px);padding:20px;gap:20px}.editor-grid{grid-template-columns:240px minmax(790px,1fr) 280px;gap:14px;padding:16px}.preview-panel{display:block;padding:16px 0;background:transparent;border:0;box-shadow:none;min-width:0}.preview-title{max-width:790px;margin:0 auto 12px}.editor-canvas.phone-page{width:min(100%,790px);min-height:calc(100vh - 180px);margin:0 auto;border:1px solid #e9e9ed;box-shadow:0 8px 30px #1d1d1f0b}.builder-meta{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.saved-time{font-size:11px;color:#8e8e93}.carousel{width:min(100%,718px);aspect-ratio:auto;margin-left:auto;margin-right:auto}.carousel .slides{position:relative;inset:auto;width:100%;height:auto;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;touch-action:pan-x pan-y;transition:height .25s ease}.carousel .slides::-webkit-scrollbar{display:none}.carousel .slides img{position:relative;inset:auto;flex:0 0 100%;width:100%;height:100%;opacity:1;object-fit:contain;scroll-snap-align:start;transition:none}.carousel .dots{pointer-events:none}.preview-dialog{border:1px solid #e5e5ea;border-radius:20px;padding:30px;width:min(90vw,390px);box-shadow:0 20px 80px #0003;text-align:center}.preview-dialog::backdrop{background:#1d1d1f66}.preview-dialog h2{font-size:20px;margin:0 0 8px}.preview-dialog p{font-size:12px;color:#8e8e93;line-height:1.6}.dialog-close{position:absolute;right:14px;top:12px;background:none;border:0;font-size:24px;color:#8e8e93}.preview-options{display:grid;gap:10px;margin-top:24px}#qr-result{margin-top:18px}#qr-result img{display:block;width:240px;max-width:100%;margin:auto}@media(max-width:1720px){.editor-grid{grid-template-columns:220px minmax(0,1fr)}.settings-panel{grid-column:1/-1;height:auto}.components-panel{height:auto}.preview-panel{min-height:0}.editor-canvas.phone-page{width:min(100%,790px)}}@media(max-width:1100px){.editor-grid{display:block}.components-panel,.settings-panel{height:auto}.preview-panel{margin:12px auto;padding:0}.editor-canvas.phone-page{width:min(100%,790px)}}.editor-grid{display:grid;grid-template-columns:220px minmax(500px,1fr) 280px;min-width:1060px}.components-panel,.settings-panel{height:calc(100vh - 128px);overflow:auto}.settings-panel{grid-column:auto}.preview-panel{min-height:0;margin:0;padding:16px 0}.preview-title{max-width:500px}.editor-canvas.phone-page{width:790px;max-width:none;zoom:.6329113924;margin:0 auto}@media(max-width:1260px){.editor-grid{grid-template-columns:190px minmax(500px,1fr) 250px;min-width:1000px}}@media(max-width:700px){.editor-grid{display:grid;padding:12px;grid-template-columns:190px minmax(500px,1fr) 250px;min-width:1000px}.components-panel,.settings-panel{height:calc(100vh - 128px)}.preview-panel{margin:0;padding:16px 0}.editor-canvas.phone-page{width:790px;max-width:none;zoom:.6329113924}}.admin-shell{height:100vh;min-height:0;overflow:hidden}.workspace{height:100vh;min-height:0;display:flex;flex-direction:column;overflow-x:auto;overflow-y:hidden}.topbar{flex:none}.editor-grid{flex:1;height:auto;min-height:0;overflow:hidden;align-items:stretch}.components-panel,.settings-panel{height:auto;min-height:0;overflow-y:auto;overscroll-behavior-y:contain}.preview-panel{height:auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-width:thin;background:#fff;box-shadow:none}.editor-canvas.phone-page{min-height:0;background:#fff;border:0;box-shadow:none}.editor-canvas .component{box-shadow:none}.carousel{width:100%;max-width:none}@media(max-width:700px){.admin-shell{display:grid;grid-template-columns:210px minmax(0,1fr)}.sidebar{height:100vh;min-height:0;overflow-y:auto}.workspace{height:100vh}.editor-grid{display:grid;min-height:0}.components-panel,.settings-panel{height:auto;min-height:0}.preview-panel{height:auto;min-height:0;margin:0}}.topbar{position:relative;z-index:30;overflow:visible}.preview-anchor{position:relative;flex:none}.preview-popover{position:absolute;top:calc(100% + 10px);right:0;z-index:100;width:270px;padding:15px;background:#fff;border:1px solid #e5e5ea;border-radius:14px;box-shadow:0 12px 36px #1d1d1f24;text-align:center}.preview-popover[hidden]{display:none}.popover-head{display:flex;align-items:center;justify-content:space-between;text-align:left;margin-bottom:12px;font-size:13px}.popover-head button{border:0;background:none;color:#8e8e93;font-size:20px;line-height:1}.preview-popover #qr-result{margin-top:12px}.preview-popover #qr-result img{display:block;width:220px;max-width:100%;margin:auto}.preview-popover #qr-result p{margin:9px 0;color:#8e8e93;font-size:11px}.preview-popover #copy-preview{font-size:11px;padding:7px 10px}.preview-popover .popover-error{color:#b75548!important}.flip-grid{background:#fff}.grid-background{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;z-index:0}.grid-stage{position:relative;z-index:1}.flip-grid .grid{background:transparent}.flip-grid .tile:nth-child(5){transform:none!important}.flip-grid .flip-trigger{background:#2e463bad;animation:gridBreath 2.8s ease-in-out infinite;transform-origin:center}@keyframes gridBreath{0%,to{opacity:.78;transform:scale(.94)}50%{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.flip-grid .flip-trigger{animation:none}}.flip-grid.has-background{display:grid}.flip-grid.has-background .grid-background{position:relative;inset:auto;grid-area:1/1;width:100%!important;height:auto!important;object-fit:contain;align-self:start;z-index:0}.flip-grid.has-background .grid-stage{grid-area:1/1;align-self:center;width:100%;z-index:1}.flip-grid .tile{border-radius:10px;overflow:hidden}.flip-grid .tile:nth-child(5){background:#fff;transform:none!important}.flip-grid .flip-trigger{background:transparent;color:#1d1d1f;animation:none}.flip-grid .flip-trigger:not(.has-image){background:#fff;animation:gridBreath 2.8s ease-in-out infinite}.flip-grid .tile:nth-child(5)>img{animation:gridBreath 2.8s ease-in-out infinite}.settings .grid-slot-locked{border-style:solid;background:#f5f5f7;color:#8e8e93;cursor:default}.settings .grid-slot-locked span{font-size:10px;color:inherit}@media(prefers-reduced-motion:reduce){.flip-grid .flip-trigger:not(.has-image),.flip-grid .tile:nth-child(5)>img{animation:none}}.phone-page{padding:10px;gap:10px}@media(max-width:700px){.phone-page{padding:10px;gap:10px}}.drag-handle{flex:none;display:grid;place-items:center;width:20px;height:26px;color:#8e8e93;font-size:19px;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.drag-handle:active{cursor:grabbing}.component-drag-ghost{opacity:.45;background:#eef4ff}.component-drag-chosen{border-color:#0071e3;box-shadow:0 6px 18px #0071e326}.grid-slots .tile-editor{min-width:0}.grid-slots .tile-editor.selected .grid-slot{border-color:#0071e3;box-shadow:0 0 0 2px #0071e326}.grid-slots .tile-select{display:block;width:100%;margin:4px 0 0;padding:4px 1px;border:0;background:transparent;color:#06c;font-size:10px;text-align:center}.tile-link-editor{margin-top:18px;padding:14px;border:1px solid #dce8f8;border-radius:12px;background:#f8fbff}.tile-link-editor h3{margin:0 0 12px!important}.flip-grid .tile:nth-child(5),.flip-grid .flip-trigger:not(.has-image){background:transparent}.flip-grid{overflow:hidden;background:#fff}.flip-grid .grid-background{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:fill;z-index:0}.flip-list{position:absolute;display:grid;z-index:1;perspective:1000px}.flip-item{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;cursor:pointer;transition:transform var(--flip-half,.25s) ease-in-out,opacity var(--flip-half,.25s) ease-in-out;backface-visibility:hidden;transform-style:preserve-3d}.flip-item.is-empty{visibility:hidden}.flip-item img{width:var(--image-width);height:var(--image-height);object-fit:fill}.flip-grid[data-flip-direction=horizontal] .flip-item.flipping{transform:rotateY(90deg)}.flip-grid[data-flip-direction=vertical] .flip-item.flipping{transform:rotateX(90deg)}.flip-grid[data-flip-direction=none] .flip-item.flipping{opacity:0}.flip-button{position:absolute;z-index:2;border:0;background:transparent;padding:0;transform-origin:center;color:#fff}.flip-button img{width:auto;max-width:100%;height:auto}.flip-button.scale{animation:flipButtonScale 2s ease-in-out infinite}@keyframes flipButtonScale{50%{transform:scale(1.08)}}.flip-item-editor{border:1px solid #e5e5e9;border-radius:10px;padding:10px;margin:12px 0}.flip-item-editor>label{display:flex;align-items:center;gap:8px}.flip-item-editor input[type=checkbox]{width:auto;margin:0}.flip-image-entry{border-top:1px solid #eee;padding-top:7px}.flip-list{justify-content:space-between;align-content:space-between;perspective:none}.flip-item{width:100%;height:100%;display:block;cursor:pointer;transition:none;transform:none;transform-style:flat}.flip-face{position:absolute;inset:0;width:100%;height:100%;transition:transform var(--flip-duration,.5s) linear,opacity var(--flip-duration,.5s) linear;backface-visibility:visible}.flip-face img{display:block;width:100%!important;height:100%!important;object-fit:fill}.flip-item .face-a{opacity:1;transform:rotateY(0) translateZ(1px)}.flip-item .face-b{opacity:0;transform:rotateY(180deg) translateZ(0)}.flip-grid[data-flip-direction=horizontal] .flip-item.show-b .face-a{opacity:0;transform:rotateY(-180deg) translateZ(0)}.flip-grid[data-flip-direction=horizontal] .flip-item.show-b .face-b{opacity:1;transform:rotateY(0) translateZ(1px)}.flip-grid[data-flip-direction=vertical] .flip-item .face-b{transform:rotateX(180deg) translateZ(0)}.flip-grid[data-flip-direction=vertical] .flip-item.show-b .face-a{opacity:0;transform:rotateX(-180deg) translateZ(0)}.flip-grid[data-flip-direction=vertical] .flip-item.show-b .face-b{opacity:1;transform:rotateX(0) translateZ(1px)}.flip-grid[data-flip-direction=none] .flip-item .flip-face{transform:none!important}.flip-grid[data-flip-direction=none] .flip-item.show-b .face-a{opacity:0}.flip-grid[data-flip-direction=none] .flip-item.show-b .face-b{opacity:1}.flip-button.scale{animation-duration:.65s}.flip-button img{display:block;width:100%!important;max-width:none;height:auto}.admin-shell.project-open{display:block;height:100vh;min-height:0;overflow:hidden}.project-open .sidebar{display:none}.project-open .workspace{height:100vh;display:flex;flex-direction:column;min-width:0}.project-open .topbar{height:58px;min-height:58px;padding:7px 24px;background:#fff;box-shadow:0 1px 3px #1111}.project-open .topbar{height:82px;min-height:82px;padding:11px 24px;gap:20px}.project-open .topbar>div:first-child{min-width:0;flex:1}.project-open .builder-meta{height:18px;gap:12px}.project-open .builder-meta .eyebrow{font-size:10px;letter-spacing:.06em;color:#71809a;font-weight:700}.project-open .saved-time{font-size:10px;color:#9aa0aa}.project-heading-main{display:flex;align-items:center;gap:18px;min-width:0;margin-top:5px}.project-open .project-heading-main h1{font-size:17px;line-height:1.3;margin:0;max-width:min(520px,58vw);font-weight:700;color:#202938}.project-open .project-switch-label{flex:none;margin:0;padding-left:16px;border-left:1px solid #e5e8ed;gap:7px}.project-open .project-switch-label span{white-space:nowrap;font-size:10px;color:#8b93a0}.project-open .project-switch-label select{width:130px;max-width:130px;background:#f5f7fa;border:1px solid #e5eaf0;border-radius:6px;padding:5px 6px;color:#4b5565;font-size:10px;text-overflow:ellipsis}.project-open .top-actions{flex:none}.project-open .topbar-heading{display:flex;align-items:center;gap:16px;min-width:0}.project-open .topbar-project-info{min-width:0}.project-open .back-to-admin{flex:none;border:1px solid #dbe6f5;background:#f4f8ff;color:#1768c9;border-radius:7px;padding:9px 11px;font-size:11px;font-weight:700;white-space:nowrap}.project-open .back-to-admin:hover{background:#eaf2ff}.project-open .topbar h1{font-size:14px;margin:2px 0 0;max-width:430px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-open .builder-meta{font-size:10px}.project-switch-label{display:flex;align-items:center;gap:7px;color:#757b86;font-size:11px;margin-top:3px}.project-switch-label select{max-width:235px;border:0;background:#f3f4f6;color:#30343a;font-size:11px;border-radius:4px;padding:2px 5px}.project-open .top-actions{gap:8px}.project-open .top-actions button{border-radius:4px;padding:8px 12px;font-size:12px}.project-open .editor-grid{display:grid;flex:1;min-height:0;min-width:0;grid-template-columns:240px minmax(400px,1fr) minmax(360px,27%);gap:0;padding:0;overflow:hidden}.project-open .components-panel,.project-open .settings-panel{height:auto;min-height:0;overflow-y:auto;border:0;border-radius:0;box-shadow:none;padding:18px 16px;background:#fff}.project-open .components-panel{border-right:1px solid #e6e8ec}.project-open .settings-panel{border-left:1px solid #e6e8ec;padding:20px 18px}.project-open .project-settings{margin:0 0 16px;padding:0 0 12px;border-bottom:1px solid #eceef1}.project-open .project-settings summary{cursor:pointer;font-weight:600;font-size:12px;list-style:none;margin-bottom:0}.project-open .project-settings summary:before{content:"▸";margin-right:7px;color:#888}.project-open .project-settings[open] summary:before{content:"▾"}.project-open .project-settings[open] summary{margin-bottom:14px}.project-open .component-row{border:0;border-radius:4px;background:transparent;padding:9px 8px;font-size:12px}.project-open .component-row.selected{background:#eaf2ff;color:#1768d1}.project-open .preview-panel{display:block;height:auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:24px 12px 40px;background:#f2f3f5;border:0;border-radius:0;box-shadow:none}.project-open .preview-title{width:100%;max-width:375px;margin:0 auto 12px;color:#727783}.editor-device{width:375px;min-height:753px;margin:auto;background:#fff;box-shadow:0 2px 10px #1111;display:flex;flex-direction:column;overflow:visible}.editor-device-status{height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 30px;font-size:13px;font-weight:700;background:#f7f5f8}.editor-device-header{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;background:#f7f5f8;color:#51555d;font-size:14px}.editor-device-header span:first-child{font-size:30px;line-height:1}.project-open .editor-canvas.phone-page{width:790px;max-width:none;zoom:.4746835443;margin:0;min-height:0;flex:1 0 auto;background:#fff;border:0;box-shadow:none}.project-open .components-panel{position:relative}.component-palette{position:sticky;top:-18px;z-index:10;background:#fff;padding:18px 0 12px;margin:-18px 0 14px;border-bottom:1px solid #eceef1}.palette-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px;font-size:12px;font-weight:700;color:#30343a}.palette-title small{font-size:10px;font-weight:400;color:#8b9099}.component-palette .add-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.component-palette .add-menu button{padding:10px 5px;font-size:11px;text-align:center;cursor:grab;-webkit-user-select:none;user-select:none}.component-palette .add-menu button:active{cursor:grabbing}.project-open .editor-canvas .selected-component{outline:3px dashed #3980ff;outline-offset:5px;box-shadow:0 0 0 8px #3980ff12}.project-open .editor-canvas .editor-placeholder{height:200px;min-height:200px;display:grid;place-items:center;background:#ededf0;color:#c9ccd2}.project-open .editor-canvas .editor-placeholder svg{opacity:.9}.project-open .preview-panel{position:relative}.preview-panel.dragging-component .editor-canvas{background:#f7faff}.component-drop-placeholder{height:0;min-height:0;flex:0 0 auto;width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;opacity:0;border:0 dashed #3e83ff;border-radius:10px;background:#eaf2ff;color:#286ae3;font-size:17px;font-weight:700;transition:height .18s ease,opacity .18s ease,border-width .18s ease;pointer-events:none}.component-drop-placeholder.visible{height:130px;opacity:1;border-width:3px}.preview-panel.dragging-component .editor-canvas .component{transition:transform .18s ease}.confirm-dialog{border:0;border-radius:14px;padding:23px;width:min(90vw,360px);box-shadow:0 20px 70px #0003;color:#24272c}.confirm-dialog::backdrop{background:#1c273766}.confirm-dialog h2{font-size:18px;margin:0 0 10px}.confirm-dialog p{font-size:12px;line-height:1.6;color:#69707c;margin:0 0 23px}.confirm-dialog>div{display:flex;justify-content:flex-end;gap:9px}.confirm-dialog button{padding:9px 15px;font-size:12px;border-radius:8px}.confirm-delete{border:0;background:#d94e4e;color:#fff}.editor-device-home{height:66px;flex:none;display:grid;place-items:end center;padding-bottom:9px;background:#fafafa}.editor-device-home i{display:block;width:134px;height:5px;border-radius:99px;background:#101010}@media(max-width:1100px){.project-open .editor-grid{min-width:960px;grid-template-columns:210px minmax(390px,1fr) 360px}.project-open .workspace{overflow-x:auto}}.tab-carousel{width:100%;overflow:hidden;isolation:isolate}.tab-carousel .tab-background{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;z-index:0}.tab-content{position:absolute;z-index:1;overflow:hidden}.tab-slide{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;opacity:0;visibility:hidden;pointer-events:none;transition:transform var(--tab-duration,.5s) ease,opacity var(--tab-duration,.5s) ease,visibility 0s linear var(--tab-duration,.5s)}.tab-slide img{width:100%;height:100%;object-fit:fill}.tab-slide.active{opacity:1;visibility:visible;pointer-events:auto;transform:translate(0);z-index:2;transition:transform var(--tab-duration,.5s) ease,opacity var(--tab-duration,.5s) ease}.tab-carousel[data-effect=horizontal] .tab-slide{transform:translate(100%)}.tab-carousel[data-effect=horizontal] .tab-slide.leaving{transform:translate(-100%);visibility:visible;opacity:1;z-index:1}.tab-carousel[data-effect=horizontal] .tab-slide.active{transform:translate(0)}.tab-carousel[data-effect=vertical] .tab-slide{transform:translateY(100%)}.tab-carousel[data-effect=vertical] .tab-slide.leaving{transform:translateY(-100%);visibility:visible;opacity:1;z-index:1}.tab-carousel[data-effect=vertical] .tab-slide.active{transform:translateY(0)}.tab-carousel[data-effect=fade] .tab-slide{transform:none}.tab-carousel[data-effect=fade] .tab-slide.leaving{visibility:visible;opacity:0;z-index:1}.tab-thumbnails{position:absolute;z-index:15;display:flex;overflow:auto;scrollbar-width:none;align-items:flex-start}.tab-thumbnails::-webkit-scrollbar{display:none}.tab-thumbnails.horizontal{flex-direction:row;gap:var(--thumb-gap)}.tab-thumbnails.vertical{flex-direction:column;gap:var(--thumb-gap)}.tab-thumb{position:relative;flex:none;width:var(--thumb-width);height:var(--thumb-height);padding:0;border:0;background:transparent;color:#444;overflow:hidden}.tab-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}.tab-thumb .thumb-selected{display:none}.tab-thumb.active .thumb-selected{display:block}.tab-thumb.active .thumb-unselected{display:none}.tab-thumb span{display:grid;place-items:center;width:100%;height:100%;background:#fff;border-radius:99px;font-size:18px}.tab-thumb.active span{background:#ffdb2a;font-weight:700}.tab-carousel>.hotspot{z-index:20}.tab-slide .hotspot{z-index:3}.tab-editor h4{font-size:11px;margin:13px 0 5px;color:#515965}.tab-order{display:inline-flex;float:right;gap:5px}.tab-order button{border:0;background:transparent;color:#66707f;font-size:12px}.tab-order button:disabled{opacity:.35}.tab-editor>strong{font-size:12px}.tab-asset-field{margin:16px 0}.tab-asset-title{font-size:12px;color:#1d1d1f}.tab-asset-field .hint{font-size:11px;margin:3px 0 7px}.tab-asset-preview{position:relative;width:100%;border-radius:5px;overflow:hidden;background:#f2f2f2}.tab-asset-preview img{display:block;width:100%;height:auto}.tab-asset-preview button{position:absolute;right:7px;top:7px;width:26px;height:26px;border:0;border-radius:50%;background:#0009;color:#fff;cursor:pointer;font-size:19px;line-height:1}.tab-hotspot-controls{margin:8px 0 18px}.tab-hotspot-controls small{display:block;margin-bottom:5px;color:#555}.tab-hotspot-controls .drawing{background:#e8f2ff;border-color:#0071e3}.tab-carousel{background:transparent}.tab-carousel .tab-content.editing-hotspots{z-index:25}.tab-carousel>.hotspot-layer.draw-mode{z-index:30}.tab-thumb .thumb-unselected{filter:grayscale(1);opacity:.6}.phone-page .component{border-radius:var(--component-radius,10px)!important}.phone-page .component,.phone-page .component *{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.phone-page .component img{-webkit-user-drag:none;user-drag:none}.tab-carousel .tab-slide{transition:none}.tab-carousel .tab-slide.active,.tab-carousel .tab-slide.leaving{transition:transform var(--tab-duration,.5s) ease,opacity var(--tab-duration,.5s) ease}.phone-page{position:relative;background:#fff}.public-page{min-height:100vh}@media(min-width:768px){.public-page{width:677px;padding:0}}.public-page .public-banner-spacer{width:100%;aspect-ratio:1206/305;flex:none;margin-bottom:-10px}.public-page .public-banner{position:fixed;top:var(--preview-toolbar-height,0px);left:50%;transform:translate(-50%);width:min(100vw,677px);aspect-ratio:1206/305;z-index:60;overflow:hidden;background:#e9ecef}.public-page .public-banner img{display:block;width:100%;height:100%;object-fit:contain}.public-page .public-banner.is-pending img{opacity:0}.public-page .public-banner.is-revealing img{animation:componentContentReveal .42s ease-out both}.public-page .public-banner.is-pending:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.24) 50%,transparent 68%);transform:translate(-100%);animation:componentSkeletonSweep 1.5s linear infinite}@media(max-width:767px){.public-page .public-banner-spacer{width:calc(100% + 20px);margin:-10px}}@keyframes componentSkeletonSweep{0%{transform:translate(-100%)}to{transform:translate(100%)}}.phone-page .component.is-pending{background:#edf0f2!important}.phone-page .component.is-pending>:not(.component-skeleton){opacity:0!important}.component-skeleton{position:absolute;inset:0;z-index:30;pointer-events:none;overflow:hidden;border-radius:inherit;background:#edf0f2;transition:opacity .32s ease}.component-skeleton:after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(115deg,transparent 32%,rgba(255,255,255,.24) 50%,transparent 68%);transform:translate(-100%);animation:componentSkeletonSweep 1.5s linear infinite}.skeleton-shape{position:absolute;display:block;border-radius:6px;background:#dce2e6}.tab-carousel .skeleton-shape:first-child{background:#e4e9ec}.tab-carousel .skeleton-shape:not(:first-child){border-radius:999px;background:#d7dee3}.flip-grid .skeleton-shape{border-radius:8px}.phone-page .component.is-revealing>:not(.component-skeleton){animation:componentContentReveal .36s ease-out both}.phone-page .component.is-revealing>.component-skeleton{opacity:0}@keyframes componentContentReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.component-skeleton:after,.public-page .public-banner.is-pending:after,.phone-page .component.is-revealing>:not(.component-skeleton),.public-page .public-banner.is-revealing img{animation:none}.component-skeleton{transition:none}}.component{background:#fff}.component.poster.is-pending{aspect-ratio:var(--poster-aspect,718/917)}.component.carousel.is-pending{aspect-ratio:var(--carousel-aspect,750/450)}.poster[style*=aspect-ratio]>img{width:100%;height:100%;object-fit:fill}.component.carousel.is-pending{aspect-ratio:auto}
