.curling-sheet-container{display:flex;justify-content:center;width:100%;height:100%}.curling-sheet{width:100%;max-width:500px;aspect-ratio:14/28;background:linear-gradient(180deg,#e8f4f8,#ddeef5 25%,#e8f4f8 50%,#ddeef5 75%,#e8f4f8);border:3px solid #2a4a5e;border-radius:6px;position:relative;box-shadow:inset 0 0 60px rgba(200,220,235,.5),0 8px 40px rgba(0,0,0,.4);overflow:hidden}.sheet-markings{position:absolute;inset:0;pointer-events:none}.house{transform:translateX(-50%);width:85.7%;aspect-ratio:1;top:14.3%}.house,.ring{position:absolute;left:50%;border-radius:50%}.ring{top:50%;transform:translate(-50%,-50%)}.ring-12ft{width:100%;height:100%;background:rgba(0,100,200,.3)}.ring-12ft,.ring-8ft{border:3px solid #1a5a8a}.ring-8ft{width:66.67%;height:66.67%;background:hsla(0,0%,100%,.8)}.ring-4ft{width:33.33%;height:33.33%;background:rgba(200,50,50,.4);border:3px solid #8a1a1a}.button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:8%;aspect-ratio:1;background:#fff;border:3px solid #333;border-radius:50%}.back-line{top:14.3%}.back-line,.tee-line{position:absolute;left:0;right:0;height:2px;background:#555}.tee-line{top:calc(35.7% - 2px)}.center-line{position:absolute;left:50%;top:0;bottom:0;width:1px;background:#999;transform:translateX(-50%)}.hog-line{left:0;right:0;height:6px;background:#c41e3a;top:78%;box-shadow:0 1px 3px rgba(0,0,0,.3)}.hack,.hog-line{position:absolute}.hack{top:2%;width:3.5%;height:2.5%;background:#333;border-radius:2px;box-shadow:0 1px 2px rgba(0,0,0,.3)}.hack-left{right:50%;margin-right:1%}.hack-right{left:50%;margin-left:1%}.pattern-layer{position:absolute;inset:0;pointer-events:none}.width-markers{position:absolute;bottom:-28px;left:0;right:0;display:flex;justify-content:space-between;font-size:12px;color:#8a9bb0;font-family:JetBrains Mono,monospace;font-weight:500;padding:0 2px}.marker{position:relative}.marker-center{position:absolute;left:50%;transform:translateX(-50%)}.scrape-lane{position:absolute;top:0;bottom:0;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:3%;box-sizing:border-box;transition:background-color .2s ease,box-shadow .2s ease}.scrape-lane.highlighted{z-index:100}.scrape-lane:before{content:"";position:absolute;inset:0;border-left:2px solid transparent;border-right:2px solid transparent;box-shadow:none;transition:all .2s ease;pointer-events:none}.scrape-lane.highlighted:before{border-left-width:4px;border-right-width:4px;box-shadow:inset 4px 0 8px rgba(0,0,0,.15),inset -4px 0 8px rgba(0,0,0,.15)}.scrape-lane.preview:before{border-style:dashed}.lane-label{display:flex;flex-direction:column;align-items:center;gap:2px;background:hsla(0,0%,100%,.95);padding:4px 8px;border-radius:6px;box-shadow:0 2px 6px rgba(0,0,0,.15);transition:transform .2s ease,box-shadow .2s ease;pointer-events:auto;cursor:pointer;position:relative;z-index:50}.scrape-lane.preview .lane-label{background:rgba(74,158,255,.95);color:#fff}.scrape-lane.preview .direction-arrow,.scrape-lane.preview .pass-number{color:#fff}.lane-label:hover{transform:scale(1.05);box-shadow:0 4px 12px rgba(0,0,0,.25)}.pass-number{font-family:var(--font-jetbrains),"JetBrains Mono",monospace;font-size:11px;font-weight:600;color:#333;white-space:nowrap}.direction-arrow{font-size:16px;font-weight:700;color:#333}.direction-down .arrow-down{animation:bounce-down 1.5s ease-in-out infinite}.direction-up .arrow-up{animation:bounce-up 1.5s ease-in-out infinite}@keyframes bounce-down{0%,to{transform:translateY(0)}50%{transform:translateY(3px)}}@keyframes bounce-up{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.pattern-selector{background:linear-gradient(135deg,#1a2a3a,#0d1820);border-radius:12px;padding:24px;color:#e0e8f0;min-width:280px;box-shadow:0 8px 32px rgba(0,0,0,.3);border:1px solid hsla(0,0%,100%,.1)}.pattern-selector h2{margin:0 0 8px;font-size:1.5rem;font-weight:600;color:#fff;letter-spacing:-.02em}.selector-description{margin:0 0 20px;font-size:.875rem;color:#8a9bb0;line-height:1.4}.scrape-list-section{margin-bottom:20px}.scrape-list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.scrape-list-header h3{margin:0;font-size:.85rem;font-weight:600;color:#8a9bb0;text-transform:uppercase;letter-spacing:.05em}.clear-all-btn{padding:4px 10px;background:rgba(239,68,68,.2);border:1px solid rgba(239,68,68,.3);border-radius:4px;color:#f87171;font-size:.75rem;cursor:pointer;transition:all .2s ease}.clear-all-btn:hover{background:rgba(239,68,68,.3)}.empty-list{padding:16px;text-align:center;color:#5a6a7a;font-size:.85rem;background:hsla(0,0%,100%,.03);border-radius:8px;border:1px dashed hsla(0,0%,100%,.1)}.scrape-list{display:flex;flex-wrap:wrap;gap:8px}.scrape-list-item{display:flex;align-items:center;gap:6px;padding:6px 8px;background:hsla(0,0%,100%,.08);border-radius:6px;border:1px solid hsla(0,0%,100%,.1)}.item-number{font-size:.7rem;font-weight:600;color:#6a7a8a;min-width:14px}.item-color{width:14px;height:14px;border-radius:3px;flex-shrink:0}.item-label{font-size:.8rem;font-weight:600;color:#c0d0e0}.remove-btn{width:18px;height:18px;padding:0;background:rgba(239,68,68,.2);border:none;border-radius:3px;color:#f87171;font-size:14px;line-height:1;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.remove-btn:hover{background:rgba(239,68,68,.4)}.add-pattern-section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid hsla(0,0%,100%,.1)}.add-pattern-section h3,.preview-pattern-section h3{margin:0 0 12px;font-size:.85rem;font-weight:600;color:#8a9bb0;text-transform:uppercase;letter-spacing:.05em}.preview-pattern-section{margin-bottom:20px}.add-hint{margin:0 0 12px;font-size:.75rem;color:#6a7a8a}.pattern-buttons{display:flex;flex-direction:column;gap:8px}.pattern-buttons.preview-only{gap:6px}.preview-pattern-btn{width:100%;display:flex;align-items:center;gap:10px;padding:12px 14px;background:hsla(0,0%,100%,.05);border:none;border-radius:8px;color:#e0e8f0;cursor:pointer;transition:all .2s ease;text-align:left}.preview-pattern-btn:hover{background:hsla(0,0%,100%,.1)}.preview-pattern-btn.active{background:rgba(74,158,255,.15);box-shadow:0 0 0 1px rgba(74,158,255,.4)}.pattern-buttons.add-mode{gap:6px}.add-pattern-btn{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;background:hsla(0,0%,100%,.05);border:none;border-radius:8px;color:#e0e8f0;cursor:pointer;transition:all .2s ease;text-align:left}.add-pattern-btn:hover:not(:disabled){background:rgba(74,158,255,.15)}.add-pattern-btn:disabled{opacity:.4;cursor:not-allowed}.add-pattern-btn .add-icon{margin-left:auto;font-size:1.3rem;font-weight:600;color:#4a9eff}.btn-color{width:20px;height:20px;border-radius:4px;flex-shrink:0}.btn-text{flex:1 1;display:flex;flex-direction:column;gap:1px;text-align:left}.btn-label{font-size:.9rem;font-weight:500}.btn-description{font-size:.7rem;color:#6a7a8a;font-weight:400}.preview-badge{font-size:.65rem;padding:2px 6px;background:rgba(74,158,255,.3);color:#60a5fa;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.03em}.add-btn{width:44px;display:flex;align-items:center;justify-content:center;background:rgba(74,158,255,.2);border:none;border-left:1px solid hsla(0,0%,100%,.1);color:#4a9eff;font-size:1.4rem;font-weight:600;cursor:pointer;transition:all .2s ease}.add-btn:hover:not(:disabled){background:rgba(74,158,255,.35)}.add-btn:disabled{opacity:.4;cursor:not-allowed}.sidelines-option{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid hsla(0,0%,100%,.1)}.pattern-option{display:flex;align-items:center;gap:12px;padding:12px 14px;background:hsla(0,0%,100%,.05);border-radius:8px;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.pattern-option:hover{background:hsla(0,0%,100%,.1);border-color:hsla(0,0%,100%,.1)}.pattern-option.selected{background:hsla(0,0%,100%,.12);border-color:hsla(0,0%,100%,.2)}.pattern-option input[type=checkbox]{width:18px;height:18px;accent-color:#4a9eff;cursor:pointer}.color-swatch{width:24px;height:24px;border-radius:6px;flex-shrink:0;box-shadow:0 2px 4px rgba(0,0,0,.2)}.pattern-info{display:flex;flex-direction:column;gap:2px}.pattern-label{font-weight:600;font-size:.95rem;color:#fff}.pattern-description{font-size:.8rem;color:#7a8b9c}.sideline-toggle{background:rgba(100,180,255,.08)}.sideline-toggle:hover{background:rgba(100,180,255,.15)}.sideline-toggle.selected{background:rgba(100,180,255,.2);border-color:rgba(100,180,255,.3)}.share-section{margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid hsla(0,0%,100%,.1);text-align:center}.copy-link-button{width:100%;padding:12px 16px;background:linear-gradient(135deg,#4a9eff,#6366f1);border:none;border-radius:8px;color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px rgba(74,158,255,.3)}.copy-link-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px rgba(74,158,255,.4)}.copy-link-button:active{transform:translateY(0)}.copy-link-button.copied{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 2px 8px rgba(16,185,129,.3)}.share-hint{margin:8px 0 0;font-size:.75rem;color:#6a7a8a}.legend{margin-top:0}.legend h3{margin:0 0 12px;font-size:.85rem;font-weight:600;color:#8a9bb0;text-transform:uppercase;letter-spacing:.05em}.legend ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.legend li{font-size:.8rem;color:#8a9bb0}.legend li strong{color:#a0b0c0;font-weight:500}.view-mode-section{margin-bottom:16px}.view-mode-toggle{display:flex;background:rgba(0,0,0,.2);border-radius:8px;padding:4px;gap:4px}.view-mode-btn{flex:1 1;padding:8px 12px;background:transparent;border:none;border-radius:6px;color:#8a9bb0;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.view-mode-btn:hover{color:#c0d0e0;background:hsla(0,0%,100%,.05)}.view-mode-btn.active{background:rgba(74,158,255,.2);color:#60a5fa}.heatmap-legend{margin-bottom:16px;padding:12px;background:rgba(0,0,0,.2);border-radius:8px}.heatmap-legend h3{margin:0 0 10px;font-size:.8rem;font-weight:600;color:#8a9bb0;text-transform:uppercase;letter-spacing:.05em}.legend-items{display:flex;flex-wrap:wrap;gap:8px}.legend-item{display:flex;align-items:center;gap:6px}.legend-color{width:16px;height:16px;border-radius:3px;flex-shrink:0}.legend-label{font-size:.75rem;color:#a0b0c0}.heatmap-overlay{position:absolute;inset:0;pointer-events:none}.heatmap-zone{position:absolute;top:0;bottom:0;display:flex;align-items:flex-start;justify-content:center;padding-top:12px;opacity:.55;border-left:1px solid hsla(0,0%,100%,.2);border-right:1px solid hsla(0,0%,100%,.2);transition:opacity .2s ease}.heatmap-zone:hover{opacity:.7}.zone-count{font-family:var(--font-jetbrains),"JetBrains Mono",monospace;font-size:1.4rem;font-weight:700;text-shadow:0 0 6px rgba(0,0,0,.4),0 1px 3px rgba(0,0,0,.3);pointer-events:none}.zone-count-small{font-size:.85rem}