:root{--ink:#1d1c1a;--ink-2:#2c2a27;--paper:#f5f0e7;--paper-2:#ebe3d5;--orange:#ff6a00;--orange-dark:#c95000;--line:rgba(39,36,31,.18);--muted:#777167;--green:#06c755;--shadow:0 24px 70px rgba(20,17,12,.12);--serif:"Yu Mincho","Hiragino Mincho ProN","Hiragino Mincho Pro",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--ink)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);line-height:1.9;-webkit-font-smoothing:antialiased}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:50;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.skip-link{position:fixed;top:-100px;left:1rem;z-index:99;background:#fff;color:#000;padding:.5rem 1rem}.skip-link:focus{top:1rem}.hidden{display:none!important}button,input,textarea,select{font:inherit}button{cursor:pointer}.site-header,.admin-header{position:absolute;top:0;left:0;right:0;z-index:10;height:86px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(22px,5vw,72px);color:#fff}.brand{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font:500 14px/1 var(--sans);letter-spacing:.35em}.brand-mark{display:grid;place-items:center;width:30px;height:30px;border:1px solid currentColor;border-radius:50%;font-size:19px;letter-spacing:0}.header-meta{display:flex;align-items:center;gap:10px;font:500 10px/1 var(--sans);letter-spacing:.2em}.signal{width:6px;height:6px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 5px rgba(255,106,0,.15)}
.hero{position:relative;min-height:100svh;background:radial-gradient(circle at 73% 35%,rgba(255,106,0,.12),transparent 22%),linear-gradient(150deg,#20201e 0%,#121210 58%,#292621 100%);color:#f3eee4;padding:clamp(145px,20vh,210px) clamp(24px,10vw,150px) 90px;overflow:hidden}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 49.9%,rgba(255,255,255,.035) 50%,transparent 50.1%),linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px);background-size:100% 100%,100% 84px}.hero-grid{position:absolute;top:0;right:8%;width:32%;height:100%;border-left:1px solid rgba(255,255,255,.1);border-right:1px solid rgba(255,255,255,.1)}.eyebrow{position:absolute;top:116px;left:clamp(24px,10vw,150px);right:clamp(24px,10vw,150px);display:flex;justify-content:space-between;color:#a9a197;font:500 9px/1 var(--sans);letter-spacing:.28em}.hero-kicker{position:relative;margin:0 0 22px;padding-left:55px;font-size:13px;letter-spacing:.16em}.hero-kicker::before{content:"";position:absolute;left:0;top:50%;width:38px;height:1px;background:var(--orange)}.hero h1{position:relative;margin:0;max-width:880px;font-size:clamp(44px,8vw,104px);line-height:1.28;font-weight:500;letter-spacing:.07em}.hero h1 em{color:var(--orange);font-style:normal}.hero-copy{position:relative;max-width:520px;margin:40px 0 32px;color:#c9c2b8;font-size:14px;letter-spacing:.07em}.hero-seal{position:absolute;right:clamp(24px,10vw,150px);bottom:75px;display:flex;align-items:center;gap:16px;border-top:1px solid rgba(255,255,255,.2);padding-top:14px}.hero-seal span{color:var(--orange);font:500 30px/1 var(--serif)}.hero-seal small{font:500 8px/1.6 var(--sans);letter-spacing:.22em;color:#aaa198}
.primary,.secondary,.line-button{border:0;min-height:58px;padding:0 24px;display:inline-flex;align-items:center;justify-content:center;gap:34px;font-family:var(--serif);letter-spacing:.1em;transition:transform .25s ease,background .25s,color .25s}.primary{background:var(--orange);color:white;box-shadow:8px 8px 0 rgba(255,106,0,.17)}.primary:hover{background:#ff7c20;transform:translateY(-2px)}.primary:focus-visible,.secondary:focus-visible,.line-button:focus-visible,.text-button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid rgba(255,106,0,.45);outline-offset:3px}.secondary{background:transparent;border:1px solid var(--line);color:var(--ink)}.secondary:hover{border-color:var(--orange);color:var(--orange)}.line-button{background:var(--green);color:#fff;width:100%;max-width:430px}.line-button span{font:700 11px/1 var(--sans);border:1px solid rgba(255,255,255,.8);padding:5px}.text-button{border:0;background:none;color:var(--orange-dark);padding:6px 0;text-decoration:underline;text-underline-offset:5px}.micro{color:var(--muted);font:400 11px/1.8 var(--sans)}
.flow-section{padding:110px clamp(20px,7vw,110px) 130px;max-width:1440px;margin:auto}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;border-bottom:1px solid var(--line);padding-bottom:26px;margin-bottom:55px}.section-heading>div{display:flex;align-items:center;gap:22px}.index{font-size:34px;color:var(--orange);line-height:1}.overline{font:600 9px/1.4 var(--sans);letter-spacing:.28em}.section-heading h2{margin:0;font-size:clamp(34px,5vw,64px);font-weight:500;letter-spacing:.05em}.steps{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0 0 58px;padding:0;border-top:1px solid var(--line)}.steps li{position:relative;padding:18px 10px;color:#a19a90;border-right:1px solid var(--line);font-size:12px}.steps li:first-child{border-left:1px solid var(--line)}.steps b{font:500 10px/1 var(--sans);margin-right:16px}.steps .active{color:var(--ink);background:rgba(255,106,0,.055)}.steps .active::before{content:"";position:absolute;left:0;right:0;top:-1px;height:2px;background:var(--orange)}.panel{max-width:760px;margin:auto;padding:clamp(28px,6vw,70px);background:rgba(255,255,255,.38);border:1px solid var(--line);box-shadow:var(--shadow);position:relative}.panel-label{position:absolute;right:22px;top:20px;color:#a39a8d;font:500 8px/1 var(--sans);letter-spacing:.22em}.panel h3{font-size:clamp(28px,5vw,52px);line-height:1.45;font-weight:500;letter-spacing:.05em;margin:0 0 24px}.panel>p{max-width:590px;color:#686158;font-size:13px;margin-bottom:35px}.test-tools{margin-top:28px}.divider{display:flex;align-items:center;gap:14px;margin:25px 0 14px;color:#a1978a;font:600 8px/1 var(--sans);letter-spacing:.24em}.divider::before,.divider::after{content:"";height:1px;background:var(--line);flex:1}label{display:grid;gap:8px;margin:0 0 22px;font-size:12px;letter-spacing:.05em}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:0;background:#fffdf8;color:var(--ink);padding:15px 16px;font-family:var(--sans);font-size:14px}textarea{resize:vertical}label small{color:var(--muted);font:400 10px/1.6 var(--sans)}form .primary{margin-top:10px}.notice{margin-top:24px;border-left:3px solid var(--orange);background:#fff8ef;padding:18px 20px}.notice p{margin:0 0 12px}.nfc-orbit{position:relative;width:170px;height:170px;margin:10px auto 30px;display:grid;place-items:center}.nfc-orbit i{position:absolute;inset:0;border:1px solid rgba(255,106,0,.2);border-radius:50%;animation:pulse 2.4s ease-out infinite}.nfc-orbit i:nth-child(2){inset:18px;animation-delay:.35s}.nfc-orbit i:nth-child(3){inset:36px;animation-delay:.7s}.nfc-core{width:80px;height:80px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font:500 11px/1 var(--sans);letter-spacing:.2em}details{margin-top:28px;border-top:1px solid var(--line);padding-top:18px}summary{cursor:pointer;font-size:12px}details p{font-size:12px;color:var(--muted)}
.clear-scene{position:relative;min-height:100svh;background:radial-gradient(circle at 50% 45%,rgba(255,106,0,.17),transparent 24%),#171715;color:#f3eee4;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:90px 24px;overflow:hidden}.clear-lines{position:absolute;inset:8%;border:1px solid rgba(255,255,255,.1)}.clear-lines::before,.clear-lines::after{content:"";position:absolute;background:rgba(255,255,255,.08)}.clear-lines::before{width:1px;top:0;bottom:0;left:50%}.clear-lines::after{height:1px;left:0;right:0;top:50%}.clear-scene h2{position:relative;margin:24px 0 18px;font-size:clamp(52px,10vw,112px);font-weight:500;letter-spacing:.16em}.clear-message{position:relative;color:#c6beb3;font-size:clamp(14px,2vw,19px);letter-spacing:.14em}.completion-mark{position:relative;width:84px;height:84px;border:1px solid var(--orange);border-radius:50%;display:grid;place-items:center;margin:32px 0}.completion-mark::before{content:"";position:absolute;inset:-10px;border:1px solid rgba(255,106,0,.25);border-radius:50%}.completion-mark span{color:var(--orange);font-size:32px}.primary.light{position:relative;background:#f5f0e7;color:var(--ink);box-shadow:8px 8px 0 rgba(255,255,255,.12)}.skip-animation{position:absolute;right:22px;top:22px;border:0;background:none;color:#8f8880;text-decoration:underline;font:400 10px/1 var(--sans)}.type-reveal{animation:reveal 1.1s cubic-bezier(.22,1,.36,1) both}.type-reveal.delay{animation-delay:.55s}
.application{padding:120px clamp(20px,8vw,120px);background:var(--paper-2)}.application>.section-heading,.application>form,.form-intro{max-width:1000px;margin-left:auto;margin-right:auto}.form-intro{color:var(--muted);font-size:13px;margin-top:-25px;margin-bottom:42px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}.form-grid .full{grid-column:1/-1}.privacy-box{margin:20px 0;padding:24px;background:rgba(255,255,255,.55);border:1px solid var(--line)}.privacy-box h3{margin:0 0 8px;font-size:17px}.privacy-box p{font-family:var(--sans);color:var(--muted);font-size:11px;line-height:1.8}.consent{display:flex;grid-template:none;align-items:flex-start;gap:10px;font-family:var(--sans);font-size:11px}.consent input{width:auto;margin-top:5px}dialog{width:min(680px,calc(100% - 28px));border:0;padding:0;background:var(--paper);box-shadow:0 30px 100px rgba(0,0,0,.35)}dialog::backdrop{background:rgba(15,14,12,.78);backdrop-filter:blur(4px)}.dialog-inner{padding:clamp(24px,6vw,58px)}.dialog-inner h2{font-size:34px;font-weight:500}.confirm-row{display:grid;grid-template-columns:120px 1fr;border-top:1px solid var(--line);padding:12px 0;font-size:12px}.confirm-row b{font-weight:500}.warning{font:400 11px/1.8 var(--sans);color:#8f4a18}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:25px}.complete-card{padding:130px 24px;text-align:center;background:var(--paper)}.complete-card h2{font-size:clamp(42px,8vw,84px);line-height:1.35;font-weight:500}.complete-card p{max-width:560px;margin:0 auto 35px;color:var(--muted)}.receipt{display:inline-flex;flex-direction:column;gap:8px;border:1px solid var(--line);padding:20px 36px}.receipt span{font:600 9px/1 var(--sans);letter-spacing:.2em}.receipt b{font:500 13px/1 var(--sans)}footer{background:var(--ink);color:#e8e2d9;padding:80px clamp(22px,7vw,100px);display:grid;grid-template-columns:1fr auto;gap:25px;align-items:end}footer p{font-size:13px;color:#aaa198}footer a{color:#aaa198;font:400 11px/1 var(--sans)}footer small{grid-column:1/-1;color:#6c6760;font:400 9px/1 var(--sans);letter-spacing:.15em}.toast{position:fixed;z-index:100;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:#111;color:#fff;padding:12px 18px;font:400 12px/1.6 var(--sans);box-shadow:0 10px 40px rgba(0,0,0,.25);transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}
.admin-body{background:#eee9df;font-family:var(--sans)}.admin-header{position:relative;background:var(--ink);height:70px}.admin-badge{display:inline-block;padding:6px 9px;border:1px solid var(--orange);color:var(--orange);font:600 9px/1 var(--sans);letter-spacing:.2em}.admin-main{max-width:1500px;margin:auto;padding:55px clamp(16px,4vw,60px) 90px}.admin-login{max-width:480px;margin:70px auto;padding:48px;background:#fff;box-shadow:var(--shadow)}.admin-login h1,.admin-title h1{font-family:var(--serif);font-size:46px;font-weight:500;margin:10px 0}.admin-title{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:26px}.metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-bottom:20px}.metric{background:#fff;padding:22px;border-top:3px solid var(--ink)}.metric b{display:block;font:500 32px/1 var(--serif);margin-top:10px}.metric span{color:var(--muted);font-size:10px}.admin-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(260px,1fr);gap:20px}.admin-card{background:#fff;padding:24px;margin-bottom:20px;box-shadow:0 8px 30px rgba(20,17,12,.05)}.admin-card h2{font-family:var(--serif);font-weight:500;margin:8px 0 20px}.card-head{display:flex;justify-content:space-between;align-items:start}.filters{display:flex;gap:12px}.filters label{flex:1}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:800px}th,td{text-align:left;border-top:1px solid #ded9cf;padding:13px 10px;font-size:11px;vertical-align:top}th{color:#777;font-size:9px;letter-spacing:.1em}.status-select{min-width:115px;padding:7px;font-size:11px}.address{line-height:1.7}.alert-item{border-top:1px solid var(--line);padding:14px 0;font-size:11px}.risk{color:#b74617;font-weight:700}.inline-form{display:grid;grid-template-columns:1fr 1fr auto;gap:14px;align-items:end}.inline-form label{margin:0}.inline-form .primary{margin:0}.audit-list{display:grid;gap:0}.audit-row{display:grid;grid-template-columns:160px 1fr 1fr;gap:15px;border-top:1px solid var(--line);padding:10px 0;font-size:10px}.issued-code{font:600 18px/1.4 monospace;letter-spacing:.08em;word-break:break-all}
@keyframes pulse{0%{transform:scale(.72);opacity:0}45%{opacity:.8}100%{transform:scale(1.08);opacity:0}}@keyframes reveal{from{opacity:0;transform:translateY(24px);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
.hero::before,.hero-grid,.hero-kicker::before,.hero-seal,.clear-lines,.clear-lines::before,.clear-lines::after,.completion-mark::before{pointer-events:none}
@media (max-width:800px){.site-header{height:70px}.header-meta{display:none}.hero{padding:135px 24px 70px;min-height:850px}.eyebrow{top:96px;left:24px;right:24px}.hero h1{font-size:48px;line-height:1.35}.hero-copy{margin-top:32px}.hero-seal{left:24px;right:auto;bottom:45px}.hero-grid{right:12%;width:55%}.flow-section{padding:80px 18px}.section-heading{display:block}.section-heading h2{margin-top:25px}.steps{grid-template-columns:repeat(2,1fr)}.steps li{border-bottom:1px solid var(--line)}.panel{padding:52px 24px 30px}.panel h3{font-size:33px}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.application{padding:85px 18px}.dialog-actions{flex-direction:column-reverse}.dialog-actions button{width:100%}footer{grid-template-columns:1fr}.metrics{grid-template-columns:repeat(2,1fr)}.admin-grid{grid-template-columns:1fr}.inline-form{grid-template-columns:1fr}.filters{display:grid}.audit-row{grid-template-columns:1fr;gap:3px}.admin-main{padding:28px 12px}.admin-card{padding:18px}.admin-login{margin:30px auto;padding:30px 22px}}

/* Participant cinematic experience — lightweight CSS only. */
.participant-body{--night:#080807;--night-2:#10100e;--ivory:#f3eee4;--ivory-dim:#bdb5a7;--gold:#bea36a;--gold-bright:#d9c18a;--gold-soft:rgba(190,163,106,.18);--dark-line:rgba(217,193,138,.2);margin:0;background:var(--night);color:var(--ivory);font-family:var(--serif);line-height:1.95;letter-spacing:.045em;overflow-x:hidden}
.participant-body::before{display:block;opacity:1;background:linear-gradient(90deg,transparent,rgba(255,255,255,.018) 50%,transparent),linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px);background-size:100% 100%,100% 96px;z-index:0}
.participant-body .site-header{height:78px;padding:0 clamp(20px,5vw,72px);color:var(--ivory);z-index:20}
.participant-body .brand{letter-spacing:.42em;font-size:12px}
.participant-body .brand-mark{border-color:var(--gold);color:var(--gold);width:28px;height:28px;font-size:16px}
.participant-body .header-meta{color:#8f887d;font-size:8px;letter-spacing:.32em}
.participant-body .exploration-timer{position:fixed;right:clamp(20px,5vw,72px);top:74px;z-index:25;padding:5px 10px;border:1px solid rgba(217,193,138,.28);background:rgba(8,8,7,.88);color:var(--gold-bright);font:500 11px/1.4 var(--sans);letter-spacing:.08em;white-space:nowrap}.participant-body .exploration-timer.urgent{border-color:#b64b4b;color:#ff9a9a}.participant-body .exploration-timer.expired{border-color:rgba(217,193,138,.18);color:#928b80}
.participant-body.final-confirmation-screen #exploration-timer{display:none!important}
.participant-body.clear-opening-active #exploration-timer{display:none!important}
.participant-body.confirmation-timer-hidden #exploration-timer{display:none!important}
@media (max-width:800px){
  .participant-body.final-confirmation-screen .opening-stage-final{width:100%;min-width:0;padding-inline:12px}
  .participant-body.final-confirmation-screen .opening-stage-final h1{width:100%;min-width:0;max-width:100%;white-space:normal}
  .participant-body.final-confirmation-screen .opening-stage-final .primary{width:min(320px,100%);min-width:0}
  .participant-body.clear-opening-active .opening-stage-final{width:100%;min-width:0;padding-inline:12px}
  .participant-body.clear-opening-active .opening-stage-final h1{width:100%;min-width:0;max-width:100%;white-space:normal}
  .participant-body.clear-opening-active .opening-stage-final .primary{width:min(320px,100%);min-width:0}
}
.participant-body .signal{width:5px;height:5px;background:var(--gold);box-shadow:0 0 0 4px rgba(190,163,106,.1)}
.participant-body .hero{position:relative;min-height:100svh;padding:118px clamp(24px,9vw,142px) 92px;background:radial-gradient(ellipse at 72% 30%,rgba(190,163,106,.105),transparent 28%),radial-gradient(ellipse at 10% 88%,rgba(93,82,60,.13),transparent 33%),linear-gradient(135deg,#050505 0%,#0d0d0c 48%,#15130f 100%);color:var(--ivory);overflow:hidden;isolation:isolate}
.participant-body .hero::before{display:block;content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 0 56%,rgba(225,204,155,.045) 57%,transparent 72%),linear-gradient(180deg,rgba(0,0,0,.06),rgba(0,0,0,.34));pointer-events:none;z-index:-1}
.participant-body .hero::after{content:"";position:absolute;top:0;bottom:0;left:clamp(38px,6.5vw,104px);width:1px;background:linear-gradient(transparent 4%,rgba(217,193,138,.34) 18%,rgba(217,193,138,.08) 80%,transparent);transform-origin:top;animation:beam-in 1.4s ease-out both;pointer-events:none}
.participant-body .hero-grid{position:absolute;inset:0 0 0 auto;width:41%;height:100%;border:0;border-left:1px solid rgba(255,255,255,.035);background:linear-gradient(90deg,transparent,rgba(255,255,255,.012));pointer-events:none}
.participant-body .eyebrow{position:relative;inset:auto;max-width:880px;display:flex;justify-content:space-between;margin:0 0 42px;color:#7e786e;font:500 8px/1 var(--sans);letter-spacing:.34em;animation:opening-rise .65s ease-out both}
.opening-skip{position:absolute;z-index:4;right:clamp(22px,5vw,72px);top:92px;border:0;background:none;color:#817b70;padding:9px 0;font:400 9px/1 var(--sans);letter-spacing:.12em;text-decoration:underline;text-underline-offset:5px}
.hero-narrative{position:relative;max-width:720px;padding-left:clamp(18px,3vw,44px)}
.opening-line{margin:0 0 12px;color:#d7d0c5;font-size:clamp(15px,1.8vw,21px);line-height:1.85;letter-spacing:.13em;opacity:0;animation:opening-rise .45s cubic-bezier(.22,1,.36,1) both}
.opening-line.line-one{animation-delay:0s}.opening-line.line-two{animation-delay:.12s}.opening-line.line-three{animation-delay:.24s}
.opening-sign{margin:28px 0 0;color:#817a70;font:400 10px/1.8 var(--sans);letter-spacing:.22em;opacity:0;animation:opening-rise .42s ease-out .36s both}
.opening-sign b{color:var(--gold-bright);font:500 14px/1 var(--serif);letter-spacing:.18em;margin-left:8px}
.hero-conclusion{position:relative;max-width:820px;margin-top:54px;opacity:0;animation:opening-rise .5s cubic-bezier(.22,1,.36,1) .48s both}
.participant-body .hero-kicker{margin:0 0 16px;padding-left:50px;color:var(--gold);font:500 8px/1 var(--sans);letter-spacing:.3em}
.participant-body .hero-kicker::before{width:34px;background:var(--gold)}
.participant-body .hero h1{margin:0;max-width:850px;color:var(--ivory);font-size:clamp(42px,6.7vw,88px);font-weight:400;line-height:1.3;letter-spacing:.09em;text-wrap:balance}
.participant-body .hero h1 em{color:var(--gold-bright);font-style:normal}
.participant-body .hero-copy{max-width:560px;margin:28px 0 30px;color:#aaa297;font-size:13px;line-height:2.05;letter-spacing:.1em}
.participant-body .hero-seal{right:clamp(30px,8vw,128px);bottom:66px;gap:14px;border-color:rgba(217,193,138,.22)}
.participant-body .hero-seal span{color:var(--gold);font-size:26px}.participant-body .hero-seal small{color:#777167;letter-spacing:.25em}
.participant-body .primary,.participant-body .secondary,.participant-body .line-button{min-height:60px;border-radius:0;padding:0 26px;gap:30px;letter-spacing:.12em;transition:transform .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease}
.participant-body .primary{background:var(--gold);color:#0b0b09;box-shadow:none;border:1px solid var(--gold)}
.participant-body .primary:hover{background:var(--gold-bright);transform:translateY(-1px)}
.participant-body .primary:active,.participant-body .secondary:active,.participant-body .line-button:active{transform:translateY(1px)}
.participant-body .secondary{background:transparent;border:1px solid rgba(217,193,138,.32);color:var(--ivory)}
.participant-body .secondary:hover{border-color:var(--gold);color:var(--gold-bright)}
.participant-body .line-button{background:#06c755;color:#fff;max-width:450px;box-shadow:none}
.participant-body .line-button:hover{background:#05b94e;transform:translateY(-1px)}
.participant-body .primary:focus-visible,.participant-body .secondary:focus-visible,.participant-body .line-button:focus-visible,.participant-body .text-button:focus-visible,.participant-body input:focus-visible,.participant-body textarea:focus-visible,.participant-body select:focus-visible{outline:2px solid var(--gold-bright);outline-offset:4px}
.participant-body .text-button{color:var(--gold-bright);font-family:var(--sans)}
.participant-body .micro{color:#807a70}
.participant-body .flow-section{position:relative;max-width:none;margin:0;padding:112px clamp(20px,7vw,112px) 142px;background:radial-gradient(ellipse at 20% 12%,rgba(190,163,106,.06),transparent 24%),#0a0a09;color:var(--ivory)}
.participant-body .flow-section::before{content:"";position:absolute;left:clamp(20px,7vw,112px);right:clamp(20px,7vw,112px);top:0;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.42}
.participant-body .section-heading{max-width:1180px;margin:0 auto 48px;border-color:var(--dark-line);padding-bottom:30px}
.participant-body .section-heading>div{gap:20px}.participant-body .section-heading .index{color:var(--gold);font-size:28px}
.participant-body .overline{color:#898276;font-size:8px;letter-spacing:.33em}
.participant-body .section-heading h2{color:var(--ivory);font-size:clamp(34px,5vw,58px);font-weight:400;line-height:1.5;letter-spacing:.1em;text-align:right}
.participant-body .steps{max-width:1180px;margin:0 auto 56px;border-color:var(--dark-line)}
.participant-body .steps li{min-height:58px;padding:18px 14px;color:#6f6a61;border-color:rgba(217,193,138,.12);font-size:11px}
.participant-body .steps b{color:#6f6a61;font-size:8px}.participant-body .steps .active{color:var(--ivory);background:rgba(190,163,106,.065)}
.participant-body .steps .active b{color:var(--gold)}.participant-body .steps .active::before{background:var(--gold)}
.participant-body .panel{max-width:800px;margin:auto;padding:clamp(38px,6vw,72px);background:linear-gradient(145deg,rgba(255,255,255,.038),rgba(255,255,255,.012));border:1px solid var(--dark-line);box-shadow:0 28px 80px rgba(0,0,0,.22);color:var(--ivory)}
.participant-body .panel::before{content:"";position:absolute;left:0;top:0;width:72px;height:1px;background:var(--gold)}
.participant-body .panel-label{color:#6e685e;font-size:7px;letter-spacing:.28em}
.participant-body .panel-chapter{margin:0 0 12px!important;color:var(--gold)!important;font:500 10px/1 var(--sans)!important;letter-spacing:.22em}
.participant-body .panel h3{margin:0 0 24px;color:var(--ivory);font-size:clamp(29px,5vw,48px);font-weight:400;line-height:1.55;letter-spacing:.08em}
.participant-body .panel>p{color:#aaa398;font-size:13px;line-height:2.05}
.participant-body .divider{color:#6d675f}.participant-body .divider::before,.participant-body .divider::after{background:var(--dark-line)}
.participant-body label{color:#c4bdb1}.participant-body input,.participant-body textarea,.participant-body select{border:1px solid rgba(217,193,138,.22);background:#11110f;color:var(--ivory);caret-color:var(--gold);font-size:16px;box-shadow:none}
.participant-body input::placeholder,.participant-body textarea::placeholder{color:#625d55}.participant-body input:-webkit-autofill{-webkit-text-fill-color:var(--ivory);box-shadow:0 0 0 1000px #11110f inset}
.participant-body label small{color:#746e65}.participant-body .notice{border-left:1px solid var(--gold);background:rgba(190,163,106,.07);color:var(--ivory)}
.participant-body .nfc-orbit{width:156px;height:156px;margin:4px auto 30px}.participant-body .nfc-orbit i{border-color:rgba(217,193,138,.3);animation:cinematic-pulse 1.8s ease-out 2 both}
.participant-body .nfc-core{width:76px;height:76px;background:radial-gradient(circle at 50% 42%,#252116,#0a0a09 70%);border:1px solid var(--gold);color:var(--gold-bright)}
.participant-body details{border-color:var(--dark-line)}.participant-body summary{color:#aaa398}.participant-body details p{color:#7f796f}
.participant-body .clear-scene{min-height:100svh;padding:100px 24px;background:radial-gradient(ellipse at 50% 44%,rgba(190,163,106,.12),transparent 25%),linear-gradient(145deg,#050505,#0d0c0a 55%,#15130f);color:var(--ivory)}
.participant-body .clear-scene::before{content:"";position:absolute;inset:32px;border:1px solid rgba(217,193,138,.13);pointer-events:none}
.participant-body .clear-lines{inset:8%;border-color:rgba(217,193,138,.1)}.participant-body .clear-lines::before,.participant-body .clear-lines::after{background:rgba(217,193,138,.07)}
.participant-body .clear-preface{position:relative;margin:26px 0 0;color:#8d867b;font-size:12px;letter-spacing:.15em}
.participant-body .clear-scene h2{margin:18px 0 16px;color:var(--ivory);font-size:clamp(52px,10vw,104px);font-weight:400;letter-spacing:.18em}
.participant-body .clear-message{color:#b9b1a5}.participant-body .completion-mark{border-color:var(--gold);margin:30px 0}.participant-body .completion-mark::before{border-color:rgba(217,193,138,.25)}.participant-body .completion-mark span{color:var(--gold-bright)}
.participant-body .late-clear-notice{position:relative;max-width:34rem;margin:4px auto 10px;padding:11px 16px;border-left:1px solid var(--gold);background:rgba(190,163,106,.08);color:var(--ivory);font-size:12px;line-height:1.8;letter-spacing:.04em}
.participant-body .primary.light{background:var(--ivory);border-color:var(--ivory);color:#0b0b09;box-shadow:none}.participant-body .skip-animation{color:#777168;z-index:3}
.participant-body .type-reveal{animation:record-reveal .75s cubic-bezier(.22,1,.36,1) both}.participant-body .type-reveal.delay-short{animation-delay:.25s}.participant-body .type-reveal.delay{animation-delay:.48s}
.participant-body .application{padding:118px clamp(20px,8vw,120px);background:radial-gradient(ellipse at 82% 5%,rgba(190,163,106,.07),transparent 28%),#0d0d0b;color:var(--ivory)}
.participant-body .application>.section-heading{border-color:var(--dark-line)}.participant-body .form-intro{color:#999287;line-height:2.1}
.participant-body .privacy-box{background:rgba(255,255,255,.025);border-color:var(--dark-line)}.participant-body .privacy-box h3{color:var(--ivory)}.participant-body .privacy-box p{color:#8d867c}.participant-body .consent{color:#b8b0a5}
.participant-body dialog{background:#11110f;color:var(--ivory);border:1px solid var(--dark-line);box-shadow:0 30px 100px rgba(0,0,0,.6)}
.participant-body dialog::backdrop{background:rgba(0,0,0,.88);backdrop-filter:none}.participant-body .dialog-inner h2{color:var(--ivory);font-weight:400}.participant-body .confirm-row{border-color:var(--dark-line)}.participant-body .confirm-row span{color:#898278}.participant-body .warning{color:#c7a86e}
.participant-body .complete-card{position:relative;min-height:82svh;padding:140px 24px;background:radial-gradient(ellipse at 50% 22%,rgba(190,163,106,.1),transparent 30%),#090908;color:var(--ivory)}
.participant-body .complete-card h2{color:var(--ivory);font-weight:400;letter-spacing:.09em}.participant-body .complete-card p{color:#999287}.participant-body .receipt{border-color:var(--dark-line)}.participant-body .receipt span{color:var(--gold)}.participant-body .receipt b{color:#cbc3b7}
.participant-body footer{position:relative;background:#060606;color:var(--ivory);border-top:1px solid rgba(217,193,138,.12)}.participant-body footer p,.participant-body footer a{color:#817b72}.participant-body footer small{color:#504c46}
.participant-body .toast{width:min(440px,calc(100% - 32px));bottom:18px;background:#eee8dc;color:#12110f;border-left:2px solid var(--gold);text-align:center;box-shadow:0 16px 50px rgba(0,0,0,.4)}
.participant-body .dialog-actions button:disabled{opacity:.6;cursor:wait}
.skip-motion *,.skip-motion *::before,.skip-motion *::after{animation:none!important;transition-duration:.01ms!important}.skip-motion .opening-line,.skip-motion .opening-sign,.skip-motion .hero-conclusion{opacity:1!important;transform:none!important}
.mobile-break{display:none}
@keyframes opening-rise{from{opacity:0;transform:translateY(13px)}to{opacity:1;transform:none}}
@keyframes beam-in{from{transform:scaleY(0);opacity:0}to{transform:scaleY(1);opacity:1}}
@keyframes record-reveal{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes cinematic-pulse{0%{transform:scale(.78);opacity:0}48%{opacity:.72}100%{transform:scale(1.04);opacity:0}}
@media (max-width:800px){
  .participant-body{letter-spacing:.03em}.participant-body .site-header{height:66px;padding:0 20px}.participant-body .brand{font-size:11px}.participant-body .header-meta{display:none}
  .participant-body .hero{min-height:100svh;padding:94px 24px 82px}.participant-body .hero::after{left:12px}.participant-body .hero-grid{width:64%}
  .participant-body .eyebrow{margin-bottom:34px;font-size:7px;letter-spacing:.22em}.opening-skip{top:68px;right:20px;font-size:8px}.hero-narrative{padding-left:10px}.opening-line{font-size:15px;line-height:1.9;letter-spacing:.09em;margin-bottom:9px}.opening-sign{margin-top:22px}.mobile-break{display:block}
  .hero-conclusion{margin-top:48px}.participant-body .hero-kicker{font-size:7px}.participant-body .hero h1{font-size:clamp(38px,11vw,50px);line-height:1.38;letter-spacing:.07em}.participant-body .hero-copy{font-size:12px;line-height:2;margin:24px 0 27px}.participant-body .hero .primary{width:100%}.participant-body .hero-seal{position:relative;left:auto;right:auto;bottom:auto;margin-top:45px;width:max-content}
  .participant-body .flow-section{padding:82px 16px 104px}.participant-body .section-heading{display:block;margin-bottom:36px}.participant-body .section-heading h2{margin-top:22px;font-size:34px;text-align:left;line-height:1.55}.participant-body .steps{grid-template-columns:1fr 1fr;margin-bottom:34px}.participant-body .steps li{min-height:64px;padding:14px 10px;display:grid;gap:7px}.participant-body .steps b{display:block;margin:0}
  .participant-body .panel{padding:48px 22px 30px}.participant-body .panel-label{top:17px;right:17px}.participant-body .panel h3{font-size:29px;line-height:1.55}.participant-body .panel>p{font-size:12px}.participant-body .primary,.participant-body .secondary,.participant-body .line-button{width:100%;padding:0 17px;gap:18px;font-size:13px}.participant-body .nfc-orbit{width:140px;height:140px}
  .participant-body .clear-scene{padding:88px 22px}.participant-body .clear-scene::before{inset:12px}.participant-body .clear-scene h2{font-size:52px}.participant-body .clear-preface{font-size:10px}.participant-body .clear-message{font-size:13px;line-height:2}
  .participant-body .application{padding:82px 16px}.participant-body .form-grid{grid-template-columns:1fr}.participant-body .form-grid .full{grid-column:auto}.participant-body .form-intro{margin-top:-12px;font-size:12px}.participant-body .privacy-box{padding:20px 17px}
  .participant-body .dialog-actions{flex-direction:column-reverse}.participant-body .dialog-actions button{width:100%}.participant-body .confirm-row{grid-template-columns:1fr;gap:4px}.participant-body .complete-card{padding:110px 22px}.participant-body .complete-card h2{font-size:42px}.participant-body footer{grid-template-columns:1fr;padding:64px 22px}
}
@media (prefers-reduced-motion:reduce){.participant-body .opening-line,.participant-body .opening-sign,.participant-body .hero-conclusion{opacity:1;transform:none}.participant-body .nfc-orbit i{opacity:.35}}

/* Final door verification panel — preserves the cinematic language while keeping the controls clear. */
.participant-body #flow{padding-top:clamp(88px,11vw,136px);padding-bottom:clamp(104px,13vw,160px);background:radial-gradient(ellipse at 50% 0%,rgba(190,163,106,.09),transparent 35%),#080807}
.participant-body #flow .section-heading{display:block;text-align:center;border:0;padding:0;margin:0 auto clamp(34px,5vw,58px);max-width:720px}
.participant-body #flow .section-heading>div{justify-content:center;gap:16px;margin-bottom:22px}
.participant-body #flow .section-heading .index{font-size:24px}
.participant-body #flow .section-heading h2{font-size:clamp(38px,6vw,64px);line-height:1.35;text-align:center;letter-spacing:.16em}
.participant-body #flow .flow-intro{margin:18px auto 0;color:#aaa398;font-size:clamp(13px,1.6vw,16px);letter-spacing:.12em}
.participant-body #flow .steps{grid-template-columns:repeat(3,1fr);max-width:980px;margin:0 auto clamp(36px,5vw,62px);border:0;gap:12px}
.participant-body #flow .steps li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;align-items:center;gap:5px 12px;min-height:92px;padding:18px 20px;background:rgba(255,255,255,.018);border:1px solid rgba(217,193,138,.14);text-align:left;transition:border-color .25s ease,background-color .25s ease}
.participant-body #flow .steps li:first-child{border-left:1px solid rgba(217,193,138,.14)}
.participant-body #flow .steps li::before{display:none}
.participant-body #flow .steps b{grid-row:1 / span 2;margin:0;color:var(--gold);font-size:10px;letter-spacing:.12em}
.participant-body #flow .steps li>span{font-size:12px;letter-spacing:.08em;color:var(--ivory)}
.participant-body #flow .step-status{grid-column:2;color:#756e64;font:500 9px/1 var(--sans);letter-spacing:.18em}
.participant-body #flow .steps li[data-state="pending"]{border-color:rgba(217,193,138,.6);background:rgba(190,163,106,.08)}
.participant-body #flow .steps li[data-state="pending"] .step-status{color:var(--gold-bright)}
.participant-body #flow .steps li[data-state="verified"]{border-color:rgba(217,193,138,.32);background:rgba(190,163,106,.045)}
.participant-body #flow .steps li[data-state="verified"] .step-status{color:var(--gold)}
.participant-body #flow .steps li[data-state="error"]{border-color:rgba(190,110,90,.7);background:rgba(120,44,34,.1)}
.participant-body #flow .steps li[data-state="error"] .step-status{color:#d08a78}
.participant-body #flow .panel{text-align:center}
.participant-body #flow .panel>p{margin-left:auto;margin-right:auto}
.participant-body #flow .panel form{text-align:left;max-width:540px;margin:0 auto}
.participant-body #flow .panel .line-button,.participant-body #flow .panel>.primary,.participant-body #flow .panel>.secondary{margin-left:auto;margin-right:auto}
.participant-body #flow .panel .test-tools{text-align:center}
.participant-body #flow .panel details{text-align:left;max-width:540px;margin-left:auto;margin-right:auto}
@media (max-width:800px){
  .participant-body #flow .section-heading h2{font-size:38px;letter-spacing:.12em}
  .participant-body #flow .steps{grid-template-columns:1fr;gap:9px;margin-bottom:36px}
  .participant-body #flow .steps li{min-height:74px;padding:15px 17px}
  .participant-body #flow .panel{text-align:center}
  .participant-body #flow .panel h3{font-size:28px}
}

/* Door sequence: a focused story beat instead of a dashboard-style checklist. */
.participant-body #flow .section-heading{max-width:680px;margin-bottom:clamp(24px,4vw,46px)}
.participant-body #flow .section-heading h2{font-size:clamp(42px,7vw,74px);font-weight:400;letter-spacing:.14em}
.participant-body #flow .flow-intro{margin:22px auto 0;color:var(--ivory);font-size:clamp(15px,1.8vw,19px);line-height:2;letter-spacing:.1em}
.participant-body #flow .door-signature{margin:30px auto 0;color:#817a70;font:400 10px/1.8 var(--sans);letter-spacing:.2em}
.participant-body #flow .steps{display:none}
.participant-body #flow .panel{max-width:620px;padding:clamp(24px,5vw,54px) clamp(18px,5vw,58px);background:transparent;border:0;box-shadow:none}
.participant-body #flow .panel::before{display:none}
.participant-body #flow .panel-label,.participant-body #flow .panel-chapter{display:none}
.participant-body #flow .panel h3{margin:0 0 22px;font-size:clamp(34px,5vw,54px);font-weight:400;letter-spacing:.12em}
.participant-body #flow .panel>p{max-width:460px;margin-bottom:34px;color:#bdb5a7;font-size:clamp(14px,1.7vw,17px);line-height:2.1;letter-spacing:.08em}
.participant-body #flow .panel .line-button,.participant-body #flow .panel>.primary,.participant-body #flow .panel>.secondary{min-width:min(100%,300px);width:auto;margin-left:auto;margin-right:auto}
.participant-body #flow .panel .line-button span:first-child{font-family:var(--sans);letter-spacing:0}
.participant-body #flow .test-tools{max-width:460px;margin:38px auto 0;padding-top:22px;border-top:1px solid rgba(217,193,138,.12)}
.participant-body #flow .door-success{margin:0 auto 28px!important;color:var(--gold-bright)!important;font-size:14px!important;letter-spacing:.12em}
.door-success-show{animation:door-success-in .55s cubic-bezier(.22,1,.36,1) both}
.door-panel-enter{animation:door-panel-in .45s cubic-bezier(.22,1,.36,1) both}
@keyframes door-panel-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes door-success-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media (max-width:800px){
  .participant-body #flow .section-heading{margin-bottom:20px}
  .participant-body #flow .section-heading h2{font-size:40px;letter-spacing:.1em}
  .participant-body #flow .flow-intro{font-size:14px;line-height:2.1}
  .participant-body #flow .door-signature{margin-top:24px}
  .participant-body #flow .panel{padding:34px 8px 24px}
  .participant-body #flow .panel h3{font-size:34px;letter-spacing:.1em}
  .participant-body #flow .panel>p{font-size:14px;line-height:2.15}
  .participant-body #flow .panel .line-button,.participant-body #flow .panel>.primary,.participant-body #flow .panel>.secondary{width:100%;min-width:0}
}
@media (prefers-reduced-motion:reduce){.door-panel-enter,.door-success-show{animation:none!important}}

/* Participant typography: Kaisei Opti is loaded only by the participant page. */
.participant-body{--serif:"Kaisei Opti","Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Kaisei Opti","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}
.participant-body,.participant-body p,.participant-body label,.participant-body input,.participant-body textarea,.participant-body select{font-weight:400}
.participant-body h1,.participant-body h2,.participant-body h3,.participant-body .hero h1,.participant-body .section-heading h2,.participant-body .clear-scene h2,.participant-body .emergency-scene h2,.participant-body .complete-card h2,.participant-body .dialog-inner h2{font-weight:700}
.participant-body #flow .section-heading h2,.participant-body #flow .panel h3{font-weight:700}
.participant-body button,.participant-body .primary,.participant-body .secondary,.participant-body .line-button,.participant-body .text-button{font-family:var(--serif);font-weight:700}
.participant-body .line-button span:first-child{font-family:var(--sans);font-weight:700}

/* Third door: quiet, centered mobile layout; all styles stay scoped to this panel. */
.participant-body #flow #nfc-panel{max-width:640px;padding:clamp(28px,5vw,48px) clamp(20px,6vw,52px);text-align:center}
.participant-body #flow #nfc-panel h3{margin:0 auto 14px;font-size:clamp(30px,4.2vw,42px);line-height:1.45;letter-spacing:.1em;text-align:center}
.participant-body #flow #nfc-panel .nfc-intro,.participant-body #flow #nfc-panel .nfc-location-copy{max-width:30rem;margin:0 auto;color:#bdb5a7;font-size:15px;line-height:1.95;letter-spacing:.045em;line-break:strict;word-break:normal;text-wrap:pretty}
.participant-body #flow #nfc-panel .nfc-phrase{white-space:nowrap}
.participant-body #flow #nfc-panel .nfc-orbit{width:148px;height:148px;margin:22px auto}
.participant-body #flow #nfc-panel .nfc-orbit i{border-color:rgba(217,193,138,.3);animation:none;opacity:.55}
.participant-body #flow #nfc-panel .nfc-orbit i:nth-child(2){inset:18px}
.participant-body #flow #nfc-panel .nfc-orbit i:nth-child(3){inset:36px}
.participant-body #flow #nfc-panel .nfc-location-copy{margin-bottom:22px!important}
.participant-body #flow #nfc-panel>[data-action=location]{width:min(100%,320px);min-width:0;min-height:54px;margin:0 auto;padding:0 16px;gap:14px;font-size:13px;line-height:1.5;text-align:center;white-space:normal}
.participant-body #flow #nfc-panel>[data-action=location]:disabled{opacity:.58;cursor:wait;transform:none}
.participant-body #flow #nfc-panel .location-status{min-height:1.8em;margin:12px auto 0!important;color:#a9a196;font:400 11px/1.8 var(--sans);letter-spacing:.03em}
.participant-body #exploration-timer{top:calc(env(safe-area-inset-top, 0px) + 74px)}
@media (max-width:800px){
  .participant-body #flow #nfc-panel{padding:28px 16px 24px}
  .participant-body #flow #nfc-panel h3{font-size:30px;letter-spacing:.08em;line-height:1.45}
  .participant-body #flow #nfc-panel .nfc-intro,.participant-body #flow #nfc-panel .nfc-location-copy{font-size:14px;line-height:1.95;letter-spacing:.035em}
  .participant-body #flow #nfc-panel .nfc-orbit{width:136px;height:136px;margin:18px auto}
  .participant-body #flow #nfc-panel .nfc-location-copy{margin-bottom:18px!important}
  .participant-body #flow #nfc-panel>[data-action=location]{width:min(100%,320px);min-height:52px;font-size:13px}
  .participant-body #flow #nfc-panel .location-status{font-size:11px;line-height:1.7}
  .participant-body #flow #nfc-panel{padding-top:calc(env(safe-area-inset-top,0px) + 116px)}
}

/* Final mission sequence: finite, CSS-only cinematic transitions. */
.participant-body .clear-scene::after{content:"";position:absolute;inset:0;z-index:4;background:#030303;pointer-events:none;animation:dark-curtain .72s ease-out both}
.participant-body .clear-scene>*{z-index:1}
.participant-body .gold-awakening{position:absolute;z-index:0;width:min(74vw,820px);aspect-ratio:1;left:50%;top:45%;transform:translate(-50%,-50%) scale(.45);border-radius:50%;background:radial-gradient(circle,rgba(217,193,138,.2) 0%,rgba(190,163,106,.08) 28%,transparent 68%);opacity:0;animation:gold-awaken 1.15s cubic-bezier(.22,1,.36,1) .22s both;pointer-events:none}
.participant-body .clear-scene h2{font-family:var(--sans);font-size:clamp(46px,8.5vw,94px);font-weight:300;line-height:1.12;letter-spacing:.22em}
.participant-body .clear-sign{position:relative;margin:18px 0 4px;color:#817a70;font:400 10px/1.8 var(--sans);letter-spacing:.2em}
.participant-body .clear-sign b{margin-left:8px;color:var(--gold-bright);font:500 14px/1 var(--serif)}
.participant-body .emergency-scene{position:relative;min-height:100svh;padding:120px clamp(24px,10vw,150px);display:flex;flex-direction:column;justify-content:center;align-items:flex-start;overflow:hidden;background:radial-gradient(ellipse at 78% 52%,rgba(146,118,65,.1),transparent 25%),linear-gradient(145deg,#060606,#0d0c0a);color:var(--ivory)}
.participant-body .emergency-scene::before{content:"";position:absolute;inset:34px;border:1px solid rgba(217,193,138,.13);pointer-events:none}
.participant-body .emergency-scene::after{content:"EMERGENCY ORDER";position:absolute;right:-26px;top:50%;transform:rotate(90deg) translateY(-50%);color:rgba(217,193,138,.12);font:500 8px/1 var(--sans);letter-spacing:.42em}
.participant-body .alert-line{position:absolute;left:clamp(24px,10vw,150px);top:80px;width:1px;height:74px;background:linear-gradient(var(--gold),transparent);animation:beam-in .7s ease-out both}
.participant-body .emergency-lead{margin:22px 0 20px;color:#9d9589;font-size:clamp(14px,1.7vw,19px);line-height:2.05;letter-spacing:.12em}
.participant-body .emergency-scene h2{margin:0 0 32px;max-width:800px;color:var(--ivory);font-size:clamp(42px,7vw,84px);font-weight:400;line-height:1.35;letter-spacing:.09em}
.participant-body .emergency-scene h2 em{color:var(--gold-bright);font-style:normal}
.participant-body .emergency-copy{max-width:610px;padding-left:28px;border-left:1px solid rgba(217,193,138,.27);color:#a9a196;font-size:13px;line-height:2.15}
.participant-body .emergency-copy p{margin:0 0 14px}.participant-body .emergency-copy .next-order{margin:25px 0 0;color:var(--ivory);font-size:16px;letter-spacing:.14em}
.participant-body .emergency-scene .primary{margin-top:38px}
.participant-body .treasure-scene{position:relative;min-height:100svh;padding:110px 24px;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 20%,rgba(190,163,106,.085),transparent 30%),#080807;color:var(--ivory)}
.participant-body .treasure-wrap{position:relative;width:min(720px,100%);padding:clamp(38px,7vw,76px);border:1px solid var(--dark-line);background:linear-gradient(145deg,rgba(255,255,255,.028),rgba(255,255,255,.008));text-align:center}
.participant-body .treasure-wrap::before,.participant-body .treasure-wrap::after{content:"";position:absolute;width:64px;height:1px;top:-1px;background:var(--gold)}
.participant-body .treasure-wrap::before{left:0}.participant-body .treasure-wrap::after{right:0}
.participant-body .chest-mark{position:relative;width:104px;height:82px;margin:0 auto 30px;border:1px solid var(--gold);border-top:0}
.participant-body .chest-mark span{position:absolute;left:-1px;right:-1px;top:-16px;height:32px;border:1px solid var(--gold);border-radius:52px 52px 0 0;background:#12100c}
.participant-body .chest-mark i{position:absolute;left:50%;top:24px;width:16px;height:22px;transform:translateX(-50%);border:1px solid var(--gold);background:var(--night)}
.participant-body .treasure-wrap h2{margin:20px 0;color:var(--ivory);font-size:clamp(38px,6vw,62px);font-weight:400;line-height:1.45;letter-spacing:.1em}
.participant-body .treasure-wrap>p{max-width:560px;margin:0 auto 32px;color:#a29a8f;font-size:13px;line-height:2.15}
.participant-body .treasure-check{display:grid;grid-template-columns:54px 1fr;align-items:center;max-width:520px;margin:auto;border-top:1px solid rgba(217,193,138,.15);text-align:left}
.participant-body .treasure-check:last-of-type{border-bottom:1px solid rgba(217,193,138,.15)}
.participant-body .treasure-check span{color:var(--gold);font:500 8px/1 var(--sans);letter-spacing:.2em}.participant-body .treasure-check p{margin:0;padding:15px 0;color:#c2baae;font-size:12px}
.participant-body .treasure-wrap .primary{margin-top:32px}
.participant-body .eligibility-card{max-width:1000px;margin:0 auto 28px;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--dark-line);border-left:1px solid var(--dark-line)}
.participant-body .eligibility-card>div{min-height:94px;padding:18px;border-right:1px solid var(--dark-line);border-bottom:1px solid var(--dark-line)}
.participant-body .eligibility-card span{display:block;margin-bottom:10px;color:#777168;font:500 8px/1.5 var(--sans);letter-spacing:.18em}.participant-body .eligibility-card b{color:#c9c0b3;font-size:12px;font-weight:400;line-height:1.7}
.participant-body .implementation-note{max-width:1000px;margin:0 auto 34px;padding:18px 20px;border-left:2px solid var(--gold);background:rgba(190,163,106,.07);color:#aaa297;font:400 11px/1.8 var(--sans)}
.participant-body .implementation-note b{color:var(--gold-bright);letter-spacing:.12em}.participant-body .implementation-note p{margin:4px 0 0}
@keyframes dark-curtain{0%,18%{opacity:1}100%{opacity:0;visibility:hidden}}
@keyframes gold-awaken{from{opacity:0;transform:translate(-50%,-50%) scale(.45)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@media (max-width:800px){
  .participant-body .clear-scene h2{font-size:43px;letter-spacing:.14em}.participant-body .gold-awakening{width:125vw}.participant-body .clear-sign{font-size:9px}
  .participant-body .emergency-scene{padding:100px 24px}.participant-body .emergency-scene::before{inset:12px}.participant-body .emergency-scene::after{display:none}.participant-body .alert-line{left:24px;top:55px;height:52px}.participant-body .emergency-scene h2{font-size:40px}.participant-body .emergency-copy{padding-left:18px;font-size:12px}.participant-body .emergency-scene .primary{width:100%}
  .participant-body .treasure-scene{padding:72px 14px}.participant-body .treasure-wrap{padding:44px 20px 30px}.participant-body .treasure-wrap h2{font-size:35px}.participant-body .treasure-wrap>p{font-size:12px}.participant-body .treasure-wrap .primary{width:100%}
  .participant-body .application .section-heading h2{font-size:30px;letter-spacing:.06em;text-wrap:balance}
  .participant-body .eligibility-card{grid-template-columns:1fr 1fr}.participant-body .eligibility-card>div{min-height:88px;padding:14px}.participant-body .eligibility-card b{font-size:11px}
}
@media (prefers-reduced-motion:reduce){.participant-body .clear-scene::after{display:none}.participant-body .gold-awakening{opacity:1;transform:translate(-50%,-50%) scale(1)}}

/* Opening sequence — four finite beats, no media or runtime animation loop. */
.participant-body .hero{display:grid;place-items:center;min-height:100svh;padding:88px 24px;background:radial-gradient(ellipse at 50% 52%,rgba(190,163,106,.065),transparent 30%),#050505;text-align:center}
.participant-body .hero::after,.participant-body .hero-grid{display:none}
.participant-body .opening-skip{top:92px;right:clamp(22px,5vw,72px);z-index:8}
.participant-body .opening-replay{position:absolute;z-index:8;right:clamp(22px,5vw,72px);top:126px;border:0;background:none;color:#817b70;padding:9px 0;font:400 9px/1 var(--sans);letter-spacing:.12em;text-decoration:underline;text-underline-offset:5px}
.opening-sequence{position:absolute;inset:0;z-index:2;pointer-events:none}
.opening-stage{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:90px 24px;opacity:0;transform:translateY(8px);pointer-events:none;isolation:isolate}
@media (max-width:800px){
  .participant-body .hero{min-height:100svh;min-height:100dvh}
  .participant-body .opening-stage{padding:max(24px,env(safe-area-inset-top,0px)) 24px max(24px,env(safe-area-inset-bottom,0px))}
}
.opening-stage::before{content:"";position:absolute;z-index:-1;left:50%;top:50%;width:min(78vw,920px);aspect-ratio:1.8;transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(190,163,106,.11),rgba(190,163,106,.035) 34%,transparent 70%);pointer-events:none}
.opening-stage p{position:relative;width:100%;max-width:940px;margin:0;color:#f6f1e8;font-size:clamp(24px,3.7vw,44px);font-weight:400;line-height:1.8;letter-spacing:.11em;text-align:center;text-wrap:balance;text-shadow:0 1px 18px rgba(255,248,230,.035)}
.opening-stage-two-second-line{display:inline-block}
.opening-stage-three>span{width:100%;margin-top:30px;color:#898277;font:400 10px/1.8 var(--sans);letter-spacing:.22em;text-align:center}.opening-stage-three>span b{margin-left:0;color:var(--gold-bright);font:500 15px/1 var(--serif);letter-spacing:.18em}
.opening-stage-three-line{display:inline-block}
.opening-stage-one{animation:opening-beat 2.7s cubic-bezier(.22,1,.36,1) .35s both}
.opening-stage-two{animation:opening-beat 2.7s cubic-bezier(.22,1,.36,1) 3.05s both}
.opening-stage-two p{text-align:center}
.opening-stage-three{animation:opening-beat 2.7s cubic-bezier(.22,1,.36,1) 5.75s both}
.participant-body .hero-conclusion.opening-stage-final{position:relative;z-index:3;width:min(960px,100%);max-width:none;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transform:translateY(10px);animation:opening-final .82s cubic-bezier(.22,1,.36,1) 8.45s both;isolation:isolate}
.participant-body.clear-opening-active .opening-stage-final,.participant-body.final-confirmation-screen .opening-stage-final{position:absolute;inset:0;width:100%;height:100%;min-width:0;max-width:none;margin:0;padding:90px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.participant-body .hero-conclusion.opening-stage-final::before{content:"";position:absolute;z-index:-1;left:50%;top:50%;width:min(92vw,1100px);aspect-ratio:1.75;transform:translate(-50%,-50%) scale(.86);background:radial-gradient(ellipse,rgba(190,163,106,.15),rgba(190,163,106,.045) 38%,transparent 72%);opacity:0;animation:final-light .95s cubic-bezier(.22,1,.36,1) 8.35s both;pointer-events:none}
.participant-body .opening-stage-final .hero-kicker{width:100%;margin:0 0 22px;padding:0;color:var(--gold);font-size:8px;letter-spacing:.34em;text-align:center}
.participant-body .opening-stage-final .hero-kicker::before{display:none}
.participant-body .opening-stage-final h1{max-width:940px;font-size:clamp(50px,7.6vw,96px);line-height:1.36;text-align:center;text-wrap:balance}
.participant-body .opening-stage-final .primary{margin-top:40px;min-width:min(380px,100%);opacity:0;transform:translateY(7px);animation:opening-button .58s cubic-bezier(.22,1,.36,1) 9.03s both}
.opening-complete .opening-stage,.opening-seen .opening-stage{animation:none!important;opacity:0!important;transform:none!important}
.opening-complete .opening-stage-final,.opening-seen .opening-stage-final{animation:none!important;opacity:1!important;transform:none!important}
.opening-complete .opening-stage-final::before,.opening-seen .opening-stage-final::before{animation:none!important;opacity:1!important;transform:translate(-50%,-50%) scale(1)!important}
.opening-complete .opening-stage-final .primary,.opening-seen .opening-stage-final .primary{animation:none!important;opacity:1!important;transform:none!important}
.opening-paused .opening-stage,.opening-paused .opening-stage-final{animation:none!important;opacity:0!important}.opening-paused .opening-stage-final::before,.opening-paused .opening-stage-final .primary{animation:none!important;opacity:0!important}
@keyframes opening-beat{0%{opacity:0;transform:translateY(8px)}26%{opacity:1;transform:none}81.5%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-6px)}}
@keyframes opening-final{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes final-light{from{opacity:0;transform:translate(-50%,-50%) scale(.86)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes opening-button{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@media (max-width:800px){
  .participant-body .hero{padding:76px 20px}.participant-body .opening-skip{top:68px;right:20px}.participant-body .opening-replay{top:100px;right:20px}
  .opening-stage{padding:88px 24px}.opening-stage::before{width:130vw;aspect-ratio:1}.opening-stage p{font-size:clamp(22px,6.8vw,30px);line-height:1.88;letter-spacing:.065em}.opening-stage-three>span{margin-top:25px;font-size:9px;letter-spacing:.14em}
  .participant-body .hero-conclusion.opening-stage-final::before{width:150vw;aspect-ratio:1.2}.participant-body .opening-stage-final h1{font-size:clamp(34px,11vw,50px);line-height:1.42;letter-spacing:.06em;white-space:nowrap}.participant-body .opening-stage-final .primary{width:min(100%,380px);margin-top:36px}
}
@media (prefers-reduced-motion:reduce){
  .opening-stage{display:none!important}.participant-body .hero-conclusion.opening-stage-final{animation:none!important;opacity:1!important;transform:none!important}.participant-body .hero-conclusion.opening-stage-final::before,.participant-body .opening-stage-final .primary{animation:none!important;opacity:1!important;transform:none!important}.participant-body .hero-conclusion.opening-stage-final::before{transform:translate(-50%,-50%) scale(1)!important}
}

/* Opening finale: a single, quiet depth-light that settles behind the record. */
.participant-body .hero-conclusion.opening-stage-final::before{background:radial-gradient(ellipse at 50% 48%,rgba(255,250,236,.055),rgba(217,193,138,.12) 26%,rgba(190,163,106,.035) 48%,transparent 76%)}
.participant-body .hero-conclusion.opening-stage-final::after{content:"";position:absolute;z-index:-1;inset:-18%;background:linear-gradient(108deg,transparent 24%,rgba(255,255,255,.018) 49%,transparent 74%),radial-gradient(ellipse at 50% 48%,rgba(255,255,255,.028),transparent 60%);opacity:0;transform:scale(.96);animation:final-depth .95s cubic-bezier(.22,1,.36,1) 8.37s both;pointer-events:none}
.participant-body .opening-stage-final h1{font-size:clamp(45px,6.85vw,86px)}
.participant-body .opening-stage-final h1 .final-heading-line{display:block}
.participant-body .opening-stage-final .primary{width:min(320px,100%);min-width:0}
.opening-complete .opening-stage-final::after,.opening-seen .opening-stage-final::after{animation:none!important;opacity:1!important;transform:none!important}
.opening-paused .opening-stage-final::after{animation:none!important;opacity:0!important}
@keyframes final-depth{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@media (max-width:800px){
  .participant-body.clear-opening-active .opening-stage-final,.participant-body.final-confirmation-screen .opening-stage-final{padding:max(24px,env(safe-area-inset-top,0px)) 24px max(24px,env(safe-area-inset-bottom,0px))}
  .participant-body .hero-conclusion.opening-stage-final::before{width:140vw;aspect-ratio:1.15}
  .participant-body .hero-conclusion.opening-stage-final::after{inset:-24%;background:linear-gradient(180deg,transparent 16%,rgba(255,255,255,.018) 48%,transparent 82%),radial-gradient(ellipse at 50% 46%,rgba(255,255,255,.028),transparent 62%)}
  .participant-body .opening-stage-final h1{font-size:clamp(31px,9.9vw,45px);white-space:nowrap}
  .participant-body .opening-stage-final .primary{width:min(320px,100%);margin-top:34px}
}
@media (prefers-reduced-motion:reduce){.participant-body .opening-stage-final::after{animation:none!important;opacity:1!important;transform:none!important}}

/* Readability and the two-step final-door reveal. */
.participant-body #flow-gate{position:relative;display:block;text-align:center;border:0;padding:0;margin:0 auto clamp(28px,5vw,58px);max-width:720px}
.participant-body #flow-gate h2{font-weight:700;color:var(--ivory);font-size:clamp(42px,7vw,74px);letter-spacing:.1em}
.participant-body #flow-gate .flow-intro{color:#F2EFE8;font-size:clamp(16px,2vw,20px);font-weight:700;line-height:2;letter-spacing:.035em}
.participant-body #flow-gate .door-signature{color:#F2EFE8;font-size:12px;font-weight:400;letter-spacing:.08em}
.participant-body #flow-gate .door-open{width:min(300px,100%);min-width:0;margin:38px auto 0}
.participant-body #flow-gate.hidden{display:none!important}
.participant-body #flow .panel>p{color:#F2EFE8;font-size:clamp(16px,1.9vw,19px);font-weight:700;line-height:1.95;letter-spacing:.035em}
.participant-body #flow .panel .line-button{width:min(360px,100%);min-height:56px;padding:0 18px;gap:16px;font-weight:700}
.participant-body #flow .panel .line-button span:first-child{font-size:10px;padding:4px}
.participant-body #flow .panel .line-button span:last-child{font-size:16px}
.participant-body.door-transition::after{content:"";position:fixed;inset:0;z-index:90;background:#030303;opacity:0;pointer-events:none;animation:door-darken .24s ease-out both}
@keyframes door-darken{from{opacity:0}55%{opacity:.72}to{opacity:0}}
@media (max-width:800px){
  .participant-body #flow-gate h2{font-size:40px;letter-spacing:.08em}
  .participant-body #flow-gate .flow-intro{font-size:16px;line-height:2.1}
  .participant-body #flow-gate .door-open{width:min(300px,100%);margin-top:32px}
  .participant-body #flow .panel>p{font-size:16px;line-height:2;letter-spacing:.02em}
  .participant-body #flow .panel .line-button{width:min(340px,100%);min-height:56px}
}
@media (prefers-reduced-motion:reduce){.participant-body.door-transition::after{animation:none;opacity:0}}

/* Keep the longer finale readable on narrow screens. */
.participant-body .opening-stage-final h1{white-space:normal}

/* Participant header logo replacement. */
.participant-body .brand{display:inline-flex;align-items:center;color:inherit;text-decoration:none}
.participant-body .brand-logo{display:block;width:clamp(84px,12vw,104px);height:auto;aspect-ratio:1;object-fit:contain}

/* Keep the transparent logo aligned with the opening controls. */
.participant-body .site-header{padding:0}
.participant-body .site-header .brand{position:absolute;left:24px;top:24px;width:110px;height:110px}
.participant-body .site-header .brand-logo{width:110px;height:110px}

/* Use the same transparent white mark wherever the site shows its brand. */
.brand-logo{display:block;width:88px;height:88px;aspect-ratio:1;object-fit:contain}
.admin-body .brand{display:inline-flex;align-items:center}
.admin-body .brand-logo{width:88px;height:88px}

/* Final chapter title: reduce only the two-line Japanese title by about 8%. */
.participant-body .opening-stage-final h1{font-size:clamp(41px,6.3vw,79px);line-height:1.24;text-align:center}
@media (max-width:800px){.participant-body .opening-stage-final h1{font-size:clamp(28px,8.8vw,40px);line-height:1.28}}

/* Record confirmation: keep the message in two balanced Japanese lines. */
.participant-body .complete-card h2{font-size:clamp(32px,7.5vw,68px);line-height:1.3;letter-spacing:.02em;white-space:nowrap;text-align:center}
.participant-body .complete-card>p{max-width:min(560px,calc(100vw - 40px));font-size:clamp(12px,1.8vw,15px);line-height:1.9;letter-spacing:.02em}
.participant-body .complete-card>p{white-space:nowrap;text-align:center}
@media (max-width:800px){
  .participant-body .complete-card h2{font-size:clamp(27px,8.6vw,36px);line-height:1.32;letter-spacing:.02em}
  .participant-body .complete-card>p{max-width:calc(100vw - 40px);font-size:12px;line-height:1.9;letter-spacing:.02em}
}

/* Final chapter typography: keep the title compact and centered on narrow screens. */
.participant-body .opening-stage-final .hero-kicker{margin-bottom:16px}
.participant-body .opening-stage-final h1{max-width:100%;padding-inline:8px;letter-spacing:.02em;line-height:1.24;text-align:center}
.participant-body .opening-stage-final .primary{margin-top:28px}
@media (max-width:800px){
  .participant-body .opening-stage-final h1{max-width:calc(100vw - 32px);font-size:clamp(30px,9.6vw,44px);line-height:1.28;letter-spacing:.02em}
  .participant-body .opening-stage-final .primary{margin-top:28px}
}

/* Opening only: compensate half the final tracking space, plus half of the
   trailing Japanese punctuation's empty half-em. Parent animations stay intact. */
.participant-body .opening-stage p{--opening-optical-tracking:.11em}
.participant-body .opening-stage .opening-optical-line{display:inline-block;position:relative;left:calc(var(--opening-optical-tracking) / 2)}
.participant-body .opening-stage .opening-optical-punctuation,
.participant-body .opening-stage .opening-stage-three-line{position:relative;left:calc((.5em + var(--opening-optical-tracking)) / 2)}
.participant-body .opening-stage-final .final-heading-line{position:relative;left:.26em}
.participant-body .opening-stage-final .hero-kicker{text-indent:.34em}
/* The signature ends with 15px type at .18em tracking, even on mobile. */
.participant-body .opening-stage-three>span{text-indent:2.7px}
@media (max-width:800px){.participant-body .opening-stage p{--opening-optical-tracking:.065em}}

.diagnostic-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0}
.diagnostic-list>div{border-top:1px solid var(--line);padding:10px 0}
.diagnostic-list dt{color:var(--muted);font-size:10px}
.diagnostic-list dd{margin:4px 0 0;font-size:13px}
@media (max-width:800px){.diagnostic-list{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Mobile administration layout: keep desktop rules unchanged and improve only narrow screens. */
@media (max-width:768px){
  .admin-body{overflow-x:hidden;font-size:15px}
  .admin-body .admin-header{height:64px;padding:0 16px}
  .admin-body .admin-header .brand-logo{width:58px;height:58px}
  .admin-body .admin-badge{font-size:9px;padding:7px 8px}
  .admin-body .admin-main{width:100%;padding:24px 12px 56px}
  .admin-body .admin-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}
  .admin-body .admin-title h1{font-size:32px;line-height:1.25;margin:4px 0}
  .admin-body .admin-title .secondary{min-height:48px;padding:0 16px;font-size:14px}
  .admin-body .metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px}
  .admin-body .metric{min-width:0;padding:14px 12px}
  .admin-body .metric span{font-size:12px;line-height:1.5}
  .admin-body .metric b{font-size:28px;margin-top:6px}
  .admin-body .admin-grid{grid-template-columns:minmax(0,1fr);gap:0}
  .admin-body .admin-card{min-width:0;padding:16px;margin-bottom:14px}
  .admin-body .admin-card h2{font-size:22px;line-height:1.4;margin:6px 0 14px}
  .admin-body .card-head{gap:10px;flex-wrap:wrap}
  .admin-body .filters{display:flex;flex-direction:column;gap:4px}
  .admin-body .filters label,.admin-body label{font-size:14px;line-height:1.5}
  .admin-body input,.admin-body select,.admin-body textarea{min-height:48px;font-size:16px;padding:11px 12px}
  .admin-body .primary,.admin-body .secondary{min-height:50px;padding:0 18px;font-size:15px}
  .admin-body .inline-form{grid-template-columns:minmax(0,1fr);gap:4px}
  .admin-body .inline-form button{width:100%;margin-top:4px}
  .admin-body .diagnostic-list{grid-template-columns:minmax(0,1fr);gap:0}
  .admin-body .diagnostic-list dt{font-size:12px}
  .admin-body .diagnostic-list dd{font-size:15px;overflow-wrap:anywhere}
  .admin-body .base-reconciliation-card,.admin-body #base-reconciliation-card{min-width:0}
  .admin-body .audit-row{grid-template-columns:minmax(0,1fr);gap:4px;font-size:14px;overflow-wrap:anywhere}
  .admin-body .table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .admin-body table{min-width:760px}
  .admin-body th,.admin-body td{font-size:13px;line-height:1.6;white-space:normal}
  .admin-body .status-select{min-height:48px;font-size:15px}
  .admin-body .micro{font-size:13px;line-height:1.7;overflow-wrap:anywhere}
}

/* Certificate preview on phones: reserve header space for the existing logo. */
@media (max-width:768px){
  .participant-body:has(#certificate-panel:not(.hidden)) .site-header{
    position:relative;height:calc(112px + env(safe-area-inset-top,0px));
  }
  .participant-body:has(#certificate-panel:not(.hidden)) .site-header .brand{
    left:max(20px,env(safe-area-inset-left,0px));
    top:calc(16px + env(safe-area-inset-top,0px));width:80px;height:80px;
  }
  .participant-body:has(#certificate-panel:not(.hidden)) .site-header .brand-logo{width:80px;height:80px}
  .participant-body #certificate-panel{
    padding:28px max(20px,env(safe-area-inset-right,0px)) 72px max(20px,env(safe-area-inset-left,0px));
  }
  .participant-body #certificate-panel .section-heading{margin-bottom:28px;padding-bottom:22px}
  .participant-body #certificate-panel .section-heading>div{gap:14px;flex-wrap:wrap}
  .participant-body #certificate-panel .section-heading .index{font-size:24px}
  .participant-body #certificate-panel .section-heading .overline{font-size:10px;letter-spacing:.18em}
  .participant-body #certificate-panel .section-heading h2{margin-top:20px;font-size:clamp(24px,6.2vw,28px);line-height:1.6;letter-spacing:.05em}
  .participant-body #certificate-panel .form-intro{margin-top:0;font-size:14px;line-height:1.9}
}
