@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;600;700;800;900&display=swap');
:root{font-family:'Noto Sans KR',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:#273b32;background:#f7f8f2;font-synthesis:none;--green:#205b42;--lime:#e4ecc5;--muted:#82897f;--line:#e8ebe1;--cream:#f7f8f2}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{border:0;background:none}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,svg:focus-visible{outline:3px solid #d0a344;outline-offset:4px}button{transition:background .15s,transform .15s,box-shadow .15s}button:active:not(:disabled){transform:translateY(1px)}a{color:var(--green)}h1,h2,h3,p{margin:0}svg{flex-shrink:0;vertical-align:middle}small{font-size:12px}i,em{font-style:normal}.sidebar{width:225px;background:#fcfcf8;position:fixed;left:0;top:0;bottom:0;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:35px 22px 24px}.brand{display:flex;align-items:center;gap:11px;padding:0 11px;text-align:left;font-size:27px;font-weight:800;letter-spacing:-1.5px;color:var(--green)}.brand-icon{height:45px;width:38px;display:grid;place-items:center}.brand small{display:block;font-size:10px;letter-spacing:2px;margin-top:-1px;color:#7b8c7f;font-weight:500}.side-label{font-size:8px;letter-spacing:1.8px;color:#9b9e90;margin:43px 14px 16px}.sidebar nav{display:grid;gap:8px}.nav-item{display:flex;gap:15px;align-items:center;text-align:left;padding:16px 17px;border-radius:9px;font-size:14px;font-weight:600;color:#798278}.nav-item:hover{background:#f0f3e7}.nav-item.active{background:#eaf0df;color:var(--green)}.new-dot{margin-left:auto;width:5px;height:5px;background:#527947;border-radius:100%}.side-caddy{margin-top:auto;padding:0 10px;text-align:center}.side-caddy .mascot{width:96px;margin-bottom:7px}.side-caddy strong{display:block;font-size:13px}.side-caddy p{font-size:11px;line-height:1.9;color:#919589;margin-top:8px}.side-caddy button{font-size:10px;margin-top:17px;color:#697e62;border-bottom:1px solid #e7eadd;padding-bottom:10px;display:inline-flex;align-items:center;gap:6px}.side-footer{margin-top:37px;font-size:9px;text-align:center;color:#888f81}.status-dot{display:inline-block;width:5px;height:5px;background:#80a771;border-radius:100%;margin-right:3px}.side-footer small{display:block;font-size:6px;letter-spacing:.6px;margin-top:9px;color:#a7ad9f}.workspace{margin-left:225px}.topbar{height:84px;padding:0 43px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#fbfcf7}.breadcrumbs{font-size:11px;color:#8a9286;display:flex;gap:15px;align-items:center}.breadcrumbs strong{color:#4f5d51;font-weight:500}.beta{font-size:8px;letter-spacing:1px;background:#e9eeda;border:1px solid #e0e6ce;color:#6e825a;padding:3px 7px;border-radius:4px}.top-actions{display:flex;align-items:center;gap:15px}.icon-button{position:relative;display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid transparent;border-radius:50%;color:#66715f}.icon-button:hover{background:#edf1e4}.muted-line{position:absolute;width:24px;height:2px;background:#8d7564;transform:rotate(-45deg)}.avatar{background:#e7eed9;border:3px solid #f3f5eb;border-radius:50%;width:35px;height:35px;display:grid;place-items:center;font-size:12px;font-weight:700;color:#4b6b42;margin-left:6px}.profile{font-size:11px;color:#586453}#main{max-width:1440px;margin:auto;padding:32px 42px 20px}.hero{border:1px solid #e2e7d1;border-radius:18px;display:grid;grid-template-columns:1fr 1.1fr;min-height:316px;overflow:hidden;position:relative;background:#edf1d9}.hero-text{padding:35px 0 29px 35px;position:relative;z-index:1}.eyebrow{font-size:10px;letter-spacing:1.2px;font-weight:600;color:#688456;display:flex;align-items:center;gap:7px}.eyebrow i{width:5px;height:5px;border-radius:50%;background:#6c8e53}.hero h1{font-size:37px;line-height:1.4;letter-spacing:-1.6px;font-weight:800;margin:17px 0 15px;white-space:nowrap;color:#25543c}.hero h1 em{color:#517c46}.hero p{font-size:12px;line-height:1.9;color:#7c8b70}.hero-link{padding:0;display:inline-flex;gap:9px;align-items:center;font-size:10px;font-weight:600;margin-top:23px;color:#47663e}.hero-art{position:relative;min-width:0}.hero-art>.scene{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;mask-image:linear-gradient(90deg,transparent,#000 19%);-webkit-mask-image:linear-gradient(90deg,transparent,#000 19%)}.weather{position:absolute;top:24px;right:25px;background:#fffdf5b8;border:1px solid #fff7df;padding:7px 11px;border-radius:20px;display:flex;align-items:center;gap:7px;font-size:9px;color:#697555;backdrop-filter:blur(8px)}.weather svg{color:#9a9a54}.hero-note{position:absolute;top:60px;left:30%;transform:rotate(-9deg);font-size:14px;letter-spacing:2px;color:#536f42;font-weight:800}.hero-note span{font-size:25px;vertical-align:super;margin-left:5px}.intro-strip{display:flex;align-items:center;justify-content:space-around;border-bottom:1px solid var(--line);padding:21px 0 22px;gap:10px}.intro-strip>span{display:flex;align-items:center;gap:9px;font-size:10px;color:#8f9983}.intro-strip b{color:#5a6e51;font-size:10px;font-weight:500}.intro-strip i{color:#9a9f90;font-size:9px;margin-left:0}.intro-strip svg{color:#81956a}.course-section{margin-top:30px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:19px}.section-heading .small{font-size:8px;letter-spacing:1.8px;color:#9aab86;margin-bottom:6px}.section-heading h2{font-size:20px;font-weight:700;letter-spacing:-.7px}.section-heading p{font-size:11px;color:#979e90;margin-top:6px}.selected-count{font-size:10px;border:1px solid #dde5d0;border-radius:20px;padding:8px 12px;color:#99a18e;white-space:nowrap;align-self:flex-end}.selected-count b{color:#5f7c43;margin-right:4px}.course-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.course-card{min-width:0;border:1.5px solid #e5e8df;background:#fffefb;border-radius:12px;overflow:hidden;transition:transform .2s,border-color .2s,box-shadow .2s}.course-card:hover{transform:translateY(-3px);box-shadow:0 6px 15px #29473109}.course-card.selected{border-color:#709157;box-shadow:0 0 0 1px #70915710}.card-cover{width:100%;display:block;padding:0;aspect-ratio:1.67;position:relative;overflow:hidden;text-align:left}.scene{display:block;width:100%;height:100%}.course-letter{position:absolute;top:13px;left:13px;font-size:8px;letter-spacing:1.1px;font-weight:700;color:#3e5a3d;background:#fffff577;padding:5px 7px;border-radius:4px}.selection-check{position:absolute;right:11px;top:11px;width:21px;height:21px;border-radius:50%;background:#ffffffcc;border:1px solid #fafff1;display:grid;place-items:center}.selected .selection-check{background:#5f8050;border-color:#5f8050;color:white}.course-tag{position:absolute;left:12px;bottom:11px;color:#52654a;background:#fffef1e3;padding:4px 7px;border-radius:4px;font-size:8px}.card-body{padding:14px 13px 10px}.card-title{display:flex;align-items:center;justify-content:space-between;gap:5px}.card-title button{padding:0;text-align:left}.card-title h3{font-size:14px;font-weight:700;letter-spacing:-.5px}.difficulty{display:flex;gap:3px;align-items:flex-end}.difficulty i{width:3px;background:#e7e9df;border-radius:1px;height:5px}.difficulty i:nth-child(2){height:8px}.difficulty i:nth-child(3){height:11px}.difficulty .filled{background:var(--course-color)}.card-body>p{font-size:8.5px;color:#a0a395;line-height:1.8;margin-top:6px;white-space:nowrap;letter-spacing:-.2px}.card-meta{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #eff0e8;margin-top:12px;padding-top:10px;min-height:29px;color:#9a9d8e;font-size:8px;letter-spacing:.5px}.card-meta i{padding:0 5px}.card-meta strong{color:#67834c;font-size:9px;letter-spacing:0;font-weight:500}.card-meta button{padding:0 2px;color:#8c967e}.round-bar{margin-top:24px;background:#eef2e5;border:1px solid #e0e7d3;border-radius:12px;padding:17px 19px;display:flex;align-items:center;justify-content:space-between;gap:15px}.round-route{display:flex;align-items:center;gap:13px}.round-icon{width:41px;height:41px;display:grid;place-items:center;border-radius:10px;background:#e1e9d1;color:#738c58}.round-route small{font-size:8px;color:#99a188;display:block;margin-bottom:4px}.round-route>div>div{display:flex;align-items:center;gap:14px;font-size:12px;color:#5b6e4e}.round-route button{padding:0;color:#9daa90;display:grid;place-items:center}.route-total{font-size:9px;letter-spacing:.4px;color:#92a17f;margin-left:10px}.route-total i{margin:0 6px}.primary{display:inline-flex;align-items:center;justify-content:center;gap:15px;background:#225d43;color:#fffef1;border-radius:8px;padding:15px 23px;font-size:12px;font-weight:600;box-shadow:0 3px 6px #234e3310;min-height:47px}.primary:hover:not(:disabled){background:#154b33;box-shadow:0 4px 10px #245b4420}.start-button{min-width:206px}.start-button svg{margin-left:12px}.home-bottom{display:flex;justify-content:space-between;align-items:center;padding:17px 1px;color:#a5ac9b;font-size:8px}.home-bottom span,.home-bottom button{display:flex;gap:6px;align-items:center}.home-bottom button{font-size:8px;color:#a0a991}.resume-banner{width:100%;display:flex;align-items:center;gap:10px;background:#e4efdd;border:1px solid #d6e4c9;padding:14px;border-radius:8px;margin-top:20px;color:#4c7445;font-size:11px;text-align:left}.resume-banner span{flex:1}.resume-banner b{margin-right:10px}.mobile-nav{display:none}.page-heading{padding:22px 0 31px}.page-heading h1{font-size:31px;letter-spacing:-1px;margin-top:13px}.page-heading p{font-size:13px;line-height:1.8;color:#8d9786;margin-top:10px}.atlas .course-card{margin-top:10px}.info-panel{display:flex;gap:25px;align-items:center;padding:36px;background:#eaf0dd;border-radius:13px;margin-top:35px;color:#55734c}.info-panel h3{font-size:17px}.info-panel p{font-size:12px;color:#819074;line-height:1.9;margin-top:8px}.pill{display:inline-block;font-size:10px;color:#89957b;background:#f0f3e8;padding:5px 8px;border-radius:5px;white-space:nowrap}.record-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px}.record-stats>div{padding:24px;background:#fffef9;border:1px solid var(--line);border-radius:12px;display:grid;grid-template-columns:1fr auto;gap:4px;color:#789568}.record-stats b{font-size:34px;color:#2c6447;grid-column:2;grid-row:1/3}.record-stats b small{font-size:15px;color:#a8b396;font-weight:400}.record-stats span{font-size:11px;color:#929d84;margin-top:10px}.records-panel{background:#fffefb;border:1px solid var(--line);border-radius:14px;padding:27px}.records-panel select{max-width:250px}.empty-state{text-align:center;padding:25px 0 35px}.empty-state .mascot{width:125px}.empty-state h3{font-size:18px;margin:15px 0 8px}.empty-state p{color:#95a18c;font-size:12px;margin-bottom:25px}.rank-number{display:grid;place-items:center;width:33px;height:33px;font-size:16px;font-weight:700;color:#7c8a6e;background:#edf2e3;border-radius:50%}.rank-number.first{color:#997b34;background:#f5edd2}.record-list>div{display:flex;align-items:center;gap:20px;padding:18px 5px;border-top:1px solid var(--line)}.record-name{flex:1;font-size:13px}.record-name small{display:block;color:#a7ae9d;font-size:10px;margin-top:5px}.record-list strong{font-size:24px}.record-list strong small{font-size:11px;color:#909b84;font-weight:400}.diff{min-width:40px;font-size:15px;color:#67854d;text-align:right}.learning-banner{display:flex;align-items:center;gap:25px;background:#eaf0dd;border:1px solid #e0e8cf;border-radius:14px;padding:12px 30px;margin-bottom:28px}.learning-banner .mascot{width:100px}.learning-banner>div{flex:1}.learning-banner h3{font-size:18px}.learning-banner p{color:#829477;font-size:12px;margin:7px 0 15px}.learning-banner>b{font-size:35px;color:#50734a}.learning-banner>b small{font-size:17px;color:#9fae8d}.learning-progress{background:#dce6cd;height:5px;border-radius:8px;max-width:360px;overflow:hidden}.learning-progress span{display:block;background:#71915a;height:100%;border-radius:8px}.rules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.rule-card{padding:23px;text-align:left;background:#fffefb;border:1px solid var(--line);border-radius:12px}.rule-card:hover{border-color:#9eaf8a;background:#fcfdf5}.rule-number{color:#abb997;font-size:13px;letter-spacing:1px}.rule-card .pill{float:right;font-size:9px}.rule-card .pill.learned{color:#5f8046;background:#eaf0df}.rule-card h3{font-size:15px;margin:23px 0 10px}.rule-card p{font-size:11px;line-height:1.9;color:#8b9582;min-height:65px}.rule-link{margin-top:20px;display:flex;justify-content:space-between;font-size:10px;color:#658351}.source-note{margin:25px 0;font-size:10px;line-height:1.9;color:#a2aa98}.source-note a{white-space:nowrap;color:#7b8d69}.modal-backdrop{position:fixed;inset:0;z-index:90;background:#1b382c60;backdrop-filter:blur(5px);padding:24px;display:grid;place-items:center;animation:fade-in .15s ease}.modal{position:relative;background:#fffef8;border:1px solid #f4f5eb;border-radius:20px;box-shadow:0 22px 85px #102e3430;padding:36px;width:min(100%,490px);max-height:90dvh;overflow:auto;overscroll-behavior:contain}.modal.wide{width:min(100%,690px)}.modal-close{position:absolute;top:13px;right:13px;background:#f4f5eb;z-index:3}.modal .eyebrow{font-size:9px;letter-spacing:1.3px;margin:8px 28px 12px 0}.modal h2{font-size:24px;letter-spacing:-.8px;line-height:1.4;margin-bottom:13px}.modal h2 small{font-size:13px;color:#8b9b7c}.modal>p{font-size:12px;color:#8b9580;line-height:1.9}.full{width:100%;margin-top:14px}.text-button{padding:10px;font-size:12px;color:#80956d;min-height:42px}.secondary{border:1px solid #dce4ce;background:#f0f4e7;padding:14px;border-radius:8px;font-size:12px;color:#70845c}.mode-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:23px 0}.mode-card{display:flex;flex-direction:column;gap:8px;align-items:center;border:1px solid #e3e8d8;border-radius:10px;padding:19px 8px;color:#7c8a6d}.mode-card.active{background:#eaf1de;border:1.5px solid #7d975f;color:#49713e}.mode-card b{font-size:14px}.mode-card small{font-size:9px;color:#8e9e7e}.name-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.name-grid:has(>.field:only-child){grid-template-columns:1fr}.field{display:flex;flex-direction:column;gap:7px;font-size:11px;color:#8a977d;margin:10px 0}.field input,select{min-height:44px;width:100%;border:1px solid #dfe5d4;background:#fafcf4;border-radius:7px;padding:10px 12px;color:#4c6942;font-size:12px}.check-field{display:flex;align-items:center;gap:8px;font-size:11px;margin:15px 0;color:#748768}.check-field input{accent-color:#527843;width:17px;height:17px}.local-note{display:flex;gap:7px;align-items:flex-start;font-size:10px;color:#899b7a;line-height:1.8;background:#f2f5ea;padding:12px;border-radius:6px}.modal p.fine-print,.fine-print{font-size:10px;color:#9ca590;line-height:1.9;margin:17px 0 7px}.warning-text{color:#b08246!important;font-size:10px!important;margin-top:12px}.detail-cover{height:190px;border-radius:12px;overflow:hidden;margin:10px 0 24px}.detail-stats{display:flex;gap:30px;margin:22px 0;color:#95a18b;font-size:11px}.detail-stats b{font-size:23px;color:#587549;margin-right:4px}.mini-holes{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.mini-holes button{display:flex;flex-direction:column;text-align:left;border:1px solid #e6eadb;border-radius:8px;padding:12px;gap:5px;background:#f7f9ee}.mini-holes button:hover{background:#e9f0dc}.mini-holes small{color:#a2b48d;font-size:9px}.mini-holes b{font-size:12px}.mini-holes span{font-size:10px;color:#8a9b79;display:flex;justify-content:space-between;align-items:center}.preview-map{height:350px;background:#b5cb8a;border-radius:12px;overflow:hidden;display:flex;justify-content:center}.preview-map svg{height:100%;max-width:100%}.quiz-caddy{display:flex;align-items:center;gap:15px;padding:12px 14px;margin:19px 0;border-radius:12px;background:#eef3e3}.quiz-caddy .mascot{width:90px;flex-shrink:0}.quiz-caddy p{font-size:12px;line-height:1.9;color:#6b835a}.guide-steps{display:grid;gap:22px;margin:26px 0}.guide-steps>div{display:flex;gap:15px;align-items:flex-start}.guide-steps>div>b{font-size:14px;color:#9eaf85;border-bottom:1px solid #bac8a5;padding-bottom:5px}.guide-steps strong{font-size:12px;display:block;color:#5d7650}.guide-steps small{font-size:10px;display:block;line-height:1.9;color:#97a08b;margin-top:4px}.quiz-question{font-size:15px;margin:25px 0 16px}.quiz-answers{display:grid;gap:10px}.quiz-answers button{text-align:left;display:flex;align-items:center;gap:12px;border:1px solid #dde5d0;border-radius:8px;padding:14px;font-size:12px}.quiz-answers button>span{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;background:#eef2e4;color:#879873;font-size:10px}.quiz-answers button.correct{border-color:#6e9552;background:#e9f3da;opacity:1}.quiz-answers button.wrong{border-color:#ceaa8a;background:#fff4e9}.correct-text,.wrong-text{font-size:11px;line-height:1.9;margin:16px 0;color:#62864d}.wrong-text{color:#ad7a4d}.correct-text svg{margin-right:5px}.result-mascot,.rule-mascot{text-align:center;margin:10px 0}.result-mascot svg{width:110px}.rule-mascot svg{width:100px}.hole-results{margin:20px 0}.hole-results>div{display:flex;align-items:center;gap:15px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.hole-results>div>span{margin-left:auto;color:#819369;font-size:11px}.hole-results strong{font-size:25px}.hole-results small{font-size:11px;font-weight:400;color:#92a080}.final-ranks>div{display:flex;align-items:center;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.final-ranks b{font-size:13px;flex:1}.final-ranks strong{font-size:27px}.final-ranks small{font-size:11px;font-weight:400;color:#8b9a7a}.final-ranks em{font-size:14px;min-width:30px;text-align:right;color:#76905c}.score-tables h3{font-size:13px;color:#6e855c;margin:24px 0 13px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:11px;white-space:nowrap}th,td{padding:12px 9px;text-align:center;border-bottom:1px solid #e4e9d7}thead{color:#7b8e68;background:#f2f6e9}th:first-child{text-align:left}.par-row{color:#a1ac92;background:#fbfcf5}.under{color:#408756;background:#edf5e2}.game-shell{max-width:1440px;margin:auto;padding:0 30px 25px}.game-header{height:87px;display:flex;align-items:center;gap:19px;border-bottom:1px solid var(--line)}.game-header small{font-size:10px;color:#94a186}.game-header h1{font-size:16px;letter-spacing:1px;color:#658355;font-weight:500;margin-top:6px}.game-header h1 strong{font-size:25px;color:#365e3e;margin-left:3px}.game-header h1 span{font-size:12px;letter-spacing:0;color:#9ba68f;margin-left:15px}.game-header h1 i{margin:0 8px}.game-header-right{margin-left:auto;display:flex;align-items:center;gap:15px;font-size:21px;color:#547949}.game-progress{display:flex;gap:5px;margin:15px 0}.game-progress span{height:4px;flex:1;border-radius:3px;background:#e4e9d9}.game-progress span.done{background:#90aa70}.game-progress span.current{background:#386b46}.game-layout{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:25px}.field-area{background:#abc481;border:1px solid #99b173;position:relative;border-radius:17px;overflow:hidden;min-height:580px;display:flex;align-items:center;justify-content:center;flex-direction:column}.field-top{position:absolute;top:17px;left:20px;right:20px;display:flex;justify-content:space-between;font-size:11px;color:#476441;z-index:2;pointer-events:none}.field-top>span{display:flex;align-items:center;gap:5px;font-weight:500}.field-top button{padding:7px 10px;border-radius:6px;background:#f2f9dcbe;color:#607a4c;font-size:9px;pointer-events:auto}.field-top button svg{margin-right:4px}.map-wrapper{width:100%;height:calc(100dvh - 180px);min-height:570px;max-height:800px;display:flex;justify-content:center;align-items:center}.map-wrapper svg{width:100%;height:100%;touch-action:none;user-select:none}.map-legend{position:absolute;left:20px;bottom:19px;background:#f4f9ddba;display:flex;gap:12px;padding:7px 10px;border-radius:5px;pointer-events:none;font-size:8px;color:#73845c}.map-legend span{display:flex;align-items:center;gap:4px}.map-legend i{width:7px;height:7px;border-radius:50%;display:inline-block}.legend-fairway{background:#ccdf96}.legend-sand{background:#ecd9aa}.legend-ob{border:1px dashed #fff;background:#aac481}.map-hint{position:absolute;right:17px;bottom:20px;font-size:9px;color:#698453;pointer-events:none}.map-hint svg{margin-right:5px}.game-panel{background:#fffef8;border:1px solid var(--line);border-radius:15px;padding:21px;height:fit-content}.player-strip{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:20px;border-bottom:1px solid var(--line)}.player-chip{padding:7px 9px;border:1px solid #e8ecdF;border-radius:6px;display:flex;align-items:center;gap:6px;color:#98a38b}.player-chip.active{background:#eef3e1;border-color:#c9d9b5;color:#567747}.player-chip>span{width:9px;height:9px;border-radius:50%;border:1px solid #b4beaa}.player-chip>b{font-size:10px;font-weight:500;max-width:90px;overflow:hidden;text-overflow:ellipsis}.player-chip>small{font-size:9px}.shot-heading{margin:23px 0}.shot-heading .eyebrow{font-size:9px}.shot-heading h2{font-size:17px;margin-top:9px;font-weight:500;letter-spacing:-.5px}.shot-heading h2>b{font-size:33px;font-weight:700}.shot-heading h2>span{float:right;font-size:10px;margin-top:16px;padding:4px 8px;background:#eef2e4;border-radius:4px;color:#8ba077}.shot-stats{display:grid;grid-template-columns:1fr 1fr;background:#f4f6ed;border:1px solid #edf0e4;border-radius:10px;padding:15px 17px;margin-bottom:24px}.shot-stats>div+div{border-left:1px solid #e3e8d7;padding-left:20px}.shot-stats small{display:block;color:#99a48b;font-size:9px;margin-bottom:4px}.shot-stats b{font-size:25px;color:#507743}.shot-stats em{font-size:12px;font-weight:400;color:#91a380}.penalty{display:block;font-size:8px;color:#b98a51;margin-top:4px}.control-label{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#708760}.control-label button{font-size:9px;color:#91a07e;padding:5px 0}.control-label button svg{margin-right:3px}.power-label{margin-top:21px}.control-label strong{color:#59813e;font-size:14px}.shot-controls input[type=range]{width:100%;margin:14px 0 0;accent-color:#5f8349;cursor:pointer;height:17px}#power{appearance:none;-webkit-appearance:none;height:9px;border-radius:10px;background:linear-gradient(to right,#93af6f var(--fill,40%),#e9eddc var(--fill,40%))}#power::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;border:3px solid #fffef6;background:#638348;box-shadow:0 1px 5px #53723c55}.range-captions{display:flex;justify-content:space-between;color:#9fac8e;font-size:9px;margin-top:8px}.expected{display:flex;justify-content:space-between;margin:16px 0;color:#a2ad92;font-size:9px}.expected b{font-size:11px;font-weight:500;color:#819768}.shot-button{width:100%;min-height:52px;font-size:18px;font-weight:600}.shot-button>span{margin-left:auto;font-size:9px;letter-spacing:2px;font-weight:400;color:#a5c294}.relief-button{padding:12px 0 0;font-size:9px;width:100%;display:flex;justify-content:space-between;color:#a6af96}.relief-button span{color:#b29772}.caddy-game{display:flex;gap:10px;margin:23px -5px 0;padding:16px 6px 0;border-top:1px solid var(--line);align-items:flex-start}.caddy-game .mascot{width:70px;margin-top:9px}.caddy-game>div{flex:1}.caddy-game>div>span{font-size:8px;color:#9dab8c}.caddy-game>div>span b{font-size:11px;color:#638447;margin-left:4px}.caddy-game p{font-size:11px;line-height:1.9;margin-top:5px;color:#758866;word-break:keep-all}.caddy-game button{font-size:8px;color:#8da579;margin:10px 0 0;padding:0}.game-fine{color:#acb59c;font-size:8px;line-height:1.8;margin-top:17px;text-align:center}#toast{position:fixed;bottom:30px;left:50%;transform:translate(-50%,15px);padding:13px 22px;max-width:90vw;width:max-content;background:#274f3e;color:#fcffed;font-size:12px;line-height:1.7;border-radius:10px;box-shadow:0 5px 20px #173d2925;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:200}#toast.show{opacity:1;transform:translate(-50%,0)}@keyframes fade-in{from{opacity:0}to{opacity:1}}
@media(min-width:1550px){#main{padding:42px 55px}.hero{min-height:365px}.hero-text{padding:42px}.hero h1{font-size:44px}.hero p{font-size:14px}.hero-link{font-size:12px}.course-section{margin-top:37px}.section-heading{margin-bottom:23px}.card-title h3{font-size:17px}.card-body>p{font-size:10px}.card-body{padding:18px}.card-meta{font-size:10px}.card-meta strong{font-size:11px}.card-cover{aspect-ratio:1.65}.round-bar{padding:22px;margin-top:29px}.round-route>div>div{font-size:14px}.course-tag{font-size:10px}.intro-strip b{font-size:12px}.intro-strip i{font-size:11px}}
@media(max-width:1200px){.sidebar{width:190px;padding:30px 16px}.workspace{margin-left:190px}.brand{font-size:24px;gap:4px}.side-label{font-size:7px;letter-spacing:1.4px}.nav-item{font-size:13px;gap:12px}#main{padding:25px}.topbar{padding:0 25px}.hero-text{padding-left:25px}.hero h1{font-size:32px}.hero p{font-size:10px}.hero{min-height:293px}.hero-link{font-size:9px}.course-grid{gap:10px}.card-body{padding:12px 10px}.card-title h3{font-size:12px}.card-body>p{font-size:7.5px}.course-tag{font-size:7px}.card-meta{font-size:7px}.route-total{display:none}.game-layout{grid-template-columns:minmax(0,1fr) 305px}.game-panel{padding:18px}.map-hint{display:none}.rules-grid{gap:12px}.rule-card{padding:18px}.rule-card h3{font-size:13px}.rule-card p{font-size:10px}}
@media(max-width:1000px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.card-body{padding:16px}.card-title h3{font-size:17px}.card-body>p{font-size:10px}.card-meta{font-size:9px}.course-tag{font-size:9px}.hero{grid-template-columns:1.15fr 1fr}.hero h1{font-size:28px}.hero-text{padding:28px 0 27px 24px}.hero p{font-size:10px}.hero .eyebrow{font-size:8px}.hero-note{display:none}.weather{font-size:7px;padding:6px;right:13px;top:14px}.intro-strip{gap:15px;justify-content:space-between}.intro-strip i{display:none}.intro-strip b{font-size:8px}.intro-strip>span{gap:5px}.section-heading h2{font-size:18px}.selected-count{font-size:9px;padding:7px}.round-route>div>div{font-size:10px;gap:8px}.round-icon{display:none}.start-button{min-width:170px;font-size:11px;padding:12px 16px;gap:8px}.start-button svg{margin:0}.rules-grid{grid-template-columns:repeat(2,1fr)}.rule-card h3{font-size:15px}.rule-card p{font-size:11px}.learning-banner{padding:12px 20px;gap:15px}.learning-banner .mascot{width:80px}.learning-banner h3{font-size:15px}.learning-banner p{font-size:10px}.record-stats{gap:12px}.record-stats>div{padding:18px}.record-stats b{font-size:28px}.record-stats span{font-size:9px}.records-panel{padding:20px}.records-panel .section-heading{align-items:flex-start;flex-direction:column}.records-panel select{width:100%;max-width:none}.page-heading h1{font-size:27px}}
@media(max-width:760px){.sidebar{display:none}.workspace{margin-left:0}.topbar{height:67px;padding:0 20px}.breadcrumbs{gap:10px;font-size:10px}.profile{display:none}.top-actions{gap:4px}.top-actions .avatar{width:31px;height:31px;margin-left:9px}.top-actions>.icon-button:first-child{display:none}#main{padding:20px 18px 100px}.hero{grid-template-columns:1.15fr 1fr;min-height:275px;border-radius:14px}.hero-text{padding:28px 0 24px 24px}.hero h1{font-size:29px;letter-spacing:-1.4px}.hero p{font-size:10px}.hero-link{font-size:9px;margin-top:21px}.hero .eyebrow{font-size:8px;letter-spacing:.3px}.hero-art .scene{mask-image:linear-gradient(90deg,transparent,#000 30%)}.weather{display:none}.mobile-nav{position:fixed;display:flex;bottom:0;left:0;right:0;z-index:20;background:#fcfdf8f5;backdrop-filter:blur(12px);border-top:1px solid #e7ebdc;padding:8px 17px max(10px,env(safe-area-inset-bottom));justify-content:space-around}.mobile-nav button{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:60px;padding:6px 10px;color:#9ca88e;font-size:9px}.mobile-nav button.active{color:#315f40}.intro-strip{padding:18px 2px;gap:5px}.intro-strip>span{gap:4px}.intro-strip b{font-size:9px}.intro-strip svg{width:16px}.course-section{margin-top:25px}.section-heading{gap:7px;align-items:flex-end}.section-heading h2{font-size:18px;letter-spacing:-.8px}.section-heading p{font-size:10px;line-height:1.7}.section-heading .small{font-size:7px;letter-spacing:1.3px}.selected-count{font-size:8px;padding:6px 8px}.course-grid{gap:13px}.card-title h3{font-size:15px}.card-body{padding:13px 12px}.card-body>p{font-size:8px}.card-meta{font-size:8px;margin-top:10px}.course-letter{font-size:7px;top:10px;left:10px}.selection-check{width:19px;height:19px;top:9px;right:9px}.course-tag{font-size:8px;bottom:9px;left:9px}.round-bar{padding:17px;gap:15px;flex-direction:column;margin-top:21px}.round-route{width:100%;justify-content:center}.round-icon{display:grid;width:35px;height:35px}.round-route small{font-size:9px}.round-route>div>div{font-size:13px;gap:15px}.start-button{width:100%;font-size:13px;min-height:48px}.start-button svg{margin-left:15px}.home-bottom{justify-content:center;font-size:8px}.home-bottom button{display:none}.resume-banner{font-size:10px;line-height:1.8}.resume-banner b{display:block}.page-heading{padding:14px 0 25px}.page-heading h1{font-size:26px}.page-heading p{font-size:11px}.info-panel{padding:25px;gap:15px}.info-panel h3{font-size:15px}.info-panel p{font-size:10px}.record-stats{gap:9px}.record-stats>div{padding:16px 11px;display:flex;flex-direction:column;align-items:center;gap:5px}.record-stats svg{width:20px}.record-stats b{font-size:30px}.record-stats b small{font-size:12px}.record-stats span{font-size:8px;margin-top:0}.record-list>div{gap:12px}.records-panel{padding:19px 14px}.records-panel h2{font-size:17px}.record-name{font-size:11px}.record-list strong{font-size:23px}.record-name small{font-size:9px}.diff{font-size:12px;min-width:26px}.learning-banner{gap:11px;padding:15px}.learning-banner .mascot{width:69px}.learning-banner h3{font-size:14px}.learning-banner>b{font-size:26px}.learning-banner>b small{font-size:12px}.learning-banner p{font-size:9px;line-height:1.8}.rule-card{padding:18px 15px}.rule-card h3{font-size:13px;margin-top:18px}.rule-card p{font-size:10px;line-height:1.9;min-height:78px}.rule-card .pill{font-size:7px;padding:4px 5px}.rule-link{font-size:9px}.source-note{font-size:9px}.modal-backdrop{padding:16px}.modal{padding:30px 23px;border-radius:17px;max-height:90dvh}.modal h2{font-size:22px}.modal>p{font-size:11px}.modal .eyebrow{font-size:8px}.guide-steps strong{font-size:11px}.guide-steps small{font-size:9px}.mode-card small{font-size:8px}.modal .fine-print{font-size:9px}.detail-cover{height:145px}.detail-stats{gap:20px}.detail-stats b{font-size:21px}.quiz-caddy{gap:10px;padding:12px 10px}.quiz-caddy .mascot{width:75px}.quiz-caddy p{font-size:11px}.quiz-question{font-size:14px}.quiz-answers button{font-size:11px}.game-shell{padding:0 13px 20px}.game-header{height:74px;gap:8px}.game-header h1{font-size:12px}.game-header h1 strong{font-size:22px}.game-header h1 span{font-size:10px;margin-left:7px}.game-header small{font-size:9px}.game-header-right{gap:2px;font-size:17px}.game-header-right>span{display:none}.game-header-right .icon-button{width:31px}.game-progress{gap:3px;margin:12px 0}.game-layout{grid-template-columns:1fr;gap:13px}.field-area{min-height:0;border-radius:13px}.map-wrapper{height:46dvh;min-height:290px;max-height:490px}.field-top{top:12px;left:13px;right:13px;font-size:9px}.field-top button{font-size:8px;padding:6px 8px}.map-legend{bottom:10px;left:10px;font-size:7px;gap:9px;padding:6px 8px}.game-panel{padding:17px;border-radius:13px;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.player-strip{grid-column:1/-1;padding-bottom:12px;gap:5px}.player-chip{font-size:9px;padding:6px 8px}.shot-heading{grid-column:1;margin:15px 0 12px}.shot-heading h2{font-size:13px;margin-top:4px;white-space:nowrap}.shot-heading h2>b{font-size:29px}.shot-heading h2>span{font-size:8px;float:none;margin-left:7px;padding:3px 5px}.shot-heading .eyebrow{font-size:8px}.shot-stats{grid-column:2;margin:14px 0 12px;padding:10px 11px;gap:9px}.shot-stats>div+div{padding-left:10px}.shot-stats b{font-size:21px;white-space:nowrap}.shot-stats small{font-size:7px}.shot-stats em{font-size:9px}.shot-controls{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:0 18px}.control-label{grid-column:1;grid-row:1;font-size:10px}.control-label button{font-size:8px}.power-label{grid-column:2;margin:0}.shot-controls input#angle{grid-column:1;grid-row:2;margin-top:9px}.shot-controls input#power{grid-column:2;grid-row:2;margin-top:13px}.range-captions{grid-column:2;grid-row:3;font-size:7px;margin-top:3px}.expected{grid-column:1;grid-row:3;margin:2px 0 12px;font-size:7px;gap:5px;align-items:center}.expected b{font-size:9px}.shot-button{grid-column:1/-1;min-height:49px;margin-top:9px}.relief-button{grid-column:1/-1;font-size:8px;min-height:32px}.caddy-game{grid-column:1/-1;margin:15px 0 0;padding-top:13px;gap:12px}.caddy-game .mascot{width:59px;margin-top:0}.caddy-game p{font-size:10px;margin-top:2px}.caddy-game button{font-size:8px;margin-top:5px}.game-fine{grid-column:1/-1;font-size:7px;margin:10px 0 0}.game-panel>.primary{grid-column:1/-1}.penalty{font-size:7px}.score-tables h3{font-size:12px}th,td{padding:10px 8px;font-size:10px}#toast{bottom:90px;font-size:11px}}
@media(max-width:420px){.hero{min-height:265px;grid-template-columns:1.5fr 1fr}.hero h1{font-size:27px}.hero-text{padding-left:19px;z-index:2}.hero-art{margin-left:-110px}.hero-art .scene{mask-image:linear-gradient(90deg,transparent,transparent 15%,#000 60%)}.hero-link{font-size:8px;gap:4px}.hero p{font-size:9px}.hero .eyebrow{font-size:7px}.hero-note{display:none}.section-heading h2{font-size:16px}.section-heading p{font-size:9px}.card-title h3{font-size:13px}.card-body>p{font-size:7px}.card-meta{font-size:7px}.card-meta strong{font-size:8px}.difficulty{gap:2px}.intro-strip b{font-size:8px}.intro-strip svg{width:14px}.card-cover{aspect-ratio:1.5}.topbar{padding:0 15px}.breadcrumbs{font-size:9px;gap:8px}.beta{font-size:7px}.learning-banner h3{font-size:12px}.learning-banner p{font-size:8px}.rule-card h3{font-size:12px}.rule-card p{font-size:9px}.rule-card{padding:15px 12px}.shot-heading h2{font-size:12px}.shot-heading h2>b{font-size:25px}.shot-heading h2>span{font-size:7px;margin-left:4px}.game-header h1 i{margin:0 4px}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Mobile labels remain readable on the compact two-column course layout. */
@media(max-width:760px){
 .top-actions>.icon-button:first-child{display:inline-grid}
 .card-title h3{font-size:15px}.card-body>p{font-size:10px;white-space:normal;word-break:keep-all;min-height:34px;line-height:1.7}.card-meta{font-size:9px}.card-meta strong{font-size:10px}
 .intro-strip b{font-size:9px}.course-tag{font-size:9px}.card-cover{aspect-ratio:1.55}
 .map-wrapper{height:38dvh;min-height:280px;max-height:410px}
 .caddy-game{grid-row:3;margin:10px 0 13px;padding-top:10px}.caddy-game p{font-size:12px;line-height:1.8}.caddy-game>div>span{font-size:10px}.caddy-game button{font-size:10px}
 .shot-controls{grid-row:4}.control-label{font-size:12px}.control-label button{font-size:10px}.range-captions{font-size:9px}.expected{font-size:9px}.expected b{font-size:10px}.relief-button{font-size:10px}.game-fine{font-size:9px}
 .player-chip>b{font-size:11px}.player-chip>small{font-size:10px}.shot-heading .eyebrow{font-size:10px}.shot-stats small{font-size:9px}
}
