:root { font-family: system-ui, sans-serif; line-height: 1.5; color: #1d1d1f; } body { margin: 0; background: #faf8f3; } header { display: flex; gap: 2rem; align-items: center; padding: 0.75rem 1.5rem; background: #2b2118; color: #f5e9d3; } header nav { display: flex; gap: 1rem; } header a { color: #f5e9d3; text-decoration: none; opacity: 0.75; } header a.active { opacity: 1; text-decoration: underline; } main { max-width: 46rem; margin: 0 auto; padding: 1.5rem; } button, .button { font: inherit; padding: 0.4rem 0.9rem; border: 1px solid #6b4f2d; background: #6b4f2d; color: #fff; border-radius: 6px; cursor: pointer; text-decoration: none; } button:disabled { opacity: 0.4; cursor: default; } button.link { background: none; border: none; color: #6b4f2d; text-decoration: underline; padding: 0.2rem; } button.danger { color: #a31d1d; } .cards { list-style: none; padding: 0; display: grid; gap: 1rem; } .cards li { background: #fff; border: 1px solid #e3dccd; border-radius: 8px; padding: 1rem; } .cards h2 { margin: 0 0 0.25rem; font-size: 1.2rem; } .badge { font-size: 0.7rem; background: #e3dccd; padding: 0.1rem 0.5rem; border-radius: 99px; vertical-align: middle; } .player { font-size: 1.1rem; } .choices { list-style: none; padding: 0; display: grid; gap: 0.6rem; } .choices button { width: 100%; text-align: left; padding: 0.7rem 1rem; } .ending { padding: 1rem; border-radius: 8px; border: 2px solid; } .ending.win { border-color: #2e7d32; background: #e8f5e9; } .ending.lose { border-color: #a31d1d; background: #fdecea; } .ending.neutral { border-color: #6b4f2d; background: #f3ece0; } .editor label { display: block; margin-bottom: 0.75rem; font-weight: 600; } .editor input, .editor textarea, .editor select { display: block; width: 100%; box-sizing: border-box; font: inherit; padding: 0.35rem; margin-top: 0.2rem; } .editor input[aria-invalid="true"] { outline: 2px solid #a31d1d; } .toolbar { display: flex; gap: 0.75rem; align-items: center; margin: 1rem 0; } .issues ul { padding-left: 1.2rem; } .issues .error strong { color: #a31d1d; } .issues .warning strong { color: #b26a00; } .issues .ok { color: #2e7d32; } .node { border: 1px solid #d7cdb8; border-radius: 8px; margin: 1rem 0; background: #fff; } .choice-row { display: grid; grid-template-columns: 1fr 1fr auto; gap: 0.5rem; margin: 0.4rem 0; } .choice-row input, .choice-row select { margin-top: 0 !important; }