:root{color-scheme:light;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color:#1f2933;background-color:#f5f5f5}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%;background-color:#f5f5f5}body{display:flex;flex-direction:column}#root{min-height:100vh}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}.app{min-height:100vh;display:flex;flex-direction:column}.app-header{background:#ffffff;border-bottom:1px solid #d0d7df}.header-inner{max-width:960px;margin:0 auto;padding:16px;display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between}.brand{font-weight:600;font-size:18px;display:flex;align-items:center;gap:12px}.brand-icon{font-size:24px}.brand-info{display:flex;flex-direction:column;gap:2px}.brand-title{margin:0;font-size:14px;letter-spacing:.08em;text-transform:uppercase}.brand-subtitle{margin:0;font-size:12px;color:#617083}.nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.nav-button{padding:6px 12px;border:1px solid #cbd2da;background:#ffffff;border-radius:4px}.nav-button--active{background:#e5ecf6}.app-main{flex:1}.page-wrapper{width:100%;max-width:960px;margin:0 auto;padding:16px;display:flex;flex-direction:column;gap:16px}.panel{background:#ffffff;border:1px solid #d0d7df;border-radius:6px;padding:16px}.panel-header{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.panel-header h1,.panel-header h2,.panel-header h3{margin:0}.panel-text{margin:0;font-size:14px;color:#536172}.panel-actions{display:flex;flex-wrap:wrap;gap:12px}.status-message{margin:0;padding:12px;border-radius:4px;background:#f1f5f9;border:1px solid #d0d7df;font-size:14px}.status-message.info{background:#e8f2ff;border-color:#c1d6f7}.status-message.error{background:#fde8e8;border-color:#f4b4b4}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #cbd2da;background:#ffffff;border-radius:4px;padding:6px 12px;font-size:14px;text-decoration:none}.btn-primary{background:#2563eb;border-color:#2563eb;color:#fff}.btn-secondary{background:#e5ecf6;border-color:#cbd2da}.btn-ghost{border:none;background:transparent;color:#2563eb}.btn-subtle{background:#f5f7fa;border-color:#d0d7df}.btn-destructive{background:#dc2626;border-color:#dc2626;color:#fff}.form-label{display:flex;flex-direction:column;gap:6px;font-size:14px}.form-input,.form-select,.form-file,.form-color{padding:8px;border:1px solid #cbd2da;border-radius:4px;font-size:14px}.form-checkbox{width:16px;height:16px}.template-grid{display:grid;gap:16px}@media (min-width: 720px){.template-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.template-card{border:1px solid #d0d7df;border-radius:6px;background:#ffffff;display:flex;flex-direction:column;overflow:hidden;position:relative}.template-card:focus-visible,.template-card:hover{outline:2px solid #2563eb}.template-preview{width:100%;aspect-ratio:4 / 3;background:#f1f5f9;display:flex;align-items:center;justify-content:center}.template-preview img{width:100%;height:100%;object-fit:cover}.template-preview-placeholder{font-size:14px;color:#617083}.template-body{padding:12px;display:flex;flex-direction:column;gap:6px}.template-card__menu{position:absolute;top:8px;right:8px;display:flex;align-items:center;justify-content:center}.template-card__menu-button{width:32px;height:32px;border-radius:16px;border:1px solid transparent;background:rgba(255,255,255,.9);color:#334155;display:inline-flex;align-items:center;justify-content:center;font-size:18px;line-height:1;transition:background-color .2s ease,border-color .2s ease,color .2s ease}.template-card__menu-button:hover,.template-card__menu-button:focus-visible{background:#e5ecf6;border-color:#cbd2da;color:#1f2937;outline:none}.template-card__dropdown{position:absolute;top:44px;right:0;min-width:160px;background:#ffffff;border:1px solid #d0d7df;border-radius:6px;box-shadow:0 10px 25px #0f172a1f;padding:4px;display:flex;flex-direction:column;gap:4px;z-index:10}.template-card__dropdown-item{border:none;background:transparent;padding:8px 12px;border-radius:4px;font-size:14px;text-align:left;color:#1f2933}.template-card__dropdown-item:hover,.template-card__dropdown-item:focus-visible{background:#f1f5f9;outline:none}.template-card__dropdown-item--destructive{color:#b91c1c}.template-card__dropdown-item--destructive:hover,.template-card__dropdown-item--destructive:focus-visible{background:#fee2e2;color:#991b1b}.template-body h3{margin:0;font-size:16px}.template-body p{margin:0;font-size:14px;color:#536172}.template-body .placeholder{font-style:italic;color:#8691a1}.canvas-scroll-container{position:relative;width:100%;max-width:100%;border:1px solid #cbd2da;background:#ffffff;border-radius:6px;margin:16px 0;overflow:auto;min-height:400px;max-height:520px}.canvas-scroll-container .canvas-container{min-width:800px;min-height:600px}.canvas-surface{display:block;background:#ffffff;border-radius:6px}.canvas-surface.upper-canvas{background:transparent}.canvas-tooltip{position:absolute;padding:4px 8px;font-size:12px;background:#1f2933;color:#fff;border-radius:4px;pointer-events:none;display:none}.layer-list{display:flex;flex-wrap:wrap;gap:8px}.layer-button{padding:6px 12px;border-radius:4px;background:#f5f7fa;border:1px solid #d0d7df;display:inline-flex;align-items:center}.layer-button--active{background:#2563eb;border-color:#2563eb;color:#fff}.layer-button__content{display:inline-flex;align-items:center;gap:6px}.layer-lock-icon{font-size:14px;color:currentColor}.bottom-bar{margin-top:16px;background:#ffffff;border:1px solid #d0d7df;border-radius:6px;padding:16px}.bottom-bar-header{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-bottom:8px}.bottom-bar-hint{font-size:13px;color:#536172;display:flex;gap:4px}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,23,42,.4);display:flex;align-items:center;justify-content:center;padding:16px;z-index:100}.modal-panel{width:100%;max-width:360px;background:#ffffff;border-radius:6px;border:1px solid #d0d7df;padding:20px;display:flex;flex-direction:column;gap:16px}.modal-header{display:flex;flex-direction:column;gap:8px}.modal-header h3{margin:0}.modal-subtitle{margin:0;font-size:14px;color:#536172}.modal-body{display:flex;flex-direction:column;gap:12px}.modal-actions{display:flex;justify-content:flex-end;gap:12px}@media (min-width: 960px){.section-grid{display:grid;gap:16px;grid-template-columns:1fr 1fr 1fr}.section-grid .span-2{grid-column:span 2}}.section-grid{display:grid;gap:16px}
