:root{color:#2f2927;background:#fff7f8;--font-sans: "HarmonyOS Sans SC", "MiSans", "OPPO Sans", "vivo Sans", "PingFang SC", "Noto Sans CJK SC", "Source Han Sans SC", "Microsoft YaHei UI", "Microsoft YaHei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;font-family:var(--font-sans);line-height:1.5;font-synthesis-weight:none;-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{margin:0;min-width:320px;font-family:var(--font-sans);font-weight:500;letter-spacing:.01px;overflow-x:hidden;overscroll-behavior-y:none;background:radial-gradient(circle at 8% 4%,rgba(255,184,207,.38),transparent 28%),radial-gradient(circle at 92% 12%,rgba(255,229,236,.78),transparent 32%),linear-gradient(180deg,#fff7f8,#fffdfc 48%,#fff4f7)}button,input{font:inherit}strong,b{font-weight:900}button{border:0;cursor:pointer;touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:.68}.primary:active,.secondary:active,.tabbar button:active,.ghost:active{transform:translateY(1px)}.app-page{position:relative;width:min(100%,430px);min-height:100svh;margin:0 auto;padding:calc(14px + env(safe-area-inset-top)) 14px calc(92px + env(safe-area-inset-bottom))}.has-bottom-action{padding-bottom:calc(112px + env(safe-area-inset-bottom))}html.has-mobile-tabbar .app-page{padding-bottom:calc(140px + env(safe-area-inset-bottom))}html.has-mobile-tabbar .has-bottom-action{padding-bottom:calc(178px + env(safe-area-inset-bottom))}.app-section{margin-top:14px}.app-card{background:#ffffffe6;border:1px solid rgba(235,92,130,.12);border-radius:20px;box-shadow:0 14px 36px #d8487017}.hero{min-height:auto;display:flex;flex-direction:column;justify-content:flex-start;padding:10px 0 12px}.brand{display:inline-flex;align-items:center;gap:7px;width:fit-content;padding:7px 12px;border:1px solid rgba(231,85,130,.18);border-radius:999px;color:#d83f73;background:#ffffffd1;font-size:14px;font-weight:700}.site-logo{width:22px;height:22px;border-radius:7px;flex:0 0 auto;object-fit:contain}.site-logo.large{width:38px;height:38px;border-radius:12px}h1{margin:18px 0 10px;font-size:clamp(32px,9vw,42px);font-weight:900;line-height:1.08;letter-spacing:0}h2{margin:22px 0 12px;font-size:20px;font-weight:900;letter-spacing:0}p{margin:0;font-weight:500;color:#78635d}.primary,.secondary,.sticky-action,.download{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:52px;padding:14px 18px;border-radius:14px;font-weight:800;text-decoration:none}.primary,.sticky-action{margin-top:20px;color:#fff;background:linear-gradient(135deg,#ff4f88,#ff8eb0);box-shadow:0 14px 30px #ff4f883d}.demo-btn{margin-top:10px}.secondary{color:#7a3f54;background:#ffffffe6;border:1px solid rgba(231,85,130,.16)}.bottom-action,.sticky-action{position:fixed;left:max(0px,calc((100vw - 430px)/2));right:max(0px,calc((100vw - 430px)/2));bottom:0;width:auto;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fff9fbf5;border-top:1px solid rgba(231,85,130,.1);backdrop-filter:blur(18px);z-index:12}.tabbar{position:fixed;left:max(0px,calc((100vw - 430px)/2));right:max(0px,calc((100vw - 430px)/2));bottom:0;z-index:11;display:grid;grid-template-columns:repeat(5,1fr);gap:2px;padding:7px 12px calc(7px + env(safe-area-inset-bottom));background:#fffafbf5;border-top:1px solid rgba(231,85,130,.12);backdrop-filter:blur(18px)}.tabbar button{display:grid;gap:2px;place-items:center;min-height:48px;min-width:0;border-radius:16px;color:#8b746e;background:transparent;font-size:12px;font-weight:800}.tabbar span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tabbar i{display:grid;place-items:center;width:28px;height:26px;color:inherit;font-style:normal;line-height:1}.tabbar .nav-icon,.tabbar .nav-icon-shell{display:grid;place-items:center}.tabbar .nav-icon-shell{width:26px;height:26px;border-radius:10px;color:#cf5579;background:#ffeef5c7;border:1px solid rgba(255,142,176,.2)}.tabbar .nav-icon-shell svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}.tabbar button.active{color:#e73675;background:#fff0f5}.tabbar button.active .nav-icon-shell{color:#fff;background:linear-gradient(135deg,#ff6f9e,#ff9bb8);border-color:#ffffffa6}.tabbar-fab{background:#fff0f5!important;color:#e73675!important;position:relative}.tabbar-fab i{width:28px!important;height:26px!important;border-radius:0!important;background:transparent!important;color:inherit!important;font-style:normal;margin-top:0;box-shadow:none;transition:transform .15s}.tabbar-fab:active i{transform:scale(.95);box-shadow:none}.tabbar-fab span{font-size:11px;margin-top:2px}.bottom-action .primary,.bottom-action .secondary{margin-top:0}.result-actions{display:grid;grid-template-columns:1fr .8fr .72fr;gap:8px}.result-actions .primary,.result-actions .secondary{min-height:48px;padding:10px 8px;border-radius:13px;font-size:14px}.sticky-action:disabled{opacity:.72}.comparison{display:grid;grid-template-columns:1fr 32px 1fr;align-items:center;gap:8px;padding:14px}.sample{aspect-ratio:1;display:grid;place-items:center;overflow:hidden;border-radius:12px;color:#8e6d65;font-weight:800}.sample.photo{background:linear-gradient(140deg,rgba(255,255,255,.55),transparent),linear-gradient(135deg,#ffc2d1,#bfe8ff 52%,#fff0bc)}.sample.photo img{width:100%;height:100%;object-fit:cover;display:block}.sample.beads{grid-template-columns:repeat(8,1fr);gap:4px;padding:8px;background:#fffdf9}.sample.beads i{width:100%;aspect-ratio:1;border-radius:50%;box-shadow:inset 2px 2px #ffffff61}.arrow{text-align:center;color:#9a8179;font-weight:900}.steps{margin-top:16px;padding:16px}.steps div{display:flex;gap:12px;align-items:center;padding:11px 0}.steps b{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#ffe0eb;color:#c94d72}.notice,.soft-entry{margin-top:14px;padding:15px;color:#745f58}.seo-topics,.seo-faq{margin-top:14px;padding:16px}.seo-topics h2,.seo-faq h2{margin:0 0 8px;color:#332a27;font-size:18px;line-height:1.3}.seo-topics p,.seo-faq p{margin:0;color:#715852;font-size:14px;line-height:1.7}.seo-keywords{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.seo-keywords a{min-height:34px;display:inline-flex;align-items:center;padding:7px 11px;border:1px solid rgba(231,85,130,.18);border-radius:12px;color:#be3f67;background:#fff6f9e6;font-size:13px;font-weight:900;text-decoration:none}.home-articles{margin-top:14px;padding:16px}.home-articles-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.home-articles-head h2{margin:0;color:#332a27;font-size:18px;line-height:1.3}.home-articles-head a{color:#be3f67;font-size:13px;font-weight:900;text-decoration:none}.home-article-list{display:grid;gap:8px}.home-article-list>span{color:#715852;font-size:14px}.home-article-item{display:grid;gap:3px;padding:10px 12px;border:1px solid rgba(166,66,32,.16);border-radius:10px;background:#fffcf9eb;text-decoration:none}.home-article-item b{color:#4f3d38;font-size:14px;line-height:1.35}.home-article-item span{color:#715852;font-size:13px;line-height:1.5}.route-state{display:grid;align-items:start}.route-state-card{display:grid;gap:10px;margin-top:14px;padding:18px;color:#715852}.route-state-card strong{color:#332a27;font-size:18px}.route-state-card .primary{margin-top:6px}.seo-faq details{padding:10px 0;border-top:1px solid rgba(129,94,86,.1)}.seo-faq details:first-of-type{border-top:0}.seo-faq summary{cursor:pointer;color:#4f3d38;font-size:14px;font-weight:900}.seo-faq summary+p{margin-top:8px}.soft-entry{cursor:pointer}.topbar{position:sticky;top:0;z-index:8;display:grid;grid-template-columns:70px 1fr 70px;align-items:center;margin:calc(-14px - env(safe-area-inset-top)) -14px 14px;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;background:#fff7f8e6;backdrop-filter:blur(14px)}.topbar strong{text-align:center}.ghost{min-height:40px;border-radius:12px;color:#745f58;background:#ffffffa3}.editor-panel,.settings{padding:16px}.quick-generate{margin-top:14px;padding:12px 16px 16px}.quick-generate .primary{margin-top:0}.inline-generate-btn{margin-top:16px}.crop-canvas{display:block;width:100%;max-width:360px;aspect-ratio:1;margin:0 auto;border-radius:16px;touch-action:none;background:#fff}.hint,.tip{margin-top:12px;font-size:14px}.field{display:grid;gap:8px;margin-top:14px;color:#6f5a54;font-weight:700}.select-field{display:grid;gap:8px;margin-top:14px;color:#6f5a54;font-weight:800}.select-field select{width:100%;min-height:48px;padding:0 14px;border:1px solid rgba(129,94,86,.16);border-radius:13px;color:#4d3e3a;background:#ffffffdb;font:inherit;font-weight:800}.background-settings,.color-settings{margin-top:14px}.setting-label{color:#6f5a54;font-weight:900}.background-tip,.color-tip,.advanced-color-note,.smart-recommend-result{margin-top:9px;padding:10px 12px;border-radius:12px;color:#715852;background:#fffdf9db;border:1px solid rgba(129,94,86,.1);font-size:13px;line-height:1.55}.background-main-options,.advanced-background-options,.color-main-options,.color-advanced-options{display:grid;gap:9px;margin-top:12px}.advanced-background-options[hidden],.advanced-keep-note[hidden]{display:none!important}.background-choice{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:start;min-width:0;min-height:76px;padding:12px;border:1px solid rgba(129,94,86,.14);border-radius:13px;color:#5a4742;background:#ffffffc2;cursor:pointer}.background-choice input{width:16px;height:16px;margin:3px 0 0;accent-color:#ff5f93}.background-choice span{min-width:0}.background-choice strong{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:#463631;font-size:15px;line-height:1.25}.background-choice em{padding:2px 7px;border-radius:999px;color:#fff;background:#ff5f93;font-size:11px;font-style:normal;line-height:1.4}.background-choice small{display:block;margin-top:5px;color:#806862;font-size:12px;font-weight:650;line-height:1.45}.background-choice.active{border-color:#ff5f938f;background:linear-gradient(135deg,#fffffffa,#fff1f6eb);box-shadow:0 8px 18px #ff5f931a}.advanced-choice{min-height:64px;padding:10px 11px}.color-choice{min-height:70px}.color-advanced-options .color-choice{min-height:54px}.color-tip{margin-top:12px}.smart-recommend-btn{margin-top:10px;min-height:46px}.smart-recommend-result{color:#7a3f54;background:#fff1f6db;border-style:dashed}.background-advanced,.color-advanced{margin-top:12px;padding-top:10px;border-top:1px solid rgba(129,94,86,.1)}.background-advanced summary,.color-advanced summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-height:42px;color:#6f5a54;font-weight:900;cursor:pointer;list-style:none}.background-advanced summary::-webkit-details-marker,.color-advanced summary::-webkit-details-marker{display:none}.background-advanced summary span,.background-advanced summary small,.color-advanced summary span,.color-advanced summary small{min-width:0}.background-advanced summary small,.color-advanced summary small{grid-column:1;color:#907772;font-size:12px;font-weight:700}.background-advanced summary:after,.color-advanced summary:after{content:"";grid-column:2;grid-row:1 / span 2;width:8px;height:8px;margin-right:4px;border-right:2px solid #8b746e;border-bottom:2px solid #8b746e;transform:rotate(45deg);transition:transform .16s ease}.background-advanced[open] summary:after,.color-advanced[open] summary:after{transform:rotate(225deg)}.advanced-keep-note{margin-top:10px;padding:11px 12px;border-radius:12px;color:#715852;background:#fffdf9db;border:1px dashed rgba(129,94,86,.18);font-size:13px;line-height:1.5}input[type=range]{width:100%;accent-color:#ff7fa4}.settings{margin-top:14px}.chips{display:grid;grid-template-columns:repeat(2,1fr);gap:9px}.chips.compact{grid-template-columns:repeat(3,1fr)}.chip,.disabled-choice{min-height:48px;padding:10px;border-radius:13px;color:#5a4742;background:#ffffffc2;border:1px solid rgba(129,94,86,.14);font-weight:800}.chip.active{color:#fff;background:linear-gradient(135deg,#ff5f93,#ffa3bd);border-color:transparent}.disabled-choice{display:flex;align-items:center;opacity:.85}.quick-settings{padding:14px}.quick-settings h2,.pattern-editor h2{margin-top:0}.setting-row{display:grid;gap:8px;margin-top:12px}.setting-row>span{color:#78635d;font-size:13px;font-weight:800}.mini-chips{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.mini-chips .chip{min-height:38px;padding:6px;border-radius:11px;font-size:12px}#regenBead,.mini-chips.two{grid-template-columns:repeat(2,1fr)}.inline-btn{margin-top:12px}.result-hero{display:grid;grid-template-columns:112px 1fr;gap:14px;align-items:center;margin-top:6px;padding:12px}.result-hero img{width:112px;border-radius:16px}.result-hero h1{margin:0 0 6px;font-size:24px}.code-preview{margin-top:16px;padding:14px}.code-preview h2{margin:0 0 6px}.code-preview img{display:block;width:100%;max-height:72vh;object-fit:contain;margin-top:12px;border-radius:12px;border:1px solid rgba(129,94,86,.12);background:#fffdf9}.image-frame{padding:10px;overflow:auto}.pattern-editor{padding:14px}.desktop-refine{display:none}.mobile-refine-note{color:#7a3f54;font-size:14px;font-weight:800;line-height:1.7}.mobile-refine-note a{color:#e73675}.edit-palette{display:grid;grid-template-columns:repeat(8,1fr);gap:8px;margin:12px 0}.paint{width:100%;aspect-ratio:1;min-height:34px;border:2px solid rgba(255,255,255,.92);border-radius:50%;box-shadow:0 0 0 1px #55413729,inset 2px 2px #ffffff3d}.paint.active{box-shadow:0 0 0 3px #ff7fa4,inset 2px 2px #ffffff3d}.empty-paint{position:relative;background:linear-gradient(135deg,transparent 46%,#9a8179 48%,#9a8179 52%,transparent 54%),#fffdf9}.edit-canvas{display:block;width:100%;max-width:360px;aspect-ratio:1;margin:0 auto;border-radius:14px;background:#fffdf9;touch-action:none}.image-frame img,.poster-box img{width:100%;display:block;border-radius:12px}.color-list{display:grid;gap:8px;padding:4px 12px}.color-row,.material-row{display:grid;grid-template-columns:26px 1fr auto;gap:10px;align-items:center;padding:12px 2px;border-bottom:1px solid rgba(129,94,86,.1)}.color-row small{display:block;color:#8a756a;font-size:11px;font-weight:600}.symbol{display:grid;place-items:center;min-width:44px;height:22px;padding:0 5px;border-radius:7px;color:#4d3e3a;background:#fff0f5;font-weight:900;font-size:10px;line-height:1}.swatch{width:22px;height:22px;border:1px solid rgba(60,45,40,.16);border-radius:50%}.summary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:14px;padding:14px}.summary-grid div{display:grid;gap:4px;min-height:74px;place-items:center;border-radius:14px;background:#fff5f8c7}.summary-grid b{font-size:22px}.summary-grid span{color:#7b6760;font-size:13px}.materials{padding:4px 14px}.material-row{grid-template-columns:1fr auto}.material-row span{display:block;color:#7b6760;font-size:13px}.material-row em{color:#c75c7d;font-style:normal;font-weight:800}.actions{display:grid;gap:10px;margin-top:18px}.actions .primary{margin-top:0}.poster-box{margin-top:16px;padding:14px}.download-list{display:grid;gap:10px;margin-top:12px}.download-list .primary,.download-list .secondary,.publish-square-btn{margin-top:0}.export-preview{margin-top:14px;padding-top:12px;border-top:1px solid rgba(129,94,86,.12)}.export-preview h3{margin:0 0 8px}.export-preview img{display:block;width:100%;margin:10px 0;border-radius:12px;border:1px solid rgba(129,94,86,.12)}.export-preview textarea{width:100%;min-height:180px;margin:10px 0;padding:12px;border:1px solid rgba(129,94,86,.16);border-radius:12px;background:#fffdf9;color:#4d3e3a;font:12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.compare-large{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:10px}.compare-large img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px}.share-cover{min-height:30svh;display:flex;flex-direction:column;justify-content:center}.share-cover h1{max-width:9em}.share-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;padding:12px}.share-stats div{display:grid;gap:4px;min-height:64px;place-items:center;border-radius:14px;background:#fff5f8c7;text-align:center}.share-stats b{font-size:15px}.share-stats span{color:#7b6760;font-size:12px}.group-card{display:grid;gap:14px;justify-items:center;margin-top:20px;padding:26px 18px;text-align:center}.guide-hero,.guide-note{padding:18px}.guide-hero h1{margin:0 0 8px;font-size:32px}.guide-list{display:grid;gap:12px;margin-top:14px}.guide-card{padding:16px}.guide-card span{color:#e75582;font-size:12px;font-weight:900}.guide-card h2{margin:4px 0 10px}.guide-card p{position:relative;padding-left:14px;margin-top:8px;font-size:14px}.guide-card p:before{content:"";position:absolute;left:0;top:.75em;width:5px;height:5px;border-radius:50%;background:#ff8db3}.group-card h1{margin-bottom:0;font-size:34px}.group-heading{display:inline-flex;align-items:flex-start;justify-content:center;gap:8px}.group-bonus-badge{display:inline-flex;align-items:center;justify-content:center;margin-top:2px;padding:3px 8px;border:1px solid rgba(255,97,139,.44);border-radius:999px;background:#fff0f6;color:#e73675;font-size:12px;font-weight:900;line-height:1.25;white-space:nowrap;box-shadow:0 8px 16px #e736751f}.qr-placeholder{display:grid;grid-template-columns:repeat(9,1fr);gap:5px;width:220px;aspect-ratio:1;padding:18px;border-radius:18px;background:#fff;border:1px solid rgba(129,94,86,.14)}.qr-placeholder i{border-radius:3px;background:#f0e7e2}.qr-placeholder i.on{background:#3d312f}.qr-placeholder.qr-image-wrap{display:block;width:min(300px,78vw);max-width:100%;height:auto;padding:14px}.qr-placeholder.qr-image-wrap img{display:block;width:100%;aspect-ratio:1;border-radius:12px;object-fit:contain}.empty{display:grid;place-content:center}@media(min-width:700px){body{background-color:#fff0f4}.app-page{min-height:100vh;box-shadow:0 0 0 1px #815e5614,0 22px 80px #74554b1f;background:linear-gradient(135deg,rgba(255,214,226,.42),transparent 32%),linear-gradient(210deg,rgba(255,232,238,.74),transparent 38%),#fff7f8}}.bead-toast{position:fixed;bottom:90px;left:50%;transform:translate(-50%) translateY(8px);max-width:300px;padding:11px 20px;border-radius:24px;background:#2f2927eb;color:#fff;font-size:14px;font-weight:600;text-align:center;white-space:pre-wrap;backdrop-filter:blur(12px);z-index:9999;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none}.bead-toast.show{opacity:1;transform:translate(-50%) translateY(0)}.bead-toast[data-type=success]{background:#228b50eb}.bead-toast[data-type=error]{background:#c8323ceb}.bead-toast[data-type=warning]{background:#c8821eeb}.wozan-modal-overlay,#profileEditOverlay,#passwordEditOverlay,#wechatBindOverlay,.login-password-overlay,.usage-limit-modal,.batch-replace-modal{align-items:center!important;justify-content:center!important;place-items:center!important;padding:18px!important;box-sizing:border-box}.wozan-modal-card,#profileEditOverlay .profile-edit-sheet,#passwordEditOverlay .profile-edit-sheet,#wechatBindOverlay .profile-edit-sheet,.login-password-dialog,.batch-replace-card{max-height:calc(100dvh - 36px);overflow-y:auto;border-radius:22px!important}.zandou-icon{display:inline-block;object-fit:contain;flex-shrink:0}.point-badge{display:inline-flex;align-items:center;gap:3px;padding:3px 10px;border-radius:999px;background:linear-gradient(135deg,#fff0c0,#ffe580);color:#7a5500;font-size:12px;font-weight:800;white-space:nowrap}.point-badge.free{background:linear-gradient(135deg,#d0f5e0,#a8edcc);color:#1a6640}.point-badge.large{padding:6px 16px;font-size:15px}.difficulty-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:800}.difficulty-badge[data-level=easy]{background:#d0f5e0;color:#1a6640}.difficulty-badge[data-level=normal]{background:#fff0c0;color:#7a5500}.difficulty-badge[data-level=hard]{background:#ffdac0;color:#7a2a00}.difficulty-badge[data-level=expert]{background:#f5d0e0;color:#7a1040}.pattern-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:0 2px}.pattern-card{background:#ffffffeb;border:1px solid rgba(235,92,130,.1);border-radius:16px;box-shadow:0 4px 16px #d8487012;overflow:hidden;cursor:pointer;transition:transform .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent}.pattern-card:active{transform:scale(.97)}.pattern-card-thumb{width:100%;height:100%;object-fit:contain;background:#fffdf9eb;border-radius:12px;display:block;filter:drop-shadow(0 8px 12px rgba(74,49,58,.12)) saturate(1.04) contrast(1.02)}.pattern-card-thumb-placeholder{width:100%;height:100%;border-radius:12px;background:linear-gradient(135deg,#ffe0eb,#e0f0ff);display:grid;place-items:center;color:#c98fa8;font-size:28px}.pattern-card-body{padding:9px 10px 10px}.pattern-card-title{font-size:13px;font-weight:800;color:#2f2927;margin:0 0 5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pattern-card-author{font-size:11px;color:#9a8179;margin-bottom:6px;display:flex;align-items:center;gap:4px}.pattern-card-author img{width:16px;height:16px;border-radius:50%;object-fit:cover}.pattern-card-meta{display:flex;flex-wrap:wrap;gap:5px;align-items:center}.pattern-card-stat{font-size:11px;color:#9a8179}.pattern-card-stat+.pattern-card-stat:before{content:"·";margin-right:5px}.category-tabs{display:flex;gap:8px;padding:2px 0 10px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.category-tabs::-webkit-scrollbar{display:none}.cat-tab{flex-shrink:0;min-height:34px;padding:6px 14px;border-radius:10px;border:1px solid rgba(231,85,130,.14);background:#ffffffc7;color:#7a5f58;font-size:13px;font-weight:800;white-space:nowrap;cursor:pointer;transition:background .12s}.cat-tab.active{background:linear-gradient(135deg,#ff5f93,#ffa3bd);color:#fff;border-color:transparent}.square-filter-panel{display:grid;gap:8px;margin:0 0 12px;padding:10px;border:1px solid rgba(231,85,130,.1);border-radius:14px;background:#ffffffa8}.filter-row{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:8px;min-width:0}.filter-label{color:#7a5f58;font-size:12px;font-weight:900;white-space:nowrap}.filter-scroll{display:flex;gap:6px;min-width:0;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.filter-scroll::-webkit-scrollbar{display:none}.filter-chip{flex:0 0 auto;min-height:28px;padding:4px 10px;border:1px solid rgba(231,85,130,.12);border-radius:999px;background:#ffffffc7;color:#7a5f58;font-size:12px;font-weight:800;white-space:nowrap}.filter-chip.active{color:#e73675;background:#fff0f5;border-color:#e7558252}.pattern-cover-wrap{position:relative;aspect-ratio:1;display:grid;place-items:center;padding:10px;overflow:hidden;background:radial-gradient(circle at 30% 24%,#fffffff2,#fff0 26%),linear-gradient(135deg,#fff5f8,#fffdfb 52%,#eef7ff)}.pattern-card-flags{position:absolute;left:7px;right:7px;bottom:7px;display:flex;flex-wrap:wrap;gap:5px}.pattern-card-flags span{padding:3px 7px;border-radius:999px;color:#fff;background:#2f2927b8;font-size:10px;font-weight:900;backdrop-filter:blur(8px)}.pattern-card-flags .price-flag{background:linear-gradient(135deg,#ff4f88,#ff8eb0);color:#fff;box-shadow:0 8px 18px #ff4f8847}.pattern-card-rich .pattern-card-title{white-space:normal;display:-webkit-box;min-height:34px;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pattern-card-tags,.pattern-card-specs{display:flex;flex-wrap:wrap;gap:5px;margin-top:6px}.pattern-card-tags span,.pattern-card-specs span{padding:2px 6px;border-radius:6px;background:#fff0f5e6;color:#7a5f58;font-size:10px;font-weight:800}.pattern-card-specs span{background:#ffffffb8;color:#9a8179}.pattern-card-stats{margin-top:7px}.search-bar{display:flex;gap:8px;margin-bottom:12px}.search-input{flex:1;min-height:42px;padding:0 14px;border:1px solid rgba(129,94,86,.16);border-radius:12px;background:#ffffffdb;font:inherit;font-size:14px;color:#2f2927;outline:none}.search-input:focus{border-color:#e7558266}.search-btn{min-height:42px;padding:0 16px;border-radius:12px;background:linear-gradient(135deg,#ff4f88,#ff8eb0);color:#fff;font-weight:800;font-size:14px}.sort-bar{display:flex;gap:6px;padding:4px 0 10px;overflow-x:auto;scrollbar-width:none}.sort-bar::-webkit-scrollbar{display:none}.sort-btn{flex-shrink:0;min-height:30px;padding:4px 12px;border-radius:8px;border:1px solid rgba(231,85,130,.12);background:transparent;color:#7a5f58;font-size:12px;font-weight:700;white-space:nowrap}.sort-btn.active{background:#ff5f931a;border-color:#e755824d;color:#e73675}.detail-page{max-width:430px;margin:0 auto;padding:0 0 24px}.detail-page .topbar{margin:0}html.has-mobile-tabbar .detail-page{padding-bottom:calc(140px + env(safe-area-inset-bottom))}.detail-hero{position:relative;width:100%;aspect-ratio:1;background:#f0e8ef;overflow:hidden}.detail-hero img{width:100%;height:100%;object-fit:contain;display:block}.detail-body{padding:16px}.detail-title{font-size:22px;font-weight:900;margin:0 0 6px;line-height:1.2}.detail-desc{font-size:14px;color:#7a6660;margin:0 0 12px}.detail-author-row{display:flex;align-items:center;gap:10px;margin-bottom:14px}.detail-author-avatar{width:36px;height:36px;border-radius:50%;object-fit:cover;background:linear-gradient(135deg,#ffd0e8,#b0e0ff);display:grid;place-items:center;font-size:16px;color:#c98fa8;flex-shrink:0}.detail-author-name{font-weight:800;font-size:14px;color:#2f2927}.detail-author-sub{font-size:12px;color:#9a8179}.detail-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}.detail-stat{display:grid;gap:2px;place-items:center;padding:10px 6px;border-radius:12px;background:#fff5f8c7;text-align:center}.detail-stat b{font-size:17px;color:#2f2927}.detail-stat span{font-size:11px;color:#9a8179}.detail-actions{display:grid;grid-template-columns:1fr auto auto auto;gap:8px;margin:14px 0}.action-btn{min-height:44px;padding:8px 12px;border-radius:12px;font-size:13px;font-weight:800;border:1px solid rgba(231,85,130,.16);background:#ffffffdb;color:#7a5f58;display:flex;align-items:center;justify-content:center;gap:4px}.action-btn.active{color:#e73675;background:#fff0f5;border-color:#e755824d}.action-btn.danger{color:#b55}.detail-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.detail-info-item{padding:10px 12px;border-radius:12px;background:#fff5f899}.detail-info-item .label{font-size:11px;color:#9a8179;margin-bottom:2px}.detail-info-item .value{font-size:14px;font-weight:800;color:#2f2927}.color-preview-grid{display:flex;flex-wrap:wrap;gap:6px;padding:10px}.color-chip-preview{width:30px;height:30px;border-radius:8px;border:1px solid rgba(60,45,40,.14);cursor:pointer;flex-shrink:0;position:relative}.pattern-usage-note{margin:0;padding:0 10px 2px;font-size:11px;line-height:1.55;color:#9a8179}.color-chip-preview:after{content:attr(title);position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);background:#2f2927e0;color:#fff;font-size:11px;padding:3px 7px;border-radius:6px;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .15s}.color-chip-preview:hover:after{opacity:1}.publish-form{padding:0}.form-section{margin-bottom:14px}.form-section h3{font-size:15px;margin:0 0 10px;color:#5a4742;font-weight:900}.form-field{margin-bottom:12px}.form-label{display:block;font-size:13px;font-weight:800;color:#6f5a54;margin-bottom:6px}.form-input,.form-textarea,.form-select{width:100%;padding:11px 14px;border:1px solid rgba(129,94,86,.16);border-radius:12px;background:#ffffffdb;font:inherit;font-size:14px;color:#2f2927;outline:none;transition:border-color .15s}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:#e7558266}.form-textarea{min-height:80px;resize:vertical}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid rgba(129,94,86,.08)}.toggle-row:last-child{border-bottom:none}.toggle-info .label{font-size:14px;font-weight:800;color:#2f2927}.toggle-info .sub{font-size:12px;color:#9a8179;margin-top:1px}.form-help{font-size:12px;color:#9a8179;margin-top:4px;line-height:1.5}.toggle-switch{position:relative;width:44px;height:26px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0}.toggle-track{position:absolute;inset:0;border-radius:999px;background:#d4c8c4;cursor:pointer;transition:background .2s}.toggle-track:after{content:"";position:absolute;width:20px;height:20px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0000002e;transition:transform .2s}.toggle-switch input:checked+.toggle-track{background:#ff5f93}.toggle-switch input:checked+.toggle-track:after{transform:translate(18px)}.preview-thumb{width:80px;height:80px;border-radius:12px;object-fit:cover;border:1px solid rgba(231,85,130,.14)}.points-hero{display:grid;place-items:center;gap:8px;padding:28px 20px;border-radius:20px;background:linear-gradient(135deg,#ff6fa0,#ff9dbf);color:#fff;margin-bottom:16px;text-align:center}.points-hero .balance{font-size:52px;font-weight:900;line-height:1}.points-hero .sub{font-size:14px;opacity:.88}.points-hero .stats{display:flex;gap:24px;margin-top:8px}.points-hero .stat-item{text-align:center}.points-hero .stat-item b{display:block;font-size:20px}.points-hero .stat-item span{font-size:12px;opacity:.82}.tx-list{display:grid;gap:2px}.tx-item{display:grid;grid-template-columns:1fr auto;align-items:center;padding:13px 14px;border-bottom:1px solid rgba(129,94,86,.08);gap:12px}.tx-item:last-child{border-bottom:none}.tx-desc{font-size:14px;font-weight:700;color:#2f2927}.tx-time{font-size:12px;color:#9a8179;margin-top:2px}.tx-amount{font-size:16px;font-weight:900}.tx-amount.plus{color:#22a855}.tx-amount.minus{color:#e73675}.leaderboard-header{padding:20px 0 10px}.leaderboard-header h1{font-size:26px;margin:0 0 4px}.period-tabs{display:flex;gap:6px;margin:10px 0}.period-tab{flex:1;min-height:36px;border-radius:10px;border:1px solid rgba(231,85,130,.16);background:#fffc;color:#7a5f58;font-size:13px;font-weight:800}.period-tab.active{background:linear-gradient(135deg,#ff5f93,#ffa3bd);color:#fff;border-color:transparent}.rank-list{display:grid;gap:10px}.rank-card{display:grid;grid-template-columns:36px 44px 1fr auto;align-items:center;gap:10px;padding:12px 14px;background:#ffffffe6;border:1px solid rgba(235,92,130,.1);border-radius:16px;box-shadow:0 3px 10px #d848700f}.rank-no{font-size:20px;font-weight:900;text-align:center;color:#c0a8a0}.rank-no.top1{color:#ffb800;font-size:24px}.rank-no.top2{color:#a0a8b8;font-size:22px}.rank-no.top3{color:#c87840;font-size:22px}.rank-avatar{width:44px;height:44px;border-radius:14px;object-fit:cover;background:linear-gradient(135deg,#ffd0e8,#b0e0ff);display:grid;place-items:center;font-size:20px;color:#c98fa8}.rank-info .name{font-size:14px;font-weight:800;color:#2f2927}.rank-info .sub{font-size:12px;color:#9a8179;margin-top:2px}.rank-info .tag{display:inline-block;margin-top:4px;padding:2px 7px;border-radius:5px;background:#fff0f5;color:#e73675;font-size:10px;font-weight:800}.rank-score{text-align:right}.rank-score .score{font-size:18px;font-weight:900;color:#2f2927}.rank-score .label{font-size:11px;color:#9a8179}.leaderboard-pager{display:flex;align-items:center;justify-content:center;gap:10px;margin:14px 0 4px}.leaderboard-page-btn{width:auto;min-width:78px;min-height:38px;padding:8px 14px}.leaderboard-page-numbers{display:inline-flex;gap:6px}.leaderboard-page-number{width:38px;min-width:38px;min-height:38px;padding:0;border-radius:12px}.leaderboard-page-number.active{color:#fff;background:linear-gradient(135deg,#ff5f93,#ffa3bd);border-color:transparent}.leaderboard-page-info{min-width:72px;text-align:center;font-size:13px;color:#9a8179}.shop-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.shop-card{background:#ffffffeb;border:1px solid rgba(235,92,130,.1);border-radius:16px;padding:14px;text-align:center;box-shadow:0 4px 16px #d8487012;cursor:pointer;transition:transform .12s}.shop-card:active{transform:scale(.97)}.shop-card-icon{font-size:32px;margin-bottom:8px}.shop-card-title{font-size:14px;font-weight:900;color:#2f2927;margin:0 0 4px}.shop-card-desc{font-size:12px;color:#9a8179;margin-bottom:10px;line-height:1.4}.shop-card-price{display:inline-flex;align-items:center;gap:3px;padding:5px 14px;border-radius:999px;background:linear-gradient(135deg,#fff0c0,#ffe580);color:#7a5500;font-size:13px;font-weight:900}.admin-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.admin-stat-card{padding:12px 8px;border-radius:14px;background:#ffffffe6;border:1px solid rgba(235,92,130,.1);text-align:center}.admin-stat-card b{display:block;font-size:22px;color:#e73675}.admin-stat-card span{font-size:11px;color:#9a8179}.admin-tab-bar{display:flex;gap:6px;margin-bottom:14px;overflow-x:auto;scrollbar-width:none;padding-bottom:2px}.admin-tab-bar::-webkit-scrollbar{display:none}.admin-tab{flex-shrink:0;min-height:34px;padding:5px 14px;border-radius:10px;border:1px solid rgba(231,85,130,.14);background:#ffffffc7;color:#7a5f58;font-size:13px;font-weight:800}.admin-tab.active{background:linear-gradient(135deg,#ff5f93,#ffa3bd);color:#fff;border-color:transparent}.admin-row{display:grid;align-items:center;padding:12px 14px;background:#ffffffe0;border:1px solid rgba(235,92,130,.08);border-radius:14px;gap:10px;margin-bottom:8px}.admin-row.pattern-row{grid-template-columns:52px 1fr auto}.admin-row.pattern-row.has-select{grid-template-columns:28px 52px minmax(0,1fr) auto}.admin-row.user-row{grid-template-columns:52px 1fr auto}.admin-row img{width:52px;height:52px;border-radius:10px;object-fit:cover}.admin-row .info .title{font-size:13px;font-weight:800;color:#2f2927}.admin-row .info .meta{font-size:11px;color:#9a8179;margin-top:2px}.admin-actions{display:flex;gap:6px;flex-wrap:wrap}.admin-bulk-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:10px 12px;margin-bottom:10px;background:#ffffffe0;border:1px solid rgba(235,92,130,.08);border-radius:12px;color:#7a5f58;font-size:13px;font-weight:800}.admin-check-row,.admin-check-cell{display:inline-flex;align-items:center;justify-content:center;gap:6px}.admin-check-cell input,.admin-check-row input{width:16px;height:16px;accent-color:#22a855}.admin-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}.admin-btn{min-height:30px;padding:4px 10px;border-radius:8px;font-size:12px;font-weight:800;border:1px solid}.admin-btn.approve{border-color:#22a855;color:#22a855;background:#e8faf0}.admin-btn.reject{border-color:#c84040;color:#c84040;background:#faeaea}.admin-btn.remove{border-color:#c87840;color:#c87840;background:#faf0e0}.admin-btn.adjust{border-color:#4078c8;color:#4078c8;background:#e8f0fa}.admin-btn.ban{border-color:#c84040;color:#c84040;background:#faeaea}.login-page{display:flex;flex-direction:column;justify-content:center;min-height:100svh;padding:40px 24px;max-width:430px;margin:0 auto}.login-logo{text-align:center;margin-bottom:36px}.login-logo .brand-big{display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:28px;font-weight:900;color:#e73675}.login-logo p{margin-top:6px;color:#9a8179;font-size:14px}.login-tab-row{display:flex;gap:0;margin-bottom:20px;border-radius:12px;overflow:hidden;border:1px solid rgba(231,85,130,.18)}.login-tab{flex:1;min-height:40px;font-size:14px;font-weight:800;color:#9a8179;background:#fffc}.login-tab.active{background:linear-gradient(135deg,#ff5f93,#ffa3bd);color:#fff}.login-card{padding:20px;border:1px solid rgba(231,85,130,.16);border-radius:16px;background:#ffffffe6;box-shadow:0 18px 48px #7a3f541f}.rank-mini-stats{margin-top:3px;color:#9a8179;font-size:11px}.login-card h1{margin:0 0 8px;font-size:22px;color:#2b2325}.login-desc,.login-code-tip{margin:0 0 16px;color:#9a8179;font-size:13px;line-height:1.6}.login-code-tip{margin-top:-2px}.code-row{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:10px;align-items:center}.code-row .secondary{min-height:44px;padding:0 10px;border-radius:12px;font-size:13px;white-space:nowrap}.login-text-btn{width:100%;margin-top:10px;border:none;background:transparent;color:#e73675;font-size:13px;font-weight:800}.login-mode-note{margin:10px 0 0;color:#9a8179;font-size:12px;line-height:1.5;text-align:center}.login-password-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:18px;background:#2b23256b}.login-password-dialog{width:min(100%,420px);box-sizing:border-box;padding:22px 18px 18px;border-radius:18px;background:#fff;box-shadow:0 18px 48px #2b232533}.login-password-dialog h2{margin:0 0 8px;font-size:20px;color:#2b2325}.login-password-dialog p{margin:0 0 16px;color:#9a8179;font-size:13px;line-height:1.6}.login-password-dialog label{display:block;margin-bottom:12px}.login-password-dialog span{display:block;margin-bottom:6px;color:#6f5a54;font-size:13px;font-weight:800}.login-password-dialog input{width:100%;box-sizing:border-box;border:1px solid #f8bad0;border-radius:14px;padding:12px 14px;font-size:15px}.login-password-actions{display:grid;grid-template-columns:1fr;gap:10px;margin-top:16px}.status-badge{display:inline-block;padding:2px 8px;border-radius:6px;font-size:11px;font-weight:800}.status-badge.PUBLISHED{background:#d0f5e0;color:#1a6640}.status-badge.PENDING_REVIEW{background:#fff0c0;color:#7a5500}.status-badge.DRAFT{background:#e8e8e8;color:#5a5a5a}.status-badge.REJECTED{background:#faeaea;color:#c84040}.status-badge.REMOVED{background:#f5e0e0;color:#8b2020}.status-badge.DOWNLOADED{background:#dff3ff;color:#206080}.my-work-card{display:grid;grid-template-columns:72px 1fr;gap:12px;align-items:start;padding:12px;background:#ffffffe6;border:1px solid rgba(235,92,130,.1);border-radius:16px;margin-bottom:10px}.my-work-card img,.my-work-thumb-placeholder{width:72px;height:72px;border-radius:10px}.my-work-card img{object-fit:cover}.my-work-thumb-placeholder{display:grid;place-items:center;background:#ffe0eb;color:#eb5c82;font-size:26px;font-weight:900}.my-work-info{min-width:0}.my-work-head{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.my-work-info .title{font-size:14px;font-weight:800;margin-bottom:4px}.my-work-line{display:flex;align-items:center;gap:16px;margin-top:3px}.my-work-summary{flex:0 1 auto;min-width:0}.my-work-info .meta{font-size:12px;color:#9a8179}.my-work-info .stats{display:flex;gap:10px;margin-top:6px;font-size:12px;color:#7a6660}.my-work-actions{display:flex;gap:8px;flex:0 0 auto;margin-top:0}.my-work-price-btn{min-height:30px;padding:6px 12px;border-radius:999px;background:#e7367514;color:#e73675;font-size:12px;font-weight:800}.my-work-reject{font-size:12px;color:#c84040;margin-top:4px}@media(max-width:520px){.my-work-line{justify-content:space-between;gap:10px}.my-work-price-btn{padding-inline:10px;white-space:nowrap}}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.related-card{border-radius:10px;overflow:hidden;cursor:pointer;background:#fffdf9e0}.related-card img{width:100%;aspect-ratio:1;object-fit:contain;padding:4px;display:block;background:linear-gradient(135deg,#ffe0eb,#e0f0ff)}.related-card .related-title{font-size:11px;font-weight:700;padding:4px 4px 2px;color:#2f2927;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-state{display:grid;place-items:center;gap:10px;padding:48px 20px;text-align:center}.empty-state .icon{font-size:48px;opacity:.4}.empty-state .msg{color:#9a8179;font-size:15px}.loading-dots{display:flex;gap:6px;justify-content:center;padding:24px}.loading-dots span{width:8px;height:8px;border-radius:50%;background:#ffa3bd;animation:dotBounce 1.2s infinite}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}@keyframes dotBounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}@media(min-width:900px){#app{display:grid;grid-template-columns:220px minmax(0,860px);min-height:100vh;max-width:1200px;margin:0 auto;gap:0}.pc-content-shell{display:flex;flex-direction:column;min-width:0;min-height:100vh}#page-content{flex:1 0 auto;min-width:0}.site-footer{flex:0 0 auto;padding:18px 28px 28px}.site-footer-inner{display:grid;gap:10px;padding:18px 20px;border:1px solid rgba(231,85,130,.12);border-radius:16px;background:#ffffffd1;color:#78615b;box-shadow:0 12px 30px #d848700f}.site-footer-brand{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.site-footer-brand strong{color:#2f2927;font-size:15px;font-weight:900}.site-footer-brand span,.site-footer-note,.site-footer-copy{margin:0;font-size:12px;line-height:1.7}.site-footer-links{display:flex;flex-wrap:wrap;gap:10px 16px}.site-footer-links a{color:#7a3f54;font-size:12px;font-weight:800;text-decoration:none}.site-footer-links a:hover{color:#e73675;text-decoration:underline}.legal-card{display:grid;gap:12px;padding:24px}.legal-card h1{margin:0;font-size:26px}.legal-card p{margin:0;color:#6f5652;line-height:1.85}.pc-sidebar{position:sticky;top:0;height:100vh;overflow-y:auto;padding:28px 16px;border-right:1px solid rgba(231,85,130,.1);background:#fffafbf5;backdrop-filter:blur(18px);display:flex;flex-direction:column;gap:4px}.pc-sidebar .sidebar-brand{display:flex;align-items:center;gap:8px;line-height:1;font-size:18px;font-weight:900;color:#e73675;padding:8px 12px 20px}.pc-sidebar .sidebar-brand .site-logo{display:block;transform:translateY(2px)}.pc-sidebar .sidebar-brand-text{display:block;line-height:1}.pc-sidebar .nav-item{position:relative;display:flex;align-items:center;gap:11px;min-height:46px;padding:8px 10px;border-radius:16px;color:#6f5652;font-size:14px;font-weight:800;cursor:pointer;border:1px solid transparent;background:transparent;text-align:left;width:100%;transition:background .14s,border-color .14s,color .14s,transform .14s}.pc-sidebar .nav-label{min-width:0}.pc-sidebar .nav-badge{display:inline-flex;align-items:center;justify-content:center;align-self:flex-start;margin-left:auto;padding:2px 6px;border:1px solid rgba(255,97,139,.42);border-radius:999px;background:#fff;color:#e73675;font-size:10px;font-weight:900;line-height:1.25;white-space:nowrap;box-shadow:0 6px 14px #e736751f}.pc-sidebar .nav-item:hover{background:#ffffffc2;border-color:#ff97b447;color:#d83f73;transform:translate(1px)}.pc-sidebar .nav-item.active{background:linear-gradient(135deg,#fff4f8,#fffafd);border-color:#ff7ea657;color:#e73675;box-shadow:0 10px 24px #e853811a}.pc-sidebar .nav-item .nav-icon{display:grid;place-items:center;width:30px;height:30px;text-align:center;flex:0 0 30px}.pc-sidebar .nav-icon-shell{display:grid;place-items:center;width:28px;height:28px;border-radius:11px;color:#d84b7b;background:linear-gradient(145deg,#fff7fa,#ffe8f0);border:1px solid rgba(255,134,171,.24)}.pc-sidebar .nav-icon-shell svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.pc-sidebar .nav-item.active .nav-icon-shell{color:#fff;background:linear-gradient(135deg,#ff6f9e,#ff9bb8);border-color:#ffffffa6;box-shadow:0 8px 18px #ff5c8b3d}.pc-sidebar .nav-icon-plain{display:grid;place-items:center;width:30px;height:30px;flex-basis:30px;border-radius:11px;background:linear-gradient(145deg,#fff7fa,#ffe8f0);border:1px solid rgba(255,134,171,.24)}.pc-sidebar .nav-icon-plain img,.pc-sidebar .nav-icon-plain svg{width:17px!important;height:17px!important;display:block;margin:0;vertical-align:0!important}.pc-sidebar .nav-item.active .nav-icon-plain{background:linear-gradient(135deg,#ffeff5,#ffe0eb);border-color:#ff7ea657;box-shadow:0 8px 18px #ff5c8b29}.pc-sidebar .sidebar-user{margin-top:auto;padding:12px;border-radius:14px;background:#fff5f8c7;display:flex;align-items:center;gap:10px;cursor:pointer;width:100%;border:0;text-align:left;font:inherit}.pc-sidebar .sidebar-user:hover{background:#ffeaf2fa}.sidebar-user-info{flex:1;min-width:0}.sidebar-user img,.sidebar-user .avatar-placeholder{width:36px;height:36px;border-radius:12px;object-fit:cover;background:linear-gradient(135deg,#ffd0e8,#b0e0ff);border:1px solid rgba(255,134,171,.24);display:grid;place-items:center;font-size:16px;flex-shrink:0;overflow:hidden}.sidebar-user .user-name{font-size:13px;font-weight:800;color:#2f2927}.sidebar-user .user-points{font-size:12px;color:#e73675}.sidebar-user .user-center-link{margin-top:3px;color:#8b746e;font-size:12px;font-weight:800}.sidebar-user-arrow{color:#d84b7b;font-size:20px;font-weight:800;line-height:1}.sidebar-logout{color:#c0504d!important;font-size:13px!important;opacity:.85;margin-top:2px!important}.sidebar-logout:hover{opacity:1;background:#e736750f!important}.tabbar,.login-page .login-default-avatar{display:none!important}.login-page .login-logo{margin-bottom:28px}#profileEditOverlay .profile-edit-sheet{border-radius:22px!important;padding:26px 24px 30px!important;box-shadow:0 18px 54px #e7367533!important}.app-page{width:100%;max-width:100%;padding:24px 32px 40px;min-height:100vh}.has-bottom-action{padding-bottom:100px}.bottom-action{position:static;margin-top:16px;padding:0;background:none;border:none;backdrop-filter:none}.pattern-grid,.shop-grid{grid-template-columns:repeat(3,1fr)}.admin-stats-grid{grid-template-columns:repeat(6,1fr)}.topbar{position:static;margin:0 0 16px;padding:0;background:none;backdrop-filter:none;border:none}.desktop-refine{display:block}.mobile-refine-note{display:none}.pattern-editor{padding:18px}.pattern-editor .edit-palette{grid-template-columns:repeat(auto-fill,28px);gap:7px;align-items:center}.pattern-editor .paint{width:28px;min-height:0}.pattern-editor .edit-canvas{max-width:none;width:100%;border-radius:10px}}.mine-profile{display:flex;align-items:center;gap:14px;padding:20px 16px 16px;margin:0 0 12px;background:linear-gradient(135deg,#fff0f5,#fff7fb);border-radius:20px;border:1px solid rgba(231,54,117,.1)}.mine-avatar{flex:0 0 60px;width:60px;height:60px;border-radius:18px;overflow:hidden;background:linear-gradient(135deg,#ffd0e8,#b0e0ff);border:2px solid rgba(231,54,117,.15)}.mine-avatar img,.mine-avatar-placeholder{width:60px;height:60px;border-radius:18px;object-fit:cover;background:transparent;display:grid;place-items:center;font-size:26px;border:0}.mine-info{flex:1;min-width:0}.mine-nickname{font-size:17px;font-weight:800;color:#2f2927;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mine-balance{display:inline-flex;align-items:center;gap:4px;max-width:100%;font-size:13px;color:#e73675;font-weight:700;line-height:1.2;margin-top:3px;white-space:nowrap}.mine-balance .zandou-icon{flex:0 0 auto}.mine-phone{margin-top:3px;font-size:12px;color:#9a8179;font-weight:700}.mine-profile-actions{flex:0 0 auto;display:flex;flex-wrap:nowrap;justify-content:flex-end;gap:8px;max-width:none}.mine-edit-btn{min-height:30px;font-size:12px;color:#e73675;background:#e7367514;border-radius:999px;padding:6px 10px;font-weight:800;white-space:nowrap}@media(max-width:380px){.mine-profile-actions{gap:5px}.mine-edit-btn{min-height:28px;padding-inline:7px;font-size:11px}}@media(max-width:430px){.admin-row.pattern-row.has-select{grid-template-columns:28px 52px minmax(0,1fr)}.admin-row.pattern-row.has-select .admin-actions{grid-column:3}.mine-profile{display:grid;grid-template-columns:60px minmax(0,1fr);align-items:center;gap:12px}.mine-avatar{grid-column:1;grid-row:1}.mine-info{grid-column:2;grid-row:1}.mine-profile-actions{grid-column:1 / -1;width:100%;justify-content:flex-end}}@media(max-width:350px){.mine-profile-actions{justify-content:space-between}.mine-edit-btn{flex:1;padding-inline:6px}}.mine-guest{display:flex;flex-direction:column;align-items:center;gap:10px;padding:32px 16px 24px}.mine-avatar-placeholder.big{width:72px;height:72px;font-size:32px}.mine-guest-tip{margin:0;font-size:14px;color:#8b746e}.mine-menu-grid{display:flex;flex-direction:column;gap:2px;background:#ffffffe6;border-radius:20px;border:1px solid rgba(231,54,117,.08);overflow:hidden;margin-bottom:12px}.mine-menu-item{display:flex;align-items:center;gap:12px;padding:14px 16px;background:transparent;text-align:left;border-radius:0;border-bottom:1px solid rgba(231,54,117,.06);transition:background .15s}.mine-menu-item:last-child{border-bottom:none}.mine-menu-item:active{background:#e736750f}.mine-menu-badge{display:inline-flex;align-items:center;justify-content:center;margin-left:7px;padding:2px 6px;border:1px solid rgba(255,97,139,.42);border-radius:999px;background:#fff0f6;color:#e73675;font-size:10px;font-weight:900;line-height:1.25;vertical-align:2px;white-space:nowrap}.mine-menu-icon{width:36px;height:36px;display:grid;place-items:center;color:#d84b7b;background:linear-gradient(145deg,#fff7fa,#ffe8f0);border:1px solid rgba(255,134,171,.24);border-radius:12px;flex-shrink:0}.mine-menu-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.mine-menu-icon .zandou-icon,.mine-menu-icon img{width:19px!important;height:19px!important;display:block;margin:0;vertical-align:0!important}.mine-menu-label{flex:1;font-size:15px;font-weight:700;color:#2f2927}.mine-menu-sub{font-size:12px;color:#b09090;white-space:nowrap}.mine-menu-arrow{font-size:18px;color:#ccc;margin-left:4px}.invite-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.invite-actions .primary,.invite-actions .secondary{min-height:52px;height:52px;margin-top:0;padding:0 14px;border-radius:14px;line-height:1.2}.mine-logout-btn{width:100%;padding:14px;border-radius:16px;font-size:15px;font-weight:700;color:#c0392b;background:#c0392b12;border:1px solid rgba(192,57,43,.12)}.mine-logout-btn:active{background:#c0392b24}:root{--default-avatar-url: url(/default-avatar.svg?v=20260523-photo1)}.default-avatar-img,.login-default-avatar{display:block;object-fit:cover!important;padding:0!important;background:#f5f5f6!important;box-sizing:border-box}.login-default-avatar{border-radius:50%!important}.mine-avatar:has(img[src*="default-avatar.svg"]),.mine-avatar:has(img[src*="favicon-32x32.png"]),#avatarPreview:has(img[src*="default-avatar.svg"]),#avatarPreview:has(img[src*="favicon-32x32.png"]),.detail-author-avatar:has(img[src*="default-avatar.svg"]),.detail-author-avatar:has(img[src*="favicon-32x32.png"]),.rank-avatar:has(img[src*="default-avatar.svg"]),.rank-avatar:has(img[src*="favicon-32x32.png"]){background:#f5f5f6 var(--default-avatar-url) center / cover no-repeat!important;border-color:#7878802e!important}.mine-avatar:has(img[src*="default-avatar.svg"]),.mine-avatar:has(img[src*="favicon-32x32.png"]){border-radius:18px!important;overflow:hidden!important}.mine-avatar img[src*="default-avatar.svg"],.mine-avatar img[src*="favicon-32x32.png"],#avatarPreview img[src*="default-avatar.svg"],#avatarPreview img[src*="favicon-32x32.png"],.detail-author-avatar img[src*="default-avatar.svg"],.detail-author-avatar img[src*="favicon-32x32.png"],.rank-avatar img[src*="default-avatar.svg"],.rank-avatar img[src*="favicon-32x32.png"]{opacity:0!important}.mine-avatar-placeholder,.mine-avatar-placeholder.big,.sidebar-user .avatar-placeholder,.detail-author-avatar:not(:has(img)),.rank-avatar:not(:has(img)){color:transparent!important;font-size:0!important;background:#f5f5f6 var(--default-avatar-url) center / cover no-repeat!important;border-color:#7878802e!important}.mine-avatar-placeholder{border-radius:18px!important}.sidebar-user img,.sidebar-user .avatar-placeholder{border-radius:12px!important;overflow:hidden!important}.mine-avatar-placeholder.big{background-size:cover!important}.pattern-card-author:not(:has(img)):before{content:"";display:inline-block;width:28px;height:28px;border-radius:50%;background:#f5f5f6 var(--default-avatar-url) center / cover no-repeat;margin-right:8px;vertical-align:middle}#avatarPreview span{color:transparent!important;font-size:0!important}#avatarPreview:not(:has(img)){background:#f5f5f6 var(--default-avatar-url) center / cover no-repeat!important;border-color:#78788047!important}html[data-device=mobile] #app{display:block;max-width:none}.code-preview{overflow:auto}.code-preview img{box-sizing:border-box;display:block;width:100%;max-width:100%;height:auto;max-height:none}.mobile-refine-note{color:#d71920;display:none;margin:6px 0 0;font-size:14px;font-weight:900;line-height:1.7}.mobile-refine-note a{color:#d71920;font-weight:900;text-decoration:underline}html[data-device=mobile] .pc-sidebar,html[data-device=mobile] .site-footer{display:none!important}html[data-device=mobile] .tabbar{display:grid!important}html[data-device=mobile] .app-page{width:min(100%,430px);max-width:430px;margin:0 auto;padding:calc(14px + env(safe-area-inset-top)) 14px calc(92px + env(safe-area-inset-bottom))}html[data-device=mobile].has-mobile-tabbar .app-page{padding-bottom:calc(140px + env(safe-area-inset-bottom))}html[data-device=mobile] .detail-page{padding:0 0 calc(140px + env(safe-area-inset-bottom));overflow-x:hidden;overscroll-behavior-x:none;touch-action:pan-y}html[data-device=mobile] .detail-page .topbar{margin:0}html[data-device=mobile] .has-bottom-action{padding-bottom:calc(112px + env(safe-area-inset-bottom))}html[data-device=mobile].has-mobile-tabbar .has-bottom-action{padding-bottom:calc(178px + env(safe-area-inset-bottom))}html[data-device=mobile] .bottom-action{position:fixed;left:max(0px,calc((100vw - 430px)/2));right:max(0px,calc((100vw - 430px)/2));bottom:0;width:auto;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fff9fbf5;border-top:1px solid rgba(231,85,130,.1);backdrop-filter:blur(18px);z-index:12}html[data-device=mobile].has-mobile-tabbar .bottom-action{bottom:calc(69px + env(safe-area-inset-bottom));padding:10px 14px}html[data-device=mobile] .topbar{position:sticky;top:0;margin:calc(-14px - env(safe-area-inset-top)) -14px 14px;padding:calc(10px + env(safe-area-inset-top)) 14px 10px;background:#fff7f8e6;backdrop-filter:blur(14px)}html[data-device=mobile] .desktop-refine{display:none!important}html[data-device=mobile] .mobile-refine-note{display:block!important}html[data-device=mobile] .pattern-editor>.tip,html[data-device=mobile] .pattern-editor>.edit-palette,html[data-device=mobile] .pattern-editor>.edit-canvas{display:none!important}@media(min-width:900px){.pattern-editor .edit-palette{grid-template-columns:repeat(auto-fill,22px)!important;gap:6px!important;align-items:center}.pattern-editor .paint{width:22px!important;min-height:0!important;border-width:1px;box-shadow:0 0 0 1px #55413724,inset 1px 1px #ffffff3d}.pattern-editor .paint.active{box-shadow:0 0 0 2px #ff7fa4,inset 1px 1px #ffffff3d}.pattern-editor .edit-canvas{width:100%!important;max-width:none!important}}.tweak-detail-field select{font-weight:800}.select-field[hidden],.locked-effect-field{display:none!important}.image-frame img,.code-preview img,.export-preview img{image-rendering:pixelated}.image-frame,.code-preview,.pattern-editor{overflow:auto}.image-frame img.solid-grid-chart,.code-preview img.solid-grid-chart,.export-preview img.solid-grid-chart{box-sizing:content-box!important;width:100%!important;max-width:var(--solid-grid-width, 100%)!important;height:auto!important;border:0!important;outline:1px solid rgba(129,94,86,.18)}.image-frame:has(img.solid-grid-chart),.code-preview:has(img.solid-grid-chart){overflow-x:hidden}.pattern-editor{position:relative}.color-row.rich{grid-template-columns:minmax(44px,auto) 24px minmax(0,1fr) auto}.color-row .symbol{min-width:44px;width:auto;padding:0 5px;font-size:10px;line-height:1}.editor-fullscreen-btn{position:absolute;top:12px;right:14px;display:inline-flex;align-items:center;justify-content:center;gap:7px;width:auto;min-height:34px;padding:8px 14px;border-radius:999px;font-size:13px;line-height:1;z-index:6;pointer-events:auto;color:#fff!important;background:linear-gradient(135deg,#ff4f88,#ff8eb0)!important;border-color:transparent!important;box-shadow:0 10px 22px #ff4f8833!important}.pattern-editor>h2,.pattern-editor .editor-sticky-tools h2{padding-right:92px}.pattern-editor .edit-palette{align-items:start;margin-bottom:26px;padding-bottom:10px;row-gap:22px}.pattern-editor .paint{position:relative;width:28px;min-width:28px;min-height:28px;border-width:1px;overflow:visible;font-size:0}.pattern-editor .paint:after{content:attr(data-label);position:absolute;left:50%;top:calc(100% + 4px);transform:translate(-50%);color:#5d4942;font-size:10px;font-weight:900;line-height:1;white-space:nowrap}.pattern-editor .paint.active{box-shadow:0 0 0 2px #ff4f8d,inset 1px 1px #ffffff3d}.palette-code-add{grid-column:1 / -1;display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px}.palette-code-input{width:138px;min-height:36px;border:1px solid rgba(255,95,147,.32);border-radius:12px;padding:0 12px;color:#4d353d;font-weight:800;outline:0}.palette-code-input:focus{border-color:#ff4f8d;box-shadow:0 0 0 3px #ff4f8d24}.palette-code-add button,.editor-batch-replace{min-height:36px;border:0;border-radius:12px;padding:0 14px;background:linear-gradient(135deg,#ff4f8d,#ff86ae);color:#fff;font-weight:900;cursor:pointer;box-shadow:0 8px 18px #ff4f8d2e}.editor-batch-replace{font-size:14px}.editor-tool-hint{flex:1 1 210px;min-height:18px;color:#84676f;font-size:12px;font-weight:800;line-height:1.45}.editor-tool-hint[data-type=error]{color:#d71920}.pattern-editor .edit-canvas{box-sizing:content-box!important;width:var(--editor-canvas-width, auto)!important;height:var(--editor-canvas-height, auto)!important;max-width:none!important;image-rendering:pixelated;border:0!important;outline:1px solid #000;cursor:url(/assets/bead-pen-cursor.png) 24 123,crosshair}.pattern-editor .edit-canvas.is-picking-replace{outline:3px solid #ff4f8d!important;box-shadow:0 0 0 7px #ff4f8d21}.batch-replace-modal{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:22px;background:#25161d6b;backdrop-filter:blur(3px)}.batch-replace-card{width:min(420px,100%);border:1px solid #ffd4e3;border-radius:18px;background:#fff;padding:22px;box-shadow:0 24px 70px #ff509147}.batch-replace-card h3{margin:0 0 10px;color:#2b2325;font-size:22px}.batch-replace-card p{margin:0 0 12px;color:#6c5259;font-weight:800}.batch-replace-card input{box-sizing:border-box;width:100%;height:48px;border:1px solid #f4c5d5;border-radius:14px;padding:0 14px;font:inherit;font-weight:800;outline:0}.batch-replace-card input:focus{border-color:#ff4f8d;box-shadow:0 0 0 3px #ff4f8d24}.batch-replace-error{min-height:22px;margin-top:8px;color:#d71920;font-size:13px;font-weight:800}.batch-replace-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.batch-replace-actions button{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:100%;height:46px;min-height:46px;margin:0!important;padding:0 14px;border-radius:14px;font-weight:900}body.has-editor-fullscreen{overflow:hidden}.pattern-editor.is-fullscreen{position:fixed!important;inset:0!important;z-index:9999;width:auto!important;max-width:none!important;min-height:100dvh;margin:0!important;padding:18px 22px 22px!important;border-radius:0!important;overflow:auto;overscroll-behavior:contain;background:#fffdf9;box-shadow:none}.pattern-editor.is-fullscreen .editor-fullscreen-btn{position:fixed;top:14px;right:18px;z-index:7}.pattern-editor.is-fullscreen .editor-sticky-tools h2{margin:0 0 6px}.pattern-editor.is-fullscreen .edit-palette{grid-template-columns:repeat(auto-fill,34px)!important;max-height:168px;margin:0;padding:2px 2px 18px;overflow:auto;overscroll-behavior:contain}.pattern-editor.is-fullscreen .edit-canvas{display:block;width:var(--editor-canvas-width, auto)!important;height:var(--editor-canvas-height, auto)!important;max-width:none!important;margin:12px auto 0;cursor:url(/assets/bead-pen-cursor.png) 24 123,crosshair}.pattern-editor.is-fullscreen .editor-zoom-hint{display:inline-flex;position:static;z-index:auto;flex:1 1 260px;width:auto;max-width:360px;margin:0;transform:none;color:#e73675;font-size:12px;font-weight:900;line-height:1.45;letter-spacing:0;text-align:left;pointer-events:none}html[data-device=mobile] .editor-fullscreen-btn{display:none!important}html[data-device=mobile] .pattern-editor>.tip,html[data-device=mobile] .pattern-editor>.edit-canvas{display:block!important}html[data-device=mobile] .pattern-editor>.edit-palette{display:grid!important}@media(min-width:900px){.pattern-editor .edit-palette{grid-template-columns:repeat(auto-fill,34px)!important;gap:7px 8px!important;row-gap:22px!important}.pattern-editor .paint{width:24px!important;min-width:24px!important;min-height:24px!important}}.pattern-editor .edit-canvas,.pattern-editor.is-fullscreen .edit-canvas{width:var(--editor-canvas-width, auto)!important;height:var(--editor-canvas-height, auto)!important;max-width:none!important}.image-frame img.solid-grid-chart,.code-preview img.solid-grid-chart{box-sizing:content-box!important;width:100%!important;max-width:var(--solid-grid-width, 100%)!important;height:auto!important;margin-left:auto!important;margin-right:auto!important}.image-frame,.code-preview{overflow-x:hidden!important}.pattern-editor .editor-sticky-tools{position:relative;z-index:3}.editor-fullscreen-btn{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;position:absolute;z-index:6!important;pointer-events:auto;color:#fff!important;background:linear-gradient(135deg,#ff4f88,#ff8eb0)!important;border-color:transparent!important;box-shadow:0 10px 22px #ff4f8833!important}.bead-pen-icon{display:none!important}.pattern-editor.is-fullscreen .editor-fullscreen-btn{position:fixed!important;top:14px!important;right:18px!important;z-index:8!important}.pattern-editor.is-fullscreen .editor-sticky-tools{position:sticky;top:-18px;z-index:5;margin:-18px -22px 12px;padding:18px 132px 12px 22px;background:#fffdf9f0;border-bottom:1px solid rgba(231,85,130,.14);box-shadow:0 10px 22px #e7558214;backdrop-filter:blur(16px)}.pattern-editor.is-fullscreen .editor-sticky-tools h2{margin:0 0 6px;padding-right:92px}.pattern-editor.is-fullscreen .editor-sticky-tools .tip{margin:0 0 8px;color:#e73675;font-weight:900}.pattern-editor.is-fullscreen .editor-sticky-tools .edit-palette{grid-template-columns:repeat(auto-fill,34px)!important;max-height:126px;margin:0!important;padding:2px 2px 18px;overflow:auto;overscroll-behavior:contain}.editor-zoom-hint{display:none}.pattern-editor.is-fullscreen .editor-zoom-hint{display:inline-flex;position:static;z-index:auto;flex:1 1 260px;width:auto;max-width:360px;margin:0;transform:none;color:#ff4f8d;font-size:12px;font-weight:900;line-height:1.45;letter-spacing:0;text-align:left;pointer-events:none}@media(max-width:899px){.pattern-editor.is-fullscreen .editor-sticky-tools{top:-18px;padding-right:88px}.pattern-editor.is-fullscreen .editor-zoom-hint{width:auto;max-width:none;font-size:12px}}
