/* Copyright (c) 2026 cank (Yusuf Can Koker). All rights reserved. */
/* Modification prohibited. */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:root{--bg:#0f1117;--surface:#1a1c25;--surface-hover:#22242e;--border:#2a2d3a;--border-hover:#3d4155;--text:#e4e6f0;--text-muted:#8b8fa3;--accent:#6c5ce7;--accent-hover:#7c6ff7;--accent-glow:rgba(108,92,231,0.25);--danger:#e74c3c;--danger-hover:#c0392b;--brand-deep:#363262;--toolbar-well:var(--bg);--radius:10px;--radius-lg:14px;--shadow:0 2px 12px rgba(0,0,0,0.3);--transition:0.2s cubic-bezier(0.4,0,0.2,1);--font-sans:'Poppins',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--logo-h:clamp(28px,3vw,34px);--logo-max-w:min(260px,52vw);--header-tagline-offset:0px;color-scheme:dark}html[data-theme="light"]{--bg:#f4f5f9;--surface:#ffffff;--surface-hover:#eef0f6;--border:#dfe3ec;--border-hover:#c8cedc;--text:#1a1d28;--text-muted:#5a6178;--accent:#5b4cdb;--accent-hover:#6c5ce7;--accent-glow:rgba(91,76,219,0.22);--shadow:0 2px 12px rgba(15,20,40,0.08);--toolbar-well:var(--surface-hover);color-scheme:light}html[data-theme="light"] .header{border-bottom-color:color-mix(in srgb,var(--brand-deep) 14%,var(--border))}html[data-theme="light"] .layout-btn.active{box-shadow:0 1px 3px rgba(15,20,40,0.1)}html[data-theme="light"] .quality-btn.active{box-shadow:0 1px 3px rgba(15,20,40,0.1)}html[data-theme="light"] .color-panel{box-shadow:0 12px 40px rgba(15,20,40,0.12)}html[data-theme="light"] .modal{box-shadow:0 16px 48px rgba(15,20,40,0.14)}html[data-theme="light"] .logo-img{filter:brightness(0) saturate(100%) invert(32%) sepia(93%) saturate(2200%) hue-rotate(232deg) brightness(96%) contrast(94%)}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);min-height:100dvh;-webkit-font-smoothing:antialiased;overscroll-behavior-x:none;overflow-x:clip;text-rendering:optimizeLegibility}.app{display:flex;flex-direction:column;min-height:100dvh}.social-rail{position:fixed;z-index:90;left:max(12px,env(safe-area-inset-left,0px));top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px}.social-rail__link{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:10px;color:var(--text-muted);background:var(--surface);border:1px solid var(--border);transition:var(--transition);-webkit-tap-highlight-color:transparent}.social-rail__link:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 55%,var(--border));background:var(--surface-hover);box-shadow:0 2px 12px var(--accent-glow)}.social-rail__link:focus-visible{outline:none;box-shadow:0 0 0 2px var(--accent-glow),0 0 0 3px var(--surface)}.header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 28px;padding-top:max(14px,var(--safe-top));border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:100;backdrop-filter:blur(12px)}.header-left{display:flex;align-items:center;gap:14px 16px;min-width:0}.logo-heading{margin:0;display:flex;align-items:center;flex-shrink:0;line-height:0}.logo{display:inline-flex;align-items:center;border:none;background:none;padding:0;cursor:pointer;transition:opacity var(--transition);-webkit-tap-highlight-color:transparent}.logo:hover{opacity:0.85}.logo picture{display:block;line-height:0}.logo-img{display:block;height:var(--logo-h);width:auto;max-width:var(--logo-max-w);object-fit:contain;object-position:left center}.tagline{font-size:13px;line-height:var(--logo-h);color:var(--text-muted);white-space:nowrap;max-width:min(22rem,44vw);transform:translateY(var(--header-tagline-offset))}.header-right{display:flex;align-items:center;gap:12px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end}.header-controls{display:inline-flex;align-items:center;gap:8px;flex-shrink:0}.page-settings{position:fixed;z-index:200;bottom:max(16px,env(safe-area-inset-bottom,0px));right:max(16px,env(safe-area-inset-right,0px));display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}.page-settings>*{pointer-events:auto}.lang-switch{display:inline-flex;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--toolbar-well)}.lang-btn{border:none;background:transparent;color:var(--text-muted);padding:6px 11px;font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;transition:var(--transition);line-height:1.2;-webkit-tap-highlight-color:transparent}.lang-btn:hover{color:var(--text);background:var(--surface-hover)}.lang-btn.active{color:var(--accent);background:var(--surface-hover)}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--border);border-radius:8px;background:var(--toolbar-well);color:var(--text-muted);cursor:pointer;transition:var(--transition);flex-shrink:0;-webkit-tap-highlight-color:transparent}.theme-toggle:hover{color:var(--accent);border-color:var(--border-hover);background:var(--surface-hover)}.theme-toggle svg{width:20px;height:20px;display:block}.theme-toggle .theme-icon--sun{display:block}.theme-toggle .theme-icon--moon{display:none}html[data-theme="light"] .theme-toggle .theme-icon--sun{display:none}html[data-theme="light"] .theme-toggle .theme-icon--moon{display:block}.quality-buttons{display:flex;gap:3px;background:var(--toolbar-well);padding:3px;border-radius:8px}.quality-buttons--modal{width:100%;justify-content:stretch;gap:6px;padding:6px;margin-bottom:8px}.quality-buttons--modal .quality-btn{flex:1;padding:10px 8px;font-size:13px}.quality-btn{border:none;background:transparent;color:var(--text-muted);font-size:11px;font-weight:600;font-family:inherit;padding:6px 10px;border-radius:6px;cursor:pointer;transition:var(--transition);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.quality-btn:hover{color:var(--text)}.quality-btn.active{background:var(--surface);color:var(--accent);box-shadow:0 1px 3px rgba(0,0,0,0.2)}.export-buttons{display:flex;flex-wrap:nowrap;gap:8px;align-items:center}.modal-quality .modal-text{margin-bottom:8px}.modal-quality-hint{font-size:13px;color:var(--text-muted);text-align:center;margin-bottom:16px;line-height:1.4}.modal-actions--inline{flex-direction:row;flex-wrap:nowrap;width:100%;gap:10px}.modal-actions--inline .modal-btn{flex:1;min-height:44px}.modal-actions--inline .btn-export{flex:1;margin:0}.export-btn-short{display:none}.export-btn-long{display:inline}.layout-toggle{display:flex;gap:4px;background:var(--toolbar-well);padding:4px;border-radius:8px}.layout-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:var(--transition);-webkit-tap-highlight-color:transparent}.layout-btn:hover:not(:disabled){color:var(--accent);background:var(--surface-hover)}.layout-btn.active{color:var(--accent);background:var(--surface);box-shadow:0 1px 4px rgba(0,0,0,0.2)}.color-tool{position:relative}.btn-tool{background:var(--surface-hover);color:var(--text-muted);box-shadow:none}.btn-tool:hover{color:var(--accent);background:var(--border)}.color-panel{display:none;position:absolute;top:calc(100%+8px);bottom:auto;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;box-shadow:0 8px 24px rgba(0,0,0,0.4);z-index:200;flex-direction:column;align-items:center}.color-panel.open{display:flex}.color-panel #colorWheel{display:flex;justify-content:center}.color-targets{display:flex;gap:6px;margin-top:12px;width:100%}.color-target{flex:1;display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-muted);font-size:11px;font-weight:500;font-family:inherit;cursor:pointer;transition:var(--transition)}.color-target.active{border-color:var(--accent);color:var(--text);background:rgba(108,92,231,0.1)}.color-target-swatch{width:14px;height:14px;border-radius:999px;border:1px solid var(--border);flex-shrink:0}.hex-input{width:100%;padding:7px 10px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-family:'SF Mono','Menlo',monospace;font-size:13px;text-transform:uppercase;text-align:center;outline:none;transition:var(--transition);margin-top:10px;letter-spacing:1px}.hex-input:focus{border-color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:var(--transition);white-space:nowrap;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.btn-export{background:var(--accent);color:#fff;box-shadow:0 2px 8px var(--accent-glow)}.btn-export:hover{background:var(--accent-hover);box-shadow:0 4px 16px var(--accent-glow);transform:translateY(-1px)}.btn-export:active{transform:translateY(0)}.btn-export .export-btn-text{line-height:1.2}.scene-replace-btn{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:none;border-radius:8px;font-size:12px;font-weight:600;font-family:inherit;color:var(--text);background:rgba(15,17,23,0.82);backdrop-filter:blur(8px);box-shadow:0 2px 10px rgba(0,0,0,0.35);cursor:pointer;transition:var(--transition);touch-action:manipulation;-webkit-tap-highlight-color:transparent;white-space:nowrap}.scene-replace-btn:hover{background:rgba(26,28,37,0.95);color:var(--accent)}.scene-replace-btn svg{flex-shrink:0;opacity:0.9}html[data-theme="light"] .scene-replace-btn{background:rgba(255,255,255,0.92);color:var(--text);box-shadow:0 2px 12px rgba(0,0,0,0.12)}html[data-theme="light"] .scene-replace-btn:hover{color:var(--accent)}.footer{text-align:center;padding:16px 16px max(20px,var(--safe-bottom));font-size:12px;color:var(--text-muted);font-weight:400;letter-spacing:normal;margin-top:0}.main{flex:1;width:100%;max-width:1400px;margin:0 auto;padding:28px 32px max(60px,88px);padding-left:max(32px,calc(32px+52px))}.story-export{display:flex;flex-wrap:wrap;gap:20px;margin-bottom:24px;justify-content:center}.story-export .scene{width:calc((100% - 20px * (var(--cols,2) - 1)) / var(--cols,2))}.scene{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:var(--transition);position:relative;touch-action:manipulation;animation:sceneIn 0.3s ease-out}.scene:hover{border-color:var(--border-hover);box-shadow:var(--shadow)}.scene.dragging{opacity:0.5;transform:scale(0.97)}.scene.drag-over{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.scene-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--brand-deep) 30%,var(--surface))}html[data-theme="light"] .scene-header{background:color-mix(in srgb,var(--brand-deep) 10%,var(--surface))}.scene-title-input{font-size:12px;font-weight:700;color:var(--accent);letter-spacing:0.5px;background:transparent;border:1px solid transparent;border-radius:4px;padding:2px 6px;outline:none;font-family:inherit;min-width:60px;max-width:160px;transition:var(--transition);overflow-wrap:anywhere;word-break:break-word}.scene-title-input:hover{border-color:var(--border)}.scene-title-input:focus{border-color:var(--accent);background:var(--bg)}.scene-actions{display:flex;gap:4px}.scene-action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:var(--transition);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.scene-action-btn:hover{background:var(--surface-hover);color:var(--text)}.scene-action-btn.delete:hover{background:rgba(231,76,60,0.15);color:var(--danger)}.scene-action-btn.drag-handle{cursor:grab}.scene-action-btn.drag-handle:active{cursor:grabbing}.scene-image-wrapper{position:relative;width:100%;background:var(--bg);overflow:hidden;display:flex;align-items:center;justify-content:center}.scene-image-wrapper img{width:100%;height:auto;display:block}.scene-text{padding:12px 14px;border-top:1px solid var(--border)}.scene-text textarea{width:100%;min-height:56px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-family:inherit;font-size:13px;line-height:1.5;resize:vertical;transition:var(--transition);overflow-wrap:anywhere;word-break:break-word}.scene-text textarea::placeholder{color:var(--text-muted)}.scene-text textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius-lg);padding:48px 24px;text-align:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:var(--surface);box-shadow:0 0 0 0 transparent;transition:border-color 0.42s cubic-bezier(0.33,1,0.68,1),background 0.42s cubic-bezier(0.33,1,0.68,1),box-shadow 0.42s cubic-bezier(0.33,1,0.68,1)}.drop-zone:hover,.drop-zone.drag-active{border-color:color-mix(in srgb,var(--accent) 58%,var(--border));background:color-mix(in srgb,var(--accent) 9%,var(--surface));box-shadow:0 6px 26px color-mix(in srgb,var(--accent) 14%,transparent)}html[data-theme="light"] .drop-zone:hover,html[data-theme="light"] .drop-zone.drag-active{background:color-mix(in srgb,var(--accent) 5%,var(--surface));box-shadow:0 6px 22px rgba(91,76,219,0.1)}.drop-zone-content{display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none}.drop-zone-content .drop-zone-icon{flex-shrink:0;transform-origin:center;transform:rotate(0deg);transition:color 0.42s cubic-bezier(0.33,1,0.68,1),opacity 0.42s cubic-bezier(0.33,1,0.68,1),transform 0.45s cubic-bezier(0.33,1,0.68,1)}.drop-zone:not(:hover):not(.drag-active) .drop-zone-content .drop-zone-icon{color:color-mix(in srgb,var(--border-hover) 28%,var(--text-muted) 72%);opacity:0.96}html[data-theme="light"] .drop-zone:not(:hover):not(.drag-active) .drop-zone-content .drop-zone-icon{color:color-mix(in srgb,var(--brand-deep) 38%,var(--text-muted) 62%);opacity:0.96}.drop-zone:hover .drop-zone-icon,.drop-zone.drag-active .drop-zone-icon{color:var(--accent);opacity:1;transform:rotate(-6deg) scale(1.04)}.drop-zone-title{font-size:15px;font-weight:600;color:var(--text);overflow-wrap:anywhere;word-break:break-word;max-width:100%}.drop-zone-hint{font-size:12px;color:var(--text-muted);overflow-wrap:anywhere;word-break:break-word;max-width:100%}.export-area{position:fixed;top:-99999px;left:-99999px;pointer-events:none;z-index:-1}.overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--brand-deep) 20%,rgba(0,0,0,0.72));backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;z-index:9999}.overlay.active{display:flex}.overlay-content{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--text);font-size:15px;font-weight:500;padding:0 24px;text-align:center}.spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin 0.7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;inset:0;background:color-mix(in srgb,var(--brand-deep) 20%,rgba(0,0,0,0.66));backdrop-filter:blur(6px);display:none;align-items:center;justify-content:center;z-index:10000}.modal-overlay.active{display:flex}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px 32px;max-width:380px;width:90%;box-shadow:0 16px 48px rgba(0,0,0,0.5);animation:sceneIn 0.2s ease-out}.modal-text{font-size:15px;line-height:1.6;color:var(--text);text-align:center;margin-bottom:24px}.modal-actions{display:flex;gap:10px;justify-content:center}.modal-btn{padding:9px 24px;font-size:13px;border-radius:8px}.modal-cancel{background:var(--surface-hover);color:var(--text-muted)}.modal-cancel:hover{background:var(--border);color:var(--text)}.modal-confirm{background:var(--danger);color:#fff}.modal-confirm:hover{background:var(--danger-hover)}@keyframes sceneIn{from{opacity:0;transform:translateY(12px) scale(0.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media (min-width:769px) and (max-width:1024px){.tagline{display:none}}@media (max-width:768px){.header{order:1;flex-direction:column;align-items:center;gap:12px;padding:max(12px,var(--safe-top)) 16px 12px}.header-left{flex-direction:column;align-items:center;justify-content:center;width:100%}.tagline{display:block;min-height:0;max-width:22rem;text-align:center;white-space:normal;line-height:1.4;transform:none}:root{--logo-h:clamp(34px,9vw,40px);--logo-max-w:min(300px,88vw)}.logo-img{height:var(--logo-h);max-width:var(--logo-max-w)}.header-right{width:100%;flex-wrap:wrap;justify-content:center;gap:10px}.export-buttons{width:100%;max-width:340px;justify-content:center;gap:8px}.export-btn-long{display:none}.export-btn-short{display:inline}.layout-toggle{order:-1}.btn-tool{min-height:44px;padding:10px 14px;font-size:13px}.btn-export{flex:1 1 0;min-width:0;min-height:40px;max-height:44px;padding:8px 10px;font-size:12px;gap:6px}.btn-export svg{flex-shrink:0;width:15px;height:15px}.color-tool--header .color-panel{position:fixed;left:50%;right:auto;top:auto;bottom:max(16px,env(safe-area-inset-bottom,0px));transform:translateX(-50%);width:min(320px,calc(100vw - 32px));max-height:min(70dvh,calc(100vh - 120px));overflow-y:auto;z-index:300;box-shadow:0 -4px 32px rgba(0,0,0,0.45)}html[data-theme="light"] .color-tool--header .color-panel{box-shadow:0 8px 32px rgba(15,20,40,0.18)}.main{order:2;padding:16px 16px 20px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.social-rail{order:3;position:static;width:100%;max-width:100%;flex-direction:row;flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 10px;padding:10px max(16px,env(safe-area-inset-left,0px)) 6px max(16px,env(safe-area-inset-right,0px));box-sizing:border-box;transform:none;left:auto;top:auto;z-index:1;border:none;border-top:1px solid var(--border);background:var(--bg)}.social-rail__link{width:36px;height:36px;border-radius:8px}.social-rail__link svg{width:16px;height:16px}.page-settings{order:4;position:static;inset:auto;width:100%;max-width:100%;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:10px 16px 8px;box-sizing:border-box;pointer-events:auto;z-index:1}.page-settings .header-controls{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px;row-gap:10px}.story-export{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:8px;margin-bottom:12px;min-width:0;width:100%;max-width:100%;box-sizing:border-box}.story-export .scene{width:100% !important;min-width:0;max-width:100%;box-sizing:border-box;border-radius:8px;display:grid;grid-template-columns:76px minmax(0,1fr);grid-template-rows:auto auto;column-gap:8px;row-gap:4px;align-items:stretch;padding:0;overflow:hidden}.scene-image-wrapper{grid-column:1;grid-row:1 / -1;min-width:0;width:76px;max-width:76px;max-height:112px;min-height:88px;margin:0;padding:4px;box-sizing:border-box;align-self:center;justify-self:center;border-right:1px solid var(--border);border-radius:0}.scene-image-wrapper img{width:auto;max-width:68px;height:auto;max-height:100px;object-fit:contain;object-position:center;margin:0 auto}.scene-header{grid-column:2;grid-row:1;padding:6px 8px 4px 0;gap:4px;border-bottom:none;min-width:0;align-items:flex-start}.scene-actions{flex-shrink:0;gap:2px}.scene-action-btn{width:28px;height:28px;border-radius:5px}.scene-action-btn svg{width:14px;height:14px}.scene-replace-btn{font-size:0;padding:0;width:30px;height:30px;min-width:30px;left:auto;right:2px;bottom:2px;transform:none;border-radius:6px;align-items:center;justify-content:center}.scene-replace-btn span{display:none}.scene-replace-btn svg{width:13px;height:13px}.scene-title-input{font-size:13px;font-weight:600;line-height:1.25;letter-spacing:0.02em;padding:3px 5px;min-width:0;flex:1;max-width:none}.scene-text{grid-column:2;grid-row:2;padding:0 8px 8px 0;border-top:none;min-width:0}.scene-text textarea{min-height:40px;font-size:16px;line-height:1.4;padding:6px 8px;border-radius:6px}.hex-input{font-size:16px}.drop-zone{padding:32px 16px}.drop-zone-title{font-size:14px}.drop-zone-hint{font-size:11px}.modal{padding:24px 20px;width:calc(100% - 32px)}.modal-actions:not(.modal-actions--inline){flex-direction:column-reverse}.modal-actions:not(.modal-actions--inline) .modal-btn{width:100%;min-height:44px;display:flex;align-items:center;justify-content:center}.layout-btn{width:40px;height:40px}.layout-toggle{padding:5px}.footer{order:5;padding:6px 16px max(12px,env(safe-area-inset-bottom,0px))}}@media (max-width:480px){.header{gap:10px;padding:max(10px,var(--safe-top)) 12px 10px}:root{--logo-h:clamp(30px,10vw,36px);--logo-max-w:min(280px,92vw)}.export-buttons{max-width:none;padding:0 4px}.main{padding:12px 12px 16px;padding-left:max(12px,env(safe-area-inset-left,0px));padding-right:max(12px,env(safe-area-inset-right,0px))}.drop-zone{padding:24px 12px}.scene-text textarea{min-height:36px;padding:5px 7px}.story-export{gap:5px}.story-export .scene{grid-template-columns:64px minmax(0,1fr);column-gap:6px}.scene-image-wrapper{width:64px;max-width:64px;max-height:96px;min-height:72px;padding:3px}.scene-image-wrapper img{max-width:56px;max-height:86px}.scene-title-input{font-size:12px}.scene-action-btn{width:26px;height:26px}.scene-action-btn svg{width:12px;height:12px}}