:root{--iff-black: #1e1e1d;--iff-green: #1d6b4a;--iff-green-hover: #227c54;--iff-yellow: #f8bb59;--iff-orange: #cd6528;--iff-cream: #f2f0ed;--iff-paper: #faf8f5;--iff-muted: #b3b3b3;--iff-forest: #091f15;--iff-font-display: Judson, Georgia, serif;--iff-font-body: Poppins, Helvetica, Arial, sans-serif;--iff-font-ui: "Libre Franklin", Helvetica, Arial, sans-serif;--iff-radius: 2px}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--iff-cream);color:var(--iff-black);font-family:var(--iff-font-body);font-weight:400;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--iff-green);text-decoration-thickness:1px;text-underline-offset:3px}.app{min-height:100dvh;display:flex;flex-direction:column}.top{background:var(--iff-black);color:var(--iff-cream);padding:14px 20px 0}.top-row{display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand img{height:44px;width:auto;display:block;background:var(--iff-black)}.brand-copy{min-width:0}.brand-kicker{margin:0;font-family:var(--iff-font-ui);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--iff-yellow)}.brand-title{margin:2px 0 0;font-size:14px;font-weight:600}.step-meta{font-size:13px;color:var(--iff-muted);white-space:nowrap}.progress{display:flex;gap:4px;margin-top:14px}.progress i{flex:1;height:3px;background:color-mix(in srgb,var(--iff-cream) 18%,transparent)}.progress i.on{background:var(--iff-green)}.main{flex:1;width:min(640px,calc(100% - 40px));margin:0 auto;padding:36px 0 80px}h1{font-family:var(--iff-font-display);font-weight:400;font-size:clamp(32px,7vw,48px);line-height:1.1;margin:0 0 12px}.lede{margin:0 0 28px;color:color-mix(in srgb,var(--iff-black) 72%,var(--iff-cream));font-size:18px;font-weight:300}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.field label{font-family:var(--iff-font-ui);font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;background:var(--iff-paper);border:1px solid color-mix(in srgb,var(--iff-black) 16%,var(--iff-cream));border-radius:var(--iff-radius);padding:14px;min-height:48px}.field textarea{min-height:96px;resize:vertical}.choices{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}.choice{text-align:left;background:var(--iff-paper);border:1px solid color-mix(in srgb,var(--iff-black) 16%,var(--iff-cream));border-radius:var(--iff-radius);padding:16px;cursor:pointer}.choice.on{border-color:var(--iff-green);background:color-mix(in srgb,var(--iff-green) 8%,var(--iff-paper))}.choice strong{display:block;font-size:17px;margin-bottom:4px}.choice span{color:color-mix(in srgb,var(--iff-black) 62%,var(--iff-cream));font-size:14px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:8px}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:var(--iff-radius);min-height:48px;padding:0 22px;font-family:var(--iff-font-body);font-weight:600;cursor:pointer}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--iff-green);color:var(--iff-cream)}.btn-primary:hover:not(:disabled){background:var(--iff-green-hover)}.btn-ghost{background:transparent;color:var(--iff-black);border:1px solid color-mix(in srgb,var(--iff-black) 20%,var(--iff-cream))}.steps{display:flex;flex-direction:column;gap:18px;margin:8px 0 28px}.step-card{background:var(--iff-paper);border:1px solid color-mix(in srgb,var(--iff-black) 12%,var(--iff-cream));padding:16px}.step-card h2{margin:0 0 8px;font-family:var(--iff-font-ui);font-size:13px;letter-spacing:.08em;text-transform:uppercase}.step-card p,.step-card ol{margin:0}.step-card ol{padding-left:18px}.prompt{background:var(--iff-black);color:var(--iff-cream);padding:16px;font-size:14px;white-space:pre-wrap;margin:0 0 12px}.timer{display:inline-block;background:var(--iff-yellow);color:var(--iff-black);font-weight:700;padding:6px 10px;margin-bottom:18px;font-variant-numeric:tabular-nums}.wall-list{display:flex;flex-direction:column;gap:10px;margin:20px 0}.wall-item{background:var(--iff-paper);padding:14px 16px;border:1px solid color-mix(in srgb,var(--iff-black) 12%,var(--iff-cream))}.wall-item a{font-weight:600}.note{font-size:14px;color:color-mix(in srgb,var(--iff-black) 62%,var(--iff-cream))}.check{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.check input{width:22px;height:22px;margin-top:2px;accent-color:var(--iff-green)}.err{color:var(--iff-orange);font-size:14px;margin:0 0 12px}.print-page{width:min(720px,calc(100% - 40px));margin:32px auto 64px}.print-page h1{font-size:36px}.print-page ol{padding-left:20px}.print-page li{margin-bottom:16px}@media(max-width:520px){.brand-title{display:none}.main{width:calc(100% - 32px);padding-top:28px}}
