From 97a0e396f4f1ce43ea6a24927f41bd789abc3b13 Mon Sep 17 00:00:00 2001 From: Paul Bakaus Date: Tue, 21 Jul 2026 17:04:08 -0700 Subject: [PATCH] Dress the question page in the real kinpaku brand The decision page now mirrors impeccable.style's Neo kinpaku system: the split logo mark and Alumni Sans wordmark in kinpaku gold, lacquer ground with raised-panel cards, the gold die beside the headline (count of dealt options, rotated like the research page dice), THE ROLL badge as a mini die, worlds-roll card treatment (rule borders, fan rotation, deal-in stagger honoring reduced motion, hover lift), mono tracked lineage lines, champagne display type, gold CTA with dark ink, and a die-glyph re-roll button. Tokens mirrored from kinpaku-tokens.css. Co-Authored-By: Claude Fable 5 --- skill/scripts/serve-question.mjs | 99 ++++++++++++++++++++++---------- 1 file changed, 68 insertions(+), 31 deletions(-) diff --git a/skill/scripts/serve-question.mjs b/skill/scripts/serve-question.mjs index a77dccb8c..eb5a89241 100644 --- a/skill/scripts/serve-question.mjs +++ b/skill/scripts/serve-question.mjs @@ -171,12 +171,12 @@ const esc = (s) => String(s ?? '').replace(/[&<>"]/g, (c) => ({ '&': '&', '< function page() { const cards = options.map((option, index) => ` -
+
${option.kicker ? `${esc(option.kicker)}` : ''} ${option.heroSrc ? `` : '
'}
+ ${option.lineage ? `

${esc(option.lineage)}

` : ''}

${esc(option.label)}

- ${option.lineage ? `

${esc(option.lineage)}

` : ''} ${option.body ? `

${esc(option.body)}

` : ''} ${option.boardSrc ? `
design-system board
` : ''} @@ -185,49 +185,86 @@ function page() { return ` ${esc(payload.title || 'impeccable ยท decision')} + + +
-
impeccable
-

${esc(payload.title || 'Choose a direction')}

+
+ + impeccable +
+
+
${options.length}
+

${esc(payload.title || 'Choose a direction')}

+
${payload.question ? `

${esc(payload.question)}

` : ''}
${cards}
${payload.steer ? '' : ''} - ${payload.reroll ? '' : ''} + ${payload.reroll ? '' : ''}