:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;--bg:#071018;--panel:#0f1c28e0;--panel-strong:#112231;--line:#97bdd929;--text:#edf7ff;--muted:#91a8ba;--cyan:#62dcff;--cyan-strong:#23bfe9;--orange:#ffad49;--red:#ff6b6b;--green:#5de2a5;font-family:Inter,Noto Sans JP,Yu Gothic UI,Meiryo,system-ui,sans-serif}*{box-sizing:border-box}[hidden]{display:none!important}body{min-width:320px;min-height:100vh;color:var(--text);background:radial-gradient(circle at 10% -10%,#23bfe92e,#0000 34rem),radial-gradient(circle at 92% 5%,#ffad491a,#0000 28rem),linear-gradient(160deg,#061019 0%,#091722 45%,#071018 100%);margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.42}.app-shell{width:min(1480px,100% - 40px);margin:0 auto;padding:36px 0 24px}.app-header{justify-content:space-between;align-items:flex-start;gap:28px;padding:8px 4px 30px;display:flex}.eyebrow{color:var(--cyan);letter-spacing:.18em;margin:0 0 8px;font-size:.72rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:-.045em;margin-bottom:10px;font-size:clamp(2rem,4.2vw,3.65rem);line-height:1}h2{margin-bottom:5px;font-size:1.35rem}h3{margin-bottom:14px;font-size:.95rem}.header-copy,.section-heading p,.result-heading p{color:var(--muted);margin-bottom:0;line-height:1.65}.model-badge{color:#c9f6ff;background:#1544537a;border:1px solid #62dcff4d;border-radius:999px;flex:none;align-items:center;gap:9px;padding:10px 14px;font-size:.8rem;font-weight:700;display:flex}.pulse-dot{background:var(--green);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #5de2a51f}main{gap:18px;display:grid}.panel{border:1px solid var(--line);background:linear-gradient(145deg, #142634f0, #0a1823f0), var(--panel);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:18px;padding:clamp(20px,3vw,30px);overflow:hidden;box-shadow:0 18px 50px #00000038}.section-heading{align-items:flex-start;gap:14px;margin-bottom:24px;display:flex}.section-heading.compact{margin-bottom:18px}.step-number{color:#061019;background:linear-gradient(145deg, var(--cyan), #b6f3ff);border-radius:10px;flex:0 0 38px;place-items:center;width:38px;height:38px;font-size:.77rem;font-weight:900;display:grid}.setup-grid{grid-template-columns:minmax(260px,1.1fr) minmax(280px,.9fr);gap:16px;display:grid}.file-drop,.api-key-card,.control-card{border:1px solid var(--line);background:#05101985;border-radius:13px}.file-drop{cursor:pointer;align-items:center;gap:15px;min-height:116px;padding:20px;transition:border-color .16s,transform .16s;display:flex}.file-drop:hover{border-color:#62dcff85;transform:translateY(-1px)}.file-drop input{opacity:0;width:1px;height:1px;position:absolute}.file-icon{color:#071018;background:var(--orange);border-radius:50%;place-items:center;width:48px;height:48px;font-size:1rem;display:grid}.file-drop strong,.file-drop small{display:block}.file-drop strong{margin-bottom:5px;font-size:1.05rem}.file-drop small{color:var(--muted)}.api-key-card{padding:17px 19px}.api-key-card>label:first-child,.control-card label>span{color:#c7d6e2;margin-bottom:7px;font-size:.78rem;font-weight:700;display:block}.password-row{grid-template-columns:1fr auto;gap:8px;display:grid}.api-key-notice{color:var(--muted);background:#030c1380;border:1px solid #62dcff2e;border-radius:8px;gap:4px;margin-top:11px;padding:10px 11px;font-size:.74rem;line-height:1.55;display:grid}.api-key-notice strong{color:var(--cyan);font-size:.76rem}input[type=text],input[type=password],input[type=number]{width:100%;min-width:0;color:var(--text);background:#030c13bf;border:1px solid #97bdd938;border-radius:8px;outline:none;padding:10px 11px;transition:border-color .16s}input:focus{border-color:var(--cyan)}.icon-button,.secondary-button,.danger-button,.primary-button{border:0;border-radius:8px;font-weight:800}.icon-button,.secondary-button{color:#c9dae6;background:#1e3342cc;border:1px solid #97bdd933;padding:9px 12px}.check-row{color:var(--muted);cursor:pointer;align-items:center;gap:8px;margin-top:11px;font-size:.78rem;display:flex}.check-row input{accent-color:var(--cyan-strong)}.meta-strip{color:var(--muted);border-left:3px solid var(--cyan-strong);background:#010a116b;margin-top:14px;padding:9px 12px;font-size:.82rem}.import-strip{color:var(--muted);align-items:center;gap:12px;margin-top:10px;font-size:.76rem;display:flex}.import-button{cursor:pointer;flex:none;align-items:center;display:inline-flex}.import-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.workspace-grid{grid-template-columns:minmax(0,1.65fr) minmax(320px,.75fr);gap:20px;display:grid}.video-stage{background-color:#030a0f;background-image:linear-gradient(45deg,#ffffff06 25%,#0000 25%),linear-gradient(-45deg,#ffffff06 25%,#0000 25%),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:22px 22px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #97bdd933;border-radius:12px;min-height:300px;position:relative;overflow:hidden}.video-stage video{width:100%;height:auto;max-height:68vh;display:block}.video-stage.is-empty video{visibility:hidden}.video-placeholder{color:#607b8e;place-content:center;justify-items:center;display:grid;position:absolute;inset:0}.video-placeholder span{border:1px solid #97bdd933;border-radius:50%;place-items:center;width:58px;height:58px;margin-bottom:9px;display:grid}.video-help{color:var(--muted);margin:8px 2px 0;font-size:.75rem}.roi-box{z-index:4;cursor:move;touch-action:none;background:#ffe15a21;border:2px solid #ffe15a;border-radius:3px;min-width:16px;min-height:12px;position:absolute;box-shadow:0 0 0 1px #000000b3,0 0 18px #ffe15a40}.roi-label{color:#151205;white-space:nowrap;background:#ffe15a;border-radius:4px;padding:3px 6px;font-size:.62rem;font-weight:900;position:absolute;bottom:calc(100% + 5px);left:-2px}.roi-resize{cursor:nwse-resize;background:#ffe15a;border:2px solid #151205;border-radius:3px;width:14px;height:14px;padding:0;position:absolute;bottom:-7px;right:-7px}.control-column{align-content:start;gap:14px;display:grid}.control-card{padding:17px}.time-grid{grid-template-columns:1fr auto;align-items:end;gap:10px 8px;display:grid}.secondary-button{min-height:40px}.estimate-row{color:var(--muted);flex-wrap:wrap;gap:10px;margin-top:13px;font-size:.72rem;display:flex}.estimate-row span{background:#48687e2e;border-radius:5px;padding:5px 7px}.card-title-row,.result-heading,.action-row,.export-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.card-title-row>span{color:var(--muted);font-size:.67rem}.roi-inputs{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.roi-inputs label{color:var(--muted);font-size:.68rem}.roi-inputs input{margin-top:5px;padding:8px 6px}.preview-frame{background:#02070b;border:1px solid #97bdd92e;border-radius:8px;place-items:center;min-height:92px;margin-top:14px;display:grid;position:relative;overflow:auto}.preview-frame canvas{max-width:100%;image-rendering:pixelated;display:block}.preview-frame span{color:#587184;font-size:.7rem;position:absolute}.action-row{flex-wrap:wrap;justify-content:flex-start}.primary-button,.danger-button{min-width:150px;padding:12px 18px}.primary-button{color:#05131a;background:linear-gradient(135deg, var(--cyan), #8eebff);box-shadow:0 8px 28px #23bfe933}.danger-button{color:#ffdede;background:#7927308c;border:1px solid #ff6b6b59}.correction-note{color:var(--muted);margin-left:auto;font-size:.76rem}.progress-shell{margin-top:17px}.progress-track{background:#7092a929;border-radius:999px;height:6px;overflow:hidden}.progress-fill{border-radius:inherit;background:linear-gradient(90deg, var(--cyan-strong), var(--orange));width:0;height:100%;transition:width .18s}.progress-copy{color:var(--muted);justify-content:space-between;margin-top:8px;font-size:.75rem;display:flex}.progress-copy strong{color:#c9d9e5}.error-message{color:#ffd3d3;background:#7019236b;border:1px solid #ff6b6b59;border-radius:9px;margin-top:14px;padding:12px 14px;font-size:.82rem}.results-section{gap:18px;display:grid}.summary-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.rolling-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.rolling-card{grid-template-columns:1fr auto;align-items:end;column-gap:14px;display:grid}.rolling-card>span,.rolling-card>strong,.rolling-card>small{grid-column:1}.rolling-card>button{grid-area:1/2/span 3;align-self:center}.summary-card{border:1px solid var(--line);background:#0f1f2beb;border-radius:14px;min-width:0;padding:18px}.summary-card.accent{background:linear-gradient(145deg,#1a4b5bcc,#0a1f2be6);border-color:#62dcff61}.summary-card span,.summary-card small{color:var(--muted);font-size:.7rem;display:block}.summary-card strong{text-overflow:ellipsis;white-space:nowrap;margin:9px 0 5px;font-family:Cascadia Mono,Consolas,monospace;font-size:clamp(1rem,2vw,1.45rem);display:block;overflow:hidden}.result-heading{align-items:flex-end;margin-bottom:18px}.result-heading h2{margin-bottom:0}.export-row{justify-content:flex-end}.chart-toolbar{border:1px solid var(--line);background:#030c1366;border-radius:10px;flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:14px;padding:12px;display:flex}.chart-toolbar label{color:var(--muted);gap:5px;font-size:.7rem;font-weight:700;display:grid}.chart-toolbar span{color:var(--muted);margin:0 0 7px auto;font-size:.72rem}select{min-width:112px;color:var(--text);background:#0b1a25;border:1px solid #97bdd938;border-radius:8px;outline:none;padding:8px 30px 8px 10px}select:focus{border-color:var(--cyan)}.chart-wrap{height:360px;position:relative}.chart-wrap canvas{cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none}.range-editor{border-top:1px solid var(--line);margin-top:20px;padding-top:18px}.range-form{grid-template-columns:minmax(150px,1fr) 170px 170px auto auto;align-items:end;gap:9px;display:grid}.range-form label{color:var(--muted);gap:5px;font-size:.7rem;font-weight:700;display:grid}.text-button{min-height:38px;color:var(--cyan);background:0 0;border:0;padding:7px 9px;font-size:.74rem;font-weight:800}.text-button:hover:not(:disabled){text-decoration:underline}.selected-range-summary{color:#c9d9e5;border-left:3px solid var(--orange);background:#ffad4912;margin:14px 0 10px;padding:11px 12px;font-size:.8rem}.range-resolution-note{color:var(--muted);margin:9px 0 0;font-size:.7rem}.range-table-scroll{max-height:330px}.range-table input[type=text],.range-table input[type=number]{min-width:130px;padding:6px 7px;font-size:.73rem}.range-table .range-time-input{text-align:right;width:92px;min-width:92px;font-family:Cascadia Mono,Consolas,monospace}.range-name-cell{align-items:center;gap:7px;display:flex}.range-color{border-radius:4px;flex:0 0 9px;width:9px;height:28px}.range-delete{color:#ffbcbc;min-height:auto}.warning-badge{color:#ffe0a8;background:#66401566;border:1px solid #ffad494d;border-radius:999px;padding:7px 10px;font-size:.72rem;font-weight:800}.table-scroll{border:1px solid var(--line);border-radius:10px;max-height:620px;overflow:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:.76rem}th{z-index:2;color:#a9bdcc;text-align:left;background:#102333;padding:11px 10px;position:sticky;top:0}td{border-top:1px solid #97bdd91a;padding:9px 10px}tbody tr:hover{background:#62dcff09}tr.is-warning{background:#ffad490e}.total-input{font-family:Cascadia Mono,Consolas,monospace;font-size:.75rem;width:190px!important;padding:6px 7px!important}.status-pill{color:#bff8dd;background:#2a825c4d;border-radius:999px;padding:4px 7px;font-size:.65rem;font-weight:800;display:inline-flex}.status-pill.warning{color:#ffe0a8;background:#985e1c66}footer{color:#6f8798;text-align:center;padding:22px 4px 0;font-size:.72rem}@media (width<=980px){.workspace-grid,.setup-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:repeat(2,1fr)}.range-form{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=640px){.app-shell{width:min(100% - 20px,1480px);padding-top:20px}.app-header{display:block}.model-badge{width:fit-content;margin-top:18px}.panel{border-radius:13px}.video-stage{min-height:190px}.summary-grid,.rolling-grid{grid-template-columns:1fr}.roi-inputs{grid-template-columns:repeat(2,1fr)}.result-heading{display:block}.export-row{justify-content:flex-start;margin-top:14px}.correction-note{width:100%;margin-left:0}.import-strip,.chart-toolbar{flex-direction:column;align-items:flex-start}.chart-toolbar span{margin-left:0}.range-form{grid-template-columns:1fr}}
