:root {
            --ud-red: #BA0C2F;
            --ud-blue: #002F6C;
            --ud-sky: #DCEAF7;
            --ink: #17243A;
            --muted: #5C6B7A;
            --paper: #F7F8FA;
        }
        .stApp {
            background:
                radial-gradient(circle at 95% 0%, rgba(186,12,47,.08), transparent 27rem),
                linear-gradient(180deg, #ffffff 0%, #f7f9fc 100%);
            color: var(--ink);
        }
        [data-testid="stHeader"], [data-testid="stToolbar"], footer { visibility: hidden; }
        [data-testid="stMainBlockContainer"] {
            max-width: 1380px;
            padding-top: 1.2rem;
            padding-bottom: 3rem;
        }
        [data-testid="stSidebar"] {
            background: linear-gradient(180deg, #061f43 0%, var(--ud-blue) 68%, #0a3c7b 100%);
            border-right: 6px solid var(--ud-red);
        }
        [data-testid="stSidebar"] * { color: #ffffff; }
        [data-testid="stSidebar"] .stButton button {
            background: rgba(255,255,255,.12);
            color: #ffffff;
            border: 1px solid rgba(255,255,255,.35);
        }
        [data-testid="stSidebar"] .stButton button:hover {
            border-color: #ffffff;
            background: rgba(255,255,255,.2);
        }
        h1, h2, h3 { letter-spacing: -.025em; }
        h1 { color: var(--ud-blue); font-size: clamp(2.4rem, 5vw, 4.4rem) !important; line-height: .98 !important; }
        h2 { color: var(--ud-blue); }
        .eyebrow {
            color: var(--ud-red);
            font-weight: 850;
            letter-spacing: .09em;
            text-transform: uppercase;
            font-size: .82rem;
            margin-bottom: .55rem;
        }
        .hero-subtitle {
            font-size: clamp(1.25rem, 2vw, 1.75rem);
            color: var(--muted);
            font-weight: 650;
            margin-top: -.35rem;
        }
        .hero-rule {
            width: 110px;
            height: 7px;
            border-radius: 99px;
            background: linear-gradient(90deg, var(--ud-red) 0 50%, var(--ud-blue) 50% 100%);
            margin: 1.1rem 0 1.55rem;
        }
        .round-strip { display: flex; gap: .55rem; flex-wrap: wrap; margin: .25rem 0 1.1rem; }
        .round-pill {
            border: 1px solid #c9d3df;
            border-radius: 999px;
            background: #ffffff;
            color: var(--muted);
            font-weight: 750;
            padding: .45rem .8rem;
            font-size: .84rem;
        }
        .round-pill.active { color: white; background: var(--ud-blue); border-color: var(--ud-blue); }
        .round-pill.done { color: white; background: var(--ud-red); border-color: var(--ud-red); }
        .scenario-card {
            background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
            border: 1px solid #ccd8e5;
            border-left: 9px solid var(--ud-red);
            border-radius: 16px;
            padding: 1.2rem 1.35rem;
            box-shadow: 0 12px 34px rgba(0,47,108,.08);
            margin: .5rem 0 1.1rem;
        }
        .scenario-label { color: var(--ud-red); text-transform: uppercase; font-weight: 850; font-size: .8rem; letter-spacing: .08em; }
        .scenario-text { color: var(--ink); font-size: 1.25rem; line-height: 1.48; font-weight: 590; margin-top: .35rem; }
        .role-card {
            background: var(--ud-sky);
            border: 1px solid #b9cfe5;
            border-radius: 13px;
            padding: .75rem 1rem;
            color: var(--ud-blue);
            font-weight: 720;
            min-height: 74px;
        }
        .metric-card {
            border: 1px solid #d6dee8;
            border-radius: 14px;
            padding: .85rem 1rem;
            background: white;
            box-shadow: 0 5px 16px rgba(23,36,58,.05);
        }
        .metric-label { color: var(--muted); font-size: .78rem; text-transform: uppercase; font-weight: 800; letter-spacing: .06em; }
        .metric-value { color: var(--ud-blue); font-size: 1.55rem; font-weight: 850; line-height: 1.15; }
        .best-answer {
            background: #edf8f2;
            border: 1px solid #9ed1b4;
            border-left: 8px solid #16784b;
            border-radius: 13px;
            padding: 1rem 1.1rem;
            margin: .85rem 0;
            color: #123e2d;
        }
        .reconsider {
            background: #fff7e8;
            border: 1px solid #e9c980;
            border-left: 8px solid #b46c00;
            border-radius: 13px;
            padding: 1rem 1.1rem;
            margin: .85rem 0;
            color: #563600;
        }
        .landing-card {
            border: 1px solid #d3dde8;
            background: white;
            border-radius: 16px;
            padding: 1.15rem 1.2rem;
            min-height: 160px;
            box-shadow: 0 8px 24px rgba(0,47,108,.06);
        }
        .landing-card b { color: var(--ud-blue); font-size: 1.08rem; }
        .business-card {
            background: linear-gradient(135deg, #eef5fb 0%, #fff5f7 100%);
            border: 1px solid #c5d5e4;
            border-left: 9px solid var(--ud-blue);
            border-radius: 16px;
            padding: 1rem 1.2rem;
            margin: .8rem 0 1.25rem;
            color: var(--ink);
            font-size: 1.05rem;
            line-height: 1.55;
        }
        .business-card b { color: var(--ud-blue); }
        .stButton button {
            border-radius: 12px;
            min-height: 3rem;
            font-weight: 790;
            border: 1px solid #aebdcd;
        }
        .stButton button[kind="primary"] {
            background: var(--ud-red);
            border-color: var(--ud-red);
            color: white;
        }
        .stButton button[kind="primary"]:hover { background: #970925; border-color: #970925; }
        [data-testid="stRadio"] label {
            background: white;
            border: 1px solid #cbd5e1;
            border-radius: 12px;
            padding: .7rem .8rem;
            margin-bottom: .35rem;
            min-height: 3.05rem;
            font-size: 1.02rem;
        }
        [data-testid="stRadio"] label:hover { border-color: var(--ud-blue); background: #f5f9fd; }
        .small-note { color: var(--muted); font-size: .88rem; }
