/* ============ Character application document ============ */
body.application-open{overflow:hidden}
.application-modal{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:1.25rem;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
.application-modal.is-open{visibility:visible;opacity:1;pointer-events:auto}
.application-backdrop{position:absolute;inset:0;background:rgba(2,4,8,.86);backdrop-filter:blur(12px)}
.application-panel{position:relative;width:min(1180px,100%);height:min(900px,94vh);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid rgba(214,174,66,.6);border-radius:18px;background:#0d1219;box-shadow:0 35px 110px rgba(0,0,0,.78),0 0 0 1px rgba(255,255,255,.04) inset;transform:translateY(18px) scale(.985);transition:transform .25s ease}
.application-modal.is-open .application-panel{transform:translateY(0) scale(1)}
.application-header{min-height:76px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:1rem;padding:.75rem 1rem .75rem 1.15rem;border-bottom:1px solid rgba(214,174,66,.25);background:linear-gradient(90deg,#161d27,#0d1219 68%)}
.application-character-chip{display:flex;align-items:center;gap:.75rem;min-width:0}.application-character-chip img{width:48px;height:48px;object-fit:cover;border-radius:11px;border:1px solid #b58b2d;background:#080b10;box-shadow:0 7px 18px rgba(0,0,0,.38)}
.application-character-chip div{min-width:0}.application-character-chip span{display:block;color:#9d907b;font-size:.61rem;font-weight:850;letter-spacing:.15em;text-transform:uppercase}.application-character-chip strong{display:block;color:#fff4d2;font-family:Georgia,'Times New Roman',serif;font-size:1.13rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.14rem}
.application-save-state{color:#8e8578;font-size:.7rem;white-space:nowrap;transition:.2s}.application-save-state.is-saved{color:#83ca9f}
.application-close{width:42px;height:42px;border:1px solid #4c463b;border-radius:10px;background:#151a21;color:#e8ddca;font-size:1.65rem;line-height:1;cursor:pointer;transition:.2s}.application-close:hover{border-color:#d6ae42;color:#f5d875;background:#1c2028}
.application-layout{min-height:0;display:grid;grid-template-columns:255px minmax(0,1fr)}
.application-sidebar{min-height:0;overflow-y:auto;padding:1.1rem;background:linear-gradient(180deg,#111821,#0a0f15);border-right:1px solid rgba(214,174,66,.18)}
.application-progress-card{padding:1rem;border:1px solid rgba(214,174,66,.28);border-radius:12px;background:rgba(22,28,36,.8)}
.application-progress-copy{display:flex;align-items:baseline;justify-content:space-between;gap:.75rem}.application-progress-copy span{color:#a79a86;font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.application-progress-copy strong{color:#f1d16f;font-size:1.1rem}
.application-progress-track{height:6px;margin:.7rem 0 .65rem;overflow:hidden;border-radius:999px;background:#272c33}.application-progress-track span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#936016,#e4bf4b);box-shadow:0 0 14px rgba(228,191,75,.45);transition:width .25s ease}.application-progress-card small{color:#746d63;font-size:.62rem;line-height:1.5}
.application-section-nav{display:grid;gap:.36rem;margin:1rem 0}.application-section-nav button{display:grid;grid-template-columns:32px minmax(0,1fr);align-items:center;gap:.55rem;width:100%;padding:.68rem .65rem;border:1px solid transparent;border-radius:9px;background:transparent;color:#8f877a;text-align:left;font:inherit;font-size:.72rem;cursor:pointer;transition:.2s}.application-section-nav button span{color:#cabda9;font-weight:700}.application-section-nav button:hover{border-color:#4d4432;background:#171d25;color:#e1bd54}.application-section-nav button:hover span{color:#fff1cb}
.application-sidebar-note{display:grid;gap:.45rem;margin-top:1rem;padding:1rem;border-left:2px solid #a77b24;background:rgba(167,123,36,.08);border-radius:0 9px 9px 0}.application-sidebar-note strong{color:#e4c76f;font-size:.72rem}.application-sidebar-note span{color:#847b6d;font-size:.64rem;line-height:1.55}.application-sidebar-note button{justify-self:start;margin-top:.25rem;padding:0;border:0;background:transparent;color:#bb8f39;font:inherit;font-size:.63rem;text-decoration:underline;cursor:pointer}.application-sidebar-note button:hover{color:#f2ce68}
.application-document-wrap{min-width:0;min-height:0;overflow:auto;background:radial-gradient(circle at 70% -10%,rgba(212,174,77,.15),transparent 30%),#25221d;padding:2rem}
.application-document{width:min(790px,100%);margin:0 auto;background:linear-gradient(180deg,#f6f0df,#eee3c9);color:#2a251c;border-radius:5px;box-shadow:0 22px 55px rgba(0,0,0,.47);overflow:hidden;user-select:text}
.application-document-title{padding:2.7rem 3rem 2.2rem;border-bottom:1px solid #d7c8a8;background:linear-gradient(135deg,rgba(255,255,255,.45),transparent),#f4ecd8}.application-document-title>span{display:block;color:#927025;font-size:.66rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.application-document-title h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(1.85rem,4vw,2.65rem);line-height:1.13;color:#241e14;margin:.55rem 0 .7rem}.application-document-title h2 strong{color:#9a6717}.application-document-title p{max-width:670px;color:#70634f;font-size:.88rem;line-height:1.75;margin:0}
.application-form-section{scroll-margin-top:1.5rem;padding:2.25rem 3rem;border-bottom:1px solid #d7c8a8}.application-form-section:nth-child(even){background:rgba(255,255,255,.16)}
.application-section-heading{display:grid;grid-template-columns:42px minmax(0,1fr);gap:.9rem;align-items:start;margin-bottom:1.35rem}.application-section-heading>span{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#252117;color:#e2b943;font-size:.68rem;font-weight:900;letter-spacing:.08em}.application-section-heading h3{font-family:Georgia,'Times New Roman',serif;color:#2b2418;font-size:1.28rem;margin:0}.application-section-heading p{color:#80715c;font-size:.76rem;line-height:1.55;margin:.25rem 0 0}
.application-form-grid{display:grid;grid-template-columns:minmax(0,1fr) 135px;gap:1rem}.application-field{display:grid;gap:.4rem;min-width:0}.application-field-wide{grid-column:1/-1}.application-field>span{color:#514630;font-size:.72rem;font-weight:800}.application-field>span b,.application-consents b{color:#a76b1c}.application-field input,.application-field textarea{width:100%;border:1px solid #c8b995;border-radius:7px;background:rgba(255,255,255,.72);color:#282117;font:inherit;font-size:.82rem;line-height:1.6;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;user-select:text}.application-field input{min-height:45px;padding:.68rem .8rem}.application-field textarea{padding:.8rem .9rem;resize:vertical}.application-field input::placeholder,.application-field textarea::placeholder{color:#9c907a}.application-field input:focus,.application-field textarea:focus{border-color:#ae7924;background:#fffdf7;box-shadow:0 0 0 3px rgba(174,121,36,.13)}.application-field input:invalid:not(:placeholder-shown),.application-field textarea:invalid:not(:placeholder-shown){border-color:#b34a3f}.application-field small{justify-self:end;color:#8e8069;font-size:.61rem}.application-field-textarea+.application-field-textarea{margin-top:1.2rem}
.application-field-editor{gap:0}.application-field-editor>span{margin-bottom:.4rem}.application-editor-toolbar{display:flex;align-items:center;gap:.35rem;min-height:38px;padding:.35rem .55rem;border:1px solid #c8b995;border-bottom:0;border-radius:7px 7px 0 0;background:#e2d6bc;color:#65573e}.application-editor-toolbar>*{display:grid;place-items:center;min-width:28px;height:26px;border-radius:4px;background:rgba(255,255,255,.38);font-size:.73rem}.application-field-editor textarea{border-radius:0 0 7px 7px;min-height:300px}
.application-consents{display:grid;gap:.75rem;margin-top:1.4rem;padding:1rem;border:1px solid #ceb98a;border-radius:8px;background:#eadfc7}.application-consents label{display:grid;grid-template-columns:18px minmax(0,1fr);gap:.7rem;align-items:start;color:#5f523e;font-size:.7rem;line-height:1.58;cursor:pointer}.application-consents input{width:17px;height:17px;margin-top:.1rem;accent-color:#9d6c1c}
.application-submit-area{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:1rem;padding:1.6rem 3rem 2rem;background:#28241d;color:#fff0c8}.application-submit-copy strong{display:block;font-family:Georgia,'Times New Roman',serif;font-size:1rem}.application-submit-copy span{display:block;max-width:480px;color:#aa9e89;font-size:.66rem;line-height:1.55;margin-top:.25rem}.application-submit{display:inline-flex;align-items:center;justify-content:center;gap:.7rem;min-width:190px;min-height:48px;border:1px solid #f0ca5d;border-radius:8px;background:linear-gradient(135deg,#a26617,#d09a2c);color:#fff7df;font:inherit;font-size:.76rem;font-weight:900;cursor:pointer;box-shadow:0 8px 20px rgba(154,103,23,.25);transition:.2s}.application-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 11px 25px rgba(154,103,23,.35)}.application-submit:disabled{cursor:wait;opacity:.7}.application-submit.is-loading b{animation:applicationPulse 1s ease-in-out infinite}.application-response{grid-column:1/-1;display:none;padding:.7rem .8rem;border-radius:7px;font-size:.72rem;line-height:1.5}.application-response.is-info,.application-response.is-error{display:block}.application-response.is-info{border:1px solid #6e653f;background:#393523;color:#e6d590}.application-response.is-error{border:1px solid #9f4b43;background:#3c211e;color:#ffd6d1}
.application-success{width:min(720px,100%);min-height:600px;margin:0 auto;padding:5rem 3rem;text-align:center;background:linear-gradient(180deg,#f7f0dc,#e9ddc3);color:#282118;border-radius:5px;box-shadow:0 22px 55px rgba(0,0,0,.47)}.application-success-icon{display:grid;place-items:center;width:76px;height:76px;margin:0 auto 1.3rem;border-radius:50%;border:2px solid #6b9d73;background:#dcebdc;color:#347144;font-size:2rem;font-weight:900}.application-success>span{color:#957022;font-size:.67rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.application-success h2{max-width:530px;margin:.7rem auto;font-family:Georgia,'Times New Roman',serif;font-size:2rem;line-height:1.25}.application-success p{max-width:550px;margin:0 auto;color:#756750;font-size:.86rem;line-height:1.7}.application-id{display:grid;gap:.25rem;max-width:340px;margin:1.7rem auto;padding:1rem;border:1px dashed #b39758;border-radius:8px;background:rgba(255,255,255,.4)}.application-id small{color:#8b7b61;font-size:.61rem;text-transform:uppercase;letter-spacing:.13em}.application-id strong{color:#8d5f17;font-size:1.2rem;letter-spacing:.08em}.application-success button{min-height:44px;padding:.65rem 1rem;border:1px solid #6f5b31;border-radius:7px;background:#29241b;color:#f6e6b8;font:inherit;font-size:.72rem;font-weight:850;cursor:pointer}
.application-honeypot{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
@keyframes applicationPulse{50%{transform:translateX(4px);opacity:.55}}
@media(max-width:900px){.application-modal{padding:0}.application-panel{width:100%;height:100dvh;border:0;border-radius:0}.application-layout{grid-template-columns:1fr}.application-sidebar{display:none}.application-document-wrap{padding:1rem}.application-save-state{display:none}.application-header{grid-template-columns:minmax(0,1fr) auto}.application-document-title,.application-form-section{padding-left:1.3rem;padding-right:1.3rem}.application-submit-area{grid-template-columns:1fr;padding:1.3rem}.application-submit{width:100%}}
@media(max-width:560px){.application-header{min-height:66px;padding:.55rem .65rem}.application-character-chip img{width:42px;height:42px}.application-character-chip strong{font-size:.94rem}.application-close{width:38px;height:38px}.application-document-wrap{padding:.55rem}.application-document-title{padding-top:2rem;padding-bottom:1.6rem}.application-document-title h2{font-size:1.65rem}.application-form-section{padding-top:1.7rem;padding-bottom:1.7rem}.application-form-grid{grid-template-columns:1fr}.application-field-small,.application-field-wide{grid-column:auto}.application-section-heading{grid-template-columns:35px minmax(0,1fr);gap:.65rem}.application-section-heading>span{width:33px;height:33px}.application-success{min-height:calc(100dvh - 78px);padding:3.5rem 1.3rem}.application-success h2{font-size:1.65rem}}
