t2av_eval / frontend /src /styles /guideline.css
dghadiya's picture
Bug fixes (#2)
100eb1b
Raw
History Blame Contribute Delete
9.35 kB
/* Design tokens and component classes transcribed from
T2AV_guideline_final_updated.html, reused across the Guideline, Training,
and Evaluation pages so the whole app reads as one consistent system. */
:root {
--paper: #f4f4f1;
--surface: #ffffff;
--ink: #16202c;
--muted: #5b6672;
--accent: #35507a;
--pass: #1f7a4d;
--fail: #c4362e;
--line: #e4e4de;
--pass-bg: #e7f2ec;
--fail-bg: #fbe9e7;
--chip: #16202c;
--display: "Space Grotesk", sans-serif;
--body: "Inter", sans-serif;
--mono: "IBM Plex Mono", monospace;
}
.t2av-shell {
background: var(--paper);
color: var(--ink);
font-family: var(--body);
min-height: 100vh;
}
.t2av-shell * {
box-sizing: border-box;
}
.t2av-shell h1,
.t2av-shell h2,
.t2av-shell h3 {
font-family: var(--display);
}
/* ---- guideline page layout ---- */
.g-wrap {
display: grid;
grid-template-columns: 248px minmax(0, 1fr);
gap: 0;
max-width: 1180px;
margin: 0 auto;
}
.g-aside {
position: sticky;
top: 0;
align-self: start;
height: 100vh;
padding: 38px 24px 38px 32px;
border-right: 1px solid var(--line);
overflow-y: auto;
}
.g-brand {
font-family: var(--display);
font-weight: 700;
font-size: 19px;
letter-spacing: -0.02em;
line-height: 1.25;
margin-bottom: 4px;
}
.g-brand span {
color: var(--accent);
}
.g-sub {
font-size: 12.5px;
color: var(--muted);
margin-bottom: 26px;
}
.g-aside nav a {
display: block;
font-size: 13.5px;
color: var(--muted);
text-decoration: none;
padding: 5px 0 5px 12px;
border-left: 2px solid transparent;
transition: color 0.15s, border-color 0.15s;
}
.g-aside nav a .n {
font-family: var(--mono);
font-size: 11px;
color: #aeb3b8;
margin-right: 8px;
}
.g-aside nav a:hover {
color: var(--ink);
}
.g-aside nav a.active {
color: var(--ink);
border-left-color: var(--accent);
font-weight: 600;
}
.g-aside nav a.active .n {
color: var(--accent);
}
.g-main {
padding: 56px 56px 120px;
}
.g-top {
margin-bottom: 52px;
}
.eyebrow-g {
font-family: var(--mono);
font-size: 12px;
letter-spacing: 0.14em;
text-transform: uppercase;
color: var(--accent);
margin-bottom: 14px;
}
.g-main h1 {
font-weight: 700;
font-size: 44px;
line-height: 1.05;
letter-spacing: -0.03em;
margin: 0 0 16px;
}
.g-lede {
font-size: 17px;
color: var(--muted);
max-width: 60ch;
margin: 0;
}
.g-meta {
margin-top: 22px;
display: flex;
gap: 10px;
flex-wrap: wrap;
}
.tag-chip {
font-family: var(--mono);
font-size: 12px;
padding: 5px 11px;
border: 1px solid var(--line);
border-radius: 100px;
color: var(--ink);
background: var(--surface);
}
.g-section {
scroll-margin-top: 24px;
padding: 34px 0;
border-top: 1px solid var(--line);
}
.g-section:first-of-type {
border-top: none;
padding-top: 8px;
}
.g-section h2 {
font-weight: 600;
font-size: 26px;
letter-spacing: -0.02em;
margin: 0 0 6px;
display: flex;
align-items: baseline;
gap: 14px;
}
.g-section h2 .num {
font-family: var(--mono);
font-size: 14px;
font-weight: 600;
color: var(--accent);
flex: none;
}
.g-section h3 {
font-weight: 600;
font-size: 17px;
margin: 26px 0 8px;
}
.g-section h4 {
font-family: var(--display);
font-weight: 600;
font-size: 14.5px;
margin: 20px 0 6px;
}
.g-section p {
margin: 0 0 14px;
}
.muted {
color: var(--muted);
}
.g-section ul {
margin: 0 0 14px;
padding-left: 22px;
}
.g-section li {
margin-bottom: 6px;
}
.axis {
font-family: var(--mono);
font-weight: 600;
display: inline-block;
font-size: 12px;
background: var(--chip);
color: #fff;
padding: 2px 8px;
border-radius: 5px;
letter-spacing: 0.02em;
}
.flow {
font-family: var(--mono);
font-size: 13px;
background: var(--surface);
border: 1px solid var(--line);
border-radius: 8px;
padding: 12px 16px;
display: inline-block;
margin: 2px 0 16px;
}
.flow b {
color: var(--accent);
}
.pass,
.fail {
font-family: var(--mono);
font-weight: 600;
font-size: 12.5px;
padding: 1px 7px;
border-radius: 5px;
white-space: nowrap;
}
.pass {
color: var(--pass);
background: var(--pass-bg);
}
.fail {
color: var(--fail);
background: var(--fail-bg);
}
.g-section table,
.rtable {
width: 100%;
border-collapse: collapse;
margin: 8px 0 18px;
font-size: 14.5px;
}
.g-section th,
.g-section td,
.rtable th,
.rtable td {
text-align: left;
padding: 11px 14px;
border-bottom: 1px solid var(--line);
vertical-align: top;
}
.g-section thead th,
.rtable thead th {
font-family: var(--mono);
font-size: 11.5px;
letter-spacing: 0.06em;
text-transform: uppercase;
color: var(--muted);
border-bottom: 1.5px solid var(--ink);
}
.g-section tbody tr:last-child td,
.rtable tbody tr:last-child td {
border-bottom: none;
}
.callout {
background: var(--surface);
border: 1px solid var(--line);
border-left: 3px solid var(--accent);
border-radius: 8px;
padding: 14px 18px;
margin: 16px 0;
font-size: 14.5px;
}
.callout .k {
font-family: var(--mono);
font-size: 11px;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--accent);
display: block;
margin-bottom: 4px;
}
/* ---- worked example (also used on the Training page) ---- */
.example {
background: var(--surface);
border: 1px solid var(--line);
border-radius: 14px;
padding: 26px;
margin-top: 12px;
}
.example .prompt {
font-size: 14.5px;
background: var(--paper);
border-radius: 8px;
padding: 15px 18px;
margin-bottom: 20px;
line-height: 1.6;
}
.example .prompt .lab {
font-family: var(--mono);
font-size: 11px;
letter-spacing: 0.08em;
text-transform: uppercase;
color: var(--accent);
display: block;
margin-bottom: 6px;
}
.example .tldr {
font-style: italic;
color: var(--muted);
margin: 14px 0 18px;
}
.events-grid {
display: grid;
gap: 9px;
margin: 0 0 10px;
}
.ev {
display: grid;
grid-template-columns: auto 1fr;
gap: 14px;
align-items: start;
background: var(--paper);
border: 1px solid var(--line);
border-radius: 10px;
padding: 12px 16px;
}
.ev .enum {
font-family: var(--mono);
font-weight: 600;
font-size: 11.5px;
color: #fff;
background: var(--accent);
border-radius: 6px;
padding: 3px 9px;
white-space: nowrap;
margin-top: 2px;
}
.ev .etype {
font-family: var(--mono);
font-size: 10.5px;
letter-spacing: 0.07em;
text-transform: uppercase;
color: var(--accent);
}
.ev .edesc {
font-size: 14.5px;
margin: 1px 0 2px;
}
.ev .eaxes {
font-size: 13px;
color: var(--muted);
}
.ev .eaxes b {
color: var(--ink);
font-family: var(--mono);
font-size: 11px;
}
.example .note {
font-size: 13px;
color: var(--muted);
margin: 14px 0 4px;
}
.exgrid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 26px;
align-items: start;
}
.rtable .why {
color: var(--muted);
font-size: 13px;
}
.g-footer {
margin-top: 60px;
padding-top: 22px;
border-top: 1px solid var(--line);
font-size: 13px;
color: var(--muted);
}
/* ---- interactive PASS/FAIL toggle buttons (Training + Evaluation pages) ---- */
.verdict-toggle {
display: flex;
gap: 8px;
}
.verdict-btn {
font-family: var(--mono);
font-weight: 600;
font-size: 12.5px;
padding: 6px 14px;
border-radius: 6px;
border: 1px solid var(--line);
background: var(--surface);
color: var(--muted);
cursor: pointer;
}
.verdict-btn.pass-option.selected {
color: var(--pass);
background: var(--pass-bg);
border-color: var(--pass);
}
.verdict-btn.fail-option.selected {
color: var(--fail);
background: var(--fail-bg);
border-color: var(--fail);
}
.verdict-btn.correct {
outline: 2px solid var(--pass);
}
.verdict-btn.incorrect {
outline: 2px solid var(--fail);
}
.grade-mark {
font-family: var(--mono);
font-weight: 700;
font-size: 13px;
margin-left: 8px;
}
.grade-mark.ok {
color: var(--pass);
}
.grade-mark.bad {
color: var(--fail);
}
.explanation-box {
background: var(--fail-bg);
border: 1px solid var(--fail);
border-radius: 8px;
padding: 10px 14px;
margin-top: 8px;
font-size: 13.5px;
color: var(--ink);
}
/* ---- guideline overlay (opened from the Evaluation page) ---- */
.guideline-overlay {
position: fixed;
inset: 0;
z-index: 1000;
overflow-y: auto;
}
.guideline-overlay-close {
position: fixed;
top: 18px;
right: 28px;
z-index: 1001;
width: 40px;
height: 40px;
padding: 0;
border-radius: 50%;
border: 1px solid var(--line);
background: var(--surface);
color: var(--ink);
font-size: 22px;
line-height: 1;
cursor: pointer;
display: flex;
align-items: center;
justify-content: center;
box-shadow: 0 2px 10px rgba(22, 32, 44, 0.18);
}
.guideline-overlay-close:hover {
background: var(--paper);
}
@media (max-width: 900px) {
.g-wrap {
grid-template-columns: 1fr;
}
.g-aside {
position: static;
height: auto;
border-right: none;
border-bottom: 1px solid var(--line);
padding: 26px 24px;
}
.g-aside nav {
display: flex;
flex-wrap: wrap;
gap: 2px 18px;
}
.g-aside nav a {
border-left: none;
padding: 4px 0;
}
.g-aside nav a.active {
border-left: none;
}
.g-main {
padding: 36px 24px 80px;
}
.g-main h1 {
font-size: 34px;
}
.exgrid {
grid-template-columns: 1fr;
}
}