main.narrow{max-width:700px;margin:0 auto;padding:clamp(22px,4vw,40px) var(--pad) 12px}
main.prose{max-width:840px;margin:0 auto;padding:clamp(22px,4vw,44px) var(--pad) 0}
.free-note{margin:0 0 16px;padding:14px 18px;background:var(--butter);border-left:5px solid var(--coral);border-radius:0 16px 16px 0;font-size:16px;line-height:1.5}
.free-note strong{display:block;font:700 22px/1.25 var(--serif);margin-bottom:2px}
.free-note a,.note a,.tips a,.form-help a,.notice a,.card a,.updated a{color:var(--plum)}
.note{margin:0 0 18px;padding:12px 16px;background:var(--card);border:1px solid var(--line);border-radius:14px;font-size:13.5px;line-height:1.55;color:var(--muted)}
.note p{margin:0}.note p+p{margin-top:8px}
.tips{margin:0 0 20px;padding:14px 18px;background:#EFEAF9;border-radius:16px;font-size:15px;line-height:1.5}
.tips strong{display:block;font:600 19px/1.3 var(--serif);margin-bottom:6px}
.tips ul{margin:0;padding-left:20px}.tips li{margin:4px 0}.tips p{margin:10px 0 0;font-size:14px}.tips a{font-weight:600}
.nw{white-space:nowrap}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.formcard{background:var(--coral);border:1px solid var(--coral);border-radius:22px;box-shadow:var(--shadow);padding:34px;overflow:hidden}
.form-help{font-size:14px;margin-top:14px;color:var(--muted)}.form-help summary{cursor:pointer;font-weight:600}.form-help p{margin:8px 0 0}
.updated{font:400 14px/1.5 var(--sans);color:var(--muted)}
.prose h2{margin:44px 0 12px}.prose .card h2{margin:0 0 10px}
.card{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:0 8px 22px rgba(36,8,34,.07);padding:22px 26px;margin:16px 0}
.card p{margin:10px 0}
.toc{margin:24px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:10px}
.toc a{display:inline-block;border:1.5px solid var(--plum);border-radius:999px;padding:9px 18px;text-decoration:none;font:500 16px/1 var(--serif)}.toc a:hover{background:var(--plum);color:var(--cream)}
.notice{padding:16px 20px;background:var(--butter);border-radius:16px;font-size:15px;line-height:1.55;margin:24px 0}
.notice a{font-weight:600}
.prose ol{padding-left:24px}.prose li{margin-bottom:14px}.prose li::marker{color:var(--coral-deep);font-weight:700}
.acts{display:flex;flex-wrap:wrap;gap:12px 16px;margin-top:8px}
.prose>.btn{margin-top:22px}
@media(max-width:750px){.formcard{padding:20px 12px}.story-frame{width:calc(100% + 24px);max-width:none;margin-left:-12px;margin-right:-12px}.free-note strong{font-size:20px}.acts .btn{width:100%}}
.rules{margin:0 0 20px;padding:14px 18px;background:#fff;border:2px solid var(--coral-deep);border-radius:16px;font-size:15px;line-height:1.5}
.rules .rt{margin:0 0 6px;font:600 19px/1.3 var(--serif);color:var(--plum)}
.rules ul{margin:0;padding-left:20px}.rules li{margin:6px 0;color:var(--plum)}.rules li::marker{color:var(--coral-deep)}
.rules p:last-child{margin:8px 0 0;font-size:14px;color:var(--muted)}.rules a{color:var(--plum);font-weight:600}
.tips-menu.on-form{margin:22px 0 24px}
.tips-menu.on-form .tm-title{white-space:normal;font:700 clamp(19px,5.2vw,24px)/1.2 var(--serif);letter-spacing:-.01em;text-wrap:balance;margin:0 0 4px}
.tips-menu.on-form .tm-hint{margin:0 0 8px;font:400 14px/1.4 var(--sans);color:var(--muted)}
.tips .tips-guide{text-align:center}
