.hero{border-bottom:1px solid var(--border);height:640px;position:relative;overflow:hidden}.hero .grid-bg{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(8,1fr);gap:6px;display:grid;position:absolute;inset:0}.hero .grid-bg a{background:var(--surface);display:block;overflow:hidden}.hero .grid-bg img{object-fit:cover;object-position:50% 25%;width:100%;height:100%}.hero .shade{pointer-events:none;background:linear-gradient(90deg,rgba(var(--bg-rgb),.94) 0,rgba(var(--bg-rgb),.8) 34%,rgba(var(--bg-rgb),.2) 66%,rgba(var(--bg-rgb),0) 100%), linear-gradient(0deg,rgba(var(--bg-rgb),.9) 0,rgba(var(--bg-rgb),0) 45%);position:absolute;inset:0}.hero .copy{left:var(--gutter);z-index:2;max-width:620px;position:absolute;bottom:56px}.hero h1{font-size:var(--fs-1);letter-spacing:-.035em;line-height:1.02}.hero h1 span{display:block}.hero .acts{flex-wrap:wrap;gap:8px;margin-top:28px;display:flex}.hero .note{margin-top:20px}.hero .grid-bg{filter:var(--hero-filter)}.promo{right:var(--gutter);z-index:2;width:min(660px,48vw);position:absolute;bottom:56px}.promo-rail{scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;padding:2px;display:flex;overflow-x:auto}.promo-rail::-webkit-scrollbar{display:none}.promo-card{aspect-ratio:3/4;border-radius:var(--r-s);background:var(--surface);scroll-snap-align:start;width:210px;box-shadow:var(--card-shadow);flex:none;position:relative;overflow:hidden}.promo-card img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.promo-card:hover img{transform:scale(1.04)}.promo-card:after{content:"";pointer-events:none;background:linear-gradient(#0c0d1000 55%,#0c0d10d9 100%);position:absolute;inset:0}.promo-card b{z-index:1;font-size:var(--fs-4);letter-spacing:-.02em;color:#fff;position:absolute;bottom:14px;left:16px}.promo-nav{z-index:3;background:var(--glass);border:1px solid var(--border);width:36px;height:36px;color:var(--text);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:6px;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.promo-nav:disabled{opacity:0;pointer-events:none}.promo-nav svg{width:16px;height:16px}.promo-nav.prev{left:-18px}.promo-nav.next{right:-18px}@media (max-width:1360px){.hero h1{font-size:58px}.promo{width:min(560px,42vw)}.promo-card{width:180px}}@media (max-width:1100px) and (min-width:721px){.hero h1{font-size:48px}.promo{width:44vw}.promo-card{width:160px}.promo-card b{font-size:var(--fs-5)}}.feature-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.feature{border:1px solid var(--border);background:var(--surface);grid-template-columns:1fr 1fr;gap:0;min-height:260px;display:grid}.feature .ph{background:var(--bg);overflow:hidden}.feature .ph img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.feature:hover .ph img{transform:scale(1.03)}.feature .txt{flex-direction:column;gap:8px;min-width:0;padding:20px;display:flex}.feature .txt .kind{font-size:var(--fs-7);color:var(--text-2)}.feature .txt h3{font-size:var(--fs-4)}.feature .txt p{font-size:var(--fs-6);color:var(--text-2);-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.feature .txt .by{font-size:var(--fs-7);color:var(--text-3);margin-top:auto}.cont-row{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.cont{border:1px solid var(--border);border-radius:var(--r-s);align-items:center;gap:12px;min-width:0;padding:12px;display:flex}.cont:hover{border-color:var(--text-2)}.cont .th{background:var(--surface);flex:none;width:48px;height:64px;overflow:hidden}.cont .th img{object-fit:cover;width:100%;height:100%}.cont b{font-size:var(--fs-6);white-space:nowrap;text-overflow:ellipsis;font-weight:500;display:block;overflow:hidden}.cont span{font-size:var(--fs-7);color:var(--text-2)}.tag-wall{font:500 var(--fs-3)/1.45 var(--sans);letter-spacing:-.03em;color:var(--text-2)}.tag-wall a{white-space:nowrap;margin-right:.5em}.tag-wall a:nth-child(3n+1){color:var(--text)}.tag-wall a:hover{color:var(--mark)}.create-band{margin-top:var(--section);border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface);padding:64px 0}.create-band .wrap{grid-template-columns:5fr 7fr;align-items:center;gap:64px;display:grid}.create-band .wrap>*{min-width:0}.create-band h2{font-size:var(--fs-2);letter-spacing:-.035em}.create-band p{color:var(--text-2);max-width:480px;margin-top:16px}.create-band .btn{margin-top:24px}.template-wall{font:500 var(--fs-3)/1.5 var(--sans);letter-spacing:-.03em;color:var(--text-2)}.template-wall span{margin-right:.45em;display:inline-block}.template-wall span:nth-child(odd){color:var(--text)}.explore-head{flex-direction:column;gap:20px;padding-top:48px;display:flex}.explore-tools{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.explore-tools form{flex:1;gap:8px;min-width:260px;max-width:520px;display:flex}.ending-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.ending-card{border:1px solid var(--border);border-radius:var(--r-s);background:var(--surface);flex-direction:column;gap:6px;min-height:132px;padding:14px;display:flex}.ending-card.locked{background:0 0;border-style:dashed}.ending-card .r{font:600 var(--fs-7)/1 var(--sans);letter-spacing:.02em}.r-n{color:var(--rare-n)}.r-r{color:var(--rare-r)}.r-sr{color:var(--rare-sr)}.r-ssr{color:var(--rare-ssr)}.ending-card b{font-size:var(--fs-6);font-weight:600}.ending-card p{font-size:var(--fs-7);color:var(--text-2)}.ending-card .foot{font-size:var(--fs-7);color:var(--text-3);margin-top:auto}.plays-list{border-top:1px solid var(--border);flex-direction:column;display:flex}.plays-list a{border-bottom:1px solid var(--border);font-size:var(--fs-6);justify-content:space-between;gap:16px;padding:14px 0;display:flex}.plays-list a:hover b{color:var(--mark)}.plays-list b{font-weight:500}.plays-list span{color:var(--text-2)}@media (max-width:1100px){.hero .grid-bg{grid-template-columns:repeat(6,1fr)}.feature-grid{grid-template-columns:1fr 1fr}.cont-row{grid-template-columns:repeat(2,1fr)}.ending-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:720px){.hero{height:auto}.hero .grid-bg{grid-template-rows:repeat(2,1fr);grid-template-columns:repeat(4,1fr);gap:3px;height:300px;position:relative}.hero .grid-bg a:nth-child(n+9){display:none}.hero .shade{background:linear-gradient(180deg,rgba(var(--bg-rgb),0) 40%,var(--bg) 100%);height:300px}.hero .copy{padding:8px var(--gutter) 40px;position:relative;bottom:auto;left:auto}.promo{width:auto;padding:0 var(--gutter) 32px;position:relative;bottom:auto;right:auto}.promo-card{width:150px}.promo-card b{font-size:var(--fs-5);bottom:10px;left:12px}.promo-nav{display:none}.feature-grid{grid-template-columns:1fr}.feature{min-height:200px}.cont-row{grid-template-columns:1fr}.tag-wall{font-size:var(--fs-4)}.create-band .wrap{grid-template-columns:1fr;gap:24px}.template-wall{font-size:var(--fs-4)}.ending-grid{grid-template-columns:repeat(2,1fr)}}.wm-back{z-index:70;background:var(--scrim);justify-content:center;align-items:center;padding:40px 24px;display:flex;position:fixed;inset:0}.wm{background:var(--bg);border:1px solid var(--border);border-radius:var(--r-l);outline:none;flex-direction:column;width:100%;max-width:760px;max-height:calc(100vh - 80px);display:flex;overflow:hidden}.wm-bar{border-bottom:1px solid var(--border);flex:none;justify-content:space-between;align-items:center;gap:16px;height:56px;padding:0 12px 0 24px;display:flex}.wm-bar b{font-size:var(--fs-5);font-weight:600}.wm-body{overscroll-behavior:contain;flex-direction:column;flex:1;display:flex;overflow:auto}.wm-state{text-align:center;color:var(--text-2);padding:96px 24px}.ws{flex-direction:column;flex:1;display:flex}.ws-top{grid-template-columns:200px minmax(0,1fr);gap:24px;padding:24px;display:grid}.ws-cover{aspect-ratio:3/4;background:var(--surface);border-radius:6px;align-self:start;overflow:hidden}.ws-cover img{object-fit:cover;width:100%;height:100%;display:block}.ws-cover .blank{height:100%;font:600 64px/1 var(--sans);color:var(--text-3);justify-content:center;align-items:center;display:flex}.ws-head{flex-direction:column;gap:12px;min-width:0;display:flex}.ws-title-row{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ws-title-row h2{font-size:var(--fs-3);word-break:keep-all;line-height:1.3}.ws-acts{flex:none;gap:6px;display:flex}.ws-icon{border:1px solid var(--border);min-width:36px;height:36px;color:var(--text-2);font:500 var(--fs-6)/1 var(--sans);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:0 10px;transition:color .15s,border-color .15s;display:inline-flex}.ws-icon:hover,.ws-icon[aria-pressed=true]{color:var(--text);border-color:var(--text-3)}.ws-by{font-size:var(--fs-6);color:var(--text-2);align-items:center;gap:8px;display:flex}.ws-by .avatar{width:24px;height:24px;font-size:11px}.ws-by a{color:var(--text)}.ws-chips{flex-wrap:wrap;gap:6px;display:flex}.ws-chips span{border:1px solid var(--border);color:var(--text-2);border-radius:4px;padding:6px 8px;font-size:12px;line-height:1}.ws-tags{font-size:var(--fs-6);flex-wrap:wrap;gap:4px 10px;display:flex}.ws-tags a{color:var(--text-2)}.ws-tags a:hover{color:var(--text)}.ws-stats{font-size:var(--fs-6);color:var(--text-2)}.ws-tagline{color:var(--text);line-height:1.55;font-size:var(--fs-5)}.ws-edit{font-size:var(--fs-6);color:var(--text-2);text-underline-offset:3px;text-decoration:underline}.ws-sec{border-top:1px solid var(--border);flex-direction:column;gap:12px;padding:20px 24px;display:flex}.ws-sec h3{font-size:var(--fs-5);font-weight:600}.ws-aside{font-size:var(--fs-6);color:var(--text-2);margin-top:-4px}.ws-prose{color:var(--text);flex-direction:column;gap:12px;line-height:1.75;display:flex}.ws-prose p{white-space:pre-wrap}.ws-prose ul{flex-direction:column;gap:4px;margin:0;padding-left:20px;display:flex}.ws-prose b{font-weight:600}.ws-prose em{color:var(--text-2);font-style:italic}.ws-field{flex-direction:column;gap:8px;display:flex}.ws-field>span{font-size:var(--fs-6);color:var(--text);font-weight:600}.ws-field small{font-size:var(--fs-6);color:var(--text-2);line-height:1.5}.ws-note{font-size:var(--fs-6);color:var(--text-2)}.ws-note b{color:var(--text);font-weight:600}.ws-prologue{border-left:3px solid var(--border);flex-direction:column;gap:12px;max-height:380px;padding:2px 0 2px 16px;display:flex;overflow:auto}.ws-scene{color:var(--text-3);font-size:var(--fs-6);line-height:1.6}.ws-narr{color:var(--text-2);white-space:pre-wrap;line-height:1.75}.ws-say{flex-direction:column;gap:2px;line-height:1.7;display:flex}.ws-say b{font-size:var(--fs-6);color:var(--text-2);font-weight:600}.ws-say span{color:var(--text);white-space:pre-wrap}.ws-cast{flex-direction:column;gap:10px;display:flex}.ws-person{border:1px solid var(--border);border-radius:6px;gap:14px;padding:12px;display:flex}.ws-person .th{background:var(--surface);width:56px;height:74px;color:var(--text-3);border-radius:4px;flex:none;justify-content:center;align-items:center;font-weight:600;display:flex;overflow:hidden}.ws-person .th img{object-fit:cover;width:100%;height:100%}.ws-person b{font-weight:600;display:block}.ws-person span{font-size:var(--fs-6);color:var(--text-2);margin-top:2px;display:block}.ws-person p{font-size:var(--fs-6);color:var(--text-2);margin-top:6px;line-height:1.6}.ws-person .ws-char-hover{max-width:100%;margin-top:8px;display:inline-flex}.ws-person .ws-char{border:1px solid var(--border);max-width:100%;height:26px;font-size:var(--fs-7);color:var(--text);white-space:nowrap;text-overflow:ellipsis;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-weight:500;display:inline-flex;overflow:hidden}.ws-person .ws-char:hover{border-color:var(--text-2)}.ws-person .ws-char svg{color:var(--text-2);flex:none}.ws-foot{z-index:2;background:var(--bg);border-top:1px solid var(--border);gap:8px;margin-top:auto;padding:12px 24px 16px;display:flex;position:sticky;bottom:0}.ws-foot .btn{height:48px}.ws-foot .btn.primary{flex:1}.ws-foot{flex-wrap:wrap}.ws-foot .ws-guest-note{font-size:var(--fs-7);word-break:keep-all;flex-basis:100%;margin:0 0 4px;line-height:1.5}.ws-page{border:1px solid var(--border);border-radius:var(--r-l);background:var(--bg);max-width:760px;margin:32px auto 0;overflow:clip}@media (max-width:720px){.wm-back{align-items:stretch;padding:0}.wm{border:0;border-radius:0;max-width:none;height:100%;max-height:none}.wm-bar{padding:0 8px 0 16px}.ws-top{grid-template-columns:120px minmax(0,1fr);gap:16px;padding:16px}.ws-title-row{flex-direction:column;gap:8px}.ws-sec{padding:16px}.ws-foot{padding:12px 16px 16px}.ws-page{border-left:0;border-right:0;border-radius:0;margin:0 -16px}}.me-play{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:12px 0;display:flex}.me-play .th{background:var(--surface);flex:none;width:44px;height:58px;overflow:hidden}.me-play .th img{object-fit:cover;width:100%;height:100%}.me-play .info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.me-play .info b{white-space:nowrap;text-overflow:ellipsis;font-weight:500;overflow:hidden}.me-play .info span{font-size:var(--fs-7);color:var(--text-2)}.persona-grid{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.persona{border:1px solid var(--border);border-radius:var(--r-s);align-items:center;gap:14px;padding:14px;display:flex}.persona p{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.me-settings{flex-direction:column;max-width:560px;display:flex}.me-settings section{border-top:1px solid var(--border);flex-direction:column;gap:14px;padding:24px 0;display:flex}.me-who{align-items:center;gap:10px;margin-top:8px;display:flex}.me-who .avatar{width:28px;height:28px;font-size:12px}.me-ident{font-size:var(--fs-5,15px);align-items:center;gap:12px;margin:2px 0 0;display:flex}.me-ident .avatar{width:48px;height:48px;font-size:var(--fs-5)}.me-ident p{overflow-wrap:anywhere;min-width:0;margin:0}.me-ident b{font-weight:650}@media (max-width:720px){.persona-grid{grid-template-columns:1fr}}.ws-chips span.adult{color:var(--adult);border-color:rgba(var(--adult-rgb),.45)}.me-settings .me-theme{align-self:flex-start}.me-check{font-size:var(--fs-6);cursor:pointer;align-items:center;gap:8px;display:flex}.me-check input{width:16px;height:16px;accent-color:var(--accent)}
