:root{color-scheme:dark;--bg:#05070b;--panel:#08101c;--panel2:#0a0f16;--line:#26364b;--muted:#8aa0ba;--faint:#50627b;--text:#dce7f7;--blue:#7cc8ff;--blue2:#0d4f86;--green:#1fbf6a;--mobile-ad-h:126px}
*{box-sizing:border-box}
html,body{width:100%;max-width:100%;margin:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{height:100vh;overflow:hidden;position:fixed;inset:0}
body.landing-mode{height:auto;min-height:100vh;overflow-x:hidden;overflow-y:auto;position:static;inset:auto}
button,select{width:100%;max-width:100%;border-radius:10px;padding:13px 10px;background:#4fa3ff22;border:1px solid #4fa3ff;color:var(--blue);font:10px monospace;text-transform:uppercase;letter-spacing:.12em;min-height:44px}
button{cursor:pointer}button:disabled{opacity:.35;cursor:not-allowed}select{background:#0e1520;color:var(--text)}input{width:100%;max-width:100%;accent-color:#4fa3ff}canvas{display:none;max-width:100%;max-height:100%;background:#000}
.tiny,.status{font:10px monospace;color:var(--faint);text-transform:uppercase;letter-spacing:.06em}.hiddenControl{display:none!important}
.app-header{height:64px;display:flex;align-items:center;gap:14px;padding:0 16px;background:#05070bf7;border-bottom:1px solid #1b2a3b;position:relative;z-index:80}.hamb{width:44px;min-height:44px;border-radius:12px;background:#ffffff07;border:1px solid var(--line);color:var(--text);font-size:18px}.brandLink{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}.brandLogoPlate{width:40px;height:40px;display:grid;place-items:center}.brandLogo{width:36px;height:36px;object-fit:contain;filter:drop-shadow(0 0 5px #000) drop-shadow(0 0 8px #7cc8ff66)}.brandName{font-weight:800}.barSep{height:30px;width:1px;background:var(--line)}.appTitle{display:flex;align-items:center;gap:8px}.appVer{font:10px monospace;color:var(--blue)}.aiFree{display:inline-flex;align-items:center;min-height:24px;padding:0 9px;border-radius:999px;border:1px solid #50d89077;background:#1fbf6a18;color:#76f0a8;font:9px monospace;text-transform:uppercase;letter-spacing:.12em;white-space:nowrap}.visitTop{margin-left:auto;display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:12px;border:1px solid #2e5f94;background:#071421;color:var(--blue);text-decoration:none;font:10px monospace;text-transform:uppercase;letter-spacing:.1em}.mobileHeaderActions{display:none;gap:8px;margin-left:auto}.headerIconAction{width:42px;min-width:42px;max-width:42px;height:42px;min-height:42px;padding:0;border-radius:12px;background:#0d2740;border:1px solid var(--blue);color:#e8f5ff;font-size:18px;line-height:1;letter-spacing:0;text-transform:none;overflow:hidden;white-space:nowrap;text-align:center}
#app{display:grid;grid-template-columns:minmax(0,1fr) 340px;height:calc(100vh - 64px);width:100vw;max-width:100vw;overflow:hidden}main{min-width:0;display:flex;flex-direction:column;border-right:1px solid #1b2a3b;overflow:hidden}.view{flex:1;min-width:0;display:grid;place-items:center;position:relative;background:#020408;overflow:hidden;touch-action:none}.drop{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:14px;padding:20px;z-index:3}.drop h1{margin:0;font-size:28px}.drop p{font:10px monospace;color:var(--faint);text-transform:uppercase;letter-spacing:.06em}.status{height:30px;display:flex;justify-content:space-between;align-items:center;padding:0 12px;border-top:1px solid #1b2a3b;background:var(--panel2);overflow:hidden}.ol{display:none;position:absolute;inset:0;z-index:9;place-items:center;background:#020408aa;backdrop-filter:blur(5px)}.card{width:min(440px,88vw);background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:18px}.bar{height:5px;background:#172234;border-radius:99px;overflow:hidden;margin:12px 0}.fill{height:100%;width:0;background:linear-gradient(90deg,#4fa3ff,var(--blue),#50d890)}
aside{background:var(--panel2);overflow-y:auto;overflow-x:hidden;max-width:100%;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.sec{padding:15px;border-bottom:1px solid #1b2a3b;overflow:hidden}.ttl{font:9px monospace;color:var(--faint);text-transform:uppercase;letter-spacing:.18em;margin-bottom:10px}.row{margin:12px 0;min-width:0}.head{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:5px;gap:10px}.val{font:11px monospace;color:var(--blue);white-space:nowrap}.actions2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.loadBtn{width:100%;min-height:44px;margin-bottom:10px;border-radius:12px;border:1px solid var(--blue);background:#0d2740;color:#cfeaff;font:10px monospace;text-transform:uppercase;letter-spacing:.12em;font-weight:900}.playBtn,.exportBtn{background:var(--blue2)!important;border-color:var(--blue)!important;color:#e8f5ff!important;font-weight:900!important;box-shadow:0 0 0 1px #7cc8ff22,0 0 18px #4fa3ff26!important}.ghostBtn{background:#ffffff08;border-color:var(--line);color:#b8c7da}.primary{background:#4fa3ff;color:#03101d;border-color:var(--blue);font-weight:800}.secondary{background:#ffffff07;border-color:var(--line);color:var(--text)}
.choiceGrid,.viewModeGrid{display:grid;gap:8px}.presetMotionGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.presetMotionGrid .ttl{margin-bottom:8px}.viewModeBlock{margin-top:12px}.choiceGrid button,.viewModeGrid button{min-height:42px;border-radius:12px;border:1px solid #2e5f94;background:#071421;color:var(--blue);font:10px monospace;text-transform:uppercase;letter-spacing:.1em}.choiceGrid button.active,.viewModeGrid button.active{background:var(--green)!important;border-color:#76f0a8!important;color:#03150b!important;font-weight:900;box-shadow:0 0 0 1px #76f0a855,0 0 18px #1fbf6a44}.choiceGrid button.active:before,.viewModeGrid button.active:before{content:'✓ ';font-weight:900}.markerToggle{display:flex;align-items:center;gap:9px;margin-top:12px;padding:11px;border:1px solid #2e5f944d;background:#07142166;border-radius:12px;color:#aab7c7;font:10px monospace;text-transform:uppercase;letter-spacing:.1em}.markerToggle input{width:18px;height:18px;accent-color:var(--green)}.advanced summary{cursor:pointer;color:var(--blue);font:10px monospace;text-transform:uppercase;letter-spacing:.12em;padding:12px 14px}.advanced[open]{padding-bottom:130px}.diagnosticsWrap{margin-top:10px;border-top:1px solid #1b2a3b;padding-top:10px}.diagnosticsWrap>summary{cursor:pointer;color:var(--blue);font:10px monospace;text-transform:uppercase;letter-spacing:.12em;list-style:none}.diagnosticsWrap>summary::-webkit-details-marker{display:none}.diagnosticsWrap>summary:after{content:'+';float:right;color:var(--faint)}.diagnosticsWrap[open]>summary:after{content:'–'}.diagnosticsWrap .sec{border-bottom:0!important;padding-bottom:0!important}.success{display:none}.success.show{display:block}.success button{margin-top:8px}.stat{display:none;margin-top:10px;padding:8px;border:1px solid #50d89044;background:#50d89012;color:#50d890;font:10px monospace;overflow-wrap:anywhere}
.target{position:absolute;width:54px;height:54px;border:2px solid var(--blue);border-radius:50%;box-shadow:0 0 0 1px #020408,0 0 18px #4fa3ffaa;pointer-events:none;z-index:4;transform:translate(-50%,-50%);display:none}.target:before,.target:after{content:'';position:absolute;background:var(--blue);left:50%;top:50%;transform:translate(-50%,-50%)}.target:before{width:2px;height:66px}.target:after{width:66px;height:2px}.target .dot{position:absolute;left:50%;top:50%;width:8px;height:8px;border-radius:50%;background:var(--blue);transform:translate(-50%,-50%);box-shadow:0 0 10px var(--blue)}.targethint{position:absolute;left:50%;bottom:44px;transform:translateX(-50%);z-index:4;padding:6px 10px;border:1px solid var(--line);border-radius:999px;background:#08101ccc;color:var(--muted);font:10px monospace;text-transform:uppercase;letter-spacing:.08em;pointer-events:none;white-space:nowrap;display:none}body:not(.show-center-marker) .target,body:not(.show-center-marker) .targethint{display:none!important}
.menuPanel{position:fixed;inset:0;z-index:100;pointer-events:none}.menuPanel.open{pointer-events:auto}.menuScrim{position:absolute;inset:0;background:#0008;opacity:0;transition:opacity .18s}.menuPanel.open .menuScrim{opacity:1}.menuCard{position:absolute;left:12px;top:74px;width:min(300px,calc(100vw - 24px));background:#08101cf8;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 80px #000c;padding:14px;opacity:0;transform:translateY(-10px);transition:opacity .18s,transform .18s}.menuPanel.open .menuCard{opacity:1;transform:translateY(0)}.menuTop{display:flex;align-items:center;justify-content:space-between;gap:12px}.menuClose{width:40px;min-height:36px;border-radius:10px;background:#ffffff08;border:1px solid var(--line);color:var(--text)}.menuGroup{border-top:1px solid #1b2a3b;padding-top:10px;margin-top:10px}.menuGroup button,.menuGroup a{display:block;width:100%;text-align:left;margin:6px 0;padding:12px;border-radius:12px;border:1px solid var(--line);background:#ffffff06;color:var(--text);font:10px monospace;text-transform:uppercase;letter-spacing:.08em;text-decoration:none}
.aboutPanel{position:fixed;inset:0;z-index:120;display:none;place-items:center;padding:20px}.aboutPanel.open{display:grid}.aboutScrim{position:absolute;inset:0;background:#000b}.aboutCard{position:relative;width:min(540px,calc(100vw - 32px));background:#08101cf8;border:1px solid #2e5f94;border-radius:20px;box-shadow:0 24px 90px #000d;padding:22px;color:var(--text)}.aboutCard h2{margin:0 0 10px;font-size:22px}.aboutCard p{color:#aab7c7;line-height:1.55;margin:0 0 12px}.aboutCard .aboutNote{border:1px solid #50d89066;background:#1fbf6a12;border-radius:14px;padding:12px;color:#c9f7dc}.aboutCard .aboutActions{display:flex;gap:10px;margin-top:16px}.aboutCard button{flex:1}.drawerTab,.mobileAdSpace{display:none}.cookie-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:10000;display:none;gap:14px;align-items:center;justify-content:space-between;padding:14px 16px;background:#08101cf2;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px #0009;backdrop-filter:blur(8px);color:var(--text)}.cookie-consent.show{display:flex}.cookie-copy{font-size:12px;line-height:1.45;color:#b8c7da;max-width:980px}.cookie-actions{display:flex;gap:8px;flex-shrink:0}.cookie-actions button{width:auto;min-width:92px}
@media(max-width:850px){#app{grid-template-columns:minmax(0,1fr)}aside{position:absolute;right:0;top:64px;bottom:0;width:min(360px,96vw);z-index:5;border-left:1px solid #1b2a3b}.brandName{display:none}.visitTop{padding:0 10px;font-size:9px}.aiFree{font-size:8px;padding:0 7px}.actions2{grid-template-columns:1fr}.presetMotionGrid{grid-template-columns:1fr 1fr;gap:8px}.advanced[open]{padding-bottom:170px}.sec{padding:12px}.drop h1{font-size:22px}.cookie-consent{left:10px;right:10px;bottom:10px;flex-direction:column;align-items:stretch}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-actions button{width:100%}}
@media(max-width:700px) and (orientation:portrait){body{overflow:hidden}.app-header{height:58px;justify-content:flex-start;gap:6px;padding:0 8px}.hamb{width:40px;min-width:40px;min-height:40px}.brandLink{display:flex!important;gap:5px;flex:0 0 auto;min-width:0}.brandLogoPlate{width:30px;height:30px}.brandLogo{width:28px;height:28px}.brandName{display:inline!important;font-size:13px;line-height:1;white-space:nowrap}.barSep{display:block!important;height:24px;width:1px;flex:0 0 1px;margin:0 2px}.appTitle{display:flex;flex:1 1 auto;min-width:0}.appTitle strong{font-size:14px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.appVer,.aiFree,.visitTop{display:none}.mobileHeaderActions{display:flex;flex:0 0 auto}.headerIconAction{display:grid;place-items:center}#app{height:calc(100dvh - 58px);display:block;position:relative;overflow:hidden}main{height:calc(100dvh - 58px - var(--mobile-ad-h));width:100%;position:relative}.view{height:calc(100dvh - 58px - var(--mobile-ad-h) - 30px)!important;min-height:300px}.status{height:30px;font-size:10px}.drop{max-width:calc(100vw - 34px)}aside{position:fixed;left:auto!important;right:0!important;top:58px!important;bottom:0!important;width:min(82vw,340px);max-width:340px;height:auto!important;max-height:none!important;overflow:auto;background:#08101cf8;border-left:1px solid var(--line);border-right:0;box-shadow:-18px 0 60px #000c;z-index:88;transform:translateX(105%)!important;transition:transform .22s ease;padding-bottom:calc(26px + env(safe-area-inset-bottom))!important}body.controls-open aside{transform:translateX(0)!important}body.controls-open:after{content:'';position:fixed;left:0;right:0;top:58px;bottom:0;background:#0006;z-index:82}.drawerTab{display:flex;position:fixed;left:auto!important;right:0;top:66px;bottom:auto;transform:none;width:38px!important;min-width:38px!important;max-width:38px!important;height:96px!important;min-height:96px!important;max-height:96px!important;box-sizing:border-box;align-items:center;justify-content:center;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;overflow:hidden;padding:8px 4px;border-radius:12px 0 0 12px;border:1px solid var(--line);border-right:0;background:#071421f2;color:var(--blue);font:9px/1 monospace;text-transform:uppercase;letter-spacing:.08em;z-index:91;box-shadow:0 0 18px #0009}body.controls-open .drawerTab{right:min(82vw,340px);background:#08101cf8;color:var(--text);box-shadow:-10px 0 34px #0008}.mobileAdSpace{display:flex;position:fixed;left:0;right:0;bottom:0;height:var(--mobile-ad-h);z-index:78;align-items:center;justify-content:center;background:#030508;border-top:1px solid #1b2a3b;padding:8px 12px calc(8px + env(safe-area-inset-bottom));box-shadow:0 -16px 40px #0008}.mobileAdSpace img{display:block;width:min(100%,480px);height:100%;object-fit:contain;object-position:center}.actionbar{display:none}.presetMotionGrid{grid-template-columns:1fr 1fr}.viewModeGrid{grid-template-columns:1fr 1fr}.aboutCard{max-height:80dvh;overflow:auto}.targethint{display:none!important}}
@media(max-width:380px) and (orientation:portrait){:root{--mobile-ad-h:116px}.brandName{font-size:12px}.appTitle strong{font-size:13px}.app-header{gap:5px;padding:0 7px}.headerIconAction{width:38px;min-width:38px;max-width:38px;height:38px;min-height:38px}.drawerTab{top:64px}}
