.qmag-shell {
    --qmag-navy: #071f36;
    --qmag-navy-2: #0b2b48;
    --qmag-blue: #075d91;
    --qmag-green: #078261;
    --qmag-green-soft: #e7f5f0;
    --qmag-red: #b33d4c;
    --qmag-red-soft: #faecee;
    --qmag-amber: #bf7412;
    --qmag-amber-soft: #fff5df;
    --qmag-violet: #6b5ac9;
    --qmag-ink: #10263a;
    --qmag-copy: #35536b;
    --qmag-muted: #647c90;
    --qmag-line: #cfdae3;
    --qmag-line-strong: #aabecb;
    --qmag-panel: #f4f7f9;
    --qmag-white: #fff;
    margin: .65rem 0 0;
    color: var(--qmag-ink);
    font-family: "IBM Plex Sans", sans-serif;
}

.qmag-shell button,
.qmag-shell input,
.qmag-shell select,
.qmag-shell textarea { font: inherit; }

.qmag-shell button { cursor: pointer; }
.qmag-shell button:disabled { cursor: not-allowed; }
.qmag-shell svg { width: 1em; height: 1em; }

.qmag-hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(23rem, .65fr);
    overflow: hidden;
    min-height: 19rem;
    color: #fff;
    background:
        linear-gradient(105deg, rgb(7 31 54 / .98) 0 58%, rgb(9 47 76 / .95) 100%),
        repeating-linear-gradient(90deg, transparent 0 79px, rgb(255 255 255 / .035) 80px);
    border-top: 4px solid #12a078;
    box-shadow: 0 18px 46px rgb(7 31 54 / .13);
}

.qmag-hero::after {
    position: absolute;
    right: 31%;
    bottom: -6rem;
    width: 24rem;
    height: 24rem;
    border: 1px solid rgb(90 218 179 / .13);
    border-radius: 50%;
    box-shadow: 0 0 0 3rem rgb(90 218 179 / .025), 0 0 0 7rem rgb(90 218 179 / .02);
    content: "";
    pointer-events: none;
}

.qmag-hero__identity,
.qmag-hero__action { position: relative; z-index: 1; min-width: 0; padding: clamp(1.4rem, 3vw, 3rem); }
.qmag-hero__identity { align-self: center; }
.qmag-hero__action { display: flex; flex-direction: column; justify-content: center; border-left: 1px solid rgb(188 218 237 / .2); background: rgb(2 19 34 / .32); }

.qmag-kicker,
.qmag-eyebrow {
    margin: 0;
    color: #7dddc2;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.qmag-kicker span { display: inline-block; margin-right: .3rem; padding: .3rem .48rem; color: #03261e; background: #7dddc2; letter-spacing: .18em; }
.qmag-hero h1 { max-width: 54rem; margin: 1rem 0 .8rem; color: #fff; font: 700 clamp(2.65rem, 5vw, 5.6rem)/.91 "Source Serif 4", serif; letter-spacing: -.045em; }
.qmag-hero h1 em { color: #8fe4cc; font-style: normal; }
.qmag-hero__dek { max-width: 51rem; margin: 0; color: #c8d9e6; font-size: clamp(.9rem, 1.25vw, 1.08rem); line-height: 1.65; }
.qmag-hero__principles { display: flex; flex-wrap: wrap; gap: .55rem 1.25rem; margin-top: 1.35rem; color: #9fb8ca; font-size: .72rem; font-weight: 700; }
.qmag-hero__principles span { display: inline-flex; align-items: center; gap: .38rem; }
.qmag-hero__principles svg { color: #61d3b2; font-size: 1rem; }
.qmag-hero__action h2 { margin: .25rem 0 1.1rem; color: #fff; font: 700 clamp(1.35rem, 2vw, 1.8rem) "Source Serif 4", serif; }

.qmag-symbol-form label { display: block; margin-bottom: .42rem; color: #acc1d0; font-size: .68rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.qmag-symbol-form > div { display: flex; min-width: 0; }
.qmag-symbol-form input { min-width: 0; flex: 1; padding: .86rem .95rem; border: 1px solid #52708a; border-right: 0; border-radius: 0; outline: 0; color: #fff; background: rgb(2 17 31 / .82); font-size: 1rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.qmag-symbol-form input::placeholder { color: #718aa0; }
.qmag-symbol-form input:focus { border-color: #7dddc2; box-shadow: inset 0 -2px #7dddc2; }
.qmag-symbol-form button { flex: 0 0 auto; padding: .84rem 1rem; border: 1px solid #7dddc2; color: #06251e; background: #7dddc2; font-size: .75rem; font-weight: 850; }
.qmag-symbol-form button:hover,
.qmag-symbol-form button:focus-visible { background: #a0ecd6; }
.qmag-symbol-form small { display: block; margin-top: .45rem; color: #819bb0; font-size: .68rem; }
.qmag-hero__status { display: flex; align-items: center; gap: .55rem; margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid rgb(188 218 237 / .16); color: #b6c9d7; font-size: .72rem; }
.qmag-status-dot { width: .55rem; height: .55rem; flex: 0 0 auto; border: 2px solid #7dddc2; border-radius: 50%; box-shadow: 0 0 0 .22rem rgb(125 221 194 / .1); }
.qmag-hero__status[data-state="ready"] .qmag-status-dot { background: #34c897; }
.qmag-hero__status[data-state="warning"] .qmag-status-dot { border-color: #f3b753; background: #f3b753; }
.qmag-hero__status[data-state="error"] .qmag-status-dot { border-color: #f27a88; background: #f27a88; }

.qmag-commandbar { position: relative; z-index: 20; display: grid; grid-template-columns: 12.5rem minmax(0, 1fr); margin-top: .75rem; border: 1px solid var(--qmag-line); border-top: 3px solid var(--qmag-blue); background: #fff; box-shadow: 0 10px 28px rgb(17 52 78 / .07); }
.qmag-commandbar__label { display: flex; flex-direction: column; justify-content: center; padding: .62rem 1rem; border-right: 1px solid var(--qmag-line); background: #eef4f7; }
.qmag-commandbar__label .qmag-eyebrow { color: #58748a; font-size: .58rem; }
.qmag-commandbar__label strong { margin-top: .16rem; font: 700 .82rem "Source Serif 4", serif; }
.qmag-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); min-width: 0; overflow: visible; }
.qmag-tabs button,
.qmag-nav-group summary { position: relative; display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: .55rem; min-width: 0; padding: .58rem .78rem; border: 0; border-right: 1px solid #e1e8ed; color: #36546b; background: #fff; text-align: left; list-style: none; }
.qmag-nav-group summary { grid-template-columns: auto 1fr auto; cursor: pointer; user-select: none; }
.qmag-nav-group summary::-webkit-details-marker { display: none; }
.qmag-tabs > :last-child summary { border-right: 0; }
.qmag-tabs button > span,
.qmag-nav-group summary > span { grid-row: 1 / 3; align-self: center; display: grid; place-items: center; width: 1.72rem; height: 1.72rem; border-radius: 50%; color: #0a638f; background: #e9f2f7; font-size: .9rem; }
.qmag-tabs button b,
.qmag-nav-group summary b { align-self: end; color: inherit; font-size: .7rem; line-height: 1.1; }
.qmag-tabs button small,
.qmag-nav-group summary small { display: block; align-self: start; margin-top: .12rem; overflow: hidden; color: #71899b; font-size: .57rem; text-overflow: ellipsis; white-space: nowrap; }
.qmag-nav-group summary > i { grid-column: 3; grid-row: 1 / 3; align-self: center; color: #7790a2; font: normal 1rem sans-serif; transition: transform .15s ease; }
.qmag-nav-group[open] summary > i { transform: rotate(180deg); }
.qmag-tabs button:not(:disabled):hover,
.qmag-tabs button:not(:disabled):focus-visible,
.qmag-nav-group summary:hover,
.qmag-nav-group summary:focus-visible { color: var(--qmag-blue); background: #f4f9fc; }
.qmag-tabs button.is-active,
.qmag-nav-group.has-active summary { color: #fff; background: var(--qmag-navy-2); box-shadow: inset 0 -3px #31c39a; }
.qmag-tabs button.is-active > span,
.qmag-nav-group.has-active summary > span { color: #062c25; background: #82dfc5; }
.qmag-tabs button.is-active small,
.qmag-nav-group.has-active summary small { color: #b5cbda; }
.qmag-tabs button:disabled { opacity: .42; }
.qmag-nav-group { position: relative; min-width: 0; }
.qmag-nav-menu { position: absolute; z-index: 60; top: calc(100% + 1px); left: 0; display: grid; width: min(24rem, 88vw); padding: .35rem; border: 1px solid #aec0cc; border-top: 3px solid var(--qmag-green); background: #fff; box-shadow: 0 18px 38px rgb(7 31 54 / .2); }
.qmag-nav-menu--right { right: 0; left: auto; }
.qmag-nav-menu button { width: 100%; min-height: 3.25rem; border-right: 0; border-bottom: 1px solid #e2e9ee; }
.qmag-nav-menu button:last-child { border-bottom: 0; }

.qmag-security-context { display: grid; grid-template-columns: minmax(15rem, 1.15fr) repeat(3, minmax(9rem, .55fr)); margin-top: 1rem; border-top: 3px solid var(--qmag-blue); border-bottom: 1px solid var(--qmag-line); background: #fff; box-shadow: 0 8px 22px rgb(15 54 82 / .06); }
.qmag-security-context > div { min-width: 0; padding: .85rem 1rem; border-right: 1px solid var(--qmag-line); }
.qmag-security-context > div:last-child { border-right: 0; }
.qmag-security-context span { display: block; color: var(--qmag-muted); font-size: .61rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.qmag-security-context strong { display: block; margin-top: .18rem; color: var(--qmag-ink); font: 700 1.18rem "Source Serif 4", serif; }
.qmag-security-context .qmag-security-name { display: flex; align-items: baseline; gap: .7rem; }
.qmag-security-context .qmag-security-name strong { font-size: 1.7rem; }
.qmag-security-context small { display: block; margin-top: .15rem; overflow: hidden; color: var(--qmag-muted); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }

.qmag-notice { margin-top: 1rem; padding: .78rem 1rem; border-left: 4px solid var(--qmag-amber); color: #65440d; background: var(--qmag-amber-soft); font-size: .78rem; line-height: 1.5; }
.qmag-notice[data-tone="error"] { border-left-color: var(--qmag-red); color: #852936; background: var(--qmag-red-soft); }
.qmag-workspace { min-height: 28rem; margin-top: 1rem; }
.qmag-loading { display: grid; place-items: center; min-height: 27rem; padding: 3rem; border: 1px solid var(--qmag-line); background: linear-gradient(135deg, #f5f9fb, #fff); text-align: center; }
.qmag-loading span { width: 2.1rem; height: 2.1rem; margin-bottom: .8rem; border: 3px solid #cfdee7; border-top-color: var(--qmag-green); border-radius: 50%; animation: qmag-spin .75s linear infinite; }
.qmag-loading strong { font: 700 1.25rem "Source Serif 4", serif; }
.qmag-loading small { margin-top: .25rem; color: var(--qmag-muted); }
@keyframes qmag-spin { to { transform: rotate(360deg); } }

.qmag-view { display: grid; gap: 1rem; }
.qmag-panel { min-width: 0; border: 1px solid var(--qmag-line); border-top: 3px solid #7594aa; background: #fff; box-shadow: 0 10px 26px rgb(15 54 82 / .055); }
.qmag-panel[data-accent="green"] { border-top-color: var(--qmag-green); }
.qmag-panel[data-accent="amber"] { border-top-color: var(--qmag-amber); }
.qmag-panel[data-accent="red"] { border-top-color: var(--qmag-red); }
.qmag-panel__head { display: flex; justify-content: space-between; gap: 1.25rem; align-items: start; padding: .9rem 1rem; border-bottom: 1px solid var(--qmag-line); }
.qmag-panel__head h2 { margin: .13rem 0 0; font: 700 clamp(1.3rem, 2vw, 1.72rem)/1.1 "Source Serif 4", serif; }
.qmag-panel__head p { max-width: 47rem; margin: .1rem 0 0; color: var(--qmag-muted); font-size: .76rem; line-height: 1.5; text-align: right; }
.qmag-panel__body { padding: 1rem; }
.qmag-section-kicker { margin: 0; color: var(--qmag-blue); font-size: .62rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }

.qmag-kpis { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; border: 1px solid var(--qmag-line); background: var(--qmag-line); box-shadow: 0 8px 20px rgb(15 54 82 / .04); }
.qmag-kpi { min-width: 0; padding: .85rem .9rem; background: #fff; }
.qmag-kpi span { display: block; color: var(--qmag-muted); font-size: .59rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.qmag-kpi strong { display: block; margin: .24rem 0; overflow-wrap: anywhere; font: 700 clamp(1.35rem, 2.1vw, 2rem)/1 "Source Serif 4", serif; }
.qmag-kpi small { display: block; color: #6e8292; font-size: .66rem; line-height: 1.35; }
.qmag-positive { color: var(--qmag-green) !important; }
.qmag-negative { color: var(--qmag-red) !important; }
.qmag-caution { color: var(--qmag-amber) !important; }

.qmag-method-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: var(--qmag-line); }
.qmag-method-card { min-width: 0; padding: 1rem; border-left: 4px solid #6e8ba0; background: #fff; text-align: left; }
button.qmag-method-card { border-top: 0; border-right: 0; border-bottom: 0; }
.qmag-method-card[data-setup="breakout"] { border-left-color: var(--qmag-green); }
.qmag-method-card[data-setup="episodic_pivot"] { border-left-color: var(--qmag-blue); }
.qmag-method-card[data-setup="parabolic"] { border-left-color: var(--qmag-amber); }
.qmag-method-card:hover,
.qmag-method-card.is-active { background: #f0f7fa; box-shadow: inset 0 0 0 2px var(--qmag-blue); }
.qmag-method-card span { display: block; color: var(--qmag-muted); font-size: .59rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.qmag-method-card strong { display: block; margin: .3rem 0; font: 700 1.15rem "Source Serif 4", serif; }
.qmag-method-card p { margin: 0; color: var(--qmag-copy); font-size: .74rem; line-height: 1.48; }
.qmag-method-card small { display: block; margin-top: .65rem; color: var(--qmag-amber); font-size: .66rem; font-weight: 700; }
.qmag-learning-prompt { display: flex; justify-content: space-between; gap: .8rem; align-items: center; margin-bottom: .65rem; padding: .55rem .65rem; border-left: 3px solid var(--qmag-blue); color: var(--qmag-copy); background: #edf5f9; font-size: .68rem; line-height: 1.4; }
.qmag-finder-help { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .35rem; align-items: center; }
.qmag-panel__head .qmag-finder-help > p { width: 100%; max-width: none; margin: 0 0 .1rem; font-size: .65rem; text-align: right; }

.qmag-filterbar { display: grid; grid-template-columns: minmax(10rem, .7fr) minmax(10rem, .7fr) minmax(12rem, .8fr) minmax(15rem, 1.15fr); gap: .65rem; align-items: end; padding: .72rem .85rem; border-bottom: 1px solid var(--qmag-line); background: #f4f7f9; }
.qmag-filterbar--history { grid-template-columns: repeat(2, minmax(9rem, .65fr)) repeat(3, minmax(9rem, .8fr)) auto; }
.qmag-field { display: block; min-width: 0; color: #587087; font-size: .59rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.qmag-field input,
.qmag-field select,
.qmag-journal-card input,
.qmag-journal-card select,
.qmag-journal-card textarea { width: 100%; margin-top: .3rem; padding: .65rem .7rem; border: 1px solid #abc0ce; border-radius: 0; outline: 0; color: var(--qmag-ink); background: #fff; font-size: .73rem; font-weight: 600; letter-spacing: normal; text-transform: none; }
.qmag-field input:focus,
.qmag-field select:focus,
.qmag-journal-card input:focus,
.qmag-journal-card select:focus,
.qmag-journal-card textarea:focus { border-color: var(--qmag-blue); box-shadow: 0 0 0 2px rgb(7 93 145 / .12); }
.qmag-filter-pills { display: flex; flex-wrap: wrap; gap: .35rem; }
.qmag-filter-pills button,
.qmag-button { padding: .58rem .75rem; border: 1px solid #9eb4c3; color: #294b63; background: #fff; font-size: .65rem; font-weight: 800; }
.qmag-filter-pills button:hover,
.qmag-filter-pills button.is-active,
.qmag-button:hover,
.qmag-button:focus-visible { border-color: var(--qmag-blue); color: #fff; background: var(--qmag-blue); }
.qmag-button--primary { border-color: var(--qmag-green); color: #fff; background: var(--qmag-green); }
.qmag-button--quiet { padding: .45rem .65rem; }
.qmag-button:disabled { opacity: .38; }

.qmag-results-meta { display: flex; justify-content: space-between; gap: 1rem; padding: .58rem .85rem; border-bottom: 1px solid var(--qmag-line); color: var(--qmag-muted); background: #fff; font-size: .68rem; }
.qmag-results-meta strong { color: var(--qmag-ink); }
.qmag-candidate-list { display: grid; gap: .5rem; padding: .65rem; background: #eef3f6; }
.qmag-candidate { display: grid; grid-template-columns: 3.1rem minmax(11rem, .75fr) minmax(13rem, .9fr) 11.25rem minmax(24rem, 1.4fr) 9rem; min-height: 8.75rem; align-items: stretch; padding: 0; border: 1px solid #c8d5df; border-left: 4px solid #7792a6; background: #fff; transition: box-shadow .15s, transform .15s; }
.qmag-candidate[data-setup="breakout"] { border-left-color: var(--qmag-green); }
.qmag-candidate[data-setup="episodic_pivot"] { border-left-color: var(--qmag-blue); }
.qmag-candidate[data-setup="parabolic"] { border-left-color: var(--qmag-amber); }
.qmag-candidate:hover { box-shadow: 0 8px 24px rgb(18 54 78 / .12); transform: translateY(-1px); }
.qmag-rank { display: flex; flex-direction: column; justify-content: center; padding: .75rem .4rem; color: #70869a; background: #f5f8fa; text-align: center; }
.qmag-rank span { display: block; font-size: .52rem; font-weight: 850; text-transform: uppercase; }
.qmag-rank strong { display: block; color: var(--qmag-blue); font: 700 1.4rem "Source Serif 4", serif; }
.qmag-ticker-button { padding: 0; border: 0; color: var(--qmag-blue); background: transparent; font: 700 1.45rem "Source Serif 4", serif; }
.qmag-ticker-button:hover { color: var(--qmag-green); text-decoration: underline; text-underline-offset: .18rem; }
.qmag-company { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: .8rem .85rem; }
.qmag-company > span,
.qmag-company > small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.qmag-company > span { color: var(--qmag-copy); font-size: .72rem; font-weight: 700; }
.qmag-company > small { margin-top: .18rem; color: var(--qmag-muted); font-size: .62rem; }
.qmag-setup-copy { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: .8rem .85rem; border-left: 1px solid #edf1f4; }
.qmag-setup-copy strong { display: block; font-size: .79rem; }
.qmag-setup-copy p { margin: .22rem 0; color: var(--qmag-muted); font-size: .68rem; line-height: 1.4; }
.qmag-stage { display: inline-block; margin-top: .15rem; padding: .2rem .38rem; color: #425e73; background: #edf2f5; font-size: .58rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.qmag-stage[data-stage="ready"], .qmag-stage[data-stage="armed"] { color: #75500c; background: #fff1ce; }
.qmag-stage[data-stage="triggered"], .qmag-stage[data-stage="managing"] { color: #006448; background: #dff3eb; }
.qmag-stage[data-stage="failed"] { color: #8d2936; background: #f9e3e6; }
.qmag-levels { display: grid; grid-template-columns: 1fr; align-content: center; gap: 1px; padding: .55rem; background: #e2eaf0; }
.qmag-levels div { display: flex; min-width: 0; justify-content: space-between; gap: .6rem; align-items: baseline; padding: .42rem .48rem; background: #fff; }
.qmag-levels span { display: block; color: var(--qmag-muted); font-size: .51rem; font-weight: 800; text-transform: uppercase; }
.qmag-levels strong { display: block; flex: 0 0 auto; margin: 0; font-size: .7rem; white-space: nowrap; }
.qmag-candidate__chart { display: grid; min-width: 0; grid-template-rows: auto minmax(0, 1fr); padding: .5rem .65rem; border-left: 1px solid #dbe4ea; background: #f8fbfc; }
.qmag-preview-meta { display: flex; justify-content: space-between; gap: .5rem; margin-bottom: .15rem; color: var(--qmag-muted); font-size: .52rem; font-weight: 750; text-transform: uppercase; }
.qmag-mini-chart { display: block; width: 100%; height: 100%; min-height: 6.5rem; border: 0; background: #f9fbfc; }
.qmag-candidate__action { display: grid; padding: .5rem; border-left: 1px solid #dbe4ea; background: #f4f8fa; }
.qmag-review-button { display: flex; flex-direction: column; justify-content: center; padding: .75rem; border: 1px solid #0d527d; color: #fff; background: var(--qmag-navy-2); text-align: left; }
.qmag-review-button span { color: #8fe4cc; font-size: .54rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.qmag-review-button strong { margin: .2rem 0; font: 700 1.12rem "Source Serif 4", serif; }
.qmag-review-button small { color: #b7cbd9; font-size: .58rem; line-height: 1.35; }
.qmag-review-button:hover,
.qmag-review-button:focus-visible { border-color: var(--qmag-green); color: #06251e; background: #8fe4cc; }
.qmag-review-button:hover span,
.qmag-review-button:focus-visible span,
.qmag-review-button:hover small,
.qmag-review-button:focus-visible small { color: #164d42; }

.qmag-empty { padding: clamp(2rem, 5vw, 4rem); color: var(--qmag-muted); background: #fff; text-align: center; }
.qmag-empty strong { display: block; margin-bottom: .35rem; color: var(--qmag-ink); font: 700 1.3rem "Source Serif 4", serif; }
.qmag-inline-alert { padding: .8rem 1rem; border-left: 4px solid var(--qmag-amber); color: #704b0c; background: var(--qmag-amber-soft); font-size: .74rem; }

.qmag-decision { display: grid; grid-template-columns: minmax(17rem, 1.25fr) repeat(3, minmax(11rem, .65fr)); gap: 1px; background: var(--qmag-line); }
.qmag-decision > article { min-width: 0; padding: 1.1rem; background: #fff; }
.qmag-decision__lead { border-left: 4px solid var(--qmag-green); }
.qmag-decision span { display: block; color: var(--qmag-muted); font-size: .6rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.qmag-decision h2 { margin: .35rem 0; font: 700 clamp(1.5rem, 2.5vw, 2.25rem)/1.05 "Source Serif 4", serif; }
.qmag-decision p { margin: .5rem 0 0; color: var(--qmag-copy); font-size: .78rem; line-height: 1.55; }
.qmag-decision strong { display: block; margin: .38rem 0; font: 700 clamp(1.6rem, 2.5vw, 2.3rem)/1 "Source Serif 4", serif; }
.qmag-decision small { color: var(--qmag-muted); font-size: .67rem; line-height: 1.35; }
.qmag-setup-switcher { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
.qmag-setup-switcher button { padding: .8rem; border: 1px solid var(--qmag-line); border-top: 3px solid #899dac; color: var(--qmag-copy); background: #fff; text-align: left; }
.qmag-setup-switcher button.is-active { border-top-color: var(--qmag-green); background: #edf7f4; box-shadow: inset 0 0 0 1px #8bc9b6; }
.qmag-setup-switcher strong,
.qmag-setup-switcher span { display: block; }
.qmag-setup-switcher strong { color: var(--qmag-ink); font-size: .75rem; }
.qmag-setup-switcher span { margin-top: .22rem; color: var(--qmag-muted); font-size: .62rem; }
.qmag-setup-switcher b { float: right; color: var(--qmag-blue); font: 700 1.35rem "Source Serif 4", serif; }

.qmag-two-column { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(18rem, .75fr); gap: 1rem; }
.qmag-rule-list { display: grid; gap: .42rem; }
.qmag-rule { display: grid; grid-template-columns: 1.2rem minmax(9rem, .7fr) minmax(12rem, 1fr) auto; gap: .7rem; align-items: center; padding: .65rem .7rem; border: 1px solid #dbe3e9; background: #fbfcfd; }
.qmag-rule__mark { display: grid; place-items: center; width: 1.1rem; height: 1.1rem; border: 1px solid #9eafbb; border-radius: 50%; color: #fff; font-size: .65rem; }
.qmag-rule[data-passed="true"] .qmag-rule__mark { border-color: var(--qmag-green); background: var(--qmag-green); }
.qmag-rule > strong { font-size: .72rem; }
.qmag-rule > p { margin: 0; color: var(--qmag-muted); font-size: .66rem; line-height: 1.4; }
.qmag-rule > small { color: var(--qmag-amber); font-size: .57rem; font-weight: 850; text-transform: uppercase; }
.qmag-rule[data-passed="true"] > small { color: var(--qmag-green); }

.qmag-chart-wrap { overflow-x: auto; border: 1px solid var(--qmag-line); background: #071b30; }
.qmag-chart-toolbar { display: flex; justify-content: space-between; gap: .7rem; align-items: center; margin-bottom: .6rem; padding: .55rem .65rem; border: 1px solid #cbd9e2; background: #f4f8fa; }
.qmag-chart-toolbar p { margin: 0; color: var(--qmag-copy); font-size: .66rem; line-height: 1.4; }
.qmag-chart-toolbar__actions { display: flex; flex: 0 0 auto; gap: .4rem; }
.qmag-help-trigger { display: inline-flex; gap: .38rem; align-items: center; padding: .46rem .62rem; border: 1px solid #a9bdca; color: #214a68; background: #fff; font-size: .62rem; font-weight: 800; }
.qmag-help-trigger span { display: grid; place-items: center; width: 1rem; height: 1rem; border: 1px solid #5f8298; border-radius: 50%; font-size: .62rem; line-height: 1; }
.qmag-help-trigger:hover,
.qmag-help-trigger:focus-visible { border-color: var(--qmag-blue); color: #fff; background: var(--qmag-blue); }
.qmag-expand-chart { color: #fff; background: var(--qmag-navy-2); }
.qmag-chart-inspector { display: grid; grid-template-columns: 1.35fr repeat(6, minmax(5rem, 1fr)); min-width: 760px; border-bottom: 1px solid #28445c; background: #0a253e; }
.qmag-chart-inspector > div { min-width: 0; padding: .6rem .72rem; border-right: 1px solid #28445c; }
.qmag-chart-inspector > div:last-child { border-right: 0; }
.qmag-chart-inspector span { display: block; color: #7898ad; font-size: .5rem; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.qmag-chart-inspector strong { display: block; margin-top: .14rem; overflow: hidden; color: #eef6fa; font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.qmag-shell svg.qmag-chart { display: block; width: 100%; min-width: 760px; height: auto; aspect-ratio: 1180 / 475; }
.qmag-shell svg.qmag-mini-chart { width: 100%; height: 6.25rem; }
.qmag-chart-hit { cursor: crosshair; }
.qmag-chart-crosshair { pointer-events: none; transition: opacity .08s linear; }
.qmag-chart-legend { display: flex; flex-wrap: wrap; gap: .5rem 1rem; padding: .65rem .8rem; color: #abc0cf; background: #071b30; font-size: .62rem; }
.qmag-chart-legend span { display: inline-flex; align-items: center; gap: .3rem; }
.qmag-chart-legend i { display: inline-block; width: 1rem; height: .16rem; background: var(--legend, #fff); }
.qmag-chart-guide { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--qmag-line); }
.qmag-chart-guide div { padding: .7rem; background: #f8fafb; }
.qmag-chart-guide strong { display: block; color: var(--qmag-blue); font-size: .64rem; text-transform: uppercase; }
.qmag-chart-guide p { margin: .2rem 0 0; color: var(--qmag-muted); font-size: .63rem; line-height: 1.38; }

.qmag-dialog { width: min(43rem, calc(100vw - 2rem)); max-width: none; padding: 0; border: 1px solid #7793a7; color: var(--qmag-ink); background: #fff; box-shadow: 0 28px 80px rgb(2 18 31 / .38); }
.qmag-dialog::backdrop { background: rgb(4 22 37 / .72); backdrop-filter: blur(2px); }
.qmag-dialog__head { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: .9rem 1rem; border-top: 4px solid var(--qmag-green); border-bottom: 1px solid var(--qmag-line); background: #f5f8fa; }
.qmag-dialog__head h2 { margin: .16rem 0 0; font: 700 1.5rem/1.05 "Source Serif 4", serif; }
.qmag-dialog__close { display: grid; place-items: center; width: 2rem; height: 2rem; flex: 0 0 auto; padding: 0; border: 1px solid #a7bac7; color: #49677d; background: #fff; font-size: 1.25rem; line-height: 1; }
.qmag-dialog__close:hover,
.qmag-dialog__close:focus-visible { border-color: var(--qmag-red); color: #fff; background: var(--qmag-red); }
.qmag-dialog__body { padding: 1.1rem; }
.qmag-help-copy { display: grid; gap: .75rem; }
.qmag-help-copy > p { margin: 0; color: var(--qmag-copy); font-size: .8rem; line-height: 1.6; }
.qmag-help-steps { display: grid; gap: 1px; border: 1px solid var(--qmag-line); background: var(--qmag-line); }
.qmag-help-steps > div { display: grid; grid-template-columns: 2rem 1fr; gap: .7rem; padding: .75rem; background: #fff; }
.qmag-help-steps b { display: grid; place-items: center; width: 1.65rem; height: 1.65rem; border-radius: 50%; color: #fff; background: var(--qmag-blue); font-size: .68rem; }
.qmag-help-steps strong { display: block; font-size: .76rem; }
.qmag-help-steps p { margin: .16rem 0 0; color: var(--qmag-muted); font-size: .7rem; line-height: 1.48; }
.qmag-dialog__actions { display: flex; gap: .45rem; align-items: center; }
.qmag-chart-modal { width: calc(100vw - 1.25rem); height: calc(100dvh - 1.25rem); max-height: none; }
.qmag-chart-modal__head { min-height: 4.5rem; padding: .65rem .8rem; }
.qmag-chart-modal__body { height: calc(100% - 4.5rem); padding: .7rem; background: #071b30; }
.qmag-chart-modal .qmag-chart-wrap { display: grid; height: 100%; grid-template-rows: auto minmax(0, 1fr) auto; overflow: hidden; border: 0; }
.qmag-chart-modal .qmag-chart-inspector { min-width: 0; }
.qmag-chart-modal .qmag-chart { width: 100%; min-width: 0; height: 100%; aspect-ratio: auto; }
.qmag-chart-modal .qmag-chart-legend { flex: 0 0 auto; }

.qmag-alert-grid,
.qmag-analogue-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.qmag-alert { padding: .8rem .9rem; border: 1px solid #d5e0e7; border-left: 4px solid var(--qmag-amber); background: #fff; }
.qmag-alert span { color: var(--qmag-amber); font-size: .57rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.qmag-alert strong { display: block; margin-top: .25rem; font-size: .78rem; }
.qmag-alert p { margin: .35rem 0 0; color: var(--qmag-muted); font-size: .68rem; line-height: 1.45; }

.qmag-table-wrap { overflow-x: auto; }
.qmag-table { width: 100%; min-width: 720px; border-collapse: collapse; font-size: .68rem; }
.qmag-table th { padding: .65rem; color: #4e687c; background: #edf3f6; font-size: .57rem; letter-spacing: .07em; text-align: left; text-transform: uppercase; }
.qmag-table td { padding: .68rem; border-top: 1px solid var(--qmag-line); }
.qmag-table tbody tr:hover { background: #f5f9fb; }
.qmag-pagination { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .8rem 1rem; border-top: 1px solid var(--qmag-line); color: var(--qmag-muted); font-size: .68rem; }
.qmag-history-card { display: grid; grid-template-columns: 6rem minmax(11rem, .7fr) minmax(13rem, 1fr) 9rem minmax(17rem, 1fr); gap: .8rem; align-items: center; padding: .75rem; border-bottom: 1px solid var(--qmag-line); }
.qmag-history-card:hover { background: #f6fafb; }

.qmag-replay-controls { display: grid; grid-template-columns: 13rem 16rem minmax(18rem, 1fr); gap: .8rem; align-items: end; }
.qmag-context-note { padding: .7rem .8rem; border-left: 3px solid var(--qmag-green); color: var(--qmag-copy); background: var(--qmag-green-soft); font-size: .67rem; line-height: 1.45; }
.qmag-outcome-bars { display: grid; gap: .55rem; }
.qmag-outcome-row { display: grid; grid-template-columns: 5rem 1fr 4rem; gap: .6rem; align-items: center; color: var(--qmag-muted); font-size: .62rem; }
.qmag-outcome-track { position: relative; height: .65rem; background: linear-gradient(90deg, #f8e7e9 0 50%, #e4f3ee 50% 100%); }
.qmag-outcome-track::after { position: absolute; inset: 0 auto 0 50%; width: 1px; background: #72899a; content: ""; }
.qmag-outcome-track i { position: absolute; top: .12rem; height: .41rem; background: var(--qmag-green); }
.qmag-outcome-track i.is-negative { right: 50%; background: var(--qmag-red); }
.qmag-outcome-track i.is-positive { left: 50%; }

.qmag-risk-layout { display: grid; grid-template-columns: minmax(16rem, .65fr) minmax(0, 1.35fr); gap: 1rem; }
.qmag-range-value { display: flex; justify-content: space-between; margin-top: .3rem; color: var(--qmag-blue); font-size: .8rem; }
.qmag-risk-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--qmag-line); }
.qmag-risk-metrics .qmag-kpi { min-height: 6.2rem; }

.qmag-journal-intro { display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: .8rem; border-left: 4px solid var(--qmag-violet); color: var(--qmag-copy); background: #f1effb; font-size: .7rem; }
.qmag-journal-list { display: grid; gap: .65rem; margin-top: .8rem; }
.qmag-journal-card { padding: .8rem; border: 1px solid var(--qmag-line); background: #fff; }
.qmag-journal-card__head { display: flex; justify-content: space-between; gap: 1rem; align-items: start; }
.qmag-journal-card h3 { margin: .12rem 0; font: 700 1.45rem "Source Serif 4", serif; }
.qmag-journal-card small { color: var(--qmag-muted); }
.qmag-journal-actions { display: flex; gap: .35rem; }
.qmag-journal-actions select { width: auto; margin: 0; }
.qmag-journal-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin-top: .7rem; }
.qmag-journal-fields textarea { min-height: 7rem; resize: vertical; }

.qmag-disclaimer { display: grid; grid-template-columns: auto 1fr; gap: .7rem; margin-top: 1rem; padding: .85rem 1rem; border-top: 1px solid #a9bdca; border-bottom: 1px solid #a9bdca; color: var(--qmag-copy); background: #f2f6f8; font-size: .71rem; line-height: 1.5; }
.qmag-disclaimer svg { color: var(--qmag-blue); font-size: 1rem; }
.qmag-disclaimer p { margin: 0; }

@media (min-width: 1450px) {
    .qmag-shell { font-size: 16px; }
    .qmag-candidate { grid-template-columns: 3.3rem minmax(12rem, .72fr) minmax(15rem, .9fr) 11.5rem minmax(25rem, 1.45fr) 9.5rem; }
}

@media (max-width: 1180px) {
    .qmag-hero { grid-template-columns: minmax(0, 1fr) minmax(20rem, .7fr); }
    .qmag-commandbar { grid-template-columns: 10rem minmax(0, 1fr); }
    .qmag-candidate { grid-template-columns: 2.7rem minmax(10rem, .8fr) minmax(13rem, 1fr) 10.5rem 8rem; }
    .qmag-candidate__chart { grid-column: 1 / 5; }
    .qmag-candidate__action { grid-column: 5; }
    .qmag-history-card { grid-template-columns: 2.7rem minmax(10rem, .8fr) minmax(13rem, 1fr) 8.5rem; }
    .qmag-history-card .qmag-candidate__chart { grid-column: 2 / -1; }
    .qmag-filterbar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .qmag-filterbar--history { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .qmag-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 860px) {
    .qmag-hero { grid-template-columns: 1fr; }
    .qmag-hero__action { border-top: 1px solid rgb(188 218 237 / .2); border-left: 0; }
    .qmag-commandbar { grid-template-columns: 1fr; }
    .qmag-commandbar__label { display: none; }
    .qmag-security-context { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .qmag-security-context > div:nth-child(2) { border-right: 0; }
    .qmag-security-context > div:nth-child(-n+2) { border-bottom: 1px solid var(--qmag-line); }
    .qmag-method-grid,
    .qmag-setup-switcher { grid-template-columns: 1fr; }
    .qmag-filterbar,
    .qmag-filterbar--history,
    .qmag-replay-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .qmag-filter-pills,
    .qmag-context-note { grid-column: 1 / -1; }
    .qmag-candidate { grid-template-columns: 2.5rem minmax(0, 1fr) 10rem; }
    .qmag-company { grid-column: 2; }
    .qmag-levels { grid-column: 3; }
    .qmag-setup-copy,
    .qmag-candidate__chart,
    .qmag-candidate__action { grid-column: 1 / -1; }
    .qmag-review-button { flex-direction: row; justify-content: space-between; gap: .5rem; align-items: center; }
    .qmag-review-button strong { margin: 0; }
    .qmag-history-card { grid-template-columns: 2.5rem minmax(0, 1fr) 8.5rem; }
    .qmag-decision { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .qmag-decision__lead { grid-column: 1 / -1; }
    .qmag-two-column,
    .qmag-risk-layout { grid-template-columns: 1fr; }
    .qmag-chart-guide,
    .qmag-risk-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .qmag-chart-toolbar { align-items: start; }
}

@media (max-width: 600px) {
    .qmag-shell { margin-top: .35rem; }
    .qmag-hero__identity,
    .qmag-hero__action { padding: 1.15rem; }
    .qmag-hero h1 { font-size: clamp(2.35rem, 13vw, 3.4rem); }
    .qmag-hero__principles { display: grid; }
    .qmag-symbol-form > div { display: grid; }
    .qmag-symbol-form input { border-right: 1px solid #52708a; }
    .qmag-symbol-form button { min-height: 2.75rem; }
    .qmag-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .qmag-tabs button,
    .qmag-nav-group summary { border-bottom: 1px solid #e1e8ed; }
    .qmag-nav-group:nth-child(even) .qmag-nav-menu { right: 0; left: auto; }
    .qmag-nav-menu { width: min(22rem, calc(100vw - 1.5rem)); }
    .qmag-security-context { grid-template-columns: 1fr; }
    .qmag-security-context > div { border-right: 0; border-bottom: 1px solid var(--qmag-line); }
    .qmag-panel__head { display: block; }
    .qmag-panel__head p { margin-top: .45rem; text-align: left; }
    .qmag-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .qmag-kpis .qmag-kpi:last-child:nth-child(odd) { grid-column: 1 / -1; }
    .qmag-filterbar,
    .qmag-filterbar--history,
    .qmag-replay-controls { grid-template-columns: 1fr; }
    .qmag-filter-pills,
    .qmag-context-note { grid-column: auto; }
    .qmag-results-meta { display: block; }
    .qmag-results-meta span { display: block; margin-top: .2rem; }
    .qmag-candidate,
    .qmag-history-card { grid-template-columns: 2.4rem minmax(0, 1fr); }
    .qmag-company { grid-column: 2; }
    .qmag-setup-copy,
    .qmag-levels,
    .qmag-candidate__chart,
    .qmag-candidate__action { grid-column: 1 / -1; }
    .qmag-decision { grid-template-columns: 1fr; }
    .qmag-decision__lead { grid-column: auto; }
    .qmag-rule { grid-template-columns: 1.2rem 1fr auto; }
    .qmag-rule > p { grid-column: 2 / -1; }
    .qmag-alert-grid,
    .qmag-analogue-grid,
    .qmag-journal-fields { grid-template-columns: 1fr; }
    .qmag-chart-guide,
    .qmag-risk-metrics { grid-template-columns: 1fr; }
    .qmag-journal-intro,
    .qmag-journal-card__head { display: grid; }
    .qmag-journal-actions { width: 100%; }
    .qmag-journal-actions select { flex: 1; min-width: 0; }
    .qmag-chart-toolbar { display: grid; }
    .qmag-chart-toolbar__actions { display: grid; grid-template-columns: 1fr 1fr; }
    .qmag-chart-inspector { grid-template-columns: repeat(4, minmax(5rem, 1fr)); }
    .qmag-dialog__head { align-items: start; }
    .qmag-chart-modal__head .qmag-help-trigger { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    .qmag-loading span { animation-duration: 1.5s; }
    .qmag-candidate { transition: none; }
}
