:root{
    --bg:#21160d;
    --bg-soft:#3b2716;
    --bg-soft-2:#53391f;
    --panel:#efe0bd;
    --panel-2:#e5cf9f;
    --paper:#f2e1b9;
    --paper-deep:#dcc18b;
    --ink:#2a1a0d;
    --text:#2a1a0d;
    --muted:#695035;
    --border:rgba(89,55,24,.28);
    --border-strong:rgba(89,55,24,.52);
    --primary:#7b4a18;
    --primary-hover:#5c3510;
    --primary-soft:#b58236;
    --danger:#8f2f20;
    --danger-hover:#672015;
    --success:#2f6b3f;
    --shadow:0 18px 40px rgba(28,17,7,.28);
    --inner-shadow:inset 0 1px 0 rgba(255,255,255,.38), inset 0 -12px 28px rgba(94,54,17,.08);
    --radius:18px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;height:100%}
body{
    font-family:Georgia,"Times New Roman",serif;
    margin:0;
    min-height:100vh;
    background:
        radial-gradient(circle at 20% 0%, rgba(164,107,45,.18), transparent 32rem),
        radial-gradient(circle at 80% 18%, rgba(61,92,58,.15), transparent 28rem),
        linear-gradient(135deg,#1b120a 0%,#2e1e10 46%,#120d08 100%);
    color:var(--text);
}
body::before{
    content:"";
    position:fixed;
    inset:0;
    pointer-events:none;
    background-image:
        linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
        radial-gradient(circle at 12% 8%, rgba(255,230,167,.12), transparent 20rem);
    background-size:38px 38px,38px 38px,100% 100%;
    opacity:.65;
    z-index:-1;
}
a{color:#4f3419;text-decoration:none;border-bottom:1px solid rgba(79,52,25,.25)}
a:hover{text-decoration:none;color:#1d1208;border-bottom-color:rgba(79,52,25,.55)}
img{max-width:100%}

.hero{
    position:relative;
    overflow:hidden;
    border-bottom:4px double rgba(218,172,93,.58);
    background:
        linear-gradient(180deg, rgba(30,18,8,.92), rgba(67,43,20,.94)),
        var(--hero-header-image, none),
        radial-gradient(circle at 50% 0%, rgba(220,171,83,.16), transparent 34rem),
        #1e1208;
    background-repeat:no-repeat;
    background-position:center;
    background-size:cover;
    box-shadow:0 8px 26px rgba(0,0,0,.32);
}
.hero::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        linear-gradient(90deg, rgba(0,0,0,.3), transparent 26%, transparent 74%, rgba(0,0,0,.32)),
        repeating-linear-gradient(90deg, rgba(255,255,255,.035) 0 1px, transparent 1px 8px);
    opacity:.9;
    pointer-events:none;
}
.hero::after{
    content:"✦";
    position:absolute;
    left:50%;
    bottom:-18px;
    transform:translateX(-50%);
    width:42px;
    height:42px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:2px solid rgba(218,172,93,.7);
    border-radius:999px;
    background:#2c1a0c;
    color:#d9b66c;
    font-size:18px;
    box-shadow:0 0 0 5px rgba(44,26,12,.85);
    pointer-events:none;
}
.hero-inner{
    position:relative;
    z-index:1;
    max-width:1240px;
    margin:0 auto;
    padding:24px 28px 26px;
    display:flex;
    gap:20px;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
}
.hero-left{display:flex;gap:18px;align-items:center}
.hero-brand{display:flex;flex-direction:column;gap:12px}
.hero-title{
    margin:0;
    font-size:clamp(28px,3vw,42px);
    line-height:1;
    letter-spacing:.04em;
    color:#f6e6b7;
    text-transform:uppercase;
    text-shadow:0 2px 0 #241206, 0 0 16px rgba(218,172,93,.34);
}
.hero-subtitle{
    color:#d7b878;
    letter-spacing:.12em;
    text-transform:uppercase;
    font-size:.86rem;
}
.hero img.logo{
    max-height:138px;
    max-width:138px;
    border-radius:50%;
    background:radial-gradient(circle,#f0d99d 0%,#b78237 72%,#4d2d12 100%);
    padding:8px;
    border:2px solid rgba(235,196,111,.72);
    box-shadow:0 16px 34px rgba(0,0,0,.32), inset 0 1px 0 rgba(255,255,255,.32);
}

.page-background{
    position:relative;
    overflow:hidden;
    min-height:calc(100vh - 205px);
    display:flex;
    flex-direction:column;
}
.page-background::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
        linear-gradient(rgba(42,25,11,.56), rgba(42,25,11,.62)),
        var(--page-background-image, none),
        radial-gradient(circle at 50% 0%, rgba(234,195,116,.18), transparent 35rem);
    background-repeat:no-repeat;
    background-position:center top;
    background-size:cover;
    pointer-events:none;
    z-index:0;
}
.page-background::after{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 50% 8%, rgba(255,244,204,.18), transparent 28rem),
        linear-gradient(90deg, rgba(0,0,0,.2), transparent 18%, transparent 82%, rgba(0,0,0,.24));
    pointer-events:none;
    z-index:0;
}
.page-background > .wrap,
.page-background > .footer{
    position:relative;
    z-index:1;
}

.wrap{
    max-width:1240px;
    margin:0 auto;
    padding:34px 28px 42px;
    width:100%;
    flex:1 0 auto;
}

.nav{display:flex;gap:10px;flex-wrap:wrap}
.nav-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:10px 16px;
    border-radius:999px;
    background:linear-gradient(180deg,rgba(105,69,29,.92),rgba(56,34,14,.94));
    color:#f6e6b7;
    border:1px solid rgba(226,185,103,.42);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.16), 0 8px 18px rgba(0,0,0,.2);
    transition:all .18s ease;
    font-weight:700;
    letter-spacing:.02em;
}
.nav-link:hover{transform:translateY(-1px);background:linear-gradient(180deg,#825829,#4b2b10);color:#fff2cf;border-color:rgba(246,217,153,.75)}
.nav-link.active{background:linear-gradient(180deg,#d2a34f,#8a5418);border-color:#f1d18a;color:#211207;text-shadow:0 1px 0 rgba(255,255,255,.32);box-shadow:0 10px 24px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.35)}
.userbox{
    display:flex;
    align-items:center;
    gap:12px;
    background:rgba(33,20,9,.82);
    padding:11px 14px;
    border:1px solid rgba(226,185,103,.34);
    border-radius:18px;
    backdrop-filter:blur(8px);
    box-shadow:0 14px 28px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.08);
    color:#f1dfb3;
}
.userbox .muted{color:#cfb77b}
.avatar{width:40px;height:40px;border-radius:999px;object-fit:cover;background:#3b2716;border:2px solid rgba(217,182,108,.6)}

.card{
    position:relative;
    background:
        linear-gradient(180deg,rgba(255,248,219,.72),rgba(235,207,150,.48)),
        radial-gradient(circle at 18% 12%, rgba(255,255,255,.38), transparent 16rem),
        linear-gradient(135deg,#f3e3bd 0%,#e4c88e 100%);
    border:1px solid var(--border-strong);
    border-radius:var(--radius);
    padding:20px;
    box-shadow:var(--shadow),var(--inner-shadow);
}
.card::before{
    content:"";
    position:absolute;
    inset:7px;
    border:1px dashed rgba(104,67,29,.22);
    border-radius:calc(var(--radius) - 6px);
    pointer-events:none;
}
.card > *{position:relative;z-index:1}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.grid-2{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.field-full{grid-column:1 / -1}

.btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    background:linear-gradient(180deg,#b98030 0%,var(--primary) 58%,var(--primary-hover) 100%);
    color:#fff3cf;
    border:1px solid rgba(59,34,12,.5);
    border-radius:14px;
    padding:11px 16px;
    cursor:pointer;
    font-weight:800;
    letter-spacing:.02em;
    box-shadow:0 10px 20px rgba(74,41,13,.26), inset 0 1px 0 rgba(255,255,255,.22);
    transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
    text-shadow:0 1px 0 rgba(0,0,0,.38);
    border-bottom-color:rgba(59,34,12,.5);
}
.btn:hover{transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 14px 24px rgba(74,41,13,.32), inset 0 1px 0 rgba(255,255,255,.28);color:#fff8dc}
.btn.secondary{background:linear-gradient(180deg,#6f5835,#3e2c18);box-shadow:0 8px 16px rgba(43,25,9,.18);color:#f3e1b3;border-color:rgba(235,201,132,.34)}
.btn.secondary:hover{box-shadow:0 12px 20px rgba(43,25,9,.24)}
.btn.danger{background:linear-gradient(180deg,#b64731,var(--danger) 58%,var(--danger-hover));box-shadow:0 10px 20px rgba(103,32,21,.24);color:#fff3e8}
.btn.danger:hover{box-shadow:0 14px 24px rgba(103,32,21,.3)}

h1,h2,h3,h4,.page-title{
    color:#2b1809;
    letter-spacing:.02em;
    text-shadow:0 1px 0 rgba(255,247,218,.78), 0 2px 0 rgba(105,64,25,.18);
}
h2,h3{font-weight:800}
.page-title{margin:0}
p{line-height:1.58}

table{width:100%;border-collapse:collapse;background:rgba(255,248,224,.24);border-radius:14px;overflow:hidden}
th,td{padding:11px 12px;border-bottom:1px solid rgba(91,58,26,.2);text-align:left;vertical-align:top}
th{background:rgba(126,78,28,.14);color:#3d250f;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}
tr:hover td{background:rgba(255,255,255,.18)}

input,textarea,select,button{font:inherit}
input,textarea,select{
    width:100%;
    padding:11px 12px;
    border-radius:12px;
    border:1px solid rgba(88,55,24,.45);
    background:linear-gradient(180deg,#fff3cf,#ead2a0);
    color:var(--ink);
    box-shadow:inset 0 2px 5px rgba(57,34,12,.12), 0 1px 0 rgba(255,255,255,.42);
}
input::placeholder,textarea::placeholder{color:#8c6b43}
select{appearance:auto}
textarea{min-height:110px;resize:vertical}
input[type="checkbox"],
input[type="radio"]{
    width:auto;
    min-width:1.08rem;
    height:1.08rem;
    padding:0;
    margin:0;
    border-radius:4px;
    accent-color:var(--primary);
    flex:0 0 auto;
    box-shadow:none;
}
input[type="radio"]{border-radius:999px}
input:focus,textarea:focus,select:focus{outline:none;border-color:#936326;box-shadow:0 0 0 3px rgba(150,99,38,.2), inset 0 2px 5px rgba(57,34,12,.1)}
input[type="checkbox"]:focus,
input[type="radio"]:focus{box-shadow:0 0 0 3px rgba(150,99,38,.2)}
label{display:block;margin-bottom:6px;font-weight:800;color:#3b240f}
label:has(> input[type="checkbox"]),
label:has(> input[type="radio"]){
    display:flex;
    align-items:flex-start;
    gap:10px;
    line-height:1.4;
    cursor:pointer;
    font-weight:700;
}
label:has(> input[type="checkbox"]) > input[type="checkbox"],
label:has(> input[type="radio"]) > input[type="radio"]{margin-top:.14em}
input[type="date"]{cursor:pointer}
input[type="date"]::-webkit-calendar-picker-indicator{
    cursor:pointer;
    filter:invert(22%) sepia(46%) saturate(960%) hue-rotate(352deg) brightness(82%) contrast(89%);
    opacity:.9;
}
code,.inline-code{
    font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;
    background:rgba(96,58,21,.12);
    color:#2a1a0d;
    padding:2px 6px;
    border-radius:8px;
    border:1px solid rgba(96,58,21,.12);
}

.field{margin-bottom:15px;position:relative}
.flash{padding:13px 15px;border-radius:14px;margin-bottom:18px;border:1px solid rgba(89,55,24,.2);box-shadow:0 12px 24px rgba(0,0,0,.18)}
.flash.success{background:linear-gradient(180deg,#3f7f50,#2f6b3f);color:#f2ffe9;border-color:rgba(210,255,210,.18)}
.flash.error{background:linear-gradient(180deg,#a33f30,#752217);color:#fff1e7;border-color:rgba(255,220,210,.18)}
.muted{color:var(--muted)}
.day-group{margin-bottom:26px}
.actions{display:flex;gap:9px;flex-wrap:wrap}
.actions.space-between{justify-content:space-between;align-items:center;gap:18px}
.actions.align-end{align-items:flex-end}
.badge,.pill{display:inline-block;font-size:12px;padding:4px 9px;border-radius:999px;vertical-align:middle;font-weight:800;letter-spacing:.02em}
.badge{background:linear-gradient(180deg,#487144,#2b4c2a);color:#f4ffe8;margin-left:8px;border:1px solid rgba(38,76,38,.35)}
.pill{margin-left:8px;background:rgba(128,82,28,.14);color:#4b2d0f;border:1px solid rgba(128,82,28,.26)}
.search-results{position:absolute;left:0;right:0;top:100%;margin-top:6px;background:#f2dfb4;border:1px solid rgba(91,58,26,.46);border-radius:14px;overflow:hidden;z-index:30;box-shadow:0 14px 32px rgba(43,25,9,.3)}
.search-result-item{display:block;width:100%;background:none;border:none;border-bottom:1px solid rgba(91,58,26,.16);padding:10px 12px;text-align:left;color:var(--ink);cursor:pointer}
.search-result-item:last-child{border-bottom:none}
.search-result-item:hover{background:#e3c88f}
.search-result-item span{display:block;margin-top:4px;font-size:12px;color:#6b5134}
.preview-thumb-wrap .event-card-image{width:140px;height:140px}
.stack-sm > * + *{margin-top:6px}
.stack-md > * + *{margin-top:10px}
.mt-0{margin-top:0}
.mb-0{margin-bottom:0}
.mb-8{margin-bottom:8px}
.mb-10{margin-bottom:10px}
.mb-12{margin-bottom:12px}
.mb-14{margin-bottom:14px}
.mb-16{margin-bottom:16px}
.mb-24{margin-bottom:24px}
.mt-6{margin-top:6px}
.mt-14{margin-top:14px}
.mt-40{margin-top:40px}
.w-auto{width:auto}
.minw-180{min-width:180px}
.break-all{word-break:break-all}

.footer{
    max-width:1240px;
    margin:0 auto;
    padding:0 28px 32px;
    width:100%;
    flex-shrink:0;
}
.footer-card{
    background:linear-gradient(180deg,rgba(43,26,12,.9),rgba(27,17,9,.94));
    border:1px solid rgba(226,185,103,.28);
    border-radius:18px;
    padding:17px 20px;
    color:#e4cf98;
    box-shadow:0 12px 26px rgba(0,0,0,.22);
}
.footer-card p{margin:0;line-height:1.55}

.day-events-list{display:flex;flex-direction:column;gap:18px}
.past-day-group{opacity:.86}
.past-day-group summary{list-style:none;cursor:pointer}
.past-day-group summary::-webkit-details-marker{display:none}
.day-group-summary{padding:0;margin:0}
.day-group-summary-inner{padding:0}
.day-group-summary .muted::before{content:"▸ ";color:#7b4a18}
.past-day-group[open] .day-group-summary .muted::before{content:"▾ "}
.event-card-row{
    display:grid;
    grid-template-columns:minmax(0,220px) 1fr;
    gap:20px;
    padding:18px;
    border:1px solid rgba(98,62,27,.34);
    border-radius:22px;
    background:
        linear-gradient(180deg,rgba(255,245,210,.5),rgba(223,190,122,.32)),
        radial-gradient(circle at 8% 10%, rgba(255,255,255,.3), transparent 14rem),
        rgba(210,173,100,.26);
    box-shadow:0 14px 30px rgba(66,38,13,.14), inset 0 1px 0 rgba(255,255,255,.34);
}
.event-card-image-wrap{display:flex;align-items:flex-start;justify-content:flex-start}
.event-card-image{
    width:100%;
    max-width:220px;
    height:auto;
    object-fit:contain;
    border-radius:18px;
    border:1px solid rgba(85,51,20,.42);
    background:#ead3a2;
    box-shadow:0 10px 22px rgba(54,33,12,.18), inset 0 0 0 4px rgba(255,246,218,.44);
}
.event-card-body{min-width:0}
.event-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:15px;flex-wrap:wrap}
.event-card-title{display:inline-block;font-size:1.22rem;line-height:1.25;color:#261507;text-shadow:0 1px 0 rgba(255,249,219,.8)}
.event-meta-stack{display:flex;flex-direction:column;gap:13px}
.event-meta-item{display:flex;flex-direction:column;gap:5px;padding-bottom:11px;border-bottom:1px solid rgba(89,55,24,.14)}
.event-meta-item:last-child{border-bottom:none;padding-bottom:0}
.event-meta-label{font-size:.76rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#725122}
.event-meta-value{font-size:1rem;line-height:1.55;color:var(--text)}
.event-meta-sep{opacity:.55;margin:0 7px;color:#8b642a}
.event-roles-section{margin-top:2px;padding:14px 16px;border:1px solid rgba(104,67,29,.26);border-radius:18px;background:rgba(255,248,223,.32);box-shadow:inset 0 1px 0 rgba(255,255,255,.28)}
.event-role-list{display:flex;flex-wrap:wrap;gap:10px;margin-top:3px}
.event-role-pill{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:linear-gradient(180deg,#f7df9e,#c8923e);border:1px solid rgba(93,55,17,.35);box-shadow:inset 0 1px 0 rgba(255,255,255,.34), 0 6px 14px rgba(77,44,13,.12);font-size:.92rem;font-weight:800;color:#2a1808;line-height:1;white-space:nowrap}
.role-emoji{font-size:1rem;line-height:1}
.event-description{margin-top:0;white-space:normal}

.preferred-role-row{border-radius:14px;padding:10px;background:rgba(255,248,223,.24);border:1px solid rgba(98,62,27,.18)}

@media (max-width: 860px){
    .hero-inner{align-items:flex-start}
    .hero-left{align-items:flex-start}
    .page-background{min-height:calc(100vh - 230px)}
    .actions.space-between{align-items:flex-start}
}
@media (max-width: 700px){
    .wrap{padding:24px 16px 32px}
    .hero-inner,.footer{padding-left:16px;padding-right:16px}
    .hero-left{width:100%}
    .hero img.logo{max-width:96px;max-height:96px}
    .userbox{width:100%;justify-content:space-between;align-items:flex-start}
    .event-card-row{grid-template-columns:1fr;padding:16px}
    .event-card-image{max-width:100%;width:100%;height:auto}
    .preview-thumb-wrap .event-card-image{width:100%;height:auto}
    .page-background{min-height:calc(100vh - 270px)}
    .actions{width:100%}
    .actions .btn,.actions .nav-link{flex:1 1 auto}
    .w-auto{width:100%}
    .minw-180{min-width:0}
}
@media (max-width: 520px){
    .hero-title{font-size:25px}
    .hero-left{gap:12px}
    .card{padding:16px}
    .card::before{inset:5px}
    .event-card-header .actions .btn{width:100%}
}

/* Schedule journal spread */
.journal-cover{
    position:relative;
    overflow:hidden;
    display:grid;
    grid-template-columns:minmax(0,1.15fr) minmax(290px,.85fr);
    gap:22px;
    align-items:stretch;
    padding:28px;
    border-radius:28px;
    border:1px solid rgba(227,190,111,.48);
    background:
        linear-gradient(90deg, rgba(55,32,12,.15) 0 49.6%, rgba(80,46,16,.22) 49.7% 50.3%, rgba(255,248,219,.06) 50.4% 100%),
        radial-gradient(circle at 12% 8%, rgba(255,255,255,.42), transparent 19rem),
        radial-gradient(circle at 88% 18%, rgba(117,82,33,.24), transparent 18rem),
        linear-gradient(135deg,#f6e7bd 0%,#dec083 48%,#f0d7a3 100%);
    box-shadow:0 24px 54px rgba(25,14,6,.33), inset 0 1px 0 rgba(255,255,255,.48), inset 0 -22px 52px rgba(93,57,20,.12);
}
.journal-cover::before{
    content:"";
    position:absolute;
    inset:10px;
    border:2px double rgba(101,63,25,.28);
    border-radius:21px;
    pointer-events:none;
}
.journal-cover::after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    opacity:.42;
    background:
        repeating-linear-gradient(0deg, rgba(88,55,24,.07) 0 1px, transparent 1px 22px),
        radial-gradient(circle at 5% 15%, rgba(80,44,13,.16), transparent 13rem),
        radial-gradient(circle at 95% 88%, rgba(80,44,13,.14), transparent 14rem);
    mix-blend-mode:multiply;
}
.journal-cover > *{position:relative;z-index:1}
.journal-cover-copy{display:flex;flex-direction:column;justify-content:center;min-height:210px;padding:6px 10px 6px 4px}
.journal-kicker{
    display:inline-flex;
    align-self:flex-start;
    margin-bottom:10px;
    padding:6px 12px;
    border-radius:999px;
    border:1px solid rgba(106,67,28,.34);
    background:rgba(255,249,224,.34);
    color:#6e4619;
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:.72rem;
    font-weight:900;
}
.journal-title{
    margin:0 0 10px;
    font-size:clamp(32px,4.3vw,58px);
    line-height:.96;
    color:#261506;
    letter-spacing:.015em;
    text-shadow:0 1px 0 rgba(255,248,220,.9),0 3px 0 rgba(119,77,33,.22),0 12px 30px rgba(87,52,16,.22);
}
.journal-intro{max-width:670px;margin:0 0 13px;color:#4d3318;font-size:1.05rem}
.journal-runes{font-size:1.35rem;letter-spacing:.32em;color:#8c5e24;text-shadow:0 1px 0 rgba(255,247,219,.78);margin-bottom:10px}
.journal-controls{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:16px;
    padding:18px;
    border-radius:22px;
    border:1px solid rgba(91,58,26,.24);
    background:
        linear-gradient(180deg,rgba(255,250,229,.52),rgba(212,174,103,.24)),
        rgba(255,243,207,.18);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.36), inset 12px 0 32px rgba(99,61,21,.06);
}
.journal-jump-form{display:flex;flex-direction:column;gap:8px}
.journal-jump-row{display:flex;gap:9px;align-items:center}
.journal-jump-row input{flex:1 1 auto}
.journal-nav-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.journal-nav-buttons .btn{width:100%}
.journal-nav-buttons .btn:last-child:nth-child(odd){grid-column:1 / -1}

.journal-days-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(315px,1fr));
    gap:24px;
    align-items:start;
}
.journal-day-page{
    position:relative;
    min-height:390px;
    padding:20px;
    border-radius:7px 24px 24px 7px;
    border:1px solid rgba(92,59,27,.32);
    background:
        linear-gradient(90deg, rgba(90,54,18,.18) 0 12px, transparent 12px 100%),
        radial-gradient(circle at 18% 10%, rgba(255,255,255,.42), transparent 14rem),
        radial-gradient(circle at 90% 90%, rgba(116,72,24,.16), transparent 12rem),
        linear-gradient(145deg,#f5e5bb 0%,#e2c187 52%,#f1d7a0 100%);
    box-shadow:0 18px 38px rgba(33,20,8,.25), inset 0 1px 0 rgba(255,255,255,.52), inset 16px 0 24px rgba(82,48,16,.08);
    transform:rotate(-.15deg);
}
.journal-day-page:nth-child(even){transform:rotate(.16deg);background:
    linear-gradient(90deg, rgba(90,54,18,.16) 0 12px, transparent 12px 100%),
    radial-gradient(circle at 82% 8%, rgba(255,255,255,.36), transparent 13rem),
    radial-gradient(circle at 8% 92%, rgba(116,72,24,.13), transparent 12rem),
    linear-gradient(135deg,#efd8a4 0%,#f4e4b8 48%,#dabc7c 100%);
}
.journal-day-page::before{
    content:"";
    position:absolute;
    inset:9px 9px 9px 18px;
    border:1px dashed rgba(98,63,29,.2);
    border-radius:4px 17px 17px 4px;
    pointer-events:none;
}
.journal-day-page::after{
    content:"";
    position:absolute;
    right:13px;
    top:13px;
    width:46px;
    height:46px;
    border-top:2px solid rgba(123,78,30,.22);
    border-right:2px solid rgba(123,78,30,.22);
    border-radius:0 12px 0 0;
    pointer-events:none;
}
.journal-day-page > *{position:relative;z-index:1}
.today-page{
    border-color:rgba(183,126,41,.72);
    box-shadow:0 22px 46px rgba(34,19,6,.3), 0 0 0 3px rgba(203,151,59,.22), inset 0 1px 0 rgba(255,255,255,.54), inset 16px 0 24px rgba(82,48,16,.08);
}
.past-day-page{opacity:.78;filter:saturate(.88)}
.empty-day-page{min-height:330px}
.journal-page-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:14px;
    margin-bottom:18px;
    padding-bottom:13px;
    border-bottom:2px solid rgba(95,61,27,.17);
}
.day-rune{
    width:35px;
    height:35px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-bottom:7px;
    border-radius:999px;
    border:1px solid rgba(105,67,28,.3);
    background:radial-gradient(circle,#fff2c9 0%,#d5a955 70%,#8a571f 100%);
    color:#321b08;
    box-shadow:0 8px 16px rgba(75,45,15,.18), inset 0 1px 0 rgba(255,255,255,.45);
}
.journal-page-header .page-title{font-size:1.55rem;line-height:1.05}
.journal-page-date{margin-top:4px;color:#6a471e;font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.8rem}
.journal-page-status{display:flex;align-items:flex-end;flex-direction:column;gap:8px;white-space:nowrap}
.journal-page-add{padding:7px 11px;border-radius:999px;font-size:.82rem}
.empty-day-copy{
    min-height:190px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#795a31;
    border:1px dashed rgba(99,64,28,.22);
    border-radius:18px;
    background:rgba(255,248,224,.18);
    padding:22px;
}
.empty-day-copy p{margin:0;max-width:230px;font-style:italic}
.empty-rune{font-size:2.4rem;line-height:1;color:#9a6c2b;margin-bottom:9px;opacity:.82}

.journal-days-grid .day-events-list{gap:14px}
.journal-entry{
    display:block;
    overflow:hidden;
    padding:15px;
    border-radius:18px;
    background:
        linear-gradient(180deg,rgba(255,251,232,.48),rgba(210,172,96,.2)),
        rgba(255,245,213,.24);
    box-shadow:0 10px 22px rgba(59,34,10,.14), inset 0 1px 0 rgba(255,255,255,.36);
}
.journal-entry + .journal-entry{margin-top:2px}
.journal-entry .event-card-image-wrap{
    float:right;
    width:92px;
    margin:0 0 10px 13px;
}
.journal-entry .event-card-image{
    width:92px;
    height:92px;
    object-fit:cover;
    border-radius:16px;
    box-shadow:0 8px 17px rgba(54,33,12,.17), inset 0 0 0 3px rgba(255,246,218,.42);
}
.journal-entry .event-card-header{display:block;margin-bottom:11px}
.journal-entry .event-card-title{
    display:block;
    font-size:1.17rem;
    margin-bottom:6px;
}
.journal-entry .event-entry-actions{
    margin-top:10px;
    gap:6px;
}
.journal-entry .event-entry-actions .btn{
    padding:7px 10px;
    border-radius:11px;
    font-size:.8rem;
}
.journal-entry .event-meta-stack{gap:8px;clear:none}
.journal-entry .event-meta-item{
    gap:2px;
    padding-bottom:8px;
}
.journal-entry .event-meta-label{
    font-size:.68rem;
    letter-spacing:.14em;
    color:#6c4a1f;
}
.journal-entry .event-meta-value{font-size:.94rem;line-height:1.42}
.journal-entry .event-roles-section{padding:10px 11px;border-radius:14px}
.journal-entry .event-role-list{gap:7px}
.journal-entry .event-role-pill{padding:7px 10px;font-size:.82rem}

@media (min-width: 1180px){
    .journal-days-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
    .journal-day-page:nth-child(7){grid-column:2 / span 1}
}
@media (min-width: 1500px){
    .wrap{max-width:1480px}
    .hero-inner,.footer{max-width:1480px}
    .journal-days-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
    .journal-day-page:nth-child(7){grid-column:auto}
}
@media (max-width: 920px){
    .journal-cover{grid-template-columns:1fr;padding:22px}
    .journal-cover-copy{min-height:0}
    .journal-nav-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 700px){
    .journal-cover{padding:18px;border-radius:22px}
    .journal-days-grid{grid-template-columns:1fr;gap:18px}
    .journal-day-page{transform:none!important;min-height:0;border-radius:22px}
    .journal-nav-buttons{grid-template-columns:1fr}
    .journal-jump-row{flex-direction:column;align-items:stretch}
    .journal-jump-row .btn{width:100%}
    .journal-page-header{flex-direction:column}
    .journal-page-status{align-items:flex-start;flex-direction:row;flex-wrap:wrap;white-space:normal}
}

/* Schedule journal event cards */
.mt-auto{margin-top:auto}

.journal-empty-state{
    text-align:center;
    padding:34px 28px;
}
.journal-empty-state h3{color:#2a1808}
.journal-filter-bar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:16px 20px;
    border-radius:22px;
    border:1px solid rgba(92,59,27,.28);
    background:
        linear-gradient(180deg,rgba(255,249,226,.54),rgba(214,176,102,.22)),
        rgba(251,240,206,.18);
    box-shadow:0 12px 30px rgba(46,27,10,.12), inset 0 1px 0 rgba(255,255,255,.42);
}
.journal-filter-title{
    font-size:1.12rem;
    font-weight:900;
    color:#3b220d;
    letter-spacing:.04em;
}
.journal-toggle{
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:10px 14px;
    border-radius:999px;
    border:1px solid rgba(98,62,27,.28);
    background:rgba(255,248,224,.42);
    color:#533515;
    font-weight:800;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.4);
    cursor:pointer;
}
.journal-toggle input{
    width:18px;
    height:18px;
    accent-color:#8f5d24;
    cursor:pointer;
}

.journal-event-section{margin-bottom:28px}
.journal-event-section.is-hidden{display:none}
.journal-section-heading{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0 0 14px;
}
.journal-section-heading h3{
    margin:0;
    color:#2f1a08;
    font-size:1.38rem;
    text-shadow:0 1px 0 rgba(255,248,220,.8), 0 3px 10px rgba(91,56,19,.16);
}
.journal-empty-inline{
    display:flex;
    align-items:center;
    gap:12px;
    padding:16px 18px;
    border-radius:18px;
    border:1px dashed rgba(99,64,28,.24);
    background:rgba(255,247,220,.25);
    color:#745429;
}
.journal-empty-inline p{margin:0}

.journal-event-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(300px,1fr));
    gap:24px;
    align-items:stretch;
}
.journal-event-card{
    position:relative;
    display:block;
    min-height:100%;
    color:inherit;
    clip-path:polygon(0 4%, 4% 0, 12% 2%, 21% 0, 31% 2%, 42% 0, 53% 2%, 64% 0, 74% 3%, 85% 1%, 96% 3%, 100% 7%, 98% 18%, 100% 31%, 98% 45%, 100% 58%, 97% 72%, 100% 86%, 96% 96%, 88% 100%, 75% 98%, 62% 100%, 50% 97%, 38% 100%, 25% 98%, 13% 100%, 4% 96%, 0 90%, 2% 76%, 0 62%, 2% 49%, 0 35%, 2% 20%);
    filter:drop-shadow(0 18px 28px rgba(43,24,7,.25));
}
.journal-event-card-inner{
    position:relative;
    display:flex;
    flex-direction:column;
    height:100%;
    overflow:hidden;
    background:
        radial-gradient(circle at 15% 10%, rgba(255,255,255,.38), transparent 11rem),
        radial-gradient(circle at 88% 82%, rgba(128,82,31,.15), transparent 12rem),
        linear-gradient(145deg,#f4e4b8 0%,#e4c58e 48%,#f1d6a3 100%);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.46), inset 0 -24px 42px rgba(109,67,24,.08);
}
.journal-event-card-inner::before{
    content:"";
    position:absolute;
    inset:11px;
    border:1px dashed rgba(101,64,28,.22);
    pointer-events:none;
}
.journal-event-card-inner::after{
    content:"";
    position:absolute;
    inset:0;
    opacity:.36;
    pointer-events:none;
    background:
        repeating-linear-gradient(0deg, rgba(88,55,24,.055) 0 1px, transparent 1px 22px),
        radial-gradient(circle at 5% 16%, rgba(80,44,13,.12), transparent 9rem),
        radial-gradient(circle at 94% 88%, rgba(80,44,13,.12), transparent 10rem);
    mix-blend-mode:multiply;
}
.journal-event-card.tear-1{transform:rotate(-.8deg)}
.journal-event-card.tear-2{transform:rotate(.65deg);clip-path:polygon(0 6%, 6% 1%, 16% 4%, 28% 0, 39% 3%, 52% 0, 65% 2%, 78% 0, 90% 3%, 100% 6%, 98% 22%, 100% 37%, 97% 49%, 100% 62%, 98% 78%, 100% 89%, 94% 98%, 82% 100%, 70% 97%, 57% 100%, 44% 97%, 31% 100%, 20% 96%, 9% 100%, 1% 94%, 0 79%, 2% 64%, 0 49%, 2% 34%, 0 18%)}
.journal-event-card.tear-3{transform:rotate(-.35deg);clip-path:polygon(0 5%, 8% 0, 19% 3%, 30% 0, 44% 2%, 56% 0, 69% 4%, 80% 0, 93% 2%, 100% 8%, 99% 21%, 100% 35%, 98% 47%, 100% 63%, 97% 77%, 100% 90%, 91% 100%, 80% 97%, 67% 100%, 54% 96%, 42% 100%, 28% 97%, 16% 100%, 5% 96%, 0 88%, 1% 73%, 0 59%, 2% 45%, 0 29%, 1% 14%)}
.journal-event-card.tear-4{transform:rotate(.4deg);clip-path:polygon(0 3%, 7% 0, 15% 2%, 25% 0, 36% 3%, 50% 0, 63% 2%, 74% 0, 84% 4%, 94% 1%, 100% 5%, 97% 19%, 100% 33%, 97% 48%, 100% 61%, 96% 76%, 99% 89%, 95% 100%, 82% 96%, 70% 100%, 56% 97%, 44% 100%, 33% 97%, 20% 100%, 8% 96%, 0 92%, 3% 77%, 0 64%, 3% 49%, 0 35%, 2% 18%)}
.journal-event-card.tear-5{transform:rotate(-.55deg);clip-path:polygon(0 7%, 6% 0, 18% 4%, 29% 1%, 41% 4%, 53% 0, 66% 2%, 78% 0, 89% 5%, 100% 7%, 98% 21%, 100% 34%, 97% 48%, 100% 63%, 98% 76%, 100% 91%, 92% 99%, 79% 96%, 67% 100%, 55% 97%, 42% 100%, 30% 97%, 18% 100%, 7% 95%, 0 87%, 2% 73%, 0 58%, 2% 43%, 0 27%, 3% 15%)}
.journal-event-card.tear-6{transform:rotate(.85deg);clip-path:polygon(0 4%, 5% 0, 14% 3%, 26% 0, 39% 2%, 51% 0, 63% 3%, 76% 1%, 88% 3%, 100% 8%, 98% 24%, 100% 38%, 98% 53%, 100% 67%, 97% 81%, 100% 94%, 90% 100%, 77% 96%, 63% 100%, 50% 96%, 37% 100%, 24% 97%, 12% 100%, 3% 94%, 0 82%, 2% 67%, 0 52%, 2% 38%, 0 23%)}
.journal-event-card.event-is-today .journal-event-card-inner{
    box-shadow:0 0 0 3px rgba(194,140,49,.18), inset 0 1px 0 rgba(255,255,255,.48), inset 0 -24px 42px rgba(109,67,24,.08);
}
.journal-event-card.is-past-event{opacity:.88;filter:drop-shadow(0 14px 24px rgba(43,24,7,.18)) saturate(.92)}

.journal-event-media{
    position:relative;
    height:162px;
    overflow:hidden;
    background:linear-gradient(180deg,rgba(126,85,35,.24),rgba(69,39,14,.08));
    border-bottom:1px solid rgba(95,60,26,.24);
}
.journal-event-media.no-image{
    display:flex;
    align-items:center;
    justify-content:center;
    background:
        radial-gradient(circle at 50% 50%, rgba(255,240,198,.78), rgba(214,172,95,.6) 55%, rgba(117,77,32,.28) 100%),
        linear-gradient(180deg,#ead5a4,#d8b271);
}
.journal-event-image{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.journal-event-placeholder{
    width:72px;
    height:72px;
    border-radius:999px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(102,66,29,.35);
    background:radial-gradient(circle,#fff1c6 0%,#d8aa58 72%,#8d5a21 100%);
    box-shadow:0 10px 20px rgba(67,40,13,.18), inset 0 1px 0 rgba(255,255,255,.48);
    font-size:2rem;
    color:#321b08;
}
.journal-event-date-seal{
    position:absolute;
    left:14px;
    bottom:12px;
    display:flex;
    flex-direction:column;
    gap:2px;
    min-width:92px;
    padding:10px 12px;
    border-radius:16px;
    border:1px solid rgba(98,62,27,.4);
    background:rgba(44,25,9,.82);
    color:#f4dfaa;
    box-shadow:0 10px 18px rgba(29,16,6,.22), inset 0 1px 0 rgba(255,255,255,.08);
}
.seal-day{font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#d5b16e}
.seal-date{font-size:1rem;font-weight:800;line-height:1.05}

.journal-event-content{
    position:relative;
    z-index:1;
    display:flex;
    flex-direction:column;
    gap:12px;
    flex:1 1 auto;
    padding:16px 18px 18px;
}
.journal-event-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.journal-event-header .event-card-title{font-size:1.25rem;margin-bottom:7px}
.journal-event-flags{display:flex;flex-wrap:wrap;gap:7px}
.journal-event-meta-stack{gap:10px}
.journal-event-meta-stack .event-meta-item{padding-bottom:9px}
.journal-event-description{line-height:1.5}
.journal-event-actions{
    gap:8px;
    margin-top:14px;
}
.journal-event-actions .btn{
    padding:8px 11px;
    border-radius:12px;
    font-size:.82rem;
}

@media (min-width: 1460px){
    .journal-event-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (min-width: 1120px) and (max-width: 1459px){
    .journal-event-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width: 920px){
    .journal-filter-bar{flex-direction:column;align-items:flex-start}
}
@media (max-width: 700px){
    .journal-event-grid{grid-template-columns:1fr;gap:18px}
    .journal-event-card,
    .journal-event-card.tear-1,
    .journal-event-card.tear-2,
    .journal-event-card.tear-3,
    .journal-event-card.tear-4,
    .journal-event-card.tear-5,
    .journal-event-card.tear-6{transform:none}
    .journal-event-media{height:180px}
}

/* Schedule journal card refinement: softer torn edges, no content clipping, uncropped images, cleaner roles */
.journal-event-card,
.journal-event-card.tear-1,
.journal-event-card.tear-2,
.journal-event-card.tear-3,
.journal-event-card.tear-4,
.journal-event-card.tear-5,
.journal-event-card.tear-6{
    clip-path:none!important;
    border-radius:22px 18px 24px 19px;
    filter:drop-shadow(0 16px 26px rgba(43,24,7,.22));
}
.journal-event-card.tear-2{border-radius:18px 24px 19px 23px}
.journal-event-card.tear-3{border-radius:24px 19px 22px 18px}
.journal-event-card.tear-4{border-radius:20px 22px 17px 25px}
.journal-event-card.tear-5{border-radius:23px 17px 25px 20px}
.journal-event-card.tear-6{border-radius:19px 25px 20px 22px}
.journal-event-card-inner{
    overflow:visible;
    border-radius:inherit;
    border:1px solid rgba(93,59,26,.3);
}
.journal-event-card-inner::before{
    inset:13px;
    border-style:dashed;
    border-color:rgba(101,64,28,.18);
    border-radius:16px;
}
.journal-event-card::before,
.journal-event-card::after{
    content:"";
    position:absolute;
    z-index:2;
    pointer-events:none;
    opacity:.38;
}
.journal-event-card::before{
    left:12px;
    right:12px;
    top:-1px;
    height:8px;
    background:repeating-linear-gradient(90deg, rgba(92,58,25,.34) 0 9px, transparent 9px 17px);
    filter:blur(.35px);
}
.journal-event-card::after{
    left:14px;
    right:14px;
    bottom:-1px;
    height:8px;
    background:repeating-linear-gradient(90deg, transparent 0 8px, rgba(92,58,25,.28) 8px 16px);
    filter:blur(.35px);
}
.journal-event-media{
    height:184px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border-radius:21px 21px 0 0;
    background:
        radial-gradient(circle at 50% 48%, rgba(255,244,211,.64), rgba(216,176,105,.28) 58%, rgba(88,54,20,.16) 100%),
        linear-gradient(180deg,rgba(126,85,35,.18),rgba(69,39,14,.06));
}
.journal-event-image{
    width:100%;
    height:100%;
    object-fit:contain;
    padding:12px;
    background:transparent;
}
.journal-event-content{
    overflow:visible;
}
.journal-event-card .event-roles-section{
    background:rgba(255,248,224,.16);
    border:1px dashed rgba(99,64,28,.22);
    box-shadow:none;
}
.journal-event-card .event-role-list{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px 16px;
    margin-top:6px;
}
.journal-event-card .event-role-line{
    display:inline-grid;
    grid-template-columns:auto minmax(0,1fr);
    align-items:center;
    gap:8px;
    min-width:0;
    color:#3d250f;
    font-weight:800;
    line-height:1.25;
}
.journal-event-card .event-role-line .role-emoji{
    width:1.35em;
    text-align:center;
    font-size:1.04rem;
    line-height:1;
}
.journal-event-card .event-role-line .role-name{
    min-width:0;
    overflow-wrap:anywhere;
}
@media (max-width: 520px){
    .journal-event-card .event-role-list{grid-template-columns:1fr}
}

/* Schedule chronological journal refinements */
.journal-filter-bar{
    background:
        linear-gradient(180deg,rgba(255,246,215,.94),rgba(224,190,124,.82)),
        #ead3a0;
    border-color:rgba(83,51,21,.42);
    box-shadow:0 14px 30px rgba(46,27,10,.16), inset 0 1px 0 rgba(255,255,255,.58);
}
.journal-filter-summary{
    color:#3d250f;
    font-weight:800;
    line-height:1.45;
}
.journal-summary-sep{color:#8b5b21;margin:0 6px}
.journal-count-pill,
.journal-solid-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:6px;
    padding:8px 13px;
    border-radius:999px;
    border:1px solid rgba(74,44,14,.42);
    background:linear-gradient(180deg,#7b4a18,#3c220c);
    color:#f9e5ad;
    font-size:.82rem;
    font-weight:900;
    letter-spacing:.04em;
    white-space:nowrap;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 8px 18px rgba(52,30,9,.15);
}
.journal-section-heading .journal-solid-pill{padding:6px 11px}

.journal-event-heading-copy{
    min-width:0;
    flex:1 1 180px;
}
.journal-event-actions-top{
    margin-top:0;
    margin-left:auto;
    align-self:flex-start;
    justify-content:flex-end;
    flex:0 1 48%;
    gap:6px;
}
.journal-event-actions-top .btn{
    padding:7px 10px;
    border-radius:11px;
    font-size:.78rem;
}

.journal-event-card.is-past-event{
    opacity:1;
    filter:drop-shadow(0 12px 21px rgba(43,24,7,.14)) grayscale(.84) saturate(.48);
}
.journal-event-card.is-past-event .journal-event-card-inner{
    background:
        radial-gradient(circle at 15% 10%, rgba(255,255,255,.22), transparent 11rem),
        radial-gradient(circle at 88% 82%, rgba(90,90,90,.14), transparent 12rem),
        linear-gradient(145deg,#d8d1c1 0%,#bfb49f 48%,#d4c6aa 100%);
    border-color:rgba(72,68,59,.32);
}
.journal-event-card.is-past-event .journal-event-image{
    filter:grayscale(1) opacity(.72);
}
.journal-event-card.is-past-event .journal-event-date-seal{
    background:rgba(38,35,30,.82);
    color:#e0d6bd;
    border-color:rgba(69,65,57,.52);
}
.journal-event-card.is-past-event .seal-day{color:#c5b790}
.journal-event-card.is-past-event .event-card-title,
.journal-event-card.is-past-event .event-meta-value,
.journal-event-card.is-past-event .event-role-line{color:#3f3a31}
.journal-past-pill{
    background:linear-gradient(180deg,#766f62,#4d473c)!important;
    color:#efe4c8!important;
    border-color:rgba(73,67,56,.5)!important;
}

@media (max-width: 860px){
    .journal-event-header{flex-direction:column}
    .journal-event-actions-top{
        width:100%;
        max-width:none;
        margin-left:0;
        justify-content:flex-start;
        flex:1 1 auto;
    }
}
@media (max-width: 520px){
    .journal-count-pill{width:100%}
    .journal-event-actions-top .btn{flex:1 1 calc(50% - 6px)}
}

/* Journal schedule refinements: hidden past toggle, themed headings, embossed image actions */
.is-hidden-by-filter{display:none!important}

.journal-filter-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:12px;
    flex-wrap:wrap;
}
.journal-past-toggle{
    background:linear-gradient(180deg,#f8e6b6,#d8b574);
    border-color:rgba(73,43,14,.46);
    color:#33200c;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.58),0 8px 17px rgba(48,29,9,.13);
}
.journal-past-toggle span{color:#33200c;text-shadow:0 1px 0 rgba(255,248,222,.7)}
.journal-past-toggle input{accent-color:#6b3e14}

.journal-heading-card{
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:16px 20px;
    margin:0 0 18px;
    border-radius:22px 18px 24px 19px;
    border:1px solid rgba(83,51,21,.42);
    background:
        radial-gradient(circle at 12% 16%,rgba(255,255,255,.38),transparent 10rem),
        linear-gradient(180deg,rgba(255,246,215,.96),rgba(218,181,111,.88)),
        #e8cc91;
    box-shadow:0 14px 30px rgba(46,27,10,.18), inset 0 1px 0 rgba(255,255,255,.62);
    position:relative;
    overflow:hidden;
}
.journal-heading-card::before{
    content:"";
    position:absolute;
    inset:8px;
    border:1px dashed rgba(91,57,24,.18);
    border-radius:16px;
    pointer-events:none;
}
.journal-heading-card h3{
    position:relative;
    margin:2px 0 0;
    color:#2e1a08;
    text-shadow:0 1px 0 rgba(255,248,220,.86),0 3px 9px rgba(83,49,17,.16);
}
.journal-kicker-small{
    position:relative;
    display:block;
    color:#7a4b18;
    font-size:.76rem;
    font-weight:900;
    letter-spacing:.16em;
    text-transform:uppercase;
}
.journal-heading-card .journal-solid-pill{position:relative;z-index:1}

.journal-event-media{position:relative}
.journal-image-actions{
    position:absolute;
    top:12px;
    right:12px;
    z-index:4;
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:7px;
    flex-wrap:wrap;
    max-width:calc(100% - 24px);
}
.journal-icon-action{
    width:34px;
    height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:11px;
    border:1px solid rgba(43,25,8,.7);
    background:
        radial-gradient(circle at 35% 22%,rgba(255,236,177,.28),transparent 42%),
        linear-gradient(180deg,#7a4b18,#2f1a08);
    color:#f8e2a7;
    text-decoration:none;
    font-weight:900;
    font-size:1.08rem;
    line-height:1;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.18),inset 0 -2px 0 rgba(0,0,0,.3),0 7px 14px rgba(30,16,4,.32);
    text-shadow:0 1px 0 rgba(0,0,0,.65),0 -1px 0 rgba(255,232,166,.25);
    transition:transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.journal-icon-action:hover,
.journal-icon-action:focus-visible{
    transform:translateY(-1px);
    filter:brightness(1.1);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.22),inset 0 -2px 0 rgba(0,0,0,.32),0 9px 18px rgba(30,16,4,.38);
}
.journal-icon-action.danger{
    background:
        radial-gradient(circle at 35% 22%,rgba(255,220,182,.22),transparent 42%),
        linear-gradient(180deg,#7c311e,#331006);
    color:#ffe2c1;
}
.journal-event-card.is-past-event .journal-icon-action{
    filter:grayscale(.75) saturate(.45);
}

@media (max-width: 920px){
    .journal-filter-actions{justify-content:flex-start}
    .journal-heading-card{align-items:flex-start;flex-direction:column}
}
@media (max-width: 520px){
    .journal-filter-actions,
    .journal-past-toggle,
    .journal-count-pill{width:100%}
    .journal-past-toggle{justify-content:center}
    .journal-image-actions{top:10px;right:10px;gap:6px}
    .journal-icon-action{width:32px;height:32px}
}

/* Admin action refinements: stacked desktop icons, mobile bottom buttons */
.journal-image-actions{
    top:12px;
    right:12px;
    bottom:auto;
    flex-direction:column;
    align-items:flex-end;
    justify-content:flex-start;
    gap:8px;
    max-width:none;
}
.journal-image-actions .journal-icon-action{
    width:36px;
    height:36px;
}
.journal-action-label{
    display:none;
}
.journal-mobile-actions{
    display:none;
}

@media (max-width: 700px){
    .journal-image-actions{
        display:none;
    }
    .journal-mobile-actions{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
        margin-top:14px;
        padding-top:12px;
        border-top:1px dashed rgba(90,57,24,.24);
    }
    .journal-mobile-actions .journal-icon-action{
        width:auto;
        height:auto;
        min-height:42px;
        padding:10px 12px;
        border-radius:14px;
        gap:8px;
        font-size:.94rem;
        text-align:center;
    }
    .journal-mobile-actions .journal-action-label{
        display:inline;
        font-size:.84rem;
        line-height:1;
        letter-spacing:.03em;
        text-transform:uppercase;
    }
}
@media (max-width: 420px){
    .journal-mobile-actions{
        grid-template-columns:1fr;
    }
}

/* Schedule listing: thumbnail on top, poster gallery at the bottom */
.journal-event-thumbnail-image{
    object-fit:contain;
    padding:12px;
}
.journal-poster-carousel-section{
    position:relative;
    z-index:1;
}
.journal-poster-carousel-count{
    align-self:center;
    font-weight:800;
}
.journal-poster-carousel-shell{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
}
.journal-poster-carousel{
    display:flex;
    gap:18px;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    padding:8px 4px 18px;
    scrollbar-width:thin;
}
.journal-poster-carousel-card{
    flex:0 0 min(280px,78vw);
    margin:0;
    scroll-snap-align:start;
    border-radius:22px;
    border:1px solid rgba(99,64,28,.28);
    background:
        radial-gradient(circle at 20% 0%, rgba(255,246,210,.5), transparent 9rem),
        linear-gradient(145deg,rgba(226,195,128,.84),rgba(194,146,75,.7));
    padding:12px;
    box-shadow:0 14px 26px rgba(42,24,8,.2), inset 0 1px 0 rgba(255,255,255,.36);
    transition:transform .16s ease, filter .16s ease, opacity .16s ease;
}
.journal-poster-carousel-card:hover{
    transform:translateY(-2px);
}
.journal-poster-carousel-card.is-hidden-by-filter{
    display:none;
}
.journal-poster-carousel-card.is-past-event{
    filter:grayscale(.9) saturate(.5);
    opacity:.8;
}
.journal-poster-carousel-link{
    display:block;
    border-radius:16px;
    overflow:hidden;
    border:1px solid rgba(77,46,18,.26);
    background:rgba(52,31,12,.12);
}
.journal-poster-carousel-image{
    display:block;
    width:100%;
    height:360px;
    object-fit:contain;
    background:rgba(44,25,9,.18);
}
.journal-poster-carousel-caption{
    display:flex;
    flex-direction:column;
    gap:4px;
    padding:10px 2px 0;
    color:#3b220c;
    text-shadow:0 1px 0 rgba(255,244,213,.58);
}
.journal-poster-carousel-caption strong{
    font-size:.98rem;
    line-height:1.18;
}
.journal-poster-carousel-caption span{
    color:#6d4217;
    font-size:.82rem;
    font-weight:800;
}
.journal-carousel-button{
    width:42px;
    height:58px;
    border-radius:16px;
    border:1px solid rgba(102,66,29,.34);
    background:linear-gradient(180deg,#f0d598,#c79548);
    color:#2d1908;
    font-size:2rem;
    font-weight:900;
    line-height:1;
    cursor:pointer;
    box-shadow:0 10px 20px rgba(43,24,7,.18), inset 0 1px 0 rgba(255,255,255,.42);
}
.journal-carousel-button:hover{
    transform:translateY(-1px);
}
@media (max-width: 720px){
    .journal-poster-carousel-shell{
        grid-template-columns:1fr;
    }
    .journal-carousel-button{
        display:none;
    }
    .journal-poster-carousel{
        padding-left:2px;
        padding-right:2px;
    }
}
