:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5;--green-500: #22c55e;--green-600: #16a34a;--green-700: #15803d;--green-900: #14532d;--slate-800: #1e293b;--slate-700: #334155;--slate-600: #475569;--slate-400: #94a3b8;--slate-300: #cbd5e1;--amber-400: #fbbf24;--red-400: #f87171;--blue-400: #60a5fa;--cyan-400: #22d3ee}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:#0c1a0f;color:#e2e8f0}.app{display:flex;flex-direction:column;min-height:100vh}.top-bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:#0006;border-bottom:1px solid rgba(34,197,94,.15)}.logo{margin:0;font-size:1.25rem;font-weight:700;color:var(--green-500);letter-spacing:-.02em}.budget{display:flex;align-items:center;gap:.5rem;background:#22c55e14;border:1px solid rgba(34,197,94,.2);padding:.35rem .85rem;border-radius:.5rem}.budget-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--slate-400)}.budget-amount{font-size:1.1rem;font-weight:700;color:var(--green-500);font-variant-numeric:tabular-nums}.budget-amount.low{color:var(--red-400)}.layout{display:flex;flex:1;overflow:hidden}.sidebar{width:240px;flex-shrink:0;background:#00000040;border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;overflow-y:auto}.sidebar-title{margin:0;padding:1rem 1rem .5rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--slate-400)}.hole-list{list-style:none;margin:0;padding:0;flex:1}.hole-item{display:flex;align-items:center;gap:.6rem;padding:.55rem 1rem;cursor:pointer;transition:background .15s;border-left:3px solid transparent}.hole-item:hover{background:#ffffff08}.hole-item.active{background:#22c55e14;border-left-color:var(--green-500)}.hole-num{display:flex;align-items:center;justify-content:center;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--green-900);color:var(--green-500);font-size:.75rem;font-weight:700;flex-shrink:0}.hole-item.active .hole-num{background:var(--green-600);color:#fff}.hole-info{display:flex;flex-direction:column;flex:1;min-width:0}.hole-name{font-size:.85rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hole-meta{font-size:.7rem;color:var(--slate-400)}.hole-diff{font-size:.65rem;color:var(--amber-400);flex-shrink:0}.sidebar-stats{border-top:1px solid rgba(255,255,255,.06);padding:.75rem 1rem;display:flex;flex-direction:column;gap:.35rem}.sidebar-stats .stat{display:flex;justify-content:space-between;font-size:.75rem}.sidebar-stats .stat span{color:var(--slate-400)}.sidebar-stats .stat strong{color:var(--slate-300)}.main{flex:1;padding:1.25rem 1.75rem;overflow-y:auto;display:flex;flex-direction:column;gap:1rem}.hole-header{display:flex;justify-content:space-between;align-items:flex-start}.hole-title{margin:0;font-size:1.35rem;font-weight:700;color:#f1f5f9}.par-row{display:flex;align-items:center;gap:.4rem;margin-top:.35rem;font-size:.85rem;color:var(--slate-400)}.par-btn{width:1.4rem;height:1.4rem;border:1px solid var(--slate-600);background:transparent;color:var(--slate-300);border-radius:.25rem;cursor:pointer;font-size:.75rem;display:flex;align-items:center;justify-content:center}.par-btn:hover{background:var(--slate-700)}.par-value{font-weight:700;color:var(--green-500);font-size:1rem;min-width:1.2rem;text-align:center}.difficulty-badge{font-size:.8rem;color:var(--amber-400);background:#fbbf2414;border:1px solid rgba(251,191,36,.15);padding:.3rem .7rem;border-radius:.4rem}.palette{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;padding:.6rem 0}.palette-label{font-size:.8rem;color:var(--slate-400);margin-right:.3rem}.palette-btn{display:flex;flex-direction:column;align-items:center;gap:.15rem;padding:.35rem .55rem;border:1px solid var(--slate-700);background:var(--slate-800);color:var(--slate-300);border-radius:.4rem;cursor:pointer;transition:all .15s;font-size:.65rem;font-family:inherit}.palette-btn:hover:not(.disabled){border-color:var(--green-600);background:#22c55e1a}.palette-btn.selected{border-color:var(--green-500);background:#22c55e26;color:var(--green-500);box-shadow:0 0 8px #22c55e33}.palette-btn.disabled{opacity:.35;cursor:not-allowed}.palette-icon{font-size:1.1rem}.palette-name{font-weight:600}.palette-cost{color:var(--slate-400);font-size:.6rem}.placing-hint{font-size:.8rem;color:var(--green-500);background:#22c55e14;border:1px solid rgba(34,197,94,.15);padding:.35rem .75rem;border-radius:.35rem;animation:pulse-border 1.5s ease-in-out infinite}@keyframes pulse-border{0%,to{border-color:#22c55e26}50%{border-color:#22c55e66}}.course{position:relative;width:100%;height:380px;background:radial-gradient(ellipse at 50% 50%,rgba(34,197,94,.12) 0%,transparent 70%),linear-gradient(180deg,#0f2415,#132b19,#0f2415);border:2px solid rgba(34,197,94,.2);border-radius:.75rem;overflow:hidden;cursor:default}.course:has(+.empty-course-placeholder){cursor:crosshair}.fairway-svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.marker{position:absolute;width:2rem;height:2rem;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;border-radius:50%;pointer-events:none;z-index:1}.tee{left:5%;top:45%;background:#fff;color:#000;box-shadow:0 0 10px #ffffff4d}.cup{right:5%;top:45%;background:#000;color:var(--green-500);border:2px solid var(--green-500);font-size:1.1rem;box-shadow:0 0 12px #22c55e4d}.obstacle{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;cursor:pointer;z-index:5;transition:left .15s ease,top .15s ease}.obs-icon{font-size:1.6rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.obs-name{font-size:.6rem;font-weight:600;color:#fff;background:#000000a6;padding:.1rem .35rem;border-radius:.2rem;white-space:nowrap;margin-top:.15rem}.obs-controls{display:none;flex-direction:column;align-items:center;gap:.15rem;margin-top:.3rem;background:#000c;padding:.25rem;border-radius:.35rem}.obstacle:hover .obs-controls{display:flex}.nub{width:1.2rem;height:1.2rem;border:1px solid var(--slate-600);background:var(--slate-800);color:var(--slate-300);border-radius:.2rem;cursor:pointer;font-size:.5rem;display:flex;align-items:center;justify-content:center;padding:0}.nub:hover{background:var(--green-900);border-color:var(--green-600)}.obs-controls>div{display:flex;gap:.15rem}.empty-course{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--slate-600);font-size:.9rem;pointer-events:none}.obs-list{margin-top:.25rem}.obs-list-title{margin:0 0 .5rem;font-size:.85rem;font-weight:600;color:var(--slate-400)}.obs-table{width:100%;border-collapse:collapse;font-size:.8rem}.obs-table th{text-align:left;padding:.4rem .6rem;border-bottom:1px solid rgba(255,255,255,.08);color:var(--slate-400);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.obs-table td{padding:.45rem .6rem;border-bottom:1px solid rgba(255,255,255,.04);color:var(--slate-300)}.obs-table tbody tr:hover{background:#ffffff05}.obs-cell-icon{font-size:1.1rem;width:2rem;text-align:center}.obs-cell-name{cursor:pointer;border-bottom:1px dashed var(--slate-600)}.obs-cell-name:hover{color:var(--green-500)}.rename-input{background:var(--slate-800);border:1px solid var(--green-500);color:#fff;padding:.2rem .4rem;border-radius:.25rem;font-size:.8rem;font-family:inherit;width:100%}.remove-btn{background:transparent;border:1px solid transparent;color:var(--slate-600);cursor:pointer;font-size:.85rem;border-radius:.25rem;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center}.remove-btn:hover{color:var(--red-400);background:#f871711a;border-color:#f8717133}@media(max-width:768px){.layout{flex-direction:column}.sidebar{width:100%;max-height:200px;border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}.hole-list{display:flex;overflow-x:auto;gap:0}.hole-item{flex-direction:column;min-width:70px;text-align:center;padding:.5rem;border-left:none;border-bottom:3px solid transparent}.hole-item.active{border-bottom-color:var(--green-500);border-left-color:transparent}.hole-diff{display:none}.course{height:280px}}
