.roadmap-app-module__WbQmha__app{background:var(--canvas);height:100dvh;min-height:0;padding:10px;overflow:hidden}.roadmap-app-module__WbQmha__instrument{border:1px solid var(--frame-line);background:var(--surface);height:100%;box-shadow:var(--frame-shadow);isolation:isolate;border-radius:14px;position:relative;overflow:hidden}.roadmap-app-module__WbQmha__instrument:before{z-index:40;background:linear-gradient(90deg, transparent 0%, var(--product) 22%, var(--selection) 56%, var(--downtime) 82%, transparent 100%);content:"";opacity:.86;pointer-events:none;height:2px;position:absolute;top:0;left:0;right:0}.roadmap-app-module__WbQmha__matrixScroller{overscroll-behavior:contain;scrollbar-color:var(--scroll-thumb) transparent;scrollbar-width:thin;position:absolute;inset:0 0 62px;overflow:auto}.roadmap-app-module__WbQmha__matrixScroller::-webkit-scrollbar{width:8px;height:8px}.roadmap-app-module__WbQmha__matrixScroller::-webkit-scrollbar-thumb{background:var(--scroll-thumb);background-clip:padding-box;border:2px solid #0000;border-radius:999px}.roadmap-app-module__WbQmha__matrix{background:var(--surface);flex-direction:column;width:100%;min-width:1030px;height:100%;min-height:588px;display:flex}.roadmap-app-module__WbQmha__dayRail{z-index:18;border-bottom:1px solid var(--grid-strong);background:var(--rail);min-height:36px;box-shadow:0 1px 0 color-mix(in srgb, var(--surface) 72%, transparent);flex:0 0 36px;grid-template-columns:76px minmax(0,1fr);display:grid;position:sticky;top:0}.roadmap-app-module__WbQmha__matrixCorner{z-index:22;border-right:1px solid var(--grid-strong);background:var(--rail);color:var(--muted);font-family:var(--font-utility), monospace;letter-spacing:.14em;justify-content:center;align-items:center;gap:5px;font-size:9px;display:flex;position:sticky;left:0}.roadmap-app-module__WbQmha__matrixCorner span{color:var(--ink);font-size:10px;font-weight:600}.roadmap-app-module__WbQmha__matrixCorner small{font-size:inherit}.roadmap-app-module__WbQmha__dayNumbers{grid-template-columns:repeat(31,minmax(0,1fr));display:grid}.roadmap-app-module__WbQmha__dayNumbers span{border-right:1px solid var(--grid-line);min-width:0;color:var(--day-ink);font-family:var(--font-utility), monospace;font-variant-numeric:tabular-nums;letter-spacing:-.03em;place-items:center;font-size:10px;display:grid}.roadmap-app-module__WbQmha__dayNumbers span:nth-child(5n){color:var(--ink);font-weight:600}.roadmap-app-module__WbQmha__matrixBody{outline:none;flex-direction:column;flex:1 0 auto;min-height:552px;display:flex}.roadmap-app-module__WbQmha__monthRow{min-height:var(--month-row-height);flex:1 0 var(--month-row-height);border-bottom:1px solid var(--grid-strong);grid-template-columns:76px minmax(0,1fr);display:grid}.roadmap-app-module__WbQmha__monthRow:last-child{border-bottom:0}.roadmap-app-module__WbQmha__monthLabel{z-index:12;border-right:1px solid var(--grid-strong);background:var(--rail);min-width:0;box-shadow:5px 0 12px color-mix(in srgb, var(--canvas) 18%, transparent);justify-content:space-between;align-items:center;gap:6px;padding:0 10px 0 12px;display:flex;position:sticky;left:0}.roadmap-app-module__WbQmha__monthLabel strong{color:var(--ink);font-family:var(--font-display), sans-serif;letter-spacing:.055em;font-size:11px;font-weight:650}.roadmap-app-module__WbQmha__monthLabel span{color:var(--muted);font-family:var(--font-utility), monospace;font-variant-numeric:tabular-nums;font-size:9px}.roadmap-app-module__WbQmha__monthTrack{background:var(--surface);cursor:crosshair;touch-action:pan-x pan-y;min-width:0;position:relative;overflow:hidden}.roadmap-app-module__WbQmha__dayCells,.roadmap-app-module__WbQmha__selectionLayer,.roadmap-app-module__WbQmha__ribbonLayer{pointer-events:none;grid-template-rows:100%;grid-template-columns:repeat(31,minmax(0,1fr));display:grid;position:absolute;inset:0}.roadmap-app-module__WbQmha__dayCells{z-index:0}.roadmap-app-module__WbQmha__dayCell{border-right:1px solid var(--grid-line);background:0 0;min-width:0}.roadmap-app-module__WbQmha__dayCell:nth-child(odd){background:var(--cell-wash)}.roadmap-app-module__WbQmha__dayCell.roadmap-app-module__WbQmha__fifthDay{border-right-color:var(--grid-strong)}.roadmap-app-module__WbQmha__invalidDay{cursor:not-allowed;background:repeating-linear-gradient(135deg, transparent 0, transparent 5px, var(--sealed-line) 5px, var(--sealed-line) 6px), var(--sealed)!important}.roadmap-app-module__WbQmha__selectionLayer{z-index:2}.roadmap-app-module__WbQmha__selectionBand{border-top:1px solid var(--selection);border-bottom:1px solid var(--selection);background:var(--selection-soft);box-shadow:inset 0 1px 0 color-mix(in srgb, var(--selection) 28%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--selection) 18%, transparent);grid-row:1;margin:2px 0;position:relative}.roadmap-app-module__WbQmha__selectionBand:after{background:var(--selection);width:2px;box-shadow:0 0 12px var(--selection-glow);content:"";position:absolute;top:-1px;bottom:-1px;right:-1px}.roadmap-app-module__WbQmha__selectionBand.roadmap-app-module__WbQmha__segmentContinuesBefore{border-left:1px dashed var(--selection)}.roadmap-app-module__WbQmha__selectionBand.roadmap-app-module__WbQmha__segmentContinuesAfter{border-right:1px dashed var(--selection)}.roadmap-app-module__WbQmha__selectionBand.roadmap-app-module__WbQmha__segmentContinuesAfter:after{display:none}.roadmap-app-module__WbQmha__ribbonLayer{z-index:4}.roadmap-app-module__WbQmha__ribbon{min-width:0;height:19px;margin-top:var(--ribbon-top);transform-origin:0;color:var(--ribbon-ink);font-family:var(--font-display), sans-serif;text-align:left;white-space:nowrap;pointer-events:auto;will-change:transform;border:0;border-radius:4px;grid-row:1;align-self:start;align-items:center;gap:4px;padding:0 5px;font-size:10px;line-height:1;display:flex;position:relative;overflow:hidden}.roadmap-app-module__WbQmha__ribbon:before{content:"";opacity:.22;background:currentColor;width:1px;position:absolute;top:3px;bottom:3px;left:2px}.roadmap-app-module__WbQmha__ribbon:hover{z-index:8;filter:saturate(1.08)brightness(1.04)}.roadmap-app-module__WbQmha__ribbon:focus-visible{z-index:9;outline:2px solid var(--focus);outline-offset:2px}.roadmap-app-module__WbQmha__productRibbon{background:linear-gradient(96deg, var(--product-deep), var(--product));box-shadow:0 2px 7px var(--product-shadow), inset 0 1px 0 #ffffff38;color:var(--on-product)}.roadmap-app-module__WbQmha__downtimeRibbon{border:1px solid var(--downtime-border);background:repeating-linear-gradient(120deg, var(--downtime) 0, var(--downtime) 5px, var(--downtime-stripe) 5px, var(--downtime-stripe) 8px);height:14px;box-shadow:0 1px 5px var(--downtime-shadow);color:var(--on-downtime);font-family:var(--font-utility), monospace;letter-spacing:.01em;font-size:9px}.roadmap-app-module__WbQmha__ribbon.roadmap-app-module__WbQmha__segmentContinuesBefore{clip-path:polygon(5px 0,100% 0,100% 100%,5px 100%,0 50%);border-top-left-radius:0;border-bottom-left-radius:0;padding-left:7px}.roadmap-app-module__WbQmha__ribbon.roadmap-app-module__WbQmha__segmentContinuesAfter{clip-path:polygon(0 0,calc(100% - 5px) 0,100% 50%,calc(100% - 5px) 100%,0 100%);border-top-right-radius:0;border-bottom-right-radius:0;padding-right:7px}.roadmap-app-module__WbQmha__ribbon.roadmap-app-module__WbQmha__segmentContinuesBefore.roadmap-app-module__WbQmha__segmentContinuesAfter{clip-path:polygon(5px 0,calc(100% - 5px) 0,100% 50%,calc(100% - 5px) 100%,5px 100%,0 50%)}.roadmap-app-module__WbQmha__ribbonIcon{opacity:.8;flex:none;place-items:center;display:grid}.roadmap-app-module__WbQmha__ribbonImage{border:1px solid color-mix(in srgb, currentColor 26%, transparent);background:var(--surface);border-radius:3px;flex:0 0 14px;width:14px;height:14px;position:relative;overflow:hidden}.roadmap-app-module__WbQmha__ribbonImage img{object-fit:cover}.roadmap-app-module__WbQmha__ribbonTitle{letter-spacing:-.012em;text-overflow:ellipsis;min-width:0;font-weight:650;overflow:hidden}.roadmap-app-module__WbQmha__ribbonDuration{font-family:var(--font-utility), monospace;opacity:.74;flex:none;margin-left:auto;font-size:8px;font-weight:600}.roadmap-app-module__WbQmha__tinyRibbon{justify-content:center;padding-inline:1px}.roadmap-app-module__WbQmha__tinyRibbon .roadmap-app-module__WbQmha__ribbonIcon{transform:scale(.82)}.roadmap-app-module__WbQmha__keyboardCursor{z-index:7;background:var(--focus);width:1px;box-shadow:0 0 8px var(--focus-glow);opacity:0;pointer-events:none;position:absolute;top:0;bottom:0}.roadmap-app-module__WbQmha__keyboardCursor:before{border:1px solid var(--surface);background:var(--focus);content:"";width:7px;height:7px;position:absolute;top:2px;left:-3px;rotate:45deg}.roadmap-app-module__WbQmha__matrixBody:focus-visible .roadmap-app-module__WbQmha__keyboardCursor{opacity:1}.roadmap-app-module__WbQmha__selectionMode .roadmap-app-module__WbQmha__monthTrack{cursor:cell;touch-action:none}.roadmap-app-module__WbQmha__controlDock{z-index:32;border:1px solid var(--dock-line);background:var(--dock);box-shadow:var(--dock-shadow);border-radius:12px;align-items:center;gap:5px;padding:5px;transition:opacity .15s,translate .15s;display:flex;position:absolute;bottom:14px;right:14px}.roadmap-app-module__WbQmha__controlDockHidden{opacity:0;pointer-events:none;translate:0 5px}.roadmap-app-module__WbQmha__controlDock button,.roadmap-app-module__WbQmha__rangeChooser button{border:0;border-radius:8px;justify-content:center;align-items:center;min-width:40px;min-height:40px;display:inline-flex}.roadmap-app-module__WbQmha__addButton{background:var(--ink);color:var(--surface);font-family:var(--font-display), sans-serif;letter-spacing:-.01em;gap:7px;padding:0 14px;font-size:12px;font-weight:650}.roadmap-app-module__WbQmha__addButton:hover{background:var(--control-hover)}.roadmap-app-module__WbQmha__themeButton,.roadmap-app-module__WbQmha__touchSelectButton{color:var(--ink);background:0 0}.roadmap-app-module__WbQmha__themeButton:hover,.roadmap-app-module__WbQmha__touchSelectButton:hover{background:var(--button-hover)}.roadmap-app-module__WbQmha__moonIcon,.roadmap-app-module__WbQmha__touchSelectButton{display:none}html[data-theme=dark] .roadmap-app-module__WbQmha__sunIcon{display:none}html[data-theme=dark] .roadmap-app-module__WbQmha__moonIcon{display:block}.roadmap-app-module__WbQmha__touchSelectActive{background:var(--selection-soft);color:var(--selection)}.roadmap-app-module__WbQmha__rangeChooser{z-index:34;border:1px solid var(--dock-line);background:var(--dock);width:max-content;max-width:calc(100% - 28px);min-height:50px;box-shadow:var(--dock-shadow);border-radius:12px;align-items:center;gap:5px;margin-inline:auto;padding:5px;display:flex;position:absolute;bottom:8px;left:0;right:0}.roadmap-app-module__WbQmha__chooserRange{align-items:center;gap:9px;min-width:166px;padding:0 10px;display:flex}.roadmap-app-module__WbQmha__chooserRange strong{color:var(--ink);font-family:var(--font-display), sans-serif;font-size:11px;font-weight:650}.roadmap-app-module__WbQmha__chooserRange span{border:1px solid var(--grid-strong);color:var(--muted);font-family:var(--font-utility), monospace;border-radius:4px;padding:3px 5px;font-size:8px;font-weight:600}.roadmap-app-module__WbQmha__chooseProduct,.roadmap-app-module__WbQmha__chooseDowntime{gap:6px;padding:0 12px;font-size:11px;font-weight:700}.roadmap-app-module__WbQmha__chooseProduct{background:var(--product);color:var(--on-product)}.roadmap-app-module__WbQmha__chooseProduct:hover{background:var(--product-deep)}.roadmap-app-module__WbQmha__chooseDowntime{background:var(--downtime);color:var(--on-downtime)}.roadmap-app-module__WbQmha__chooseDowntime:hover{filter:brightness(.94)}.roadmap-app-module__WbQmha__chooserClose{color:var(--muted);background:0 0}.roadmap-app-module__WbQmha__chooserClose:hover{background:var(--button-hover);color:var(--ink)}.roadmap-app-module__WbQmha__loadingSignal{z-index:26;border:1px solid var(--dock-line);background:var(--dock);width:max-content;box-shadow:var(--small-shadow);color:var(--muted);font-family:var(--font-utility), monospace;letter-spacing:.05em;text-transform:uppercase;border-radius:999px;align-items:center;gap:7px;margin-inline:auto;padding:7px 10px;font-size:9px;display:flex;position:absolute;top:48px;left:0;right:0}.roadmap-app-module__WbQmha__loadingSignal span{background:var(--product);width:6px;height:6px;box-shadow:0 0 8px var(--product-shadow);border-radius:50%;animation:1.2s ease-in-out infinite roadmap-app-module__WbQmha__loading-pulse}@keyframes roadmap-app-module__WbQmha__loading-pulse{50%{opacity:.35;scale:.72}}.roadmap-app-module__WbQmha__toast{z-index:130;border:1px solid var(--success-line);background:var(--dock);min-width:260px;max-width:min(420px,100vw - 32px);box-shadow:var(--dock-shadow);color:var(--ink);border-radius:11px;align-items:center;gap:9px;padding:11px 11px 11px 13px;font-size:12px;font-weight:650;display:flex;position:fixed;bottom:82px;right:24px}.roadmap-app-module__WbQmha__toast>svg{color:var(--success)}.roadmap-app-module__WbQmha__toast span{flex:1}.roadmap-app-module__WbQmha__toast button{width:32px;height:32px;color:var(--muted);background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.roadmap-app-module__WbQmha__toast button:hover{background:var(--button-hover);color:var(--ink)}.roadmap-app-module__WbQmha__toastError{border-color:var(--downtime-border)}.roadmap-app-module__WbQmha__toastError>svg{color:var(--downtime)}.roadmap-app-module__WbQmha__modalBackdrop{z-index:100;background:var(--backdrop);-webkit-backdrop-filter:blur(9px)saturate(.85);backdrop-filter:blur(9px)saturate(.85);place-items:center;padding:18px;display:grid;position:fixed;inset:0}.roadmap-app-module__WbQmha__modal{border:1px solid var(--modal-line);background:var(--modal-surface);width:min(620px,100%);max-height:calc(100dvh - 36px);box-shadow:var(--modal-shadow);border-radius:14px;flex-direction:column;display:flex;position:relative;overflow:hidden}.roadmap-app-module__WbQmha__modal:before{z-index:2;background:linear-gradient(90deg, var(--product), var(--selection), var(--downtime));content:"";height:2px;position:absolute;top:0;left:0;right:0}.roadmap-app-module__WbQmha__modalHeader{border-bottom:1px solid var(--modal-line);flex:none;justify-content:space-between;align-items:flex-start;gap:20px;padding:20px 22px 16px;display:flex}.roadmap-app-module__WbQmha__modalHeader>div>span{color:var(--muted);font-family:var(--font-utility), monospace;letter-spacing:.14em;margin-bottom:4px;font-size:9px;font-weight:600;display:block}.roadmap-app-module__WbQmha__modalHeader h2{max-width:490px;color:var(--ink);font-family:var(--font-display), sans-serif;letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:clamp(20px,3vw,27px);font-weight:620;line-height:1.08;overflow:hidden}.roadmap-app-module__WbQmha__iconButton{border:1px solid var(--field-line);background:var(--field-surface);width:40px;height:40px;color:var(--muted);border-radius:9px;flex:none;place-items:center;display:grid}.roadmap-app-module__WbQmha__iconButton:hover:not(:disabled){border-color:var(--grid-strong);color:var(--ink)}.roadmap-app-module__WbQmha__editorBody{scrollbar-color:var(--scroll-thumb) transparent;scrollbar-width:thin;gap:15px;padding:18px 22px 20px;display:grid;overflow-y:auto}.roadmap-app-module__WbQmha__typeFieldset{border:0;margin:0;padding:0}.roadmap-app-module__WbQmha__typeFieldset legend,.roadmap-app-module__WbQmha__field>span,.roadmap-app-module__WbQmha__fieldLabel{color:var(--label-ink);margin-bottom:7px;font-size:11px;font-weight:700;display:block}.roadmap-app-module__WbQmha__field>span em{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin-left:4px;font-size:9px;font-style:normal;font-weight:500}.roadmap-app-module__WbQmha__typeOptions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.roadmap-app-module__WbQmha__typeOptions button{border:1px solid var(--field-line);background:var(--field-surface);min-height:60px;color:var(--muted);text-align:left;border-radius:9px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.roadmap-app-module__WbQmha__typeOptions button:hover{border-color:var(--grid-strong)}.roadmap-app-module__WbQmha__typeOptions button span{gap:3px;display:grid}.roadmap-app-module__WbQmha__typeOptions button strong{color:var(--ink);font-size:12px}.roadmap-app-module__WbQmha__typeOptions button small{color:var(--muted);font-size:9px}.roadmap-app-module__WbQmha__typeOptions .roadmap-app-module__WbQmha__productTypeActive{border-color:var(--product);background:var(--product-soft);color:var(--product);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--product) 14%, transparent)}.roadmap-app-module__WbQmha__typeOptions .roadmap-app-module__WbQmha__downtimeTypeActive{border-color:var(--downtime);background:var(--downtime-soft);color:var(--downtime);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--downtime) 12%, transparent)}.roadmap-app-module__WbQmha__field{display:block;position:relative}.roadmap-app-module__WbQmha__field input,.roadmap-app-module__WbQmha__field select,.roadmap-app-module__WbQmha__field textarea{border:1px solid var(--field-line);background:var(--field-surface);width:100%;color:var(--ink);border-radius:8px;font-size:12px;transition:border-color .15s,box-shadow .15s,background .15s}.roadmap-app-module__WbQmha__field input,.roadmap-app-module__WbQmha__field select{height:42px;padding:0 11px}.roadmap-app-module__WbQmha__field textarea{resize:vertical;min-height:78px;padding:10px 11px 24px;line-height:1.55}.roadmap-app-module__WbQmha__field input::placeholder,.roadmap-app-module__WbQmha__field textarea::placeholder{color:var(--placeholder)}.roadmap-app-module__WbQmha__field input:hover,.roadmap-app-module__WbQmha__field select:hover,.roadmap-app-module__WbQmha__field textarea:hover{border-color:var(--grid-strong)}.roadmap-app-module__WbQmha__field>small:not(.roadmap-app-module__WbQmha__characterCount){color:var(--downtime);margin-top:5px;font-size:10px;display:block}.roadmap-app-module__WbQmha__characterCount{color:var(--muted);font-family:var(--font-utility), monospace;font-size:8px;position:absolute;bottom:7px;right:9px}.roadmap-app-module__WbQmha__dateFields{grid-template-columns:1fr 22px 1fr;align-items:end;gap:8px;display:grid}.roadmap-app-module__WbQmha__dateArrow{height:42px;color:var(--muted);place-items:center;display:grid}.roadmap-app-module__WbQmha__rangeSummary{border:1px solid var(--selection-line);background:var(--selection-soft);color:var(--selection);border-radius:8px;align-items:center;gap:9px;padding:9px 11px;display:flex}.roadmap-app-module__WbQmha__rangeSummary>span{align-items:baseline;gap:8px;font-size:10px;display:flex}.roadmap-app-module__WbQmha__rangeSummary strong{color:var(--ink);font-family:var(--font-utility), monospace;font-size:10px}.roadmap-app-module__WbQmha__rangeSummaryError{border-color:var(--downtime-border);background:var(--downtime-soft);color:var(--downtime)}.roadmap-app-module__WbQmha__imageField{min-width:0}.roadmap-app-module__WbQmha__imageControl{border:1px solid var(--field-line);background:var(--field-surface);border-radius:9px;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:12px;min-height:86px;padding:7px;display:grid}.roadmap-app-module__WbQmha__imagePreview{border:1px dashed var(--grid-strong);background:linear-gradient(45deg, var(--cell-wash) 25%, transparent 25%), linear-gradient(-45deg, var(--cell-wash) 25%, transparent 25%), var(--surface);width:72px;height:72px;color:var(--muted);background-position:0 0,5px 5px;background-size:10px 10px;border-radius:7px;place-items:center;display:grid;position:relative;overflow:hidden}.roadmap-app-module__WbQmha__imagePreview img{object-fit:cover}.roadmap-app-module__WbQmha__imagePreviewFilled{border-style:solid}.roadmap-app-module__WbQmha__imagePreviewButton{cursor:zoom-in;padding:0;transition:border-color .16s,box-shadow .16s,filter .16s}.roadmap-app-module__WbQmha__imagePreviewButton:hover{border-color:var(--product);box-shadow:0 0 0 2px var(--field-surface), 0 0 0 3px color-mix(in srgb, var(--product) 38%, transparent);filter:brightness(1.04)}.roadmap-app-module__WbQmha__imagePreviewZoom{z-index:2;color:#f1fff4;background:#07120bd1;border:1px solid #ffffff61;border-radius:6px;place-items:center;width:24px;height:24px;transition:transform .16s;display:grid;position:absolute;bottom:5px;right:5px;box-shadow:0 4px 12px #00000047}.roadmap-app-module__WbQmha__imagePreviewButton:hover .roadmap-app-module__WbQmha__imagePreviewZoom,.roadmap-app-module__WbQmha__imagePreviewButton:focus-visible .roadmap-app-module__WbQmha__imagePreviewZoom{transform:scale(1.08)}.roadmap-app-module__WbQmha__imageControl>div:last-child{min-width:0}.roadmap-app-module__WbQmha__imageControl strong{color:var(--ink);font-size:11px;display:block}.roadmap-app-module__WbQmha__imageControl p{color:var(--muted);margin:3px 0 8px;font-size:9px}.roadmap-app-module__WbQmha__imageActions{align-items:center;gap:8px;display:flex}.roadmap-app-module__WbQmha__imageActions button{border:1px solid var(--field-line);background:var(--surface);min-height:31px;color:var(--ink);border-radius:7px;align-items:center;gap:6px;padding:0 9px;font-size:10px;font-weight:650;display:inline-flex}.roadmap-app-module__WbQmha__imageActions button:hover{border-color:var(--product)}.roadmap-app-module__WbQmha__imageActions .roadmap-app-module__WbQmha__viewImageButton{border-color:color-mix(in srgb, var(--product) 44%, var(--field-line));background:var(--product-soft);color:var(--product)}.roadmap-app-module__WbQmha__imageActions .roadmap-app-module__WbQmha__viewImageButton:hover{border-color:var(--product);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--product) 14%, transparent)}.roadmap-app-module__WbQmha__imageActions .roadmap-app-module__WbQmha__removeImageButton{color:var(--downtime);background:0 0;border-color:#0000}.roadmap-app-module__WbQmha__fileInput{display:none}.roadmap-app-module__WbQmha__fileError{color:var(--downtime);margin-top:5px;font-size:10px;display:block}.roadmap-app-module__WbQmha__imageViewerBackdrop{z-index:12;background:color-mix(in srgb, var(--backdrop) 88%, #020804b8);-webkit-backdrop-filter:blur(18px)saturate(.82);backdrop-filter:blur(18px)saturate(.82);place-items:center;padding:clamp(12px,3vw,34px);display:grid;position:fixed;inset:0}.roadmap-app-module__WbQmha__imageViewer{border:1px solid color-mix(in srgb, var(--product) 30%, var(--modal-line));background:var(--modal-surface);width:min(1060px,100%);max-height:calc(100dvh - clamp(24px,6vw,68px));box-shadow:0 44px 130px #0000007a, 0 0 0 1px #ffffff0d, 0 0 54px color-mix(in srgb, var(--product) 10%, transparent);isolation:isolate;border-radius:16px;grid-template-rows:auto minmax(0,1fr) auto;display:grid;position:relative;overflow:hidden}.roadmap-app-module__WbQmha__imageViewer:before{z-index:3;background:linear-gradient(90deg, transparent, var(--product), transparent);height:1px;box-shadow:0 0 14px color-mix(in srgb, var(--product) 48%, transparent);content:"";pointer-events:none;position:absolute;top:0;left:18%;right:18%}.roadmap-app-module__WbQmha__imageViewerHeader{border-bottom:1px solid var(--modal-line);justify-content:space-between;align-items:center;gap:20px;min-width:0;padding:14px 16px 13px 18px;display:flex}.roadmap-app-module__WbQmha__imageViewerHeader>div{min-width:0}.roadmap-app-module__WbQmha__imageViewerHeader span{color:var(--product);font-family:var(--font-utility), monospace;letter-spacing:.14em;margin-bottom:3px;font-size:8px;font-weight:750;display:block}.roadmap-app-module__WbQmha__imageViewerHeader h3{color:var(--ink);font-family:var(--font-display), sans-serif;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:16px;font-weight:650;line-height:1.2;overflow:hidden}.roadmap-app-module__WbQmha__imageViewerClose{border:1px solid var(--field-line);background:var(--field-surface);width:38px;height:38px;color:var(--muted);border-radius:9px;flex:none;place-items:center;transition:border-color .16s,background-color .16s,color .16s;display:grid}.roadmap-app-module__WbQmha__imageViewerClose:hover{border-color:var(--product);background:var(--product-soft);color:var(--product)}.roadmap-app-module__WbQmha__imageViewerStage{background:radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--product) 7%, transparent), transparent 48%), linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px), var(--surface);background-size:auto,26px 26px,26px 26px,auto;width:100%;height:min(72dvh,720px);min-height:min(420px,100dvh - 158px);position:relative;overflow:hidden}.roadmap-app-module__WbQmha__imageViewerStage:after{border:10px solid var(--modal-surface);content:"";pointer-events:none;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 12% 88%,#000);mask-image:linear-gradient(#000,#0000 12% 88%,#000)}.roadmap-app-module__WbQmha__imageViewerImage{z-index:1;opacity:0;object-fit:contain;padding:clamp(10px,2.2vw,28px);transition:opacity .22s}.roadmap-app-module__WbQmha__imageViewerImageLoaded{opacity:1}.roadmap-app-module__WbQmha__imageViewerStatus{z-index:2;color:var(--muted);font-family:var(--font-utility), monospace;letter-spacing:.1em;text-transform:uppercase;pointer-events:none;justify-content:center;align-items:center;gap:8px;font-size:8px;font-weight:650;display:flex;position:absolute;inset:0}.roadmap-app-module__WbQmha__imageViewerStatus>span{background:var(--product);width:7px;height:7px;box-shadow:0 0 13px color-mix(in srgb, var(--product) 64%, transparent);border-radius:50%;animation:.9s ease-in-out infinite alternate roadmap-app-module__WbQmha__viewer-pulse}.roadmap-app-module__WbQmha__imageViewerStatus>svg{color:var(--downtime)}@keyframes roadmap-app-module__WbQmha__viewer-pulse{0%{opacity:.38;transform:scale(.74)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.roadmap-app-module__WbQmha__imageViewerImage{transition:none}.roadmap-app-module__WbQmha__imageViewerStatus>span{animation:none}}.roadmap-app-module__WbQmha__imageViewerFooter{border-top:1px solid var(--modal-line);min-height:38px;color:var(--muted);font-family:var(--font-utility), monospace;letter-spacing:.07em;text-transform:uppercase;justify-content:space-between;align-items:center;gap:12px;padding:0 18px;font-size:8px;font-weight:600;display:flex}.roadmap-app-module__WbQmha__imageViewerFooter kbd{border:1px solid var(--field-line);background:var(--field-surface);color:var(--ink);font:inherit;border-radius:4px;padding:2px 5px}.roadmap-app-module__WbQmha__modalFooter{border-top:1px solid var(--modal-line);background:var(--modal-footer);flex:none;justify-content:space-between;align-items:center;gap:12px;min-height:68px;padding:12px 22px;display:flex}.roadmap-app-module__WbQmha__modalFooterActions{align-items:center;gap:7px;display:flex}.roadmap-app-module__WbQmha__modalFooter button{border-radius:8px;justify-content:center;align-items:center;gap:6px;min-height:40px;padding:0 13px;font-size:11px;font-weight:700;display:inline-flex}.roadmap-app-module__WbQmha__cancelButton{border:1px solid var(--field-line);background:var(--field-surface);color:var(--muted)}.roadmap-app-module__WbQmha__cancelButton:hover:not(:disabled){color:var(--ink)}.roadmap-app-module__WbQmha__saveProduct,.roadmap-app-module__WbQmha__saveDowntime{border:0;min-width:118px}.roadmap-app-module__WbQmha__saveProduct{background:var(--product);color:var(--on-product)}.roadmap-app-module__WbQmha__saveDowntime{background:var(--downtime);color:var(--on-downtime)}.roadmap-app-module__WbQmha__saveProduct:hover:not(:disabled),.roadmap-app-module__WbQmha__saveDowntime:hover:not(:disabled){filter:brightness(.94)}.roadmap-app-module__WbQmha__deleteButton{color:var(--downtime);background:0 0;border:1px solid #0000}.roadmap-app-module__WbQmha__deleteButton:hover:not(:disabled){background:var(--downtime-soft)}.roadmap-app-module__WbQmha__deleteConfirm{border-color:var(--downtime-border);background:var(--downtime-soft)}.roadmap-app-module__WbQmha__modal button:disabled{cursor:not-allowed;opacity:.48}.roadmap-app-module__WbQmha__srOnly{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (max-width:720px),(hover:none) and (pointer:coarse){.roadmap-app-module__WbQmha__controlDock button,.roadmap-app-module__WbQmha__rangeChooser button{min-width:44px;min-height:44px}.roadmap-app-module__WbQmha__touchSelectButton{display:inline-flex}.roadmap-app-module__WbQmha__monthRow{min-height:calc(var(--month-row-height) + 12px);flex-basis:calc(var(--month-row-height) + 12px)}.roadmap-app-module__WbQmha__ribbon{height:30px}.roadmap-app-module__WbQmha__downtimeRibbon{height:24px;top:6px}.roadmap-app-module__WbQmha__toast{bottom:74px;right:10px}}@media (max-width:640px){.roadmap-app-module__WbQmha__app{padding:6px}.roadmap-app-module__WbQmha__instrument{border-radius:10px}.roadmap-app-module__WbQmha__matrix{min-width:930px}.roadmap-app-module__WbQmha__dayRail,.roadmap-app-module__WbQmha__monthRow{grid-template-columns:68px minmax(0,1fr)}.roadmap-app-module__WbQmha__monthLabel{padding-inline:9px}.roadmap-app-module__WbQmha__controlDock{bottom:10px;right:10px}.roadmap-app-module__WbQmha__addButton span{display:none}.roadmap-app-module__WbQmha__addButton{width:44px;padding:0}.roadmap-app-module__WbQmha__rangeChooser{flex-wrap:wrap;justify-content:center;bottom:8px}.roadmap-app-module__WbQmha__chooserRange{min-width:0}.roadmap-app-module__WbQmha__modalBackdrop{align-items:end;padding:8px 8px 0}.roadmap-app-module__WbQmha__modal{border-bottom:0;border-radius:13px 13px 0 0;width:100%;max-height:calc(100dvh - 8px)}.roadmap-app-module__WbQmha__imageViewerBackdrop{padding:8px}.roadmap-app-module__WbQmha__imageViewer{border-radius:12px;max-height:calc(100dvh - 16px)}.roadmap-app-module__WbQmha__imageViewerHeader{padding:12px 12px 11px 14px}.roadmap-app-module__WbQmha__imageViewerClose{width:44px;height:44px}.roadmap-app-module__WbQmha__imageViewerStage{height:min(68dvh,620px);min-height:min(260px,100dvh - 150px)}.roadmap-app-module__WbQmha__imageViewerImage{padding:8px}.roadmap-app-module__WbQmha__imageViewerFooter{padding-inline:14px}.roadmap-app-module__WbQmha__modalHeader{padding:18px 16px 14px}.roadmap-app-module__WbQmha__editorBody{padding:16px}.roadmap-app-module__WbQmha__typeOptions,.roadmap-app-module__WbQmha__dateFields{grid-template-columns:1fr}.roadmap-app-module__WbQmha__dateArrow{display:none}.roadmap-app-module__WbQmha__modalFooter{padding:10px 12px calc(10px + env(safe-area-inset-bottom));align-items:stretch}.roadmap-app-module__WbQmha__modalFooterActions{margin-left:auto}}@media (max-width:430px){.roadmap-app-module__WbQmha__chooserRange{justify-content:center;width:calc(100% - 48px)}.roadmap-app-module__WbQmha__rangeChooser{width:calc(100% - 20px)}.roadmap-app-module__WbQmha__modalFooter{grid-template-columns:auto 1fr;display:grid}.roadmap-app-module__WbQmha__modalFooterActions{justify-content:end}.roadmap-app-module__WbQmha__cancelButton{display:none!important}}@media (prefers-reduced-motion:reduce){.roadmap-app-module__WbQmha__loadingSignal span{animation:none}.roadmap-app-module__WbQmha__field input,.roadmap-app-module__WbQmha__field select,.roadmap-app-module__WbQmha__field textarea{transition:none}}
.yearline-app-module__fPBBFq__app{--year-canvas:#f3f6f2;--year-canvas-glow:#26b25813;--year-ink:#142019;--year-muted:#5d6b61;--year-hairline:#bac7bd;--year-spine:#0f1511;--year-spine-raised:#151d17;--year-spine-edge:#344238;--year-spine-ink:#f1f7f2;--year-spine-muted:#9eaaa1;--year-product:#18794a;--year-product-deep:#0e5834;--year-product-glint:#66e78a;--year-product-ink:#fff;--year-product-soft:#18794a21;--year-downtime:#b1364c;--year-downtime-deep:#8f293c;--year-downtime-ink:#fff;--year-selection:#0c9164;--year-selection-soft:#28d0843b;--year-selection-line:#79f4a8e0;--year-quarter:#42cf70;--year-today:#168457;--year-today-soft:#16845729;--year-focus:#08778a;--year-panel:#fafcfaf0;--year-panel-line:#18342029;--year-shadow:0 18px 54px #1b2f2221;background:radial-gradient(circle at 50% 50%, var(--year-canvas-glow), transparent 36%), var(--year-canvas);width:100%;height:100dvh;min-height:500px;color:var(--year-ink);isolation:isolate;position:relative;overflow:hidden}html[data-theme=dark] .yearline-app-module__fPBBFq__app{--year-canvas:#090d0a;--year-canvas-glow:#43e66f12;--year-ink:#f0f6f1;--year-muted:#96a39a;--year-hairline:#2b3b30;--year-spine:#0d120f;--year-spine-raised:#131a15;--year-spine-edge:#2c3a30;--year-spine-ink:#f0f6f1;--year-spine-muted:#94a198;--year-product:#69e58c;--year-product-deep:#17924f;--year-product-glint:#b9ffc8;--year-product-ink:#07120b;--year-product-soft:#69e58c2b;--year-downtime:#ff7484;--year-downtime-deep:#dc5366;--year-downtime-ink:#29070d;--year-selection:#35d9a0;--year-selection-soft:#35d9a033;--year-selection-line:#7ef8c9e6;--year-quarter:#69e58c;--year-today:#a8f36f;--year-today-soft:#a8f36f29;--year-focus:#8de4f0;--year-panel:#0d120ef0;--year-panel-line:#c5ebcf21;--year-shadow:0 22px 64px #00000075}.yearline-app-module__fPBBFq__canvas{width:100%;height:100%;position:relative}.yearline-app-module__fPBBFq__mobileNavigator,.yearline-app-module__fPBBFq__mobileSelectionHint,.yearline-app-module__fPBBFq__mobileSelectButton{display:none}.yearline-app-module__fPBBFq__canvas:before{content:"";pointer-events:none;background:linear-gradient(132deg,#0000 0 28%,#21703a0b 28.1% 40%,#0000 40.1%),linear-gradient(28deg,#0000 0 56%,#16592d09 56.1% 67%,#0000 67.1%),linear-gradient(164deg,#0000 0 71%,#489c5e09 71.1% 79%,#0000 79.1%);position:absolute;inset:18% 2%;-webkit-mask-image:radial-gradient(#000,#0000 74%);mask-image:radial-gradient(#000,#0000 74%)}.yearline-app-module__fPBBFq__timeline{position:absolute;inset:0 clamp(22px,4.4vw,76px)}.yearline-app-module__fPBBFq__spineAssembly{z-index:4;transform-origin:0;height:66px;position:absolute;top:50%;left:0;right:0;translate:0 -50%}.yearline-app-module__fPBBFq__spine{border:1px solid var(--year-spine-edge);background:linear-gradient(180deg, #ffffff09, transparent 38%), var(--year-spine);cursor:crosshair;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:12px;position:absolute;inset:0;overflow:hidden;box-shadow:0 14px 36px #0a140d29,inset 0 1px #ffffff12,inset 0 -1px #00000057}.yearline-app-module__fPBBFq__spine:after{z-index:1;border-radius:inherit;content:"";pointer-events:none;background:linear-gradient(106deg,#0000 0%,#72ff9906 38%,#8cffad11 50%,#0000 64%);position:absolute;inset:0}.yearline-app-module__fPBBFq__spine:focus-visible{outline:2px solid var(--year-focus);outline-offset:4px}.yearline-app-module__fPBBFq__quarterField{z-index:1;border-right:1px solid color-mix(in srgb, var(--year-quarter) 16%, transparent);border-left:1px solid color-mix(in srgb, var(--year-quarter) 16%, transparent);background:linear-gradient(to bottom, transparent, color-mix(in srgb, var(--year-quarter) 6%, transparent) 30%, color-mix(in srgb, var(--year-quarter) 8%, transparent) 50%, color-mix(in srgb, var(--year-quarter) 6%, transparent) 70%, transparent);pointer-events:none;position:absolute;top:20%;bottom:20%;-webkit-mask-image:linear-gradient(#0000,#000 24% 76%,#0000);mask-image:linear-gradient(#0000,#000 24% 76%,#0000)}.yearline-app-module__fPBBFq__quarterRail{z-index:16;pointer-events:none;height:44px;position:absolute;top:-53px;left:0;right:0}.yearline-app-module__fPBBFq__quarterCell{pointer-events:none;justify-content:center;align-items:center;height:44px;display:flex;position:absolute;top:0}.yearline-app-module__fPBBFq__quarterButton{width:48px;height:44px;color:var(--year-muted);cursor:pointer;pointer-events:auto;touch-action:manipulation;background:0 0;border:0;place-items:center;padding:0;display:grid;position:relative}.yearline-app-module__fPBBFq__quarterButton:after{background:var(--year-canvas);content:"";border:1px solid;border-radius:50%;width:7px;height:7px;transition:background-color .16s,border-color .16s,box-shadow .16s;position:absolute;bottom:1px;left:50%;translate:-50%}.yearline-app-module__fPBBFq__quarterButton span{font-family:var(--font-utility), monospace;letter-spacing:.12em;font-size:9px;font-weight:600;line-height:1;transition:color .16s,text-shadow .16s;translate:0 -4px}.yearline-app-module__fPBBFq__quarterButton:hover,.yearline-app-module__fPBBFq__quarterButtonActive{color:var(--year-quarter)}.yearline-app-module__fPBBFq__quarterButtonActive:after{border-color:var(--year-quarter);background:var(--year-quarter);box-shadow:0 0 0 4px color-mix(in srgb, var(--year-quarter) 11%, transparent), 0 0 14px color-mix(in srgb, var(--year-quarter) 54%, transparent)}.yearline-app-module__fPBBFq__quarterButtonActive span{text-shadow:0 0 12px color-mix(in srgb, var(--year-quarter) 48%, transparent)}.yearline-app-module__fPBBFq__quarterButton:focus-visible{outline:2px solid var(--year-focus);outline-offset:-2px;border-radius:8px}.yearline-app-module__fPBBFq__todayMarker{z-index:6;pointer-events:none;width:0;height:292px;position:absolute;top:calc(50% - 146px)}.yearline-app-module__fPBBFq__todayLine{background:linear-gradient(to bottom, transparent, color-mix(in srgb, var(--year-today) 58%, transparent) 12%, var(--year-today) 48%, color-mix(in srgb, var(--year-today) 58%, transparent) 88%, transparent);width:1px;box-shadow:0 0 12px color-mix(in srgb, var(--year-today) 34%, transparent);transform-origin:50%;position:absolute;top:20px;bottom:0;left:0}.yearline-app-module__fPBBFq__todayNode{border:2px solid var(--year-today);background:var(--year-spine);width:9px;height:9px;box-shadow:0 0 0 3px color-mix(in srgb, var(--year-spine) 84%, transparent), 0 0 15px color-mix(in srgb, var(--year-today) 75%, transparent);border-radius:50%;position:absolute;top:146px;left:0;translate:-50% -50%}.yearline-app-module__fPBBFq__todayNode:after{border-radius:inherit;background:var(--year-today);content:"";position:absolute;inset:1px}.yearline-app-module__fPBBFq__todayBadge{border:1px solid color-mix(in srgb, var(--year-today) 45%, var(--year-panel-line));background:color-mix(in srgb, var(--year-canvas) 90%, var(--year-today-soft));width:max-content;height:22px;box-shadow:0 7px 18px color-mix(in srgb, var(--year-today) 13%, transparent), inset 0 1px 0 #ffffff61;color:var(--year-today);font-family:var(--font-utility), monospace;font-variant-numeric:tabular-nums;letter-spacing:.09em;text-transform:uppercase;white-space:nowrap;border-radius:11px;align-items:center;gap:5px;padding:0 7px;font-size:7px;font-weight:700;line-height:1;display:flex;position:absolute;top:0;left:0;translate:-50%}.yearline-app-module__fPBBFq__todayBadge span{opacity:.72}.yearline-app-module__fPBBFq__todayBadge strong{font-size:inherit;letter-spacing:.04em;font-weight:800}.yearline-app-module__fPBBFq__todayMarkerStart .yearline-app-module__fPBBFq__todayBadge{translate:-2px}.yearline-app-module__fPBBFq__todayMarkerEnd .yearline-app-module__fPBBFq__todayBadge{translate:calc(2px - 100%)}.yearline-app-module__fPBBFq__spineSelecting{cursor:ew-resize}.yearline-app-module__fPBBFq__startCap,.yearline-app-module__fPBBFq__endCap{color:var(--year-muted);font-family:var(--font-utility), monospace;letter-spacing:.13em;font-size:8px;font-weight:600;line-height:1;position:absolute;top:-22px}.yearline-app-module__fPBBFq__startCap{left:0}.yearline-app-module__fPBBFq__endCap{right:0}.yearline-app-module__fPBBFq__monthRail,.yearline-app-module__fPBBFq__dayRail{z-index:2;pointer-events:none;position:absolute;inset:0}.yearline-app-module__fPBBFq__monthSegment{color:var(--year-spine-ink);font-family:var(--font-utility), monospace;letter-spacing:.11em;text-align:center;border-right:1px solid #acd7b829;align-items:center;font-size:clamp(7px,.7vw,10px);font-weight:600;display:grid;position:absolute;top:0;bottom:0}.yearline-app-module__fPBBFq__monthSegment:after{z-index:2;background:var(--year-spine);content:"";border:1px solid #b9e1c36b;border-radius:50%;width:5px;height:5px;position:absolute;top:50%;right:-3px;translate:0 -50%}.yearline-app-module__fPBBFq__monthSegment:nth-child(2n){background:#ffffff06}.yearline-app-module__fPBBFq__monthSegment:last-child{border-right:0}.yearline-app-module__fPBBFq__monthSegment:last-child:after,.yearline-app-module__fPBBFq__monthShort{display:none}.yearline-app-module__fPBBFq__dayTick{z-index:3;background:#e5eaf538;width:1px;height:5px;position:absolute;bottom:0;translate:-.5px}.yearline-app-module__fPBBFq__dayTick small{color:var(--year-spine-muted);font-family:var(--font-utility), monospace;font-size:6px;font-weight:500;line-height:1;position:absolute;bottom:8px;right:0;translate:50%}.yearline-app-module__fPBBFq__fiveDayTick{background:#e5eaf55c;height:8px}.yearline-app-module__fPBBFq__tenDayTick{background:#e5eaf58a;height:11px}.yearline-app-module__fPBBFq__monthTick{background:#ffffff3d;height:auto;top:0;bottom:0}.yearline-app-module__fPBBFq__quarterHighlight{z-index:1;border-right:1px solid color-mix(in srgb, var(--year-quarter) 38%, transparent);border-left:1px solid color-mix(in srgb, var(--year-quarter) 38%, transparent);background:linear-gradient(90deg, transparent, #72ff9713, transparent), color-mix(in srgb, var(--year-quarter) 8%, transparent);box-shadow:inset 0 -2px 0 color-mix(in srgb, var(--year-quarter) 72%, transparent);pointer-events:none;position:absolute;inset-block:0}.yearline-app-module__fPBBFq__selectionBand{z-index:4;border-right:1px solid var(--year-selection-line);border-left:1px solid var(--year-selection-line);background:linear-gradient(90deg, transparent, #ffffff1f, transparent), var(--year-selection-soft);min-width:2px;box-shadow:inset 0 0 18px color-mix(in srgb, var(--year-selection) 20%, transparent), 0 0 22px color-mix(in srgb, var(--year-selection) 18%, transparent);pointer-events:none;position:absolute;top:0;bottom:0}.yearline-app-module__fPBBFq__dateBeam{z-index:18;background:linear-gradient(to bottom, transparent, var(--year-selection), var(--year-selection), transparent);width:1px;height:104px;box-shadow:0 0 12px color-mix(in srgb, var(--year-selection) 48%, transparent);pointer-events:none;position:absolute;top:calc(50% - 52px)}.yearline-app-module__fPBBFq__dateBeam span{background:var(--year-spine);min-width:max-content;color:var(--year-spine-ink);font-family:var(--font-utility), monospace;letter-spacing:.05em;border:1px solid #ffffff2b;border-radius:4px;padding:4px 6px;font-size:8px;font-weight:600;position:absolute;top:50%;left:50%;translate:-50% -50%;box-shadow:0 6px 18px #0000002e}.yearline-app-module__fPBBFq__periodSlot{--period-height:32px;--period-accent:var(--year-product);z-index:7;left:var(--period-left);width:var(--period-width);min-width:2px;height:var(--period-height);transform-origin:50%;pointer-events:auto;position:absolute}.yearline-app-module__fPBBFq__periodSlot:hover,.yearline-app-module__fPBBFq__periodSlot:focus-within{z-index:20}.yearline-app-module__fPBBFq__periodAbove{bottom:calc(50% + 97px + var(--lane-offset))}.yearline-app-module__fPBBFq__periodBelow{top:calc(50% + 47px + var(--lane-offset))}.yearline-app-module__fPBBFq__periodStem{width:1px;height:calc(14px + var(--lane-offset));pointer-events:none;background:repeating-linear-gradient(currentColor 0 2px,#0000 2px 5px);position:absolute;left:50%}.yearline-app-module__fPBBFq__periodStem:after{background:var(--year-canvas);width:5px;height:5px;box-shadow:0 0 0 3px var(--year-canvas);content:"";border:1px solid;border-radius:50%;position:absolute;left:50%;translate:-50%}.yearline-app-module__fPBBFq__periodAbove .yearline-app-module__fPBBFq__periodStem{height:calc(64px + var(--lane-offset));top:100%}.yearline-app-module__fPBBFq__periodAbove .yearline-app-module__fPBBFq__periodStem:after{bottom:-2px}.yearline-app-module__fPBBFq__periodBelow .yearline-app-module__fPBBFq__periodStem{bottom:100%}.yearline-app-module__fPBBFq__periodBelow .yearline-app-module__fPBBFq__periodStem:after{top:-2px}.yearline-app-module__fPBBFq__productPeriod .yearline-app-module__fPBBFq__periodStem{color:color-mix(in srgb, var(--year-product) 70%, var(--year-hairline))}.yearline-app-module__fPBBFq__downtimePeriod{--period-height:26px;--period-accent:var(--year-downtime)}.yearline-app-module__fPBBFq__downtimePeriod .yearline-app-module__fPBBFq__periodStem{color:color-mix(in srgb, var(--year-downtime) 72%, var(--year-hairline))}.yearline-app-module__fPBBFq__periodVisual{min-width:2px;color:var(--year-product-ink);pointer-events:none;border:1px solid #0000;border-radius:6px;transition:filter .16s,box-shadow .16s,border-color .16s;position:absolute;inset:0;overflow:hidden}.yearline-app-module__fPBBFq__periodTodayGate{z-index:5;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--year-today) 14%, transparent), transparent);pointer-events:none;transform-origin:50%;border-radius:8px;width:19px;position:absolute;top:-5px;bottom:-5px;translate:-50%}.yearline-app-module__fPBBFq__periodTodayGate:before{background:linear-gradient(90deg, var(--year-spine) 0 1px, var(--year-today) 1px 2px, var(--year-spine) 2px 3px);width:3px;box-shadow:0 0 10px color-mix(in srgb, var(--year-today) 65%, transparent);content:"";border-radius:2px;position:absolute;top:0;bottom:0;left:50%;translate:-50%}.yearline-app-module__fPBBFq__periodTodayGate:after{border:2px solid var(--year-today);background:radial-gradient(circle, var(--year-today) 0 1.5px, var(--year-canvas) 2px 100%);width:9px;height:9px;box-shadow:0 0 0 2px color-mix(in srgb, var(--year-spine) 72%, transparent), 0 0 13px color-mix(in srgb, var(--year-today) 74%, transparent);content:"";border-radius:50%;position:absolute;top:50%;left:50%;translate:-50% -50%}.yearline-app-module__fPBBFq__productPeriod .yearline-app-module__fPBBFq__periodVisual{border-color:color-mix(in srgb, var(--year-product-deep) 74%, white 10%);background:linear-gradient(105deg, transparent 0 74%, #ffffff21), linear-gradient(90deg, var(--year-product-deep), var(--year-product));box-shadow:0 7px 18px color-mix(in srgb, var(--year-product) 16%, transparent), inset 0 1px 0 #ffffff38}.yearline-app-module__fPBBFq__productPeriod .yearline-app-module__fPBBFq__periodVisual:before{background:var(--year-product-glint);width:3px;box-shadow:0 0 10px color-mix(in srgb, var(--year-product-glint) 60%, transparent);content:"";position:absolute;top:0;bottom:0;left:0}.yearline-app-module__fPBBFq__downtimePeriod .yearline-app-module__fPBBFq__periodVisual{border-color:var(--year-downtime-deep);background:repeating-linear-gradient(135deg, transparent 0 5px, #ffffff2e 5px 6px), var(--year-downtime);color:var(--year-downtime-ink);box-shadow:0 7px 18px color-mix(in srgb, var(--year-downtime) 19%, transparent)}.yearline-app-module__fPBBFq__periodCurrent .yearline-app-module__fPBBFq__periodVisual{border-color:color-mix(in srgb, var(--year-today) 46%, var(--period-accent))}.yearline-app-module__fPBBFq__periodSlot:hover .yearline-app-module__fPBBFq__periodVisual,.yearline-app-module__fPBBFq__periodSlot:focus-within .yearline-app-module__fPBBFq__periodVisual{border-color:color-mix(in srgb, currentColor 25%, white 45%);box-shadow:0 0 0 2px var(--year-canvas), 0 0 0 4px color-mix(in srgb, var(--year-focus) 50%, transparent), 0 10px 24px #181b2633;filter:brightness(1.04)}.yearline-app-module__fPBBFq__periodSlot:hover .yearline-app-module__fPBBFq__periodStem:after,.yearline-app-module__fPBBFq__periodSlot:focus-within .yearline-app-module__fPBBFq__periodStem:after{box-shadow:0 0 0 3px var(--year-canvas), 0 0 12px 2px currentColor;background:currentColor}.yearline-app-module__fPBBFq__noteIndicator{z-index:6;border:1px solid color-mix(in srgb, var(--period-accent) 68%, var(--year-canvas));background:color-mix(in srgb, var(--year-canvas) 88%, var(--period-accent));width:17px;height:17px;box-shadow:0 0 0 2px var(--year-canvas), 0 5px 13px color-mix(in srgb, var(--period-accent) 24%, transparent);color:var(--period-accent);pointer-events:none;border-radius:50%;place-items:center;transition:background-color .16s,box-shadow .16s,color .16s;display:grid;position:absolute;top:-7px;right:-7px}.yearline-app-module__fPBBFq__periodWithNote:hover .yearline-app-module__fPBBFq__noteIndicator,.yearline-app-module__fPBBFq__periodWithNote:focus-within .yearline-app-module__fPBBFq__noteIndicator{background:var(--period-accent);box-shadow:0 0 0 2px var(--year-canvas), 0 0 15px color-mix(in srgb, var(--period-accent) 52%, transparent);color:var(--year-canvas)}.yearline-app-module__fPBBFq__notePreview{z-index:24;border:1px solid color-mix(in srgb, var(--period-accent) 27%, var(--year-panel-line));background:linear-gradient(115deg, color-mix(in srgb, var(--period-accent) 7%, transparent), transparent 54%), var(--year-panel);width:max-content;min-width:min(180px,100vw - 24px);max-width:min(270px,100vw - 24px);box-shadow:0 16px 38px color-mix(in srgb, var(--year-ink) 13%, transparent), inset 0 1px 0 #ffffff57;color:var(--year-ink);pointer-events:auto;transform-origin:top;-webkit-user-select:text;user-select:text;border-radius:9px;gap:7px;padding:10px 11px 11px;display:grid;position:absolute;top:calc(100% + 31px);left:50%;overflow:visible;translate:-50%}.yearline-app-module__fPBBFq__notePreview:before{content:"";height:32px;position:absolute;bottom:100%;left:0;right:0}.yearline-app-module__fPBBFq__notePreview:after{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--period-accent) 72%, transparent), transparent);content:"";height:1px;position:absolute;top:0;left:10px;right:10px}.yearline-app-module__fPBBFq__notePreviewLabel{color:var(--period-accent);font-family:var(--font-utility), monospace;letter-spacing:.11em;text-transform:uppercase;align-items:center;gap:5px;font-size:7px;font-weight:750;line-height:1;display:flex}.yearline-app-module__fPBBFq__notePreview p{max-height:min(150px,34vh - 40px);color:var(--year-ink);font-family:var(--font-body), sans-serif;overflow-wrap:anywhere;scrollbar-color:color-mix(in srgb, var(--period-accent) 36%, transparent) transparent;scrollbar-width:thin;white-space:pre-wrap;margin:0;font-size:10px;line-height:1.48;overflow:auto}.yearline-app-module__fPBBFq__periodStartDate,.yearline-app-module__fPBBFq__periodEndDate{z-index:4;background:var(--year-canvas);width:max-content;color:var(--year-muted);font-family:var(--font-utility), monospace;font-variant-numeric:tabular-nums;letter-spacing:.055em;pointer-events:none;border-radius:3px;padding:2px 4px;font-size:8px;font-weight:600;line-height:1;transition:color .16s;position:absolute;top:50%}.yearline-app-module__fPBBFq__periodStartDate{right:calc(100% + 5px);translate:0 -50%}.yearline-app-module__fPBBFq__periodEndDate{left:calc(100% + 5px);translate:0 -50%}.yearline-app-module__fPBBFq__periodCaption{z-index:4;background:var(--year-canvas);width:max-content;max-width:min(280px,100vw - 24px);color:var(--year-ink);pointer-events:none;border-radius:4px;padding:2px 5px 3px;position:absolute;top:calc(100% + 7px);left:50%;translate:-50%}.yearline-app-module__fPBBFq__periodTitle{overflow-wrap:anywhere;max-width:100%;color:inherit;font-family:var(--font-body), sans-serif;letter-spacing:-.01em;text-align:center;text-wrap:balance;font-size:10px;font-weight:700;line-height:1.25;display:block}.yearline-app-module__fPBBFq__periodSlot:hover .yearline-app-module__fPBBFq__periodStartDate,.yearline-app-module__fPBBFq__periodSlot:hover .yearline-app-module__fPBBFq__periodEndDate,.yearline-app-module__fPBBFq__periodSlot:focus-within .yearline-app-module__fPBBFq__periodStartDate,.yearline-app-module__fPBBFq__periodSlot:focus-within .yearline-app-module__fPBBFq__periodEndDate{color:var(--year-ink)}.yearline-app-module__fPBBFq__periodHit{z-index:3;width:max(100%,44px);min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;padding:0;position:absolute;top:50%;left:50%;translate:-50% -50%}.yearline-app-module__fPBBFq__periodHit:focus-visible{outline:2px solid var(--year-focus);outline-offset:2px}.yearline-app-module__fPBBFq__rangeChooser{--chooser-half-width:180px;z-index:30;top:calc(50% + 51px);left:clamp(var(--chooser-half-width), var(--chooser-x), calc(100% - var(--chooser-half-width)));border:1px solid var(--year-panel-line);background:var(--year-panel);min-height:44px;box-shadow:var(--year-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:9px;align-items:center;gap:4px;padding:4px;display:flex;position:absolute;translate:-50%}.yearline-app-module__fPBBFq__rangeChooser button{cursor:pointer;border:0;border-radius:6px;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:0 10px;font-size:9px;font-weight:750;display:inline-flex}.yearline-app-module__fPBBFq__chooserRange{gap:2px;min-width:max-content;padding:0 8px 0 7px;display:grid}.yearline-app-module__fPBBFq__chooserRange strong,.yearline-app-module__fPBBFq__chooserRange small{font-family:var(--font-utility), monospace}.yearline-app-module__fPBBFq__chooserRange strong{color:var(--year-ink);letter-spacing:.02em;font-size:8px}.yearline-app-module__fPBBFq__chooserRange small{color:var(--year-muted);font-size:7px}.yearline-app-module__fPBBFq__chooseProduct{background:var(--year-product);color:var(--year-product-ink)}.yearline-app-module__fPBBFq__chooseDowntime{background:var(--year-downtime);color:var(--year-downtime-ink)}.yearline-app-module__fPBBFq__chooserClose{width:36px;color:var(--year-muted);background:0 0;padding:0!important}.yearline-app-module__fPBBFq__chooserClose:hover{background:color-mix(in srgb, var(--year-ink) 7%, transparent);color:var(--year-ink)}.yearline-app-module__fPBBFq__controls{z-index:40;right:max(18px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));align-items:center;gap:7px;display:flex;position:fixed}.yearline-app-module__fPBBFq__controls button{border:1px solid var(--year-panel-line);background:var(--year-panel);height:44px;color:var(--year-ink);cursor:pointer;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 8px 28px #1a1f2d1a}.yearline-app-module__fPBBFq__controls button:hover{border-color:color-mix(in srgb, var(--year-product) 42%, var(--year-panel-line))}.yearline-app-module__fPBBFq__controls .yearline-app-module__fPBBFq__addButton{border-color:color-mix(in srgb, var(--year-product-deep) 76%, transparent);background:var(--year-product);box-shadow:0 8px 24px color-mix(in srgb, var(--year-product) 18%, transparent), inset 0 1px 0 #fff3;color:var(--year-product-ink)}.yearline-app-module__fPBBFq__controls .yearline-app-module__fPBBFq__addButton:hover{border-color:var(--year-product-glint);box-shadow:0 10px 30px color-mix(in srgb, var(--year-product) 25%, transparent), inset 0 1px 0 #ffffff40}.yearline-app-module__fPBBFq__addButton{border-radius:22px;justify-content:center;align-items:center;gap:7px;min-width:76px;padding:0 15px;font-size:10px;font-weight:750;display:inline-flex}.yearline-app-module__fPBBFq__themeButton{border-radius:50%;place-items:center;width:44px;display:grid;position:relative}.yearline-app-module__fPBBFq__sunIcon,.yearline-app-module__fPBBFq__moonIcon{transition:opacity .16s,rotate .16s,scale .16s;position:absolute}.yearline-app-module__fPBBFq__sunIcon{opacity:1;rotate:none;scale:1}.yearline-app-module__fPBBFq__moonIcon{opacity:0;rotate:-35deg;scale:.75}html[data-theme=dark] .yearline-app-module__fPBBFq__sunIcon{opacity:0;rotate:35deg;scale:.75}html[data-theme=dark] .yearline-app-module__fPBBFq__moonIcon{opacity:1;rotate:none;scale:1}.yearline-app-module__fPBBFq__loadingSweep{z-index:8;background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--year-product-glint) 20%, transparent), transparent);pointer-events:none;width:18%;position:absolute;top:0;bottom:0;left:0}.yearline-app-module__fPBBFq__toast{z-index:130;border:1px solid color-mix(in srgb, #198566 42%, var(--year-panel-line));background:var(--year-panel);min-height:42px;box-shadow:var(--year-shadow);color:var(--year-ink);border-radius:8px;align-items:center;gap:8px;padding:0 13px;font-size:10px;font-weight:700;display:flex;position:fixed;bottom:76px;right:22px}.yearline-app-module__fPBBFq__toast>svg{color:#198566}.yearline-app-module__fPBBFq__toastError{border-color:color-mix(in srgb, var(--year-downtime) 55%, var(--year-panel-line))}.yearline-app-module__fPBBFq__toastError>svg{color:var(--year-downtime)}.yearline-app-module__fPBBFq__srOnly{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}@media (max-width:920px){.yearline-app-module__fPBBFq__timeline{inset-inline:18px}.yearline-app-module__fPBBFq__monthLong{display:none}.yearline-app-module__fPBBFq__monthShort{display:inline}.yearline-app-module__fPBBFq__monthSegment{letter-spacing:.06em;font-size:clamp(6px,1.15vw,9px)}.yearline-app-module__fPBBFq__dayTick small{display:none}}@media (max-width:700px),(max-height:560px) and (pointer:coarse){.yearline-app-module__fPBBFq__app{min-height:0}.yearline-app-module__fPBBFq__canvas{overscroll-behavior-x:contain;scrollbar-width:none;-webkit-overflow-scrolling:touch;overflow:auto hidden}.yearline-app-module__fPBBFq__canvas::-webkit-scrollbar{display:none}.yearline-app-module__fPBBFq__canvasSelecting{touch-action:none}.yearline-app-module__fPBBFq__timeline{inset:0 auto 0 max(10px, env(safe-area-inset-left));width:calc(400% - 80px)}.yearline-app-module__fPBBFq__mobileNavigator{z-index:80;top:max(10px, env(safe-area-inset-top));border:1px solid var(--year-panel-line);background:linear-gradient(115deg, color-mix(in srgb, var(--year-product) 7%, transparent), transparent 54%), var(--year-panel);height:52px;box-shadow:0 14px 34px color-mix(in srgb, var(--year-ink) 12%, transparent), inset 0 1px 0 #ffffff5c;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:26px;align-items:center;gap:6px;padding:4px;display:flex;position:fixed;left:50%;translate:-50%}.yearline-app-module__fPBBFq__mobileQuarterGroup{align-items:center;display:flex}.yearline-app-module__fPBBFq__mobileQuarterButton,.yearline-app-module__fPBBFq__mobileTodayButton{width:44px;height:44px;color:var(--year-muted);cursor:pointer;touch-action:manipulation;background:0 0;border:0;border-radius:22px;flex:0 0 44px;place-items:center;padding:0;display:grid;position:relative}.yearline-app-module__fPBBFq__mobileQuarterButton:focus-visible,.yearline-app-module__fPBBFq__mobileTodayButton:focus-visible{outline:2px solid var(--year-focus);outline-offset:-2px}.yearline-app-module__fPBBFq__mobileQuarterButtonActive{color:var(--year-product-deep)}html[data-theme=dark] .yearline-app-module__fPBBFq__mobileQuarterButtonActive{color:var(--year-product)}.yearline-app-module__fPBBFq__mobileQuarterIndicator{border:1px solid color-mix(in srgb, var(--year-product) 34%, transparent);background:color-mix(in srgb, var(--year-product) 13%, transparent);box-shadow:0 0 18px color-mix(in srgb, var(--year-product) 17%, transparent), inset 0 1px 0 #ffffff40;border-radius:50%;position:absolute;inset:3px}.yearline-app-module__fPBBFq__mobileQuarterLabel{z-index:1;font-family:var(--font-utility), monospace;letter-spacing:.08em;font-size:9px;font-weight:750;position:relative}.yearline-app-module__fPBBFq__mobileTodayButton{border:1px solid color-mix(in srgb, var(--year-today) 28%, transparent);background:color-mix(in srgb, var(--year-today) 8%, transparent);color:var(--year-today)}.yearline-app-module__fPBBFq__mobileTodayButton:disabled{cursor:wait;opacity:.42}.yearline-app-module__fPBBFq__quarterRail{display:none}.yearline-app-module__fPBBFq__spineAssembly{height:64px}.yearline-app-module__fPBBFq__spine{cursor:grab;touch-action:pan-x}.yearline-app-module__fPBBFq__spineTouchSelecting{cursor:ew-resize;touch-action:none}.yearline-app-module__fPBBFq__monthLong{display:inline}.yearline-app-module__fPBBFq__monthShort{display:none}.yearline-app-module__fPBBFq__monthSegment{letter-spacing:.075em;font-size:9px}.yearline-app-module__fPBBFq__dayTick small{display:block}.yearline-app-module__fPBBFq__dayTick:not(.yearline-app-module__fPBBFq__fiveDayTick):not(.yearline-app-module__fPBBFq__monthTick){opacity:.66}.yearline-app-module__fPBBFq__periodAbove{bottom:calc(50% + 94px + var(--mobile-lane-offset))}.yearline-app-module__fPBBFq__periodAbove .yearline-app-module__fPBBFq__periodStem{height:calc(65px + var(--mobile-lane-offset))}.yearline-app-module__fPBBFq__periodBelow{top:calc(50% + 43px + var(--mobile-lane-offset))}.yearline-app-module__fPBBFq__periodBelow .yearline-app-module__fPBBFq__periodStem{height:calc(14px + var(--mobile-lane-offset))}.yearline-app-module__fPBBFq__periodStartDate,.yearline-app-module__fPBBFq__periodEndDate{letter-spacing:.045em;padding-inline:3px;font-size:8px}.yearline-app-module__fPBBFq__periodStartDate{right:calc(100% + 3px)}.yearline-app-module__fPBBFq__periodEndDate{left:calc(100% + 3px)}.yearline-app-module__fPBBFq__periodCaption{max-width:min(230px,100vw - 20px);padding:2px 4px 3px;top:calc(100% + 6px)}.yearline-app-module__fPBBFq__periodTitle{font-size:10px;line-height:1.25}.yearline-app-module__fPBBFq__noteIndicator{width:15px;height:15px;top:-6px;right:-6px}.yearline-app-module__fPBBFq__notePreview{min-width:min(170px,100vw - 20px);max-width:min(230px,100vw - 20px);padding:9px 10px 10px;top:calc(100% + 27px)}.yearline-app-module__fPBBFq__notePreview p{max-height:min(120px,34vh - 38px)}.yearline-app-module__fPBBFq__rangeChooser{z-index:70;top:auto;right:max(10px, env(safe-area-inset-right));bottom:calc(max(10px, env(safe-area-inset-bottom)) + 58px);left:max(10px, env(safe-area-inset-left));grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;gap:6px;width:auto;padding:6px;display:grid;position:fixed;translate:0}.yearline-app-module__fPBBFq__chooserRange{grid-column:1/-1;justify-content:space-between;align-items:center;min-width:0;padding:3px 6px 1px;display:flex}.yearline-app-module__fPBBFq__rangeChooser button{min-width:44px;min-height:44px;padding-inline:9px}.yearline-app-module__fPBBFq__chooserClose{flex:0 0 44px}.yearline-app-module__fPBBFq__controls{right:max(10px, env(safe-area-inset-right));bottom:max(10px, env(safe-area-inset-bottom))}.yearline-app-module__fPBBFq__controls .yearline-app-module__fPBBFq__mobileSelectButton{touch-action:manipulation;border-radius:22px;justify-content:center;align-items:center;gap:7px;min-width:82px;padding:0 13px;font-size:10px;font-weight:750;display:inline-flex}.yearline-app-module__fPBBFq__controls .yearline-app-module__fPBBFq__mobileSelectButtonActive{border-color:color-mix(in srgb, var(--year-selection) 65%, transparent);background:color-mix(in srgb, var(--year-selection) 14%, var(--year-panel));box-shadow:0 0 0 3px color-mix(in srgb, var(--year-selection) 9%, transparent), 0 9px 26px color-mix(in srgb, var(--year-selection) 18%, transparent);color:var(--year-selection)}.yearline-app-module__fPBBFq__addButton{min-width:76px;padding:0 15px}.yearline-app-module__fPBBFq__addButton span{display:inline}.yearline-app-module__fPBBFq__mobileSelectionHint{z-index:55;bottom:calc(max(10px, env(safe-area-inset-bottom)) + 62px);border:1px solid color-mix(in srgb, var(--year-selection) 38%, transparent);background:var(--year-panel);width:max-content;max-width:calc(100vw - 20px);box-shadow:0 9px 26px color-mix(in srgb, var(--year-selection) 15%, transparent);color:var(--year-selection);font-family:var(--font-utility), monospace;letter-spacing:.06em;pointer-events:none;text-transform:uppercase;border-radius:16px;padding:7px 10px;font-size:8px;font-weight:750;line-height:1;display:block;position:fixed;left:50%;translate:-50%}.yearline-app-module__fPBBFq__toast{max-width:calc(100vw - 20px);bottom:66px;right:10px}}@media (max-height:560px){.yearline-app-module__fPBBFq__periodSlot{--period-height:26px}.yearline-app-module__fPBBFq__downtimePeriod{--period-height:22px}.yearline-app-module__fPBBFq__periodBelow{top:calc(50% + 41px + var(--lane-offset))}}@media (max-height:560px) and (pointer:coarse){.yearline-app-module__fPBBFq__periodBelow{top:calc(50% + 41px + var(--mobile-lane-offset))}}@media (prefers-reduced-motion:reduce){.yearline-app-module__fPBBFq__periodVisual,.yearline-app-module__fPBBFq__periodStartDate,.yearline-app-module__fPBBFq__periodEndDate,.yearline-app-module__fPBBFq__quarterButton,.yearline-app-module__fPBBFq__quarterButton:after,.yearline-app-module__fPBBFq__quarterButton span,.yearline-app-module__fPBBFq__noteIndicator,.yearline-app-module__fPBBFq__sunIcon,.yearline-app-module__fPBBFq__moonIcon{transition:none}}
