/* Shared surfaces preserve Ciravo's charcoal, warm white and red palette. */
:root{--ui-surface:#171717;--ui-field:#222;--ui-border:#424242;--ui-muted:#b0adaa;--ui-accent:#e52329;--ui-radius:16px}
.party-dialog,.value-picker,.notification-popover{color:#f4f1ef;background:var(--ui-surface);border:1px solid var(--ui-border);font:16px/1.5 -apple-system,BlinkMacSystemFont,"Helvetica Neue",sans-serif;box-shadow:0 24px 100px #0008}
.party-dialog{width:min(640px,calc(100vw - 48px));max-height:90dvh;border-radius:20px;padding:28px;overflow:auto;overscroll-behavior:contain;scroll-padding:24px}
.party-dialog::backdrop,.value-picker::backdrop{background:#0009;backdrop-filter:blur(8px)}
.party-dialog[open]{animation:dialog-enter .26s cubic-bezier(.2,.8,.2,1)}
.party-dialog [data-party-close]{display:block;margin-left:auto;border:0;background:#2b2b2b;border-radius:50px;font-size:14px;min-height:44px}
.party-intro{padding:12px 0 24px}.party-eyebrow{font-size:11px;letter-spacing:.12em;font-weight:700;color:#ff777b}
.party-dialog h2{font-size:30px;line-height:1.15;letter-spacing:-.045em;margin:10px 0}.party-intro p{margin:10px 0 0;color:var(--ui-muted);font-size:15px}
.party-dialog fieldset{min-width:0;margin:0 0 24px;padding:16px 20px 20px;border:1px solid #353535;border-radius:var(--ui-radius);background:#1c1c1c}
.party-dialog legend{padding:0 8px;font-size:13px;font-weight:700;color:#d2cecb}
.party-dialog label{display:grid;gap:8px;margin:14px 0;font-size:14px;font-weight:600}
.party-dialog input,.party-dialog textarea,.party-dialog select{width:100%;min-width:0;min-height:48px;border:1px solid var(--ui-border);border-radius:10px;padding:12px;color:#f4f1ef;background:var(--ui-field);font:400 16px/1.4 inherit;color-scheme:dark}
.party-dialog textarea{resize:vertical;min-height:100px}.party-dialog input::placeholder,.party-dialog textarea::placeholder{color:#999}
.party-dialog summary{min-height:44px;cursor:pointer;padding:10px 0;color:var(--ui-muted);font-size:14px}.party-dialog [data-pin-center]{width:100%;margin-top:12px}
.party-dialog small{display:block;font-size:13px;line-height:1.6;color:var(--ui-muted)}
.party-dialog button{min-height:44px;padding:10px 16px;border:1px solid var(--ui-border);border-radius:10px;background:#282828;color:#f4f1ef;font:600 14px/1.4 inherit;cursor:pointer;transition:background .16s,transform .16s}
.party-dialog button:hover{background:#353535}.party-dialog button:active{transform:scale(.98)}.party-dialog button:disabled{opacity:.5;cursor:wait}
.party-dialog :is(button,input,select,textarea):focus-visible,.value-picker :focus-visible{outline:2px solid #ff777b;outline-offset:3px}
.party-actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.party-actions>*{flex:1}.party-submit{margin-bottom:0;padding-top:8px}.party-dialog button[value=publish]{background:var(--ui-accent);border-color:var(--ui-accent);color:#fff}.party-dialog button[value=publish]:hover{background:#c91b21}
.party-dialog [role=alert]{color:#ffacb5}.party-dialog [role=alert]:empty{display:none}.party-dialog [role=alert]:not(:empty){padding:12px;border:1px solid #853e44;border-radius:10px;margin:12px 0}
.party-location-status{font-size:13px;color:#c7c3bf;margin:8px 0}.party-dialog img{width:100%;max-height:260px;object-fit:cover;border-radius:12px}.party-person{padding:16px 0;border-bottom:1px solid #363636;overflow-wrap:anywhere}
.explore-switch{display:flex;gap:4px;background:#1c1c1c;border:1px solid #383838;border-radius:12px;margin:0 20px 16px;padding:4px}
.explore-switch button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1;min-height:44px;border:0;border-radius:8px;background:none;color:#bdbab7;font-weight:650;font-size:14px}
.explore-switch button[aria-pressed=true]{background:#363636;color:#fff;box-shadow:0 2px 5px #0003}.explore-switch svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.6}
.map-screen .explore-switch{margin-top:12px}.section-menu-toggle{display:none!important}.top-action{min-width:44px;min-height:44px}.discover-head .eyebrow{display:none}
.discover-head{justify-content:flex-end;padding-block:16px}.profile-gear{min-width:44px;min-height:44px}.desktop .desk-profile-page .own-profile{margin-inline:0}.desktop .desk-profile-page .desk-drafts{background:none}.desktop .desk-app .desk-profile-page .desk-outline-button{border-radius:10px}
.notification-popover{position:fixed;left:auto;bottom:auto;margin:0;width:min(360px,calc(100vw - 24px));padding:0;border-radius:18px;overflow:hidden;max-height:70dvh}
.notification-popover:popover-open{animation:notification-enter .18s ease-out}.notification-popover header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #363636}.notification-popover h2{font-size:17px;margin:0;letter-spacing:-.02em}.notification-popover button{background:none;color:#ccc;border:0;font-size:25px;width:44px;height:44px}.notification-content{padding:32px 24px;text-align:center}.notification-content strong{font-size:15px}.notification-content p{font-size:14px;color:var(--ui-muted);margin:8px 0 0}
.desk-notification-trigger{display:grid;place-items:center;width:44px;height:44px;background:none;border:0;color:#ddd}.desk-notification-trigger svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.6}
.desktop .desk-profile-page{max-width:900px;margin:auto}.desk-profile-page .own-profile{padding:16px 0 24px;align-items:center}.desk-profile-page .own-profile h1{font-size:36px;margin:0;letter-spacing:-.04em}.desk-profile-page .own-profile p{color:var(--ui-muted);font-size:15px}.desk-profile-page .profile-avatar{width:80px;height:80px;font-size:32px}.desk-profile-page .profile-stats{margin:24px 0 32px;padding:22px 0;border-block:1px solid #333}.desk-profile-page .desk-drafts{background:none;padding:0;border:0}.desk-account-settings>summary{cursor:pointer;list-style:none;display:inline-flex;align-items:center;min-height:44px;border:1px solid #484848;border-radius:10px;padding:10px 18px;font-weight:600;font-size:14px}.desk-account-settings[open]>summary{margin-bottom:16px}.desk-account-settings>summary::after{content:'+';margin-left:20px}.desk-account-settings[open]>summary::after{content:'−'}.desk-settings-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.desktop .desk-profile-settings{border-radius:16px;max-width:650px}.desktop .desk-outline-button,.desktop .desk-red-button{border-radius:9px;min-height:44px}.desktop .desk-draft{padding:20px 0}.desktop .desk-draft>div{display:flex;gap:8px;margin-top:12px}.desktop .desk-topbar-end{gap:12px}
.value-picker{position:fixed;inset:auto 0 0;margin:0 auto;width:min(100%,620px);max-height:85dvh;overflow:auto;border-radius:24px 24px 0 0;padding:8px 16px max(20px,env(safe-area-inset-bottom));animation:dialog-enter .22s ease-out}
.value-picker header{display:flex;align-items:center;justify-content:space-between;gap:12px}.value-picker header strong{font-size:15px;text-align:center}.value-picker button{border:0;background:none;color:#ff777b;font-size:16px;min-height:44px;padding:8px}.wheel-frame{position:relative;margin:16px 0}.wheel-frame::before{content:'';position:absolute;left:0;right:0;top:88px;height:44px;border-block:1px solid #555;background:#ffffff07;border-radius:8px;pointer-events:none}.value-wheel{height:220px;overflow-y:auto;scroll-snap-type:y mandatory;overscroll-behavior:contain;padding-block:88px;scrollbar-width:none;mask-image:linear-gradient(transparent,#000 30%,#000 70%,transparent)}.value-wheel::-webkit-scrollbar{display:none}.value-wheel [role=option]{height:44px;display:flex;align-items:center;justify-content:center;scroll-snap-align:center;font-size:22px;color:#aaa;cursor:pointer}.value-wheel [aria-selected=true]{color:#fff;font-weight:650}.picker-exact{display:flex;align-items:center;gap:16px;justify-content:space-between;color:#bbb;font-size:14px}.picker-exact input{width:120px;min-height:44px;border:1px solid #555;border-radius:10px;background:#222;color:#fff;padding:10px;font-size:16px}
@keyframes dialog-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes notification-enter{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.party-dialog :is(input,textarea,select){font-family:inherit;font-size:16px;font-weight:400;line-height:1.4}.party-dialog button{font-family:inherit;font-size:14px;font-weight:600;line-height:1.4}.date-wheels{display:flex;gap:16px}.date-wheels>.wheel-frame{flex:1;min-width:0}.date-picker .picker-exact input{width:auto;max-width:65%;color-scheme:dark}
@media(max-width:1023px){.party-dialog{position:fixed;inset:auto 0 0;margin:0 auto;width:min(100%,620px);max-height:calc(100dvh - max(16px,env(safe-area-inset-top)));border-radius:28px 28px 0 0;padding:16px 20px max(24px,env(safe-area-inset-bottom));border-bottom:0}.party-dialog::before{content:'';display:block;width:36px;height:4px;border-radius:4px;background:#666;margin:0 auto 8px}.party-intro{padding-top:4px}.party-dialog h2{font-size:29px}.party-dialog fieldset{padding:8px 14px 16px;border-radius:18px}.party-dialog button{min-height:48px;border-radius:12px}.party-dialog input[type=number]{cursor:pointer}.party-submit{padding-bottom:8px}.party-submit button{min-width:120px}.party-dialog .party-actions:not(.party-submit) button{font-size:13px;padding-inline:10px}}
@media(max-width:1023px){.party-dialog,.value-picker{max-width:100vw}.party-dialog{border-inline:0}.party-dialog fieldset{border:0;background:#202020}.party-dialog legend{color:#c8c4c0}.party-dialog input,.party-dialog textarea,.party-dialog select{background:#292929}.party-intro{padding-bottom:28px}}
@media(prefers-reduced-motion:reduce){.party-dialog[open],.value-picker,.notification-popover:popover-open,.screen{animation:none}.party-dialog button{transition:none}.value-wheel{scroll-behavior:auto}}
