:root{color-scheme:dark;--gold:#bca582}*{box-sizing:border-box}body{margin:0;background:#0c0d10;color:#d7d5d0;font:13px Arial,"Microsoft YaHei",sans-serif}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button:disabled{cursor:not-allowed;opacity:.35}button:focus-visible,a:focus-visible,label:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:4px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}header{height:90px;border-bottom:1px solid #232427;display:flex;align-items:center;padding:0 4%;gap:30px}.brands{display:flex;align-items:center;gap:25px}.hyper{font-size:24px;letter-spacing:0;color:#eeede9}.hyper span{font-weight:400}.cross{color:#626266;font-size:21px}.phantom{font-family:KaiTi,STKaiti,serif;font-size:29px;font-style:italic;font-weight:900;letter-spacing:0}.phantom>span{color:#c1b29b;font-size:34px}.phantom small{display:block;font:6px Arial;letter-spacing:2px;text-align:center;margin-top:1px}.edition{font-size:10px;letter-spacing:2px;color:#89888a;margin-left:auto}i{font-style:normal;color:#45454a;margin:0 12px}.quiet{font-size:12px;color:#aaa9a5}header>.quiet{border-left:1px solid #363638;padding-left:28px}main{max-width:1600px;margin:auto;padding:42px 4% 0}.intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--gold);margin:0 0 14px}h1{font-family:STSong,SimSun,serif;font-weight:400;font-size:42px;letter-spacing:7px;margin:0;display:flex;align-items:center}h1>span{color:#cab591}h1 small{font:9px/13px serif;color:#bc6254;border:1px solid #7f3a32;letter-spacing:1px;transform:rotate(-7deg);margin-left:18px;padding:3px}.subtitle{color:#7e7e80;letter-spacing:3px;font-size:12px;margin:16px 0 0}.steps{display:flex;align-items:center;gap:18px;font-size:12px;color:#66676b}.steps span{display:flex;align-items:center;gap:10px}.steps b{font:10px monospace;border:1px solid #373739;border-radius:50%;padding:8px}.steps .current{color:#cbb797}.steps .current b{border-color:#9f8967;background:#24211e}.steps i{width:40px;height:1px;background:#363538;margin:0}.workspace{display:grid;grid-template-columns:320px 1fr;border:1px solid #303034;min-height:650px}.panel{padding:26px 24px;background:#121316;border-right:1px solid #303034}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}h2{font-size:13px;font-weight:400;margin:0;letter-spacing:1px}h2 em{font:10px monospace;color:var(--gold);margin-right:10px}.section-head>span{font-size:10px;color:#636469}.dropzone{height:168px;border:1px dashed #3c3c3e;display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;position:relative;background:#151619;overflow:hidden}.dropzone:hover,.dropzone.drag{border-color:var(--gold)}.upload-icon{display:block;font:30px serif;color:#9c907b;margin-bottom:13px}.dropzone strong{font-size:12px;font-weight:400;letter-spacing:1px}.dropzone p{font-size:10px;color:#73747a;margin:10px 0 12px}.dropzone u{color:#bca582;text-underline-offset:3px}.dropzone small{font:8px Arial;letter-spacing:1px;color:#65666d}.dropzone img{width:100%;height:100%;object-fit:contain}.replace{position:absolute;bottom:0;background:#111b;width:100%;padding:8px;color:#d7c4a4;font-size:10px}.second{margin-top:28px}.types{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.types button{border:1px solid #303034;min-height:63px;font-size:11px;background:#17181b}.types button>span{display:block;font-family:serif;font-size:22px;color:#82817d;margin-bottom:6px;line-height:23px}.types button:hover{border-color:#776951}.types button.selected{border-color:#ac9471;background:#29251f;color:#d4c19e}.types button.selected>span{color:#d4c19e}.types .adaptive{grid-column:1/-1;min-height:38px;display:flex;align-items:center;justify-content:center;gap:10px}.types .adaptive>span{font-size:19px;margin:0}.adaptive small{font-size:9px;color:#68686c;margin-left:25px}.detail-label{display:block;margin:23px 0 12px;font-size:11px}.detail-label span{color:#5f6066;font-size:10px;margin-left:6px}textarea{resize:vertical;min-height:66px;max-height:140px;width:100%;background:#0f1013;border:1px solid #2c2d30;color:#ccc;font-family:inherit;padding:12px}textarea::placeholder{color:#67686e;font-size:10px}.action-area{margin-top:21px}.primary{width:100%;height:44px;background:#bfa887;color:#171614;font-size:12px;letter-spacing:2px;display:flex;align-items:center;justify-content:space-between;padding:0 17px}.micro{text-align:center;color:#77787e;font-size:9px;margin:12px 0 0}.canvas-panel{background:#0f1013;display:flex;flex-direction:column;min-width:0}.canvas-bar{height:59px;border-bottom:1px solid #25262a;padding:0 25px;display:flex;align-items:center;justify-content:space-between}.tabs{height:100%;display:flex;gap:25px}.tabs button{font-size:12px;color:#707177;height:100%;position:relative;padding:0 2px}.tabs button.active{color:#d5c4a6}.tabs button.active:after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:#b7a17e}.tabs span{font-size:8px;margin-left:7px;opacity:.6}.view-label{font-size:9px;color:#6f7076;letter-spacing:1px}#stage{position:relative;flex:1;min-height:475px;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 42%,#1b1c1f 0%,#111215 55%,#0e0f12 100%);overflow:hidden}.corner{position:absolute;width:15px;height:15px;border-color:#353438;border-style:solid;z-index:2;pointer-events:none}.tl{top:22px;left:22px;border-width:1px 0 0 1px}.tr{top:22px;right:22px;border-width:1px 1px 0 0}.bl{bottom:22px;left:22px;border-width:0 0 1px 1px}.br{bottom:22px;right:22px;border-width:0 1px 1px 0}#empty{text-align:center;pointer-events:none}.ink-ring{position:relative;width:245px;height:245px;margin:0 auto 26px;border:10px solid #2b2b2b;border-left:3px solid #1e2022;border-bottom:6px solid #202123;border-radius:49% 46% 48% 44%;transform:rotate(-24deg);box-shadow:inset -6px 3px 0 #242528,4px -1px 0 #33333345}.inner-ring{position:absolute;inset:9px;border:1px solid #49443844;border-radius:50%;border-right-color:transparent}.calligraphy{transform:rotate(24deg);font-family:KaiTi,STKaiti,serif;font-size:112px;line-height:205px;color:#8d816b;opacity:.75;text-shadow:3px 3px #151619}.calligraphy span{position:absolute;right:25px;top:62px;font:11px/2 serif;writing-mode:vertical-rl;letter-spacing:5px;color:#908575}.red-seal{position:absolute;bottom:15px;right:12px;border:1px solid #733831;color:#8a443a;font:11px/1.2 serif;padding:4px;transform:rotate(17deg)}#empty h3{font-family:STSong,SimSun,serif;font-weight:400;font-size:18px;letter-spacing:5px;color:#9c968b;margin:0 0 15px}#empty p{font-size:10px;color:#696b72;letter-spacing:1px}.empty-line{display:block;width:28px;height:1px;background:#665743;margin:24px auto}.stage-note{position:absolute;bottom:22px;color:#4e4f55;font-size:8px;letter-spacing:3px;pointer-events:none}.canvas-bottom{border-top:1px solid #28292d;min-height:79px;padding:18px 25px;display:flex;align-items:center;justify-content:space-between;gap:14px}.canvas-bottom>div{font-size:11px;color:#8c8c8c}.dot{display:inline-block;width:5px;height:5px;background:#ab987c;border-radius:50%;margin-right:9px}.canvas-bottom small{display:block;margin:8px 0 0 15px;font-size:9px;color:#63646c}.canvas-bottom button{background:#9d3930;border:1px solid #b04c40;height:40px;padding:0 20px;font-size:12px;color:#eee0cf}.canvas-bottom button span{margin-left:20px}footer{display:flex;justify-content:space-between;padding:23px 0 30px;color:#606168;font-size:9px;letter-spacing:1px}footer>span:nth-child(2){font-size:8px}#concept{position:absolute;width:100%;height:100%;object-fit:contain;padding:25px 35px 40px}#viewer{position:absolute;inset:0}#viewer canvas{width:100%;height:100%;display:block}#viewerTools{position:absolute;right:22px;top:22px;display:flex;background:#16171bcc;border:1px solid #343438;z-index:3}#viewerTools>*{padding:9px 12px;font-size:14px}#viewerTools [aria-pressed=true]{color:#d7b77b;background:#343026}#progress{position:absolute;bottom:55px;left:10%;width:80%;padding:14px;background:#111e;border:1px solid #484035;z-index:5;font-size:11px;color:#cdbb9a}progress{width:100%;height:3px;display:block;margin-top:12px;accent-color:#bfa887}#error,#storageError{font-size:11px;line-height:1.7;color:#d78e7c;overflow-wrap:anywhere}#history{border-top:1px solid #2b2b2d;padding:15px 24px}.history-head{font-size:11px;color:#8f8d89;margin-bottom:12px}.history-head span{color:#56565b;margin-left:8px}#thumbnails{display:flex;gap:10px;overflow:auto}#thumbnails button{flex:0 0 68px;height:68px;border:1px solid #3c3c40;padding:3px}#thumbnails button.active{border-color:#c5ae88}#thumbnails img{width:100%;height:100%;object-fit:cover}#recovery{font-size:11px;color:#b6a489;overflow-wrap:anywhere;line-height:1.8}@media(max-width:900px){.edition{display:none}header>.quiet{margin-left:auto}.view-label{display:none}.steps{gap:8px}.steps i{width:16px}.workspace{grid-template-columns:285px 1fr}.panel{padding:22px 18px}.canvas-bottom{padding:18px 14px}.ink-ring{width:200px;height:200px}.calligraphy{font-size:90px;line-height:170px}.calligraphy span{right:17px;top:45px}#empty h3{font-size:15px;letter-spacing:2px}}@media(max-width:650px){header{height:75px;padding:0 20px}.brands{gap:15px}.hyper{font-size:20px}.phantom{font-size:24px}.phantom>span{font-size:27px}header>.quiet{padding-left:14px;font-size:10px}main{padding:28px 18px 0}.intro{display:block;margin-bottom:25px}h1{font-size:36px}.steps{margin-top:25px;justify-content:space-between}.steps i{width:30px}.workspace{grid-template-columns:1fr}.panel{border-right:0;border-bottom:1px solid #303034;padding:22px}.dropzone{height:150px}#stage{min-height:410px}.canvas-bar{padding:0 20px}footer>span:last-child{display:none}footer{font-size:8px;letter-spacing:0}.stage-note{font-size:7px;letter-spacing:2px}}
/* Black iron, cinnabar and cold steel. */
:root{--gold:#94a3b8}body{background:#0d0e12;color:#e2e8f0;background-image:radial-gradient(ellipse at 75% 0%,#991b1b16,transparent 50%)}header{border-bottom-color:#991b1b55;background:linear-gradient(110deg,#14161d,#0d0e12)}.brands{gap:16px}.brand-mark{width:30px;height:36px;color:#e2e8f0;margin-right:-8px}.hyper{letter-spacing:0}.phantom>span,h1>span{color:#dc2626}.cross{color:#991b1b}.eyebrow{color:#94a3b8}.workspace{border-color:#343a48;box-shadow:0 20px 80px #0006;position:relative}.workspace:before{content:'';position:absolute;left:-1px;top:-1px;width:90px;height:2px;background:#dc2626;z-index:2}.panel{background:linear-gradient(150deg,#14161d,#101116);border-color:#343a48}.types button{background:#14161d;border-color:#343a48;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));min-height:75px}.types button.selected{background:linear-gradient(135deg,#991b1b55,#19151b);border-color:#dc2626;color:#f1f5f9}.types button.selected>span{color:#e2e8f0}.types button:hover{border-color:#94a3b8}.primary,.canvas-bottom button{background:linear-gradient(110deg,#991b1b,#b92121);color:#f1f5f9;border:1px solid #dc262677;clip-path:polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px)}.primary:not(:disabled):hover,.canvas-bottom button:not(:disabled):hover{background:#dc2626}.primary:not(:disabled){animation:forge-breath 3s ease-in-out infinite}.quality-note{font:9px/1.8 monospace;color:#94a3b8;letter-spacing:.6px;padding:16px 0 0;border-top:1px solid #343a48;margin:24px 0 0}.steps .current{color:#e2e8f0}.steps .current b{border-color:#991b1b;background:#991b1b22;border-radius:0}.tabs button.active{color:#e2e8f0}.tabs button.active:after{background:#dc2626}.canvas-panel{background:#101218}#stage{background:radial-gradient(ellipse at 50% 42%,#303642 0%,#191d26 55%,#101218 100%)}.corner{border-color:#64748b77}.calligraphy{color:#b6bdc7}.red-seal{border-color:#991b1b;color:#dc2626}.canvas-bottom{flex-wrap:wrap}.export-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}#quicklook-link{display:flex;align-items:center;gap:7px;border:1px solid #64748b;padding:9px 12px;color:#e2e8f0;font-size:12px}#quicklook-link img{width:20px;height:20px}#arStatus{font-size:11px;color:#94a3b8;padding:0 25px;line-height:1.8}.dot{background:#dc2626}.stage-note{color:#7a8393}#empty p,.subtitle{color:#94a3b8}.dropzone u{color:#e2e8f0}.dropzone{background:#0d0e12}.canvas-bottom #prepareAR{background:#242b38;border-color:#64748b}.tabs button,#viewerTools>*{min-height:44px}button:focus-visible,a:focus-visible{outline-color:#e2e8f0}@keyframes forge-breath{50%{filter:brightness(1.17)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important}}@media(max-width:650px){.brands{gap:10px}.brand-mark{width:23px;height:28px}.hyper{font-size:18px}.phantom{font-size:21px}.phantom>span{font-size:25px}header{padding:0 14px;gap:10px}.export-actions{width:100%}.export-actions>*{flex:1;text-align:center;justify-content:center}.quality-note{margin-top:18px}.canvas-bottom{align-items:flex-start}#quicklook-link{white-space:nowrap}}
/* Single-screen workspace */
:root{--gold:#b7a389;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Hiragino Sans GB","Noto Sans SC",sans-serif}html,body{width:100%;height:100vh;height:100dvh;max-height:100dvh;overflow:hidden}body{display:flex;flex-direction:column;font-family:inherit;background:#0c0e11;color:#d7dbdf}button{touch-action:manipulation}header{flex:0 0 56px;height:56px;padding:0 26px;gap:24px;border-color:#ffffff12;background:#111418}.brands{gap:14px}.brand-mark{width:25px;height:29px;margin:0}.hyper{font-size:17px;letter-spacing:.11em;font-weight:650}.cross{color:#62686f;font-size:16px;margin:0 3px}.phantom{font-family:inherit;font-size:15px;font-weight:500;font-style:normal;letter-spacing:.12em}.edition{font-size:9px;letter-spacing:.12em;color:#777e87}header>.quiet{font-size:11px;padding-left:22px}main{display:flex;flex-direction:column;flex:1;min-height:0;max-width:none;width:100%;margin:0;padding:0}.workspace{display:flex;flex:1;min-height:0;border:0;box-shadow:none}.workspace:before{display:none}.panel{flex:0 0 390px;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:23px 24px 18px;border-color:#ffffff12;background:linear-gradient(135deg,#171a1e,#111317);scrollbar-width:thin;scrollbar-color:#3a3d43 transparent}.intro{display:block;margin:0 0 20px}.eyebrow{font-size:9px;letter-spacing:.15em;color:var(--gold);margin:0 0 9px}h1{font-family:inherit;font-size:27px;font-weight:500;letter-spacing:.15em;margin:0}.subtitle{font-size:11px;color:#8b9097;letter-spacing:.08em;margin:9px 0 17px}.steps{display:flex;justify-content:space-between;margin:0;border-bottom:1px solid #ffffff12;padding-bottom:13px;color:#60666e;font-size:10px;letter-spacing:.1em;gap:0}.steps .current{color:var(--gold)}.section-head{margin-bottom:11px}h2{font-size:12px;letter-spacing:.1em;font-weight:500}.section-head>span{color:#777e87}.dropzone{height:120px;border-color:#ffffff25;background:#0e1013}.upload-icon{font-family:inherit;font-size:23px;line-height:27px;margin:0}.dropzone strong{font-size:11px;font-weight:500;letter-spacing:.08em}.dropzone p{margin:7px 0}.dropzone small{font-family:inherit}.dropzone u{color:#c2b49d}.second{margin-top:19px}.types button{clip-path:none;min-height:44px;display:flex;align-items:center;justify-content:center;font-size:11px;border-color:#ffffff12;background:#ffffff02}.types button>span{display:none}.types button.selected{border-color:#b7a38988;color:#d3c4af;background:#b7a38910}.quality-note{font-family:inherit;font-size:8px;letter-spacing:.1em;color:#767d87;margin:13px 0;padding:0;border:0}.action-area{margin-top:12px}.primary{height:42px;background:#baa98f;color:#111316;font-weight:600;letter-spacing:.12em;clip-path:none;border:0;animation:none!important}.primary:not(:disabled):hover{background:#d1bea1}.micro{font-size:10px;color:#818791;margin:9px 0;line-height:1.5}.canvas-panel{flex:1;min-height:0;background:#101318}.canvas-bar{height:49px;flex-shrink:0;padding:0 26px;border-color:#ffffff12}.tabs{gap:26px}.tabs button{font-size:11px;letter-spacing:.08em}.tabs button.active{color:#d2c2aa}.tabs button.active:after{height:1px;background:var(--gold)}.view-label{font-size:9px;color:#676f7a}#stage{min-height:0;background:radial-gradient(ellipse at 50% 44%,#2b3039 0,#191e26 45%,#101318 85%)}.corner{border-color:#ffffff22}#empty{padding:22px}.empty-emblem{width:130px;height:130px;border:1px solid #b7a38922;transform:rotate(45deg);margin:0 auto 54px;display:grid;place-items:center;position:relative}.empty-emblem:before{content:'';position:absolute;inset:10px;border:1px solid #b7a38913}.empty-emblem span{transform:rotate(-45deg);font-size:51px;font-weight:200;color:#b7a38977}#empty h3{font-family:inherit;font-size:17px;font-weight:400;letter-spacing:.12em;color:#b3b7bd;margin:0 0 13px}#empty p{font-size:11px;color:#78818e;letter-spacing:.08em}.stage-note{bottom:17px;letter-spacing:.15em;font-size:8px;color:#68717e}#viewer,#viewer canvas{touch-action:none;overscroll-behavior:none}#viewerTools>*{min-width:44px;min-height:44px;display:grid;place-items:center}.canvas-bottom{display:block;min-height:0;padding:13px 0 0;margin-top:14px;border-color:#ffffff12}.canvas-bottom>div{font-size:10px;color:#9a9fa7}.dot{background:var(--gold)}.canvas-bottom small{color:#666e79;font-size:9px;margin:6px 0 10px}.export-actions{gap:8px}.export-actions>*{min-height:42px;padding:10px!important;border:1px solid #b7a38944!important;font-size:11px!important;display:flex;align-items:center;justify-content:center;gap:7px;clip-path:none!important}.canvas-bottom button{background:#b7a3890c;color:#d7dbdf}.canvas-bottom button:not(:disabled):hover{background:#b7a38922}.export-actions #forge{flex:1;order:-1;white-space:nowrap}.export-actions img{width:17px!important;height:17px!important}#arStatus{font-size:10px;padding:0;color:#9ca7b5}#history{margin-top:16px;padding:13px 0 0;border-color:#ffffff12}.history-head{font-size:10px;letter-spacing:.1em;margin-bottom:10px}#thumbnails{gap:8px;scrollbar-width:thin}#thumbnails button{flex-basis:48px;height:48px;padding:2px}.history-empty{font-size:10px;color:#616a77;margin:0}#thumbnails:not(:empty)+.history-empty{display:none}footer{flex-shrink:0;height:31px;align-items:center;padding:0 24px;font-size:8px;border-top:1px solid #ffffff12;color:#65707e}.mobile-switch{display:none}
@media(min-width:769px) and (max-height:800px){.panel{padding-top:16px}.intro{margin-bottom:13px}.subtitle{margin:7px 0 12px}.dropzone{height:100px}.second{margin-top:13px}.types button{min-height:38px}.quality-note{margin:9px 0}#history{margin-top:12px}.canvas-bottom{margin-top:10px;padding-top:10px}}
@media(max-width:1050px){.edition{display:none}header>.quiet{margin-left:auto}.view-label{display:none}}
@media(max-width:768px){header{flex-basis:52px;height:52px;padding:0 16px;gap:10px}.brands{gap:9px}.brand-mark{width:21px;height:25px}.hyper{font-size:13px}.phantom{font-size:12px;letter-spacing:.08em}.cross{margin:0}header>.quiet{font-size:10px;padding-left:10px}.mobile-switch{display:flex;flex:0 0 46px;padding:5px 16px;gap:5px;border-bottom:1px solid #ffffff12;background:#101318}.mobile-switch button{flex:1;min-height:36px;font-size:11px;letter-spacing:.1em;color:#78828f}.mobile-switch button[aria-pressed=true]{background:#b7a38913;color:#d0bea3;border:1px solid #b7a38925}.panel{flex:1;width:100%;border:0;padding:18px max(20px,env(safe-area-inset-left)) 24px}.canvas-panel{display:none}body[data-mobile-view=inspect] .panel{display:none}body[data-mobile-view=inspect] .canvas-panel{display:flex}.intro{margin-bottom:15px}h1{font-size:24px}.subtitle{margin-bottom:13px}.dropzone{height:105px}.second{margin-top:15px}.types button{min-height:42px}.canvas-bar{padding:0 18px}.canvas-bottom{margin-top:13px}.empty-emblem{width:100px;height:100px;margin-bottom:44px}#empty h3{font-size:14px}footer{height:calc(34px + env(safe-area-inset-bottom));padding:0 16px env(safe-area-inset-bottom)}footer>span:nth-child(2){display:none}footer>span:last-child{display:block;font-size:0}footer>span:last-child:after{content:'单指旋转 · 双指缩放';font-size:8px}.stage-note{font-size:7px}#viewerTools{right:12px;top:12px}.export-actions{width:100%}.export-actions>*{flex:1}}

/* Restrained ink-dark stage and discreet geometry disclosure. */
#stage{background:radial-gradient(ellipse at 50% 44%,#1b2028 0,#11151b 45%,#0b0e12 85%)}
.model-quality-note{margin:9px 0 0;color:rgba(177,187,200,.65);font-size:10px;font-weight:400;line-height:1.6;letter-spacing:.02em}

/* Original vector brand, with its intrinsic aspect ratio preserved. */
.brands{flex-shrink:0}.brand-logo{display:block;width:auto;height:26px;object-fit:contain}
@media(max-width:768px){.brand-logo{height:24px}}
/* Viewport history dock */
#stage #history{position:absolute;z-index:4;left:22px;bottom:36px;width:max-content;max-width:calc(100% - 44px);margin:0;padding:12px;border:1px solid #d7c5a32b;border-radius:12px;background:linear-gradient(135deg,#171b22e8,#101319d9);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 10px 32px #0005,inset 0 1px #ffffff08}
#history .history-head{margin:0 0 9px;color:#c4b79f;display:flex;align-items:center;justify-content:space-between;gap:24px}#historyCount{border-radius:20px;background:#ffffff0b;padding:2px 7px}#thumbnails{max-width:360px;overflow-x:auto;overscroll-behavior:contain;padding:2px;scrollbar-width:none}#thumbnails::-webkit-scrollbar{display:none}#thumbnails button{flex-basis:54px;height:54px;border-radius:7px;overflow:hidden;transition:border-color .2s,box-shadow .2s}#thumbnails button.active{border-color:#d4bb92;box-shadow:0 0 0 1px #c1a67c66,0 0 12px #d4bb9220}#thumbnails img{border-radius:4px}#history #recovery{max-width:320px;max-height:64px;overflow:auto;margin-bottom:5px}#history .quiet{font-size:10px}#progress{bottom:170px}.palette{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:9px;font-size:9px;color:#a7adb6}.palette>span{display:inline-flex;align-items:center;gap:4px}.palette i{width:9px;height:9px;border-radius:50%;margin:0;border:1px solid #ffffff30}
@media(max-width:768px){#stage #history{left:14px;bottom:32px;max-width:calc(100% - 28px);padding:10px}#thumbnails{max-width:min(360px,calc(100vw - 56px))}#thumbnails button{flex-basis:46px;height:46px}#history #recovery{max-width:260px}#progress{bottom:160px}}
/* Compact history dock; hidden content cannot intercept viewport gestures. */
#stage #history{padding:0;overflow:hidden;transition:border-radius .25s ease;max-width:calc(100% - 44px)}
#history .history-head{width:100%;min-height:44px;padding:0 12px;margin:0;gap:8px;justify-content:flex-start;text-align:left;letter-spacing:.04em}
#history .history-head span{margin:0;color:inherit}
#history .history-seal{display:grid;place-items:center;width:19px;height:19px;border:1px solid #b7a38966;border-radius:4px;font:11px serif;color:#cbb896}
#history #historyCount{font:10px monospace;padding:2px 6px;min-width:19px;text-align:center}
#history #historyToggleLabel{margin-left:auto;font-size:10px;color:#8e99a7}
#history #historyNew{color:#dbc49e;font-size:9px}
.history-chevron{flex-shrink:0;transition:transform .25s ease}
#historyBody{display:grid;grid-template-rows:1fr;opacity:1;max-width:384px;transition:grid-template-rows .25s ease,opacity .2s ease,max-width .25s ease,visibility .25s;visibility:visible}
.history-content{min-height:0;overflow:hidden;width:min(384px,calc(100vw - 44px));padding:0 12px;box-sizing:border-box}
.history-content:after{content:'';display:block;height:12px}
#history.is-collapsed{border-radius:23px}
#history.is-collapsed #historyBody{grid-template-rows:0fr;opacity:0;max-width:0;visibility:hidden;pointer-events:none}
#history.is-collapsed .history-chevron{transform:rotate(180deg)}
#historyToggle:hover{background:#ffffff07}
#historyToggle:focus-visible{outline:1px solid #d4bb92;outline-offset:-3px;border-radius:inherit}
@media(max-width:768px){#stage #history{padding:0;left:max(14px,env(safe-area-inset-left));bottom:32px;max-width:calc(100% - 28px)}.history-content{width:min(344px,calc(100vw - 28px))}#history .history-head{min-height:44px}#history #thumbnails{max-width:100%}}
@media(prefers-reduced-motion:reduce){#stage #history,#historyBody,.history-chevron{transition:none}}
/* Primary action follows the selected result, including restored work. */
#stylize{width:100%;height:42px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;font-size:12px;letter-spacing:.12em}
#stylize.secondary{background:transparent;border:1px solid #b7a38944;color:#a6a29b;font-weight:400;box-shadow:none;animation:none!important}
#stylize.secondary:not(:disabled):hover{background:#b7a3890c;border-color:#b7a38988;color:#d3c4af}
#forge.primary{width:auto;background:linear-gradient(110deg,#922d27,#b63d30);border-color:#c5a16d!important;color:#fff0db;font-weight:600;box-shadow:0 0 16px #ba8b4533,inset 0 1px #ffe0ac22}
#forge.primary:not(:disabled):hover{background:linear-gradient(110deg,#aa352b,#c54a39);box-shadow:0 0 22px #ba8b4555}
#forge.primary.next-action:not(:disabled){animation:next-action-glow 2.8s ease-in-out infinite!important}
@keyframes next-action-glow{0%,100%{box-shadow:0 0 12px #ba8b4526,inset 0 1px #ffe0ac22}50%{box-shadow:0 0 24px #c69b6055,inset 0 1px #ffe0ac44}}
@media(prefers-reduced-motion:reduce){#forge.primary.next-action:not(:disabled){animation:none!important}}

/* A continuous mobile workspace with the original actions always reachable. */
#mobileActions{display:none}
@media(max-width:768px), (max-width:1024px) and (orientation:portrait){
 html,body{height:auto;min-height:100dvh;max-height:none;overflow:visible}
 body{display:block}
 header{height:52px;padding:0 18px}
 main{display:block;padding-bottom:calc(112px + env(safe-area-inset-bottom))}
 .workspace{display:flex;flex-direction:column;min-height:0}
 .canvas-panel,body[data-mobile-view=inspect] .canvas-panel{display:flex;order:-1;flex:none;width:100%;height:40vh;height:40dvh;min-height:250px;max-height:480px;border-bottom:1px solid #ffffff16}
 .panel,body[data-mobile-view=inspect] .panel{display:block;flex:none;width:100%;overflow:visible;padding:18px max(20px,env(safe-area-inset-left)) 20px;border:0}
 .canvas-bar{height:44px;padding:0 18px}
 #stage{min-height:0}
 #concept{padding:8px 16px 54px}
 #empty{padding:12px}
 .empty-emblem{width:60px;height:60px;margin:0 auto 24px}
 .empty-emblem span{font-size:32px}
 #empty h3{font-size:14px;margin-bottom:8px}
 #empty p{font-size:10px}
 .empty-line{display:none}
 .intro{margin-bottom:14px}
 h1{font-size:23px}
 .eyebrow{font-size:8px;margin-bottom:6px}
 .subtitle{margin:7px 0 12px}
 .steps{padding-bottom:10px}
 .dropzone{height:100px}
 .second{margin-top:14px}
 .types button{min-height:44px}
 .action-area{margin-top:10px}
 .canvas-bottom{margin-top:10px;padding-top:10px}
 #stage #history{left:14px;bottom:8px}
 .stage-note{right:16px;bottom:22px}
 #progress{bottom:62px;padding:10px}
 #mobileActions{display:block;position:fixed;z-index:20;bottom:0;left:0;right:0;padding:10px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#14171bf5;border-top:1px solid #b7a38944;box-shadow:0 -8px 28px #0005;backdrop-filter:blur(16px)}
 #mobileActionHint{margin:0 0 8px;font-size:10px;line-height:16px;color:#c6b697;text-align:center}
 .mobile-action-buttons{display:flex;gap:10px;max-width:680px;margin:auto}
 #mobileActions #stylize,#mobileActions #forge{flex:1;width:auto;min-width:0;height:48px;min-height:48px;padding:0 12px;font-size:12px;letter-spacing:0;display:flex;justify-content:center;align-items:center;gap:8px;clip-path:none}
 #mobileActions #forge{border:1px solid #b7a38944;background:#b7a3890c}
 #mobileActions.has-result #forge{flex:1.65;background:linear-gradient(110deg,#922d27,#b63d30);color:#fff0db}
 #mobileActions #stylize span:last-child{display:none}
 footer{height:auto;min-height:34px;padding:10px 20px;gap:12px}
 footer>span:nth-child(2){display:block;white-space:nowrap}
 footer>span:last-child{display:none}
}

#thumbnails button{position:relative;flex-basis:64px;height:68px;padding-bottom:18px}
#thumbnails .history-status{position:absolute;left:0;right:0;bottom:0;line-height:18px;font-size:9px;color:#e2cda9;background:#17191eee;text-align:center;white-space:nowrap}
/* Landscape: all controls left. Portrait: forging follows the viewer. */
html,body{height:100dvh;min-height:0;max-height:100dvh;overflow:hidden}
body{display:flex;flex-direction:column}
main{display:flex;flex:1;min-height:0;max-width:none;width:100%;margin:0;padding:0}
.workspace{display:flex;flex-direction:row;flex:1;min-height:0;overflow:hidden}
.panel,body[data-mobile-view=inspect] .panel{display:block;flex:0 0 clamp(280px,29vw,390px);width:auto;min-height:0;overflow-y:auto;border-right:1px solid #ffffff12;border-bottom:0;padding:22px 24px}
.intro{display:block}.steps{min-width:0;gap:8px}.types{grid-template-columns:repeat(3,1fr)}
.action-area{margin-top:18px}
.canvas-panel,body[data-mobile-view=inspect] .canvas-panel{display:flex;order:0;flex:1;min-width:0;min-height:0;width:auto;height:auto;max-height:none;border:0}
#stage{flex:1;min-height:0}
.canvas-panel>.canvas-bottom{flex:0 0 auto;margin:0;padding:16px 24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px 20px;background:#111419;border-top:1px solid #ffffff12}
.canvas-bottom .third{grid-column:1/-1;margin:0 0 2px}.canvas-bottom .export-actions{width:auto;justify-content:flex-end;align-self:center}.canvas-bottom small{margin-bottom:0}
.model-quality-note{grid-column:1/-1;margin:0}.canvas-panel>#arStatus{flex:none;margin:0;padding:0 24px 12px;background:#111419}
#mobileActions{display:none}footer{height:31px;min-height:31px;padding:0 24px}footer>span:nth-child(2){display:block}
@media(orientation:portrait){
 html,body{height:auto;min-height:100dvh;max-height:none;overflow:visible}body{display:block}
 main{display:block;padding:0}.workspace{display:flex;flex-direction:column;overflow:visible}
 .panel,body[data-mobile-view=inspect] .panel{flex:none;width:100%;overflow:visible;border-right:0;border-bottom:1px solid #ffffff12;padding:22px 20px}
 .canvas-panel,body[data-mobile-view=inspect] .canvas-panel{flex:none;width:100%;height:auto;min-height:0;max-height:none}
 #stage{flex:none;height:52dvh;min-height:300px;max-height:600px}
 .canvas-panel>.canvas-bottom{grid-template-columns:1fr;padding:18px 20px;gap:12px}.canvas-bottom .third,.model-quality-note{grid-column:1}
 .canvas-bottom .export-actions{width:100%;justify-content:stretch}.export-actions>*{flex:1}
 footer{height:auto;min-height:44px;padding:12px 20px calc(12px + env(safe-area-inset-bottom));gap:12px}footer>span:last-child{display:none}
}
@media(orientation:landscape) and (max-height:600px){header{height:44px;flex-basis:44px}.panel,body[data-mobile-view=inspect] .panel{padding:16px}.canvas-panel>.canvas-bottom{padding:10px 16px;gap:6px 12px}.empty-emblem{width:60px;height:60px;margin-bottom:20px}.empty-emblem span{font-size:30px}#empty h3{font-size:12px}#empty p,.empty-line{display:none}}

/* The complete forging section moves without cloning controls or their state. */
.panel>#forgePanel{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;margin-top:20px;padding:18px 0 0;border-top:1px solid #ffffff12}
.panel>#forgePanel .third,.panel>#forgePanel .model-quality-note{grid-column:1}
.panel>#forgePanel .export-actions{width:100%;justify-content:stretch}
.panel>#forgePanel .export-actions>*{flex:1 1 auto;min-width:0}
.panel>#forgePanel #forge{flex-basis:100%;white-space:normal;height:auto;min-height:44px;line-height:1.5}
#forgePanel #arStatus{grid-column:1/-1;margin:0;padding:0;overflow-wrap:anywhere}
/* Compact language control with room for translated labels. */
#language{margin-left:auto;flex-shrink:0;max-width:120px;padding:7px 25px 7px 10px;color:#c8cdd5;background:#191d24;border:1px solid #ffffff25;border-radius:5px;font-size:11px;cursor:pointer;color-scheme:dark}
#language:focus-visible{outline:1px solid #d4bb92;outline-offset:3px}
html:not([lang^="zh"]):not([lang="ja"]) h1{font-size:clamp(22px,2.3vw,32px);letter-spacing:.01em}
.types button{overflow-wrap:anywhere;line-height:1.4;padding:7px 4px}
.steps{flex-wrap:wrap}.tabs button{white-space:normal;line-height:1.4}.export-actions>*{white-space:normal!important;height:auto!important;min-height:42px;line-height:1.5}
#prepareAR,#quicklook-link,#download{display:none!important}
@media(max-width:768px){#language{max-width:105px;font-size:11px}header{gap:12px}.brand-logo{max-width:150px;height:auto}.tabs button{font-size:11px}.canvas-bar{padding:0 12px}}
/* Keep recovered cloud progress visible independently of selection. */
#progress.resuming{top:50%;bottom:auto;transform:translateY(-50%);padding:22px;box-shadow:0 12px 50px #0008}
#progress.resuming progress{height:6px;animation:forge-breath 1.6s ease-in-out infinite}
#forge.syncing{opacity:1;line-height:1.6;min-height:48px;height:auto;letter-spacing:0;animation:forge-breath 1.6s ease-in-out infinite}
#forge.syncing::after{content:' •••';letter-spacing:3px;animation:forge-breath 1s ease-in-out infinite}

/* Native fallback; frame-driven scrolling temporarily owns interpolation. */
@media(orientation:portrait){
 html,.workspace{scroll-behavior:smooth}
 .canvas-panel{scroll-margin-top:56px}
}
html.stage-scroll-active,html.stage-scroll-active .workspace{scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){html,.workspace{scroll-behavior:auto!important}}

/* Prevent native selection and iOS callouts across the app chrome. */
* {
 -webkit-user-select:none;
 -moz-user-select:none;
 -ms-user-select:none;
 user-select:none;
 -webkit-touch-callout:none;
 -webkit-tap-highlight-color:transparent;
}
/* Preserve native editing and clipboard menus in editable fields. */
input,textarea,[contenteditable]:not([contenteditable="false"]),
[contenteditable]:not([contenteditable="false"]) * {
 -webkit-user-select:text;
 -moz-user-select:text;
 -ms-user-select:text;
 user-select:text;
 -webkit-touch-callout:default;
}
#concept,#viewer canvas { -webkit-user-drag:none; }
#viewer,#viewer canvas { touch-action:none; }

/* Cold iron menu finish. Only visual properties; layout remains unchanged. */
:root{--gold:#d8c8a8;--menu-line:rgba(197,180,150,.12)}
body{background:#060709;color:#dfcfb2}
header{background:linear-gradient(110deg,#08090c,#060709);border-color:var(--menu-line)}
.panel,body[data-mobile-view=inspect] .panel{background:linear-gradient(135deg,#0b0b0a,#060709);border-color:var(--menu-line)}
h1,h2{color:#dfcfb2}.eyebrow,h2 em{color:#c5b496}.subtitle,.micro{color:#968c7c}
.steps{border-color:var(--menu-line);color:#7a7164}.steps .current{color:#dfcfb2}
.section-head>span,.model-quality-note{color:#968c7c}
.dropzone{background:#060709;border-color:rgba(197,180,150,.2)}
.dropzone:hover,.dropzone.drag{border-color:rgba(223,207,178,.4);box-shadow:inset 0 0 20px #b5d5f007}
.upload-icon,.dropzone u{color:#d8c8a8}.replace{background:#0b0e13dd;color:#dfcfb2}
.types button{background:linear-gradient(145deg,#171b2080,#0c0e1280);border-color:var(--menu-line);color:#c5b496}
.types button:hover{border-color:rgba(255,255,255,.3);box-shadow:inset 0 0 14px #c2ddf008}
.types button.selected{color:#111820;border-color:#eff5fb;background:linear-gradient(135deg,#dfcfb2,#c1ccd8);box-shadow:inset 0 0 0 1px #ffffff55,0 0 14px #a9c6e51a}
.types button.selected>span{color:#17212b}
.canvas-panel,.canvas-bar{background:#07080a;border-color:var(--menu-line)}
#stage{background:radial-gradient(circle at 45% 42%,#11100e 0%,#07080a 65%,#07080a 100%)}
.corner{border-color:rgba(197,180,150,.18)}
.tabs button{color:#968c7c}.tabs button.active{color:#dfcfb2}.tabs button.active:after{background:#a8241e;box-shadow:0 -1px 8px #b6d1ed24}.tabs button.active span{color:#c5b496;opacity:1}
.view-label,.stage-note{color:#7a7164}
.empty-emblem{border-color:#b4c7df20}.empty-emblem:before{border-color:#b4c7df0d}.empty-emblem span{color:#a0b4cd70}
#empty h3{color:#d8c8a8}#empty p{color:#968c7c}.empty-line{background:#a8241e}
.primary,#forge.primary,#mobileActions.has-result #forge{background:linear-gradient(110deg,#242c35,#38272e);color:#dfcfb2;border-color:#8392a060!important;box-shadow:inset 0 0 0 1px #b6c8dc35,inset 0 1px #edf6ff12,0 0 16px #6e34461a}
.primary:not(:disabled):hover,#forge.primary:not(:disabled):hover{background:linear-gradient(110deg,#303b47,#50303a);box-shadow:inset 0 0 0 1px #d7e6f16b,inset 0 0 18px #aec7df0b,0 0 18px #963e5124}
#stylize.secondary,.canvas-bottom button,#mobileActions #forge{background:#100e0d;color:#c5b496;border-color:#a7bdd230!important;box-shadow:none}
#stylize.secondary:not(:disabled):hover,.canvas-bottom button:not(:disabled):hover{background:#241510;color:#dfcfb2;border-color:#c3d2e25c!important}
.export-actions>*{border-color:#a7bdd230!important}
.canvas-panel>.canvas-bottom,.canvas-panel>#arStatus{background:#08090c;border-color:var(--menu-line)}
.dot{background:#be2c24}.canvas-bottom>div{color:#c5b496}
#viewerTools{background:#10151ce8;border-color:#aec7de2b}#viewerTools [aria-pressed=true]{color:#dfcfb2;background:#491c17}
#progress{background:#0b1017ee;border-color:#8baac03d;color:#dfcfb2}progress{accent-color:#be2c24}
#recovery{color:#c5b496}#error,#storageError{color:#d58f79}
#stage #history{border-color:#b4c7df26;background:linear-gradient(135deg,#151b23ed,#0b0f15e8);box-shadow:0 10px 32px #0006,inset 0 1px #e6f2ff08}
#history .history-head{color:#d8c8a8}#history .history-seal{border-color:#b4c7df40;color:#c9352b}#history #historyNew{color:#c9352b}
#thumbnails button.active{border-color:#e0ebf7;box-shadow:0 0 0 1px #bfd2e650,0 0 12px #c6dcf21a}#thumbnails .history-status{color:#d8c8a8;background:#10161fee}
#historyToggle:focus-visible,#language:focus-visible{outline-color:#dfcfb2}
#language{background:#100e0d;border-color:#b4c7df30;color:#dfcfb2}
#mobileActions{background:#0d1117f5;border-color:#b4c7df30}#mobileActionHint{color:#c5b496}
footer{color:#968c7c;border-color:var(--menu-line)}
@keyframes next-action-glow{0%,100%{box-shadow:inset 0 0 0 1px #b6c8dc35,0 0 12px #71334418}50%{box-shadow:inset 0 0 0 1px #c1d1e050,0 0 20px #8640522e}}

/* Final charcoal, aged silk and cinnabar finish. No layout changes. */
:root{--wuxia-yellow:#dfcfb2;--gold:#d8c8a8;--cinnabar:#a8241e;--menu-line:#c5b49624}
body{background:#060709 url('./assets/bg-wuxia-dark.png') center/cover fixed;background-blend-mode:soft-light;color:#dfcfb2}
header{background:#060709ef}.panel,body[data-mobile-view=inspect] .panel{background:linear-gradient(135deg,#0b0b0aed,#060709f5);scrollbar-color:#443b30 transparent}
.types button{background:linear-gradient(145deg,#12110f,#070809);border-color:#c5b4962d;color:#c5b496}
.types button:hover{border-color:#c5b49680;box-shadow:inset 0 0 14px #dfcfb20a,0 0 12px #a8241e20}
.types button.selected{color:#dfcfb2;border-color:#d8c8a8a0;background:linear-gradient(135deg,#a8241e 0 5px,transparent 5px),linear-gradient(315deg,#a8241e 0 5px,transparent 5px),linear-gradient(135deg,#201712,#090909);box-shadow:inset 0 0 14px #a8241e16,0 0 10px #a8241e16}
.types button.selected>span{color:#dfcfb2}
#stage{background:linear-gradient(#07080a70,#07080ab5),url('./assets/bg-wuxia-dark.png') center/cover,#07080a}
.primary,#forge.primary,#mobileActions.has-result #forge{background:linear-gradient(110deg,#a8241e,#be2c24);color:#dfcfb2;border-color:#c5b49666!important;box-shadow:inset 0 0 0 1px #c5b49640,inset 0 1px #dfcfb21c,0 0 16px #a8241e1a}
.primary:not(:disabled):hover,#forge.primary:not(:disabled):hover,#mobileActions.has-result #forge:not(:disabled):hover{background:linear-gradient(110deg,#be2c24,#c9352b);box-shadow:inset 0 0 0 1px #dfcfb26b,0 0 18px #a8241e33}
.primary:disabled,#forge:disabled{opacity:.55}
.steps .current{text-shadow:0 0 16px #a8241e66}.steps .current::first-letter{color:#c9352b}
.tabs button.active:after{background:#a8241e;box-shadow:0 -1px 8px #a8241e44}
.empty-emblem{border-color:#c5b49630}.empty-emblem:before{border-color:#c5b49613}.empty-emblem span{color:#c5b49688}
.corner{border-color:#c5b49638}.dot{background:#be2c24;box-shadow:0 0 6px #a8241e55}
.edition,.quiet,.dropzone p,.dropzone small,.canvas-bottom small,#arStatus,.history-empty{color:#968c7c}.palette{color:#c5b496}
#viewerTools{background:#090909eb;border-color:#c5b49640;color:#d8c8a8}
#progress{background:#080909ee;border-color:#a8241e66}progress{accent-color:#be2c24;background:#201410}progress::-webkit-progress-bar{background:#201410}progress::-webkit-progress-value{background:#be2c24}progress::-moz-progress-bar{background:#be2c24}
#stage #history{border-color:#c5b49633;background:linear-gradient(135deg,#13110fec,#070809ee);box-shadow:0 10px 32px #0006,inset 0 1px #dfcfb20b}
#history .history-seal{border-color:#a8241e99;color:#c9352b}#historyCount{color:#c5b496;background:#dfcfb20b}#thumbnails button.active{border-color:#d8c8a8;box-shadow:0 0 0 1px #a8241e60,0 0 12px #a8241e22}#thumbnails .history-status{background:#100d0cee}
#language{background:#100e0c;border-color:#c5b49640}#mobileActions{background:#080909f5;border-color:#c5b49640}
.export-actions>*{border-color:#c5b49640!important}#quicklook-link{color:#dfcfb2}.canvas-bottom #prepareAR{background:#171310;border-color:#c5b49640}
button:focus-visible,a:focus-visible{outline-color:#dfcfb2}footer{background:#060709}footer>span:nth-child(2){color:#fff}
@keyframes next-action-glow{0%,100%{box-shadow:inset 0 0 0 1px #c5b49640,0 0 12px #a8241e18}50%{box-shadow:inset 0 0 0 1px #dfcfb260,0 0 20px #a8241e40}}
#exportCardBtn{position:absolute;z-index:5;right:22px;bottom:90px;min-height:44px;padding:10px 15px;border:1px solid #b5a18166;border-radius:4px;background:linear-gradient(135deg,#24201bf5,#090909f5);box-shadow:0 6px 24px #0008;color:#dfcfb2;font-size:12px;letter-spacing:.05em}#exportCardBtn:hover{border-color:#dfcfb2}#exportCardBtn:disabled{opacity:.45}#exportCardBtn[hidden]{display:none}#exportCardBtn:focus-visible,#cardDialog button:focus-visible{outline:2px solid #dfcfb2;outline-offset:3px}
#cardDialog{padding:20px;width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 32px);border:1px solid #ad95734d;border-radius:6px;background:#0e0d0c;color:#dfcfb2;box-shadow:0 24px 100px #000c;overflow:auto}#cardDialog::backdrop{background:#000d;backdrop-filter:blur(8px)}#cardTitle{font:18px Georgia,serif;margin:0}#cardPreview{display:block;width:min(100%,46.5dvh);height:auto;aspect-ratio:3 / 4;max-width:100%;max-height:62dvh;margin:16px auto;object-fit:contain;-webkit-touch-callout:default!important;user-select:auto!important;-webkit-user-select:auto!important}#cardPreview[hidden]{display:none}#cardHint,#cardMessage{font-size:12px;line-height:1.7;color:#aa9b85}#cardMessage:empty{display:none}.card-actions{display:flex;gap:10px;position:sticky;bottom:0;background:#0e0d0c;padding-top:10px}.card-actions button{min-height:44px;padding:10px 16px;border:1px solid #a58d6866;color:#dfcfb2}.card-actions button:first-child{flex:1;background:#78221c}.card-actions button:disabled{opacity:.4}@media(max-width:768px){#exportCardBtn{right:14px;bottom:76px;font-size:11px;padding:9px 12px}#cardDialog{padding:15px}}
@media(max-width:600px){#stage:has(#history:not(.is-collapsed)) #exportCardBtn{bottom:190px}}

.equipment-groups{display:flex;gap:6px;margin:0 0 10px;border-bottom:1px solid #c5b4962d;padding-bottom:8px}
.equipment-groups button{flex:1;min-height:40px;padding:7px 8px;color:#998b76;background:transparent;border:1px solid transparent;font:inherit;font-size:11px;line-height:1.5}
.equipment-groups button[aria-pressed="true"]{color:#dfcfb2;border-color:#c5b49650;background:#a8241e16;box-shadow:inset 0 -2px #a8241e}
#types button[hidden]{display:none!important}

#cardHint{padding:12px 14px;border:1px solid rgba(155,130,89,.35);border-left:2px solid #a83228;background:rgba(18,20,24,.7);color:#d8c8a8;line-height:1.85;overflow-wrap:anywhere}

/* Unified KaiTi typography and content-sized multilingual layout. */
:root{--font-kaiti:KaiTi,STKaiti,楷体,serif;font-family:var(--font-kaiti)}
body,body *,dialog,dialog *{font-family:var(--font-kaiti)!important}
body{line-height:1.65}button,input,select,textarea{line-height:1.5;letter-spacing:.025em}button{white-space:normal;overflow-wrap:anywhere}
h1,h2,h3,p,label{overflow-wrap:anywhere}h1{line-height:1.45;letter-spacing:.05em}h2{line-height:1.65;letter-spacing:.04em}
header{height:auto;min-height:64px;flex:0 0 auto;padding:12px 26px;gap:20px;flex-wrap:wrap;align-items:center}.brands{min-width:0}.brand-logo{max-width:100%;height:auto;width:150px}.edition{line-height:1.6;letter-spacing:.05em}#language{height:auto;min-height:38px;padding:7px 10px;margin-left:auto;flex-shrink:0;max-width:130px}
.panel{padding:24px;flex-basis:390px}.intro{margin-bottom:24px}.subtitle{line-height:1.8;letter-spacing:.04em;margin:10px 0 18px}.steps{gap:12px;align-items:flex-start;line-height:1.65;letter-spacing:0}.steps>span{flex:1;min-width:0;display:block}
.section-head{gap:10px;align-items:flex-start;flex-wrap:wrap;margin-bottom:14px}.section-head h2{display:flex;gap:9px;align-items:baseline;min-width:0}.section-head h2 em{flex-shrink:0;margin:0;line-height:inherit}.section-head>span{line-height:1.65}.second{margin-top:26px}
.dropzone{height:auto;min-height:146px;padding:16px 12px}.dropzone:has(img:not([hidden])){height:160px;padding:8px}.dropzone p{line-height:1.7}.dropzone small{display:block;line-height:1.6}.upload-icon{margin-bottom:8px}.replace{left:0}
.equipment-groups{gap:10px;margin-bottom:14px;padding-bottom:12px}.equipment-groups button{min-width:0;min-height:48px;height:auto;padding:10px 12px;font-size:13px;line-height:1.65}
.types{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.types button{height:auto;min-height:48px;min-width:0;padding:12px 8px;font-size:13px;line-height:1.65}
.action-area{margin-top:20px}#stylize,.primary,.canvas-bottom button,#mobileActions #stylize,#mobileActions #forge{height:auto;min-height:48px;padding:12px 14px;gap:10px;line-height:1.6;letter-spacing:.03em;white-space:normal}.primary>span{flex-shrink:0}.micro{line-height:1.8;margin:12px 0}.canvas-bottom{margin-top:22px;padding-top:20px}.canvas-bottom small{line-height:1.75}.export-actions{gap:12px}.export-actions>*{max-width:100%;min-width:0;height:auto}.export-actions #forge{white-space:normal}.canvas-bottom button span{margin-left:0}.model-quality-note{line-height:1.8}
.canvas-bar{height:auto;min-height:56px;padding:0 22px;gap:14px}.tabs{height:auto;gap:20px;min-width:0}.tabs button{height:auto;min-height:56px;padding:12px 2px;line-height:1.6}.tabs span{display:inline-block}.view-label{line-height:1.7}
#stage{min-height:320px}#empty{max-width:100%;padding:24px 24px 90px}#empty h3,#empty p{line-height:1.8;letter-spacing:.04em}#viewerTools{max-width:calc(100% - 44px);flex-wrap:wrap}#viewerTools>*{line-height:1.5}
#stage #history{max-width:calc(100% - 44px)}#history .history-head{padding:10px 12px;gap:10px;flex-wrap:wrap;line-height:1.7;height:auto}#history .history-seal,#historyCount,.history-chevron{flex-shrink:0}#history .history-seal{width:24px;height:24px}#history #historyCount{line-height:1.6;padding:3px 8px}#historyBody,.history-content{max-width:100%}.history-content{padding:4px 12px 0}#thumbnails{padding:4px;gap:12px}#thumbnails button{flex:0 0 80px;height:auto;min-height:96px;padding:4px;display:flex;flex-direction:column;gap:5px}#thumbnails img{height:64px;flex-shrink:0}#thumbnails .history-status{position:static;display:block;white-space:normal;line-height:1.5;padding:4px;width:100%;font-size:10px}.history-empty{line-height:1.8;margin:6px 0}
#cardTitle{line-height:1.6;letter-spacing:.03em}#cardHint{margin:20px 0;line-height:1.85}#cardMessage{margin:14px 0}.card-actions{position:static;flex-wrap:wrap;gap:12px;padding-top:16px;border-top:1px solid #c5b49624}.card-actions button{height:auto;line-height:1.65;min-width:0;flex:1 1 120px}
@media(max-width:768px),(max-width:1024px) and (orientation:portrait){header{height:auto;min-height:64px;padding:12px 18px;gap:12px}.panel,body[data-mobile-view=inspect] .panel{flex:none;padding:24px 20px 28px}.canvas-panel,body[data-mobile-view=inspect] .canvas-panel{height:auto;min-height:420px;max-height:none}#stage{min-height:350px}.canvas-bar{padding:0 16px}.tabs{gap:16px;flex:1}.tabs button{flex:1}#stage #history{max-width:calc(100% - 28px)}#mobileActions{position:sticky;bottom:0}.mobile-action-buttons{align-items:stretch}main{padding-bottom:20px}#mobileActionHint{line-height:1.7}.stage-note{display:none}#exportCardBtn{bottom:180px}#progress{bottom:200px}.empty-emblem{margin-bottom:24px}}
@media(max-width:360px){.brand-logo{width:120px}#language{max-width:110px}.panel{padding-left:16px;padding-right:16px}.types{grid-template-columns:repeat(2,minmax(0,1fr))}.mobile-action-buttons{flex-wrap:wrap}.mobile-action-buttons>button{flex-basis:100%!important}}

/* Emphasize the next available creation step. */
#stylize.next-action:not(:disabled),#forge.primary.next-action:not(:disabled){background:linear-gradient(110deg,#a8241e,#ce3929);border-color:#e4bd77!important;color:#fff0d3;font-weight:600;animation:creation-glow 2.4s ease-in-out infinite!important}
@keyframes creation-glow{0%,100%{box-shadow:inset 0 0 0 1px #e5ba7766,inset 0 0 12px #ffc86b20;filter:drop-shadow(0 0 3px #e2a54c55)}50%{box-shadow:inset 0 0 0 1px #ffe1a9aa,inset 0 0 22px #ffc86b45;filter:drop-shadow(0 0 7px #e2a54c99)}}
@media(prefers-reduced-motion:reduce){#stylize.next-action,#forge.primary.next-action{animation:none!important}}
/* Compact desktop controls for 768px-tall laptops and larger screens. */
@media(min-width:769px) and (orientation:landscape){
 header{min-height:54px;padding:7px 26px}
 .panel{padding:14px 20px;flex-basis:350px}
 .intro{margin-bottom:12px}h1{font-size:28px;line-height:1.3}
 .eyebrow{margin-bottom:5px}.subtitle{margin:5px 0 8px;line-height:1.5}
 .steps{padding-bottom:8px;gap:8px;font-size:11px}
 .section-head{margin-bottom:7px}.second{margin-top:12px}
 .dropzone,.dropzone:has(img:not([hidden])){height:104px;min-height:104px;padding:8px}
 .upload-icon{font-size:24px;line-height:1;margin-bottom:4px}.dropzone p{margin:4px 0}.dropzone small{line-height:1.3}
 .palette{margin-top:5px;gap:4px}
 .equipment-groups{gap:6px;margin-bottom:7px;padding-bottom:6px}
 .equipment-groups button{min-height:34px;padding:5px 7px;font-size:12px;line-height:1.4}
 .types{gap:6px}.types button{min-height:34px;padding:5px 6px;font-size:12px;line-height:1.4}
 .action-area{margin-top:12px}
 #stylize,.canvas-bottom button{min-height:40px;padding:8px 12px;line-height:1.4}
 .micro{margin:6px 0;line-height:1.4}
 .canvas-bottom{margin-top:10px;padding-top:10px;gap:7px}
 .canvas-bottom small{margin-top:4px;line-height:1.4}
 .export-actions{gap:6px}.model-quality-note{margin:5px 0 0;line-height:1.4}
 #error,#storageError,#recovery{margin:5px 0;line-height:1.4}
}
@media(min-width:769px) and (orientation:landscape){
 .panel{flex-basis:390px;padding-top:10px;padding-bottom:10px}
 h1{font-size:24px}.intro{margin-bottom:8px}.steps{font-size:10px;padding-bottom:6px}
 .second{margin-top:9px}.canvas-bottom{margin-top:6px;padding-top:6px}
 .canvas-bottom small{margin:3px 0 5px}.canvas-bottom .section-head{margin-bottom:5px}
 .canvas-bottom .export-actions{margin-top:5px}
 .action-area{margin-top:9px}
}
@media(min-width:769px) and (orientation:landscape){
 html:not([lang^="zh"]):not([lang="ja"]) h1{font-size:24px}
 .panel>#forgePanel{gap:5px;margin-top:6px;padding-top:6px}
 .panel>#forgePanel #forge{min-height:40px;line-height:1.4}
 .panel>#forgePanel .export-actions{margin-top:0}
}
/* Keep the export entry clear of the account status capsule. */
@media (orientation:landscape){#exportCardBtn{bottom:180px}}
