@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@400;500;600&display=swap');
:root{--ink:#f3efe7;--muted:rgba(243,239,231,.7);--line:rgba(255,255,255,.18);--glass:rgba(13,19,23,.43);--paper:#e8e0d2;--paperInk:#2d2925;--accent:#d7c7a7}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#202a31;color:var(--ink);font-family:Inter,system-ui,sans-serif}button,a{font:inherit}.backdrop,.veil{position:fixed;inset:0;pointer-events:none}.backdrop{background-position:center;background-size:cover;transform:scale(1.03);transition:background 700ms ease,filter 700ms ease}.veil{background:linear-gradient(180deg,rgba(14,22,28,.26),rgba(17,23,28,.55) 55%,rgba(13,18,22,.82));backdrop-filter:saturate(.8)}
body[data-theme="mountain_mist"] .backdrop{background:radial-gradient(circle at 50% 22%,rgba(216,224,222,.45),transparent 26%),linear-gradient(145deg,#5b6d76 0 24%,#364951 25% 43%,#78909a 44% 52%,#33434b 53% 69%,#1c282e 70%)}
body[data-theme="night_sky"] .backdrop{background:radial-gradient(circle at 64% 18%,rgba(213,221,211,.18),transparent 12%),radial-gradient(circle at 25% 38%,rgba(255,255,255,.08),transparent 1%),linear-gradient(160deg,#17232d,#26343f 45%,#111b24)}
body[data-theme="classical_library"] .backdrop{background:radial-gradient(ellipse at 50% 20%,rgba(199,172,130,.28),transparent 25%),repeating-radial-gradient(ellipse at 50% 40%,rgba(164,143,108,.16) 0 1px,transparent 2px 58px),linear-gradient(180deg,#43505a,#202b33 72%)}
body[data-theme="ancient_ruins"] .backdrop,body[data-theme="ancient_road"] .backdrop{background:linear-gradient(155deg,#66706d,#4c5550 33%,#7b7160 34% 44%,#3e4542 45% 72%,#232b2b)}
body[data-theme="ocean_mist"] .backdrop,body[data-theme="wetland_fire"] .backdrop{background:radial-gradient(circle at 70% 40%,rgba(195,145,89,.2),transparent 13%),linear-gradient(180deg,#61777c,#52656b 35%,#33474c 52%,#1d292b)}
body[data-theme="storm_horizon"] .backdrop{background:radial-gradient(ellipse at 55% 54%,rgba(212,183,137,.24),transparent 18%),linear-gradient(170deg,#27343c,#58636a 43%,#26323a 64%,#151d22)}
body[data-theme="parchment"]{color:var(--paperInk)}body[data-theme="parchment"] .backdrop{background:linear-gradient(135deg,#d8d0c2,#eee7dc 50%,#d7cec0)}body[data-theme="parchment"] .veil{background:rgba(239,232,220,.78);backdrop-filter:none}
.app-shell{position:relative;z-index:2;max-width:720px;min-height:100dvh;margin:auto;padding:calc(env(safe-area-inset-top) + 28px) 24px calc(110px + env(safe-area-inset-bottom))}.view{display:none;min-height:calc(100dvh - 150px);animation:fade .34s ease}.view.active{display:block}@keyframes fade{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.wordmark,.section-header{padding-top:2vh}.wordmark span,.section-header small,.eranova-card>small{font-size:.72rem;letter-spacing:.24em;font-weight:600}.wordmark small{display:block;margin-top:7px;color:var(--muted);font-size:.7rem}.thought-stage{min-height:68dvh;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center}.hero-thought{max-width:620px;font:500 clamp(2.15rem,7.6vw,4.4rem)/1.04 'Cormorant Garamond',Georgia,serif;letter-spacing:-.025em;text-wrap:balance;margin:0 0 42px;text-shadow:0 2px 20px rgba(0,0,0,.22)}button{color:inherit}.primary,.explore-random{border:1px solid rgba(255,255,255,.38);background:rgba(17,24,29,.28);color:var(--ink);border-radius:999px;padding:14px 23px;cursor:pointer;backdrop-filter:blur(10px)}.primary:hover,.explore-random:hover{background:rgba(255,255,255,.1)}.primary span{margin-left:12px}.action-row{display:flex;gap:7px;margin-top:24px;flex-wrap:wrap;justify-content:center}.action-row button,.text-btn,.nav-btn,.chip,.debug-btn{border:0;background:transparent;cursor:pointer}.action-row button{padding:9px 12px;color:var(--muted)}.action-row .saved{color:var(--ink)}
.text-btn{padding:8px 0;color:var(--muted)}.deep-card{margin-top:8vh;padding:28px;border:1px solid var(--line);border-radius:24px;background:var(--glass);backdrop-filter:blur(15px)}.deep-card h1,.section-header h1,.eranova-card h1{font:500 clamp(2rem,6vw,3.4rem)/1.06 'Cormorant Garamond',Georgia,serif;margin:14px 0 24px;text-wrap:balance}.deep-card>p{font:400 1rem/1.72 Inter,sans-serif;color:rgba(255,255,255,.84)}blockquote{margin:28px 0;padding:3px 0 3px 19px;border-left:1px solid var(--accent);font:italic 500 1.4rem/1.35 'Cormorant Garamond',Georgia,serif;color:#f4ebdc}.research-link{display:inline-block;margin-top:8px;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--accent);padding-bottom:3px}.source-note{display:block;margin-top:24px;color:var(--muted);font-size:.72rem;text-decoration:none}
.explore-random{margin:34px 0 32px;width:100%;border-radius:18px;text-align:left;display:flex;justify-content:space-between;align-items:center;padding:20px}.explore-random span{color:var(--muted);font-size:.8rem}.explore-section{padding:16px 0}.explore-section h2{font:500 1.35rem 'Cormorant Garamond',serif}.chips{display:flex;flex-wrap:wrap;gap:9px}.chip{border:1px solid var(--line);border-radius:999px;padding:10px 13px;color:var(--muted);background:rgba(0,0,0,.08)}.chip:hover{color:var(--ink);border-color:rgba(255,255,255,.4)}
.saved-view{color:var(--paperInk)}.saved-view .section-header small{color:#756c62}.saved-list{display:grid;gap:12px;margin-top:24px}.saved-card{border:1px solid rgba(49,43,37,.15);background:rgba(255,255,255,.28);border-radius:18px;padding:18px;text-align:left;color:var(--paperInk);cursor:pointer}.saved-card small{display:block;margin-bottom:8px;text-transform:uppercase;letter-spacing:.12em;color:#756c62}.saved-card span{font:500 1.32rem/1.2 'Cormorant Garamond',Georgia,serif}.empty-state{margin-top:18vh;text-align:center}.empty-state p{font:500 1.7rem 'Cormorant Garamond',serif}.empty-state span{font-size:.83rem;color:#746c63}
.eranova-view{display:none}.eranova-view.active{display:flex;align-items:center}.eranova-card{padding:14px 0;max-width:590px}.eranova-card p{max-width:500px;line-height:1.65;color:var(--muted);margin-bottom:30px}.anchor{text-decoration:none;display:inline-block}.debug-btn{display:block;margin-top:38px;font-size:.72rem;color:var(--muted);padding:0}.debug-panel{margin-top:14px;max-height:260px;overflow:auto;background:rgba(0,0,0,.3);padding:12px;border-radius:10px;font-size:.66rem}
.bottom-nav{position:fixed;z-index:5;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,720px);display:grid;grid-template-columns:repeat(4,1fr);padding:12px 15px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(180deg,transparent,rgba(12,17,20,.93) 35%);backdrop-filter:blur(7px)}.nav-btn{padding:14px 5px;color:rgba(255,255,255,.58);font-size:.78rem}.nav-btn.active{color:#fff}.toast{position:fixed;z-index:10;bottom:94px;left:50%;transform:translate(-50%,12px);padding:10px 14px;background:#111c22;border:1px solid var(--line);border-radius:999px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}.fatal{padding:48px;color:white}
@media(min-width:700px){.app-shell{padding-left:42px;padding-right:42px}.thought-stage{min-height:72dvh}.deep-card{padding:38px}.bottom-nav{border-radius:22px 22px 0 0}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* Reveal artwork experience */
.reveal-entry{margin-top:12px;border:0;background:transparent;color:rgba(243,239,231,.82);padding:10px 14px;cursor:pointer}.reveal-entry span{margin-left:8px}.reveal-header{padding-top:2vh}.reveal-header h1{margin-bottom:20px}.scratch-wrap{position:relative;width:min(100%,520px);margin:0 auto;border-radius:24px;overflow:hidden;box-shadow:0 24px 70px rgba(0,0,0,.34);background:#1c252b;touch-action:none;aspect-ratio:2/3}.reveal-image,.scratch-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.reveal-image{object-fit:cover}.scratch-canvas{cursor:crosshair;touch-action:none}.scratch-hint{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;padding:10px 16px;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(14,20,24,.46);backdrop-filter:blur(8px);font:500 .78rem Inter,sans-serif;letter-spacing:.05em;transition:opacity .25s}.scratch-hint.hidden{opacity:0}.reveal-controls{text-align:center;min-height:58px;padding-top:14px}.secondary{border:1px solid rgba(255,255,255,.28);background:rgba(15,22,26,.3);color:var(--ink);border-radius:999px;padding:11px 18px;cursor:pointer}.reveal-finish{text-align:center;max-width:520px;margin:4px auto 0}.reveal-finish p{font:italic 500 1.35rem/1.35 'Cormorant Garamond',Georgia,serif;color:#f4ebdc;margin:10px auto 20px;text-wrap:balance}@media(max-width:520px){.reveal-view{padding-bottom:10px}.scratch-wrap{width:min(100%,390px)}}


/* ---------- V3 visual integration ---------- */
body[data-theme="today"] .backdrop{background-image:url("../images/backgrounds/today.webp")}
body[data-theme="deeper"] .backdrop{background-image:url("../images/backgrounds/deeper.webp")}
body[data-theme="explore"] .backdrop{background-image:url("../images/backgrounds/explore.webp")}
body[data-theme="saved"] .backdrop{background-image:url("../images/backgrounds/saved.webp")}
body[data-theme="eranova"] .backdrop{background-image:url("../images/backgrounds/eranova.webp")}
body[data-theme="today"] .veil{background:linear-gradient(180deg,rgba(11,20,25,.10),rgba(10,19,24,.34) 48%,rgba(7,14,18,.72))}
body[data-theme="deeper"] .veil{background:linear-gradient(180deg,rgba(13,12,11,.20),rgba(13,14,14,.48) 52%,rgba(10,12,13,.74))}
body[data-theme="explore"]{color:#292721}
body[data-theme="explore"] .veil{background:rgba(244,239,230,.40);backdrop-filter:saturate(.72)}
body[data-theme="saved"]{color:var(--paperInk)}
body[data-theme="saved"] .veil{background:rgba(239,229,207,.12);backdrop-filter:none}
body[data-theme="eranova"] .veil{background:linear-gradient(180deg,rgba(20,19,17,.10),rgba(15,17,18,.24) 52%,rgba(10,13,15,.62))}
.wordmark{padding-top:1.5vh}
.wordmark span{font-size:clamp(.94rem,2.4vw,1.08rem);letter-spacing:.27em}
.thought-stage{min-height:64dvh}
.hero-thought{max-width:600px;font-size:clamp(1.85rem,5.4vw,3.15rem);line-height:1.08;margin-bottom:30px}
.primary{font-size:1rem}
.reveal-entry{font-size:.95rem;margin-top:8px}
.action-row{margin-top:18px}
.action-row button{font-size:.93rem}
body[data-theme="explore"] .section-header small,
body[data-theme="explore"] .section-header h1,
body[data-theme="explore"] .explore-section h2{color:#292721}
body[data-theme="explore"] .explore-random,
body[data-theme="explore"] .chip{color:#292721;border-color:rgba(50,45,39,.28);background:rgba(247,243,235,.58);box-shadow:0 8px 25px rgba(44,38,31,.08)}
body[data-theme="explore"] .explore-random span{color:rgba(45,40,34,.68)}
body[data-theme="saved"] .saved-card{background:rgba(249,244,231,.56);backdrop-filter:blur(3px);box-shadow:0 8px 24px rgba(83,64,42,.08)}
.eranova-view.active{justify-content:center;text-align:center}
.eranova-card{margin:auto;max-width:560px;text-shadow:0 2px 18px rgba(0,0,0,.3)}
.eranova-logo{display:block;width:min(76%,420px);height:auto;margin:0 auto 24px;filter:invert(1) brightness(1.45);opacity:.92}
.eranova-card p{margin-left:auto;margin-right:auto}
.scratch-wrap{background:#eee}
.scratch-hint{color:#332f2a;background:rgba(250,248,242,.74);border-color:rgba(75,66,56,.22);text-shadow:none}
.reveal-controls .secondary{background:rgba(245,242,234,.86);border-color:rgba(75,66,56,.24);color:#332f2a}
@media(max-width:520px){
  .app-shell{padding-left:20px;padding-right:20px}
  .thought-stage{min-height:66dvh}
  .hero-thought{font-size:clamp(1.82rem,8.6vw,2.55rem);margin-bottom:26px}
  .wordmark span{font-size:.92rem}
  .action-row{gap:1px}
  .action-row button{padding:8px 9px;font-size:.88rem}
}


/* ---------- V4 artwork interaction + startup polish ---------- */
.reveal-entry{display:inline-flex;align-items:center;gap:8px;margin-top:12px;padding:9px 15px;border:1px solid rgba(216,184,105,.55);border-radius:999px;background:linear-gradient(135deg,rgba(213,183,111,.14),rgba(255,255,255,.035));color:#f1dfaa;box-shadow:0 7px 24px rgba(0,0,0,.13),inset 0 0 0 1px rgba(255,255,255,.025);font-size:.9rem;letter-spacing:.01em}
.reveal-entry:hover{background:linear-gradient(135deg,rgba(213,183,111,.22),rgba(255,255,255,.055))}
.reveal-view{justify-content:flex-start;padding-top:18px}.reveal-view .text-btn{margin-bottom:12px}
.scratch-wrap{width:min(100%,430px);height:auto;aspect-ratio:2/3;margin-top:0}.reveal-controls{min-height:50px;padding-top:10px}.reveal-finish{margin-top:0}.reveal-finish p{font-size:1.08rem;line-height:1.3;margin:6px auto 14px}.reveal-finish-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.artwork-modal{position:fixed;inset:0;z-index:9999;background:rgba(5,7,8,.96);display:flex;align-items:center;justify-content:center;overflow:hidden}.artwork-modal[hidden]{display:none}
.artwork-viewport{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;overflow:hidden;touch-action:none;cursor:grab}.artwork-viewport:active{cursor:grabbing}
#artwork-full{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center center;transition:transform .08s linear;user-select:none;-webkit-user-drag:none}
.artwork-close{position:absolute;z-index:3;top:max(14px,env(safe-area-inset-top));right:16px;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.25);background:rgba(12,15,16,.55);color:#fff;font-size:30px;line-height:1;cursor:pointer}
.artwork-help{position:absolute;z-index:2;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);font-size:.78rem;color:rgba(255,255,255,.62);pointer-events:none}.modal-open{overflow:hidden}
@media(max-width:520px){.reveal-view{padding-top:10px}.scratch-wrap{width:min(100%,365px);max-height:68dvh}.reveal-finish p{font-size:1rem}}

/* V4.5: preserve Bonus Artwork hidden state */

.reveal-entry[hidden]{
  display:none !important;
}
