
/* EDITORIAL SITE-INSPIRED VISUAL LAYER — gameplay and APIs unchanged */
:root{--bg:#f5efe4;--paper:#fbf6ed;--green:#103b2a;--ink:#1b211b;--muted:#77776d;--line:#d9cfbe;--gold:#b79666}
html{background:var(--bg)}body{background:var(--bg);color:var(--ink);font-family:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-size:14px;line-height:1.65}
.shell{max-width:1200px;padding:22px clamp(16px,4vw,52px) 90px}
header{border-bottom:1px solid rgba(36,54,40,.22);padding:10px 0 20px;align-items:center}
.brand{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;letter-spacing:-.045em;font-size:clamp(27px,3.2vw,42px);line-height:.95;color:#162219}
h1,h2,h3,.hero h1,.journal-cover h1,.diary-book h1{font-family:'Cormorant Garamond',Georgia,serif!important;font-weight:500!important;letter-spacing:-.045em!important;line-height:1.03!important;color:var(--ink)}
.hero{position:relative;padding:clamp(30px,6vw,80px) 0 28px;isolation:isolate}
.hero::before{content:'';position:absolute;z-index:-1;right:-2%;top:0;width:55%;height:90%;border-radius:60% 25% 60% 25%;background:radial-gradient(ellipse at 70% 35%,rgba(215,163,96,.29),transparent 52%),linear-gradient(140deg,transparent 20%,rgba(255,255,255,.55) 40%,rgba(203,162,105,.19) 48%,transparent 70%);pointer-events:none;filter:blur(2px)}
.hero h1{font-size:clamp(48px,9vw,104px)!important;max-width:880px;margin:14px 0 22px}.hero h1 em{color:var(--green)}
.lead{color:#5e655c;font-size:clamp(14px,1.5vw,17px);line-height:1.8;max-width:620px}
.eyebrow{color:#92816a;letter-spacing:.19em;font-size:10px;font-weight:600}
.small{color:var(--muted)}
.btn{border:1px solid #bcb7a8;border-radius:999px;background:transparent;color:var(--green);padding:11px 20px;transition:transform .2s,background .2s,box-shadow .2s;box-shadow:none}
.btn:hover:not(:disabled){transform:translateY(-2px);background:#e9e5d9;box-shadow:0 5px 18px rgba(17,55,38,.08)}
.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.primary:hover:not(:disabled){background:#1c4c38}
.btn.active{background:#e4e9dd;border-color:#a4b39e}
.btn.tiny{padding:7px 14px}
.tabs{gap:9px}.tabs .btn{font-size:12px}
.card,.authbox{background:rgba(255,253,247,.68);border:1px solid #d9cfbd;border-radius:20px;box-shadow:0 12px 45px rgba(75,65,42,.035)}
.map{border-radius:22px;box-shadow:0 22px 65px rgba(64,63,37,.12);border:1px solid #d6c8b4}
.map img{display:block}.map-tip{background:rgba(250,246,237,.95)!important;backdrop-filter:blur(12px);border:1px solid #dfd2bf!important;border-radius:14px!important}
.hotspot{filter:drop-shadow(0 2px 6px rgba(12,44,27,.18))}.hotspot.locked{filter:grayscale(.4)}
.grid{gap:18px}.section{margin-top:clamp(32px,5vw,64px)}
input,textarea,select{background:#fffdf8!important;border-color:#d9cfbd!important;border-radius:12px!important;color:#19291e!important}
.journey,.diary-book,.diary-page,.journal-cover,.journal-entry,.portrait-banner{border-color:#d9cfbd!important}
.journal-cover{background:linear-gradient(145deg,#e8ddca,#f9f2e6 60%,#e8e4d8)!important}
.diary-page{background:#fffbf3!important}.journey-index{color:#8d9a83}
::selection{background:#d6d9bd;color:#173827}
@media(max-width:680px){.shell{padding:14px 15px 65px}.brand{font-size:27px}.hero{padding:38px 0 18px}.hero h1{font-size:clamp(43px,12vw,70px)!important}.hero::before{width:85%;opacity:.5}.tabs{gap:5px}.tabs .btn{font-size:11px;padding:7px 11px}.card{border-radius:15px}.map{border-radius:14px}}

/* V2 — sphere editorial cards and location opening screens */
.sphere-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:35px}
.sphere-card{padding:0!important;overflow:hidden;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
.sphere-image{height:270px;position:relative;overflow:hidden;border-radius:170px 170px 4px 4px;background:#ded1b8}
.sphere-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .45s ease}
.sphere-card:hover .sphere-image img{transform:scale(1.04)}
.sphere-num{position:absolute;bottom:8px;left:16px;font:500 42px/1 'Cormorant Garamond',Georgia,serif;color:#fff;text-shadow:0 2px 12px #2b251a99}
.sphere-copy{padding:16px 4px 24px}.sphere-kicker{font:600 9px/1.4 Manrope,sans-serif;letter-spacing:.19em;color:#94866f}
.sphere-copy h3{font-size:clamp(25px,3.4vw,37px)!important;margin:9px 0 10px}.sphere-copy p{margin:8px 0;color:#686d63}.sphere-copy .btn{margin-top:10px}
.sphere-locked .sphere-image img{filter:saturate(.6)}
.location-cover{display:grid;grid-template-columns:minmax(180px,38%) 1fr;gap:clamp(20px,5vw,75px);align-items:center;margin-top:25px;padding:24px 0 38px;border-bottom:1px solid #cfc5b5}
.location-cover-image{height:clamp(320px,48vw,540px);overflow:hidden;border-radius:50% 50% 4px 4px;background:#e2d2bb}
.location-cover-image img{height:100%;width:100%;object-fit:cover}
.location-cover-copy h1{font-size:clamp(48px,8vw,92px)!important;overflow-wrap:anywhere}
.location-quote{font:italic 500 clamp(26px,3.7vw,44px)/1.12 'Cormorant Garamond',Georgia,serif;color:#143d2b;margin:0 0 22px}
.journey{margin-top:38px}.journey .card{border-left:1px solid #d9cfbd!important;padding:clamp(22px,4vw,40px)!important}
.journey .card:before{display:none!important}.journey .card h2{font-size:clamp(33px,4vw,49px)!important}
.journey-index{background:transparent!important;padding:0!important;border-radius:0!important;letter-spacing:.12em;font-size:10px!important}
@media(max-width:680px){.sphere-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.sphere-image{height:220px}.sphere-copy h3{font-size:26px!important}.sphere-copy{padding:12px 2px 18px}.location-cover{grid-template-columns:1fr;gap:18px}.location-cover-image{height:340px;max-width:320px;width:100%;margin:auto}.location-cover-copy h1{font-size:clamp(44px,11vw,66px)!important}.location-cover-copy{padding:0 5px}}
@media(max-width:380px){.sphere-grid{grid-template-columns:1fr 1fr}.sphere-image{height:180px}.sphere-copy h3{font-size:22px!important}}
