:root{--lime:#dfff4f;--ink:#20231c;--paper:#fafbf3;--muted:#6b705b;--line:#b9cc4d}*{box-sizing:border-box}body{margin:0;background:var(--lime);color:var(--ink);font-family:Arial,"PingFang SC","Microsoft YaHei",sans-serif}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,a:focus-visible{outline:3px solid #6152d8;outline-offset:4px}[hidden]{display:none!important}header,main,footer{max-width:1280px;margin:auto}header{height:88px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:0 4px}.brand{text-decoration:none;color:inherit;font-weight:900;display:flex;align-items:center;gap:10px;font-size:23px}.brand-icon{background:var(--ink);color:var(--lime);width:32px;height:32px;text-align:center;border-radius:50%}.en{font-size:10px;letter-spacing:1.3px;margin-left:10px}.quiet{background:none;border:0;padding:10px;font-size:13px}.intro{display:flex;justify-content:space-between;padding:48px 0 32px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:1.6px;display:flex;align-items:center;gap:8px}.dot{width:7px;height:7px;border-radius:50%;background:var(--ink)}h1{font-size:clamp(52px,6.2vw,84px);line-height:1.12;letter-spacing:-4px;margin:22px 0 18px;font-weight:900;position:relative}.outline{color:transparent;-webkit-text-stroke:2px var(--ink)}.spark{margin-left:30px;width:48px;height:48px}.lead{font-size:15px;line-height:1.8;margin:0}.intro-aside{align-self:flex-end;text-align:right}.intro-aside p{font-size:13px;color:var(--muted);line-height:1.8;margin-top:28px}.stamp{display:inline-block;transform:rotate(9deg);border:1.5px solid var(--ink);border-radius:50%;padding:22px 15px;text-align:center;font-size:12px;line-height:1.8}.stamp b{font-size:19px}.studio{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px}.paper{background:var(--paper);border:1.5px solid var(--ink);border-radius:5px;display:flex;flex-direction:column;min-height:355px;box-shadow:4px 4px 0 #bfd543}.paper-head{padding:17px 20px;display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.paper-head b{margin-right:10px;color:var(--ink)}.drawing-area{position:relative;flex:1;min-height:245px;background-image:radial-gradient(#dde1d0 .8px,transparent .8px);background-size:20px 20px}#drawing{position:absolute;width:100%;height:100%;touch-action:none;cursor:crosshair}#placeholder{pointer-events:none;position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9da58c;font-size:14px}#placeholder svg{fill:none;stroke:#b7bfaa;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;transform:rotate(-5deg);margin-bottom:2px}#placeholder small{font-size:10px;margin-top:9px}.tools{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e1e4d5;padding:8px 16px;min-height:52px}.swatches{display:flex;gap:10px}.swatch{width:24px;height:24px;border:3px solid var(--paper);border-radius:50%;outline:1px solid transparent}.swatch[aria-pressed=true]{outline-color:var(--ink)}.entry{padding:8px 0 0}.entry>.eyebrow{font-size:10px;margin-bottom:24px}.entry label{font-size:12px}.name-wrap{display:flex;border-bottom:1.5px solid var(--ink);margin-top:8px}.name-wrap input{width:100%;min-width:0;background:none;border:0;padding:6px 0;font-size:24px;font-weight:800;outline:none}.name-wrap:focus-within{border-color:#6152d8}.name-wrap button{background:none;border:0;font-size:28px}.horse-note{font-size:11px;margin:12px 0 22px;color:var(--muted)}.mode-tabs{display:flex;border:1px solid #9eae41;border-radius:5px;padding:3px;gap:3px}.mode-tabs button{flex:1;border:0;background:none;font-size:12px;padding:9px 4px;border-radius:3px}.mode-tabs button.selected{background:var(--ink);color:var(--lime)}#mode-desc{font-size:12px;line-height:1.8;color:#555d3b;margin:13px 0}.primary{width:100%;border:1px solid var(--ink);background:var(--ink);color:var(--lime);border-radius:5px;display:flex;justify-content:space-between;align-items:center;padding:18px 20px;font-weight:800;font-size:16px;transition:transform .15s,background .15s}.primary:hover:enabled{background:#36422b;transform:translateY(-2px)}.primary:active:enabled{transform:translateY(2px)}.primary span{font-size:23px}.borrow{border:0;background:none;font-size:11px;width:100%;padding:15px;text-decoration:underline;text-underline-offset:4px}.best{font-size:10px;border-top:1px solid var(--line);padding-top:12px;color:var(--muted)}.steps{display:flex;gap:65px;padding:33px 0}.steps div{display:flex;flex-direction:column;gap:9px}.steps b{font-size:12px}.steps span{font-size:11px;color:var(--muted)}.steps .tiny-horse{margin-left:auto;transform:rotate(-8deg);font-size:13px;line-height:1.6}footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;padding:22px 0;font-size:10px;color:var(--muted)}.challenge{background:var(--ink);color:var(--lime);padding:15px 20px;margin-bottom:20px;font-size:14px;border-radius:5px}.race-heading{display:flex;justify-content:space-between;align-items:center;margin:30px 0 20px}h2{font-size:32px;margin:10px 0}.race-stage{height:440px;position:relative;overflow:hidden;border:1px solid var(--ink);border-radius:7px;background:#e9efce}#track{width:100%;height:100%}#countdown{position:absolute;inset:0;display:grid;place-items:center;font-size:90px;font-weight:900;pointer-events:none}#race-comment{position:absolute;top:18px;left:20px;font-size:12px;background:var(--paper);padding:8px 12px;border-radius:20px}#ranks{position:absolute;right:15px;top:16px;display:flex;gap:8px;flex-direction:column;font-size:11px}#ranks span{background:#ffffffb5;padding:5px 10px;border-radius:4px}#ranks .you{background:var(--ink);color:var(--lime)}.controls{max-width:480px;margin:22px auto 32px;text-align:center}.race-meta{display:flex;justify-content:space-between;font-size:12px;align-items:center}.race-meta strong{font-size:24px}.rhythm{height:20px;background:#c0cc87;border:1px solid var(--ink);margin:14px 0;position:relative;border-radius:30px;overflow:hidden}.target{position:absolute;left:72%;width:24%;height:100%;background:#4a7727;border-left:2px solid var(--paper);border-right:2px solid var(--paper)}#needle{position:absolute;left:0;width:5px;height:100%;background:var(--paper);box-shadow:0 0 0 1px var(--ink)}#boost{justify-content:center;gap:20px}#feedback{font-size:11px;min-height:16px;color:#555d3b}.result-layout{display:grid;grid-template-columns:1fr 380px;gap:100px;padding:65px 50px;align-items:center}.result-copy>p{font-size:16px;line-height:1.9}.result-actions{display:flex;gap:12px;margin:28px 0 18px}.secondary{border:1px solid var(--ink);border-radius:5px;background:none;white-space:nowrap;padding:15px;font-weight:700}.ticket{background:var(--paper);transform:rotate(3deg);box-shadow:10px 12px 0 #bdd342;padding:18px;border:1px solid var(--ink)}.ticket-top{display:flex;justify-content:space-between;font-size:11px;border-bottom:1px dashed #a5aa96;padding:0 0 14px}.ticket canvas{width:100%;display:block}.ticket>button{width:100%;border-top:1px dashed #a5aa96}#challenge-result{font-weight:bold;font-size:14px}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--lime);padding:13px 24px;border-radius:8px;font-size:13px;z-index:10;opacity:0;pointer-events:none;transition:opacity .2s;max-width:90vw}dialog{max-width:440px;width:90%;border:1px solid var(--ink);background:var(--paper);border-radius:10px;padding:26px}dialog::backdrop{background:#20231c99}dialog p{font-size:13px;line-height:1.8}dialog label{font-size:12px}textarea{width:100%;margin:8px 0 18px;resize:none;border:1px solid #aaa;padding:10px;font-size:11px}.close{float:right}.share-note{color:var(--muted)}@media(min-width:1500px){.intro{padding-top:55px}.drawing-area{min-height:300px}}@media(max-width:1360px){header,main,footer{margin-left:40px;margin-right:40px}}@media(max-width:760px){header,main,footer{margin-left:20px;margin-right:20px}header{height:68px}.brand{font-size:18px}.en{display:none}.intro{padding:30px 0 25px}.intro h1{font-size:57px;letter-spacing:-3px}.intro .eyebrow{font-size:9px;letter-spacing:.7px}.intro-aside{display:none}.lead{font-size:13px}.spark{width:32px;margin-left:15px}.studio{grid-template-columns:1fr;gap:24px}.paper{min-height:320px}.entry>.eyebrow{margin-bottom:15px}.horse-note{margin:10px 0 16px}.entry{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}.entry>.eyebrow,.entry>label,.name-wrap,.horse-note,.entry>.primary,.borrow,.best{grid-column:1/-1}.mode-tabs{align-self:center}#mode-desc{margin:0;font-size:10px}.entry>.primary{margin-top:18px}.steps{gap:18px;justify-content:space-between}.steps span{max-width:90px;line-height:1.6;font-size:10px}.steps b{font-size:11px}.tiny-horse{display:none}footer{font-size:9px;gap:20px;line-height:1.8}.race-heading{margin-top:22px}h2{font-size:25px}.race-stage{height:390px}#race-comment{font-size:10px;top:12px;left:10px;max-width:60%}#ranks{gap:4px;right:8px;top:12px;font-size:9px}.result-layout{grid-template-columns:1fr;gap:30px;padding:35px 0}.result-copy h1{font-size:58px}.ticket{max-width:360px;justify-self:center;width:94%}.controls{margin-top:20px}.race-heading .eyebrow{font-size:9px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}.ticket{transform:none}}

#result-title,#result-desc{white-space:pre-line}#result-desc{line-height:1.9}

#result-title{font-size:clamp(36px,4.4vw,62px);letter-spacing:-2px}
.result-actions{flex-wrap:wrap}.result-actions .primary{flex:1 0 190px;width:auto;white-space:nowrap}.result-actions .secondary{flex:1 0 120px}
@media(min-width:761px) and (max-width:1050px){.result-layout{grid-template-columns:minmax(0,1fr) 320px;gap:32px;padding:40px 0}}
.challenge{display:flex;align-items:center;justify-content:space-between;gap:18px}.challenge #challenge-copy{line-height:1.65}.challenge .primary{width:auto;flex:0 0 auto;padding:12px 16px;font-size:13px}.challenge .primary span{font-size:18px}@media(max-width:600px){.challenge{align-items:stretch;flex-direction:column;gap:10px}.challenge .primary{width:100%;justify-content:center}}

#save-clip{flex:1 0 150px}
.result-links{display:flex;justify-content:space-between;align-items:center;gap:12px}.result-links .quiet{padding-left:0}.result-links #feedback-open{color:var(--muted);text-decoration:underline;text-underline-offset:4px}
.feedback-inbox{padding:70px 0 110px;max-width:820px}.feedback-inbox h1{font-size:clamp(48px,6vw,76px);margin-bottom:12px}.feedback-intro{color:var(--muted);font-size:14px;line-height:1.8}.feedback-toolbar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:36px;padding:12px 0;font-size:12px;color:var(--muted)}.feedback-list{display:grid;gap:12px;margin-top:18px}.feedback-card{background:var(--paper);border:1px solid var(--ink);border-radius:6px;padding:16px 18px;box-shadow:4px 4px 0 #bfd543}.feedback-card-meta{font-size:11px;color:var(--muted);margin-bottom:10px}.feedback-card p{font-size:15px;line-height:1.75;margin:0 0 10px;white-space:pre-wrap;overflow-wrap:anywhere}.feedback-card small{font-size:10px;color:#7d846c}.feedback-empty{border:1px dashed #9eae41;padding:24px;color:var(--muted);font-size:13px}#feedback-dialog select{width:100%;display:block;background:#fffef5;border:1px solid #aaa;border-radius:4px;padding:10px;margin:7px 0 16px}#feedback-dialog .primary{margin-top:4px}
@media(max-width:760px){.result-links{align-items:flex-start}.feedback-inbox{padding:40px 0 70px}.feedback-toolbar{align-items:flex-start;gap:10px}.feedback-toolbar .quiet{padding-top:0;padding-right:0}}

.ai-verdict{margin:20px 0 4px;border:1.5px dashed var(--ink);background:var(--paper);padding:15px 17px;box-shadow:4px 4px 0 #bfd543}
.ai-verdict-head{display:flex;justify-content:space-between;gap:14px;color:var(--muted);font-size:10px;letter-spacing:.8px;text-transform:uppercase}
.ai-verdict-head span:first-child{color:var(--ink);font-weight:800}
#ai-verdict[data-state=loading]{opacity:.72}
#ai-verdict[data-source=fallback] .ai-verdict-head span:last-child{color:var(--muted)}
#ai-species{display:block;font-size:22px;line-height:1.25;margin-top:12px}
#ai-line{font-size:13px;line-height:1.65;margin:7px 0 10px}
.ai-challenge{background:var(--lime);padding:9px 11px;font-size:12px;line-height:1.55;margin:0}
@media(max-width:760px){.ai-verdict{margin-top:16px;padding:13px}.ai-verdict-head{font-size:9px}#ai-species{font-size:20px}}
