/* FuelUp working surface: the original garden, clear paper, pearl accents. */
:root{scroll-padding-top:115px}
#assessment{background:var(--navy);padding:58px 0;color:#f9fafc}
#assessment .planner-intro{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}
#assessment h2{font-family:Oswald,'Noto Sans TC',sans-serif;font-size:clamp(28px,4vw,42px);font-weight:600;line-height:1.25}
#assessment .planner-intro p{max-width:650px;color:#c4ccda;line-height:1.7;margin-top:12px}
.fp-shell,.fp-dialog{--fp-muted:#526075;color:var(--ink);font-size:16px;line-height:1.6}
.fp-shell{background:#fffdf9;border:1px solid #d6dbdf;border-top:4px solid #abd9d4;border-radius:16px;overflow:hidden;box-shadow:0 5px 0 #7c9ba8,0 12px 18px #050c1730,0 28px 60px #050c173d}
.fp-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 24px;background:#f0f4f6;border-bottom:1px solid #dce1e4}
.fp-tabs{display:flex;gap:4px;overflow-x:auto;padding:12px 20px;border-bottom:1px solid #dce1e4}
.fp-tabs button{white-space:nowrap}
.fp-shell button,.fp-dialog button,.fp-btn{font:600 14px/1.4 Inter,'Noto Sans TC',sans-serif;border:1px solid #bfcbd3;border-radius:6px;padding:10px 15px;min-height:44px;cursor:pointer;background:#fff;color:#18283c}
.fp-shell button:hover,.fp-dialog button:hover,.fp-btn:hover{border-color:#365a6c;background:#eaf3f5}
.fp-shell button:disabled,.fp-dialog button:disabled{opacity:.6;cursor:not-allowed}
.fp-shell button.fp-primary,.fp-dialog button.fp-primary,.fp-btn.fp-primary{background:#163e4b;border-color:#163e4b;color:white}
.fp-tabs button[aria-selected=true]{background:#163e4b;color:#fff;border-color:#163e4b}
.fp-panel{padding:28px}
.fp-panel[hidden],.fp-shell [hidden],.fp-dialog [hidden]{display:none!important}
.fp-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.fp-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.fp-field{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.fp-field input,.fp-field select,.fp-field textarea,.fp-search{width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid #acb9c2;border-radius:5px;font:400 16px/1.4 Inter,'Noto Sans TC',sans-serif;background:#fff;color:#162033}
.fp-shell input[type=checkbox],.fp-dialog input[type=checkbox]{accent-color:#163e4b;width:19px;height:19px;flex-shrink:0}
.fp-check{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.7;cursor:pointer}
.fp-check input{margin-top:3px}
.fp-checks{display:flex;gap:12px 22px;flex-wrap:wrap;margin:10px 0}
.fp-shell fieldset{border:0;padding:0;margin:18px 0}
.fp-shell legend{font-weight:600;font-size:14px}
.fp-muted{color:var(--fp-muted);font-size:14px;line-height:1.7}
.fp-notice{padding:14px 16px;background:#edf4f5;border-left:3px solid #457b86;border-radius:4px;margin:16px 0;color:#294653;font-size:14px}
.fp-notice.warn{background:#fff2dd;border-color:#b7802e;color:#72521e}
.fp-error{color:#9e263e;font-size:14px;font-weight:600;margin:12px 0}
.fp-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:20px}
.fp-card{padding:22px;border:1px solid #d6dde1;border-radius:12px;background:linear-gradient(145deg,#fff,#f8fafb);box-shadow:inset 0 1px 0 #fff,0 3px 0 #dfe5e8,0 8px 16px #173f4d0a}
.fp-card h3,.fp-panel h3{font:600 22px/1.35 Oswald,'Noto Sans TC',sans-serif;margin-bottom:8px}
.fp-card p{margin:8px 0}
.fp-card ul{padding-left:20px;font-size:14px;margin:12px 0;line-height:1.8}
.fp-kicker{font:600 12px/1.4 'JetBrains Mono',monospace;text-transform:uppercase;color:#357481;letter-spacing:.06em;margin-bottom:10px}
.fp-macros{display:flex;flex-wrap:wrap;gap:8px 18px;border-block:1px solid #e3e8ea;padding:12px 0;margin:12px 0;font-size:14px}
.fp-shell a,.fp-dialog a{color:#185a70;text-decoration:underline;text-underline-offset:3px}
.fp-pill{display:inline-block;border:1px solid #bacbd0;background:#eaf3f3;color:#234c56;border-radius:4px;padding:4px 8px;font-size:12px}
.fp-empty{padding:28px;text-align:center;border:1px dashed #aebdc5;border-radius:8px;color:#4c6070}
.fp-table-wrap{overflow:auto;margin:16px 0}
.fp-table{border-collapse:collapse;width:100%;font-size:14px;text-align:left}
.fp-table th,.fp-table td{padding:12px 10px;border-bottom:1px solid #dce3e7;vertical-align:middle}
.fp-table th{font-weight:600;background:#eef3f5}
.fp-table input[type=number]{width:85px;min-height:44px;padding:8px;border:1px solid #aebdc5;border-radius:4px;font-size:16px}
.fp-table td:first-child{min-width:130px}
.fp-table button{padding:7px 10px}
.fp-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:20px 0}
.fp-metric{padding:18px;background:#eff4f5;border-radius:7px}
.fp-metric strong{display:block;font:600 25px/1.5 'JetBrains Mono',monospace;color:#173f4d}
.fp-metric span{font-size:14px;color:#4c6070}
.fp-progress{height:10px;background:#e5e9ea;border-radius:8px;overflow:hidden;margin:12px 0}
.fp-progress span{display:block;height:100%;background:#3e8178}
.fp-dialog{border:1px solid #becbd0;border-radius:12px;background:#fffdf9;width:min(760px,calc(100% - 24px));max-height:88dvh;overflow:auto;padding:0;margin:auto;box-shadow:0 24px 90px #08182b66}
.fp-dialog::backdrop{background:#0d172ccc;backdrop-filter:blur(4px)}
.fp-dialog-head{display:flex;justify-content:space-between;gap:20px;align-items:start;padding:24px;border-bottom:1px solid #dce3e7;position:sticky;top:0;background:#fffdf9;z-index:1}
.fp-dialog h2{font:600 26px/1.3 Oswald,'Noto Sans TC',sans-serif}
.fp-dialog-body{padding:24px}
.fp-dialog-body p{margin:12px 0}
.fp-dialog-body ul,.fp-dialog-body ol{padding-left:22px;line-height:1.9;margin:12px 0}
.fp-dialog-body details{padding:12px 0;border-bottom:1px solid #dce3e7}
.fp-dialog-body summary{cursor:pointer;font-weight:600;min-height:30px}
.fp-feedback{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#163e4b;color:white;padding:13px 20px;border-radius:8px;max-width:calc(100% - 32px);width:max-content;z-index:110;font-size:14px;box-shadow:0 5px 20px #0003}
.fp-feedback:empty{display:none}
.fp-shell :focus-visible,.fp-dialog :focus-visible{outline:3px solid #16718b;outline-offset:3px}
.fp-shell h4{font-size:16px;margin:16px 0 8px}
.fp-section-row{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:20px}
.fp-small-actions{display:flex;gap:8px;flex-wrap:wrap}
.fp-shell .fp-small{font-size:13px}
.fp-logform{display:grid;grid-template-columns:2fr 1fr auto;align-items:end;gap:12px;margin:20px 0}
.fp-sport-guide{margin-bottom:22px}
.fp-status{min-height:22px}
.coach-body .fp-btn{display:inline-block;text-decoration:none;margin-top:12px}
@media(max-width:760px){.fp-grid,.fp-grid.three{grid-template-columns:1fr}.fp-panel{padding:20px 16px}.fp-tabs{padding:10px}.fp-toolbar{padding:16px}.fp-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.fp-logform{grid-template-columns:1fr 1fr}.fp-logform .fp-field:first-child{grid-column:1/-1}.fp-dialog-head,.fp-dialog-body{padding:20px}.fp-intro-actions{display:none}#assessment .planner-intro{display:block}.fp-dialog{max-height:92dvh}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{nav,.ticker,.hero,#sports,#menu,#evidence,#faq,footer,.fuelup-assistant,.fp-toolbar,.fp-tabs,.fp-actions,.fp-logform,.fp-small-actions{display:none!important}body{background:#fff!important}body>section:not(#assessment){display:none}#assessment{background:white;color:black;padding:0}#assessment .planner-intro{display:none}.fp-shell{box-shadow:none;border:0}.fp-panel{padding:0}.fp-table-wrap{overflow:visible}.fp-panel button{display:none}.fp-panel a{color:black}}
