/* Original, lightweight archive finish: no UI framework or external dependencies. */
:root {
    --archive-finish-line: #bd955b45;
    --archive-finish-gold: #e3bd7f;
    --archive-finish-ease: cubic-bezier(.22,.75,.25,1);
}
body :is(.site-result-card,.review,.profile-section,.account-card,.form-sidebar) {
    border-color:var(--archive-finish-line);
    border-radius:18px;
    box-shadow:0 10px 30px #0002,inset 0 1px 0 #ffffff04;
}
body :is(.site-result-card,.review,.form-sidebar) {
    background:linear-gradient(125deg,#281b224d,transparent 70%),#110f12;
}
body :is(.card,.portal-card,.site-result-card,.profile-stats a) {
    transition:transform .25s var(--archive-finish-ease),border-color .25s,box-shadow .25s;
}
body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=hidden]):not([type=submit]),textarea,select) {
    box-sizing:border-box;
    max-width:100%;
    border:1px solid #96724f66;
    border-radius:12px;
    background-color:#0c0b0e;
    color:#f1e5d5;
    caret-color:var(--archive-finish-gold);
    transition:border-color .18s,box-shadow .18s;
    color-scheme:dark;
}
body :is(input,textarea,select):focus-visible {
    outline:2px solid var(--archive-finish-gold);
    outline-offset:3px;
    border-color:var(--archive-finish-gold);
    box-shadow:0 0 0 5px #dfb57512;
}
body :is(input,textarea,select):disabled { opacity:.55; cursor:not-allowed; }
body :is(input,textarea):user-invalid { border-color:#e88090; }
body .archive-nav__menu {
    border:1px solid var(--archive-finish-line);
    border-radius:15px;
    padding:8px;
    background:linear-gradient(145deg,#25191f,#100e12);
    box-shadow:0 18px 45px #0009;
}
body .archive-nav__menu a { border-radius:8px; transition:background-color .18s,color .18s; }
body .archive-nav__menu a:is(:hover,:focus-visible) { background:#702c3c55; color:#ffe1b0; }
body .archive-nav__menu a:focus-visible { outline:2px solid var(--archive-finish-gold); outline-offset:-2px; }
body .site-panel { transform:translateY(14px) scale(.985); transition:transform .28s var(--archive-finish-ease); }
body .site-modal.active .site-panel { transform:translateY(0) scale(1); }
body #characterPreview.character-preview { transition:opacity .25s ease,transform .32s var(--archive-finish-ease); }
body .site-result-thumb { border-color:var(--archive-finish-line); box-shadow:0 4px 12px #0004; }
body #journey-badges article.is-earned { border-color:#c19a5a66; background:linear-gradient(130deg,#69472022,#1b141b); }
body #journey-badges article.is-earned .profile-medallion { color:#f1ce8b; box-shadow:0 0 20px #bd79351c; }
body .site-notice { animation:archive-notice-in .28s var(--archive-finish-ease) both; }
body .site-notice.is-reward {
    border-color:#d5ad6c;
    background:linear-gradient(120deg,#463021,#21141d 70%);
    box-shadow:0 12px 40px #0008,0 0 25px #c79b4020;
}
.site-notice.is-reward::before { content:'✦'; color:#f5cf85; font-size:28px; flex-shrink:0; }
@keyframes archive-notice-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@keyframes archive-menu-in { from { opacity:0; translate:0 -5px; } to { opacity:1; translate:0 0; } }
body .archive-nav__cluster[open] .archive-nav__menu { animation:archive-menu-in .18s ease-out; }
@media(hover:hover) and (pointer:fine) {
    body :is(.card,.portal-card,.profile-stats a):hover {
        transform:translateY(-4px);
        border-color:#c69b68;
        box-shadow:0 16px 36px #0006,0 0 0 1px #b9823e16;
    }
    body .site-result-card:hover { border-color:#c69b68; box-shadow:0 7px 24px #0004; }
    body .characters-page .card:hover .card-img { transform:scale(1.035); }
}
@media(max-width:600px) {
    body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]),textarea,select) { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
    body :is(.card,.card-img,.portal-card,.site-result-card,.profile-stats a,.site-modal,.site-panel,#characterPreview.character-preview,.preview-overlay,.site-notice,.archive-nav__menu,input,textarea,select) { animation:none !important; transition:none !important; }
    body :is(.card,.portal-card,.profile-stats a):hover { transform:none; }
}
