/* R60: PicFans-only surfaces; server/client own every price, entitlement and task. */
:is(.picfans-page,.picfans-admin,.picfans-gallery-panel,.picfans-mount,.studio-home-tabs) {
 --pf-bg:#15101d;--pf-panel:#21172c;--pf-raised:#2d2039;--pf-line:#c5a6ee2b;
 --pf-text:#f3edf6;--pf-muted:#b7a6c4;--pf-purple:#d1b5f0;--pf-gold:#dfc08a;
 min-width:0;color:var(--pf-text);
}
.phone :is(#routePanel,#dockRoutePanel):has(.picfans-gallery-panel) {
 --workbench-paper:#15101d;--workbench-ink:#f3edf6;--workbench-muted:#b7a6c4;
 --studio-title-highlight:#fff1f7;--studio-title-pink:#e1b0db;--studio-title-violet:#c6aaef;
 display:flex;flex-direction:column;overflow:hidden;padding-bottom:calc(var(--dock-panel-bottom,112px) + 12px);
 color-scheme:dark;color:#f3edf6;background:linear-gradient(135deg,#21172e,#18121e 55%,#302417);
}
.phone #routePanel:has(.picfans-gallery-panel) {height:100%;max-height:100%;}
/* ID scope beats the legacy reminder's 240px studio padding. Put that space
   inside the scroll content below instead of letting it enlarge the flex chain. */
.phone :is(#routePanel,#dockRoutePanel):has(.picfans-gallery-panel)>.studio-page.studio-home {
 --studio-bg:#15101d;--studio-text:#f3edf6;--studio-muted:#b7a6c4;
 --gen-text:#f3edf6;--gen-muted:#b7a6c4;
 display:flex;flex:1 1 0%;flex-direction:column;min-width:0;min-height:0;height:auto;padding-bottom:0;color:#f3edf6;
}
.phone :is(#routePanel,#dockRoutePanel):has(.picfans-gallery-panel)>.route-top {flex-shrink:0;background:rgb(21 16 29 / .94);color:#f3edf6;}
.phone :is(#routePanel,#dockRoutePanel):has(.picfans-gallery-panel)>.route-top:before {background:rgb(21 16 29 / .94);}
.phone :is(#routePanel,#dockRoutePanel):has(.picfans-gallery-panel)>.route-top button {color:#d6c2e7;}
.studio-home-tabs {display:flex;flex-shrink:0;gap:6px;width:100%;margin:0 0 12px;padding:4px;border:1px solid var(--pf-line);border-radius:12px;background:#120d19;}
.studio-home-tabs>button {flex:1 1 0;min-width:0;min-height:44px;padding:9px 7px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--pf-muted);font-size:13px;line-height:1.5;overflow-wrap:anywhere;touch-action:manipulation;}
.studio-home-tabs>button:is([aria-selected=true],.is-active) {border-color:var(--pf-line);background:var(--pf-raised);color:var(--pf-purple);}
.studio-home-content:has(.picfans-gallery-panel) {display:flex;flex:1 1 0%;flex-direction:column;min-width:0;min-height:0;height:auto;}
.picfans-mount:has(.picfans-gallery-panel) {display:flex;flex:1 1 0%;flex-direction:column;min-width:0;min-height:0;height:auto;}
.picfans-gallery-tools {display:flex;flex-shrink:0;justify-content:flex-end;margin:0 0 8px;}
.picfans-gallery-panel {flex:1 1 0%;min-height:0;height:auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y pinch-zoom;scrollbar-width:thin;scrollbar-color:#c5a6ee35 transparent;border-radius:12px;background:linear-gradient(118deg,#321c4a 0%,#291d38 38%,#46331c 76%,#251b2a 100%);}
.picfans-gallery-panel>.square-page.picfans-gallery {padding:4px 10px 16px;min-height:100%;background:none;}
.phone:has(.reminder-dock:not([hidden])) .picfans-gallery-panel>.picfans-gallery {padding-bottom:240px;}
.phone:has(.reminder-dock[data-expanded=true]:not([hidden])) .picfans-gallery-panel>.picfans-gallery {padding-bottom:calc(min(342px,42dvh) + 24px);}
.phone:has(.reminder-dock[data-collapsed=true]:not([hidden])) .picfans-gallery-panel>.picfans-gallery {padding-bottom:64px;}
.picfans-gallery .square-sorts {margin-top:0;}
/* Template names use their full natural height; the empty author has no row.
   Masonry must measure this metadata instead of reserving Square's fixed 74px. */
.picfans-gallery .square-title {display:block;height:auto;min-height:0;max-height:none;margin-block:7px 8px;overflow:visible;-webkit-line-clamp:unset;-webkit-box-orient:initial;white-space:normal;overflow-wrap:anywhere;color:#f3edf6;}
.picfans-gallery .square-author:empty {display:none;}
.picfans-gallery .square-sort {color:#bbaaC8;}
.picfans-gallery .square-sort[aria-pressed=true] {color:#e1c58e;}

.picfans-page {width:100%;max-width:1040px;margin-inline:auto;padding:16px;border:1px solid var(--pf-line);border-radius:16px;background:linear-gradient(135deg,#2b1c3d,#211927 58%,#332817);font-size:13px;line-height:1.6;}
.picfans-page :is(h1,h2,h3,p) {overflow-wrap:anywhere;}
.picfans-page h1 {margin:0 0 10px;font-size:20px;font-weight:600;line-height:1.4;}
.picfans-page h2 {margin:0 0 8px;font-size:16px;font-weight:550;line-height:1.5;}
.picfans-page h3 {margin:0 0 7px;font-size:13px;font-weight:550;}
.picfans-page p {color:var(--pf-muted);font-size:12px;line-height:1.7;}
.picfans-template-heading {display:flex;align-items:flex-start;gap:12px;min-width:0;margin-bottom:16px;}
.picfans-template-heading>img {display:block;flex:0 0 72px;width:72px;height:96px;border-radius:10px;object-fit:cover;}
.picfans-template-heading>div {flex:1;min-width:0;}
.picfans-template-heading>h1 {flex:1;min-width:0;margin:0;}
.picfans-template-heading>button {flex-shrink:0;max-width:45%;}
.picfans-inputs {display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:12px 0;}
.picfans-input-slot {min-width:0;padding:12px;border:1px dashed #c5a6ee55;border-radius:12px;background:#120d194d;}
.picfans-input-slot :is(img,video) {display:block;width:100%;max-height:220px;margin:8px 0;object-fit:contain;border-radius:8px;}
.picfans-input-slot label {display:block;color:var(--pf-text);font-size:12px;line-height:1.6;}
.picfans-input-slot>span {display:block;color:var(--pf-text);font-size:12px;line-height:1.6;}
.picfans-input-slot>small {display:block;margin-top:6px;color:var(--pf-muted);font-size:11px;overflow-wrap:anywhere;}
.picfans-options {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:14px 0;}
.picfans-options>label {min-width:0;color:var(--pf-muted);font-size:12px;}
.picfans-prices {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:12px 0;}
.picfans-price {min-width:0;margin:0;padding:10px 11px;border:1px solid var(--pf-line);border-radius:10px;background:#130d1e66;color:var(--pf-gold);font-size:12px;line-height:1.6;overflow-wrap:anywhere;}
.picfans-price:is([aria-selected=true],.is-active,.is-selected) {border-color:#dfc08a88;background:#65502a26;}
.picfans-price :is(strong,b) {display:block;color:var(--pf-text);font-size:14px;font-weight:550;}
.picfans-page :is(input,select,textarea):not([type=checkbox]):not([type=radio]):not([type=hidden]) {box-sizing:border-box;display:block;width:100%;min-width:0;min-height:44px;margin-top:6px;padding:10px 11px;border:1px solid var(--pf-line);border-radius:9px;background:#100b17;color:var(--pf-text);font:inherit;font-size:16px;line-height:1.5;}
.picfans-page textarea {min-height:104px;resize:vertical;}
.picfans-page input[type=file] {font-size:12px!important;}
.picfans-page :is(input[type=checkbox],input[type=radio]) {width:18px;height:18px;accent-color:var(--pf-purple);}
:is(.picfans-page,.picfans-admin) [hidden] {display:none!important;}
:is(.picfans-page,.picfans-admin) :is(button,a,input,select,textarea):focus-visible,.studio-home-tabs>button:focus-visible {outline:2px solid var(--pf-gold);outline-offset:3px;}
.picfans-actions,.picfans-admin-actions {display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 0;}
.picfans-button,.picfans-page button[data-picfans],.picfans-gallery-tools>button {display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:44px;min-height:44px;max-width:100%;margin:0;padding:10px 14px;border:1px solid #ccb0e64d;border-radius:10px;background:#6b408c;color:#fff5fd;font:inherit;font-size:12px;font-weight:500;line-height:1.6;text-align:center;white-space:normal;overflow-wrap:anywhere;touch-action:manipulation;}
.picfans-secondary {background:#271d32;color:var(--pf-purple);}
:is(.picfans-page,.picfans-admin) button:disabled {opacity:.5;cursor:wait;}
.picfans-notice {min-width:0;margin:12px 0;padding:10px 12px;border:1px solid var(--pf-line);border-radius:10px;background:#140d1d80;color:var(--pf-muted);font-size:12px;line-height:1.7;overflow-wrap:anywhere;}
.picfans-notice:empty {display:none;}
.picfans-notice[data-state=error],.picfans-page [role=alert] {border-color:#e6a7b84d;color:#efb7c5;}
.picfans-confirm {margin:14px 0;padding:14px;border:1px solid #dfc08a66;border-radius:12px;background:#3a2b1d80;color:var(--pf-gold);}
.picfans-note {margin:8px 0;color:var(--pf-muted);font-size:11px;line-height:1.7;overflow-wrap:anywhere;}
.picfans-page .picfans-input-hint {color:var(--pf-muted);font-size:11px;}
.picfans-page .picfans-vip-notice {color:var(--pf-gold);font-size:12px;}
.picfans-page .picfans-task-card {display:flex;flex-direction:column;align-items:flex-start;gap:5px;width:100%;min-width:0;min-height:72px;margin:10px 0;padding:12px;border:1px solid var(--pf-line);border-radius:11px;background:var(--pf-panel);color:var(--pf-text);text-align:left;overflow-wrap:anywhere;}
.picfans-page .picfans-task-card>strong {font-size:14px;font-weight:550;}
.picfans-page .picfans-task-card>span {font-size:12px;}
.picfans-page .picfans-task-card>small {color:var(--pf-muted);font-size:11px;}
.picfans-page .picfans-task {min-width:0;margin:10px 0;padding:12px;border:1px solid var(--pf-line);border-radius:11px;background:var(--pf-panel);}
.picfans-page .picfans-results :is(img,video) {display:block;width:100%;max-height:70dvh;object-fit:contain;background:#09070c;border-radius:10px;}

.picfans-admin {--console-input:#100b17;--console-accent:#c5a6ee;width:100%;max-width:none;padding:0;font-size:13px;line-height:1.6;}
.picfans-admin-heading,.picfans-admin-list-heading {display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin:0 0 16px;}
.picfans-admin-heading>div {flex:1;min-width:0;}
.picfans-admin h1 {margin:0;font-size:23px;line-height:1.5;font-weight:600;}
.picfans-admin h2 {margin:0 0 10px;font-size:16px;line-height:1.5;font-weight:550;}
.picfans-admin h3 {margin:0;font-size:14px;line-height:1.5;font-weight:550;overflow-wrap:anywhere;}
.picfans-admin-heading p {margin:6px 0;color:var(--pf-muted);font-size:12px;}
.picfans-admin-section {min-width:0;margin:16px 0;padding:18px;border:1px solid var(--pf-line);border-radius:14px;background:var(--pf-bg);}
.picfans-admin-credentials {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
.picfans-admin-field {display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;color:var(--pf-muted);font-size:12px;line-height:1.5;}
.picfans-admin-field :is(input,select) {box-sizing:border-box;width:100%;min-width:0;min-height:44px;margin:0;padding:10px 11px;border:1px solid var(--pf-line);border-radius:9px;background:#0e0b14;color:var(--pf-text);font:inherit;font-size:14px;line-height:1.5;}
.picfans-admin-field input::placeholder {color:#92809f;opacity:1;}
.picfans-admin-prices {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:12px 0;}
.picfans-check {display:flex;align-items:center;gap:9px;min-width:0;min-height:44px;margin:8px 0;color:var(--pf-text);font-size:12px;line-height:1.6;}
.picfans-check input {flex:0 0 18px;width:18px;height:18px;accent-color:var(--pf-purple);}
.picfans-admin-template-list {display:grid;grid-template-columns:minmax(0,1fr);gap:12px;}
.picfans-admin-template {min-width:0;padding:14px;border:1px solid var(--pf-line);border-radius:12px;background:var(--pf-panel);}
.picfans-admin-template>header {display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px;}
.picfans-admin-template>header small {color:var(--pf-muted);font-size:10px;overflow-wrap:anywhere;}
.picfans-admin-effective {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 10px;margin:12px 0;padding:10px;border:1px solid #dfc08a26;border-radius:8px;background:#5d47211a;}
.picfans-admin-effective>span {min-width:0;color:var(--pf-gold);font-size:11px;line-height:1.6;overflow-wrap:anywhere;}
.picfans-admin-effective>span:last-child {grid-column:1/-1;}
@media(min-width:900px) {.picfans-inputs {grid-template-columns:repeat(2,minmax(0,1fr));}.picfans-prices {grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(min-width:1450px) {.picfans-admin-template-list {grid-template-columns:repeat(2,minmax(0,1fr));}.picfans-admin-template .picfans-admin-prices {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px) {.picfans-admin-prices {grid-template-columns:repeat(2,minmax(0,1fr));}.picfans-admin-credentials {grid-template-columns:minmax(0,1fr);}.picfans-admin-section {padding:12px;}.picfans-admin-field :is(input,select) {font-size:16px;}.picfans-admin h1 {font-size:20px;}}
@media(max-width:700px) {.console-content .picfans-admin .picfans-admin-field :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),select) {font-size:16px;}}
@media(max-width:350px) {.picfans-page {padding:12px;}.picfans-page h1 {font-size:18px;}.studio-home-tabs>button {font-size:12px;}.picfans-options {grid-template-columns:minmax(0,1fr);}.picfans-admin-effective {grid-template-columns:minmax(0,1fr);}}
@media(prefers-reduced-motion:reduce) {:is(.picfans-page,.picfans-admin,.picfans-gallery-panel,.studio-home-tabs) * {animation:none!important;transition:none!important;scroll-behavior:auto!important;}}

/* R61: reference-inspired form only. Keep the gallery/admin/task rules above
   unchanged; the route remains the sole scroll owner and the CTA stays in flow. */
.phone :is(#routePanel,#dockRoutePanel):has(>.picfans-form) {
 --workbench-paper:#0c0b0f;--workbench-ink:#f1edf4;--workbench-muted:#a7a0af;
 color-scheme:dark;background:#0c0b0f;color:#f1edf4;
}
.phone #routePanel:has(>.picfans-form) {
 --pf-form-gutter-left:max(12px,env(safe-area-inset-left,0px));--pf-form-gutter-right:max(12px,env(safe-area-inset-right,0px));
 padding-left:var(--pf-form-gutter-left);padding-right:var(--pf-form-gutter-right);padding-bottom:calc(var(--dock-panel-bottom,112px) + 16px);
}
.phone :is(#routePanel,#dockRoutePanel):has(>.picfans-form)>.route-top {margin-bottom:16px;background:#0c0b0ff2;color:#f1edf4;}
.phone #routePanel:has(>.picfans-form)>.route-top {width:auto;max-width:none;margin-left:calc(0px - var(--pf-form-gutter-left));margin-right:calc(0px - var(--pf-form-gutter-right));padding-left:var(--pf-form-gutter-left);padding-right:var(--pf-form-gutter-right);}
.phone :is(#routePanel,#dockRoutePanel):has(>.picfans-form)>.route-top:before {background:#0c0b0ff2;}
.phone :is(#routePanel,#dockRoutePanel):has(>.picfans-form)>.route-top button {color:#c9bbd4;}
.picfans-page.picfans-form {
 --pf-bg:#131216;--pf-panel:#201e24;--pf-raised:#29252f;--pf-line:#ffffff16;
 --pf-text:#f1edf4;--pf-muted:#aaa2b1;--pf-purple:#c0a2d9;--pf-gold:#d6b67e;
 container-type:inline-size;container-name:picfans-form;
 box-sizing:border-box;width:100%;max-width:780px;min-width:0;margin:0 auto;padding:16px;
 border:1px solid #ffffff0e;border-radius:18px;background:#131216;color:var(--pf-text);font-size:13px;line-height:1.6;
}
.picfans-form .picfans-form-heading {display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid #ffffff0e;}
.picfans-form .picfans-form-heading>h1 {flex:1;min-width:0;margin:0;font-size:18px;font-weight:600;line-height:1.5;}
.picfans-form .picfans-form-tools {display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:52%;}
.picfans-form .picfans-form-tools>button {min-width:44px;min-height:44px;padding:7px 8px;border-color:transparent;background:transparent;color:#b8aebf;font-size:10px;font-weight:400;}
.picfans-form .picfans-template-card {display:grid;grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:10px;min-width:0;margin:0 0 20px;padding:10px;border:1px dashed #ffffff24;border-radius:12px;background:#17151b;}
.picfans-form :is(.picfans-template-poster,.picfans-template-placeholder) {display:block;box-sizing:border-box;width:64px;height:72px;margin:0;border:1px solid #ffffff0a;border-radius:8px;background:#29232f;object-fit:cover;}
.picfans-form .picfans-template-placeholder {display:grid;place-items:center;color:#aa96b8;font-size:20px;}
.picfans-form .picfans-template-copy {min-width:0;}
.picfans-form .picfans-template-name {display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0;color:var(--pf-text);font-size:14px;font-weight:500;line-height:1.5;overflow-wrap:anywhere;}
.picfans-form button.picfans-change-template {min-width:44px;min-height:44px;max-width:84px;padding:7px 8px;border:0;background:transparent;color:var(--pf-purple);font-size:11px;font-weight:400;line-height:1.5;}
.picfans-form .picfans-inputs {display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin:0 0 10px;}
.picfans-form .picfans-inputs:has(>.picfans-input-slot:only-child) {grid-template-columns:minmax(0,1fr);}
.picfans-form .picfans-input-slot {position:relative;display:block;min-width:0;padding:0;border:0;border-radius:0;background:none;}
.picfans-form .picfans-input-label {display:block;margin:0 0 8px;color:#e4dce9;font-size:12px;font-weight:500;line-height:1.6;overflow-wrap:anywhere;}
.picfans-form .picfans-upload-zone {position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;box-sizing:border-box;width:100%;min-width:0;min-height:220px;padding:20px;border:1px dashed #ffffff2b;border-radius:14px;background:#111014;overflow:hidden;cursor:pointer;}
.picfans-form .picfans-input-slot:focus-within .picfans-upload-zone {outline:2px solid var(--pf-purple);outline-offset:3px;border-color:var(--pf-purple);}
.picfans-form .picfans-upload-icon {display:grid;place-items:center;width:32px;height:32px;color:#9c93a6;}
.picfans-form .picfans-upload-icon>svg {display:block;width:24px;height:24px;}
.picfans-form .picfans-upload-caption {position:relative;z-index:1;margin:0;color:#aaa1b4;font-size:12px;line-height:1.6;}
.picfans-form .picfans-upload-zone:has(.picfans-input-preview) .picfans-upload-caption {position:absolute;bottom:10px;left:50%;max-width:calc(100% - 24px);padding:5px 10px;border:1px solid #ffffff1c;border-radius:8px;background:#111014d9;color:#e9e2ef;transform:translateX(-50%);text-align:center;}
.picfans-form .picfans-input-slot img.picfans-input-preview {position:absolute;inset:10px;z-index:0;display:block;width:calc(100% - 20px);height:calc(100% - 20px);max-height:none;margin:0;border:0;border-radius:8px;object-fit:contain;}
/* Keep the native control focusable/label-activated; never display:none. */
.picfans-form .picfans-inputs input.picfans-file-input[type=file] {position:absolute;left:0;top:0;box-sizing:border-box;width:1px;min-width:0;max-width:1px;height:1px;min-height:0;max-height:1px;margin:0;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;}
.picfans-form .picfans-input-filename {display:block;min-width:0;min-height:16px;margin:6px 0 0;color:#a39aab;font-size:10px;line-height:1.6;overflow-wrap:anywhere;}
.picfans-form .picfans-input-example {display:flex;align-items:center;gap:8px;min-width:0;margin:8px 0 0;color:#958b9f;font-size:10px;line-height:1.5;}
.picfans-form .picfans-input-example>img {display:block;flex:0 0 32px;width:32px;height:40px;margin:0;border:1px solid #ffffff16;border-radius:5px;object-fit:cover;}
.picfans-form .picfans-input-hint {margin:10px 0 20px;color:#92899c;font-size:10px;line-height:1.7;}
.picfans-form .picfans-options-heading {margin:0 0 10px;color:#e5dfea;font-size:12px;font-weight:500;line-height:1.6;}
.picfans-form .picfans-options {display:grid;grid-template-columns:minmax(0,1fr);gap:10px;margin:0;}
.picfans-form .picfans-hd-option {display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0;min-height:76px;margin:0;padding:13px 14px;border:1px solid #ffffff08;border-radius:12px;background:#211f25;}
.picfans-form .picfans-option-copy {flex:1;min-width:0;}
.picfans-form .picfans-option-copy>strong {display:block;color:#eee7f3;font-size:13px;font-weight:500;line-height:1.5;}
.picfans-form .picfans-option-copy>small {display:block;margin-top:4px;color:#a69bab;font-size:11px;line-height:1.6;}
.picfans-form input.picfans-hd-switch[type=checkbox] {-webkit-appearance:none;appearance:none;position:relative;display:block;flex:0 0 42px;width:42px;height:26px;min-height:0;margin:0;padding:0;border:0;border-radius:99px;background:#45414a;cursor:pointer;}
.picfans-form input.picfans-hd-switch[type=checkbox]::before {content:"";display:block;width:18px;height:18px;margin:4px;border-radius:50%;background:#f8f5fa;transform:translateX(0);}
.picfans-form input.picfans-hd-switch[type=checkbox]:checked {background:#89669e;}
.picfans-form input.picfans-hd-switch[type=checkbox]:checked::before {transform:translateX(16px);}
.picfans-form .picfans-hd-option:has(input:disabled) {opacity:.6;}
.picfans-form .picfans-duration-option {min-width:0;margin:0;padding:12px 14px 14px;border:1px solid #ffffff08;border-radius:12px;background:#211f25;}
.picfans-form .picfans-duration-option>legend {margin-left:-3px;padding:0 3px;color:#eee7f3;font-size:12px;font-weight:500;line-height:1.6;}
.picfans-form .picfans-duration-option:disabled {opacity:.6;}
.picfans-form .picfans-duration-choices {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;}
.picfans-form .picfans-duration-choices>label {display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;min-height:44px;margin:0;padding:10px 8px;border:1px solid #ffffff10;border-radius:9px;background:#19171d;color:#c8bfce;font-size:12px;line-height:1.5;cursor:pointer;}
.picfans-form .picfans-duration-choices>label:has(input:checked) {border-color:#bc9ad26b;background:#61436f40;color:#f3eafa;}
.picfans-form .picfans-duration-choices input[type=radio] {flex:0 0 16px;width:16px;height:16px;margin:0;accent-color:#bb94d6;}
.picfans-form .picfans-vip-notice {margin:12px 0 0;color:#c0a77e;font-size:10px;line-height:1.7;}
.picfans-form .picfans-notice {margin:12px 0 0;padding:10px 11px;border-color:#ffffff10;background:#1a171f;color:#aaa1b4;font-size:11px;line-height:1.7;}
.picfans-form .picfans-form-footer {position:static;margin:20px 0 0;padding-top:16px;border-top:1px solid #ffffff0e;}
.picfans-form .picfans-wallet-balance {display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;margin:0 0 10px;color:var(--pf-muted);font-size:12px;line-height:1.6;}
.picfans-form .picfans-wallet-balance>strong {max-width:70%;color:var(--pf-gold);font-size:14px;font-weight:600;text-align:right;overflow-wrap:anywhere;}
.picfans-form button.picfans-quote-button {display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-width:0;min-height:52px;padding:12px 16px;border:1px solid #b996cb40;border-radius:14px;background:linear-gradient(115deg,#644d75,#59462e);color:#fff5fc;box-shadow:none;}
.picfans-form .picfans-quote-copy {display:flex;flex:1;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;text-align:left;}
.picfans-form .picfans-quote-copy>span {font-size:13px;font-weight:550;line-height:1.5;}
.picfans-form .picfans-quote-copy>small {color:#d9cedf;font-size:10px;font-weight:400;line-height:1.5;}
.picfans-form .picfans-selected-price {flex:0 1 auto;max-width:44%;color:#f6e4bf;font-size:15px;font-weight:600;line-height:1.5;text-align:right;overflow-wrap:anywhere;}
.picfans-form button.picfans-quote-button:disabled {opacity:.5;background:#38323e;border-color:#ffffff12;color:#cec3d3;}
.picfans-form .picfans-confirm {position:static;margin:16px 0 0;padding:14px;border-color:#b897644d;border-radius:12px;background:#292117;}
.picfans-form .picfans-confirm>h2 {margin:0 0 8px;font-size:14px;line-height:1.5;}
.picfans-form .picfans-confirm>small {color:#c4ad8d;font-size:10px;line-height:1.7;overflow-wrap:anywhere;}
.picfans-form .picfans-confirm .picfans-actions>button {flex:1 1 auto;min-height:44px;}
@container picfans-form (min-width:600px) {.picfans-form .picfans-inputs {grid-template-columns:repeat(2,minmax(0,1fr));}.picfans-form .picfans-upload-zone {min-height:240px;}}
@media(max-width:350px) {.picfans-page.picfans-form {padding:13px;border-radius:15px;}.picfans-form .picfans-form-heading>h1 {font-size:17px;}.picfans-form .picfans-template-card {grid-template-columns:56px minmax(0,1fr) auto;gap:8px;padding:8px;}.picfans-form :is(.picfans-template-poster,.picfans-template-placeholder) {width:56px;height:64px;}.picfans-form .picfans-template-name {font-size:13px;}.picfans-form .picfans-upload-zone {min-height:200px;}}

/* R62: workspace shell only. Mobile keeps the R61 form and route scrolling. */
.phone :is(#routePanel,#dockRoutePanel):has(>.picfans-workbench) {
 --pf-workbench-gutter-left:max(12px,env(safe-area-inset-left,0px));--pf-workbench-gutter-right:max(12px,env(safe-area-inset-right,0px));
 --workbench-paper:#0c0b0f;--workbench-ink:#f1edf4;--workbench-muted:#a7a0af;
 padding-left:var(--pf-workbench-gutter-left);padding-right:var(--pf-workbench-gutter-right);padding-bottom:calc(var(--dock-panel-bottom,112px) + 16px);
 color-scheme:dark;background:#0c0b0f;color:#f1edf4;
}
.phone :is(#routePanel,#dockRoutePanel):has(>.picfans-workbench)>.route-top {width:auto;max-width:none;margin-left:calc(0px - var(--pf-workbench-gutter-left));margin-right:calc(0px - var(--pf-workbench-gutter-right));margin-bottom:16px;padding-left:var(--pf-workbench-gutter-left);padding-right:var(--pf-workbench-gutter-right);background:#0c0b0ff2;color:#f1edf4;}
.phone :is(#routePanel,#dockRoutePanel):has(>.picfans-workbench)>.route-top:before {background:#0c0b0ff2;}
.phone :is(#routePanel,#dockRoutePanel):has(>.picfans-workbench)>.route-top button {color:#c9bbd4;}
.picfans-workbench {--pf-bg:#131216;--pf-panel:#201e24;--pf-line:#ffffff16;--pf-text:#f1edf4;--pf-muted:#aaa2b1;--pf-purple:#c0a2d9;--pf-gold:#d6b67e;display:block;box-sizing:border-box;width:100%;min-width:0;margin:0;padding:0;color:var(--pf-text);}
.picfans-workbench .picfans-workbench-nav {display:none;}
.picfans-workbench .picfans-workbench-controls,.picfans-workbench .picfans-workbench-list {min-width:0;}
.picfans-workbench .picfans-control-body {min-width:0;height:auto;overflow:visible;}
.picfans-workbench .picfans-workbench-result {display:none;min-width:0;margin-top:16px;border:1px solid #ffffff10;border-radius:14px;background:#0b0a0e;}
.picfans-workbench .picfans-workbench-result.has-results {display:block;}
.picfans-workbench .picfans-result-heading {padding:13px 14px;border-bottom:1px solid #ffffff0c;}
.picfans-workbench .picfans-result-heading>h2 {margin:0;color:#e8e0ee;font-size:14px;font-weight:500;line-height:1.5;}
.picfans-workbench .picfans-result-body {min-width:0;min-height:0;}
.picfans-workbench .picfans-result-body .picfans-results {display:grid;gap:12px;min-width:0;padding:12px;}
.picfans-workbench .picfans-result-body video {display:block;width:100%;max-width:100%;height:auto;max-height:70dvh;border-radius:10px;background:#050507;object-fit:contain;}
.picfans-workbench .picfans-task-facts {display:block;min-width:0;margin:12px 0 18px;}
.picfans-workbench .picfans-task-facts>div {display:flex;align-items:baseline;justify-content:space-between;gap:10px;min-width:0;padding:10px 0;border-bottom:1px solid #ffffff0d;}
.picfans-workbench .picfans-task-facts dt {min-width:0;color:#a89caf;font-size:11px;line-height:1.6;}
.picfans-workbench .picfans-task-facts dd {min-width:0;max-width:65%;margin:0;color:#eee7f3;font-size:13px;line-height:1.6;text-align:right;overflow-wrap:anywhere;}

@media(min-width:1024px) {
 .phone:has(.picfans-workbench) #bottomNav {display:none!important;}
 .phone :is(#routePanel,#dockRoutePanel):has(>.picfans-workbench) {display:flex;flex-direction:column;min-height:0;overflow:hidden;padding:0;}
 .phone #routePanel:has(>.picfans-workbench) {height:100%;max-height:100%;}
 .phone :is(#routePanel,#dockRoutePanel):has(>.picfans-workbench)>.route-top {display:none;}
 .picfans-workbench {display:grid;flex:1 1 0%;grid-template-columns:clamp(156px,13vw,180px) clamp(340px,30vw,420px) minmax(0,1fr);grid-template-rows:minmax(0,1fr);align-items:stretch;gap:14px;min-width:0;min-height:0;height:auto;padding:0 max(16px,env(safe-area-inset-right,0px)) 0 0;}
 .picfans-workbench[data-picfans-workbench=tasks] {grid-template-columns:clamp(156px,13vw,180px) minmax(0,1fr);}
 .picfans-workbench .picfans-workbench-nav {display:flex;flex-direction:column;min-width:0;min-height:0;height:100%;overflow-y:auto;overscroll-behavior:contain;padding:env(safe-area-inset-top,0px) 10px max(12px,env(safe-area-inset-bottom,0px)) max(10px,env(safe-area-inset-left,0px));border:0;border-right:1px solid #ffffff0c;border-radius:0;background:#101014;scrollbar-width:thin;}
 .picfans-workbench .picfans-workbench-brand {margin:0 0 12px;padding:16px 4px 14px;border-bottom:1px solid #ffffff0c;color:#e6d5ef;font-size:14px;font-weight:600;line-height:1.7;overflow-wrap:anywhere;}
 .picfans-workbench .picfans-workbench-menu {display:flex;flex-direction:column;gap:6px;min-width:0;}
 .picfans-workbench .picfans-workbench-menu>button {display:flex;align-items:center;min-width:0;min-height:44px;width:100%;margin:0;padding:10px 11px;border:1px solid transparent;border-radius:9px;background:transparent;color:#aaa0b3;font-size:12px;font-weight:400;line-height:1.6;text-align:left;white-space:normal;overflow-wrap:anywhere;}
 .picfans-workbench .picfans-workbench-menu>button:is([aria-current=page],[aria-current=true]),.picfans-workbench .picfans-workbench-current {min-width:0;min-height:44px;padding:10px 11px;border:1px solid #b495ca30;border-radius:9px;background:#50365f3b;color:#d6b9ec;font-size:12px;line-height:1.6;overflow-wrap:anywhere;}
 .picfans-workbench .picfans-workbench-current {margin:12px 0 0;}
 .picfans-workbench .picfans-workbench-menu>button:focus-visible {outline:2px solid var(--pf-gold);outline-offset:2px;}
 .picfans-workbench .picfans-workbench-controls {display:flex;flex-direction:column;min-width:0;min-height:0;height:auto;margin:max(16px,env(safe-area-inset-top,0px)) 0 max(16px,env(safe-area-inset-bottom,0px));overflow:hidden;border:1px solid #ffffff10;border-radius:14px;background:#131216;}
 .picfans-workbench .picfans-workbench-controls>.picfans-form {display:flex;flex:1 1 0%;flex-direction:column;width:100%;max-width:none;min-width:0;min-height:0;height:auto;margin:0;padding:0;border:0;border-radius:inherit;background:#131216;}
 .picfans-workbench .picfans-control-body {flex:1 1 0%;min-width:0;min-height:0;height:auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:16px;padding:16px;scrollbar-width:thin;scrollbar-color:#b998cb3b transparent;}
 .picfans-workbench .picfans-form .picfans-form-footer {flex:0 0 auto;margin:0;padding:14px;border-top:1px solid #ffffff10;background:#17131c;}
 .picfans-workbench .picfans-form .picfans-confirm {margin-bottom:0;}
 .picfans-workbench .picfans-workbench-controls>.picfans-task-controls {flex:1 1 0%;width:100%;max-width:none;min-height:0;height:auto;margin:0;padding:16px;overflow-y:auto;overscroll-behavior:contain;border:0;border-radius:inherit;background:#131216;scrollbar-width:thin;}
 .picfans-workbench .picfans-task-controls>h1 {font-size:17px;}
 .picfans-workbench .picfans-task-controls .picfans-actions>button {flex:1 1 100%;}
 .picfans-workbench .picfans-workbench-result {display:flex;flex-direction:column;min-width:0;min-height:0;height:auto;margin:max(16px,env(safe-area-inset-top,0px)) 0 max(16px,env(safe-area-inset-bottom,0px));overflow:hidden;border-radius:14px;background:radial-gradient(ellipse at 65% 35%,#39234616,transparent 70%),#09090c;}
 .picfans-workbench .picfans-workbench-result.has-results {display:flex;}
 .picfans-workbench .picfans-result-heading {flex:0 0 auto;padding:14px 16px;}
 .picfans-workbench .picfans-result-body {display:flex;flex:1 1 0%;flex-direction:column;min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;}
 .picfans-workbench .picfans-result-empty {display:flex;flex:1 1 auto;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-width:0;min-height:180px;padding:28px;text-align:center;}
 .picfans-workbench .picfans-result-empty>svg {flex:0 0 64px;width:64px;height:64px;color:#b395c9;opacity:.55;}
 .picfans-workbench .picfans-result-empty>p {max-width:26rem;margin:0;color:#877a92;font-size:12px;line-height:1.8;overflow-wrap:anywhere;}
 .picfans-workbench .picfans-result-body .picfans-results {flex:1 1 auto;align-content:center;justify-items:center;min-height:0;padding:16px;}
 .picfans-workbench .picfans-result-body video {max-height:max(120px,calc(100dvh - 188px));}
 .picfans-workbench .picfans-workbench-list {min-width:0;min-height:0;height:auto;margin:max(16px,env(safe-area-inset-top,0px)) 0 max(16px,env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;}
 .picfans-workbench .picfans-workbench-list>.picfans-task-list {width:100%;max-width:none;min-height:100%;margin:0;background:#131216;}
}

/* R63: discoverable entry only; retain the existing workbench geometry. */
.picfans-gallery-tools {gap:8px;flex-wrap:wrap;}
.picfans-workbench .picfans-workbench-menu>button[data-picfans-route=picfansCreate] {border-color:#b495ca40;color:#dec6ee;font-weight:500;}
.picfans-create-empty .picfans-control-body {display:flex;flex-direction:column;}
.picfans-create-empty .picfans-create-empty-state {display:flex;flex:1 1 auto;align-items:center;justify-content:center;min-height:180px;padding:20px 10px;text-align:center;}
.picfans-create-empty .picfans-create-empty-state>p {max-width:26em;margin:0;color:#a99caf;font-size:12px;line-height:1.8;overflow-wrap:anywhere;}
.picfans-create-empty .picfans-form-footer>button {width:100%;min-height:48px;}
.picfans-workbench .picfans-task-empty {display:flex;flex-direction:column;align-items:center;gap:12px;min-width:0;padding:32px 16px;border:1px dashed #c5a6ee2b;border-radius:12px;text-align:center;}
.picfans-workbench .picfans-task-empty>p {margin:0;color:var(--pf-muted);font-size:12px;line-height:1.7;}
