:root{--ink:#122f25;--ink2:#1b4436;--lime:#dbff67;--paper:#f5f1e8;--white:#fffdf7;--muted:#748078;--line:#dfe3da;--orange:#ee7f4c;--shadow:0 20px 45px rgba(16,46,36,.12)}
*{box-sizing:border-box}body{margin:0;background:#dfe5df;color:var(--ink);font-family:'Noto Sans KR',sans-serif}.app-shell{max-width:480px;margin:auto;min-height:100vh;background:var(--paper);position:relative;padding-bottom:90px;overflow:hidden}.topbar{height:70px;padding:14px 20px;display:flex;align-items:center;justify-content:space-between}.avatar,.icon-button{width:40px;height:40px;border:0;border-radius:50%;background:var(--ink);color:white;font:700 12px 'DM Sans';cursor:pointer}.wordmark{font:700 15px 'DM Sans';letter-spacing:-.2px}.mark{display:inline-grid;place-items:center;background:var(--lime);width:25px;height:25px;border-radius:8px;margin-right:5px;color:var(--ink)}.icon-button{background:#e9e8de;color:var(--ink);position:relative;font-size:20px}.icon-button i{position:absolute;width:7px;height:7px;background:var(--orange);border-radius:50%;right:5px;top:4px}.view{display:none}.view.active{display:block}.hero{padding:30px 24px 20px;position:relative}.eyebrow{font:700 11px 'DM Sans';letter-spacing:1.8px;color:#6c7d72;margin:0 0 10px}.hero h1,.page-title h1{font-size:38px;line-height:1.2;letter-spacing:-2px;margin:0}.hero h1 em{font-style:normal;color:#648e78}.date-pill{position:absolute;right:20px;bottom:21px;padding:8px 11px;background:var(--ink);color:white;border-radius:999px;font:600 10px 'DM Sans';letter-spacing:.5px}.round-card{margin:8px 16px 34px;background:var(--white);border-radius:24px;overflow:hidden;box-shadow:var(--shadow)}.course-art{height:155px;position:relative;overflow:hidden;background:linear-gradient(#f1bd7d 0 46%,#7c9972 46%)}.sun{position:absolute;width:68px;height:68px;border-radius:50%;background:#ffe5a0;right:50px;top:27px;box-shadow:0 0 40px #ffe29b}.hill{position:absolute;border-radius:50% 50% 0 0;bottom:-50px}.hill.h1{background:#476e52;width:390px;height:145px;left:-140px;transform:rotate(8deg)}.hill.h2{background:#163f32;width:370px;height:120px;right:-150px;transform:rotate(-5deg)}.flag{position:absolute;left:57%;top:69px;height:48px;border-left:2px solid #fff}.flag:after{content:"";position:absolute;top:0;border-left:18px solid var(--lime);border-top:7px solid transparent;border-bottom:7px solid transparent}.confirmed{position:absolute;left:14px;top:14px;padding:7px 10px;border-radius:999px;background:rgba(18,47,37,.82);color:#fff;font-size:10px;font-weight:700}.round-body{padding:19px}.round-body>div:first-child{display:flex;justify-content:space-between}.muted{margin:0;color:#738077;font-size:12px}.round-body h2{margin:2px 0 0;font-size:22px}.players{float:right;margin-top:-30px;background:#e8ebdf;padding:7px 10px;border-radius:999px;font-size:11px;font-weight:700}.conditions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px 0}.conditions>div{background:#edf0e7;border-radius:14px;padding:12px;display:grid;grid-template-columns:30px 1fr;align-items:center}.conditions span{grid-row:1/3;font-size:20px}.conditions strong{font-size:14px}.conditions small{color:var(--muted);font-size:10px}.leave-row{display:flex;justify-content:space-between;font-size:11px;margin:12px 2px}.leave-row strong{color:#db6e3e}.primary{width:100%;border:0;border-radius:14px;padding:15px;background:var(--ink);color:white;font-weight:700;cursor:pointer}.primary span{float:right}.data-note{text-align:center;font-size:9px;color:#929c94;margin:9px 0 0}.quick-section,.pending{padding:0 16px 30px}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.section-head h2{font-size:17px;margin:0}.section-head span,.section-head button{font-size:10px;color:var(--muted);border:0;background:none}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.quick-card{border:1px solid var(--line);background:var(--white);border-radius:18px;padding:16px;text-align:left;position:relative;cursor:pointer;color:var(--ink)}.quick-card strong,.quick-card small{display:block}.quick-card strong{font-size:14px;margin-top:14px}.quick-card small{font-size:9px;color:var(--muted);margin-top:3px}.quick-card b{position:absolute;right:13px;top:13px;font-size:19px}.quick-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--lime);font:700 14px 'DM Sans'}.quick-icon.score{background:#f3d1b9}.pending-card{width:100%;display:flex;align-items:center;gap:13px;border:0;border-radius:17px;padding:12px;background:#e8e9df;text-align:left;color:var(--ink)}.mini-date{width:48px;height:50px;display:grid;place-items:center;background:var(--ink);color:white;border-radius:12px;font:700 9px 'DM Sans'}.mini-date b{font-size:18px;margin-bottom:-10px}.pending-card>span:nth-child(2){flex:1}.pending-card strong,.pending-card small{display:block}.pending-card strong{font-size:13px}.pending-card small{font-size:10px;color:#a45d3e}.bottom-nav{position:fixed;z-index:9;bottom:0;left:50%;transform:translateX(-50%);width:min(480px,100%);height:76px;padding:9px 55px calc(9px + env(safe-area-inset-bottom));display:flex;justify-content:space-between;background:rgba(255,253,247,.94);backdrop-filter:blur(16px);border-top:1px solid rgba(18,47,37,.08)}.bottom-nav button{border:0;background:none;color:#99a098;font-size:10px;display:grid;gap:2px;place-items:center;cursor:pointer}.bottom-nav span{font-size:22px}.bottom-nav .active{color:var(--ink);font-weight:700}.page-title{padding:38px 22px 24px}.page-title p:last-child{color:var(--muted);font-size:12px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 16px}.stat-grid article{background:var(--white);padding:15px 11px;border-radius:16px}.stat-grid article.best{background:var(--ink);color:#fff}.stat-grid small{display:block;font-size:9px;color:var(--muted)}.stat-grid strong{font:700 24px 'DM Sans'}.stat-grid span{font-size:10px;margin-left:2px}.chart-card{background:var(--ink);color:white;margin:12px 16px 25px;padding:18px;border-radius:21px}.chart-card .section-head span{color:#a4b4aa}.chart{height:140px;position:relative;padding-top:10px}.chart svg{width:100%;height:100px}.labels{display:flex;justify-content:space-between;color:#b7c5bb;font:600 9px 'DM Sans'}.record-heading{padding:0 18px}.record-item{margin:8px 16px;background:var(--white);border-radius:17px;padding:13px;display:flex;align-items:center;gap:14px}.record-score{width:50px;height:50px;border-radius:13px;background:var(--lime);display:grid;place-items:center;font:700 19px 'DM Sans'}.record-score small{font-size:7px;margin-top:-13px}.record-item div{flex:1}.record-item div strong,.record-item div small{display:block}.record-item div strong{font-size:13px}.record-item div small{font-size:10px;color:var(--muted)}.record-item.incomplete .record-score{background:#e7e8df}.profile-card{margin:0 16px 20px;padding:16px;background:var(--ink);color:#fff;border-radius:20px;display:flex;align-items:center;gap:13px}.big-avatar{display:grid;place-items:center;width:50px;height:50px;background:var(--lime);color:var(--ink);border-radius:50%;font:700 13px 'DM Sans'}.profile-card div:nth-child(2){flex:1}.profile-card strong,.profile-card small{display:block}.profile-card small{font-size:10px;color:#aac0b4}.profile-card button{border:1px solid #617b70;background:none;color:#fff;border-radius:999px;padding:6px 11px}.settings{margin:0 16px;background:var(--white);border-radius:20px;overflow:hidden}.settings button{width:100%;border:0;border-bottom:1px solid #ecece5;background:none;padding:17px;display:flex;gap:12px;align-items:center;text-align:left;color:var(--ink)}.settings div{flex:1}.settings strong,.settings small{display:block}.settings strong{font-size:13px}.settings small{font-size:9px;color:var(--muted)}.modal{position:fixed;z-index:30;inset:0;display:none}.modal.open{display:block}.scrim{position:absolute;inset:0;background:rgba(8,25,19,.62);backdrop-filter:blur(3px)}.sheet{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:min(480px,100%);max-height:91vh;overflow:auto;background:var(--paper);border-radius:26px 26px 0 0;padding:20px 22px calc(26px + env(safe-area-inset-bottom))}.handle{width:36px;height:4px;background:#b6bdb6;border-radius:4px;margin:-8px auto 16px}.close{position:absolute;right:16px;top:17px;border:0;background:#e4e6dd;border-radius:50%;width:34px;height:34px;font-size:20px}.sheet-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:var(--lime);font-size:24px;margin-bottom:18px}.sheet h2{font-size:25px;letter-spacing:-1px;margin:0 0 8px}.sheet-copy{color:var(--muted);font-size:12px;line-height:1.6}.upload-zone{height:190px;border:1.5px dashed #aab5aa;border-radius:19px;margin:22px 0 11px;display:grid;place-items:center;align-content:center;gap:6px;text-align:center;background:rgba(255,255,255,.42);cursor:pointer}.upload-zone input{display:none}.upload-zone span{font-size:30px}.upload-zone strong{font-size:14px}.upload-zone small{font-size:9px;color:var(--muted)}.demo-btn{width:100%;border:0;background:none;text-decoration:underline;color:#577365;padding:13px}.hidden{display:none}.confidence{font-size:10px;background:#e5eadf;border-radius:10px;padding:10px;margin:17px 0}.confidence span{display:inline-block;width:7px;height:7px;background:#77a45d;border-radius:50%;margin-right:5px}.field{margin-bottom:11px}.field label{font-size:10px;color:var(--muted);display:block;margin:0 0 5px 3px}.field input{width:100%;border:1px solid #d4d9d1;background:var(--white);border-radius:12px;padding:13px;font:600 13px 'Noto Sans KR';color:var(--ink)}.field.uncertain input{border-color:#e89d72;background:#fff8f2}.field.uncertain label:after{content:'  확인 필요';color:#db6e3e;font-weight:700}.save-btn{margin-top:10px}.success-step{text-align:center;padding:50px 0 20px}.success-check{display:grid;place-items:center;margin:0 auto 18px;width:70px;height:70px;background:var(--lime);border-radius:50%;font-size:35px}.success-step p{color:var(--muted);font-size:12px;margin-bottom:35px}.toast{position:fixed;z-index:40;left:50%;bottom:90px;transform:translate(-50%,20px);opacity:0;background:var(--ink);color:#fff;padding:12px 16px;border-radius:999px;font-size:10px;transition:.25s;white-space:nowrap}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:481px){body{padding:24px 0}.app-shell{min-height:calc(100vh - 48px);border-radius:28px;box-shadow:0 30px 90px rgba(17,43,34,.2)}.bottom-nav{bottom:24px;border-radius:0 0 28px 28px}.sheet{bottom:24px;border-radius:26px}.modal{align-items:center}.hero{padding-top:42px}}

/* Capture-first navigation and round memories */
.hero-copy{font-size:12px;line-height:1.65;color:var(--muted);margin:14px 0 0}.capture-hero .date-pill{bottom:24px}.memory-promo{margin:0 16px 32px;background:var(--ink);color:white;border-radius:22px;padding:17px;display:grid;grid-template-columns:118px 1fr;gap:17px;align-items:center}.memory-promo h2{font-size:15px;line-height:1.5;margin:0 0 10px}.memory-promo button{border:0;background:none;color:var(--lime);font-size:10px;padding:0}.memory-collage{height:112px;position:relative}.memory-collage span{position:absolute;width:72px;height:88px;border:3px solid var(--white);border-radius:10px;background:linear-gradient(145deg,#f4c37d 0 35%,#739770 36% 63%,#28513e 64%);box-shadow:0 8px 18px rgba(0,0,0,.25)}.memory-collage span:nth-child(1){left:0;top:10px;transform:rotate(-10deg)}.memory-collage span:nth-child(2){left:24px;top:4px;transform:rotate(4deg);background:linear-gradient(145deg,#b9d8df 0 45%,#66885e 46%)}.memory-collage span:nth-child(3){left:44px;top:15px;transform:rotate(12deg);background:linear-gradient(145deg,#ecd09c 0 48%,#3f7354 49%)}
.bottom-nav{height:82px;padding:9px 20px calc(9px + env(safe-area-inset-bottom));align-items:center;background:rgba(18,31,29,.97);border-top-color:rgba(255,255,255,.08)}.bottom-nav button{width:58px;color:#9eaaa4;font-size:9px}.bottom-nav span{font-size:21px}.bottom-nav .active{color:var(--lime)}.bottom-nav .nav-album{color:#64b5ef}.bottom-nav .capture-main{width:70px;align-self:flex-start;margin-top:-29px;color:#ffc14f;font-weight:800}.bottom-nav .capture-main span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#f2ad39;color:var(--ink);font-size:33px;border:7px solid var(--ink);box-shadow:0 7px 18px rgba(0,0,0,.28)}.bottom-nav .capture-main b{font-size:10px}.memory-title{padding-bottom:16px}.album-cover{margin:0 16px 27px;background:var(--white);padding:12px;border-radius:22px;box-shadow:var(--shadow)}.album-photo{height:218px;border-radius:15px;position:relative;background:linear-gradient(165deg,#d8c294 0 24%,#83977a 25% 48%,#315e44 49% 70%,#15392d 71%)}.album-photo:after{content:'';position:absolute;right:25%;top:19%;height:60px;border-left:2px solid white}.album-photo span{position:absolute;top:13px;left:13px;background:rgba(18,47,37,.8);color:#fff;border-radius:999px;padding:7px 10px;font:700 9px 'DM Sans'}.album-meta{display:flex;justify-content:space-between;align-items:center;padding:14px 4px 10px}.album-meta small{font:700 8px 'DM Sans';letter-spacing:1px;color:#799084}.album-meta h2{font-size:18px;margin:2px 0}.album-meta p{font-size:9px;color:var(--muted);margin:0}.album-meta b{background:#e9ece4;border-radius:999px;padding:8px 11px;font-size:10px}.add-memory{width:100%;border:0;border-radius:13px;background:var(--lime);padding:13px;color:var(--ink);font-weight:800}.album-heading{padding:0 18px}.album-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 16px}.album-tile{border:0;background:none;text-align:left;color:var(--ink);padding:0}.album-tile .photo{display:block;height:145px;border-radius:17px;margin-bottom:8px;background:linear-gradient(150deg,#ddb370 0 37%,#7d9d72 38% 65%,#294f3c 66%)}.album-tile .p2{background:linear-gradient(150deg,#aacbd7 0 43%,#739067 44% 68%,#365945 69%)}.album-tile strong,.album-tile small{display:block}.album-tile strong{font-size:12px}.album-tile small{font-size:9px;color:var(--muted)}
.capture-picker{position:fixed;z-index:30;inset:0;display:none}.capture-picker.open{display:block}.capture-sheet{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:min(480px,100%);background:var(--paper);border-radius:26px 26px 0 0;padding:20px 20px calc(27px + env(safe-area-inset-bottom))}.capture-sheet h2{font-size:24px;margin:0 0 7px}.capture-sheet>p:not(.eyebrow){font-size:11px;color:var(--muted)}.picker-close{position:absolute;right:16px;top:17px;border:0;background:#e4e6dd;border-radius:50%;width:34px;height:34px;font-size:20px}.capture-options{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:22px}.capture-options button{border:1px solid var(--line);background:var(--white);border-radius:16px;padding:15px 6px;color:var(--ink)}.capture-options span{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;margin:0 auto 10px;background:var(--lime);font:700 14px 'DM Sans'}.capture-options button:nth-child(2) span{background:#f4d0b9}.capture-options button:nth-child(3) span{background:#f3b5ad}.capture-options strong,.capture-options small{display:block}.capture-options strong{font-size:11px}.capture-options small{font-size:8px;color:var(--muted);margin-top:3px}
@media(min-width:481px){.capture-sheet{bottom:24px;border-radius:26px}}
.booking-fields label.needs-check{color:#b96f50;font-weight:800}.booking-fields label.needs-check input{border-color:#d7aa94;background:#fffaf6}.booking-fields label.needs-check:after{content:none}.booking-fields label.optional-field{color:#697970;font-weight:700}.booking-fields label.optional-field small{font-size:11px;color:#8b9790;font-weight:600}.booking-fields label.optional-field input{border-color:#d9dfd8;background:#fbfcf8}
.capture-hero{padding:24px 22px 17px}.capture-hero h1{font-size:34px}.capture-hero .hero-copy{margin-top:8px}.capture-menu{padding:0 16px 30px;display:grid;gap:11px}.capture-choice{min-height:112px;border:0;border-radius:21px;padding:15px 14px;display:grid;grid-template-columns:28px 54px 1fr 24px;gap:9px;align-items:center;text-align:left;color:var(--ink);cursor:pointer;box-shadow:0 8px 22px rgba(18,47,37,.07)}.capture-choice.booking-choice{background:#dff3d0}.capture-choice.memory-choice{background:#f9dfcb}.capture-choice.score-choice{background:#dce9f0}.choice-number{align-self:start;font:700 9px 'DM Sans';letter-spacing:1px;opacity:.48}.choice-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:16px;background:var(--ink);color:var(--lime);font:700 16px 'DM Sans'}.memory-choice .choice-icon{background:#e27d51;color:#fff}.score-choice .choice-icon{background:#2d6480;color:#fff}.choice-copy{display:grid;gap:4px}.choice-copy strong{font-size:18px;letter-spacing:-.6px}.choice-copy small{font-size:10px;line-height:1.5;color:#607068}.capture-choice i{font-style:normal;font-size:20px}.capture-menu+.round-card{margin-top:0}
.capture-hero{padding-top:27px;padding-bottom:22px}.capture-hero h1{font-size:33px;line-height:1.25}.capture-hero .hero-copy{font-size:14px;line-height:1.55;margin-top:12px;font-weight:600;color:#5f7067}.capture-choice{min-height:118px}.choice-copy small{font-size:12px;line-height:1.55;color:#506159;letter-spacing:-.2px}
.booking-review{padding:22px 18px}.booking-review>p{font-size:13px;line-height:1.65}.booking-review .eyebrow{font-size:12px}.booking-rounds{display:grid;gap:16px;margin:20px 0}.round-review-card{border:1px solid #d9dfd6;border-radius:17px;overflow:hidden;background:#fafaf4}.round-review-head{display:grid;grid-template-columns:34px 1fr auto;align-items:center;gap:7px;background:#e8eee5;padding:12px 13px}.round-review-head span{font:800 11px 'DM Sans';color:#648e78}.round-review-head strong{font-size:15px}.round-review-head small{font-size:11px;color:#68776e}.round-review-card .booking-fields{padding:14px;margin:0}.booking-fields label{font-size:13px}.booking-fields label small{font-size:11px}.booking-fields input{font-size:15px;padding:14px}.booking-fields label.needs-check:after{font-size:11px}.booking-extras{margin:-4px 0 20px;padding:15px;border-radius:14px;background:#fff0df}.booking-extras strong{font-size:13px}.booking-extras p{font-size:13px;line-height:1.55;margin:7px 0 0}.review-actions button{font-size:14px;line-height:1.3}.method-card b{font-size:16px}.method-card small{font-size:12px;line-height:1.5}.booking-title>p:last-child,.booking-loading p{font-size:13px;line-height:1.6}.booking-text-panel textarea{font-size:14px}.paste-demo{font-size:12px}
.booking-review>p#booking-review-note{font-size:16px;line-height:1.65;font-weight:600;color:#53655b;margin:16px 0 18px}.round-progress{display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:#fff;border-radius:14px;padding:14px 16px;margin-bottom:11px}.round-progress strong{font-size:16px}.round-progress span{font:700 13px 'DM Sans';color:var(--lime)}.booking-fields input,.booking-text-panel textarea,.field input{font-size:16px!important}.booking-extras strong{font-size:15px}.booking-extras p{font-size:15px;line-height:1.65}.review-actions button{font-size:16px;min-height:56px}.method-card small{font-size:13px}.booking-title>p:last-child,.booking-loading p{font-size:15px}.paste-demo{font-size:14px}
.hidden{display:none!important}
.wordmark{height:54px;display:flex;align-items:center;justify-content:center;font:800 16px 'DM Sans';letter-spacing:-.45px}.brand-symbol{display:grid;place-items:center;overflow:visible;padding:0;background:transparent;border:0}.brand-symbol img{display:block;width:38px;height:38px;object-fit:contain}
.capture-hero h1{font-size:29px;line-height:1.28;letter-spacing:-1.5px}.capture-hero h1 em{display:block;margin-top:5px;font-size:23px;line-height:1.35}.capture-hero .hero-copy{font-size:15px;margin-top:14px;color:var(--ink)}
.capture-menu{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.capture-choice.booking-choice{grid-column:1/-1;min-height:124px}.booking-choice .choice-copy small{max-width:250px}.memory-choice,.score-choice{min-height:178px;padding:15px;grid-template-columns:1fr 22px;grid-template-rows:auto 54px 1fr;gap:8px}.memory-choice .choice-number,.score-choice .choice-number{grid-column:1/3;grid-row:1}.memory-choice .choice-icon,.score-choice .choice-icon{grid-column:1;grid-row:2}.memory-choice>i,.score-choice>i{grid-column:2;grid-row:2;align-self:center;justify-self:end}.memory-choice .choice-copy,.score-choice .choice-copy{grid-column:1/3;grid-row:3;align-self:end}.memory-choice .choice-copy strong,.score-choice .choice-copy strong{font-size:16px;line-height:1.35}.memory-choice .choice-copy small,.score-choice .choice-copy small{font-size:11px;line-height:1.45;margin-top:3px}
.choice-icon svg{width:34px;height:34px;display:block}.booking-message-icon svg{fill:none;stroke:currentColor;stroke-width:3.3;stroke-linecap:round;stroke-linejoin:round}.memory-choice .capture-camera-icon{background:#d86f3f;color:#fff}.capture-camera-icon svg{fill:currentColor}.capture-camera-icon svg circle:not(.camera-dot){fill:#d86f3f}.capture-camera-icon .camera-dot{fill:#142a4a}
.topbar{display:grid;grid-template-columns:56px 1fr 56px;align-items:center}.brand-symbol{justify-self:start}.settings-button{justify-self:end;width:52px;height:36px;border:1px solid rgba(18,47,37,.12);border-radius:999px;background:#ebece4;color:var(--ink);font:800 12px 'Noto Sans KR';cursor:pointer}.choice-number{font-size:12px;line-height:1;font-weight:800;opacity:.6}
#profile .page-title h1{font-size:31px;letter-spacing:-1.3px}.settings strong{font-size:16px}.settings small{font-size:12px;line-height:1.45;margin-top:3px}
.profile-card #profile-bag-name{font-size:12px;color:#e4eee8;margin-top:3px}.profile-card #profile-round-count{font-size:11px;margin-top:4px}.cancel-profile{width:100%;margin-top:8px;border:0;background:transparent;color:#607168;padding:12px;font-size:14px;font-weight:750}
.preference-modal{position:fixed;z-index:60;inset:0}.preference-modal .scrim{position:absolute;inset:0;background:rgba(8,25,19,.62);backdrop-filter:blur(4px)}.preference-sheet{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(480px,100%);background:var(--paper);border-radius:26px 26px 0 0;padding:25px 22px calc(24px + env(safe-area-inset-bottom));box-shadow:0 -18px 60px rgba(0,0,0,.22)}.preference-sheet h2{margin:3px 0 18px;font-size:27px}.preference-close{position:absolute;right:17px;top:17px;width:36px;height:36px;border:0;border-radius:50%;background:#e5e8df;color:var(--ink);font-size:22px}.preference-options{display:grid;gap:10px}.preference-option{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px;border:1px solid #dce2db;border-radius:15px;background:#fff}.preference-option div{flex:1}.preference-option strong,.preference-option small{display:block}.preference-option strong{font-size:15px}.preference-option small{margin-top:3px;color:#6d7b73;font-size:12px;line-height:1.45}.preference-option input[type=checkbox]{width:22px;height:22px;accent-color:#123f31}.preference-option select{border:1px solid #cbd4cc;border-radius:10px;padding:9px;background:#fff;color:var(--ink);font-size:14px}.preference-action{width:100%;margin-top:13px;border:0;border-radius:14px;padding:15px;background:var(--ink);color:#fff;font-size:15px;font-weight:800}.preference-back{width:100%;margin-top:8px;border:0;background:transparent;color:#607168;padding:12px;font-size:14px;font-weight:750}
.profile-sub-header{margin-top:2px}.capture-choice{border-width:1.5px;border-style:solid}.capture-choice.booking-choice{border-color:#91b978}.capture-choice.memory-choice{border-color:#df9c76}.capture-choice.score-choice{border-color:#8fb4c8}
.empty-chart{display:grid;place-items:center}.empty-chart p{margin:0;color:#b9c6be;font-size:12px;text-align:center}.delete-score-record{width:34px;height:34px;flex:0 0 34px;border:0;border-radius:50%;background:#edf0e9;color:#637168;font-size:20px}.record-item.incomplete{padding-right:16px}
.capture-hero .hero-copy{font-size:13px;line-height:1.65;color:#617168;font-weight:600;margin-top:13px}
.booking-choice .choice-copy small{font-size:13px;line-height:1.55}.memory-choice .choice-copy small,.score-choice .choice-copy small{font-size:12px;line-height:1.5}
.method-card{min-height:112px;padding:16px 15px;grid-template-columns:60px 1fr 26px;gap:13px}.method-icon{width:58px;height:58px;border-radius:17px}.method-icon svg{display:block;width:36px;height:36px}.method-camera-icon svg{fill:currentColor}.method-camera-icon svg circle:not(.detail-dot){fill:var(--ink)}.method-camera-icon .detail-dot{fill:#fff}.method-paste-icon svg,.method-gallery-icon svg{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.method-card b{font-size:20px;line-height:1.35;letter-spacing:-.6px}.method-card small{font-size:15px;line-height:1.5;margin-top:7px}.method-card i{font-size:22px}
.schedule-section{padding:0 16px 29px}.schedule-card{background:var(--white);border-radius:21px;margin-bottom:12px;overflow:hidden;box-shadow:0 10px 28px rgba(18,47,37,.08)}.schedule-top{display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:#fff;padding:12px 15px}.schedule-date{font:700 11px 'DM Sans';letter-spacing:.6px}.schedule-status{font-size:9px;padding:5px 8px;border-radius:999px;background:var(--lime);color:var(--ink);font-weight:800}.schedule-main{padding:16px;display:grid;grid-template-columns:1fr auto;gap:5px}.schedule-main h3{font-size:19px;margin:0}.schedule-main p{font-size:10px;color:var(--muted);margin:1px 0}.schedule-time{grid-column:2;grid-row:1/3;font:700 20px 'DM Sans';align-self:center}.schedule-people{border-top:1px solid #eceee8;padding:11px 16px;color:#68766e;font-size:10px}.sub-header{height:54px;padding:8px 17px;display:grid;grid-template-columns:40px 1fr 40px;align-items:center;text-align:center;font-size:13px;font-weight:800}.sub-header button{width:38px;height:38px;border:0;background:#e8e9df;border-radius:50%;font-size:18px}.booking-title{padding-top:24px}.booking-title h1{font-size:31px}.booking-methods{padding:0 16px 25px;display:grid;gap:10px}.method-card{width:100%;min-height:90px;border:1px solid var(--line);border-radius:19px;background:var(--white);padding:13px;display:grid;grid-template-columns:54px 1fr 24px;gap:12px;align-items:center;text-align:left;color:var(--ink);cursor:pointer}.method-card input{display:none}.method-card>span:nth-child(3),.method-card>span:nth-child(2){min-width:0}.method-card b,.method-card small{display:block}.method-card b{font-size:14px}.method-card small{font-size:9px;color:var(--muted);margin-top:4px}.method-card i{font-style:normal}.method-icon{display:grid!important;place-items:center;width:52px;height:52px;border-radius:15px;background:var(--ink);color:var(--lime);font:700 17px 'DM Sans'}.text-method .method-icon{background:#e88858;color:#fff}.gallery-method .method-icon{background:#2d6c87;color:#fff}.booking-text-panel,.booking-review{margin:0 16px 26px;background:var(--white);padding:18px;border-radius:21px}.booking-text-panel h2,.booking-review h2{font-size:21px;margin:8px 0}.inline-back{border:0;background:none;padding:0;color:var(--muted);font-size:10px}.booking-text-panel textarea{width:100%;height:150px;resize:none;border:1px solid var(--line);border-radius:14px;padding:13px;margin:10px 0 6px;font:500 12px/1.65 'Noto Sans KR';color:var(--ink)}.paste-demo{border:0;background:none;color:#557667;text-decoration:underline;font-size:10px;padding:8px 0 14px}.booking-loading{text-align:center;padding:80px 25px}.booking-loading h2{font-size:19px;margin:18px 0 5px}.booking-loading p,.booking-review>p{font-size:10px;color:var(--muted)}.loader{display:block;width:45px;height:45px;margin:auto;border:5px solid #dfe5dc;border-top-color:var(--ink);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.booking-fields{display:grid;gap:10px;margin:18px 0}.booking-fields label{font-size:10px;color:var(--muted)}.booking-fields input{display:block;width:100%;margin-top:5px;border:1px solid var(--line);background:#fafaf4;border-radius:11px;padding:12px;font:600 12px 'Noto Sans KR';color:var(--ink)}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.review-actions{display:grid;grid-template-columns:1fr 2fr;gap:8px}.review-actions button{border:0;border-radius:13px;padding:14px;font-weight:800}.edit-again{background:#e5e6df;color:var(--ink)}.confirm-booking{background:var(--ink);color:#fff}

/* Keep booking method typography above the legacy compact rules. */
.booking-methods .method-card{min-height:112px;padding:16px 15px;grid-template-columns:60px 1fr 26px;gap:13px}
.booking-methods .method-card b{font-size:20px!important;line-height:1.35;letter-spacing:-.6px}
.booking-methods .method-card small{font-size:15px!important;line-height:1.5;margin-top:7px}
.booking-methods .method-icon{width:58px;height:58px;border-radius:17px}
.booking-methods .camera-method .method-icon{background:#d86f3f;color:#fff}
.booking-methods .text-method .method-icon{background:var(--ink);color:var(--lime)}
.booking-methods .gallery-method .method-icon{background:#2d6c87;color:#fff}
.memory-choice .method-camera-icon{background:#d86f3f;color:#fff}
.active-round{margin:0 16px 24px;padding:18px;border-radius:22px;background:linear-gradient(145deg,#123f31,#0b281f);color:#fff;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;box-shadow:0 14px 28px rgba(18,47,37,.2)}.active-round small{font-size:12px;font-weight:800;color:var(--lime)}.active-round h2{font-size:22px;margin:4px 0}.active-round p{font-size:13px;color:#c8d5ce;margin:0}.active-round button{border:0;border-radius:14px;background:#f4a23a;color:var(--ink);padding:13px 12px;font-size:13px;font-weight:800}.dynamic-album .album-photo{overflow:hidden}.dynamic-album .album-photo img{width:100%;height:100%;object-fit:cover}.empty-albums{text-align:center;padding:40px 20px;color:var(--muted);font-size:14px}
.active-round{display:block}.active-round-main{position:relative!important;width:100%;padding:0 34px 15px 0!important;border-radius:0!important;background:transparent!important;color:#fff!important;text-align:left}.active-round-main i{position:absolute;right:3px;top:20px;font-style:normal;font-size:28px;color:#fff}.active-round-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding-top:13px;border-top:1px solid #ffffff26}.active-round-actions button{padding:13px 8px}.active-round-actions .active-memory-camera{background:#f4a23a}.active-round-actions .active-score-camera{background:#d7e8f0;color:#17384a}
.sheet-icon.score-icon{background:#d7e8f0;color:#17384a;font:800 18px 'DM Sans'}.upload-step .sheet-copy{font-size:14px;line-height:1.7;color:#56675e}.upload-zone strong{font-size:16px}.upload-zone small{font-size:12px;line-height:1.5}
.booking-view .sub-header{height:48px;padding-top:5px;padding-bottom:5px}.booking-view .booking-title{padding:10px 22px 14px}.booking-view .booking-title .eyebrow{margin-bottom:7px}.booking-view .booking-title h1{font-size:29px;line-height:1.22}.booking-view .booking-title>p:last-child{margin:9px 0 0}.booking-view .booking-methods{gap:8px;padding-bottom:104px}.booking-view .booking-methods .method-card{min-height:104px;padding:13px 15px}
.booking-text-panel .inline-back{font-size:15px;font-weight:800;padding:5px 0 8px;color:var(--ink)}.booking-text-panel h2{font-size:24px;line-height:1.35;margin:7px 0 10px}.booking-text-panel .paste-demo{font-size:15px;font-weight:800;padding:10px 0 17px;color:#476e5e}.booking-text-panel .analyze-text{min-height:62px;padding:17px;font-size:18px;font-weight:900;border-radius:16px;box-shadow:0 12px 25px rgba(18,47,37,.2)}
.score-loading{padding:28px 18px;border-radius:18px;background:#f2f5ef;color:var(--green);font-size:17px;font-weight:750;line-height:1.55;text-align:center}
.score-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.score-meta span{padding:7px 11px;border-radius:999px;background:#eef3eb;color:#52665d;font-size:14px;font-weight:750}
.score-player{margin-top:14px;padding:16px;border:1px solid #d9e0d6;border-radius:20px;background:#fffdf8}.score-player>label,.score-totals label{display:grid;gap:6px;color:#607168;font-size:14px;font-weight:800}.score-player>label input{font-size:19px;font-weight:850}
.score-player input{min-width:0;width:100%;box-sizing:border-box;border:1px solid #d5ddd3;border-radius:12px;background:#fff;padding:11px 9px;color:var(--green);font:inherit}
.score-holes{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-top:14px}.score-holes label{display:grid;gap:5px;min-width:0}.score-holes small{font-size:11px;color:#708078;text-align:center;white-space:nowrap}.score-holes input{padding:10px 2px;font-size:17px;font-weight:850;text-align:center}
.score-uncertain input{border:2px solid #e48d65;background:#fff7f1}.score-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.score-totals input{font-size:17px;font-weight:850;text-align:center}
@media(max-width:390px){.score-player{padding:13px}.score-holes{grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.score-holes small{font-size:10px}.score-holes input{font-size:16px;padding:9px 1px}}
.archive-tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:0 16px 20px;padding:4px;border-radius:15px;background:#e7e9e1}.archive-tabs button{border:0;border-radius:11px;padding:11px 8px;background:transparent;color:#78847e;font-size:13px;font-weight:750}.archive-tabs button.active{background:var(--white);color:var(--ink);box-shadow:0 3px 10px rgba(18,47,37,.09)}
.bottom-nav{padding-left:54px;padding-right:54px;justify-content:space-between}.bottom-nav button{width:70px}.bottom-nav button b{font-size:10px}.bottom-nav .brand-home{width:74px;align-self:flex-start;margin-top:-26px;color:#d7dfd9}.bottom-nav .brand-home span{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#fffdf7;border:6px solid var(--ink);box-shadow:0 7px 18px rgba(0,0,0,.3);overflow:hidden}.bottom-nav .brand-home img{width:53px;height:53px;object-fit:contain}.bottom-nav .brand-home b{margin-top:-1px}.bottom-nav .brand-home.active{color:var(--lime)}
.bottom-nav button{color:#d3dbd6;font-size:12px;font-weight:750;gap:4px}.bottom-nav button b{font-size:12px;font-weight:800}.bottom-nav button>span:not(.rounds-icon){font-size:26px}.bottom-nav .rounds-icon{width:30px;height:30px;display:grid;place-items:center}.rounds-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}.rounds-icon svg path:nth-child(3){fill:currentColor;stroke:none}.bottom-nav .brand-home{width:66px;margin-top:-17px}.bottom-nav .brand-home span{width:54px;height:54px;border-width:5px}.bottom-nav .brand-home img{width:44px;height:44px}.bottom-nav .brand-home b{font-size:11px;margin-top:0}.bottom-nav .active{color:var(--lime)}
.bottom-nav{height:calc(64px + env(safe-area-inset-bottom));padding-top:4px;padding-bottom:calc(4px + env(safe-area-inset-bottom))}.bottom-nav .brand-home{margin-top:-10px}.bottom-nav .brand-home span{width:48px;height:48px;border-width:4px}.bottom-nav .brand-home img{width:40px;height:40px}.app-shell{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
.bottom-nav .brand-home b{font-size:12px;font-weight:800}
.rounds-view .page-title{padding-bottom:20px}.rounds-page-section{padding-bottom:110px}.active-schedule-card{outline:2px solid var(--lime);box-shadow:0 12px 32px rgba(18,47,37,.16)}.active-schedule-card .schedule-status{background:#f3ae39}.empty-rounds{margin:25px 0;padding:28px 18px;border-radius:18px;background:#e9ece5;color:#68776f;font-size:14px;line-height:1.65;text-align:center}
.completed-rounds-heading{margin-top:34px}.completed-schedule-card{opacity:.88}.completed-schedule-card .schedule-top{background:#53665d}.completed-schedule-card .schedule-status{background:#dfe5dc;color:#405149}.completed-empty{margin-top:12px}
.share-round{width:100%;margin-top:13px;border:0;border-radius:13px;background:var(--lime);color:var(--ink);padding:14px;font-size:15px;font-weight:850}.share-round-modal{position:fixed;z-index:45;inset:0;display:none}.share-round-modal.open{display:block}.share-sheet{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:min(480px,100%);max-height:94vh;overflow:auto;background:var(--paper);border-radius:26px 26px 0 0;padding:20px 20px calc(24px + env(safe-area-inset-bottom))}.share-sheet-close{position:absolute;right:16px;top:17px;width:34px;height:34px;border:0;border-radius:50%;background:#e4e6dd;font-size:20px}.share-sheet h2{margin:3px 0 6px;font-size:25px}.share-sheet>p:not(.eyebrow){margin:0;color:#6c7b73;font-size:12px;line-height:1.55}.share-preview{margin:18px 0 12px;padding:21px;border-radius:20px;background:#123f31;color:#fff}.share-preview small,.share-preview strong,.share-preview span,.share-preview b{display:block}.share-preview small{color:var(--lime);font:800 10px 'DM Sans';letter-spacing:1.3px}.share-preview strong{margin-top:9px;font-size:25px}.share-preview span{margin-top:2px;color:#c7d4cd;font-size:13px}.share-preview b{margin-top:18px;font-size:16px;line-height:1.55;color:#fff}.share-preview p{min-height:18px;margin:11px 0 0;color:#c7d4cd;font-size:12px;line-height:1.5}.share-preview footer{margin-top:17px;padding-top:12px;border-top:1px solid #ffffff24;color:#eaf8a8;font-size:11px;font-weight:750}.share-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.share-options label{display:flex;align-items:center;gap:8px;padding:12px;border:1px solid #dce1da;border-radius:13px;background:#fff;font-size:12px;font-weight:750}.share-options input{width:18px;height:18px;accent-color:#123f31}.create-share-card{margin-top:8px;font-size:15px}.create-share-card:disabled{opacity:.65}
.score-loading strong,.score-loading small{display:block}.score-loading small{margin-top:5px;color:#6f7d75;font-size:12px;font-weight:600}.score-loader{position:relative;width:82px;height:82px;margin:0 auto 16px;display:grid;place-items:center}.score-loader img{width:58px;height:58px;object-fit:contain}.score-loader i{position:absolute;inset:0;border:3px solid rgba(18,47,37,.12);border-top-color:var(--orange);border-right-color:var(--lime);border-radius:50%;animation:score-spin .9s linear infinite}@keyframes score-spin{to{transform:rotate(360deg)}}
.score-totals label{position:relative}.score-totals label b{position:absolute;right:5px;top:0;padding:1px 6px;border-radius:999px;background:#e8f1dd;color:#244d3e;font-size:12px}.save-btn{font-size:17px;font-weight:850}
