/* La Terrasse — official monogram, lilac identity, Halloween editorial edition. */
:root{--bg:#100d16;--surface:#1d1728;--text:#f5f0f9;--muted:#b6aabe;--line:#cab4eb26;--accent:#b699ed;--plum:#a587dc;--coral:#dc80be;--head:Space,Arial,sans-serif}
body{background:var(--bg);color:var(--text)}
::selection{background:#b699ed;color:#100d16}
.site-header{height:94px;background:#100d16f5;border-bottom:1px solid var(--line)}
.brand img{width:57px;height:57px}
.brand{gap:15px}
.brand .brand-product{font:700 21px/1.1 var(--head);letter-spacing:-.035em;color:#f5f0f9}
.brand-product small{font:500 11px/1.5 var(--body);letter-spacing:.02em;color:#b9a5d4;margin-top:6px}
.main-nav{background:#1b1525;border:1px solid var(--line);border-radius:9px;padding:4px}
.main-nav a{border-radius:6px;font-weight:600;color:#c9bdd5}
.main-nav a:hover{background:#30233f;color:#fff}
.main-nav a[aria-current]{background:#b699ed;color:#160f22}
.saved-nav{color:#e3d8f0}.saved-nav b{background:#30213f;color:#dac7f6}
.creator-credit{background:#171120;border-color:var(--line);padding:5px 4%}
.creator-credit a,.footer-credit a{color:#b8a8c9}.creator-credit a>span:last-child,.footer-credit a>span:last-child{color:#b699ed}
.creator-credit a:focus-visible,.footer-credit a:focus-visible{outline-color:#b699ed}
.button{border-radius:5px}.button.primary,.hero-content .primary{background:#b699ed;color:#160f22}
.button.primary:hover,.hero-content .primary:hover{background:#cdb5f4}
.button.outline{background:#ffffff04;color:#eee4f7;border-color:#b699ed66}.button.outline:hover{background:#2a1e39}
.text-button{color:#d2bfe8;text-decoration-color:#b699ed80}
.hero-stage{height:min(760px,calc(100svh - 140px));min-height:640px;background:#100d16;border-bottom:1px solid var(--line)}
.hero-art{object-position:56% 48%;opacity:.83}
.hero-shade{background:linear-gradient(90deg,#100d16f7 0%,#100d16bc 34%,#100d1612 72%),linear-gradient(0deg,#100d16 0%,transparent 38%)}
.hero-coordinate{left:5%;top:27px;font-weight:800;font-size:10px;letter-spacing:.16em;color:#c8adef}
.hero-coordinate span{color:#bcb1c8;padding-left:18px;font-weight:500}
.hero-content{margin-left:5%;padding-top:99px;width:88%}
.hero-content>.eyebrow{font-size:9px;color:#cfbfdc;letter-spacing:.14em}
.signal{background:#dc80be;box-shadow:0 0 0 4px #dc80be16}
.hero-content h1{font:400 clamp(92px,9.2vw,142px)/1.02 Anton,Impact,sans-serif;letter-spacing:-.025em;margin:23px 0 28px}
.hero-content h1 span{display:inline-block;color:#140d20;background:#b699ed;padding:0 .08em .045em;margin-left:.02em;transform:rotate(-2deg);box-shadow:7px 7px 0 #21142b}
.hero-content>p{font-size:16px;line-height:1.65;color:#d2c8db}
.hero-content>p strong{font-weight:700;color:#f7efff}
.hero-actions{margin-top:26px;gap:15px}.hero-actions .button{min-height:53px;padding:16px 23px;font-size:12px}
.round-button{border-color:#d8c6ee70;color:#f5edff}.random-label{color:#b9abc7}
.hero-spot{right:5%;bottom:35px;width:335px;border-color:#c3a2ec55;padding:17px 0;gap:16px}
.hero-spot>span:nth-child(2){color:#c1afd0}.hero-spot strong{font:600 21px/1.15 var(--head);color:#fff}
.hero-spot small{color:#baabc7}.spot-index{font:400 44px/1 Anton,sans-serif;color:#b699ed}
.hero-spot:hover strong{color:#d9c2fb}.hero-caption{color:#b6a8c3;font-size:8px}
.hero-side{color:#d5c4e5;top:210px;right:21px}
.halloween-stamp{position:absolute;right:6%;top:63px;z-index:2;transform:rotate(8deg);color:#160f22;background:#dc80be;padding:17px 20px 13px;box-shadow:6px 6px 0 #100d1680;font:400 29px/.97 Anton,sans-serif;letter-spacing:.01em;text-align:center}
.halloween-stamp span{display:block;font:800 7px/1.4 var(--body);letter-spacing:.1em;border-top:1px solid #160f2255;padding-top:8px;margin-top:9px}
.discovery-bottom{background:#100d16;padding-top:40px;padding-bottom:42px;grid-template-columns:240px 1fr;gap:35px}
.discovery-intro .eyebrow{color:#c2a5e9}.discovery-intro p{font:700 32px/1.1 var(--head)}
.collection-card{border-radius:4px;border-color:#b699ed33;min-height:190px}
.collection-card:after{background:linear-gradient(180deg,#100d1600,#100d1690 36%,#100d16ed)}
.collection-card h3{font:700 24px/1.08 var(--head);color:#fff}.collection-tag{color:#e7b3d8}
.collection-bottom{color:#d0c2dc}
.browse-head h1,body[data-view=explorer] .browse-head h1{font:700 clamp(34px,3.5vw,52px)/1.12 var(--head);color:#f5effb}
.browse-head h1 span{color:#b699ed}
.browse-head .eyebrow,body[data-view=explorer] .browse-head .eyebrow{background:#a587dc16;border-color:#a587dc44;color:#c6a9ee}
.browse-intro{color:#bfb0cc}
.search-box{background:#1b1525;border-color:#b699ed30}.search-box input::placeholder{color:#b19fc3}
.search-box kbd{color:#b19fc3;border-color:#b699ed40}
.filter-fav{background:#1b1525;border-color:#b699ed30}.filter-fav[aria-pressed=true]{background:#3a2550;border-color:#b699ed;color:#eadcfc}
.filter-chip{background:#1b1525;border-color:#b699ed26;color:#c5b4d6}
.filter-chip .symbol{color:#c5a9eb}.filter-chip.active{background:#b699ed;color:#160f22;border-color:#b699ed}
.filter-chip.active .symbol{color:#160f22}.filter-chip:hover:not(.active){background:#30213f}
.badge,.badge .symbol{color:#cfb5ee}
.map{background:#211b2a;border-color:#b699ed30;border-radius:8px}
.map-vignette{box-shadow:inset 0 0 110px #100d1650}
.map-control,.map-status,.layer-button{background:#291e39f5;border-color:#b699ed50}.map-control button:hover{background:#4c3568}
.pin{background:#eee4fa;color:#37214f;border-color:#fff6ff}
.map-marker.is-cluster .pin{background:#73519d;border-color:#d7bdf7;box-shadow:0 0 0 5px #b699ed22,0 5px 18px #0007}
.map-marker.active .pin,.map-marker.is-cluster.active .pin{background:#dc80be;color:#160f22;border-color:#f9d3ed;box-shadow:0 0 0 6px #dc80be26,0 4px 16px #0006}
.is-cluster .pin small{color:#f0e6fc}.is-cluster.active .pin small{color:#160f22}
.marker-name{background:#291e39f5;border-color:#b699ed60}.marker-anchor{background:#c9b1ea}.marker-stem{background:#c9b1ea88}
.map-bottom>a{background:#20162cdc;color:#ded0ed}
.map-preview,.map-empty{background:#21182e;color:#f5effb;border-color:#b699ed70;border-radius:8px}
.preview-close,.dialog-close{background:#2b1d3df0;border-color:#b699ed60;color:#f7efff}
.preview-close:hover,.dialog-close:hover{background:#b699ed;color:#160f22}
.preview-copy h2{color:#f5effb;font-family:var(--head)}
.preview-copy>p,.preview-kicker,.preview-group>p,.preview-options button b,.preview-options button i,.map-location-tag{color:#c2afcf}
.preview-options button:hover{background:#352247}.preview-options button[aria-pressed=true]{background:#4d2c65;color:#f3d6ea}
.preview-options button[aria-pressed=true] b{color:#f3d6ea}.preview-expand,.map-note a{color:#c6a4ee}
.solid-dot{background:#c9b1ea}.dotted-dot{border-color:#c9b1ea}
.story-image-button{border-radius:5px;border-color:#b699ed33}
.story-title-button h3{font:700 24px/1.16 var(--head);color:#f5effb;letter-spacing:-.035em}
.story-title-button:hover h3{color:#c8a8f5}.story-location,.story-meta{color:#b6a3c5}
.story-new{background:#342144ee}.story-number{font-family:Anton;font-weight:400;color:#fff}
.save-button{background:#241731e6}.save-button[aria-pressed=true]{background:#b699ed;color:#160f22}
.sort-label select{background:#21172d;color:#e6d7f3;border-color:#b699ed40}.read-dot{color:#d0b5eb}
.research-intro h1{font-weight:700}.research-intro h1 span{color:#b699ed}
.research-status,.research-actions,.download-row{color:#c4a5e9}
.memory-band{background:#1b1622;border-color:#b699ed26;color:#e9dff1}.memory-band .eyebrow{color:#baa8c9}
.source-index a{background:#1b1525}.source-index a:hover{border-color:#b699ed70}
.reader,.info-dialog{background:#19121f;color:#f5effb;border-color:#b699ed60}
.reader::backdrop,.info-dialog::backdrop{background:#07050aee}
.reader-cover:after{background:linear-gradient(0deg,#19121f,transparent 52%)}
.reader-art-note{background:#20162be6}.reader-body h2{font-weight:700;color:#f5effb}
.reader-location,.reader-kicker>span:last-child,.reader-tools>span,.reader-next>span{color:#baa6ca}
.reader-tools button{background:#2a1c38;border-color:#b699ed30;color:#e6d5f4}.reader-tools button:hover{border-color:#b699ed}
.reader-story p,.reader-story>p:first-child{color:#e4d8eb}
.reader-geography p,.documentary-note p,.source-card p,.evidence-box p,.info-dialog p{color:#c1afce}
.reader-geography a,.source-card small,.about-creator{color:#c5a4ee}
.evidence-box{background:#24192e;border-color:#b699ed26}.info-category h3{color:#f3eafa}.info-category h3 .category-icon{color:#b699ed}
.toast{background:#b699ed;color:#160f22}
footer,footer button,footer small{color:#ac99bd}footer i{color:#b699ed}footer a:hover{color:#e4cef8}
footer .footer-credit{border-color:#b699ed26}
@media(min-width:1600px){.hero-content h1{font-size:142px}.hero-stage{min-height:740px}}
@media(max-width:1150px){.brand .brand-product{font-size:18px;max-width:none}.brand-product small{display:block}.main-nav a{padding:10px 13px}.halloween-stamp{right:7%;top:50px;font-size:24px}.hero-spot{width:300px}.discovery-bottom{grid-template-columns:200px 1fr;gap:24px}.collection-grid{gap:12px}}
@media(max-width:800px){
 .site-header{height:78px;padding:8px 5%;gap:10px}.brand img{width:48px;height:48px}.brand{gap:12px}
 .brand .brand-product{font-size:18px;letter-spacing:-.02em}.brand-product small{font-size:10px;margin-top:5px}
 .saved-nav{gap:5px}.saved-nav b{width:20px;height:20px}
 .creator-credit{padding:4px 5%;justify-content:flex-end}.creator-credit img{width:96px;height:25px}.creator-credit a{font-size:9px;gap:8px}
 .main-nav{background:#171020f7;border-top:1px solid #b699ed38;border-radius:0;padding:6px 8px calc(7px + env(safe-area-inset-bottom));box-shadow:0 -4px 24px #07050a80}
 .main-nav a{font-size:10px;padding:5px 3px;min-height:53px;border-radius:5px;color:#c3aed7}.main-nav a[aria-current]{background:#b699ed;color:#160f22}
 .hero-stage{height:auto;min-height:680px;max-height:none}
 .hero-art{object-position:64% 50%;opacity:.7}.hero-shade{background:linear-gradient(90deg,#100d16de,#100d1640),linear-gradient(0deg,#100d16,transparent 62%)}
 .hero-coordinate{top:20px;font-size:8px;letter-spacing:.12em}.hero-coordinate span{padding-left:10px;font-size:7px}
 .hero-content{padding-top:68px;margin-left:6%;width:88%}.hero-content>.eyebrow{font-size:7px;letter-spacing:.1em;max-width:78%}
 .hero-content h1{font-size:clamp(66px,15.7vw,110px);margin:20px 0 24px;line-height:1.07;max-width:610px}
 .hero-content h1 span{display:block;width:max-content;margin:3px 0 0 -.015em}
 .hero-content>p{font-size:14px;line-height:1.65}.hero-actions{margin-top:25px;gap:12px}.hero-actions .button{font-size:11px;min-height:49px;padding:14px 18px;gap:18px}
 .round-button{width:46px;height:46px;flex:none}.random-label{font-size:8px}
 .halloween-stamp{top:72px;right:7%;font-size:20px;padding:12px 13px 10px}.halloween-stamp span{font-size:5px;letter-spacing:.06em;margin-top:7px;padding-top:6px}
 .hero-spot{left:6%;right:6%;bottom:32px;width:auto;padding:15px 0;gap:14px}.hero-spot strong{font-size:19px}.hero-spot small{font-size:9px}.spot-index{font-size:36px}
 .hero-caption{right:6%;bottom:13px;font-size:7px}.hero-side{display:none}
 .discovery-bottom{display:block;padding:28px 5% 32px}.discovery-intro{margin-bottom:24px}.discovery-intro p{font-size:29px;margin:10px 0}.discovery-intro p br{display:none}
 .collection-grid{gap:12px}.collection-card{min-height:190px}.collection-card h3{font-size:24px}
 .browse-head h1,body[data-view=explorer] .browse-head h1{font-size:36px}.browse-head .text-button:before{color:#cfb3ec}
 .story-title-button h3{font-size:21px}.reader-body h2{font-size:36px}.map{border-radius:7px}
}
@media(min-width:481px) and (max-width:800px){.hero-content h1{font-size:clamp(68px,12vw,96px)}.hero-content h1 span{display:inline-block;margin:0 0 0 .02em}.halloween-stamp{top:55px;font-size:18px}}
@media(max-width:480px){.hero-content h1{font-size:76px}.hero-stage{min-height:699px}.hero-content>.eyebrow{font-size:6.5px}.hero-content{padding-top:74px}.halloween-stamp{top:96px;right:8%;font-size:18px}.random-label{font-size:7px}.collection-card{flex:0 0 76%;min-height:190px}.story-title-button h3{font-size:20px}}
@media(max-width:359px){.brand .brand-product{font-size:16px}.brand img{width:43px;height:43px}.brand{gap:9px}.hero-content h1{font-size:68px}.hero-content>.eyebrow{font-size:6px;max-width:92%}.hero-content>p{font-size:12px}.random-label{display:none}.hero-stage{min-height:665px}.halloween-stamp{font-size:16px;right:7%;top:101px}.hero-spot strong{font-size:17px}.hero-spot small{font-size:8px}.browse-head h1,body[data-view=explorer] .browse-head h1{font-size:32px}}
