:root{--color-primary:#c53030;--color-primary-dark:#9b2c2c;--color-primary-light:#e53e3e;--color-gold:#d69e2e;--color-gold-light:#ecc94b;--color-bg:#fdf6ec;--color-surface:#fffaf3;--color-surface-2:#f7ecd9;--color-border:#e8d5b7;--color-border-strong:#d4b896;--color-text:#2d1810;--color-text-muted:#7c6450;--color-text-subtle:#a8967a;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-full:9999px;--shadow-sm:0 1px 2px #2d18100f;--shadow-md:0 4px 12px #2d18101a}*{box-sizing:border-box;margin:0;padding:0}html,body{font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;line-height:1.6}.shell{flex-direction:column;min-height:100vh;display:flex}.main-content{flex-direction:column;flex:1;align-items:center;width:100%;max-width:600px;margin:0 auto;padding:1.5rem 1rem 2rem;display:flex}.hero{text-align:center;margin-bottom:1.5rem}.hero-title{font-size:var(--text-3xl);color:var(--color-primary);margin-bottom:.25rem}.hero-subtitle{font-size:var(--text-lg);color:var(--color-text-muted)}.form-container{background:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border);width:100%;box-shadow:var(--shadow-md);padding:1.5rem}.fortune-form{flex-direction:column;gap:1.25rem;display:flex}.form-group{flex-direction:column;gap:.375rem;display:flex}.form-row{gap:.75rem;display:flex}.form-row .form-group{flex:1}.form-label{font-size:var(--text-sm);color:var(--color-text);font-weight:600}.required{color:var(--color-primary)}.form-input,.form-select{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);width:100%;font-size:var(--text-base);font-family:var(--font-sans);color:var(--color-text);background:#fff;min-height:44px;padding:.625rem .75rem;transition:border-color .2s,box-shadow .2s}.form-input:focus,.form-select:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #c530301f}.form-input:disabled,.form-select:disabled{background:var(--color-surface-2);cursor:not-allowed}.form-error{font-size:var(--text-xs);color:var(--color-primary)}.draw-btn{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);width:100%;font-size:var(--text-lg);font-weight:700;font-family:var(--font-sans);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;min-height:48px;margin-top:.5rem;padding:.875rem 1.5rem;transition:background .2s,transform .1s;display:flex}.draw-btn:hover:not(:disabled){background:var(--color-primary-dark)}.draw-btn:active:not(:disabled){transform:scale(.98)}.draw-btn:disabled{background:var(--color-text-subtle);cursor:not-allowed}.draw-btn--loading{background:var(--color-primary-dark)}.loading-container{flex-direction:column;align-items:center;gap:1.5rem;padding:3rem 0;display:flex}.shake-container{font-size:4rem;animation:.5s ease-in-out infinite shake}.shake-icon-big{font-size:4rem;line-height:1}.loading-text{font-size:var(--text-lg);color:var(--color-text-muted)}@keyframes shake{0%,to{transform:rotate(-10deg)}25%{transform:rotate(10deg)}50%{transform:rotate(-8deg)}75%{transform:rotate(8deg)}}.result-container{flex-direction:column;gap:1.25rem;width:100%;display:flex}.fortune-card{background:var(--color-surface);border:2px solid var(--color-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:1.75rem 1.5rem;animation:.4s ease-out fadeInUp;position:relative}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.degrade-notice{background:var(--color-surface-2);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--color-text-muted);align-items:center;gap:.375rem;margin-bottom:1rem;padding:.5rem .75rem;display:flex}.card-header{text-align:center;border-bottom:1px dashed var(--color-border);margin-bottom:1.25rem;padding-bottom:1rem}.card-sign-number{font-size:var(--text-sm);color:var(--color-primary);margin-bottom:.25rem;font-weight:600}.card-title{font-size:var(--text-2xl);color:var(--color-text);margin-bottom:.5rem}.card-overall{font-size:var(--text-sm);color:var(--color-text-muted)}.card-pet-info{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-bottom:1.25rem;display:flex}.pet-tag{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-xs);color:var(--color-text);padding:.25rem .625rem;display:inline-block}.pet-tag--species{color:var(--color-primary);border-color:var(--color-primary)}.pet-tag--wish{color:var(--color-gold);border-color:var(--color-gold)}.card-sections{flex-direction:column;gap:.75rem;margin-bottom:1.25rem;display:flex}.fortune-section{align-items:flex-start;gap:.625rem;display:flex}.section-icon{background:var(--color-surface-2);border-radius:var(--radius-sm);width:32px;height:32px;color:var(--color-primary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.section-content{flex-direction:column;flex:1;gap:.125rem;display:flex}.section-label{font-size:var(--text-xs);color:var(--color-primary);font-weight:700}.section-text{font-size:var(--text-sm);color:var(--color-text)}.card-lucky{background:var(--color-surface-2);border-radius:var(--radius-md);flex-wrap:wrap;gap:.75rem;margin-bottom:1.25rem;padding:.875rem;display:flex}.lucky-item{font-size:var(--text-sm);color:var(--color-text);align-items:center;gap:.25rem;display:flex}.lucky-item svg{color:var(--color-gold)}.lucky-label{color:var(--color-text-muted)}.lucky-value{font-weight:600}.card-advise{gap:.75rem;margin-bottom:1.25rem;display:flex}.advise-block{border-radius:var(--radius-md);flex:1;padding:.75rem}.advise-block--good{background:#b7e09626}.advise-block--bad{background:#ffb6b626}.advise-header{font-size:var(--text-sm);align-items:center;gap:.375rem;margin-bottom:.5rem;font-weight:700;display:flex}.advise-block--good .advise-header{color:#4a7c2e}.advise-block--bad .advise-header{color:#c53030}.advise-list{flex-direction:column;gap:.25rem;list-style:none;display:flex}.advise-list li{font-size:var(--text-xs);color:var(--color-text);padding-left:.75rem;position:relative}.advise-list li:before{content:"·";font-weight:700;position:absolute;left:0}.card-disclaimer{text-align:center;font-size:var(--text-xs);color:var(--color-text-subtle);border-top:1px dashed var(--color-border);padding-top:.75rem}.share-bar{flex-wrap:wrap;align-items:center;gap:.625rem;display:flex}.share-btn{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm);font-family:var(--font-sans);cursor:pointer;align-items:center;gap:.375rem;min-height:40px;padding:.5rem 1rem;transition:background .2s,border-color .2s;display:flex}.share-btn:hover:not(:disabled){background:var(--color-surface-2);border-color:var(--color-primary)}.share-btn:disabled{opacity:.6;cursor:not-allowed}.share-btn--copy{color:var(--color-primary)}.share-hint{width:100%;font-size:var(--text-xs);color:var(--color-text-muted);align-items:center;gap:.25rem;display:flex}.redraw-btn{width:100%;color:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:600;font-family:var(--font-sans);cursor:pointer;background:0 0;justify-content:center;align-items:center;min-height:44px;padding:.75rem 1.5rem;transition:background .2s;display:flex}.redraw-btn:hover{background:var(--color-surface-2)}.error-container{flex-direction:column;align-items:center;gap:1rem;padding:2rem 0;display:flex}.error-text{font-size:var(--text-base);color:var(--color-primary);text-align:center}.share-cta{text-align:center;margin-top:1.5rem}.cta-link{background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-size:var(--text-base);align-items:center;gap:.375rem;min-height:44px;padding:.625rem 1.5rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-flex}.cta-link:hover{background:var(--color-primary-dark)}.site-footer{text-align:center;margin-top:2rem;padding-top:1rem}.site-footer p{font-size:var(--text-xs);color:var(--color-text-subtle)}@media (max-width:480px){.main-content{padding:1rem .75rem 1.5rem}.form-container{padding:1.25rem}.fortune-card{padding:1.25rem 1rem}.card-advise,.form-row{flex-direction:column}.share-bar{flex-direction:column;width:100%}.share-btn{justify-content:center;width:100%}}
