/* V1.4 friends layouts. Coordinates are relative to the shared main beginning at y68. */
.v14-friends,.v14-friends *{box-sizing:border-box}
.v14-friends{--v14f-art:'/premium-v14/assets/';color:#f7f1df;font-family:'PingFang SC',system-ui,sans-serif;font-size:13px;min-width:0;padding:2px 16px 20px;background:transparent;overflow-wrap:anywhere}
.v14-friends p,.v14-friends h2{margin:0}.v14-friends img{max-width:100%}
.v14-friends .v14f-subheader{display:flex;align-items:center;gap:8px;min-height:48px;margin:-2px 0 2px;color:#f4cc69}
.v14-friends .v14f-subheader .v14f-button{width:auto;min-width:80px;margin:0}.v14-friends .v14f-subheader>span{font-size:13px}
.v14-friends .v14f-hero{position:relative;height:108px;overflow:hidden;border-radius:9px;margin-bottom:18px;background:#041017}
.v14-friends .v14f-hero-large{height:145px;margin-bottom:16px}
.v14-friends .v14f-hero>img{display:block;width:100%;height:100%;object-fit:cover}
.v14-friends .v14f-hero-copy{position:absolute;inset:14px;color:#f7f1df;text-shadow:0 2px 5px #000}
.v14-friends .v14f-hero h2{font-size:22px;line-height:28px;font-weight:600;margin-bottom:9px}
.v14-friends .v14f-hero p{font-size:11px;line-height:16px}
.v14-friends .v14f-home-copy{min-height:95px;padding:0 4px;margin-bottom:16px}
.v14-friends .v14f-home-copy h2{font-size:16px;line-height:23px;color:#f4cc69;margin-bottom:8px}
.v14-friends .v14f-home-copy p{font-size:12px;line-height:21px}
.v14-friends .v14f-home-actions{display:grid;gap:12px;margin-bottom:20px}
.v14-friends .v14f-panel{border:10px solid transparent;border-image:url('/premium-v14/assets/ui/panel-surface-3x.png') 32 36 fill stretch;border-image-width:10px 12px;padding:6px 2px;margin:0 0 10px;background:#041017;background-clip:padding-box;min-width:0;border-radius:9px}
.v14-friends .v14f-policy{min-height:112px}.v14-friends .v14f-panel-title{font-size:15px;line-height:22px;color:#f4cc69;font-weight:600;margin-bottom:8px}
.v14-friends .v14f-policy p{font-size:11px;line-height:23px}
.v14-friends .v14f-button{display:block;width:100%;min-height:48px;border:10px solid transparent;border-image:url('/premium-v14/assets/ui/button-gold-default.png') 30 36 fill stretch;border-image-width:10px 12px;background:transparent;color:#15120a;padding:4px 6px;margin:0;font:600 13px/20px 'PingFang SC',system-ui,sans-serif;border-radius:8px;cursor:pointer;touch-action:manipulation}
.v14-friends .v14f-button-dark{border-image-source:url('/premium-v14/assets/ui/button-dark-default.png');color:#f7f1df}
.v14-friends .v14f-button:disabled{border-image-source:url('/premium-v14/assets/ui/button-gold-disabled.png');color:#88949d;cursor:default}
.v14-friends .v14f-button:focus-visible,.v14-friends input:focus-visible{outline:2px solid #ffe8a0;outline-offset:2px}
.v14-friends .v14f-button:active:not(:disabled){border-image-source:url('/premium-v14/assets/ui/button-gold-pressed.png')}
.v14-friends .v14f-button-dark:active:not(:disabled){border-image-source:url('/premium-v14/assets/ui/button-dark-pressed.png')}
.v14-friends .v14f-muted{color:#a6b5bf;font-size:11px;line-height:20px;padding:3px 4px}
.v14-friends .v14f-label{font-size:13px;line-height:20px;margin:0 4px 8px}
.v14-friends .v14f-capacity{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 8px;margin-bottom:12px}
.v14-friends .v14f-capacity .v14f-button{padding:4px 0;min-width:0}
.v14-friends .v14f-row{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:28px;padding:4px 0;font-size:12px;line-height:19px;flex-wrap:wrap}
.v14-friends .v14f-row>span{color:#a6b5bf}.v14-friends .v14f-row>strong{font-size:13px;max-width:100%;overflow-wrap:anywhere;text-align:right}
.v14-friends .v14f-row .v14f-button{width:100%;margin:4px 0}
.v14-friends .v14f-field{display:grid;gap:14px;color:#f7f1df;margin:26px 4px 20px;font-size:13px}
.v14-friends .v14f-field input{width:100%;min-height:56px;border:1px solid #846832;border-radius:9px;background:#041017;color:#f7f1df;padding:12px 14px;font:16px system-ui;min-width:0}
.v14-friends .v14f-field~.v14f-button{margin-top:24px}
.v14-friends .v14f-section-title{font-size:16px;line-height:23px;margin:0 4px 12px;color:#f4cc69}
.v14-friends .v14f-seats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 8px;margin:0 0 18px}
.v14-friends .v14f-seat{height:92px;min-width:0;border:10px solid transparent;border-image:url('/premium-v14/assets/ui/panel-surface-3x.png') 32 36 fill stretch;border-image-width:10px 12px;background:#041017;background-clip:padding-box;text-align:center;padding:0 2px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px}
.v14-friends .v14f-avatar{display:block;width:38px;height:38px;border-radius:50%;object-fit:cover}
.v14-friends .v14f-seat strong{font-size:11px;line-height:14px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.v14-friends .v14f-seat>span{font-size:10px;line-height:13px;color:#a6b5bf}
.v14-friends .v14f-seat .v14f-seat-empty{font-size:20px;line-height:28px;color:#f4cc69}
.v14-friends .v14f-actions{display:grid;gap:10px;margin-top:18px}
.v14-friends .v14f-confirm{margin:24px 8px 12px;padding:12px 10px;min-height:216px}
.v14-friends .v14f-confirm p{font-size:12px;line-height:22px;margin-bottom:8px}
.v14-friends .v14f-confirm .v14f-panel-title{text-align:center;font-size:18px;line-height:26px;margin-bottom:18px}
.v14-friends .v14f-confirm .v14f-button{margin-top:10px}
.v14-friends .v14f-share{padding:16px 12px;text-align:center;min-height:190px;margin:22px 0 16px}
.v14-friends .v14f-room-code{font-size:24px;line-height:32px;color:#f4cc69;user-select:all;overflow-wrap:anywhere;margin:12px 0}
.v14-friends .v14f-code-small{user-select:all;font-size:12px;color:#a6b5bf;line-height:20px}
.v14-friends .v14f-share~.v14f-button{margin-top:16px}
.v14-friends .v14f-error,.v14-friends .v14f-status{padding:12px;margin:0 0 12px;font-size:12px;line-height:20px;background:#10222a;border:1px solid #695031;border-radius:9px}
.v14-friends .v14f-error{color:#ff7770}.v14-friends .v14f-status{color:#65df9d}
.v14-friends .v14f-fixture{margin-top:18px;color:#a6b5bf;font-size:11px}.v14-friends .v14f-fixture summary{min-height:48px;padding:16px 0}.v14-friends .v14f-fixture .v14f-button{margin:8px 0}
@media(min-width:390px){.v14-friends .v14f-seats{gap:10px}.v14-friends .v14f-seat{height:92px}}
@media(prefers-reduced-motion:no-preference){.v14-friends .v14f-button{transition:filter .12s}}

/* friends-waiting.layout.json: banner y70/h108, roster y224–394,
   fee y416/h48, chips y474/h48, primary y548/h48 at 360×705.
   Keep all real seats; only the roster scrolls beyond the design's two rows. */
.v14-friends.v14f-waiting .v14f-section-title{height:28px;line-height:23px;margin-bottom:0}
.v14-friends.v14f-waiting .v14f-seats{grid-auto-rows:80px;gap:10px 8px;height:170px;overflow-y:auto;overscroll-behavior:contain;margin-bottom:22px;scrollbar-width:thin}
.v14-friends.v14f-waiting .v14f-seat{height:80px;border-width:6px;gap:1px}
.v14-friends.v14f-waiting>.v14f-panel{height:48px;min-height:48px;padding:0 2px;margin-bottom:10px}
.v14-friends.v14f-waiting>.v14f-panel>.v14f-row{min-height:28px;padding:0;flex-wrap:nowrap;gap:6px}
.v14-friends.v14f-waiting>.v14f-panel>.v14f-row>span{flex-shrink:0}
.v14-friends.v14f-waiting>.v14f-panel>.v14f-row>strong{font-size:12px;line-height:14px}
/* Adjacent block margins collapse: panel bottom10 + primary top26 gives
   the specified26px gap after chips y474+h48, hence primary y548. */
.v14-friends.v14f-waiting .v14f-primary-action{margin-top:26px}
.v14-friends.v14f-waiting .v14f-secondary-actions{margin-top:16px}
