:root{--primary-color: #007bff;--bg-color: #202020;--text-color: #ffffff;--header-bg: #333333;--footer-bg: #333333;--border-radius: 4px;--spacing: .5rem;--input-bg: #ffffff;--input-text: #000000}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;margin:0;padding:0;display:flex;flex-direction:column;position:fixed;inset:0;width:100%;height:100%;color:var(--text-color);background-color:var(--bg-color);overflow:hidden}div{background-color:transparent}header{margin:0;background:linear-gradient(180deg,#363636,#2c2c2c);padding:0 14px;height:56px;box-shadow:0 2px 6px #00000073;display:flex;flex-wrap:nowrap;align-items:center;gap:12px;flex-shrink:0;color:var(--text-color)}.tb-flex{flex:1 1 auto;min-width:8px}.tb-divider{width:1px;height:26px;background:#4a4a4a;flex:0 0 auto}.tb-btn,.tb-icon-btn{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border:.5px solid #565b61;border-radius:8px;background:#ffffff0f;color:#e6e8ea;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s ease,border-color .15s ease}.tb-icon-btn{width:34px;padding:0;justify-content:center}.tb-btn:hover,.tb-icon-btn:hover{background:#ffffff24;border-color:#7a8087}.tb-btn:active,.tb-icon-btn:active{background:#ffffff0d}.tb-ico{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}.opacity-stack{display:flex;flex-direction:column;gap:5px;flex:0 0 auto}.opacity-row{display:flex;align-items:center;gap:7px}.opacity-label{width:26px;font-size:10px;font-weight:600;letter-spacing:.3px;color:#9aa4af}.mini-slider{-webkit-appearance:none;appearance:none;width:84px;height:4px;border-radius:999px;background:#4a5058;outline:none;margin:0;cursor:pointer}.mini-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:#e6e8ea;border:none;cursor:pointer}.mini-slider::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:#e6e8ea;border:none;cursor:pointer}.segmented{display:inline-flex;background:#1f242b;border-radius:8px;padding:3px;gap:2px;flex:0 0 auto}.segmented button{padding:5px 11px;border:none;border-radius:6px;background:transparent;color:#9aa4af;font-size:13px;font-weight:500;cursor:pointer;white-space:nowrap;transition:background .15s ease,color .15s ease}.segmented button:hover{color:#e6e8ea}.segmented button.active{background:#3a424c;color:#fff}.segmented-icons button{display:inline-flex;align-items:center;justify-content:center;padding:6px 9px}.segmented-icons .tb-ico{width:16px;height:16px}.popover-wrap{position:relative;flex:0 0 auto}.popover{position:absolute;top:calc(100% + 8px);left:0;z-index:50;min-width:200px;padding:12px;background:#2b3038;border:.5px solid #565b61;border-radius:10px;box-shadow:0 8px 24px #00000080;display:flex;flex-direction:column;gap:12px}.popover[hidden]{display:none}.popover-section{display:flex;flex-direction:column;gap:7px}.popover-title{font-size:11px;font-weight:600;letter-spacing:.3px;color:#9aa4af}.popover-row{display:flex;gap:6px;flex-wrap:wrap}.chip{padding:5px 11px;border:.5px solid #565b61;border-radius:999px;background:#ffffff0d;color:#cbd2d9;font-size:12px;font-weight:500;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.chip:hover{background:#ffffff1f}.chip.active{background:#185fa5;border-color:#3b82f6;color:#fff}.model-select{height:36px;max-width:320px;padding:0 34px 0 14px;border:1px solid #3b82f6;border-radius:9px;background-color:#3b82f614;color:#e6e8ea;font-size:13px;font-weight:500;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238b949e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right 12px center;text-overflow:ellipsis}.model-select:hover{background-color:#3b82f629}.model-select option{background-color:#2b3038;color:#e6e8ea}main#canvas-container{flex-grow:1;position:relative;overflow:hidden;background-color:#000}canvas{width:100%!important;height:100%!important;display:block}footer{margin:0;background:linear-gradient(180deg,#363636,#2c2c2c);padding:0 14px;height:38px;display:flex;align-items:center;font-size:13px;font-weight:500;border-top:1px solid #4a4a4a;flex-shrink:0;color:var(--text-color)}.footer-content{display:flex;flex-wrap:nowrap;align-items:center;width:100%;min-width:0;gap:16px}.footer-item{display:flex;align-items:center;gap:.4rem}#location{flex:1 1 auto;min-width:0;gap:12px;line-height:1;font-weight:500;color:#c9ccd1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}#location .loc-seg{display:inline-block}#location .loc-sep{opacity:.3;padding:0 2px}#location .loc-seg:first-child{color:#f2f4f7;font-weight:600}.footer-status{display:flex;align-items:center;gap:16px;flex:0 0 auto}.status-text{display:inline-flex;align-items:center;font-weight:600;font-size:12px;white-space:nowrap}.status-text:before{content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:currentColor;box-shadow:0 0 5px currentColor;flex-shrink:0}progress{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;width:90px;border:none;border-radius:999px;overflow:hidden;background:#ffffff1f}progress::-webkit-progress-bar{background:#ffffff1f;border-radius:999px}progress::-webkit-progress-value{background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:999px;transition:width .25s ease}progress::-moz-progress-bar{background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:999px}.star-link{text-decoration:none}.github-star{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;background:#ffffff0f;font-size:12px;font-weight:700;color:#e8eaed;line-height:1;transition:background .15s ease,border-color .15s ease,transform .15s ease}.github-star:hover{background:#ffffff24;border-color:#fff6;transform:translateY(-1px)}.github-star .star-glyph{color:#f7c948;font-size:13px}.github-star #star-count{background:none;border:none;padding:0;margin:0;border-radius:0;font-size:12px;font-weight:700;color:#e8eaed}@media(max-width:600px){.footer-content{gap:10px}.footer-status{gap:12px}progress{width:56px}.status-text{font-size:0}.status-text:before{width:9px;height:9px;margin-right:0}}.loading-spinner:after{content:" ⏳";animation:spin 2s linear infinite;display:inline-block}@media(max-width:820px){header{gap:10px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}header::-webkit-scrollbar{display:none}.tb-flex{flex:0 0 8px;min-width:8px}.model-select{max-width:220px}.tb-btn span,.segmented button{white-space:nowrap}}.save-options{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:460px;max-width:100%;margin:4px auto 0}#appDialog[open].dialog-save{display:block;width:520px;max-width:94vw;max-height:90vh;inset:0;margin:auto}#appDialog[open].dialog-save #dialogMessage{display:block;flex:0 0 auto}.dialog-x{position:absolute;top:10px;right:12px;width:30px;height:30px;padding:0;border:none;background:transparent;color:#aaa;font-size:24px;line-height:1;cursor:pointer;border-radius:6px}.dialog-x:hover{background:#ffffff1f;color:#fff}.save-opt{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:3px;min-width:0;height:100%;padding:14px 16px;border:.5px solid #565b61;border-radius:10px;background:#ffffff0a;color:#e6e8ea;text-align:left;cursor:pointer;transition:background .15s ease,border-color .15s ease}.save-opt:hover{background:#3b82f624;border-color:#3b82f6}.save-opt.disabled{opacity:.4;cursor:not-allowed}.save-opt-title{font-size:13px;font-weight:600;white-space:nowrap}.save-opt-sub{font-size:12px;color:#9aa4af}dialog{padding:1.5rem;border:1px solid #555;border-radius:8px;box-shadow:0 4px 12px #00000080;max-width:500px;width:90%;font-family:inherit;background-color:#333;color:#fff}dialog::backdrop{background:#0009}dialog h3{margin-top:0;color:#fff;border-bottom:1px solid #555;padding-bottom:.5rem}dialog p{color:#ddd;white-space:pre-wrap}dialog button{background-color:#e0e0e0;color:#000;border:none;padding:.5rem 1rem;border-radius:4px;margin-top:1rem;float:right;cursor:pointer}dialog button:hover{background-color:#fff}
