@font-face{font-family:Usamin;src:url('./assets/usamin-display.ttf') format('truetype');font-display:swap}
@font-face{font-family:Yomogi;src:url('./assets/yomogi.ttf') format('truetype');font-display:swap}
:root{--ink:#4c3c5c;--muted:#75667f;--berry:#7d548f;--pink:#e1d0ed;--paper:#ffffff;--accent:#72558d;--line:#e1d5e9;--display:Usamin,'Hiragino Maru Gothic ProN',sans-serif;--hand:Yomogi,'Hiragino Maru Gothic ProN',sans-serif;--body:'Hiragino Maru Gothic ProN','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.8 var(--body);letter-spacing:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation}img{max-width:100%;height:auto;display:block}a,button{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--accent);outline-offset:5px}
.lucide{width:20px;height:20px;stroke-width:1.6;flex-shrink:0}.skip-link{position:fixed;top:-80px;left:12px;background:white;padding:12px;z-index:100}.skip-link:focus{top:8px}.handwritten{font-family:var(--hand);font-weight:600}.section-kicker{font:12px/1.7 Georgia,serif;color:var(--accent)}.sample-label{font-size:12px;color:#825670;border-bottom:1px dashed #b48b9f}.icon-button{width:40px;height:40px;display:inline-flex;justify-content:center;align-items:center;background:#ffffff;border:1px solid var(--line);border-radius:50%;padding:8px}.icon-button:hover{background:#f3ebfa}
.site-header{display:flex;justify-content:space-between;align-items:center;gap:22px;height:76px;padding:0 4%;background:#fffffff2;border-bottom:1px solid var(--line);position:relative;z-index:20}.brand{display:flex;gap:8px;align-items:center}.brand>img{width:40px;height:40px}.brand b{font:22px/1.5 var(--display);display:block}.brand small{font:italic 12px/1.5 Georgia,serif;display:block;color:var(--muted)}.site-header nav{display:flex;gap:25px;margin-left:auto}.site-header nav a{font-size:14px;font-weight:700;border-bottom:1px solid transparent}.site-header nav a:hover{border-color:var(--berry);color:var(--berry)}.header-tools{display:flex;gap:8px}.menu-button{display:none}
.profile-book{padding:20px max(28px,calc((100% - 1280px)/2)) 32px;background:#fcfaff url('./assets/section-room.png') center/cover no-repeat;border-bottom:2px solid var(--pink)}.book-topline{display:flex;justify-content:space-between;gap:16px;align-items:center;max-width:1210px;margin:auto}.edition{font:italic 13px Georgia,serif;color:var(--muted)}.book-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 12px 16px;border-bottom:2px dotted #cfabc0}.book-heading h1{margin:0;font-family:var(--hand);font-size:25px;line-height:1.5}.book-heading h1>span{font-family:var(--display);color:var(--berry);font-size:33px;margin-right:8px}.book-heading>p{font-size:17px;transform:rotate(-3deg);margin:0;color:var(--berry)}.book-spread{display:grid;grid-template-columns:1fr 1.14fr;position:relative}.profile-page{padding:20px 44px 5px 14px;border-right:2px dashed #cfabc0}
.name-row{display:flex;justify-content:space-between;align-items:center;gap:10px}.question{font-size:12px;font-weight:700;color:var(--berry);display:block}.profile-name{font:700 43px/1.4 var(--hand);margin:5px 0 18px;white-space:nowrap;color:#765482}.profile-name>span{font:italic 19px Georgia,serif;display:block;margin:0 0 0 9px}.profile-sticker{width:110px;height:110px;object-fit:contain;transform:rotate(8deg);filter:drop-shadow(4px 5px #ead5df75)}.profile-answers>div{display:grid;grid-template-columns:116px 1fr;gap:15px;border-bottom:1px solid var(--line);min-height:50px;align-items:center;padding:8px 0}.answer{font-family:var(--hand);font-size:19px;line-height:1.6;font-weight:600}.color-dot{display:inline-block;width:12px;height:12px;border-radius:50%;border:1px solid #73507133;margin-right:3px}.lavender{background:#c3a5dc}.rose{background:#f2c5d5}.profile-signoff{display:flex;justify-content:space-between;align-items:center;padding-top:12px}.profile-signoff>p{font-size:22px;transform:rotate(-3deg);margin:8px 0}.profile-signoff img{width:55px;height:55px;transform:rotate(15deg)}.fiction-note{font-size:12px;color:var(--muted);line-height:1.8;margin:10px 0 0}
.character-page{min-width:0;position:relative;padding-left:24px}.character-page-label{display:flex;justify-content:space-between;align-items:center;padding:16px 12px 0;position:relative;z-index:2}.expression-status{font:16px var(--hand);color:var(--berry);border-bottom:2px solid var(--pink);min-width:100px;text-align:center}.character-stage{height:434px;position:relative;isolation:isolate;touch-action:pan-y}.character-stage canvas{width:100%;height:100%;display:block;touch-action:pan-y;cursor:grab;outline-offset:-4px}.character-stage canvas:active{cursor:grabbing}.character-speech{position:absolute;left:8px;top:18px;max-width:190px;line-height:1.7;font-size:17px;margin:0;transform:rotate(-5deg);color:var(--berry);pointer-events:none;text-shadow:1px 1px white}.stage-handwriting{position:absolute;right:4px;bottom:20px;font-size:18px;transform:rotate(7deg);color:#825c74;pointer-events:none}.model-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:14px;color:var(--muted);pointer-events:none}.model-loading img{height:280px;width:280px;object-fit:contain}.model-loading[hidden]{display:none}
.character-controls{display:flex;justify-content:center;gap:7px;position:relative;z-index:2}.character-controls button{width:76px;display:flex;flex-direction:column;align-items:center;gap:5px;background:transparent;border:0;padding:8px 5px;transition:transform .2s,color .2s}.character-controls button:hover{transform:translateY(-3px);color:var(--berry)}.character-controls button .lucide{width:24px;height:24px}.character-controls button span{font-family:var(--hand);font-size:15px;font-weight:700}.page-number{text-align:right;font:12px Georgia,serif;color:var(--muted);margin:8px 10px 0}
.section-heading{text-align:center;margin:0 auto 36px}.section-heading h2{font:700 32px/1.5 var(--hand);margin:9px 0;color:var(--ink)}.section-heading p{margin:7px 0 0;font-size:18px;color:var(--berry)}.broadcast-section{padding:66px 5% 42px;background:#f6f0fc;border-bottom:1px solid #e4d6ef}.broadcast-layout{max-width:1210px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:35px}.panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 0;border-bottom:2px solid #cfb8df;font-size:12px}.panel-heading>span:first-child{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:var(--accent)}
.schedule-list{border-bottom:1px solid #dfd0eb}.schedule-row{display:grid;grid-template-columns:55px 56px 1fr 18px;align-items:center;gap:13px;width:100%;text-align:left;padding:14px 0;border:0;border-bottom:1px dashed #ddcfe7;background:transparent}.schedule-row:last-child{border:0}.schedule-row:hover{background:#efe5f8}.schedule-day{font:18px/1.3 Georgia,serif;color:var(--accent)}.schedule-day small{display:block;font:11px/1.4 var(--body);margin-top:4px}.schedule-time{font:15px Georgia,serif}.schedule-title{font-size:14px;font-weight:700;line-height:1.6}.schedule-title small{display:block;font-size:12px;font-weight:400;color:#7a648c;line-height:1.5;margin-top:4px}.schedule-row .lucide{width:16px;height:16px}.schedule-notes{display:flex;align-items:center;gap:13px;position:relative;padding:17px 95px 10px 0;min-height:95px}.schedule-notes>.lucide{color:var(--accent)}.schedule-notes p{font-size:12px;margin:0;line-height:1.9}.schedule-notes strong{font:500 17px var(--hand)}.schedule-notes img{width:90px;height:90px;position:absolute;right:0;bottom:0}
.stream-column{min-width:0}.mock-stream{border:1px solid #c9b3c7;background:#fff9fd;box-shadow:5px 5px 0 #e9def2}.stream-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 13px;font-size:12px;color:#825276}.stream-caption>span:last-child{display:flex;align-items:center;gap:6px}.stream-caption .lucide{width:14px;height:14px}.stream-scene{aspect-ratio:1.83;position:relative;overflow:hidden}.stream-room{position:absolute;inset:0;object-fit:cover;width:100%;height:100%}.stream-usamin{position:absolute;width:70%;height:156%;object-fit:contain;top:2%;left:15%}.stream-desk{position:absolute;width:95%;height:auto;left:2%;bottom:-25%}.stream-topic{position:absolute;bottom:14px;left:12px;background:#fff8fcf5;padding:5px 10px;border-left:3px solid #b988b6;font:700 17px var(--hand)}.stream-bottom{display:flex;justify-content:space-between;gap:8px;padding:10px 13px;font-size:12px;color:#754e6b}
.chat-panel{padding:12px 0 0}.chat-panel .panel-heading{border-bottom:1px solid #cfb8df;padding-bottom:10px}.chat-messages{padding:8px 0;min-height:215px;max-height:215px;overflow:auto}.chat-line{display:grid;grid-template-columns:28px 1fr;gap:8px;padding:7px 0;font-size:13px;line-height:1.5}.chat-avatar{display:flex;align-items:center;justify-content:center;width:25px;height:25px;border-radius:50%;background:#e6dbf2;color:#755a8d;font-size:12px;font-weight:700}.chat-line:nth-child(3n+2) .chat-avatar{background:#eee5f6;color:#805c92}.chat-line:nth-child(3n) .chat-avatar{background:#e8def1;color:#796386}.chat-line strong{font-size:12px;color:#826390;margin-right:8px}.chat-bottom{margin:8px 0 0;padding-top:10px;border-top:1px dashed #d6c5e3;font:16px var(--hand);display:flex;gap:10px;align-items:center;justify-content:center}.chat-bottom .lucide{width:16px;color:var(--berry)}.section-footnote{font-size:12px;color:var(--muted);line-height:1.8;max-width:1210px;margin:24px auto 0}
.news-section{padding:65px 5% 50px;background:#ffffff}.news-top{max-width:1080px;margin:auto;display:flex;justify-content:space-between;align-items:center}.news-top .section-heading{text-align:left;margin:0 0 28px}.news-top>img{width:100px;height:100px;object-fit:contain;transform:rotate(7deg)}.news-list{max-width:1080px;margin:auto;border-top:2px solid var(--pink)}.news-row{display:grid;grid-template-columns:100px 72px 1fr 20px;align-items:center;gap:20px;width:100%;text-align:left;padding:19px 0;border:0;border-bottom:1px solid var(--line);background:transparent}.news-row:hover{background:#f5eefb}.news-date{font:14px Georgia,serif;color:var(--muted)}.news-category{font-size:12px;color:var(--berry);border-bottom:1px solid var(--pink);width:fit-content}.news-title{font-size:14px;line-height:1.65}.news-row .lucide{width:16px}.news-section .section-footnote{max-width:1080px}
.favorites-section{padding:58px 5% 60px;border-block:1px solid #e4d4dc;background:#fbf8ff url('./assets/section-room.png') center/cover no-repeat}.favorite-items{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;max-width:1000px;margin:auto;text-align:center}.favorite-items figure{margin:0}.favorite-items img{height:185px;width:100%;object-fit:contain;transition:transform .4s}.favorite-items figure:hover img{transform:translateY(-8px) rotate(-4deg)}.favorite-items figcaption{margin-top:18px}.favorite-items figcaption>.handwritten{font-size:22px;font-weight:700}.favorite-items figcaption p{font-size:14px;margin:8px 0 0;color:var(--muted)}
.gallery-section{padding:65px 5% 55px}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:38px 32px;max-width:1100px;margin:auto}.gallery-item{border:0;padding:0;text-align:left;background:transparent;min-width:0}.gallery-image{display:block;aspect-ratio:1/1.14;background:#f6eff5;border:7px solid white;outline:1px solid var(--line);box-shadow:4px 6px 0 #eddee664;transition:transform .3s;position:relative}.gallery-image:before{content:'';width:70px;height:18px;position:absolute;top:-12px;left:calc(50% - 35px);background:#e4d5f293;transform:rotate(-6deg);z-index:1}.gallery-item:nth-child(even) .gallery-image:before{background:#d7c5e899;transform:rotate(6deg)}.gallery-image img{width:100%;height:100%;object-fit:contain}.gallery-item:hover .gallery-image{transform:translateY(-6px) rotate(-2deg)}.gallery-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:15px;font:700 20px/1.5 var(--hand)}.gallery-caption small{display:block;font:12px/1.6 Georgia,serif;color:var(--muted);margin-top:4px}.gallery-caption .lucide{width:16px}
.social-section{padding:60px 5% 55px;background:#f6f0fc;border-block:1px solid var(--line)}.social-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;max-width:1100px;margin:auto}.social-account{border-top:3px solid #ad87c1;padding-top:17px}.social-account:nth-child(2){border-color:#9470ac}.social-account:nth-child(3){border-color:#9e7db7}.social-account header{display:flex;gap:12px;align-items:center;margin-bottom:17px}.social-account header>.lucide{width:29px;height:29px}.social-account h3{font:24px Georgia,serif;margin:0}.social-account header p{font-size:12px;margin:3px 0 0;color:var(--muted);overflow-wrap:anywhere}.social-post{font-family:var(--hand);font-size:18px;line-height:1.8;min-height:96px}.social-account>button{display:flex;align-items:center;gap:24px;border:0;border-bottom:1px solid var(--berry);padding:9px 0;background:transparent;font-size:13px;color:var(--berry)}.social-account>button .lucide{width:17px}
.site-footer{text-align:center;padding:20px 25px 35px;position:relative;background:#ffffff}.footer-lace{width:350px;height:90px;object-fit:contain;margin:0 auto 10px}.site-footer>.handwritten{font-size:22px;margin:0 0 17px}.footer-brand{font:34px var(--display);color:var(--berry)}.footer-credit{font:12px/1.8 Georgia,serif;color:var(--muted);margin:30px 0 0}.back-top{position:absolute;bottom:35px;right:5%;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
dialog{width:min(950px,94%);max-height:92svh;border:1px solid var(--line);padding:20px 24px;border-radius:8px;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#302333d9;backdrop-filter:blur(5px)}.dialog-bar{display:flex;justify-content:space-between;align-items:center;gap:16px}.dialog-bar h2{font-size:17px;margin:0}.dialog-bar .icon-button{flex-shrink:0}dialog figure{margin:16px 0}dialog figure img{width:100%;height:61svh;object-fit:contain}dialog figcaption{text-align:center;font-size:14px;min-height:26px;margin-top:12px;line-height:1.8}.lightbox-controls{display:flex;align-items:center;justify-content:center;gap:25px;font:14px Georgia,serif}body.modal-open{overflow:hidden}#detail-dialog{max-width:600px;padding:26px 30px}#detail-dialog h2{font:700 27px/1.6 var(--hand);margin:15px 0}#detail-body{font-size:16px;line-height:2}#detail-body p{margin:16px 0}.detail-meta{font-size:12px;color:var(--berry);margin-top:20px}#detail-dialog .fiction-note{padding-top:16px;border-top:1px solid var(--line);margin-top:20px}.sample-post{border-bottom:1px dashed var(--line);padding-bottom:15px}.sample-post small{display:block;font:12px Georgia,serif;color:var(--muted)}
html.motion-off *,html.motion-off *:before,html.motion-off *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(min-width:1650px){.profile-book{padding-top:28px;padding-bottom:38px}.character-stage{height:490px}.profile-page{padding-top:32px}.profile-answers>div{min-height:56px}.book-heading{padding-bottom:22px}}
@media(max-width:1100px){.site-header nav{gap:15px}.site-header nav a{font-size:12px}.profile-page{padding-right:25px}.profile-answers>div{grid-template-columns:96px 1fr;gap:10px}.answer{font-size:17px}.profile-book{padding-inline:25px}.book-heading h1{font-size:22px}.book-heading h1>span{font-size:29px}.book-heading>p{font-size:14px}.character-page{padding-left:15px}.character-speech{max-width:150px;font-size:15px}.character-stage{height:420px}.character-controls{gap:0}.character-controls button{width:64px}.profile-signoff>p{font-size:18px}.broadcast-layout{gap:25px}.schedule-row{gap:10px;grid-template-columns:44px 50px 1fr 15px}.schedule-title{font-size:13px}.schedule-notes{padding-right:70px}.schedule-notes img{width:65px;height:65px}.stream-caption>span:last-child{font-size:10px}.news-row{gap:15px}.social-post{min-height:125px}}
@media(max-width:760px){
 html{scroll-padding-top:78px}.site-header{height:68px;padding:0 18px;gap:12px}.brand>img{width:33px;height:33px}.brand b{font-size:19px}.brand small{font-size:11px}.menu-button{display:flex}.site-header nav{display:none;position:absolute;top:68px;left:0;right:0;padding:18px 25px;background:#ffffff;border-bottom:1px solid var(--line);margin:0}.site-header nav.is-open{display:flex;flex-direction:column;gap:15px}.site-header nav a{font-size:15px}.icon-button{width:36px;height:36px}
 .profile-book{padding:14px 18px 24px}.book-topline .edition{font-size:11px}.sample-label{font-size:10px}.book-heading{display:block;text-align:center;padding:18px 0 12px}.book-heading h1{font-size:20px}.book-heading h1>span{font-size:27px;margin-right:4px}.book-heading>p{font-size:15px;margin-top:8px}.book-spread{grid-template-columns:1fr}.character-page{grid-row:1;padding:0;border-bottom:2px dashed #cfabc0;padding-bottom:20px}.character-page-label{padding-top:13px}.character-stage{height:400px}.character-speech{max-width:145px;top:18px;left:0;font-size:16px}.stage-handwriting{bottom:12px;font-size:16px}.character-controls button{width:65px}.character-controls button span{font-size:14px}.character-controls button .lucide{width:22px;height:22px}.page-number{margin-top:7px}.profile-page{padding:18px 3px 0;border-right:0}.profile-sticker{width:100px;height:100px}.profile-name{font-size:40px;margin-bottom:12px}.profile-answers>div{grid-template-columns:98px 1fr;min-height:56px;padding:9px 0}.question{font-size:12px}.answer{font-size:18px}.profile-signoff>p{font-size:22px}.profile-signoff img{width:46px;height:46px}.fiction-note{font-size:12px}
 .section-heading h2{font-size:28px}.section-heading p{font-size:17px}.section-heading{margin-bottom:26px}.broadcast-section{padding:45px 20px 35px}.broadcast-layout{grid-template-columns:1fr;gap:28px}.panel-heading{gap:8px}.panel-heading>span:first-child{font-size:15px}.panel-heading>span:last-child{font-size:11px}.schedule-row{padding:13px 0;grid-template-columns:45px 48px 1fr 15px;gap:12px}.schedule-title{font-size:14px}.schedule-title small{font-size:12px}.schedule-notes p{font-size:12px}.schedule-notes strong{font-size:16px}.schedule-notes{padding-right:95px}.schedule-notes img{width:85px;height:85px}.stream-caption>span:last-child{font-size:11px}.stream-caption{font-size:11px}.stream-scene{aspect-ratio:1.6}.stream-topic{font-size:17px}.chat-messages{max-height:240px;min-height:240px}.chat-line{font-size:14px}.chat-bottom{font-size:16px}
 .news-section{padding:44px 20px 35px}.news-top>img{width:75px;height:75px}.news-top .section-heading h2{font-size:27px}.news-top .section-heading p{font-size:16px}.news-row{grid-template-columns:94px 1fr 15px;gap:6px 12px;padding:16px 0}.news-category{font-size:12px}.news-title{grid-row:2;grid-column:1/3;font-size:14px}.news-row>.lucide{grid-column:3;grid-row:1/3}.news-date{font-size:13px}
 .favorites-section{padding:45px 20px;background-size:auto 100%}.favorite-items{gap:12px}.favorite-items img{height:115px}.favorite-items figcaption>.handwritten{font-size:17px;display:block;line-height:1.6}.favorite-items figcaption p{font-size:12px;line-height:1.8}.gallery-section{padding:45px 20px 35px}.gallery-grid{grid-template-columns:repeat(2,1fr);gap:30px 18px}.gallery-image{border-width:5px;aspect-ratio:3/4}.gallery-image:before{width:50px;height:16px;left:calc(50% - 25px)}.gallery-caption{font-size:18px;align-items:flex-start;gap:5px}.gallery-caption small{font-size:10px;line-height:1.6}.gallery-caption .lucide{width:14px;margin-top:5px}.section-footnote{font-size:12px;margin-top:22px}.social-section{padding:45px 20px 35px}.social-grid{grid-template-columns:1fr;gap:30px}.social-account header{margin-bottom:8px}.social-post{min-height:0;font-size:19px;margin:12px 0}.social-account h3{font-size:23px}.social-account>button{font-size:14px}.footer-lace{width:270px;height:72px}.site-footer>.handwritten{font-size:22px}.footer-brand{font-size:29px}.footer-credit{font-size:11px;padding-inline:20px}.back-top{right:14px;bottom:32px;width:33px;height:33px}dialog{padding:15px}dialog figure img{height:56svh}dialog figcaption{font-size:13px}#detail-dialog{padding:20px}#detail-dialog h2{font-size:25px}
}
@media(max-width:370px){.book-heading h1{font-size:17px}.book-heading h1>span{font-size:24px}.profile-book{padding-inline:13px}.book-topline .edition{font-size:10px}.character-stage{height:375px}.character-controls button{width:57px}.character-speech{max-width:125px;font-size:14px}.profile-answers>div{grid-template-columns:86px 1fr;gap:8px}.answer{font-size:16px}.profile-signoff>p{font-size:20px}.favorite-items{gap:8px}.favorite-items img{height:85px}.favorite-items figcaption>.handwritten{font-size:15px}.schedule-row{gap:8px}.panel-heading>span:last-child{font-size:10px}.gallery-caption{font-size:16px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
@media(max-width:760px){
 .character-stage{height:436px;padding-top:48px}
 .character-speech{top:6px;left:12px;right:12px;max-width:none;font-size:15px;transform:none}
 .stage-handwriting{display:none}
 .character-controls button{padding:8px 2px;min-height:69px}
 .character-controls button span{font-size:13px;white-space:nowrap}
}
@media(max-width:370px){
 .character-stage{height:426px;padding-top:56px}
 .character-speech{font-size:14px}
 .character-controls button span{font-size:12px}
}
.sd-stage{height:452px;padding:52px 12px 8px;display:grid;place-items:center;overflow:visible}
.sd-stage .character-speech{top:9px;left:12px;right:12px;max-width:none;text-align:center;transform:none;z-index:2}
.character-puppet{width:min(100%,390px);aspect-ratio:1;position:relative;touch-action:pan-y;user-select:none;transform-origin:50% 85%;transform:translate(var(--drag-x,0px),var(--drag-y,0px)) rotate(var(--tilt,0deg));transition:transform .55s cubic-bezier(.2,1.4,.45,1);cursor:grab}
.character-puppet.is-dragging{transition:none;cursor:grabbing}
.character-puppet.is-dragging .puppet-motion{animation-play-state:paused}
.puppet-motion{width:100%;height:100%;position:relative;transform-origin:50% 90%;animation:sd-breathe 4.6s ease-in-out infinite}
#character-art{width:100%;height:100%;object-fit:contain;pointer-events:none;filter:drop-shadow(0 7px 5px #97678d16)}
.character-touch{position:absolute;background:transparent;border:0;border-radius:50%;padding:0;cursor:inherit;touch-action:pan-y}
.character-touch:focus-visible{outline:2px dashed var(--berry);outline-offset:3px;background:#fff8fb22}
.touch-head{left:27%;top:15%;width:45%;height:24%}
.touch-cheek{left:30%;top:48%;width:29%;height:14%}
.touch-hand{left:65%;top:46%;width:16%;height:19%}
@keyframes sd-breathe{0%,100%{transform:translateY(0) rotate(-.55deg)}50%{transform:translateY(-5px) rotate(.55deg)}}
.sd-stage[data-expression="head"] .puppet-motion{animation:sd-nuzzle .85s ease-in-out infinite}
.sd-stage[data-expression="cheek"] .puppet-motion{animation:sd-shy 1.1s ease-in-out infinite}
.sd-stage[data-expression="hand"] .puppet-motion{animation:sd-greeting .65s ease-in-out 3}
.sd-stage[data-expression="sway"] .puppet-motion{animation:sd-sway .95s ease-in-out 3}
@keyframes sd-nuzzle{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(3px) rotate(2deg)}}
@keyframes sd-shy{0%,100%{transform:translateX(0) rotate(-2deg)}25%{transform:translateX(-2px) rotate(-3deg)}75%{transform:translateX(2px) rotate(-1deg)}}
@keyframes sd-greeting{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-9px) rotate(4deg)}}
@keyframes sd-sway{0%,100%{transform:rotate(-6deg)}50%{transform:rotate(6deg)}}
@media(max-width:760px){.sd-stage{height:412px;padding:54px 0 8px}.character-puppet{width:min(100%,350px)}.sd-stage .character-speech{font-size:15px;top:8px;left:0;right:0}}
@media(max-width:370px){.sd-stage{height:374px;padding-top:56px}.character-puppet{width:min(100%,300px)}.sd-stage .character-speech{font-size:14px}}

/* A continuous silk backdrop keeps the supplied character at the center of the book. */
.site-header{position:sticky;top:0;backdrop-filter:blur(14px);background:#fffffff0}
.reading-progress{position:absolute;bottom:-1px;left:0;right:0;height:2px;overflow:hidden;pointer-events:none}
.reading-progress span{height:100%;display:block;background:#ad88c8;transform:scaleX(0);transform-origin:left center}
.site-header nav a{position:relative}
.site-header nav a:after{content:'';position:absolute;bottom:-7px;left:0;width:100%;height:2px;background:#aa84c2;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.site-header nav a[aria-current="location"]{color:#755187}
.site-header nav a[aria-current="location"]:after{transform:scaleX(1)}
.profile-book{position:relative;isolation:isolate;overflow:hidden;background:#fcf9ff}
.silk-scene{position:absolute;inset:0;z-index:-2;overflow:hidden;background:#faf7fe}
.silk-scene video{width:100%;height:100%;object-fit:cover;display:block;opacity:.45;filter:hue-rotate(28deg) saturate(.58);transition:opacity 1s;pointer-events:none}
.silk-scene:after{content:'';position:absolute;inset:0;background:#fbf7ff;opacity:.42;pointer-events:none}
.silk-scene.is-playing video{opacity:.72}
.book-heading{padding-top:26px;padding-bottom:22px}
.book-heading h1>span{font-size:40px}
.book-spread{padding-top:10px}
.profile-page{background:#ffffff75}
.profile-answers>div{transition:background .25s,padding .25s}
.profile-answers>div:hover{background:#ffffffaa;padding-left:6px}
.profile-sticker{transform-origin:50% 85%;animation:sticker-sway 7s ease-in-out infinite}
@keyframes sticker-sway{0%,100%{transform:rotate(6deg) translateY(0)}50%{transform:rotate(10deg) translateY(-4px)}}
.section-heading h2,.news-top h2{font-weight:700}
.broadcast-section{background:#f8f3fc}
.schedule-row,.news-row{transition:background .25s}
.schedule-row>svg,.news-row>svg{transition:transform .25s}
.schedule-row:hover>svg,.news-row:hover>svg{transform:translateX(3px)}
.gallery-grid{perspective:1200px}
.gallery-image{transform:rotate(var(--photo-rest,0deg));transition:transform .45s cubic-bezier(.2,.8,.25,1),box-shadow .45s;will-change:transform}
.gallery-item:nth-child(3n+1){--photo-rest:-1.5deg}
.gallery-item:nth-child(3n+2){--photo-rest:1.5deg}
.gallery-item:hover .gallery-image,.gallery-item:focus-visible .gallery-image{transform:translateY(-8px) rotateX(var(--photo-x,0deg)) rotateY(var(--photo-y,0deg)) rotate(0deg);box-shadow:8px 14px 0 #e7daf166}
.social-account>button svg{transition:transform .25s}
.social-account>button:hover svg{transform:translateX(5px)}
dialog[open]{animation:note-open .24s ease-out}
@keyframes note-open{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:760px){
 .site-header nav a:after{bottom:-3px;width:45px}
 .book-heading{padding-top:20px;padding-bottom:15px}
 .book-heading h1>span{font-size:29px}
 .book-spread{padding-top:0}
 .profile-page{background:#ffffff80;padding:22px 9px 10px}
 .profile-answers>div:hover{padding-left:0}
 .silk-scene video{object-position:60% center}
}
@media(max-width:370px){.book-heading h1>span{font-size:25px}.profile-page{padding-inline:3px}}
@media(prefers-reduced-motion:reduce){.gallery-image{transform:none!important}.profile-sticker{animation:none!important}}
