:root{--bg: #ffffff;--text: #1c1917;--muted: #78716c;--primary: #4f46e5;--primary-text: #ffffff;--border: #e7e5e4;--radius: 12px;--font-heading: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-body: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-body)}.r-stage{min-height:100%;display:flex;align-items:center;justify-content:center;padding:24px}.r-card{width:100%;max-width:620px}.r-progress{height:4px;background:var(--border);border-radius:999px;overflow:hidden;margin-bottom:40px}.r-progress>div{height:100%;background:var(--primary);transition:width .28s ease}.r-q{animation:r-in .28s ease}@keyframes r-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.r-label{font-family:var(--font-heading);font-size:28px;font-weight:700;letter-spacing:-.02em;margin:0 0 6px}.r-desc{color:var(--muted);margin:0 0 20px}.r-input,.r-textarea,.r-select{width:100%;font-size:18px;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);font-family:inherit;background:#fff;color:var(--text)}.r-input:focus,.r-textarea:focus{outline:2px solid var(--primary);border-color:var(--primary)}.r-textarea{min-height:120px;resize:vertical}.r-choice{display:flex;align-items:center;gap:10px;padding:12px 14px;margin-bottom:8px;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;font-size:17px}.r-choice:hover{border-color:var(--primary)}.r-choice.selected{border-color:var(--primary);background:color-mix(in srgb,var(--primary) 8%,white)}.r-scale{display:flex;gap:8px;flex-wrap:wrap}.r-scale button{width:48px;height:48px;border-radius:var(--radius);border:1px solid var(--border);background:#fff;cursor:pointer;font-size:16px}.r-scale button.selected{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.r-nav{display:flex;align-items:center;gap:12px;margin-top:28px}.r-btn{background:var(--primary);color:var(--primary-text);border:none;cursor:pointer;border-radius:var(--radius);padding:12px 22px;font-size:16px;font-weight:600}.r-btn[disabled]{opacity:.5;cursor:not-allowed}.r-btn.ghost{background:transparent;color:var(--muted)}.r-hint{color:var(--muted);font-size:13px}.r-done{text-align:center}.r-done h1{font-family:var(--font-heading);font-size:34px}.r-badge{margin-top:36px;color:var(--muted);font-size:13px}.r-error{color:#dc2626;font-size:14px;margin-top:8px}.r-ad{margin-top:28px;padding:16px;border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted);font-size:13px;text-align:center}.r-stage{background:var(--bg);color:var(--text)}.r-card{max-width:var(--page-width, 620px);font-size:var(--base-font, 16px)}.r-formtitle{font-family:var(--font-heading);font-size:2em;font-weight:800;letter-spacing:-.02em;margin:0 0 6px}.r-logo{width:72px;height:72px;object-fit:contain;display:block;margin:0 auto 16px}.r-page{animation:r-in .24s ease}.r-blockheading{font-family:var(--font-heading);font-size:1.5em;font-weight:800;margin:24px 0 4px}.r-blockpara{color:var(--muted);margin:0 0 16px;line-height:1.6}.r-previewbar{position:fixed;top:0;left:0;right:0;background:#0070d7;color:#fff;text-align:center;padding:6px;font-size:13px;z-index:10}.r-rating{display:flex;gap:6px}.r-star{background:none;border:none;cursor:pointer;font-size:2em;line-height:1;color:var(--border)}.r-star.on{color:#f5b301}.r-row{display:flex;gap:8px;align-items:center}.ph-items{display:flex;flex-direction:column;gap:10px}.ph-heading{margin:14px 0 2px;font-family:var(--font-heading);font-weight:700}.ph-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:inherit;background:var(--bg)}.ph-item:hover{border-color:var(--accent)}.ph-item.done{opacity:.7}.ph-item-title{font-weight:600}.ph-status{font-size:13px;font-weight:600;color:var(--accent);white-space:nowrap}.ph-status.done{color:#16a34a}.ph-go{color:var(--muted)}.ph-code{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:22px;padding-top:16px;border-top:1px solid var(--border)}.r-notice{background:color-mix(in srgb,var(--accent) 10%,transparent);border:1px solid var(--accent);border-radius:var(--radius);padding:12px 14px;margin-bottom:16px;font-size:14px}
