/* Original 6.8.1 palette and UI silhouettes; runtime timing adapted for the web. */
:root{--game-ink:#45445f;--game-cyan:#77eedd;--game-pink:#ff75ac}
.world-backdrop{background:linear-gradient(#56567530,#56567530),url('../game-assets/bg_area_scramble.png') center/cover}
.world-backdrop>span{display:none}.world-backdrop:after{background-image:url('../game-assets/bg_common_ptn_dot_s.png');background-size:8px 8px;opacity:.25}
.reader-card{background:#f6f6fbea;border:3px solid #fff;border-radius:22px;box-shadow:7px 8px 0 #48486266}
.reader-side{background:#555570e8}.article-head{border-bottom:3px solid #77eedd}.article-content{font-size:17px;line-height:1.9}.reading-count{display:block;color:#62627c;margin:10px 0}
@keyframes game-enter{from{opacity:0;transform:translateX(45px)}to{opacity:1;transform:translateX(0)}}
.reader-shell{animation:game-enter .25s ease-out}
@media(prefers-reduced-motion:reduce){.reader-shell{animation:none}}

body{color:var(--game-ink)}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.5}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #ff75ac;outline-offset:4px}
.topbar{padding:20px 26px;pointer-events:none}.topbar a,.topbar button{pointer-events:auto}.topbar__right{gap:20px}.game-back,.menu-toggle{width:64px;height:64px;border:0;background:#fff;box-shadow:0 3px 6px #3b3b5550;border-radius:50%;display:grid;place-items:center}.game-back img{width:35px;filter:brightness(.36) sepia(.3) saturate(2)}.menu-toggle span{background:#45445f;width:30px;height:5px;margin:3px auto}.menu-toggle{display:block;padding:15px}.game-stat{height:42px;min-width:160px;display:flex;align-items:center;gap:12px;background:#45445f;color:white;border-radius:30px;padding:0 17px 0 0;box-shadow:0 3px 5px #4444}.game-stat small{font-size:15px;white-space:nowrap}.game-stat b{font-size:24px;font-weight:500}.game-stat sup{font-size:12px;color:#d3d3e5}.stat-note{width:42px;height:42px;display:grid;place-items:center;background:#00c5bb;border-radius:50%;color:#ffe742;font-size:36px}.stat-gem{width:42px;height:42px;font-size:0;background:url('../game-assets/icon_crystal.png') center/34px no-repeat}.menu-panel{background:#d6d6e5;border:5px solid #fff;transition:transform .167s ease-out,opacity .167s}.menu-panel nav a{background:#fff;border-radius:10px;box-shadow:0 4px 0 #48486044}.menu-panel__head{color:#45445f}.menu-close{color:#45445f}
.game-home{height:100svh;min-height:640px;position:relative;overflow:hidden}.home-name{position:absolute;top:20%;left:4%;background:#f7f7fbdc;border-radius:48px;padding:18px 44px;max-width:55%;box-shadow:0 3px 5px #48485030}.home-name small{color:#00aead;font-weight:900;letter-spacing:3px}.home-name h1{font-size:clamp(20px,2.5vw,40px);margin:4px 0}.home-bubble{position:absolute;left:15%;top:49%;background:#fff;border-radius:24px;padding:23px;box-shadow:0 3px 10px #3332}.home-bubble:after{content:'';position:absolute;bottom:-13px;left:45%;border-width:15px 13px 0;border-style:solid;border-color:white transparent transparent}.home-characters{position:absolute;left:22%;bottom:16%;display:flex;gap:clamp(50px,12vw,220px);align-items:end}.home-characters img{height:clamp(160px,24vh,310px);filter:drop-shadow(0 9px 3px #3334);animation:character-idle 4s ease-in-out infinite}.home-characters img:nth-child(2){height:clamp(140px,21vh,270px);animation-delay:-2s}.home-friends{position:absolute;right:3%;top:42%;display:grid;justify-items:center;gap:6px;color:white;text-shadow:0 2px 3px #45445f;font-size:24px}.home-friends img{width:66px;filter:brightness(0) invert(1) drop-shadow(0 2px 3px #45445f)}.home-friends small{font-size:12px}.home-bottom{position:absolute;bottom:4%;left:2%;right:0;display:flex;align-items:end;gap:4%}.home-banner{width:28%;min-height:120px;border:4px solid white;border-radius:17px;background:linear-gradient(120deg,#73dddf90,#ffb4d5cc),url('../game-assets/bg_sekai.png') center/cover;padding:12px 20px;color:#45445f;transform:rotate(-2deg);box-shadow:0 4px 8px #3334;display:grid}.home-banner>span{font-size:13px;font-weight:900}.home-banner strong{font-size:36px;font-style:italic;color:white;text-shadow:3px 3px #45445f}.home-banner small{font-size:13px}.home-bottom-bar{display:flex;align-items:center;justify-content:space-between;flex:1;background:#55556ba8;border-radius:45px 0 0 45px;padding:15px 35px;color:white;min-height:90px}.home-bottom-bar>span{font-size:17px;opacity:.7}.home-live{display:flex;align-items:center;gap:16px;color:#77eedd;text-shadow:0 0 15px #77eedd55;font-size:30px;font-weight:900}.home-live img{width:56px}.home-live small{display:block;font-size:13px;letter-spacing:1px}.home-live:hover{filter:brightness(1.2);transform:translateY(-3px)}
.live-shell{position:relative;min-height:100svh;overflow:hidden}.len-stage{position:absolute;left:0;width:43%;bottom:0;height:90svh;min-height:530px}.len-standing{height:110%;max-width:none;position:absolute;left:50%;bottom:-24%;transform:translateX(-50%);transform-origin:50% 90%;animation:len-idle 5s ease-in-out infinite}.len-talk{position:absolute;bottom:7%;left:9%;width:82%;border:0;border-radius:20px;color:white;background:#454563ce;padding:24px;text-align:left;font-size:20px;box-shadow:0 3px 8px #4442}.len-talk small{display:block;font-size:12px;color:#fff19b;letter-spacing:2px;margin-bottom:10px}.len-talk i{display:block;text-align:right;font-style:normal;color:#77eedd}.live-phone{position:relative;margin:95px 2% -60px 44%;min-height:calc(100svh - 40px);border:12px solid #41416e;border-radius:65px 65px 0 0;background:linear-gradient(145deg,#8989a7,#545470);box-shadow:inset 0 0 0 3px #b0b0ca,0 0 0 4px #888ba5;transform:rotate(3deg);padding:105px 25px 65px;animation:phone-slide .3s ease-out}.phone-notch{position:absolute;top:0;left:28%;width:44%;height:26px;background:#41416e;border-radius:0 0 17px 17px}.phone-watermark{position:absolute;right:30px;top:12px;font-size:clamp(85px,11vw,180px);font-weight:900;color:transparent;-webkit-text-stroke:2px #d4d4e532;pointer-events:none}.live-content{position:relative}.live-content h1{font-size:22px;color:white;letter-spacing:1px;margin:0 0 20px}.live-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.live-tile{background:linear-gradient(145deg,#77eedd,#85b9cf);border-radius:7px;box-shadow:0 5px 5px #3335;min-height:195px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;overflow:hidden;text-align:center;color:white;padding:15px 6px;transition:transform .167s}.live-tile:before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,#fff3 0%,#fff3 20%,transparent 20%);pointer-events:none}.live-tile strong{font-size:clamp(16px,1.6vw,25px);font-weight:900}.live-tile small{font-size:12px;color:#45445f9e;font-weight:800;margin-top:6px}.live-solo:hover{transform:scale(1.035);filter:brightness(1.1)}.tile-icon{font-size:70px;line-height:1.25;position:relative}.tile-icon i{position:absolute;font-size:30px;left:22px;top:28px;color:#76c5ca;font-style:normal}.tile-decor{opacity:.68}.tile-decor.pink{background:linear-gradient(145deg,#ff9ec3,#d6aaca)}.tile-decor.lilac{background:linear-gradient(145deg,#bcaaff,#aaa5d6)}.live-strips{display:flex;gap:12px;margin-top:16px}.live-strips>div{flex:1;text-align:center;background:#d0d0e1;border-radius:6px;padding:16px 5px;font-weight:900;font-size:19px;box-shadow:0 4px 4px #3334;opacity:.65}.live-strips small,.live-decor-bottom small{display:block;font-size:12px;margin-top:6px;opacity:.65}.live-subhead{color:white;letter-spacing:1px;margin-top:34px}.live-decor-bottom{display:grid;grid-template-columns:2fr 1fr;gap:14px;opacity:.55}.live-decor-bottom>div{background:#d0cee5;border-radius:7px;text-align:center;font-size:23px;font-weight:bold;padding:27px 5px}.mock-caption{font-size:12px;color:#e5e5ed;text-align:center;margin-top:22px}
.song-select{height:100svh;min-height:640px;padding:118px 25px 20px 135px;display:grid;grid-template-columns:minmax(300px,1.4fr) minmax(300px,1fr);gap:35px;position:relative;overflow:hidden}.page-type-search .game-stat{display:none}.song-search{position:absolute;top:28px;left:145px;width:calc(100% - 280px);max-width:790px;display:flex;gap:10px;align-items:center;background:white;border-radius:40px;padding:5px 9px 5px 22px;height:52px;box-shadow:0 3px 5px #4443}.song-search label{font-size:30px}.song-search input{width:100%;border:0;outline:none;min-width:0;font-size:17px;background:transparent;color:#45445f}.song-search button{border:0;background:#77eedd;border-radius:24px;padding:9px 22px;white-space:nowrap;color:#45445f;font-weight:800}.unit-tabs{position:absolute;left:24px;top:135px;bottom:25px;width:90px;border-radius:40px;background:#535775ad;display:flex;flex-direction:column;align-items:stretch;padding:12px 5px;gap:12px;overflow:auto;scrollbar-width:thin}.unit-tabs button{color:white;display:grid;justify-items:center;gap:7px;flex-shrink:0;padding:13px 2px;background:none;border:0;font-size:14px;font-weight:bold;border-radius:20px;min-height:65px}.unit-tabs button img{width:34px;height:34px;object-fit:contain}.unit-tabs button small{font-size:12px;opacity:.7}.unit-tabs button.active{color:#77eedd;background:#3438505c;box-shadow:inset 3px 0 #77eedd}.song-list-area{min-height:0;display:flex;flex-direction:column}.song-list-area>p{font-size:12px;color:white;text-shadow:0 1px 4px #444;flex:none;margin:0 0 10px}.song-list{overflow-y:auto;min-height:0;padding:6px 9px 60px 0;scrollbar-width:thin;scrollbar-color:#77eedd #55557033}.song-row{width:100%;border:0;border-bottom:2px solid #fff4;background:#51557038;color:white;text-align:left;display:grid;grid-template-columns:56px 64px minmax(0,1fr);gap:14px;align-items:center;padding:22px 15px;min-height:135px;border-radius:8px;position:relative;transition:background .167s,transform .167s,color .167s}.song-row.selected{background:#fafaf2eb;color:#45445f;box-shadow:0 4px 10px #4442;transform:translateX(5px)}.song-row:hover{background:#eeeeef80}.song-row.selected:hover{background:#fff}.view-medal{display:grid;justify-items:center;gap:5px}.view-medal small{font-size:12px;white-space:nowrap}.view-medal b{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;background:#db41ff;color:#45445f;font-size:23px}.song-thumb{width:64px;height:64px;object-fit:cover;box-shadow:0 2px 4px #3334}.song-info{display:grid;gap:8px;padding-bottom:15px;min-width:0}.song-info strong{font-size:20px;line-height:1.4;overflow-wrap:anywhere}.song-info time{font-size:14px;opacity:.85}.diamonds{font-size:18px;letter-spacing:1px;color:#464663}.diamonds i{font-style:normal;color:#ff8dd3;-webkit-text-stroke:1px #464663}.diamonds em{font-style:normal;color:#ffe794;-webkit-text-stroke:1px #464663}.row-tag{position:absolute;right:12px;bottom:13px;border:2px solid #77eedd;border-radius:7px;padding:1px 8px;background:#45445f;color:#77eedd;font-size:13px;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-phone{min-height:0;position:relative;border:10px solid #41416e;border-radius:52px 52px 25px 25px;background:linear-gradient(145deg,#8585a2ef,#53536f);box-shadow:inset 0 0 0 3px #a4a3bf,0 0 0 3px #9397ae;transform:rotate(2deg);padding:37px 25px 18px;animation:phone-slide .3s ease-out;color:white;overflow:auto;scrollbar-width:thin}.song-preview{min-height:100%;display:flex;flex-direction:column;align-items:center}.jacket-wrap{position:relative;width:min(70%,250px);margin:8px auto 10px}.jacket-label{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:#45445f;color:white;border-radius:5px;padding:5px 12px;font-size:13px;white-space:nowrap;z-index:1}.jacket{width:100%;aspect-ratio:1;object-fit:cover;box-shadow:0 6px 15px #3333}.song-preview h1{font-size:23px;align-self:stretch;line-height:1.35;margin:12px 0 8px}.preview-date{align-self:stretch;margin:0;position:relative;font-size:14px}.rank-s{position:absolute;right:0;top:-24px;color:#ff85bd;font-size:45px;font-weight:900;font-style:italic}.preview-tags{align-self:stretch;display:flex;gap:6px;margin-top:12px;flex-wrap:wrap}.preview-tags span{border:1px solid #77eedd;border-radius:15px;color:#77eedd;font-size:12px;padding:3px 10px}.preview-excerpt{font-size:15px;line-height:1.8;align-self:stretch;margin:14px 0 22px}.read-start{border:3px solid #b0fff5;background:#77eedd;border-radius:35px;box-shadow:0 4px 0 #45445f99,0 0 0 2px #4445;color:#45445f;padding:12px 30px;font-size:21px;font-weight:900;display:flex;gap:25px;align-items:center;justify-content:center;min-width:70%;margin-top:auto}.read-start:hover{filter:brightness(1.1)}.random-post{margin-top:17px;border:0;background:none;color:white;display:flex;align-items:center;gap:12px;font-size:16px}.random-post img{width:30px;filter:brightness(0) invert(1)}.empty-selection{padding-top:50px;text-align:center}.no-script{position:absolute;inset:130px 20% auto;background:white;padding:30px;border-radius:20px}
.friends-shell{max-width:1000px;margin:auto;padding:130px 30px 60px}.friends-shell header{background:#eeeeefed;border:3px solid white;border-radius:20px;padding:25px;margin-bottom:25px}.friends-shell h1{margin:5px 0}.friends-shell header p{font-size:14px}.friend-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.friend-card{display:flex;align-items:center;gap:15px;background:#f5f5f5ee;padding:23px;border-radius:14px;box-shadow:0 5px #45445f80;transition:transform .167s}.friend-card:hover{transform:translateY(-4px)}.friend-card>span{background:#77eedd;border-radius:50%;padding:12px;font-weight:bold}.friend-card>div{min-width:0;flex:1}.friend-card small{display:block;font-size:12px;margin-top:7px;overflow-wrap:anywhere}.friend-card strong{font-size:20px}.friend-card>b{color:#f785b6}
.tap-ring{position:fixed;z-index:1000;pointer-events:none;width:55px;height:55px;border:3px solid white;border-radius:50%;box-shadow:0 0 8px #77eedd,inset 0 0 8px #77eedd;animation:tap-expand .417s ease-out forwards}.site-main{transition:opacity .167s,filter .167s}.page-leaving .site-main{opacity:0;filter:blur(3px)}
@keyframes tap-expand{from{transform:translate(-50%,-50%) scale(.3);opacity:1}to{transform:translate(-50%,-50%) scale(1.7);opacity:0}}
@keyframes phone-slide{from{opacity:0;translate:140px 0}to{opacity:1;translate:0 0}}
@keyframes character-idle{50%{transform:translateY(-5px) rotate(1deg)}}
@keyframes len-idle{50%{transform:translateX(-50%) rotate(.7deg)}}
@media(max-width:1000px){.song-select{gap:18px;padding-left:112px}.unit-tabs{left:12px;width:78px}.song-row{grid-template-columns:44px 50px minmax(0,1fr);gap:9px;padding:16px 9px}.song-thumb{width:50px;height:50px}.song-info strong{font-size:17px}.song-phone{padding:35px 18px 18px}.live-phone{margin-left:38%;padding-left:16px;padding-right:16px}.len-stage{width:38%}.live-tile{min-height:170px}.live-strips>div{font-size:15px}.game-stat{min-width:130px;gap:8px}.game-stat small{font-size:13px}}
@media(max-width:700px){.topbar{padding:14px}.topbar__right{gap:9px}.game-back,.menu-toggle{width:46px;height:46px}.game-back img{width:27px}.menu-toggle{padding:10px}.menu-toggle span{width:24px;height:4px;margin:3px auto}.game-stat{height:32px;min-width:90px;padding-right:9px;gap:5px}.game-stat b{font-size:18px}.game-stat small{font-size:12px}.game-stat sup{display:none}.stat-note,.stat-gem{width:30px;height:30px;font-size:26px}.stat-gem{font-size:0;background-size:25px}.home-name{top:19%;max-width:83%;padding:15px 22px}.home-name h1{font-size:23px}.home-bubble{left:8%;font-size:14px;top:43%}.home-characters{left:15%;gap:12vw;bottom:23%}.home-friends{top:35%;right:5%;font-size:18px}.home-friends img{width:45px}.home-bottom{flex-direction:column;align-items:stretch;gap:15px;left:5%;right:0}.home-banner{width:62%;min-height:95px}.home-banner strong{font-size:27px}.home-bottom-bar{min-height:73px;padding:12px 20px}.home-bottom-bar>span{font-size:12px}.home-live{font-size:23px;gap:10px}.home-live img{width:34px}.live-shell{padding-top:76px;overflow:visible}.len-stage{height:45svh;min-height:300px;width:100%;position:relative;overflow:hidden}.len-standing{height:150%;bottom:-55%;left:30%}.len-talk{left:48%;width:48%;bottom:12%;font-size:15px;padding:15px}.live-phone{margin:0 16px 25px;min-height:0;transform:rotate(1deg);border-width:8px;padding:85px 12px 30px;border-radius:40px}.live-tile{min-height:150px}.tile-icon{font-size:55px}.tile-icon i{font-size:23px;left:17px;top:23px}.live-content h1{font-size:18px}.live-strips>div{font-size:13px}.live-decor-bottom>div{font-size:18px}.song-select{height:auto;min-height:100svh;display:block;overflow:visible;padding:155px 14px 30px}.song-search{left:73px;right:73px;top:14px;width:auto;height:46px;padding-left:12px;gap:4px}.song-search input{font-size:14px}.song-search button{padding:7px 9px;font-size:13px}.song-search label{font-size:24px}.unit-tabs{position:absolute;top:79px;left:14px;right:14px;bottom:auto;width:auto;height:65px;flex-direction:row;border-radius:24px;padding:4px 8px;gap:6px;overflow:auto}.unit-tabs button{display:flex;gap:7px;min-height:0;padding:8px 12px;white-space:nowrap}.unit-tabs button img{width:23px;height:23px}.unit-tabs button small{display:none}.unit-tabs button.active{box-shadow:inset 0 -3px #77eedd}.song-list{max-height:42svh;padding-bottom:10px}.song-row{min-height:113px}.song-phone{margin-top:22px;transform:none;min-height:470px;border-radius:38px;padding:35px 22px 22px}.jacket-wrap{width:170px}.song-preview h1{font-size:22px}.song-preview .read-start{margin-top:8px}.friends-shell{padding:95px 16px 35px}.friend-grid{grid-template-columns:1fr}.reader-shell{padding-top:90px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

/* These three complete button backgrounds are decoded directly from the APKS. */
.live-tile,.tile-decor.pink,.tile-decor.lilac{aspect-ratio:1.03;min-height:0;background:transparent url('../game-assets/btn_live_free.png') center/100% 100% no-repeat;justify-content:flex-end;padding-bottom:22px;box-shadow:none;border-radius:0}
.tile-decor.pink{background-image:url('../game-assets/btn_live_multi.png')}.tile-decor.lilac{background-image:url('../game-assets/btn_live_maker.png')}.live-tile:before,.live-tile .tile-icon{display:none}.live-tile strong{position:relative}.live-tile small{position:relative}.tile-decor{opacity:.8}
.menu-panel{overflow-y:auto}.page-type-index .game-back{visibility:hidden}.page-type-index .world-backdrop:after{opacity:.08}
@media(max-width:700px){.live-tile,.tile-decor.pink,.tile-decor.lilac{padding-bottom:13px}.live-tile strong{font-size:14px}.live-tile small{font-size:10px}}
