:root{--ink:#1b2413;--paper:#fffdf8;--sage:#6f842d;--accent:#e54218;--yellow:#f3c548;--line:#e1dac8;--muted:#52613f}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif}.page-shell{width:min(760px,calc(100% - 40px));margin:auto}header{height:92px;border-bottom:2px solid var(--accent);display:flex;align-items:center;justify-content:space-between}.brand{font:600 27px Fraunces,serif;letter-spacing:-1px;color:var(--ink);text-decoration:none}.brand span{color:var(--accent)}header p,.fine-print{font:11px "DM Mono",monospace;color:var(--muted);margin:0}.intro,.empty,.training-intro{text-align:center;padding:62px 20px 50px}.flower-field{height:87px;position:relative;color:var(--accent);font:72px/1 Georgia,serif}.flower-field span{display:inline-block;position:absolute}.flower-field span:nth-child(1){left:4%;top:25px;color:var(--yellow);font-size:44px}.flower-field span:nth-child(2){left:23%;top:2px;font-size:58px;color:#b86c80}.flower-field span:nth-child(3){left:43%;top:25px;font-size:45px;color:var(--sage)}.flower-field span:nth-child(4){left:59%;top:0;color:var(--accent)}.flower-field span:nth-child(5){right:3%;top:28px;font-size:43px;color:var(--yellow)}.eyebrow{text-transform:uppercase;letter-spacing:1.7px;font:700 11px "DM Mono",monospace;color:var(--accent);margin:14px 0 17px}.intro h1,.study h1,.reveal h1,.empty h1,.training-intro h1{font:600 clamp(38px,7vw,61px)/.98 Fraunces,serif;letter-spacing:-2.5px;margin:0}.lede,.empty p{max-width:485px;margin:24px auto 29px;color:var(--muted);font-size:15px;line-height:1.65}.primary{border:0;border-radius:999px;background:var(--ink);color:white;padding:15px 23px;font:700 13px "DM Sans",sans-serif;box-shadow:0 4px 0 #13261a;cursor:pointer;transition:background .15s ease}.primary:hover:not(:disabled){background:var(--accent)}.primary:disabled{opacity:.45;cursor:not-allowed}.primary span{font-size:18px;margin-left:8px}.fine-print{margin-top:27px}.credit-optin{margin-top:22px}.credit-toggle{border:0;background:none;padding:0;font:11px "DM Mono",monospace;color:var(--muted);text-decoration:underline;cursor:pointer}.credit-form{margin:14px auto 0;max-width:400px;text-align:left;padding:16px 18px;background:var(--paper);border:1px solid var(--line);border-radius:6px}.credit-copy{margin:0 0 12px;color:var(--muted);font-size:12px;line-height:1.5}.credit-form input{display:block;width:100%;margin-bottom:8px;padding:9px 11px;border:1px solid var(--line);border-radius:4px;background:var(--paper);color:var(--ink);font:14px "DM Sans",sans-serif}.credit-form input:focus{outline:2px solid var(--accent);outline-offset:1px}.credit-save{border:0;border-radius:999px;background:var(--ink);color:white;padding:8px 16px;font:700 12px "DM Sans",sans-serif;cursor:pointer}.credit-save:hover{background:var(--accent)}.credit-status{margin:10px 0 0;color:var(--muted);font-size:12px;min-height:16px}.study{padding:42px 0 67px}.study-top{display:flex;justify-content:space-between;font:11px "DM Mono",monospace;color:var(--muted)}.back{border:0;background:none;color:var(--ink);font:500 11px "DM Mono",monospace;cursor:pointer;padding:0}.progress{margin:15px 0 30px;height:4px;background:#e3ddcd;border-radius:4px;overflow:hidden}.progress span{display:block;background:linear-gradient(90deg,var(--accent),var(--yellow));height:100%;width:0;transition:width .3s}.photo-panel{background:#eee7d7;padding:12px;margin-bottom:31px}.photo-strip{display:flex;gap:8px;overflow:auto;scroll-snap-type:x mandatory}.photo-strip img{height:280px;min-width:100%;object-fit:contain;scroll-snap-align:start;background:var(--line)}.photo-count{margin:8px 1px 0;font:10px "DM Mono",monospace;color:var(--muted)}.study h1{font-size:47px;max-width:560px}.answers{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:28px}.answer{background:var(--paper);border:1px solid var(--line);border-radius:7px;min-height:62px;padding:12px 15px;text-align:left;color:var(--ink);font:600 16px Fraunces,serif;cursor:pointer}.answer:hover{border-color:var(--sage)}.answer.selected{background:#eef1de;border-color:var(--sage)}.swatch{display:inline-block;width:32px;height:32px;border-radius:5px;margin-right:12px;vertical-align:middle}.status{min-height:24px;margin:22px 0 15px;color:var(--muted);font-size:14px}.next{float:right}.answer:disabled{opacity:.55;cursor:default}.answer.correct-answer{border-color:var(--sage);background:#eef1de}.answer.incorrect-answer{border-color:var(--accent);background:#fbeae5}.training-badge{display:inline-block;margin-left:8px;padding:3px 9px;border-radius:999px;background:var(--yellow);color:var(--ink);font:700 10px "DM Mono",monospace;text-transform:uppercase;letter-spacing:.5px;vertical-align:2px}.training-tip{margin:16px 0 0;padding:12px 14px;background:#fdf6de;border:1px solid var(--yellow);border-radius:6px;color:var(--ink);font-size:13px;line-height:1.6}.feedback-result{font:700 16px "DM Sans",sans-serif;margin:22px 0 6px}.feedback-result.is-correct{color:var(--sage)}.feedback-result.is-incorrect{color:var(--accent)}.feedback-explanation{color:var(--muted);font-size:14px;line-height:1.6;margin:0 0 4px}.reveal{text-align:center;padding:50px 20px 66px}.reveal h1{font-size:48px;margin-bottom:14px}.reveal a{display:block;color:var(--sage);font-size:13px;margin:0 0 31px}.result-card{display:flex;align-items:center;text-align:left;gap:7px;max-width:490px;margin:9px auto;padding:13px 16px;background:var(--paper);border:1px solid var(--line);border-radius:6px}.result-card strong{font:600 17px Fraunces,serif}.result-card span:last-child{margin-left:auto;color:var(--muted);font-size:11px}.is-hidden{display:none!important}footer{text-align:center;border-top:1px solid var(--line);padding:20px;color:var(--muted);font:11px/1.5 "DM Mono",monospace}@media(max-width:500px){.page-shell{width:min(100% - 28px,760px)}header{height:74px}header p{display:none}.intro,.training-intro{padding:43px 0}.flower-field{transform:scale(.84)}.study{padding:31px 0 54px}.photo-strip img{height:230px}.study h1{font-size:39px}.answers{grid-template-columns:1fr}.reveal{padding:44px 0}.result-card{align-items:flex-start;flex-wrap:wrap}.result-card span:last-child{width:100%;margin-left:23px}}
