@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/8d697b304b401681-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/ba015fad6dcf6784-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/4cf2300e9c8272f7-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Fallback;src:local("Arial");ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.00%;size-adjust:104.76%}.__className_188709{font-family:Geist,Geist Fallback;font-style:normal}.__variable_188709{--font-geist-sans:"Geist","Geist Fallback"}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/9610d9e46709d722-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/747892c23ea88013-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/93f479601ee12b01-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Geist Mono Fallback;src:local("Arial");ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.00%;size-adjust:134.59%}.__className_9a8899{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.__variable_9a8899{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}*{box-sizing:border-box}body,html{margin:0;padding:0;font-family:Arial,Helvetica,sans-serif;background:#111827;color:#f8fafc}button,input,select,textarea{font-family:inherit}button{border:none;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}.app-shell{min-height:100vh;display:grid;grid-template-columns:280px 1fr 310px;background:#111827}.left-sidebar,.right-sidebar{background:#020617;padding:20px;border-color:#1e293b}.left-sidebar{border-right:1px solid #1e293b}.left-sidebar,.right-sidebar{overflow-y:auto;max-height:100vh}.right-sidebar{border-left:1px solid #1e293b}.left-sidebar h2,.right-sidebar h3{margin-top:0}.hidden-input{display:none}.tool-section{margin-top:28px}.section-title{font-size:12px;text-transform:uppercase;color:#94a3b8;letter-spacing:.08em;margin-bottom:10px}.tool-section button{width:100%;display:block;margin-bottom:10px;padding:12px;border-radius:12px;background:#1e293b;color:#f8fafc;text-align:left}.tool-section button:hover{background:#334155}.ai-prompt{width:100%;min-height:86px;padding:10px;border-radius:12px;color:#f8fafc;resize:vertical;margin-bottom:10px}.ai-prompt,.ai-result{border:1px solid #334155;background:#0f172a}.ai-result{margin-top:12px;padding:12px;border-radius:12px;color:#cbd5e1;white-space:pre-wrap;font-size:12px;line-height:1.45}.workspace{display:flex;flex-direction:column;min-width:0}.topbar{min-height:72px;padding:12px 24px;border-bottom:1px solid #1e293b;display:flex;align-items:center;justify-content:space-between;gap:16px;background:#0f172a}.topbar>div:first-child{display:flex;flex-direction:column;gap:4px}.topbar span{color:#94a3b8;font-size:13px}.topbar-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}.topbar-actions button{padding:10px 12px;border-radius:10px;background:#1e293b;color:#f8fafc;font-weight:700}.topbar-actions button:hover{background:#334155}.export-button{background:#7c3aed!important;color:white!important}.canvas-area{flex:1 1;display:grid;place-items:center;overflow:auto;padding:40px;background:radial-gradient(circle at top,rgba(124,58,237,.15),transparent 35%),#111827}.konva-frame{background:white;border-radius:18px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.35)}.empty-state{color:#94a3b8;line-height:1.5;font-size:14px}.right-sidebar label{display:block;margin-bottom:16px;color:#cbd5e1;font-size:14px}.right-sidebar input,.right-sidebar select,.right-sidebar textarea{width:100%;margin-top:8px;padding:10px;border-radius:10px;border:1px solid #334155;background:#0f172a;color:#f8fafc}.right-sidebar textarea{min-height:90px;resize:vertical}.right-sidebar input[type=color]{height:44px;padding:4px}.right-sidebar input[type=range]{padding:0}.checkbox-row{display:flex!important;align-items:center;gap:10px;margin-bottom:10px!important}.checkbox-row input{width:auto!important;margin:0!important}.range-value{display:inline-block;margin-top:6px;color:#94a3b8;font-size:13px}.canvas-settings{padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid #1e293b}.property-actions{display:grid;gap:8px;margin-bottom:18px}.property-actions button{padding:10px;border-radius:10px;background:#1e293b;color:#f8fafc;text-align:left}.property-actions button:hover{background:#334155}.align-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.align-grid button{padding:9px;border-radius:10px;background:#1e293b;color:#f8fafc;font-size:12px}.align-grid button:hover{background:#334155}.text-style-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.text-style-row button{padding:10px;border-radius:10px;background:#1e293b;color:#f8fafc;font-weight:900}.active-small-button{background:#7c3aed!important}.layer-list{display:grid;gap:8px}.layer-item{width:100%;padding:10px;border-radius:10px;background:#0f172a;color:#cbd5e1;text-align:left;border:1px solid #1e293b;font-size:13px}.active-layer,.layer-item:hover{background:#1e293b}.active-layer{border-color:#f97316;color:#ffffff}.danger-button{width:100%;margin-top:14px;padding:12px;border-radius:12px;background:#dc2626;color:white;font-weight:700}.danger-button:hover{background:#b91c1c}.shortcut-hint{margin-top:14px;color:#94a3b8;font-size:13px;line-height:1.5}@media (max-width:1100px){.app-shell{grid-template-columns:240px 1fr}.right-sidebar{display:none}}.save-status-bar{min-height:38px;padding:8px 24px;background:#020617;border-bottom:1px solid #1e293b;display:flex;align-items:center;justify-content:space-between;gap:16px;color:#94a3b8;font-size:13px}.save-status-bar span:first-child{color:#f8fafc;font-weight:700}.topbar-project-info{min-width:220px}.project-name-input{width:260px;padding:8px 10px;border-radius:10px;border:1px solid #334155;background:#020617;color:#f8fafc;font-weight:700;font-size:15px}.section-header-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.tiny-button{width:auto!important;padding:6px 8px!important;margin-bottom:8px!important;border-radius:8px!important;font-size:11px}.project-list{display:grid;gap:8px}.project-card{grid-template-columns:1fr 36px}.project-load-button{padding:10px!important;margin:0!important;border-radius:10px!important;background:#0f172a!important;border:1px solid #1e293b!important;color:#f8fafc!important}.project-load-button span{display:block;font-size:13px;font-weight:700}.project-load-button small{display:block;margin-top:4px;color:#94a3b8;font-size:11px}.project-delete-button{padding:0!important;margin:0!important;border-radius:10px!important;background:#7f1d1d!important;color:white!important;font-size:20px;line-height:1;text-align:center!important}.project-delete-button:hover{background:#b91c1c!important}.active-project-card .project-load-button{border-color:#f97316!important;background:#1e293b!important}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at top,rgba(124,58,237,.22),transparent 35%),#020617}.auth-card{width:100%;max-width:430px;padding:28px;border-radius:24px;background:#0f172a;border:1px solid #1e293b;box-shadow:0 30px 100px rgba(0,0,0,.35)}.auth-brand h1{margin:0;font-size:36px}.auth-brand p{margin:8px 0 0;color:#94a3b8}.auth-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:24px}.auth-tabs button{padding:12px;border-radius:12px;background:#1e293b;color:#f8fafc;font-weight:700}.active-auth-tab{background:#7c3aed!important}.auth-form{margin-top:20px;display:grid;gap:14px}.auth-form label{color:#cbd5e1;font-size:14px}.auth-form input{width:100%;margin-top:8px;padding:12px;border-radius:12px;border:1px solid #334155;background:#020617;color:#f8fafc}.auth-submit-button{margin-top:8px;padding:13px;border-radius:12px;background:#7c3aed;color:white;font-weight:800}.auth-status{margin:16px 0 0;color:#facc15;font-size:14px}.auth-hint{margin:18px 0 0;color:#94a3b8;font-size:13px;line-height:1.5}.user-badge{padding:9px 10px;border-radius:999px;background:#020617;border:1px solid #334155;color:#cbd5e1;font-size:13px}.logout-button{background:#7f1d1d!important}.logout-button:hover{background:#b91c1c!important}.primary-sidebar-button{background:#7c3aed!important;color:#ffffff!important;font-weight:800}.project-card{grid-template-columns:1fr 34px;align-items:stretch}.project-card,.project-card-actions{display:grid;gap:6px}.project-thumbnail{width:100%;height:82px;margin-bottom:9px;border-radius:9px;overflow:hidden;background:#020617;border:1px solid #1e293b;display:grid;place-items:center;color:#64748b;font-size:11px}.project-thumbnail img{width:100%;height:100%;object-fit:cover}.project-mini-action{width:34px!important;height:34px;padding:0!important;margin:0!important;border-radius:10px!important;background:#1e293b!important;color:#f8fafc!important;font-size:16px;text-align:center!important}.project-mini-action:hover{background:#334155!important}.project-delete-button{width:34px!important;height:34px}