:root{--ink:#222;--mut:#6b7280;--line:#d9dde3;--pri:#2b333c;--acc:#0a7d5a;--bad:#c0392b;--bg:#f6f7f9}
*{box-sizing:border-box}
body{margin:0;font:16px/1.6 -apple-system,"Hiragino Sans",sans-serif;color:var(--ink);background:var(--bg);padding-bottom:96px}
.ap-head{display:flex;gap:10px;align-items:center;padding:10px 14px;background:#fff;border-bottom:1px solid var(--line)}
.ap-head b{display:block;font-size:15px}.ap-head span{font-size:12px;color:var(--mut)}
.ap-bar{height:5px;background:#e5e8ec}.ap-bar i{display:block;height:100%;width:25%;background:var(--acc);transition:width .2s}
.ap-prev{background:#fff7d6;color:#7a5b00;padding:8px 14px;font-size:13px}
.ap-notdone{background:#eef3ff;color:#2a4a9a;padding:8px 14px;font-size:13px}
form,.ap-doneview{max-width:560px;margin:0 auto;padding:14px}
h2{font-size:18px;margin:6px 0 8px}h3{font-size:16px}
.f{display:block;margin:12px 0;font-size:14px;font-weight:600}
fieldset.f{border:0;padding:0}legend{padding:0;margin-bottom:4px}
input:not([type=checkbox]):not([type=radio]),select,textarea{display:block;width:100%;font:inherit;font-weight:400;padding:11px 12px;margin-top:4px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--ink)}
input:focus,select:focus,textarea:focus{outline:2px solid var(--acc);outline-offset:0}
.ck{display:flex;gap:8px;align-items:center;font-weight:400;padding:9px 12px;margin:6px 0;border:1px solid var(--line);border-radius:10px;background:#fff}
.ck input{width:20px;height:20px;margin:0}
.ap-note{font-size:12.5px;color:var(--mut);margin:4px 0 10px}
.ap-hint{background:#fff7d6;border-radius:8px;padding:8px 10px;font-size:13px;margin:-6px 0 8px}
.ap-hint button{border:0;background:none;color:#0a58ca;font:inherit;text-decoration:underline;padding:0}
.ap-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.ap-reel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px 12px 12px;margin:10px 0}
.ap-reel h3{display:flex;justify-content:space-between;align-items:center;margin:8px 0 0}
.ap-reel .ap-del{border:0;background:none;color:var(--bad);font:inherit;font-size:13px}
.ap-sum{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:14px}
.ap-sum dl{margin:0}.ap-sum dt{font-size:12px;color:var(--mut);margin-top:8px}.ap-sum dd{margin:0;word-break:break-all}
.ap-mailbox{background:#fff;border:2px solid var(--acc);border-radius:12px;padding:10px 12px;margin:12px 0;font-size:14px}
#ap-mail-big{font-size:18px;word-break:break-all}
.ap-agree{margin-top:12px;justify-content:center;text-align:center}
.ap-err{background:#fdecea;color:var(--bad);border-radius:10px;padding:10px 12px;margin:10px 0;font-size:14px}
.bad{border-color:var(--bad)!important;background:#fff6f5}
.ap-nav{position:fixed;left:0;right:0;bottom:0;display:flex;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}
.ap-btn{font:inherit;font-weight:600;border-radius:12px;padding:13px 16px;border:1px solid var(--line);text-align:center;text-decoration:none;display:block}
.ap-main{flex:2;background:var(--pri);color:#fff;border-color:var(--pri)}.ap-sub{flex:1;background:#fff;color:var(--ink)}
.ap-line{background:#06c755;color:#fff;border-color:#06c755;margin:14px 0}
.ap-ok{background:var(--acc);color:#fff;border-radius:12px;padding:14px;font-weight:700;text-align:center;margin-bottom:12px}
.ap-flow{padding-left:20px}.ap-flow li{margin:6px 0}
[hidden]{display:none!important}
.ap-group{border:1px solid var(--line);border-radius:12px;padding:4px 12px 8px;margin:14px 0;background:#fff}
.ap-group h3{font-size:14px;margin:8px 0 2px}
.ap-opt{margin:6px 0}.ap-opt .ck{align-items:flex-start}.ap-opt .ck small{display:block;color:var(--mut);font-size:12px;line-height:1.5;margin-top:2px}
.ap-opt .ck span{flex:1}
.ap-subs{margin:2px 0 4px 18px}.ap-sub-ck{background:#f9fafb}
.ap-reco-badge{font-style:normal;font-size:11px;font-weight:700;color:#fff;background:#e8590c;border-radius:6px;padding:1px 6px;margin-left:6px}
.ap-reco{background:#fff8ec;border:1px solid #f1c27d;border-radius:12px;padding:8px 12px;margin:8px 0}
.ap-reco b{font-size:14px}.ap-reco p{margin:4px 0 8px;font-size:13px}
.ap-reco .ap-btn{padding:9px 12px;font-size:14px}
.ap-terms{max-height:260px;overflow-y:auto;border:2px solid var(--line);border-radius:12px;background:#fff;padding:10px 12px;font-size:13px;line-height:1.7}
.ap-terms h4{margin:10px 0 4px;font-size:14px}.ap-terms h5{margin:10px 0 2px;font-size:13px;color:var(--mut)}
.ap-terms ol{padding-left:18px;margin:4px 0}.ap-terms li{margin:6px 0}
.ap-terms table{width:100%;border-collapse:collapse}.ap-terms td{border-bottom:1px solid #eee;padding:3px 2px}.ap-terms td:last-child{text-align:right;white-space:nowrap}
.ap-end{text-align:center;color:var(--mut);margin:12px 0 4px}
.ap-terms.read{border-color:var(--acc)}
input:disabled+*{color:var(--mut)}
.ap-bearing .ck small{display:block;color:var(--mut);font-size:12px}
.ap-faint{font-size:11px;color:#9aa1ab;margin:4px 2px 0}
.ap-points{margin:6px 0 10px;padding-left:20px;font-size:14px}.ap-points li{margin:4px 0}
.ap-doc{margin:6px 0}.ap-doc.read{border-color:var(--acc);color:var(--acc)}
.ap-faint a{color:#8a93a0}
#ap-cf{display:flex;justify-content:center;margin:12px 0}
#ap-cf:empty{margin:0}
