@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500&family=Noto+Sans+JP:wght@300;400;500&display=swap";:root,[data-theme=light]{--bg-dark:#fcfdfd;--bg-panel:#fff;--border-color:#e5e7eb;--primary:#c5a059;--primary-hover:#b08d4b;--primary-text:#fff;--text-main:#2c3338;--text-muted:#838e96;--accent:#76705d;--bg-secondary:#f4f5f6;--shadow-color:#0000000a;--item-bg:#fff;--item-border:#f0f0f0;--hover-bg:#f9f9f9;--phone-hardware:#2c3338;--phone-hardware-border:#1a1f24;--phone-inner-edge:#cbd5e1;--font-weight-label:400;--locked-row-bg:#f3f4f6;--locked-row-bg-alt:#e5e7eb}[data-theme=dark]{--bg-dark:#000;--bg-panel:#0b0f19;--border-color:#1e293b;--primary:#76705d;--primary-hover:#8a836d;--primary-text:#fff;--text-main:#f8fafc;--text-muted:#94a3b8;--accent:#76705d;--bg-secondary:#0f1623;--shadow-color:#0006;--item-bg:#162032;--item-border:#1e293b;--hover-bg:#1e2b41;--phone-hardware:#080c14;--phone-hardware-border:#1a2538;--phone-inner-edge:#1e293b;--font-weight-label:400;--locked-row-bg:#ffffff08;--locked-row-bg-alt:#ffffff0f}*{box-sizing:border-box}body{background-color:var(--bg-dark);color:var(--text-main);letter-spacing:.03em;height:100vh;margin:0;padding:0;font-family:Inter,Noto Sans JP,sans-serif;font-weight:300;transition:background-color .3s,color .3s;overflow:hidden}h1,h2,h3,h4,h5,h6{font-weight:400}input,select{color:var(--text-main)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}#root{height:100%}.generator-layout{width:100%;height:100vh;display:flex;overflow:hidden}.sidebar{background-color:var(--bg-panel);border-right:1px solid var(--border-color);flex-direction:column;width:450px;height:100%;transition:background-color .3s,border-color .3s;display:flex}.sidebar-header{border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.sidebar-header h1{background:linear-gradient(90deg,#8b5cf6,#f59e0b);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin:0;font-family:Outfit,sans-serif;font-size:1.2rem;font-weight:500}.sidebar-content{flex:1;padding:20px;overflow-y:auto}.sidebar-footer{border-top:1px solid var(--border-color);padding:20px}.preview-area{background-color:var(--bg-secondary);flex:1;justify-content:center;align-items:center;transition:background-color .3s;display:flex;position:relative;overflow:hidden}.glass-panel{-webkit-backdrop-filter:blur(10px);background:#ffffff08;border:1px solid #ffffff0d;border-radius:16px}[data-theme=light] .glass-panel{box-shadow:0 4px 20px var(--shadow-color);background:#ffffffb3;border:1px solid #ffffff80}.upload-zone{border:1px dashed var(--border-color);text-align:center;cursor:pointer;background-color:var(--item-bg);border-radius:12px;margin-bottom:20px;padding:24px;transition:all .3s}.upload-zone:hover{border-color:var(--primary);background-color:#7c3aed0d;transform:translateY(-2px)}.slide-item{background-color:var(--item-bg);cursor:grab;border:1px solid var(--border-color);box-shadow:0 2px 8px var(--shadow-color);border-radius:12px;align-items:center;margin-bottom:12px;padding:12px;transition:all .2s;display:flex}.slide-item:active{cursor:grabbing}.slide-item:hover{border-color:var(--primary);transform:translateY(-1px)}.slide-thumb{object-fit:cover;background:var(--bg-dark);border-radius:8px;width:45px;height:80px;margin:0 16px}.slide-info{flex-direction:column;flex:1;gap:8px;display:flex}.slide-info input{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-main);border-radius:6px;outline:none;padding:8px 12px;font-family:inherit;font-size:13px;font-weight:300;transition:border-color .2s}.slide-info input:focus{border-color:var(--primary)}.delete-btn{color:#ef4444;cursor:pointer;background:0 0;border:none;border-radius:50%;padding:8px;transition:background-color .2s}.delete-btn:hover{background-color:#ef44441a}.btn-primary{background:linear-gradient(135deg, var(--primary), var(--primary-hover));width:100%;color:var(--primary-text);cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:14px;font-weight:500;transition:all .3s;display:flex;box-shadow:0 4px 12px #00000026}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #00000040}.phone-preview{background:var(--phone-hardware);border:12px solid var(--phone-hardware-border);border-radius:44px;flex-direction:column;width:375px;height:667px;transition:border-color .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 25px 50px -12px #00000080}.preview-image-container{-webkit-user-select:none;user-select:none;background-color:#000;width:100%;height:100%;position:relative;overflow-y:auto}.preview-image-container img{width:100%;display:block}.link-box{border:2px solid var(--accent);cursor:move;background:#f59e0b26;border-radius:4px;flex-direction:column;display:flex;position:absolute;box-shadow:0 0 0 1px #0000001a}.link-box-delete{color:#fff;cursor:pointer;background:#ef4444;border:none;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:14px;transition:transform .1s;display:flex;position:absolute;top:-12px;right:-12px;box-shadow:0 2px 4px #0003}.link-box-delete:hover{transform:scale(1.1)}.link-box-input{background:var(--bg-panel);border:1px solid var(--border-color);width:160px;color:var(--text-main);box-shadow:0 2px 8px var(--shadow-color);border-radius:6px;outline:none;padding:6px 8px;font-size:11px;position:absolute;bottom:-32px;left:0}.link-box-input:focus{border-color:var(--primary)}@keyframes slide-horiz-fixed{0%,25%{transform:translate(0%)}33.33%,58.33%{transform:translate(-33.3333%)}66.66%,91.66%{transform:translate(-66.6666%)}to{transform:translate(0%)}}@keyframes slide-vert-fixed{0%,25%{transform:translateY(0%)}33.33%,58.33%{transform:translateY(-33.3333%)}66.66%,91.66%{transform:translateY(-66.6666%)}to{transform:translateY(0%)}}.showcase-track-h{flex-direction:row!important;width:300%!important;height:100%!important;animation:10s cubic-bezier(.65,0,.35,1) infinite slide-horiz-fixed!important;display:flex!important}.showcase-track-v{flex-direction:column!important;width:100%!important;height:300%!important;animation:10s cubic-bezier(.65,0,.35,1) infinite slide-vert-fixed!important;display:flex!important}.showcase-slide{color:#fff!important;text-align:left!important;box-sizing:border-box!important;flex-direction:column!important;flex:0 0 33.3333%!important;justify-content:flex-end!important;width:33.3333%!important;height:100%!important;padding:20px 20px 38px!important;display:flex!important;position:relative!important;overflow:hidden!important}.showcase-track-v .showcase-slide{flex:0 0 33.3333%!important;width:100%!important;height:33.3333%!important}.showcase-slide:after{content:"";z-index:1;background:linear-gradient(#0000 0%,#0003 50%,#000000d9 100%);position:absolute;inset:0}.showcase-slide-content{z-index:2;width:100%;position:relative}@keyframes bounce-soft{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.animate-bounce-soft{animation:2s ease-in-out infinite bounce-soft}@media (width<=768px){.hide-on-mobile{display:none!important}html{height:auto!important;overflow:auto!important}body{height:auto!important;min-height:100vh!important;overflow:auto!important}#root{height:auto!important;overflow:visible!important}#editor-outer{height:auto!important;min-height:100vh!important;overflow:visible!important}.generator-layout{flex-direction:column!important;height:auto!important;min-height:100vh!important;overflow:visible!important}.sidebar{border-right:none!important;border-bottom:1px solid var(--border-color)!important;flex:none!important;width:100%!important;height:auto!important}.preview-panel{flex-direction:column!important;flex:none!important;width:100%!important;overflow:visible!important}.preview-area{flex:none!important;width:100%!important;height:420px!important;min-height:420px!important}#demo-banner{padding:8px 12px!important;font-size:12px!important}#demo-banner-btn{white-space:nowrap!important;flex-shrink:0!important;padding:5px 10px!important;font-size:11px!important}}
