*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}body{color:#212121;background:linear-gradient(135deg,#fce4ec 0%,#f3e5f5 100%);min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Microsoft YaHei,WenQuanYi Micro Hei,sans-serif;overflow-x:hidden}#root{text-align:left;border:none;flex-direction:column;width:100%;max-width:430px;min-height:100vh;margin:0 auto;display:flex}.page{flex-direction:column;width:100%;max-width:430px;min-height:100vh;margin:0 auto;padding-bottom:32px;display:flex}.page-header{text-align:center;padding:20px 20px 0}.part-label{color:#fff;letter-spacing:2px;text-transform:uppercase;background:linear-gradient(135deg,#e91e63,#9c27b0);border-radius:20px;margin-bottom:8px;padding:4px 12px;font-size:11px;font-weight:700;display:inline-block}.page-title{color:#212121;font-size:22px;font-weight:700;line-height:1.3}.page-subtitle{color:#9e9e9e;margin-top:6px;font-size:14px}.progress-wrap{gap:6px;padding:16px 20px 0;display:flex}.progress-dot{background:#f8bbd0;border-radius:2px;flex:1;height:4px;transition:background .4s}.progress-dot.active{background:linear-gradient(90deg,#e91e63,#9c27b0)}.card{background:#ffffffeb;border-radius:20px;margin:16px 16px 0;padding:24px;box-shadow:0 4px 20px #e91e631a}.btn-primary{color:#fff;cursor:pointer;letter-spacing:.5px;background:linear-gradient(135deg,#e91e63,#9c27b0);border:none;border-radius:50px;width:100%;padding:15px 32px;font-size:16px;font-weight:600;transition:all .2s;box-shadow:0 4px 14px #e91e6359}.btn-primary:active{transform:scale(.97);box-shadow:0 2px 8px #e91e634d}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{color:#e91e63;cursor:pointer;background:#fff;border:2px solid #e91e63;border-radius:50px;width:100%;padding:13px 32px;font-size:15px;font-weight:600;transition:all .2s}.btn-secondary:active{background:#fce4ec;transform:scale(.97)}.btn-option{cursor:pointer;text-align:left;color:#212121;background:#fff;border:2px solid #f8bbd0;border-radius:14px;align-items:center;gap:12px;width:100%;margin-bottom:10px;padding:14px 16px;font-size:15px;transition:all .18s;display:flex}.btn-option:last-child{margin-bottom:0}.btn-option.selected{background:linear-gradient(135deg,#fce4ec,#f3e5f5);border-color:#9c27b0;transform:scale(.98)}.option-key{color:#9c27b0;background:linear-gradient(135deg,#f8bbd0,#e1bee7);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:inline-flex}.option-emoji{flex-shrink:0;font-size:20px}.q-counter{color:#bdbdbd;text-align:right;margin-bottom:12px;font-size:13px}.q-text{color:#212121;margin-bottom:20px;font-size:19px;font-weight:700;line-height:1.4}.result-emoji{text-align:center;margin-bottom:12px;font-size:64px;animation:.5s ease-out pop}@keyframes pop{0%{opacity:0;transform:scale(.5)}70%{transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.result-title{text-align:center;background:linear-gradient(135deg,#e91e63,#9c27b0);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:24px;font-weight:800}.result-subtitle{text-align:center;color:#757575;margin-bottom:20px;font-size:15px;line-height:1.5}.answer-reveal{background:linear-gradient(135deg,#fce4ec,#f3e5f5);border-radius:14px;margin-bottom:20px;padding:16px}.answer-reveal-item{border-bottom:1px solid #e91e631a;align-items:center;gap:10px;padding:8px 0;font-size:14px;display:flex}.answer-reveal-item:last-child{border-bottom:none}.answer-check{color:#e91e63;font-size:16px;font-weight:700}.avatar-overlay{z-index:100;background:#000000eb;flex-direction:column;justify-content:center;align-items:center;animation:.4s ease-out fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.avatar-overlay img{object-fit:cover;border:4px solid #fff;border-radius:50%;width:240px;max-width:240px;height:240px;max-height:240px;box-shadow:0 0 40px #e91e6399}.avatar-overlay-text{color:#fff;opacity:.8;margin-top:20px;font-size:15px}.avatar-countdown{color:#fff;background:#e91e63cc;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;margin-top:16px;font-size:22px;font-weight:700;display:flex}.canvas-wrap{background:#fff;border-radius:20px;margin:16px 16px 0;position:relative;overflow:hidden;box-shadow:0 4px 20px #0000001a}.canvas-wrap canvas{aspect-ratio:1;touch-action:none;cursor:crosshair;width:100%;display:block}.timer-bar-wrap{margin-top:12px;padding:0 16px}.timer-bar-bg{background:#f8bbd0;border-radius:3px;height:6px;overflow:hidden}.timer-bar-fill{background:linear-gradient(90deg,#e91e63,#9c27b0);border-radius:3px;height:100%;transition:width 1s linear}.timer-text{color:#9e9e9e;text-align:right;margin-top:4px;font-size:13px}.timer-text.urgent{color:#e91e63;font-weight:700}.toolbar{background:#fff;border-radius:14px;flex-wrap:wrap;align-items:center;gap:8px;margin:10px 16px 0;padding:12px 16px;display:flex;box-shadow:0 2px 10px #0000000f}.color-dot{cursor:pointer;border:2px solid #0000;border-radius:50%;flex-shrink:0;width:26px;height:26px;transition:transform .15s}.color-dot.active{border-color:#212121;transform:scale(1.2)}.eraser-btn{cursor:pointer;background:#f5f5f5;border:2px solid #0000;border-radius:8px;padding:4px 10px;font-family:inherit;font-size:13px;transition:all .15s}.eraser-btn.active{background:#f3e5f5;border-color:#9c27b0}.hint-overlay{z-index:10;background:#0009;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.hint-overlay img{opacity:.9;border-radius:12px;max-width:90%;max-height:90%}.hint-overlay-label{color:#fff;white-space:nowrap;background:#000000a6;border-radius:20px;padding:4px 14px;font-size:13px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.btn-row{gap:10px;padding:12px 16px 0;display:flex}.btn-row .btn-secondary{flex:1}.btn-row .btn-primary{flex:2}.question-card{background:linear-gradient(135deg,#fce4ec,#f3e5f5);border-radius:16px;margin-bottom:16px;padding:20px}.question-text{color:#212121;font-size:17px;font-weight:700;line-height:1.5}textarea{resize:none;color:#212121;background:#fff;border:2px solid #f8bbd0;border-radius:14px;outline:none;width:100%;padding:14px;font-family:inherit;font-size:15px;line-height:1.5;transition:border-color .2s}textarea:focus{border-color:#e91e63}.input-field{color:#212121;background:#fff;border:2px solid #f8bbd0;border-radius:14px;outline:none;width:100%;padding:13px 16px;font-family:inherit;font-size:15px;transition:border-color .2s}.input-field:focus{border-color:#e91e63}.input-label{color:#9e9e9e;margin-top:14px;margin-bottom:6px;font-size:13px;display:block}.result-drawing{object-fit:cover;background:#f5f5f5;border:3px solid #f8bbd0;border-radius:14px;width:140px;height:140px;margin:0 auto 16px;display:block;box-shadow:0 4px 16px #e91e6333}.wish-bubble{color:#424242;text-align:center;background:linear-gradient(135deg,#fce4ec,#f3e5f5);border-radius:16px;margin-bottom:16px;padding:16px;font-size:15px;font-style:italic;line-height:1.6}.admin-grid{flex-direction:column;gap:16px;padding:16px;display:flex}.admin-card{background:#fff;border-radius:16px;padding:16px;box-shadow:0 2px 12px #00000012}.admin-drawing{background:#fafafa;border-radius:10px;width:100%;margin-bottom:12px;display:block}.admin-field{color:#616161;margin-bottom:6px;font-size:13px;line-height:1.5}.admin-field strong{color:#212121}.admin-meta{color:#bdbdbd;margin-top:8px;font-size:12px}.toast{color:#fff;white-space:nowrap;z-index:999;background:#000000bf;border-radius:24px;padding:10px 20px;font-size:14px;animation:.3s ease-out toastIn;position:fixed;bottom:40px;left:50%;transform:translate(-50%)}@keyframes shakePop{0%{transform:scale(1)}25%{transform:scale(.97)rotate(-1deg)}50%{transform:scale(1.02)rotate(1deg)}75%{transform:scale(.98)rotate(-.5deg)}to{transform:scale(1)}}.loading-wrap{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:60vh;display:flex}.spinner{border:3px solid #f8bbd0;border-top-color:#e91e63;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}
