:root{
            color-scheme:light;
            font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
            line-height:1.45;
            --bg:#f3f5fb;
            --panel:#ffffff;
            --border:#dfe5f4;
            --ink:#111524;
        }
        *,*::before,*::after{box-sizing:border-box;}
        body{
            margin:0;
            min-height:100vh;
            background:var(--bg);
            color:var(--ink);
        }
        header{
            background: #131313;
            color:#f6f8ff;
            padding:20px 28px;
            padding-right:80px;
            display:flex;
            flex-wrap:wrap;
            align-items:flex-start;
            justify-content:space-between;
            gap:12px;
            position:relative;
        }
        header strong{
            display:block;
            font-size:1.5rem;
            letter-spacing:.02em;
            transition:color .2s ease;
            color:#fbbf24;
        }
        header strong .title-letter{display:inline-block; transition:color .15s ease;}
        header strong .title-letter.is-highlight{color:#10b981;}
        header strong.is-connected{color:#10b981;}
        header strong.is-stopped{color:#f59e0b;}
        header strong.is-error{color: #c33636;}
        header strong.is-idle{color:#fbbf24;}
        header strong.project-status-uploading{color:#fbbf24 !important;}
        header strong.project-status-ok{color:#34d399 !important;}
        header strong.project-status-error{color:#fca5a5 !important;}
        header strong.project-status-idle{color:#fbbf24 !important;}
        header .subtitle{
            font-size:.95rem;
            color:rgba(255,255,255,.68);
            margin-top:4px;
        }
        header .status{
            display:flex;
            align-items:center;
            gap:10px;
            font-size:.95rem;
        }
        .header-controls{
            position:absolute;
            right:28px;
            bottom:16px;
            display:flex;
            gap:10px;
        }
        .header-toggle{
            border:none;
            font-size:1.25rem;
            width:35px;
            height:35px;
            border-radius:50%;
            cursor:pointer;
            display:flex;
            align-items:center;
            justify-content:center;
            transition:background .2s ease, transform .2s ease;
        }
        .header-icon{
            width:25px;
            height:25px;
        }
        .header-toggle:hover,
        .header-toggle:focus-visible{
            background: rgba(255, 255, 255, 0.65);
            outline:none;
            transform:scale(1.05);
        }
        .header-toggle.is-active{
            background: rgba(255, 255, 255, 0.25);
        }
        .header-toggle:focus-visible{
            box-shadow:0 0 0 3px rgba(96,165,250,.25);
        }
        .status-dot{
            width:12px;
            height:12px;
            border-radius:999px;
            background:#fbbf24;
            box-shadow:0 0 8px rgba(251,191,36,.75);
            transition:background .2s ease,box-shadow .2s ease;
        }
        .status-dot.is-connected{
            background:#10b981;
            box-shadow:0 0 12px rgba(16,185,129,.7);
        }
        .status-dot.is-stopped{
            background:#f59e0b;
            box-shadow:0 0 12px rgba(245,158,11,.7);
        }
        .status-dot.is-error{
            background:#f87171;
            box-shadow:0 0 12px rgba(248,113,113,.7);
        }
        .status-dot.is-idle{
            background:#fbbf24;
        }
        main{
            padding:24px 28px 12px;
            display:flex;
            flex-direction:column;
        }
        .is-hidden{
            display:none !important;
        }
        .global-computation{
            background:rgba(255,255,255,.9);
            border:1px solid var(--border);
            border-radius:18px;
            padding:18px 24px 24px;
            box-shadow:0 18px 45px rgba(15,23,42,.08);
            display:flex;
            flex-direction:column;
            gap:18px;
            width:calc(100% + 56px);
            margin-left:-28px;
            margin-right:-28px;
            margin-bottom:12px;
            align-self:stretch;
        }
        .global-computation.hidden{
            display:none;
        }
        .global-computation-header{
            display:flex;
            align-items:flex-end;
            justify-content:space-between;
            flex-wrap:wrap;
            gap:8px;
            margin-bottom:12px;
        }
        .global-computation-header h2{
            margin:0;
            color:#0f172a;
        }
        .config-input{
            border:1px solid #cbd5f5;
            border-radius:6px;
            padding:6px 10px;
            font-size:.85rem;
            color:#0f172a;
            background:#fff;
            min-width:0;
            box-sizing:border-box;
        }
        .global-availability-list{
            display:flex;
            flex-direction:column;
            gap:8px;
        }
        .global-availability-name{
            min-width:140px;
            font-weight:600;
            color:#1f2937;
        }
        .global-availability-controls{
            display:flex;
            align-items:center;
            gap:10px;
            flex:1;
            min-width:0;
        }
        .global-availability-controls .config-input{
            flex:1;
            width:100%;
        }
        .config-radio-group{
            display:flex;
            align-items:center;
            gap:8px;
        }
        .config-button-group{
            display:flex;
            gap:8px;
            flex-wrap:wrap;
        }
        .config-button-group .config-toggle.is-active{
            background:#3b82f6;
            color:#fff;
            border-color:#2563eb;
        }
        .checkbox-wrapper-17{
            flex:0 0 30px;
            width:30px;
            display:flex;
            align-items:center;
        }
        .checkbox-wrapper-17 input[type=checkbox]{
            width:0;
            height:0;
            visibility:hidden;
        }
        .checkbox-wrapper-17 label{
            cursor:pointer;
            width:30px;
            height:15px;
            background:#94a3b8;
            display:block;
            border-radius:999px;
            position:relative;
            transition:background .25s ease;
        }
        .checkbox-wrapper-17 label::after{
            content:"";
            position:absolute;
            top:1px;
            left:1px;
            width:13px;
            height:13px;
            background:var(--color-slate-bluegray-softer);
            border-radius:50%;
            transition:transform .25s ease;
        }
        .checkbox-wrapper-17 input:checked + label{
            background:#16a34a;
        }
        .checkbox-wrapper-17 input:checked + label::after{
            transform:translateX(15px);
        }
        .global-table{
            width:100%;
            border:1px solid #e2e6f7;
            border-radius:10px;
            overflow:hidden;
            box-shadow:0 4px 12px rgba(15,23,42,.05);
        }
        .global-table-row{
            display:grid;
            grid-template-columns:repeat(auto-fit, minmax(120px,1fr));
            gap:8px;
            padding:6px 10px;
            border-bottom:1px solid #e2e6f7;
            align-items:center;
            font-size:.85rem;
        }
        .global-table-row.is-header{
            background:#f3f5ff;
            font-weight:600;
            text-transform:uppercase;
            font-size:.75rem;
            color:#475569;
        }
        .global-table-row:last-child{
            border-bottom:none;
        }
        .global-table input[type="number"]{
            width:100%;
        }
        .global-textarea-block{
            display:flex;
            flex-direction:column;
            gap:6px;
            margin-bottom:12px;
        }
        .global-textarea-block label{
            font-size:.82rem;
            font-weight:600;
            color:#374151;
        }
        .global-textarea{
            width:100%;
            min-height:calc(3 * 1.2em);
            border:1px solid #cbd5f5;
            border-radius:8px;
            padding:8px 10px;
            font-size:.85rem;
            resize:vertical;
            box-sizing:border-box;
        }
        .global-prompt-grid{
            display:grid;
            grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
            gap:12px;
        }
        .global-prompt-card{
            display:flex;
            flex-direction:column;
            gap:6px;
            border:1px solid #e2e6f7;
            border-radius:10px;
            padding:8px 10px;
            background:#fdfdff;
        }
        .global-prompt-card label{
            font-size:.8rem;
            font-weight:600;
            color:#475569;
        }
        .global-prompt-group{
            margin-bottom:12px;
        }
        .global-prompt-group-title{
            margin:0 0 4px;
            font-size:.78rem;
            font-weight:700;
            color:#1d2438;
            text-transform:uppercase;
            letter-spacing:.05em;
        }
        .appraisal-theory-table .doi-status{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            width:18px;
            height:18px;
            margin-right:6px;
            border-radius:999px;
            background:#e2e8f0;
            color:#0f172a;
            font-weight:700;
            font-size:.8rem;
        }
        .appraisal-theory-table .doi-link{
            font-weight:600;
        }
        .appraisal-theory-table .doi-link.is-pending{
            color:#0f172a;
        }
        .appraisal-theory-table .doi-link.is-match{
            color:#16a34a;
        }
        .appraisal-theory-table .doi-link.is-mismatch{
            color:#dc2626;
        }
        .appraisal-theory-table .doi-link.is-error{
            color:#b45309;
        }
