:root{font-family:'Hiragino Sans','Yu Gothic',Meiryo,sans-serif;color:#10201f;background:#f4f5f2;font-size:18px;line-height:1.7}
*{box-sizing:border-box}body{margin:0}main{max-width:560px;margin:0 auto;padding:28px 18px 60px}
h1{font-size:1.35em;margin:0 0 12px}h2{font-size:1.02em;margin:30px 0 8px}.lead{color:#3f5249}.legal-nav{font-size:.72em;margin:0 0 28px}.legal-nav a{color:#12774b}.legal-date{font-size:.75em;color:#667a70;margin-top:34px}li{margin:7px 0}label{display:block;font-weight:600;margin:18px 0;font-size:.92em}
input,textarea,select{display:block;width:100%;font:inherit;margin-top:8px;padding:12px 14px;border:1px solid #b7c8bf;border-radius:8px;background:#fff;color:inherit;min-height:48px}
fieldset{border:0;padding:0;margin:18px 0}legend{font-weight:600;font-size:.92em;margin-bottom:6px}
.opt{display:flex;align-items:center;gap:10px;font-weight:400;background:#fff;border:1px solid #dde7e0;border-radius:8px;padding:10px 14px;margin:8px 0}
.opt input{width:22px;height:22px;min-height:0;margin:0;accent-color:#12774b}.req{font-size:.7em;color:#885c0e;border:1px solid #e9cf9c;border-radius:4px;padding:0 5px;margin-left:8px}
button{width:100%;min-height:52px;border:0;border-radius:8px;background:#14b26a;color:#10201f;font:inherit;font-weight:700;margin-top:10px;cursor:pointer}
button:disabled{opacity:.5}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #b57b13;outline-offset:3px}
.demo{background:#fdf3df;border-radius:8px;padding:12px 14px;margin:16px 0;font-size:.85em}.purpose{font-size:.8em;margin:14px 0}
#status{font-weight:600;color:#12774b}#status.error{color:#9b3a22}
.eyebrow{font-size:.75em;font-weight:700;color:#12774b;margin:0}.when{font-weight:600;margin:0 0 10px}
.player{position:relative;background:#10201f;border-radius:10px;overflow:hidden;margin:18px 0 10px;aspect-ratio:16/9}
.player video{display:block;width:100%;height:100%;object-fit:contain;background:#10201f}
.youtube-player,.youtube-player iframe{display:block;width:100%;height:100%;border:0}
.overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:16px;text-align:center;color:#fff;background:rgba(10,20,16,.62)}
.overlay[hidden]{display:none}.overlay p{margin:0;font-weight:600}.countdown{font-size:1.5em;font-variant-numeric:tabular-nums}
.overlay button{width:auto;padding:0 26px;margin-top:12px}
.controls,.parts{display:flex;gap:8px;flex-wrap:wrap}.controls[hidden],.parts[hidden]{display:none}
button.secondary{width:auto;flex:1;min-height:44px;background:#fff;color:#12774b;border:1px solid #b7c8bf;margin-top:0}
.parts button{flex:0 0 auto;padding:0 14px}.parts button[aria-pressed=true]{background:#12774b;color:#fff}
.note{font-size:.75em;color:#667a70;margin-top:24px}