#app{min-height:100vh}:root{--bg-primary: #f4faf2;--bg-secondary: #e9f3e6;--bg-card: #ffffff;--bg-elevated: #f0f7ee;--color-primary: #2e7d32;--color-accent: #7cb342;--text-primary: #1f2d1d;--text-muted: #6b7d66;--border-soft: rgba(46, 125, 50, .08);--border-strong: rgba(46, 125, 50, .16);--glow-primary: rgba(46, 125, 50, .22);--glow-accent: rgba(124, 179, 66, .22);--btn-primary-end: #1b5e20;--btn-accent-end: #558b2f;--btn-accent-ink: #12301a;--scrollbar-thumb: rgba(46, 125, 50, .25);--primary-rgb: 46, 125, 50;--accent-rgb: 124, 179, 66;--glow-rgb: 102, 187, 106;--cover-disc: #102318;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-xl: 22px;--shadow-card: 0 4px 16px rgba(46, 90, 40, .12)}:root[data-theme=warm]{--bg-primary: #fbf1ea;--bg-secondary: #f6e3d6;--bg-card: #fffdf9;--bg-elevated: #f9ecdf;--color-primary: #cf5533;--color-accent: #d98e3f;--text-primary: #38251e;--text-muted: #8f7365;--border-soft: rgba(207, 85, 51, .08);--border-strong: rgba(207, 85, 51, .17);--glow-primary: rgba(207, 85, 51, .2);--glow-accent: rgba(217, 142, 63, .22);--btn-primary-end: #a83e22;--btn-accent-end: #b56f2d;--btn-accent-ink: #43291a;--scrollbar-thumb: rgba(207, 85, 51, .25);--primary-rgb: 207, 85, 51;--accent-rgb: 217, 142, 63;--glow-rgb: 232, 160, 76;--cover-disc: #2e1a12;--shadow-card: 0 4px 16px rgba(122, 71, 41, .12)}:root[data-theme=dark]{--bg-primary: #0f1a12;--bg-secondary: #16241b;--bg-card: #1d2f23;--bg-elevated: #24392b;--color-primary: #66bb6a;--color-accent: #aed581;--text-primary: #ecf5ea;--text-muted: #8fae92;--border-soft: rgba(150, 210, 160, .08);--border-strong: rgba(150, 210, 160, .16);--glow-primary: rgba(102, 187, 106, .28);--glow-accent: rgba(174, 213, 129, .18);--btn-primary-end: #1b5e20;--btn-accent-end: #558b2f;--btn-accent-ink: #12301a;--scrollbar-thumb: rgba(150, 210, 160, .25);--primary-rgb: 102, 187, 106;--accent-rgb: 174, 213, 129;--glow-rgb: 102, 187, 106;--cover-disc: #0c1710;--shadow-card: 0 4px 18px rgba(0, 0, 0, .4)}:root[data-theme=warm] body{background:linear-gradient(180deg,#f7dcc6 0%,var(--bg-primary) 300px) var(--bg-primary)}*{margin:0;padding:0;box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg-primary);color:var(--text-primary);font-size:14px;line-height:1.6;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;max-width:430px;margin:0 auto;min-height:100vh;position:relative;overflow-x:hidden;transition:background-color .3s,color .3s}a{color:inherit;text-decoration:none}button{font-family:inherit;border:none;background:none;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}input{font-family:inherit}.card{background:var(--bg-card);border-radius:var(--radius-md);padding:16px;margin-bottom:12px;border:1px solid var(--border-soft);box-shadow:var(--shadow-card)}.text-muted{color:var(--text-muted);font-size:13px}.text-accent{color:var(--color-accent)}.ellipsis{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.flex{display:flex;align-items:center}.flex-1{flex:1;min-width:0}.btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 24px;border-radius:999px;font-size:15px;font-weight:600;letter-spacing:1px;transition:transform .15s,opacity .15s}.btn:active{transform:scale(.97);opacity:.9}.btn[disabled]{opacity:.45;cursor:default;transform:none}.btn-primary{background:linear-gradient(135deg,var(--color-primary) 0%,var(--btn-primary-end) 100%);color:#fff;box-shadow:0 4px 12px var(--glow-primary)}.btn-accent{background:linear-gradient(135deg,var(--color-accent) 0%,var(--btn-accent-end) 100%);color:var(--btn-accent-ink);box-shadow:0 4px 12px var(--glow-accent)}.btn-ghost{background:transparent;border:1px solid var(--color-primary);color:var(--color-primary)}.btn-sm{height:34px;padding:0 15px;font-size:13px}.input{width:100%;height:44px;padding:0 16px;border-radius:999px;background:var(--bg-secondary);border:1px solid var(--border-strong);color:var(--text-primary);font-size:15px;outline:none;transition:border-color .2s}.input:focus{border-color:var(--color-primary)}.input::placeholder{color:var(--text-muted);opacity:.5}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}
