:root{color-scheme:light;--bg: #f7edf2;--bg2: #fffaf7;--ink: #443348;--muted: #8d7482;--rule: #ead8df;--accent: #d9668d;--accent2: #c99a5b;--accent3: #8fb6d9;--deep: #2f2538;--mist: #f1dfe8;font-family:Instrument Sans,Microsoft YaHei UI,PingFang SC,sans-serif;font-size:clamp(14px,1.2vw,18px)}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.46}h1,h2,h3,p{margin-top:0}h1{font-family:Gloock,serif;margin-bottom:20px;font-size:clamp(48px,8vw,96px);line-height:1.05;letter-spacing:-.04em;color:var(--ink);text-shadow:0 4px 24px rgba(217,102,141,.15)}h2{font-family:Gloock,serif;margin-bottom:16px;font-size:clamp(28px,4.5vw,48px);letter-spacing:-.03em;color:var(--ink)}h3{font-family:Gloock,serif;color:var(--ink)}code,pre,.font-mono{font-family:DM Mono,monospace}.app{position:relative;min-height:100vh;overflow-x:hidden;overflow-y:auto;color:var(--ink);background:radial-gradient(circle at 25% 15%,rgba(217,102,141,.1),transparent 40%),radial-gradient(circle at 75% 80%,rgba(143,182,217,.08),transparent 40%),radial-gradient(circle at 50% 50%,rgba(201,154,91,.06),transparent 50%),linear-gradient(180deg,var(--bg) 0%,var(--mist) 50%,var(--bg2) 100%);isolation:isolate}.grain-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;pointer-events:none;opacity:.18;mix-blend-mode:multiply;background-image:radial-gradient(circle at 1px 1px,var(--ink) .5px,transparent .5px),radial-gradient(circle at 5px 5px,var(--ink) .4px,transparent .4px),radial-gradient(circle at 10px 1px,var(--ink) .3px,transparent .3px),radial-gradient(circle at 3px 7px,var(--ink) .4px,transparent .4px),radial-gradient(circle at 8px 4px,var(--ink) .3px,transparent .3px);background-size:12px 10px}.scanline-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9997;pointer-events:none;opacity:.08;background:repeating-linear-gradient(0deg,transparent 0px,transparent 7px,rgba(68,51,72,.15) 7px,rgba(68,51,72,.15) 8px)}.parallax-particles{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9996;pointer-events:none;overflow:hidden}.particle-star{position:absolute;width:1px;height:1px;top:100vh;background:transparent;box-shadow:20vw 0 #fff9,40vw 0 #ffffff80,60vw 0 #ffffffb3,80vw 0 #fff6,15vw 0 #fff9,35vw 0 #fffc,55vw 0 #ffffff80,75vw 0 #ffffffb3,10vw 0 #fff6,30vw 0 #fff9,50vw 0 #ffffff80,70vw 0 #fffc,90vw 0 #fff9,5vw 0 #ffffffb3,25vw 0 #ffffff80,45vw 0 #fff6,65vw 0 #fff9,85vw 0 #fffc,12vw 0 #ffffff80,32vw 0 #ffffffb3,52vw 0 #fff9,72vw 0 #fff6,92vw 0 #ffffff80,8vw 0 #fff9,28vw 0 #fffc,48vw 0 #ffffff80,68vw 0 #ffffffb3,88vw 0 #fff6,3vw 0 #fff9,23vw 0 #ffffff80,43vw 0 #fffc,63vw 0 #fff9,83vw 0 #ffffffb3,18vw 0 #ffffff80,38vw 0 #fff6,58vw 0 #fff9,78vw 0 #fffc,98vw 0 #ffffff80,7vw 0 #ffffffb3,27vw 0 #fff9,47vw 0 #fff6,67vw 0 #ffffff80,87vw 0 #fffc,14vw 0 #fff9,34vw 0 #ffffffb3,54vw 0 #ffffff80,74vw 0 #fff6,94vw 0 #fff9,11vw 0 #ffffff80,31vw 0 #fffc,51vw 0 #ffffffb3,71vw 0 #fff9,91vw 0 #fff6,16vw 0 #ffffff80,36vw 0 #fff9,56vw 0 #fffc,76vw 0 #ffffffb3,96vw 0 #ffffff80;animation:starRise 15s linear infinite}.particle-star:before{content:"";position:absolute;width:1px;height:1px;box-shadow:22vw 0 #ffffff80,42vw 0 #ffffffb3,62vw 0 #fff6,82vw 0 #fff9,17vw 0 #fffc,37vw 0 #ffffff80,57vw 0 #ffffffb3,77vw 0 #fff9,13vw 0 #fff6,33vw 0 #ffffff80,53vw 0 #fffc,73vw 0 #ffffffb3,93vw 0 #fff9,6vw 0 #ffffff80,26vw 0 #fff6,46vw 0 #ffffffb3,66vw 0 #fffc,86vw 0 #ffffff80,9vw 0 #fff9,29vw 0 #ffffffb3,49vw 0 #fff6,69vw 0 #fff9,89vw 0 #fffc,4vw 0 #ffffff80,24vw 0 #ffffffb3,44vw 0 #fff9,64vw 0 #fff6,84vw 0 #ffffff80,19vw 0 #fffc,39vw 0 #fff9,59vw 0 #ffffffb3,79vw 0 #ffffff80,99vw 0 #fff6,2vw 0 #fff9,21vw 0 #fffc,41vw 0 #ffffff80,61vw 0 #ffffffb3,81vw 0 #fff9,15vw 0 #fff6,35vw 0 #ffffff80,55vw 0 #fffc,75vw 0 #ffffffb3,95vw 0 #fff9,8vw 0 #ffffff80,28vw 0 #fff6,48vw 0 #fff9,68vw 0 #fffc,88vw 0 #ffffffb3,12vw 0 #ffffff80,32vw 0 #fff9,52vw 0 #fff6,72vw 0 #fffc,92vw 0 #ffffff80,25vw 0 #ffffffb3,45vw 0 #fff9,65vw 0 #ffffff80,85vw 0 #fff6,18vw 0 #fffc,38vw 0 #fff9;animation:starRise2 18s linear infinite}.particle-star:after{content:"";position:absolute;width:1px;height:1px;box-shadow:11vw 0 #ffffffb3,31vw 0 #ffffff80,51vw 0 #fff9,71vw 0 #fffc,16vw 0 #fff6,36vw 0 #ffffffb3,56vw 0 #ffffff80,76vw 0 #fff9,21vw 0 #fffc,41vw 0 #ffffff80,61vw 0 #ffffffb3,81vw 0 #fff6,96vw 0 #fff9,7vw 0 #ffffff80,27vw 0 #fffc,47vw 0 #fff9,67vw 0 #ffffffb3,87vw 0 #ffffff80,13vw 0 #fff6,33vw 0 #fff9,53vw 0 #fffc,73vw 0 #ffffff80,93vw 0 #ffffffb3,4vw 0 #fff9,24vw 0 #fff6,44vw 0 #ffffff80,64vw 0 #fffc,84vw 0 #ffffffb3,19vw 0 #fff9,39vw 0 #ffffff80,59vw 0 #fff6,79vw 0 #ffffffb3,99vw 0 #fffc,9vw 0 #fff9,29vw 0 #ffffff80,49vw 0 #ffffffb3,69vw 0 #fff6,89vw 0 #fff9,14vw 0 #fffc,34vw 0 #ffffff80,54vw 0 #ffffffb3,74vw 0 #fff9,94vw 0 #fff6,6vw 0 #ffffff80,26vw 0 #fffc,46vw 0 #ffffffb3,66vw 0 #fff9,86vw 0 #ffffff80,17vw 0 #fff6,37vw 0 #fff9,57vw 0 #fffc,77vw 0 #ffffff80,97vw 0 #ffffffb3,2vw 0 #fff9,22vw 0 #fff6,42vw 0 #ffffff80,62vw 0 #ffffffb3,82vw 0 #fffc,3vw 0 #fff9,23vw 0 #ffffff80,43vw 0 #fff6,63vw 0 #fff9,83vw 0 #ffffffb3,15vw 0 #fffc,35vw 0 #ffffff80,55vw 0 #fff9,75vw 0 #fff6,95vw 0 #ffffffb3;animation:starRise3 22s linear infinite}.particle-star-2{position:absolute;width:1px;height:1px;top:100vh;background:transparent;box-shadow:18vw 0 #fff9,38vw 0 #fff6,58vw 0 #fffc,78vw 0 #ffffff80,98vw 0 #ffffffb3,14vw 0 #fff9,34vw 0 #ffffff80,54vw 0 #fff6,74vw 0 #fffc,94vw 0 #fff9,8vw 0 #ffffffb3,28vw 0 #ffffff80,48vw 0 #fff9,68vw 0 #fff6,88vw 0 #fffc,5vw 0 #ffffff80,25vw 0 #ffffffb3,45vw 0 #fff9,65vw 0 #fffc,85vw 0 #fff6,12vw 0 #fff9,32vw 0 #ffffff80,52vw 0 #ffffffb3,72vw 0 #fff6,92vw 0 #fffc,3vw 0 #fff9,23vw 0 #ffffff80,43vw 0 #ffffffb3,63vw 0 #fff9,83vw 0 #fffc,16vw 0 #fff6,36vw 0 #fff9,56vw 0 #ffffff80,76vw 0 #ffffffb3,96vw 0 #fffc,9vw 0 #fff9,29vw 0 #fff6,49vw 0 #ffffff80,69vw 0 #ffffffb3,89vw 0 #fff9,21vw 0 #fffc,41vw 0 #ffffff80,61vw 0 #fff9,81vw 0 #fff6,7vw 0 #ffffffb3,27vw 0 #ffffff80,47vw 0 #fffc,67vw 0 #fff9,87vw 0 #fff6,13vw 0 #ffffffb3,33vw 0 #ffffff80,53vw 0 #fff9,73vw 0 #fffc,93vw 0 #ffffffb3;animation:starRise4 25s linear infinite}.particle-star-2:before{content:"";position:absolute;width:1px;height:1px;box-shadow:19vw 0 #ffffff80,39vw 0 #ffffffb3,59vw 0 #fff9,79vw 0 #fff6,99vw 0 #fffc,15vw 0 #ffffff80,35vw 0 #fff9,55vw 0 #ffffffb3,75vw 0 #fff6,95vw 0 #fff9,9vw 0 #fffc,29vw 0 #ffffff80,49vw 0 #ffffffb3,69vw 0 #fff9,89vw 0 #fff6,6vw 0 #ffffff80,26vw 0 #fffc,46vw 0 #ffffffb3,66vw 0 #fff9,86vw 0 #ffffff80,13vw 0 #fff6,33vw 0 #ffffffb3,53vw 0 #fffc,73vw 0 #fff9,93vw 0 #ffffff80,4vw 0 #ffffffb3,24vw 0 #fff6,44vw 0 #fff9,64vw 0 #fffc,84vw 0 #ffffff80,17vw 0 #ffffffb3,37vw 0 #fff9,57vw 0 #fff6,77vw 0 #fffc,97vw 0 #ffffff80,10vw 0 #fff9,30vw 0 #ffffffb3,50vw 0 #ffffff80,70vw 0 #fff6,90vw 0 #fffc,22vw 0 #fff9,42vw 0 #ffffffb3,62vw 0 #ffffff80,82vw 0 #fffc,8vw 0 #fff6,28vw 0 #fff9,48vw 0 #ffffff80,68vw 0 #ffffffb3,88vw 0 #fffc,14vw 0 #fff9,34vw 0 #fff6,54vw 0 #ffffff80,74vw 0 #ffffffb3,94vw 0 #fff9;animation:starRise5 28s linear infinite}.particle-rain{position:absolute;width:1px;height:1px;top:-10vh;background:transparent;box-shadow:10vw 0 #ffffff4d,30vw 0 #ffffff40,50vw 0 #ffffff59,70vw 0 #fff3,90vw 0 #ffffff4d,5vw 0 #ffffff40,25vw 0 #ffffff59,45vw 0 #ffffff4d,65vw 0 #fff3,85vw 0 #ffffff59,15vw 0 #ffffff4d,35vw 0 #ffffff40,55vw 0 #fff3,75vw 0 #ffffff59,95vw 0 #ffffff4d,8vw 0 #ffffff40,28vw 0 #ffffff4d,48vw 0 #fff3,68vw 0 #ffffff59,88vw 0 #ffffff40,3vw 0 #ffffff4d,23vw 0 #fff3,43vw 0 #ffffff59,63vw 0 #ffffff40,83vw 0 #ffffff4d,18vw 0 #fff3,38vw 0 #ffffff4d,58vw 0 #ffffff40,78vw 0 #ffffff59,98vw 0 #ffffff4d,12vw 0 #ffffff40,32vw 0 #fff3,52vw 0 #ffffff4d,72vw 0 #ffffff59,92vw 0 #ffffff40,7vw 0 #ffffff4d,27vw 0 #ffffff59,47vw 0 #fff3,67vw 0 #ffffff4d,87vw 0 #ffffff40,2vw 0 #fff3,22vw 0 #ffffff4d,42vw 0 #ffffff40,62vw 0 #ffffff59,82vw 0 #ffffff4d,16vw 0 #fff3,36vw 0 #ffffff40,56vw 0 #ffffff4d,76vw 0 #ffffff59,96vw 0 #fff3,9vw 0 #ffffff4d,29vw 0 #ffffff40,49vw 0 #fff3,69vw 0 #ffffff4d,89vw 0 #ffffff59,14vw 0 #fff3,34vw 0 #ffffff4d,54vw 0 #ffffff40,74vw 0 #fff3,94vw 0 #ffffff4d,6vw 0 #ffffff59,26vw 0 #fff3,46vw 0 #ffffff4d,66vw 0 #ffffff40,86vw 0 #ffffff59,11vw 0 #fff3,31vw 0 #ffffff4d,51vw 0 #ffffff40,71vw 0 #ffffff4d,91vw 0 #fff3,4vw 0 #ffffff4d,24vw 0 #ffffff59,44vw 0 #fff3,64vw 0 #ffffff4d,84vw 0 #ffffff40;animation:rainFall 6s linear infinite}.particle-rain:before{content:"";position:absolute;width:1px;height:1px;box-shadow:11vw 0 #ffffff40,31vw 0 #ffffff4d,51vw 0 #fff3,71vw 0 #ffffff59,91vw 0 #ffffff40,6vw 0 #ffffff4d,26vw 0 #fff3,46vw 0 #ffffff59,66vw 0 #ffffff40,86vw 0 #ffffff4d,16vw 0 #fff3,36vw 0 #ffffff40,56vw 0 #ffffff4d,76vw 0 #fff3,96vw 0 #ffffff59,9vw 0 #ffffff40,29vw 0 #ffffff4d,49vw 0 #fff3,69vw 0 #ffffff59,89vw 0 #ffffff4d,4vw 0 #ffffff40,24vw 0 #fff3,44vw 0 #ffffff4d,64vw 0 #ffffff40,84vw 0 #ffffff59,19vw 0 #ffffff4d,39vw 0 #fff3,59vw 0 #ffffff40,79vw 0 #ffffff4d,99vw 0 #fff3,13vw 0 #ffffff59,33vw 0 #ffffff40,53vw 0 #ffffff4d,73vw 0 #fff3,93vw 0 #ffffff4d,8vw 0 #ffffff40,28vw 0 #ffffff59,48vw 0 #ffffff4d,68vw 0 #fff3,88vw 0 #ffffff40,3vw 0 #ffffff4d,23vw 0 #fff3,43vw 0 #ffffff59,63vw 0 #ffffff4d,83vw 0 #ffffff40,17vw 0 #fff3,37vw 0 #ffffff4d,57vw 0 #ffffff40,77vw 0 #ffffff59,97vw 0 #ffffff4d,12vw 0 #fff3,32vw 0 #ffffff40,52vw 0 #ffffff4d,72vw 0 #ffffff59,92vw 0 #ffffff40,7vw 0 #fff3,27vw 0 #ffffff4d,47vw 0 #ffffff40,67vw 0 #fff3,87vw 0 #ffffff59,2vw 0 #ffffff4d,22vw 0 #fff3,42vw 0 #ffffff40,62vw 0 #ffffff4d,82vw 0 #ffffff59,15vw 0 #fff3,35vw 0 #ffffff4d,55vw 0 #ffffff40,75vw 0 #fff3,95vw 0 #ffffff4d,10vw 0 #ffffff59,30vw 0 #ffffff40,50vw 0 #ffffff4d,70vw 0 #fff3,90vw 0 #ffffff4d,5vw 0 #ffffff40,25vw 0 #fff3,45vw 0 #ffffff59,65vw 0 #ffffff4d,85vw 0 #fff3,20vw 0 #ffffff4d,40vw 0 #ffffff40,60vw 0 #fff3,80vw 0 #ffffff4d;animation:rainFall2 8s linear infinite}.particle-rain:after{content:"";position:absolute;width:1px;height:1px;box-shadow:17vw 0 #ffffff4d,37vw 0 #fff3,57vw 0 #ffffff40,77vw 0 #ffffff4d,97vw 0 #fff3,12vw 0 #ffffff59,32vw 0 #ffffff4d,52vw 0 #ffffff40,72vw 0 #fff3,92vw 0 #ffffff4d,7vw 0 #ffffff40,27vw 0 #fff3,47vw 0 #ffffff4d,67vw 0 #ffffff59,87vw 0 #ffffff40,2vw 0 #ffffff4d,22vw 0 #fff3,42vw 0 #ffffff40,62vw 0 #ffffff4d,82vw 0 #fff3,15vw 0 #ffffff59,35vw 0 #ffffff4d,55vw 0 #ffffff40,75vw 0 #fff3,95vw 0 #ffffff4d,10vw 0 #ffffff40,30vw 0 #fff3,50vw 0 #ffffff4d,70vw 0 #ffffff59,90vw 0 #ffffff40,5vw 0 #ffffff4d,25vw 0 #fff3,45vw 0 #ffffff40,65vw 0 #ffffff4d,85vw 0 #fff3,20vw 0 #ffffff59,40vw 0 #ffffff4d,60vw 0 #ffffff40,80vw 0 #fff3,14vw 0 #ffffff4d,34vw 0 #ffffff40,54vw 0 #fff3,74vw 0 #ffffff4d,94vw 0 #ffffff59,9vw 0 #ffffff40,29vw 0 #ffffff4d,49vw 0 #fff3,69vw 0 #ffffff40,89vw 0 #ffffff4d,4vw 0 #fff3,24vw 0 #ffffff59,44vw 0 #ffffff4d,64vw 0 #ffffff40,84vw 0 #fff3,18vw 0 #ffffff4d,38vw 0 #ffffff40,58vw 0 #fff3,78vw 0 #ffffff59,98vw 0 #ffffff4d,13vw 0 #ffffff40,33vw 0 #fff3,53vw 0 #ffffff4d,73vw 0 #ffffff40,93vw 0 #fff3,8vw 0 #ffffff4d,28vw 0 #ffffff59,48vw 0 #ffffff40,68vw 0 #fff3,88vw 0 #ffffff4d,3vw 0 #ffffff40,23vw 0 #fff3,43vw 0 #ffffff4d,63vw 0 #ffffff59,83vw 0 #ffffff40,16vw 0 #fff3,36vw 0 #ffffff4d,56vw 0 #ffffff40,76vw 0 #fff3,96vw 0 #ffffff4d,11vw 0 #ffffff59,31vw 0 #ffffff40,51vw 0 #ffffff4d,71vw 0 #fff3,91vw 0 #ffffff4d,6vw 0 #ffffff40,26vw 0 #fff3,46vw 0 #ffffff59,66vw 0 #ffffff4d,86vw 0 #ffffff40,21vw 0 #fff3,41vw 0 #ffffff4d,61vw 0 #ffffff40,81vw 0 #fff3;animation:rainFall3 10s linear infinite}.petal-rose{position:absolute;width:3px;height:3px;top:-5vh;background:transparent;border-radius:50%;box-shadow:10vw 0 0 1px #d9668d66,25vw 0 #d9668d4d,40vw 0 0 1px #d9668d80,55vw 0 #d9668d59,70vw 0 0 1px #d9668d66,85vw 0 #d9668d73,95vw 0 0 1px #d9668d4d,15vw 0 #d9668d80,30vw 0 0 1px #d9668d59,50vw 0 #d9668d66,65vw 0 0 1px #d9668d4d,80vw 0 #d9668d80,5vw 0 0 1px #d9668d73,20vw 0 #d9668d59,35vw 0 0 1px #d9668d66,60vw 0 #d9668d4d,75vw 0 0 1px #d9668d80,90vw 0 #d9668d66,12vw 0 0 1px #d9668d4d,28vw 0 #d9668d80,45vw 0 0 1px #d9668d59,58vw 0 #d9668d66,72vw 0 0 1px #d9668d73,88vw 0 #d9668d4d,8vw 0 0 1px #d9668d80,22vw 0 #d9668d59,38vw 0 0 1px #d9668d66,52vw 0 #d9668d4d,68vw 0 0 1px #d9668d80,82vw 0 #d9668d66,98vw 0 0 1px #d9668d59,3vw 0 #d9668d73,18vw 0 0 1px #d9668d4d,33vw 0 #d9668d80,48vw 0 0 1px #d9668d66,62vw 0 #d9668d59,78vw 0 0 1px #d9668d4d,93vw 0 #d9668d80,7vw 0 0 1px #d9668d66,42vw 0 #d9668d73,57vw 0 0 1px #d9668d4d,73vw 0 #d9668d80,87vw 0 0 1px #d9668d59,14vw 0 #d9668d66,29vw 0 0 1px #d9668d4d,44vw 0 #d9668d80,59vw 0 0 1px #d9668d73,74vw 0 #d9668d59,91vw 0 0 1px #d9668d4d,6vw 0 #d9668d80,21vw 0 0 1px #d9668d66,36vw 0 #d9668d59,51vw 0 0 1px #d9668d4d,66vw 0 #d9668d80,81vw 0 0 1px #d9668d66,96vw 0 #d9668d73;animation:petalFall 6s ease-in-out infinite}.petal-rose:before{content:"";position:absolute;width:2px;height:2px;border-radius:50%;box-shadow:8vw 0 #d9668d80,23vw 0 0 1px #d9668d59,38vw 0 #d9668d66,53vw 0 0 1px #d9668d80,68vw 0 #d9668d4d,83vw 0 0 1px #d9668d73,98vw 0 #d9668d66,13vw 0 0 1px #d9668d4d,28vw 0 #d9668d80,43vw 0 0 1px #d9668d59,58vw 0 #d9668d66,73vw 0 0 1px #d9668d80,88vw 0 #d9668d59,3vw 0 0 1px #d9668d73,18vw 0 #d9668d4d,33vw 0 0 1px #d9668d80,48vw 0 #d9668d66,63vw 0 0 1px #d9668d59,78vw 0 #d9668d80,93vw 0 0 1px #d9668d66,6vw 0 #d9668d4d,21vw 0 0 1px #d9668d80,36vw 0 #d9668d73,51vw 0 0 1px #d9668d59,66vw 0 #d9668d66,81vw 0 0 1px #d9668d4d,96vw 0 #d9668d80,11vw 0 0 1px #d9668d66,26vw 0 #d9668d59,41vw 0 0 1px #d9668d80,56vw 0 #d9668d4d,71vw 0 0 1px #d9668d73,86vw 0 #d9668d66,16vw 0 0 1px #d9668d4d,31vw 0 #d9668d80,46vw 0 0 1px #d9668d59,61vw 0 #d9668d66,76vw 0 0 1px #d9668d80,91vw 0 #d9668d73;animation:petalFall2 8s ease-in-out infinite}.petal-gold{position:absolute;width:3px;height:3px;top:-3vh;background:transparent;border-radius:50%;box-shadow:15vw 0 #c99a5b80,30vw 0 0 1px #c99a5b66,50vw 0 #c99a5b73,70vw 0 0 1px #c99a5b59,90vw 0 #c99a5b80,8vw 0 0 1px #c99a5b66,25vw 0 #c99a5b73,45vw 0 0 1px #c99a5b59,65vw 0 #c99a5b80,85vw 0 0 1px #c99a5b66,95vw 0 #c99a5b73,18vw 0 0 1px #c99a5b59,38vw 0 #c99a5b80,58vw 0 0 1px #c99a5b66,78vw 0 #c99a5b73,5vw 0 0 1px #c99a5b80,22vw 0 #c99a5b66,42vw 0 0 1px #c99a5b59,62vw 0 #c99a5b80,82vw 0 0 1px #c99a5b73,12vw 0 #c99a5b66,32vw 0 0 1px #c99a5b80,52vw 0 #c99a5b59,72vw 0 0 1px #c99a5b73,92vw 0 #c99a5b80,3vw 0 0 1px #c99a5b66,28vw 0 #c99a5b80,48vw 0 0 1px #c99a5b59,68vw 0 #c99a5b73,88vw 0 0 1px #c99a5b66,10vw 0 #c99a5b80,35vw 0 0 1px #c99a5b66,55vw 0 #c99a5b59,75vw 0 0 1px #c99a5b80,97vw 0 #c99a5b73,7vw 0 0 1px #c99a5b66,40vw 0 #c99a5b80,60vw 0 0 1px #c99a5b59,80vw 0 #c99a5b73,20vw 0 0 1px #c99a5b80,47vw 0 #c99a5b66,67vw 0 0 1px #c99a5b59,87vw 0 #c99a5b80,14vw 0 0 1px #c99a5b73;animation:goldFall 10s ease-in-out infinite}.petal-gold:before{content:"";position:absolute;width:2px;height:2px;border-radius:50%;box-shadow:17vw 0 0 1px #c99a5b73,37vw 0 #c99a5b59,57vw 0 0 1px #c99a5b80,77vw 0 #c99a5b66,97vw 0 0 1px #c99a5b73,7vw 0 #c99a5b59,27vw 0 0 1px #c99a5b80,47vw 0 #c99a5b66,67vw 0 0 1px #c99a5b73,87vw 0 #c99a5b59,2vw 0 0 1px #c99a5b80,22vw 0 #c99a5b66,42vw 0 0 1px #c99a5b73,62vw 0 #c99a5b59,82vw 0 0 1px #c99a5b80,12vw 0 #c99a5b66,32vw 0 0 1px #c99a5b73,52vw 0 #c99a5b80,72vw 0 0 1px #c99a5b59,92vw 0 #c99a5b66,5vw 0 0 1px #c99a5b80,25vw 0 #c99a5b73,45vw 0 0 1px #c99a5b59,65vw 0 #c99a5b80,85vw 0 0 1px #c99a5b66,15vw 0 #c99a5b73,35vw 0 0 1px #c99a5b80,55vw 0 #c99a5b59,75vw 0 0 1px #c99a5b66,95vw 0 #c99a5b80,9vw 0 0 1px #c99a5b73,29vw 0 #c99a5b59,49vw 0 0 1px #c99a5b80,69vw 0 #c99a5b66,89vw 0 0 1px #c99a5b73;animation:goldFall2 13s ease-in-out infinite}@keyframes starRise{0%{transform:translateY(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-120vh);opacity:0}}@keyframes starRise2{0%{transform:translateY(0) translate(5px);opacity:0}10%{opacity:.8}90%{opacity:.8}to{transform:translateY(-110vh) translate(-5px);opacity:0}}@keyframes starRise3{0%{transform:translateY(0) translate(-3px);opacity:0}10%{opacity:.6}90%{opacity:.6}to{transform:translateY(-130vh) translate(3px);opacity:0}}@keyframes starRise4{0%{transform:translateY(0);opacity:0}10%{opacity:.7}90%{opacity:.7}to{transform:translateY(-115vh);opacity:0}}@keyframes starRise5{0%{transform:translateY(0) translate(4px);opacity:0}10%{opacity:.5}90%{opacity:.5}to{transform:translateY(-125vh) translate(-4px);opacity:0}}@keyframes rainFall{0%{transform:translateY(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(120vh);opacity:0}}@keyframes rainFall2{0%{transform:translateY(-5px);opacity:0}10%{opacity:.8}90%{opacity:.8}to{transform:translateY(115vh);opacity:0}}@keyframes rainFall3{0%{transform:translateY(3px);opacity:0}10%{opacity:.6}90%{opacity:.6}to{transform:translateY(125vh);opacity:0}}@keyframes petalFall{0%{transform:translateY(0) rotate(0);opacity:0}8%{opacity:1}50%{transform:translateY(50vh) rotate(180deg) translate(30px)}92%{opacity:1}to{transform:translateY(110vh) rotate(360deg) translate(-20px);opacity:0}}@keyframes petalFall2{0%{transform:translateY(0) rotate(0);opacity:0}8%{opacity:.8}50%{transform:translateY(55vh) rotate(-180deg) translate(-25px)}92%{opacity:.8}to{transform:translateY(110vh) rotate(-360deg) translate(15px);opacity:0}}@keyframes goldFall{0%{transform:translateY(0) rotate(0) scale(.8);opacity:0}10%{opacity:.7;transform:translateY(10vh) rotate(45deg) scale(1)}50%{transform:translateY(55vh) rotate(200deg) translate(20px) scale(.9)}90%{opacity:.7}to{transform:translateY(110vh) rotate(400deg) translate(-15px) scale(.6);opacity:0}}@keyframes goldFall2{0%{transform:translateY(0) rotate(0) scale(.6);opacity:0}10%{opacity:.6;transform:translateY(8vh) rotate(-30deg) scale(1)}50%{transform:translateY(50vh) rotate(-200deg) translate(-18px) scale(.85)}90%{opacity:.6}to{transform:translateY(110vh) rotate(-380deg) translate(12px) scale(.5);opacity:0}}@keyframes heroRise{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollReveal{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes marquee{0%{transform:translate(100%)}to{transform:translate(-100%)}}@keyframes breathe{0%{opacity:.5;transform:scale(1)}to{opacity:.85;transform:scale(1.06)}}@keyframes heartbeat{0%,to{transform:scale(.96);opacity:.4}45%{transform:scale(1.06);opacity:.8}}@keyframes dreamFloat{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-14px) rotate(1deg)}}@keyframes grainDrift{to{background-position:180px 90px,-120px 160px}}@keyframes orbitBreath{0%,to{transform:rotate(-18deg) scale(.96);opacity:.55}50%{transform:rotate(-8deg) scale(1.04);opacity:.92}}@keyframes orbitBreathReverse{0%,to{transform:rotate(28deg) scale(.98);opacity:.48}50%{transform:rotate(16deg) scale(1.05);opacity:.86}}@keyframes roseBloom{0%,to{transform:translate(-50%,-50%) scale(.98) rotate(-2deg)}50%{transform:translate(-50%,-50%) scale(1.04) rotate(2deg)}}@keyframes tempPulse{0%,to{width:62%;filter:saturate(.96)}50%{width:88%;filter:saturate(1.18)}}@keyframes noteFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes canvasPetalFall{0%{transform:translate3d(0,-26px,0) rotate(0);opacity:0}15%{opacity:.72}to{transform:translate3d(34px,260px,0) rotate(320deg);opacity:0}}@keyframes sparkleDrift{to{background-position:160px -120px,-120px 160px,90px 140px}}@keyframes taglineInk{0%{transform:scaleX(0);opacity:0}to{transform:scaleX(1);opacity:1}}@keyframes musicBreath{0%,to{transform:scale(.92);opacity:.72}50%{transform:scale(1.08);opacity:1}}.hero-rise{animation:heroRise .8s ease-out both}.hero-rise-delay-1{animation-delay:.15s}.hero-rise-delay-2{animation-delay:.3s}.hero-rise-delay-3{animation-delay:.45s}.scroll-reveal{opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .6s ease-out}.scroll-reveal.visible{opacity:1;transform:translateY(0)}.topbar{position:fixed;top:18px;left:28px;right:28px;z-index:100;display:flex;align-items:center;justify-content:space-between;gap:16px}.music-toggle{min-height:40px;padding:0 16px;border:1px solid rgba(234,216,223,.82);border-radius:999px;color:#5a4055d1;background:linear-gradient(135deg,#fffaf7d1,#fff2f89e);box-shadow:0 10px 30px #d9668d14,inset 0 1px #ffffffd1;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);font-family:STSong,SimSun,serif;font-size:12px;letter-spacing:.16em;transition:transform .25s ease-out,box-shadow .25s ease-out,border-color .25s ease-out,color .25s ease-out}.music-toggle:before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:#8d74827a;box-shadow:0 0 0 4px #8d74820f;vertical-align:1px}.music-toggle.playing{color:#7e4760;border-color:#d9668d57}.music-toggle.playing:before{background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 0 0 5px #d9668d1a,0 0 18px #d9668d42;animation:musicBreath 2.4s ease-in-out infinite}.music-toggle:hover{transform:translateY(-1px);box-shadow:0 14px 38px #d9668d24,inset 0 1px #ffffffdb}.brand{position:relative;display:inline-flex;align-items:center;gap:13px;min-height:46px;padding:0 19px 0 15px;border:1px solid rgba(234,216,223,.86);border-radius:999px;color:#5a4055;background:linear-gradient(135deg,#fffaf7db,#fff2f8b3),radial-gradient(circle at 18% 28%,rgba(255,255,255,.92),transparent 42%);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 10px 34px #d9668d1a,inset 0 1px #ffffffdb;letter-spacing:.16em;font-family:Gloock,STSong,SimSun,serif;font-size:clamp(14px,1.25vw,17px);font-weight:400;transition:transform .25s ease-out,box-shadow .25s ease-out,border-color .25s ease-out}.brand-copy{display:grid;gap:2px;text-align:left}.brand-copy strong{color:#4f3a50;font-family:Gloock,STSong,SimSun,serif;font-size:clamp(15px,1.25vw,18px);font-weight:400;line-height:1;letter-spacing:.14em}.brand-copy em{color:#8d7482bd;font-family:STSong,SimSun,serif;font-size:10px;font-style:normal;letter-spacing:.16em}.brand-mark{position:relative;width:27px;height:27px;flex:0 0 auto;border-radius:50%;background:radial-gradient(circle at 45% 44%,#fff7f4 0 17%,transparent 18%),conic-gradient(from 15deg,#d9668d,#f0b2c5,#c99a5b,#e58cac,#d9668d);box-shadow:0 0 0 5px #d9668d14,0 9px 22px #d9668d2e,inset 0 0 0 1px #ffffffb8}.brand-mark:before{content:"";position:absolute;left:50%;top:50%;width:19px;height:10px;border-top:1.4px solid rgba(255,255,255,.92);border-radius:50%;transform:translate(-50%,-50%) rotate(-18deg)}.brand-mark:after{content:"";position:absolute;left:50%;top:50%;width:13px;height:13px;border:1.4px solid rgba(255,255,255,.94);border-left-color:transparent;border-bottom-color:transparent;border-radius:50%;transform:translate(-50%,-50%) rotate(42deg)}.brand-heart{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:grid;place-items:center;color:#fffffff0;font-family:Gloock,serif;font-size:15px;line-height:1;transform:translateY(-.5px)}.brand-wave{width:clamp(42px,5vw,72px);height:14px;margin-left:2px;border-top:1.5px solid rgba(217,102,141,.45);border-radius:50%;transform:rotate(2deg);opacity:.86;box-shadow:26px 4px 0 -1px #c99a5b61}.topbar nav{display:flex;gap:10px}.topbar nav button{min-height:38px;padding:0 15px;border-radius:999px;font-size:clamp(12px,1.1vw,15px)}.topbar nav button:hover,.brand:hover{border-color:#d9668d57;box-shadow:0 14px 42px #d9668d26,inset 0 1px #ffffffe0;transform:translateY(-1px)}.topbar nav button.active{background:linear-gradient(135deg,#d9668d26,#c99a5b1a);border-color:var(--accent);color:var(--accent)}.screen-panel,.story{width:min(1180px,calc(100vw - 48px));min-height:min(720px,calc(100vh - 120px));margin:94px auto 34px;position:relative;overflow:hidden;border:1px solid var(--rule);border-radius:28px;background:linear-gradient(145deg,#fffaf7d9,#f1dfe8a6);box-shadow:0 8px 40px #4433480f,0 2px 8px #4433480a,inset 0 1px #fff9;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.screen-panel{padding:48px}.eyebrow{margin:0 0 12px;color:var(--accent2);font-family:DM Mono,monospace;font-size:clamp(10px,1vw,13px);letter-spacing:.28em;text-transform:uppercase}.tagline{position:relative;max-width:520px;width:fit-content;color:transparent;background:linear-gradient(92deg,#6b5167,#a0647c 48%,#c99a5b);-webkit-background-clip:text;background-clip:text;font-family:Gloock,STSong,SimSun,serif;font-size:clamp(15px,1.8vw,20px);line-height:1.72;letter-spacing:.055em;text-shadow:0 1px 0 rgba(255,255,255,.72)}.tagline:after{content:"";position:absolute;left:.1em;right:.2em;bottom:-7px;height:1px;background:linear-gradient(90deg,#d9668d00,#d9668d75,#c99a5b6b,#8fb6d900);transform-origin:left center;animation:taglineInk 1.4s ease-out .55s both}.start{display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;padding:clamp(30px,6vh,58px) clamp(34px,5vw,64px)}.hero-copy{z-index:2}.hero-actions,.choice-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:28px}.primary,.ghost,.about-link{min-height:48px;border-radius:999px;border:1px solid transparent;padding:0 24px;color:#fff;font-family:Instrument Sans,sans-serif;font-size:clamp(14px,1.2vw,16px);transition:transform .25s ease-out,box-shadow .25s ease-out,border-color .25s ease-out}.primary{background:linear-gradient(135deg,var(--accent),#e88aaa 50%,var(--accent2));box-shadow:0 8px 28px #d9668d40}.ghost,.about-link{border-color:var(--rule);color:var(--ink);background:#fffaf799;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.primary:hover,.ghost:hover,.about-link:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 12px 36px #d9668d4d}.character-focus{position:relative;display:grid;place-items:center;min-height:clamp(330px,58vh,560px)}.dreamcore-canvas{position:relative;width:min(560px,92%);aspect-ratio:1 / 1.12;overflow:hidden;border:1px solid rgba(255,255,255,.74);border-radius:44% 56% 46% 54%/52% 43% 57% 48%;background:radial-gradient(circle at 52% 42%,rgba(255,255,255,.94) 0 9%,transparent 10%),radial-gradient(circle at 52% 42%,rgba(255,207,221,.72) 0 22%,transparent 23%),radial-gradient(circle at 22% 18%,rgba(255,255,255,.92),transparent 26%),radial-gradient(circle at 78% 18%,rgba(143,182,217,.34),transparent 27%),radial-gradient(circle at 74% 75%,rgba(201,154,91,.25),transparent 28%),linear-gradient(145deg,#fffaf7e0,#f7e1ebd1 48%,#fff5dcbd);box-shadow:0 32px 90px #d9668d3d,inset 0 0 0 1px #ffffff8c,inset 0 -24px 70px #d9668d1a;transform-style:preserve-3d;animation:dreamFloat 7s ease-in-out infinite}.dreamcore-canvas:before,.dreamcore-canvas:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.dreamcore-canvas:before{opacity:.22;mix-blend-mode:multiply;background-image:radial-gradient(circle,rgba(68,51,72,.34) 0 .7px,transparent .9px),radial-gradient(circle,rgba(217,102,141,.22) 0 .8px,transparent 1px);background-size:18px 18px,29px 29px;animation:grainDrift 18s linear infinite}.dreamcore-canvas:after{background:linear-gradient(115deg,transparent 0 18%,rgba(255,255,255,.54) 19%,transparent 25% 100%),repeating-linear-gradient(0deg,rgba(255,255,255,.18) 0 1px,transparent 1px 9px);opacity:.44}.dream-orbit{position:absolute;top:12%;right:12%;bottom:12%;left:12%;border:1px solid rgba(217,102,141,.18);border-radius:50%;transform:rotate(-18deg)}.orbit-a{animation:orbitBreath 6s ease-in-out infinite}.orbit-b{top:22%;right:22%;bottom:22%;left:22%;border-color:#c99a5b38;transform:rotate(28deg);animation:orbitBreathReverse 7.4s ease-in-out infinite}.dream-rose{position:absolute;left:50%;top:42%;width:210px;height:210px;transform:translate(-50%,-50%);filter:drop-shadow(0 18px 45px rgba(217,102,141,.25));animation:roseBloom 5.8s ease-in-out infinite}.rose-core,.rose-petal{position:absolute;left:50%;top:50%;display:block;border-radius:58% 42% 64% 36%/46% 58% 42% 54%;transform-origin:8% 50%;background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.94),transparent 34%),linear-gradient(135deg,#ffbfd0,var(--accent))}.rose-core{width:72px;height:72px;transform:translate(-50%,-50%) rotate(8deg);box-shadow:inset 0 -10px 18px #8d3d5b24}.rose-petal{width:114px;height:68px;opacity:.92}.p1{transform:translate(-8%,-48%) rotate(0)}.p2{transform:translate(-8%,-48%) rotate(58deg);background:linear-gradient(135deg,#ffe0e9,#e986aa)}.p3{transform:translate(-8%,-48%) rotate(116deg);background:linear-gradient(135deg,#ffd3df,#d9668d)}.p4{transform:translate(-8%,-48%) rotate(174deg);background:linear-gradient(135deg,#fff0f5,#eaa0bb)}.p5{transform:translate(-8%,-48%) rotate(232deg);background:linear-gradient(135deg,#ffd8e5,#c99a5b)}.p6{transform:translate(-8%,-48%) rotate(290deg);background:linear-gradient(135deg,#f8c7d7,#d9668d)}.dream-text{position:absolute;left:50%;bottom:14%;z-index:2;display:grid;gap:4px;width:70%;transform:translate(-50%);text-align:center;color:var(--ink)}.dream-text span,.dream-text em{font-family:DM Mono,monospace;font-size:clamp(10px,1vw,12px);letter-spacing:.22em;color:var(--muted);text-transform:uppercase}.dream-text strong{font-family:Gloock,"Noto Serif SC",serif;font-size:clamp(32px,3.8vw,54px);font-weight:400;letter-spacing:.02em;text-shadow:0 1px 0 rgba(255,255,255,.8),0 12px 26px rgba(217,102,141,.16)}.dream-text em{font-style:normal}.dream-temperature{position:absolute;left:18%;right:18%;bottom:10%;height:7px;overflow:hidden;border-radius:999px;background:#ead8dfb3;box-shadow:inset 0 0 0 1px #ffffffb3}.dream-temperature i{display:block;width:72%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),var(--accent2),var(--accent3));animation:tempPulse 3.4s ease-in-out infinite}.dream-note{position:absolute;z-index:2;padding:7px 10px;border:1px solid rgba(255,255,255,.72);border-radius:999px;color:var(--muted);background:#fffaf785;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);font-family:DM Mono,monospace;font-size:11px;letter-spacing:.04em;box-shadow:0 12px 28px #d9668d1f;animation:noteFloat 5.2s ease-in-out infinite}.note-a{left:10%;top:28%}.note-b{right:10%;top:32%;animation-delay:-1.4s}.note-c{left:14%;bottom:25%;animation-delay:-2.8s}.dream-petal-layer span{position:absolute;z-index:2;width:18px;height:10px;border-radius:90% 12% 90% 18%;background:linear-gradient(90deg,#ffb8cb,var(--accent));opacity:.72;filter:blur(.1px);animation:canvasPetalFall 7s ease-in-out infinite}.dream-petal-layer span:nth-child(1){left:12%;top:4%;animation-delay:0s}.dream-petal-layer span:nth-child(2){left:76%;top:8%;animation-delay:-1.1s}.dream-petal-layer span:nth-child(3){left:64%;top:22%;animation-delay:-2.2s}.dream-petal-layer span:nth-child(4){left:22%;top:62%;animation-delay:-3.3s}.dream-petal-layer span:nth-child(5){left:84%;top:62%;animation-delay:-4.4s}.dream-petal-layer span:nth-child(6){left:40%;top:16%;animation-delay:-5.5s}.dream-sparkles{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(255,255,255,.94) 0 1px,transparent 1.4px),radial-gradient(circle,rgba(201,154,91,.72) 0 1px,transparent 1.4px),radial-gradient(circle,rgba(143,182,217,.62) 0 1px,transparent 1.3px);background-size:42px 42px,57px 57px,76px 76px;background-position:0 0,18px 24px,34px 11px;opacity:.58;animation:sparkleDrift 16s linear infinite}.pulse-ring{position:absolute;width:360px;height:360px;border:1px solid rgba(217,102,141,.25);border-radius:50%;box-shadow:0 0 50px #d9668d33,0 0 80px #c99a5b1a;animation:heartbeat 2.8s ease-in-out infinite}.section-title{max-width:760px;margin-bottom:30px}.mode-select{display:flex;flex-direction:column;justify-content:center}.heartbeat-simulator{align-content:start;padding-top:clamp(110px,13vh,150px)}.heartbeat-simulator .section-title p:not(.eyebrow){max-width:760px;color:var(--muted);line-height:1.8}.simulator-grid{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(420px,1.08fr);gap:22px;align-items:start}.simulator-form,.simulator-result{border:1px solid rgba(234,216,223,.84);border-radius:28px;background:linear-gradient(160deg,#fffaf7d1,#fff2f89e),radial-gradient(circle at 18% 12%,rgba(255,255,255,.86),transparent 34%);box-shadow:0 20px 60px #d9668d1a,inset 0 1px #ffffffc7;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.simulator-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:22px}.field-block{display:grid;gap:9px}.field-block.wide,.simulator-form .primary{grid-column:1 / -1}.field-block>span{color:#7e5c71;font-family:DM Mono,monospace;font-size:12px;letter-spacing:.14em}.field-block input,.field-block select,.field-block textarea{width:100%;border:1px solid rgba(234,216,223,.9);border-radius:18px;padding:13px 15px;color:var(--ink);background:#ffffff94;outline:none;font:inherit;transition:border-color .25s ease-out,box-shadow .25s ease-out,background .25s ease-out}.field-block textarea{min-height:128px;resize:vertical}.field-block input:focus,.field-block select:focus,.field-block textarea:focus{border-color:#d9668d7a;background:#ffffffbd;box-shadow:0 0 0 5px #d9668d14}.scene-groups{display:grid;gap:13px;max-height:330px;overflow:auto;padding-right:4px}.scene-group{display:grid;gap:8px}.scene-group strong{color:#5b4055;font-size:14px;font-weight:600}.chip-row{display:flex;flex-wrap:wrap;gap:7px}.chip-row button{min-height:32px;border:1px solid rgba(234,216,223,.9);border-radius:999px;padding:0 12px;color:var(--muted);background:#ffffff6b;font-size:12px;transition:all .22s ease-out}.chip-row button:hover,.chip-row button.selected{color:#7b415d;border-color:#d9668d75;background:#ffe8f1d1;box-shadow:0 6px 16px #d9668d1a}.simulator-result{position:relative;min-height:640px;padding:22px}.simulator-result .relationship-hud{position:static;width:100%;margin-bottom:16px;background:#2f2538b8}.result-empty{min-height:590px;display:grid;place-content:center;gap:14px;text-align:center;color:var(--muted)}.result-empty span{color:var(--accent2);font-family:DM Mono,monospace;letter-spacing:.18em}.result-empty strong{color:var(--ink);font-family:Gloock,STSong,serif;font-size:clamp(34px,4vw,56px);font-weight:400}.result-head{display:grid;gap:8px;margin-bottom:16px}.result-head span,.reply-grid article span,.rewrite-stack article span{color:var(--accent2);font-family:DM Mono,monospace;font-size:12px;letter-spacing:.14em}.result-head h3{color:var(--ink);font-size:clamp(26px,3vw,40px)}.result-head p{color:var(--muted);line-height:1.7}.reply-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:14px}.reply-grid article,.rewrite-stack article,.insight-grid article{border:1px solid rgba(234,216,223,.82);border-radius:20px;padding:16px;background:#ffffff70}.reply-grid p,.rewrite-stack p{margin-top:9px;color:var(--ink);line-height:1.72}.reply-grid em{display:block;margin-top:12px;color:var(--muted);font-size:13px;font-style:normal;line-height:1.6}.rewrite-stack{display:grid;gap:12px;margin-bottom:14px}.insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.insight-grid article{display:flex;flex-wrap:wrap;align-content:start;gap:8px}.insight-grid strong{width:100%;color:var(--ink);font-family:Gloock,STSong,serif;font-weight:400}.insight-grid span{border-radius:999px;padding:5px 9px;color:#7d5a70;background:#f7edf2d1;font-size:12px}.chat-panel{display:grid;gap:14px}.chat-thread{display:grid;align-content:start;gap:12px;min-height:260px;max-height:440px;overflow:auto;padding:8px 4px 8px 0}.chat-bubble{max-width:82%;border:1px solid rgba(234,216,223,.82);border-radius:22px;padding:13px 15px;background:#ffffff8a;box-shadow:0 12px 28px #d9668d14}.chat-bubble.mine{justify-self:end;color:#6e3e58;background:#ffe8f1c7;border-bottom-right-radius:8px}.chat-bubble.theirs{justify-self:start;color:var(--ink);border-bottom-left-radius:8px}.chat-bubble span{display:block;margin-bottom:5px;color:var(--accent2);font-family:DM Mono,monospace;font-size:11px;letter-spacing:.12em}.chat-bubble p{line-height:1.68}.chat-bubble em{display:block;margin-top:8px;color:var(--muted);font-size:12px;font-style:normal;line-height:1.55}.chat-input{display:grid;gap:8px}.chat-input span{color:#7e5c71;font-family:DM Mono,monospace;font-size:12px;letter-spacing:.14em}.chat-input textarea{min-height:88px;border:1px solid rgba(234,216,223,.9);border-radius:18px;padding:13px 15px;color:var(--ink);background:#ffffff9e;outline:none;resize:vertical;font:inherit}.compact-actions{justify-content:flex-start}.quick-replies{display:flex;flex-wrap:wrap;gap:8px;padding-top:2px}.quick-replies strong{width:100%;color:var(--ink);font-family:Gloock,STSong,serif;font-weight:400}.quick-replies button{border:1px solid rgba(234,216,223,.86);border-radius:16px;padding:8px 10px;color:#7d5a70;background:#ffffff80;font-size:12px;line-height:1.5;text-align:left}.result-empty.compact{min-height:220px}.practice-steps{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}.practice-steps span{border:1px solid rgba(234,216,223,.9);border-radius:999px;padding:8px 13px;color:var(--muted);background:#ffffff7a;font-size:13px}.practice-steps span.active{color:#7b415d;border-color:#d9668d6b;background:#ffe8f1c7}.practice-workshop{display:grid;grid-template-columns:minmax(360px,.92fr) minmax(420px,1.08fr);gap:22px}.practice-draft,.practice-feedback,.challenge-controls{border:1px solid rgba(234,216,223,.84);border-radius:28px;padding:22px;background:#fffaf7a8;box-shadow:0 20px 60px #d9668d17}.score-grid{display:grid;gap:12px;margin-bottom:16px}.score-grid div{display:grid;grid-template-columns:86px 1fr 42px;align-items:center;gap:10px;color:var(--muted);font-size:13px}.score-grid meter{width:100%;height:10px}.score-grid b{color:var(--ink);font-family:DM Mono,monospace;font-weight:400}.coach-card{border:1px solid rgba(234,216,223,.82);border-radius:20px;padding:16px;margin-bottom:14px;background:#ffffff7a}.coach-card span,.final-drafts span{color:var(--accent2);font-family:DM Mono,monospace;font-size:12px;letter-spacing:.14em}.coach-card p{margin-top:8px;color:var(--ink);line-height:1.7}.final-drafts em{display:block;margin-top:9px;color:var(--muted);font-style:normal}.challenge-layout{display:grid;grid-template-columns:minmax(420px,1.05fr) minmax(360px,.95fr);gap:22px}.story-thread{min-height:520px;max-height:620px;border:1px solid rgba(234,216,223,.84);border-radius:28px;padding:20px;background:#fffaf794}.challenge-directions{justify-content:flex-start;margin:14px 0}.routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.route-card{position:relative;min-height:320px;overflow:hidden;text-align:left;border:1px solid var(--rule);border-radius:22px;padding:28px;color:var(--ink);background:linear-gradient(160deg,#ffffff80,#f1dfe84d),radial-gradient(circle at 78% 22%,rgba(217,102,141,.12),transparent 30%);box-shadow:0 4px 16px #4433480a;transition:transform .25s ease-out,box-shadow .25s ease-out}.route-card:hover{transform:translateY(-3px) scale(1.01);box-shadow:0 12px 36px #d9668d1f}.route-card strong{display:block;margin-top:68px;font-size:clamp(24px,3vw,34px);font-family:Gloock,serif}.route-card em,.route-card span{color:var(--muted);font-style:normal;line-height:1.7}.route-card b{position:absolute;right:22px;bottom:8px;color:#d9668d14;font-size:92px;font-family:Gloock,serif}.about-link{align-self:center;margin-top:30px}.creator textarea,.practice-letter textarea,.practice-letter input{width:100%;border:1px solid var(--rule);border-radius:18px;color:var(--ink);background:#fffaf799;outline:none;transition:border-color .25s ease-out,box-shadow .25s ease-out}.creator textarea:focus,.practice-letter textarea:focus,.practice-letter input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #d9668d1a}.creator textarea,.practice-letter textarea{min-height:116px;padding:18px;resize:vertical}.character-grid,.letter-grid,.theme-list,.review-grid,.about-grid{display:grid;gap:14px}.character-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:22px 0}.character-grid button,.theme-list button{border:1px solid var(--rule);border-radius:20px;padding:18px;color:var(--ink);text-align:left;background:#fffaf780;transition:all .25s ease-out}.character-grid button:hover,.theme-list button:hover{border-color:var(--accent);box-shadow:0 6px 20px #d9668d1a;transform:translateY(-2px)}.character-grid .selected,.theme-list .selected{border-color:var(--accent);box-shadow:0 0 0 2px #d9668d33,0 8px 28px #d9668d26;background:#d9668d0f}.character-grid strong,.theme-list strong{display:block;margin-bottom:8px;font-size:clamp(16px,1.6vw,20px);font-family:Gloock,serif}.character-grid span,.theme-list span,.character-grid em{display:block;color:var(--muted);font-style:normal;line-height:1.6;font-size:clamp(12px,1.1vw,14px)}.story{min-height:min(760px,calc(100vh - 110px));background:linear-gradient(180deg,#f7edf24d,#2f2538a6),var(--bg-image) center / cover}.scene-title{position:absolute;top:28px;left:34px;z-index:3;display:grid;gap:5px}.scene-title span{color:var(--accent2);font-family:DM Mono,monospace;font-size:12px;letter-spacing:.24em}.scene-title strong{font-size:28px;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.3)}.relationship-hud{position:absolute;top:28px;right:30px;z-index:5;width:210px;display:grid;gap:11px;padding:16px;border:1px solid rgba(255,255,255,.15);border-radius:22px;background:#2f2538a6;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.relationship-hud div{display:grid;grid-template-columns:42px 1fr 32px;align-items:center;gap:8px;font-size:12px;color:#ffffffd9}meter{width:100%;height:8px}meter::-webkit-meter-bar{border:0;border-radius:999px;background:#ffffff1f}meter::-webkit-meter-optimum-value{border-radius:999px;background:linear-gradient(90deg,var(--accent),var(--accent2),var(--accent3))}.avatar-card{position:absolute;left:50%;top:52%;z-index:2;width:min(360px,70vw);padding:34px;text-align:center;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.2);border-radius:44% 56% 50% 50%/58% 48% 52% 42%;background:radial-gradient(circle at 50% 24%,rgba(241,223,232,.5),transparent 28%),linear-gradient(160deg,#ffffff26,#ffffff0d);box-shadow:0 20px 60px #2f253840;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.avatar-glow{width:128px;height:128px;margin:0 auto 22px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));box-shadow:0 0 40px #d9668d4d,0 0 80px #c99a5b26}.avatar-card h3{margin-bottom:6px;font-size:34px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.2)}.avatar-card p,.avatar-card span{color:#ffffffb3;line-height:1.7}.dialogue-box{position:absolute;left:34px;right:34px;bottom:30px;z-index:6;border:1px solid rgba(255,255,255,.2);border-radius:22px;padding:24px;background:#2f2538b8;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.speaker{display:inline-block;margin-bottom:10px;color:var(--accent2);font-family:DM Mono,monospace;letter-spacing:.16em;font-size:13px}.dialogue-box p{margin-bottom:14px;font-size:clamp(16px,1.8vw,20px);line-height:1.72;color:#ffffffeb}.dialogue-box small{display:block;margin-bottom:16px;color:var(--mist);font-size:14px}.choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.choices button{min-height:82px;border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:14px;text-align:left;color:#ffffffe6;background:#ffffff0f;transition:all .25s ease-out}.choices button:hover{background:#d9668d26;border-color:var(--accent);transform:translateY(-2px);box-shadow:0 6px 20px #d9668d33}.choices button span{display:block;margin-bottom:8px;color:var(--accent2);font-family:DM Mono,monospace;font-size:12px}.confession,.ending,.review{display:flex;flex-direction:column;justify-content:center;padding-right:290px}.confession p,.ending p,.review p{color:var(--muted);font-size:18px;line-height:1.8}blockquote{margin:24px 0;padding:24px;border-left:3px solid var(--accent);border-radius:16px;color:var(--ink);background:#d9668d0f;font-size:clamp(16px,1.8vw,22px);line-height:1.7;font-style:italic}.memory-list{display:grid;gap:8px;margin-top:16px}.memory-list span{padding:10px 14px;border:1px solid var(--rule);border-radius:999px;color:var(--muted);background:#fffaf780;font-size:13px}.letter-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.practice-letter label{display:grid;gap:8px;color:var(--accent2);font-size:13px;font-family:DM Mono,monospace}.practice-letter input{min-height:48px;padding:0 15px}.expression{margin-top:16px}.privacy-note,.warning{margin:15px 0 0;color:var(--muted);line-height:1.7;font-size:14px}.warning{padding:14px 16px;border:1px solid rgba(217,102,141,.4);border-radius:16px;background:#d9668d14;color:var(--accent)}.theme-list{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:26px}.theme-list button{min-height:180px}.review-grid,.about-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-grid article,.about-grid article{border:1px solid var(--rule);border-radius:20px;padding:20px;background:#fffaf780;transition:all .25s ease-out}.review-grid article:hover,.about-grid article:hover{border-color:var(--accent);box-shadow:0 6px 20px #d9668d14;transform:translateY(-2px)}.review-grid span,.about-grid span{color:var(--accent2);font-family:DM Mono,monospace;letter-spacing:.12em;font-size:12px}.about{max-height:none}@media(max-width:860px){.topbar{left:14px;right:14px;top:12px}.brand{letter-spacing:.08em}.topbar nav button{padding:0 10px}.screen-panel,.story{width:calc(100vw - 22px);min-height:calc(100vh - 86px);margin-top:70px;border-radius:20px}.screen-panel{padding:26px}.start,.routes,.character-grid,.letter-grid,.theme-list,.review-grid,.about-grid{grid-template-columns:1fr}.character-focus{min-height:320px}.route-card{min-height:190px}.route-card strong{margin-top:36px}.relationship-hud{top:72px;right:12px;width:150px;padding:11px}.relationship-hud div{grid-template-columns:34px 1fr 26px;gap:5px}.avatar-card{top:38%;width:250px;padding:24px}.dialogue-box{left:12px;right:12px;bottom:12px;max-height:52vh;overflow:auto;padding:18px}.choices{grid-template-columns:1fr}.confession,.ending,.review{padding-right:26px;padding-top:160px}.simulator-grid,.practice-workshop,.challenge-layout,.simulator-form,.reply-grid,.insight-grid{grid-template-columns:1fr}.scene-groups{max-height:260px}.chat-bubble{max-width:92%}}@media(max-height:720px){.topbar{top:14px}.brand{min-height:36px;padding-inline:13px}.topbar nav button{min-height:34px}.screen-panel,.story{min-height:calc(100vh - 92px);margin-top:66px;margin-bottom:18px}h1{margin-bottom:14px;font-size:clamp(40px,7vw,72px)}.tagline{font-size:clamp(14px,1.8vw,18px)}.hero-actions,.choice-row{margin-top:20px}.character-focus{min-height:clamp(260px,48vh,380px)}.dreamcore-canvas{width:min(420px,92%)}}
