:root{--ink:#e7e4d8;--muted:#969a91;--paper:#ede8db;--dark:#101210;--panel:#171a17;--line:#30352f;--accent:#c7c1ae}*{box-sizing:border-box}html,body{margin:0;background:var(--dark);color:var(--ink);font-family:Georgia,'Times New Roman',serif}button,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.topbar{position:sticky;top:0;z-index:50;min-height:54px;display:flex;align-items:center;gap:16px;padding:8px 14px;background:#0d0f0dee;border-bottom:1px solid #292d29;backdrop-filter:blur(9px)}.wordmark{background:none;border:0;color:var(--ink);letter-spacing:.17em;font-size:13px}.crumbs{flex:1;color:var(--muted);font:11px/1.2 system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-actions{display:flex;gap:7px}.top-actions button,.reader-meta button,.bottom-nav button,.path-actions button,.path-side button,.saved-path,#homeFromTrail{border:1px solid #444a43;background:#1a1e1a;color:#ddd;padding:8px 11px;border-radius:2px;font:12px system-ui,sans-serif}.home{max-width:1200px;margin:auto;padding:52px 22px 80px}.hero{max-width:850px;margin:0 auto 58px;text-align:center}.series{letter-spacing:.28em;font-size:12px;color:#a9aa9f;margin-bottom:35px}.hero h1{font-weight:400;font-size:clamp(34px,7vw,74px);line-height:.98;margin:0}.begin{font-size:22px;font-style:italic;color:#bab6aa;margin:18px 0 8px}.intro{max-width:620px;margin:0 auto 25px;color:var(--muted);font:14px/1.6 system-ui,sans-serif}.thought-box{display:grid;grid-template-columns:1fr auto;max-width:780px;margin:auto;border:1px solid #3b403a;background:#131613}.thought-box textarea{background:transparent;border:0;color:#f1eee3;padding:18px;resize:vertical;min-height:105px;font-size:18px;line-height:1.45;outline:none}.thought-box button{border:0;border-left:1px solid #3b403a;padding:0 24px;background:#242924;color:#eee;font:13px system-ui,sans-serif}.examples{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:13px}.examples button{background:none;border:0;color:#777d74;font:11px system-ui,sans-serif;text-decoration:underline;text-underline-offset:3px}.section-head{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid var(--line);margin-bottom:18px}.section-head h2{font-weight:400;font-size:26px;margin:0 0 9px}.section-head small{font:11px system-ui,sans-serif;color:var(--muted);padding-bottom:12px}.book-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:14px}.book-card{border:1px solid var(--line);background:var(--panel);cursor:pointer;transition:transform .15s,border-color .15s}.book-card:hover{transform:translateY(-2px);border-color:#555c54}.book-card img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}.book-card-body{padding:12px}.book-card h3{font-weight:400;font-size:20px;margin:4px 0 9px}.eyebrow,.book-state{font:10px/1.3 system-ui,sans-serif;letter-spacing:.13em;color:#9ea198}.path-panel,.share-page{max-width:900px;margin:35px auto;padding:24px;border:1px solid #343934;background:#151815}.path-panel h2,.share-page h1{font-size:32px;font-weight:400;margin:9px 0}.thought-echo{color:#bbb7aa;font-style:italic}.path-row{display:grid;grid-template-columns:100px 1fr auto;gap:14px;align-items:center;border-top:1px solid #2f342f;padding:13px 0}.path-row img{width:100px;height:70px;object-fit:cover}.path-copy{display:flex;flex-direction:column;gap:4px}.path-copy strong{font-weight:400;font-size:20px}.path-copy small{color:var(--muted);font:11px/1.4 system-ui,sans-serif}.path-side{display:flex;align-items:center;gap:8px;font:11px system-ui,sans-serif;color:#aaa}.path-actions{border-top:1px solid #2f342f;margin-top:10px;padding-top:14px;display:flex;gap:8px;align-items:center;justify-content:flex-end}.path-actions span{margin-right:auto;font:11px system-ui,sans-serif;color:#888}.thinking{text-align:center;padding:40px;color:#999;font-style:italic}.no-path{max-width:760px}.reader{padding:10px 0 0}.reader-meta{max-width:1430px;margin:auto;padding:4px 52px 9px;display:flex;align-items:center;gap:12px;color:#a3a69f;font:11px system-ui,sans-serif}.reader-meta span:nth-child(2){margin-left:auto}.spread-shell{max-width:1500px;margin:auto;position:relative;padding:0 52px}.spread{display:grid;grid-template-columns:1fr 1fr;min-height:min(72vw,820px);background:var(--paper);box-shadow:0 12px 35px #0007}.text-page{position:relative;display:flex;flex-direction:column;justify-content:center;min-width:0;padding:7% 9% 65px;background:#efeade;color:#171713}.voice{max-width:540px}.voice p{font-size:clamp(20px,2.2vw,34px);line-height:1.21;margin:0 0 .62em}.whisper{margin-top:22px;font-style:italic;font-size:15px;color:#5e5b52}.symbols{margin-top:17px;font-size:14px}.text-page footer{position:absolute;left:7%;right:7%;bottom:18px;display:flex;justify-content:space-between;color:#777369;font:9px system-ui,sans-serif;letter-spacing:.06em}.art-page{position:relative;min-width:0;overflow:hidden;background:#222}.art-page>img{width:100%;height:100%;object-fit:cover;display:block}.portal{position:absolute;left:0;bottom:0;width:100%;border:0;border-top:1px solid #ffffff44;background:#10120edc;color:#eee;padding:16px;font-size:17px;letter-spacing:.06em;backdrop-filter:blur(4px)}.edge{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:43px;height:92px;background:#171a17e8;border:1px solid #444a43;color:#ddd;font-size:45px}.edge-left{left:2px}.edge-right{right:2px}.bottom-nav{display:flex;justify-content:center;align-items:center;gap:18px;padding:11px;color:#999;font:11px system-ui,sans-serif}.rotate-hint{display:none;text-align:center;color:#858a82;font:10px system-ui,sans-serif;padding:5px}.modal{position:fixed;inset:0;z-index:100;background:#000b;display:grid;place-items:center;padding:20px}.modal-card{max-width:520px;width:100%;max-height:90vh;overflow:auto;background:#181b18;border:1px solid #424842;padding:23px;box-shadow:0 22px 60px #000}.modal-card h2{font-size:31px;font-weight:400;margin:8px 0}.modal-card p{color:#aaa;font:13px/1.6 system-ui,sans-serif}.modal-cover{width:170px;aspect-ratio:3/2;object-fit:cover;float:right;margin:0 0 15px 18px}.modal-card button{width:100%;margin-top:9px;border:1px solid #454a45;background:#242824;color:#eee;padding:12px}.modal-card .primary{background:#e6e1d4;color:#151715}.modal-card .ghost{background:transparent}.price{font-size:27px;margin:15px 0}.saved-path{text-align:left;display:flex!important;flex-direction:column;width:100%;gap:3px;margin-bottom:6px}.saved-path span{color:#999}.transition{position:fixed;inset:0;z-index:90;background:#111;display:grid;place-items:center;overflow:hidden}.transition-cover{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.42);transform:scale(1.03)}.transition-title{position:relative;z-index:2;font-size:clamp(36px,10vw,90px);letter-spacing:.15em;text-shadow:0 2px 18px #000}.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);z-index:150;background:#e7e1d3;color:#171817;padding:10px 15px;font:12px system-ui,sans-serif;box-shadow:0 8px 28px #0008}.fatal{max-width:850px;margin:25px auto;padding:16px;border:1px solid #734;background:#28191a;font:13px/1.6 system-ui,sans-serif}.share-page{margin-top:45px}.trail-list{border-top:1px solid #333;margin:20px 0}.trail-list div{padding:12px 0;border-bottom:1px solid #333;color:#bbb;font:12px system-ui,sans-serif}
@media(max-width:760px){.topbar{gap:7px}.crumbs{display:none}.top-actions{margin-left:auto}.top-actions button{padding:7px 8px}.home{padding:34px 14px 70px}.hero h1{font-size:45px}.thought-box{grid-template-columns:1fr}.thought-box button{border-left:0;border-top:1px solid #3b403a;padding:14px}.book-grid{grid-template-columns:repeat(2,1fr)}.section-head{align-items:start;flex-direction:column}.path-row{grid-template-columns:75px 1fr}.path-row img{width:75px;height:60px}.path-side{grid-column:2;justify-content:space-between}.path-actions{flex-wrap:wrap}.spread-shell{padding:0}.spread{display:block;min-height:0}.text-page{min-height:62vh;padding:55px 40px 65px}.art-page{height:62vh}.voice p{font-size:27px}.edge{position:fixed;top:52%;height:75px;width:36px;background:#111c}.edge-left{left:0}.edge-right{right:0}.bottom-nav{position:sticky;bottom:0;z-index:20;background:#111e;border-top:1px solid #303530;justify-content:space-between;padding:10px 12px}.rotate-hint{display:block}.reader-meta{padding:4px 12px 8px}.modal-cover{float:none;width:100%;margin:0 0 15px}.share-page{margin:18px 10px}.transition-title{font-size:38px}}
@media(max-width:760px) and (orientation:landscape){.rotate-hint{display:none}.spread{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100vh - 98px)}.text-page{min-height:calc(100vh - 98px);padding:28px 42px 50px}.art-page{height:auto;min-height:calc(100vh - 98px)}.voice p{font-size:clamp(15px,2.4vw,23px)}.bottom-nav{display:none}}

/* Phase XI — thought fragments and Pulses */
.fragment-rail{max-width:780px;margin:10px auto 0;min-height:35px;display:flex;gap:6px;flex-wrap:wrap;align-items:center;justify-content:center}
.fragment-label{font:9px/1.2 system-ui,sans-serif;letter-spacing:.15em;color:#747a72;margin-right:4px}
.fragment,.fragment-empty{border:1px solid #30352f;background:#151815;color:#aaa;padding:5px 8px;font:10px/1 system-ui,sans-serif;border-radius:20px}
.fragment-empty{border-color:transparent;background:transparent;color:#666}
.thought-nudge{min-height:18px;margin:5px auto 0;color:#8d9188;font:10px/1.4 system-ui,sans-serif;font-style:italic}
.journey-end{max-width:900px;margin:0 auto;padding:70px 22px 100px;text-align:center}
.end-mark{font-size:40px;color:#8c9086;margin-bottom:24px}
.journey-end h1{font-weight:400;font-size:clamp(38px,7vw,70px);margin:13px 0 12px}
.end-intro{max-width:600px;margin:0 auto 27px;color:#9b9e96;font:13px/1.65 system-ui,sans-serif}
.pulse-compose{max-width:680px;margin:0 auto 55px;border:1px solid #3b403a;background:#141714}
.pulse-compose textarea{display:block;width:100%;min-height:110px;padding:18px;border:0;background:transparent;color:#eee;resize:vertical;outline:none;font:18px/1.45 Georgia,serif}
.pulse-compose-actions{display:flex;gap:8px;align-items:center;padding:9px;border-top:1px solid #333832}
.pulse-compose-actions span{margin-right:auto;color:#777;font:10px system-ui,sans-serif}
.pulse-compose-actions button,.end-actions button,.pulse-hide{border:1px solid #444a43;background:#1c201c;color:#ddd;padding:9px 12px;font:11px system-ui,sans-serif}
#leavePulse{background:#e5e0d3;color:#171917}
.end-rule{height:1px;background:#2e332e;margin:0 0 36px}
.others>p{color:#8f938b;font:11px system-ui,sans-serif}
.pulse-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;padding:20px 3px 25px;text-align:left;scrollbar-width:thin}
.pulse-card{position:relative;flex:0 0 min(340px,78vw);min-height:145px;padding:22px 22px 45px;border:1px solid #343934;background:#151815;scroll-snap-align:start}
.pulse-card p{margin:0;font:18px/1.45 Georgia,serif;color:#d5d1c6}
.pulse-hide{position:absolute;right:10px;bottom:9px;padding:5px 8px;border-color:transparent;background:transparent;color:#696e67}
.pulse-empty{padding:30px;color:#73776f;font-style:italic}
.end-actions{display:flex;gap:8px;justify-content:center;margin-top:28px}
.shared-social{color:#91958d!important;font:11px system-ui,sans-serif!important}
.shared-pulses{margin-top:42px;padding-top:26px;border-top:1px solid #333832}
@media(max-width:760px){
 .fragment-rail{justify-content:flex-start}
 .journey-end{padding-top:45px}
 .pulse-compose-actions{flex-wrap:wrap}
 .pulse-compose-actions span{width:100%;margin:0;text-align:right}
 .pulse-compose-actions button{flex:1}
 .end-actions{flex-direction:column}
}

/* Phase 11.1 — friend-test onboarding and discovered library */
.test-card{max-width:760px;margin:18px auto 14px;padding:13px 15px;border:1px solid #353a34;background:#151815;text-align:left}
.test-card p{margin:5px 0 0;color:#aaa;font:12px/1.55 system-ui,sans-serif}
.test-card strong{color:#ddd;font-weight:600}
.library-note{margin-top:-5px!important;color:#777!important;font-style:italic}
.discovered-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}
.discovered-book{display:grid!important;grid-template-columns:96px 1fr;gap:11px;align-items:center;text-align:left!important;margin:0!important;padding:0!important;overflow:hidden;background:#141714!important;border:1px solid #343934!important}
.discovered-book img{width:96px;height:68px;object-fit:cover}
.discovered-book span{display:flex;flex-direction:column;gap:5px;padding-right:8px}
.discovered-book strong{font:18px/1.1 Georgia,serif;font-weight:400}
.discovered-book small{font:9px/1.2 system-ui,sans-serif;letter-spacing:.12em;color:#858a81}
@media(max-width:600px){
  .discovered-grid{grid-template-columns:1fr}
  .test-card{margin-top:15px}
}

/* Phase 11.2 — guided journeys and portrait-first reading */
.primary-path{background:#e5e0d3!important;color:#151715!important;border-color:#e5e0d3!important}
.path-guidance{max-width:650px;color:#a1a49c!important;font:12px/1.6 system-ui,sans-serif!important}
.guided-row .path-copy small{font-style:italic}
.portal-explain{font-size:11px!important;color:#777c74!important}
.pane-expand{position:absolute;z-index:12;top:9px;right:9px;width:31px;height:31px;border:1px solid #77776b66;background:#efeadecc;color:#4c4a43;font:16px/1 system-ui,sans-serif}
.pane-expand-art{background:#111b;color:#ddd;border-color:#fff4}
@media (orientation:portrait) and (max-width:1100px){
  .spread-shell{padding:0 38px}
  .spread{
    display:grid!important;
    grid-template-columns:1fr!important;
    grid-template-rows:1fr 1fr;
    height:calc(100svh - 142px);
    min-height:650px!important;
    overflow:hidden;
    transition:grid-template-rows .22s ease;
  }
  .spread.focus-text{grid-template-rows:3fr 1fr}
  .spread.focus-art{grid-template-rows:1fr 3fr}
  .text-page{
    min-height:0!important;
    height:auto!important;
    padding:36px 46px 48px!important;
    overflow:auto;
    justify-content:center;
  }
  .art-page{
    min-height:0!important;
    height:auto!important;
  }
  .voice p{font-size:clamp(18px,3.1vw,29px)!important}
  .rotate-hint{display:none!important}
  .edge{position:absolute!important;top:50%!important}
  .bottom-nav{position:sticky;bottom:0;z-index:20;background:#111e}
}
@media (orientation:portrait) and (max-width:600px){
  .spread-shell{padding:0 30px}
  .spread{height:calc(100svh - 140px);min-height:590px!important}
  .text-page{padding:30px 32px 44px!important}
  .voice p{font-size:clamp(17px,5.1vw,24px)!important}
}
@media (orientation:landscape){
  .rotate-hint{display:none!important}
}
