@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(./vazirmatn-arabic-400-normal-DMZFCm7K.woff2) format("woff2"),url(./vazirmatn-arabic-400-normal-C4W5XURk.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(./vazirmatn-latin-ext-400-normal-BdGhO0lm.woff2) format("woff2"),url(./vazirmatn-latin-ext-400-normal-DPxMaNjI.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:400;src:url(./vazirmatn-latin-400-normal-BT_DHTc7.woff2) format("woff2"),url(./vazirmatn-latin-400-normal-GKyMcI03.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:600;src:url(./vazirmatn-arabic-600-normal-CPKvAnd1.woff2) format("woff2"),url(./vazirmatn-arabic-600-normal-CWYTfCgi.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:600;src:url(./vazirmatn-latin-ext-600-normal-CyxCUfFz.woff2) format("woff2"),url(./vazirmatn-latin-ext-600-normal-Di8rk35l.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:600;src:url(./vazirmatn-latin-600-normal-D-zF-Oec.woff2) format("woff2"),url(./vazirmatn-latin-600-normal-BxJiDPKT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(./vazirmatn-arabic-700-normal-Dge_DOjm.woff2) format("woff2"),url(./vazirmatn-arabic-700-normal-B5nPuCFv.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(./vazirmatn-latin-ext-700-normal-BfoXmNMx.woff2) format("woff2"),url(./vazirmatn-latin-ext-700-normal-DMYLqBto.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:700;src:url(./vazirmatn-latin-700-normal-9BlbvDRV.woff2) format("woff2"),url(./vazirmatn-latin-700-normal-DrB0PBU6.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:800;src:url(./vazirmatn-arabic-800-normal-Bwnt96zj.woff2) format("woff2"),url(./vazirmatn-arabic-800-normal-BH12s3-y.woff) format("woff");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC,U+102E0-102FB,U+10E60-10E7E,U+10EC2-10EC4,U+10EFC-10EFF,U+1EE00-1EE03,U+1EE05-1EE1F,U+1EE21-1EE22,U+1EE24,U+1EE27,U+1EE29-1EE32,U+1EE34-1EE37,U+1EE39,U+1EE3B,U+1EE42,U+1EE47,U+1EE49,U+1EE4B,U+1EE4D-1EE4F,U+1EE51-1EE52,U+1EE54,U+1EE57,U+1EE59,U+1EE5B,U+1EE5D,U+1EE5F,U+1EE61-1EE62,U+1EE64,U+1EE67-1EE6A,U+1EE6C-1EE72,U+1EE74-1EE77,U+1EE79-1EE7C,U+1EE7E,U+1EE80-1EE89,U+1EE8B-1EE9B,U+1EEA1-1EEA3,U+1EEA5-1EEA9,U+1EEAB-1EEBB,U+1EEF0-1EEF1}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:800;src:url(./vazirmatn-latin-ext-800-normal-BzH3Tiwu.woff2) format("woff2"),url(./vazirmatn-latin-ext-800-normal-HbVXW2Kv.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Vazirmatn;font-style:normal;font-display:swap;font-weight:800;src:url(./vazirmatn-latin-800-normal-e0EQwLmk.woff2) format("woff2"),url(./vazirmatn-latin-800-normal-fM8Xz9cI.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg: #12101c;--bg-soft: #1a1726;--surface: #211d31;--surface-2: #2a2540;--line: #35304c;--line-soft: #2c2742;--text: #f2f0fa;--text-2: #b6b1cc;--text-3: #8a84a6;--accent: #8b5cf6;--accent-strong: #7c3aed;--accent-soft: rgba(139, 92, 246, .14);--accent-line: rgba(139, 92, 246, .4);--coin: #f5b73d;--coin-soft: rgba(245, 183, 61, .14);--success: #34d399;--danger: #f87171;--danger-soft: rgba(248, 113, 113, .12);--info: #60a5fa;--radius-sm: 10px;--radius: 16px;--radius-lg: 22px;--shadow-1: 0 2px 10px rgba(0, 0, 0, .25);--shadow-2: 0 12px 32px rgba(0, 0, 0, .35);--font: "Vazirmatn", "Tahoma", sans-serif;--header-h: 60px;--bottomnav-h: 64px}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}h1,h2,h3,h4{margin:0;line-height:1.4;font-weight:700}p{margin:0}a{color:inherit;text-decoration:none}::selection{background:var(--accent);color:#fff}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}*::-webkit-scrollbar{width:6px;height:6px}*::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px}.app{min-height:100dvh;display:flex;flex-direction:column}.app-main{flex:1;width:100%;max-width:1120px;margin:0 auto;padding:16px 16px calc(var(--bottomnav-h) + env(safe-area-inset-bottom,0px) + 24px)}@media (min-width: 960px){.app{flex-direction:row}.app-main{padding:24px 32px 48px;margin-right:232px}}.header{position:sticky;top:0;z-index:40;height:calc(var(--header-h) + env(safe-area-inset-top,0px));padding:env(safe-area-inset-top,0px) 16px 0;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#12101cdb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line-soft)}.header-brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:17px;min-width:0;flex:1}.header-brand svg{flex-shrink:0;width:30px;height:30px}.header-brand>span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-brand small{display:block;font-size:10.5px;font-weight:500;color:var(--text-3);line-height:1.2}.side-nav-coin{display:none}.header-actions{display:flex;align-items:center;gap:8px}.coin-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;background:var(--coin-soft);border:1px solid rgba(245,183,61,.35);color:var(--coin);font-weight:700;font-size:14px;transition:background .15s}.coin-chip:active{background:#f5b73d3d}.coin-chip .coin-ic{width:16px;height:16px}.coin-chip small{font-weight:500;color:#f5b73dcc;font-size:11px}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:40;display:flex;background:#1a1726f0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line-soft);padding-bottom:env(safe-area-inset-bottom,0px)}.bottom-nav a{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 2px 7px;font-size:10.5px;font-weight:600;color:var(--text-3);-webkit-tap-highlight-color:transparent;min-height:48px;white-space:nowrap;overflow:hidden}.bottom-nav a svg{width:22px;height:22px}.bottom-nav a.active{color:var(--accent)}.side-nav{display:none}@media (min-width: 960px){.bottom-nav{display:none}.side-nav{display:flex;flex-direction:column;gap:4px;position:fixed;top:0;right:0;bottom:0;width:232px;padding:20px 14px;background:var(--bg-soft);border-left:1px solid var(--line-soft);z-index:40}.side-nav .header-brand{padding:4px 10px 18px}.side-nav-coin{display:block;padding:0 10px 16px}.side-nav-coin .coin-chip{width:100%;justify-content:center}.header{display:none}.side-nav a{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:var(--radius-sm);color:var(--text-2);font-weight:600;font-size:14.5px}.side-nav a svg{width:21px;height:21px}.side-nav a.active{background:var(--accent-soft);color:var(--text)}.side-nav-foot{padding:12px 14px;font-size:12px;color:var(--text-3);border-top:1px solid var(--line-soft)}.side-nav a:hover:not(.active){background:var(--surface);color:var(--text)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid transparent;border-radius:var(--radius-sm);padding:11px 20px;font-size:14.5px;font-weight:700;color:var(--text);background:var(--surface-2);transition:filter .15s,background .15s,transform .05s;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent-strong);color:#fff}.btn-primary:hover:not(:disabled){filter:brightness(1.12)}.btn-ghost{background:transparent;border-color:var(--line);color:var(--text-2)}.btn-ghost:hover:not(:disabled){background:var(--surface);color:var(--text)}.btn-coin{background:var(--coin);color:#241a05}.btn-danger-soft{background:var(--danger-soft);color:var(--danger)}.btn-sm{padding:7px 14px;font-size:13px;border-radius:9px}.btn-lg{padding:14px 26px;font-size:16px;border-radius:13px}.btn-block{width:100%}.card{background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:18px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:26px 0 14px}.section-title h2{font-size:17.5px}.section-title .link{color:var(--accent);font-size:13px;font-weight:600;background:none;border:none;padding:4px}.hero{padding:18px 0 6px}.hero h1{font-size:22px;line-height:1.55}.hero h1 em{font-style:normal;color:var(--accent)}.hero p{color:var(--text-2);margin-top:6px;font-size:14px}@media (min-width: 960px){.hero h1{font-size:28px}.hero p{font-size:15.5px}}.chip-row{display:flex;gap:8px;overflow-x:auto;padding:2px 0 8px;scrollbar-width:none}.chip-row::-webkit-scrollbar{display:none}.chip{flex-shrink:0;padding:8px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--line-soft);color:var(--text-2);font-size:13px;font-weight:600;-webkit-tap-highlight-color:transparent}.chip.active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.tool-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (min-width: 700px){.tool-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 960px){.tool-grid{grid-template-columns:repeat(4,1fr)}}.tool-card{position:relative;text-align:right;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:16px 14px;color:var(--text);display:flex;flex-direction:column;gap:8px;transition:border-color .15s,transform .1s;-webkit-tap-highlight-color:transparent}.tool-card:active{transform:scale(.98)}.tool-card:hover{border-color:var(--accent-line)}.tool-card .tool-ic{width:42px;height:42px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent)}.tool-card .tool-ic svg{width:22px;height:22px}.tool-card h3{font-size:14.5px}.tool-card p{font-size:12px;color:var(--text-3);line-height:1.6}.tool-cost{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:var(--coin)}.tool-card .tool-cost{margin-top:auto}.cat-label{display:flex;align-items:center;gap:8px;margin:22px 0 12px;font-size:13.5px;font-weight:700;color:var(--text-2)}.cat-label:first-of-type{margin-top:8px}.cat-label .dot{width:8px;height:8px;border-radius:50%;background:var(--accent)}.uploader{border:1.5px dashed var(--line);border-radius:var(--radius-lg);background:var(--bg-soft);padding:26px 18px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;transition:border-color .15s}.uploader:hover,.uploader.drag{border-color:var(--accent-line)}.uploader .up-ic{width:52px;height:52px;border-radius:16px;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center}.uploader .up-ic svg{width:26px;height:26px}.uploader h3{font-size:15.5px}.uploader p{font-size:12.5px;color:var(--text-3)}.up-error{background:var(--danger-soft);color:var(--danger);font-size:12.5px;border-radius:var(--radius-sm);padding:9px 14px}.preview-card{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line-soft);background:var(--bg-soft)}.preview-card img{width:100%;max-height:380px;object-fit:contain;background:#0d0b15}.preview-actions{position:absolute;bottom:10px;inset-inline-start:10px;inset-inline-end:10px;display:flex;gap:8px;justify-content:flex-start}.preview-actions .btn{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#12101cb3}.opt-label{font-size:13.5px;font-weight:700;color:var(--text-2);margin:18px 0 10px;display:block}.swatch-grid{display:flex;flex-wrap:wrap;gap:10px}.swatch{width:44px;height:44px;border-radius:13px;border:2px solid var(--line);position:relative;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center}.swatch.active{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.swatch.custom{background:conic-gradient(#f87171,#f5b73d,#34d399,#60a5fa,#8b5cf6,#f87171)}.swatch svg{width:16px;height:16px;color:#fff;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.scene-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media (min-width: 700px){.scene-grid{grid-template-columns:repeat(5,1fr)}}.scene-card{border-radius:var(--radius-sm);overflow:hidden;border:2px solid transparent;background:var(--surface);padding:0;position:relative;-webkit-tap-highlight-color:transparent}.scene-card img{width:100%;aspect-ratio:1;object-fit:cover}.scene-card span{position:absolute;inset-inline:0;bottom:0;padding:14px 6px 5px;font-size:10.5px;font-weight:700;color:#fff;background:linear-gradient(transparent,#000000bf)}.scene-card.active{border-color:var(--accent)}.model-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media (min-width: 700px){.model-grid{grid-template-columns:repeat(5,1fr)}}.model-card{background:var(--surface);border:2px solid transparent;border-radius:var(--radius-sm);overflow:hidden;padding:0;text-align:center;-webkit-tap-highlight-color:transparent}.model-card img{width:100%;aspect-ratio:3 / 4;object-fit:cover}.model-card span{display:block;padding:7px 4px;font-size:11px;font-weight:700}.model-card.active{border-color:var(--accent)}.pill-grid{display:flex;flex-wrap:wrap;gap:8px}.pill{padding:9px 16px;border-radius:999px;background:var(--surface);border:1px solid var(--line-soft);color:var(--text-2);font-size:13px;font-weight:600;-webkit-tap-highlight-color:transparent}.pill.active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent)}.field{width:100%;background:var(--bg-soft);border:1px solid var(--line-soft);border-radius:var(--radius-sm);color:var(--text);padding:12px 14px;font-size:14px;outline:none;transition:border-color .15s}.field:focus{border-color:var(--accent-line)}textarea.field{resize:vertical;min-height:84px}@media (max-width: 700px){.field{font-size:16px}}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.action-bar{position:sticky;bottom:0;margin-top:20px;padding:12px 0 env(safe-area-inset-bottom,0px);background:linear-gradient(transparent,var(--bg) 30%);display:flex;gap:10px;align-items:center;z-index:10}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#08060eb8;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:flex-end;justify-content:center;padding:0;animation:fadeIn .18s ease}@media (min-width: 700px){.modal-overlay{align-items:center;padding:24px}}.modal{width:100%;max-width:460px;max-height:88dvh;overflow-y:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:22px 20px calc(20px + env(safe-area-inset-bottom,0px));animation:slideUp .22s ease}@media (min-width: 700px){.modal{border-radius:var(--radius-lg);padding-bottom:22px}}@keyframes slideUp{0%{transform:translateY(36px);opacity:0}to{transform:none;opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.modal-head h3{font-size:16.5px}.modal-close{background:var(--surface-2);border:none;color:var(--text-2);width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center}.modal-close svg{width:15px;height:15px}.coin-warn-ic{width:58px;height:58px;margin:6px auto 14px;border-radius:50%;background:var(--coin-soft);display:flex;align-items:center;justify-content:center;color:var(--coin)}.coin-warn-ic svg{width:28px;height:28px}.balance-box{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:16px 0}.balance-box>div{background:var(--bg-soft);border:1px solid var(--line-soft);border-radius:var(--radius-sm);padding:10px 6px;text-align:center}.balance-box b{display:flex;align-items:center;justify-content:center;gap:5px;font-size:15px;color:var(--coin)}.balance-box span{font-size:11px;color:var(--text-3)}.processing{display:flex;flex-direction:column;align-items:center;gap:16px;padding:46px 16px;text-align:center}.spinner{width:54px;height:54px;border-radius:50%;border:4px solid var(--surface-2);border-top-color:var(--accent);animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.progress-track{width:min(320px,80%);height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.progress-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,var(--accent),#c4b5fd);transition:width .3s ease}.ba-wrap{position:relative;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--line-soft);background:#0d0b15;-webkit-user-select:none;user-select:none}.ba-img{width:100%;max-height:440px;object-fit:contain;display:block}.ba-handle{position:absolute;top:0;bottom:0;width:2px;background:#fff;cursor:ew-resize;touch-action:none}.ba-handle:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:34px;height:34px;border-radius:50%;background:#fff;box-shadow:var(--shadow-1)}.ba-tag{position:absolute;top:10px;padding:4px 12px;border-radius:999px;font-size:11px;font-weight:700;background:#0009;color:#fff;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.ba-tag.after{inset-inline-start:10px}.ba-tag.before{inset-inline-end:10px}.badge-demo{display:inline-flex;align-items:center;gap:6px;background:var(--coin-soft);color:var(--coin);border:1px solid rgba(245,183,61,.3);font-size:11.5px;font-weight:700;border-radius:999px;padding:5px 12px}.badge-demo svg{width:13px;height:13px}.gallery-grid{columns:2;column-gap:10px}@media (min-width: 700px){.gallery-grid{columns:3;column-gap:14px}}@media (min-width: 960px){.gallery-grid{columns:4}}.gal-item{break-inside:avoid;margin-bottom:10px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--line-soft);background:var(--surface);padding:0;width:100%;display:block;text-align:right;-webkit-tap-highlight-color:transparent}.gal-item img{width:100%}.gal-meta{display:flex;align-items:center;justify-content:space-between;padding:9px 11px}.gal-meta b{font-size:12px;font-weight:700;display:block}.gal-meta span{font-size:10.5px;color:var(--text-3)}.like-btn{display:inline-flex;align-items:center;gap:5px;background:none;border:none;color:var(--text-3);font-size:12px;font-weight:700;padding:4px;-webkit-tap-highlight-color:transparent}.like-btn svg{width:16px;height:16px}.like-btn.liked{color:#fb7185}.pkg-grid{display:grid;grid-template-columns:1fr;gap:12px}@media (min-width: 700px){.pkg-grid{grid-template-columns:repeat(2,1fr)}}.pkg-card{position:relative;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius-lg);padding:20px 18px;display:flex;align-items:center;gap:14px}.pkg-card.featured{border-color:var(--accent-line);background:linear-gradient(160deg,var(--surface),rgba(139,92,246,.1))}.pkg-ic{flex-shrink:0;width:54px;height:54px;border-radius:16px;background:var(--coin-soft);display:flex;align-items:center;justify-content:center;color:var(--coin)}.pkg-ic svg{width:28px;height:28px}.pkg-info{flex:1}.pkg-info b{font-size:17px;display:block}.pkg-info small{color:var(--text-3);font-size:12.5px}.pkg-tag{position:absolute;top:-9px;inset-inline-start:16px;background:var(--accent-strong);color:#fff;font-size:10.5px;font-weight:700;padding:3px 11px;border-radius:999px}.mission-card{display:flex;align-items:center;gap:14px;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:16px;margin-bottom:12px}.mission-ic{flex-shrink:0;width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--accent-soft);color:var(--accent)}.mission-ic svg{width:22px;height:22px}.mission-body{flex:1;min-width:0}.mission-body b{font-size:14.5px;display:block}.mission-body p{font-size:12px;color:var(--text-3);margin-top:2px}.mission-reward{display:inline-flex;align-items:center;gap:5px;color:var(--coin);font-size:12.5px;font-weight:800;margin-top:6px}.mission-reward svg{width:13px;height:13px}.mission-side{flex-shrink:0}.status-done{color:var(--success);font-size:13px;font-weight:700;display:inline-flex;align-items:center;gap:5px}.status-done svg{width:16px;height:16px}.status-locked{color:var(--text-3);font-size:12px;font-weight:600}.order-card{display:flex;gap:13px;background:var(--surface);border:1px solid var(--line-soft);border-radius:var(--radius);padding:13px;margin-bottom:12px;align-items:center}.order-thumb{flex-shrink:0;width:74px;height:74px;border-radius:var(--radius-sm);object-fit:cover;background:var(--bg-soft);border:1px solid var(--line-soft)}.order-body{flex:1;min-width:0}.order-body b{font-size:14px;display:block}.order-body .order-meta{font-size:11.5px;color:var(--text-3);margin-top:3px;display:flex;flex-wrap:wrap;gap:4px 10px}.order-foot{display:flex;align-items:center;justify-content:space-between;margin-top:8px;gap:8px}.status-badge{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;padding:3px 10px;border-radius:999px}.status-completed{background:#34d39921;color:var(--success)}.status-processing{background:var(--accent-soft);color:var(--accent)}.status-queued{background:#60a5fa21;color:var(--info)}.status-failed{background:var(--danger-soft);color:var(--danger)}.empty{text-align:center;padding:52px 20px;color:var(--text-3)}.empty svg{width:52px;height:52px;margin:0 auto 14px;opacity:.5}.empty b{display:block;color:var(--text-2);font-size:15px;margin-bottom:4px}.empty p{font-size:13px}.toast{position:fixed;bottom:calc(var(--bottomnav-h) + env(safe-area-inset-bottom,0px) + 14px);left:50%;transform:translate(-50%);z-index:120;background:var(--surface-2);border:1px solid var(--line);color:var(--text);padding:11px 20px;border-radius:999px;font-size:13.5px;font-weight:600;box-shadow:var(--shadow-2);animation:slideUp .2s ease;white-space:nowrap;max-width:92vw;overflow:hidden;text-overflow:ellipsis}@media (min-width: 960px){.toast{bottom:26px}}.text-2{color:var(--text-2)}.text-3{color:var(--text-3)}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mb-16{margin-bottom:16px}.demo-note{display:flex;gap:8px;align-items:flex-start;background:var(--coin-soft);border:1px solid rgba(245,183,61,.25);color:#f5b73df2;font-size:12px;border-radius:var(--radius-sm);padding:10px 13px;line-height:1.7}.demo-note svg{flex-shrink:0;width:15px;height:15px;margin-top:3px}.back-btn{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-2);font-size:13.5px;font-weight:600;padding:6px 2px}.back-btn svg{width:17px;height:17px}
