.trom-wrap {
    --trom-primary: var(--e-global-color-primary, #1a1e2a);
    --trom-accent:  var(--e-global-color-accent,  #b8952a);
    --trom-tick:    #22a86e;
    --trom-radius:  0px;
    width: 100%;
}
#trom-fixed-bar {
    position: fixed;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: rgba(0,0,0,0.08);
    z-index: 9999;
    transform: translateY(-100%);
    transition: transform 0.3s ease;
}
#trom-fixed-fill {
    height: 100%;
    width: 0%;
    background: var(--trom-accent);
    transition: width 0.4s ease;
}
#trom-progress-wrap {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 2rem;
}
.trom-progress-track {
    flex: 1;
    height: 2px;
    background: rgba(0,0,0,0.1);
    position: relative;
}
.trom-progress-fill {
    position: absolute;
    top: 0; left: 0;
    height: 100%;
    width: 0%;
    background: var(--trom-accent);
    transition: width 0.4s ease;
}
#trom-progress-count { white-space: nowrap; font-size: 0.8em; opacity: 0.5; }
.trom-card {
    display: flex;
    align-items: stretch;
    padding: 1.75rem 0;
    border-bottom: 1px solid rgba(0,0,0,0.08);
    gap: 1rem;
}
.trom-card:first-child { border-top: 1px solid rgba(0,0,0,0.08); }
.trom-indicator {
    width: 3px;
    flex-shrink: 0;
    border-radius: 2px;
    background: rgba(0,0,0,0.08);
    transition: background 0.25s;
    min-height: 40px;
}
.trom-card.answered .trom-indicator { background: var(--trom-tick); }
.trom-card-content { flex: 1; }
.trom-statement { margin-bottom: 1.25rem; }
.trom-opts { display: flex; flex-wrap: wrap; gap: 8px; }
.trom-opt {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    padding: 9px 14px;
    border: 0.5px solid transparent;
    border-radius: var(--trom-radius);
    transition: all 0.15s;
    user-select: none;
    white-space: nowrap;
    background: transparent;
}
.trom-opt:hover { border-color: rgba(0,0,0,0.15); background: rgba(0,0,0,0.03); }
.trom-opt.selected { border-color: rgba(0,0,0,0.12); background: rgba(0,0,0,0.03); }
.trom-circle {
    width: 18px; height: 18px;
    border-radius: 50%;
    border: 1.5px solid rgba(0,0,0,0.25);
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s;
    background: transparent;
}
.trom-opt.selected .trom-circle { background: var(--trom-tick); border-color: var(--trom-tick); }
.trom-dot { width: 5px; height: 5px; border-radius: 50%; background: rgba(0,0,0,0.2); }
.trom-opt.selected .trom-dot { display: none; }
.trom-circle svg { display: none; }
.trom-opt.selected .trom-circle svg { display: block; }
.trom-opt-label { font-size: 13px; color: rgba(0,0,0,0.45); transition: color 0.15s; }
.trom-opt.selected .trom-opt-label { color: inherit; }
.trom-btn {
    display: inline-block;
    padding: 13px 32px;
    background: var(--trom-primary);
    color: #fff;
    border: none;
    border-radius: var(--trom-radius);
    cursor: pointer;
    text-decoration: none;
    margin-top: 1.5rem;
    transition: opacity 0.2s;
}
.trom-btn:hover, .trom-btn:focus { opacity: 0.85; color: #fff; text-decoration: none; }
.trom-btn:disabled { opacity: 0.3; cursor: not-allowed; }
.trom-input {
    display: block;
    width: 100%;
    max-width: 420px;
    border: 1px solid rgba(0,0,0,0.2);
    border-radius: var(--trom-radius);
    background: transparent;
    margin-bottom: 0.75rem;
}
.trom-input:focus { outline: none; border-color: var(--trom-primary); }
.trom-result-level { color: var(--trom-accent); }
.trom-note { margin-top: 0.75rem; opacity: 0.6; }
@media (max-width: 480px) {
    .trom-opts { gap: 6px; }
    .trom-input { max-width: 100%; }
}
