/* StoryStep V8: real interactive redesign, retains all catalog data and routes. */
:root{--v8-violet:#7552d6;--v8-ink:#252447;--v8-border:#e8e4f2;--v8-shadow:0 10px 28px rgba(65,49,116,.075)}
html,body{max-width:100%;overflow-x:clip}
body{background:#f9f8fd;color:var(--v8-ink)}
.app-shell{display:block!important;min-height:100vh!important}
.sidebar{display:none!important}
.main-column{width:100%;min-width:0}
.topbar{height:72px;position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid #eeeaf7;box-shadow:0 3px 16px rgba(68,54,130,.035);padding:0 clamp(15px,3vw,54px);justify-content:space-between;gap:18px}
.topbar-crumb{display:none!important}
.topbar .brand{flex:none;display:flex;align-items:center;gap:11px;min-width:160px;margin:0;padding:0;color:#222049}
.topbar .brand-mark{border-radius:12px;width:38px;height:38px;background:linear-gradient(150deg,#9787ef,#6955d1);font-size:24px;box-shadow:0 7px 17px #6c61cb33}
.topbar .brand-text{font-size:18px;white-space:nowrap;line-height:1.08}
.topbar .brand-text small{font-size:8px;letter-spacing:.8px;margin-top:4px}
.topbar-nav{display:flex;gap:4px;flex:1;align-items:center;justify-content:center;min-width:0}
.topbar-nav .nav-item{width:auto;min-width:auto;height:42px;padding:0 12px;gap:7px;font-size:13px;color:#625f7e;border-radius:14px;white-space:nowrap}
.topbar-nav .nav-item svg{width:17px;height:17px}
.topbar-nav .nav-item.active{background:#f0ecff;color:#6952d4}
.v8-more{position:relative}
.v8-more summary{cursor:pointer;list-style:none;color:#605b7c;font-weight:700;padding:11px 12px;font-size:13px;white-space:nowrap;border-radius:12px}
.v8-more summary::-webkit-details-marker{display:none}
.v8-more[open] summary{background:#f0ecff;color:#6856cc}
.v8-more-list{display:grid;gap:4px;position:absolute;right:0;top:calc(100% + 10px);background:#fff;border:1px solid #e7e0f7;border-radius:17px;padding:9px;min-width:160px;box-shadow:0 18px 40px #231b6140;z-index:54}
.v8-more-list .nav-item{width:100%;justify-content:flex-start;text-align:left}
.topbar .top-actions{gap:10px;flex:none}
.topbar .header-search{width:clamp(115px,14vw,210px);border-radius:999px;background:#f9f7ff;height:36px;min-width:0}
.topbar .header-search input{font-size:11px}
.topbar .header-search kbd{display:none}
.topbar #themeBtn,.topbar #levelShortcut,.topbar #accountTop{display:none!important}
.topbar #cloudOpen{height:36px;border-radius:999px;padding:0 17px;min-width:72px!important;font-size:12px!important;background:linear-gradient(120deg,#8165e4,#624dca);color:white!important;border:0!important;box-shadow:0 6px 12px #6753c329;white-space:nowrap}
.topbar .global-language-control{height:36px;border-radius:999px;border:1px solid #ebe6fb;min-width:135px;max-width:158px;background:#fff;padding:0 10px;font-size:12px}
.topbar .global-language-control select{font-size:12px;width:100%;max-width:118px;background:transparent;color:#4d4768}
.v8-mini-time{height:36px;display:inline-flex;align-items:center;gap:6px;border:1px solid #e5d9fe;border-radius:999px;background:#f8f4ff;color:#6547bc;white-space:nowrap;padding:0 12px;font-size:12px;letter-spacing:.2px}
.v8-mini-time b{font-size:12px;font-variant-numeric:tabular-nums}
#cloud-reader-toolbar{display:none!important;visibility:hidden!important;pointer-events:none!important}
#view{max-width:1540px;margin:0 auto;padding:18px clamp(15px,3.2vw,52px) 90px;min-height:calc(100vh - 72px)}
/* Hero */
.v8-hero{background:linear-gradient(117deg,#f2efff 0%,#f9f6ff 60%,#f2e9ff 100%);position:relative;overflow:hidden;border-radius:30px;min-height:340px;display:flex;align-items:center;border:1px solid #ece7fa}
.v8-hero::before{content:'';position:absolute;left:-100px;bottom:-220px;width:400px;height:350px;border-radius:50%;background:#e4dfff7a;filter:blur(28px)}
.v8-hero-body{position:relative;z-index:2;width:62%;padding:38px clamp(25px,3vw,56px)}
.v8-eyebrow{letter-spacing:2px;color:#7865d4;font-weight:800;font-size:12px}
.v8-hero h1{font-size:clamp(30px,3.4vw,49px);letter-spacing:-1.5px;line-height:1.26;margin:12px 0 10px;color:#2c2459}
.v8-hero p{color:#756d9c;font-size:15px;margin:0 0 23px}
.v8-hero-puppy{position:absolute;right:-1px;top:0;bottom:0;width:44%;z-index:1;background-image:linear-gradient(90deg,#f5f1ff 0%,#f5f1ff00 18%),url('/assets/reading-puppy-hero-v8.jpg');background-size:cover;background-position:center center;mask-image:linear-gradient(90deg,transparent 0%,#000 12%);-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 12%)}
.v8-hero-search{border:1px solid #e1d9fa;background:#fff;border-radius:999px;height:55px;display:flex;align-items:center;gap:10px;padding:6px 7px 6px 18px;box-shadow:0 7px 22px #7863bf16;max-width:610px}
.v8-hero-search span{font-size:26px;color:#9b92b5;line-height:1}
.v8-hero-search input{min-width:0;flex:1;border:0;outline:0;color:#2f2a53;background:transparent;font-size:14px}
.v8-hero-search input::placeholder{color:#a6a0bc}
.v8-hero-search button{border:0;background:linear-gradient(120deg,#8266e2,#644bc9);border-radius:999px;color:#fff;font-weight:750;padding:12px 25px;white-space:nowrap}
.v8-topics{margin-top:15px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.v8-topics span{font-size:12px;color:#706a94;margin-right:3px}
.v8-topics button{border:0;background:#eae3ff;border-radius:999px;color:#5c4d9c;padding:7px 12px;font-size:12px}
.v8-topics button:hover{background:#dcd2fa}
/* levels */
.v8-section{margin-top:29px}
.v8-section-head{display:flex;gap:12px;align-items:center;margin:0 0 16px}
.v8-section-head h2{font-size:21px;letter-spacing:-.4px;margin:0;color:#29244f}
.v8-section-head span{font-size:12px;color:#928ca5}
.v8-link{border:0;background:transparent;margin-left:auto;color:#7055d6;font-size:13px;font-weight:800;white-space:nowrap}
.v8-levels{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px}
.v8-level{position:relative;min-width:0;border:1px solid #e9e8f4;border-radius:18px;text-align:left;padding:17px 17px;height:112px;display:flex;flex-direction:column;gap:7px;overflow:hidden;transition:.2s;box-shadow:0 6px 16px #35305b07}
.v8-level:hover{transform:translateY(-3px);box-shadow:var(--v8-shadow)}
.v8-level strong{font-size:30px;line-height:1;font-weight:900;letter-spacing:-.8px;z-index:1}
.v8-level span{font-size:12px;color:#574f7e;font-weight:750;z-index:1}
.v8-level i{position:absolute;right:15px;bottom:4px;font-size:31px;opacity:.32;font-style:normal}
.v8-level-a1{background:linear-gradient(145deg,#eef9f0,#d8f1df);color:#387e4e}
.v8-level-a2{background:linear-gradient(145deg,#f0f6ff,#dcecff);color:#3d68af}
.v8-level-b1{background:linear-gradient(145deg,#f5efff,#e9dffe);color:#6a44b9}
.v8-level-b2{background:linear-gradient(145deg,#fff0fa,#f4def5);color:#8d4cb4}
.v8-level-c1{background:linear-gradient(145deg,#fdf0ff,#eee0fb);color:#7d45ab}
.v8-level-c2{background:linear-gradient(145deg,#f5efff,#e9e0ff);color:#6d439f}
/* reading cards */
.v8-book-area{display:grid;grid-template-columns:minmax(0,1fr) 274px;gap:17px}
.v8-feature-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-width:0}
.v8-book-card{position:relative;text-align:left;min-width:0;background:#fff;border:1px solid #ece9f6;border-radius:20px;padding:11px 11px 14px;box-shadow:var(--v8-shadow);transition:transform .18s,box-shadow .18s;overflow:hidden}
.v8-book-card:hover{transform:translateY(-3px);box-shadow:0 16px 33px #493a9d19}
.v8-thumb{position:relative;height:120px;width:100%;border-radius:13px;overflow:hidden;background:#e7dffd}
.v8-thumb img{display:block;width:100%;height:100%;object-fit:cover;object-position:center center}
.v8-level-chip{position:absolute;left:9px;top:9px;background:#f8f4ff;color:#654cc9;border-radius:999px;font-weight:850;padding:5px 10px;font-size:11px;box-shadow:0 2px 5px #17143620}
.v8-book-info{display:flex;flex-direction:column;gap:6px;margin-top:12px;padding:0 3px}
.v8-book-info strong{color:#252343;font-weight:850;font-size:15px;min-height:20px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.v8-book-info small{font-size:12px;color:#7c7399;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.v8-book-meta{display:flex;flex-wrap:wrap;gap:7px;color:#827c9e;font-size:11px;align-items:center;margin-top:5px;padding-right:23px}
.v8-book-meta span{background:#f7f5fb;border-radius:7px;padding:4px 6px}
.v8-read-icon{position:absolute;right:15px;bottom:15px;width:25px;height:25px;border-radius:50%;display:grid;place-items:center;color:#7454d9;background:#f1eaff;font-size:10px}
.v8-shortcuts{background:linear-gradient(160deg,#fff,#f6f2ff);border:1px solid #eae3fb;border-radius:21px;padding:18px 17px;box-shadow:var(--v8-shadow);align-self:start}
.v8-shortcuts h3{margin:0 0 13px;font-size:17px}
.v8-shortcuts button{border:0;background:transparent;border-bottom:1px solid #eeeaf7;width:100%;display:flex;align-items:center;gap:11px;text-align:left;padding:11px 0;min-width:0}
.v8-shortcuts button:last-child{border-bottom:0}
.v8-shortcuts button>span{font-size:24px;width:31px;text-align:center}
.v8-shortcuts button>div{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}
.v8-shortcuts button b{font-size:13px;color:#3c3568}
.v8-shortcuts button small{font-size:10px;color:#8a839f}
.v8-shortcuts button em{font-size:20px;font-style:normal;color:#9c92ca}
.v8-news-summary{margin:20px 0;background:#fff;border:1px solid var(--v8-border);border-radius:20px;padding:19px 22px;display:flex;align-items:center;gap:20px;justify-content:space-between}
.v8-news-summary strong{font-size:16px}.v8-news-summary p{font-size:12px;color:#807993;margin:7px 0 0;line-height:1.6}
.v8-news-summary button{border:0;background:#eee9ff;color:#674ecb;border-radius:13px;padding:11px 15px;font-weight:700;white-space:nowrap}
.v8-resume{display:flex;align-items:center;justify-content:space-between;gap:15px;background:#fff;border:1px solid var(--v8-border);padding:14px 18px;border-radius:15px;margin:14px 0}
.v8-resume>div{display:flex;align-items:center;gap:12px;min-width:0}.v8-resume span{font-size:11px;color:#8f87a5;white-space:nowrap}.v8-resume strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v8-resume small{font-size:11px;color:#8c859f;white-space:nowrap}
/* puppy: highlighter, gentle idle motion; the original drag/longpress UI stays intact */
.desk-dog{filter:drop-shadow(0 12px 13px #36266824)!important}
.desk-dog .dog-art{object-fit:contain!important}
.dark .v8-section-head h2,.dark .v8-book-info strong{color:#ece8ff}
.dark .v8-book-card,.dark .v8-shortcuts,.dark .v8-news-summary,.dark .v8-resume{background:var(--surface);border-color:var(--border)}
/* responsive */
@media(max-width:1360px){.topbar-nav .nav-item{padding:0 8px;font-size:12px}.topbar{gap:10px}.topbar .top-actions{gap:7px}.topbar .header-search{width:155px}.v8-levels{gap:9px}.v8-book-area{grid-template-columns:minmax(0,1fr) 245px}}
@media(max-width:1130px){.topbar-nav [data-nav="daily"]{display:none}.topbar .header-search{width:125px}.topbar .global-language-control{min-width:115px;max-width:120px}.topbar .brand{min-width:145px}.topbar .brand-text{font-size:16px}.v8-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v8-hero-puppy{width:46%}}
@media(max-width:900px){.topbar-nav{display:none}.topbar{padding:0 20px}.topbar .header-search{width:160px}.v8-levels{grid-template-columns:repeat(3,minmax(0,1fr))}.v8-book-area{grid-template-columns:minmax(0,1fr) 230px}.v8-hero-body{width:68%}.v8-hero-puppy{width:42%}}
@media(max-width:780px){.topbar{height:62px;gap:10px}.topbar .brand{min-width:0}.topbar .brand-text small{display:none}.topbar .header-search{display:none}.topbar #cloudOpen{padding:0 12px;min-width:0!important}.topbar .global-language-control{min-width:103px;max-width:118px;padding:0 7px}.topbar .global-language-control select{max-width:95px}.v8-mini-time{height:32px;padding:0 9px;font-size:11px}.v8-hero{min-height:400px;display:block}.v8-hero-body{padding:25px 23px 24px;width:100%}.v8-hero h1{font-size:30px}.v8-hero p{font-size:12px}.v8-hero-puppy{width:100%;height:200px;top:auto;left:0;right:0;bottom:0;background-size:cover;background-position:center 48%;mask-image:linear-gradient(180deg,transparent 0%,#000 27%);-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 27%)}.v8-hero-body{z-index:3}.v8-hero-search{height:46px}.v8-hero-search button{padding:10px 18px}.v8-topics{gap:6px}.v8-topics button{font-size:11px;padding:6px 9px}.v8-section-head h2{font-size:18px}.v8-book-area{grid-template-columns:1fr}.v8-shortcuts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 14px}.v8-shortcuts h3{grid-column:1/-1}.v8-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v8-thumb{height:110px}.v8-news-summary{margin-bottom:80px}.desk-dog{width:88px!important;height:101px!important}}
@media(max-width:520px){.topbar{padding:0 11px;height:58px}.topbar .brand-mark{width:30px;height:30px;font-size:19px}.topbar .brand-text{font-size:14px}.topbar .brand{gap:5px}.topbar .global-language-control{max-width:95px;min-width:82px;height:31px}.topbar #cloudOpen{font-size:11px!important;height:31px}.v8-mini-time{height:31px;padding:0 6px}.topbar .top-actions{gap:5px}.v8-levels{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.v8-level{height:96px;padding:13px}.v8-level strong{font-size:24px}.v8-level span{font-size:11px}.v8-feature-grid{grid-template-columns:1fr}.v8-book-card{display:grid;grid-template-columns:120px minmax(0,1fr);gap:10px;padding:9px;min-height:122px}.v8-thumb{height:104px}.v8-book-info{margin:3px 0;padding:0}.v8-book-info strong{font-size:14px}.v8-read-icon{display:none}.v8-book-meta{font-size:10px;margin:1px 0}.v8-book-meta span:nth-child(3){display:none}.v8-shortcuts{padding:13px}.v8-shortcuts button{gap:6px}.v8-shortcuts button>span{font-size:19px;width:20px}.v8-shortcuts button b{font-size:12px}.v8-shortcuts button small{font-size:9px}.v8-news-summary{padding:14px 15px;gap:6px}.v8-news-summary button{padding:9px 10px;font-size:11px}.v8-resume>div{display:block}.v8-resume small{display:block;margin-top:4px}.v8-resume .btn{padding:10px;font-size:11px}.desk-dog{width:82px!important;height:90px!important}}
@media(max-width:375px){.topbar .brand-text{font-size:12px}.topbar .brand-mark{width:25px;height:25px}.topbar .global-language-control{min-width:72px;max-width:80px}.topbar #cloudOpen{padding:0 8px;font-size:10px!important}.v8-mini-time{padding:0 4px}.v8-hero h1{font-size:25px}.v8-section-head span{display:none}.v8-level{height:87px;padding:10px}}
@media(prefers-reduced-motion:reduce){.v8-level,.v8-book-card{transition:none!important}.desk-dog .dog-art,.desk-dog .dog-wrap,.desk-dog::before,.desk-dog::after{animation:none!important}}
/* V8 mobile header refinements: override legacy mobile top-actions width. */
@media(max-width:900px){
 .topbar .top-actions{width:auto!important;flex:1;min-width:0;justify-content:flex-end!important;gap:8px!important}
 .topbar .brand{width:auto;min-width:max-content;margin:0!important;padding:0!important}
 .topbar .brand-text{display:block!important;visibility:visible!important}
}
@media(max-width:520px){
 .topbar{gap:5px!important;padding:0 10px!important}
 .topbar .top-actions{gap:4px!important}
 .topbar .brand-text{font-size:13px!important;letter-spacing:-.5px!important}
 .topbar .brand-mark{width:28px!important;height:28px!important}
 .topbar .global-language-control{min-width:94px!important;max-width:94px!important;padding:0 5px!important}
 .topbar .global-language-control select{max-width:79px!important;font-size:11px!important}
 .topbar #cloudOpen{min-width:0!important;padding:0 9px!important;max-width:56px!important;overflow:hidden;white-space:nowrap;text-overflow:clip;font-size:10px!important}
 .v8-mini-time{padding:0 6px!important}
 .desk-dog:not(.dragging){right:9px;bottom:85px}
}
@media(max-width:375px){
 .topbar .brand-text{font-size:11px!important}
 .topbar .brand{gap:3px!important}
 .topbar .brand-mark{width:23px!important;height:23px!important}
 .topbar #cloudOpen{max-width:44px!important;font-size:9px!important;padding:0 5px!important}
 .topbar .global-language-control{min-width:73px!important;max-width:73px!important}
 .topbar .global-language-control select{max-width:61px!important;font-size:10px!important}
}

/* Companion is deliberately compact so it does not cover reading controls. */
@media(min-width:781px){.desk-dog{width:104px!important;height:112px!important}}
@media(max-width:780px){.desk-dog{width:69px!important;height:78px!important}}
