/* ═══════════════════════════════════════════════════════════════════════════
   APPEAL CENTER — /appeal   (extends gkg-core.css + docs.css)
   "Night court" — a multi-state flow: loading · login wall · not punished · already
   submitted · inbox thread · records · chat log · notifications · blocked · 3-step form
   · success. Every state shares the paper-panel + hard-shadow language.
   ═══════════════════════════════════════════════════════════════════════════ */

.pg-appeal .content{min-width:0;position:relative}
.pg-appeal .doc-layout{display:grid;gap:2rem;grid-template-columns:minmax(0,1fr)}
@media(min-width:1020px){.pg-appeal .doc-layout{grid-template-columns:260px minmax(0,1fr);gap:2.6rem;align-items:start}
  .pg-appeal .doc-side-inner{position:sticky;top:calc(var(--nav-h) + 1.5rem)}}
.pg-appeal .doc-side{min-width:0}
.pg-appeal .notice{display:block}
.pg-appeal .notice::before{content:none}

/* ── notices ─────────────────────────────────────────────────────────────── */
.pg-appeal .notice{position:relative;margin-bottom:1.4rem;padding:1.1rem 1.3rem 1.1rem 1.6rem;border-left-width:8px}
.pg-appeal .notice-title{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem;font:400 1.3rem/1 var(--f-display);letter-spacing:.02em;text-transform:uppercase;color:var(--red-deep)}
.pg-appeal .notice-title svg{width:18px;height:18px;flex-shrink:0}
.pg-appeal .notice p+p{margin-top:.6rem}
.pg-appeal .notice ul{margin:.7rem 0 0 1.1rem;display:grid;gap:.35rem}
.pg-appeal .notice ul li{font-size:.95rem;line-height:1.65;color:var(--ink)}
.pg-appeal .notice-info{border-left-color:#2F6BD6}
.pg-appeal .notice-info .notice-title{color:#1F4FA8}
.pg-appeal .notice-ok{border-left-color:var(--ok)}
.pg-appeal .notice-ok .notice-title{color:#146A3A}
.pg-appeal .notice-warn{border-left-color:var(--red)}
.pg-appeal .notice-warn .notice-title{color:var(--red-deep)}
.pg-appeal #flashMsg{margin-bottom:1rem}

/* ── buttons: map legacy names to core button recipe ─────────────────────── */
.pg-appeal .btn-primary{--b-bg:var(--accent-fill);--b-fg:var(--on-accent,#fff);--b-bd:var(--ink-0);--b-sh:var(--gold)}
[data-theme="light"] .pg-appeal .btn-primary{--b-sh:var(--ink)}
.pg-appeal .btn-primary:hover:not(:disabled){--b-bg:var(--red-hot);--b-fg:#fff}
.pg-appeal .btn:disabled{opacity:.45;cursor:not-allowed;filter:grayscale(.4)}
.pg-appeal .btn:disabled:hover{--b-bg:var(--accent-fill)}
.pg-appeal .btn-ghost:disabled:hover{--b-bg:transparent}
.pg-appeal .btn-sm{min-height:38px;padding:.55rem 1.1rem;font-size:.7rem}
.pg-appeal .btn-row{display:flex;flex-wrap:wrap;gap:1rem 1.2rem;margin-top:1.8rem;align-items:center}
.pg-appeal .btn-row .btn{flex:0 1 auto}
@media(max-width:560px){.pg-appeal .btn-row{flex-direction:column-reverse;align-items:stretch}.pg-appeal .btn-row .btn{width:100%;justify-content:center}}
.pg-appeal .btn-discord{position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-height:52px;padding:.9rem 1.8rem;cursor:pointer;
  font:700 .92rem/1 var(--f-label);letter-spacing:.18em;text-transform:uppercase;color:#fff;background:none;border:0}
.pg-appeal .btn-discord::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--blurple);border:2px solid var(--ink-0);transform:skewX(-9deg);box-shadow:5px 5px 0 var(--hard);transition:transform .14s var(--ease),box-shadow .14s var(--ease),background .15s}
.pg-appeal .btn-discord:hover::before{background:#6F7BFF;transform:skewX(-9deg) translate(-2px,-2px);box-shadow:7px 7px 0 var(--hard)}
.pg-appeal .btn-discord:active::before{transform:skewX(-9deg) translate(3px,3px);box-shadow:1px 1px 0 var(--hard)}
.pg-appeal .btn-discord svg{width:26px;height:20px;fill:currentColor}
.pg-appeal .btn-discord:focus-visible{outline:3px solid var(--gold);outline-offset:6px}

/* ── loading ─────────────────────────────────────────────────────────────── */
.pg-appeal .spinner{display:inline-block;width:34px;height:34px;border:4px solid var(--line-strong);border-top-color:var(--red);border-right-color:var(--red);animation:gk-spin .8s steps(8) infinite;transform:rotate(45deg)}
@keyframes gk-spin{to{transform:rotate(405deg)}}
.pg-appeal .msg-state .spinner,.pg-appeal .btn .spinner{width:16px;height:16px;border-width:3px}
.pg-appeal .load-label,.pg-appeal #stateLoading p{font:700 .85rem/1 var(--f-label)!important;letter-spacing:.28em!important;color:var(--text-dim)!important;text-transform:uppercase}

/* ── login wall ──────────────────────────────────────────────────────────── */
.pg-appeal .login-wall{position:relative;isolation:isolate;overflow:hidden;text-align:center;padding:clamp(2rem,5vw,3.4rem) clamp(1.2rem,4vw,3rem);background:var(--surface);border:3px solid var(--line-strong);box-shadow:8px 8px 0 var(--hard)}
.pg-appeal .login-wall::before{content:'';position:absolute;inset:0;z-index:-1;background:var(--red);opacity:.09;-webkit-mask:var(--g-cloud) 0 0/120px 76px repeat;mask:var(--g-cloud) 0 0/120px 76px repeat}
.pg-appeal .login-wall::after{content:'錠';position:absolute;right:-.1em;bottom:-.25em;z-index:-1;font:400 14rem/1 var(--f-jp);color:var(--red);opacity:.07;pointer-events:none}
.pg-appeal .login-wall-icon{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 1.3rem;color:#fff;background:var(--red);border:3px solid var(--ink-0);box-shadow:5px 5px 0 var(--gold);transform:rotate(-3deg)}
.pg-appeal .login-wall-icon svg{width:42px;height:42px}
.pg-appeal .login-wall-title{margin:0 0 .8rem;font:400 clamp(1.8rem,5vw,2.6rem)/1 var(--f-display);text-transform:uppercase;text-shadow:3px 3px 0 var(--hard)}
.pg-appeal .login-wall-desc{max-width:52ch;margin:0 auto 1.8rem;font-size:1rem;line-height:1.75;color:var(--text-dim)}

/* ── member bar ──────────────────────────────────────────────────────────── */
.pg-appeal .member-bar{display:flex;flex-wrap:wrap;gap:.9rem 1.1rem;margin:0 0 1.8rem;padding:1rem 1.1rem;background:var(--surface2);border:2px dashed var(--line-strong)}
.pg-appeal .member-bar[hidden]{display:none}
.pg-appeal .member-bar .btn{min-height:42px;padding:.6rem 1.1rem;font-size:.72rem}
.pg-appeal .member-bar .btn.active{--b-bg:var(--text);--b-fg:var(--bg)}

/* ── status card ─────────────────────────────────────────────────────────── */
.pg-appeal .status-card{display:flex;align-items:center;gap:1.1rem;margin-bottom:1.6rem;padding:1rem 1.2rem;background:var(--surface);border:2px solid var(--line-strong);border-left:8px solid var(--red);box-shadow:5px 5px 0 var(--hard)}
.pg-appeal .status-av{display:grid;place-items:center;flex-shrink:0;width:60px;height:60px;border-radius:50%;border:3px solid var(--ink-0);box-shadow:3px 3px 0 var(--red);object-fit:cover;background:var(--surface2);font:400 1.5rem/1 var(--f-display);color:var(--text)}
.pg-appeal .status-info{min-width:0}
.pg-appeal .status-name{font:400 1.5rem/1.05 var(--f-display);text-transform:uppercase;letter-spacing:.02em;margin-bottom:.2rem;overflow-wrap:anywhere}
.pg-appeal .status-sub{font:500 .86rem/1.4 var(--f-label);letter-spacing:.14em;color:var(--text-muted);text-transform:uppercase;margin-bottom:.5rem;overflow-wrap:anywhere}
.pg-appeal .status-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .7rem;font:700 .74rem/1 var(--f-label);letter-spacing:.18em;text-transform:uppercase;border:2px solid currentColor;transform:rotate(-1.5deg)}
.pg-appeal .badge-banned{color:#fff;background:var(--red);border-color:var(--ink-0)}
.pg-appeal .badge-muted{color:var(--ink-0);background:var(--gold);border-color:var(--ink-0)}
.pg-appeal .badge-ok{color:var(--ok);background:transparent}
.pg-appeal #formLocked,.pg-appeal #stateForm.locked .panel,.pg-appeal #stateForm.locked .steps{display:none}
.pg-appeal #stateForm.locked #formLocked{display:block}

/* ── step tracker ────────────────────────────────────────────────────────── */
.pg-appeal .steps{display:flex;align-items:center;margin:0 0 2.2rem;padding:1rem 0}
.pg-appeal .step{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex-shrink:0}
.pg-appeal .step-num{display:grid;place-items:center;width:46px;height:46px;font:400 1.4rem/1 var(--f-display);color:var(--text-muted);background:var(--surface);border:2px solid var(--line-strong);transform:rotate(-4deg);transition:all .2s var(--ease)}
.pg-appeal .step-label{font:700 .75rem/1 var(--f-label);letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted)}
.pg-appeal .step.active .step-num{color:#fff;background:var(--red);border-color:var(--ink-0);box-shadow:4px 4px 0 var(--gold);transform:rotate(-4deg) scale(1.1)}
.pg-appeal .step.active .step-label{color:var(--accent)}
.pg-appeal .step.done .step-num{color:var(--ink-0);background:var(--gold);border-color:var(--ink-0);font-size:0}
.pg-appeal .step.done .step-num::after{content:'✓';font:700 1.25rem/1 var(--f-body)}
.pg-appeal .step.done .step-label{color:var(--text-dim)}
.pg-appeal .step-line{flex:1;height:0;margin:0 .6rem 1.4rem;border-top:3px dashed var(--line-strong)}
.pg-appeal .step-line.done{border-top:3px solid var(--gold)}

/* ── panels ──────────────────────────────────────────────────────────────── */
.pg-appeal .panel{display:none}
.pg-appeal .panel.active{display:block;animation:gk-rise-in .35s var(--ease) both}
@keyframes gk-rise-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.pg-appeal .panel.active{animation:none}.pg-appeal .spinner{animation-duration:2s}}

/* ── type cards ──────────────────────────────────────────────────────────── */
.pg-appeal .type-grid{display:grid;gap:1.2rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:.4rem}
@media(max-width:620px){.pg-appeal .type-grid{grid-template-columns:minmax(0,1fr)}}
.pg-appeal .type-card{position:relative;isolation:isolate;overflow:hidden;cursor:pointer;padding:1.5rem 1.3rem 1.4rem;background:var(--surface);border:2px solid var(--line-strong);box-shadow:5px 5px 0 var(--hard);transition:transform .14s var(--ease),box-shadow .14s var(--ease),border-color .14s}
.pg-appeal .type-card::before{content:'';position:absolute;left:0;top:0;bottom:0;width:8px;background:var(--line-strong);transition:background .15s}
.pg-appeal .type-card:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--hard);border-color:var(--red)}
.pg-appeal .type-card:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.pg-appeal .type-card.selected{border-color:var(--ink-0);background:var(--red);color:#FFF6EA;box-shadow:7px 7px 0 var(--gold)}
.pg-appeal .type-card.selected::before{background:var(--ink-0)}
.pg-appeal .type-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:1rem;color:var(--text);background:var(--surface2);border:2px solid var(--line-strong)}
.pg-appeal .type-icon svg{width:34px;height:34px}
.pg-appeal .type-card.selected .type-icon{color:var(--ink-0);background:var(--paper);border-color:var(--ink-0)}
.pg-appeal .type-name{margin-bottom:.5rem;font:400 1.7rem/1 var(--f-display);text-transform:uppercase;letter-spacing:.02em}
.pg-appeal .type-card.selected .type-name{color:#fff;text-shadow:2px 2px 0 var(--ink-0)}
.pg-appeal .type-desc{font-size:.94rem;line-height:1.65;color:var(--text-dim)}
.pg-appeal .type-card.selected .type-desc{color:#FFE3D2}

/* ── fields ──────────────────────────────────────────────────────────────── */
.pg-appeal .field-group{margin-bottom:1.6rem}
.pg-appeal .field-label{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.6rem;font:700 .82rem/1.3 var(--f-label);letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.pg-appeal .field-req{color:var(--red-hot);font-size:1.1em}
.pg-appeal .field-hint{margin-top:.5rem;font-size:.84rem;line-height:1.55;color:var(--text-muted)}
.pg-appeal input[type="text"],.pg-appeal input[type="number"],.pg-appeal select,.pg-appeal textarea{width:100%;padding:.85rem 1rem;color:var(--text);background:var(--in-bg,var(--surface));border:2px solid var(--line-strong);border-radius:0;font:400 1rem/1.65 var(--f-body);transition:border-color .15s,box-shadow .15s}
.pg-appeal textarea{min-height:130px;resize:vertical}
.pg-appeal input:focus,.pg-appeal select:focus,.pg-appeal textarea:focus{outline:none;border-color:var(--red);box-shadow:4px 4px 0 var(--hard)}
.pg-appeal ::placeholder{color:var(--text-muted);opacity:.8}
.pg-appeal .char-counter{margin-top:.35rem;text-align:right;font:600 .78rem/1 var(--f-label);letter-spacing:.14em;color:var(--text-muted)}
.pg-appeal .char-counter.warn{color:var(--red-hot)}
.pg-appeal .radio-group{display:grid;gap:.7rem}
.pg-appeal .radio-opt{display:flex;align-items:flex-start;gap:.9rem;padding:.85rem 1rem;cursor:pointer;background:var(--surface);border:2px solid var(--line-strong);transition:border-color .12s,background .12s,transform .12s}
.pg-appeal .radio-opt:hover{border-color:var(--red);transform:translateX(3px)}
.pg-appeal .radio-opt.selected{border-color:var(--ink-0);background:var(--red);color:#FFF6EA;box-shadow:4px 4px 0 var(--gold)}
.pg-appeal .radio-circle{display:grid;place-items:center;flex-shrink:0;width:22px;height:22px;margin-top:.15rem;border:2px solid currentColor;border-radius:50%}
.pg-appeal .radio-dot{width:10px;height:10px;border-radius:50%;background:currentColor;transform:scale(0);transition:transform .15s var(--ease-snap,ease)}
.pg-appeal .radio-opt.selected .radio-dot{transform:scale(1)}
.pg-appeal .radio-text{font-size:1rem;line-height:1.5}
.pg-appeal .radio-sub{display:block;margin-top:.2rem;font-size:.84rem;opacity:.8}
.pg-appeal .check-opt{display:flex;align-items:flex-start;gap:1rem;padding:1rem 1.1rem;cursor:pointer;background:var(--surface);border:2px dashed var(--line-strong);transition:border-color .12s,background .12s}
.pg-appeal .check-opt:hover,.pg-appeal .check-opt:focus-visible{border-color:var(--red);outline:none}
.pg-appeal .check-box{display:grid;place-items:center;flex-shrink:0;width:28px;height:28px;margin-top:.1rem;background:var(--bg);border:2px solid var(--line-strong)}
.pg-appeal .check-mark{opacity:0;font:900 1.1rem/1 var(--f-body);color:#fff;transform:scale(.4);transition:all .15s var(--ease)}
.pg-appeal .check-opt.checked{border-style:solid;border-color:var(--ink-0);background:var(--surface2);box-shadow:4px 4px 0 var(--red)}
.pg-appeal .check-opt.checked .check-box{background:var(--red);border-color:var(--ink-0)}
.pg-appeal .check-opt.checked .check-mark{opacity:1;transform:none}
.pg-appeal .check-label{font-size:.94rem;line-height:1.65;color:var(--text-dim)}
.pg-appeal .error-msg{display:none;margin-top:1rem;padding:.85rem 1.1rem;font-size:.94rem;line-height:1.55;color:#fff;background:var(--red-deep);border:2px solid var(--ink-0);border-left:8px solid var(--red-hot);box-shadow:4px 4px 0 var(--hard)}
.pg-appeal .error-msg.show{display:block}
.pg-appeal .error-msg::before{content:'ERROR';display:inline-block;margin-right:.7rem;padding:.2rem .5rem;font:700 .7rem/1 var(--f-label);letter-spacing:.2em;background:var(--paper);color:var(--red-deep);transform:rotate(-2deg)}

/* ── review summary (JS-built) ───────────────────────────────────────────── */
.pg-appeal #reviewSummary{display:grid;gap:.8rem}
.pg-appeal #reviewSummary>*{padding:.9rem 1.1rem;background:var(--surface);border:2px solid var(--line-strong);border-left:6px solid var(--gold);overflow-wrap:anywhere}

/* ── inbox / chat thread ─────────────────────────────────────────────────── */
.pg-appeal .inbox-thread{display:flex;flex-direction:column;gap:1.1rem;max-height:62vh;overflow-y:auto;margin:1.2rem 0 1.6rem;padding:1.2rem;background:var(--surface2);border:2px solid var(--line-strong);scrollbar-width:thin;scrollbar-color:var(--red) transparent;
  background-image:radial-gradient(circle,rgba(127,127,127,.18) 0 1px,transparent 1.4px);background-size:7px 7px}
.pg-appeal .inbox-empty{padding:2rem 1rem;text-align:center;font:600 .9rem/1.6 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}
.pg-appeal .inbox-msg{position:relative;max-width:86%;padding:.85rem 1.1rem;font-size:.97rem;line-height:1.65;overflow-wrap:anywhere;white-space:pre-wrap;border:2px solid var(--ink-0)}
.pg-appeal .inbox-msg.staff{align-self:flex-start;color:var(--ink);background:var(--paper);box-shadow:5px 5px 0 var(--red)}
.pg-appeal .inbox-msg.me{align-self:flex-end;color:var(--text);background:var(--surface);border-color:var(--line-strong);box-shadow:-5px 5px 0 var(--hard)}
.pg-appeal .inbox-msg.pending{opacity:.65;border-style:dashed}
.pg-appeal .inbox-msg.failed{border-color:var(--red-hot);opacity:1}
.pg-appeal .inbox-msg.accepted{background:#D5EBD8;color:#0F3D1E;box-shadow:5px 5px 0 var(--ok)}
.pg-appeal .inbox-msg.rejected{background:#F5D2D2;color:#5A0E12;box-shadow:5px 5px 0 var(--red-deep)}
.pg-appeal .inbox-meta{display:block;margin-bottom:.35rem;font:700 .72rem/1.2 var(--f-label);letter-spacing:.18em;text-transform:uppercase;opacity:.7}
.pg-appeal .inbox-imgs{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.7rem}
.pg-appeal .inbox-imgs img{width:112px;height:112px;object-fit:cover;border:2px solid var(--ink-0);cursor:zoom-in}
.pg-appeal .inbox-attach{margin-top:1rem}
.pg-appeal .inbox-files{display:flex;flex-wrap:wrap;gap:.6rem;margin:.7rem 0}
.pg-appeal .inbox-chip{display:inline-flex;align-items:center;gap:.5rem;padding:.3rem .4rem .3rem .3rem;background:var(--surface);border:2px solid var(--line-strong);font-size:.82rem}
.pg-appeal .inbox-chip img{width:34px;height:34px;object-fit:cover}
.pg-appeal .inbox-chip button{display:grid;place-items:center;width:28px;height:28px;cursor:pointer;color:#fff;background:var(--red);border:0;font-weight:700}
.pg-appeal .inbox-records{display:grid;gap:.8rem}
.pg-appeal .inbox-rec{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem;padding:1rem 1.1rem;cursor:pointer;background:var(--surface);border:2px solid var(--line-strong);box-shadow:4px 4px 0 var(--hard);transition:transform .12s var(--ease),box-shadow .12s,border-color .12s;font-size:.96rem}
.pg-appeal .inbox-rec:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 var(--hard);border-color:var(--red)}
.pg-appeal .inbox-rec.active{border-color:var(--ink-0);border-left:8px solid var(--red)}
.pg-appeal .inbox-rec small{display:block;margin-top:.2rem;font:600 .78rem/1.3 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}
.pg-appeal .rec-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.pg-appeal .last-decision{display:block}
.pg-appeal .last-decision .ld-text{font-size:.97rem;line-height:1.65}
.pg-appeal .last-decision .ld-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1rem}
.pg-appeal .msg-state{display:flex;align-items:center;gap:.7rem;margin:.9rem 0;font:600 .85rem/1.4 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}
.pg-appeal .msg-state.ok{color:var(--ok)}
.pg-appeal .msg-state.err{color:var(--red-hot)}
.pg-appeal .msg-state button{cursor:pointer;color:var(--accent);background:none;border:0;text-decoration:underline;font:inherit}

/* ── notifications ───────────────────────────────────────────────────────── */
.pg-appeal .notify-opt{display:flex;align-items:center;justify-content:space-between;gap:1.4rem;margin-bottom:1rem;padding:1.1rem 1.2rem;background:var(--surface);border:2px solid var(--line-strong);box-shadow:4px 4px 0 var(--hard)}
.pg-appeal .notify-opt h3{margin:0 0 .35rem;font:400 1.3rem/1 var(--f-display);text-transform:uppercase;letter-spacing:.02em}
.pg-appeal .notify-opt p{font-size:.9rem;line-height:1.6;color:var(--text-dim)}
.pg-appeal .notify-opt .help-warn{color:var(--accent);font-weight:700}
.pg-appeal .switch{position:relative;flex-shrink:0;width:64px;height:34px;padding:0;cursor:pointer;background:var(--surface2);border:2px solid var(--line-strong);transition:background .15s,border-color .15s}
.pg-appeal .switch::after{content:'';position:absolute;top:3px;left:3px;width:24px;height:24px;background:var(--text-muted);border:2px solid var(--ink-0);transition:transform .18s var(--ease),background .15s}
.pg-appeal .switch[aria-checked="true"]{background:var(--red);border-color:var(--ink-0)}
.pg-appeal .switch[aria-checked="true"]::after{transform:translateX(30px);background:var(--paper)}
.pg-appeal .switch:disabled{opacity:.45;cursor:not-allowed}
.pg-appeal .switch:focus-visible{outline:3px solid var(--gold);outline-offset:4px}
.pg-appeal #notifyStatus{min-height:1.4em;margin:.8rem 0 0;font:600 .86rem/1.4 var(--f-label);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}
.pg-appeal #notifyStatus.ok{color:var(--ok)}
.pg-appeal #notifyStatus.err{color:var(--red-hot)}
@media(max-width:560px){.pg-appeal .notify-opt{flex-direction:column;align-items:flex-start}}

/* ── success ─────────────────────────────────────────────────────────────── */
.pg-appeal .success-screen{position:relative;isolation:isolate;overflow:hidden;text-align:center;padding:clamp(2rem,5vw,3.4rem) clamp(1rem,4vw,2.4rem);background:var(--surface);border:3px solid var(--line-strong);box-shadow:8px 8px 0 var(--ok)}
.pg-appeal .success-screen::before{content:'受';position:absolute;left:-.1em;top:-.2em;z-index:-1;font:400 16rem/1 var(--f-jp);color:var(--ok);opacity:.08;pointer-events:none}
.pg-appeal .success-icon{display:grid;place-items:center;width:84px;height:84px;margin:0 auto 1.2rem;color:#fff;background:var(--ok);border:3px solid var(--ink-0);box-shadow:5px 5px 0 var(--ink-0);transform:rotate(-4deg)}
.pg-appeal .success-icon svg{width:44px;height:44px}
.pg-appeal .success-title{margin:0 0 .9rem;font:400 clamp(2.2rem,6vw,3.6rem)/1 var(--f-display);text-transform:uppercase;text-shadow:3px 3px 0 var(--hard)}
.pg-appeal .success-id{display:inline-block;margin:0 0 1.2rem;padding:.5rem 1.1rem;font:700 1.05rem/1 var(--f-mono);letter-spacing:.14em;color:var(--ink);background:var(--paper);border:2px dashed var(--ink);transform:rotate(-1.2deg);overflow-wrap:anywhere}
.pg-appeal .success-id:empty{display:none}
.pg-appeal .success-desc{max-width:56ch;margin:0 auto 1.6rem;font-size:1rem;line-height:1.75;color:var(--text-dim)}
.pg-appeal .success-screen .notice{text-align:left}
.pg-appeal .success-screen .btn-row{justify-content:center}
.pg-appeal .sec-head{margin-bottom:1.6rem}
