/* v18: editable annual chart with compact rows and guided tasting stages. */
.readable .annual-plan{--ap-label-width:178px;--ap-grid-line:#b9b2a650;margin-top:24px;color:var(--ink);min-width:0}
.readable .ap-heading{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-bottom:18px}
.readable .ap-heading h3{font:32px/1.45 var(--serif);margin:4px 0 0;letter-spacing:.025em}
.readable .ap-heading h3>span,.readable .ap-event-link h5>span,.readable .ap-event-link p>span,.readable .ap-event-note>span{display:inline-block}
.readable .ap-kicker{color:var(--gold);margin:0;letter-spacing:.07em}
.ap-status{padding:5px 16px;border:1px solid #aaa08e;font-size:14px;white-space:nowrap;background:#fffefa}
.ap-calendar{display:grid;grid-template-columns:var(--ap-label-width) minmax(0,1fr);grid-template-rows:28px 48px;background:linear-gradient(180deg,#f6f3ee,#eae6df);border:1px solid #bfb7aa;border-bottom:0}
.ap-axis-label{grid-column:1;grid-row:1/3;display:flex;align-items:center;justify-content:center;font:600 20px/1.5 var(--serif);border-right:1px solid #c9c1b5}
.ap-years,.ap-months{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));min-width:0}
.ap-years{grid-column:2;grid-row:1;border-bottom:1px solid #c9c1b5;font:18px/1.4 var(--serif)}
.ap-years>span{display:flex;align-items:center;justify-content:center;border-right:1px solid #c9c1b5}
.ap-years>span:last-child,.ap-months>span:last-child{border-right:0}
.ap-months{grid-column:2;grid-row:2}
.ap-months>span{display:flex;align-items:center;justify-content:center;gap:3px;font-size:13px;border-right:1px solid #c9c1b5}
.ap-months b{font:26px/1 var(--serif)}
.readable .ap-rows{list-style:none;padding:0;margin:0;border:1px solid #bfb7aa}
.readable .ap-row{display:grid;grid-template-columns:var(--ap-label-width) minmax(0,1fr);margin:0;padding:0;background:var(--category-soft)}
.readable .ap-row+.ap-row{border-top:1px solid #bfb7aa}
.ap-stage{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:linear-gradient(125deg,#ffffff0c,#0000000a),var(--category);color:#fffefa;padding:15px 16px;min-width:0}
.readable .ap-stage h4{font:600 22px/1.5 var(--serif);margin:0;white-space:nowrap;letter-spacing:0}
.readable .ap-stage p{margin:3px 0 0}
.ap-stage-badge{font-size:12px;line-height:1.6;border:1px solid #ffffff85;padding:1px 6px;margin-top:7px}
.ap-track,.ap-lane{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));align-items:center;min-width:0;position:relative}
.ap-track{padding:10px 0;background-image:linear-gradient(to right,var(--ap-grid-line) 1px,transparent 1px);background-size:calc(100% / 12) 100%}
.ap-event{grid-column:var(--start)/span var(--span);grid-row:var(--lane);margin-left:var(--indent);min-width:0;position:relative;padding:0 5px}
.readable .ap-event-date{display:flex;align-items:baseline;flex-wrap:wrap;gap:2px 6px;color:var(--category);font-weight:600;margin:0 0 5px;letter-spacing:0}
.ap-event-date time{display:flex;gap:4px;flex-wrap:wrap;white-space:nowrap}
.ap-date-status{white-space:nowrap}
.ap-event-date:before{content:'';display:block;width:8px;height:8px;background:var(--category);border:2px solid var(--category-soft);box-sizing:content-box;border-radius:50%;position:absolute;top:6px;left:-1px;transform:translateX(-50%);z-index:1}
.ap-event:before{content:'';position:absolute;left:-1px;top:12px;bottom:0;border-left:1px solid var(--category);opacity:.7}
.readable .ap-event-link{display:block;position:relative;isolation:isolate;color:#fffefa;padding:9px 21px 9px 14px;overflow-wrap:normal;text-align:center}
.ap-event-link:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,#ffffff10,#0000000a),var(--category);clip-path:polygon(0 0,calc(100% - 19px) 0,100% 50%,calc(100% - 19px) 100%,0 100%)}
.ap-event-link:hover:before{filter:brightness(.93)}
.ap-event-link:focus-visible{outline:3px solid var(--category);outline-offset:4px}
.readable .ap-event-link h5{font:600 21px/1.45 var(--serif);margin:0;color:inherit;text-wrap:pretty;letter-spacing:.01em}
.readable .ap-event-link p{margin:3px 0 0}
.ap-action{display:none;font-size:14px;line-height:1.6;margin-top:8px;opacity:.9}
.readable .ap-event-note{display:none;color:var(--category);margin:7px 0 0}
.ap-event .ap-year{display:none}
.ap-track-lanes{display:block;padding:0}
.ap-lane{padding:9px 0;min-height:106px}
.ap-lane+.ap-lane{border-top:1px solid var(--category-line)}
.ap-lane .ap-event{grid-row:1}
.ap-lane-label{grid-column:1/5;grid-row:1;align-self:center;min-width:0;padding:0 16px;color:var(--category);font:600 17px/1.6 var(--serif);letter-spacing:.01em}
.readable .ap-track-note{grid-column:2/10;grid-row:1;margin:0 18px 0 0;align-self:center;color:var(--category);font-weight:500}
.ap-compact{padding:0 4px;margin:0;align-self:center}
.ap-compact:before,.ap-compact .ap-event-date:before{content:none}
.ap-compact .ap-event-date{justify-content:center;gap:2px;letter-spacing:0}
.readable .ap-compact .ap-event-link{padding:8px 2px;min-height:66px;display:flex;align-items:center;justify-content:center}
.ap-compact .ap-event-link:before{clip-path:none;border-radius:2px}
.readable .ap-compact .ap-event-link h5{font:600 16px/1.55 var(--sans);letter-spacing:0}
.readable .ap-compact .ap-event-link h5>span{display:block}
.ap-compact .ap-event-link p{display:none}
.ap-destinations{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}
.readable .ap-destinations p{background:var(--category-soft);border:1px solid var(--category-line);color:var(--category);text-align:center;padding:10px 12px;margin:0;font-weight:600}
.ap-notes{display:grid;grid-template-columns:1fr 1fr;gap:3px 24px;margin-top:12px;color:var(--muted)}
.readable .ap-notes p{margin:0;text-wrap:pretty}
.ap-notes p:last-child{grid-column:1/-1}
@layer readable-type{
 .readable main .annual-plan .ap-kicker,.readable main .annual-plan .ap-notes p,.readable main .annual-plan .ap-event-note{font-size:14px!important;line-height:1.75!important}
 .readable main .annual-plan .ap-stage p{font-size:14px!important;line-height:1.65!important}
 .readable main .annual-plan .ap-event-date{font-size:15px!important;line-height:1.55!important}
 .readable main .annual-plan .ap-event-link p{font-size:16px!important;line-height:1.5!important}
}
@media(max-width:1199px){
 .readable .annual-plan{--ap-label-width:176px}
 .ap-calendar{display:none}
 .readable .ap-rows{border:0;display:grid;gap:14px}
 .readable .ap-row{border:1px solid var(--category-line)}
 .readable .ap-row+.ap-row{border-top:1px solid var(--category-line)}
 .ap-stage{padding:20px 18px;justify-content:flex-start}
 .ap-track{display:flex;flex-direction:column;align-items:stretch;gap:18px;padding:20px;background-image:none}
 .ap-event{margin:0;padding:0 0 0 15px;width:100%;border-left:2px solid var(--category-line)}
 .ap-event:before{content:none}
 .ap-event-date:before{left:-1px;top:7px;width:8px;height:8px;box-shadow:0 0 0 3px var(--category-soft)}
 .ap-event .ap-year{display:inline}
 .readable .ap-event-link{padding:12px 28px 12px 16px;text-align:left}
 .readable .ap-event-link h5{font:600 20px/1.5 var(--sans)}
 .ap-event-link:before{clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%)}
 .ap-action,.readable .ap-event-note{display:block}
 .ap-lane{display:block;padding:0;min-height:0}
 .ap-lane-label{display:none}
 .ap-lane+.ap-lane{padding-top:18px;border-top:1px solid var(--category-line)}
 .readable .ap-track-note{margin:0;padding:0;font-weight:600}
 .ap-compact .ap-event-date{justify-content:flex-start;gap:2px 6px}
 .ap-compact .ap-event-date:before{content:''}
 .readable .ap-compact .ap-event-link{display:block;text-align:left;padding:12px 28px 12px 16px;min-height:0}
 .ap-compact .ap-event-link:before{clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%);border-radius:0}
 .readable .ap-compact .ap-event-link h5{font-size:20px;line-height:1.5;letter-spacing:.02em}
 .readable .ap-compact .ap-event-link h5>span{display:inline}
 .ap-compact .ap-event-link p{display:block}
 @layer readable-type{
  .readable main .annual-plan .ap-event-date,.readable main .annual-plan .ap-event-link p{font-size:16px!important;line-height:1.7!important}
 }
}
@media(max-width:600px){
 .readable .annual-plan{margin-top:20px}
 .readable .ap-heading{align-items:flex-start;gap:10px;flex-wrap:wrap;margin-bottom:16px}
 .readable .ap-heading h3{font-size:26px;line-height:1.5;max-width:11em;text-wrap:pretty}
 .readable .ap-kicker{letter-spacing:0}
 .ap-status{padding:2px 11px;font-size:13px}
 .readable .ap-row{grid-template-columns:1fr;border-top:4px solid var(--category)}
 .readable .ap-row+.ap-row{border-top:4px solid var(--category)}
 .ap-stage{background:transparent;color:var(--category);padding:16px 18px 0;display:grid;grid-template-columns:1fr auto;gap:1px 8px}
 .readable .ap-stage h4{font-family:var(--sans);font-size:22px;font-weight:600;grid-column:1/-1;white-space:normal}
 .readable .ap-stage p{margin:2px 0 0}
 .ap-stage-badge{margin:2px 0 0;padding:1px 6px;align-self:start;border-color:var(--category-line)}
 .ap-track{padding:16px;gap:16px}
 .ap-event{padding-left:12px}
 .readable .ap-event-link,.readable .ap-compact .ap-event-link{padding:11px 24px 11px 13px}
 .readable .ap-event-link h5,.readable .ap-compact .ap-event-link h5{font-size:20px;text-wrap:pretty}
 .readable .ap-event-date{gap:2px 6px}
 .ap-event-date time{gap:3px}
 .ap-lane+.ap-lane{padding-top:16px}
 .ap-destinations{grid-template-columns:1fr;gap:8px;margin-top:10px}
 .readable .ap-destinations p{padding:10px 14px;text-align:left;text-wrap:pretty}
 .ap-notes{grid-template-columns:1fr;gap:6px;margin-top:10px}
}
@media print{
 .ap-event-link:before,.ap-stage{print-color-adjust:exact;-webkit-print-color-adjust:exact}
 .ap-event-link{color:var(--category)!important}
 .ap-event-link:before{background:transparent!important;border:1px solid var(--category);clip-path:none!important}
 .ap-row{break-inside:avoid}
}
