/* =====================================================================
   STORY-FIRST PLATFORM SHELL · 2026-09-26
   Story is the spine. The Book is an object/world, not a dashboard tab.
   ===================================================================== */
:root{
  --sp-ink:#090807;--sp-ink-2:#11100e;--sp-paper:#e9dcc3;--sp-paper-deep:#d8c4a1;
  --sp-cream:#f6efe4;--sp-gold:#d8b98c;--sp-muted:rgba(246,239,228,.58);
  --sp-line:rgba(233,220,195,.12);--sp-green:#8eaa97;
}
body.story-hub-world,body.story-archive-world,body.story-profile-world,body.story-landing-world{
  margin:0;background:
  radial-gradient(circle at 50% -10%,rgba(137,112,79,.16),transparent 31%),
  radial-gradient(circle at 20% 28%,rgba(71,90,75,.08),transparent 24%),
  linear-gradient(180deg,#0c0a08 0%,#080807 42%,#060606 100%);
  color:var(--sp-cream);font-family:"DM Sans",sans-serif;
}
.story-hub-world .igtt-app-header,.story-archive-world .igtt-app-header,.story-profile-world .igtt-app-header{height:58px!important;min-height:58px!important;padding-top:12px!important}
.story-hub-world .igtt-app-header .think-logo,.story-archive-world .igtt-app-header .think-logo,.story-profile-world .igtt-app-header .think-logo{height:28px!important;opacity:.78}
.sp-shell{width:min(1120px,calc(100% - 34px));margin:0 auto;padding:28px 0 76px}
.sp-kicker{font:700 .58rem/1.2 "Geist Mono",monospace;letter-spacing:.13em;text-transform:uppercase;color:rgba(216,185,140,.72)}
.sp-title{margin:9px 0 0;font:400 clamp(2.5rem,7vw,5.5rem)/.91 Jua,sans-serif;letter-spacing:-.035em;color:#f4eadb}
.sp-copy{max-width:650px;margin:16px 0 0;color:rgba(246,239,228,.64);font-size:1.03rem;line-height:1.65}
.sp-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 19px;border:1px solid rgba(216,185,140,.45);border-radius:12px;background:linear-gradient(180deg,#ead9bc,#c9ad83);color:#241b12;text-decoration:none;font:700 .64rem/1 "Geist Mono",monospace;letter-spacing:.07em;box-shadow:0 10px 26px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.55);transition:transform .16s ease,filter .16s ease}
.sp-btn:hover{transform:translateY(-2px);filter:brightness(1.04)}
.sp-btn.is-ghost{background:rgba(255,255,255,.025);color:#e8d8c0;border-color:rgba(233,220,195,.16);box-shadow:none}
.sp-btn.is-text{min-height:auto;padding:0;border:0;background:none;box-shadow:none;color:#cdb48d}

/* Story hub */
.story-hub-hero{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr);gap:42px;align-items:center;min-height:610px;padding:28px 0 36px}
.story-hub-hero:before{content:"";position:absolute;inset:6% -8% 2%;z-index:-1;background:radial-gradient(ellipse at 66% 46%,rgba(221,190,145,.105),transparent 45%);filter:blur(14px)}
.story-hub-copy{padding-left:12px}
.story-hub-copy .sp-title span{display:block;color:rgba(246,239,228,.42);font-size:.52em;letter-spacing:.015em;margin-bottom:8px}
.story-hub-status{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 24px}
.story-hub-status span{padding:8px 10px;border:1px solid var(--sp-line);border-radius:999px;background:rgba(255,255,255,.025);font:700 .5rem/1 "Geist Mono",monospace;letter-spacing:.07em;color:rgba(246,239,228,.58)}
.story-hub-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.story-hub-stage{position:relative;min-height:510px;display:grid;place-items:center;perspective:1000px}
.story-hub-book{position:relative;width:min(520px,100%);aspect-ratio:1.46;border-radius:18px 28px 28px 16px;background:linear-gradient(90deg,#100b08 0 3%,#2c1c12 4%,#0d0907 12%,#17100b 100%);border:1px solid rgba(216,185,140,.22);box-shadow:0 34px 80px rgba(0,0,0,.62),inset -18px 0 35px rgba(0,0,0,.34),inset 2px 0 rgba(255,255,255,.035);transform:rotateY(-4deg) rotateX(2deg)}
.story-hub-book:before{content:"THE BOOK";position:absolute;inset:8% 9%;display:grid;place-items:center;border:1px solid rgba(216,185,140,.22);border-radius:6px;color:rgba(222,193,151,.55);font:700 .74rem/1 "Geist Mono",monospace;letter-spacing:.22em}
.story-hub-book:after{content:"";position:absolute;left:5%;top:3%;bottom:3%;width:2px;background:linear-gradient(transparent,rgba(216,185,140,.25),transparent);box-shadow:8px 0 20px rgba(0,0,0,.5)}
.story-hub-book.is-complete:before{content:"THE BOOK  ·  ♧";color:rgba(230,203,161,.78)}
.story-hub-character{position:absolute;right:-2%;bottom:2%;width:54%;max-height:500px;object-fit:contain;object-position:bottom center;filter:drop-shadow(0 24px 28px rgba(0,0,0,.65));pointer-events:none;opacity:.96}
.story-hub-ink{position:absolute;width:55%;height:32%;right:7%;bottom:8%;background:radial-gradient(ellipse,rgba(8,8,7,.95) 0 34%,transparent 66%);filter:blur(10px);opacity:.92}
.story-hub-whisper{position:absolute;left:11%;bottom:10%;max-width:230px;padding:12px 14px;border-left:1px solid rgba(216,185,140,.28);font:600 .58rem/1.55 "Geist Mono",monospace;letter-spacing:.025em;color:rgba(246,239,228,.48)}

.story-hub-section{margin-top:26px;padding-top:26px;border-top:1px solid var(--sp-line)}
.story-hub-section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}
.story-hub-section-head h2{margin:6px 0 0;font:400 clamp(1.55rem,4vw,2.3rem)/1 Jua,sans-serif;color:#efe2cf}
.story-hub-section-head p{max-width:480px;margin:0;text-align:right;color:rgba(246,239,228,.44);line-height:1.5}
.story-hub-next{margin-top:18px;display:flex;align-items:center;gap:18px;padding:18px 20px;border:1px solid rgba(142,170,151,.16);border-radius:18px;background:linear-gradient(90deg,rgba(142,170,151,.055),rgba(255,255,255,.012))}
.story-hub-next img{width:62px;height:62px;border-radius:50%;object-fit:cover;filter:saturate(.55) brightness(.65)}
.story-hub-next strong{display:block;font:400 1.12rem Jua,sans-serif;color:#ded6c9}.story-hub-next span{display:block;margin-top:3px;color:rgba(246,239,228,.4);font-size:.85rem}


/* v229 · Story hub is orientation, not another dashboard. */
.story-hub-record{margin-top:30px;padding:22px 24px;border:1px solid var(--sp-line);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.028),rgba(0,0,0,.12));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:28px;align-items:center}
.story-hub-record-copy h2{margin:6px 0 8px;font:400 clamp(1.55rem,4vw,2.15rem)/1 Jua,sans-serif;color:#efe2cf}
.story-hub-record-copy p{max-width:650px;margin:0;color:rgba(246,239,228,.48);line-height:1.6}
.story-hub-record-progress{min-width:190px;text-align:right;display:grid;justify-items:end;gap:7px}
.story-hub-record-progress strong{font:400 2rem/1 Jua,sans-serif;color:#ead9bc}
.story-hub-record-progress>span{font:700 .46rem/1 "Geist Mono",monospace;letter-spacing:.1em;color:rgba(246,239,228,.36)}
.story-hub-record-progress .sp-btn{margin-top:7px}
.story-hub-record .story-hub-next{grid-column:1/-1;margin-top:0}
@media(max-width:700px){
  .story-hub-record{grid-template-columns:1fr;gap:18px;padding:20px}
  .story-hub-record-progress{justify-items:start;text-align:left;min-width:0}
}

/* Archive */
.story-archive-head{padding:26px 0 14px}.story-archive-head-row{display:flex;justify-content:space-between;gap:24px;align-items:end}.story-archive-head h1{margin:8px 0 0;font:400 clamp(2.3rem,6vw,4.4rem)/.95 Jua,sans-serif}.story-archive-head p{max-width:600px;color:var(--sp-muted);line-height:1.6}
.story-archive-progress{min-width:160px;text-align:right}.story-archive-progress strong{display:block;font:400 2rem Jua,sans-serif;color:#ead9bc}.story-archive-progress span{font:700 .48rem/1 "Geist Mono",monospace;letter-spacing:.1em;color:rgba(246,239,228,.35)}
.story-archive-chapter{margin-top:28px;padding:22px;border:1px solid var(--sp-line);border-radius:22px;background:rgba(255,255,255,.018)}
.story-archive-chapter-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}.story-archive-chapter-head img{width:58px;height:58px;border-radius:50%;object-fit:cover;filter:grayscale(.2)}.story-archive-chapter-head h2{margin:0;font:400 1.65rem Jua,sans-serif}.story-archive-chapter-head span{display:block;margin-top:4px;font:700 .48rem/1 "Geist Mono",monospace;letter-spacing:.1em;color:rgba(216,185,140,.6)}
.story-archive-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.story-archive-card{position:relative;min-width:0;appearance:none;padding:0;border:0;background:none;color:inherit;text-align:left;cursor:pointer}.story-archive-card-stage{aspect-ratio:.7;border:1px solid rgba(233,220,195,.1);border-radius:11px;background:rgba(0,0,0,.2);display:grid;place-items:center;overflow:hidden}.story-archive-card .qc-face{width:100%;height:100%}.story-archive-card.is-locked{cursor:default}.story-archive-card.is-locked .story-archive-card-stage:before{content:"";width:58%;aspect-ratio:.7;border:1px dashed rgba(233,220,195,.15);border-radius:6px}.story-archive-card-meta{padding:8px 2px 0}.story-archive-card-meta strong{display:block;font:700 .5rem/1.25 "Geist Mono",monospace;letter-spacing:.04em;color:rgba(246,239,228,.68)}.story-archive-card-meta span{display:block;margin-top:3px;font-size:.74rem;color:rgba(246,239,228,.34)}
.story-archive-sealed{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.story-archive-seal{padding:16px;border:1px solid rgba(233,220,195,.075);border-radius:16px;background:rgba(255,255,255,.012);display:flex;gap:12px;align-items:center;opacity:.58}.story-archive-seal img{width:46px;height:46px;border-radius:50%;object-fit:cover;filter:grayscale(1) brightness(.58)}.story-archive-seal strong{font:400 .95rem Jua,sans-serif}.story-archive-seal span{display:block;margin-top:3px;font:700 .42rem/1 "Geist Mono",monospace;color:rgba(246,239,228,.42);letter-spacing:.08em}
.story-archive-dialog{position:fixed;inset:0;width:min(760px,calc(100% - 26px));max-height:86dvh;margin:auto;padding:0;border:1px solid rgba(216,185,140,.22);border-radius:22px;background:#11100e;color:#f4eadb;box-shadow:0 30px 100px rgba(0,0,0,.75)}.story-archive-dialog::backdrop{background:rgba(0,0,0,.74);backdrop-filter:blur(5px)}.story-archive-dialog-inner{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:24px}.story-archive-dialog-card .qc-face{width:100%}.story-archive-dialog-copy h3{margin:7px 0 10px;font:400 1.55rem/1.05 Jua,sans-serif}.story-archive-dialog-copy p{color:rgba(246,239,228,.56);line-height:1.6}.story-archive-thought{margin-top:16px;padding:15px;border-left:1px solid rgba(216,185,140,.3);background:rgba(255,255,255,.02)}.story-archive-thought span{display:block;font:700 .44rem/1 "Geist Mono",monospace;letter-spacing:.09em;color:rgba(216,185,140,.62)}.story-archive-thought p{margin:8px 0 0;color:#e8dfd3}.story-archive-dialog-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.story-archive-close{position:absolute;right:13px;top:13px;width:38px;height:38px;border:1px solid rgba(255,255,255,.1);border-radius:50%;background:#181714;color:#eee;cursor:pointer}

/* Profile */
.story-profile-hero{display:grid;grid-template-columns:170px 1fr;gap:24px;align-items:center;padding:26px;border:1px solid var(--sp-line);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.03),rgba(0,0,0,.12))}.story-profile-portrait{position:relative;width:150px;height:150px;border-radius:50%;overflow:hidden;background:#0b0a09;border:1px solid rgba(216,185,140,.24);box-shadow:0 18px 38px rgba(0,0,0,.45)}.story-profile-portrait img{position:absolute;inset:-8%;width:116%;height:116%;object-fit:cover}.story-profile-copy h1{margin:5px 0 2px;font:400 clamp(2rem,5vw,3.5rem)/1 Jua,sans-serif}.story-profile-copy p{margin:8px 0 0;color:var(--sp-muted)}.story-profile-state{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.story-profile-state span{padding:7px 9px;border:1px solid var(--sp-line);border-radius:999px;font:700 .46rem/1 "Geist Mono",monospace;color:rgba(246,239,228,.55);letter-spacing:.07em}.story-profile-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:18px}.story-profile-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}.story-profile-metric{padding:16px;border:1px solid var(--sp-line);border-radius:16px;background:rgba(255,255,255,.018)}.story-profile-metric strong{display:block;font:400 1.45rem Jua,sans-serif}.story-profile-metric span{display:block;margin-top:5px;font:700 .43rem/1 "Geist Mono",monospace;letter-spacing:.08em;color:rgba(246,239,228,.35)}
.story-profile-section{margin-top:26px;padding-top:24px;border-top:1px solid var(--sp-line)}.story-profile-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:16px}.story-profile-section-head h2{margin:5px 0 0;font:400 1.65rem Jua,sans-serif}.story-profile-section-head p{max-width:500px;margin:0;color:rgba(246,239,228,.42);text-align:right}.story-profile-path{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.story-profile-chapter{padding:14px 10px;border:1px solid var(--sp-line);border-radius:16px;text-align:center;background:rgba(255,255,255,.014)}.story-profile-chapter img{width:62px;height:62px;border-radius:50%;object-fit:cover;filter:grayscale(1) brightness(.5)}.story-profile-chapter.is-current img{filter:none}.story-profile-chapter strong{display:block;margin-top:8px;font:400 .95rem Jua,sans-serif}.story-profile-chapter span{display:block;margin-top:3px;font:700 .4rem/1 "Geist Mono",monospace;letter-spacing:.06em;color:rgba(246,239,228,.35)}.story-profile-chapter.is-current{border-color:rgba(216,185,140,.25);background:rgba(216,185,140,.04)}
.story-profile-cards{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.story-profile-card{aspect-ratio:.7;border-radius:10px;border:1px solid rgba(233,220,195,.09);overflow:hidden;background:rgba(0,0,0,.18)}.story-profile-card .qc-face{width:100%;height:100%}.story-profile-card.is-empty{display:grid;place-items:center}.story-profile-card.is-empty:before{content:"";width:54%;aspect-ratio:.7;border:1px dashed rgba(233,220,195,.13);border-radius:5px}
.story-profile-records{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.story-profile-record{padding:17px;border:1px solid var(--sp-line);border-radius:16px;background:rgba(255,255,255,.018)}.story-profile-record strong{display:block;font:400 1.35rem Jua,sans-serif}.story-profile-record span{display:block;margin-top:5px;font:700 .43rem/1 "Geist Mono",monospace;letter-spacing:.07em;color:rgba(246,239,228,.35)}
.story-profile-account{margin-top:30px;display:flex;justify-content:flex-end}.story-profile-account button{min-height:42px;padding:0 14px;border:1px solid rgba(255,255,255,.11);border-radius:10px;background:transparent;color:rgba(246,239,228,.5);cursor:pointer}

/* Landing */
body.story-landing-world{padding-bottom:0}.story-landing-top{position:fixed;top:0;left:0;right:0;z-index:80;height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 max(22px,calc((100vw - 1180px)/2));background:linear-gradient(180deg,rgba(8,7,6,.92),rgba(8,7,6,.18),transparent);pointer-events:none}.story-landing-top img{height:30px;opacity:.82}.story-landing-top nav{display:flex;gap:8px;pointer-events:auto}.story-landing-top a{min-height:38px;display:inline-flex;align-items:center;padding:0 13px;border:1px solid rgba(233,220,195,.12);border-radius:10px;color:#e9dfd1;text-decoration:none;font:700 .5rem/1 "Geist Mono",monospace;letter-spacing:.06em;background:rgba(12,11,10,.65)}.story-landing-top a.is-primary{background:#e4cfad;color:#251c13;border-color:#e4cfad}.story-landing-main{overflow:hidden}.story-landing-hero{position:relative;min-height:100dvh;display:grid;grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);align-items:center;gap:40px;width:min(1180px,calc(100% - 40px));margin:0 auto;padding:100px 0 64px}.story-landing-hero-copy{position:relative;z-index:5}.story-landing-hero h1{margin:10px 0 0;font:400 clamp(3.3rem,8vw,7.4rem)/.84 Jua,sans-serif;letter-spacing:-.045em;color:#f2e7d7}.story-landing-hero h1 span{display:block;color:rgba(246,239,228,.37);font-size:.46em;letter-spacing:.02em;margin-bottom:13px}.story-landing-hero p{max-width:620px;margin:20px 0 0;font-size:1.08rem;line-height:1.65;color:rgba(246,239,228,.6)}.story-landing-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:26px}.story-landing-meta{display:flex;flex-wrap:wrap;gap:8px 15px;margin-top:19px;font:700 .48rem/1.4 "Geist Mono",monospace;letter-spacing:.08em;color:rgba(246,239,228,.34)}
.story-landing-stage{position:relative;min-height:600px;display:grid;place-items:center}.story-landing-book{position:absolute;width:min(560px,95%);aspect-ratio:1.45;border-radius:18px 30px 30px 17px;background:linear-gradient(90deg,#120c08,#281a11 5%,#100b08 13%,#1a110b);border:1px solid rgba(216,185,140,.23);box-shadow:0 42px 100px rgba(0,0,0,.7),inset -20px 0 38px rgba(0,0,0,.32);transform:rotateY(-6deg) rotateZ(-1deg);transition:transform .55s cubic-bezier(.18,.75,.22,1)}.story-landing-book:before{content:"THE BOOK";position:absolute;inset:8%;display:grid;place-items:center;border:1px solid rgba(216,185,140,.22);border-radius:6px;font:700 .72rem "Geist Mono",monospace;letter-spacing:.22em;color:rgba(216,185,140,.5)}.story-landing-stage.is-open .story-landing-book{transform:translateX(-8%) rotateY(-20deg) rotateZ(-1deg)}.story-landing-thinker{position:absolute;right:-3%;bottom:3%;width:52%;max-height:570px;object-fit:contain;filter:drop-shadow(0 30px 40px rgba(0,0,0,.7));opacity:0;transform:translateX(18px);transition:opacity .55s ease .18s,transform .55s ease .18s}.story-landing-stage.is-open .story-landing-thinker{opacity:.96;transform:none}.story-landing-cardback{position:absolute;left:14%;top:25%;width:150px;aspect-ratio:.7;border-radius:11px;border:1px solid rgba(216,185,140,.35);background:linear-gradient(145deg,#17110d,#0b0907);display:grid;place-items:center;box-shadow:0 20px 45px rgba(0,0,0,.5);opacity:0;transform:translateY(24px) rotate(-5deg);transition:opacity .4s ease .22s,transform .5s cubic-bezier(.18,.8,.22,1) .22s}.story-landing-stage.is-open .story-landing-cardback{opacity:1;transform:translateY(0) rotate(-3deg)}.story-landing-cardback span{font-size:2rem;color:rgba(216,185,140,.72)}.story-landing-cardback small{position:absolute;bottom:15px;font:700 .42rem/1 "Geist Mono",monospace;letter-spacing:.09em;color:rgba(216,185,140,.45)}.story-landing-openhint{position:absolute;left:16%;bottom:12%;font:700 .48rem/1.5 "Geist Mono",monospace;letter-spacing:.08em;color:rgba(246,239,228,.33)}
.story-landing-section{width:min(1040px,calc(100% - 40px));margin:0 auto;padding:94px 0;border-top:1px solid rgba(233,220,195,.08)}.story-landing-section-head{max-width:720px}.story-landing-section h2{margin:8px 0 0;font:400 clamp(2rem,5vw,3.7rem)/.95 Jua,sans-serif}.story-landing-section-head p{margin:15px 0 0;color:var(--sp-muted);line-height:1.65}.story-landing-loop{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:30px}.story-landing-step{min-height:210px;padding:20px;border:1px solid var(--sp-line);border-radius:18px;background:rgba(255,255,255,.018)}.story-landing-step i{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(216,185,140,.2);border-radius:50%;font:700 .5rem "Geist Mono",monospace;color:#d8b98c}.story-landing-step h3{margin:20px 0 8px;font:400 1.25rem Jua,sans-serif}.story-landing-step p{margin:0;color:rgba(246,239,228,.45);font-size:.9rem;line-height:1.55}.story-landing-rulebreak{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}.story-landing-q5{position:relative;min-height:350px;border:1px solid rgba(233,220,195,.1);border-radius:24px;background:radial-gradient(circle at 50% 45%,rgba(216,185,140,.07),transparent 38%),#0c0b09;display:grid;place-items:center;overflow:hidden}.story-landing-bulbs{position:absolute;top:24px;display:flex;gap:9px;font-size:1.35rem;filter:saturate(.7)}.story-landing-ghost-wheel{position:absolute;width:170px;height:170px;border:1px dashed rgba(233,220,195,.09);border-radius:50%;opacity:.5}.story-landing-q5-card{width:130px;aspect-ratio:.7;border:1px solid rgba(216,185,140,.32);border-radius:10px;background:#17110d;box-shadow:0 20px 45px rgba(0,0,0,.5);transform:translateY(24px) rotate(2deg)}.story-landing-worlds{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:28px}.story-landing-worldcard{padding:24px;border:1px solid var(--sp-line);border-radius:20px;background:rgba(255,255,255,.018)}.story-landing-worldcard h3{margin:6px 0 8px;font:400 1.5rem Jua,sans-serif}.story-landing-worldcard p{margin:0;color:rgba(246,239,228,.48);line-height:1.55}.story-landing-final{text-align:center;padding-bottom:120px}.story-landing-final h2{font-size:clamp(2.7rem,7vw,5.8rem)}.story-landing-final .story-landing-actions{justify-content:center}

@media(max-width:900px){
  .story-hub-hero,.story-landing-hero{grid-template-columns:1fr;min-height:auto}.story-hub-stage{min-height:450px}.story-landing-stage{min-height:500px}.story-hub-copy{padding-left:0}.story-archive-grid,.story-profile-cards{grid-template-columns:repeat(4,1fr)}.story-archive-sealed{grid-template-columns:repeat(2,1fr)}.story-profile-path{grid-template-columns:repeat(5,minmax(100px,1fr));overflow-x:auto}.story-landing-loop{grid-template-columns:repeat(2,1fr)}.story-landing-rulebreak{grid-template-columns:1fr}.story-profile-metrics{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .sp-shell{width:calc(100% - 20px);padding-top:14px}.story-hub-hero{gap:8px;padding-top:8px}.story-hub-copy .sp-title{font-size:clamp(2.5rem,14vw,4.2rem)}.story-hub-stage{min-height:350px}.story-hub-book{width:88%}.story-hub-character{width:57%;right:0}.story-hub-whisper{font-size:.46rem;left:9%;bottom:6%;max-width:170px}.story-hub-section-head,.story-archive-head-row,.story-profile-section-head{display:block}.story-hub-section-head p,.story-profile-section-head p{text-align:left;margin-top:8px}.story-archive-grid,.story-profile-cards{grid-template-columns:repeat(4,1fr);gap:8px}.story-archive-chapter{padding:15px}.story-archive-sealed{grid-template-columns:1fr}.story-archive-dialog-inner{grid-template-columns:1fr;padding:18px}.story-archive-dialog-card{width:150px;margin:auto}.story-profile-hero{grid-template-columns:1fr;text-align:center;padding:20px}.story-profile-portrait{margin:auto;width:126px;height:126px}.story-profile-actions,.story-profile-state{justify-content:center}.story-profile-records{grid-template-columns:1fr}.story-landing-top{height:62px;padding:0 12px}.story-landing-top img{height:24px}.story-landing-top a{padding:0 9px;font-size:.43rem}.story-landing-hero{width:calc(100% - 22px);padding-top:92px;gap:10px}.story-landing-hero h1{font-size:clamp(3.1rem,17vw,5rem)}.story-landing-hero p{font-size:.97rem}.story-landing-stage{min-height:390px}.story-landing-book{width:92%}.story-landing-thinker{width:58%;right:-4%}.story-landing-cardback{width:105px;left:10%;top:28%}.story-landing-openhint{left:10%;bottom:7%;font-size:.42rem}.story-landing-section{width:calc(100% - 22px);padding:68px 0}.story-landing-loop,.story-landing-worlds{grid-template-columns:1fr}.story-landing-step{min-height:0}.story-landing-q5{min-height:300px}
}
@media(prefers-reduced-motion:reduce){.sp-btn,.story-landing-book,.story-landing-thinker,.story-landing-cardback{transition:none!important}}

/* Released Story boundary shared by Codex / platform surfaces. */
.sp-release-strip{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:12px;margin:18px auto 14px;max-width:980px}
.sp-release-live,.sp-release-sealed{border:1px solid rgba(210,190,150,.2);background:rgba(14,12,10,.82);box-shadow:0 18px 48px rgba(0,0,0,.18);padding:14px 16px;border-radius:16px}
.sp-release-live span{display:block;font:700 10px/1.2 "Geist Mono",monospace;letter-spacing:.16em;color:#c9ae72;margin-bottom:6px}.sp-release-live strong{display:block;font:700 17px/1.15 "Geist Mono",monospace;letter-spacing:.07em;color:#f4ead1}.sp-release-live small{display:block;margin-top:7px;color:rgba(242,232,209,.62);line-height:1.45}
.sp-release-sealed{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.sp-release-sealed span{padding:7px 9px;border:1px solid rgba(220,203,168,.11);border-radius:999px;color:rgba(238,225,199,.38);font:700 9px/1 "Geist Mono",monospace;letter-spacing:.09em;white-space:nowrap}.sp-release-sealed span::before{content:'⌁';margin-right:5px;opacity:.55}
.codex-paper-book-shell.is-single-release .codex-page{position:relative!important;transform:none!important;opacity:1!important;visibility:visible!important}
@media(max-width:720px){.sp-release-strip{grid-template-columns:1fr}.sp-release-sealed{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.sp-release-sealed span{flex:0 0 auto}}

/* Auth is part of the Story entrance, not a visual detour. */
body.story-auth-world{min-height:100dvh;background:radial-gradient(circle at 50% 12%,rgba(137,112,79,.16),transparent 28%),linear-gradient(180deg,#0c0a08,#070706);color:var(--sp-cream);font-family:"DM Sans",sans-serif}
.story-auth-world .igtt-app-header{height:66px!important;min-height:66px!important;background:transparent!important;border:0!important}.story-auth-world .igtt-app-header .think-logo{height:27px!important;opacity:.72}
.story-auth-shell{width:min(560px,calc(100% - 24px));margin:0 auto!important;padding:34px 0 88px!important;display:block!important}.story-auth-card{position:relative;overflow:hidden;padding:clamp(24px,5vw,42px)!important;border:1px solid rgba(233,220,195,.13)!important;border-radius:24px!important;background:radial-gradient(circle at 50% 0%,rgba(216,185,140,.08),transparent 34%),rgba(12,10,8,.88)!important;box-shadow:0 32px 90px rgba(0,0,0,.42)!important}.story-auth-card:before{content:"THE BOOK";position:absolute;right:20px;top:18px;font:700 .48rem/1 "Geist Mono",monospace;letter-spacing:.16em;color:rgba(216,185,140,.18)}
.story-auth-card .auth-kicker{color:rgba(216,185,140,.72)!important;font:700 .58rem/1.3 "Geist Mono",monospace!important;letter-spacing:.13em!important}.story-auth-card .auth-title{margin:12px 0 22px!important;font:400 clamp(2.6rem,9vw,4.4rem)/1.1 Jua,sans-serif!important;color:#f4eadb!important}.story-auth-card .auth-copy{color:rgba(246,239,228,.58)!important;line-height:1.65!important;max-width:440px}.story-auth-card .container{padding:0!important;margin-top:28px!important}.story-auth-card .auth-form{display:grid;gap:15px}.story-auth-card .form-group{margin:0!important}.story-auth-card label{display:block;margin:0 0 7px!important;font:700 .52rem/1.2 "Geist Mono",monospace!important;letter-spacing:.08em!important;color:rgba(246,239,228,.54)!important;text-transform:uppercase}.story-auth-card input{width:100%!important;box-sizing:border-box!important;min-height:50px!important;border:1px solid rgba(233,220,195,.13)!important;border-radius:11px!important;background:rgba(255,255,255,.035)!important;color:#f4eadb!important;padding:0 14px!important;outline:none!important;font:500 .96rem "DM Sans",sans-serif!important}.story-auth-card input:focus{border-color:rgba(216,185,140,.48)!important;box-shadow:0 0 0 3px rgba(216,185,140,.07)!important}.story-auth-card input::placeholder{color:rgba(246,239,228,.24)!important}.story-auth-submit{width:100%;border:0!important;margin-top:4px;cursor:pointer}.story-auth-card .auth-password-help{text-align:right;margin:-5px 0 0}.story-auth-card .auth-reset-link{border:0;background:none;color:rgba(216,185,140,.72);font:700 .5rem/1.2 "Geist Mono",monospace;letter-spacing:.07em;cursor:pointer}.story-auth-card .auth-divider{margin:27px 0!important;border-color:rgba(233,220,195,.08)!important}.story-auth-card .auth-switch{text-align:center}.story-auth-card .auth-switch p{color:rgba(246,239,228,.4)!important;margin:0 0 11px!important}.story-auth-switch-btn{width:100%;box-sizing:border-box}.story-auth-card .message{font-size:.84rem!important}.story-auth-card .message.is-error{color:#e5a89c!important}.story-auth-card .message.is-success{color:#a9c4ae!important}
@media(max-width:620px){.story-auth-shell{padding-top:16px!important}.story-auth-card{border-radius:19px!important;padding:24px 18px 26px!important}.story-auth-world .igtt-app-header{height:54px!important;min-height:54px!important}}

/* Landing motif study — shows the Book's vocabulary without previewing the Q5 rule break. */
.story-landing-symbols{position:relative;min-height:350px;border:1px solid rgba(233,220,195,.1);border-radius:24px;background:radial-gradient(circle at 50% 44%,rgba(216,185,140,.075),transparent 38%),#0c0b09;overflow:hidden;isolation:isolate}
.story-landing-symbol-lights{position:absolute;left:50%;top:24px;transform:translateX(-50%);display:flex;gap:11px;z-index:4}
.story-landing-symbol-lights i{width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 42% 35%,#fff6c9 0 18%,#e3c667 38%,#7c6024 67%,#21190a 100%);box-shadow:0 0 15px rgba(223,192,91,.22)}
.story-landing-symbol-wheel{position:absolute;left:18%;top:27%;width:178px;height:178px;border:1px solid rgba(233,220,195,.12);border-radius:50%;box-shadow:inset 0 0 0 15px rgba(255,255,255,.012),0 20px 45px rgba(0,0,0,.28);transform:rotate(-9deg)}
.story-landing-symbol-wheel:before,.story-landing-symbol-wheel:after{content:"";position:absolute;inset:50% auto auto 50%;width:84%;height:1px;background:rgba(233,220,195,.09);transform-origin:left center}
.story-landing-symbol-wheel:before{transform:rotate(62deg)}.story-landing-symbol-wheel:after{transform:rotate(122deg)}
.story-landing-symbol-wheel span{position:absolute;inset:22%;border:1px solid rgba(216,185,140,.16);border-radius:50%}
.story-landing-symbol-card{position:absolute;right:16%;top:24%;width:124px;aspect-ratio:.7;border:1px solid rgba(216,185,140,.3);border-radius:10px;background:linear-gradient(145deg,#17110d,#0d0a08);box-shadow:0 24px 45px rgba(0,0,0,.52);transform:rotate(5deg);display:grid;place-items:center;color:rgba(216,185,140,.35);font-size:2rem}
.story-landing-symbol-ink{position:absolute;left:24%;right:20%;bottom:18%;height:44px;border-radius:50%;background:radial-gradient(ellipse,rgba(2,2,2,.95),rgba(7,7,6,.66) 42%,transparent 72%);filter:blur(6px);transform:rotate(-3deg);opacity:.9}
@media(max-width:620px){.story-landing-symbols{min-height:300px}.story-landing-symbol-wheel{width:142px;height:142px;left:12%;top:31%}.story-landing-symbol-card{right:11%;width:104px;top:27%}.story-landing-symbol-lights{top:21px}}


/* Codex reader: keep the parchment Book as the physical viewport while its
   unsealed pages scroll inside it. Story still controls which pages exist;
   the reader only changes how those voices are browsed. */
.codex-paper-book-shell.is-single-release .tier-book.codex-book{
  aspect-ratio:4 / 5.05!important;
  height:min(760px,78dvh)!important;
  min-height:500px;
  max-height:760px!important;
}
.codex-paper-book-shell.is-single-release .book-page.codex-page{
  position:absolute!important;
  inset:0!important;
  height:100%!important;
  min-height:0!important;
}
.codex-paper-book-shell.is-single-release .book-page-inner.codex-page-inner{
  height:100%!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior-y:contain!important;
  scrollbar-gutter:stable;
}
.codex-paper-book-shell.is-single-release .codex-page-head{
  position:sticky!important;
}
.codex-reader-cue{margin:10px auto 0;text-align:center;font:800 .43rem/1.2 "Geist Mono",monospace;letter-spacing:.11em;color:rgba(92,61,39,.42)}
@media(max-width:700px){
  .codex-paper-book-shell.is-single-release{
    width:100%!important;
    max-width:440px!important;
    margin-top:8px!important;
  }
  .codex-paper-book-shell.is-single-release .tier-book.codex-book{
    width:100%!important;
    height:clamp(500px,calc(100dvh - 170px),690px)!important;
    min-height:500px!important;
    max-height:690px!important;
    aspect-ratio:auto!important;
  }
  .codex-reader-cue{margin-top:8px;font-size:.4rem}
}
@media(max-width:390px){
  .codex-paper-book-shell.is-single-release .tier-book.codex-book{
    height:clamp(470px,calc(100dvh - 158px),650px)!important;
    min-height:470px!important;
  }
}


/* === Story-first cohesion pass · 2026-09-26 ============================== */
.story-landing-stage{border:0;padding:0;background:transparent;color:inherit;font:inherit;cursor:pointer;width:100%}
.story-landing-stage:focus-visible{outline:1px solid rgba(216,185,140,.55);outline-offset:8px;border-radius:24px}
.story-landing-ink-presence{position:absolute;right:2%;bottom:8%;width:48%;height:62%;opacity:0;transition:opacity .5s ease,transform .6s ease;transform:translateY(10px);pointer-events:none}
.story-landing-ink-presence i{position:absolute;left:50%;top:18%;width:1px;height:55%;background:linear-gradient(transparent,rgba(6,5,4,.82),transparent);box-shadow:18px 18px 0 rgba(6,5,4,.2),-22px 33px 0 rgba(6,5,4,.18);transform:rotate(var(--ink-r,-7deg));filter:blur(.2px)}
.story-landing-ink-presence i:nth-child(2){--ink-r:9deg;left:37%;top:26%;height:42%}.story-landing-ink-presence i:nth-child(3){--ink-r:-14deg;left:64%;top:32%;height:33%}
.story-landing-stage.is-open .story-landing-ink-presence{opacity:.78;transform:none}
.story-landing-mini-loop{display:flex;align-items:center;gap:10px;margin-top:22px;font:800 .56rem/1 "Geist Mono",monospace;letter-spacing:.12em;color:rgba(231,207,171,.7)}.story-landing-mini-loop i{font-style:normal;color:rgba(231,207,171,.25)}
.story-hub-unrevealed{position:absolute;right:3%;bottom:8%;width:46%;height:72%;opacity:.55;filter:blur(.2px)}.story-hub-unrevealed i{position:absolute;left:50%;top:14%;width:1px;height:68%;background:linear-gradient(transparent,#080706cc,transparent);transform:rotate(-9deg);box-shadow:18px 12px 0 #08070622}.story-hub-unrevealed i:nth-child(2){left:34%;top:28%;height:42%;transform:rotate(8deg)}.story-hub-unrevealed i:nth-child(3){left:66%;top:34%;height:32%;transform:rotate(-15deg)}
.story-hub-next-seal,.story-archive-character-seal,.story-profile-seal{display:grid;place-items:center;border:1px solid rgba(216,185,140,.18);color:rgba(216,185,140,.5);font:800 .7rem/1 "Geist Mono",monospace;letter-spacing:.12em;background:radial-gradient(circle,rgba(216,185,140,.04),transparent 66%)}
.story-hub-next-seal{width:64px;height:64px;border-radius:50%}.story-archive-character-seal{width:72px;height:72px;border-radius:50%}.story-profile-seal{position:absolute;inset:12%;border-radius:50%}
.story-archive-seal>i{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;border:1px solid rgba(216,185,140,.15);font:800 .6rem/1 "Geist Mono",monospace;color:rgba(216,185,140,.42);font-style:normal}
.story-profile-thought-summary{display:grid;grid-template-columns:auto auto 1fr;gap:12px;align-items:center;padding:20px;border:1px solid var(--sp-line);border-radius:18px;background:rgba(255,255,255,.018)}.story-profile-thought-summary>div{min-width:112px;padding:14px;border:1px solid rgba(233,220,195,.08);border-radius:13px}.story-profile-thought-summary strong{display:block;font:400 1.9rem Jua,sans-serif;color:#f4eadb}.story-profile-thought-summary span{font:800 .45rem/1 "Geist Mono",monospace;letter-spacing:.12em;color:rgba(216,185,140,.58)}.story-profile-thought-summary p{margin:0;color:rgba(246,239,228,.48);line-height:1.55}
.story-profile-chapter-mark{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 10px;border-radius:50%;border:1px solid rgba(216,185,140,.16);font:800 .55rem/1 "Geist Mono",monospace;color:rgba(216,185,140,.48)}.story-profile-chapter.is-sealed{opacity:.46}
.codex-simple-intro{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:22px;align-items:end;padding:20px 0 24px;border-bottom:1px solid rgba(65,42,24,.12)}.codex-simple-intro h2{margin:5px 0 7px}.codex-simple-intro p{margin:0;max-width:680px;color:rgba(70,49,33,.66);line-height:1.55}.codex-simple-actions{display:grid;justify-items:end;gap:8px;text-align:right}.codex-simple-actions>strong{font:800 .62rem/1 "Geist Mono",monospace;letter-spacing:.12em;color:#6f4d32}.codex-simple-actions small{max-width:260px;color:rgba(70,49,33,.5)}.codex-simple-note{margin:16px 0 8px!important}.codex-chapter-seal{display:grid;place-items:center;width:72px;height:72px;border-radius:50%;border:1px solid rgba(73,47,29,.16);font:800 .62rem/1 "Geist Mono",monospace;color:rgba(73,47,29,.45)}
@media(max-width:680px){.story-profile-thought-summary{grid-template-columns:1fr 1fr}.story-profile-thought-summary p{grid-column:1/-1}.codex-simple-intro{grid-template-columns:1fr}.codex-simple-actions{justify-items:start;text-align:left}}

/* Landing, Hub and Archive should feel like states of the same physical Book. */
.story-landing-book{border-radius:18px 28px 28px 16px;background:linear-gradient(90deg,#100b08 0 3%,#2c1c12 4%,#0d0907 12%,#17100b 100%);border-color:rgba(216,185,140,.22);box-shadow:0 34px 80px rgba(0,0,0,.62),inset -18px 0 35px rgba(0,0,0,.34),inset 2px 0 rgba(255,255,255,.035)}
.story-landing-book::after{content:"";position:absolute;left:5%;top:3%;bottom:3%;width:2px;background:linear-gradient(transparent,rgba(216,185,140,.25),transparent);box-shadow:8px 0 20px rgba(0,0,0,.5)}


/* === Story-first mobile journey pass · 2026-09-26 ====================== */
@media(max-width:620px){
  /* Story hub: the continue action should be available before the cinematic
     stage consumes the first viewport. */
  .story-hub-hero{padding-top:2px;gap:2px}
  .story-hub-stage{min-height:300px}
  .story-hub-copy .sp-copy{font-size:.9rem;line-height:1.5}
  .story-hub-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px}
  .story-hub-actions .sp-btn{min-width:0;padding-inline:12px}

  /* You: keep identity + Story + Book prestige useful above the fold. */
  .story-profile-hero{padding:15px 13px 14px;gap:9px}
  .story-profile-portrait{width:98px;height:98px}
  .story-profile-copy h1{font-size:clamp(2rem,11vw,2.7rem);margin-top:2px}
  .story-profile-copy>p{margin-top:4px;font-size:.78rem}
  .story-profile-state{margin-top:10px;gap:5px;justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding-bottom:2px;scrollbar-width:none}
  .story-profile-state::-webkit-scrollbar{display:none}
  .story-profile-state span{flex:0 0 auto;padding:6px 8px;font-size:.42rem}
  .story-profile-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;margin-top:11px}
  .story-profile-actions .sp-btn{min-width:0;padding-inline:11px}
  .story-profile-section{margin-top:42px}
  .story-profile-section-head h2{font-size:clamp(1.55rem,8vw,2rem)}
}
.story-hub-character.is-seeker-mark{width:42%;right:4%;bottom:8%;border-radius:50%;filter:grayscale(.08) sepia(.08) drop-shadow(0 24px 28px rgba(0,0,0,.65));opacity:.82}
@media(max-width:620px){.story-hub-character.is-seeker-mark{width:44%;right:4%;bottom:10%}}

/* Muse Story hub/archive mark ------------------------------------------ */
.story-hub-character.is-muse-mark{width:40%;right:5%;bottom:9%;border-radius:50%;filter:grayscale(.1) sepia(.08) drop-shadow(0 24px 28px rgba(0,0,0,.65));opacity:.84}
@media(max-width:620px){.story-hub-character.is-muse-mark{width:43%;right:4%;bottom:11%}}


/* Chapter replay controls */
.story-archive-replay{margin-left:auto;min-height:38px;padding-inline:13px;font-size:.5rem}
@media(max-width:640px){.story-archive-chapter-head{flex-wrap:wrap}.story-archive-replay{margin-left:72px;width:calc(100% - 72px);min-height:40px}}


/* Story v4 cast system -------------------------------------------------- */
.story-hub-character{object-fit:contain!important;object-position:center bottom!important;border-radius:0!important;filter:drop-shadow(0 24px 30px rgba(0,0,0,.64))!important}
.story-hub-character.is-seeker-mark{width:51%;right:1%;bottom:3%;border-radius:0!important}.story-hub-character.is-muse-mark{width:53%;right:0;bottom:1%;border-radius:0!important}

.story-hub-character.is-catalyst-mark{width:52%;right:1%;bottom:1%;filter:drop-shadow(0 24px 30px rgba(0,0,0,.64))!important}
@media(max-width:620px){.story-hub-character.is-catalyst-mark{width:56%;right:-3%;bottom:2%}}

/* Story v5 character framing pass */
.story-hub-stage{overflow:visible}
.story-hub-character{top:3%!important;bottom:auto!important;width:48%!important;height:91%!important;max-height:none!important;object-fit:contain!important;object-position:center top!important}
.story-hub-character.is-seeker-mark,.story-hub-character.is-muse-mark,.story-hub-character.is-catalyst-mark,.story-hub-character.is-luminary-mark{top:3%!important;bottom:auto!important;width:48%!important;height:91%!important;right:1%!important}
.story-hub-character.is-luminary-mark{filter:drop-shadow(0 24px 32px rgba(0,0,0,.55))!important}
.story-archive-chapter-head>img{width:72px!important;height:86px!important;object-fit:contain!important;object-position:center top!important}
@media(max-width:620px){
 .story-hub-stage{min-height:360px!important;overflow:hidden}
 .story-hub-character,.story-hub-character.is-seeker-mark,.story-hub-character.is-muse-mark,.story-hub-character.is-catalyst-mark,.story-hub-character.is-luminary-mark{top:1%!important;right:-1%!important;width:55%!important;height:93%!important;object-position:center top!important}
}


/* 2026-09-27 Story cast reveal safety: unreached Book-born remain silhouettes. */

/* Book I global progress on Story hub ---------------------------------- */
.story-hub-book-meter{display:grid;grid-template-columns:auto minmax(120px,1fr) auto;gap:10px;align-items:center;max-width:580px;margin:-8px 0 22px;color:rgba(225,202,168,.44);font:800 .42rem/1 "Geist Mono",monospace;letter-spacing:.12em}
.story-hub-book-meter>div{height:4px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px rgba(216,185,140,.03)}
.story-hub-book-meter i{display:block;width:2.857%;height:100%;border-radius:99px;background:linear-gradient(90deg,rgba(216,185,140,.42),rgba(235,208,167,.95));box-shadow:0 0 14px rgba(216,185,140,.18);transition:width .45s cubic-bezier(.2,.75,.2,1)}
.story-hub-book-meter strong{color:rgba(235,216,187,.72);font-size:.44rem;white-space:nowrap}.story-hub-book-meter.is-last-act i{background:linear-gradient(90deg,rgba(190,203,230,.45),#dce5f6);box-shadow:0 0 18px rgba(203,218,245,.2)}.story-hub-book-meter.is-complete strong{color:#f2e5cf}
@media(max-width:620px){.story-hub-book-meter{grid-template-columns:auto minmax(60px,1fr) auto;gap:7px;margin:-9px 0 14px;font-size:.34rem}.story-hub-book-meter strong{font-size:.35rem}.story-hub-book-meter>div{height:3px}}

/* Cast cards read as a crew assembling across the Book. */


/* Story v6 continuation + manga-atmosphere pass ------------------------ */
.story-hub-world{background:
  radial-gradient(circle at 14% 18%,rgba(205,157,88,.12),transparent 24%),
  radial-gradient(circle at 78% 12%,rgba(72,101,155,.12),transparent 25%),
  linear-gradient(145deg,#100d0a 0%,#08090d 48%,#050505 100%);}
.story-hub-world:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.12;background:
  radial-gradient(circle at 20% 28%,transparent 0 7px,rgba(216,185,140,.18) 8px 9px,transparent 10px 100%),
  repeating-linear-gradient(118deg,transparent 0 76px,rgba(214,185,139,.045) 77px 78px,transparent 79px 156px);mix-blend-mode:screen;}
.story-hub-hero{position:relative;isolation:isolate}.story-hub-hero:before{content:"";position:absolute;z-index:-1;inset:-18px -20px -20px;border:1px solid rgba(216,185,140,.06);border-radius:28px;background:linear-gradient(135deg,rgba(24,19,14,.6),rgba(8,9,13,.34));box-shadow:0 35px 100px rgba(0,0,0,.28)}
.story-hub-stage:after{content:"";position:absolute;inset:7% 4% 5% 16%;border:1px solid rgba(228,197,147,.08);border-radius:46% 54% 48% 52%;box-shadow:0 0 70px rgba(205,164,99,.04),inset 0 0 60px rgba(71,94,144,.04);pointer-events:none}
.story-legacy-record{position:relative;display:grid;grid-template-columns:74px minmax(0,1fr);gap:18px;align-items:center;margin:6px 0 50px;padding:22px 24px;border:1px solid rgba(213,182,136,.15);border-radius:22px;background:linear-gradient(135deg,rgba(29,23,18,.88),rgba(8,10,15,.94));box-shadow:0 26px 70px rgba(0,0,0,.32);overflow:hidden}
.story-legacy-record[hidden]{display:none!important}.story-legacy-record:after{content:"";position:absolute;right:-65px;top:-100px;width:240px;height:240px;border:1px solid rgba(217,188,144,.08);border-radius:50%;box-shadow:0 0 0 36px rgba(217,188,144,.018),0 0 0 72px rgba(85,111,164,.018);pointer-events:none}
.story-legacy-mark{display:grid;place-items:center;width:64px;height:64px;border:1px solid rgba(221,190,142,.22);border-radius:50%;color:#d9b87f;font-size:1.65rem;background:radial-gradient(circle,rgba(218,181,123,.12),rgba(11,10,9,.3));box-shadow:0 0 28px rgba(217,181,123,.08)}
.story-legacy-copy h2{margin:5px 0 8px;font:400 clamp(1.5rem,3vw,2.3rem)/1 Jua,sans-serif;color:#f0e4d0}.story-legacy-copy p{max-width:760px;margin:0;color:rgba(238,225,205,.62);font-size:.88rem;line-height:1.55}.story-legacy-copy strong{display:block;margin-top:9px;font:800 .42rem/1 "Geist Mono",monospace;letter-spacing:.13em;color:rgba(220,191,146,.62)}
.story-legacy-progress{height:4px;max-width:440px;margin-top:14px;border-radius:99px;overflow:hidden;background:rgba(255,255,255,.05)}.story-legacy-progress i{display:block;height:100%;width:0;background:linear-gradient(90deg,#8a704f,#e0bf83);box-shadow:0 0 14px rgba(224,191,131,.18);transition:width .4s ease}.story-legacy-record.is-unlocked{border-color:rgba(224,191,131,.34)}.story-legacy-record.is-unlocked .story-legacy-mark{box-shadow:0 0 35px rgba(224,191,131,.18)}
@media(max-width:620px){.story-hub-hero:before{inset:-7px -6px -9px;border-radius:20px}.story-legacy-record{grid-template-columns:50px minmax(0,1fr);gap:12px;padding:16px}.story-legacy-mark{width:48px;height:48px;font-size:1.2rem}.story-legacy-copy h2{font-size:1.45rem}.story-legacy-copy p{font-size:.78rem}}

.story-player-line{display:grid;grid-template-columns:auto auto minmax(0,1fr);gap:8px;align-items:center;width:max-content;max-width:100%;margin:-10px 0 18px;padding:7px 9px;border:1px solid rgba(216,185,140,.08);border-radius:9px;background:rgba(9,8,8,.28);font:800 .34rem/1 "Geist Mono",monospace;letter-spacing:.1em}.story-player-line span{color:rgba(221,192,149,.42)}.story-player-line strong{color:#e4c690}.story-player-line small{color:rgba(235,223,205,.32);font:700 .31rem/1.2 "Geist Mono",monospace;letter-spacing:.08em;white-space:nowrap}@media(max-width:620px){.story-player-line{grid-template-columns:auto auto;margin:-6px 0 12px}.story-player-line small{grid-column:1/-1;white-space:normal;font-size:.29rem}}


/* === V22 · first meaningful interaction before signup ================= */
.story-landing-first-page{max-width:650px;margin-top:22px;padding:18px;border:1px solid rgba(216,185,140,.2);border-radius:18px;background:linear-gradient(145deg,rgba(27,20,14,.86),rgba(11,9,7,.92));box-shadow:0 18px 55px rgba(0,0,0,.28)}
.story-landing-first-page[hidden]{display:none!important}
.story-landing-first-page h2{margin:7px 0 8px;font:400 clamp(1.28rem,2.4vw,1.8rem)/1.16 Jua,sans-serif;letter-spacing:-.01em;color:#f1e6d6}
.story-landing-first-page>p{margin:0 0 14px;font-size:.86rem;line-height:1.5;color:rgba(246,239,228,.48)}
.story-landing-first-label{display:block;margin:0 0 7px;font:800 .45rem/1 "Geist Mono",monospace;letter-spacing:.12em;color:rgba(216,185,140,.68)}
.story-landing-first-page textarea{display:block;width:100%;min-height:104px;resize:vertical;padding:13px 14px;border:1px solid rgba(216,185,140,.2);border-radius:12px;background:rgba(5,4,3,.54);color:#f3eadc;font:500 .94rem/1.55 "DM Sans",sans-serif;outline:none;box-sizing:border-box}
.story-landing-first-page textarea:focus{border-color:rgba(216,185,140,.5);box-shadow:0 0 0 3px rgba(216,185,140,.06)}
.story-landing-first-status{min-height:18px;margin-top:7px;font:650 .48rem/1.45 "Geist Mono",monospace;letter-spacing:.03em;color:rgba(236,218,191,.58)}
.story-landing-first-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:10px}
.story-landing-first-actions .sp-btn{margin:0}
.story-landing-first-actions>a{color:rgba(246,239,228,.42);font:700 .45rem/1.3 "Geist Mono",monospace;letter-spacing:.06em;text-decoration:none}
.story-landing-first-actions>a:hover{color:rgba(246,239,228,.72)}
@media(max-width:620px){.story-landing-first-page{margin-top:16px;padding:14px}.story-landing-first-page h2{font-size:1.22rem}.story-landing-first-page textarea{min-height:92px}.story-landing-first-actions{display:grid;grid-template-columns:1fr}.story-landing-first-actions .sp-btn{width:100%}.story-landing-first-actions>a{text-align:center;padding:5px}}


/* === 2026-10-03 FTUX continuity pass =================================== */
.story-landing-symbol-map{position:absolute;left:50%;bottom:14%;width:132px;height:86px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:3px;transform:translateX(-50%) rotate(-2deg);opacity:.52;z-index:2}
.story-landing-symbol-map i{display:block;border:1px solid rgba(221,193,151,.12);background:rgba(216,185,140,.025);border-radius:3px}
.story-landing-symbol-map i:nth-child(5){background:radial-gradient(circle,rgba(221,193,151,.6) 0 12%,rgba(216,185,140,.12) 16% 45%,transparent 49%);box-shadow:0 0 18px rgba(216,185,140,.08)}
.story-landing-symbol-map:after{content:"PAGEBREAK";position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%);font:800 .34rem/1 "Geist Mono",monospace;letter-spacing:.12em;color:rgba(221,193,151,.34)}
.story-auth-handoff{margin:19px 0 0;padding:14px 15px;border:1px solid rgba(216,185,140,.18);border-radius:14px;background:linear-gradient(145deg,rgba(216,185,140,.07),rgba(255,255,255,.018));box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}
.story-auth-handoff[hidden]{display:none!important}.story-auth-handoff>span{display:block;margin-bottom:8px;font:800 .43rem/1.2 "Geist Mono",monospace;letter-spacing:.12em;color:rgba(216,185,140,.62)}
.story-auth-handoff blockquote{margin:0;padding:0;border:0;color:#f2e7d7;font:500 .94rem/1.55 "DM Sans",sans-serif;max-height:6.2em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical}
.story-auth-handoff small{display:block;margin-top:8px;color:rgba(246,239,228,.4);font:650 .45rem/1.45 "Geist Mono",monospace;letter-spacing:.04em}
.story-auth-back{display:inline-flex;margin-top:12px;color:rgba(246,239,228,.42);text-decoration:none;font:750 .44rem/1.2 "Geist Mono",monospace;letter-spacing:.06em}.story-auth-back:hover{color:rgba(246,239,228,.75)}.story-auth-back[hidden]{display:none!important}
@media(max-width:620px){.story-landing-symbol-map{width:112px;height:74px;bottom:14%}.story-auth-handoff{margin-top:15px;padding:12px 13px}.story-auth-handoff blockquote{font-size:.88rem}}
