/* Semantic surfaces are shared by every route, dialog and appearance. */
:root {
  --edge-highlight:inset 0 1px 0 #ffffffc7;
  --shadow-control:0 1px 2px #20292308; --shadow-card:0 2px 5px #20292304; --shadow-overlay:0 18px 64px #14231b24;
  --bg:var(--ow-paper); --canvas:var(--ow-white); --surface:var(--ow-white); --surface-raised:var(--ow-white); --surface-muted:var(--ow-panel);
  --control:#f0f1ee; --field:#f7f8f5; --ink:var(--ow-ink); --secondary:var(--ow-secondary); --muted:var(--ow-secondary);
  --line:var(--ow-line); --accent:var(--ow-blue); --accent-soft:var(--ow-blue-soft); --on-accent:var(--ow-white);
  --primary:var(--ow-action-cyan); --on-primary:var(--ow-action-ink); --glass:#ffffffd4; --glass-line:#ffffffef;
  --glass-shadow:0 4px 18px #2029230b,inset 0 1px 0 #fff;
  --success-fill:var(--ow-success-fill); --success-bg:var(--ow-mint-soft); --success:var(--ow-mint-ink);
  --attention-bg:var(--ow-peach-soft); --attention:var(--ow-peach-ink);
  --chat-incoming:#f0f1ee; --chat-outgoing:var(--ow-blue); --chat-placeholder:var(--ow-secondary);
  --floating-surface:#f6f7f4ed; --floating-line:#e1e5df; --floating-shadow:0 3px 12px #263d2c0d,inset 0 1px 0 #fff;
  --shadow-detail:0 8px 24px #20292319,0 2px 5px #2029230d;
}
:root[data-theme=dark] {
  --edge-highlight:inset 0 1px 0 #ffffff08;
  --shadow-control:0 2px 5px #00000012; --shadow-card:0 2px 6px #0000000d; --shadow-overlay:0 22px 72px #0000004d;
  --bg:var(--ow-deep); --canvas:var(--ow-deep); --surface:var(--ow-charcoal); --surface-raised:var(--ow-dark-panel); --surface-muted:var(--ow-dark-workspace);
  --control:var(--ow-dark-raised); --field:var(--ow-charcoal); --ink:var(--ow-on-dark); --secondary:var(--ow-secondary-dark); --muted:#aaaaaa;
  --line:var(--ow-dark-line); --accent:var(--ow-blue-dark); --accent-soft:var(--ow-blue-depth); --on-accent:#162336;
  --primary:var(--ow-action-cyan); --on-primary:var(--ow-action-ink); --glass:#202020ec; --glass-line:#ffffff12;
  --glass-shadow:0 4px 18px #0003,inset 0 1px 0 #ffffff06;
  --success-bg:var(--ow-mint-depth); --success:var(--ow-mint-dark);
  --attention-bg:var(--ow-peach-depth); --attention:var(--ow-peach-dark);
  --chat-incoming:var(--ow-dark-raised); --chat-outgoing:var(--ow-blue); --chat-placeholder:var(--ow-secondary-dark);
  --floating-surface:#242424ed; --floating-line:#ffffff18; --floating-shadow:0 3px 12px #0003,inset 0 1px 0 #ffffff08;
  --shadow-detail:0 10px 28px #0005,inset 0 1px 0 #ffffff08;
  --ow-orb-blue:radial-gradient(circle at 40% 25%,#748fb8,#455f87 65%,#536d94);
  --ow-orb-cyan:radial-gradient(circle at 40% 25%,#4c9bb0,#246d82 65%,#387f93);
  --ow-orb-peach:radial-gradient(circle at 40% 25%,#b78371,#8b5745 65%,#a26956);
  --ow-orb-mint:radial-gradient(circle at 40% 25%,#70a181,#347251 65%,#498664);
}
.orb.violet,.membership-orb{background:var(--ow-orb-blue)}
.orb.blue{background:var(--ow-orb-cyan)}
.orb.peach{background:var(--ow-orb-peach)}
.orb.green{background:var(--ow-orb-mint)}
body{background:var(--bg);color:var(--ink)}
.muted{color:var(--secondary)}
.card-title>span:first-child,.earnings-foot>.text-button,.setting-row small{color:var(--secondary)}
:is(.eyebrow,.card-title,.period,.earnings-foot,.mini-stats>.white-card>span:not(.orb),.mini-stats small,.photo-info p,.tab,.number-pill,.card-subtitle,.profile-title>.handle,.handle,.update-card small,.chart-labels,.chart-months){color:var(--secondary)}
:is(.price>span,.money>span,.mini-stats strong>span){color:var(--muted)}
.growth{background:var(--success-bg);color:var(--success)}
.cover .cover-share{width:44px;height:44px;top:12px;right:12px;z-index:2;color:var(--ink);background:var(--floating-surface);border:1px solid var(--floating-line);box-shadow:var(--floating-shadow)}
.tab.active{color:var(--ink)}
.photo-tag{background:#f5f7fae8;color:#344357;border-color:#ffffffd9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
[data-theme=dark] .photo-tag{background:#202833e0;color:#e8eef8;border-color:#ffffff20}
.appearance-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:24px 0 8px}
.appearance-choice{background:none;padding:0;display:flex;flex-direction:column;gap:10px;align-items:center;min-width:0;font-size:13px}
.appearance-sample{display:block;width:100%;height:102px;background:var(--ow-paper);border:2px solid var(--ow-line);border-radius:17px;position:relative;overflow:hidden}
.appearance-sample:before{content:'';position:absolute;left:11px;right:11px;top:12px;height:23px;border-radius:8px;background:white;box-shadow:0 32px 0 white}
.appearance-sample:after{content:'';position:absolute;width:27px;height:7px;left:19px;top:20px;background:#c4cfdf;border-radius:8px;box-shadow:13px 32px 0 #5377bb}
.appearance-choice[data-theme-choice=dark] .appearance-sample{background:var(--ow-charcoal);border-color:var(--ow-dark-line)}
.appearance-choice[data-theme-choice=dark] .appearance-sample:before{background:var(--ow-dark-raised);box-shadow:0 32px 0 var(--ow-dark-raised)}
.appearance-choice[data-theme-choice=system] .appearance-sample{background:linear-gradient(90deg,var(--ow-paper) 50%,var(--ow-charcoal) 50%)}
.appearance-choice[data-theme-choice=system] .appearance-sample:before{background:linear-gradient(90deg,var(--ow-white) 50%,var(--ow-dark-raised) 50%);box-shadow:none;height:64px}
.appearance-choice[aria-pressed=true] .appearance-sample{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.appearance-choice[aria-pressed=true]{color:var(--accent);font-weight:650}
.appearance-note{font-size:13px;line-height:21px;color:var(--secondary);margin:20px 0 0}
.review-appearance{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:24px 0;font-size:13px;color:var(--secondary)}
.review-appearance select{width:145px;font-size:13px;padding:10px 12px;background:var(--surface);color:var(--ink);border-color:var(--line)}

/* Existing product surfaces share the same roles rather than page-specific dark colors. */
[data-theme=dark] :is(.sidebar,.profile-card,.white-card,.gallery-banner,.gallery-join,.empty-state,.update-card,.earnings-card,.vault-card,.balance-card,.demo-payment,.setting-row,.quick-actions button,dialog,.conversation-list,.review-group,.review-start>a,.brand-option,.brand-small,.brand-palette){background:var(--surface);color:var(--ink);border-color:var(--line);box-shadow:none}
[data-theme=dark] :is(.pending-balance,.activity-row){background:var(--surface);color:var(--ink);border-color:var(--line)}
[data-theme=dark] .card-title>span:first-child{color:var(--secondary)}
[data-theme=dark] :is(.panel-group,.creator-shortcut,.application-account,.purchase-message,.team-disclosure,.offer-help,.live-gift-options button,.selected-media,.review-case select,.review-note textarea){background:var(--surface-muted);color:var(--secondary);border-color:var(--line)}
[data-theme=dark] :is(.topbar,.inclusions,.application-price,.application-account,.paid-extras-note,.purchase-summary,.rate-field,.receipt-row,.activity-row,.toggle-row,.review-case,.review-toolbar){border-color:var(--line)}
[data-theme=dark] :is(.topbar,.join-content){background:var(--bg)}
[data-theme=dark] :is(input:not([type=checkbox]):not([type=radio]),textarea,select,.note-form textarea,.search-field){background:var(--field);border-color:var(--line);color:var(--ink)}
[data-theme=dark] :is(input,textarea)::placeholder{color:var(--muted)}
[data-theme=dark] :is(.button,.icon-button,.notification-button,.studio-toggle){background:var(--control);border-color:var(--line);color:var(--ink);box-shadow:none}
[data-theme=dark] :is(.amount-choices span,.tab.active,.plan-toggle button.selected){background:var(--control);border-color:var(--line);color:var(--ink);box-shadow:none}
.button.primary,[data-theme=dark] .button.primary{background:var(--primary);color:var(--on-primary);border:1px solid var(--ow-action-edge);box-shadow:var(--ow-action-shadow)}
.button.primary>.icon,[data-theme=dark] .button.primary>.icon{color:inherit}
[data-theme=dark] .review-start>a:first-child{background:var(--primary);color:var(--on-primary);border-color:var(--ow-action-edge)}

[data-theme=dark] .button.primary:hover{filter:brightness(1.04)}
[data-theme=dark] .button.secondary:hover,[data-theme=dark] .icon-button:hover{background:var(--surface-raised)}
[data-theme=dark] .icon-button.plain{background:transparent;border-color:transparent}
[data-theme=dark] :is(.text-button,.back-link,.tab,.nav-item,.breadcrumb,.profile-title>.handle,.handle,.creator-category,.bio,.stats,.photo-info p,.update-card small,.gallery-banner small,.gallery-join p,.onboarding-heading p,.billing-description,.inclusions,.account-hero p,.setting-row small,.card-title,.period,.earnings-foot,.mini-stats>.white-card>span:not(.orb),.mini-stats small,.chart-labels,.chart-months,.activity-row small,.pending-balance small,.modal-description,.photo-caption,.article-copy,.toggle-row small,.selected-media small,.note-hint,.plan-creator small,.approval-page>p,.purchase-heading p,.paid-extras-note,.privacy-note,.announcement-intro,.announcement-list p,.live-gifting p,.approval-checklist,.review-intro,.review-guide,.review-case ol,.review-note label,.review-expected,.review-limit){color:var(--secondary)}
[data-theme=dark] :is(.stats strong,.gallery-banner strong,.quick-actions button>span:last-child,.activity-row strong,.activity-row b,.setting-row strong,.price,.money,.purchase-summary .purchase-price,.paid-extras-note strong,.offer-help strong,.payout-amount strong,.lightbox-footer strong,.toggle-row strong,.selected-media strong,.breadcrumb strong){color:var(--ink)}
[data-theme=dark] :is(.number-pill,.count,.plan-toggle,.initials,.account-avatar){background:var(--control);color:var(--secondary)}
[data-theme=dark] :is(.price>span,.money>span,.mini-stats strong>span){color:var(--muted)}
[data-theme=dark] :is(.status-chip,.growth){background:var(--success-bg);color:var(--success)}
[data-theme=dark] :is(.creator-avatar,.welcome-avatar,.approval-visual .avatar,.creator-badge>.tiny){border-color:var(--surface)}
[data-theme=dark] .approval-seal{border-color:var(--bg)}
[data-theme=dark] .profile-actions>.secondary,[data-theme=dark] .profile-actions>.icon-button{background:var(--control);border-color:var(--line)}
[data-theme=dark] .profile-actions .icon{color:var(--secondary)}
[data-theme=dark] :is(.nav-item.active,.nav-item:hover,.conversation.selected){background:var(--control);color:var(--ink)}
[data-theme=dark] :is(.bottom-nav,.checkout-footer){background:var(--glass);border-color:var(--glass-line);box-shadow:var(--glass-shadow)}
[data-theme=dark] .bottom-item{color:var(--secondary)}
[data-theme=dark] .bottom-item.active{background:var(--accent-soft);color:var(--accent);border-color:transparent;box-shadow:none}
[data-theme=dark] :is(.photo-lock,.photo-prev,.photo-next){background:#1b222bd9;color:#f1f4f9;border-color:#ffffff20}
[data-theme=dark] .media-locked{background:var(--control)}
[data-theme=dark] .gif-placeholder{background:var(--accent-soft);color:var(--ink)}
[data-theme=dark] .bars .bar-track>span{background:#304662}
[data-theme=dark] .bars .bar-track>span.highlight{background:var(--accent)}
[data-theme=dark] .chart{border-color:var(--line)}
.bars{background:repeating-linear-gradient(0deg,transparent,transparent calc(33.3% - 1px),var(--line) calc(33.3% - 1px),var(--line) 33.3%)}
[data-theme=dark] .membership-orb{box-shadow:0 0 0 8px #26354e,inset 0 2px 7px #ffffff5c}
[data-theme=dark] .success-halo{background:#223a30;color:#a1d7b7;box-shadow:0 0 0 18px #1b2a23}
[data-theme=dark] .phone-frame{background:var(--canvas);border-color:#323841;box-shadow:0 28px 70px #0004}
[data-theme=dark] .preview-shell{background:#151a21}
[data-theme=dark] .walkthrough-links button.selected{background:var(--control);color:var(--ink)}
[data-theme=dark] .walkthrough-states{border-color:var(--line)}
[data-theme=dark] .walkthrough-states button{background:var(--surface);border-color:var(--line);color:var(--secondary)}
[data-theme=dark] .review-start>a:first-child small{color:var(--on-primary)}
[data-theme=dark] .brand-board{color:var(--ink)}
[data-theme=dark] body:has(.brand-board){background:var(--bg)}
[data-theme=dark] .brand-option.app-example{background:var(--surface-muted)}
[data-theme=dark] dialog::backdrop{background:#0009;backdrop-filter:blur(8px)}


/* Quiet account settings: a compact identity and flat groups. */
.account-page-heading{margin-bottom:24px}
.account-identity{display:flex;align-items:center;gap:14px;margin-bottom:32px}
.account-identity>.avatar{width:58px;height:58px;font-size:18px;font-weight:550;background:var(--accent-soft);color:var(--accent)}
.account-identity>div{flex:1;min-width:0}
.account-identity h2{font-size:19px;line-height:26px;letter-spacing:-.5px}
.account-identity p{font-size:13px;color:var(--secondary);overflow-wrap:anywhere;margin-top:3px}
.account-identity .icon-button{width:40px;height:40px;background:var(--surface);color:var(--secondary)}
.account-sections{display:grid;gap:28px;max-width:680px}
.account-section>h3{font-family:var(--font);font-size:12px;font-weight:550;color:var(--secondary);letter-spacing:.2px;margin:0 0 10px 4px}
.account-rows{background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden;padding:0 18px}
.account-row{display:flex;align-items:center;gap:12px;width:100%;min-height:64px;padding:15px 0;background:none;text-align:left;border-bottom:1px solid var(--line)}
.account-row:last-child{border-bottom:0}
.account-row>.icon{width:20px;height:20px;color:var(--secondary)}
.account-row>span:not(.avatar){flex:1;min-width:0}
.account-row strong{display:block;font-size:14px;font-weight:550;line-height:20px}
.account-row small{display:block;font-size:12px;line-height:18px;color:var(--secondary);margin-top:3px}
.account-row>.row-value{font-size:12px;color:var(--secondary);flex:none!important;text-align:right}
.account-row>.icon:last-child{width:14px;height:14px;color:var(--muted)}
.account-row>.avatar{width:40px;height:40px}
.account-member-row{min-height:76px}
.membership-section-title{display:flex;align-items:center;justify-content:space-between;margin:0 2px 13px}
.membership-section-title h3{font-size:15px;font-weight:600;letter-spacing:-.2px}
.membership-section-title>span{font-size:12px;color:var(--secondary)}
.membership-cards{display:grid;gap:10px}
.world-membership-card{display:flex;align-items:center;gap:13px;padding:17px 16px;width:100%;text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:22px;min-width:0}
.membership-avatar{width:46px;height:46px;flex:none;font-size:16px}
.membership-card-copy{display:flex;flex-direction:column;gap:3px;flex:1;min-width:0}
.membership-card-copy>strong{font-size:15px;line-height:21px;font-weight:600;letter-spacing:-.15px}
.membership-card-copy>small{font-size:12px;line-height:18px;color:var(--secondary)}
.membership-date{font-size:11px;line-height:17px;color:var(--muted)}
.membership-open{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;background:var(--field);color:var(--secondary)}
.membership-open>.icon{width:13px;height:13px}
.gallery-toolbar{margin-top:0}
.vault-intro{margin:-10px 0 27px}.vault-intro>p{font-size:15px;line-height:23px;color:var(--secondary)}
.vault-intro>span{display:flex;gap:7px;align-items:flex-start;font-size:12px;line-height:19px;color:var(--muted);margin-top:10px}
.vault-intro .icon{width:14px;height:14px;margin-top:2px;flex:none;color:var(--accent)}
.collection-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.collection-card{display:flex;align-items:center;gap:18px;padding:16px;background:var(--surface);border:1px solid var(--line);border-radius:23px;text-align:left;min-width:0;color:var(--ink)}
.collection-cover{width:100px;height:112px;border-radius:15px;overflow:hidden;flex:none;background:var(--control)}
.collection-cover img{display:block;width:100%;height:100%;object-fit:cover}
.collection-copy{display:flex;flex-direction:column;gap:7px;flex:1;min-width:0}
.collection-copy>small{font-size:11px;line-height:17px;color:var(--muted)}
.collection-copy>strong{font-size:16px;line-height:22px;font-weight:600;letter-spacing:-.3px}
.collection-access{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--accent);margin-top:3px}
.collection-access>.icon{width:13px;height:13px}
.collection-card>.icon{width:14px;height:14px;color:var(--muted);flex:none}
.post-dialog{width:min(460px,calc(100% - 32px))}
.post-media-picker{border:0;padding:0;margin:0 0 24px;min-width:0}
.post-media-picker legend{font-size:13px;font-weight:550;color:var(--ink);padding:0;margin-bottom:12px}
.post-media-picker>div{display:flex;gap:9px;overflow-x:auto;padding:3px;scrollbar-width:none}
.post-media-picker label{position:relative;display:block;aspect-ratio:1;flex:1 0 46px;margin:0;min-width:46px;cursor:pointer}
.post-media-picker input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.post-media-picker img{width:100%;height:100%;display:block;object-fit:cover;border-radius:12px;border:2px solid transparent;padding:2px}
.post-media-picker input:checked+img{border-color:var(--accent)}
.post-media-picker input:focus-visible+img{outline:2px solid var(--accent);outline-offset:3px}
.post-media-picker label>span{position:absolute;right:4px;bottom:4px;display:none;width:18px;height:18px;place-items:center;background:var(--accent);color:var(--on-accent);border-radius:50%;pointer-events:none}
.post-media-picker input:checked~span{display:grid}
.post-media-picker .icon{width:11px;height:11px}
.post-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px}
.post-options>div{min-width:0}.post-options select{margin:0;width:100%;padding-left:12px;font-size:14px}
.post-dialog .optional{font-weight:400;color:var(--secondary);margin-left:4px}
.post-saved{display:grid;place-items:center;color:var(--accent);width:32px;flex:none}
.post-saved .icon{width:17px;height:17px;fill:var(--accent-soft)}
.published-post .photo-info>div{min-width:0}
.published-post h3,.lightbox .modal-top h2{overflow-wrap:anywhere}
.published-caption{white-space:pre-wrap;overflow-wrap:anywhere}
@media(max-width:760px){.collection-list{grid-template-columns:1fr;gap:12px}.collection-card{gap:16px;padding:13px}.collection-cover{width:92px;height:104px}}

/* One elevation vocabulary: resting cards, tactile controls, lifted overlays. */
dialog{box-shadow:var(--shadow-overlay),var(--edge-highlight)}
:is(.white-card,.profile-card,.world-membership-card){box-shadow:var(--shadow-card)}
.button.secondary{box-shadow:var(--shadow-control),var(--edge-highlight)}
.orb{box-shadow:inset 0 1px 3px #ffffff8c,0 2px 5px #34476012}
[data-theme=dark] .orb{box-shadow:inset 0 1px 3px #ffffff45,0 2px 5px #0000001a}
.topbar .notification-button{height:42px;width:42px;display:grid;place-items:center;color:var(--secondary);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow-control),var(--edge-highlight)}
.topbar .notification-button>.icon{width:20px;height:20px;display:block;stroke-width:1.8}
.notification-button[aria-expanded=true]{color:var(--accent);background:var(--accent-soft)}
.notification-button .notification-dot{width:5px;height:5px;top:9px;right:9px;background:var(--accent);border:1px solid var(--surface)}
.topbar .notification-button{width:44px;height:44px}

/* Icon containers own alignment; labels never style nested icon wrappers. */
.icon-button{padding:0;line-height:0}
.icon-button>.icon,.orb>.icon,.button-icon>.icon{display:block;margin:0;flex:none}
.button-icon{display:grid;place-items:center;padding:0;margin:0;border:0;line-height:0}

/* Direct appearance control; switching colors never remounts the current page. */
.theme-toggle{position:relative;display:grid;place-items:center;flex:none;width:42px;height:42px;min-height:42px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);box-shadow:var(--shadow-control),var(--edge-highlight);overflow:hidden;touch-action:manipulation}
.theme-toggle:hover{background:var(--control)}
.theme-toggle>span{position:absolute;display:grid;place-items:center;inset:0;transition:opacity 180ms ease,transform 220ms cubic-bezier(.2,.7,.3,1)}
.theme-toggle .icon{width:19px;height:19px;stroke-width:1.8}
.theme-toggle-sun{opacity:1;transform:rotate(0) scale(1)}
.theme-toggle-moon{opacity:0;transform:rotate(-55deg) scale(.6)}
[data-theme=dark] .theme-toggle-sun{opacity:0;transform:rotate(55deg) scale(.6)}
[data-theme=dark] .theme-toggle-moon{opacity:1;transform:rotate(0) scale(1)}
.theme-changing,.theme-changing :is(body,.app-shell,.sidebar,.topbar,.white-card,.account-section,.section-body,.setting-row,.activity-row,.button,.icon-button,.theme-toggle,.top-profile-button,.nav-item,.bottom-nav,.bottom-item,.account-rows,.account-row,.earnings-card,.quick-actions button,dialog,input,select,textarea){transition:background-color 180ms ease,color 180ms ease,border-color 180ms ease}
[data-theme=dark] .orb{box-shadow:inset 0 1px 2px #ffffff25,0 2px 5px #0002;color:#fff}
@media(max-width:760px){.interior-view .top-actions{gap:6px}.theme-toggle{width:36px;height:36px;min-height:36px}.theme-toggle .icon{width:18px;height:18px}}
@media(prefers-reduced-motion:reduce){.theme-toggle>span,.theme-changing,.theme-changing *{transition:none!important}}
