.app-header[data-v-967a2cab]{position:sticky;top:0;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:14px;height:var(--header-height);padding:0 max(18px,calc((100vw - var(--content-max)) / 2));border-bottom:1px solid rgba(44,48,39,.14);background:linear-gradient(90deg,rgba(189,75,53,.1),transparent 28%),#fbfaf6e6;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.header-left[data-v-967a2cab]{display:flex;align-items:center;min-width:0;gap:11px}.header-logo-wrap[data-v-967a2cab]{position:relative;width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border:1px solid rgba(189,75,53,.32);border-radius:var(--radius-lg);background:#fffdfa;box-shadow:var(--shadow-xs)}.header-logo[data-v-967a2cab]{width:26px;height:26px;border-radius:var(--radius-md);object-fit:cover}.header-copy[data-v-967a2cab]{display:flex;align-items:baseline;min-width:0;gap:10px}.header-brand[data-v-967a2cab]{font-family:var(--font-serif);font-size:18px;font-weight:700;color:var(--seal-deep)}.header-sub[data-v-967a2cab]{position:relative;padding-left:10px;color:var(--ink-soft);font-size:13px;font-weight:700}.header-sub[data-v-967a2cab]:before{content:"";position:absolute;left:0;top:.45em;width:1px;height:.9em;background:#2c302738}.header-right[data-v-967a2cab]{display:flex;align-items:center;flex-shrink:0;gap:8px}.header-bell[data-v-967a2cab]{position:relative;width:36px;height:36px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);display:grid;place-items:center;color:var(--ink-soft);background:#fffdfa8f;transition:transform .18s ease,background .18s ease,border-color .18s ease}.header-bell[data-v-967a2cab]:hover{transform:translateY(-1px);border-color:#bd4b3552;background:#fffdfaf0}.bell-badge[data-v-967a2cab]{position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-sm);background:var(--danger);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center}.notif-overlay[data-v-967a2cab]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#25282147;display:flex;justify-content:flex-end}.notif-drawer[data-v-967a2cab]{width:min(380px,90vw);background:var(--paper-soft);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.notif-drawer__head[data-v-967a2cab]{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--border-strong)}.notif-drawer__head h3[data-v-967a2cab]{font-family:var(--font-serif);font-size:18px;font-weight:700}.notif-drawer__body[data-v-967a2cab]{flex:1;overflow-y:auto;padding:12px}@media(max-width:480px){.app-header[data-v-967a2cab]{padding:0 12px}.header-sub[data-v-967a2cab]{display:none}.notif-drawer[data-v-967a2cab]{width:100vw}}.tab-bar[data-v-015f9375]{position:fixed;bottom:0;left:0;right:0;z-index:100;display:flex;align-items:stretch;height:var(--tabbar-height);padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid rgba(44,48,39,.16);background:linear-gradient(90deg,rgba(78,116,91,.08),transparent 35%,rgba(189,75,53,.08)),#fbfaf6f0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.tab-item[data-v-015f9375]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:var(--ink-faint);transition:color .2s,transform .2s;position:relative}.tab-item[data-v-015f9375]:before{content:"";position:absolute;top:7px;width:22px;height:3px;border-radius:var(--radius-sm);background:transparent;transition:background .2s}.tab-item.active[data-v-015f9375]{color:var(--seal-deep)}.tab-item.active[data-v-015f9375]:before{background:var(--seal)}.tab-item.active .tab-icon[data-v-015f9375]{transform:translateY(-1px)}.tab-icon[data-v-015f9375]{display:flex;margin-top:5px;transition:transform .2s}.tab-label[data-v-015f9375]{font-size:11px;font-weight:700}.tab-item[data-v-015f9375]:hover{color:var(--moss-deep)}#app-shell[data-v-f41ca772]{min-height:100vh;display:flex;flex-direction:column}.app-main[data-v-f41ca772]{flex:1;padding-bottom:0}#app-shell.has-tabbar .app-main[data-v-f41ca772]{padding-bottom:calc(var(--tabbar-height) + env(safe-area-inset-bottom,0px))}:root{--paper: #f6f7f1;--paper-strong: #ecefe4;--paper-soft: #fbfaf6;--paper-line: rgba(44, 48, 39, .1);--paper-line-strong: rgba(44, 48, 39, .18);--ink: #252821;--ink-soft: #596053;--ink-faint: #7c8676;--ink-reverse: #fffdfa;--seal: #bd4b35;--seal-soft: #f3d8d0;--seal-deep: #863a2b;--moss: #4e745b;--moss-soft: #dce7da;--moss-deep: #2f513b;--ochre: #b67b35;--ochre-soft: #f0e0c5;--warm-50: #fff9f3;--warm-100: #f3d8d0;--warm-200: #e8b9a8;--warm-300: #d98368;--warm-400: #c75e43;--warm-500: var(--seal);--warm-600: #a44030;--warm-700: var(--seal-deep);--warm-800: #673026;--warm-900: #4a271f;--cream: var(--paper);--cream-deep: var(--paper-strong);--sand: #d7c6aa;--sand-light: #eee7da;--sage: var(--moss);--sage-soft: var(--moss-soft);--gold: var(--ochre);--gold-soft: var(--ochre-soft);--danger: #b93d32;--danger-soft: #f2d9d5;--warning: #a86f2c;--warning-soft: #efe0c8;--success: #4d7a55;--success-soft: #dfeade;--bg: var(--paper);--bg-card: rgba(255, 253, 250, .92);--bg-elevated: #fffdfa;--border: var(--paper-line);--border-strong: var(--paper-line-strong);--shadow-xs: 0 1px 0 rgba(37, 40, 33, .05);--shadow-sm: 0 8px 22px rgba(37, 40, 33, .06);--shadow-md: 0 14px 32px rgba(37, 40, 33, .09);--shadow-lg: 0 24px 52px rgba(37, 40, 33, .13);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 32px;--radius-pill: 9999px;--font-sans: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", "Noto Sans CJK SC", sans-serif;--font-serif: "Songti SC", "STSong", "Noto Serif CJK SC", serif;--tabbar-height: 66px;--header-height: 58px;--content-max: 1160px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}body{min-height:100vh;overflow-x:hidden;font-family:var(--font-sans);color:var(--ink);line-height:1.6;letter-spacing:.02em;background:linear-gradient(90deg,rgba(189,75,53,.025) 1px,transparent 1px) 0 0 / 44px 44px,linear-gradient(0deg,rgba(189,75,53,.015) 1px,transparent 1px) 0 0 / 44px 44px,linear-gradient(115deg,rgba(189,75,53,.08) 0%,transparent 32%,rgba(217,131,104,.06) 72%,transparent 100%),linear-gradient(135deg,#fdfaf5,#f7ece2 54%,#fbf4ea)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-1;opacity:.38;background-image:repeating-linear-gradient(0deg,rgba(37,40,33,.03) 0 1px,transparent 1px 5px),repeating-linear-gradient(90deg,rgba(37,40,33,.018) 0 1px,transparent 1px 7px)}a{color:var(--seal);text-decoration:none}a:hover{color:var(--seal-deep)}button,input,textarea,select{font:inherit;color:inherit;outline:none}button{cursor:pointer;border:none;background:none}button:disabled{cursor:not-allowed;opacity:.58}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--seal);outline-offset:3px}img{max-width:100%;display:block}.hidden{display:none!important}.eyebrow{display:inline-flex;align-items:center;gap:7px;margin-bottom:7px;color:var(--moss);font-size:11px;font-weight:700;letter-spacing:0;letter-spacing:.05em;text-transform:uppercase}h1,h2,h3,h4,h5,h6,strong{letter-spacing:.05em}.eyebrow:before{content:"";width:12px;height:1px;background:currentColor}.page-head{width:min(var(--content-max),calc(100% - 32px));margin:0 auto;padding:30px 0 18px}.page-head h2{color:var(--ink);font-family:var(--font-serif);font-size:26px;font-weight:700;line-height:1.28}.page-head p{margin-top:6px;color:var(--ink-soft);font-size:14px;line-height:1.6}.card{position:relative;padding:20px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fffdfaf5,#f8f8f2eb),var(--bg-card);box-shadow:var(--shadow-xs)}.card:after{content:"";position:absolute;left:14px;right:14px;top:0;height:1px;background:#ffffffd9;pointer-events:none}.card-accent{border-left:3px solid var(--seal)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.card-header h3{color:var(--ink);font-family:var(--font-serif);font-size:18px;font-weight:700}.card-header p{margin-top:2px;color:var(--ink-faint);font-size:13px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:38px;gap:7px;padding:9px 18px;border-radius:var(--radius-lg);font-size:14px;font-weight:700;line-height:1;white-space:nowrap;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease,box-shadow .18s ease}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{border:1px solid var(--seal-deep);background:var(--seal);color:var(--ink-reverse);box-shadow:0 8px 18px #863a2b29}.btn-primary:hover{background:var(--seal-deep);box-shadow:0 12px 24px #863a2b33}.btn-secondary{border:1px solid rgba(189,75,53,.25);background:var(--seal-soft);color:var(--seal-deep)}.btn-secondary:hover{background:#ecd0c5;border-color:#bd4b3573}.btn-ghost{border:1px solid var(--border-strong);background:#fffdfa73;color:var(--ink-soft)}.btn-ghost:hover{border-color:#bd4b3561;background:#fffdfadb;color:var(--seal-deep)}.btn-danger{border:1px solid rgba(185,61,50,.25);background:var(--danger-soft);color:var(--danger)}.btn-danger:hover{background:#efd0cb}.btn-block{width:100%}.btn-sm{min-height:32px;padding:7px 12px;font-size:13px}.pill{display:inline-flex;align-items:center;min-height:24px;padding:3px 10px;border:1px solid rgba(189,75,53,.22);border-radius:var(--radius-md);background:var(--seal-soft);color:var(--seal-deep);font-size:12px;font-weight:700;line-height:1.2}.pill-success{border-color:#4d7a5540;background:var(--success-soft);color:var(--success)}.pill-warning{border-color:#a86f2c47;background:var(--warning-soft);color:var(--warning)}.pill-danger{border-color:#b93d3242;background:var(--danger-soft);color:var(--danger)}.field{display:flex;flex-direction:column;gap:7px}.field span{color:var(--ink-soft);font-size:13px;font-weight:700}.input{width:100%;padding:12px 14px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:linear-gradient(180deg,#fffdfaeb,#f8f9f3eb),var(--paper-soft);font-size:15px;transition:border-color .2s,box-shadow .2s,background .2s}.input:focus{border-color:#bd4b3594;background:#fffdfa;box-shadow:0 0 0 3px #bd4b351f}.input::placeholder{color:#59605394}.input-textarea{min-height:112px;resize:vertical;line-height:1.75}.form-stack{display:flex;flex-direction:column;gap:16px}.empty-state{display:grid;place-items:center;min-height:120px;padding:30px 18px;border:1px dashed rgba(78,116,91,.3);border-radius:var(--radius-lg);color:var(--ink-faint);background:#fffdfa6b;font-size:14px;line-height:1.7;text-align:center}.segmented{display:flex;gap:4px;padding:4px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#ecefe4c7}.segmented button{flex:1;min-height:36px;padding:9px 14px;border-radius:var(--radius-md);color:var(--ink-soft);font-size:14px;font-weight:700;transition:background .2s ease,color .2s ease,transform .2s ease}.segmented button:hover{background:#fffdfa9e}.segmented button.active{background:var(--seal);color:var(--ink-reverse);box-shadow:var(--shadow-xs)}.progress-track{height:7px;overflow:hidden;border:1px solid rgba(78,116,91,.16);border-radius:var(--radius-sm);background:#4e745b1f}.progress-track__fill{display:block;height:100%;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--seal-soft),var(--seal));transition:width .4s ease}.stack-list{display:flex;flex-direction:column;gap:8px}.stack-item{display:flex;align-items:center;gap:12px;padding:13px 14px;border:1px solid rgba(44,48,39,.08);border-radius:var(--radius-lg);background:#fffdfa9e;transition:transform .18s ease,background .18s ease,border-color .18s ease}.stack-item:hover{transform:translateY(-1px);border-color:#4e745b38;background:#fffdfae6}.stack-item__icon{width:34px;height:34px;flex-shrink:0;display:grid;place-items:center;border:1px solid rgba(189,75,53,.18);border-radius:var(--radius-lg);background:var(--seal-soft);color:var(--seal-deep);font-size:16px}.stack-item__content{flex:1;min-width:0}.stack-item__content strong{display:block;color:var(--ink);font-size:15px;font-weight:700}.stack-item__meta{margin-top:2px;color:var(--ink-faint);font-size:12px;line-height:1.45}.stack-item__aside{flex-shrink:0;color:var(--ink-faint);font-size:13px}.toast{position:fixed;top:76px;left:50%;z-index:9999;max-width:min(520px,calc(100vw - 32px));padding:11px 18px;border:1px solid rgba(255,253,250,.18);border-radius:var(--radius-lg);background:#252821eb;color:var(--ink-reverse);box-shadow:var(--shadow-lg);font-size:14px;opacity:0;pointer-events:none;transform:translate(-50%) translateY(-10px);transition:opacity .26s ease,transform .26s ease}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}.tag-cloud{display:flex;flex-wrap:wrap;gap:8px}.tag{min-height:34px;padding:7px 12px;border:1px solid rgba(78,116,91,.22);border-radius:var(--radius-lg);background:#fffdfa9e;color:var(--ink-soft);cursor:pointer;font-size:13px;font-weight:700;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}.tag:hover{transform:translateY(-1px);border-color:#bd4b354d;color:var(--seal-deep)}.tag.active{border-color:#bd4b3580;background:var(--seal-soft);color:var(--seal-deep)}.stat-card{padding:16px;border:1px solid var(--border);border-radius:var(--radius-lg);background:#fffdfa9e;text-align:center}.stat-card span{display:block;margin-bottom:4px;color:var(--ink-faint);font-size:12px}.stat-card strong{display:block;color:var(--seal);font-family:var(--font-serif);font-size:22px;font-weight:700}.option-grid{display:grid;gap:8px}.option-grid--two{grid-template-columns:1fr 1fr}.option-grid--three{grid-template-columns:repeat(3,1fr)}.option-grid--compact{grid-template-columns:repeat(auto-fill,minmax(82px,1fr))}.select-card{min-height:42px;padding:11px 12px;border:1px solid var(--border-strong);border-radius:var(--radius-lg);background:#fffdfaad;color:var(--ink-soft);font-size:14px;font-weight:700;text-align:center;transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}.select-card:hover{transform:translateY(-1px);border-color:#4e745b52}.select-card.active{border-color:#bd4b3580;background:var(--seal-soft);color:var(--seal-deep)}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.glass-card{position:relative;background:#fffdfab8;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.5);border-radius:var(--radius-xl);box-shadow:0 4px 24px #2528210a,inset 0 1px #fffc;overflow:hidden}.ios-list-group{display:flex;flex-direction:column;background:#fffdfad9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 2px 10px #25282105;border:1px solid var(--border)}.ios-list-item{display:flex;align-items:center;gap:14px;padding:16px;background:transparent;transition:background .2s ease,transform .2s ease;position:relative;cursor:pointer}.ios-list-item:active{background:#2c30270a;transform:scale(.995)}.ios-list-item:not(:last-child):after{content:"";position:absolute;bottom:0;left:54px;right:0;height:1px;background:var(--border)}.ios-item-icon{width:32px;height:32px;border-radius:var(--radius-md);display:grid;place-items:center;flex-shrink:0;color:#fff}.ios-item-content{flex:1;display:flex;justify-content:space-between;align-items:center}.ios-item-content span{font-size:16px;color:var(--ink);font-weight:500}.ios-item-value{font-size:15px;color:var(--ink-faint);display:flex;align-items:center;gap:4px}.empty-state-art{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;color:var(--ink-faint);gap:12px}.empty-state-art .art-icon{width:64px;height:64px;border-radius:50%;background:var(--seal-soft);color:var(--seal);display:grid;place-items:center;margin-bottom:8px}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fade-enter-active{animation:fadeIn .28s ease}.fade-leave-active{animation:fadeIn .18s ease reverse}@media(min-width:768px){.page-head{padding-top:34px}.card{padding:22px}}@media(max-width:640px){.page-head{width:min(100% - 24px,var(--content-max));padding:22px 0 14px}.page-head h2{font-size:22px}.btn{min-height:36px;padding:8px 13px;font-size:13px}.card{padding:16px}}
