:root{color-scheme:light;--ink: #0f1411;--text: #17221b;--muted: #6b736b;--paper: #f7f8f4;--mist: #e7eae3;--surface: #eef2e9;--surface-strong: #ffffff;--fairway: #1c7a4e;--bright: #2e9e6a;--lime: #a7d883;--shadow-dark: rgba(110, 125, 105, .34);--shadow-light: rgba(255, 255, 255, .92);--line: rgba(15, 20, 17, .08)}:root[data-theme=dark]{color-scheme:dark;--ink: #f7f8f4;--text: #edf4e9;--muted: #9aa59b;--paper: #0f1411;--mist: #171f1a;--surface: #151d18;--surface-strong: #1b251f;--fairway: #34e0a1;--bright: #55d17d;--lime: #c8e9ab;--shadow-dark: rgba(0, 0, 0, .55);--shadow-light: rgba(255, 255, 255, .05);--line: rgba(247, 248, 244, .1)}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 15% 8%,rgba(46,158,106,.18),transparent 32rem),radial-gradient(circle at 85% 15%,rgba(200,233,171,.16),transparent 28rem),var(--paper);color:var(--text);font-family:Noto Sans,Noto Sans Thai,system-ui,sans-serif}button,input{font:inherit}button{color:inherit}.app-shell{min-height:100vh;display:flex;flex-direction:column;background:var(--paper)}.phone-frame{width:100%;height:100vh;background:linear-gradient(145deg,var(--surface-strong),var(--surface));overflow:hidden;position:relative;display:flex;flex-direction:column}.topbar{height:76px;padding:18px 20px 12px;display:flex;align-items:center;justify-content:space-between;flex:0 0 auto}.header-actions{display:flex;gap:12px;align-items:center}.topbar img{width:146px;max-height:42px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,0,0,.14))}.screen{flex:1;min-height:0;overflow:hidden;position:relative}.page{height:100%;overflow-y:auto;padding:2px 18px 104px;scrollbar-width:none}.page::-webkit-scrollbar{display:none}.page-title{padding:8px 4px 18px}.eyebrow{color:var(--fairway);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1,h2{font-family:Noto Sans,Noto Sans Thai,sans-serif;letter-spacing:0}.page-title h1{margin:4px 0 7px;font-size:34px;line-height:1.02}.page-title p{margin:0;color:var(--muted);line-height:1.45;font-size:14px}.neu-card,.icon-button,.segmented,.tabbar,input{background:linear-gradient(145deg,var(--surface-strong),var(--surface));box-shadow:9px 9px 18px var(--shadow-dark),-8px -8px 16px var(--shadow-light);border:1px solid var(--line)}.icon-button{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;cursor:pointer}.icon-button.active,.primary-button{background:linear-gradient(135deg,var(--fairway),var(--lime));color:#07120c;border:0;box-shadow:0 16px 30px #2e9e6a4d,inset 0 1px #ffffff59}.primary-button{min-height:42px;padding:0 18px;border-radius:16px;font-weight:800;cursor:pointer}.primary-button.wide{width:100%}.hero{min-height:230px;border-radius:24px;padding:20px;color:#f7f8f4;background-size:cover;background-position:center;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;box-shadow:16px 18px 38px var(--shadow-dark)}.hero h1{font-size:34px;line-height:1;margin:8px 0;max-width:260px}.hero p,.hero-row{margin:0}.hero-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.hero-row strong{font-family:Noto Sans Mono,monospace;font-size:24px}.section-title{display:flex;justify-content:space-between;align-items:baseline;padding:26px 2px 12px}.section-title h2{margin:0;font-size:21px}.section-title span{color:var(--muted);font-size:12px}.course-list,.feed-list{display:grid;gap:14px}.course-card,.thread{width:100%;border-radius:22px;padding:12px;display:grid;grid-template-columns:84px 1fr auto;align-items:center;gap:12px;text-align:left;cursor:pointer}.course-card img,.thread img{width:84px;height:72px;object-fit:cover;border-radius:17px}.course-card h3,.event-card h3,.round-row h3{margin:3px 0 4px;font-size:15px}.course-card p,.event-card p,.round-row p,.thread span,.profile-card p{margin:0;color:var(--muted);font-size:12px;line-height:1.35}.course-card span,.rating,.thread small{color:var(--fairway);font-size:12px;font-weight:700}.rating{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.event-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.event-card,.caddy-card,.feed-card,.profile-card{border-radius:22px;padding:12px}.event-card img{width:100%;aspect-ratio:1.35;object-fit:cover;border-radius:17px;margin-bottom:10px}.segmented{height:48px;border-radius:18px;padding:5px;display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-bottom:10px}.segmented button{border:0;border-radius:14px;background:transparent;color:var(--muted);cursor:pointer;font-weight:800}.segmented button.active{color:#07120c;background:linear-gradient(135deg,var(--fairway),var(--lime))}.caddy-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.caddy-card{min-width:0;text-align:left;cursor:pointer}.caddy-card img{width:100%;aspect-ratio:.9;object-fit:cover;border-radius:18px;margin-bottom:10px}.caddy-card strong,.caddy-card span{display:block}.caddy-card span{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:3px 0 8px}.feed-card{display:grid;grid-template-columns:110px 1fr;gap:13px}.feed-card img{width:110px;height:116px;object-fit:cover;border-radius:18px}.feed-card p{font-size:13px;line-height:1.42}.feed-card small{color:var(--muted);display:flex;gap:5px;align-items:center}.overlay{position:absolute;inset:0;z-index:10;display:grid;place-items:end center;background:#0f14117a;padding:18px}.detail-panel{position:relative;width:100%;max-height:92%;overflow:auto;border-radius:28px;background:var(--surface-strong);box-shadow:0 28px 80px #0000006b}.detail-panel>img{width:100%;height:300px;object-fit:cover}.detail-body{padding:18px}.detail-body h2{margin:5px 0 8px;font-size:28px}.detail-body p{color:var(--muted);line-height:1.5}.back{position:absolute;top:14px;left:14px;z-index:1}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.metric{border-radius:18px;padding:12px 8px;text-align:center;background:var(--surface);box-shadow:inset 5px 5px 10px var(--shadow-dark),inset -5px -5px 10px var(--shadow-light);min-width:0}.metric strong{font-family:Noto Sans Mono,monospace;display:block;font-size:15px;color:var(--fairway);overflow-wrap:anywhere}.metric span{color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase}.chat-room{height:100%;display:flex;flex-direction:column}.chat-room header,.chat-room footer{padding:12px 16px;display:flex;align-items:center;gap:12px}.chat-room header img{width:46px;height:46px;object-fit:cover;border-radius:50%}.chat-room header span{display:block;color:var(--fairway);font-size:12px}.messages{flex:1;overflow-y:auto;padding:12px 16px 20px;display:flex;flex-direction:column;gap:10px}.messages p{max-width:78%;margin:0;padding:12px 14px;border-radius:18px 18px 18px 6px;background:var(--surface);box-shadow:inset 4px 4px 8px var(--shadow-dark),inset -4px -4px 8px var(--shadow-light)}.messages p.mine{align-self:flex-end;border-radius:18px 18px 6px;color:#07120c;background:linear-gradient(135deg,var(--fairway),var(--lime))}.chat-room footer input{flex:1;min-width:0;height:44px;border-radius:22px;padding:0 16px;color:var(--text)}.thread{margin-bottom:13px}.auth-page{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:32px}.auth-page h1{font-size:34px;margin:18px 0 8px}.auth-page p{color:var(--muted);line-height:1.45}.profile-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px}.avatar{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;color:#07120c;font-family:Noto Sans,Noto Sans Thai,sans-serif;font-size:24px;font-weight:800;background:linear-gradient(135deg,var(--fairway),var(--lime))}.profile-card h2{margin:0 0 2px}.round-row{display:grid;grid-template-columns:58px 1fr;gap:12px;padding:15px 0;border-bottom:1px solid var(--line)}.round-row>strong{font-family:Noto Sans Mono,monospace;font-size:25px;color:var(--fairway)}.round-row span{color:var(--muted);font-size:12px;font-style:italic}.tabbar{position:absolute;left:50%;bottom:14px;width:calc(100% - 28px);max-width:500px;transform:translate(-50%);height:70px;border-radius:24px;display:grid;grid-template-columns:repeat(4,1fr);padding:8px;gap:4px;z-index:5}.tabbar button{border:0;background:transparent;border-radius:18px;color:var(--muted);display:grid;place-items:center;gap:3px;cursor:pointer;font-size:11px;font-weight:800}.tabbar button.active{color:#07120c;background:linear-gradient(135deg,var(--fairway),var(--lime))}.toast{position:absolute;left:50%;bottom:96px;width:calc(100% - 36px);max-width:480px;transform:translate(-50%);border-radius:20px;padding:13px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;background:var(--ink);color:var(--paper);box-shadow:0 18px 40px #00000057;z-index:20}.toast span{display:block;font-family:Noto Sans Mono,monospace;font-size:10px;opacity:.7}.toast button{border:0;border-radius:12px;padding:8px 10px;cursor:pointer}.notice{color:#b83232;font-size:13px}.skeleton{min-height:230px}@media(min-width:600px){.topbar,.page{max-width:1200px;margin:0 auto;width:100%}.chat-room{max-width:800px;margin:0 auto;width:100%;background:var(--surface-strong);border-left:1px solid var(--line);border-right:1px solid var(--line)}.detail-panel{max-width:540px;margin:0 auto}.overlay{place-items:center}.course-list{grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.feed-list{grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.event-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.caddy-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}.insta-card{display:flex;flex-direction:column;border-radius:24px;padding:16px;margin-bottom:24px;background:linear-gradient(145deg,var(--surface-strong),var(--surface))}.insta-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.insta-author{display:flex;align-items:center;gap:10px;cursor:pointer}.avatar-container{position:relative;width:44px;height:44px}.insta-avatar{width:44px;height:44px;object-fit:cover;border-radius:50%;border:2px solid var(--fairway)}.online-badge{position:absolute;bottom:2px;right:2px;width:10px;height:10px;background-color:#34e0a1;border:2px solid var(--surface-strong);border-radius:50%}.insta-author-info{display:flex;flex-direction:column}.insta-author-info strong{font-size:14px;color:var(--text)}.insta-author-info span{font-size:11px;color:var(--muted)}.post-type-badge{font-size:10px;font-weight:800;text-transform:uppercase;padding:4px 8px;border-radius:10px;letter-spacing:.05em}.post-type-badge.photo{background:#2e9e6a1a;color:var(--fairway)}.post-type-badge.tip{background:#a7d88333;color:var(--muted)}.insta-image-container{width:100%;aspect-ratio:1.1;overflow:hidden;border-radius:16px;margin-bottom:12px;background-color:var(--mist);position:relative}.insta-image{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.insta-image-container:hover .insta-image{transform:scale(1.03)}.insta-actions{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.left-actions{display:flex;gap:16px}.action-btn{background:none;border:none;padding:0;cursor:pointer;color:var(--text);display:flex;align-items:center;justify-content:center;transition:transform .2s ease,color .2s ease}.action-btn:hover{transform:scale(1.15)}.like-btn.liked{color:#e02424}.post-time{font-size:11px;color:var(--muted)}.insta-likes{font-size:13px;margin-bottom:6px}.insta-caption{font-size:13px;line-height:1.45;margin-bottom:12px}.insta-caption strong{margin-right:4px}.insta-comments{border-top:1px solid var(--line);padding-top:8px;margin-bottom:12px;display:flex;flex-direction:column;gap:6px;max-height:140px;overflow-y:auto;scrollbar-width:none}.insta-comments::-webkit-scrollbar{display:none}.comment-item{font-size:12px;line-height:1.4;display:flex;align-items:baseline;justify-content:space-between;gap:8px}.comment-item strong{margin-right:4px;flex-shrink:0}.comment-time{font-size:10px;color:var(--muted);margin-left:auto}.feed-comment-form{display:flex;align-items:center;gap:8px;border-top:1px solid var(--line);padding-top:8px}.feed-comment-form input{flex:1;border:1px solid var(--line);border-radius:12px;padding:6px 12px;font-size:12px;background:var(--surface);color:var(--text);box-shadow:none}.feed-comment-form button{background:none;border:none;color:var(--fairway);font-weight:800;font-size:12px;cursor:pointer;padding:6px}.feed-comment-form button:disabled{color:var(--muted);cursor:default;opacity:.5}.caddistagram-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px}.caddistagram-header .page-title{flex:1;padding-bottom:0}.add-post-btn{display:inline-flex;align-items:center;gap:6px;margin-top:12px;padding:8px 14px;font-size:13px;border-radius:12px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 18px 10px;border-bottom:1px solid var(--line)}.modal-header h2{margin:0;font-size:18px}.close-btn{width:32px;height:32px}.form-group{margin-bottom:16px;display:flex;flex-direction:column;gap:6px}.form-group label{font-size:11px;font-weight:700;text-transform:uppercase;color:var(--muted);letter-spacing:.05em}.form-group select,.form-group textarea{width:100%;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:13px}.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--fairway)}.form-group textarea{resize:vertical}.preset-images-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.preset-img-btn{border:2px solid transparent;border-radius:10px;overflow:hidden;padding:0;cursor:pointer;aspect-ratio:1;background:none}.preset-img-btn img{width:100%;height:100%;object-fit:cover}.preset-img-btn.selected{border-color:var(--fairway);box-shadow:0 0 8px #2e9e6a66}
