:root{--paper: #EAEFF1;--paper-2: #DFE5E8;--surface: #FFFFFF;--surface-2: #F4F7F8;--ink: #1A2330;--ink-2: #3B4654;--ink-3: #6B7585;--ink-4: #9CA4B1;--rule: #DCE3E6;--rule-2: #C8D1D6;--navy: #233E50;--navy-2: #2D4B61;--navy-deep: #1A2F3F;--navy-tint: #E6ECF0;--redline: #E94560;--redline-2: #D63B53;--redline-tint: #FCE7EC;--redline-soft: #FDF2F4;--green: #15803D;--green-tint: #E6F2EA;--amber: #B45309;--amber-tint: #FBF1DC;--red: #BE2C3F;--red-tint: #FBE6E9;--blue: #1A6FB8;--blue-tint: #E5EFF7;--font-sans: "IBM Plex Sans", -apple-system, system-ui, sans-serif;--font-mono: "IBM Plex Mono", "SF Mono", Menlo, monospace;--r-xs: 3px;--r-sm: 5px;--r-md: 7px;--r-lg: 10px;--shadow-window: 0 24px 60px rgba(20, 23, 31, .18), 0 2px 6px rgba(20, 23, 31, .08);--shadow-card: 0 1px 2px rgba(20, 23, 31, .04), 0 0 0 1px var(--rule);--shadow-pop: 0 8px 24px rgba(20, 23, 31, .12)}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;font-family:var(--font-sans);font-size:13.5px;line-height:1.5;color:var(--ink);background:radial-gradient(1200px 600px at 20% -10%,#D7DFE3 0%,transparent 60%),radial-gradient(900px 500px at 100% 100%,#CFD8DD 0%,transparent 60%),var(--paper-2);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}#root{height:100%}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select{font-family:inherit;font-size:inherit;color:inherit}input:focus,select:focus{outline:none}.window{width:min(1320px,calc(100vw - 32px));height:min(840px,calc(100vh - 32px));margin:16px auto;background:var(--paper);border-radius:10px;box-shadow:var(--shadow-window);overflow:hidden;display:grid;grid-template-rows:32px 56px 1fr 56px;position:relative}.titlebar{background:linear-gradient(180deg,#d7dfe3,#c8d2d7);border-bottom:1px solid var(--rule-2);display:flex;align-items:center;padding:0 12px;-webkit-user-select:none;user-select:none;position:relative}.traffic{display:flex;gap:7px}.traffic span{width:12px;height:12px;border-radius:50%;display:inline-block;border:.5px solid rgba(0,0,0,.15)}.traffic .c{background:#ff5f57}.traffic .m{background:#febc2e}.traffic .g{background:#28c840}.title{position:absolute;left:50%;transform:translate(-50%);font-size:12px;color:var(--ink-2);font-weight:500;letter-spacing:.01em}.appbar{background:#233e50;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;padding:0 20px;gap:20px}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;letter-spacing:-.01em;color:#fff}.brand b{color:#fff;font-weight:700}.brand span{color:#ffffffd9;font-weight:500}.appbar-divider{width:1px;height:22px;background:#ffffff24}.project-chip{display:flex;align-items:center;gap:10px;padding:6px 12px;background:#ffffff12;border:1px solid rgba(255,255,255,.1);border-radius:var(--r-md);font-size:12.5px}.project-chip .label{color:#ffffff8c;text-transform:uppercase;letter-spacing:.05em;font-size:10.5px;font-weight:500}.project-chip .val{color:#fff;font-weight:500}.project-chip .ver{font-family:var(--font-mono);color:#ffffffc7;font-size:11.5px}.appbar-spacer{flex:1}.appbar .icon-btn{color:#ffffffbf}.appbar .icon-btn:hover{background:#ffffff1a;color:#fff}.icon-btn{width:30px;height:30px;border-radius:var(--r-sm);display:grid;place-items:center;color:var(--ink-3);transition:background .15s,color .15s}.icon-btn:hover{background:var(--surface-2);color:var(--ink)}.icon-btn svg{width:16px;height:16px}.main{display:grid;grid-template-columns:240px 1fr;overflow:hidden;background:var(--paper)}.sidebar{background:var(--surface);border-right:1px solid var(--rule);padding:24px 16px;overflow-y:auto;display:flex;flex-direction:column}.sidebar-label{font-size:10.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-4);font-weight:600;padding:0 8px 12px}.step{display:flex;align-items:flex-start;gap:12px;padding:10px 8px;border-radius:var(--r-md);position:relative;transition:background .15s;cursor:pointer}.step:hover{background:var(--surface-2)}.step+.step{margin-top:4px}.step .num{width:22px;height:22px;flex-shrink:0;border-radius:50%;background:var(--surface-2);color:var(--ink-3);font-family:var(--font-mono);font-size:11px;font-weight:600;display:grid;place-items:center;border:1px solid var(--rule);transition:all .2s}.step .label-wrap{flex:1;min-width:0;padding-top:1px}.step .label{font-size:13px;font-weight:500;color:var(--ink-2);letter-spacing:-.005em}.step .sub{font-size:11.5px;color:var(--ink-4);margin-top:2px}.step.done .num{background:var(--green);border-color:var(--green);color:#fff}.step.done .label{color:var(--ink)}.step.active{background:var(--navy-tint)}.step.active .num{background:var(--navy);border-color:var(--navy);color:#fff}.step.active .label{color:var(--navy);font-weight:600}.step-connector{width:1px;height:12px;background:var(--rule);margin-left:19px}.sidebar-section{margin-top:32px;padding:0 8px}.meta-row{display:flex;justify-content:space-between;padding:6px 0;font-size:12px;border-bottom:1px dashed var(--rule)}.meta-row:last-child{border-bottom:none}.meta-row .k{color:var(--ink-4)}.meta-row .v{color:var(--ink-2);font-weight:500;font-family:var(--font-mono);font-size:11.5px}.workspace{overflow-y:auto;padding:28px 36px 32px;position:relative}.page-head{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid var(--rule);margin-bottom:24px}.page-eyebrow{display:inline-block;font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.12em;color:var(--redline);font-weight:600;margin-bottom:10px;padding:4px 12px;border:1.5px solid var(--redline);border-radius:999px;background:var(--redline-soft)}.page-title{font-size:22px;font-weight:600;letter-spacing:-.018em;color:var(--ink)}.page-desc{font-size:13px;color:var(--ink-3);margin-top:4px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 24px}.field-full{grid-column:1 / -1}.field label{display:block;font-size:12px;font-weight:500;color:var(--ink-2);margin-bottom:6px;letter-spacing:-.005em}.field label .req{color:var(--redline);margin-left:2px;display:inline;white-space:nowrap;font-weight:600}.field .hint{font-size:11.5px;color:var(--ink-4);margin-top:4px}.input,.select{width:100%;padding:9px 12px;background:var(--surface);border:1px solid var(--rule-2);border-radius:var(--r-sm);font-size:13px;color:var(--ink);transition:border-color .15s,box-shadow .15s}.input:focus,.select:focus{border-color:var(--navy);box-shadow:0 0 0 3px #233e501f}.input::placeholder{color:var(--ink-4)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236B6F7C' stroke-width='2'%3e%3cpolyline points='6 9 12 15 18 9'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px}.folder-input{display:flex;gap:0;align-items:stretch}.input-with-action{display:flex;gap:8px;align-items:stretch}.input-with-action .input{flex:1}.input-with-action .btn{flex-shrink:0}.folder-input .input{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none;font-family:var(--font-mono);font-size:12px;color:var(--ink-2)}.folder-input .input::placeholder{font-family:var(--font-sans);font-size:13px}.browse-btn{padding:0 14px;background:var(--surface-2);border:1px solid var(--rule-2);border-top-right-radius:var(--r-sm);border-bottom-right-radius:var(--r-sm);font-size:12.5px;color:var(--ink-2);font-weight:500;display:flex;align-items:center;gap:6px;white-space:nowrap;transition:background .15s}.browse-btn:hover{background:var(--paper-2)}.browse-btn svg{width:14px;height:14px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 18px;border-radius:999px;font-size:13px;font-weight:600;letter-spacing:.005em;transition:all .15s;white-space:nowrap}.btn svg{width:14px;height:14px}.btn-primary{background:var(--redline);color:#fff}.btn-primary:hover{background:var(--redline-2)}.btn-primary:disabled{background:var(--rule-2);color:var(--ink-4);cursor:not-allowed}.btn-ghost{color:var(--ink-2);background:transparent}.btn-ghost:hover{background:var(--surface-2)}.btn-outline{background:var(--surface);color:var(--ink);border:1.5px solid var(--ink)}.btn-outline:hover{background:var(--ink);color:var(--surface)}.btn-sm{padding:6px 14px;font-size:12px}.section-head{display:flex;justify-content:space-between;align-items:center;margin:28px 0 12px}.section-title{font-size:14px;font-weight:600;color:var(--ink);letter-spacing:-.005em;display:flex;align-items:center;gap:10px}.section-title .count{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-3);font-weight:500;padding:2px 8px;background:var(--surface-2);border-radius:99px}.section-tools{display:flex;align-items:center;gap:6px}.search{position:relative}.search input{width:220px;padding:6px 10px 6px 30px;background:var(--surface);border:1px solid var(--rule-2);border-radius:var(--r-sm);font-size:12.5px}.search svg{position:absolute;left:9px;top:50%;transform:translateY(-50%);width:13px;height:13px;color:var(--ink-4)}.pair-table{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);overflow:hidden}.pair-row{display:grid;grid-template-columns:40px 1fr 1fr 120px 100px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--rule);font-size:12.5px;transition:background .12s}.pair-row.unmatched{opacity:.6;background:var(--red-tint);border:1px solid rgba(190,44,63,.15)}.pair-row.unmatched:hover{background:var(--red-tint)}.cb.disabled{opacity:.4;cursor:not-allowed!important}.cb.disabled:hover{border-color:var(--rule-2)}.pair-row.head{background:var(--surface-2);font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--ink-3);font-weight:600;padding-top:8px;padding-bottom:8px}.pair-row.head:hover{background:var(--surface-2)}.file-name{font-family:var(--font-mono);font-size:12px;color:var(--ink);display:flex;align-items:center;gap:8px}.file-name svg{width:14px;height:14px;color:var(--ink-4);flex-shrink:0}.file-name.rlmu svg{color:var(--redline)}.file-name.revit svg{color:var(--navy)}.match-status{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;color:var(--green);font-weight:500}.match-status .dot{width:6px;height:6px;border-radius:50%;background:var(--green)}.match-status.warn{color:var(--amber)}.match-status.warn .dot{background:var(--amber)}.size-cell{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-3)}.cb{width:16px;height:16px;border:1.5px solid var(--rule-2);border-radius:3px;background:var(--surface);display:grid;place-items:center;cursor:pointer;transition:all .15s;flex-shrink:0}.cb:hover{border-color:var(--navy)}.cb.checked{background:var(--navy);border-color:var(--navy)}.cb.checked:after{content:"";width:4px;height:8px;border:solid #fff;border-width:0 1.5px 1.5px 0;transform:rotate(45deg) translate(-1px,-1px)}.cb.partial{background:var(--navy);border-color:var(--navy)}.cb.partial:after{content:"";width:8px;height:1.5px;background:#fff}.empty-state{text-align:center;padding:56px 20px;background:var(--surface);border:1px dashed var(--rule-2);border-radius:var(--r-lg)}.empty-state .ico{width:48px;height:48px;margin:0 auto 16px;background:var(--surface-2);border-radius:50%;display:grid;place-items:center;color:var(--ink-4)}.empty-state .ico svg{width:22px;height:22px}.empty-state h3{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:6px}.empty-state p{font-size:12.5px;color:var(--ink-3);max-width:340px;margin:0 auto}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:24px}.stat{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);padding:14px 16px}.stat .k{font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.06em;font-weight:500;margin-bottom:6px}.stat .v{font-size:24px;font-weight:600;color:var(--ink);font-family:var(--font-mono);letter-spacing:-.02em;line-height:1}.stat .sub{font-size:11.5px;color:var(--ink-4);margin-top:4px}.stat.add .v{color:var(--green)}.stat.upd .v{color:var(--blue)}.stat.del .v{color:var(--red)}.analysis-list{display:flex;flex-direction:column;gap:10px}.afile{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);overflow:hidden;transition:border-color .15s,box-shadow .15s}.afile.expanded{border-color:var(--rule-2);box-shadow:0 1px 3px #14171f0a}.afile-head{display:grid;grid-template-columns:28px 28px 1fr auto auto;align-items:center;gap:12px;padding:12px 16px;cursor:pointer}.afile-head:hover{background:var(--surface-2)}.caret{width:16px;height:16px;display:grid;place-items:center;color:var(--ink-3);transition:transform .2s}.afile.expanded .caret{transform:rotate(90deg)}.afile-name{font-family:var(--font-mono);font-size:12.5px;color:var(--ink)}.afile-name .sub{font-family:var(--font-sans);font-size:11.5px;color:var(--ink-4);margin-top:1px}.badges{display:flex;gap:6px}.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;font-size:11px;border-radius:99px;font-weight:500;font-family:var(--font-mono);letter-spacing:.01em}.badge.add{background:var(--green-tint);color:var(--green)}.badge.upd{background:var(--blue-tint);color:var(--blue)}.badge.del{background:var(--red-tint);color:var(--red)}.badge .dot{width:5px;height:5px;border-radius:50%;background:currentColor}.afile-status{font-size:11.5px;color:var(--ink-3);display:flex;align-items:center;gap:5px;font-family:var(--font-mono)}.afile-status .dot{width:6px;height:6px;border-radius:50%;background:var(--green)}.afile-body{border-top:1px solid var(--rule);display:none;background:var(--surface-2)}.afile.expanded .afile-body{display:block}.change-group{padding:16px 20px;border-bottom:1px solid var(--rule)}.change-group:last-child{border-bottom:none}.change-group-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.change-group-title{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;color:var(--ink-2);display:flex;align-items:center;gap:8px}.change-group-title .dot{width:6px;height:6px;border-radius:50%}.change-group-title.add .dot{background:var(--green)}.change-group-title.upd .dot{background:var(--blue)}.change-group-title.del .dot{background:var(--red)}.change-item{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-sm);padding:12px 14px;display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start}.change-item+.change-item{margin-top:8px}.change-meta{font-size:11px;font-family:var(--font-mono);color:var(--ink-4);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px}.change-meta .pin{color:var(--ink-3);background:var(--surface-2);padding:1px 6px;border-radius:3px;margin-right:6px}.value-pair{display:grid;grid-template-columns:80px 1fr;gap:8px 14px;margin-top:8px;font-size:12.5px}.value-pair .vk{font-size:11px;color:var(--ink-4);text-transform:uppercase;letter-spacing:.06em;font-weight:500;padding-top:7px}.value-pair .vv{font-family:var(--font-mono);font-size:12px;color:var(--ink);padding:6px 10px;border-radius:var(--r-xs);background:var(--surface-2);border:1px solid var(--rule);min-height:30px;display:flex;align-items:center}.value-pair .vv.editable{background:var(--surface);cursor:text}.value-pair .vv.editable:focus{outline:2px solid var(--navy);outline-offset:-1px;border-color:var(--navy)}.value-pair .vv.old{background:var(--red-tint);border-color:#be2c3f38;color:var(--red);text-decoration:line-through;text-decoration-color:#be2c3f80}.value-pair .vv.new{background:var(--green-tint);border-color:#15803d38;color:var(--green)}.value-pair .vv.added{background:var(--green-tint);border-color:#15803d38;color:var(--ink);position:relative}.value-pair .vv.added:before{content:"+";position:absolute;left:-22px;color:var(--green);font-weight:700;font-family:var(--font-mono)}.value-pair .vv.deleted{background:var(--red-tint);border-color:#be2c3f38;color:var(--ink-2);text-decoration:line-through;text-decoration-color:#be2c3f73}.progress{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);padding:16px 20px;margin-bottom:20px;display:flex;align-items:center;gap:16px}.progress-bar{flex:1;height:6px;background:var(--surface-2);border-radius:99px;overflow:hidden}.progress-fill{height:100%;background:var(--navy);border-radius:99px;transition:width .3s ease}.progress-text{font-family:var(--font-mono);font-size:12px;color:var(--ink-2);white-space:nowrap}.progress.done .progress-fill{background:var(--green)}.actionbar{background:#233e50;border-top:1px solid rgba(255,255,255,.06);display:flex;align-items:center;padding:0 24px;gap:12px}.actionbar .info{font-size:12px;color:#ffffffb8}.actionbar .info b{color:#fff;font-weight:600;font-family:var(--font-mono)}.actionbar-spacer{flex:1}.actionbar .btn{color:#ffffffe6}.actionbar .btn-ghost{color:#ffffffbf}.actionbar .btn-ghost:hover{background:#ffffff14;color:#fff}.actionbar .btn-primary{background:var(--redline);color:#fff}.actionbar .btn-primary:hover{background:var(--redline-2)}.result-summary{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:16px;margin-bottom:24px}.result-card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);padding:18px 20px;position:relative;overflow:hidden}.result-card.big{background:linear-gradient(135deg,#233e50,#2d4b61);color:#fff;border-color:var(--navy)}.result-card.big .k{color:#ffffffb3}.result-card.big .v{color:#fff}.result-card.big .sub{color:#fff9}.result-card .k{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-3);font-weight:500;margin-bottom:8px}.result-card .v{font-size:32px;font-family:var(--font-mono);font-weight:600;letter-spacing:-.025em;line-height:1}.result-card .v small{font-size:16px;color:var(--ink-4);font-weight:400}.result-card.big .v small{color:#ffffff80}.result-card .sub{font-size:12px;color:var(--ink-3);margin-top:6px}.result-card.ok .v{color:var(--green)}.result-card.fail .v{color:var(--red)}.rfile{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);overflow:hidden}.rfile+.rfile{margin-top:8px}.rfile-head{display:grid;grid-template-columns:28px 1fr auto auto auto;align-items:center;gap:14px;padding:12px 16px;cursor:pointer}.rfile-head:hover{background:var(--surface-2)}.rfile-status{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:99px;font-size:11px;font-weight:500}.rfile-status.ok{background:var(--green-tint);color:var(--green)}.rfile-status.partial{background:var(--amber-tint);color:var(--amber)}.rfile-status.fail{background:var(--red-tint);color:var(--red)}.rfile-count{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-3)}.rfile-body{display:none;border-top:1px solid var(--rule);background:var(--surface-2);padding:12px 16px 16px}.rfile.expanded .rfile-body{display:block}.rfile.expanded .caret{transform:rotate(90deg)}.rchange{display:grid;grid-template-columns:20px 90px 1fr auto;align-items:center;gap:12px;padding:8px 12px;font-size:12.5px;border-radius:var(--r-xs)}.rchange+.rchange{margin-top:2px}.rchange .ico{width:16px;height:16px;display:grid;place-items:center}.rchange .ico.ok{color:var(--green)}.rchange .ico.fail{color:var(--red)}.rchange .type{font-family:var(--font-mono);font-size:11px;color:var(--ink-3);text-transform:uppercase;letter-spacing:.04em}.rchange .desc{font-size:12.5px;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rchange .reason{font-size:11px;color:var(--red);font-style:italic}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--rule);margin-bottom:20px}.tab{padding:8px 14px;font-size:12.5px;color:var(--ink-3);font-weight:500;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .15s,border-color .15s}.tab:hover{color:var(--ink)}.tab.active{color:var(--navy);border-bottom-color:var(--navy)}.tab .count{display:inline-block;font-family:var(--font-mono);font-size:10.5px;background:var(--surface-2);padding:1px 6px;border-radius:99px;margin-left:6px;color:var(--ink-3)}.toast{position:absolute;bottom:76px;right:24px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:var(--r-md);font-size:12.5px;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-pop);opacity:0;transform:translateY(8px);transition:all .25s;pointer-events:none;z-index:50}.toast.show{opacity:1;transform:translateY(0)}.toast .ico{color:var(--green)}.modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#141e2d73;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:100;padding:24px}.modal-backdrop.show{display:flex;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{background:var(--surface);border-radius:var(--r-lg);width:600px;max-width:100%;max-height:100%;display:flex;flex-direction:column;box-shadow:0 20px 60px #141e2d4d,0 0 0 1px var(--rule);overflow:hidden}.modal.wide{width:720px}.modal-head{padding:18px 24px 14px;border-bottom:1px solid var(--rule);display:flex;justify-content:space-between;align-items:center}.modal-head h2{font-size:16px;font-weight:600;letter-spacing:-.01em;color:var(--ink)}.modal-head .sub{font-size:12px;color:var(--ink-3);margin-top:2px}.modal-close{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--ink-3);font-size:18px;transition:background .15s}.modal-close:hover{background:var(--surface-2);color:var(--ink)}.modal-body{padding:20px 24px;overflow-y:auto;flex:1}.modal-foot{padding:14px 24px;border-top:1px solid var(--rule);display:flex;justify-content:flex-end;gap:8px;background:var(--surface-2)}.settings-section+.settings-section{margin-top:26px}.settings-section h3{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--redline);font-weight:600;margin-bottom:14px;padding-bottom:8px;border-bottom:1px dashed var(--rule);display:flex;align-items:center;gap:8px}.settings-section h3 svg{width:13px;height:13px}.settings-section .field+.field{margin-top:14px}.settings-section .field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.lang-switcher{display:flex;gap:2px;background:#ffffff14;border-radius:var(--r-sm);padding:3px;margin-right:6px}.lang-option{font-size:10.5px;font-weight:600;letter-spacing:.04em;padding:3px 7px;border-radius:calc(var(--r-sm) - 2px);color:#ffffff8c;cursor:pointer;transition:background .15s,color .15s;-webkit-user-select:none;user-select:none}.lang-option:hover{color:#ffffffd9;background:#ffffff1a}.lang-option.active{background:#ffffff2e;color:#fff}.export-split{position:relative;display:flex}.export-split .export-main{border-radius:var(--r-sm) 0 0 var(--r-sm);border-right:none}.export-split .export-caret{border-radius:0 var(--r-sm) var(--r-sm) 0;padding:0 8px;border-left:1px solid var(--rule-2)}.export-menu{display:none;position:absolute;top:calc(100% + 6px);right:0;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-md);box-shadow:var(--shadow-pop);min-width:230px;z-index:200;overflow:hidden}.export-menu.open{display:block}.export-menu-item{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:background .12s;border-bottom:1px solid var(--rule)}.export-menu-item:last-child{border-bottom:none}.export-menu-item:hover{background:var(--surface-2)}.export-menu-item svg{width:16px;height:16px;flex-shrink:0;color:var(--ink-3)}.export-item-title{font-size:13px;font-weight:500;color:var(--ink)}.export-item-sub{font-size:11px;color:var(--ink-4);margin-top:1px}.help-section+.help-section{margin-top:24px}.help-section .help-h{font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--redline);font-weight:600;margin-bottom:12px;padding-bottom:8px;border-bottom:1px dashed var(--rule)}.help-lead{font-size:14.5px;line-height:1.55;color:var(--ink-2);margin:0}.help-step{display:flex;gap:14px;padding:14px;background:var(--surface-2);border:1px solid var(--rule);border-radius:var(--r-md);margin-bottom:10px}.help-step:last-child{margin-bottom:0}.help-step-num{flex-shrink:0;width:28px;height:28px;border-radius:999px;background:var(--navy);color:#fff;display:grid;place-items:center;font-family:var(--font-mono);font-size:13px;font-weight:600}.help-step-title{font-weight:600;font-size:14px;color:var(--ink-1);margin-bottom:4px}.help-step-desc{font-size:13px;line-height:1.5;color:var(--ink-3)}.help-step-desc code{font-family:var(--font-mono);font-size:11.5px;background:var(--surface);border:1px solid var(--rule);padding:1px 6px;border-radius:4px;color:var(--ink-2)}.help-list{margin:0;padding-left:18px;font-size:13.5px;line-height:1.65;color:var(--ink-2)}.help-list li+li{margin-top:6px}.help-list code{font-family:var(--font-mono);font-size:11.5px;background:var(--surface-2);border:1px solid var(--rule);padding:1px 5px;border-radius:4px;color:var(--ink-2)}.help-meta{background:var(--surface-2);border:1px solid var(--rule);border-radius:var(--r-md);padding:12px 16px}.help-meta-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:13px}.help-meta-row span{color:var(--ink-3)}.help-meta-row b{color:var(--ink-1);font-weight:600;font-family:var(--font-mono);font-size:12px}.progress-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#233e50c7;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;z-index:200}.progress-overlay.show{display:flex}.progress-card{background:var(--surface);border-radius:var(--r-lg);padding:28px 32px;width:460px;max-width:92vw;box-shadow:0 24px 64px #00000059}.progress-title{font-size:11px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--redline);font-weight:600;margin-bottom:6px}.progress-headline{font-size:18px;font-weight:600;color:var(--ink-1);margin-bottom:4px;letter-spacing:-.01em}.progress-sub{font-size:13px;color:var(--ink-3);margin-bottom:20px}.progress-track{height:8px;background:var(--surface-2);border-radius:999px;overflow:hidden;border:1px solid var(--rule)}.progress-track .progress-fill{height:100%;background:linear-gradient(90deg,var(--navy) 0%,var(--redline) 100%);width:0%;transition:width .3s ease-out;border-radius:999px}.progress-meta{display:flex;justify-content:space-between;margin-top:10px;font-size:12px;font-family:var(--font-mono)}.progress-pct{color:var(--ink-1);font-weight:600}.progress-status{color:var(--ink-3)}.token-input{position:relative}.token-input input{padding-right:70px;font-family:var(--font-mono);font-size:12px}.token-show{position:absolute;right:6px;top:50%;transform:translateY(-50%);padding:4px 10px;background:var(--surface-2);border-radius:var(--r-xs);font-size:11px;color:var(--ink-3);font-weight:500}.token-show:hover{background:var(--paper);color:var(--ink)}.project-list{display:flex;flex-direction:column;gap:8px}.project-list-item{border:1px solid var(--rule);border-radius:var(--r-md);padding:14px 16px;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;cursor:pointer;transition:all .15s;background:var(--surface)}.project-list-item:hover{border-color:var(--navy);background:var(--navy-tint)}.project-list-item .pli-name{font-weight:600;font-size:13.5px;color:var(--ink);margin-bottom:4px;letter-spacing:-.005em}.project-list-item .pli-meta{font-size:11.5px;color:var(--ink-3);font-family:var(--font-mono);display:flex;gap:12px;align-items:center}.project-list-item .pli-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--ink-4)}.project-list-item .pli-stats{text-align:right;font-size:11px;color:var(--ink-3);font-family:var(--font-mono)}.project-list-item .pli-stats .big{display:block;font-size:18px;color:var(--ink);font-weight:600}.project-list-empty{text-align:center;padding:36px 20px;color:var(--ink-4);font-size:12.5px}.workspace:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(rgba(0,0,0,.015) 1px,transparent 1px);background-size:3px 3px;opacity:.5;z-index:-1}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--rule-2);border-radius:99px;border:2px solid var(--paper)}::-webkit-scrollbar-thumb:hover{background:var(--ink-4)}@media(max-width:1100px){.stats{grid-template-columns:repeat(2,1fr)}.form-grid,.result-summary{grid-template-columns:1fr}}
