/* v33.1: scoped standalone experience page, does not change other articles. */
#experienceView { min-width:0; }
#experienceRoot { width:100%; min-width:0; }
.exp-v33 {
  --ex-ink:#31251a; --ex-muted:#78624d; --ex-line:#bea27c; --ex-soft:#f6ead3;
  --ex-paper:#f1dfbf; --ex-card:#fff8e8; --ex-red:#842e27; --ex-gold:#a17840;
  --ex-green:#426d46; --ex-shadow:0 10px 24px rgba(48,30,16,.09);
  width:min(100%,1500px); margin:0 auto; padding:clamp(10px,1.5vw,24px);
  color:var(--ex-ink); background:var(--ex-paper); font-family:var(--aaa-body,'EB Garamond',Georgia,serif);
  border:1px solid var(--ex-line); box-shadow:var(--ex-shadow);
}
.exp-v33[data-exp-theme="dark"] {
  --ex-ink:#eee0c2; --ex-muted:#bca98d; --ex-line:#756149; --ex-soft:#30271f;
  --ex-paper:#211b16; --ex-card:#312820; --ex-red:#d4a17d; --ex-gold:#e0c08a;
  --ex-green:#a7cc91; --ex-shadow:0 10px 24px rgba(0,0,0,.25);
}
.exp-v33 *, .exp-v33 *::before, .exp-v33 *::after { box-sizing:border-box; }
.exp-v33-hero { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding:10px 7px 20px; border-bottom:1px solid var(--ex-line); }
.exp-v33 h2,.exp-v33 h3 { margin:0; font-family:var(--aaa-title,'Cinzel Decorative',Georgia,serif); color:var(--ex-ink); line-height:1.2; }
.exp-v33 h2 { font-size:clamp(1.9rem,3.5vw,2.7rem); }
.exp-v33 h3 { font-size:clamp(1.25rem,1.8vw,1.65rem); }
.exp-v33 p { margin:7px 0 0; color:var(--ex-muted); }
.exp-v33 .exp-v33-overline { margin:0 0 6px; font-family:var(--aaa-ui,'Cinzel Decorative',Georgia,serif); font-size:.72rem; text-transform:uppercase; color:var(--ex-red); letter-spacing:.08em; font-weight:800; }
.exp-v33 button,.exp-v33 input,.exp-v33 select { font:inherit; }
.exp-v33 button,.exp-v33 select,.exp-v33 input { border:1px solid var(--ex-line); color:var(--ex-ink); background:var(--ex-card); border-radius:3px; min-height:38px; }
.exp-v33 button { padding:7px 12px; cursor:pointer; font-weight:700; white-space:nowrap; }
.exp-v33 button:hover { border-color:var(--ex-red); }
.exp-v33 button:focus-visible,.exp-v33 input:focus-visible,.exp-v33 select:focus-visible,.exp-v33 summary:focus-visible { outline:2px solid var(--ex-green); outline-offset:2px; }
.exp-v33 input,.exp-v33 select { width:100%; min-width:0; padding:7px 9px; }
.exp-v33-theme { flex-shrink:0; }
.exp-v33-topfacts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin:15px 0; }
.exp-v33-topfacts>div,.exp-v33-output>div { min-width:0; display:grid; gap:5px; padding:13px 15px; background:var(--ex-card); border:1px solid var(--ex-line); box-shadow:var(--ex-shadow); }
.exp-v33-topfacts small,.exp-v33-output small { color:var(--ex-muted); font-size:.87rem; line-height:1.25; }
.exp-v33-topfacts strong,.exp-v33-output strong { font-family:var(--aaa-title,Georgia,serif); font-size:clamp(1.05rem,1.9vw,1.6rem); font-weight:800; color:var(--ex-red); overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.exp-v33-planner,.exp-v33-levels { border:1px solid var(--ex-line); background:var(--ex-soft); padding:clamp(12px,2vw,22px); margin:16px 0; }
.exp-v33-sectionhead { display:flex; justify-content:space-between; align-items:center; gap:10px; padding-bottom:12px; margin-bottom:14px; border-bottom:1px solid var(--ex-line); }
.exp-v33-sectionhead>span { color:var(--ex-muted); font-size:.87rem; }
.exp-v33-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.exp-v33-fields label,.exp-v33-toolbar label { min-width:0; display:grid; gap:6px; color:var(--ex-muted); font-family:var(--aaa-ui,Georgia,serif); font-size:.85rem; font-weight:700; }
.exp-v33-progress { margin-top:18px; }
.exp-v33-progress>div:first-child { display:flex; align-items:center; justify-content:space-between; color:var(--ex-ink); font-size:.95rem; }
.exp-v33-progress-track { margin:8px 0; height:11px; overflow:hidden; background:var(--ex-card); border:1px solid var(--ex-line); border-radius:50px; }
.exp-v33-progress-track i { display:block; height:100%; width:0; background:linear-gradient(90deg,var(--ex-gold),var(--ex-green)); transition:width .2s ease-out; }
.exp-v33-progress-caption { color:var(--ex-muted); }
.exp-v33-output { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; margin-top:16px; }
.exp-v33 .exp-v33-planner-note { font-size:.89rem; line-height:1.4; }
.exp-v33-toolbar { display:flex; align-items:end; flex-wrap:wrap; gap:10px; margin-bottom:14px; }
.exp-v33-toolbar label:first-child { width:130px; }
.exp-v33-toolbar label:last-child { width:min(100%,260px); }
.exp-v33-find { background:var(--ex-red)!important; color:var(--ex-paper)!important; }
.exp-v33-group { border:1px solid var(--ex-line); background:var(--ex-card); margin-bottom:10px; }
.exp-v33-group>summary { cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 15px; list-style:none; font-family:var(--aaa-ui,Georgia,serif); color:var(--ex-red); font-weight:800; }
.exp-v33-group>summary::-webkit-details-marker { display:none; }
.exp-v33-group>summary::before { content:'+'; display:inline-grid; place-items:center; width:22px;height:22px; border:1px solid var(--ex-line); }
.exp-v33-group[open]>summary::before { content:'−'; }
.exp-v33-group>summary span { flex:1; }
.exp-v33-group>summary small { color:var(--ex-muted); }
.exp-v33-cards { border-top:1px solid var(--ex-line); padding:12px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.exp-v33-card { background:var(--ex-soft); border:1px solid var(--ex-line); min-width:0; padding:12px; box-shadow:var(--ex-shadow); scroll-margin-top:120px; }
.exp-v33-card-head { display:flex; justify-content:space-between; gap:8px; align-items:center; border-bottom:1px solid var(--ex-line); padding-bottom:9px; margin-bottom:10px; color:var(--ex-ink); }
.exp-v33-card-head>strong { font-family:var(--aaa-title,Georgia,serif); }
.exp-v33-card-head>strong span { color:var(--ex-gold); }
.exp-v33-reward { color:var(--ex-red); font-size:.88rem; white-space:nowrap; }
.exp-v33-milestone { border-left:3px solid var(--ex-green); }
.exp-v33-milestone .exp-v33-reward { color:var(--ex-green); }
.exp-v33-card-metrics { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.exp-v33-card-metrics>div { min-width:0; display:grid; align-content:start; gap:4px; }
.exp-v33-card-metrics>div:nth-child(n+3) { padding-top:7px; border-top:1px dotted var(--ex-line); }
.exp-v33-card-metrics span { font-size:.78rem; color:var(--ex-muted); }
.exp-v33-card-metrics strong { font-size:.92rem; color:var(--ex-ink); overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.exp-v33 .exp-v33-legacy-note { padding:8px; margin:10px 0 0; border-left:2px solid var(--ex-gold); color:var(--ex-muted); font-size:.83rem; }
.exp-v33-card-extras { margin-top:10px; padding-top:8px; border-top:1px solid var(--ex-line); display:flex; flex-wrap:wrap; gap:5px; }
.exp-v33-card-extras span { padding:3px 6px; font-size:.75rem; color:var(--ex-muted); background:var(--ex-card); border:1px solid var(--ex-line); }
.exp-v33-selected { outline:3px solid var(--ex-green); outline-offset:2px; }
.exp-v33-explainer { margin:16px 0 0; border:1px solid var(--ex-line); padding:14px; background:var(--ex-card); }
.exp-v33-explainer summary { font-weight:800; cursor:pointer; color:var(--ex-red); }
.exp-v33-explainer p { margin-top:10px; line-height:1.5; }
.exp-v33-error { padding:20px; }
@media(max-width:1050px) { .exp-v33-topfacts,.exp-v33-output,.exp-v33-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } .exp-v33-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:620px) {
 .exp-v33 { padding:9px; } .exp-v33-hero { flex-direction:column; align-items:stretch; gap:11px; }
 .exp-v33-hero .exp-v33-theme { align-self:flex-start; } .exp-v33-topfacts,.exp-v33-output { grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; }
 .exp-v33-topfacts>div,.exp-v33-output>div { padding:10px; }
 .exp-v33-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
 .exp-v33-cards { grid-template-columns:minmax(0,1fr); padding:9px; }
 .exp-v33-card-metrics strong { font-size:.97rem; }
 .exp-v33-toolbar label:last-child { flex:1 1 100%; width:100%; }
 .exp-v33-sectionhead>span { display:none; }
}
@media(prefers-reduced-motion:reduce) { .exp-v33-progress-track i { transition:none; } }
