.atp-wrap{display:flex;flex-direction:column;gap:20px;margin-top:clamp(32px,4vw,48px);max-width:1060px}.atp-card{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:24px 26px 28px}.atp-card h2{font-size:17px;font-weight:800;color:var(--navy);margin:0 0 16px;letter-spacing:-.01em}.atp-card h3{font-size:14px;font-weight:800;color:var(--navy);margin:18px 0 8px}.atp-card p{font-size:14px;color:var(--ink-soft);line-height:1.75;margin:0 0 10px}.atp-card p:last-child{margin-bottom:0}.atp-hint{font-size:13px;color:var(--ink-soft);margin:-8px 0 16px;line-height:1.6}.atp-methods{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:700px){.atp-methods{grid-template-columns:1fr}}.atp-method{position:relative;display:flex;gap:10px;border:1px solid var(--line);border-radius:12px;padding:14px 16px;cursor:pointer;transition:border-color .2s,background .2s}.atp-method input{accent-color:var(--accent);margin-top:3px}.am-body{display:flex;flex-direction:column;gap:3px}.am-body b{font-size:14px;font-weight:800;color:var(--navy)}.am-body small{font-size:12px;color:var(--ink-soft);line-height:1.45}.atp-method-on{border-color:var(--accent);background:#c62a370a}.atp-method:has(input:disabled){opacity:.55}.atp-grid{display:grid;gap:14px 16px}.atp-grid-2{grid-template-columns:1fr 1fr}.atp-grid-3{grid-template-columns:repeat(3,1fr)}@media(max-width:720px){.atp-grid-2,.atp-grid-3{grid-template-columns:1fr}}.atp-grid label,.atp-grid-2 label,.atp-grid-3 label{display:flex;flex-direction:column;gap:6px;min-width:0;font-size:12.5px;font-weight:700;color:var(--navy);letter-spacing:.01em}.atp-grid input,.atp-grid select,.atp-grid-2 input,.atp-grid-2 select,.atp-grid-3 input,.atp-grid-3 select{padding:10px 13px;border:1px solid var(--line);border-radius:8px;font-family:var(--font);font-size:14px;color:var(--ink);background:var(--paper);transition:border-color .2s}.atp-grid input:focus,.atp-grid select:focus,.atp-grid-2 input:focus,.atp-grid-2 select:focus,.atp-grid-3 input:focus,.atp-grid-3 select:focus{outline:none;border-color:var(--accent);background:var(--white)}.atp-grid,.atp-grid-2,.atp-grid-3,.atp-auto-inputs,.atp-limits-row,.atp-pad-row,.atp-events,.atp-card label,.atp-card .atp-full{min-width:0}.atp-wrap input,.atp-wrap select,.atp-wrap textarea{max-width:100%}.atp-grid input,.atp-grid select,.atp-grid-2 input,.atp-grid-2 select,.atp-grid-3 input,.atp-grid-3 select{min-width:0;width:100%}.atp-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.atp-tbl{min-width:720px}.atp-check{display:flex;align-items:center;gap:8px;margin-top:16px;font-size:13px;font-weight:700;color:var(--navy);cursor:pointer}.atp-check input{accent-color:var(--accent);width:16px;height:16px}.atp-events{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.atp-ev-head{display:grid;grid-template-columns:1.25fr 1fr 88px 84px 56px;gap:8px;padding:0 2px 6px;font-size:11.5px;font-weight:800;color:var(--ink-soft);letter-spacing:.02em}@media(max-width:640px){.atp-ev-head{display:none}}.atp-ev-row{display:grid;grid-template-columns:1.25fr 1fr 88px 84px 56px;gap:8px;align-items:end}.ae-field{display:flex;flex-direction:column;gap:4px;min-width:0}.ae-lbl{display:none}@media(max-width:640px){.atp-ev-row{grid-template-columns:1fr 1fr;gap:8px 10px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--paper-2)}.atp-ev-row+.atp-ev-row{margin-top:8px}.ae-f-name,.ae-f-date,.ae-f-del{grid-column:1/-1}.ae-lbl{display:block;font-size:11px;font-weight:800;color:var(--ink-soft);letter-spacing:.02em}}.atp-ev-row input,.atp-ev-row select{width:100%;min-width:0;max-width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:7px;font-family:var(--font);font-size:13.5px;color:var(--ink);background:var(--paper)}.atp-ev-row input:focus,.atp-ev-row select:focus{outline:none;border-color:var(--accent)}.ae-del{padding:8px 0;border:1px solid var(--line);border-radius:7px;background:transparent;color:var(--ink-soft);font-size:12.5px;font-weight:700;cursor:pointer;transition:all .2s}.ae-del:hover{border-color:#c0392b;color:#c0392b}.atp-add{padding:9px 18px;font-size:13px}.btn-line-dark{border:1px solid var(--line);color:var(--navy);background:transparent;border-radius:8px;font-family:var(--font);font-weight:700;cursor:pointer;transition:all .2s}.btn-line-dark:hover{border-color:var(--accent);color:var(--accent)}.atp-actions{margin:4px 0 0}.atp-gen-btn{padding:13px 34px;font-size:15px}.atp-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin-top:14px}.atp-stat{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;gap:3px}.atp-stat b{font-family:var(--disp);font-size:22px;color:var(--navy);letter-spacing:-.01em}.atp-stat span{font-size:11.5px;color:var(--ink-soft);font-weight:700}.atp-break{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.atp-hint-in{margin:6px 0 0}.atp-evlist{display:flex;flex-direction:column;gap:6px;margin-top:14px}.atp-ev-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:9px 13px;font-size:12.5px;color:var(--ink-soft)}.atp-ev-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:5px;font-size:11px;font-weight:800;color:#fff;background:var(--ink-soft);flex:none}.atp-ev-badge-A{background:#c0392b}.atp-ev-badge-B{background:#ffb81c;color:#3d2b00}.atp-ev-badge-C{background:#09f}.atp-ev-name{font-weight:800;color:var(--navy)}.atp-ev-meta{font-variant-numeric:tabular-nums}.atp-ev-ctl{margin-left:auto;font-weight:700;color:var(--navy);white-space:nowrap}.atp-ev-gap{font-weight:600;color:var(--ink-soft)}.atp-ok{color:#16794a}.atp-limits{margin:18px 0 0;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--paper-2)}.atp-limits-h{margin:0 0 12px}.atp-limits-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}@media(max-width:720px){.atp-limits-row{grid-template-columns:1fr}}.atp-limits-row label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:700;color:var(--navy);letter-spacing:.01em}.atp-limits-row input{padding:10px 13px;border:1px solid var(--line);border-radius:8px;font-family:var(--font);font-size:14px;color:var(--ink);background:var(--white);transition:border-color .2s}.atp-limits-row input:focus{outline:none;border-color:var(--accent)}.atp-limit-note{margin:12px 0 0;font-size:12.5px}.atp-targets{margin:16px 0 4px;overflow-x:auto;-webkit-overflow-scrolling:touch}@media(max-width:560px){.atp-card{padding:18px 15px 20px}.atp-wrap{gap:14px;margin-top:24px}.atp-auto{padding:12px}.atp-limits{padding:14px 13px}.atp-tchip select{min-width:0}}.atp-target-tbl{width:100%;border-collapse:collapse;font-size:13px}.atp-target-tbl th{text-align:left;font-size:11.5px;font-weight:800;color:var(--ink-soft);letter-spacing:.02em;padding:0 10px 7px 0;border-bottom:1px solid var(--line)}.atp-target-tbl td{padding:9px 10px 9px 0;border-bottom:1px solid var(--line);color:var(--ink);vertical-align:middle}.atp-target-tbl tr:last-child td{border-bottom:none}.atp-tg-sp{font-weight:800;color:var(--navy);white-space:nowrap}.atp-tg-val{font-variant-numeric:tabular-nums;font-weight:700;color:var(--navy)}.atp-tg-num{font-variant-numeric:tabular-nums;color:var(--ink-soft);white-space:nowrap}@media(max-width:640px){.atp-target-tbl th:nth-child(4),.atp-target-tbl td:nth-child(4){display:none}}.atp-miss{color:#c0392b}.atp-warn{color:#c0392b;font-weight:700}.atp-new{font-size:10.5px;font-weight:800;color:var(--white);background:var(--accent);border-radius:99px;padding:2px 8px;vertical-align:middle}.atp-week-pick{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:700;color:var(--navy);margin:4px 0 12px}.atp-week-pick select{padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-family:var(--font);font-size:13px;color:var(--ink);background:var(--paper);max-width:100%}.atp-pad-row{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:22px;align-items:start}@media(max-width:760px){.atp-pad-row{grid-template-columns:1fr;gap:14px}}.atp-pad-box{background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:8px}.atp-pad{width:100%;height:auto;display:block;touch-action:none;cursor:crosshair}.atp-pad-tri{fill:#1a1a1a09;stroke:var(--navy);stroke-width:1.6;stroke-linejoin:round}.atp-ray{stroke-width:1;stroke-dasharray:3 3;opacity:.5}.atp-ray-swim{stroke:#09f}.atp-ray-bike{stroke:#ffb81c}.atp-ray-run{stroke:#22c55e}.atp-pad-lbl{font-family:var(--font);font-size:11.5px;font-weight:800}.atp-lbl-swim{fill:#0074c2}.atp-lbl-bike{fill:#a8730a}.atp-lbl-run{fill:#16794a}.atp-pad-handle{fill:var(--white);stroke:var(--navy);stroke-width:2.5;cursor:grab}.atp-pad-handle:focus{outline:none;stroke:var(--accent);stroke-width:3}.atp-pad-dot{fill:var(--navy);pointer-events:none}.atp-pad-side{display:flex;flex-direction:column;gap:12px}.atp-pad-side label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;font-weight:700;color:var(--navy)}.atp-pad-side select,.atp-pad-side input{padding:9px 12px;border:1px solid var(--line);border-radius:8px;font-family:var(--font);font-size:13.5px;color:var(--ink);background:var(--paper)}.atp-pad-note{margin:0}.atp-auto{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--paper-2);margin:0 0 18px}.atp-auto-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}.atp-auto-head b{font-size:13px;font-weight:800;color:var(--navy);margin-right:2px}.atp-auto-head select{padding:8px 11px;border:1px solid var(--line);border-radius:8px;font-family:var(--font);font-size:13px;color:var(--ink);background:var(--white)}.atp-auto-btn{padding:9px 18px;font-size:13px;margin-left:auto}.atp-auto-inputs{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media(max-width:720px){.atp-auto-inputs{grid-template-columns:1fr}}.atp-auto-inputs label{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;color:var(--navy);background:var(--white);border:1px solid var(--line);border-radius:8px;padding:8px 10px}.atp-leg{font-style:normal;font-size:11px;font-weight:700;color:var(--ink-soft)}.atp-time{display:flex;align-items:center;gap:2px;flex:1;min-width:0;justify-content:flex-end}.atp-time input{width:100%;min-width:0;max-width:42px;padding:4px 3px;border:1px solid var(--line);border-radius:6px;background:var(--paper);font-family:var(--font);font-size:13.5px;font-weight:700;color:var(--navy);text-align:center;font-variant-numeric:tabular-nums;-moz-appearance:textfield}.atp-time input::-webkit-outer-spin-button,.atp-time input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.atp-time input:focus{outline:none;border-color:var(--accent);background:var(--white)}.atp-tsep{color:var(--ink-soft);font-weight:800;font-size:13px;flex:none}.atp-time-sm{justify-content:flex-start}.atp-time-sm input{max-width:64px;padding:8px 6px;background:var(--paper);font-size:14px}.atp-auto-note{margin:10px 0 0}.atp-auto-meta{color:var(--ink-soft);font-weight:600}.atp-ratio-box{background:var(--paper-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px}.atp-ratio-row{display:flex;align-items:center;gap:8px;padding:6px 0}.atp-ratio-row+.atp-ratio-row{border-top:1px solid var(--line)}.atp-ratio-lbl{font-size:13px;font-weight:800;color:var(--navy);min-width:84px}.atp-step{width:30px;height:30px;border:1px solid var(--line);border-radius:8px;background:var(--white);font-family:var(--font);font-size:15px;font-weight:800;color:var(--navy);cursor:pointer;line-height:1;flex:none}.atp-step:hover{border-color:var(--accent);color:var(--accent)}.atp-ratio-num{width:66px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;font-family:var(--font);font-size:14px;font-weight:800;color:var(--navy);text-align:right;background:var(--white);font-variant-numeric:tabular-nums}.atp-ratio-num:focus{outline:none;border-color:var(--accent)}.atp-pct{font-size:12.5px;font-weight:700;color:var(--ink-soft)}.atp-ratio-sum{margin:8px 0 0;font-size:11.5px;color:var(--ink-soft)}.atp-ratio-sum b{color:var(--navy)}.atp-dim{opacity:.45}.atp-rep{color:var(--ink-soft);font-size:12.5px}.atp-tpl-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:20px 0 10px;border-top:1px dashed var(--line);padding-top:16px}.atp-tabs{display:flex;gap:6px;flex-wrap:wrap}.atp-tab{padding:7px 13px;border:1px solid var(--line);border-radius:99px;background:transparent;font-family:var(--font);font-size:12.5px;font-weight:700;color:var(--ink-soft);cursor:pointer;transition:all .18s}.atp-tab:hover{border-color:var(--accent);color:var(--accent)}.atp-tab.on{background:var(--navy);border-color:var(--navy);color:var(--white)}.atp-tab.off{opacity:.65;border-style:dashed}.atp-presets{display:flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;color:var(--ink-soft)}.atp-presets button{padding:5px 10px;border:1px solid var(--line);border-radius:7px;background:transparent;font-family:var(--font);font-size:11.5px;font-weight:700;color:var(--navy);cursor:pointer}.atp-presets button:hover{border-color:var(--accent);color:var(--accent)}.atp-tpl{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}@media(max-width:860px){.atp-tpl{grid-template-columns:repeat(2,minmax(0,1fr))}}.atp-tcol{background:var(--paper-2);border:1px solid var(--line);border-radius:10px;padding:7px 7px 8px;display:flex;flex-direction:column;gap:6px;min-height:120px;transition:border-color .15s,background .15s}.atp-tcol.over{border-color:var(--accent);background:#c62a370d}.atp-tcol-h{display:flex;align-items:center;justify-content:space-between;gap:6px;font-size:11px;font-weight:800;color:var(--navy);letter-spacing:.04em}.atp-daytoggle{border:1px solid var(--line);border-radius:5px;background:transparent;font-family:var(--font);font-size:10px;font-weight:700;color:var(--ink-soft);padding:2px 6px;cursor:pointer}.atp-daytoggle:hover{border-color:var(--accent);color:var(--accent)}.atp-tcol-body{display:flex;flex-direction:column;gap:5px;flex:1}.atp-rest{font-size:11px;color:var(--ink-soft);padding:6px 2px}.atp-tchip{display:flex;flex-direction:column;gap:4px;border-radius:7px;padding:6px;background:var(--white);border-left:3px solid var(--ink-soft);cursor:grab}.atp-tchip:active{cursor:grabbing}.atp-tchip select{width:100%;padding:4px 5px;border:1px solid var(--line);border-radius:5px;font-family:var(--font);font-size:11px;font-weight:700;color:var(--navy);background:var(--paper)}.atp-tchip select:focus{outline:none;border-color:var(--accent)}.atp-t-x{align-self:flex-end;border:none;background:transparent;color:var(--ink-soft);font-size:11px;cursor:pointer;line-height:1}.atp-t-x:hover{color:#c0392b}.atp-tadd{border:1px dashed var(--line);border-radius:6px;background:transparent;font-family:var(--font);font-size:10.5px;font-weight:700;color:var(--ink-soft);padding:4px 0;cursor:pointer}.atp-tadd:hover{border-color:var(--accent);color:var(--accent)}.atp-s-swim{border-left-color:#09f}.atp-s-bike{border-left-color:#ffb81c}.atp-s-run{border-left-color:#22c55e}.atp-s-brick{border-left-color:#8b5cf6}.atp-s-other{border-left-color:#c0392b}.atp-s-strength{border-left-color:#6b7280}.atp-cal-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px}.atp-saved{font-size:12px;font-weight:700;color:#16794a}.atp-saved-row{display:flex;align-items:center;gap:10px;margin-top:14px}.atp-saved-row label{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;color:var(--navy)}.atp-saved-row select{padding:8px 12px;border:1px solid var(--line);border-radius:8px;font-family:var(--font);font-size:13px;color:var(--ink);background:var(--paper);max-width:100%}.atp-del{padding:8px 14px;width:auto}.atp-chip{background:var(--paper-2);border:1px solid var(--line);border-radius:99px;padding:4px 12px;font-size:12px;font-weight:700;color:var(--navy)}.atp-chart{margin-top:6px}.atp-svg{width:100%;height:auto;display:block}.atp-bg{fill:var(--paper)}.atp-cgrid{stroke:var(--line);stroke-width:1}.atp-zero{stroke:#c0392b;stroke-width:1;stroke-dasharray:3 3;opacity:.5}.atp-axis{font-size:10px;fill:var(--ink-soft);font-family:var(--font)}.atp-bar{fill:#1a1a1a24}.atp-bar-base1,.atp-bar-base2,.atp-bar-base3,.atp-bar-rebuild{fill:#0099ff52}.atp-bar-build1,.atp-bar-build2{fill:#ffb81c80}.atp-bar-peak{fill:#c62a3773}.atp-bar-race{fill:#c62a37d9}.atp-bar-prep{fill:#22c55e47}.atp-bar-trans{fill:#1a1a1a0f}.atp-evmark{stroke:#c62a3773;stroke-width:1;stroke-dasharray:2 3}.atp-evmark-lbl{font-size:9px;fill:#c0392b;font-family:var(--font);font-weight:800}.atp-lg-ev{background:#c0392b;width:3px;height:12px;border-radius:1px}.atp-line{stroke-width:2;fill:none}.atp-l-ctl{stroke:#09f}.atp-l-atl{stroke:#ffb81c}.atp-l-tsb{stroke:#22c55e}.atp-legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:12px;color:var(--ink-soft);font-weight:700}.atp-legend span{display:inline-flex;align-items:center;gap:6px}.atp-lg{width:14px;height:4px;border-radius:2px;display:inline-block}.atp-lg-ctl{background:#09f}.atp-lg-atl{background:#ffb81c}.atp-lg-tsb{background:#22c55e}.atp-lg-bar{background:#1a1a1a24;height:10px;border-radius:2px}.atp-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.atp-tbl{width:100%;border-collapse:collapse;font-size:13px;min-width:880px}.atp-tbl th{text-align:left;padding:8px 10px;border-bottom:2px solid var(--line);font-size:11.5px;font-weight:800;color:var(--navy);white-space:nowrap}.atp-tbl td{padding:7px 10px;border-bottom:1px solid var(--line);color:var(--ink);white-space:nowrap}.atp-tbl tr:hover td{background:var(--paper)}.atp-tr-ev td{background:#c62a370f!important;font-weight:800}.atp-tr-rec td{color:var(--ink-soft)}.atp-td-tss{font-weight:800;color:var(--navy);font-variant-numeric:tabular-nums}.atp-td-ph{color:var(--navy);font-weight:600}.atp-td-ev{color:var(--ink-soft);font-size:12.5px}.atp-neg{color:#c0392b!important}.atp-guide ol.atp-steps{margin:4px 0 12px;padding-left:20px;display:flex;flex-direction:column;gap:7px}.atp-guide li{font-size:14px;color:var(--ink-soft);line-height:1.7}.atp-guide li b{color:var(--navy)}.atp-note{font-size:12.5px;color:var(--ink-soft);border-top:1px dashed var(--line);padding-top:12px;margin-top:14px}
