:root{--bg: #f3f4f6;--surface: #ffffff;--surface-2: #f8f9fa;--text: #1b1d21;--text-2: #5c6370;--text-3: #8a919c;--line: #e4e6ea;--accent: #d61021;--accent-hover: #b20a19;--accent-soft: #fde8ea;--danger: #c5362c;--danger-soft: #fbeceb;--radius: 12px;--shadow: 0 1px 2px rgba(16, 24, 40, .06), 0 1px 3px rgba(16, 24, 40, .08);--shadow-lg: 0 12px 32px rgba(16, 24, 40, .18);color-scheme:light}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.45;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button,input,select{font:inherit;color:inherit}a{color:var(--accent)}.hidden{display:none!important}.app-bar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:4px;height:60px;padding:0 12px 0 16px;background:var(--surface);border-bottom:1px solid var(--line)}.app-bar>.icon-btn:first-child{margin-left:-8px}.app-bar-logo{display:flex;align-items:center;flex-shrink:0;padding-right:12px;margin-right:4px;border-right:1px solid var(--line)}.app-bar-logo img{display:block;height:28px;width:auto}.app-bar-title{flex:1;min-width:0;padding:0 8px}.app-bar-title h1{font-size:19px;font-weight:600;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-bar-sub{font-size:13px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:-1px}.app-bar-actions{display:flex;align-items:center;gap:8px}.main{max-width:760px;margin:0 auto;padding:24px 16px 64px}.ic{fill:currentColor;flex-shrink:0}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:38px;padding:0 16px;border-radius:19px;border:none;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background-color .15s,color .15s,box-shadow .15s}.btn .ic{margin-left:-4px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-tonal{background:var(--accent-soft);color:var(--accent)}.btn-tonal:hover{background:#fad2d6}.btn-text{background:transparent;color:var(--accent);padding:0 12px}.btn-text:hover{background:var(--accent-soft)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#a92d24}.btn-danger-text{background:transparent;color:var(--danger);padding:0 12px}.btn-danger-text:hover{background:var(--danger-soft)}.btn:disabled{opacity:.45;cursor:default;pointer-events:none}.btn-large{height:46px;border-radius:23px;padding:0 26px;font-size:15px}.btn-block{width:100%}.icon-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:none;background:transparent;color:var(--text-2);cursor:pointer;flex-shrink:0;transition:background-color .15s}.icon-btn:hover{background:#0000000f;color:var(--text)}.icon-btn:disabled{opacity:.35;cursor:default;pointer-events:none}.list{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.list-item{display:flex;align-items:center;gap:14px;min-height:68px;padding:10px 8px 10px 16px;color:inherit;text-decoration:none;cursor:pointer;transition:background-color .12s}.list-item+.list-item{border-top:1px solid var(--line)}.list-item:hover{background:var(--surface-2)}.list-item .lead-icon{width:40px;height:40px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent);font-weight:600;font-size:15px}.list-item .text{flex:1;min-width:0}.list-item .title{font-weight:550;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.list-item .sub{font-size:13px;color:var(--text-2);margin-top:1px}.list-item .trail{display:flex;align-items:center;gap:2px}.section-head{display:flex;align-items:center;justify-content:space-between;margin:0 4px 10px;min-height:38px}.section-head h2{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2)}.menu{position:fixed;z-index:100;min-width:190px;padding:6px;background:var(--surface);border-radius:10px;box-shadow:var(--shadow-lg);border:1px solid var(--line)}.menu-item{display:flex;align-items:center;gap:12px;width:100%;height:40px;padding:0 12px;border:none;border-radius:6px;background:none;text-align:left;font-size:14px;cursor:pointer;color:var(--text)}.menu-item .ic{color:var(--text-2)}.menu-item:hover{background:var(--bg)}.menu-item:disabled{opacity:.4;pointer-events:none}.menu-item.danger,.menu-item.danger .ic{color:var(--danger)}.empty{text-align:center;padding:64px 24px}.empty-icon{width:80px;height:80px;margin:0 auto 18px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent)}.empty h2{font-size:18px;font-weight:600;margin-bottom:6px}.empty p{color:var(--text-2);margin-bottom:22px}.group{margin-bottom:28px}.group>h2{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);margin:0 4px 10px}.group-body{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.group-foot{font-size:13px;color:var(--text-3);margin:8px 4px 0}.setting{display:flex;align-items:center;gap:16px;padding:14px 16px;min-height:64px}.setting+.setting{border-top:1px solid var(--line)}.setting .text{flex:1;min-width:0}.setting .title{font-weight:550}.setting .sub{font-size:13px;color:var(--text-2);margin-top:1px}.setting .lead-icon{color:var(--text-2)}.setting select{height:36px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--surface)}.kv-row{display:flex;justify-content:space-between;gap:16px;padding:12px 16px;font-size:14px}.kv-row+.kv-row{border-top:1px solid var(--line)}.kv-row span:first-child{color:var(--text-2)}.kv-row span:last-child{text-align:right}.switch{position:relative;width:44px;height:26px;flex-shrink:0}.switch input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:1}.switch span{position:absolute;inset:0;border-radius:13px;background:#c9cdd3;transition:background-color .15s}.switch span:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform .15s}.switch input:checked+span{background:var(--accent)}.switch input:checked+span:after{transform:translate(18px)}.switch input:disabled{cursor:default}.switch input:disabled+span{opacity:.45}.models{display:flex;flex-direction:column;gap:10px}.model{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--radius);cursor:pointer;background:var(--surface);border:1.5px solid var(--line);transition:border-color .15s,background-color .15s}.model:hover{border-color:#c8ccd2}.model.selected{border-color:var(--accent);background:#fff6f7}.model.unavailable{cursor:default}.model .radio{width:20px;height:20px;border-radius:50%;flex-shrink:0;border:2px solid #b4bac2;position:relative;transition:border-color .15s}.model.selected .radio{border-color:var(--accent)}.model.selected .radio:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--accent)}.model .text{flex:1;min-width:0}.model .name{font-weight:600;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.model .desc{font-size:13px;color:var(--text-2);margin-top:2px}.model .status{font-size:13px;color:var(--text-3);margin-top:4px}.model .status.ok{color:var(--accent)}.model .size{font-size:13px;color:var(--text-2);white-space:nowrap}.model .actions{display:flex;align-items:center;gap:4px}.badge{font-size:11px;font-weight:600;letter-spacing:.02em;padding:2px 8px;border-radius:10px;background:var(--accent);color:#fff}.badge.muted{background:#eceef1;color:var(--text-2)}.progress{height:4px;background:#e3e6ea;border-radius:2px;overflow:hidden;margin-top:8px}.progress>div{height:100%;width:0;background:var(--accent);transition:width .2s}.onboard{min-height:100%;display:flex;align-items:center;justify-content:center;padding:32px 16px}.onboard-card{width:min(560px,100%);background:var(--surface);border-radius:20px;box-shadow:var(--shadow);padding:36px 36px 30px}.onboard-logo{display:block;height:32px;width:auto;margin-bottom:28px}.onboard-step{font-size:13px;font-weight:600;color:var(--accent);margin-bottom:18px;display:flex;align-items:center;gap:10px}.onboard-step .dots{display:flex;gap:6px}.onboard-step .dots i{width:24px;height:4px;border-radius:2px;background:#dde1e5}.onboard-step .dots i.on{background:var(--accent)}.onboard-icon{width:56px;height:56px;border-radius:16px;margin-bottom:18px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent)}.onboard h1{font-size:24px;font-weight:650;letter-spacing:-.015em;margin-bottom:8px}.onboard p.intro{color:var(--text-2);margin-bottom:24px}.onboard .models{margin-bottom:24px}.onboard .model{background:var(--surface)}.onboard .footer{display:flex;justify-content:flex-end;align-items:center;gap:12px}.onboard .footer .note{flex:1;font-size:13px;color:var(--text-3)}.onboard .chosen{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:10px;background:var(--surface-2);margin-bottom:24px;color:var(--text-2);font-size:14px}.onboard .chosen b{color:var(--text);font-weight:600}dialog.modal{margin:auto;border:none;border-radius:16px;padding:24px;width:min(440px,calc(100vw - 32px));background:var(--surface);color:var(--text);box-shadow:var(--shadow-lg)}dialog.modal::backdrop{background:#0f141966}dialog.modal h2,dialog.modal h3{font-size:19px;font-weight:600;margin-bottom:16px}dialog.modal .dialog-text{color:var(--text-2)}.modal .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px}.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;font-size:13px;font-weight:550;color:var(--text-2)}.field input[type=text],.field select{height:42px;padding:0 12px;font-size:15px;font-weight:400;color:var(--text);border:1px solid #d3d7dc;border-radius:8px;background:var(--surface)}.field input[type=text]:focus,.field select:focus{outline:2px solid var(--accent);outline-offset:-1px;border-color:transparent}.modal .meta{font-size:13px;color:var(--text-2)}.modal .btn{height:38px}#toast-container{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:1000;display:flex;flex-direction:column-reverse;gap:8px;align-items:center;pointer-events:none;width:min(520px,calc(100vw - 32px))}.toast-message{pointer-events:auto;display:flex;align-items:center;gap:12px;width:100%;padding:12px 8px 12px 16px;border-radius:10px;background:#2b2f36;color:#fff;box-shadow:var(--shadow-lg);font-size:14px;opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s}.toast-message.show{opacity:1;transform:none}.toast-error{background:#9f2a21}.toast-warning{background:#8a5a00}.toast-content{flex:1}.toast-close-button{background:none;border:none;color:inherit;opacity:.7;font-size:20px;line-height:1;width:32px;height:32px;border-radius:50%;cursor:pointer}.toast-close-button:hover{opacity:1;background:#ffffff1f}@media(max-width:560px){.main{padding:16px 12px 48px}.onboard{padding:0;align-items:stretch}.onboard-card{border-radius:0;box-shadow:none;padding:28px 20px}.onboard-logo{height:26px;margin-bottom:24px}.app-bar-actions .btn .label{display:none}.app-bar-logo{padding-right:8px}.app-bar-logo img{height:20px}.app-bar-actions .btn{padding:0 10px}.app-bar-actions .btn .ic{margin:0}.model{padding:12px;gap:12px}.model .size,.model .actions .btn .label{display:none}.model .actions .btn{padding:0 10px}.model .actions .btn .ic{margin:0}}.group-body.plain{background:none;box-shadow:none;border-radius:0;overflow:visible}
