.yh-wrap{max-width:980px;margin:30px auto;padding:24px;background:#fff;border:1px solid #ddd;border-radius:14px;box-sizing:border-box}.yh-wrap h2{margin-top:0}.yh-wrap label{display:block;margin:12px 0;font-weight:600}.yh-wrap input[type=text],.yh-wrap input[type=email],.yh-wrap input[type=number]{width:100%;max-width:420px;padding:10px;border:1px solid #bbb;border-radius:8px;box-sizing:border-box}.yh-wrap button,.yh-button{display:inline-block;padding:11px 18px;border:0;border-radius:8px;background:#17365d;color:#fff;text-decoration:none;cursor:pointer}.yh-success,.yh-error{padding:12px;border-radius:8px;margin:12px 0}.yh-success{background:#eef8ef;color:#1c6b2d}.yh-error{background:#fff0f0;color:#9b1c1c}.yh-progress-card{padding:18px;border:1px solid #ddd;border-radius:12px;background:#fafafa}.yh-puzzle{display:grid;grid-template-columns:repeat(7,minmax(36px,1fr));gap:8px;margin-top:14px}.yh-piece{aspect-ratio:1;border:2px dashed #bbb;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:22px;color:#aaa;background:#f2f2f2}.yh-piece.done{border-style:solid;background:#f6e7a9;color:#17365d}.yh-complete{text-align:center;margin-top:18px}.yh-complete img{max-width:100%;height:auto;border-radius:12px}.yh-complete-placeholder{padding:40px 10px;background:#17365d;color:#fff;font-size:28px;font-weight:700;border-radius:12px}.yh-section{margin-top:24px;padding:18px;border:1px solid #ddd;border-radius:12px}.yh-section.open{border-color:#17365d}.yh-badge{font-size:12px;padding:4px 8px;background:#e8f2ff;border-radius:20px}.yh-performer{padding:14px;margin:12px 0;border:1px solid #e1e1e1;border-radius:10px}.yh-performer-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px}.yh-performer label{display:grid;grid-template-columns:100px 100px;align-items:center;margin:8px 0}.yh-performer input[type=number]{max-width:100px}.yh-save-status{font-size:12px;color:#666}.yh-submit-message{margin-top:10px;font-weight:600}@media(max-width:640px){.yh-wrap{margin:10px;padding:16px}.yh-puzzle{grid-template-columns:repeat(4,1fr)}.yh-performer-head{display:block}.yh-performer label{grid-template-columns:1fr 90px}}
