.growth-consent { position:fixed; z-index:10001; left:16px; right:16px; bottom:90px; margin:auto; max-width:470px; padding:18px; background:var(--color-bg,#FFFDF7); color:#3D3530; border:1px solid #b5aaa4; border-radius:16px; box-shadow:0 4px 24px #0002; font-size:14px; }
.growth-consent p { margin:0 0 12px; }
.growth-invite { margin:16px 0; padding:20px; border:1px solid #FFB6C1; border-radius:16px; background:#FFFDF7; }
.growth-invite p { margin:0 0 12px; }
.growth-settings { font:inherit; border:0; background:none; text-decoration:underline; cursor:pointer; color:inherit; }
/* Share studio: existing cream / sky / butter / brown brand, scoped to sharing. */
#modal-share-preview { z-index:10000; padding:20px; background:rgba(61,42,30,.48); backdrop-filter:blur(7px); }
#modal-share-preview .share-card-modal-wrap { display:block; width:100%; max-width:1020px; max-height:calc(100dvh - 40px); padding:0; overflow-y:auto; overscroll-behavior:contain; background:var(--color-bg,#f9f2ea); color:var(--color-text,#3D2A1E); border:1px solid #fff9; border-radius:26px; box-shadow:0 25px 100px #2e1b1940; scrollbar-width:thin; }
.share-studio-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:22px 30px; border-bottom:1px solid #3d2a1e20; background:#f9f2ea; }
.share-eyebrow { display:block; font:700 10px var(--font-body); letter-spacing:2px; color:#695446; margin-bottom:8px; }
.share-studio-header h2 { margin:0; font:400 30px/1.1 var(--font-display); color:#3D2A1E; }
.share-close { width:40px; height:40px; flex-shrink:0; border:1px solid #3d2a1e30; border-radius:50%; background:transparent; color:#3D2A1E; font:400 29px/1 Arial,sans-serif; }
.share-close:hover { background:#fff7ae; }
.share-studio-body { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(335px,1fr); }
.share-stage { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:20px; padding:22px 30px; background-color:#e9dfd3; background-image:radial-gradient(#ad988150 .7px,transparent .7px); background-size:12px 12px; min-width:0; }
.share-stage-meta { width:100%; display:flex; justify-content:space-between; gap:12px; font:700 9px/1.5 var(--font-body); letter-spacing:1.5px; color:#6f5949; }
#modal-share-preview .share-canvas-container { width:100%; max-width:none; min-height:140px; display:flex; align-items:center; justify-content:center; border-radius:0; box-shadow:none; overflow:visible; flex-shrink:0; transition:opacity .16s ease; }
#modal-share-preview .share-canvas-container[aria-busy="true"] { opacity:.5; }
#modal-share-preview .share-canvas-container canvas { display:block; width:auto; height:auto; max-width:100%; max-height:min(59dvh,630px); object-fit:contain; border-radius:3px; box-shadow:0 12px 32px #3d2a1e25; }
.share-loading { font:600 14px var(--font-body); text-align:center; }
.share-preview-caption { font:600 11px/1.5 var(--font-body); color:#695446; text-align:center; }
.share-controls { padding:27px 28px; display:flex; flex-direction:column; gap:25px; min-width:0; }
.share-control-intro h3 { font:400 23px/1.2 var(--font-display); margin:0 0 7px; }
.share-control-intro p { font:400 13px/1.5 var(--font-body); color:#695446; margin:0; }
.share-fieldset { padding:0; border:0; margin:0; min-width:0; }
.share-fieldset legend { font:700 10px/1.5 var(--font-body); letter-spacing:1px; margin-bottom:12px; color:#796555; }
.share-fieldset legend span { margin-left:8px; color:#3D2A1E; }
.share-format-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.share-format-option { display:grid; grid-template-columns:22px 1fr; grid-template-rows:auto auto; align-items:center; gap:0 9px; border:1px solid #3d2a1e2c; border-radius:12px; padding:11px 13px; background:#FDFAF5; color:#3D2A1E; text-align:left; min-height:58px; }
.share-format-option span:not(.share-format-icon) { font:700 12px/1.5 var(--font-body); }
.share-format-option small { grid-column:2; font:600 10px/1.5 var(--font-body); color:#715b4b; }
.share-format-option[aria-pressed="true"] { background:#dff7fc; border-color:#3D2A1E; box-shadow:inset 0 0 0 1px #3D2A1E; }
.share-format-icon { display:block; grid-row:1/3; width:13px; height:22px; border:1.5px solid currentColor; border-radius:2px; position:relative; justify-self:center; }
.share-icon-square { width:19px; height:19px; }
.share-icon-portrait { width:17px; height:22px; }
.share-icon-landscape { width:22px; height:13px; }
.share-send { margin-top:auto; border-top:1px solid #3d2a1e20; padding-top:21px; }
#modal-share-preview .share-actions { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin:0 0 19px; }
.share-action { display:flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:12px 10px; border:1px solid #3D2A1E; border-radius:30px; font:700 13px/1.4 var(--font-body); color:#3D2A1E; }
.share-action svg { width:18px; height:18px; flex-shrink:0; }
.share-action-primary { background:#94ebff; }.share-action-secondary { background:#FDFAF5; }
.share-action:disabled { opacity:.45; cursor:wait; }
.share-action:hover:not(:disabled) { background:#fff7ae; }
.share-link-label { display:block; font:700 11px/1.5 var(--font-body); margin-bottom:7px; }
.share-link-row { display:flex; width:100%; min-width:0; border:1px solid #3d2a1e30; border-radius:11px; overflow:hidden; background:#FDFAF5; }
.share-link-row input { flex:1; min-width:0; width:100%; border:0; outline-offset:-3px; background:transparent; padding:12px 10px; font:400 11px/1.5 var(--font-body); color:#796555; text-overflow:ellipsis; }
.share-link-row button { flex-shrink:0; border:0; border-left:1px solid #3d2a1e20; padding:10px 12px; color:#3D2A1E; background:#fff7ae; font:700 11px var(--font-body); min-height:42px; }
.share-status { min-height:32px; margin:9px 0 0; padding:0; font:400 11px/1.5 var(--font-body); color:#695446; text-align:left; }
#modal-share-preview button:focus-visible, #modal-share-preview input:focus-visible { outline:3px solid #3D2A1E; outline-offset:3px; }
@media(max-width:760px) {
  #modal-share-preview { padding:10px; }
  #modal-share-preview .share-card-modal-wrap { max-width:480px; max-height:calc(100dvh - 20px); border-radius:22px; }
  .share-studio-header { padding:17px 20px; position:sticky; top:0; z-index:1; }
  .share-studio-header h2 { font-size:25px; }.share-eyebrow { font-size:9px; margin-bottom:6px; }
  .share-studio-body { display:flex; flex-direction:column; }
  .share-stage { padding:15px 20px; gap:12px; }
  #modal-share-preview .share-canvas-container canvas { max-height:41dvh; max-width:100%; }
  .share-controls { padding:21px 20px; gap:20px; }
  .share-control-intro { display:none; }
  .share-format-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
  .share-format-option { display:flex; flex-direction:column; justify-content:center; gap:5px; padding:9px 2px; min-height:84px; }
  .share-format-option span:not(.share-format-icon) { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) { #modal-share-preview .share-canvas-container { transition:none; } }
/* Authored design library. */
.share-studio-header { position:sticky; top:0; z-index:3; }
.share-stage { position:sticky; top:99px; align-self:start; width:100%; }
.share-design-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.share-design-option { padding:5px 5px 7px; border:1px solid #3d2a1e25; background:#FDFAF5; border-radius:10px; min-width:0; display:flex; flex-direction:column; align-items:center; gap:6px; color:#3D2A1E; }
.share-design-option canvas { display:block; width:100%; height:auto; border-radius:3px; }
.share-design-option span { font:700 9px/1.3 var(--font-body); text-align:center; }
.share-design-category { font:500 9px/1.3 var(--font-body); color:#796555; text-align:center; }
.share-design-option[aria-pressed="true"] { background:#dff7fc; border-color:#3D2A1E; box-shadow:inset 0 0 0 1px #3D2A1E; }
.share-design-hint { font:600 11px/1.4 var(--font-body); color:#695446; min-height:16px; margin:10px 0 0; }
@media(max-width:760px){
  .share-stage { top:86px; z-index:2; box-shadow:0 4px 8px #3d2a1e12; padding:10px 20px; gap:8px; }
  #modal-share-preview .share-canvas-container canvas { max-height:26dvh; }
  .share-stage-meta { font-size:8px; }.share-preview-caption { font-size:10px; }
  .share-design-option span { font-size:10px; }
}
.share-enlarge { padding:2px 0; border:0; border-bottom:1px solid currentColor; background:none; color:#3D2A1E; font:700 10px var(--font-body); }
#modal-share-preview .share-zoomed .share-studio-body { display:block; }
#modal-share-preview .share-zoomed .share-controls { display:none; }
#modal-share-preview .share-zoomed .share-stage { position:static; }
#modal-share-preview .share-zoomed .share-canvas-container canvas { max-height:calc(100dvh - 235px); }

/* Collection navigation remains quiet so the artwork supplies the personality. */
.share-library-tabs { display:flex; gap:4px; padding:4px; border-radius:12px; background:#e8dfd5; }
.share-library-tabs button { flex:1; min-height:40px; padding:8px 5px; border:0; border-radius:9px; background:transparent; color:#3d2a1e; font:700 11px var(--font-body); }
.share-library-tabs button[aria-pressed="true"] { background:#fffdf9; box-shadow:0 2px 7px #3d2a1e12; }
.share-library-tools { display:flex; justify-content:space-between; align-items:center; gap:10px; min-height:48px; }
.share-library-tools p { margin:0; color:#695446; font:600 10px var(--font-body); }
.share-library-tools button { border:0; background:none; min-height:40px; padding:4px; color:#3d2a1e; font:700 11px var(--font-body); }
.share-library-tools label { font:600 10px var(--font-body); color:#695446; }
.share-library-tools select { max-width:125px; border:1px solid #3d2a1e30; padding:7px; border-radius:7px; background:#fffdf9; color:#3d2a1e; font:600 11px var(--font-body); }
.share-library-tools [hidden] { display:none; }
.share-preview-details { display:flex; width:100%; align-items:center; justify-content:space-between; gap:12px; }
.share-preview-details p { text-align:left; margin:0; }
.share-favorite { flex-shrink:0; border:1px solid #3d2a1e30; border-radius:20px; padding:8px 12px; min-height:36px; background:#fffdf9; font:700 11px var(--font-body); color:#3d2a1e; }
.share-favorite[aria-pressed="true"] { background:#ffd1e7; border-color:#9a4269; }
.share-empty { grid-column:1/-1; padding:22px; text-align:center; color:#695446; font:400 13px/1.6 var(--font-body); }
#modal-share-preview select:focus-visible { outline:3px solid #3d2a1e; outline-offset:3px; }
@media(max-width:760px) {
  .share-design-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .share-preview-details { gap:6px; }
  .share-favorite { font-size:10px; padding:7px 9px; }
}
