/* GENERATED from tokens/tokens.json. Do not edit. */
* { box-sizing: border-box; }
html { color-scheme: light; font-family: var(--primitive-font-sans); background: var(--semantic-surface-page); color: var(--semantic-text-primary); line-height: var(--primitive-line-normal); }
body { margin: var(--primitive-space-0); min-height: 100vh; }
a { color: var(--semantic-brand-primary-hover); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible { outline: var(--primitive-border-thick) solid var(--semantic-state-focus); outline-offset: var(--primitive-space-1); }
.skip-link { position: absolute; transform: translateY(-200%); background: var(--semantic-surface-panel); padding: var(--primitive-space-3); z-index: var(--primitive-z-dialog); }
.skip-link:focus { transform: translateY(var(--primitive-space-0)); }
.shell { display: grid; grid-template-columns: var(--primitive-width-sidebar) minmax(0, 1fr); min-height: 100vh; }
.nav { min-width: 0; max-width: 100%; background: var(--semantic-surface-subtle); border-right: var(--primitive-border-thin) solid var(--semantic-border-default); padding: var(--primitive-space-5); }
.nav ul { min-width: 0; max-width: 100%; list-style: none; margin: var(--primitive-space-6) var(--primitive-space-0); padding: var(--primitive-space-0); display: grid; gap: var(--primitive-space-2); }
.nav a { display: block; min-height: var(--primitive-control-min); padding: var(--primitive-space-3); border-radius: var(--primitive-radius-md); text-decoration: none; }
.nav a[aria-current="page"] { color: var(--semantic-text-inverse); background: var(--semantic-brand-primary); }
.main { min-width: 0; max-width: 100%; width: min(100%, var(--primitive-width-content)); padding: var(--primitive-space-8); }
.stack { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--primitive-space-4); }
.cluster { display: flex; flex-wrap: wrap; gap: var(--primitive-space-3); align-items: center; }
.cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--primitive-width-card-min)), 1fr)); gap: var(--primitive-space-4); }
.card { min-width: 0; overflow-wrap: anywhere; background: var(--semantic-surface-panel); border: var(--primitive-border-thin) solid var(--semantic-border-default); border-radius: var(--primitive-radius-lg); box-shadow: var(--primitive-shadow-sm); padding: var(--primitive-space-5); }
.eyebrow, .muted { color: var(--semantic-text-muted); }
.eyebrow { font-size: var(--primitive-size-sm); font-weight: var(--primitive-weight-bold); }
h1, h2, h3 { line-height: var(--primitive-line-tight); margin: var(--primitive-space-0); }
h1 { font-size: var(--primitive-size-2xl); } h2 { font-size: var(--primitive-size-xl); }
p { max-width: var(--primitive-width-reading); }
label { display: grid; gap: var(--primitive-space-2); font-weight: var(--primitive-weight-medium); }
input, select, textarea, button { font: inherit; min-height: var(--primitive-control-min); border-radius: var(--primitive-radius-md); border: var(--primitive-border-thin) solid var(--semantic-border-interactive); padding: var(--primitive-space-3); }
input, select, textarea { min-width: 0; max-width: 100%; width: 100%; }
button, .button { color: var(--semantic-text-inverse); background: var(--semantic-brand-primary); border-color: var(--semantic-brand-primary); cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; min-height: var(--primitive-control-min); padding: var(--primitive-space-3) var(--primitive-space-5); border-radius: var(--primitive-radius-md); }
button:hover, .button:hover { background: var(--semantic-brand-primary-hover); }
.notice { min-width: 0; overflow-wrap: anywhere; border-radius: var(--primitive-radius-md); padding: var(--primitive-space-4); background: var(--semantic-surface-subtle); border-left: var(--primitive-space-1) solid var(--semantic-brand-primary); }
.notice.error { color: var(--semantic-state-danger); background: var(--semantic-state-danger-soft); }
.notice.success { color: var(--semantic-state-success); background: var(--semantic-state-success-soft); }
.notice.warning { color: var(--semantic-state-warning); background: var(--semantic-state-warning-soft); }
.login { width: min(calc(100% - var(--primitive-space-6)), var(--primitive-width-reading)); margin: var(--primitive-space-8) auto; }
.plain-list { list-style: none; margin: var(--primitive-space-0); padding: var(--primitive-space-0); display: grid; gap: var(--primitive-space-2); }
.field-row { display: grid; gap: var(--primitive-space-2); padding: var(--primitive-space-3); border: var(--primitive-border-thin) solid var(--semantic-border-default); border-radius: var(--primitive-radius-md); }
.field-row button[aria-pressed="true"] { background: var(--semantic-brand-primary-hover); }
.editor-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--primitive-space-4); align-items: start; }
.editor-stage { overflow: auto; }
.pdf-canvas-wrapper { position: relative; width: max-content; border: var(--primitive-border-thin) solid var(--semantic-border-default); }
.pdf-canvas-wrapper canvas { display: block; }
.pdf-field-marker { position: absolute; border: var(--primitive-border-thick) solid var(--semantic-state-success); background: var(--semantic-state-success-soft); color: var(--semantic-state-success); cursor: move; overflow: hidden; }
.pdf-field-resize { position: absolute; right: var(--primitive-space-0); bottom: var(--primitive-space-0); width: var(--primitive-space-3); height: var(--primitive-space-3); background: var(--semantic-state-success); cursor: nwse-resize; }
.form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--primitive-width-card-min)), 1fr)); gap: var(--primitive-space-3); }
.pre-line { white-space: pre-line; }
button:disabled { cursor: not-allowed; opacity: 0.6; }
code { font-family: var(--primitive-font-mono); }
@media (max-width: 48rem) { .shell, .editor-layout { grid-template-columns: minmax(0, 1fr); } .nav { border-right: 0; border-bottom: var(--primitive-border-thin) solid var(--semantic-border-default); } .nav ul { display: flex; flex-wrap: nowrap; overflow-x: auto; margin: var(--primitive-space-3) var(--primitive-space-0); } .nav a { white-space: nowrap; } .main { padding: var(--primitive-space-5); } .cards { grid-template-columns: minmax(0, 1fr); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition-duration: var(--primitive-motion-reduced) !important; } }
