.app-shell{display:flex;flex-direction:column;min-height:100vh;background:#faf9f5}.app-body{flex:1;display:flex;min-height:0}.app-sidebar{width:220px;flex-shrink:0;background:#fff;border-right:2px solid #141413;display:flex;flex-direction:column}.sidebar-title{height:48px;display:flex;align-items:center;padding:0 24px;border-bottom:1px solid #E8E6DC;flex-shrink:0;font-size:16px;font-weight:800;color:#141413}.sidebar-nav{flex:1;padding:12px 0}.nav-item{display:flex;align-items:center;gap:10px;padding:10px 24px;font-size:14px;font-weight:500;color:#141413;text-decoration:none;cursor:pointer;border-left:3px solid transparent;transition:background .1s;background:none;border-top:none;border-right:none;border-bottom:none;width:100%;text-align:left;font-family:Space Grotesk,sans-serif}.nav-item:hover{background:#faf9f5}.nav-item.active{font-weight:700;color:#d97757;background:#fef0e7;border-left-color:#d97757}.nav-item .material-icons{font-size:18px}.app-main{flex:1;overflow-y:auto;overflow-x:hidden;padding:32px;min-height:0}.mobile-scroll-content{padding:0}.app-bottom-nav{display:none}.mobile-appbar{display:none;height:52px;background:#fff;border-bottom:1px solid #E8E5E0;align-items:center;padding:0 12px;gap:8px;flex-shrink:0;position:sticky;top:0;z-index:10}.mobile-appbar-title{font-size:16px;font-weight:800;line-height:1.2}.mobile-appbar-sub{font-size:12px;color:#6b6257;margin-top:1px}.mobile-appbar-back{background:none;border:none;padding:4px;cursor:pointer;display:flex;align-items:center;color:#141413}@media(max-width:768px){.app-sidebar{display:none!important}bs-header{display:none!important}.app-main{padding:0 0 80px!important;overflow-y:auto!important}.mobile-scroll-content{padding:16px 16px 0!important}.mobile-appbar{display:flex!important}.app-bottom-nav{display:flex!important;position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:2px solid #141413;z-index:50}.bottom-nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;font-size:10px;font-weight:700;letter-spacing:.3px;color:#b0aea5;min-height:56px;cursor:pointer;border-top:2px solid transparent;background:none;border-left:none;border-right:none;border-bottom:none;font-family:Space Grotesk,sans-serif}.bottom-nav-item.active{color:#d97757;border-top-color:#d97757}.bottom-nav-item .material-icons{font-size:20px;margin-bottom:2px}.result-header{flex-direction:column!important;align-items:flex-start!important;gap:12px!important}.btn-copy{width:100%!important;justify-content:center!important}.preview-wrap{height:380px!important}}.page-content{max-width:640px;width:100%;margin:0 auto}.page-content-wide{max-width:900px;width:100%;margin:0 auto}.page-heading{margin-bottom:24px}.page-heading h1{font-size:22px;font-weight:800;margin-bottom:4px}.page-heading p{font-size:13px;color:#666}.page-heading p strong{color:#141413}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.section-title{font-size:17px;font-weight:800}.form-card{background:#fff;border:1px solid #141413;box-shadow:3px 3px #141413;padding:20px 24px;margin-bottom:12px}.form-label{display:block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.form-label .hint{font-weight:400;color:#999;text-transform:none;letter-spacing:0;font-size:11px}.bs-input-field{width:100%;border:1px solid #141413;background:#faf9f5;padding:10px 12px;font-family:Space Grotesk,sans-serif;font-size:14px;color:#141413;outline:none;border-radius:2px;box-sizing:border-box}textarea.bs-input-field{min-height:80px;resize:vertical}.char-count{font-size:11px;color:#999;text-align:right;margin-top:4px}.upload-preview{display:flex;align-items:center;gap:12px}.upload-thumb{width:72px;height:72px;object-fit:cover;border:1px solid #141413;border-radius:2px;background:#e5e7eb;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.upload-thumb img{width:100%;height:100%;object-fit:cover}.upload-thumb .material-icons{font-size:28px;color:#ccc}.upload-dashed{border:2px dashed #C5C2BA;background:#faf9f5;padding:24px;text-align:center;cursor:pointer;border-radius:2px}.upload-dashed .material-icons{font-size:30px;color:#ccc;display:block;margin-bottom:6px}.upload-dashed-text{font-size:13px;font-weight:600;color:#666;margin-bottom:2px}.upload-dashed-sub{font-size:11px;color:#999}.btn-remove{padding:6px 12px;font-size:11px;font-weight:700;border:1px solid #141413;background:#fff;cursor:pointer;border-radius:2px;font-family:Space Grotesk,sans-serif}.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.option-btn{padding:12px 14px;text-align:left;border:1.5px solid #E5E7EB;background:#fff;cursor:pointer;border-radius:2px;transition:border-color .1s;font-family:Space Grotesk,sans-serif}.option-btn:hover{border-color:#b0aea5}.option-btn.sel{border:2px solid #141413;background:#141413;color:#fff;box-shadow:2px 2px #d97757}.option-name{font-size:13px;font-weight:700;margin-bottom:2px}.option-desc{font-size:11px;opacity:.65;line-height:1.4}.color-grid{display:flex;flex-wrap:wrap;gap:8px}.color-btn{display:flex;align-items:center;gap:8px;padding:7px 12px;border:1.5px solid #E5E7EB;background:#fff;font-size:12px;font-weight:600;cursor:pointer;border-radius:2px;font-family:Space Grotesk,sans-serif}.color-btn.sel{border:2px solid #141413;background:#141413;color:#fff}.swatch{width:12px;height:12px;border-radius:50%;flex-shrink:0;border:1px solid rgba(0,0,0,.12)}.btn-generate{width:100%;padding:14px;font-size:15px;font-weight:700;font-family:Space Grotesk,sans-serif;background:#d97757;color:#fff;border:2px solid #141413;box-shadow:4px 4px #141413;cursor:pointer;border-radius:2px;margin-top:8px}.btn-generate:disabled{opacity:.6;cursor:not-allowed}.bs-btn-sm{padding:7px 14px;font-size:12px;font-weight:700;font-family:Space Grotesk,sans-serif;background:#fff;color:#141413;border:1px solid #141413;box-shadow:2px 2px #141413;cursor:pointer;border-radius:2px}.bs-btn-sm-primary{padding:7px 14px;font-size:12px;font-weight:700;font-family:Space Grotesk,sans-serif;background:#d97757;color:#fff;border:1.5px solid #141413;box-shadow:2px 2px #141413;cursor:pointer;border-radius:2px}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.result-header h1{font-size:20px;font-weight:800}.result-header p{font-size:12px;color:#999;margin-top:2px}.btn-copy{display:flex;align-items:center;gap:8px;padding:10px 18px;font-size:13px;font-weight:700;font-family:Space Grotesk,sans-serif;background:#141413;color:#fff;border:2px solid #141413;box-shadow:3px 3px #d97757;cursor:pointer;border-radius:2px;white-space:nowrap;flex-shrink:0}.btn-copy .material-icons{font-size:16px}.info-bar{background:#fff5ef;border:1px solid #141413;padding:10px 14px;font-size:12px;color:#666;margin-bottom:14px}.preview-wrap{border:2px solid #141413;box-shadow:5px 5px #141413;height:520px;overflow:hidden}.preview-wrap iframe{width:100%;height:100%;border:none}.loading-card{background:#fff;border:1px solid #141413;box-shadow:3px 3px #141413;padding:56px 32px;text-align:center}.loading-card h2{font-size:18px;font-weight:800;margin-bottom:8px}.loading-card p{font-size:13px;color:#666;margin-bottom:4px}.loading-card small{font-size:11px;color:#999}.progress-bar{height:4px;background:#e5e7eb;border:1px solid #141413;margin:20px auto 0;max-width:200px;overflow:hidden}.progress-fill{height:100%;background:#d97757;width:45%;animation:prog 1.8s ease-in-out infinite alternate}@keyframes prog{0%{width:15%}to{width:80%}}.history-wrap{background:#fff;border:1px solid #141413;box-shadow:3px 3px #141413;overflow:hidden}.history-item{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #F3F4F6;cursor:pointer}.history-item:last-child{border-bottom:none}.history-item:hover{background:#faf9f5}.history-name{font-size:14px;font-weight:700;margin-bottom:4px}.history-meta{font-size:12px;color:#999;line-height:1.6}.history-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.chip-done{font-size:10px;font-weight:700;color:#166534;background:#dcfce7;padding:3px 8px;border-radius:2px}.chip-process{font-size:10px;font-weight:700;color:#92400e;background:#fef3c7;padding:3px 8px;border-radius:2px}.chip-fail{font-size:10px;font-weight:700;color:#991b1b;background:#fee2e2;padding:3px 8px;border-radius:2px}.arrow{color:#b0aea5;font-size:20px}.error-bar{background:#fee2e2;border:1px solid #141413;padding:12px 16px;margin-bottom:12px;font-size:13px;color:#991b1b}
