*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:#f7f8fa;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Hiragino Kaku Gothic ProN,Noto Sans JP,Segoe UI,sans-serif}#root{flex-direction:column;display:flex}.d-screen{background:#f7f8fa;flex-direction:column;min-height:100dvh;display:flex}.d-center{justify-content:center;align-items:center}.d-loading{color:#888;font-size:15px}.d-error-box{text-align:center;background:#fff;border-radius:16px;width:100%;max-width:360px;padding:32px 24px;box-shadow:0 4px 20px #00000014}.d-error-title{color:#c53030;margin:0 0 8px;font-size:16px;font-weight:700}.d-error-message{color:#888;margin:0 0 20px;font-size:13px}.d-top-inner{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 24px;display:flex}.d-top-image{object-fit:cover;border-radius:12px;width:100%;max-width:320px;margin-bottom:24px}.d-top-title{color:#1a1a1a;margin:0 0 12px;font-size:22px;font-weight:800;line-height:1.4}.d-top-description{color:#555;white-space:pre-wrap;margin:0 0 16px;font-size:15px;line-height:1.7}.d-top-user{color:#4f46e5;margin:0 0 8px;font-size:13px;font-weight:600}.d-top-meta{color:#999;margin:0 0 32px;font-size:13px}.d-progress-bar-wrap{background:#e8e9ec;flex-shrink:0;height:4px}.d-progress-bar{background:#4f46e5;height:100%;transition:width .3s}.d-progress-text{color:#999;text-align:right;padding:6px 16px 0;font-size:12px}.d-question-inner{flex-direction:column;flex:1;padding:24px 20px 32px;display:flex;overflow-y:auto}.d-question-num{color:#4f46e5;letter-spacing:1px;margin:0 0 8px;font-size:13px;font-weight:700}.d-question-text{color:#1a1a1a;margin:0 0 8px;font-size:18px;font-weight:700;line-height:1.5}.d-question-hint{color:#aaa;margin:0 0 20px;font-size:12px}.d-choices{flex-direction:column;gap:10px;margin-bottom:32px;display:flex}.d-choice{color:#1a1a1a;text-align:left;cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:12px;align-items:center;gap:12px;width:100%;padding:14px 16px;font-family:inherit;font-size:15px;transition:border-color .15s,background .15s;display:flex}.d-choice:active{background:#f0f0ff}.d-choice-selected{background:#eef2ff;border-color:#4f46e5}.d-choice-check{color:#0000;border:2px solid #d1d5db;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;transition:border-color .15s,background .15s;display:flex}.d-choice-check-on{color:#fff;background:#4f46e5;border-color:#4f46e5}.d-textarea{resize:vertical;box-sizing:border-box;background:#fff;border:1px solid #e0e0e0;border-radius:10px;width:100%;margin-bottom:32px;padding:12px 14px;font-family:inherit;font-size:15px}.d-nav{gap:12px;margin-top:auto;padding-top:16px;display:flex}.d-btn-back{color:#666;cursor:pointer;background:0 0;border:1px solid #e0e0e0;border-radius:12px;flex:1;padding:14px;font-family:inherit;font-size:15px}.d-btn-next{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:12px;flex:2;padding:14px;font-family:inherit;font-size:15px;font-weight:700;transition:opacity .15s}.d-btn-next:disabled{opacity:.4;cursor:not-allowed}.d-btn-start{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:50px;padding:16px 40px;font-family:inherit;font-size:17px;font-weight:700;box-shadow:0 4px 16px #4f46e559}.d-result-inner{text-align:center;flex-direction:column;flex:1;align-items:center;padding:40px 24px 48px;display:flex}.d-result-label{color:#4f46e5;letter-spacing:2px;text-transform:uppercase;margin:0 0 20px;font-size:13px;font-weight:700}.d-result-image{object-fit:cover;border-radius:16px;width:100%;max-width:320px;margin-bottom:24px}.d-result-title{color:#1a1a1a;margin:0 0 16px;font-size:24px;font-weight:800;line-height:1.4}.d-result-description{color:#555;white-space:pre-wrap;text-align:left;width:100%;max-width:400px;margin:0 0 40px;font-size:15px;line-height:1.8}.d-save-error{color:#ef4444;text-align:center;margin:8px 0;font-size:13px}.d-saving{color:#6b7280;text-align:center;margin:8px 0;font-size:13px}.d-btn-retry{color:#4f46e5;cursor:pointer;background:0 0;border:2px solid #4f46e5;border-radius:50px;padding:14px 36px;font-family:inherit;font-size:15px;font-weight:700;transition:background .15s,color .15s}.d-btn-retry:hover{color:#fff;background:#4f46e5}.d-btn-primary{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:10px;padding:12px 24px;font-family:inherit;font-size:15px;font-weight:600}
