:root{--bg-main: #fdfcfb;--bg-card: #f0ebe3;--text-main: #3d2b1f;--text-muted: #6b5a4a;--primary-brown: #a3734f;--gold-accent: #c8970a;--shadow-soft: 0 4px 20px rgba(163, 115, 79, .08);--radius-lg: 24px;--radius-md: 16px;--font-serif: "Source Han Serif SC", "Noto Serif SC", Georgia, serif;--font-sans: -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-main);color:var(--text-main);font-family:var(--font-sans);line-height:1.7;overflow-x:hidden}.app-container{min-height:100vh;position:relative;padding:24px;max-width:800px;margin:0 auto}.bg-glow{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:80vw;height:80vw;background:radial-gradient(circle,#a3734f0d,#fdfcfb00 70%);z-index:-1;pointer-events:none}h1,h2,h3{font-family:var(--font-serif);color:var(--primary-brown)}.home-view{text-align:center;padding-top:40px}.home-header h1{font-size:32px;margin-bottom:8px}.home-header p{color:var(--text-muted);margin-bottom:40px;font-style:italic}.craft-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:20px}.craft-card{background:#f0ebe399;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(163,115,79,.1);border-radius:var(--radius-lg);padding:24px 16px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:var(--shadow-soft);transition:all .3s ease}.icon-wrapper{padding:16px;background:var(--bg-main);border-radius:50%;box-shadow:inset 0 2px 4px #0000000d}.top-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:2px dashed rgba(163,115,79,.2)}.sync-status{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--text-muted);background:var(--bg-card);padding:4px 12px;border-radius:20px}.toolbar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;background:var(--bg-card);padding:12px 20px;border-radius:var(--radius-md);margin-bottom:24px;box-shadow:var(--shadow-soft)}.color-picker{display:flex;gap:8px;flex-wrap:wrap}.color-swatch{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .2s;box-shadow:0 2px 4px #0000001a}.color-swatch:hover{transform:scale(1.1)}.color-swatch.active{border-color:var(--text-main);transform:scale(1.1)}.icon-btn{background:var(--bg-main);border:1px solid rgba(163,115,79,.2);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--primary-brown)}.icon-btn:disabled{opacity:.5;cursor:not-allowed}.icon-btn.active{background:var(--primary-brown);color:var(--bg-main)}.reference-image{margin-bottom:24px;display:flex;justify-content:center}.reference-image img{max-width:100%;max-height:150px;border-radius:var(--radius-md);box-shadow:var(--shadow-soft);object-fit:contain}.fallback-img{width:150px;height:100px;background:var(--bg-card);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--text-muted);font-size:14px}.perler-board{display:flex;flex-direction:column;gap:2px;align-items:center}.perler-row{display:flex;gap:2px}.perler-bead{width:30px;height:30px;border-radius:50%;box-shadow:inset -2px -2px 4px #0000001a,inset 2px 2px 4px #ffffff80;cursor:pointer}.plaster-canvas,.doll-preview{background:var(--bg-card);border-radius:var(--radius-lg);padding:24px;display:flex;justify-content:center;box-shadow:inset 0 4px 12px #0000000d}.plaster-svg{width:100%;max-width:300px;height:auto}.clickable-path{cursor:pointer;transition:fill .3s}.clickable-path:hover{opacity:.8}.canvas-container{background:#fff;border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-soft);border:1px solid rgba(163,115,79,.2)}.drawing-canvas{width:100%;height:400px;touch-action:none;cursor:crosshair}.progress-bar-container{background:var(--bg-card);border-radius:20px;padding:4px;display:flex;align-items:center;gap:12px;margin-bottom:16px}.progress-bar{height:12px;background:var(--primary-brown);border-radius:10px;transition:width .5s ease}.number-legend{display:flex;gap:12px;margin-right:auto}.legend-item span{display:inline-block;width:24px;height:24px;border-radius:50%;text-align:center;line-height:24px;color:#fff;font-size:12px;font-weight:700}.cross-stitch-board{display:flex;flex-direction:column;align-items:center;background:var(--bg-card);padding:20px;border-radius:var(--radius-lg);background-image:linear-gradient(rgba(163,115,79,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(163,115,79,.1) 1px,transparent 1px);background-size:40px 40px}.cs-row{display:flex}.cs-cell{width:40px;height:40px;border:1px dashed rgba(163,115,79,.2);cursor:pointer;display:flex;align-items:center;justify-content:center}.diary-workspace{max-width:600px;margin:0 auto}.privacy-note{font-size:13px;color:var(--primary-brown);margin-bottom:12px;font-style:italic}.diary-input-area{background:var(--bg-card);padding:24px;border-radius:var(--radius-lg);margin-bottom:32px;box-shadow:var(--shadow-soft)}.mood-selector{display:flex;gap:12px;margin-bottom:16px}.mood-btn{font-size:24px;background:none;border:none;cursor:pointer;opacity:.5;transition:all .2s}.mood-btn.active{opacity:1;transform:scale(1.2)}textarea{width:100%;padding:16px;border-radius:var(--radius-md);border:1px solid rgba(163,115,79,.2);background:var(--bg-main);font-family:var(--font-sans);resize:vertical;margin-bottom:16px;outline:none}textarea:focus{border-color:var(--primary-brown)}.primary-btn{background:var(--primary-brown);color:var(--bg-main);border:none;padding:12px 24px;border-radius:20px;font-size:16px;cursor:pointer;width:100%;font-family:var(--font-serif)}.primary-btn:disabled{opacity:.7;cursor:not-allowed}.diary-list{display:flex;flex-direction:column;gap:16px}.diary-card{background:#fff;padding:20px;border-radius:var(--radius-lg);border-left:4px solid var(--primary-brown);box-shadow:var(--shadow-soft)}.diary-header{display:flex;justify-content:space-between;margin-bottom:12px;color:var(--text-muted);font-size:14px}.diary-text{margin-bottom:16px}.ai-reply{background:var(--bg-card);padding:12px 16px;border-radius:var(--radius-md);display:flex;gap:12px;font-size:14px;color:var(--text-muted)}.ai-avatar{font-size:20px}
