:root{--ink:#24180f;--brown:#4c2c19;--wine:#732b20;--gold:#b98a47;--paper:#efe0bd;--paper-2:#dcc79e;--cream:#f7eed8;--muted:#7a6958;--line:#4a2b173b;--shadow:0 20px 50px #190e0833}*{box-sizing:border-box}html{background:#17110d}body{color:var(--ink);background:#17110d;min-height:100vh;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input{font:inherit}button{cursor:pointer}.shell{background:linear-gradient(#efe0bdf0,#efe0bdf5),repeating-linear-gradient(27deg,#0000 0 11px,#482a160f 12px 13px),#ead9b5;min-height:100vh}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#f7eed8c7;justify-content:space-between;align-items:center;height:74px;padding:0 max(22px,50vw - 590px);display:flex;position:sticky;top:0}.brand{letter-spacing:.05em;text-transform:uppercase;font-family:Georgia,Times New Roman,serif;font-size:17px;font-weight:700}.urb-logo{object-fit:contain;width:auto;height:58px;display:block}.page{max-width:1180px;margin:0 auto;padding:32px 22px 64px}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--wine);font-size:12px;font-weight:800}h1,h2,h3{color:#2b1a10;margin:0;font-family:Georgia,Times New Roman,serif}h1{letter-spacing:-.035em;max-width:720px;font-size:clamp(40px,7vw,76px);line-height:.96}h2{font-size:clamp(30px,5vw,50px);line-height:1.04}h3{font-size:22px}p{line-height:1.55}.hero{grid-template-columns:1.08fr .92fr;align-items:center;gap:36px;padding:34px 0 38px;display:grid}.hero-copy>p{color:#574534;max-width:590px;margin:16px 0 24px;font-size:17px}.hero-copy .hero-lead{color:var(--wine);margin:18px 0 0;font-family:Georgia,Times New Roman,serif;font-size:22px}.hero-image{justify-content:center;align-items:center;height:460px;display:flex;position:relative;overflow:visible}.hero-image img{object-fit:contain;object-position:center;filter:drop-shadow(0 18px 22px #2a190f29);width:108%;height:108%}.primary,.secondary{letter-spacing:.01em;border:0;border-radius:3px;min-height:48px;padding:14px 20px;font-weight:800}.primary{color:#fff7e4;background:var(--wine);box-shadow:0 8px 20px #732b2033}.primary:hover{background:#5f2119}.secondary{border:1px solid var(--brown);color:var(--brown);background:0 0}.progress-row{flex-wrap:wrap;align-items:center;gap:18px;margin-top:25px;display:flex}.progress-track{background:#4c2c1924;border-radius:20px;width:min(310px,72vw);height:8px;overflow:hidden}.progress-fill{background:var(--wine);height:100%;transition:width .35s}.progress-copy{color:var(--muted);font-size:14px;font-weight:700}.section-head{justify-content:space-between;align-items:end;gap:20px;margin:32px 0 20px;display:flex}.map-panel{min-height:460px;box-shadow:var(--shadow);background:#8f7658;border:1px solid #4f2e1b4d;border-radius:6px;position:relative;overflow:hidden}.map-panel:before{content:"";filter:sepia(.42)saturate(.72);background:linear-gradient(#1f120a2e,#1f120a59),url(/assets/jan-hus-sem-texto.png) 50%/cover;position:absolute;inset:0}.route{z-index:1;grid-template-columns:repeat(4,1fr);align-items:end;gap:14px;min-height:460px;padding:180px 22px 24px;display:grid;position:relative}.city{color:#f6e8c6;text-align:left;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#22160fcc;border:1px solid #f7eed861;border-radius:4px;min-height:145px;padding:18px;transition:transform .2s,background .2s}.city.open:hover{background:#492618eb;transform:translateY(-5px)}.city small{color:#d8bc87;text-transform:uppercase;letter-spacing:.13em;margin-bottom:9px;display:block}.city strong{font-family:Georgia,Times New Roman,serif;font-size:22px;display:block}.city span{color:#dfd2bb;margin-top:9px;font-size:13px;display:block}.city.locked{opacity:.65;cursor:not-allowed}.chapter-hero{grid-template-columns:1fr 380px;align-items:center;gap:32px;padding:32px 0;display:grid}.chapter-hero .mini{border:1px solid var(--line);background:#cab590;border-radius:5px;height:275px;overflow:hidden}.chapter-hero .mini img{object-fit:cover;object-position:50% 88%;width:100%;height:100%}.chapter-hero .reformer-portrait{background:0 0;border:0;overflow:visible}.chapter-hero .reformer-portrait img{object-fit:contain;object-position:center;filter:drop-shadow(0 18px 22px #2a190f2e)}.back{color:var(--wine);background:0 0;border:0;margin-bottom:20px;padding:8px 0;font-weight:800}.verse{border-left:3px solid var(--gold);max-width:680px;padding-left:18px;font-family:Georgia,Times New Roman,serif;font-size:20px;line-height:1.45}.mission-grid{grid-template-columns:repeat(3,1fr);gap:15px;margin-top:24px;display:grid}.mission{border:1px solid var(--line);text-align:left;background:#f8efdae0;border-radius:5px;flex-direction:column;min-height:186px;padding:20px;transition:transform .2s,box-shadow .2s;display:flex}.mission:hover{transform:translateY(-3px);box-shadow:0 13px 28px #321e111f}.mission.done{background:#e7d6ad;border-color:#99703b}.mission-number{color:var(--wine);font-family:Georgia,Times New Roman,serif;font-size:30px}.mission-type{letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:5px 0 14px;font-size:11px;font-weight:800}.mission strong{font-size:17px}.mission em{color:#7a614b;margin-top:auto;padding-top:20px;font-size:13px;font-style:normal}.status-card{color:#f1dfb9;background:#342115;border-radius:5px;justify-content:space-between;align-items:center;gap:18px;margin:28px 0 0;padding:22px;display:flex}.status-card strong{font-family:Georgia,Times New Roman,serif;font-size:21px}.status-card p{color:#d7c4a0;margin:5px 0 0;font-size:14px}.seal{background:var(--wine);color:#f1d9a2;border:4px double #d9b56e;border-radius:50%;flex:none;place-items:center;width:68px;height:68px;font-family:Georgia,Times New Roman,serif;font-weight:700;display:grid;box-shadow:0 5px 14px #00000040}.modal-wrap{z-index:50;background:#140d09bf;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:var(--cream);border-radius:6px;width:min(620px,100%);max-height:90vh;padding:28px;position:relative;overflow:auto;box-shadow:0 25px 80px #0000006b}.close{color:#614937;background:0 0;border:0;font-size:28px;position:absolute;top:12px;right:16px}.modal h2{padding-right:35px;font-size:34px}.modal .instruction{color:#4f3b2b;font-size:18px}.choice{text-align:left;border:1px solid var(--line);background:#f4e7c8;border-radius:3px;width:100%;margin:9px 0;padding:13px 15px;display:block}.choice.correct{background:#d9e2c5;border-color:#72804e}.choice.wrong{background:#ecd0c9;border-color:#9a5145}.complete{width:100%;margin-top:20px}.photo-preview{object-fit:cover;border-radius:4px;width:100%;max-height:290px;margin-top:14px;display:none}.file-label{text-align:center;background:#f0dfba;border:1px dashed #8a6846;margin:18px 0;padding:20px;font-weight:800;display:block}.file-label input{display:none}.map-challenge{filter:sepia(.38)saturate(.72);background:linear-gradient(#d8be8d33,#d8be8d47),url(https://upload.wikimedia.org/wikipedia/commons/3/39/Central_and_South_Europe_blank_map.png) 50%/contain no-repeat,#d8c69e;border:1px solid #8d6e4e;border-radius:4px;height:340px;margin:18px 0 8px;position:relative;overflow:hidden;box-shadow:inset 0 0 45px #3d271538}.map-label{text-transform:uppercase;letter-spacing:.13em;color:#65482f;z-index:2;font-size:10px;font-weight:800;position:absolute;top:12px;left:13px}.map-pin{z-index:3;background:#3a281b;border:3px solid #f2dfb7;border-radius:50%;width:30px;height:30px;padding:0;transition:transform .16s,background .16s;position:absolute;box-shadow:0 4px #22140b40,0 0 0 4px #3a281b38}:is(.map-pin:hover,.map-pin:focus-visible){outline:2px solid var(--wine);outline-offset:3px;transform:scale(1.18)}.map-pin.wittenberg{top:29%;left:58%}.map-pin.praga{top:36%;left:63%}.map-pin.zurique{top:40%;left:52%}.map-pin.genebra{top:44%;left:47%}.map-pin.correct{background:#53643d}.map-pin.wrong{background:#873a2f}.map-source{color:#735b44;margin:0;font-size:12px}.map-source a{color:var(--wine)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.map-result{color:#765c42;min-height:22px;font-weight:700}.object-note{border-left:3px solid var(--gold);background:#ead9b5;padding:13px 15px;font-size:14px}.answer-line{background:#f0dfba;border-bottom:2px solid #8d6e4e;min-height:64px;margin:18px 0 12px;padding:18px;font-family:Georgia,Times New Roman,serif;font-size:19px}.word-bank{flex-wrap:wrap;gap:9px;display:flex}.word-token{border:1px solid var(--line);color:var(--brown);background:#fff6df;border-radius:3px;padding:10px 12px;font-weight:700}.word-token:disabled{opacity:.35}.reset-words{color:var(--wine);background:0 0;border:0;padding:13px 0;text-decoration:underline}.response-label{color:#654b36;margin-top:16px;font-size:13px;font-weight:800;display:block}.response-label textarea{border:1px solid var(--line);resize:vertical;width:100%;font:inherit;background:#fff7e5;margin-top:8px;padding:12px;display:block}.steps{color:#513d2c;line-height:1.7}.timer{text-align:center;color:var(--wine);font-variant-numeric:tabular-nums;padding:18px 0 8px;font-family:Georgia,Times New Roman,serif;font-size:62px}.timer-button{margin:0 auto 18px;display:block}.bio-answer{grid-template-columns:repeat(4,1fr);gap:6px;margin:17px 0;display:grid}.bio-answer span{text-align:center;color:#684a31;background:#e5d2aa;border:1px dashed #8c6b49;place-items:center;min-height:58px;padding:8px;font-size:12px;font-weight:800;display:grid}.bio-bank{grid-template-columns:1fr 1fr;gap:9px;display:grid}.bio-card{text-align:left;border:1px solid var(--line);color:var(--ink);background:#fff4d9;border-radius:3px;padding:0;overflow:hidden}.bio-card>img{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.bio-copy{padding:13px;display:block}.bio-card strong,.bio-card span{display:block}.bio-card strong{margin-bottom:6px;font-family:Georgia,Times New Roman,serif;font-size:17px}.bio-card span{color:#624d39;font-size:13px;line-height:1.45}.bio-card:disabled{opacity:.4}.pulpit-link{color:#f3dfb8;border-left:4px solid var(--gold);background:#3a271a;margin-top:16px;padding:16px}.pulpit-link strong{font-family:Georgia,Times New Roman,serif;font-size:19px}.pulpit-link p{margin:7px 0 0;font-size:14px}.complete:disabled{opacity:.45;cursor:not-allowed}.chapter-conclusion{border:1px solid #b28a51;border-left:5px solid var(--wine);color:#4b3220;background:#efe0bd;margin:14px 0 0;padding:19px 22px}.chapter-conclusion strong{font-family:Georgia,Times New Roman,serif;font-size:21px}.chapter-conclusion p{max-width:820px;margin:7px 0 0;line-height:1.55}.follow-up{margin-top:22px}.choices button.wrong{background:#ead5bc;border-color:#ad7759}.reset{color:#795e45;background:0 0;border:0;margin:36px auto 0;text-decoration:underline;display:block}.intro{color:#f5e6c5;background:#1b130e;grid-template-columns:1fr 1fr;min-height:100vh;display:grid}.intro-art{background:linear-gradient(270deg,#0000 62%,#1b130e),url(/assets/jan-hus-sem-texto.png) 100%/cover;min-height:100vh}.intro-copy{flex-direction:column;justify-content:center;padding:60px 28px 60px max(28px,8vw);display:flex}.intro h1{color:#f6e7c4}.intro p{color:#cdbb9c;max-width:520px;font-size:18px}.intro input{color:#fff3d6;background:0 0;border:0;border-bottom:1px solid #8f7658;outline:none;margin:18px 0 24px;padding:13px 2px;font-size:18px}.intro input:focus{border-color:#d5ad68}.intro .primary{align-self:flex-start}.access-note{color:#a99779;max-width:430px;margin-top:12px;font-size:13px;line-height:1.45;display:block}.toast{color:#f4e6c8;z-index:70;box-shadow:var(--shadow);background:#2d2118;border-radius:3px;padding:12px 18px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}@media (max-width:850px){.hero,.chapter-hero{grid-template-columns:1fr}.hero-image{height:310px}.route{grid-template-columns:1fr 1fr;padding-top:150px}.mission-grid{grid-template-columns:1fr 1fr}.chapter-hero .mini{height:230px}.intro{grid-template-columns:1fr}.intro-art{background:linear-gradient(#0000 50%,#1b130e),url(/assets/jan-hus-sem-texto.png) 100%/cover;order:-1;min-height:42vh}.intro-copy{padding:20px 24px 56px}}@media (max-width:560px){.topbar{height:68px;padding:0 16px}.brand{font-size:14px}.urb-logo{height:52px}.page{padding:24px 16px 48px}.hero{padding-top:12px}.hero-image{height:250px}.route{grid-template-columns:1fr;padding:140px 14px 14px}.city{min-height:auto}.mission-grid{grid-template-columns:1fr}.mission{min-height:148px}.status-card{align-items:flex-start}.modal{padding:24px 20px}.intro-art{min-height:36vh}.intro h1{font-size:44px}.bio-answer{grid-template-columns:1fr 1fr}.bio-bank{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.access-tabs{gap:6px;margin:18px 0 8px;display:flex}.access-tabs button{color:#cdbb9c;background:0 0;border:1px solid #66503d;padding:9px 12px}.access-tabs button.active{color:#2b1a10;background:#f0dfba;border-color:#f0dfba}.access-form{flex-direction:column;gap:14px;max-width:520px;display:flex}.access-form label{color:#ead9b5;font-size:14px;font-weight:750}.access-form input{width:100%;margin:5px 0 0;display:block}.access-form .primary{align-self:flex-start;margin-top:3px}.form-notice{color:#f2c4b5!important;font-size:14px!important}.family-chip{color:var(--muted);align-items:center;gap:8px;margin-left:auto;font-size:13px;display:flex}.family-chip b{color:var(--wine);letter-spacing:.05em;font-family:ui-monospace,monospace}.family-chip button{color:var(--wine);background:0 0;border:0;text-decoration:underline}.choices{gap:8px;display:grid}.choices button{text-align:left;border:1px solid var(--line);background:#f4e7c8;padding:12px}.reformer-portrait{justify-content:center;height:275px;display:flex}.reformer-portrait img{object-fit:contain;filter:drop-shadow(0 18px 22px #2a190f2e);max-width:100%;height:100%}.return-options{max-width:520px}.access-divider{color:#aa9678;text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:12px;margin:16px 0;font-size:12px;display:flex}.access-divider:before,.access-divider:after{content:"";background:#5d4938;flex:1;height:1px}.return-options .secondary{align-self:flex-start}@media (max-width:620px){.family-chip span{display:none}.family-chip{margin-left:8px}.topbar{gap:7px}.urb-logo{margin-left:auto}}.admin-page{background:var(--paper);min-height:100vh;color:var(--ink);padding:clamp(28px,6vw,72px)}.admin-page h1{margin:8px 0 28px}.admin-total{align-items:baseline;gap:12px;margin-bottom:22px;display:flex}.admin-total strong{color:var(--wine);font:700 42px Georgia,serif}.admin-total span{color:var(--muted)}.admin-table{background:var(--cream);border:1px solid var(--line);overflow:auto}.admin-table table{border-collapse:collapse;width:100%}.admin-table th,.admin-table td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:13px}.admin-table th{text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:12px}.completed-note{color:#4c2c19;text-align:center;background:#e7d6ad;border:1px solid #99703b;margin-top:20px;padding:14px 18px;font-weight:800}.choices button.correct{background:#d9e2c5;border-color:#72804e}.photo-preview.visible{display:block}.primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.admin-preview-banner{color:#f1dfb9;border-left:4px solid var(--gold);background:#342115;align-items:center;gap:14px;margin-bottom:14px;padding:12px 16px;font-size:14px;display:flex}.admin-preview-banner span{color:#d7c4a0}.admin-preview-banner button{color:#f1dfb9;background:0 0;border:0;margin-left:auto;text-decoration:underline}.admin-preview-access{color:var(--muted);margin:22px 0 0;font-size:14px}.admin-preview-access summary{cursor:pointer;text-decoration:underline;display:inline-block}.admin-preview-access form{align-items:end;gap:10px;max-width:520px;margin-top:12px;display:flex}.admin-preview-access label{color:var(--brown);flex:1;font-weight:750}.admin-preview-access input{border:1px solid var(--line);background:var(--cream);width:100%;margin-top:5px;padding:12px;display:block}.admin-preview-access p{color:var(--wine);font-weight:700}@media (max-width:560px){.admin-preview-banner{flex-wrap:wrap;align-items:flex-start}.admin-preview-banner button{margin-left:0}.admin-preview-access form{flex-direction:column;align-items:stretch}.admin-preview-access .secondary{align-self:flex-start}}
