/* HelloCaen: official logo and site palette, with a nocturnal map. */
@font-face{font-family:Poppins;src:url('assets/fonts/Poppins-400.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url('assets/fonts/Poppins-600.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Poppins;src:url('assets/fonts/Poppins-700.woff2') format('woff2');font-weight:700;font-display:swap}
:root{color-scheme:light;--bg:#fbf7f5;--surface:#f2e9ee;--line:#54386424;--text:#543864;--muted:#776879;--accent:#eb6265;--head:Poppins,Arial,sans-serif;--plum:#543864;--coral:#eb6265}
body{color:var(--text)}
h1,h2,h3,h4{font-weight:600;letter-spacing:-.045em}
.site-header{height:92px;background:#fff;border-bottom:1px solid var(--line);gap:24px}
.brand{gap:15px;letter-spacing:0;flex:none}
.brand img{width:64px;height:60px;object-fit:contain}
.brand .brand-product{font:600 15px/1.3 var(--head);color:var(--plum);letter-spacing:-.4px}
.brand-product small{display:block;font:400 10px/1.5 var(--body);letter-spacing:0;margin-top:4px;color:var(--muted)}
.main-nav{background:#f6eff4;border:0;border-radius:100px;padding:5px;gap:2px}
.main-nav a{color:var(--plum);font-weight:700;border-radius:100px;padding:11px 20px}
.main-nav a:hover{color:var(--plum);background:#eadde8}
.main-nav a[aria-current]{color:#fff;background:var(--plum);box-shadow:none}
.nav-icon{display:none}
.saved-nav{color:var(--plum)}
.saved-nav b{background:#f5e5e9;color:var(--plum)}
.button{border-radius:8px}
.button.primary{background:var(--plum);color:#fff}
.button.primary:hover{background:#704681}
.button.outline{border-color:#54386450;background:#fff6;color:var(--plum)}
.button.outline:hover{background:#f0e3ee}
.text-button{color:var(--plum);text-decoration:underline;text-decoration-color:#eb626590;text-underline-offset:5px}
.browse-head,body[data-view=explorer] .browse-head{margin:28px 4% 23px;gap:25px;align-items:center}
.browse-head .eyebrow,body[data-view=explorer] .browse-head .eyebrow{font-size:10px;letter-spacing:.12em;color:#a44054}
.browse-head h1,body[data-view=explorer] .browse-head h1{font-size:clamp(34px,3.5vw,52px);margin-top:8px;line-height:1.15}
.browse-head .eyebrow,body[data-view=explorer] .browse-head .eyebrow{display:inline-flex;background:#f8d9dd;color:#703146;border-radius:4px;padding:5px 8px}
.browse-intro{font-size:13px;line-height:1.65;color:var(--muted);margin-top:12px}
.browse-intro br{display:none}
.browse-head .text-button{align-self:flex-end;margin-bottom:6px}
.search-box{height:44px;background:#fff;border-color:var(--line);border-radius:8px;width:490px}
.search-box input::placeholder{color:#827184}
.search-box kbd{border-color:#54386430;color:#7e6b82}
.filter-fav{background:#fff;border-radius:8px}
.filter-fav[aria-pressed=true]{background:#f9dadd;color:var(--plum);border-color:var(--coral)}
.filters{gap:8px;padding-top:12px}
.filter-chip{font-size:11px;border:1px solid #54386422;border-radius:100px;background:#fff;color:var(--plum);padding:9px 14px}
.filter-chip .symbol{color:var(--plum)}
.filter-chip.active{background:var(--plum);color:#fff;border-color:var(--plum)}
.filter-chip.active .symbol{color:#f9bb6b}
.filter-chip small{opacity:.75}
body[data-view=explorer] .workspace-tools{margin-bottom:18px}
.badge{color:var(--plum);font-weight:700}
.badge .symbol{color:#a44054}
.map{height:max(420px,calc(100svh - 420px));min-height:420px;background:#35263e;border:0;border-radius:15px;color:#fff4ec;box-shadow:0 8px 28px #54386413}
.tile-layer{filter:grayscale(1) invert(1) brightness(.7) contrast(.8);opacity:.53}
.map-vignette{box-shadow:inset 0 0 90px #35263e50}
.north,.map-labels span{color:#e5d5e9}
.map-control{background:#543864;box-shadow:0 3px 12px #0003;border-color:#d9c5df55}
.map-control button{width:40px;height:40px;color:#fff;border-color:#ffffff20}
.map-control button:hover{background:#704681}
.map-status,.layer-button{background:#543864;color:#fff;border-color:#d9c5df55}
.pin{background:#f9f0e7;color:var(--plum);border:2px solid #fff;font-weight:700;box-shadow:0 3px 12px #23112b88}
.map-marker.is-cluster .pin{background:#543864;border:2px solid #f9ede4;color:#fff;box-shadow:0 0 0 5px #eb62652e,0 4px 16px #25192f66}
.is-cluster .pin small{color:#f5dbe4}
.map-marker.active .pin,.map-marker.is-cluster.active .pin{background:var(--coral);color:#291832;border-color:#ffe9df;box-shadow:0 0 0 6px #eb626538,0 4px 16px #0005}
.is-cluster.active .pin small{color:#291832}
.marker-name{background:#543864f2;border-color:#ddc8e440;color:#fff}
.marker-anchor{background:#edcedc}.marker-stem{background:#edcedc88}
.map-bottom>a{background:#35263ed9;color:#eee1ef;border-radius:3px}
.map-foot,.map-note{color:var(--muted);font-size:9px;line-height:1.6}
.map-note a{color:var(--plum);font-weight:700;white-space:nowrap}
.solid-dot{background:var(--plum)}.dotted-dot{border-color:var(--plum)}
.map-preview{background:#fffbf8;color:var(--plum);border:1px solid #d7bace;border-radius:12px;box-shadow:0 15px 45px #21112777;scrollbar-color:#b899b7 transparent}
.preview-close,.dialog-close{background:#543864ed;color:#fff;border-color:#ffffff65}
.preview-close:hover,.dialog-close:hover{background:var(--coral);color:#2e183b}
.preview-copy h2{font-size:23px;line-height:1.15}
.preview-copy>p,.preview-kicker,.preview-group>p,.preview-options button b,.preview-options button i,.preview-expand,.map-location-tag{color:#776278}
.preview-options button:hover{background:#f4e8ed}
.preview-options button[aria-pressed=true]{background:#f8dadf;color:var(--plum)}
.preview-options button[aria-pressed=true] b{color:var(--plum)}
.preview-options{scrollbar-color:#b899b7 transparent}
.preview-expand{color:var(--plum);font-weight:700}
.map-empty{background:#fffbf8ed;color:var(--plum);border-color:var(--line)}
.story-title-button h3{font-weight:600;line-height:1.2;font-size:23px}
.story-location,.story-meta{color:#7a667a}
.story-image-button{border-radius:12px}
.story-new{background:#543864ed}
.story-number{font-family:Poppins;font-weight:700;color:#fff}
.save-button{background:#543864c9}
.save-button[aria-pressed=true]{background:#fff;color:#a83f59}
.sort-label select{background:#fff;color:var(--plum)}
.read-dot{color:#6e536f}
.research-intro h1{font-weight:600}
.research-intro h1 span{color:#b0647c}
.research-status,.research-actions,.download-row{color:#994d65}
.memory-band{background:#f0e5ee;color:var(--plum)}
.memory-band .eyebrow{color:#846285}
.bibliography{border-color:var(--line)}
.source-index a{background:#fff9}
.source-index a:hover{border-color:#b995b5}
.reader,.info-dialog{background:#fffbf8;color:var(--plum);border-color:#b495b366}
.reader::backdrop,.info-dialog::backdrop{background:#2c173cdc}
.reader-cover:after{background:linear-gradient(0deg,#fffbf8,transparent 50%)}
.reader-art-note{color:#fff;background:#35263edd;border-radius:4px;padding:4px 6px;bottom:25px}
.reader-body{padding-top:20px}
.reader-body h2{font-weight:600}
.reader-location,.reader-kicker>span:last-child,.reader-tools>span,.reader-next>span{color:#806d82}
.reader-tools button{background:#f7eff4;border-color:var(--line);color:var(--plum)}
.reader-tools button:hover{border-color:#a381ac}
.reader-story p,.reader-story>p:first-child{color:#423847;font-size:17px}
.reader-documentation{border-color:var(--line)}
.reader-geography p,.documentary-note p,.source-card p,.evidence-box p,.info-dialog p{color:#77677a}
.reader-geography a,.source-card small{color:#a44054}
.evidence-box{background:#f4eaf0;border-color:var(--line)}
.hero-stage{background:#35263e;color:#fff;min-height:610px}
.hero-shade{background:linear-gradient(90deg,#2c183de8,#2c183d66 60%,#2c183d22),linear-gradient(0deg,#35263ee0,transparent 40%)}
.hero-content h1{font:700 clamp(70px,7.8vw,120px)/1.01 Poppins,sans-serif;letter-spacing:-.065em}
.hero-content h1 span{color:#eb6265}
.hero-content>p,.hero-content>.eyebrow,.hero-coordinate,.hero-side,.hero-caption,.random-label{color:#f4e9ef}
.hero-content .primary{background:var(--coral);color:#291832}
.hero-content .primary:hover{background:#f38687}
.hero-spot small,.hero-spot>span:nth-child(2){color:#e9d6e5}
.spot-index{font-family:Poppins;font-weight:700}
.collection-card{color:#fff;border-radius:12px}
.collection-card:after{background:linear-gradient(180deg,#35263e20,#35263e9c 40%,#35263eee)}
.collection-tag{color:#ffb3b4}
.discovery-intro .eyebrow{color:#a44054}
.toast{background:var(--plum);color:#fff}
footer,footer button,footer small{color:#816983}footer i{color:var(--coral)}
@media(max-width:1150px){.brand-product small{display:none}.brand .brand-product{font-size:13px;max-width:95px}.main-nav a{padding:10px 15px}.saved-label{display:none}.hero-content h1{font-size:90px}}
@media(max-width:800px){
 html{scroll-padding-top:80px}
 body{padding-bottom:calc(70px + env(safe-area-inset-bottom))}
 .site-header{height:76px;display:flex;padding:8px 4%;gap:10px}
 .brand{gap:12px}.brand img{width:50px;height:49px}
 .brand .brand-product{font-size:14px;max-width:none;letter-spacing:-.45px}
 .brand-product small{display:block;font-size:9px;margin-top:2px}
 .saved-nav{margin-left:auto;gap:5px}.saved-nav b{width:19px;height:19px;font-size:9px}
 .main-nav{position:fixed;left:0;right:0;bottom:0;z-index:45;border-radius:0;background:#fff;padding:6px 8px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--line);box-shadow:0 -3px 20px #54386409;gap:3px}
 .main-nav a{display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:10px;font-weight:700;min-height:53px;border-radius:10px;padding:5px 3px;gap:3px}
 .nav-icon{display:block;font:22px/1 Arial}.main-nav small{display:none}
 .main-nav a[aria-current]{background:#f4e5ec;color:var(--plum)}
 .browse-head,body[data-view=explorer] .browse-head{margin:23px 5% 18px;display:block}
 .browse-head h1,body[data-view=explorer] .browse-head h1{font-size:37px;max-width:330px;line-height:1.08;margin-top:10px}
 .browse-head .eyebrow,body[data-view=explorer] .browse-head .eyebrow{font-size:9px;letter-spacing:.1em}
 .browse-intro{font-size:12px;line-height:1.65;margin-top:10px}
 .browse-intro br{display:block}
 .browse-head{position:relative}.browse-head .text-button{display:block;position:absolute;right:0;top:-10px;margin:0;width:44px;height:44px;font-size:0;text-decoration:none}.browse-head .text-button:before{content:"ⓘ";font:20px Arial;color:var(--plum)}
 .workspace-tools{margin-left:5%;margin-right:5%}
 .search-row{gap:7px}.search-box{height:42px;padding:0 10px}.search-box input{font-size:11px}
 .search-row>.text-button{font-size:8px;max-width:35px}
 .filter-fav{height:42px;width:38px}
 .filter-chip{padding:8px 12px;font-size:10px}
 .filters{margin-right:-5.5%;padding-right:14px}
 body[data-view=explorer] .workspace-tools{margin-bottom:15px}
 .explorer-view{margin:0 4%}
 .map{height:max(400px,calc(100svh - 445px));min-height:400px;border-radius:13px}
 .map-foot,.map-note{font-size:8px}
 .map-preview{border-radius:10px;max-height:calc(100% - 55px)}.preview-copy h2{font-size:19px}
 .preview-options button{border-color:#54386422}
 .story-title-button h3{font-size:19px;line-height:1.25}
 .story-card .badge{font-size:8px}
 .library-view{margin-left:5%;margin-right:5%}
 .reader-body{padding-top:10px}
 .reader-body h2{font-size:36px;line-height:1.1}
 .reader-story p,.reader-story>p:first-child{font-size:15px;line-height:1.9}
 .reader-tools button{font-size:9px}
 .hero-content h1{font-size:clamp(54px,12vw,86px)}
 .hero-stage{height:calc(100svh - 146px);min-height:590px}
 .hero-content{padding-top:90px}.hero-content>.eyebrow{font-size:8px}
 .hero-shade{background:linear-gradient(90deg,#2c183ddd,#2c183d66),linear-gradient(0deg,#35263ee0,transparent 40%)}
 .hero-spot strong{font-size:18px}.hero-caption{color:#e9d6e5}
 .toast{bottom:90px}
 footer{font-size:8px}footer small{font-size:8px}
}
@media(max-width:359px){
 .brand .brand-product{font-size:12px}.brand{gap:8px}.saved-nav{gap:3px}
 .browse-head h1,body[data-view=explorer] .browse-head h1{font-size:34px}
 .browse-intro{font-size:11px}.main-nav a{font-size:9px}
 .preview-feature{grid-template-columns:66px minmax(0,1fr)}.preview-copy h2{font-size:17px}
}
