@charset "UTF-8";
:root{--paper:#f7f8f3;--white:#fff;--ink:#293d34;--muted:#748078;--line:#dfe5dc;--green:#426856;--soft:#eaf0e5;--sky:#eaf2f5;--accent:#b27852;--ease:cubic-bezier(.16,1,.3,1);color-scheme:light;font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-size:14px;line-height:1.65;-webkit-font-smoothing:antialiased}body.at-gateway{overflow:hidden}body.at-gateway #app-shell{visibility:hidden}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button{cursor:pointer;background:none;border:0;color:inherit}button:disabled{opacity:.48;cursor:wait}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid #729d83;outline-offset:4px}img{display:block;max-width:100%}svg{display:block;flex-shrink:0}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500;line-height:1.35}p{overflow-wrap:anywhere}button svg{width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.5}button .arrow-icon{width:18px;height:18px}small{font-size:12px}[hidden]{display:none!important}.svg-definitions{position:absolute;width:0;height:0;overflow:hidden}.eyebrow{display:block;font-size:10px;letter-spacing:2px;font-weight:400;color:var(--muted);line-height:1.8}.brand{display:flex;align-items:center;gap:11px;font-size:18px;font-weight:500;white-space:nowrap}.brand>svg{width:34px;height:34px;color:var(--green)}.brand small{display:block;font:9px/1.4 Arial,sans-serif;letter-spacing:2.3px;font-weight:400;margin-top:3px}
/* A calm, first-person doorway. It is an entry, not a mandatory loading screen. */
#gateway{position:fixed;inset:0;z-index:30;isolation:isolate;overflow:hidden;background:#88b1c8;color:white;height:100vh;height:100dvh}.gateway-camera{position:absolute;inset:0;animation:camera-breathe 14s ease-out both}.gateway-scene{position:absolute;max-width:none;object-fit:cover;will-change:transform}.gateway-shade{position:absolute;inset:0;background:linear-gradient(90deg,#193e4c45,transparent 70%),linear-gradient(0deg,#223e3273,transparent 36%);pointer-events:none}.gateway-light{position:absolute;inset:0;z-index:3;background:#fbfcf6;opacity:0;pointer-events:none}.gateway-header{position:absolute;top:0;left:0;right:0;padding:30px 4vw;display:flex;align-items:center;justify-content:space-between;z-index:4}.gateway-brand>svg{color:white}.gateway-login{font-size:13px;border-bottom:1px solid #fff9;padding:7px 4px}.gateway-copy{position:absolute;left:7vw;top:26%;z-index:2;text-shadow:0 1px 24px #253e4133}.gateway-copy h1{font-weight:400;font-size:clamp(32px,4vw,62px);line-height:1.3;letter-spacing:-1.5px;animation:soft-rise 1s var(--ease) .18s both}.gateway-kicker{font:10px/1.5 Arial,sans-serif;letter-spacing:2.5px;margin-bottom:23px;opacity:.8}.gateway-copy>p:last-child{font-size:15px;line-height:1.9;margin-top:26px;color:#ffffffe0;animation:soft-rise 1s var(--ease) .35s both}.gateway-bottom{position:absolute;z-index:4;bottom:8%;left:7vw;display:flex;align-items:flex-start;flex-direction:column;animation:soft-rise 1s var(--ease) .6s both}.gateway-caption{font-size:12px;color:#ffffffe0;margin-bottom:18px}.gateway-join{display:flex;align-items:center;justify-content:space-between;gap:38px;background:#fcfdf8;color:#314c3f;height:51px;padding:0 25px;font-size:14px;border-radius:0;box-shadow:0 4px 25px #263f2810;transition:background .25s,transform .4s var(--ease)}.gateway-join:hover{background:#ecf0e7;transform:translateY(-2px)}.gateway-browse{font-size:12px;padding:14px 0;color:#ffffffe0}.gateway-side-note{position:absolute;bottom:8%;right:4vw;font:10px Arial,sans-serif;letter-spacing:2px;opacity:.75}#gateway-skip{position:absolute;z-index:10;right:25px;bottom:30px;border:1px solid #b4bfb3;background:#f8faf2dd;color:var(--ink);padding:10px 17px;font-size:12px}.entering .gateway-camera{animation:none}.entering .gateway-scene{animation:walk-through 2.7s cubic-bezier(.6,0,.3,1) forwards}.entering .gateway-copy,.entering .gateway-bottom,.entering .gateway-header,.entering .gateway-side-note{transition:opacity .5s;opacity:0;pointer-events:none}.entering .gateway-light{animation:door-light 2.6s ease-in forwards}@keyframes camera-breathe{from{transform:scale(1)}to{transform:scale(1.065)}}@keyframes walk-through{from{transform:scale(1)}to{transform:translate(var(--door-pan-x,0px),var(--door-pan-y,0px)) scale(8.5)}}@keyframes door-light{0%,47%{opacity:0}88%,100%{opacity:1}}@keyframes soft-rise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}
/* Interior: cloud-white, sage, sky and enough room to breathe. */
.site-header{max-width:1320px;margin:auto;padding:24px 44px;display:flex;align-items:center;gap:40px}.desktop-nav{display:flex;gap:30px;margin-left:auto;color:var(--muted);font-size:13px}.desktop-nav a:hover{color:var(--green)}.avatar-button{background:#fff;border:1px solid var(--line);padding:10px 17px;font-size:12px;border-radius:4px}#main{max-width:1240px;margin:auto;padding:0 44px;outline:none}.page{min-height:50vh}.club-note{display:flex;align-items:center;gap:13px;border-block:1px solid var(--line);padding:21px 0;margin:0 0 55px;color:var(--muted);font-size:12px}.club-note>svg{width:17px;height:17px;color:#86a07b}.club-note>span{margin-left:auto;font-size:11px}.club-note b{font-weight:500;color:var(--ink)}.section-heading,.page-title{display:flex;align-items:center;justify-content:space-between;gap:24px}.section-heading h2{font-size:29px;letter-spacing:-.7px;margin-top:10px}.section-heading p{font-size:13px;color:var(--muted);margin-top:9px}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:43px;padding:12px 23px;line-height:1.4;border-radius:4px;font-size:13px;transition:background .25s,transform .25s}.primary{background:var(--green);color:white;border:1px solid var(--green)}.primary:hover{background:#355642}.primary>span{display:flex;align-items:center}.secondary{border:1px solid #cbd7c8;background:#fff;color:var(--green)}.secondary:hover{background:var(--soft)}.text-button{display:inline-flex;align-items:center;gap:9px;font-size:12px;color:var(--green);padding:8px 0}.text-button:hover{color:#233d30}.full-width{width:100%}.board-controls{display:flex;align-items:center;justify-content:space-between;margin-top:32px;gap:18px}.segmented{display:flex;gap:4px;background:#ecf0e8;padding:4px;border-radius:6px}.segmented button{padding:8px 29px;border-radius:3px;color:var(--muted);font-size:13px}.segmented .active{background:white;color:var(--green);box-shadow:0 2px 5px #21332208}.period-tabs{display:flex;gap:22px}.period-tabs button{font-size:13px;color:var(--muted);padding:11px 2px;border-bottom:2px solid transparent}.period-tabs .active{border-color:var(--green);color:var(--green)}.board-meta{display:flex;justify-content:space-between;gap:16px;font-size:11px;color:var(--muted);margin:18px 0 20px}.board-meta b{font-weight:400}.podium{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;overflow:auto;scroll-snap-type:x mandatory;scrollbar-width:none;align-items:start}.podium::-webkit-scrollbar{display:none}.podium-card{display:block;min-width:0;padding:0;text-align:left;overflow:hidden;border:1px solid var(--line);background:white;border-radius:9px;scroll-snap-align:start}.card-image{position:relative;background:#edf0e9;aspect-ratio:4/5;overflow:hidden}.card-image img{width:100%;height:100%;object-fit:contain;transition:transform .7s var(--ease)}.podium-card:hover .card-image img{transform:scale(1.025)}.card-info{display:flex;justify-content:space-between;gap:12px;padding:19px 18px 13px}.card-name{font-size:15px;font-weight:500;overflow-wrap:anywhere}.card-info small{font-size:11px;color:var(--muted);display:block;margin-top:4px}.card-score{font-size:14px;color:var(--green);font-weight:400}.card-score svg{width:16px;height:16px}.podium-detail-hint{display:block;padding:9px 18px 18px;font-size:11px;color:var(--muted)}.rank-badge,.social-place{position:absolute;top:12px;left:12px;font-size:10px;letter-spacing:.4px;background:#fffffff0;color:var(--green);padding:5px 9px;border-radius:3px}.carousel-nav{display:flex;align-items:center;justify-content:space-between;margin-top:20px;gap:15px}.carousel-controls{display:flex;align-items:center;gap:14px}.carousel-controls button{width:33px;height:33px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;background:white}.carousel-controls button svg{width:15px}.carousel-controls span{font:10px Arial,sans-serif;color:var(--muted);letter-spacing:1px}.quiet-invite{display:flex;align-items:center;justify-content:center;gap:65px;background:#eaf0e4;border-radius:9px;margin:64px 0 25px;padding:54px 30px}.invite-star>svg{width:115px;height:115px;color:#aec09e}.quiet-invite h2{font-size:30px;line-height:1.6;margin:12px 0}.quiet-invite p{color:var(--muted);font-size:13px;line-height:1.9}.quiet-invite .text-button{margin-top:15px}.community-invite{display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--sky);border-radius:9px;padding:35px 38px;margin-bottom:60px}.community-invite h2{font-size:25px;margin:10px 0}.community-invite p{font-size:13px;color:var(--muted)}footer{border-top:1px solid var(--line);padding:37px 0 38px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:17px;font-size:12px;color:var(--muted)}footer .brand{font-size:16px;color:var(--green)}footer .brand>svg{width:24px;height:24px}footer p{grid-column:1}.footer-links{display:flex;gap:21px;grid-column:2;grid-row:1/3}footer small{grid-column:1/-1;font-size:10px;color:#8b958e}.bottom-nav{display:none}
/* Community, gallery and personal journal. */
.page-title{padding:50px 0 32px}.page-title h1{font-size:37px;margin-top:12px;letter-spacing:-1px}.page-title h1>span{display:none}.page-title p{font-size:13px;color:var(--muted);margin-top:13px}.gallery-filters{display:flex;gap:9px;flex-wrap:wrap;padding:15px 0}.gallery-filters button,.community-tabs button{padding:10px 24px;border:1px solid var(--line);border-radius:4px;background:transparent;font-size:13px;color:var(--muted)}.gallery-filters button.active,.community-tabs button.active{background:var(--green);color:#fff;border-color:var(--green)}.gallery-filters .filter-space{flex:1}.social-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;padding-bottom:40px}.social-card{overflow:hidden;border:1px solid var(--line);border-radius:9px;background:white;min-width:0}.social-photo{display:block;position:relative;width:100%;aspect-ratio:4/5;padding:0;background:#eef0e9}.social-photo img{width:100%;height:100%;object-fit:contain}.social-card-body{padding:17px}.social-name{font-weight:500;font-size:15px;text-align:left;padding:0;overflow-wrap:anywhere}.social-card-body>p{font-size:12px;color:var(--muted);margin:8px 0 10px;white-space:pre-wrap}.like-button{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:18px;padding:5px 12px;color:var(--muted);font-size:14px;background:white}.like-button.liked{color:#a16d68;background:#fbf3f0;border-color:#e8ccc5}.like-button span{font-size:11px}.photo-comment-link{display:flex}.gallery-more{display:block;width:100%;border:1px solid var(--line);padding:14px;margin:15px 0 45px;background:#fff;border-radius:4px;font-size:12px;color:var(--green)}.community-tabs{display:flex;gap:10px;margin-bottom:28px}.community-intro{display:flex;align-items:center;gap:25px;margin-bottom:22px;padding:19px 23px;background:var(--soft);font-size:12px;color:var(--muted);border-radius:5px}.community-intro>span{font:10px Arial,sans-serif;letter-spacing:1px;color:var(--green)}.feed-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:18px 0 22px;font-size:13px}.discussion-list{display:grid;gap:15px;margin-bottom:35px}.discussion-card,.discussion-full{padding:25px;background:#fff;border:1px solid var(--line);border-radius:7px;text-align:left}.discussion-meta,.comment-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:var(--muted)}.discussion-meta b,.comment-meta b{color:var(--ink);font-size:13px;font-weight:500}.discussion-body,.comment-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.85;margin:15px 0}.discussion-actions,.comment-actions{display:flex;align-items:center;gap:18px;font-size:11px;color:var(--muted)}.discussion-count{color:var(--green)}.comments-section,.photo-comments{border-top:1px solid var(--line);margin-top:28px;padding-top:22px}.comments-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px}.comments-heading h3{font-size:18px}.comment-item{padding:17px 0;border-bottom:1px solid var(--line)}.comment-form{margin-top:18px}.comment-login,.community-pending,.community-empty,.comments-empty{font-size:12px;color:var(--muted);padding:20px;background:var(--paper);border-radius:4px}.community-form textarea{min-height:160px}.form-counter{text-align:right;font-size:11px;color:var(--muted)}.community-note{font-size:11px;line-height:1.8;color:var(--muted)}.community-form-footer{display:flex;align-items:center;justify-content:space-between;gap:15px}.profile-grid{display:grid;grid-template-columns:340px 1fr;gap:40px;align-items:start;padding-bottom:45px}.member-card{padding:28px;background:#eaf0e4;border:1px solid #dce5d6;border-radius:9px}.member-card-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:25px}.member-badge{font-size:10px;color:var(--muted)}.member-card h2{font-size:27px;overflow-wrap:anywhere}.member-facts{display:flex;gap:16px;font-size:12px;color:var(--muted);margin:14px 0}.member-bio{font-size:13px;white-space:pre-wrap;margin:16px 0}.profile-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:23px}.profile-actions .secondary{font-size:11px;padding:10px;gap:8px}.my-post{display:flex;gap:20px;padding:20px 0;border-bottom:1px solid var(--line)}.my-post>img{width:110px;height:146px;object-fit:contain;background:#edf0e9;border-radius:6px}.my-post>div{min-width:0;flex:1}.my-post p{font-size:13px;margin:7px 0}.my-post .text-button{margin-right:15px;font-size:11px}.state-tag{font-size:10px;background:var(--soft);color:var(--green);padding:5px 9px;border-radius:3px;display:inline-flex}.state-tag.private_passed{background:var(--sky);color:#557284}.state-tag.rejected,.state-tag.review{color:#995e42;background:#faf1e6}.empty-state,.error-panel,.loading-state{grid-column:1/-1;width:100%;padding:48px 23px;text-align:center;background:#eef2e9;border-radius:8px;color:var(--muted)}.podium:has(.empty-state),.podium:has(.loading-state),.podium:has(.error-panel){display:block}.empty-number{display:block;margin:auto auto 15px;width:28px;height:28px;color:#8ca17a}.empty-number svg{width:100%;height:100%}.empty-state h3{font-size:20px;color:var(--ink);margin-bottom:12px}.empty-state p,.error-panel p{font-size:13px;margin:0 auto 22px;max-width:430px}.loading-state{font-size:13px}.my-posts-empty{padding:25px}
/* Dialogs, one-time consent, upload and genuinely private feedback. */
dialog{color:var(--ink);background:#fafbf7;border:1px solid var(--line);border-radius:13px;width:min(650px,calc(100vw - 40px));max-height:88vh;max-height:88dvh;padding:25px 30px 30px;margin:auto;overscroll-behavior:contain;box-shadow:0 25px 120px #20362922}dialog::backdrop{background:#1b33294d;backdrop-filter:blur(7px)}.sheet-handle{display:none}.sheet-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.sheet-top>button,.policy-sheet-head button{font-size:25px;width:34px;height:34px;color:var(--muted)}#sheet-content h2{font-size:26px;margin:5px 0 21px;letter-spacing:-.4px}#sheet-content>p{font-size:13px;color:var(--muted);line-height:1.9;margin:15px 0}.form-field{display:block;font-size:12px;color:var(--ink);margin:18px 0}.form-field input,.form-field select,.form-field textarea,textarea{display:block;width:100%;border:1px solid #d7ded3;color:var(--ink);background:white;padding:11px 12px;border-radius:4px;margin-top:8px;font-size:14px;min-height:43px;resize:vertical}.form-field input::placeholder,.form-field textarea::placeholder{color:#9aa29b}.member-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.member-form-grid .form-field{margin-top:0}.auth-tabs{display:flex;gap:23px;margin-bottom:24px;border-bottom:1px solid var(--line)}.auth-tabs button{font-size:13px;padding:8px 0 12px;color:var(--muted);border-bottom:2px solid transparent}.auth-tabs .active{color:var(--green);border-color:var(--green)}.consent{display:flex;gap:10px;align-items:flex-start;font-size:11px;line-height:1.9;color:var(--muted);margin:20px 0}.consent input{width:15px;height:15px;flex-shrink:0;accent-color:var(--green);margin:3px 0 0}.policy-consent span{flex:1;min-width:0}.policy-link{color:var(--accent);font-size:inherit;padding:0;display:inline;text-align:left}.policy-link:hover{text-decoration:underline}.quiet-note,.field-note{font-size:11px;line-height:1.85;color:var(--muted);margin:12px 0}.form-error{font-size:12px;color:#a15d45;margin:12px 0}.form-error:empty{margin:0}.recover-link{font-size:12px;color:var(--green);padding:17px 0}.recovery-box{padding:19px;background:var(--soft);border:1px solid var(--line);font:15px/1.7 monospace;overflow-wrap:anywhere;user-select:all;margin:20px 0}.recovery-box~.secondary{margin-top:10px}.visibility-choice{border:0;padding:0;margin:19px 0}.visibility-choice legend{font-size:12px;margin-bottom:9px}.visibility-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.visibility-options label{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:13px;background:#fff;border:1px solid var(--line);border-radius:5px;font-size:12px;cursor:pointer}.visibility-options input{accent-color:var(--green);margin:0}.visibility-options label:has(input:checked){border-color:#89a188;background:#edf3e8}.visibility-options small{width:100%;padding-left:21px;font-size:10px;color:var(--muted)}.photo-input{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;height:235px;background:#eff3eb;border:1px dashed #b6c4b0;border-radius:7px;overflow:hidden;cursor:pointer}.photo-input .plus{font-size:30px;color:#849c7a;line-height:1}.photo-input b{font-size:14px;font-weight:500}.photo-input small{font-size:11px;color:var(--muted)}.photo-input input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%}.photo-input>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#f1f4ec}.photo-input .replace{position:absolute;bottom:12px;background:#fffffff0;padding:5px 12px;border-radius:3px;font-size:11px;pointer-events:none}.upload-admission-details{font-size:11px;color:var(--muted);margin:18px 0}.upload-admission-details summary{cursor:pointer}.admission-scroll{padding:15px 0;max-height:260px;overflow-y:auto}.admission-scroll h3{font-size:13px;margin:15px 0 8px}.admission-scroll p{font-size:12px}.admission-end{padding:16px;text-align:center;font-size:10px;color:var(--muted)}.honor-card{padding:20px;background:var(--soft);border-radius:6px}.honor-card h3{font-size:16px;margin-bottom:8px}.honor-card p{font-size:12px;color:var(--muted);line-height:1.9}.detail-title{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.detail-title h2{margin-bottom:5px!important}.detail-title p{font-size:11px;color:var(--muted);margin:4px 0 18px}.detail-photo{width:100%;max-height:65vh;object-fit:contain;background:#edf0e9;border-radius:5px}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:10px}.detail-caption{font-size:13px;white-space:pre-wrap;margin:18px 0}.detail-actions{display:flex;align-items:center;gap:17px;flex-wrap:wrap;margin:16px 0}.feedback-preview{padding:13px 18px 4px;border-top:1px solid #edf0e9;margin:0}.social-card-body .feedback-preview{padding:14px 0 4px;margin-top:15px}.feedback-preview-heading{display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted);gap:10px}.feedback-preview-heading strong{font-size:18px;color:var(--green);font-weight:400}.feedback-preview-heading small{font-size:9px;color:var(--muted);font-weight:400}.feedback-preview p{font-size:12px;line-height:1.85;color:#647364;margin:9px 0}.feedback-preview-tip{font-size:10px;color:var(--muted);line-height:1.9}.feedback-preview-tip>span{color:var(--green);margin-right:7px}.feedback-card{border:1px solid var(--line);border-radius:7px;padding:24px;background:#fff;margin-top:23px}.feedback-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-bottom:18px;border-bottom:1px solid var(--line)}.feedback-heading h3{font-size:22px;margin-top:7px}.feedback-eyebrow{font:9px Arial,sans-serif;letter-spacing:1.7px;color:var(--muted)}.feedback-private{font-size:10px;background:var(--soft);padding:6px 8px;border-radius:3px;white-space:nowrap;color:var(--green)}.feedback-score{display:flex;align-items:center;gap:17px;margin-top:18px}.feedback-score strong{font-size:62px;line-height:1.2;font-weight:400;letter-spacing:-4px;color:var(--green)}.feedback-score span{font-size:11px;line-height:1.8;color:var(--muted)}.feedback-summary{font-size:15px;line-height:1.8;margin:17px 0 22px}.feedback-dimensions{display:grid;grid-template-columns:1fr 1fr;gap:21px;margin:23px 0}.feedback-dimension>div:first-child{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.feedback-dimension b{font-weight:400;color:var(--green)}.feedback-track{height:4px;background:#eef1e9;margin-top:10px;border-radius:4px;overflow:hidden}.feedback-track>span{height:100%;display:block;background:#96ae89}.feedback-notes{border-top:1px solid var(--line);padding-top:14px}.feedback-notes h3{font-size:13px;margin:18px 0 10px}.feedback-card ul{padding-left:19px;color:var(--muted);font-size:12px;line-height:1.9}.feedback-card li+li{margin-top:7px}.feedback-status{font-size:13px;line-height:1.9;margin-top:20px}.feedback-dot{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#9bb38b}.feedback-consent-form .consent{font-size:11px}.feedback-card .secondary{font-size:12px;margin-top:12px}.legal-copy,.policy-copy{max-width:800px;line-height:1.95;padding:0 0 35px}.legal-copy h2,.policy-copy h2{font-size:19px;margin:26px 0 13px}.legal-copy h3,.policy-copy h3{font-size:16px;margin:23px 0 11px}.legal-copy p,.policy-copy p{font-size:13px;color:var(--muted);margin:10px 0}.policy-sheet-head{display:flex;align-items:center;justify-content:space-between;gap:15px}.policy-sheet-head h2{font-size:19px}.toast{position:fixed;left:50%;bottom:33px;transform:translateX(-50%);z-index:100;max-width:calc(100vw - 40px);background:#314b3f;color:white;box-shadow:0 8px 35px #21362220;padding:13px 22px;border-radius:5px;font-size:12px;text-align:center}.admin-card{padding:22px;border:1px solid var(--line);border-radius:6px;background:#fff;margin:17px 0}.admin-card button{font-size:12px;color:var(--green);margin:8px}.admin-stats{display:flex;gap:25px;flex-wrap:wrap}.admin-row{padding:20px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.admin-row p{font-size:12px;margin:8px 0}.pending-banner{padding:20px;background:var(--soft);border-radius:6px;font-size:13px}
@media(min-width:1440px){.gateway-copy{left:12vw}.gateway-bottom{left:12vw}}
@media(max-width:1000px){.site-header{padding:22px 28px;gap:22px}.desktop-nav{gap:20px}#main{padding:0 28px}.podium{grid-auto-columns:calc((100% - 20px)/2)}.social-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-grid{grid-template-columns:280px 1fr;gap:25px}.quiet-invite{gap:35px}.club-note>span{font-size:10px}}
@media(max-width:820px){.gateway-header{padding:24px}.gateway-brand{font-size:16px}.gateway-brand>svg{width:30px;height:30px}.gateway-copy{top:15%;left:7%;right:6%}.gateway-copy h1{font-size:clamp(29px,7vw,48px);line-height:1.45;letter-spacing:-.8px}.gateway-kicker{font-size:8px;letter-spacing:1.5px;margin-bottom:14px}.gateway-copy>p:last-child{font-size:12px;margin-top:17px;line-height:1.8}.gateway-bottom{bottom:6%;left:7%;right:7%;align-items:center}.gateway-caption{font-size:11px}.gateway-join{width:min(100%,300px);height:48px;justify-content:space-between}.gateway-browse{font-size:11px;padding:14px 20px}.gateway-side-note{display:none}.gateway-shade{background:linear-gradient(180deg,#27506542,transparent 50%,#1b35236b)}.gateway-camera{animation-duration:18s}}
@media(max-width:700px){body{font-size:13px;padding-bottom:calc(68px + env(safe-area-inset-bottom))}body.at-gateway{padding:0}.site-header{padding:19px 20px;gap:12px}.brand{font-size:15px;gap:8px}.brand>svg{width:27px;height:27px}.brand small{font-size:7px;letter-spacing:1.8px}.desktop-nav{display:none}.avatar-button{margin-left:auto;font-size:10px;padding:8px 11px}#main{padding:0 20px}.club-note{margin-bottom:32px;padding:17px 0;gap:8px;flex-wrap:wrap;font-size:10px}.club-note>svg{width:13px;height:13px}.club-note>span{display:none}.section-heading{gap:12px;align-items:flex-start}.section-heading h2{font-size:23px;letter-spacing:-.8px;line-height:1.45;max-width:270px}.section-heading .eyebrow{font-size:8px;letter-spacing:1.5px}.section-heading p{font-size:11px}.section-heading .text-button{white-space:nowrap;margin-top:23px;font-size:10px}.board-controls{margin-top:23px}.segmented button{font-size:12px;padding:7px 25px}.period-tabs{gap:20px}.period-tabs button{font-size:12px;padding:8px 2px}.board-meta{font-size:9px;margin:15px 0;gap:10px}.board-meta>span:first-child{max-width:52%}.podium{grid-auto-columns:78%;gap:14px;overflow:visible;overflow-x:auto;padding-right:16px;margin-right:-20px;scroll-padding:0;overscroll-behavior-x:contain}.card-image{aspect-ratio:4/4.5}.card-info{padding:14px 15px 10px}.card-name{font-size:14px}.card-info small{font-size:10px}.card-score{font-size:12px}.feedback-preview{padding:11px 15px 3px}.feedback-preview p{font-size:11px;line-height:1.8}.feedback-preview-tip{font-size:10px}.podium-detail-hint{font-size:10px;padding:10px 15px 15px}.carousel-nav{margin-top:17px}.carousel-nav>.text-button{font-size:10px}.carousel-controls{gap:10px}.carousel-controls button{width:29px;height:29px}.carousel-controls span{font-size:9px}.quiet-invite{gap:24px;align-items:flex-start;padding:29px 22px;margin:38px 0 18px;border-radius:7px}.invite-star>svg{width:42px;height:42px;margin-top:10px}.quiet-invite .eyebrow{font-size:8px;letter-spacing:1px}.quiet-invite h2{font-size:21px;margin:11px 0;line-height:1.55}.quiet-invite p{font-size:11px}.quiet-invite .text-button{font-size:11px}.community-invite{display:block;padding:27px 24px;margin-bottom:30px;border-radius:7px}.community-invite .eyebrow{font-size:8px;letter-spacing:1px}.community-invite h2{font-size:22px}.community-invite p{font-size:11px;line-height:1.85}.community-invite .secondary{margin-top:19px;font-size:11px;min-height:38px;padding:10px 17px}footer{display:block;padding:28px 0 25px}footer p{font-size:11px;margin:14px 0}.footer-links{gap:19px;flex-wrap:wrap;font-size:10px;margin-bottom:17px}footer small{font-size:9px}.bottom-nav{display:flex;align-items:center;justify-content:space-around;position:fixed;bottom:0;left:0;right:0;z-index:20;background:#fafbf8f5;border-top:1px solid var(--line);height:calc(66px + env(safe-area-inset-bottom));padding:6px 8px calc(6px + env(safe-area-inset-bottom));backdrop-filter:blur(18px)}.bottom-nav a,.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#909d92;font-size:10px;min-width:56px;height:49px;padding:0}.bottom-nav svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round}.bottom-nav .selected{color:var(--green)}.bottom-nav .join-nav>span{width:30px;height:24px;background:var(--green);color:#fff;border-radius:7px;font-size:22px;line-height:22px}.at-gateway .bottom-nav{display:none}.page-title{padding:33px 0 26px;align-items:flex-start;gap:15px}.page-title h1{font-size:28px;margin-top:10px}.page-title .eyebrow{font-size:8px;letter-spacing:1px}.page-title p{font-size:11px;line-height:1.9}.page-title>.primary{font-size:10px;gap:5px;min-height:37px;padding:9px 12px;white-space:nowrap;margin-top:24px}.community-tabs{margin-bottom:21px}.community-tabs button{font-size:11px;padding:9px 20px}.community-intro{display:block;padding:17px 18px;font-size:11px}.community-intro>span{display:block;margin-bottom:7px;font-size:9px}.discussion-card,.discussion-full{padding:20px}.discussion-body,.comment-body{font-size:13px}.feed-heading{font-size:11px;gap:10px}.feed-heading .text-button{font-size:10px}.gallery-filters{gap:6px}.gallery-filters button{font-size:11px;padding:8px 17px}.social-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.social-card-body{padding:12px}.social-name{font-size:12px}.social-card-body>p{font-size:10px}.social-grid .feedback-preview-heading{font-size:9px}.social-grid .feedback-preview-heading strong{font-size:16px}.social-grid .feedback-preview-tip{display:none}.social-grid .feedback-preview p{font-size:10px}.social-grid .photo-comment-link{font-size:10px}.social-place{font-size:9px;padding:4px 7px;top:8px;left:8px}.profile-grid{display:block}.member-card{padding:23px;margin-bottom:27px}.member-card h2{font-size:25px}.my-post{gap:15px;padding:20px 0}.my-post>img{width:85px;height:115px}.my-post .text-button{margin-right:12px}.empty-state{padding:35px 22px}.empty-state h3{font-size:18px}.empty-state p{font-size:12px}.empty-state .primary{font-size:12px}.gallery-more{font-size:11px}.toast{bottom:calc(79px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100vw - 30px);font-size:11px}.at-gateway .toast{bottom:25px}dialog{width:100%;max-width:none;margin:auto 0 0;max-height:90vh;max-height:90dvh;border-radius:16px 16px 0 0;padding:12px 22px calc(25px + env(safe-area-inset-bottom))}.sheet-handle{display:block;width:32px;height:3px;background:#c7d1c1;border-radius:3px;margin:0 auto 8px}.sheet-top{margin-bottom:15px}#sheet-content h2{font-size:23px;margin-bottom:17px}.form-field{font-size:12px;margin:16px 0}.form-field input,.form-field select,.form-field textarea{font-size:16px;min-height:44px}.member-form-grid{gap:14px}.consent{font-size:10px}.quiet-note{font-size:11px}.photo-input{height:210px}.visibility-options label{padding:12px;font-size:12px}.visibility-options small{font-size:9px}.feedback-card{padding:19px;margin-top:20px}.feedback-heading h3{font-size:20px}.feedback-summary{font-size:14px}.feedback-score strong{font-size:57px}.feedback-dimensions{gap:18px}.detail-photo{max-height:57vh}.legal-copy h2,.policy-copy h2{font-size:18px}.legal-copy p,.policy-copy p{font-size:12px}.policy-sheet-head h2{font-size:17px}.comments-heading h3{font-size:17px}.gallery-filters .filter-space{min-width:1px}}
@media(max-width:375px){#main{padding:0 16px}.site-header{padding:18px 16px}.brand{font-size:14px}.avatar-button{font-size:9px;padding:8px 9px}.section-heading h2{font-size:21px}.quiet-invite{gap:15px;padding:24px 17px}.invite-star>svg{width:28px;height:28px}.quiet-invite h2{font-size:20px}.gallery-filters button{padding:8px 13px}.gateway-copy h1{font-size:29px}.gateway-copy{top:16%}.gateway-copy>p:last-child{font-size:11px}.gateway-bottom{bottom:4%}.gateway-caption{font-size:10px}.social-grid{gap:9px}.social-card-body{padding:10px}.podium{margin-right:-16px}}
@media(max-height:640px){.gateway-copy{top:21%}.gateway-copy h1{font-size:29px}.gateway-kicker{display:none}.gateway-copy>p:last-child{font-size:11px;margin-top:12px}.gateway-caption{display:none}.gateway-bottom{bottom:4%}.gateway-join{height:43px}.gateway-header{padding:16px 24px}.gateway-browse{padding:8px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.gateway-camera,.gateway-scene{animation:none!important}.entering .gateway-light{opacity:1}}

.discussion-meta .member-monogram{width:28px;height:28px;border-radius:50%;background:var(--soft);color:var(--green);display:grid;place-items:center;font-size:11px}.discussion-meta b{margin-right:auto}.discussion-body{display:block;text-align:left;width:100%;padding:0}.discussion-footer{display:flex;gap:15px;justify-content:space-between;align-items:center}.comment{border-bottom:1px solid var(--line);padding:17px 0}.comment>p{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0;line-height:1.85}.button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}.notice{padding:18px;background:var(--soft);font-size:12px;border-radius:5px}

.arrow-icon{display:inline-block;width:18px;height:18px;flex:0 0 18px;vertical-align:middle;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.podium-detail-hint .arrow-icon{width:14px;height:14px;margin-left:4px}

/* Living meadow and the perspective passage. No idle image zoom. */
.gateway-camera{animation:none;transform:none}.gateway-poster,.gateway-film{position:absolute;max-width:none;object-fit:cover;pointer-events:none}.gateway-film{opacity:0;transition:opacity .6s}.video-ready .gateway-film{opacity:1}.gateway-depth{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}.depth-active .gateway-depth{opacity:1;transition:opacity .18s}.entering .gateway-light{animation:none;opacity:var(--entry-light,0)}.entering.gentle-entry .gateway-light{opacity:1;transition:opacity .6s}.gateway-shade{background:linear-gradient(90deg,#14334525,transparent 62%),linear-gradient(0deg,#1a332f66,transparent 35%)}.gateway-copy{text-shadow:0 2px 18px #25455155}.entering .gateway-shade{transition:opacity .45s;opacity:0}
@media(max-width:820px){.gateway-copy{top:13%}.gateway-copy>p:last-child{max-width:210px;text-shadow:0 1px 8px #25455188}.gateway-kicker{margin-bottom:15px}}
@media(prefers-reduced-motion:reduce){.gateway-film,.gateway-depth{display:none}.gateway-camera{animation:none!important}}
.entering .gateway-copy,.entering .gateway-bottom,.entering .gateway-header,.entering .gateway-side-note{animation:none!important;opacity:0!important;pointer-events:none}.gateway-copy{transition:opacity .45s}.gateway-bottom{transition:opacity .45s}@media(max-width:820px){.gateway-copy{top:14%}.gateway-kicker,.gateway-copy>p:last-child{display:none}.gateway-copy h1{font-size:30px;line-height:1.35}}

#gateway-play{position:absolute;z-index:5;right:22px;top:82px;padding:8px 12px;color:white;border:1px solid #fff8;border-radius:20px;background:#23423538;backdrop-filter:blur(8px);font-size:11px}.entering #gateway-play{display:none}

/* Keep the feed compact; complete shape reviews live in the photo detail. */
.feedback-preview p,.feedback-preview-tip{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}.feedback-preview p{-webkit-line-clamp:3;line-clamp:3}.feedback-preview-tip{-webkit-line-clamp:2;line-clamp:2}.feedback-summary,.feedback-notes li{overflow-wrap:anywhere}.feedback-heading>div{min-width:0}

/* Complete landscape scene: native 4:3 composition, copy in the foreground. */
.club-welcome{position:relative;isolation:isolate;aspect-ratio:4/3;margin:28px 0 36px;padding:0;overflow:hidden;border-radius:12px;background:#548caa;color:#fff}
.welcome-landscape{position:absolute;inset:0;z-index:-2;overflow:hidden;border-radius:inherit;pointer-events:none}
.welcome-landscape img,.welcome-landscape video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;max-width:none}
.welcome-landscape video{opacity:0;transition:opacity .45s ease}.club-welcome.is-playing .welcome-landscape video{opacity:1}
.club-welcome::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#173e4a45,transparent 64%),linear-gradient(0deg,#15362930,transparent 38%)}
.welcome-copy{position:absolute;left:6%;top:24%;width:53%;text-shadow:0 1px 14px #173d4938}
.club-welcome .eyebrow{color:#fffffff2;font-size:10px;letter-spacing:2px;line-height:1.7}
.club-welcome h1{font-size:clamp(30px,4.6vw,64px);line-height:1.32;letter-spacing:-1.8px;margin:22px 0 19px;font-weight:500}
.club-welcome p{font-size:clamp(13px,1.15vw,16px);line-height:2;color:#fffffff5}
.club-welcome .primary{background:#fcfdf8;color:#355848;border:1px solid #ffffffb8;margin-top:29px;min-height:48px;padding:12px 24px;font-size:14px;gap:32px;box-shadow:0 5px 22px #193e4b0d;text-shadow:none}
.club-welcome .primary:hover{background:#fff;box-shadow:0 7px 24px #193e4b20}
.welcome-signature{position:absolute;bottom:28px;left:6%;font:9px/1.5 Arial,sans-serif;letter-spacing:2px;color:#ffffffd9}
@media(max-width:700px){
.club-welcome{margin:18px 0 26px;border-radius:8px}.welcome-copy{left:5.5%;top:13%;width:58%}
.club-welcome .eyebrow{font-size:8px;letter-spacing:.9px}.club-welcome h1{font-size:clamp(20px,5.7vw,36px);letter-spacing:-.8px;line-height:1.38;margin:12px 0 10px}
.club-welcome p{font-size:clamp(11px,2.7vw,15px);line-height:1.85;letter-spacing:-.15px}
.club-welcome .primary{font-size:11px;min-height:40px;padding:8px 15px;margin-top:17px;gap:23px}.welcome-signature{display:none}
}
@media(max-width:359px){.welcome-copy{top:11%;width:60%}.club-welcome .eyebrow{font-size:7px;letter-spacing:.6px}.club-welcome h1{font-size:19px;margin:9px 0 7px}.club-welcome p{font-size:10px;line-height:1.8}.club-welcome .primary{margin-top:12px;min-height:38px;font-size:10px;padding:8px 13px}}
@media(prefers-reduced-motion:reduce){.welcome-landscape video{transition:none}}

/* The dialog frame stays still. Photos and review text share one normal scroller. */
#sheet[open]{display:flex;flex-direction:column;overflow:hidden}
#sheet>.sheet-top,#sheet>.sheet-handle{flex-shrink:0}
#sheet-content{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scroll-behavior:auto;padding:0 2px 3px;scrollbar-width:thin}
@media(max-width:820px),(hover:none),(pointer:coarse){
 dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none;background:#1b33295c}
 #sheet{max-height:90svh}
}

.club-welcome .primary:focus-visible{outline-color:#fff;outline-offset:4px}

/* Fixed preview slots keep every public photo card aligned across content lengths. */
.podium{align-items:stretch}
.podium-card,.social-card{display:flex;flex-direction:column}
.podium-card>.card-image,.social-card>.social-photo{flex-shrink:0;width:100%}
.card-info>div:first-child{min-width:0;flex:1}
.card-name,.social-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.card-score{flex-shrink:0;white-space:nowrap}
.card-info small,.social-card-body>p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;line-height:1.8;height:3.6em}
:is(.podium-card,.social-card) .feedback-preview{display:grid;grid-template-rows:28px auto 38px}
:is(.podium-card,.social-card) .feedback-preview p{height:5.55em}
:is(.podium-card,.social-card) .feedback-preview-tip{height:3.8em}
.podium-detail-hint{margin-top:auto}
.social-card-body{display:flex;flex-direction:column;flex:1;min-width:0}
.social-name{min-height:1.6em}
.social-card-body>.like-button{align-self:flex-start}
.social-card .photo-comment-link{margin-top:auto}
@media(max-width:700px){
 :is(.podium-card,.social-card) .feedback-preview p{height:5.4em}
 .social-card .feedback-preview{grid-template-rows:28px auto}
}
/* A tiny vector galaxy rotates gently; no video, canvas or blur layers. */
.galaxy-mark{flex-shrink:0;transform-origin:50% 50%;animation:club-galaxy-turn 32s linear infinite}
@keyframes club-galaxy-turn{to{transform:rotate(360deg)}}
body.club-page-hidden .galaxy-mark,body:has(#sheet[open]) .galaxy-mark,.at-gateway #app-shell .galaxy-mark{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){.galaxy-mark{animation:none}}
