/* Patanki 2.3 — continuous glass, sculpted surfaces, independent pages. */
[hidden]{display:none!important}
html{scroll-behavior:smooth}html[data-font=small]{font-size:15px}html[data-font=medium]{font-size:16px}html[data-font=large]{font-size:18px}
body.page-active .wrap>#loader-screen,body.page-active .wrap>#home-pro-banner,body.page-active .wrap>.tg-card,body.page-active .wrap>.contributor-card,body.page-active .wrap>.home-footer{display:none!important}
.app-page{position:relative;width:100%;min-width:0;padding-bottom:24px}
.app-page>.sheet{display:block;position:relative;max-width:none!important;width:100%;height:auto;max-height:none;transform:none!important;opacity:1!important;background:none;border:0;border-radius:0;box-shadow:none;overflow:visible}
.app-page .sheet-header{padding:0 0 24px;border:0;background:none;min-height:0}
.app-page .sheet-body{padding:0;overflow:visible;max-height:none}
.app-page .sheet-title,.app-page h2{font:600 clamp(1.55rem,5vw,2.1rem)/1.2 Onest,sans-serif;letter-spacing:-.045em}
.app-page .sheet-close{display:none}.app-page h2{margin:8px 0 12px}.page-eyebrow{font-size:.72rem;color:var(--stain);letter-spacing:.06em}.page-intro{color:var(--ink-dim);font-size:.86rem}
#decks-list-view{display:grid;gap:18px} .premium-decks-section{display:grid;gap:18px}.premium-decks-title{padding:0 0 5px!important;font:400 .78rem/1.6 Onest,sans-serif!important;color:var(--ink-dim)}
.premium-deck-card,.deck-card,.saved-deck,.builder-tile{position:relative;isolation:isolate;border:1px solid var(--line-soft)!important;border-radius:24px!important;background:linear-gradient(145deg,color-mix(in srgb,var(--bg-panel) 90%,white 10%),var(--bg-panel) 52%,var(--bg-soft))!important;box-shadow:inset 0 1.5px 1px var(--shine),inset 0 -2px 3px var(--lower),0 12px 24px var(--card-shadow)!important;color:var(--ink);transition:transform .3s var(--ease-smooth),box-shadow .3s;touch-action:pan-y;}
.premium-deck-card{padding:22px 18px!important;min-height:108px;margin:0!important;overflow:visible!important}.premium-deck-card::before{content:'';position:absolute;inset:5px 8px -5px;z-index:-1;background:var(--bg-panel);border-radius:22px;border:1px solid var(--line-soft);box-shadow:0 5px 12px var(--card-shadow)}
.premium-deck-card:nth-child(2n) .premium-deck-ico{color:#dfb57d}.premium-deck-card:nth-child(3n) .premium-deck-ico{color:#a8bac4}
.premium-deck-ico{width:48px!important;height:56px!important;border-radius:16px!important;transform:rotate(-6deg);background:linear-gradient(145deg,var(--tint),var(--bg-soft))!important;box-shadow:inset 0 1px 1px var(--shine),0 5px 9px var(--card-shadow);flex-shrink:0}.premium-deck-name{font:600 .92rem/1.4 Onest,sans-serif!important}.premium-deck-meta{font-size:.72rem!important;line-height:1.5}.premium-deck-lock{opacity:.7}.deck-card{padding:21px!important;margin:0!important}.deck-card-name{font-size:1rem}.deck-actions{flex-wrap:wrap}.deck-actions button{min-height:42px}
.import-sculpture{position:relative;height:150px;perspective:900px;margin:12px 0 22px}.import-sculpture i{position:absolute;left:calc(50% - 47px);top:15px;width:94px;height:120px;border-radius:22px;background:linear-gradient(150deg,var(--stain),#785c60);box-shadow:inset 0 2px 2px #fff6,0 16px 30px #0003;transform:rotate(-18deg) translateX(-24px);border:1px solid #fff2}.import-sculpture i:nth-child(2){transform:rotate(12deg) translateX(24px);background:linear-gradient(150deg,#d6be94,#947a5f)}.import-sculpture i:last-child{display:grid;place-items:center;transform:rotate(-3deg);font:400 42px Onest;color:#fff;background:linear-gradient(150deg,#b9c9c8,#68827f)}
#add-file{width:100%;min-height:54px;border-radius:20px;font:600 .9rem Onest}.format-note{font-size:.75rem;line-height:1.65;color:var(--ink-dim);margin:18px 8px 26px}.builder-tile{width:100%;padding:22px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.builder-tile b{font-size:.94rem}.builder-tile small{display:block;font-size:.72rem;margin-top:8px;color:var(--ink-dim)}#builder-access{font-size:.68rem;white-space:nowrap;color:var(--stain)}#saved-decks{display:grid;gap:12px;color:var(--ink-dim);font-size:.8rem}.saved-deck{text-align:left;padding:20px;width:100%}.saved-deck b{font:600 .9rem Onest}.saved-deck small{display:block;margin-top:6px;font-size:.7rem;color:var(--ink-dim)}
#pro-plan-picker{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:visible;padding:4px 0 12px;scroll-snap-type:none}#pro-plan-picker .plan-card{width:100%;min-width:0;min-height:116px;padding:14px 9px;align-items:center;text-align:center;border-radius:20px;gap:10px;box-shadow:inset 0 1px 1px var(--shine),0 6px 14px var(--card-shadow)}.plan-card-label{font-size:clamp(.66rem,2.8vw,.82rem)}.plan-card-price{font-size:clamp(1.15rem,5vw,1.55rem)}.plan-card-sub{font-size:.65rem}.plan-card.is-active{transform:translateY(-2px)}.pro-feature-item{font-size:.8rem}.pro-hero-price{font-size:2rem}.pay-banks{font-size:.83rem;line-height:1.6;color:var(--ink)}.pay-copy-row{flex-wrap:wrap;gap:10px}.pay-copy-value{min-width:0;overflow-wrap:anywhere}.pay-contact-row{display:flex;flex-wrap:wrap;gap:8px}.pay-contact-btn{min-height:42px}.pay-note{line-height:1.6}
.legal-tabs{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;background:var(--bg-soft);border:0;padding:5px;border-radius:20px;margin-bottom:22px}.legal-tab{font-size:.73rem;padding:12px 6px;text-align:center;border-radius:15px}.legal-tab.is-active{background:var(--bg-panel);box-shadow:inset 0 1px 1px var(--shine),0 4px 9px var(--card-shadow)}.legal-meta{font-size:.67rem;letter-spacing:.01em;color:var(--ink-dim)}.legal-doc h3{font-size:1.25rem;line-height:1.3;margin:12px 0 24px}.legal-section{padding:0 0 20px;margin:0 0 20px;border-bottom:1px solid var(--line-soft)}.legal-section h4{font:600 .94rem/1.45 Onest;margin:0 0 12px}.legal-section p{font:400 .83rem/1.8 Onest;margin:0;color:var(--ink-dim)}
.theme-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.theme-choices button{padding:10px 8px;border:1px solid transparent;border-radius:20px;background:var(--bg-soft);color:var(--ink);font:400 .7rem Onest;box-shadow:inset 0 1px 1px var(--shine)}.theme-choices button[aria-pressed=true]{border-color:var(--stain);background:var(--tint)}.theme-preview{height:86px;display:flex;flex-direction:column;gap:6px;padding:12px 8px;border-radius:13px;margin-bottom:10px;background:#eee8df;box-shadow:inset 0 1px 2px #fff5,0 3px 8px #0002}.theme-preview.dark{background:#1d272a}.theme-preview.pink{background:#e9c8d1}.theme-preview i{display:block;background:#c38175;height:10px;border-radius:4px}.theme-preview i:first-child{width:40%}.theme-preview i:nth-child(2){height:30px;background:#ffffff35}.theme-preview i:last-child{width:65%;height:5px}.font-settings{margin:20px 0;padding:18px;background:var(--bg-soft);border-radius:22px;font-size:.82rem;display:flex;align-items:center;justify-content:space-between;gap:14px}.font-settings>div{display:flex;gap:4px}.font-settings button{border:0;border-radius:12px;width:43px;height:43px;background:transparent;color:var(--ink)}.font-settings button:nth-child(1){font-size:14px}.font-settings button:nth-child(2){font-size:18px}.font-settings button:nth-child(3){font-size:22px}.font-settings button[aria-pressed=true]{background:var(--tint);color:var(--stain);box-shadow:inset 0 1px 2px var(--shine)}#settings-overlay .settings-row{border:0!important;border-radius:22px;padding:20px;background:var(--bg-soft);box-shadow:inset 0 1px 1px var(--shine);margin-top:12px}#settings-overlay .settings-row-title{font-size:.87rem}#settings-overlay .settings-row-sub{font-size:.72rem}
.shine-button,#pro-buy-btn,.home-cta{position:relative;overflow:hidden;isolation:isolate}.shine-button::after,#pro-buy-btn::after,.home-cta::after{content:'';position:absolute;inset:-100% -50%;pointer-events:none;background:linear-gradient(110deg,transparent 42%,#fff5 50%,transparent 58%);transform:translateX(-70%);animation:button-glint 8s cubic-bezier(.22,1,.36,1) infinite}@keyframes button-glint{0%,65%{transform:translateX(-70%)}90%,100%{transform:translateX(70%)}}
body.has-pro .brand h1,body.has-pro .ds-brand-title{background:linear-gradient(110deg,#d0877d,#f1d7ab,#a5c8c6,#d0877d);background-size:240% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;animation:brand-sheen 9s ease-in-out infinite}body.has-pro .brand h1 *{color:inherit;background:none}@keyframes brand-sheen{50%{background-position:100% 50%}}
.dock-lens{transform:translateX(var(--lens-x,0px));background:radial-gradient(ellipse at var(--glass-touch,50%) 0,#ffffff48,transparent 60%),linear-gradient(145deg,var(--bg-panel),var(--tint));backdrop-filter:blur(14px) saturate(170%);-webkit-backdrop-filter:blur(14px) saturate(170%)}.dock-lens::after{content:'';position:absolute;inset:0;border-radius:inherit;padding:1.4px;background:conic-gradient(from 60deg,#fff9,#8ce6ff75,#e6b4f488,#fff8,#e7a68d99,#fff9);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.38;transition:opacity .25s}.mobile-dock.touching .dock-lens{transform:translateX(var(--lens-x,0px)) scale(1.065,1.16);box-shadow:inset 0 2px 2px #fff4,0 5px 20px #0003,2px 0 8px #90d5df33,-2px 0 8px #efa6b533}.mobile-dock.touching .dock-lens::after{opacity:1}.mobile-dock.dragging .dock-lens{transition:width .16s ease,box-shadow .3s}.mobile-dock.touching svg{filter:drop-shadow(1px 0 1px #e8a2a155) drop-shadow(-1px 0 1px #93d9e055)}.mobile-dock{transition:opacity .25s,translate .35s var(--ease-smooth);touch-action:pan-y}body.sheet-visible .mobile-dock,body.study-active .mobile-dock{visibility:visible;opacity:0;translate:0 24px;pointer-events:none}.mobile-dock button{user-select:none;-webkit-user-select:none}
@media(min-width:800px){.premium-decks-section{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-decks-title{grid-column:1/-1}.app-page{max-width:950px}.app-page#account-overlay{max-width:650px}.app-page#add-page{max-width:680px}}
@media(max-width:359px){#pro-plan-picker{gap:5px}#pro-plan-picker .plan-card{padding:12px 4px}.builder-tile{padding:16px;gap:8px}.builder-tile b{font-size:.82rem}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}.shine-button::after,#pro-buy-btn::after,.home-cta::after{display:none}}

/* 2.3.1: use the original Patanki shuffle keyframes in styles.css. */
body.editor-active #home-pro-banner,body.editor-active #ds-pro-banner,body.has-pro #home-pro-banner{display:none!important}
.mobile-dock .dock-lens{will-change:transform,width;transition:transform .38s cubic-bezier(.22,1,.36,1),width .3s cubic-bezier(.22,1,.36,1),box-shadow .3s}
.mobile-dock.dragging .dock-lens{transition:width .16s ease,box-shadow .3s}
.mobile-dock button{min-width:0!important}.mobile-dock.has-admin button{padding-inline:8px;flex-basis:43px}.mobile-dock.has-admin button.selected{flex:1 1 108px}.mobile-dock.has-admin button.selected>span{max-width:80px}
#admin-overlay.app-page .sheet{max-width:none}#admin-overlay .admin-user-row{flex-wrap:wrap;overflow-wrap:anywhere}
#jump-overlay .sheet{max-width:680px}#jump-overlay .sheet-body{overflow-y:auto}#jump-overlay .sheet-title-badge{display:none}
#jump-overlay .jump-grid{max-height:none;overflow:visible;gap:12px;padding:0;margin-top:16px}
#jump-overlay .jump-row{padding:17px 14px;border:1px solid var(--line-soft);border-radius:20px;background:linear-gradient(145deg,var(--bg-panel),var(--bg-soft));box-shadow:inset 0 1px 1px var(--shine),0 6px 14px var(--card-shadow);align-items:center;gap:12px}
#jump-overlay .jump-row.current{border-color:var(--stain);background:var(--tint)}
#jump-overlay .jump-row-num{width:34px;height:40px;border:0;border-radius:12px;font:600 .75rem Onest;background:var(--bg-soft)}
#jump-overlay .jump-row-top{display:block}#jump-overlay .jump-row-q{font:600 .84rem/1.45 Onest;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
#jump-overlay .jump-row-a{font:400 .73rem/1.5 Onest;margin-top:6px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
#jump-overlay .jump-status{display:inline-block;margin-top:7px;font:400 .61rem Onest;letter-spacing:0;padding:4px 7px;border-radius:7px}
#jump-overlay .jump-count{font:400 .72rem Onest;text-transform:none;letter-spacing:0;margin-top:16px}
#jump-overlay input{border-radius:16px;font-family:Onest}#jump-overlay #jump-search{min-height:48px}#jump-overlay .jump-controls{gap:10px}
#jump-overlay .jump-row-imgtag{display:none}

/* ===== 2.3.2 critical iPhone stability patch ===== */
:root{
  --safe-top-ui:env(safe-area-inset-top,0px);
  --safe-bottom-ui:min(env(safe-area-inset-bottom,0px),34px);
  --chrome-solid:#eeeae7;
}
html.dark{--chrome-solid:#14191c}html.pink{--chrome-solid:#f3e9ef}html.dark.pink{--chrome-solid:#1e1720}
html,body{min-height:var(--app-height,100dvh);background:var(--chrome-solid)}
.appbar{background:var(--chrome-solid);transition:none;box-shadow:none}
.flip-hint{display:none!important}

/* Bottom sheets use one safe-area calculation only. This prevents the page from
   jumping upward when iOS reports a transient oversized bottom inset. */
.overlay .sheet{padding-bottom:0;max-height:calc(var(--app-height,100dvh) - var(--safe-top-ui) - 12px)}
.overlay .sheet-body{padding-bottom:calc(24px + var(--safe-bottom-ui))}
.overlay.gate-lock{height:var(--app-height,100dvh)}
.overlay.gate-lock .sheet{height:var(--app-height,100dvh);max-height:none;padding-bottom:var(--safe-bottom-ui)}
.action-bar{padding-bottom:max(14px,var(--safe-bottom-ui))!important}

@media(max-width:799px){
  .wrap{padding-bottom:calc(84px + var(--safe-bottom-ui))!important}
  .mobile-dock{
    bottom:calc(10px + var(--safe-bottom-ui))!important;
    width:min(350px,calc(100% - 28px));height:58px;padding:5px;gap:2px;
    touch-action:none!important;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;
    contain:layout paint style;transform:translate3d(-50%,0,0);
  }
  .mobile-dock button{
    flex:0 1 48px!important;min-width:0!important;min-height:48px;padding:0 10px!important;
    touch-action:none!important;transition:flex-basis .48s var(--ease-smooth),flex-grow .48s var(--ease-smooth),color .24s ease,transform .32s var(--ease-smooth)!important;
  }
  .mobile-dock button.selected{flex:1 1 142px!important}
  .mobile-dock.has-admin button{flex-basis:48px!important;padding-inline:8px!important}
  .mobile-dock.has-admin button.selected{flex:1 1 128px!important}
  .mobile-dock button.dock-preview{color:var(--stain)}
  .dock-lens,.mobile-dock .dock-lens{
    left:0;top:5px;height:48px;width:var(--lens-width,142px)!important;
    transform:translate3d(var(--lens-x,5px),0,0)!important;
    transition:transform .18s cubic-bezier(.22,1,.36,1),width .18s cubic-bezier(.22,1,.36,1),box-shadow .24s ease!important;
  }
  .mobile-dock.touching .dock-lens{transform:translate3d(var(--lens-x,5px),0,0) scale(1.055,1.13)!important}
  .mobile-dock.dragging .dock-lens{transition:width .14s ease,box-shadow .22s ease!important}
  /* The native status-bar zone stays on the same opaque app chrome while a modal dims the content below. */
  .overlay:not(.gate-lock){
    padding-top:calc(var(--safe-top-ui) + 8px);
    background:linear-gradient(to bottom,transparent 0 calc(var(--safe-top-ui) + 68px),var(--overlay-bg) calc(var(--safe-top-ui) + 68px) 100%);
    -webkit-backdrop-filter:none;backdrop-filter:none;
  }
}

/* Small, GPU-cheap back affordance. Only the hint moves; the whole page never follows the finger. */
.edge-back-hint{
  left:max(5px,env(safe-area-inset-left,0px));top:50%;width:42px;height:58px;margin-top:-29px;border-radius:0;background:transparent;box-shadow:none;
  opacity:0;transform:translate3d(calc(-34px + var(--edge-p,0)*28px),0,0) scale(calc(.86 + var(--edge-p,0)*.14));
  transition:opacity .11s ease,transform .11s cubic-bezier(.22,1,.36,1);will-change:transform,opacity;contain:layout paint style;
}
.edge-back-hint::before{content:'';position:absolute;inset:7px 0;border-radius:999px;background:color-mix(in srgb,var(--chrome-solid) 82%,transparent);-webkit-backdrop-filter:blur(14px) saturate(150%);backdrop-filter:blur(14px) saturate(150%);box-shadow:inset 0 1px 1px var(--shine),0 8px 22px -12px var(--card-shadow)}
.edge-back-hint svg{position:relative;z-index:1;width:20px;height:20px;transition:transform .12s ease}
.edge-back-hint.visible{opacity:calc(.45 + var(--edge-p,0)*.55);transform:translate3d(calc(-34px + var(--edge-p,0)*28px),0,0) scale(calc(.86 + var(--edge-p,0)*.14))}
.edge-back-hint.ready svg{transform:translateX(-3px)}
.edge-back-hint.committed{opacity:0;transform:translate3d(18px,0,0) scale(1.04)}

/* Admin console — same information hierarchy as PharmApp, adapted to the PATANki API. */
#admin-overlay.app-page{max-width:980px}
.admin-console-intro{margin:-12px 0 22px}.admin-console-intro>span,.admin-section-kicker{display:block;color:var(--stain);font:600 .66rem/1.4 Onest;letter-spacing:.06em;text-transform:uppercase}.admin-console-intro p{max-width:62ch;margin-top:7px;color:var(--ink-dim);font:400 .82rem/1.6 Onest}
.admin-stat-cards{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:0 0 12px}.admin-stat{min-height:84px;padding:16px!important;display:flex;flex-direction:column;justify-content:space-between}.admin-stat b{font:600 1.65rem/1 Onest;letter-spacing:-.04em}.admin-stat span{font:400 .65rem Onest;color:var(--ink-dim)}
.admin-console-toolbar{display:flex;justify-content:flex-end;gap:8px;margin:0 0 28px}.admin-console-toolbar .btn{min-height:42px;padding-inline:16px}.admin-console-toolbar .btn.is-active{background:var(--tint);color:var(--stain);border-color:var(--stain)}
#admin-only-price-block{margin:0 0 30px}.admin-panel-card{padding:18px;border-radius:24px;background:var(--bg-soft);box-shadow:inset 0 1px 1px var(--shine)}.admin-price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.admin-price-grid label{display:grid;gap:7px}.admin-price-grid label>span{font:500 .67rem Onest;color:var(--ink-dim)}.admin-price-grid input{text-align:center;font-variant-numeric:tabular-nums}
.admin-console-section{margin:0 0 30px}.admin-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 12px}.admin-section-head h3{font:600 1.08rem/1.25 Onest!important;letter-spacing:-.025em;margin:3px 0 0!important}.admin-section-count,.admin-users-count{font:400 .67rem Onest;color:var(--ink-dim);white-space:nowrap}
.admin-search-field{display:flex;align-items:center;gap:8px;min-height:52px;padding:0 15px;margin:0 0 10px;border-radius:18px;background:var(--bg-soft);box-shadow:inset 0 1px 2px var(--lower)}.admin-search-field>span{font-size:1.1rem;color:var(--ink-dim)}.admin-search-field .text-input{background:transparent;border:0;box-shadow:none;padding:11px 0}.admin-search-field .text-input:focus{box-shadow:none}
.admin-users-list,.admin-orders-list{display:grid;gap:8px}.admin-user-row,.admin-order-card{display:flex!important;align-items:center;justify-content:space-between;gap:14px;padding:15px 16px;border:1px solid var(--line-soft);border-radius:20px;background:var(--bg-panel);box-shadow:inset 0 1px 1px var(--shine)}.admin-user-main,.admin-order-copy{min-width:0;display:grid;gap:4px}.admin-user-title{display:flex;align-items:center;gap:8px;min-width:0}.admin-user-title b{font:600 .82rem/1.35 Onest;overflow-wrap:anywhere}.admin-user-email,.admin-order-copy>span{font:400 .69rem/1.45 Onest;color:var(--ink-dim);overflow-wrap:anywhere}.admin-user-main small,.admin-order-copy small{font:400 .62rem/1.45 Onest;color:var(--ink-dim)}
.admin-access-chip{flex:0 0 auto;padding:4px 7px;border-radius:999px;background:var(--bg-soft);color:var(--ink-dim);font:600 .55rem Onest;letter-spacing:.04em}.admin-access-chip.is-pro{background:var(--tint);color:var(--stain)}.admin-access-chip.is-admin{background:linear-gradient(135deg,var(--pro-1),var(--pro-2));color:var(--pro-ink)}.admin-access-chip.is-pending{background:color-mix(in srgb,var(--stain) 13%,var(--bg-soft));color:var(--stain)}
.admin-user-actions,.admin-order-actions{display:flex;gap:7px;flex:0 0 auto}.admin-user-actions .btn,.admin-order-actions .btn{min-height:39px;padding:9px 12px;font-size:.66rem}.admin-empty{padding:22px;border-radius:20px;background:var(--bg-soft);color:var(--ink-dim);font:400 .75rem/1.5 Onest;text-align:center}
.admin-tools{margin:8px 0 10px;border-radius:24px;background:var(--bg-soft);overflow:hidden}.admin-tools>summary{list-style:none;cursor:pointer;min-height:58px;padding:18px 20px;display:flex;align-items:center;font:600 .8rem Onest}.admin-tools>summary::-webkit-details-marker{display:none}.admin-tools>summary::after{content:'+';margin-left:auto;color:var(--stain);font-size:1.2rem;transition:transform .25s var(--ease-smooth)}.admin-tools[open]>summary::after{transform:rotate(45deg)}.admin-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 10px 10px}.admin-tool-card{padding:16px;border-radius:20px;background:var(--bg-panel)}.admin-tool-card .admin-section-title{margin:0 0 12px;font:600 .78rem Onest}.admin-tool-card .admin-form{display:grid;gap:8px}

/* Card browser: clean, compact, single scrolling surface. */
#jump-overlay .sheet{max-width:680px}
#jump-overlay .jump-sheet-header{padding-bottom:14px}.jump-head-copy{flex:1;min-width:0}.jump-head-sub{margin-top:3px;color:var(--ink-dim);font:400 .64rem Onest}
#jump-overlay .sheet-body{overflow-y:auto;padding-top:14px}
#jump-overlay .ce-section{margin:0}
#jump-overlay .jump-goform{border:0;border-radius:18px;background:var(--bg-soft);box-shadow:inset 0 1px 2px var(--lower);min-height:50px}
#jump-overlay .jump-goform-hash{padding-left:16px;font:500 .75rem Onest}
#jump-overlay #jump-input{font-family:Onest;font-size:16px;padding-inline:8px}
#jump-overlay .jump-goform .ed-btn{margin:5px;min-height:40px;border-radius:14px;padding:8px 15px}
#jump-overlay .jump-search-wrap{margin-top:10px}#jump-overlay #jump-search{min-height:50px;border:0;border-radius:18px;background:var(--bg-soft);box-shadow:inset 0 1px 2px var(--lower);font-size:16px}
#jump-overlay .jump-count{margin:14px 3px 10px;font-size:.65rem}
#jump-overlay .jump-grid{gap:8px;margin-top:0;padding:0}
#jump-overlay .jump-row{min-height:76px;padding:13px 12px;border:1px solid var(--line-soft);border-radius:18px;background:var(--bg-panel);box-shadow:none}
#jump-overlay .jump-row.current{border-color:color-mix(in srgb,var(--stain) 55%,var(--line));background:var(--tint)}
#jump-overlay .jump-row-num{width:34px;height:38px;border:0;border-radius:12px;background:var(--bg-soft);font:.65rem Onest}
#jump-overlay .jump-row-top{display:block}#jump-overlay .jump-row-q{font:600 .8rem/1.42 Onest;white-space:normal;-webkit-line-clamp:2}#jump-overlay .jump-row-a{font:400 .68rem/1.45 Onest;margin-top:4px;-webkit-line-clamp:2}.jump-status{margin-top:6px!important;text-transform:none!important;letter-spacing:0!important;font-weight:500!important}

@media(max-width:620px){
 .admin-price-grid{grid-template-columns:1fr}.admin-tool-grid{grid-template-columns:1fr}.admin-user-row,.admin-order-card{align-items:flex-start;flex-direction:column}.admin-user-actions,.admin-order-actions{width:100%}.admin-user-actions .btn,.admin-order-actions .btn{flex:1}.admin-console-toolbar{justify-content:stretch}.admin-console-toolbar .btn{flex:1}
}
@media(prefers-reduced-motion:reduce){.edge-back-hint,.edge-back-hint svg{transition:none!important}}

/* Constructor sheets share the same motion and surface language. */
.overlay{transition:opacity .24s ease}
.overlay .sheet{transition:transform .32s cubic-bezier(.22,1,.36,1)}
#cardedit-overlay .sheet,#note-overlay .sheet{max-width:620px}
#cardedit-overlay .sheet-title-badge,#note-overlay .sheet-title-badge{display:none}
#cardedit-overlay .sheet-body,#note-overlay .sheet-body{overflow-y:auto}
#cardedit-overlay .ce-section,#note-overlay .ce-section{margin-bottom:14px}
#cardedit-overlay .ce-field{padding:15px;border-radius:20px;background:var(--bg-soft)}
#cardedit-overlay .ce-label,#note-overlay .ce-label{font:600 .69rem/1.45 Onest;letter-spacing:0;color:var(--ink-dim);text-transform:none;margin-bottom:9px}
#cardedit-overlay .ce-label-dot{width:7px;height:7px;box-shadow:none}
#cardedit-overlay .ce-text,#note-overlay .ce-text,#cardedit-overlay .ce-tags{border:0;border-radius:16px;background:var(--bg-panel);box-shadow:inset 0 1px 2px var(--lower);font:400 16px/1.55 Onest;resize:none}
#cardedit-overlay .ce-text{min-height:108px}
#note-overlay .note-text{min-height:150px}
#cardedit-overlay .ce-addimg{min-height:42px;border:0;border-radius:14px;background:var(--bg-panel);font:500 .68rem Onest;letter-spacing:0;color:var(--stain)}
#note-overlay .note-context{border:0;border-radius:17px;background:var(--bg-soft);padding:12px 14px}.note-context-txt{font:400 .76rem/1.45 Onest!important;font-style:normal!important}.note-context-num{font-family:Onest!important;letter-spacing:0!important}
#cardedit-overlay .ce-actions,#note-overlay .ce-actions{position:sticky;bottom:calc(-24px - var(--safe-bottom-ui));z-index:2;margin:18px -22px calc(-24px - var(--safe-bottom-ui));padding:12px 22px calc(12px + var(--safe-bottom-ui));background:linear-gradient(to top,var(--bg-panel) 78%,color-mix(in srgb,var(--bg-panel) 82%,transparent));border-top:1px solid var(--line-soft)}
#cardedit-overlay .ce-actions .ed-btn,#note-overlay .ce-actions .ed-btn{flex:1;min-height:48px}

@media(max-width:799px){
  .overlay:not(.gate-lock){background:transparent;isolation:isolate}
  .overlay:not(.gate-lock)::before{content:'';position:absolute;z-index:0;left:0;right:0;top:calc(var(--safe-top-ui) + 68px);bottom:0;background:var(--overlay-bg);-webkit-backdrop-filter:blur(7px) saturate(1.08);backdrop-filter:blur(7px) saturate(1.08);pointer-events:none}
  .overlay:not(.gate-lock)>.sheet{position:relative;z-index:1}
}

/* ===== 2.3.4 — iPhone motion parity with PharmApp + premium surfaces ===== */
/* The document itself must never retain an old, taller iOS viewport. Sheets use --app-height;
   the page canvas uses the live dynamic viewport so a fixed dock cannot inherit a phantom bottom strip. */
html,body{min-height:100dvh!important;height:auto;background:var(--chrome-solid)}
body.page-active .wrap>.home-contributors{display:none!important}
.wrap{animation:none!important;opacity:1!important}
.app-page{backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translateZ(0)}

/* One composited sheet animation only. Child-by-child opacity animations are expensive in iOS WebKit
   and were the main source of visible flashes when opening settings/legal screens. */
.overlay.is-open .sheet-body>* , .overlay.is-open .sheet-header>* ,
.settings-row,.pro-feature-item,.plan-card,.admin-user-row,.jump-row,.ed-card,.tg-card,.donate-card{
  animation:none!important;
}
.overlay .sheet{backface-visibility:hidden;-webkit-backface-visibility:hidden;transform:translate3d(0,34px,0) scale(.985);will-change:transform}
.overlay.is-open .sheet{transform:translate3d(0,0,0) scale(1)}

@media(max-width:799px){
  .wrap{padding-bottom:106px!important}
  .mobile-dock{
    left:50%!important;right:auto!important;
    /* Cap the iOS inset. Some standalone sessions briefly report a much larger value after a sheet/keyboard.
       The dock now stays visually next to the Home Indicator instead of jumping 60–100 px upward. */
    bottom:clamp(14px,calc(env(safe-area-inset-bottom,0px) - 6px),24px)!important;
    width:min(326px,calc(100% - 28px))!important;height:58px!important;padding:5px!important;gap:2px!important;
    transform:translate3d(-50%,0,0)!important;
    background:linear-gradient(140deg,color-mix(in srgb,var(--chrome) 82%,var(--shine)),var(--chrome))!important;
    -webkit-backdrop-filter:blur(24px) saturate(160%)!important;backdrop-filter:blur(24px) saturate(160%)!important;
    box-shadow:inset 0 1.5px 1px var(--shine),inset 0 -1px 2px var(--lower),0 7px 25px var(--card-shadow)!important;
    isolation:isolate;overflow:visible;contain:layout style;will-change:transform;
    backface-visibility:hidden;-webkit-backface-visibility:hidden;
  }
  .mobile-dock button{
    flex:0 1 43px!important;min-width:38px!important;min-height:48px!important;padding:0 8px!important;
    transition:flex-basis .34s var(--ease-smooth),flex-grow .34s var(--ease-smooth),color .2s ease,transform .22s var(--ease-smooth)!important;
  }
  .mobile-dock button>span{font-size:10px;transition:max-width .34s var(--ease-smooth),opacity .18s ease,margin-left .3s var(--ease-smooth)!important}
  .mobile-dock button.selected{flex:1 1 126px!important}.mobile-dock button.selected>span{max-width:92px!important;margin-left:7px}
  .mobile-dock.has-admin button{flex-basis:38px!important;padding-inline:6px!important}.mobile-dock.has-admin button.selected{flex:1 1 110px!important}
  .mobile-dock button svg{width:22px;height:22px;transition:transform .22s var(--ease-smooth),filter .22s var(--ease-smooth)}
  .dock-lens,.mobile-dock .dock-lens{
    left:0!important;top:5px!important;height:48px!important;width:var(--lens-width,126px)!important;
    transform:translate3d(var(--lens-x,5px),0,0)!important;transform-origin:center;
    background:radial-gradient(ellipse at 50% 0%,var(--shine),transparent 80%),linear-gradient(160deg,color-mix(in srgb,var(--bg-panel) 76%,transparent),color-mix(in srgb,var(--tint) 65%,transparent))!important;
    -webkit-backdrop-filter:blur(6px) saturate(170%)!important;backdrop-filter:blur(6px) saturate(170%)!important;
    box-shadow:inset 0 1px 1px var(--shine),inset 0 -1px 3px var(--lower),0 3px 8px var(--card-shadow)!important;
    transition:transform .16s var(--ease-smooth),width .16s var(--ease-smooth),box-shadow .22s var(--ease-smooth)!important;
    will-change:transform,width;pointer-events:none;
  }
  .mobile-dock.touching .dock-lens{transform:translate3d(var(--lens-x,5px),0,0) scale(1.055,1.12)!important;box-shadow:inset 0 2px 3px var(--shine),inset 0 -2px 5px var(--lower),0 7px 20px var(--card-shadow)!important}
  .mobile-dock.dragging .dock-lens{transition:width .12s var(--ease-smooth),box-shadow .22s var(--ease-smooth)!important}
}
@media(max-width:360px){.mobile-dock{width:calc(100% - 14px)!important}.mobile-dock button{flex-basis:38px!important;padding:0 6px!important}.mobile-dock button.selected{flex-basis:110px!important}.mobile-dock button.selected>span{max-width:76px!important;font-size:9px}}

/* Refined app chrome. The bevel is visible, but not glossy or game-like. */
.appbar{border-bottom:1px solid color-mix(in srgb,var(--line) 86%,transparent)!important}
.icon-btn{
  background:linear-gradient(145deg,color-mix(in srgb,var(--bg-panel) 92%,white 8%),var(--bg-soft))!important;
  border:1px solid color-mix(in srgb,var(--line-soft) 85%,transparent)!important;
  box-shadow:inset 0 1.5px 1px var(--shine),inset 0 -2px 4px var(--lower),0 8px 18px -15px var(--card-shadow)!important;
}
.icon-btn:active{transform:scale(.94);box-shadow:inset 0 3px 6px var(--lower)!important}
.practice-grid>div,.home-tools,#home-pro-banner,.premium-deck-card,.deck-card,.saved-deck,.builder-tile{
  box-shadow:inset 0 1.5px 1px var(--shine),inset 0 -2px 5px var(--lower),0 12px 28px -24px var(--card-shadow)!important;
}
.practice-grid strong,.tool-row b,.section-title h3,.app-page .sheet-title,.app-page h2{text-shadow:0 1px 0 color-mix(in srgb,var(--shine) 80%,transparent)}
.tool-row>.tool-icon,.practice-icon,.pro-mark{
  filter:drop-shadow(0 1px 0 var(--shine));
}

/* Home credits: one compact authored block instead of two unrelated cards. */
.home-contributors{margin-top:14px}
.home-contributors-label{margin:0 7px 8px;color:var(--ink-dim);font:500 .59rem/1.3 Onest,sans-serif;letter-spacing:.075em;text-transform:uppercase}
.home-contributors-card{overflow:hidden;border:1px solid var(--line-soft);border-radius:24px;background:linear-gradient(145deg,color-mix(in srgb,var(--bg-panel) 94%,white 6%),var(--bg-soft));box-shadow:inset 0 1.5px 1px var(--shine),inset 0 -2px 5px var(--lower),0 12px 26px -23px var(--card-shadow)}
.creator-link{display:flex;align-items:center;gap:13px;min-height:78px;padding:13px 16px;color:var(--ink);text-decoration:none;transition:background-color .18s ease,transform .18s var(--ease-smooth)}
.creator-link+.creator-link{border-top:1px solid var(--line-soft)}.creator-link:active{background:color-mix(in srgb,var(--tint) 54%,transparent);transform:scale(.992)}
.creator-mark{width:43px;height:46px;flex:0 0 43px;border-radius:15px;display:grid;place-items:center;color:var(--stain);background:linear-gradient(145deg,var(--tint),var(--bg-soft));box-shadow:inset 0 2px 2px var(--shine),inset 0 -2px 4px var(--lower);font:650 .76rem/1 Onest,sans-serif}
.creator-mark svg{width:21px;height:21px}.creator-mark-author{transform:rotate(-3deg)}.creator-mark-mc{transform:rotate(3deg)}
.creator-copy{display:flex;flex:1;min-width:0;flex-direction:column}.creator-role{color:var(--ink-dim);font:500 .55rem/1.35 Onest,sans-serif;text-transform:uppercase;letter-spacing:.075em}.creator-copy strong{margin-top:2px;font:650 .83rem/1.35 Onest,sans-serif;letter-spacing:-.02em}.creator-copy small{margin-top:3px;color:var(--ink-dim);font:400 .61rem/1.45 Onest,sans-serif;overflow-wrap:anywhere}.creator-arrow{width:17px;height:17px;flex:0 0 17px;color:var(--ink-dim)}

/* Settings hierarchy closely follows PharmApp: visual previews, tactile type-size cards, restrained rows. */
#settings-overlay .sheet{max-width:620px}
#settings-overlay .sheet-title{font-style:normal}
.theme-choices{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:8px!important;margin:4px 0 22px}
.theme-choices button{position:relative;padding:8px 6px 10px!important;border:1px solid transparent!important;border-radius:20px!important;background:transparent!important;box-shadow:none!important;transition:transform .2s var(--ease-smooth),color .2s ease}
.theme-choices button:active{transform:scale(.97)}.theme-choices button[aria-pressed=true]{color:var(--stain)!important}
.theme-preview{position:relative;height:78px!important;margin-bottom:9px!important;padding:9px 7px!important;overflow:hidden;border-radius:15px!important;box-shadow:inset 0 1px 2px #fff7,inset 0 -2px 4px #0002,0 5px 12px -10px #0006!important;border:1px solid transparent}
.theme-choices button[aria-pressed=true] .theme-preview{border-color:var(--stain);box-shadow:inset 0 1px 2px #fff7,inset 0 -2px 4px #0002,0 0 0 1.5px var(--stain),0 6px 13px -10px var(--stain)!important}
.theme-preview.system{background:linear-gradient(90deg,#eef2f4 0 49%,#172125 51% 100%)}.theme-preview.system i:nth-child(1){background:linear-gradient(90deg,#9a645d 0 49%,#d9877e 51%)}.theme-preview.system i:nth-child(2){background:linear-gradient(90deg,#ffffffaa 0 49%,#ffffff20 51%)}.theme-preview.system i:last-child{background:linear-gradient(90deg,#3091dd 0 49%,#63a9d8 51%)}
.theme-choice-label{display:block;font:600 .66rem/1.2 Onest,sans-serif;white-space:nowrap}
.font-settings{display:block!important;margin:0 0 22px!important;padding:0!important;background:none!important;border-radius:0!important}
.font-settings>span,.font-settings>h3{display:block;margin:0 0 11px;font:650 .9rem/1.3 Onest,sans-serif;letter-spacing:-.02em}
.font-settings>div{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px!important}
.font-settings button{width:auto!important;height:106px!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;border-radius:20px!important;background:linear-gradient(145deg,var(--bg-soft),color-mix(in srgb,var(--bg-panel) 80%,var(--bg-soft)))!important;box-shadow:inset 0 1.5px 1px var(--shine),inset 0 -2px 5px var(--lower)!important;border:1px solid transparent!important;color:var(--ink)!important;transition:transform .18s var(--ease-smooth),box-shadow .2s ease}
.font-settings button::after{content:attr(aria-label);font:600 .65rem/1.2 Onest,sans-serif}.font-settings button[aria-pressed=true]{color:var(--stain)!important;border-color:var(--stain)!important;box-shadow:inset 0 1.5px 1px var(--shine),inset 0 -2px 5px var(--lower),0 0 0 1px var(--stain)!important}.font-settings button:active{transform:scale(.975)}
#settings-overlay .settings-row{min-height:74px!important;margin-top:0!important;padding:16px 2px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;border-top:1px solid var(--line-soft)!important}
#settings-overlay .settings-row:last-of-type{border-bottom:1px solid var(--line-soft)!important}
#settings-overlay .settings-row-title{font-size:.82rem!important}.settings-note{padding:14px 2px!important}

/* Account/profile: same information hierarchy as PharmApp, with PATANki materials and colors. */
#account-overlay.app-page{max-width:660px}
#account-overlay .sheet-title{font-size:1.8rem!important}
#account-guest-block{max-width:560px}
#account-guest-block .auth-tabs{margin:4px 0 24px;padding:5px;border:0!important;border-radius:22px;background:linear-gradient(145deg,var(--bg-soft),color-mix(in srgb,var(--bg-panel) 65%,var(--bg-soft)));box-shadow:inset 0 2px 4px var(--lower),0 1px 0 var(--shine)!important}
#account-guest-block .auth-tab{min-height:48px;display:grid;place-items:center;border-radius:17px!important;font:650 .8rem Onest,sans-serif;color:var(--ink-dim);transition:background .22s ease,color .22s ease,box-shadow .22s ease}
#account-guest-block .auth-tab.is-active{background:linear-gradient(145deg,var(--tint),color-mix(in srgb,var(--stain) 16%,var(--bg-panel)))!important;color:var(--stain)!important;box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 4px var(--lower),0 5px 13px -11px var(--card-shadow)!important}
#account-guest-block .field-label{margin:8px 0 7px;font:650 .63rem Onest,sans-serif;letter-spacing:.07em;color:var(--ink-dim)}
#account-guest-block .text-input{min-height:58px;border-radius:20px!important;padding:15px 18px!important;background:linear-gradient(145deg,var(--bg-soft),color-mix(in srgb,var(--bg-panel) 72%,var(--bg-soft)))!important;box-shadow:inset 0 2px 5px var(--lower),0 1px 0 var(--shine)!important}
#auth-login-submit,#auth-register-submit{margin-top:12px!important;min-height:56px;border-radius:999px!important;font-size:.84rem!important;box-shadow:inset 0 1.5px 1px var(--shine),inset 0 -3px 5px var(--lower),0 12px 24px -20px var(--stain)!important}
.profile-head-patanki{display:flex;align-items:center;gap:16px;margin:0 0 22px;padding:4px 2px;background:none!important;border:0!important}
.profile-head-patanki .auth-status-ico{width:64px;height:68px;flex:0 0 64px;border-radius:22px;background:linear-gradient(145deg,var(--tint),var(--bg-soft));color:var(--stain);display:grid;place-items:center;font:650 1.7rem Onest,sans-serif;box-shadow:inset 0 2px 2px var(--shine),inset 0 -3px 5px var(--lower)}
.profile-head-patanki .auth-status-text{display:flex;min-width:0;flex-direction:column}.profile-head-patanki .auth-status-text b{font:650 clamp(1.25rem,6vw,1.75rem)/1.15 Onest,sans-serif;letter-spacing:-.045em;overflow-wrap:anywhere}.profile-head-patanki .auth-status-text span{margin-top:5px;color:var(--ink-dim);font:500 .82rem/1.35 Onest,sans-serif;overflow-wrap:anywhere}
.profile-access-card{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:112px;margin:0 0 24px;padding:20px 21px;border-radius:25px;background:linear-gradient(145deg,color-mix(in srgb,var(--tint) 72%,var(--bg-panel)),color-mix(in srgb,var(--bg-soft) 80%,var(--tint)));box-shadow:inset 0 2px 2px var(--shine),inset 0 -3px 6px var(--lower),0 12px 26px -24px var(--card-shadow)}
.profile-access-card>div{display:flex;min-width:0;flex-direction:column}.profile-access-card b{font:650 1.25rem/1.25 Onest,sans-serif;letter-spacing:-.035em}.profile-access-card span:not(.profile-access-icon){margin-top:7px;color:var(--ink-dim);font:500 .72rem/1.45 Onest,sans-serif}.profile-access-icon{width:47px;height:47px;flex:0 0 47px;display:grid;place-items:center;color:var(--stain);filter:drop-shadow(0 1px 0 var(--shine))}.profile-access-icon svg{width:27px;height:27px}
.profile-options-patanki{overflow:hidden;margin:0 0 22px;border-radius:25px;background:linear-gradient(145deg,var(--bg-soft),color-mix(in srgb,var(--bg-panel) 72%,var(--bg-soft)));box-shadow:inset 0 1.5px 1px var(--shine),inset 0 -2px 5px var(--lower)}
.profile-options-patanki button{width:100%;min-height:64px;display:flex;align-items:center;gap:14px;padding:0 18px;border:0;border-radius:0;background:transparent;color:var(--ink);font:600 .81rem Onest,sans-serif;text-align:left;transition:background .18s ease,transform .18s ease}.profile-options-patanki button+button{border-top:1px solid var(--line-soft)}.profile-options-patanki button:active{background:var(--tint)}.profile-option-icon{width:25px;display:grid;place-items:center;color:var(--stain)}.profile-option-icon svg{width:21px;height:21px}.profile-options-patanki button>span:nth-child(2){flex:1}.profile-chevron{font:300 1.5rem/1 Onest;color:var(--stain)}.profile-options-patanki .profile-danger{color:color-mix(in srgb,var(--hard) 72%,var(--ink))}
.profile-promo{margin:0 0 18px;border-radius:22px;background:color-mix(in srgb,var(--bg-soft) 88%,transparent);box-shadow:inset 0 1px 2px var(--lower)}.profile-promo summary{list-style:none;cursor:pointer;padding:17px 18px;font:600 .76rem Onest,sans-serif}.profile-promo summary::-webkit-details-marker{display:none}.profile-promo summary>span{display:block;margin-top:4px;color:var(--ink-dim);font:400 .63rem Onest,sans-serif}.profile-promo .pro-promo-row{padding:0 14px 14px}.profile-promo .auth-error{padding:0 15px 12px}

/* More consistent emboss on primary controls across the app. */
.btn.accent,.deck-open,.ed-btn.ed-accent,.my-decks-btn.home-cta{
  box-shadow:inset 0 1.5px 1px color-mix(in srgb,var(--shine) 85%,transparent),inset 0 -3px 5px var(--lower),0 10px 22px -19px var(--stain)!important;
  text-shadow:0 1px 0 color-mix(in srgb,var(--shine) 42%,transparent)
}
.btn.ghost,.ed-btn.ed-ghost,.save-deck-btn{box-shadow:inset 0 1px 1px var(--shine),inset 0 -2px 4px var(--lower)!important}

@media(prefers-reduced-motion:reduce){.mobile-dock,.mobile-dock button,.dock-lens,.creator-link,.theme-choices button,.font-settings button{transition:none!important}}

/* 2.3.4 final WebKit compositing guard: returning to Home must not restart the old blur/fade intro. */
html:not(.splash-active) .home-heading,
html:not(.splash-active) .study-feature,
html:not(.splash-active) .practice-grid,
html:not(.splash-active) .home-tools{animation:none!important;filter:none!important;opacity:1!important}

/* Keep app-route switching on already composited surfaces; avoid layout/paint transitions on route roots. */
.app-page,.learning-home{backface-visibility:hidden;-webkit-backface-visibility:hidden}
.app-page{contain:layout style}

/* Compact credits read as a footer attribution instead of a promotional block. */
.home-contributors{margin-top:12px!important}
.home-contributors-label{margin-bottom:6px!important}
.creator-link{min-height:64px!important;padding:10px 14px!important;gap:11px!important}
.creator-mark{width:38px!important;height:40px!important;flex-basis:38px!important;border-radius:13px!important}
.creator-copy strong{font-size:.78rem!important}.creator-copy small{font-size:.57rem!important}.creator-role{font-size:.51rem!important}

/* No expensive hover lift on touch-first iPhone surfaces. */
@media(hover:none){.premium-deck-card:hover,.deck-card:hover,.icon-btn:hover{transform:none!important}}
