.header-account{justify-self:end;min-width:0}.account-status-area{min-width:190px;max-width:390px;display:flex;align-items:stretch;gap:7px}.account-status-area.has-works .account-status-button{min-width:178px}.account-status-button{min-width:190px;max-width:260px;min-height:48px;padding:6px 10px;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:8px;color:#43516a;background:#f8fbfa;border:1px solid #780635;border-radius:13px;cursor:pointer;text-align:left;transition:.18s ease}.account-status-button:hover{transform:translateY(-1px);border-color:#941349;box-shadow:0 8px 22px #2d5f521a}.account-status-button.is-login-cta{color:#fff;background:linear-gradient(135deg,#d088a6,#d3aabb);border-color:#d1aaba;box-shadow:0 10px 24px #148a7240}.account-status-button.is-login-cta:hover{background:linear-gradient(135deg,#d5a0b6,#d5b4c1);border-color:#d5b4c1;box-shadow:0 12px 28px #147e6952}.account-status-button.is-login-cta small{color:#ffffffd6}.account-status-button.is-login-cta>svg{filter:drop-shadow(0 2px 5px rgba(236,221,227,.2))}.account-status-button.is-active{color:#cca4b5;background:#e20964;border-color:#a3114e}.account-status-button>svg{width:28px;height:28px}.account-status-copy{min-width:0;display:grid;gap:2px}.account-status-copy strong,.account-status-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-status-copy strong{font-size:12px}.account-status-copy small{color:#778396;font-size:10px}.account-status-button.is-active small{color:#a94f74}.my-works-entry{min-width:104px;min-height:48px;padding:5px 10px;display:grid;grid-template-columns:22px auto;place-content:center;align-items:center;gap:6px;color:#c08fa3;background:linear-gradient(145deg,#df0962,#fff);border:1px solid #a6114f;border-radius:13px;cursor:pointer;font-size:12px;font-weight:800;white-space:nowrap;transition:.18s ease}.my-works-entry:hover{transform:translateY(-1px);color:#cca3b4;border-color:#922251;box-shadow:0 8px 22px #2d5f521c}.my-works-entry svg{width:21px;height:21px}.access-gate{min-height:calc(100vh - 98px);padding:42px 18px;display:grid;place-items:center;background:radial-gradient(circle at 18% 10%,rgba(211,55,120,.14),transparent 34%),radial-gradient(circle at 86% 82%,rgba(250,188,115,.16),transparent 32%),#f7faf8}.access-gate-card{width:min(560px,100%);padding:36px;text-align:center;background:#fffffff7;border:1px solid #780635;border-radius:24px;box-shadow:0 24px 68px #28433b1f}.access-gate-icon{width:72px;height:72px;margin:0 auto 18px;display:grid;place-items:center;color:#cda0b2;background:#e10963;border-radius:22px;box-shadow:0 12px 28px #1fa88929}.access-gate-icon svg{width:38px;height:38px}.access-eyebrow{margin:0 0 8px;color:#d09bb1;font-size:11px;font-weight:850;letter-spacing:.16em}.access-gate h1{margin:0;color:#1d2745;font-size:clamp(24px,4vw,34px);letter-spacing:-.04em}.access-gate h1+p{margin:14px auto 22px;max-width:470px;color:#687488;font-size:14px;line-height:1.75}.access-gate-action{min-width:210px;min-height:48px;padding:0 22px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#fff;background:#cf90aa;border:0;border-radius:13px;box-shadow:0 12px 28px #1fa8893b;cursor:pointer;font-weight:800}.access-gate-action:disabled{opacity:.55;cursor:not-allowed}.access-gate-action svg{width:20px;height:20px}.access-gate-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px}.access-gate-guest{min-width:190px;min-height:48px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#c08fa3;background:#fff;border:1px solid #aa1654;border-radius:13px;cursor:pointer;font-weight:800}.access-gate-guest:hover{background:#d7095f;border-color:#9d2456}.access-gate-guest svg{width:20px;height:20px}.access-gate ul{margin:24px 0 0;padding:18px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;border-top:1px solid #710532;list-style:none}.access-gate li{display:grid;justify-items:center;gap:7px;color:#6d798b;font-size:11px;line-height:1.5}.access-gate li svg{width:18px;height:18px;color:#cb86a3}.account-dialog-backdrop{position:fixed;z-index:100;top:0;right:0;bottom:0;left:0;padding:20px;display:grid;place-items:center;background:#1522327a;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.account-dialog{position:relative;width:min(450px,100%);max-height:min(760px,calc(100vh - 32px));overflow:auto;padding:26px;background:#fff;border:1px solid rgba(255,255,255,.62);border-radius:22px;box-shadow:0 30px 90px #10212b47}.account-dialog-close{position:absolute;top:16px;right:16px;width:36px;height:36px;display:grid;place-items:center;color:#687488;background:#f4f7f6;border:0;border-radius:10px;cursor:pointer}.account-dialog-close svg{width:17px;height:17px}.account-dialog-heading{padding-right:42px;display:flex;align-items:center;gap:12px}.account-dialog-heading>span{width:48px;height:48px;display:grid;place-items:center;color:#cda0b2;background:#da0960;border-radius:14px}.account-dialog-heading svg{width:27px;height:27px}.account-dialog-heading p{margin:0 0 3px;color:#d09bb1;font-size:10px;font-weight:850;letter-spacing:.14em}.account-dialog-heading h2{margin:0;color:#1d2745;font-size:22px;letter-spacing:-.03em}.account-message,.account-unavailable{margin:16px 0 0;padding:10px 12px;border-radius:10px;font-size:12px;line-height:1.55}.account-message{color:#c08fa3;background:#db0961}.account-unavailable{color:#8b5b25;background:#fff5e9}.account-form,.redeem-form{margin-top:20px;display:grid;gap:13px}.account-form label,.redeem-form label{display:grid;gap:6px;color:#4f5c70;font-size:12px;font-weight:700}.account-form input,.redeem-form input{width:100%;height:44px;padding:0 13px;color:#1d2745;background:#fbfdfc;border:1px solid #780635;border-radius:11px}.account-form input:focus,.redeem-form input:focus{background:#fff;border-color:#9d2b5b;outline:3px solid rgba(207,144,170,.12)}.account-submit{min-height:46px;color:#fff;background:#cf90aa;border:0;border-radius:11px;cursor:pointer;font-weight:800;box-shadow:0 10px 24px #1fa88933}.account-submit:disabled{opacity:.55;cursor:wait}.account-form-error{margin:-3px 0 0;color:#b13f56;font-size:12px;line-height:1.45}.account-form-hint{color:#7b8797;text-align:center;font-size:10px;line-height:1.5}.account-text-button{justify-self:center;padding:4px 8px;color:#441d2d;background:transparent;border:0;cursor:pointer;font-size:12px}.account-mode-switch{margin-top:18px;padding:4px;display:grid;grid-template-columns:1fr 1fr;gap:4px;background:#f1f6f4;border-radius:11px}.account-mode-switch button{height:36px;color:#6d798b;background:transparent;border:0;border-radius:8px;cursor:pointer;font-weight:700}.account-mode-switch button.is-active{color:#caa0b2;background:#fff;box-shadow:0 4px 14px #2d413b17}.account-view{margin-top:20px;display:grid;gap:15px}.works-view{margin-top:20px;display:grid;gap:12px}.works-overview{padding:12px 13px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#c08fa3;background:linear-gradient(135deg,#ec0a68,#fffaf0);border:1px solid #970a45;border-radius:13px}.works-overview>div{display:grid;gap:2px}.works-overview strong{color:#1d2745;font-size:14px}.works-overview small{color:#708091;font-size:10px}.works-overview>span{padding:5px 9px;background:#fff;border-radius:999px;font-size:11px;font-weight:800}.works-access-note{margin:0;padding:9px 11px;color:#8a652f;background:#fff7e9;border-radius:10px;font-size:10px;line-height:1.55}.works-loading,.works-empty{min-height:170px;padding:22px;display:grid;place-items:center;align-content:center;gap:8px;color:#6f7c8d;background:#f8fbfa;border:1px dashed #700934;border-radius:14px;text-align:center}.works-loading{grid-template-columns:auto auto;min-height:100px}.works-loading svg{width:19px;height:19px;color:#cf90aa}.works-empty>svg{width:42px;height:42px;color:#712343}.works-empty strong{color:#34435b;font-size:14px}.works-empty span{max-width:290px;font-size:11px;line-height:1.55}.works-list{max-height:460px;padding-right:2px;display:grid;gap:9px;overflow-y:auto;scrollbar-width:thin}.work-card{padding:9px;display:grid;grid-template-columns:76px minmax(0,1fr);gap:10px;background:#fff;border:1px solid #700532;border-radius:13px;box-shadow:0 5px 18px #2d413b0d}.work-thumbnail{grid-row:1 / span 2;width:76px;height:76px;display:grid;place-items:center;overflow:hidden;color:#691f3e;background:#f2f7f5;border-radius:10px}.work-thumbnail img{width:100%;height:100%;display:block;object-fit:contain;image-rendering:pixelated}.work-thumbnail svg{width:29px;height:29px}.work-card-main{min-width:0;display:grid;align-content:center;gap:2px}.work-card-main>strong,.work-card-main>small,.work-card-main>time{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-card-main>strong{color:#27344f;font-size:13px}.work-card-main>small{color:#647588;font-size:10px}.work-card-main>time{color:#8993a2;font-size:9px}.work-card-actions{grid-column:2;display:flex;align-items:center;gap:5px}.work-card-actions button{min-width:31px;height:31px;padding:0 7px;display:inline-flex;align-items:center;justify-content:center;gap:4px;color:#5d6a7b;background:#f6f9f8;border:1px solid #65052d;border-radius:8px;cursor:pointer;font-size:10px}.work-card-actions button:hover{color:#caa0b2;background:#d2095d;border-color:#961148}.work-card-actions button:disabled{opacity:.5;cursor:not-allowed}.work-card-actions .work-open{flex:1;color:#fff;background:#cf90aa;border-color:#cf90aa;font-weight:800}.work-card-actions .work-open:hover{color:#fff;background:#cda0b2;border-color:#cda0b2}.work-card-actions .work-delete{color:#9b5363}.work-card-actions svg{width:15px;height:15px}.work-rename{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px}.work-rename input{min-width:0;height:34px;padding:0 8px;color:#27344f;border:1px solid #9c1f53;border-radius:8px;outline:2px solid rgba(207,144,170,.1)}.work-rename button{min-width:48px;color:#fff;background:#cf90aa;border:0;border-radius:8px;cursor:pointer;font-size:10px;font-weight:800}.account-summary{padding:14px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:11px;background:#f6f8f7;border:1px solid #e1e8e6;border-radius:13px}.account-summary.is-active{color:#caa0b2;background:#db0961;border-color:#ab1051}.account-summary>span{width:42px;height:42px;display:grid;place-items:center;background:#fff;border-radius:11px}.account-summary svg{width:25px;height:25px}.account-summary>div{min-width:0;display:grid;gap:3px}.account-summary strong,.account-summary small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-summary strong{font-size:13px}.account-summary small{color:#728091;font-size:11px}.membership-recharge{padding:15px;display:grid;gap:13px;background:linear-gradient(145deg,#e40a65,#fffaf2);border:1px solid #970843;border-radius:15px}.membership-recharge-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.membership-recharge-heading p{margin:0 0 2px;color:#d09bb1;font-size:9px;font-weight:850;letter-spacing:.13em}.membership-recharge-heading h3{margin:0;color:#1d2745;font-size:16px}.membership-recharge-heading>strong{padding:5px 8px;color:#9a5d20;background:#fff2db;border-radius:999px;font-size:10px;line-height:1.35;text-align:center}.membership-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.membership-prices>div{min-width:0;padding:9px 5px;display:grid;justify-items:center;gap:3px;color:#5d697a;background:#ffffffdb;border:1px solid #780635;border-radius:10px}.membership-prices>div.is-recommended{color:#caa0b2;background:#f50a6c;border-color:#a51651}.membership-prices span{font-size:11px}.membership-prices strong{color:#1d2745;font-size:17px}.membership-contact-button{min-height:44px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#fff;background:#cf90aa;border:0;border-radius:11px;box-shadow:0 10px 24px #1fa88933;cursor:pointer;font-weight:800}.membership-contact-button svg{width:19px;height:19px}.membership-recharge>small{color:#788595;text-align:center;font-size:10px;line-height:1.55}.recharge-contact-backdrop{position:fixed;z-index:120;top:0;right:0;bottom:0;left:0;padding:20px;display:grid;place-items:center;background:#13202f9e;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.recharge-contact-dialog{position:relative;width:min(420px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:24px;text-align:center;background:#fff;border-radius:22px;box-shadow:0 30px 90px #10212b57}.recharge-contact-close{position:absolute;top:14px;right:14px;width:36px;height:36px;display:grid;place-items:center;color:#687488;background:#f2f6f5;border:0;border-radius:10px;cursor:pointer}.recharge-contact-eyebrow{margin:0 42px 5px;color:#d09bb1;font-size:10px;font-weight:850;letter-spacing:.14em}.recharge-contact-dialog h3{margin:0;color:#1d2745;font-size:23px}.recharge-contact-benefit{margin:9px 0 12px;color:#caa0b2;font-size:13px;font-weight:800}.recharge-contact-prices{margin-bottom:14px;display:flex;justify-content:center;flex-wrap:wrap;gap:6px}.recharge-contact-prices span{padding:6px 10px;color:#76501f;background:#fff4df;border-radius:999px;font-size:11px;font-weight:800}.recharge-contact-dialog img{width:min(100%,330px);height:auto;display:block;margin:0 auto;border:1px solid #e1e7e5;border-radius:15px}.recharge-contact-tip{margin:13px 0 0;color:#6f7c8d;font-size:11px;line-height:1.6}.account-logout{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#8a5661;background:#fff;border:1px solid #ecdfe2;border-radius:10px;cursor:pointer}.account-logout svg{width:17px;height:17px}.account-validity-note{margin:15px 0 0;color:#9a6231;text-align:center;font-size:11px}.account-validity-note.is-active{color:#c693a8}.is-spinning{animation:account-spin .8s linear infinite}@keyframes account-spin{to{transform:rotate(360deg)}}@media(max-width:820px){.header-account{justify-self:stretch;min-width:0}.account-status-area{width:100%;max-width:none}.account-status-area.has-works .account-status-button{min-width:0}.account-status-button{min-width:0;width:100%;max-width:none;min-height:42px;grid-template-columns:25px minmax(0,1fr);padding:5px 8px}.account-status-button>svg{width:23px;height:23px}.my-works-entry{min-width:106px;min-height:42px}.access-gate{min-height:calc(100vh - 136px);padding:24px 12px}.access-gate-card{padding:26px 18px;border-radius:19px}.access-gate ul{grid-template-columns:1fr;gap:8px}.access-gate li{grid-template-columns:18px 1fr;justify-items:start;align-items:center;text-align:left}.access-gate-actions{display:grid;grid-template-columns:1fr}.access-gate-action,.access-gate-guest{width:100%}}@media(max-width:480px){.account-dialog-backdrop{padding:8px;align-items:end}.account-dialog{width:100%;max-height:calc(100vh - 16px);padding:22px 18px;border-radius:20px 20px 14px 14px}.account-dialog-heading h2{font-size:20px}.access-gate-action{width:100%}.membership-recharge-heading{display:grid}.membership-recharge-heading>strong{justify-self:start}.recharge-contact-backdrop{padding:8px;align-items:end}.recharge-contact-dialog{width:100%;max-height:calc(100vh - 16px);padding:22px 16px 18px;border-radius:20px 20px 14px 14px}.recharge-contact-dialog h3{font-size:21px}.recharge-contact-dialog img{width:min(100%,310px)}.my-works-entry{min-width:98px;padding-inline:8px}.work-card{grid-template-columns:66px minmax(0,1fr)}.work-thumbnail{width:66px;height:66px}.works-list{max-height:min(450px,56vh)}}:root{--admin-ink: #18263f;--admin-muted: #6f7c8f;--admin-line: #740533;--admin-mint: #cf90aa;--admin-mint-dark: #cba2b3;--admin-paper: #f4f8f6;--admin-warm: #f4a75c}.admin-shell,.admin-login-page,.admin-loading{min-height:100vh;color:var(--admin-ink);background:var(--admin-paper)}.admin-login-page{position:relative;display:grid;place-items:center;padding:76px 20px 36px;overflow:hidden;background:radial-gradient(circle at 15% 14%,rgba(207,144,170,.16),transparent 32%),radial-gradient(circle at 88% 82%,rgba(244,167,92,.18),transparent 28%),#f5f9f7}.admin-login-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.45;background-image:radial-gradient(#7d0e3c 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:linear-gradient(to bottom,black,transparent 88%);mask-image:linear-gradient(to bottom,black,transparent 88%)}.admin-back-link{position:absolute;z-index:2;top:22px;left:24px;display:inline-flex;align-items:center;gap:7px;color:#536176;font-size:13px;font-weight:700;text-decoration:none}.admin-back-link svg{width:17px;height:17px}.admin-login-card{position:relative;z-index:1;width:min(430px,100%);padding:36px;background:#fffffff5;border:1px solid rgba(111,6,50,.94);border-radius:24px;box-shadow:0 30px 80px #1f423824}.admin-login-mark{width:58px;height:58px;margin-bottom:22px;display:grid;place-items:center;color:#fff;background:var(--admin-mint);border-radius:18px;box-shadow:0 15px 30px #1fa88940}.admin-login-mark svg{width:28px;height:28px}.admin-eyebrow{margin:0 0 7px;color:var(--admin-mint);font-size:11px;font-weight:850;letter-spacing:.16em}.admin-login-card h1{margin:0;font-size:28px;letter-spacing:-.04em}.admin-login-copy{margin:12px 0 24px;color:var(--admin-muted);font-size:13px;line-height:1.7}.admin-login-card form{display:grid;gap:14px}.admin-login-card label,.admin-generator label,.admin-action-form label{display:grid;gap:7px;color:#425069;font-size:12px;font-weight:750}.admin-login-card input,.admin-generator input,.admin-action-form input,.admin-records select{width:100%;height:44px;padding:0 13px;color:var(--admin-ink);background:#fbfdfc;border:1px solid #740634;border-radius:11px;outline:0}.admin-login-card input:focus,.admin-generator input:focus,.admin-action-form input:focus,.admin-records select:focus{background:#fff;border-color:#9d2959;box-shadow:0 0 0 4px #1fa8891a}.admin-form-error{padding:10px 12px;color:#9d3f3f;background:#fff1f0;border:1px solid #ffd5d2;border-radius:10px;font-size:12px;line-height:1.45}.admin-primary-button{min-height:46px;padding:0 18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#fff;background:var(--admin-mint);border:0;border-radius:12px;box-shadow:0 10px 24px #1fa88933;font-weight:800;cursor:pointer}.admin-primary-button:hover{background:var(--admin-mint-dark)}.admin-primary-button:disabled,.admin-action-form button:disabled{opacity:.5;cursor:wait}.admin-primary-button svg{width:19px;height:19px}.admin-security-note{margin-top:17px;padding-top:16px;display:flex;align-items:flex-start;gap:8px;color:#748092;border-top:1px solid #edf1ef;font-size:11px;line-height:1.55}.admin-security-note svg{width:16px;height:16px;flex:0 0 auto;color:var(--admin-mint)}.admin-loading{display:grid;place-items:center;align-content:center;gap:14px}.admin-loading span{width:38px;height:38px;border:3px solid #8c073e;border-top-color:var(--admin-mint);border-radius:50%;animation:spin .8s linear infinite}.admin-loading strong{color:#667487;font-size:13px}.admin-header{min-height:70px;padding:10px max(20px,calc((100% - 1220px)/2));display:flex;align-items:center;justify-content:space-between;gap:18px;background:#fffffff5;border-bottom:1px solid var(--admin-line);position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.admin-brand{min-width:0;display:flex;align-items:center;gap:11px;color:inherit;text-decoration:none}.admin-brand>span{width:40px;height:40px;display:grid;place-items:center;color:#fff;background:var(--admin-mint);border-radius:12px}.admin-brand>span svg{width:21px;height:21px}.admin-brand>div,.admin-account>span{min-width:0;display:grid;gap:2px}.admin-brand strong{font-size:16px}.admin-brand small,.admin-account small{color:#85909e;font-size:10px}.admin-account{display:flex;align-items:center;gap:9px}.admin-account>svg{width:30px;height:30px;color:#4a0a25}.admin-account strong{font-size:12px}.admin-account button,.admin-refresh,.admin-generated-heading button{min-height:36px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#526078;background:#fff;border:1px solid #63052c;border-radius:9px;font-size:12px;font-weight:750;cursor:pointer}.admin-analytics-link{min-height:36px;padding:0 12px;display:inline-flex;align-items:center;gap:6px;color:#cba2b3;background:#db0961;border:1px solid #ad1152;border-radius:9px;font-size:11px;font-weight:800;text-decoration:none}.admin-analytics-link:hover{color:#fff;background:#cf90aa;border-color:#cf90aa}.admin-analytics-link svg{width:16px;height:16px}.admin-account button{margin-left:8px}.admin-account button:hover,.admin-refresh:hover,.admin-generated-heading button:hover{color:var(--admin-mint-dark);border-color:#9d154e;background:#f7fcfa}.admin-account button svg,.admin-refresh svg,.admin-generated-heading button svg{width:16px;height:16px}.admin-main{width:min(1220px,calc(100% - 32px));margin:0 auto;padding:30px 0 40px;display:grid;gap:18px}.admin-welcome{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.admin-welcome h1{margin:0;font-size:clamp(25px,3vw,34px);letter-spacing:-.05em}.admin-welcome>div>p:last-child{margin:8px 0 0;color:var(--admin-muted);font-size:13px}.admin-banner{min-height:46px;padding:10px 13px;display:grid;grid-template-columns:20px minmax(0,1fr) 26px;align-items:center;gap:9px;border-radius:11px;font-size:12px}.admin-banner.is-success{color:#be8ca1;background:#ed0a68;border:1px solid #d81164}.admin-banner.is-error{color:#923f3f;background:#fff1f0;border:1px solid #ffd4d1}.admin-banner svg{width:18px;height:18px}.admin-banner button{width:26px;height:26px;padding:0;color:currentColor;background:transparent;border:0;border-radius:7px;cursor:pointer}.admin-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.admin-summary-grid article{min-height:118px;padding:17px;display:grid;align-content:space-between;color:#fff;background:#25334d;border-radius:15px;box-shadow:0 12px 28px #2a3b571f}.admin-summary-grid article.is-mint{background:#ce9fb2}.admin-summary-grid article.is-blue{background:#52799b}.admin-summary-grid article.is-warm{background:#b17849}.admin-summary-grid span,.admin-summary-grid small{opacity:.8;font-size:11px}.admin-summary-grid strong{font-size:29px;line-height:1}.admin-content-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:14px;align-items:start}.admin-panel{min-width:0;padding:19px;background:#fff;border:1px solid var(--admin-line);border-radius:16px;box-shadow:0 12px 34px #28433b0f}.admin-panel-heading{margin-bottom:17px}.admin-panel-heading>div{display:flex;align-items:center;gap:11px}.admin-panel-icon{width:40px;height:40px;flex:0 0 auto;display:grid;place-items:center;color:var(--admin-mint-dark);background:#e60a66;border-radius:11px}.admin-panel-icon.is-blue{color:#3d7098;background:#eaf3f8}.admin-panel-icon.is-warm{color:#9c5d28;background:#fff1e3}.admin-panel-icon svg{width:20px;height:20px}.admin-panel h2{margin:0;font-size:16px}.admin-panel-heading p,.admin-records-heading p{margin:4px 0 0;color:var(--admin-muted);font-size:11px;line-height:1.5}.admin-generator form{display:grid;grid-template-columns:minmax(250px,1fr) minmax(130px,.45fr);gap:14px}.admin-generator fieldset{grid-row:span 2;margin:0;padding:0;border:0}.admin-generator legend{margin-bottom:8px;color:#425069;font-size:12px;font-weight:750}.admin-days-picker{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.admin-days-picker button{min-height:104px;display:grid;place-items:center;align-content:center;gap:3px;color:#5b687c;background:#f8fbfa;border:1px solid #700532;border-radius:13px;cursor:pointer}.admin-days-picker button:hover{border-color:#9a154d}.admin-days-picker button.is-active{color:#fff;background:var(--admin-mint);border-color:var(--admin-mint);box-shadow:0 10px 24px #1fa88933}.admin-days-picker strong{font-size:30px;line-height:1}.admin-days-picker button:last-child strong{font-size:22px}.admin-days-picker span{font-size:11px}.admin-generator label small{margin-top:-3px;color:#8a94a2;font-size:9px;font-weight:500}.admin-generator .admin-primary-button{grid-column:1 / -1}.admin-inventory-list{display:grid;gap:8px}.admin-inventory-list article{padding:12px;display:grid;grid-template-columns:78px 1fr;align-items:center;gap:10px;background:#f8fbfa;border:1px solid #e8eeec;border-radius:11px}.admin-inventory-list article>div{display:grid;gap:2px}.admin-inventory-list article>div strong{font-size:16px}.admin-inventory-list article>div span{color:#87919f;font-size:9px}.admin-inventory-list dl{margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.admin-inventory-list dl div{display:grid;justify-items:center;gap:2px}.admin-inventory-list dt{color:#8a94a1;font-size:9px}.admin-inventory-list dd{margin:0;color:#34435d;font-size:13px;font-weight:800}.admin-generated{border-color:#b9165a;box-shadow:0 16px 38px #1fa8891a}.admin-generated-heading{margin-bottom:13px;display:flex;align-items:center;justify-content:space-between;gap:14px}.admin-generated-heading>div{display:flex;align-items:center;gap:9px}.admin-generated-heading>div:first-child>svg{width:28px;height:28px;color:var(--admin-mint)}.admin-generated-heading span{display:grid;gap:3px}.admin-generated-heading small{color:#7a8795;font-size:10px}.admin-generated-heading button.is-primary{color:#fff;background:var(--admin-mint);border-color:var(--admin-mint)}.admin-generated textarea{width:100%;min-height:148px;padding:12px;resize:vertical;color:#273750;background:#f7fbf9;border:1px solid #6f0531;border-radius:11px;font:650 12px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace}.admin-generated>p{margin:9px 0 0;display:flex;align-items:center;gap:7px;color:#80613f;font-size:10px}.admin-generated>p svg{width:15px;height:15px;color:#b4783d}.admin-action-form{display:grid;grid-template-columns:minmax(260px,1fr) minmax(220px,.7fr) auto;align-items:end;gap:10px}.admin-action-form>div{display:flex;gap:7px}.admin-action-form button{min-height:44px;padding:0 13px;display:inline-flex;align-items:center;justify-content:center;gap:6px;border-radius:10px;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap}.admin-action-form button svg{width:16px;height:16px}.admin-use-button{color:#c89daf;background:#ed0a68;border:1px solid #bd1159}.admin-revoke-button{color:#9a4747;background:#fff3f2;border:1px solid #f1cfcc}.admin-records{padding:0;overflow:hidden}.admin-records-heading{padding:17px 19px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #e8eeeb}.admin-records select{width:auto;min-width:130px;height:36px}.admin-table-wrap{overflow-x:auto}.admin-records table{width:100%;border-collapse:collapse;font-size:11px}.admin-records th{padding:10px 14px;color:#7c8796;background:#f8fbfa;text-align:left;font-size:10px;font-weight:750;white-space:nowrap}.admin-records td{padding:12px 14px;color:#5c687b;border-top:1px solid #edf1ef}.admin-records td strong{color:#283650}.admin-record-row{border-left:4px solid transparent}.admin-record-row.is-unused{border-left-color:#cc8ba6}.admin-record-row.is-unused td{background:#f63183}.admin-record-row.is-used{border-left-color:#3d7fb3}.admin-record-row.is-used td{background:#eef6fd}.admin-record-row.is-revoked{border-left-color:#c76767}.admin-record-row.is-revoked td{background:#fff4f2}.admin-record-row:hover td{filter:brightness(.985)}.admin-code-identity{min-width:238px;display:grid;gap:3px}.admin-code-identity strong{font:750 11px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.025em}.admin-code-identity small{color:#8793a1;font-size:9px}.admin-code-secret{min-width:250px;display:grid;grid-template-columns:minmax(190px,1fr) 34px;align-items:center;gap:8px}.admin-code-secret code{padding:8px 10px;color:#263751;background:#ffffffb3;border:1px solid #6f0531;border-radius:8px;font:750 11px/1.25 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.035em;white-space:nowrap}.admin-code-secret button{width:34px;height:34px;padding:0;display:grid;place-items:center;color:#cba2b3;background:#fff;border:1px solid #a0114c;border-radius:9px;cursor:pointer}.admin-code-secret button:hover{color:#fff;background:var(--admin-mint);border-color:var(--admin-mint)}.admin-code-secret button:disabled{color:#a4afb8;background:#eef2f0;border-color:#5e052a;cursor:not-allowed}.admin-code-secret button svg{width:17px;height:17px}.admin-code-secret.is-unavailable code{color:#8d969f;background:#f3f6f5e6;font-weight:650;letter-spacing:0}.admin-status{display:inline-flex;padding:4px 8px;border-radius:999px;font-size:9px;font-weight:800}.admin-status.is-unused{color:#c394a7;background:#e60a66}.admin-status.is-used{color:#3d6e91;background:#e7f1f7}.admin-status.is-revoked{color:#995050;background:#faeceb}.admin-empty{height:100px;text-align:center;color:#929ba8!important}.admin-footer{min-height:58px;padding:12px max(20px,calc((100% - 1220px)/2));display:flex;justify-content:space-between;align-items:center;gap:14px;color:#718091;background:#fff;border-top:1px solid var(--admin-line);font-size:10px}.admin-footer span,.admin-footer a{display:inline-flex;align-items:center;gap:6px}.admin-footer span svg{color:var(--admin-mint)}.admin-footer a{color:#536176;font-weight:750;text-decoration:none}.admin-footer svg{width:15px;height:15px}@media(max-width:900px){.admin-summary-grid{grid-template-columns:repeat(2,1fr)}.admin-content-grid{grid-template-columns:1fr}.admin-action-form{grid-template-columns:1fr 1fr}.admin-action-form>div{grid-column:1 / -1}.admin-days-picker{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.admin-login-card{padding:26px 20px;border-radius:19px}.admin-login-card h1{font-size:24px}.admin-header{padding:9px 12px}.admin-brand small,.admin-account>svg,.admin-account>span{display:none}.admin-account button{margin-left:0}.admin-main{width:calc(100% - 16px);padding:18px 0 28px;gap:10px}.admin-welcome{align-items:flex-start}.admin-welcome>div>p:last-child{max-width:230px;line-height:1.5}.admin-refresh{width:38px;padding:0;font-size:0}.admin-summary-grid{gap:7px}.admin-summary-grid article{min-height:100px;padding:13px;border-radius:13px}.admin-summary-grid strong{font-size:25px}.admin-panel{padding:14px;border-radius:14px}.admin-generator form{grid-template-columns:1fr}.admin-generator fieldset{grid-row:auto}.admin-generator .admin-primary-button{grid-column:auto}.admin-days-picker button{min-height:82px}.admin-days-picker strong{font-size:25px}.admin-generated-heading{align-items:flex-start;flex-direction:column}.admin-generated-heading>div:last-child{width:100%}.admin-generated-heading button{flex:1}.admin-action-form{grid-template-columns:1fr}.admin-action-form>div{grid-column:auto;display:grid;grid-template-columns:1fr 1fr}.admin-records-heading{align-items:flex-start;flex-direction:column}.admin-records select{width:100%}.admin-footer{align-items:flex-start;flex-direction:column;padding:14px 12px}}.admin-section-nav{display:flex;align-items:center;gap:6px}.admin-section-nav a{min-height:36px;padding:0 12px;display:inline-flex;align-items:center;gap:6px;color:#5d6a7e;border:1px solid transparent;border-radius:9px;font-size:11px;font-weight:800;text-decoration:none}.admin-section-nav a:hover{color:#cba2b3;background:#f50a6c}.admin-section-nav a.is-active{color:#fff;background:#cf90aa;border-color:#cf90aa}.admin-section-nav svg{width:15px;height:15px}.analytics-main{gap:16px}.analytics-welcome{align-items:center}.analytics-actions{display:flex;align-items:center;gap:8px}.analytics-range{padding:3px;display:flex;gap:3px;background:#6d0530;border-radius:10px}.analytics-range button{min-width:48px;min-height:30px;padding:0 9px;color:#657286;background:transparent;border:0;border-radius:7px;cursor:pointer;font-size:10px;font-weight:800}.analytics-range button.is-active{color:#cba2b3;background:#fff;box-shadow:0 3px 10px #2d4c431a}.analytics-loading{min-height:320px;display:grid;place-items:center;align-content:center;gap:12px;color:#718092}.analytics-loading span{width:36px;height:36px;border:3px solid #8c083f;border-top-color:#cf90aa;border-radius:50%;animation:spin .8s linear infinite}.analytics-freshness{min-height:40px;padding:8px 12px;display:flex;align-items:center;gap:8px;color:#98526f;background:#db0961;border:1px solid #c50e5a;border-radius:10px;font-size:10px}.analytics-freshness svg{width:16px;height:16px;flex:0 0 auto;color:#cf90aa}.analytics-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.analytics-metric{min-height:118px;padding:15px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:11px;color:#fff;background:linear-gradient(145deg,#cfa2b5,#cf90aa);border-radius:15px;box-shadow:0 12px 26px #1f5a4c1f}.analytics-metric>span{width:42px;height:42px;display:grid;place-items:center;background:#ffffff29;border-radius:12px}.analytics-metric svg{width:22px;height:22px}.analytics-metric div{min-width:0;display:grid;gap:3px}.analytics-metric small{opacity:.8;font-size:10px}.analytics-metric strong{font-size:28px;line-height:1.05}.analytics-metric p{margin:4px 0 0;opacity:.78;font-size:9px}.analytics-metric.is-navy{background:linear-gradient(145deg,#283752,#3d526f)}.analytics-metric.is-blue{background:linear-gradient(145deg,#39799b,#55a1b9)}.analytics-metric.is-purple{background:linear-gradient(145deg,#675e9f,#8779b8)}.analytics-metric.is-warm{background:linear-gradient(145deg,#b27645,#dc9a59)}.analytics-metric.is-red{background:linear-gradient(145deg,#a65d66,#ca7580)}.analytics-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(320px,.7fr);gap:12px;align-items:stretch}.analytics-grid.is-secondary{grid-template-columns:1fr 1fr}.analytics-grid .admin-panel,.analytics-sources{min-height:0}.analytics-grid header,.analytics-sources header{margin-bottom:14px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.analytics-grid header h2,.analytics-sources h2{margin:0;font-size:15px}.analytics-grid header p,.analytics-sources header p{margin:4px 0 0;color:#748092;font-size:10px;line-height:1.45}.analytics-trend-panel header>strong{padding:5px 8px;color:#cba2b3;background:#ca0859;border-radius:7px;font-size:10px}.analytics-bars{height:190px;display:flex;align-items:stretch;gap:3px;border-bottom:1px solid #6e0631}.analytics-day{min-width:0;flex:1;display:grid;grid-template-rows:1fr 18px;align-items:end}.analytics-bar-track{height:100%;position:relative;display:flex;align-items:flex-end;justify-content:center}.analytics-bar-track>span{width:min(72%,18px);min-height:0;display:block;background:linear-gradient(to top,#c88fa7,#b52f67);border-radius:5px 5px 0 0;transition:height .25s ease}.analytics-bar-track>i{width:16px;height:16px;position:absolute;left:50%;display:grid;place-items:center;color:#fff;background:#293852;border:2px solid #fff;border-radius:50%;transform:translate(-50%,50%);font-size:7px;font-style:normal;font-weight:850}.analytics-day>small{color:#8a95a2;font-size:7px;text-align:center;white-space:nowrap}.analytics-funnel{display:grid;gap:9px}.analytics-funnel>div{position:relative;min-height:58px;padding:10px;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:9px;overflow:hidden;background:#f6f9f8;border:1px solid #66042d;border-radius:11px}.analytics-funnel>div>span{width:29px;height:29px;z-index:1;display:grid;place-items:center;color:#cba2b3;background:#d5095e;border-radius:9px;font-size:11px;font-weight:850}.analytics-funnel>div>div{z-index:1;display:grid;gap:2px}.analytics-funnel strong{font-size:11px}.analytics-funnel small{color:#738091;font-size:9px}.analytics-funnel i{height:3px;position:absolute;left:0;bottom:0;background:#cf90aa}.analytics-caveat{margin:10px 0 0;color:#8c704d;font-size:9px;line-height:1.45}.analytics-feature-panel>div{display:grid;gap:8px}.analytics-feature{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(100px,1fr) 42px;align-items:center;gap:9px}.analytics-feature>span{color:#536177;font-size:10px}.analytics-feature>i{height:7px;overflow:hidden;background:#e8efed;border-radius:999px}.analytics-feature>i b{height:100%;display:block;background:linear-gradient(90deg,#cf90aa,#b92a66);border-radius:inherit}.analytics-feature>strong{color:#283650;font-size:10px;text-align:right}.analytics-empty{min-height:130px;display:grid;place-items:center;color:#8d97a4;font-size:10px}.analytics-member-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.analytics-member-cards>div{padding:10px;display:grid;gap:4px;background:#f5f9f7;border:1px solid #770535;border-radius:10px}.analytics-member-cards small{color:#7a8695;font-size:8px}.analytics-member-cards strong{color:#263650;font-size:18px}.analytics-activation-list{margin-top:11px;display:grid;gap:5px}.analytics-activation-list>div{min-height:34px;padding:0 9px;display:grid;grid-template-columns:1fr 74px 74px;align-items:center;color:#6c788a;background:#fbfdfc;border:1px solid #710532;border-radius:8px;font-size:9px}.analytics-activation-list strong{color:#33425b;font-size:10px}.analytics-sources>div{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.analytics-sources article{padding:10px;display:flex;align-items:flex-start;gap:8px;background:#f8fbfa;border:1px solid #6a042f;border-radius:10px}.analytics-sources article>svg{width:16px;height:16px;flex:0 0 auto;color:#cf90aa}.analytics-sources article span{display:grid;gap:3px}.analytics-sources article strong{font-size:10px}.analytics-sources article small{color:#788493;font-size:8px;line-height:1.45}@media(max-width:900px){.analytics-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.analytics-grid,.analytics-grid.is-secondary{grid-template-columns:1fr}.analytics-sources>div{grid-template-columns:repeat(2,1fr)}}@media(max-width:620px){.admin-section-nav{order:3;width:100%}.analytics-shell .admin-header{flex-wrap:wrap}.admin-section-nav a{flex:1;justify-content:center}.analytics-welcome{align-items:flex-start;flex-direction:column}.analytics-actions{width:100%;justify-content:space-between}.analytics-metrics{grid-template-columns:1fr 1fr;gap:7px}.analytics-metric{min-height:105px;padding:11px;grid-template-columns:34px minmax(0,1fr);gap:8px;border-radius:12px}.analytics-metric>span{width:34px;height:34px;border-radius:10px}.analytics-metric svg{width:18px;height:18px}.analytics-metric strong{font-size:23px}.analytics-bars{height:155px;gap:1px}.analytics-member-cards{grid-template-columns:1fr 1fr}.analytics-sources>div{grid-template-columns:1fr}}:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#1d2745;background:#f7faf8;font-synthesis:none}*{box-sizing:border-box}button,input,select{font:inherit}button{color:inherit}body{margin:0;min-width:320px;min-height:100vh;-webkit-font-smoothing:antialiased}button:focus-visible,input:focus-visible{outline:3px solid rgba(207,144,170,.24);outline-offset:2px}.app-shell{min-height:100vh;background:#f7faf8}.app-header{min-height:98px;padding:8px 18px;display:grid;grid-template-columns:auto minmax(240px,1fr) auto;align-items:center;gap:7px 18px;background:#fffffff5;border-bottom:1px solid #e5ebe8;position:sticky;top:0;z-index:20}.brand-group{display:flex;align-items:center;gap:10px;min-width:0}.brand-name{font-size:19px;white-space:nowrap;letter-spacing:-.5px}.header-divider{width:1px;height:24px;background:#63052c;margin:0 2px}.document-name{font-weight:650;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis}.save-state{font-size:12px;color:#cf90aa;white-space:nowrap}.save-state:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:currentColor}.save-state.is-dirty{color:#e9789b}.header-tip{min-width:0;margin:0;color:#6d5b42;font-size:11px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.header-tip strong{color:#b86b26}.header-actions{grid-column:1 / -1;display:flex;align-items:center;gap:8px;overflow-x:auto;scrollbar-width:thin}.guest-header-promo{flex:1 1 430px;min-width:370px;min-height:40px;padding:5px 7px 5px 10px;display:grid;grid-template-columns:auto minmax(150px,1fr) auto auto;align-items:center;gap:8px;color:#4b2535;background:linear-gradient(90deg,#f50a6c,#fff9ec);border:1px solid #8e0a41;border-radius:10px;box-shadow:0 7px 18px #29625214}.guest-header-promo>svg{width:18px;height:18px;color:#cf90aa}.guest-header-promo>span{min-width:0;display:grid;gap:1px}.guest-header-promo strong{color:#92526c;font-size:12px;font-weight:850;white-space:nowrap}.guest-header-promo small{overflow:hidden;color:#6b7a78;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.guest-header-promo button{min-height:29px;padding:0 10px;color:#fff;background:#cf90aa;border:1px solid #cf90aa;border-radius:7px;cursor:pointer;font-size:10px;font-weight:800;white-space:nowrap}.guest-header-promo button:hover{background:#d1a5b7;border-color:#d1a5b7}.guest-header-promo button.guest-header-login{color:#c08fa3;background:#ffffffd1;border-color:#9d154e}.button{border:0;border-radius:10px;min-height:38px;padding:0 15px;font-weight:650;cursor:pointer;transition:.18s ease;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:7px}.button svg{width:17px;height:17px;flex:0 0 auto}.button:hover{transform:translateY(-1px)}.button:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}.button.secondary{background:#fff;border:1px solid #60042b;box-shadow:0 4px 16px #384e470d}.button.secondary:hover{border-color:#880f41;background:#fbfefd}.button.custom-create-button{color:#263b56;background:#fff;border:1px solid #60042b;box-shadow:0 4px 16px #384e470d}.button.custom-create-button:hover{color:#c08fa3;border-color:#880f41;background:#fbfefd}.button.cloud-save-button{color:#c08fa3;background:#db0961;border:1px solid #a31550;box-shadow:0 6px 18px #1fa8891a}.button.cloud-save-button:hover{color:#cca3b4;background:#df0962;border-color:#922251}.button.primary{background:#cf90aa;color:#fff;box-shadow:0 8px 22px #1fa88938}.button.primary:hover{background:#cda0b2}.button.mosaic-entry{color:#a85717;background:#fff4e8;border:1px solid #f2cfaa;box-shadow:0 6px 18px #bd69251c}.button.mosaic-entry:hover{color:#86410d;background:#ffead4;border-color:#e9b77e}.button.guest-entry{color:#c08fa3;background:#ea0a67;border:1px solid #ab1a56;box-shadow:0 6px 18px #1fa8891a}.button.guest-entry:hover{color:#cca3b4;background:#e30964;border-color:#992656}.button.soft{background:#df0962;color:#c89bae}.button.full{width:100%;margin-top:9px}.workbench{min-height:calc(100vh - 98px);display:grid;grid-template-columns:68px minmax(0,1fr) 292px;gap:12px;padding:12px}.tool-rail{background:#fff;border:1px solid #6f0531;border-radius:15px;padding:8px;display:flex;flex-direction:column;gap:6px;box-shadow:0 12px 32px #2d413b14;min-height:650px;overflow-y:auto;scrollbar-width:thin}.tool-button{position:relative;min-height:54px;border:0;border-radius:11px;background:transparent;font-size:11px;font-weight:650;cursor:pointer;display:grid;place-items:center;gap:2px;scroll-snap-align:start}.tool-button:hover{background:#f3faf8}.tool-button.is-active{background:#da0960;color:#cda2b4}.tool-button.custom-color-tool{color:inherit;border:1px dashed transparent;background:transparent}.tool-button.custom-color-tool:hover{color:#cca3b4;border-color:#9e144e;background:#f3faf8}.tool-button.adjustment-tool,.tool-button.reference-tool,.tool-button.replace-color-tool{color:inherit;border:1px solid transparent;background:transparent}.tool-button.adjustment-tool:hover,.tool-button.reference-tool:hover,.tool-button.replace-color-tool:hover{color:#cca3b4;border-color:#9e0c49;background:#f3faf8}.tool-button.custom-color-tool.is-active,.tool-button.adjustment-tool.is-active,.tool-button.reference-tool.is-active,.tool-button.replace-color-tool.is-active{color:#cda2b4;border-color:transparent;background:#da0960}.tool-button.reference-tool>i{position:absolute;top:7px;right:8px;width:7px;height:7px;background:#cf90aa;border:2px solid #fff;border-radius:999px;box-shadow:0 1px 5px #1fa88959}.tool-icon{color:currentColor}.rail-spacer{flex:1}.workspace{position:relative;min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px}.view-toolbar-stack{min-width:0;width:100%;display:grid;justify-items:center;gap:8px}.view-tabs{justify-self:center;padding:5px;background:#fff;border:1px solid #e7ecea;border-radius:12px;box-shadow:0 8px 24px #2d413b14;display:flex;gap:2px}.view-tabs button{min-width:72px;padding:8px 13px;border:0;border-radius:8px;background:transparent;cursor:pointer;font-weight:650;color:#566074}.view-tabs button.is-active{color:#cda2b4;background:#df0962}.view-tabs button.is-locked{display:inline-flex;align-items:center;justify-content:center;gap:5px;color:#8a94a3;cursor:not-allowed}.view-tabs button.is-locked svg{width:13px;height:13px}.ironing-style-picker{width:100%;padding:8px;display:grid;gap:7px;background:#fff;border:1px solid #6f0531;border-radius:13px;box-shadow:0 8px 24px #2d413b12}.ironing-style-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}.ironing-style-heading>span{min-width:0;display:flex;align-items:baseline;gap:8px}.ironing-style-heading strong{color:#c08fa3;font-size:12px}.ironing-style-heading small{color:#748091;font-size:9px}.ironing-style-heading em{padding:3px 7px;color:#805d2f;background:#fff6df;border-radius:999px;font-size:9px;font-style:normal;font-weight:750;white-space:nowrap}.ironing-style-options{min-width:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.ironing-style-options button{min-width:0;min-height:46px;padding:6px 7px;display:grid;grid-template-columns:30px minmax(0,1fr);align-items:center;gap:7px;color:#5e6b7e;background:#fbfdfc;border:1px solid #65052d;border-radius:9px;cursor:pointer;text-align:left}.ironing-style-options button:hover{border-color:#99144b;background:#f4faf8}.ironing-style-options button.is-active{color:#c9a0b1;background:#e40a65;border-color:#8e2752;box-shadow:0 0 0 2px #1fa88917}.ironing-style-options button>span:last-child{min-width:0;display:grid;gap:1px}.ironing-style-options strong{overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.ironing-style-options small{color:#7b8797;font-size:8px}.ironing-texture-preview{width:30px;height:30px;display:block;border:1px solid #860f40;border-radius:7px;image-rendering:auto}.canvas-stage{min-height:0;position:relative;overflow:hidden;background-color:#fbfdfc;background-image:radial-gradient(#7d0738 1px,transparent 1px);background-size:20px 20px;border:1px solid #710532;border-radius:15px;display:grid;place-items:center}.floating-zoom{position:absolute;z-index:8;top:14px;right:14px;height:46px;padding:4px;display:flex;align-items:center;gap:2px;opacity:.42;background:#fffffff5;border:1px solid #780635;border-radius:13px;box-shadow:0 10px 30px #23433a29;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:opacity .28s ease}.floating-zoom.is-active,.floating-zoom:active{opacity:1}.floating-zoom button:focus-visible{outline:2px solid #cf90aa;outline-offset:-2px}@media(hover:hover){.floating-zoom:hover{opacity:1}}.floating-zoom button{width:38px;height:38px;padding:0;display:grid;place-items:center;border:0;border-radius:9px;background:transparent;color:#26334f;cursor:pointer}.floating-zoom button:hover{background:#df0962;color:#cea6b7}.floating-zoom button:disabled{color:#a4adb8;cursor:not-allowed}.floating-zoom svg{width:18px;height:18px}.floating-zoom .zoom-value{width:58px;font-size:13px;font-weight:750;font-variant-numeric:tabular-nums}.canvas-scroll{width:100%;height:100%;min-width:0;min-height:0;max-width:100%;max-height:calc(100vh - 190px);overflow:auto;overscroll-behavior:contain;padding:18px;scrollbar-gutter:stable}.pattern-canvas{width:calc(820px * var(--zoom));max-width:none;height:auto;margin:0 auto;display:block;background:#fff;border-radius:4px;box-shadow:0 18px 48px #2d413b1c;image-rendering:pixelated;touch-action:none;user-select:none;-webkit-user-select:none}.pattern-canvas.is-pan{cursor:grab}.pattern-canvas.is-editing{cursor:crosshair}.source-preview{max-width:min(82%,720px);max-height:calc(100vh - 220px);object-fit:contain;background:#fff;border-radius:10px;box-shadow:0 18px 48px #2d413b21}.source-empty-state{width:min(520px,calc(100% - 32px));min-height:240px;padding:28px;display:grid;place-items:center;align-content:center;gap:10px;color:#68778a;text-align:center;background:#ffffffeb;border:1px dashed #830e3f;border-radius:16px}.source-empty-state svg{width:42px;height:42px;color:#cc86a3}.source-empty-state strong{color:#17233e;font-size:17px}.source-empty-state span{max-width:380px;font-size:12px;line-height:1.65}.processing-state{display:grid;place-items:center;gap:12px;color:#64748b;font-weight:650}.spinner{width:34px;height:34px;border-radius:50%;border:3px solid #a9074b;border-top-color:#cf90aa;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stroke-options{justify-self:center;width:min(100%,760px);padding:7px 10px;display:flex;align-items:center;justify-content:center;gap:12px;color:#536176;background:#fffdf6;border:1px solid #eadcad;border-radius:12px;box-shadow:0 8px 24px #52422012}.stroke-size-group{display:flex;align-items:center;gap:4px;flex:0 0 auto}.stroke-size-group strong{margin-right:3px;color:#4f5d71;font-size:12px;white-space:nowrap}.stroke-size-group button{min-width:43px;height:31px;padding:0 7px;color:#536176;background:#fff;border:1px solid #5b0429;border-radius:8px;cursor:pointer;font-size:11px;font-weight:750}.stroke-size-group button:hover,.stroke-size-group button.is-active{color:#cba2b3;background:#df0962;border-color:#a12157}.stroke-options p{margin:0;font-size:11px;line-height:1.45}.stroke-options p span{margin-right:5px;padding:2px 6px;color:#956010;background:#fff0bc;border-radius:999px;font-size:10px;font-weight:800;white-space:nowrap}.selection-options{justify-content:space-between;background:#f4faf8;border-color:#8e0a41}.selection-status{min-width:0;display:grid;gap:2px}.selection-status strong{color:#c08fa3;font-size:12px}.selection-status span{color:#708092;font-size:10px}.selection-actions{display:flex;align-items:center;gap:5px}.selection-actions button{min-height:31px;padding:0 9px;color:#c08fa3;background:#fff;border:1px solid #800a3b;border-radius:8px;cursor:pointer;font-size:10px;font-weight:750;white-space:nowrap}.selection-actions button:hover{background:#d6095e;border-color:#a32057}.selection-actions button:disabled{opacity:.42;cursor:default}.canvas-controls{justify-self:center;min-height:46px;padding:5px 8px;background:#fff;border:1px solid #e5ebe8;border-radius:12px;box-shadow:0 8px 24px #2d413b14;display:flex;align-items:center;gap:4px}.canvas-controls button{height:34px;border:0;border-radius:8px;background:transparent;padding:0 11px;cursor:pointer;font-size:13px;display:inline-flex;align-items:center;gap:6px}.canvas-controls button svg{width:17px;height:17px;flex:0 0 auto}.canvas-controls button:hover,.canvas-controls button.is-active{background:#d6095e;color:#cea6b7}.canvas-controls .clear-canvas-button{color:#a84e49}.canvas-controls .clear-canvas-button:hover{color:#963d38;background:#fff0ee}.canvas-controls button:disabled{opacity:.35;cursor:default}.canvas-controls strong{min-width:48px;text-align:center;font-size:13px}.control-divider{width:1px;height:25px;background:#65052d;margin:0 4px}.inspector{background:#fff;border:1px solid #66042d;border-radius:15px;box-shadow:0 12px 32px #2d413b14;overflow:auto;max-height:calc(100vh - 86px);scrollbar-width:thin;scrollbar-color:#6b0d34 transparent}.inspector-section{padding:12px 14px;border-bottom:1px solid #e8eeec}.inspector-section:last-child{border-bottom:0}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.section-heading h2{margin:0;font-size:15px;color:#cda0b2}.section-heading span{font-size:12px;color:#7a8595}.board-settings-heading{align-items:flex-start;gap:8px}.board-settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.board-settings-actions>span{white-space:nowrap;font-variant-numeric:tabular-nums}.board-preset-picker{position:relative}.board-preset-trigger{min-height:28px;padding:0 8px;border:1px solid #a6114f;border-radius:8px;background:#ea0a67;color:#c89bae;font-size:10.5px;font-weight:750;white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:4px}.board-preset-trigger:hover,.board-preset-trigger[aria-expanded=true]{background:#df0962;border-color:#a32057;color:#d0acbb}.board-preset-trigger svg{width:12px;height:12px;transition:transform .18s ease}.board-preset-trigger svg.is-open{transform:rotate(180deg)}.board-preset-menu{position:absolute;z-index:30;top:calc(100% + 6px);right:0;width:188px;padding:7px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;background:#fff;border:1px solid #750634;border-radius:11px;box-shadow:0 14px 34px #23433a2e}.board-preset-menu button{min-height:48px;padding:6px 4px;border:1px solid #7f0538;border-radius:8px;background:#fbfdfc;color:#354158;cursor:pointer;display:grid;place-items:center;gap:1px}.board-preset-menu button:hover,.board-preset-menu button.is-active{background:#df0962;border-color:#ab1e58;color:#cba2b3}.board-preset-menu button strong{font-size:12px;font-variant-numeric:tabular-nums}.board-preset-menu button span{font-size:9px;color:#2e101d}.board-preset-menu button.is-active span{color:#cda0b2;font-weight:700}.field-label{display:flex;justify-content:space-between;color:#596579;font-size:12px;font-weight:650;margin:7px 0 5px}.dimension-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.dimension-input-field{position:relative;min-width:0;display:block}.dimension-input-field>span{position:absolute;z-index:1;left:10px;top:50%;color:#c994aa;font-size:10px;font-weight:800;transform:translateY(-50%);pointer-events:none}.dimension-row input{width:100%;height:34px;border:1px solid #710632;border-radius:9px;padding:0 10px 0 30px;color:#26334f;background:#fbfdfc}.dimension-row input:focus{background:#fff;border-color:#9d2a5a}.dimension-hint{display:block;margin-top:5px;color:#7a8595;font-size:10px}.bead-size-select{width:100%;height:34px;border:1px solid #710632;border-radius:9px;padding:0 10px;color:#26334f;background:#fbfdfc}.range-control{width:100%;accent-color:#cf90aa}.color-limit-value{display:inline-flex;align-items:center;gap:4px}.color-limit-value em{color:#8a94a3;font-size:10px;font-style:normal;font-weight:550}.color-limit-number{width:54px;height:28px;padding:0 7px;border:1px solid #83083b;border-radius:8px;background:#fbfdfc;color:#26334f;text-align:center;font-weight:750;font-variant-numeric:tabular-nums}.color-limit-number:focus{background:#fff;border-color:#9d2a5a}.palette-list{display:grid;gap:3px}.current-color-card{min-height:62px;margin-bottom:9px;padding:8px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:9px;color:#34435b;background:#f4faf8;border:1px solid #8e0a41;border-radius:11px}.current-color-card.is-empty{color:#7a8595;background:#fafcfb;border-style:dashed}.current-color-swatch{width:40px;height:40px;display:block;background:#fff;border:1px solid rgba(85,48,63,.18);border-radius:9px;box-shadow:inset 0 0 0 1px #ffffff73}.current-color-card.is-empty .current-color-swatch{border-style:dashed;box-shadow:none}.current-color-copy{min-width:0;display:grid;gap:2px}.current-color-copy small{color:#708092;font-size:10px}.current-color-copy strong{overflow:hidden;color:#24324b;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.current-color-copy em{color:#7b8797;font-size:10px;font-style:normal}.current-color-card>button{min-height:30px;padding:0 8px;color:#8b5260;background:#fff;border:1px solid #e5d8dc;border-radius:8px;cursor:pointer;font-size:10px;font-weight:700}.current-color-card>button:hover{color:#743d4b;background:#fff7f8;border-color:#d9bec5}.current-color-card>button:disabled{color:#a2a9b1;background:#f2f4f3;border-color:#e5e9e7;cursor:default}.palette-row{width:100%;min-height:26px;border:0;border-radius:7px;background:transparent;padding:3px 5px;display:grid;grid-template-columns:20px 34px 1fr auto;gap:6px;align-items:center;cursor:pointer;text-align:left;font-size:11px;color:#677286}.palette-row:hover,.palette-row.is-active{background:#d7095f}.palette-row strong,.palette-row b{color:#2b3854}.palette-row b{white-space:nowrap;font-variant-numeric:tabular-nums}.color-swatch{width:18px;height:18px;border-radius:5px;border:1px solid rgba(85,48,63,.09)}.palette-total{display:flex;justify-content:space-between;margin-top:7px;padding-top:7px;border-top:1px solid #e5ebe8;font-size:13px}.color-picker-backdrop{position:fixed;z-index:70;top:0;right:0;bottom:0;left:0;padding:24px;display:grid;place-items:center;background:#1926377a;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.more-tools-backdrop{z-index:82;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.more-tools-dialog{width:min(760px,100%);max-height:min(calc(100dvh - 32px),820px);padding:18px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;overflow:hidden;background:#fff;border:1px solid #780635;border-radius:20px;box-shadow:0 30px 90px #182b3b47}.more-tools-dialog>header{min-height:48px;display:grid;grid-template-columns:92px minmax(0,1fr) 70px;align-items:center;gap:10px}.more-tools-dialog>header>div{min-width:0;display:grid;gap:2px;text-align:center}.more-tools-dialog>header p{margin:0;color:#ce9bb0;font-size:9px;font-weight:850;letter-spacing:.15em}.more-tools-dialog>header h2{margin:0;color:#1d2c46;font-size:21px}.more-tools-back,.more-tools-close{min-height:34px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:5px;color:#536176;background:#f5f8f7;border:1px solid #63052c;border-radius:9px;cursor:pointer;font-size:11px;font-weight:750}.more-tools-back svg{width:15px;height:15px}.more-tools-back:disabled{visibility:hidden}.more-tools-back:hover:not(:disabled),.more-tools-close:hover{color:#ca9fb1;background:#db0961;border-color:#a5124f}.more-tools-menu{min-height:220px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:10px;overflow-y:auto}.more-tools-menu>button{min-height:104px;padding:15px;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:12px;color:#5d6a7d;background:#f9fbfa;border:1px solid #6d0530;border-radius:14px;cursor:pointer;text-align:left}.more-tools-menu>button:hover{color:#c08fa3;background:#df0962;border-color:#a01a52;transform:translateY(-1px);box-shadow:0 10px 24px #2d5f5214}.more-tools-menu>button>svg:first-child{width:28px;height:28px;padding:10px;box-sizing:content-box;color:#cda2b4;background:#df0962;border-radius:12px}.more-tools-menu>button>span{min-width:0;display:grid;gap:4px}.more-tools-menu strong{color:#2c3953;font-size:14px}.more-tools-menu small{font-size:10px;line-height:1.5}.more-tools-menu>button>svg:last-child{width:18px;height:18px}.more-tools-menu .mobile-adjustment-entry{display:none}.more-tools-coming-soon{min-height:220px;padding:28px;display:grid;place-items:center;align-content:center;gap:9px;color:#6d798a;background:#f8fbfa;border:1px dashed #780a38;border-radius:14px;text-align:center}.more-tools-coming-soon>span{width:52px;height:52px;display:grid;place-items:center;color:#cb9eb1;background:#e80a66;border-radius:15px}.more-tools-coming-soon svg{width:27px;height:27px}.more-tools-coming-soon strong{color:#2d3a54;font-size:18px}.more-tools-coming-soon small{font-size:11px;line-height:1.55}.adjustment-page-flow{min-height:0;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:14px;overflow:hidden}.adjustment-dialog-content{min-height:0;display:grid;grid-template-columns:minmax(250px,.9fr) minmax(300px,1.1fr);gap:14px;overflow:hidden}.adjustment-preview-card{min-height:320px;padding:12px;display:grid;place-items:center;overflow:hidden;background-color:#f7faf9;background-image:radial-gradient(#7e0738 1px,transparent 1px);background-size:17px 17px;border:1px solid #700532;border-radius:13px}.adjustment-preview{width:100%;max-height:440px;height:auto;object-fit:contain;display:block;background:#fff;border-radius:9px;box-shadow:0 12px 30px #2d413b1f;image-rendering:pixelated}.adjustment-controls{min-height:0;padding-right:5px;display:grid;align-content:start;gap:8px;overflow-y:auto}.adjustment-controls label{min-height:58px;padding:9px 10px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px;color:#4f5d73;background:#f9fbfa;border:1px solid #700532;border-radius:10px;font-size:11px;font-weight:750}.adjustment-controls label>span{min-width:40px;color:#ca9fb1;text-align:right;font-variant-numeric:tabular-nums}.adjustment-controls input{grid-column:1 / -1;width:100%;accent-color:#cf90aa}.adjustment-controls p{margin:1px 0 0;padding:9px 10px;color:#6b7789;background:#fff8e8;border:1px solid #f0ddb1;border-radius:9px;font-size:10px;line-height:1.55}.adjustment-actions{min-height:42px;display:flex;justify-content:flex-end;gap:9px}.adjustment-actions .button{min-height:40px}.upload-editor-backdrop{z-index:75;padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.upload-editor-dialog{width:min(1180px,100%);max-height:min(calc(100dvh - 32px),920px);padding:18px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;overflow:hidden;background:#fff;border:1px solid #780635;border-radius:20px;box-shadow:0 30px 90px #182b3b47}.upload-editor-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.upload-editor-heading>div{min-width:0;display:grid;gap:3px}.upload-editor-heading>div p{margin:0;color:#ce9bb0;font-size:10px;font-weight:850;letter-spacing:.15em}.upload-editor-heading h2{margin:0;color:#1d2c46;font-size:23px}.upload-editor-heading span{overflow:hidden;color:#748091;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.upload-editor-heading>button{min-height:34px;padding:0 12px;color:#58677a;background:#f5f8f7;border:1px solid #65052d;border-radius:9px;cursor:pointer;font-size:12px;font-weight:700;white-space:nowrap}.upload-clarity-tip{flex:1;max-width:520px;margin:0;padding:9px 11px;color:#805d2f;background:#fff8e8;border:1px solid #f0ddb1;border-radius:9px;font-size:10px;font-weight:650;letter-spacing:0;line-height:1.5}.upload-editor-layout{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:15px;overflow:hidden}.crop-workspace{min-width:0;min-height:0;padding:13px;display:grid;grid-template-rows:minmax(230px,1fr) auto auto;align-content:start;gap:10px;overflow-y:auto;background:#f5f9f7;border:1px solid #7f0538;border-radius:15px}.upload-preview-stage{--upload-preview-max-height: 51vh;position:relative;width:min(100%,calc(var(--upload-preview-max-height) * 12 / 7));aspect-ratio:12 / 7;min-height:0;margin-inline:auto;overflow:hidden;border-radius:11px;touch-action:none;-webkit-user-select:none;user-select:none}.upload-crop-preview{width:100%;height:100%;display:block;background:#edf3f1;border-radius:11px;box-shadow:inset 0 0 0 1px #294c4314}.crop-mode-label{position:absolute;z-index:4;left:12px;top:12px;min-height:28px;padding:0 10px;display:inline-flex;align-items:center;color:#fff;background:#17212dc7;border-radius:7px;font-size:11px;font-weight:800;pointer-events:none}.upload-preview-stage.is-contain .crop-mode-label{color:#c08fa3;background:#ecf9f5f0}.free-crop-box{position:absolute;z-index:3;border:2px dashed #fff;box-shadow:0 0 0 1px #1fa889f2;cursor:move;touch-action:none}.crop-handle{position:absolute;width:15px;height:15px;padding:0;background:#fff;border:2px solid #cf90aa;border-radius:999px;box-shadow:0 2px 7px #182b3b3d;touch-action:none}.crop-handle.is-nw{left:0;top:0;cursor:nwse-resize;transform:translate(-50%,-50%)}.crop-handle.is-n{left:50%;top:0;cursor:ns-resize;transform:translate(-50%,-50%)}.crop-handle.is-ne{right:0;top:0;cursor:nesw-resize;transform:translate(50%,-50%)}.crop-handle.is-e{right:0;top:50%;cursor:ew-resize;transform:translate(50%,-50%)}.crop-handle.is-se{right:0;bottom:0;cursor:nwse-resize;transform:translate(50%,50%)}.crop-handle.is-s{left:50%;bottom:0;cursor:ns-resize;transform:translate(-50%,50%)}.crop-handle.is-sw{left:0;bottom:0;cursor:nesw-resize;transform:translate(-50%,50%)}.crop-handle.is-w{left:0;top:50%;cursor:ew-resize;transform:translate(-50%,-50%)}.crop-help{margin:0;padding:9px 10px;color:#657185;background:#fff;border:1px solid #66042d;border-radius:9px;font-size:11px;line-height:1.5}.crop-help strong{color:#b16c89}.crop-quick-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.crop-quick-actions button{min-height:32px;padding:0 10px;color:#c08fa3;background:#fff;border:1px solid #9b0f49;border-radius:8px;cursor:pointer;font-size:10px;font-weight:750}.crop-quick-actions span{color:#718093;font-size:10px;font-variant-numeric:tabular-nums}.crop-sliders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.crop-sliders label{min-width:0;padding:8px;display:grid;grid-template-columns:1fr auto;gap:5px;color:#5d697c;background:#fff;border:1px solid #6f0531;border-radius:9px;font-size:10px;font-weight:700}.crop-sliders label b{color:#c99aae;font-variant-numeric:tabular-nums}.crop-sliders input{grid-column:1 / -1;width:100%;accent-color:#cf90aa}.upload-settings-panel{min-height:0;padding-right:4px;display:grid;align-content:start;gap:10px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-bottom:max(24px,env(safe-area-inset-bottom))}.upload-settings-panel>section{padding:11px;display:grid;gap:9px;background:#fbfdfc;border:1px solid #740533;border-radius:11px}.upload-setting-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.upload-setting-title strong{color:#2d3a54;font-size:12px}.upload-setting-title span{color:#718093;font-size:9px;text-align:right}.upload-settings-panel .board-preset-picker{justify-self:end}.upload-mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:7px}.upload-mode-tabs button{min-width:0;min-height:70px;padding:9px;display:grid;align-content:center;gap:4px;color:#5f6c7f;background:#fff;border:1px solid #710632;border-radius:9px;cursor:pointer;text-align:left}.upload-mode-tabs button:hover{border-color:#96144a}.upload-mode-tabs button.is-active{color:#caa0b2;background:#ec0a68;border-color:#8f2c55;box-shadow:0 0 0 2px #1fa8891a}.upload-mode-tabs strong{font-size:11px}.upload-mode-tabs span{font-size:9px;line-height:1.45;white-space:normal}.upload-size-recommendations{display:grid;gap:6px}.upload-size-recommendations button{min-height:40px;padding:7px 9px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:7px;color:#647185;background:#fff;border:1px solid #6d0530;border-radius:8px;cursor:pointer;text-align:left}.upload-size-recommendations button:hover{border-color:#96144a}.upload-size-recommendations button.is-active{color:#c08fa3;background:#f50a6c;border-color:#8f2d56}.upload-size-recommendations button span{font-size:10px;font-weight:700}.upload-size-recommendations button strong{color:#2d3a54;font-size:12px;font-variant-numeric:tabular-nums}.upload-size-recommendations button em{padding:2px 5px;color:#fff;background:#cf90aa;border-radius:5px;font-size:8px;font-style:normal;font-weight:800}.board-assembly-list{display:grid;gap:6px}.board-assembly-list>div{min-height:45px;padding:7px 8px;display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:7px;color:#6a7688;background:#fff;border:1px solid #700532;border-radius:8px}.board-assembly-list>div.is-recommended{color:#c08fa3;background:#df0962;border-color:#962353}.board-assembly-list svg{width:21px;height:21px}.board-assembly-list span{min-width:0;display:grid;gap:2px}.board-assembly-list strong{color:#344159;font-size:10px}.board-assembly-list small{font-size:9px}.board-assembly-list em{padding:2px 5px;color:#ca9fb1;background:#df0962;border-radius:5px;font-size:8px;font-style:normal;font-weight:800}.board-assembly-note{margin:0;color:#657185;font-size:9px;line-height:1.5}.upload-default-button{min-height:31px;color:#c89bae;background:#e40a65;border:1px solid #a3114e;border-radius:8px;cursor:pointer;font-size:10px;font-weight:750}.auto-color-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:9px;padding:10px;border:1px solid #6f0531;border-radius:10px;background:#fbfdfc;cursor:pointer}.auto-color-option.is-enabled{border-color:#cf90aa;background:#f50a6c;box-shadow:0 0 0 2px #1fa88914}.auto-color-option>input{width:17px;height:17px;margin:1px 0 0;accent-color:#cf90aa}.auto-color-option>span{display:grid;gap:3px}.auto-color-option strong{color:#31405a;font-size:11px}.auto-color-option small{color:#748091;font-size:9px;line-height:1.5}.upload-background-options{display:grid;gap:8px}.background-removal-option{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:flex-start;gap:9px;padding:10px;border:1px solid #6f0531;border-radius:10px;background:#fbfdfc;cursor:pointer;transition:border-color .18s ease,background .18s ease,opacity .18s ease}.background-removal-option>input{width:17px;height:17px;margin:1px 0 0;accent-color:#cf90aa}.background-removal-option>span{display:grid;gap:3px}.background-removal-option strong{color:#31405a;font-size:11px}.background-removal-option small{color:#748091;font-size:9px;line-height:1.5}.subject-removal-option{border-color:#6f0531;background:#fbfdfc}.subject-removal-option.is-enabled{border-color:#cf90aa;background:#f50a6c;box-shadow:0 0 0 2px #1fa88914}.background-removal-option.is-disabled{opacity:.52;cursor:not-allowed}.upload-format-note{padding:9px 10px;color:#80613f;background:#fff8e8;border:1px solid #f0deb3;border-radius:9px;font-size:10px;line-height:1.5}.upload-editor-footer{padding:12px 0 max(18px,env(safe-area-inset-bottom));display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,1.35fr);gap:9px;background:#fff;border-top:1px solid #6f0531}.upload-editor-footer .button{min-height:42px}.upload-editor-footer .upload-confirm-button{min-width:0}.export-confirm-backdrop{z-index:78}.clear-canvas-backdrop{z-index:82}.clear-canvas-dialog{width:min(470px,100%);padding:20px;display:grid;grid-template-columns:50px minmax(0,1fr);gap:14px;background:#fff;border:1px solid #eadbd8;border-radius:18px;box-shadow:0 28px 80px #391d1f3d}.clear-canvas-icon{width:50px;height:50px;display:grid;place-items:center;color:#bd5a52;background:#fff0ee;border-radius:14px}.clear-canvas-icon svg{width:26px;height:26px}.clear-canvas-copy{min-width:0;display:grid;gap:4px}.clear-canvas-copy p{margin:0;color:#bd5a52;font-size:9px;font-weight:850;letter-spacing:.14em}.clear-canvas-copy h2{margin:0;color:#29354c;font-size:20px}.clear-canvas-copy>span{color:#6b7789;font-size:11px;line-height:1.55}.clear-canvas-dialog footer{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1.25fr;gap:9px}.button.danger{color:#fff;background:#b95049;border-color:#b95049}.button.danger:hover{background:#a6403a;border-color:#a6403a}.export-confirm-dialog{width:min(560px,100%);padding:20px;display:grid;gap:16px;background:#fff;border:1px solid #780635;border-radius:19px;box-shadow:0 28px 80px #182b3b42}.export-confirm-dialog>header{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:12px}.export-confirm-icon{width:48px;height:48px;display:grid;place-items:center;color:#ca9fb1;background:#e10963;border-radius:13px}.export-confirm-icon svg{width:23px;height:23px}.export-confirm-dialog header>div{min-width:0;display:grid;gap:2px}.export-confirm-dialog header p{margin:0;color:#ce9bb0;font-size:9px;font-weight:850;letter-spacing:.14em}.export-confirm-dialog header h2{margin:0;color:#1d2c46;font-size:21px}.export-confirm-dialog header span:not(.export-confirm-icon){color:#748091;font-size:11px;line-height:1.45}.export-confirm-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.export-confirm-grid>div{min-height:78px;padding:11px;display:grid;align-content:center;gap:3px;background:#f7faf9;border:1px solid #6f0531;border-radius:11px}.export-confirm-grid span{color:#748091;font-size:10px}.export-confirm-grid strong{color:#26344f;font-size:14px}.export-confirm-grid small{color:#718093;font-size:9px}.export-charge-note{margin:0;padding:10px 11px;color:#855d27;background:#fff7e7;border:1px solid #efd8ac;border-radius:10px;font-size:11px;line-height:1.5}.export-confirm-actions{display:grid;grid-template-columns:1fr 1.45fr;gap:9px}.export-confirm-actions .button{min-height:43px}.color-picker-dialog{width:min(920px,100%);max-height:min(86vh,850px);padding:18px;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:14px;background:#fff;border:1px solid #780635;border-radius:19px;box-shadow:0 28px 80px #182b3b3d}.color-picker-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.color-picker-heading>div{display:grid;gap:3px}.color-picker-heading p{margin:0;color:#ce9bb0;font-size:10px;font-weight:850;letter-spacing:.15em}.color-picker-heading h2{margin:0;color:#1d2c46;font-size:23px}.color-picker-heading span{color:#748091;font-size:12px}.color-picker-heading>button{min-height:34px;padding:0 12px;color:#58677a;background:#f5f8f7;border:1px solid #65052d;border-radius:9px;cursor:pointer;font-size:12px;font-weight:700}.color-picker-heading>button:hover{color:#c89bae;background:#db0961;border-color:#9b0f49}.color-picker-search{display:grid;gap:5px;color:#5b697c;font-size:11px;font-weight:700}.color-picker-search input{height:40px;padding:0 12px;color:#26334f;background:#fbfdfc;border:1px solid #780635;border-radius:10px}.color-picker-search input:focus{background:#fff;border-color:#962957}.color-picker-groups{min-height:0;padding-right:6px;display:grid;align-content:start;gap:15px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#6b0d34 transparent}.color-picker-group{display:grid;gap:8px}.color-picker-group-heading{position:sticky;z-index:2;top:0;min-height:30px;padding:5px 7px;display:flex;align-items:center;justify-content:space-between;color:#995471;background:#f0f9f6f5;border-radius:8px}.color-picker-group-heading strong{font-size:12px}.color-picker-group-heading span{color:#748091;font-size:10px}.all-color-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:7px}.all-color-grid button{min-width:0;padding:6px;display:grid;grid-template-columns:30px minmax(0,1fr);grid-template-rows:auto auto;gap:2px 6px;align-items:center;text-align:left;color:#536176;background:#fff;border:1px solid #68052e;border-radius:9px;cursor:pointer}.all-color-grid button:hover{transform:translateY(-1px);border-color:#93174b;box-shadow:0 7px 17px #23594b17}.all-color-grid button.is-selected{color:#caa0b2;background:#ea0a67;border-color:#8e2e56;box-shadow:0 0 0 2px #1fa88921}.all-color-swatch{grid-row:1 / 3;width:30px;height:34px;display:block;border:1px solid rgba(83,47,62,.18);border-radius:7px}.all-color-grid strong{overflow:hidden;color:#26334f;font-size:11px;text-overflow:ellipsis}.all-color-grid small{overflow:hidden;font-size:9px;text-overflow:ellipsis;white-space:nowrap}.color-picker-empty{padding:36px 18px;color:#7b8797;background:#f7faf9;border:1px dashed #760a37;border-radius:12px;text-align:center;font-size:12px}.custom-creation-dialog,.reference-image-dialog,.replace-color-dialog{width:min(640px,100%);max-height:min(88vh,820px);padding:18px;display:grid;gap:14px;overflow-y:auto;background:#fff;border:1px solid #780635;border-radius:20px;box-shadow:0 30px 90px #182b3b47}.custom-creation-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.custom-creation-presets button{min-height:86px;padding:9px;display:grid;place-items:center;align-content:center;gap:3px;color:#59677b;background:#f9fbfa;border:1px solid #6d0530;border-radius:11px;cursor:pointer}.custom-creation-presets button:hover,.custom-creation-presets button.is-active{color:#caa0b2;background:#db0961;border-color:#912854;box-shadow:0 0 0 2px #1fa88914}.custom-creation-presets svg{width:24px;height:24px}.custom-creation-presets strong{font-size:13px}.custom-creation-presets small{font-size:9px}.custom-creation-size{padding:13px;display:grid;gap:11px;background:#f8fbfa;border:1px solid #740533;border-radius:12px}.custom-creation-size>div:first-child{display:flex;justify-content:space-between;gap:10px;color:#35425a}.custom-creation-size>div:first-child small{color:#788495;font-size:10px}.custom-creation-summary{padding:12px;display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:11px;color:#c08fa3;background:linear-gradient(135deg,#f50a6c,#fffaf0);border:1px solid #9f0b49;border-radius:12px}.custom-creation-summary>span{width:44px;height:44px;display:grid;place-items:center;color:#fff;background:#cf90aa;border-radius:12px}.custom-creation-summary>div{display:grid;gap:2px}.custom-creation-summary small,.custom-creation-summary em{color:#718091;font-size:10px;font-style:normal}.custom-creation-summary strong{color:#24324c;font-size:15px}.custom-creation-note,.reference-image-note,.replace-color-dialog>p{margin:0;padding:10px 11px;display:flex;align-items:flex-start;gap:7px;color:#80613f;background:#fff8e8;border:1px solid #f0deb3;border-radius:10px;font-size:10px;line-height:1.5}.custom-creation-note svg,.reference-image-note svg,.replace-color-dialog>p svg{flex:0 0 auto;width:16px;height:16px}.custom-creation-submit,.replace-color-submit{min-height:46px}.reference-image-preview{min-height:240px;padding:18px;display:grid;place-items:center;align-content:center;gap:7px;overflow:hidden;color:#748091;background-color:#f7faf9;background-image:radial-gradient(#7d0738 1px,transparent 1px);background-size:18px 18px;border:1px dashed #780a38;border-radius:14px}.reference-image-preview>svg{width:48px;height:48px;color:#7c284b}.reference-image-preview>strong{color:#30405a}.reference-image-preview>small{font-size:10px}.reference-image-preview.has-image{padding:10px;border-style:solid}.reference-image-preview img{max-width:100%;max-height:340px;object-fit:contain;border-radius:9px;box-shadow:0 10px 28px #2d413b1f;transition:opacity .12s ease}.reference-mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}.reference-mode-picker button{min-height:74px;padding:10px;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;color:#5e6b7e;background:#fbfdfc;border:1px solid #6d0530;border-radius:11px;cursor:pointer;text-align:left}.reference-mode-picker button.is-active{color:#caa0b2;background:#db0961;border-color:#912854;box-shadow:0 0 0 2px #1fa88914}.reference-mode-picker button:disabled{opacity:.62;cursor:wait}.reference-mode-picker button>svg{width:28px;height:28px}.reference-mode-picker button>span{display:grid;gap:3px}.reference-mode-picker strong{font-size:12px}.reference-mode-picker small{color:#788495;font-size:9px;line-height:1.45}.reference-image-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.reference-background-removal{grid-column:1 / -1}.reference-background-removal>input:disabled{cursor:wait}.reference-upload-button,.reference-visibility-button,.reference-remove-button{min-height:40px;padding:0 10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:9px;cursor:pointer;font-size:11px;font-weight:750}.reference-upload-button{color:#fff;background:#cf90aa;border:1px solid #cf90aa}.reference-upload-button input{display:none}.reference-visibility-button{color:#c08fa3;background:#e80a66;border:1px solid #a3114e}.reference-remove-button{color:#9a4c4c;background:#fff5f3;border:1px solid #efd4d0}.reference-opacity-control{grid-column:1 / -1;padding:10px;display:grid;gap:7px;background:#f8fbfa;border:1px solid #68052e;border-radius:10px}.reference-opacity-control>span{display:flex;justify-content:space-between;color:#526075;font-size:11px}.reference-opacity-control b{color:#caa0b2}.reference-opacity-control input{width:100%;accent-color:#cf90aa}.reference-live-preview-note{margin:0;padding:9px 11px;display:flex;align-items:flex-start;gap:7px;color:#c08fa3;background:#ea0a67;border:1px solid #ba0e56;border-radius:10px;font-size:10px;line-height:1.55}.reference-live-preview-note svg{flex:0 0 auto;width:16px;height:16px}.reference-live-preview-note span{display:block}.reference-live-preview-note strong{margin-right:5px}.reference-confirm-actions{position:sticky;z-index:2;bottom:-18px;margin:0 -18px -18px;padding:12px 18px 18px;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);gap:8px;background:linear-gradient(180deg,#ffffffb3,#fff 28%);border-top:1px solid #770535}.reference-confirm-actions .button{min-height:44px}.replace-color-flow{display:grid;grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);align-items:end;gap:10px}.replace-color-flow>svg{align-self:center;width:22px;height:22px;color:#cc96ad}.replace-color-flow label{display:grid;gap:6px;color:#58667a;font-size:11px;font-weight:750}.replace-color-flow label>div{min-width:0;height:48px;padding:5px 8px;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:7px;background:#f8fbfa;border:1px solid #6d0530;border-radius:10px}.replace-color-flow label i{width:32px;height:32px;border:1px solid rgba(85,48,63,.16);border-radius:8px}.replace-color-flow select{min-width:0;width:100%;height:34px;color:#2d3a54;background:#fff;border:1px solid #6e0631;border-radius:8px}.replace-color-summary{min-height:62px;padding:10px 12px;display:flex;align-items:center;justify-content:center;gap:8px;color:#34435b;background:linear-gradient(135deg,#e80a66,#fffaf0);border:1px solid #87073c;border-radius:11px}.replace-color-summary>span{width:34px;height:34px;border:1px solid rgba(85,48,63,.16);border-radius:8px}.replace-color-summary>svg{color:#cc96ad}.replace-color-summary em{margin-left:8px;color:#caa0b2;font-size:11px;font-style:normal;font-weight:800}.export-section p{margin:-5px 0 10px;color:#667286;font-size:12px}.export-mini{width:100%;height:158px;object-fit:contain;border:1px solid #66042d;border-radius:10px;background:#fff;display:block}.export-button{width:100%;margin-top:9px;min-height:42px}.export-section small{display:block;text-align:center;color:#7b8797;font-size:10px;margin-top:7px}.site-announcement{position:relative;margin:10px 12px 0;min-height:58px;padding:10px 48px 10px 12px;display:grid;grid-template-columns:38px minmax(0,1fr);align-items:center;gap:10px;color:#683912;background:#ffe6b6;border:1px solid #e7a449;border-left:5px solid #ed7e32;border-radius:12px;box-shadow:0 8px 24px #8d50191f}.site-announcement-icon{width:38px;height:38px;display:grid;place-items:center;color:#fff;background:#ed7e32;border-radius:10px}.site-announcement-icon svg{width:21px;height:21px}.site-announcement>div{min-width:0;display:grid;gap:2px}.site-announcement strong{color:#71350d;font-size:13px}.site-announcement p{margin:0;font-size:11px;line-height:1.55}.site-announcement>button{position:absolute;right:10px;top:50%;width:30px;height:30px;padding:0;display:grid;place-items:center;color:#8b5222;background:#ffffff85;border:1px solid rgba(154,89,29,.2);border-radius:8px;cursor:pointer;transform:translateY(-50%)}.site-announcement>button:hover{color:#6b340f;background:#fff7e6}.site-announcement>button svg{width:15px;height:15px}.guest-trial-banner{margin:10px 12px 0;min-height:56px;padding:8px 12px;display:none;grid-template-columns:minmax(0,1.4fr) auto auto;align-items:center;gap:14px;color:#4b5c6d;background:linear-gradient(90deg,#f50a6c,#fffaf0);border:1px solid #7d0738;border-radius:13px;box-shadow:0 8px 24px #3d5b4e12}.guest-trial-message{min-width:0;display:flex;align-items:center;gap:10px}.guest-trial-label{min-height:30px;padding:0 9px;display:inline-flex;align-items:center;gap:6px;color:#caa0b2;background:#e40a65;border-radius:8px;white-space:nowrap;font-size:11px;font-weight:800}.guest-trial-label svg{width:16px;height:16px}.guest-trial-message>strong{color:#1d2745;white-space:nowrap;font-size:16px;letter-spacing:-.02em}.guest-trial-message>small{min-width:0;color:#677386;font-size:11px;line-height:1.45}.guest-trial-banner ul{margin:0;padding:0;display:flex;align-items:center;gap:10px;list-style:none}.guest-trial-banner li{display:inline-flex;align-items:center;gap:4px;color:#4f2335;white-space:nowrap;font-size:10px;font-weight:750}.guest-trial-banner li svg{width:14px;height:14px;color:#cf90aa}.guest-trial-actions{display:flex;gap:7px;flex:0 0 auto}.guest-trial-banner button{min-height:34px;padding:0 12px;color:#fff;background:#cf90aa;border:1px solid #cf90aa;border-radius:8px;cursor:pointer;font-size:11px;font-weight:800}.guest-trial-banner button.guest-login-button{color:#c08fa3;background:#fff;border-color:#ab1a56}.guest-canvas-watermark{position:absolute;z-index:7;left:0;top:50%;width:100%;max-width:none;min-width:max-content;box-sizing:border-box;padding:10px 18px;color:#1d27457a;background:#ffffffb8;border-top:1px solid rgba(207,144,170,.3);border-bottom:1px solid rgba(207,144,170,.3);border-left:0;border-right:0;border-radius:0;box-shadow:0 8px 24px #1d274514;transform:translateY(-50%);pointer-events:none;font-size:clamp(13px,1.8vw,22px);font-weight:850;letter-spacing:.08em;text-align:center;white-space:nowrap}.guest-current-color{padding:8px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:#f6faf8;border:1px solid #6f0531;border-radius:11px}.guest-current-color .current-color-swatch{width:42px;height:42px}.guest-current-color button{min-height:30px;padding:0 8px;color:#8a5661;background:#fff;border:1px solid #eadce0;border-radius:8px;cursor:pointer;font-size:9px}.guest-current-color button:disabled{opacity:.45;cursor:default}.guest-palette-preview-list{margin-top:9px;display:grid;gap:3px}.guest-palette-lock{position:relative;margin-top:8px;min-height:170px;overflow:hidden;background:#f7faf9;border:1px dashed #6e0a33;border-radius:11px}.guest-palette-mosaic{padding:7px;display:grid;gap:3px;opacity:.55}.guest-palette-mosaic-row{min-height:26px;padding:3px 5px;display:grid;grid-template-columns:20px minmax(0,1fr) 34px;align-items:center;gap:7px}.guest-blurred-copy,.guest-blurred-count{color:#637085;font-size:10px;filter:blur(3.5px);-webkit-user-select:none;user-select:none}.guest-blurred-count{text-align:right;font-weight:800}.guest-palette-lock-copy{position:absolute;top:0;right:0;bottom:0;left:0;padding:12px;display:grid;place-items:center;align-content:center;gap:5px;text-align:center;background:linear-gradient(180deg,#f7faf947,#f7faf9f0 42%,#f7faf9)}.guest-palette-lock-copy>svg{width:25px;height:25px;color:#742445}.guest-palette-lock-copy strong{color:#34435b;font-size:12px}.guest-palette-lock-copy span{color:#718092;font-size:10px}.guest-palette-lock-copy button{min-height:30px;margin-top:3px;padding:0 13px;color:#fff;background:#cf90aa;border:1px solid #cf90aa;border-radius:8px;cursor:pointer;font-size:11px;font-weight:800}.guest-palette-lock-copy button:hover{background:#d1a5b7;border-color:#d1a5b7}.guest-locked-panel,.guest-export-placeholder{min-height:138px;padding:18px 14px;display:grid;place-items:center;align-content:center;gap:8px;text-align:center;color:#667286;background:#f7faf9;border:1px dashed #6e0a33;border-radius:12px}.guest-locked-panel>svg,.guest-export-placeholder>svg{width:31px;height:31px;color:#601836}.guest-locked-panel strong,.guest-export-placeholder strong{color:#3e4c62;font-size:13px}.guest-locked-panel p,.guest-export-placeholder span{margin:0;max-width:230px;font-size:11px;line-height:1.55}.guest-locked-panel button{min-height:31px;padding:0 11px;color:#caa0b2;background:#da0960;border:0;border-radius:8px;cursor:pointer;font-size:11px;font-weight:750}.export-section.is-guest-locked .export-button:disabled{opacity:.68;color:#64748b;background:#e8efed}.toast{position:fixed;z-index:40;left:50%;bottom:24px;transform:translate(-50%);background:#1d2745;color:#fff;border-radius:999px;padding:11px 18px;font-size:13px;box-shadow:0 12px 32px #1d27453d}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.mosaic-result-page{min-height:100vh;background:#f7faf8}.mosaic-result-header{min-height:76px;padding:12px 24px;display:flex;align-items:center;gap:18px;background:#fffffff7;border-bottom:1px solid #e5ebe8;position:sticky;top:0;z-index:20}.mosaic-result-header>div{display:grid;gap:3px}.mosaic-result-header strong{font-size:18px}.mosaic-result-header span{color:#728091;font-size:12px}.back-button{flex:0 0 auto}.mosaic-result-main{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:24px 0 32px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}.mosaic-preview-card,.mosaic-next-step{background:#fff;border:1px solid #6f0531;border-radius:18px;box-shadow:0 16px 42px #2d413b14}.mosaic-preview-card{padding:18px;min-width:0}.mosaic-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.mosaic-preview-heading>div{display:grid;gap:3px}.mosaic-preview-heading span{font-weight:800;font-size:17px}.mosaic-preview-heading small{color:#748091;font-size:12px}.mosaic-preview-heading b{padding:6px 10px;border-radius:999px;color:#c89bae;background:#df0962;font-size:11px;white-space:nowrap}.mosaic-preview-stage{position:relative;min-height:560px;padding:20px;display:grid;place-items:center;overflow:auto;background-color:#f9fcfb;background-image:radial-gradient(#7d0738 1px,transparent 1px);background-size:20px 20px;border:1px solid #710532;border-radius:14px}.mosaic-preview{width:min(100%,620px);max-width:100%;max-height:68vh;height:auto;display:block;background:#fff;box-shadow:0 18px 48px #2d413b21;image-rendering:pixelated}.mosaic-next-step{padding:18px;display:grid;gap:10px}.mosaic-step-title{margin-bottom:3px}.mosaic-step-title>span{font-size:16px;font-weight:800}.mosaic-step-title p{margin:4px 0 0;color:#748091;font-size:12px;line-height:1.5}.mosaic-action-card{width:100%;padding:14px;display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:12px;text-align:left;background:#fff;border:1px solid #6d0530;border-radius:13px;cursor:pointer;transition:.18s ease}.mosaic-action-card:hover{transform:translateY(-1px);border-color:#93174b;box-shadow:0 10px 24px #2d5f5217}.mosaic-action-card:disabled{opacity:.62;cursor:not-allowed;transform:none;box-shadow:none}.mosaic-action-card.primary-action{border-color:#af1756;background:#f50a6c}.mosaic-action-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;color:#cda2b4;background:#d2095d}.mosaic-action-icon svg{width:21px;height:21px}.mosaic-action-card>span:last-child{min-width:0;display:grid;gap:4px}.mosaic-action-card strong{font-size:14px}.mosaic-action-card small{color:#728091;font-size:11px;line-height:1.45;white-space:normal}.mosaic-export-note{margin:5px 0 0;padding:10px 11px;color:#80613f;background:#fff7ea;border-radius:10px;font-size:11px;line-height:1.55}@media(max-width:1180px){.header-actions .button:nth-child(1),.header-actions .button:nth-child(3){display:none}.header-actions .button.custom-create-button{display:inline-flex}.workbench{grid-template-columns:62px minmax(0,1fr) 260px}.tool-rail{padding:6px;gap:4px}.tool-button{min-height:50px;font-size:10px}.upload-editor-dialog,.more-tools-dialog{max-height:calc(100dvh - 24px)}}@media(max-width:980px){.guest-header-promo{display:none}.guest-trial-banner{display:grid}}@media(max-width:820px){.app-header{min-height:128px;padding:9px 12px;grid-template-columns:auto minmax(0,1fr);gap:8px 12px}.header-divider,.document-name,.save-state{display:none}.brand-name{font-size:17px}.header-tip{font-size:10px;line-height:1.45;-webkit-line-clamp:3}.header-account{grid-column:1 / -1}.header-actions{grid-column:1 / -1;overflow-x:auto;width:100%;padding-bottom:2px}.header-actions .button{min-height:34px;padding:0 11px;font-size:12px}.header-actions .button:nth-child(1),.header-actions .button:nth-child(3),.header-actions .button:nth-child(5){display:none}.header-actions .button.custom-create-button{display:inline-flex}.header-actions .guest-entry{display:none}.site-announcement{margin:8px 8px 0;padding:10px 42px 10px 10px;grid-template-columns:34px minmax(0,1fr);align-items:start;gap:8px}.site-announcement-icon{width:34px;height:34px}.site-announcement strong{font-size:12px}.site-announcement p{font-size:10px}.guest-trial-banner{margin:8px 8px 0;display:grid;grid-template-columns:1fr;align-items:stretch;gap:8px}.guest-trial-message{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 8px}.guest-trial-message>strong{align-self:center;white-space:normal;font-size:15px}.guest-trial-message>small{grid-column:1 / -1}.guest-trial-banner ul{justify-content:space-between}.guest-trial-actions{width:100%}.guest-trial-banner button{flex:1}.workbench{display:flex;flex-direction:column;padding:8px;gap:8px;min-height:calc(100vh - 104px)}.workspace{min-height:650px}.view-tabs{width:100%;overflow-x:auto;justify-content:center}.view-tabs button{min-width:64px}.ironing-style-picker{overflow:hidden}.ironing-style-heading{align-items:flex-start}.ironing-style-heading>span{display:grid;gap:2px}.ironing-style-options{display:flex;overflow-x:auto;padding:1px 1px 4px;scroll-snap-type:x proximity}.ironing-style-options button{flex:0 0 132px;scroll-snap-align:start}.canvas-stage{min-height:500px}.floating-zoom{top:10px;right:10px;height:48px}.floating-zoom button{width:40px;height:40px}.canvas-scroll{max-height:530px;padding:10px}.pattern-canvas{width:calc(680px * var(--zoom));max-width:none}.stroke-options{width:100%;padding:8px;align-items:stretch;flex-direction:column;gap:7px;overflow-x:auto}.stroke-options.selection-options{width:max-content;min-width:620px;flex-direction:row;align-items:center}.stroke-size-group{width:max-content}.stroke-options p{min-width:430px}.canvas-controls{width:100%;overflow-x:auto;justify-content:flex-start}.canvas-controls button{white-space:nowrap}.tool-rail{position:sticky;bottom:8px;z-index:15;order:2;min-height:auto;width:100%;padding:6px;display:grid;grid-template-columns:repeat(5,minmax(54px,1fr));grid-auto-flow:row;border-radius:14px;overflow:visible}.tool-button{min-height:50px;min-width:0}.tool-button.adjustment-tool,.rail-spacer{display:none}.inspector{order:3;max-height:none;border-radius:16px}.palette-list{grid-template-columns:1fr 1fr}.color-picker-backdrop{padding:10px}.more-tools-backdrop{padding:max(8px,env(safe-area-inset-top)) 8px max(14px,env(safe-area-inset-bottom));align-items:start}.more-tools-dialog{width:100%;max-height:calc(100dvh - 22px - env(safe-area-inset-bottom));padding:13px;border-radius:15px;scroll-padding-bottom:max(30px,env(safe-area-inset-bottom))}.more-tools-dialog>header{grid-template-columns:76px minmax(0,1fr) 58px}.more-tools-dialog>header h2{font-size:18px}.more-tools-menu{grid-template-columns:1fr}.more-tools-menu .mobile-adjustment-entry{display:grid}.custom-creation-backdrop,.reference-image-backdrop,.replace-color-backdrop{padding:max(8px,env(safe-area-inset-top)) 8px max(14px,env(safe-area-inset-bottom));align-items:start}.custom-creation-dialog,.reference-image-dialog,.replace-color-dialog{width:100%;max-height:calc(100dvh - 22px - env(safe-area-inset-bottom));padding:13px;border-radius:15px}.custom-creation-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.reference-mode-picker,.replace-color-flow{grid-template-columns:1fr}.replace-color-flow>svg{justify-self:center;transform:rotate(90deg)}.reference-image-controls{grid-template-columns:1fr 1fr}.reference-upload-button{grid-column:1 / -1}.reference-confirm-actions{bottom:-13px;margin:0 -13px -13px;padding:10px 13px calc(13px + env(safe-area-inset-bottom))}.adjustment-page-flow{display:block;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-bottom:max(36px,env(safe-area-inset-bottom))}.adjustment-dialog-content{min-height:max-content;grid-template-columns:1fr;grid-auto-rows:max-content;overflow:visible}.adjustment-preview-card{min-height:240px}.adjustment-preview{max-height:34vh}.adjustment-controls{min-height:max-content;height:max-content;overflow:visible}.adjustment-actions{margin-top:14px;padding:10px 0 max(28px,env(safe-area-inset-bottom));border-top:1px solid #6f0531}.adjustment-actions .button{flex:1;min-width:0}.upload-editor-backdrop{padding:max(8px,env(safe-area-inset-top)) 8px max(14px,env(safe-area-inset-bottom));align-items:start}.upload-editor-dialog{width:100%;max-height:calc(100dvh - max(22px,env(safe-area-inset-bottom)));padding:12px;border-radius:15px}.upload-editor-footer{padding:10px 0 max(28px,env(safe-area-inset-bottom));grid-template-columns:minmax(0,.9fr) minmax(0,1.35fr)}.upload-editor-footer .button{flex:1;min-width:0}.upload-editor-heading{align-items:stretch;flex-wrap:wrap}.upload-editor-heading>div{flex:1 1 100%}.upload-editor-heading h2{font-size:19px}.upload-clarity-tip{order:3;max-width:none}.upload-editor-layout{grid-template-columns:1fr;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-padding-bottom:max(36px,env(safe-area-inset-bottom))}.crop-workspace{min-height:auto;overflow:visible}.upload-preview-stage{--upload-preview-max-height: 36vh}.crop-quick-actions{align-items:flex-start;flex-direction:column}.crop-sliders{grid-template-columns:1fr}.upload-settings-panel{overflow:visible;padding-bottom:max(12px,env(safe-area-inset-bottom))}.export-confirm-dialog,.clear-canvas-dialog{padding:16px;border-radius:15px}.export-confirm-grid{grid-template-columns:1fr 1fr}.color-picker-dialog{max-height:92vh;padding:13px;border-radius:15px}.color-picker-heading h2{font-size:19px}.all-color-grid{grid-template-columns:repeat(auto-fill,minmax(82px,1fr))}.export-mini{max-height:280px;object-fit:contain}.mosaic-result-header{padding:10px 12px;gap:12px}.mosaic-result-header .back-button{min-height:36px;padding:0 11px}.mosaic-result-header strong{font-size:16px}.mosaic-result-main{width:calc(100% - 16px);padding:12px 0 24px;grid-template-columns:1fr;gap:10px}.mosaic-preview-card,.mosaic-next-step{border-radius:15px}.mosaic-preview-card{padding:11px}.mosaic-preview-stage{min-height:420px;padding:10px}.mosaic-preview{max-height:62vh}.mosaic-next-step{padding:14px}}@media(max-width:480px){.canvas-stage{min-height:430px}.workspace{min-height:570px}.pattern-canvas{width:calc(620px * var(--zoom))}.palette-list{grid-template-columns:1fr}.mosaic-result-header>div span{display:none}.mosaic-preview-stage{min-height:340px}.export-confirm-grid,.export-confirm-actions{grid-template-columns:1fr}}

/* Local feature-review additions */
.pattern-canvas.is-code-view{image-rendering:auto}
.export-actions{display:grid;grid-template-columns:1fr;gap:7px;margin-top:9px}
.export-actions .export-button{margin-top:0}
.export-legend-button{border:1px solid #a0114c;background:#ea0a67;color:#cda6b6}
.export-legend-button:hover:not(:disabled){background:#f50a6c;color:#d0acbb}
.canvas-controls button:disabled{opacity:.52;cursor:not-allowed}
.site-announcement p{max-width:1180px}
@media(min-width:1180px){.export-actions{grid-template-columns:1fr 1fr}.export-actions .export-button{font-size:11px;padding-inline:8px}}
/* Drawing focus mode */
.view-tabs .is-focus-tab{font-weight:800}
.app-shell.is-focus-mode>.app-header,.app-shell.is-focus-mode>.site-announcement,.app-shell.is-focus-mode>.guest-trial-banner{display:none}
.app-shell.is-focus-mode .workbench{min-height:100dvh;grid-template-columns:68px minmax(0,1fr);padding:10px 12px}
.app-shell.is-focus-mode .workbench .inspector{display:none}
.app-shell.is-focus-mode .workspace{grid-template-rows:auto minmax(0,1fr) auto}
.app-shell.is-focus-mode .canvas-stage{min-height:calc(100dvh - 166px)}
.app-shell.is-focus-mode .view-tabs{position:sticky;top:8px;z-index:18}
.app-shell.is-focus-mode .canvas-controls{position:sticky;bottom:8px;z-index:17}
@media(max-width:820px){
  .app-shell.is-focus-mode .workbench{min-height:100dvh;padding:8px;gap:8px}
  .app-shell.is-focus-mode .workspace{min-height:calc(100dvh - 150px);gap:8px}
  .app-shell.is-focus-mode .canvas-stage{min-height:calc(100dvh - 236px)}
  .app-shell.is-focus-mode .view-tabs{justify-content:flex-start}
  .app-shell.is-focus-mode .view-tabs button{min-width:68px;padding-inline:10px}
  .app-shell.is-focus-mode .tool-rail{position:sticky;bottom:8px}
  .app-shell.is-focus-mode .canvas-controls{bottom:6px}
}
/* Focus tab compact-mobile refinement */
.view-tabs .is-focus-tab{white-space:nowrap;min-width:84px}
@media(max-width:820px){.app-shell.is-focus-mode .view-tabs button.is-focus-tab{min-width:84px;white-space:nowrap}}

/* Desktop focus-mode shortcut announcement */
.app-shell.is-focus-mode .view-toolbar-stack{position:relative;min-height:52px}
.focus-shortcut-notice{position:absolute;z-index:19;top:0;left:0;width:min(46vw,666px);min-height:42px;padding:8px 11px;display:flex;align-items:center;gap:10px;color:#9f3131;background:linear-gradient(90deg,#fff4ee,#fff9ef);border:2px solid #f25757;border-radius:4px;box-shadow:0 8px 22px #c5383826;font-size:12px;line-height:1.35}
.focus-shortcut-notice strong{color:#b92f2f;font-size:12px;white-space:nowrap}
.focus-shortcut-notice span{min-width:0;font-weight:700}
.focus-shortcut-notice kbd{margin-left:auto;padding:3px 7px;color:#8d2626;background:#fff;border:1px solid #efb1aa;border-radius:5px;font:800 11px/1 Inter,sans-serif;white-space:nowrap}
@media(max-width:820px){.focus-shortcut-notice{display:none}.app-shell.is-focus-mode .view-toolbar-stack{min-height:0}}
/* Keep the desktop notice and focus tabs side by side */
@media(min-width:821px){.app-shell.is-focus-mode .view-tabs{justify-self:end}}
/* Password visibility, referral rewards and adjustable grid colours */
.password-field{position:relative;display:block}
.password-field>input{width:100%;padding-right:46px}
.password-toggle{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:36px;height:36px;display:grid;place-items:center;padding:0;border:0;border-radius:9px;color:#526176;background:transparent;cursor:pointer}
.password-toggle:hover,.password-toggle:focus-visible{color:#e9d7df;background:#d6095e;outline:none}
.password-toggle svg{width:21px;height:21px}
.account-referral-note{margin:0 0 4px;padding:10px 12px;color:#bc889e;background:#ec0a68;border:1px solid #bf1159;border-radius:10px;font-size:12px;line-height:1.55}
.referral-code-card{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;margin:10px 0;padding:11px 12px;border:1px solid #bf1159;border-radius:12px;background:#f50a6c}
.referral-code-card span{display:grid;gap:2px}.referral-code-card small{color:#627086;font-size:11px}.referral-code-card code{padding:6px 9px;color:#dbbfcb;background:#fff;border:1px dashed #ac265e;border-radius:7px;font-weight:800;letter-spacing:.08em}.referral-code-card button{padding:7px 10px;border:0;border-radius:8px;color:#fff;background:#d1a5b7;font-weight:700;cursor:pointer}
.grid-color-settings{position:relative}
.grid-color-settings>summary{list-style:none;min-height:34px;display:flex;align-items:center;padding:0 10px;border-radius:8px;color:#40506a;font-weight:700;cursor:pointer;white-space:nowrap}
.grid-color-settings>summary::-webkit-details-marker{display:none}
.grid-color-settings[open]>summary{color:#dbc0cb;background:#ed0a68}
.grid-color-popover{position:absolute;z-index:40;right:0;bottom:calc(100% + 8px);width:230px;padding:11px;display:grid;gap:8px;color:#34425b;background:#fff;border:1px solid #6e0832;border-radius:12px;box-shadow:0 14px 34px #263a5030}
.grid-color-popover label{display:grid;grid-template-columns:1fr 42px;align-items:center;gap:10px;font-size:12px;font-weight:700}
.grid-color-popover input[type=color]{width:42px;height:29px;padding:2px;border:1px solid #6c0a33;border-radius:7px;background:#fff;cursor:pointer}
.grid-color-popover button{min-height:32px;color:#cba2b3;background:#d2095d;border:1px solid #a90f4f;border-radius:8px;font-weight:700;cursor:pointer}
@media(max-width:820px){.referral-code-card{grid-template-columns:1fr auto}.referral-code-card code{grid-column:1}.grid-color-popover{position:fixed;left:12px;right:12px;bottom:82px;width:auto}.grid-color-settings>summary{padding-inline:8px;font-size:11px}}
/* Stable code-view zoom, zoomable crop preview and portrait-tablet layout */
.pattern-canvas.is-code-view{image-rendering:auto}
.upload-preview-stage{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.upload-preview-zoom-layer{position:relative;min-width:100%;min-height:100%}
.crop-zoom-button{position:absolute;z-index:6;right:10px;bottom:10px;min-height:32px;padding:0 10px;color:#fff;background:#147b68e8;border:1px solid #ffffffa8;border-radius:8px;box-shadow:0 5px 16px #132e2840;cursor:pointer;font-size:10px;font-weight:800}
.crop-zoom-button[aria-pressed="true"]{background:#233651e8}
@media(min-width:821px) and (max-width:1180px){
  .workbench{grid-template-columns:62px minmax(0,1fr);align-items:start}
  .tool-rail{grid-column:1;grid-row:1;align-self:stretch}
  .workspace{grid-column:2;grid-row:1;min-width:0}
  .inspector{grid-column:1 / -1;grid-row:2;max-height:none}
  .view-tabs{max-width:100%;overflow-x:auto;justify-content:flex-start}
}
@media(max-width:820px){
  .crop-zoom-button{right:8px;bottom:8px}
  .upload-preview-stage.is-zoomed{border:1px solid #b22962}
}
/* Original-image assembly board preview */
.board-assembly-list>button{width:100%;min-height:45px;padding:7px 8px;display:grid;grid-template-columns:25px minmax(0,1fr) auto;align-items:center;gap:7px;text-align:left;color:#6a7688;background:#fff;border:1px solid #700532;border-radius:8px;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}
.board-assembly-list>button:hover{border-color:#942252;background:#f7fcfa}
.board-assembly-list>button.is-recommended{color:#c08fa3;background:#df0962;border-color:#962353}
.board-assembly-list>button.is-selected{color:#cda6b6;background:#f5106f;border-color:#cf90aa;box-shadow:0 0 0 2px rgba(207,144,170,.13)}
.board-assembly-list>button:focus-visible{outline:3px solid rgba(207,144,170,.28);outline-offset:2px}
.assembly-preview-card{display:grid;gap:6px;padding:9px;background:#f6fbf9;border:1px solid #9a0b47;border-radius:10px}
.assembly-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#b88198}
.assembly-preview-heading strong{font-size:10px}.assembly-preview-heading span{font-size:9px;font-variant-numeric:tabular-nums}
.assembly-preview-canvas{display:block;width:100%;max-height:245px;object-fit:contain;background:#fff;border:1px solid #87073c;border-radius:7px;image-rendering:pixelated}
.assembly-preview-card small{color:#6b7888;font-size:9px;line-height:1.45}
.export-assembly-button{border:1px solid #f0c3bb;background:#fff5f2;color:#aa4941}
.export-assembly-button:hover:not(:disabled){background:#ffe9e4;color:#86362f}
@media(min-width:1180px){.export-actions{grid-template-columns:1fr 1fr}.export-actions .export-assembly-button{grid-column:1 / -1}}
/* Selected board plan only uses a filled background */
.board-assembly-list>button,.board-assembly-list>button.is-recommended{background:transparent}
.board-assembly-list>button.is-selected{background:#f5106f}
.board-assembly-list>button:hover:not(.is-selected){background:rgba(234,10,103,.56)}
/* Full-viewport mobile canvas panning */
.canvas-scroll{touch-action:none;-webkit-overflow-scrolling:touch}
@media(pointer:coarse){.canvas-scroll{cursor:grab}.canvas-scroll:active{cursor:grabbing}}
/* Optional rare-color cleanup */
.rare-color-option{margin-top:10px}
.rare-color-option.is-enabled{border-color:#b42963;background:#f7448f}
.rare-color-option strong{color:#c090a4}
.inspector-rare-color-option{margin:10px 0 12px;padding:10px;border:1px solid #7d0738;border-radius:10px;background:#f8fbfa}
.inspector-rare-color-option small{line-height:1.45}
/* Shared edge-strength controls for upload and current-canvas workflows */
.edge-strength-control{display:grid;gap:6px;margin-top:8px;padding:10px;border:1px solid #a50d4c;border-radius:10px;background:linear-gradient(135deg,#f50a6c,#fff)}
.edge-strength-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}
.edge-strength-heading strong{color:#c090a4;font-size:11px}
.edge-strength-value{display:flex;align-items:center;gap:3px;color:#d5b5c2;font-size:10px;font-weight:800}.edge-strength-value span{font-size:9px}.edge-strength-number{width:42px;height:26px;padding:0 3px;border:1px solid #a61551;border-radius:7px;background:#fff;color:#d5b5c2;text-align:center;font:inherit;font-variant-numeric:tabular-nums}.edge-strength-value em{font-style:normal}
.edge-strength-range{margin:1px 0 0}
.edge-strength-control small{color:#66778a;font-size:9px;line-height:1.45}
/* Simplified hand-drawn pattern mode */
.simple-pattern-option{display:flex;align-items:center;gap:9px;min-width:245px;padding:8px 10px;border:1px solid #7f083a;border-radius:9px;background:#fff;cursor:pointer}.simple-pattern-option input{width:16px;height:16px;accent-color:#cf90aa;flex:0 0 auto}.simple-pattern-option span{display:grid;gap:2px;text-align:left}.simple-pattern-option strong{color:#bf8ea3;font-size:10px}.simple-pattern-option small{color:#6b7888;font-size:8px;line-height:1.35}.simple-pattern-option.is-enabled{border-color:#cf90aa;background:#f51b76;box-shadow:0 0 0 2px rgba(207,144,170,.12)}.auto-color-option.is-disabled{opacity:.52;cursor:not-allowed}.upload-default-button:disabled{opacity:.55;cursor:not-allowed}@media(max-width:820px){.crop-quick-actions{align-items:stretch}.simple-pattern-option{width:100%;min-width:0}.crop-quick-actions>span{width:100%}}

/* Selected color focus and left inspector scrollbar */
.inspector{direction:ltr;transform:scaleX(-1)}
.inspector>*{direction:ltr;transform:scaleX(-1)}
.current-color-actions{display:grid;gap:5px;justify-items:stretch}
.current-color-actions>button{min-height:28px;padding:0 8px;border-radius:8px;cursor:pointer;font-size:10px;font-weight:700;white-space:nowrap}
.current-color-actions>.focus-color-button{color:#e8d6dd;background:#f50a6c;border:1px solid #af1756}
.current-color-actions>.focus-color-button:hover{background:#e40a65;border-color:#a8235b}
.current-color-actions>.focus-color-button.is-active{color:#fff;background:#d8adbf;border-color:#d8adbf;box-shadow:0 5px 12px rgba(216,173,191,.2)}
.current-color-actions>.clear-color-button{color:#8b5260;background:#fff;border:1px solid #e5d8dc}
.current-color-actions>button:disabled{color:#a2a9b1;background:#f2f4f3;border-color:#e5e9e7;cursor:default;box-shadow:none}
@media(max-width:520px){.current-color-card{grid-template-columns:40px minmax(0,1fr)}.current-color-actions{grid-column:1/-1;grid-template-columns:1fr 1fr}}

/* Canvas crop and ironing mirror export */
.mirror-export-option{display:flex;align-items:flex-start;gap:9px;margin:10px 0 12px;padding:10px;border:1px solid #82073b;border-radius:10px;background:#f7fbfa;cursor:pointer}
.mirror-export-option input{width:16px;height:16px;margin:2px 0 0;accent-color:#cf90aa;flex:0 0 auto}
.mirror-export-option span{display:grid;gap:3px;text-align:left}
.mirror-export-option strong{color:#bf8ea3;font-size:10px}
.mirror-export-option small{color:#6b7888;font-size:9px;line-height:1.45}
.mirror-export-option:has(input:checked){border-color:#a4295c;background:#f50a6c;box-shadow:0 0 0 2px rgba(207,144,170,.1)}
.crop-canvas-control{color:#a64b43!important}
.crop-canvas-control:not(:disabled):hover{background:#fff0ed!important;border-color:#df8d82!important}
.crop-canvas-control:disabled{opacity:.45;cursor:not-allowed}
.crop-pattern-backdrop{z-index:80}
.crop-pattern-dialog{width:min(450px,calc(100vw - 28px));max-height:calc(100vh - 20px);overflow:auto;overscroll-behavior:contain;padding:22px;background:#fff;border:1px solid #88083e;border-radius:18px;box-shadow:0 24px 70px rgba(150,84,112,.2);color:#1d2943}
.crop-pattern-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.crop-pattern-dialog>header>div{display:grid;gap:4px}
.crop-pattern-dialog header p{margin:0;color:#d09bb1;font-size:10px;font-weight:800;letter-spacing:.14em}
.crop-pattern-dialog header h2{margin:0;font-size:22px}
.crop-pattern-dialog header span{color:#64748b;font-size:12px;line-height:1.5}
.crop-pattern-dialog header button{width:32px;height:32px;border:0;border-radius:9px;background:#f2f6f4;color:#607086;font-size:21px;cursor:pointer}
.crop-pattern-summary{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:20px 0 12px;padding:14px;border:1px solid #970843;border-radius:12px;background:#f5fbf8}
.crop-pattern-summary>div{display:grid;gap:4px;text-align:center}
.crop-pattern-summary small{color:#718096;font-size:10px}
.crop-pattern-summary strong{color:#bf8ea3;font-size:18px;font-variant-numeric:tabular-nums}
.crop-pattern-summary>span{color:#cf90aa;font-size:22px;font-weight:800}
.crop-pattern-note{margin:0;padding:11px 12px;border-radius:10px;background:#fff8e9;color:#806535;font-size:11px;line-height:1.6}
.crop-pattern-note strong{color:#8b6423}
.crop-pattern-dialog>footer{display:flex;justify-content:flex-end;gap:9px;margin-top:18px}
.crop-pattern-dialog>footer .button{min-width:108px}
@media(max-width:520px){.crop-pattern-dialog{padding:18px}.crop-pattern-dialog>footer{position:sticky;bottom:0;background:#fff;padding-top:10px}.mirror-export-option{margin-left:0;margin-right:0}}

/* Manual crop selection */
.manual-crop-mode-switch{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0 10px}.manual-crop-mode-switch button{min-height:34px;border:1px solid #7e0739;border-radius:9px;background:#fff;color:#401c2b;font-size:12px;font-weight:700;cursor:pointer}.manual-crop-mode-switch button.is-active{border-color:#c97e9d;background:#f50a6c;color:#cea7b8;box-shadow:0 0 0 2px rgba(201,126,157,.1)}.manual-crop-preview{display:grid;gap:8px;margin-top:10px}.manual-crop-canvas{display:block;width:100%;height:auto;max-height:52vh;border:1px solid #7e0739;border-radius:10px;background:#f7fbfa;image-rendering:pixelated;touch-action:none;cursor:crosshair}.manual-crop-help{margin:0;color:#64748b;font-size:11px;line-height:1.5}

/* Direct canvas crop selection */
.canvas-edit-layer{position:relative;width:calc(820px * var(--zoom));max-width:none;min-height:1px;margin:0 auto}.canvas-edit-layer .pattern-canvas{width:100%;margin:0}.canvas-edit-layer.is-crop-mode .pattern-canvas{pointer-events:none}.canvas-crop-layer{position:absolute;inset:0;z-index:12;touch-action:none;user-select:none}.canvas-crop-mask{position:absolute;background:rgba(20,41,60,.46);pointer-events:none}.canvas-crop-selection{position:absolute;border:2px solid #cf90aa;box-shadow:0 0 0 1px rgba(255,255,255,.8),0 6px 20px rgba(150,84,112,.18);touch-action:none;cursor:move}.canvas-crop-handle{position:absolute;width:18px;height:18px;padding:0;border:3px solid #fff;border-radius:50%;background:#cf90aa;box-shadow:0 2px 8px rgba(150,84,112,.25);transform:translate(-50%,-50%);cursor:crosshair}.canvas-crop-handle.is-nw{left:0;top:0;cursor:nwse-resize}.canvas-crop-handle.is-n{left:50%;top:0;cursor:ns-resize}.canvas-crop-handle.is-ne{left:100%;top:0;cursor:nesw-resize}.canvas-crop-handle.is-e{left:100%;top:50%;cursor:ew-resize}.canvas-crop-handle.is-se{left:100%;top:100%;cursor:nwse-resize}.canvas-crop-handle.is-s{left:50%;top:100%;cursor:ns-resize}.canvas-crop-handle.is-sw{left:0;top:100%;cursor:nesw-resize}.canvas-crop-handle.is-w{left:0;top:50%;cursor:ew-resize}.canvas-crop-actions{position:absolute;z-index:13;left:50%;top:10px;transform:translateX(-50%);display:flex;align-items:center;gap:6px;max-width:calc(100% - 18px);padding:6px 8px;border:1px solid #88083e;border-radius:11px;background:rgba(255,255,255,.96);box-shadow:0 8px 22px rgba(150,84,112,.18);white-space:nowrap}.canvas-crop-actions span{color:#401c2b;font-size:11px;font-weight:700}.canvas-crop-actions button{min-height:28px;padding:0 9px;border:1px solid #800a3b;border-radius:7px;background:#fff;color:#c08fa3;font-size:11px;font-weight:700;cursor:pointer}.canvas-crop-actions button.is-cancel{color:#64748b}.canvas-crop-actions button.is-confirm{border-color:#cf90aa;background:#cf90aa;color:#fff}@media(max-width:700px){.canvas-crop-actions{top:6px;gap:4px;padding:5px;max-width:calc(100% - 12px);overflow:auto}.canvas-crop-actions span{font-size:10px}.canvas-crop-actions button{padding:0 7px;font-size:10px}.canvas-crop-handle{width:16px;height:16px}}

/* Mosaic grid alignment */
.grid-align-tool{color:inherit;border:1px solid transparent;background:transparent}.grid-align-tool:hover{color:#cca3b4;border-color:#9e0c49;background:#f3faf8}.grid-align-tool.is-active{color:#cda2b4;border-color:transparent;background:#da0960}.grid-align-backdrop{z-index:95}.grid-align-dialog{width:min(650px,100%);max-height:min(760px,calc(100dvh - 28px));overflow:auto;padding:22px;background:#fff;border:1px solid #6f0531;border-radius:20px;box-shadow:0 28px 70px #10212b4d}.grid-align-upload{margin-top:17px;min-height:180px;padding:12px;display:grid;place-items:center;gap:10px;background:#f4faf8;border:1px dashed #880f41;border-radius:14px}.grid-align-upload>img{display:block;max-width:100%;max-height:270px;object-fit:contain;image-rendering:pixelated;border-radius:9px}.grid-align-upload>label input{display:none}.grid-align-empty{display:grid;justify-items:center;gap:6px;color:#647588;text-align:center}.grid-align-empty svg{width:36px;height:36px;color:#cf90aa}.grid-align-empty strong{color:#27344f;font-size:13px}.grid-align-empty small{max-width:360px;font-size:10px;line-height:1.55}.grid-align-size{margin-top:12px;padding:12px;display:grid;gap:9px;border:1px solid #6f0531;border-radius:12px}.grid-align-size>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.grid-align-size strong{color:#27344f;font-size:12px}.grid-align-size small{color:#748091;font-size:10px}.grid-align-size .dimension-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px}.grid-align-size label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;padding:0 9px;border:1px solid #6f0531;border-radius:9px}.grid-align-size label span{color:#cda0b2;font-size:11px;font-weight:800}.grid-align-size input{min-width:0;height:36px;border:0;color:#1d2745;background:transparent;font:inherit;font-weight:800;outline:0}.grid-align-note{margin:12px 0 0;padding:10px;display:flex;align-items:flex-start;gap:7px;color:#627187;background:#fff8e8;border:1px solid #f0deb3;border-radius:10px;font-size:10px;line-height:1.6}.grid-align-note svg{flex:0 0 auto;width:16px;color:#c48b36}.grid-align-message{margin:9px 0 0;padding:9px 10px;color:#a15d3e;background:#fff1ed;border-radius:9px;font-size:11px;line-height:1.5}.grid-align-message.is-success{color:#caa0b2;background:#f51371}.grid-align-dialog>footer{margin-top:14px;display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:8px}.grid-align-dialog>footer .button{justify-content:center;min-height:42px}@media(max-width:820px){.grid-align-dialog{width:100%;padding:18px 14px;border-radius:18px 18px 12px 12px}.grid-align-dialog>footer{position:sticky;bottom:-18px;margin-inline:-14px;padding:10px 14px max(10px,env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid #6f0531}.tool-button.grid-align-tool{display:grid}}@media(max-width:480px){.grid-align-dialog>footer{grid-template-columns:1fr 1fr}.grid-align-dialog>footer .button.primary{grid-column:1 / -1}.grid-align-upload{min-height:145px}.grid-align-size>div:first-child{display:grid;gap:3px}}
.similar-merge-backdrop{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(17,29,43,.52);backdrop-filter:blur(5px)}.similar-merge-dialog{width:min(620px,calc(100vw - 28px));max-height:min(88vh,820px);overflow:auto;background:#fff;border:1px solid #86083d;border-radius:22px;box-shadow:0 24px 70px rgba(18,42,54,.28);padding:22px;color:#1d2943}.similar-merge-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.similar-merge-heading p{margin:0 0 4px;color:#d6abbd;font-size:11px;font-weight:800;letter-spacing:.14em}.similar-merge-heading h2{margin:0;font-size:24px}.similar-merge-heading span{display:block;margin-top:7px;color:#6a788b;font-size:13px;line-height:1.55}.similar-merge-heading>button{border:1px solid #770736;background:#f5f9f8;color:#52657b;border-radius:10px;padding:8px 12px;cursor:pointer}.similar-merge-tabs{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:18px 0 16px;padding:4px;background:#eef4f2;border-radius:13px}.similar-merge-tabs button{border:0;background:transparent;border-radius:10px;padding:10px;color:#5e6e80;font-weight:700;cursor:pointer}.similar-merge-tabs button.is-active{background:#fff;color:#d3aabb;box-shadow:0 2px 8px rgba(149,84,111,.12)}.similar-merge-threshold{padding:14px 15px;border:1px solid #770635;border-radius:15px;background:#f8fbfa}.similar-merge-threshold>div{display:flex;justify-content:space-between;align-items:center}.similar-merge-threshold b{font-size:22px;color:#d3aabb}.similar-merge-threshold input{width:100%;accent-color:#cf90aa;margin:12px 0 4px}.similar-merge-threshold small{color:#718095}.similar-merge-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.similar-merge-stats>div{padding:11px 7px;text-align:center;border-radius:12px;background:#f5f8fa}.similar-merge-stats small{display:block;color:#708095;font-size:11px}.similar-merge-stats strong{display:block;color:#1d2943;font-size:21px;margin-top:2px}.similar-merge-list-heading{display:flex;align-items:center;justify-content:space-between;margin:10px 0}.similar-merge-list-heading>strong{font-size:16px}.similar-merge-list-heading label{font-size:13px;color:#617086}.similar-merge-list-heading input,.similar-merge-group-top input{accent-color:#cf90aa;margin-right:6px}.similar-merge-groups{display:grid;gap:10px}.similar-merge-group{padding:14px;border:1px solid #82073a;border-radius:15px;background:#fff}.similar-merge-group.is-disabled{opacity:.55;background:#f6f8f8}.similar-merge-group-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.similar-merge-group-top label{display:flex;align-items:center}.similar-merge-group-top>span{font-size:12px;color:#6c7b8e}.similar-merge-group-top em{margin-left:auto;color:#c27b17;border:1px solid #ecc98d;border-radius:999px;padding:3px 8px;font-style:normal;font-size:11px}.similar-merge-source-label{margin:11px 0 6px;color:#718095;font-size:12px}.similar-merge-source-tags{display:flex;flex-wrap:wrap;gap:6px}.similar-merge-source-tags span{display:inline-flex;align-items:center;justify-content:center;min-width:40px;padding:6px 9px;border-radius:8px;color:#1d2943;font-weight:800;font-size:12px;border:1px solid rgba(20,40,52,.16)}.similar-merge-representative{display:flex;align-items:center;gap:10px;margin-top:11px;color:#617086;font-size:12px}.similar-merge-representative select{flex:1;min-width:0;border:1px solid #7d0738;border-radius:9px;background:#f9fbfa;color:#1d2943;padding:8px}.similar-merge-empty{padding:24px 14px;text-align:center;border:1px dashed #780a38;border-radius:12px;color:#7b8999}.similar-merge-note{color:#718095;font-size:12px;line-height:1.5;margin:14px 0}.similar-merge-dialog>footer{display:flex;gap:10px;position:sticky;bottom:-22px;padding:15px 0 0;background:#fff}.similar-merge-dialog>footer button{flex:1}.similar-color-option{margin-top:8px}.similar-merge-trigger{margin-top:8px}@media(max-width:620px){.similar-merge-backdrop{align-items:flex-end;padding:0}.similar-merge-dialog{width:100%;max-height:92vh;border-radius:22px 22px 0 0;padding:18px 16px}.similar-merge-stats{grid-template-columns:repeat(2,1fr)}.similar-merge-dialog>footer{bottom:-18px}}
.export-confirm-dialog .export-mirror-option{margin:14px 0 4px;padding:12px 14px;border-color:#a91251;background:linear-gradient(135deg,#f51975,#fffdf8)}.export-confirm-dialog .export-mirror-option strong{font-size:12px}.export-confirm-dialog .export-mirror-option small{font-size:11px;line-height:1.55}

/* Upload crop frame: keep the desktop-style selection visible on touch devices. */
.upload-preview-stage .free-crop-box{position:absolute;z-index:12;display:block;box-sizing:border-box;min-width:18px;min-height:18px;border:2px solid #cf90aa;border-radius:2px;box-shadow:0 0 0 1px rgba(255,255,255,.96),0 4px 14px rgba(150,84,112,.2);touch-action:none;cursor:move}.upload-preview-stage .free-crop-box::after{content:"";position:absolute;inset:4px;border:1px dashed rgba(255,255,255,.98);pointer-events:none}.upload-preview-stage .crop-handle{position:absolute;z-index:2;display:block;width:18px;height:18px;min-width:18px;min-height:18px;margin:0;padding:0;border:3px solid #cf90aa;border-radius:50%;background:#fff;box-shadow:0 2px 8px rgba(150,84,112,.28);transform:translate(-50%,-50%);touch-action:none}.upload-preview-stage .crop-handle.is-nw{left:0;top:0;cursor:nwse-resize}.upload-preview-stage .crop-handle.is-n{left:50%;top:0;cursor:ns-resize}.upload-preview-stage .crop-handle.is-ne{left:100%;top:0;cursor:nesw-resize}.upload-preview-stage .crop-handle.is-e{left:100%;top:50%;cursor:ew-resize}.upload-preview-stage .crop-handle.is-se{left:100%;top:100%;cursor:nwse-resize}.upload-preview-stage .crop-handle.is-s{left:50%;top:100%;cursor:ns-resize}.upload-preview-stage .crop-handle.is-sw{left:0;top:100%;cursor:nesw-resize}.upload-preview-stage .crop-handle.is-w{left:0;top:50%;cursor:ew-resize}@media(max-width:820px){.upload-preview-stage .free-crop-box{z-index:20;border-width:2px}.upload-preview-stage .crop-handle{display:block!important;width:20px;height:20px;min-width:20px;min-height:20px;border-width:3px}}
/* iOS Safari can composite a canvas above regular descendants.  Explicitly
   isolate the canvas below the draggable crop selection and its 8 handles. */
.upload-preview-stage .upload-preview-zoom-layer{isolation:isolate}
.upload-preview-stage .upload-crop-preview{position:absolute!important;inset:0!important;z-index:0!important;transform:translateZ(0)}
.upload-preview-stage .free-crop-box{z-index:200!important;isolation:isolate;transform:translateZ(0);-webkit-transform:translateZ(0);pointer-events:auto!important}
.upload-preview-stage .crop-handle{-webkit-appearance:none!important;appearance:none!important;pointer-events:auto!important}
@supports (-webkit-touch-callout:none){.upload-preview-stage .upload-preview-zoom-layer{z-index:0}.upload-preview-stage .free-crop-box{z-index:200!important}}


/* iOS-safe crop preview geometry: keep the canvas in normal flow so the
   percentage-positioned selection always has a definite 12:7 containing box. */
.upload-preview-stage .upload-preview-zoom-layer{position:relative;display:block;width:100%;height:auto!important;min-width:100%;min-height:0!important;aspect-ratio:12 / 7}
.upload-preview-stage .upload-crop-preview{position:relative!important;inset:auto!important;display:block!important;width:100%!important;height:auto!important;aspect-ratio:12 / 7;z-index:auto!important;transform:none!important;-webkit-transform:none!important}


/* Precision mosaic grid alignment workflow */
.grid-align-workflow{width:min(900px,calc(100vw - 24px));max-height:min(94vh,900px);padding:0;overflow:auto;background:#f8fbfa;border:1px solid #82073b;border-radius:20px;box-shadow:0 28px 80px rgba(15,35,48,.3)}
.grid-align-workflow-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 22px 12px;background:#fff;border-bottom:1px solid #6e0530}.grid-align-workflow-header>div{display:grid;gap:4px}.grid-align-workflow-header p{margin:0;color:#d09bb1;font-size:10px;font-weight:800;letter-spacing:.14em}.grid-align-workflow-header h2{margin:0;color:#17233b;font-size:22px}.grid-align-workflow-header span{color:#6c7b8e;font-size:12px}.grid-align-workflow-header>button{border:0;background:transparent;color:#64748b;font-size:13px;cursor:pointer}
.grid-align-stepper{display:flex;align-items:center;gap:9px;padding:10px 22px;color:#9aa8b5;background:#fff;font-size:11px}.grid-align-stepper strong{display:flex;align-items:center;gap:5px;font-weight:700}.grid-align-stepper strong.is-active{color:#17233b}.grid-align-stepper i{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#edf2f1;color:#6d7d8c;font-style:normal;font-size:11px}.grid-align-stepper strong.is-active i{background:#cf90aa;color:#fff}.grid-align-stepper span{font-size:18px;color:#490823}
.grid-align-preview-panel{position:relative;margin:0 18px;padding:10px 10px 12px;background:#111827;border-radius:14px;overflow:hidden}.grid-align-preview-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:32px;color:#f7faf9;font-size:11px}.grid-align-preview-toolbar>button{border:1px solid #ffffff38;border-radius:999px;padding:6px 11px;color:#fff;background:#263242;cursor:pointer}.grid-align-preview-canvas{display:block;width:100%;height:auto;min-height:220px;aspect-ratio:3 / 2;background:#111827;border-radius:8px;touch-action:none;cursor:crosshair}.grid-align-size-tag{position:absolute;left:50%;top:50%;transform:translate(-50%,calc(-50% - 5px));padding:6px 10px;border-radius:5px;color:#fff;background:#e51e45;font-size:11px;font-weight:800;pointer-events:none;opacity:.96}.grid-align-pad{position:absolute;left:50%;bottom:20px;transform:translateX(-50%);display:grid;grid-template-columns:repeat(3,38px);grid-template-rows:repeat(2,36px);gap:4px;padding:7px;border-radius:12px;background:rgba(24,31,45,.84);box-shadow:0 8px 22px rgba(0,0,0,.26);backdrop-filter:blur(7px)}.grid-align-pad button{border:0;border-radius:7px;color:#fff;background:#ffffff16;font-size:18px;cursor:pointer}.grid-align-pad button:hover{background:#ffffff30}.grid-align-pad button:nth-child(1){grid-column:2}.grid-align-pad button:nth-child(2){grid-column:1;grid-row:2}.grid-align-pad button:nth-child(3){grid-column:2;grid-row:2;font-size:15px}.grid-align-pad button:nth-child(4){grid-column:3;grid-row:2}.grid-align-pad button:nth-child(5){grid-column:2;grid-row:3}.grid-align-pad button:nth-child(6){grid-column:3;grid-row:1}.grid-align-pad button:nth-child(7){grid-column:3;grid-row:2}
.grid-align-help{margin:8px 4px 0;color:#c6d0dc;text-align:center;font-size:11px}.grid-align-upload-new{margin:18px;min-height:230px;padding:26px;display:grid;place-items:center;gap:12px;background:#f4faf8}.grid-align-controls{display:grid;gap:10px;padding:14px 18px 0}.grid-align-file-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.grid-align-file-row>span{margin-right:auto;color:#607184;font-size:11px}.grid-align-file-row input,.grid-align-upload-new input{display:none}.grid-align-size-new{margin:0;padding:12px 14px;background:#fff}.grid-align-workflow-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 18px 18px;background:#f8fbfa;position:sticky;bottom:0}.grid-align-workflow-footer .button{min-width:112px}.grid-align-message{margin:0 18px;padding:9px 11px;border-radius:9px}.grid-align-message.is-success{color:#caa0b2;background:#f51371}
@media(max-width:620px){.grid-align-workflow{width:100%;max-height:96vh;border-radius:18px 18px 12px 12px}.grid-align-workflow-header{padding:16px 16px 10px}.grid-align-stepper{padding:9px 16px}.grid-align-preview-panel{margin:0 10px;padding:8px}.grid-align-preview-canvas{min-height:200px}.grid-align-size-tag{top:46%;font-size:10px}.grid-align-pad{bottom:18px;grid-template-columns:repeat(3,34px);grid-template-rows:repeat(3,32px);padding:6px}.grid-align-pad button{font-size:16px}.grid-align-controls{padding:12px 10px 0}.grid-align-workflow-footer{padding:10px;gap:6px}.grid-align-workflow-footer .button{min-width:0;flex:1;padding-inline:7px;font-size:11px}.grid-align-upload-new{margin:10px;min-height:190px}}
.grid-align-pad{grid-template-rows:repeat(3,36px)}.grid-align-pad button:nth-child(7){grid-column:3;grid-row:3}
.grid-align-preview-canvas{background:#f4f8f7;touch-action:none}
/* Mobile tool rail collapse and desktop one-screen workspace */
.tool-rail-toggle{display:none}
@media(max-width:820px){
  .tool-rail-toggle{display:grid;grid-column:1 / -1;min-height:32px;padding:4px 8px;color:#c89bae;background:#ea0a67;border:1px solid #a90f4f;border-radius:9px;font-size:10px;font-weight:800}
  .tool-rail-toggle svg{width:15px;height:15px}
  .tool-rail.is-collapsed{grid-template-columns:1fr}
  .tool-rail.is-collapsed .tool-button:not(.tool-rail-toggle){display:none}
}
@media(min-width:821px){
  .app-shell:not(.is-focus-mode){display:grid;grid-template-rows:auto auto minmax(0,1fr);height:100dvh;overflow:hidden}
  .app-shell:not(.is-focus-mode) .workbench{height:100%;min-height:0;box-sizing:border-box;grid-template-rows:minmax(0,1fr);overflow:hidden}
  .app-shell:not(.is-focus-mode) .workspace{min-height:0;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
  .app-shell:not(.is-focus-mode) .canvas-stage{min-height:0}
  .app-shell:not(.is-focus-mode) .canvas-scroll{max-height:none}
  .app-shell:not(.is-focus-mode) .inspector{height:100%;max-height:none;min-height:0}
}
.account-status-menu-wrap{position:relative;display:flex;flex:1 1 auto;min-width:0}
.account-status-menu-wrap>.account-status-button{width:100%;padding-right:22px}
.account-status-button{position:relative}
.account-menu-caret{position:absolute;right:8px;top:50%;width:0;height:0;transform:translateY(-50%);font-size:0;line-height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;color:currentColor;opacity:.7;pointer-events:none;transition:transform .16s ease}
.account-status-button[aria-expanded="true"] .account-menu-caret{transform:translateY(-50%) rotate(180deg)}
.account-menu-layer{display:contents}
.account-menu-shield{position:fixed;inset:0;z-index:1400;background:transparent;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.account-status-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:1401;min-width:170px;padding:6px;display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid #f1dbe2;border-radius:12px;box-shadow:0 16px 36px rgba(32,42,55,.18)}
.account-status-menu button{display:flex;align-items:center;width:100%;height:34px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:#4b5563;font:600 12px/1 "Microsoft YaHei",system-ui,sans-serif;text-align:left;cursor:pointer}
.account-status-menu button:hover{background:#fff1f6;color:#c2185b}
