body,html{background-color:#121212}.app-header,.app-nav,body{display:flex}button,select{cursor:pointer}#controls,#status-msg,.app-nav,.status-progress{max-width:950px}#pwa-install-bar,#status-msg,.metric,.nav-link,.notice-item,.notice-summary,.notice-title,h1,p{text-align:center}#chart-container,.app-nav{position:relative;margin-bottom:20px}.pwa-bar-visible #pwa-install-bar,canvas{display:block}@view-transition{navigation:auto}::view-transition-image-pair(root){background:#121212}.app-nav{view-transition-name:app-nav;position:relative;z-index:10}::view-transition-new(app-nav),::view-transition-old(app-nav){animation:none;mix-blend-mode:normal}::view-transition-new(app-header),::view-transition-old(app-header){animation:none;mix-blend-mode:normal}::view-transition-new(pwa-install-bar),::view-transition-old(pwa-install-bar){animation:none;mix-blend-mode:normal}::view-transition-old(root){animation:420ms ease-in both wfm-slide-out}::view-transition-new(root){animation:420ms ease-out both wfm-slide-in}@keyframes wfm-slide-out{to{transform:translateX(-100%);opacity:1}}@keyframes wfm-slide-in{from{transform:translateX(100%);opacity:1}}*{box-sizing:border-box;font-family:system-ui,-apple-system,sans-serif}body{color:#f0f0f0;flex-direction:column;align-items:center;padding:15px;margin:0}.app-header{align-items:center;gap:10px;margin:1em auto 1.7em;view-transition-name:app-header}.app-header-icon{width:96px;height:96px}.app-header-title{font-size:30px;letter-spacing:.04em;color:#f0f0f0;font-weight:300}.app-header-title strong{font-weight:600;color:#00bcff}#pwa-install-bar{display:none;width:100%;max-width:950px;margin-bottom:12px;view-transition-name:pwa-install-bar}.btn-pwa-install{background:linear-gradient(135deg,#007acc,#0fb5f6);color:#fff;border:none;border-radius:6px;padding:10px 24px;font-size:14px;font-weight:700;cursor:pointer;width:auto;height:auto;letter-spacing:.02em;transition:opacity .2s}.nav-link,label,p{color:#aaa}.control-row-title,.notice-item-band,.notice-title{letter-spacing:.5px;font-weight:700}.btn-pwa-install:hover{opacity:.85}h1{margin-bottom:4px;font-size:clamp(20px, 5vw, 28px)}p{margin-top:0;font-size:13px}.app-nav{justify-content:center;gap:8px;width:100%;background:#181818;padding:6px;border-radius:8px;border:1px solid #333}@media screen and (max-width:700px){.app-nav{flex-direction:column;gap:6px}}#controls,.control-row{gap:12px;display:flex;width:100%}.nav-link{flex:1;padding:10px 16px;text-decoration:none;font-weight:700;font-size:14px;border-radius:6px;transition:.2s}.nav-link:hover{color:#fff;background:#252525}.nav-link.active{color:#fff;background:#007acc}#controls{margin:15px 0;flex-direction:column;background:#1e1e1e;padding:15px;border-radius:8px;border:1px solid #333}.control-row{flex-wrap:wrap;align-items:flex-end}.control-row-title{width:100%;font-size:11px;text-transform:uppercase;color:#00bcff;margin-bottom:-4px}.control-group{display:flex;flex-direction:column;gap:4px;flex:1 1 180px;min-width:0}label{font-size:12px;font-weight:700}input[type=number],input[type=text],select{background-color:#2a2a2a;color:#fff;border:1px solid #444;padding:8px 12px;border-radius:4px;font-size:14px;width:100%;height:38px;outline:0;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=number]{appearance:textfield;-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}select{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="%23aaaaaa" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>');background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}input:focus,select:focus{border-color:#00bcff;box-shadow:0 0 0 1px #00bcff}input[type=file]{background:#2a2a2a;color:#fff;border:1px solid #444;padding:6px 12px;border-radius:4px;font-size:13px;width:100%;height:38px}input[type=range]{width:100%;accent-color:#00bcff}button{padding:9px 16px;font-size:14px;font-weight:700;background-color:#007acc;color:#fff;border:none;border-radius:4px;height:38px;white-space:nowrap;transition:background-color .15s}button:hover{background-color:#005999}.btn-secondary:hover,button:disabled{background-color:#444}button:disabled{cursor:not-allowed}button.btn-stop{background-color:#d32f2f}button.btn-stop:hover{background-color:#b71c1c}.btn-secondary{background-color:#333;border:1px solid #555}#status-msg{font-size:13px;color:#ff9800;margin-bottom:8px;font-weight:700;width:100%}.status-progress{width:100%;margin-bottom:12px}.status-progress-track{position:relative;height:8px;border-radius:999px;background:#232323;border:1px solid #333;overflow:hidden}.status-progress-bar{position:absolute;inset:0 auto 0 0;width:0;border-radius:999px;background:linear-gradient(90deg,#00bcff 0,#0fc 100%);transition:width 120ms linear}#readouts,.notice-panel{width:100%;max-width:950px;margin-bottom:15px;padding:12px}#chart-container,#readouts,.notice-panel,textarea{background:#181818}.status-progress-bar.indeterminate{width:36%;animation:1.1s linear infinite wfm-progress-indeterminate}.status-progress-label{margin-top:6px;color:#888;font-size:11px;text-align:center}@keyframes wfm-progress-indeterminate{0%{transform:translateX(-120%)}100%{transform:translateX(360%)}}#readouts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;border-radius:6px;border:1px solid #282828}.metric-val{font-size:clamp(16px, 4vw, 20px);font-weight:700;color:#00bcff}.metric-label,.notice-title{color:#888;font-size:10px;text-transform:uppercase}.metric-label{margin-top:2px}.notice-panel{border-radius:6px;border:1px solid #282828}.card,.notice-item{background:#1e1e1e}.notice-title{margin-bottom:8px}.notice-summary{color:#aaa;font-size:13px;line-height:1.45}.notice-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-top:12px}.notice-item{border:1px solid #333;border-radius:6px;padding:10px 12px}.notice-item-band{color:#00bcff;font-size:10px;text-transform:uppercase;margin-bottom:4px}.notice-item-title{color:#f0f0f0;font-size:13px;font-weight:700;margin-bottom:3px}.notice-item-detail{color:#aaa;font-size:12px;line-height:1.4}.chart-controls-panel{margin-top:-2px}.chart-controls-row{margin-top:4px}.chart-controls-row .control-group{flex:1 1 240px}#log-container,.card{width:100%;max-width:950px;flex-direction:column;display:flex}#chart-container{width:100%;max-width:950px;border-radius:8px;border:1px solid #333;overflow:hidden}canvas{width:100%;height:380px}#log-container{gap:8px}.log-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}textarea{width:100%;height:140px;color:#0fc;border:1px solid #333;border-radius:6px;padding:10px;font-family:monospace;font-size:12px;resize:vertical}.card{margin-top:15px;padding:25px;border-radius:8px;border:1px solid #333;gap:18px}.control{display:flex;flex-direction:column;gap:6px}.control label{font-size:13px;color:#ccc;font-weight:700;display:flex;justify-content:space-between}.btn-group{display:flex;gap:10px}.btn-group button{flex:1;height:auto;padding:12px}@media (max-width:600px){body{padding:8px}.nav-link{font-size:12px;padding:8px 10px}#controls{padding:10px;gap:14px}.control-row{gap:8px}.control-group{flex:1 1 100%}#status-msg{min-height:calc(1.35em * 3);line-height:1.35;display:flex;align-items:center;justify-content:center;padding:0 6px;margin-bottom:15px}button{width:100%}.btn-group button{width:auto}canvas{height:280px}.notice-panel{padding:12px}}