:root{--paper:#f3efe7;--bg:#f7f4ee;--surface:#fcfaf5;--surface-soft:#f1ece1;--surface-sink:#ece6d9;--ink:#3a352d;--ink-soft:#5c554a;--muted:#9a9183;--faint:#b8b0a1;--line:#e4ddd0;--line-soft:#ede7db;--clay:#b08968;--clay-deep:#9a7355;--gold:#c2a36b;--sage:#8a9a82;--blue:#7d99a6;--pink:#cda6a0;--danger:#b5705f;--shadow-sm:0 1px 2px #3a352d0a;--shadow:0 10px 30px #60523a12;--shadow-lg:0 22px 60px #60523a1f;--radius-xs:4px;--radius-sm:8px;--radius:12px;--radius-lg:18px;--serif:"Cormorant Garamond", "Noto Serif SC", "Songti SC", "STSong", Georgia, serif;--serif-cn:"Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;--display:"Playfair Display", "Noto Serif SC", Georgia, serif;--script:"Caveat", "Segoe Script", cursive;--sans:"Montserrat", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;font-family:var(--sans);color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit}img{max-width:100%}pre{white-space:pre-wrap;word-break:break-word}#root{min-height:100vh}::selection{background:#b0896838}.app-shell{background:radial-gradient(120% 60% at 50% 0, #fffdf8b3, transparent 60%), var(--paper);min-height:100vh;padding:24px 0}.mini-app-frame{background:var(--bg);width:min(100%,428px);min-height:calc(100vh - 48px);box-shadow:var(--shadow-lg);border-radius:26px;margin:0 auto;position:relative;overflow:hidden}.mini-header{z-index:20;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line-soft);background:#f7f4eed1;position:sticky;top:0}.status-bar{height:40px;color:var(--ink-soft);letter-spacing:.3px;justify-content:space-between;align-items:center;padding:0 24px;font-size:14px;font-weight:500;display:flex}.status-icons{min-width:92px;color:var(--muted);justify-content:flex-end;font-size:12px;display:inline-flex}.mini-nav{grid-template-columns:44px minmax(0,1fr) 92px;align-items:center;min-height:62px;padding:4px 18px 12px;display:grid;position:relative}.nav-back{width:38px;height:38px;color:var(--ink-soft);background:0 0;border:0;border-radius:999px;font-size:30px;line-height:1;transition:background .16s}.nav-back:hover{background:var(--surface-soft)}.mini-title{justify-items:center;min-width:0;display:grid}.mini-title strong{color:var(--ink);font-family:var(--serif-cn);letter-spacing:1px;font-size:19px;font-weight:600;line-height:1.2}.mini-title span{color:var(--muted);letter-spacing:.4px;margin-top:3px;font-size:11px}.wechat-capsule{border:1px solid var(--line);background:var(--surface);border-radius:999px;justify-content:space-around;align-items:center;height:36px;display:flex}.wechat-capsule span{color:var(--ink-soft);letter-spacing:2px;font-size:18px;font-weight:600}.wechat-capsule i{border:3px solid var(--ink-soft);width:20px;height:20px;box-shadow:inset 0 0 0 3px var(--surface);border-radius:999px}.mini-content{min-height:calc(100vh - 210px);padding-bottom:108px}.page{width:100%;margin:0;padding:22px 20px 40px}.narrow-page,.result-page{width:100%}.split-page,.result-hero,.preview-grid{grid-template-columns:1fr;gap:20px;display:grid}.mini-tabbar{z-index:18;border-top:1px solid var(--line-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fcfaf5e6;border-radius:24px 24px 0 0;grid-template-columns:repeat(5,1fr);align-items:end;min-height:76px;padding:10px 14px 14px;display:grid;position:sticky;bottom:0;box-shadow:0 -10px 30px #60523a0d}.mini-tabbar a{color:var(--faint);letter-spacing:.5px;justify-items:center;gap:4px;font-size:11px;font-weight:500;text-decoration:none;transition:color .16s;display:grid}.mini-tabbar a.active{color:var(--clay-deep)}.mini-tabbar .tab-create{width:54px;height:54px;color:var(--surface);background:var(--clay);border-radius:999px;place-self:center;place-items:center;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 20px #b0896852}.mini-tabbar .tab-create:hover{transform:translateY(-2px);box-shadow:0 12px 26px #b0896866}.dev-note{display:none}.primary-button,.secondary-button,.ghost-danger,.text-link-button{border-radius:var(--radius-sm);white-space:nowrap;min-height:50px;font-family:var(--sans);letter-spacing:.4px;border:0;justify-content:center;align-items:center;gap:8px;padding:13px 22px;font-size:15px;font-weight:500;text-decoration:none;transition:transform .16s,box-shadow .2s,background .2s;display:inline-flex}.primary-button{color:#fbf7ef;background:var(--clay);box-shadow:0 8px 22px #b0896842}.primary-button:hover{background:var(--clay-deep);transform:translateY(-1px)}.primary-button.dark{background:var(--ink);box-shadow:0 8px 22px #3a352d33}.primary-button.dark:hover{background:#2c281f}.secondary-button{color:var(--ink);border:1px solid var(--line);background:0 0}.secondary-button:hover{background:var(--surface-soft);border-color:var(--clay)}.secondary-button.soft{background:var(--surface)}.ghost-danger{color:var(--danger);background:0 0;border:1px solid #b5705f4d}.ghost-danger:hover{background:#b5705f14}.text-link-button{min-height:30px;color:var(--clay-deep);background:0 0;justify-content:flex-start;padding:0;font-weight:500}.text-link-button:hover{color:var(--clay)}.full{width:100%}.button-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.bottom-action{margin-top:28px}.bottom-action .primary-button{width:100%}.mini-home{padding-top:6px}.carousel{touch-action:pan-y;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.carousel-track{transition:transform .52s cubic-bezier(.22,.61,.36,1);display:flex}.carousel-slide{flex:0 0 100%;min-width:0}.carousel-dots{z-index:3;justify-content:center;gap:7px;display:flex;position:absolute;bottom:12px;left:0;right:0}.carousel-dots button{background:#3a352d38;border:0;border-radius:999px;width:6px;height:6px;padding:0;transition:width .26s,background .26s}.carousel-dots button.active{background:var(--clay);width:18px}.hero-carousel{border-radius:0;margin:0 -20px}.hero-banner{align-items:flex-end;min-height:318px;padding:26px;display:flex;position:relative;overflow:hidden}.hero-banner:before{content:"";opacity:.7;background-image:radial-gradient(#78684e0d 1px,#0000 1px);background-size:4px 4px;position:absolute;inset:0}.theme-sand{background:radial-gradient(140% 80% at 82% 12%,#cda6a057,#0000 55%),linear-gradient(168deg,#efe7d8,#e7ddcb 52%,#e2d6c2)}.theme-clay{background:radial-gradient(130% 80% at 18% 16%,#c2a36b66,#0000 56%),linear-gradient(165deg,#ecdcc6,#e3cdb0 60%,#dcc3a3)}.theme-blue{background:radial-gradient(140% 85% at 80% 14%,#7d99a66b,#0000 58%),linear-gradient(168deg,#e6e3d9,#dbe0db 55%,#d3ddde)}.theme-sage{background:radial-gradient(130% 80% at 20% 86%,#8a9a825c,#0000 55%),linear-gradient(168deg,#ebe8da,#e0e2d3 56%,#d8ddc9)}.hero-banner-copy{z-index:2;max-width:280px;color:var(--ink);position:relative}.hero-tag{color:var(--clay-deep);letter-spacing:1.5px;background:#fcfaf5b3;border-radius:999px;align-items:center;padding:4px 11px;font-size:11px;font-weight:600;display:inline-flex}.hero-eyebrow{color:var(--clay-deep);font-family:var(--sans);letter-spacing:4px;margin:14px 0 8px;font-size:10px;font-weight:600;display:block}.hero-banner-copy strong{font-family:var(--serif-cn);letter-spacing:1px;font-size:27px;font-weight:600;line-height:1.34;display:block}.hero-line{display:block}.hero-banner-copy p{max-width:252px;color:var(--ink-soft);margin:14px 0 0;font-size:13px;line-height:1.7}.hero-banner-poster{z-index:1;filter:drop-shadow(0 16px 30px #60523a33);width:124px;position:absolute;top:38px;right:-14px;transform:rotate(5deg)}.hero-banner-poster .poster-frame{width:100%;box-shadow:none;border-width:5px;border-radius:12px}.hero-banner-poster .poster-top{padding:12px 8px}.hero-banner-poster .poster-badge{border-width:3px;border-radius:12px;width:56px;height:46px}.hero-banner-poster .poster-badge small,.hero-banner-poster .ratio-label,.hero-banner-poster .poster-top p{display:none}.hero-banner-poster .poster-top h2{font-size:12px}.hero-banner-motif{z-index:1;width:200px;height:200px;position:absolute;top:-20px;right:-30px}.hero-banner-motif span{opacity:.5;border-radius:999px;display:block;position:absolute}.hero-banner-motif span:first-child{background:#fcfaf58c;width:150px;height:150px;top:30px;right:20px}.hero-banner-motif span:nth-child(2){background:#c2a36b52;width:84px;height:84px;top:120px;right:90px}.hero-banner-motif span:nth-child(3){background:#b0896847;width:50px;height:50px;top:140px;right:30px}.quick-entry-grid{grid-template-columns:repeat(4,1fr);gap:14px;padding:28px 0 24px;display:grid}.quick-entry{color:var(--ink-soft);justify-items:center;gap:10px;font-size:13px;font-weight:500;text-decoration:none;display:grid}.quick-entry svg{width:58px;height:58px;color:var(--clay-deep);background:var(--surface);border:1px solid var(--line-soft);box-shadow:var(--shadow-sm);border-radius:16px;padding:16px;transition:transform .18s,box-shadow .2s}.quick-entry:hover svg{box-shadow:var(--shadow);transform:translateY(-2px)}.quick-entry.active svg{color:#fbf7ef;background:var(--clay);border-color:#0000}.feature-panel{border-radius:var(--radius-lg);color:var(--ink);background:radial-gradient(120% 120% at 100% 0, #c2a36b1f, transparent 60%), var(--surface);border:1px solid var(--line-soft);box-shadow:var(--shadow);gap:18px;padding:30px 26px;display:grid}.feature-panel span{color:var(--clay-deep);letter-spacing:4px;font-size:11px;font-weight:600}.feature-panel h1{font-family:var(--serif-cn);letter-spacing:.6px;margin:14px 0;font-size:27px;font-weight:600;line-height:1.42}.feature-panel p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.85}.feature-panel .share-hint{color:var(--muted);letter-spacing:0;font-size:12px;line-height:1.7;display:block}.feature-panel .primary-button{color:#fbf7ef;background:var(--clay)}.section-block,.section-block.compact{margin-top:34px}.mini-section-title{margin-bottom:18px}.mini-section-title h2{color:var(--ink);font-family:var(--serif-cn);letter-spacing:.6px;margin:0;font-size:22px;font-weight:600}.mini-section-title span{color:var(--muted);margin-top:7px;font-size:13px;line-height:1.6;display:block}.section-heading span{color:var(--clay-deep)}.section-heading h2{font-family:var(--serif-cn);margin:8px 0 0;font-size:20px;font-weight:600;line-height:1.5}.recommend-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.recommend-card,.style-card,.select-card,.font-card,.choice-card{border:1px solid var(--line-soft);border-radius:var(--radius);min-width:0;color:var(--ink);background:var(--surface);text-align:left;box-shadow:var(--shadow-sm);padding:14px;transition:transform .18s,box-shadow .22s,border-color .2s}.recommend-card:hover,.select-card:hover,.font-card:hover{box-shadow:var(--shadow);border-color:var(--line);transform:translateY(-2px)}.recommend-card strong,.recommend-card span,.style-card strong,.style-card span,.style-card small,.select-card strong,.select-card span,.select-card small,.font-card strong,.font-card span,.font-card small{display:block}.recommend-card strong,.style-card strong,.select-card strong{font-family:var(--serif-cn);letter-spacing:.4px;margin-top:13px;font-size:17px;font-weight:600}.recommend-card span,.style-card span,.select-card span{color:var(--ink-soft);margin-top:7px;font-size:13px;line-height:1.6}.style-card small,.select-card small,.font-card small{color:var(--muted);margin-top:8px;font-size:12px;line-height:1.55}.home-work-strip{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.mini-work-card{border-radius:var(--radius);border:1px solid var(--line-soft);color:var(--ink);background:var(--surface);box-shadow:var(--shadow-sm);gap:10px;padding:10px;text-decoration:none;transition:transform .18s,box-shadow .22s;display:grid}.mini-work-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.mini-work-card img{aspect-ratio:3/4;border-radius:var(--radius-sm);object-fit:cover;width:100%}.mini-work-card strong{font-family:var(--serif-cn);letter-spacing:.4px;padding:0 2px 2px;font-size:14px;font-weight:600}.empty-mini-card{border-radius:var(--radius-lg);color:var(--muted);background:var(--surface);border:1px dashed var(--line);text-align:center;justify-items:center;gap:16px;padding:44px 22px;display:grid}.empty-mini-card svg{color:var(--faint)}.page-title h1,.empty-state h1,.success-card h1{color:var(--ink);font-family:var(--serif-cn);letter-spacing:.5px;margin:12px 0;font-size:25px;font-weight:600;line-height:1.42}.page-title p,.empty-state p,.success-card p{color:var(--ink-soft);margin:0;font-size:14px;line-height:1.8}.eyebrow{min-height:24px;color:var(--clay-deep);letter-spacing:1.5px;background:#c2a36b1f;border-radius:999px;align-items:center;padding:0 12px;font-size:11px;font-weight:600;display:inline-flex}.upload-hero-card,.mini-card,.control-card,.form-card,.generate-card,.table-card,.login-card,.success-card,.empty-state,.prompt-details,.admin-section{border:1px solid var(--line-soft);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm);padding:22px}.upload-hero-card h1{font-family:var(--serif-cn);letter-spacing:.5px;margin:14px 0 10px;font-size:24px;font-weight:600;line-height:1.45}.upload-hero-card p{color:var(--ink-soft);margin:0 0 14px;font-size:14px;line-height:1.8}.upload-panel{gap:14px;margin-top:16px;display:grid}.upload-drop{border:1.5px dashed var(--line);border-radius:var(--radius);min-height:196px;color:var(--ink-soft);background:var(--surface-soft);text-align:center;cursor:pointer;align-content:center;place-items:center;gap:10px;padding:26px;transition:border-color .2s,background .2s;display:grid}.upload-drop:hover{border-color:var(--clay);background:#f4eee2}.upload-drop svg{color:var(--clay-deep)}.upload-drop strong{font-family:var(--serif-cn);font-size:17px;font-weight:600}.upload-drop span{color:var(--muted);font-size:12.5px;line-height:1.6}.upload-drop.disabled{color:var(--faint);background:var(--surface-soft);border-color:var(--line-soft);cursor:not-allowed}.upload-drop input{display:none}.hint-list h3,.choice-group h3{font-family:var(--serif-cn);margin:0 0 4px;font-size:16px;font-weight:600}.policy-overlay{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3a352d57;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.policy-modal{border-radius:var(--radius-lg);background:var(--surface);width:min(100%,372px);max-height:min(80vh,680px);box-shadow:var(--shadow-lg);gap:14px;padding:26px;display:grid}.policy-icon{border-radius:var(--radius);color:#fbf7ef;background:var(--clay);place-items:center;width:50px;height:50px;display:grid}.policy-modal h2{font-family:var(--serif-cn);letter-spacing:.5px;margin:0;font-size:21px;font-weight:600}.policy-lead{color:var(--ink-soft);margin:0;font-size:13.5px;line-height:1.75}.policy-scroll{border-radius:var(--radius-sm);background:var(--surface-soft);border:1px solid var(--line-soft);max-height:240px;padding:14px;overflow:auto}.policy-scroll p{color:var(--ink-soft);margin:0 0 10px;font-size:12.5px;line-height:1.7}.policy-actions{grid-template-columns:1fr 1.3fr;gap:10px;display:grid}.preview-grid{margin-top:10px}.image-preview{aspect-ratio:4/3;border-radius:var(--radius);background:var(--surface-sink);border:1px solid var(--line-soft);overflow:hidden}.image-preview img,.order-preview img,.work-card img,.result-image img,.admin-card img,.thumb img{object-fit:cover;width:100%;height:100%}.hint-list{gap:10px;display:grid}.hint-list p,.status-line,.error-line,.muted{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.status-line{color:var(--ink-soft)}.error-line{color:var(--danger);font-weight:500}.poster-frame{aspect-ratio:3/4;border:7px solid var(--surface);border-radius:var(--radius);background:var(--surface);width:min(100%,348px);box-shadow:var(--shadow);margin:0 auto;position:relative;overflow:hidden}.poster-frame.enamel{--poster-bg:#f1e4c6;--poster-ink:#4a5a52;--poster-accent:#b89a5e}.poster-frame.anime{--poster-bg:#dfeaef;--poster-ink:#4a5d6b;--poster-accent:#c79aa0}.poster-frame.retro{--poster-bg:#ecd6ad;--poster-ink:#5a5347;--poster-accent:#b0735c}.poster-top{background:var(--poster-bg);text-align:center;height:46%;padding:26px 20px 14px;position:relative}.poster-top h2{color:var(--poster-ink);font-family:var(--serif);letter-spacing:1px;overflow-wrap:anywhere;margin:12px 0 5px;font-size:26px;font-weight:600;line-height:1.12}.poster-top p{color:var(--poster-ink);letter-spacing:1px;opacity:.72;margin:0;font-size:11px;font-weight:500}.poster-badge{border:4px solid var(--poster-accent);background:#ffffff80;border-radius:24px;width:132px;height:104px;margin:0 auto;position:relative}.badge-core,.badge-line{display:block;position:absolute}.badge-core{background:var(--poster-accent);opacity:.85;border-radius:48% 52% 44% 56%;width:64px;height:46px;top:22px;left:34px}.badge-line{background:var(--poster-ink);opacity:.7;border-radius:999px;width:76px;height:6px;bottom:22px;left:28px}.poster-badge small{color:var(--poster-ink);opacity:.7;font-size:9px;font-weight:500;position:absolute;bottom:7px;right:9px}.ratio-label{color:#fbf7ef;letter-spacing:.3px;background:#3a352d8c;border-radius:999px;padding:4px 9px;font-size:9.5px;position:absolute;bottom:10px;left:12px}.poster-bottom{background:var(--surface-sink);height:54%;position:relative;overflow:hidden}.poster-bottom img{object-fit:cover;width:100%;height:100%;transition:transform .16s}.ratio-label.bottom{top:10px;bottom:auto}.photo-placeholder{height:100%;color:var(--muted);background:linear-gradient(135deg,#7d99a629,#cda6a024),repeating-linear-gradient(45deg,#efe8db 0 12px,#e8dfcd 12px 24px);align-content:center;place-items:center;gap:10px;display:grid}.style-sample{border-radius:var(--radius-sm);background:var(--surface-soft);height:116px;position:relative;overflow:hidden}.style-sample span{opacity:.92;border-radius:999px;display:block;position:absolute}.style-sample span:first-child{width:126px;height:126px;top:-26px;left:-36px}.style-sample span:nth-child(2){width:92px;height:92px;top:18px;right:10px}.style-sample span:nth-child(3){border-radius:16px;width:150px;height:46px;bottom:10px;left:60px}.style-sample strong{color:var(--surface);font-family:var(--serif-cn);letter-spacing:1px;text-shadow:0 1px 6px #3a352d4d;font-size:18px;font-weight:600;position:absolute;bottom:12px;left:14px}.selected{border-color:var(--clay)!important;box-shadow:0 0 0 1px var(--clay), var(--shadow)!important}.card-grid{gap:14px;display:grid}.card-grid.three,.card-grid.six,.work-grid,.admin-list.two-col,.config-grid,.sample-grid,.admin-metrics{grid-template-columns:1fr}.font-card strong{min-height:40px;color:var(--ink);overflow-wrap:anywhere;font-size:22px}.font-card span{color:var(--ink-soft);margin-top:10px;font-weight:500}label{color:var(--ink-soft);letter-spacing:.3px;gap:8px;font-size:13px;font-weight:500;display:grid}input,select,textarea{border:1px solid var(--line);border-radius:var(--radius-sm);width:100%;color:var(--ink);background:var(--surface-soft);padding:13px 14px;font-size:14px;transition:border-color .18s,background .18s}input::placeholder,textarea::placeholder{color:var(--faint)}input:focus,select:focus,textarea:focus{border-color:var(--clay);background:var(--surface);outline:none}input[type=range]{accent-color:var(--clay);background:0 0;border:0;padding:0}textarea{resize:vertical}.control-card,.form-card{gap:16px;display:grid}.check-row{color:var(--ink-soft);grid-template-columns:auto 1fr;align-items:start;gap:10px;font-size:13px;font-weight:400;line-height:1.6}.check-row input{width:18px;height:18px;accent-color:var(--clay);margin-top:2px}.suggestion-row{flex-wrap:wrap;gap:8px;margin:18px 0 16px;display:flex}.suggestion-row button{border:1px solid var(--line);color:var(--ink-soft);background:var(--surface);border-radius:999px;padding:9px 15px;font-size:13px;font-weight:500;transition:all .18s}.suggestion-row button:hover{color:var(--clay-deep);border-color:var(--clay);background:#c2a36b14}.generate-summary{grid-template-columns:110px minmax(0,1fr);align-items:center;gap:16px;display:grid}.generate-summary .style-sample{height:92px}.generate-summary h3{font-family:var(--serif-cn);margin:0 0 6px;font-size:19px;font-weight:600}.generate-summary p,.generate-summary small{color:var(--muted);font-size:13px;line-height:1.6;display:block}.progress-track{background:var(--surface-sink);border-radius:999px;height:8px;margin:22px 0 14px;overflow:hidden}.progress-track span{border-radius:inherit;background:linear-gradient(90deg, var(--clay), var(--gold));height:100%;transition:width .2s;display:block}.result-image{aspect-ratio:3/4;border:7px solid var(--surface);border-radius:var(--radius);background:var(--surface-sink);box-shadow:var(--shadow);overflow:hidden}.result-side{gap:16px;display:grid}.choice-group{gap:10px;margin-top:4px;display:grid}.choice-card{align-items:center;display:flex}.choice-card strong,.choice-card small,.choice-card em{font-style:normal;display:block}.choice-card strong{font-family:var(--serif-cn);font-size:15px;font-weight:600}.choice-card small,.choice-card em{color:var(--muted);margin-top:4px;font-size:12.5px;line-height:1.55}.future-list{border-radius:var(--radius-sm);background:var(--surface-soft);color:var(--muted);gap:6px;margin-top:4px;padding:14px 16px;font-size:12.5px;display:grid}.future-box,.readonly-box{border-radius:var(--radius-sm);background:var(--surface-soft);border:1px solid var(--line-soft);gap:5px;margin:4px 0;padding:16px;display:grid}.future-box strong{font-family:var(--serif-cn);font-size:15px;font-weight:600}.future-box span,.readonly-box span{color:var(--muted);font-size:13px;line-height:1.6}.prompt-details{margin-top:18px}.prompt-details pre{border-radius:var(--radius-sm);max-height:360px;color:var(--ink-soft);background:var(--surface-soft);border:1px solid var(--line-soft);margin:14px 0 0;padding:16px;font-size:12px;line-height:1.7;overflow:auto}.plaza-carousel{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-bottom:22px}.plaza-slide{border:1px solid var(--line-soft);border-radius:var(--radius-lg);align-content:center;gap:8px;min-height:152px;padding:30px 28px 38px;display:grid;position:relative;overflow:hidden}.plaza-slide:before{content:"";opacity:.6;background-image:radial-gradient(#78684e0d 1px,#0000 1px);background-size:4px 4px;position:absolute;inset:0}.plaza-slide>*{z-index:1;position:relative}.plaza-tag{color:var(--clay-deep);letter-spacing:1.5px;background:#fcfaf5b3;border-radius:999px;justify-self:start;padding:4px 11px;font-size:11px;font-weight:600}.plaza-slide strong{color:var(--ink);font-family:var(--serif-cn);letter-spacing:1px;font-size:23px;font-weight:600}.plaza-slide p{max-width:280px;color:var(--ink-soft);margin:0;font-size:13px;line-height:1.7}.search-row{grid-template-columns:1fr auto;gap:10px;margin-bottom:14px;display:grid}.search-box{min-height:46px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:999px;align-items:center;gap:8px;padding:0 6px 0 16px;font-size:13px;display:flex}.search-box button{color:#fbf7ef;background:var(--clay);border:0;border-radius:999px;margin-left:auto;padding:9px 18px;font-size:13px;font-weight:500}.filter-button{border:1px solid var(--line);color:var(--ink-soft);background:var(--surface);border-radius:999px;align-items:center;gap:6px;padding:0 18px;font-size:13px;font-weight:500;display:inline-flex}.segment-control{background:var(--surface-soft);border:1px solid var(--line-soft);border-radius:999px;grid-template-columns:repeat(2,1fr);gap:0;margin-bottom:18px;padding:5px;display:grid}.segment-control button{color:var(--muted);background:0 0;border:0;border-radius:999px;padding:10px;font-size:13px;font-weight:500;transition:all .18s}.segment-control .active{color:var(--ink);background:var(--surface);box-shadow:var(--shadow-sm)}.plaza-tip{color:var(--muted);margin-bottom:14px;font-size:13px;line-height:1.6}.work-grid.plaza-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.work-card{border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-sm);gap:10px;padding:10px;transition:transform .18s,box-shadow .22s;display:grid}.work-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.plaza-image{border-radius:var(--radius-sm);background:var(--surface-soft);position:relative;overflow:hidden}.plaza-image img{aspect-ratio:1;object-fit:cover;width:100%}.plaza-image span{color:#fbf7ef;background:#3a352d80;border-radius:999px;align-items:center;gap:4px;padding:4px 9px;font-size:11px;font-weight:500;display:inline-flex;position:absolute;bottom:8px;right:8px}.work-card strong,.work-card span,.work-card small{display:block}.work-card strong{font-family:var(--serif-cn);padding:0 2px;font-size:15px;font-weight:600}.work-card span,.work-card small{color:var(--muted);margin-top:5px;padding:0 2px;font-size:12px}.work-card small{align-items:center;gap:4px;display:flex}.avatar-dot{vertical-align:middle;background:linear-gradient(135deg, var(--blue), var(--clay-deep));border-radius:999px;width:18px;height:18px;margin-right:4px;display:inline-block}.order-preview{aspect-ratio:3/4;border:7px solid var(--surface);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);overflow:hidden}.table-card{gap:12px;display:grid}.order-row{border-radius:var(--radius);background:var(--surface-soft);border:1px solid var(--line-soft);grid-template-columns:64px minmax(0,1fr);align-items:center;gap:14px;padding:14px;display:grid}.thumb{border-radius:var(--radius-sm);background:var(--surface-sink);width:64px;height:64px;color:var(--muted);place-items:center;display:grid;overflow:hidden}.order-row strong,.order-row span,.order-row small{display:block}.order-row strong{font-family:var(--serif-cn);letter-spacing:.5px;font-size:15px;font-weight:600}.order-row span,.order-row small{color:var(--muted);margin-top:4px;font-size:12.5px}.status-badge{min-height:28px;color:var(--ink-soft);background:var(--surface-sink);border-radius:999px;grid-column:1/-1;justify-self:start;align-items:center;padding:0 12px;font-size:12px;font-weight:500;display:inline-flex}.status-badge.pending_contact{color:#9a7b3e;background:#c2a36b2e}.status-badge.contacted{color:#5a7382;background:#7d99a62e}.status-badge.quoted{color:#a06a62;background:#cda6a038}.status-badge.completed{color:#5f7558;background:#8a9a8233}.status-badge.canceled{color:var(--danger);background:#b5705f24}.success-card,.empty-state,.login-card{text-align:center;justify-items:center;gap:16px;display:grid}.success-card svg,.empty-state svg,.login-card svg{color:var(--clay)}.qr-placeholder{border:1.5px dashed var(--line);border-radius:var(--radius);width:200px;min-height:200px;color:var(--muted);background:var(--surface-soft);place-items:center;padding:18px;font-size:13px;line-height:1.7;display:grid}.me-page{gap:16px;display:grid}.profile-card{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line-soft);min-height:110px;box-shadow:var(--shadow-sm);grid-template-columns:74px 1fr auto;align-items:center;gap:14px;padding:18px;display:grid}.avatar-upload{width:66px;height:66px;color:var(--faint);background:var(--surface-soft);border:1px solid var(--line-soft);border-radius:999px;place-items:center;display:grid;position:relative}.avatar-upload span{color:#fbf7ef;text-align:center;background:#3a352d80;border-radius:999px;padding:2px;font-size:9px;position:absolute;bottom:-4px;left:-3px;right:-3px}.profile-info{min-width:0}.profile-info button{color:var(--ink);font-family:var(--serif-cn);background:0 0;border:0;padding:0;font-size:19px;font-weight:600}.profile-info span{color:var(--muted);background:var(--surface-soft);border-radius:999px;align-items:center;gap:5px;margin-top:8px;padding:6px 12px;font-size:12px;display:inline-flex}.login-pill{border:1px solid var(--line);color:var(--ink-soft);background:var(--surface);border-radius:999px;align-items:center;padding:9px 14px;font-size:13px;font-weight:500;display:inline-flex}.points-card{border-radius:var(--radius-lg);background:radial-gradient(120% 120% at 100% 0, #c2a36b1a, transparent 60%), var(--surface);border:1px solid var(--line-soft);box-shadow:var(--shadow-sm);padding:24px}.points-card>span{color:var(--ink-soft);font-size:14px}.points-card strong{color:var(--ink);font-family:var(--display);margin:14px 0 18px;font-size:46px;font-weight:600;display:block}.points-card strong small{font-family:var(--serif-cn);color:var(--muted);font-size:16px}.points-actions{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.points-actions button{border:1px solid var(--line);border-radius:var(--radius-sm);min-height:46px;color:var(--ink-soft);background:var(--surface-soft);font-size:14px;font-weight:500;transition:all .18s}.points-actions button:hover{color:var(--clay-deep);border-color:var(--clay)}.menu-card{border-radius:var(--radius-lg);background:var(--surface);border:1px solid var(--line-soft);box-shadow:var(--shadow-sm);overflow:hidden}.menu-row{border:0;border-bottom:1px solid var(--line-soft);min-height:60px;color:var(--ink);text-align:left;background:0 0;grid-template-columns:32px 1fr auto auto;align-items:center;gap:14px;padding:0 18px;font-size:15px;font-weight:500;text-decoration:none;transition:background .16s;display:grid}.menu-row:hover{background:var(--surface-soft)}.menu-row svg:first-child{color:var(--clay-deep)}.menu-row:last-child{border-bottom:0}.menu-row svg:last-child{color:var(--faint)}.menu-row em{color:#fbf7ef;background:var(--clay);text-align:center;border-radius:999px;min-width:22px;padding:2px 8px;font-size:11px;font-style:normal}.menu-row.disabled{opacity:.45}.share-status{border-radius:var(--radius);color:var(--ink-soft);background:var(--surface);border:1px solid var(--line-soft);box-shadow:var(--shadow-sm);margin:0;padding:14px 16px;font-size:13px;line-height:1.65}.admin-metrics{gap:10px;margin-bottom:18px;display:grid}.admin-metrics div{border-radius:var(--radius);background:var(--surface);border:1px solid var(--line-soft);box-shadow:var(--shadow-sm);padding:18px}.admin-metrics strong{color:var(--ink);font-family:var(--display);font-size:28px;font-weight:600;display:block}.admin-metrics span{color:var(--muted);margin-top:4px;font-size:13px;display:block}.admin-section{margin-top:18px}.admin-section h2{font-family:var(--serif-cn);letter-spacing:.5px;margin:0 0 14px;font-size:19px;font-weight:600}.admin-list{gap:12px;display:grid}.admin-card{border-radius:var(--radius);background:var(--surface-soft);border:1px solid var(--line-soft);gap:12px;padding:16px;display:grid}.admin-card img{aspect-ratio:3/2;border-radius:var(--radius-sm)}.admin-card strong,.admin-card span,.admin-card small{display:block}.admin-card strong{font-family:var(--serif-cn);font-size:15px;font-weight:600}.admin-card span,.admin-card small{color:var(--muted);margin-top:4px;font-size:12.5px}.config-grid,.sample-grid{gap:12px;display:grid}.sample-editor{margin:18px 0}.sample-editor h3{font-family:var(--serif-cn);margin:0 0 10px;font-size:15px;font-weight:600}.sample-row{border-radius:var(--radius);background:var(--surface-soft);border:1px solid var(--line-soft);gap:10px;padding:16px;display:grid}@media (width>=900px){.app-shell{padding:32px 0}.mini-app-frame{min-height:900px}}@media (width<=460px){.app-shell{padding:0}.mini-app-frame{width:100%;min-height:100vh;box-shadow:none;border-radius:0}}
