*,*:before,*:after{box-sizing:border-box}:root{--bg: #1a1d23;--surface: #252b33;--surface-hover: #2d3540;--border: #3d4654;--text: #e8eaed;--text-muted: #9aa0a8;--accent: #4a9eff;--accent-hover: #6bb0ff;--green: #34a853;--blue: #4285f4;--red: #ea4335;--black: #1f1f1f;--freeride: #2d1b4e;--radius: 8px;--font: "DM Sans", system-ui, -apple-system, sans-serif}body{margin:0;font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh;line-height:1.5}.splash-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--bg);transition:opacity .9s ease-out;cursor:pointer}.splash-overlay.splash-dissolve{opacity:0;pointer-events:none;cursor:default}.splash-overlay .splash-image{max-width:95vw;max-height:95vh;width:auto;height:auto;object-fit:contain;pointer-events:none}#app{display:grid;grid-template-columns:260px 1fr 80px;grid-template-rows:auto 1fr auto;grid-template-areas:"header header header" "sidebar canvas invest-compact" "status status status";height:100vh;overflow:hidden}.header{grid-area:header;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.header-brand{min-width:0;display:flex;align-items:center;gap:.5rem;margin-left:20px}.header-brand h1{margin:0;font-size:1.5rem;font-weight:600}.header-brand .subtitle{margin:.25rem 0 0;color:var(--text-muted);font-size:.9rem}.header-title-banner{display:block;max-width:100%;height:72px;max-height:100%;object-fit:contain;border-radius:var(--radius)}.mountain-badges{position:absolute;top:.75rem;right:0;left:auto;height:25%;min-height:48px;display:flex;flex-direction:row;align-items:center;gap:.5rem;z-index:50;pointer-events:none}.mountain-badge{display:block;height:100%;width:auto;object-fit:contain;object-position:center;filter:drop-shadow(0 2px 4px rgba(0,0,0,.6));opacity:.2;pointer-events:auto;transition:opacity .2s ease}.mountain-badge:hover{opacity:1}.mountain-badges.mountain-badges--locked{visibility:hidden;pointer-events:none}.badge-unlock-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;pointer-events:none;display:flex;align-items:center;justify-content:center}.badge-unlock-overlay[hidden]{display:none}.badge-unlock-flyer{position:fixed;transform:translate(-50%,-50%);object-fit:contain;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5));transition:left 1.2s ease-out,top 1.2s ease-out,width 1.2s ease-out,height 1.2s ease-out}.header-news{flex:1;min-width:0;display:flex;align-items:center;justify-content:flex-end;gap:.75rem;padding:0 1rem;overflow:hidden}.header-news-skier{flex-shrink:0;width:72px;height:72px;background-repeat:no-repeat;background-size:500% 100%;background-position:0 0;background-color:transparent;border-radius:6px}.header-news-text{width:11rem;max-width:100%;min-width:0;font-size:.85rem;color:#fff;white-space:normal;word-wrap:break-word;line-height:1.35}.header-news.header-news--no-news{display:none}.header-meta{display:flex;align-items:center;gap:1.25rem;flex-shrink:0}.header-icon-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .6rem;font:inherit;font-size:.85rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.header-icon-btn:hover{background:var(--surface-hover, rgba(255, 255, 255, .06));border-color:var(--border-hover, rgba(255, 255, 255, .15))}.header-icon-btn .header-btn-icon{width:18px;height:18px;flex-shrink:0}.header-icon-btn .header-btn-label{white-space:nowrap}.header-weather{display:flex;flex-direction:column;align-items:center;gap:.25rem;min-width:28px}.header-weather-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px}.header-weather-icon svg{width:24px;height:24px;display:block}.header-weather-details{display:flex;flex-direction:column;align-items:center;gap:.05rem;font-size:.7rem;color:var(--text-muted);line-height:1.2;text-align:center}.header-weather-label{font-weight:600;text-transform:capitalize}.header-weather-temp{font-variant-numeric:tabular-nums}.header-weather-snow{opacity:.9}.header-date-block{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem}.header-date{font-size:1rem;font-weight:500;color:var(--text-muted);white-space:nowrap}.header-season{font-size:.75rem;font-weight:400;color:var(--text-muted);opacity:.85;text-transform:capitalize}.header-visitors-count{font-size:.75rem;font-weight:400;color:var(--text-muted);opacity:.85;white-space:nowrap}.header-visitors{font-size:1rem;font-weight:500;color:var(--text);white-space:nowrap}.header-visitors:before{content:attr(data-label);margin-right:.35em;color:var(--text-muted);font-weight:400}.header-finance{font-size:1rem;font-weight:500;white-space:nowrap}.header-finance:before{content:attr(data-label);margin-right:.35em;color:var(--text-muted);font-weight:400}.header-sales{color:var(--green)}.header-costs{color:var(--red)}.daily-change .profit,.stat-finance-row .profit{color:var(--green)}.daily-change .loss,.stat-finance-row .loss{color:var(--red)}.header-snow-depth{font-size:1rem;font-weight:500;white-space:nowrap;color:var(--text)}.header-snow-depth:before{content:attr(data-label);margin-right:.35em;color:var(--text-muted);font-weight:400}.snow-info-row{padding-top:.5rem;padding-bottom:.75rem;margin-bottom:.25rem}.snow-info-section{display:flex;flex-direction:column;gap:.4rem}.snow-info-header{display:flex;align-items:baseline;justify-content:flex-start;gap:.35rem;font-size:.8rem;color:var(--text-muted)}.snow-info-label{font-weight:600;text-transform:uppercase;letter-spacing:.03em}.snow-info-value{font-variant-numeric:tabular-nums}.snow-info-depth-row{display:flex;align-items:baseline;justify-content:space-between;gap:.35rem;font-size:.8rem;color:var(--text-muted)}.snow-depth-label{font-weight:400}.snow-info-value{font-size:.8rem;font-weight:500;color:var(--text);flex-shrink:0}.snow-change{font-size:.85rem;font-weight:600;min-width:1.2em;text-align:center;transition:color .2s ease}.snow-change.change-up{color:var(--green)}.snow-change.change-down{color:var(--red)}.snow-change.change-stable{color:var(--text-muted);font-weight:400}.snow-info-bar-wrap{display:flex;align-items:center;margin-bottom:.35rem}.snow-info-bar{width:100%}.snow-info-track{position:relative;width:100%;height:.45rem;border-radius:999px;background:#94a3b840;overflow:hidden}.snow-info-fill{position:absolute;top:0;left:0;height:100%;width:0%;transition:width .25s ease,background .2s ease}.snow-info-fill-low{background:var(--red)}.snow-info-fill-mid{background:#e6b800}.snow-info-fill-high{background:var(--green)}.header-speed{display:flex;align-items:center;gap:.25rem;font-size:.9rem;white-space:nowrap}.header-speed-label{color:var(--text-muted)}.sim-speed-btn{border:1px solid var(--border);background:transparent;color:var(--text-muted);padding:.15rem .4rem;border-radius:999px;font-size:.8rem;cursor:pointer}.sim-speed-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.budget-display{display:flex;flex-direction:column;align-items:flex-end;gap:.15rem}.budget-display-main{display:flex;align-items:center;gap:.5rem;font-size:1.25rem;font-weight:600;color:var(--text);white-space:nowrap}.budget-display .budget-icon{width:28px;height:28px;object-fit:contain;display:block}.budget-daily-profit{font-size:.75rem;font-weight:500;color:var(--text-muted);white-space:nowrap}.budget-daily-profit.profit{color:var(--green)}.budget-daily-profit.loss{color:var(--red)}.status-bar{grid-area:status;display:flex;align-items:center;justify-content:center;padding:0 1rem;height:28px;flex-shrink:0;background:var(--surface);border-top:1px solid var(--border)}.status-bar-inner{display:flex;align-items:center;justify-content:space-between;width:100%;gap:.5rem}.status-bar-save-load{display:inline-flex;align-items:center;gap:.2rem}.status-bar-icon-btn{display:inline-flex;align-items:center;justify-content:center;margin:0;padding:.2rem .35rem;line-height:1;border:1px solid var(--border);border-radius:999px;background:transparent;color:var(--text-muted);cursor:pointer;font:inherit}.status-bar-icon-btn:hover{background:var(--surface-hover);border-color:var(--accent);color:var(--text)}.status-bar-icon-btn-svg{width:14px;height:14px;display:block}.status-bar-speed{display:inline-flex;align-items:center;gap:.2rem}.status-bar-label{font-size:.75rem;color:var(--text-muted);margin-right:.1rem}.status-bar-speed .sim-speed-btn{margin:0;line-height:1;padding:.12rem .35rem;font-size:.75rem}.sidebar{grid-area:sidebar;display:flex;flex-direction:column;min-height:0;background:var(--surface);border-right:1px solid var(--border);min-width:0}.sidebar-tabs{display:none}.sidebar-tab{flex:1;padding:.45rem .5rem;font-size:.8rem;font-weight:600;color:var(--text-muted);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;font-family:inherit;transition:color .15s ease,border-color .15s ease}.sidebar-tab:hover{color:var(--text)}.sidebar-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.sidebar-panel{display:none;flex:1;flex-direction:column;min-height:0;overflow-y:auto}.sidebar-panel.active{display:flex}.invest-compact-sidebar{grid-area:invest-compact;display:flex;flex-direction:column;align-items:stretch;background:var(--surface);border-left:1px solid var(--border);padding:.5rem 0;min-width:0}.invest-compact-buttons{display:flex;flex-direction:column;gap:.35rem;padding:0 .35rem}.invest-compact-btn{width:100%;height:64px;padding:0;background-color:transparent;border:none;border-radius:0;cursor:pointer;font-family:inherit;transition:box-shadow .15s;background-image:url(/assets/invest_icons-BybASk8v.webp);background-repeat:no-repeat;background-size:300% 100%;background-position:0 0}.invest-compact-btn:hover{box-shadow:none}.invest-compact-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.invest-compact-btn--lift{background-image:url(/assets/invest_icons-BybASk8v.webp);background-position:0 0}.invest-compact-btn--slope{background-image:url(/assets/invest_icons-BybASk8v.webp);background-position:50% 0}.invest-compact-btn--groomer{background-image:url(/assets/invest_icons-BybASk8v.webp);background-position:100% 0}.invest-compact-cancel-btn{display:flex;align-items:center;justify-content:center;gap:.25rem;width:100%;padding:.35rem .4rem;font-size:.65rem;font-weight:600;color:var(--text-muted);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-family:inherit;transition:background .15s,border-color .15s,color .15s}.invest-compact-cancel-btn:hover{background:var(--surface-hover);border-color:var(--red);color:var(--red)}.invest-compact-cancel-btn.hidden{display:none}.invest-compact-cancel-icon{font-size:.9rem;line-height:1}.invest-compact-cancel-label{white-space:nowrap}.invest-inventory-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;z-index:100;cursor:default}.invest-inventory-overlay[hidden]{display:none}.invest-inventory-popup{position:fixed;top:50%;right:80px;transform:translateY(-50%);z-index:101;width:220px;max-height:70vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:-4px 0 24px #00000059}.invest-inventory-popup[hidden]{display:none}.invest-inventory-header{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;border-bottom:1px solid var(--border);flex-shrink:0}.invest-inventory-title{margin:0;font-size:.9rem;font-weight:600;color:var(--text)}.invest-inventory-hint{margin:0;padding:.4rem .75rem .5rem;font-size:.72rem;line-height:1.35;color:var(--text-muted);border-bottom:1px solid var(--border);flex-shrink:0}.invest-inventory-close{margin:0;padding:.2rem .45rem;font-size:1.25rem;line-height:1;border:none;border-radius:var(--radius);background:transparent;color:var(--text-muted);cursor:pointer}.invest-inventory-close:hover{color:var(--text);background:var(--surface-hover)}.invest-inventory-list{padding:.5rem .75rem .75rem;overflow-y:auto;display:flex;flex-direction:column;gap:.3rem;min-height:0}.invest-inventory-list .lift-type-btn,.invest-inventory-list .groomer-type-btn{margin:0}.toolbar-content,.stats-content{padding:.6rem;flex:1;min-height:0;overflow-y:auto}.stats-panel-title{margin:0 0 .75rem;font-size:.85rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.stats-section{margin-bottom:0}.stat-row{padding:.35rem 0;border-bottom:1px solid var(--border)}.stat-row:last-child{border-bottom:none}.stat-row .stat-item{display:block}.stat-row-resort{display:flex;align-items:center;width:100%}.stat-row-resort .resort-toggle{flex:1;min-width:0;width:100%}.resort-toggle{display:inline-flex;align-items:center;position:relative;width:100%;padding:2px;border-radius:999px;background:linear-gradient(180deg,#2d333c,#1e2228);border:1px solid var(--border);box-shadow:inset 0 1px 2px #0006,0 1px #ffffff0f}.resort-switch-thumb{position:absolute;top:2px;left:2px;width:calc(50% - 2px);height:calc(100% - 4px);border-radius:999px;background:linear-gradient(180deg,#5cb85c,#3d8b3d,#2d6b2d);box-shadow:0 2px 4px #00000059,inset 0 1px #fff3;transition:transform .25s cubic-bezier(.4,0,.2,1),background .2s ease;pointer-events:none}.resort-toggle:has(.resort-btn:last-child.active) .resort-switch-thumb{transform:translate(calc(100% + 2px));background:linear-gradient(180deg,#e05a5a,#c94a4a,#a83838);box-shadow:0 2px 4px #00000059,inset 0 1px #ffffff26}.resort-btn{flex:1;align-self:stretch;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;padding:.2rem .35rem;font-size:.75rem;font-weight:600;font:inherit;letter-spacing:.02em;line-height:1.2;color:var(--text-muted);background:transparent;border:none;border-radius:999px;cursor:pointer;margin:0;transition:none}.resort-btn:hover{background:transparent;border-color:transparent}.resort-btn.active{color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.3)}.stat-row-speed{display:flex;align-items:center;padding-top:.5rem;margin-top:.25rem;border-top:1px solid var(--border)}.stat-row-speed .header-speed{display:inline-flex;flex-wrap:wrap;align-items:baseline;gap:.25rem}.stat-row-speed .header-speed-label{line-height:1}.stat-row-speed .sim-speed-btn{margin:0;line-height:1;padding:.2rem .45rem;vertical-align:baseline}.stat-finance-row{display:inline-flex;align-items:center;gap:.35rem}.stat-finance-row .stat-skidollar-icon{width:1em;height:1em;flex-shrink:0;vertical-align:middle}.satisfaction-row{padding-top:.5rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.lifts-info-row{padding-top:.35rem;padding-bottom:.35rem}.lifts-info-section{display:flex;flex-direction:column;gap:.25rem}.lifts-info-header{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.lifts-info-meta{display:flex;flex-direction:column;gap:.1rem;font-size:.8rem;color:var(--text-muted)}.lifts-info-line{white-space:nowrap}.slope-info-row{padding-top:.35rem;padding-bottom:.35rem}.slope-info-section{display:flex;flex-direction:column;gap:.4rem}.slope-info-header{font-size:.8rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.slope-info-body{display:flex;align-items:center;gap:.6rem}.slope-info-chart{display:none;flex-shrink:0;width:64px;height:64px}.slope-info-meta{display:flex;flex-direction:column;gap:.15rem;font-size:.8rem;color:var(--text-muted)}.slope-info-line{white-space:nowrap}.slope-experience-metrics .stat-row{border-bottom:none}.satisfaction-widget{width:100%;display:flex;flex-direction:column;gap:.4rem}.satisfaction-header{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.satisfaction-label{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted)}.satisfaction-value{font-size:1.1rem;font-weight:700;color:var(--text);min-width:2.5em;text-align:right}.satisfaction-track{width:100%;height:1.25rem;border-radius:var(--radius);background:var(--border);overflow:hidden;position:relative}.satisfaction-fill{height:100%;border-radius:inherit;transition:width .35s ease,background .2s ease;min-width:2px}.satisfaction-fill-low{background:var(--red)}.satisfaction-fill-mid{background:#e6b800}.satisfaction-fill-high{background:var(--green)}.experience-metric-row .experience-metric{display:flex;flex-direction:column;gap:.4rem;width:100%}.experience-header{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;min-width:0}.experience-metric-label{font-size:.8rem;font-weight:500;color:var(--text-muted)}.experience-change{font-size:.85rem;font-weight:600;min-width:1.2em;text-align:center;transition:color .2s ease}.experience-change.change-up{color:var(--green)}.experience-change.change-down{color:var(--red)}.experience-change.change-stable{color:var(--text-muted);font-weight:400}.experience-bar-wrap{width:100%;min-width:0}.experience-bar.experience-bar-gradient{width:100%;height:.45rem;border-radius:var(--radius);overflow:hidden;background:var(--border)}.experience-state-label{font-size:.8rem;font-weight:500;color:var(--text);flex-shrink:0}.experience-track{width:100%;height:100%;position:relative;background:var(--border);border-radius:inherit}.experience-fill{height:100%;border-radius:inherit;transition:width .35s ease,background .2s ease;min-width:0}.experience-fill-low{background:var(--red)}.experience-fill-mid{background:#e6b800}.experience-fill-high{background:var(--green)}.tool-section{margin-bottom:.6rem}.tool-section h2{margin:0 0 .25rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted)}.mode-buttons{display:flex;gap:.2rem;flex-wrap:nowrap;min-width:0}.difficulty-buttons,.slope-draw-mode{display:flex;gap:.35rem;flex-wrap:wrap}.slope-draw-mode .slope-mode-btn{margin:0;padding:.35rem .5rem;font-size:.78rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;transition:background .15s,border-color .15s}.slope-draw-mode .slope-mode-btn:hover{background:var(--surface-hover);border-color:var(--accent)}.slope-draw-mode .slope-mode-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.mode-btn{padding:.25rem .4rem;font-size:.75rem;white-space:nowrap;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;flex:0 0 auto}.diff-btn{padding:.35rem .5rem;font-size:.78rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;transition:background .15s,border-color .15s}.mode-btn:hover,.diff-btn:hover{background:var(--surface-hover);border-color:var(--accent)}.mode-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.save-load-section .save-load-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.save-load-section .sidebar-icon-btn{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .6rem;font:inherit;font-size:.85rem;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:background .15s ease,border-color .15s ease}.save-load-section .sidebar-icon-btn:hover{background:var(--surface-hover);border-color:var(--accent)}.save-load-section .sidebar-icon-btn .sidebar-btn-icon{width:18px;height:18px;flex-shrink:0}.save-load-section .sidebar-icon-btn .sidebar-btn-label{white-space:nowrap}.diff-btn[data-difficulty-key=green].selected{border-color:var(--green);background:#34a85333}.diff-btn[data-difficulty-key=blue].selected{border-color:var(--blue);background:#4285f433}.diff-btn[data-difficulty-key=red].selected{border-color:var(--red);background:#ea433533}.diff-btn[data-difficulty-key=black].selected{border-color:var(--black);background:#1f1f1f80;color:#fff}.diff-btn[data-difficulty-key=freeride].selected{border-color:var(--freeride);background:#2d1b4e66;color:#e8e0f0}.hint{margin:.25rem 0 0;font-size:.72rem;color:var(--text-muted);line-height:1.3}.hint.small{margin-top:.15rem}.hidden{display:none!important}.cancel-slope-btn,.cancel-lift-btn{margin-top:.4rem;padding:.3rem .5rem;font-size:.78rem;width:100%}input[type=file]{width:100%;font-size:.85rem;color:var(--text-muted)}button{padding:.5rem .75rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;margin-right:.5rem;margin-bottom:.5rem;transition:background .15s,border-color .15s}button:hover{background:var(--surface-hover);border-color:var(--accent)}.item-list{list-style:none;margin:0;padding:0;font-size:.85rem}.item-list li{padding:.35rem 0;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;gap:.5rem}.item-list li:last-child{border-bottom:none}.item-list .remove-btn{padding:.2rem .4rem;font-size:.75rem;margin:0;color:var(--red);border-color:transparent}.slope-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.slope-list-content{display:flex;flex-direction:column;gap:.15rem;min-width:0}.slope-list-meta{font-size:.8rem;color:var(--text-muted)}.lift-list-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.5rem}.lift-list-content{display:flex;flex-direction:column;gap:.15rem;min-width:0;flex:1}.lift-list-name,.cottage-list-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lift-list-meta{font-size:.8rem;color:var(--text-muted)}.cottage-list-name{flex:1}.editable-lift-name{cursor:pointer}.editable-lift-name:hover{text-decoration:underline}.canvas-area{grid-area:canvas;min-height:0;padding:1rem;overflow:hidden;display:flex;align-items:center;justify-content:center}.canvas-wrapper{position:relative;width:100%;height:100%;max-width:100%;max-height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg);box-shadow:0 4px 24px #0006;border-radius:var(--radius);overflow:visible}.lift-hover-popup{position:fixed;z-index:20;min-width:140px;width:max-content;max-width:200px;padding:1.5rem .5rem .4rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 6px 20px #00000059;pointer-events:auto;font-size:.75rem;line-height:1.4}.lift-hover-popup .lift-popup-close-btn{position:absolute;top:.25rem;right:.35rem;width:1.25rem;height:1.25rem;padding:0;font-size:1.1rem;line-height:1;color:var(--text-muted);background:none;border:none;border-radius:2px;cursor:pointer}.lift-hover-popup .lift-popup-close-btn:hover{color:var(--text);background:#ffffff14}.lift-hover-popup .lift-popup-service-btn .lift-popup-skidollar-icon{width:.9em;height:.9em;vertical-align:-.15em;margin:0 .1em}.lift-hover-popup .lift-hover-popup-icon{width:100%;height:0;padding-bottom:100%;margin:0 0 .3rem;background-repeat:no-repeat;background-size:300% 200%;background-position:center;background-color:#ffffff0f;border-radius:4px;flex-shrink:0}.lift-hover-popup .groomer-popup-icon{background-size:contain;background-position:center;padding-bottom:60%}.slope-hover-popup .slope-popup-icon--diamond{transform:rotate(45deg)}.lift-hover-popup .lift-hover-popup-name{font-weight:600;color:var(--text);margin-bottom:.2rem;word-break:break-word;text-align:center}.lift-hover-popup .lift-popup-name-editable{cursor:pointer}.lift-hover-popup .lift-popup-name-editable:hover,.lift-hover-popup .groomer-popup-name-editable:hover{text-decoration:underline}.lift-hover-popup .groomer-popup-name-editable{cursor:pointer}.lift-hover-popup .lift-hover-popup-meta{font-size:.7rem;color:var(--text-muted);display:block}.lift-hover-popup .lift-hover-popup-meta+.lift-hover-popup-meta{margin-top:.1rem}.lift-hover-popup .lift-hover-popup-health{display:flex;align-items:center;gap:.35rem;margin:.35rem 0 .2rem;font-size:.7rem;color:var(--text-muted);min-height:1.5rem}.lift-hover-popup .lift-hover-popup-health-label{flex-shrink:0;min-width:2.5rem}.lift-hover-popup .lift-hover-popup-health-track{flex:1;min-width:36px;height:6px;background:#ffffff1f;border-radius:3px;overflow:hidden}.lift-hover-popup .lift-hover-popup-health-fill{height:100%;min-width:2px;border-radius:3px;transition:width .15s ease;background:var(--success, #22c55e)}.lift-hover-popup .lift-hover-popup-health-fill--healthy{background:var(--success, #22c55e)}.lift-hover-popup .lift-hover-popup-health-fill--warning{background:var(--warning, #eab308)}.lift-hover-popup .lift-hover-popup-health-fill--critical{background:var(--danger, #dc2626)}.lift-hover-popup .lift-hover-popup-health-value{flex-shrink:0;min-width:2rem;text-align:right}.lift-hover-popup .lift-hover-popup-broken{margin:.25rem 0 .1rem;padding:.2rem .35rem;font-size:.7rem;font-weight:600;color:var(--danger, #dc2626);background:#dc262626;border-radius:var(--radius);text-align:center}.lift-hover-popup .lift-hover-popup-service{margin:.35rem 0 0}.lift-hover-popup .lift-popup-service-btn{width:100%;padding:.25rem .4rem;font-size:.7rem;font-weight:500;color:var(--text);background:var(--surface-elevated, rgba(255, 255, 255, .08));border:1px solid var(--border);border-radius:var(--radius);cursor:pointer}.lift-hover-popup .lift-popup-service-btn:hover,.lift-hover-popup .groomer-popup-service-btn:hover,.lift-hover-popup .lift-popup-sell-btn:hover,.lift-hover-popup .lift-popup-scrap-btn:hover,.lift-hover-popup .groomer-popup-sell-btn:hover,.lift-hover-popup .groomer-popup-scrap-btn:hover{background:var(--surface-hover, rgba(255, 255, 255, .12))}.lift-hover-popup .lift-popup-sell-btn,.lift-hover-popup .lift-popup-scrap-btn{width:100%;padding:.25rem .4rem;font-size:.7rem;font-weight:500;color:var(--text);background:var(--surface-elevated, rgba(255, 255, 255, .08));border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.2rem}.lift-hover-popup .groomer-popup-service-btn,.lift-hover-popup .groomer-popup-sell-btn,.lift-hover-popup .groomer-popup-scrap-btn{width:100%;padding:.25rem .4rem;font-size:.7rem;font-weight:500;color:var(--text);background:var(--surface-hover, rgba(255, 255, 255, .06));border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.2rem}.lift-hover-popup .groomer-popup-service-btn .lift-popup-skidollar-icon,.lift-hover-popup .lift-popup-sell-btn .lift-popup-skidollar-icon,.lift-hover-popup .lift-popup-scrap-btn .lift-popup-skidollar-icon,.lift-hover-popup .groomer-popup-sell-btn .lift-popup-skidollar-icon,.lift-hover-popup .groomer-popup-scrap-btn .lift-popup-skidollar-icon,.lift-hover-popup .slope-popup-scrap-btn .lift-popup-skidollar-icon{width:.9em;height:.9em;vertical-align:-.15em;margin:0 .1em}.lift-hover-popup .lift-hover-popup-service{display:flex;flex-direction:column;gap:.12rem}.mountain-image-wrap{position:relative;display:flex;align-items:center;justify-content:center;flex:1 1 0;min-width:0;min-height:0;width:100%;height:100%;max-width:100%;max-height:100%;aspect-ratio:16 / 9;line-height:0;overflow:hidden;background:var(--bg);border:none;outline:none}.mountain-image-stack{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg);border:none;outline:none}.mountain-image-stack .mountain-layer{position:absolute;top:0;left:0;width:100%;height:100%;display:block;object-fit:contain;object-position:center;transition:opacity .4s ease;pointer-events:none;background:var(--bg);border:none;outline:none}.mountain-img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transition:opacity .5s ease;border:none;outline:none;vertical-align:bottom}.mountain-img-custom{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain;object-position:center;border:none;outline:none}.mountain-image-wrap img[src=""],.mountain-image-wrap img:not([src]){opacity:0!important;visibility:hidden!important;pointer-events:none}#drawCanvas{position:absolute;top:0;left:0;width:100%;height:100%;cursor:crosshair;pointer-events:auto;border:none;outline:none;background:transparent;display:block;vertical-align:bottom}#drawCanvas:focus{outline:none}#drawCanvas.no-image{pointer-events:none;cursor:default}.lift-dialog{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text);padding:1.25rem;min-width:280px;box-shadow:0 8px 32px #0006}.lift-dialog::backdrop{background:#00000080}.lift-dialog h2{margin:0 0 1rem;font-size:1.1rem}.lift-dialog-section{margin-bottom:1rem}.lift-dialog-section label{display:block;font-size:.85rem;color:var(--text-muted);margin-bottom:.35rem}.lift-type-dropdown{width:100%}.lift-type-dropdown .lift-type-buttons,.slope-type-dropdown .slope-type-buttons{display:flex;flex-direction:column;gap:.3rem}.slope-type-dropdown{width:100%}.lift-detail-floating{position:absolute;top:0;left:0;z-index:10;max-width:220px;padding:2rem .75rem .75rem;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 6px 24px #0006;pointer-events:auto;display:flex;flex-direction:column;gap:.5rem}.lift-detail-floating[hidden]{display:none}.lift-detail-close{position:absolute;top:.35rem;right:.35rem;margin:0;padding:.2rem .45rem;font-size:1.25rem;line-height:1;border:none;border-radius:var(--radius);background:transparent;color:var(--text-muted);cursor:pointer}.lift-detail-close:hover{color:var(--text);background:var(--surface-hover)}.lift-detail-placeholder{margin:0;font-size:.85rem;color:var(--text-muted);padding:.5rem 0}.lift-detail-floating .lift-type-detail-icon{width:100%;height:0;padding-bottom:90%;background-repeat:no-repeat;background-color:var(--surface-alt, rgba(255, 255, 255, .06));border-radius:6px;background-size:300% 200%}.lift-type-detail-icon{width:100%;height:0;padding-bottom:100%;background-repeat:no-repeat;background-color:var(--surface-alt, rgba(255, 255, 255, .06));border-radius:6px;background-size:300% 200%}.lift-type-detail-fields{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;margin:0;font-size:.85rem}.lift-type-detail-fields dt{margin:0;color:var(--text-muted);font-weight:500}.lift-type-detail-fields dd{margin:0}.lift-type-detail-fields dd.lift-detail-description{grid-column:1 / -1;margin-top:.25rem;line-height:1.4;color:var(--text)}.lift-detail-skidollars{display:flex;align-items:center;gap:2px}.slope-detail-color-swatch{display:inline-block;width:1rem;height:1rem;border-radius:2px;border:1px solid var(--border);vertical-align:middle;margin-right:.25rem}.lift-detail-skidollars .skidollar-icon{width:18px;height:18px;display:block;object-fit:contain}.lift-detail-description .lift-detail-pros-cons{margin-top:.5rem}.lift-detail-pros-cons{margin:0;padding-left:1.1rem;font-size:.8rem;line-height:1.45;list-style:none}.lift-detail-pros-cons li{margin-bottom:.2rem;position:relative}.lift-detail-pros-cons li.lift-detail-pro{color:var(--green)}.lift-detail-pros-cons li.lift-detail-con{color:var(--red)}.lift-type-btn{margin:0;padding:.35rem .5rem;font-size:.78rem;display:flex;align-items:center;gap:.5rem;width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);cursor:pointer;text-align:left;transition:background .15s,border-color .15s}.lift-type-btn:hover{background:var(--surface-hover);border-color:var(--accent)}.lift-type-icon{width:48px;height:48px;flex-shrink:0;background-repeat:no-repeat;background-color:var(--surface-alt, rgba(255, 255, 255, .06));border-radius:4px}.toolbar-content .lift-type-icon,.toolbar-content .slope-type-icon{width:36px;height:36px}.slope-type-icon{background-image:url(/assets/SlopeSpriteSheet-BQThfpl3.webp);background-size:300% 200%}.lift-type-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lift-type-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.lift-type-btn.locked{opacity:.5;cursor:not-allowed;filter:grayscale(.7)}.lift-type-btn.locked:hover{background:var(--surface);border-color:var(--border)}.groomer-type-dropdown{width:100%;display:flex;flex-direction:column;gap:.3rem}.groomer-type-btn{margin:0;padding:.35rem .5rem;font-size:.78rem;display:flex;align-items:center;gap:.5rem;width:100%;box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);cursor:pointer;text-align:left;transition:background .15s,border-color .15s}.groomer-type-btn:hover{background:var(--surface-hover);border-color:var(--accent)}.groomer-type-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.groomer-type-btn.locked{opacity:.5;cursor:not-allowed;filter:grayscale(.7)}.groomer-type-btn.locked:hover{background:var(--surface);border-color:var(--border)}.groomer-type-icon{width:48px;height:48px;flex-shrink:0;background-repeat:no-repeat;background-position:center;background-size:contain;background-color:var(--surface-alt, rgba(255, 255, 255, .06));border-radius:4px}.toolbar-content .groomer-type-icon{width:36px;height:36px}.groomer-type-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lift-detail-floating .groomer-detail-icon,.groomer-detail-icon{width:100%;height:0;padding-bottom:60%;background-repeat:no-repeat;background-position:center;background-size:contain;background-color:var(--surface-alt, rgba(255, 255, 255, .06));border-radius:6px}.groomer-list-name{color:var(--text)}.lift-name-input{width:100%;padding:.5rem .6rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font:inherit;font-size:.95rem}.lift-dialog-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.lift-dialog-btn{margin:0}.lift-dialog-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}
