/* Hogwarts House Points 1.0.0-beta2 */
.hhp-wrap{
    --hhp-bg:#15100c;
    --hhp-panel:#211811;
    --hhp-panel-soft:#2a1f16;
    --hhp-line:#5d4932;
    --hhp-gold:#c8a968;
    --hhp-gold-light:#ead9aa;
    --hhp-text:#eee5d5;
    --hhp-muted:#b9aa91;
    max-width:1180px;
    margin:28px auto;
    color:var(--hhp-text);
}
.hhp-wrap *{box-sizing:border-box}
.hhp-hero{
    padding:34px 38px;
    border:1px solid var(--hhp-line);
    background:
        linear-gradient(135deg,rgba(200,169,104,.08),transparent 42%),
        linear-gradient(180deg,#21170f,#130e0a);
    text-align:center;
    box-shadow:0 18px 45px rgba(0,0,0,.28),inset 0 0 70px rgba(0,0,0,.34);
}
.hhp-eyebrow{font-size:10px;letter-spacing:4px;color:var(--hhp-muted)}
.hhp-hero h1{margin:9px 0 5px;font-family:Georgia,serif;font-size:34px;letter-spacing:2px;color:var(--hhp-gold-light)}
.hhp-season{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--hhp-gold)}
.hhp-houses{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:18px 0}
.hhp-house{
    position:relative;
    min-height:180px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border:1px solid color-mix(in srgb,var(--hhp-house) 65%,#ad9d80);
    background:
        linear-gradient(180deg,color-mix(in srgb,var(--hhp-house) 44%,#15100c),#15100c 82%);
    box-shadow:inset 0 0 45px rgba(0,0,0,.5),0 12px 28px rgba(0,0,0,.2);
}
.hhp-house:before{content:"";position:absolute;inset:7px;border:1px solid color-mix(in srgb,var(--hhp-house-secondary) 45%,transparent);pointer-events:none}
.hhp-place{position:absolute;top:12px;left:14px;font-family:Georgia,serif;font-size:12px;color:var(--hhp-house-secondary)}
.hhp-house-mark{height:52px;display:flex;align-items:center;justify-content:center;margin-bottom:5px}
.hhp-house-mark img{max-width:50px;max-height:50px;object-fit:contain}
.hhp-house-mark .hhp-letter{font-family:Georgia,serif;font-size:42px;color:var(--hhp-house-secondary);text-shadow:0 2px 8px rgba(0,0,0,.45)}
.hhp-house-content{text-align:center}
.hhp-house h2{margin:0 0 9px;font-family:Georgia,serif;font-size:19px;letter-spacing:1px;color:#fff}
.hhp-points{display:flex;flex-direction:column}
.hhp-points strong{
    font-family:Georgia,serif;
    font-size:30px;
    line-height:1;
    color:color-mix(
        in srgb,
        var(--hhp-house-secondary) 25%,
        #f6ecd2
    );
    text-shadow:
        0 2px 3px rgba(0,0,0,.95),
        0 0 8px rgba(0,0,0,.65);
}
.hhp-points span{margin-top:5px;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#d6ccbc}
.hhp-panel{margin-top:18px;border:1px solid var(--hhp-line);background:linear-gradient(180deg,var(--hhp-panel),#17110d);box-shadow:0 14px 35px rgba(0,0,0,.2)}
.hhp-panel-head{padding:13px 18px;border-bottom:1px solid var(--hhp-line);background:rgba(0,0,0,.16)}
.hhp-panel-head h2{margin:0;font-family:Georgia,serif;font-size:16px;letter-spacing:1px;color:var(--hhp-gold-light)}
.hhp-history{padding:0 18px}
.hhp-entry{display:grid;grid-template-columns:74px minmax(0,1fr);gap:15px;padding:15px 0;border-bottom:1px solid rgba(200,169,104,.14)}
.hhp-entry:last-child{border-bottom:0}
.hhp-entry-points{display:flex;align-items:center;justify-content:center;min-height:52px;border:1px solid rgba(255,255,255,.12);font-family:Georgia,serif;font-size:20px;background:rgba(0,0,0,.2)}
.hhp-entry-points.is-positive{color:#b9d09d}
.hhp-entry-points.is-negative{color:#d7a29b}
.hhp-entry-title{font-weight:bold;color:var(--hhp-gold-light)}
.hhp-dot{display:inline-block;width:8px;height:8px;margin-right:8px;background:var(--hhp-dot);box-shadow:0 0 0 2px rgba(255,255,255,.08)}
.hhp-entry-reason{margin:5px 0 7px;color:var(--hhp-text);line-height:1.55}
.hhp-entry-meta{font-size:10px;letter-spacing:.4px;color:var(--hhp-muted)}
.hhp-entry-meta span+span:before,.hhp-entry-meta a:before{content:" · ";color:#766650}
.hhp-entry-meta a{color:var(--hhp-gold);text-decoration:none}
.hhp-form-panel{padding-bottom:18px}
.hhp-form{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;padding:18px}
.hhp-form label{display:flex;flex-direction:column;gap:6px}
.hhp-form label>span{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--hhp-muted)}
.hhp-form input,.hhp-form select{width:100%;height:38px;padding:0 10px;border:1px solid var(--hhp-line);background:#120e0b;color:var(--hhp-text);outline:none}
.hhp-form input:focus,.hhp-form select:focus{border-color:var(--hhp-gold)}
.hhp-form-wide{grid-column:span 2}
.hhp-submit{align-items:flex-end;justify-content:flex-end}
.hhp-submit button{height:38px;padding:0 22px;border:1px solid #8f733e;background:linear-gradient(#c0a266,#806638);color:#171009;font-weight:bold;text-transform:uppercase;letter-spacing:1px;cursor:pointer}
.hhp-notice{margin:18px 0 0;padding:12px 15px;border:1px solid var(--hhp-line);background:var(--hhp-panel);color:var(--hhp-text)}
.hhp-empty{padding:20px 0;text-align:center;color:var(--hhp-muted)}
.hhp-widget{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;border:1px solid rgba(200,169,104,.35);background:#0f0b08;text-decoration:none;color:#eee5d5}
.hhp-widget-house{position:relative;display:flex;justify-content:space-between;gap:8px;padding:7px 9px;overflow:hidden;background:linear-gradient(90deg,color-mix(in srgb,var(--hhp-widget-color) 50%,#15100c),#15100c)}
.hhp-widget-house:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--hhp-widget-color)}
.hhp-widget-house b{font-size:9px;letter-spacing:.8px;text-transform:uppercase}
.hhp-widget-house em{font-style:normal;font-weight:bold;color:#ead9aa}
.hhp-postbit{margin:7px 0;padding:7px 8px;border-left:3px solid var(--hhp-postbit-color);background:rgba(0,0,0,.12);font-size:10px;text-align:center}
.hhp-postbit span,.hhp-postbit strong{display:block}
.hhp-postbit span{text-transform:uppercase;letter-spacing:1px;color:var(--hhp-postbit-color)}
.hhp-postbit strong{margin-top:3px;color:inherit}
@media (max-width:900px){.hhp-houses{grid-template-columns:repeat(2,minmax(0,1fr))}.hhp-form{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.hhp-wrap{margin:15px 8px}.hhp-hero{padding:25px 15px}.hhp-hero h1{font-size:25px}.hhp-houses,.hhp-form{grid-template-columns:1fr}.hhp-form-wide{grid-column:auto}.hhp-entry{grid-template-columns:58px minmax(0,1fr)}}
/* beta3-character-points */
.hhp-character-list{padding:0 18px}
.hhp-character-row{display:grid;grid-template-columns:42px 10px minmax(150px,1fr) minmax(100px,.6fr) 80px;align-items:center;gap:10px;padding:11px 0;border-bottom:1px solid rgba(200,169,104,.14)}
.hhp-character-row:last-child{border-bottom:0}
.hhp-character-place{font-family:Georgia,serif;color:var(--hhp-muted)}
.hhp-character-dot{width:8px;height:8px;background:var(--hhp-character-color);box-shadow:0 0 0 2px rgba(255,255,255,.08)}
.hhp-character-name a{color:var(--hhp-gold-light);text-decoration:none;font-weight:bold}
.hhp-character-house{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--hhp-muted)}
.hhp-character-row strong{text-align:right;font-family:Georgia,serif;font-size:16px}
.hhp-character-row strong.is-positive{color:#b9d09d}
.hhp-character-row strong.is-negative{color:#d7a29b}
.hhp-postbit small{display:block;margin-top:3px;color:inherit;opacity:.75}
.hhp-profile{margin:12px 0;padding:12px 14px;border-left:4px solid var(--hhp-profile-color);background:rgba(0,0,0,.12)}
.hhp-profile span,.hhp-profile strong,.hhp-profile small{display:block}
.hhp-profile span{font-size:10px;letter-spacing:1px;text-transform:uppercase;color:var(--hhp-profile-color)}
.hhp-profile strong{margin-top:4px}
.hhp-profile small{margin-top:3px;opacity:.75}
@media (max-width:700px){.hhp-character-row{grid-template-columns:34px 10px minmax(0,1fr) 70px}.hhp-character-house{display:none}}