/* A letter-like invitation in the Story palette, distinct from utility buttons. */
.pass-connect { position:relative;isolation:isolate;display:flex;align-items:center;gap:16px;width:min(100%,520px);margin:26px auto 18px;padding:21px 24px;overflow:hidden;border:1px solid #efc886;border-radius:19px;background:radial-gradient(ellipse at 5% 10%,#ffe6ac38,transparent 65%),linear-gradient(115deg,#674b2d,#263b2b 58%,#102b25);box-shadow:inset 0 1px #fff5c84d,0 8px 30px #0003;color:#f8dca5;text-align:left;cursor:pointer;transition:transform .25s,box-shadow .25s; }
.pass-connect::after { content:"";position:absolute;z-index:-1;inset:5px;border:1px solid #edc07830;border-radius:14px;pointer-events:none; }
.pass-connect__icon { display:grid;place-items:center;flex:none;width:48px;height:48px;border:1px solid #e7c17a80;border-radius:50%;background:#f1bf6521;box-shadow:0 0 0 5px #e7bb6108; }
.pass-connect__icon svg { width:28px;height:28px;stroke:currentColor;stroke-width:1.3;stroke-linejoin:round;stroke-linecap:round; }
.pass-connect__copy { flex:1;min-width:0; }.pass-connect .pass-connect__copy small { display:block;margin:0 0 8px;color:#d7bb8c;font:400 8px/1.5 "Be Vietnam Pro",sans-serif;letter-spacing:.17em; }
.pass-connect__copy strong { display:block;font:600 13px/1.7 "Be Vietnam Pro",sans-serif;letter-spacing:.03em; }
.pass-connect__arrow { display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:#dca54b;color:#10251b;font:400 23px/1 Arial; }
.pass-connect:hover { transform:translateY(-2px);box-shadow:inset 0 1px #fff5c84d,0 12px 35px #b9863e22; }
.pass-connect:focus-visible,.pass-connection button:focus-visible { outline:2px solid #ffda91;outline-offset:4px; }
.pass-connection-open { overflow:hidden; }
.pass-connection { box-sizing:border-box;width:min(640px,calc(100% - 32px));max-width:none;max-height:calc(100dvh - 40px);margin:auto;padding:0;border:1px solid #cda15e;border-radius:28px;background:radial-gradient(ellipse at 0 0,#af85452b,transparent 60%),#061d1a;color:#ecd1a5;box-shadow:0 30px 100px #0008;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#ad8856 #09231e; }
.pass-connection::backdrop { background:#00100ee8;backdrop-filter:blur(8px); }
.pass-connection__card { position:relative;padding:48px 42px 36px; }
.pass-connection__close { display:grid;place-items:center;position:absolute;top:20px;right:20px;width:38px;height:38px;border:1px solid #c9a26790;border-radius:50%;background:#c9a2670b;color:#edc98f;cursor:pointer; }
.pass-connection__close svg { width:18px;height:18px;stroke:currentColor;stroke-width:1.5;stroke-linecap:round; }
.pass-connection__eyebrow { margin:0 48px 18px 0;color:#bca477;font:400 9px/1.8 "Be Vietnam Pro",sans-serif;letter-spacing:.16em; }
.pass-connection h2 { margin:0;color:#f0d5a6;font:500 47px/1.04 "Cormorant Garamond",Georgia,serif;letter-spacing:-.02em;outline:none; }
.pass-connection__intro { margin:18px 0 28px;color:#c2b298;font:400 12px/1.95 "Be Vietnam Pro",sans-serif; }
.pass-connection__question { min-width:0;padding:0;margin:0 0 24px;border:0; }
.pass-connection__question legend,.pass-connection__question > label { display:block;width:100%;padding:0;margin:0 0 12px;color:#e8cfaa;font:500 13px/1.9 "Be Vietnam Pro",sans-serif; }
.pass-connection__question legend > span:first-child,.pass-connection__question > label > span:first-child { display:inline-block;margin-right:8px;color:#d79b55;font:400 11px/1.9 "Be Vietnam Pro",sans-serif; }
.pass-connection__choices { display:grid;grid-template-columns:1fr 1fr;gap:10px; }
.pass-connection__choice { position:relative;display:flex;align-items:center;gap:10px;min-height:75px;padding:14px 16px;border:1px solid #a78c574f;border-radius:13px;background:#ffffff03;cursor:pointer;font:400 11px/1.8 "Be Vietnam Pro",sans-serif;transition:background .2s,border-color .2s; }
.pass-connection__choice:has(:checked) { border-color:#dda958;background:#bf8a3820;color:#ffe1af;box-shadow:inset 0 0 0 1px #e4ba6340; }
.pass-connection__choice input { position:absolute;width:1px;height:1px;opacity:0; }
.pass-connection__choice:has(:focus-visible) { outline:2px solid #f3cf8b;outline-offset:3px; }
.pass-connection__radio { flex:none;width:17px;height:17px;box-sizing:border-box;border:1px solid #bfa070;border-radius:50%; }
.pass-connection__choice:has(:checked) .pass-connection__radio { border:5px solid #e4ad62;background:#10221c; }
.pass-connection__question > input { display:block;box-sizing:border-box;width:100%;min-height:51px;margin:0;padding:13px 16px;border:1px solid #b397675c;border-radius:11px;background:#00161280;color:#f3dbb6;font:400 12px/1.9 "Be Vietnam Pro",sans-serif;box-shadow:none; }
.pass-connection__question > input::placeholder { color:#8d9581;opacity:1; }.pass-connection__question > input:focus { outline:none;border-color:#efbd77;box-shadow:0 0 0 3px #efbd7715; }
.pass-connection__draft { margin:-4px 0 19px;color:#9c9e89;font:400 10px/1.9 "Be Vietnam Pro",sans-serif; }
.pass-connection__submit,.pass-connection__done { display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;min-height:55px;padding:16px 19px;border:1px solid #f2bd7a;border-radius:12px;background:linear-gradient(110deg,#e8a24c,#bc6728);box-shadow:inset 0 1px #ffdfa366;color:#12251c;font:600 12px/1.8 "Be Vietnam Pro",sans-serif;cursor:pointer; }
.pass-connection__submit { justify-content:center;text-align:center;font-size:16px; }.pass-connection__submit:disabled { opacity:.65;cursor:wait; }
.pass-connection__status { margin:20px 0 0;color:#f0d1a0;font:400 13px/1.95 "Be Vietnam Pro",sans-serif;overflow-wrap:anywhere; }.pass-connection__status:empty { display:none; }
.pass-connection__done { margin-top:24px; }
@media(max-width:580px) {
 .pass-connect { padding:19px 17px;gap:12px;border-radius:16px; }.pass-connect__icon { width:38px;height:38px; }.pass-connect__copy strong { font-size:11px; }.pass-connect .pass-connect__copy small { font-size:6px;letter-spacing:.1em; }.pass-connect__arrow { width:28px;height:28px;font-size:20px; }
 .pass-connection { width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:22px; }.pass-connection__card { padding:42px 22px 26px; }.pass-connection__close { top:16px;right:16px;width:34px;height:34px; }
 .pass-connection h2 { font-size:39px; }.pass-connection__eyebrow { font-size:7px;margin-bottom:17px; }.pass-connection__intro { font-size:11px;margin:17px 0 25px; }
 .pass-connection__question legend,.pass-connection__question > label { font-size:12px; }.pass-connection__choices { grid-template-columns:1fr;gap:9px; }.pass-connection__choice { min-height:54px;padding:12px 14px;font-size:12px; }
 .pass-connection__question > input { font-size:16px;min-height:52px;padding:12px; }.pass-connection__question > input::placeholder { font-size:11px; }.pass-connection__question { margin-bottom:22px; }.pass-connection__submit { font-size:14px;padding:15px 14px; }
}
@media(prefers-reduced-motion:reduce) { .pass-connect,.pass-connection__choice { transition:none; }.pass-connect:hover { transform:none; } }

/* Durable confirmation: near Story's navigation, with a matching account destination. */
.connection-notice { position:relative;display:flex;align-items:flex-start;gap:18px;box-sizing:border-box;margin:22px auto;padding:25px;border:1px solid #dfbb75;border-radius:20px;background:radial-gradient(ellipse at 0 0,#e1b66029,transparent 70%),linear-gradient(130deg,#183a2e,#08231f);box-shadow:inset 0 1px #fff0bd26,0 8px 30px #0002;color:#f1d7aa;text-align:left;text-decoration:none;scroll-margin-top:24px; }
.connection-notice--story { width:min(100%,520px);transition:border-color .2s,box-shadow .2s; }
.connection-notice--story:hover { border-color:#ffe0a2;box-shadow:0 8px 30px #d6a45518; }.connection-notice--story:focus-visible { outline:2px solid #ffe0a2;outline-offset:4px; }
.connection-notice__seal { display:grid;place-items:center;flex:none;width:44px;height:44px;border:1px solid #d3b5798c;border-radius:50%;background:#e6bd7021;color:#efca83;box-shadow:0 0 0 5px #e6bd7008; }
.connection-notice__seal svg { width:28px;height:28px;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round; }
.connection-notice__body { display:block;min-width:0;flex:1; }.connection-notice__eyebrow { display:flex;align-items:center;gap:7px;margin:0 0 12px;color:#d9bd83;font:500 8px/1.8 "Be Vietnam Pro",sans-serif;letter-spacing:.09em; }.connection-notice__eyebrow > span { flex:none;width:5px;height:5px;background:#c3ce91;border-radius:50%;box-shadow:0 0 0 3px #c3ce9115; }
.connection-notice__message { display:block;color:#f0d8b0;font:400 13px/1.95 "Be Vietnam Pro",sans-serif; }.connection-notice__link { display:block;margin-top:15px;color:#dfbc7c;font:500 11px/1.8 "Be Vietnam Pro",sans-serif; }.connection-notice__link > span { margin-left:8px; }
.connection-notice--account { margin:0 auto 26px;padding:30px; }.connection-notice--account h2 { margin:0 0 13px;color:#f3d7a7;font:500 34px/1.15 "Cormorant Garamond",Georgia,serif;outline:none; }.connection-notice--account .connection-notice__message { font-size:14px; }.connection-notice__date { display:block;margin-top:16px;color:#b5ac92;font:400 10px/1.8 "Be Vietnam Pro",sans-serif; }
@media(max-width:580px) { .connection-notice { padding:22px 18px;gap:13px;border-radius:17px; }.connection-notice__seal { width:35px;height:35px; }.connection-notice__seal svg { width:23px;height:23px; }.connection-notice__eyebrow { font-size:7px;letter-spacing:.04em;margin-bottom:10px; }.connection-notice__message,.connection-notice--account .connection-notice__message { font-size:12px; }.connection-notice--account h2 { font-size:28px; } }
@media(prefers-reduced-motion:reduce) { .connection-notice--story { transition:none; } }
/* Review result shared by Story and My Account. Keep the established green/gold palette. */
.connection-notice__eyebrow > span[aria-hidden="true"] { flex:none;width:5px;height:5px;background:#c3ce91;border-radius:50%;box-shadow:0 0 0 3px #c3ce9115; }
.connection-notice__eyebrow > [data-connection-eyebrow] { width:auto;height:auto;background:none;box-shadow:none;flex:1;border-radius:0; }
.connection-notice[data-connection-state="approved"],.connection-notice[data-connection-state="consulted"] { border-color:#d7c68b;background:radial-gradient(ellipse at 0 0,#c0ce782b,transparent 70%),linear-gradient(130deg,#234534,#08231f); }
.connection-notice[data-connection-state="rejected"],.connection-notice[data-connection-state="revoked"] { border-color:#b89566;background:radial-gradient(ellipse at 0 0,#c0925924,transparent 70%),linear-gradient(130deg,#30392b,#102721); }
.connection-notice[data-connection-state="rejected"] .connection-notice__eyebrow > span[aria-hidden="true"],.connection-notice[data-connection-state="revoked"] .connection-notice__eyebrow > span[aria-hidden="true"] { background:#d5a567;box-shadow:0 0 0 3px #d5a56720; }
.connection-notice [data-connection-updated]+.connection-notice__date { margin-top:5px; }
.js-pass-connect[hidden],.connection-notice[hidden],.connection-notice [hidden] { display:none!important; }
