*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}input,button,select,textarea,optgroup,option{font-family:inherit;font-size:inherit;line-height:inherit;color:inherit}input:not([type=checkbox]):not([type=radio]):not([type=file]),button,select,textarea{-webkit-appearance:none;appearance:none}input,button,select,textarea{box-sizing:border-box;margin:0}button{cursor:pointer;background-color:transparent;border:none;padding:0}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.5}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[type=checkbox],input[type=radio]{-webkit-appearance:none;appearance:none;width:14px;height:14px;flex-shrink:0;background:var(--bg-input);border:1px solid var(--border-bright);border-radius:var(--rad-xs);cursor:pointer;transition:background .12s,border-color .12s;position:relative}input[type=radio]{border-radius:50%}input[type=checkbox]:checked,input[type=radio]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:4px;height:8px;border:2px solid var(--on-accent);border-top:none;border-left:none;transform:rotate(45deg)}input[type=radio]:checked:after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--on-accent)}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}input[type=file]{font-family:inherit;font-size:var(--fs-sm);color:var(--text-lo);cursor:pointer}input[type=file]::file-selector-button{-webkit-appearance:none;appearance:none;background:var(--bg-panel);border:1px solid var(--border-bright);border-radius:var(--rad-sm);color:var(--text-md);cursor:pointer;font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:600;letter-spacing:normal;padding:var(--sp-xs) var(--sp-md);margin-right:var(--sp-md);transition:all .12s}input[type=file]::file-selector-button:hover{border-color:var(--accent);color:var(--accent)}textarea{resize:vertical}select option,select optgroup{background-color:var(--bg-panel);color:var(--text-hi)}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}body{font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.57;background:var(--bg-deep);color:var(--text-hi);height:100vh;display:flex;flex-direction:column;overflow:hidden}#topbar{display:flex;align-items:center;gap:var(--sp-lg);padding:0 var(--sp-xl);height:52px;background:var(--bg-panel);border-bottom:1px solid var(--border);flex-shrink:0;position:relative}#topbar:after{content:"";position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,var(--accent) 0%,transparent 60%)}.logo{font-family:var(--font-disp);font-size:var(--fs-xl);font-weight:700;letter-spacing:3px;color:var(--accent);text-transform:uppercase;white-space:nowrap;display:inline-flex;align-items:center;gap:var(--sp-sm)}.logo-rocket{height:1em;width:auto;flex-shrink:0}.logo span{color:var(--text-md);font-weight:400;font-family:var(--font-mono);font-size:var(--fs-sm);letter-spacing:1.5px}.logo .r{color:var(--router)}.logo-sub{font-family:var(--font-sans);font-size:var(--fs-sm);color:var(--text-lo);letter-spacing:normal;margin-left:var(--sp-sm)}.logo-type{font-family:var(--font-sans);font-size:var(--fs-base);font-weight:700;letter-spacing:normal;opacity:.75;padding-left:var(--sp-md);border-left:1px solid var(--border-bright);margin-left:var(--sp-xxs);white-space:nowrap}.nav-link{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-xs) var(--sp-md);border-radius:var(--rad-sm);font-family:var(--font-sans);font-size:var(--fs-base);font-weight:600;letter-spacing:normal;text-decoration:none;color:var(--text-md);border:1px solid var(--border);transition:all .15s}.nav-link:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}#status-bar{display:flex;align-items:center;gap:var(--sp-md);margin-left:auto;font-size:var(--fs-sm);color:var(--text-md)}#status-dot{width:7px;height:7px;border-radius:50%;background:var(--text-lo);transition:background .4s,box-shadow .4s}#status-dot.ok{background:var(--green);box-shadow:0 0 8px var(--green)}#status-dot.err{background:var(--red);box-shadow:0 0 8px var(--red)}#status-dot.loading{background:var(--accent);box-shadow:0 0 8px var(--accent);animation:pulse 1s infinite}#status-text{letter-spacing:.5px}.topbar-btn{display:flex;align-items:center;gap:var(--sp-sm);padding:var(--sp-sm) var(--sp-lg);border-radius:var(--rad-sm);font-family:var(--font-sans);font-size:var(--fs-base);font-weight:600;letter-spacing:normal;text-transform:none;cursor:pointer;border:1px solid;transition:all .15s;white-space:nowrap;flex-shrink:0}.btn-load{background:transparent;border-color:var(--border-bright);color:var(--text-md)}.btn-load:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-glow)}.btn-save{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-save:hover{background:var(--accent-hi);border-color:var(--accent-hi)}.btn-save:disabled{background:var(--accent-dim);border-color:var(--accent-dim);color:var(--on-accent-dim);cursor:not-allowed}#app{display:flex;flex:1;overflow:hidden}.nav-section{padding:var(--sp-lg) var(--sp-lg) var(--sp-sm);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:600;letter-spacing:normal;color:var(--text-lo)}.nav-icon{font-size:var(--fs-base);width:16px;text-align:center}.nav-item{display:flex;align-items:center;gap:var(--sp-md);padding:var(--sp-sm) var(--sp-lg) var(--sp-sm) var(--sp-xl);cursor:pointer;font-size:var(--fs-sm);color:var(--text-md);border-left:3px solid transparent;transition:all .15s;position:relative;letter-spacing:.5px}.nav-item:hover{color:var(--text-hi);background:var(--accent-tint-faint)}.nav-item.active{color:var(--accent);border-left-color:var(--accent);background:var(--accent-glow)}.section{display:none;animation:fadeIn .2s ease}.section.active{display:block}.section-header{display:flex;align-items:flex-end;gap:var(--sp-lg);margin-bottom:var(--sp-xl);padding-bottom:var(--sp-lg);border-bottom:1px solid var(--border);position:relative}.section-header:after{content:"";position:absolute;bottom:-1px;left:0;width:60px;height:2px;background:var(--accent)}.section-title{font-family:var(--font-disp);font-size:var(--fs-xl);font-weight:700;letter-spacing:3px;text-transform:uppercase;color:var(--text-hi)}.section-key{font-size:var(--fs-sm);color:var(--accent);letter-spacing:1px;padding:var(--sp-xxs) var(--sp-sm);border:1px solid var(--accent-dim);border-radius:var(--rad-xs);font-family:var(--font-mono)}.section-desc{font-size:var(--fs-sm);color:var(--text-lo);margin-top:var(--sp-sm);letter-spacing:.3px}.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--sp-xl);margin-bottom:var(--sp-xl)}.field-grid.wide{grid-template-columns:1fr}.field-grid.two{grid-template-columns:1fr 1fr}.field{display:flex;flex-direction:column;gap:var(--sp-sm);font-size:var(--fs-sm)}.field.span2{grid-column:span 2}label{font-size:var(--fs-sm);font-weight:500;letter-spacing:normal;text-transform:none;color:var(--text-md);display:flex;align-items:center;gap:var(--sp-sm)}input[type=text],input[type=number],input[type=password],select,textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--rad-sm);color:var(--text-hi);font-family:var(--font-mono);font-size:var(--fs-base);padding:var(--sp-sm) var(--sp-md);outline:none;transition:border-color .15s,box-shadow .15s;width:100%}input[type=text]:focus,input[type=number]:focus,input[type=password]:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}input[type=text]::placeholder,input[type=number]::placeholder,textarea::placeholder{color:var(--text-lo);opacity:.7}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%238aaccc'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:var(--sp-2xl)}select option{background:var(--bg-panel)}textarea{resize:vertical;min-height:80px;line-height:1.5}.hint{font-size:var(--fs-sm);color:var(--text-lo);letter-spacing:.3px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--rad-sm);padding:var(--sp-xl);margin-bottom:var(--sp-xl)}.card-title{font-family:var(--font-sans);font-size:var(--fs-base);font-weight:600;letter-spacing:normal;color:var(--accent);display:flex;align-items:center;gap:var(--sp-md);margin-bottom:var(--sp-lg)}.card-title:before{content:"";display:inline-block;width:3px;height:14px;background:var(--accent);border-radius:var(--rad-xs)}#lock-banner{display:none;align-items:center;gap:var(--sp-md);padding:var(--sp-md) var(--sp-lg);background:var(--warn-tint);border-bottom:1px solid var(--warn-border);font-size:var(--fs-sm);color:var(--warn)}#lock-banner.visible{display:flex}.lock-icon{font-size:var(--fs-md);flex-shrink:0}.lock-banner-dismiss{margin-left:auto;background:none;border:none;color:var(--warn);cursor:pointer;font-size:var(--fs-base);padding:0 var(--sp-xs);opacity:.7}.lock-banner-dismiss:hover{opacity:1}.breadcrumb{display:flex;align-items:center;gap:var(--sp-xs);font-family:var(--font-sans);font-size:var(--fs-base);letter-spacing:normal}.bc-sep{color:var(--text-lo);margin:0 var(--sp-xxs);font-size:var(--fs-sm)}.bc-item{text-decoration:none;color:var(--text-md);transition:color .12s}.bc-item:hover{color:var(--text-hi)}.bc-current{color:var(--accent);font-weight:600}.nc-modal-overlay{position:fixed;inset:0;z-index:1000;background:#000000b3;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .18s}.nc-modal-overlay.open{opacity:1;pointer-events:all}.nc-modal{background:var(--bg-panel);border:1px solid var(--border-bright);border-radius:var(--rad-md);padding:var(--sp-xl) var(--sp-xl) var(--sp-xl);width:92%;max-width:420px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-md);position:relative;box-shadow:0 8px 32px var(--overlay)}.nc-modal-title{font-family:var(--font-disp);font-size:var(--fs-md);font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--text-hi)}.nc-modal-body{font-size:var(--fs-sm);color:var(--text-md);line-height:1.7;white-space:pre-line}.nc-modal-actions{display:flex;gap:var(--sp-md);margin-top:var(--sp-sm)}.nc-modal-btn{padding:var(--sp-sm) var(--sp-xl);border-radius:var(--rad-sm);font-family:var(--font-sans);font-size:var(--fs-base);font-weight:600;letter-spacing:normal;text-transform:none;cursor:pointer;transition:all .15s}.nc-modal-cancel{background:transparent;border:1px solid var(--border-bright);color:var(--text-md)}.nc-modal-confirm{background:var(--accent);border:1px solid var(--accent);color:var(--on-accent)}.nc-modal-confirm:hover{background:var(--accent-hi)}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-thumb{background:var(--border-bright);border-radius:var(--rad-sm)}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-corner{background:transparent}@keyframes fadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.nc-btn{padding:var(--sp-sm) var(--sp-xl);border-radius:var(--rad-sm);font-family:var(--font-sans);font-size:var(--fs-base);font-weight:600;letter-spacing:normal;text-transform:none;cursor:pointer;border:1px solid;transition:all .15s;min-width:90px;outline:none}.nc-btn:focus-visible{box-shadow:0 0 0 2px var(--accent)}.nc-btn-cancel{background:transparent;border-color:var(--border-bright);color:var(--text-md)}.nc-btn-cancel:hover{border-color:var(--text-md);color:var(--text-hi)}.nc-btn-confirm{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.nc-btn-confirm:hover{background:var(--accent-hi);border-color:var(--accent-hi)}.nc-btn-danger{background:transparent;border-color:var(--red);color:var(--red)}.nc-btn-danger:hover{background:var(--red-tint)}.nc-modal:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--accent),transparent);border-radius:var(--rad-md) var(--rad-md) 0 0}.nc-modal-icon{font-size:var(--fs-xl);line-height:1;margin-bottom:var(--sp-xxs)}.nc-icon-success{color:var(--green)}.nc-icon-warning{color:var(--warn)}.nc-icon-error{color:var(--red)}.nc-icon-info{color:var(--accent)}
