.score-target { margin-top: 22px; padding: 20px; min-width: 0; border: 1px solid #8c794044; border-radius: 12px; background: linear-gradient(140deg,#142420f2,#0b1014f5); }
.score-target h2 { margin: 0; color: #f2dfaf; font-size: clamp(1.25rem,2vw,1.7rem); line-height: 1.25; overflow-wrap: anywhere; }
.score-target-intro { margin: 8px 0 0; color: #d8e5c8; font-size: .9rem; line-height: 1.5; }
.score-target-assumptions { color: #b5c7bf; font-size: .85rem; line-height: 1.6; margin: 10px 0 18px; }
.score-target-form label { display: block; font-size: .8rem; color: #d2e8bd; font-weight: 700; margin-bottom: 7px; }
.score-target-controls { display: flex; gap: 8px; flex-wrap: wrap; }
.score-target-controls input { flex: 1 1 140px; min-width: 0; width: 140px; background: #030b09; border: 1px solid #65805d; border-radius: 7px; padding: 12px; color: #f7df91; font: 700 1.125rem system-ui,sans-serif; font-variant-numeric: tabular-nums; }
.score-target-controls button { flex: 1 1 auto; cursor: pointer; border: 1px solid #a89250; border-radius: 7px; padding: 12px 18px; background: linear-gradient(#3a4930,#1b291b); color: #fff0c7; font: 700 .875rem system-ui,sans-serif; }
.score-target :is(button,input,summary):focus-visible { outline: 3px solid #eac566; outline-offset: 3px; }
.score-target-method { font-size: .72rem; color: #a7b7b5; margin: 13px 0 0; line-height: 1.5; }
.score-target-method a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.score-target-status { font-size: .85rem; line-height: 1.5; color: #f6cd94; }
.score-target-overview { color: #d3e7bc; font: 700 .95rem system-ui,sans-serif; font-variant-numeric: tabular-nums; }
.score-target-route { margin-top: 12px; border: 1px solid #475d46; border-radius: 9px; overflow: hidden; background: #050d0b99; }
.score-target-route[data-route^="stretch"] { border-color: #af7bc1; }
.score-target-route summary { cursor: pointer; padding: 14px; color: #e6eddb; font: 700 .9rem system-ui,sans-serif; }
.score-target-route summary strong { display: block; margin-top: 8px; color: #ffb74d; font-size: 1.3rem; font-variant-numeric: tabular-nums; }
.score-target-route summary small { font-size: .8rem; color: #a8dca3; }
.score-target-route ol { list-style: none; padding: 0 14px; margin: 0; }
.score-target-route li { padding: 13px 0; border-top: 1px solid #3e594144; }
.score-target-route li > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 12px; justify-content: space-between; }
.score-target-route li strong { color: #f1f0e3; font-size: .95rem; }
.score-target-step { color: #dbe6af; font: 700 .8rem system-ui,sans-serif; font-variant-numeric: tabular-nums; }
.score-target-route li p { margin: 5px 0 0; color: #b5c7bf; font-size: .8rem; line-height: 1.5; }
.score-target-route bdi { font-variant-numeric: tabular-nums; }
.score-target-shortfall { padding: 0 14px; color: #f6cd94; font-size: .85rem; }
@media(max-width:480px) { .score-target { padding: 15px; } .score-target-controls { flex-direction: column; } .score-target-controls input { flex: auto; width: 100%; box-sizing: border-box; } .score-target-controls button { flex: auto; } }
