@charset "UTF-8";
:root{color-scheme:light;--ink:#4d5243;--muted:#939687;--green:#6c805b;--green-dark:#536447;--cream:#fffdf5;--line:#e6e5d8;--yellow:#f4d787;--ear-left:0deg;--ear-right:-5deg;font-family:"Microsoft YaHei","PingFang SC","Noto Sans CJK SC",system-ui,sans-serif;font-synthesis:none}
*{box-sizing:border-box}html{min-height:100%;background:#eef2e5}body{margin:0;min-height:100vh;min-height:100dvh;color:var(--ink);background:#eef2e5;font-size:14px;line-height:1.65;-webkit-tap-highlight-color:transparent;isolation:isolate}button,input,textarea,a{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #aa8550;outline-offset:4px}button,a{user-select:none}button{border:0}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.page-grain{position:fixed;inset:0;pointer-events:none;z-index:-1;opacity:.27;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.78' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23999970' opacity='.18' filter='url(%23n)' d='M0 0h180v180H0z'/%3E%3C/svg%3E")}.background-shape{position:fixed;pointer-events:none;z-index:-2;border-radius:48% 52% 63% 37%}.shape-one{background:#e3e9d6;width:580px;height:620px;top:-230px;left:calc(50% - 610px);transform:rotate(28deg)}.shape-two{background:#f0ead5;width:450px;height:480px;right:calc(50% - 690px);bottom:-150px;transform:rotate(-25deg)}
.game-shell{width:min(100% - 36px,480px);margin:0 auto;padding:24px 0 max(12px,env(safe-area-inset-bottom))}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:44px;margin-bottom:22px}.brand{display:flex;align-items:center;gap:8px;font-size:15px;letter-spacing:.05em;font-weight:750;white-space:nowrap}.brand img{display:block}.brand-dot{color:#a9af9c;margin-left:1px}.brand-small{font-size:11px;letter-spacing:0;font-weight:400;color:#929781}.sound-toggle{display:flex;align-items:center;gap:6px;min-width:78px;min-height:44px;padding:6px 10px;border:1px solid #d8dfcc;border-radius:25px;background:#f8f9f0;color:#6b755e;font-size:11px}.sound-toggle span:first-child{font-size:19px;line-height:1}.game-card{position:relative;border-radius:25px;background:var(--cream);border:1px solid #fdfdf6;box-shadow:0 14px 55px #6573460c,0 3px 0 #d9dfca70;padding:24px 26px 19px;overflow:hidden}.card-topline{display:flex;justify-content:space-between;align-items:center;gap:7px}.tiny-label{font-size:9px;font-weight:650;letter-spacing:1.9px;color:#9a9d89}.paper-sticker{font-size:10px;color:#9b8750;background:#f8edcc;padding:3px 8px;transform:rotate(4deg);border-radius:3px;white-space:nowrap}.game-card h1{font-size:31px;font-weight:850;letter-spacing:.025em;margin:22px 0 6px;line-height:1.4}.title-highlight{position:relative;isolation:isolate;white-space:nowrap}.title-highlight:after{position:absolute;content:"";height:.34em;bottom:.07em;left:-.06em;right:-.06em;background:#f1db96;z-index:-1;border-radius:4px;transform:rotate(-2deg)}.game-subtitle{margin:0;color:#979887;font-size:12px;letter-spacing:.03em}.character-stage{position:relative;height:270px;margin:10px -7px 0;background:radial-gradient(ellipse 46% 39% at 50% 71%,#edf0dd 0,#f5f5e9 70%,transparent 71%);isolation:isolate}.bunny-wrap{--ear-left:0deg;--ear-right:-5deg}.character-stage>.bunny-wrap{position:absolute;width:265px;left:50%;bottom:0;transform:translateX(-50%)}.bunny-svg{display:block;width:100%;height:auto;overflow:visible}.bunny-head{transform-origin:180px 238px;animation:headSway 4.5s ease-in-out infinite}.bunny-body{transform-origin:180px 332px;animation:breathe 4.5s ease-in-out infinite}.bunny-eyes{transform-origin:180px 178px;animation:blink 5.4s infinite}.ear{transform-box:view-box;transition:transform 1.25s cubic-bezier(.23,.74,.32,1)}.ear-left{transform-origin:139px 152px;transform:rotate(var(--ear-left))}.ear-right{transform-origin:223px 153px;transform:rotate(var(--ear-right))}.happy-sparkles{opacity:0;transition:opacity .5s}.bunny-wrap[data-mood="sad"] .bunny-brows{opacity:1}.bunny-wrap[data-mood="sad"] .bunny-mouth{transform-origin:180px 211px;transform:scaleY(.65)}.bunny-wrap[data-mood="happy"] .happy-sparkles{opacity:1;animation:sparkle 2s ease-in-out infinite}.bunny-wrap[data-mood="happy"] .bunny-head{animation:happyHead 1.8s ease-in-out infinite}.bunny-wrap[data-mood="happy"] .bunny-body{animation:happyBody 1.8s ease-in-out infinite}.bunny-wrap[data-mood="pleased"] .bunny-head{animation:nod .65s ease-in-out 1}.is-still *,.is-paused *{animation-play-state:paused!important}.is-still .ear-left{transform:rotate(var(--ear-left))}.is-still .ear-right{transform:rotate(var(--ear-right))}.stage-doodle{position:absolute;color:#d7bc73;font-family:serif;line-height:1}.doodle-star{left:16%;top:18%;font-size:34px;transform:rotate(-14deg)}.doodle-flower{right:11%;top:39%;font-size:24px;color:#b5c3a0;transform:rotate(13deg)}.doodle-dot{right:24%;top:10%;font-size:14px;color:#b2bea2}.stage-caption{position:absolute;left:16px;bottom:42px;width:15px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.2em;color:#b1b29b;line-height:1.5}.grass{position:absolute;bottom:15px;width:12px;height:19px;border-left:2px solid #b5c3a0;border-radius:80% 0 0 0;transform:rotate(-20deg);opacity:.7}.grass:after{content:"";position:absolute;left:0;bottom:0;width:7px;height:13px;border-right:2px solid #b5c3a0;border-radius:0 80% 0 0;transform:rotate(25deg)}.grass-one{left:26%}.grass-two{right:26%;height:13px;transform:rotate(15deg)}
.conversation{margin-top:2px}.speaker-line{display:flex;justify-content:space-between;align-items:center;margin:0 3px 9px}.speaker-name{font-size:12px;font-weight:750;letter-spacing:.1em}.speaker-name:before{content:"";display:inline-block;width:6px;height:6px;background:#a8ba8f;border-radius:50%;margin-right:7px;vertical-align:2px}.round-label{font-size:10px;color:#a8aa99}.speech-bubble{position:relative;border:1px solid #e4e7d7;border-radius:4px 17px 17px 17px;background:#f5f7ed;min-height:107px;padding:19px 18px 21px;display:flex;align-items:center}.speech-bubble:before{content:"";position:absolute;left:17px;top:-6px;width:9px;height:9px;background:#f5f7ed;border-top:1px solid #e4e7d7;border-left:1px solid #e4e7d7;transform:rotate(45deg)}#dialogue{margin:0;white-space:pre-line;font-size:16px;line-height:1.85;letter-spacing:.02em;overflow-wrap:anywhere;word-break:normal;width:100%}.typing-dots{position:absolute;right:13px;bottom:6px;font-size:10px;letter-spacing:3px;color:#acb49a;animation:typing 1.3s ease-in-out infinite}.actions{display:flex;gap:12px;min-height:54px;margin-top:17px}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:14px;text-align:center;padding:11px 20px;border-radius:13px;font-size:15px;font-weight:650;letter-spacing:.045em;transition:background .18s,transform .18s,box-shadow .18s;line-height:1.55;border:1px solid transparent}.actions .button{flex:1}.button-primary{color:#fffdf3;background:var(--green);border-color:var(--green);box-shadow:0 3px 0 #4f6347}.button-secondary{background:#f8f6ec;color:#7c7b68;border-color:#dfdfcf;box-shadow:0 3px 0 #e7e5d8}.button:active:not(:disabled){transform:translateY(2px);box-shadow:none}.button:disabled{opacity:.55;box-shadow:none}.button-wide{font-size:14px}.progress-row{display:flex;justify-content:space-between;align-items:center;margin-top:23px;color:#a9ac9b;font-size:9px;gap:10px}.progress-dots{display:flex;gap:5px}.progress-dot{width:6px;height:6px;border-radius:50%;background:#e5e8da}.progress-dot.done{background:#a7b78d}.progress-dot.current{background:#d9bd76}.page-footer{display:flex;justify-content:center;align-items:center;gap:15px;font-size:10px;letter-spacing:.07em;color:#9fa58f;margin-top:20px}.page-footer span:last-child{font-size:14px;color:#b5bd9f}.name-reveal{font-size:28px!important;font-weight:750;text-align:center;letter-spacing:.08em!important}.name-reveal.long-name{font-size:19px!important;letter-spacing:.02em!important}
.scare-overlay{position:fixed;inset:0;z-index:50;background:#100204;overflow:hidden;pointer-events:none}.scare-overlay>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 53%;animation:singleRush .65s cubic-bezier(.08,.6,.18,1) forwards}.scare-grain{position:absolute;inset:0;opacity:.3;background:repeating-linear-gradient(0deg,#0000 0 3px,#09000080 3px 4px);box-shadow:inset 0 0 16vw #0009}.scare-fallback{position:absolute;inset:-5%;background:radial-gradient(ellipse at 50% 43%,#c9b9a1 0 30%,#5a322b 50%,#170205 72%);animation:singleRush .65s forwards}.nightmare-eyes{position:absolute;top:35%;left:12%;right:12%;display:flex;justify-content:space-between}.nightmare-eyes i{display:block;width:29%;height:100px;background:radial-gradient(circle at 45% 40%,#b6aba5 0 2%,#080303 4% 60%,#43231f 67%);border-radius:45% 55% 34% 66%;transform:rotate(15deg)}.nightmare-eyes i+ i{transform:rotate(-15deg)}.nightmare-mouth{position:absolute;top:60%;left:26%;width:48%;height:24%;border-radius:20% 20% 50% 50%;background:repeating-linear-gradient(90deg,#d2b89a 0 8%,#5e3327 9% 11%);border:15px solid #251010;box-shadow:inset 0 -45px 20px #090000}
body.horror-mode{background:#110205;color:#b83737}body.horror-mode .background-shape,body.horror-mode .page-grain{display:none}body.horror-mode .sound-toggle{position:fixed;right:20px;top:max(20px,env(safe-area-inset-top));z-index:60;background:#21080b;border-color:#4a1d22;color:#bc8b89}body.horror-mode .game-card,body.horror-mode .brand,body.horror-mode .page-footer{visibility:hidden}body.blackout{background:#000}.ending-panel{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px;min-height:100dvh;background:radial-gradient(ellipse at 50% 43%,#35090e 0,#170307 45%,#060102 100%);text-align:center;z-index:20;animation:endingAppear .9s ease-out}.ending-eyebrow{font-size:13px;letter-spacing:15px;color:#7e262b;margin-bottom:30px}.ending-panel h2{color:#d32f38;font-size:clamp(34px,8vw,64px);font-weight:900;letter-spacing:.15em;margin:0;text-shadow:0 3px 20px #a10c234d;font-family:"Songti SC","SimSun",serif}.ending-copy{font-size:12px;letter-spacing:.3em;color:#8f4b50;margin-top:24px}.ending-actions{position:absolute;bottom:max(55px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:18px;align-items:center}.ending-actions .button{background:#2c0e13;color:#d4a2a2;border:1px solid #653039;min-width:180px;box-shadow:none}.text-button{min-height:44px;padding:8px 15px;font-size:12px;color:#9e7378;background:transparent}.horror-mode .topbar{margin:0}.modal-open{overflow:hidden}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#000a;display:flex;align-items:center;justify-content:center;padding:22px;backdrop-filter:blur(5px)}.explanation-card{width:min(100%,440px);max-height:85dvh;overflow:auto;border-radius:20px;background:#fffdf5;color:var(--ink);padding:30px}.explanation-card h2{font-size:21px;margin:15px 0}.explanation-card p{font-size:14px;line-height:1.9}.explanation-card .button{width:100%;margin-top:15px}.muted{color:#929584}.explanation-card .muted{font-size:12px}
.invite-shell{width:min(100% - 48px,1050px);margin:auto;padding:30px 0}.invite-shell>.topbar{margin-bottom:45px}.creator-badge{font-size:11px;background:#e5eadb;color:#7a856a;border:1px solid #d7dfca;border-radius:20px;padding:5px 13px;letter-spacing:.08em}.invite-layout{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:start}.invite-intro{padding:22px 0 0 18px}.eyebrow{font-size:12px;letter-spacing:.17em;color:#8b987a}.invite-intro h1{font-size:46px;line-height:1.5;font-weight:850;letter-spacing:.025em;margin:18px 0}.invite-intro>p{font-size:14px;line-height:2;color:#8e977e}.invite-character{position:relative;max-width:330px;margin:14px auto 0;background:radial-gradient(ellipse at 50% 67%,#e2e8d2 0 35%,transparent 36%)}.invite-character .bunny-wrap{width:100%;}.invite-spark{position:absolute;left:-5px;top:75px;font-size:45px;color:#b7bc91;transform:rotate(-12deg)}.invite-character-note{display:block;text-align:center;font-size:11px;color:#9da38c;letter-spacing:.05em;margin-top:3px}.invite-form-card{padding:33px 32px 27px;background:var(--cream);border-radius:24px;border:1px solid #fff;box-shadow:0 15px 60px #6573460b}.invite-form-card h2{font-size:26px;margin:13px 0 8px}.invite-form-card>.muted{font-size:12px;margin-bottom:28px;line-height:1.8}#invite-form label{display:block;font-size:13px;font-weight:650;margin-bottom:10px}.name-input-wrap{position:relative}.name-input-wrap input{display:block;width:100%;min-height:56px;padding:14px 40px 14px 16px;border:1px solid #dadfcd;border-radius:11px;background:#f7f8ef;color:#4d5243;font-size:16px}.name-input-wrap input::placeholder{color:#b1b4a2}.name-input-wrap span{position:absolute;right:16px;top:12px;color:#a3ad91;font-size:23px}.name-input-wrap input[aria-invalid="true"]{border-color:#bf7967}.field-hint{font-size:10px;line-height:1.9;color:#a1a48f;margin:9px 0 18px}.generate-button{width:100%;justify-content:space-between;margin-top:2px}.form-message,.copy-message{font-size:11px;line-height:1.8;color:#96784e;margin:12px 0 0}.form-message:empty,.copy-message:empty{display:none}.link-result{margin-top:23px;padding:18px;border:1px solid #dfe5d2;border-radius:14px;background:#f1f5e9}.result-heading{display:flex;align-items:center;gap:8px;margin-bottom:12px}.result-heading h3{font-size:13px;margin:0}.result-check{color:#6e875b;font-size:15px}#share-link{display:block;width:100%;resize:none;border:1px dashed #cdd6bd;border-radius:7px;background:#fffef7;color:#727d62;overflow-wrap:anywhere;word-break:break-all;padding:10px;font-size:11px;line-height:1.65}.result-actions{display:flex;gap:9px;margin-top:13px}.result-actions .button{flex:1;font-size:12px;min-height:46px;padding:9px}.link-result .field-hint{margin-bottom:0}.creator-note{display:flex;gap:11px;margin-top:27px;padding-top:23px;border-top:1px dashed #dedfcf}.creator-note>span{color:#b6a56b;font-size:20px}.creator-note strong{font-size:12px;font-weight:650;color:#7c846c}.creator-note p{font-size:11px;color:#949883;line-height:1.9;margin:6px 0 0}.privacy-note{font-size:10px;color:#a4a794;line-height:1.9;margin:20px 0 0}.invite-shell>.page-footer{margin-top:40px}.noscript-note{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:25px;text-align:center;background:#eef2e5;font-size:18px}
@keyframes headSway{0%,100%{transform:rotate(-1.3deg) translateY(0)}50%{transform:rotate(1.3deg) translateY(-2px)}}@keyframes breathe{0%,100%{transform:scaleY(1)}50%{transform:scaleY(1.025)}}@keyframes blink{0%,41%,45%,100%{transform:scaleY(1)}43%{transform:scaleY(.08)}}@keyframes nod{0%,100%{transform:rotate(0)}40%{transform:rotate(4deg) translateY(3px)}}@keyframes happyHead{0%,100%{transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-6px) rotate(2deg)}}@keyframes happyBody{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes sparkle{0%,100%{opacity:.4}50%{opacity:1}}@keyframes typing{0%,100%{opacity:.4}50%{opacity:1}}@keyframes singleRush{0%{transform:scale(1.02) rotate(-2deg)}75%{transform:scale(1.32) rotate(1deg)}100%{transform:scale(1.36)}}@keyframes endingAppear{from{opacity:0}to{opacity:1}}
@media(hover:hover){.button-primary:hover:not(:disabled){background:#5f744e}.button-secondary:hover:not(:disabled){background:#eeeddf}.sound-toggle:hover{background:#fffdf5}.text-button:hover{color:#dcb1b1}}
@media(min-width:900px){.game-shell{padding-top:32px}.player-page .game-card{padding:28px 31px 23px}.player-page .character-stage{height:292px}.player-page .character-stage>.bunny-wrap{width:285px}.game-card h1{font-size:34px}.player-page .game-card:after{content:"";position:absolute;width:54px;height:20px;top:-4px;left:calc(50% - 27px);background:#d8dfc57a;transform:rotate(-4deg);pointer-events:none}}
@media(max-width:760px){.invite-shell{width:min(100% - 36px,480px);padding-top:20px}.invite-shell>.topbar{margin-bottom:18px}.invite-layout{grid-template-columns:1fr;gap:20px}.invite-intro{position:relative;min-height:220px;padding:18px 0 0 5px}.invite-intro h1{font-size:31px;position:relative;z-index:1;margin:12px 0}.invite-intro>p{font-size:12px;max-width:55%}.invite-character{position:absolute;right:-8px;bottom:-6px;width:175px;margin:0}.invite-character-note{display:none}.invite-spark{font-size:25px;left:5px;top:40px}.eyebrow{font-size:10px}.invite-form-card{padding:27px 23px}.invite-form-card>.muted{margin-bottom:22px}.invite-shell>.page-footer{margin-top:24px}}
@media(max-width:380px){.game-shell{width:calc(100% - 24px);padding-top:12px}.topbar{margin-bottom:14px}.game-card{padding:20px 19px 18px}.brand-small,.brand-dot{display:none}.game-card h1{font-size:28px;margin-top:18px}.character-stage{height:242px}.character-stage>.bunny-wrap{width:238px}.paper-sticker{font-size:9px}.tiny-label{font-size:8px;letter-spacing:1.3px}.progress-row{font-size:8px}.invite-intro h1{font-size:28px}.invite-character{width:150px}.invite-intro>p{font-size:11px}.invite-form-card{padding:24px 20px}}
@media(max-height:720px) and (max-width:600px){.game-shell{padding-top:8px}.topbar{margin-bottom:9px}.game-card{padding-top:15px;padding-bottom:16px}.game-card h1{font-size:27px;margin-top:13px}.character-stage{height:205px;margin-top:3px}.character-stage>.bunny-wrap{width:205px}.stage-caption{bottom:24px}.speech-bubble{min-height:92px;padding-top:13px;padding-bottom:17px}#dialogue{font-size:15px}.actions{margin-top:13px}.progress-row{margin-top:16px}.page-footer{margin-top:13px}}
@media(max-height:590px) and (max-width:600px){.brand-small,.brand-dot{display:none}.card-topline{display:none}.game-card h1{font-size:24px;margin-top:0}.character-stage{height:155px}.character-stage>.bunny-wrap{width:160px}.game-subtitle{font-size:10px}.speech-bubble{min-height:86px}.stage-caption{font-size:8px;bottom:10px}.page-footer{margin-top:7px}.progress-row{margin-top:12px}.game-card{border-radius:18px}.actions .button{min-height:48px;padding:9px 15px}.speaker-line{margin-bottom:6px}.doodle-star{font-size:26px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.scare-overlay>img,.scare-fallback{transform:none}.ending-panel{animation:none}}

/* Search stays cute. Only the last confirmation distorts the original face. */
.bunny-magnifier{display:none;transform-origin:232px 268px}
.is-searching .bunny-magnifier{display:block;animation:searchGlass 1.4s ease-in-out infinite}
.is-searching .bunny-head{animation:searchHead 2.4s ease-in-out infinite}
.is-searching .bunny-eyes{animation:searchEyes 2.4s ease-in-out infinite}
.bunny-rupture,.bunny-blood{visibility:hidden;opacity:0;pointer-events:none}
.is-distorting .bunny-head,.is-distorting .bunny-body,.is-distorting .bunny-eyes{animation:none;transform:none}
.is-distorting .bunny-eyes{animation:none}
.is-distorting .eye-left{transform:none}
.is-distorting .eye-highlight{opacity:calc(1 - var(--dread,0) * 1.4)}
.is-distorting .bunny-nose{filter:saturate(.45)}
.bunny-wrap.is-distorting .bunny-mouth{transform:none;opacity:calc(1 - 5 * var(--dread,0))}
.is-distorting .bunny-brows{opacity:0}
.is-distorting .ear-left{transform:rotate(var(--ear-left));transition:none}
.is-distorting .ear-right{transform:rotate(var(--ear-right));transition:none}
.is-speaking-horror .bunny-rupture{visibility:visible;opacity:calc(var(--dread,0) * 5);transform:none}
.is-speaking-horror .bunny-blood{visibility:visible;opacity:calc(.7 * var(--stain,0))}
.bunny-teeth{opacity:calc((var(--dread,0) - .32) * 2)}
.is-distorting .bunny-scarf{opacity:1;transform:none}
.is-distorting .bunny-svg{filter:saturate(calc(1 - .75 * var(--dread,0))) brightness(calc(1 - .14 * var(--dread,0)));transform:none}
@keyframes searchHead{0%,100%{transform:rotate(-2deg)}35%{transform:translate(-4px,5px) rotate(8deg)}70%{transform:translate(4px,3px) rotate(-7deg)}}
@keyframes searchEyes{0%,100%{transform:translate(0,0)}35%{transform:translate(-4px,3px)}70%{transform:translate(4px,2px)}}
@keyframes searchGlass{0%,100%{transform:rotate(-7deg) translate(-2px,0)}50%{transform:rotate(10deg) translate(2px,-3px)}}

/* Familiar cream loses its warmth; name remains the only saturated accent. */
body.name-found{background:#202723;color:#303a32;transition:background .8s ease}
.name-found .background-shape{opacity:0;transition:opacity .85s ease}
.name-found .game-card{background:#c9cec0;border-color:#a3ad9e;box-shadow:0 18px 70px #030a0759,0 3px 0 #727f70;transition:background .85s ease,border-color .85s ease,box-shadow .85s ease}
.name-found .brand,.name-found .brand-small,.name-found .brand-dot{color:#b8c1b5}
.name-found .sound-toggle{background:#303e34;border-color:#626f62;color:#d0d6c8}
.name-found .character-stage{background:radial-gradient(ellipse 46% 39% at 50% 71%,#8e9b8c 0,#bac3af 70%,transparent 71%)}
.name-found .speech-bubble,.name-found .speech-bubble:before{background:#b9c1b1;border-color:#929f8d;transition:background .85s ease,border-color .85s ease}
.name-found .title-highlight:after{background:#a5af97}
.name-found .tiny-label,.name-found .round-label{color:#697665}
.name-found .paper-sticker{background:#afb9a3;color:#65705e}
.name-found .stage-doodle{color:#86927d}
.name-found .button-primary{background:#485747;border-color:#485747;box-shadow:0 3px 0 #2d3a2c}
.name-found .button-secondary{background:#b6c0ad;color:#465240;border-color:#96a18d;box-shadow:0 3px 0 #96a18d}
.name-found .speaker-name:before,.name-found .progress-dot.done{background:#7b8b70}
.name-found .page-footer,.name-found .page-footer span:last-child{color:#83917c}
#dialogue.name-reveal{font-size:clamp(40px,11vw,54px)!important;line-height:1.4;font-weight:900;color:#b31738;letter-spacing:.07em!important;text-shadow:0 2px 12px #9a082c12}
#dialogue.name-reveal.long-name{font-size:clamp(22px,5.7vw,28px)!important;line-height:1.4;letter-spacing:.02em!important}

/* Compact name entry. The game itself never shows an input/configuration UI. */
.simple-entry{display:grid;place-items:center;padding:24px;min-height:100vh;min-height:100dvh}
.entry-shell{width:min(100%,360px)}
.entry-card{padding:36px 30px 25px;background:var(--cream);border:1px solid #fff;border-radius:24px;box-shadow:0 14px 55px #6573460c,0 3px 0 #d9dfca70;text-align:center}
.entry-icon{display:block;margin:0 auto 17px;border-radius:20px}
.entry-card h1{margin:0 0 28px;font-size:27px;font-weight:850;letter-spacing:.06em}
.entry-card .name-input-wrap input{padding:14px 16px;text-align:center}
.entry-submit{width:100%;margin-top:14px;justify-content:center}
.entry-copy{display:block;min-height:44px;margin:16px auto 0;padding:8px 14px;background:transparent;color:#8d967e;font-size:11px;font-weight:400}
.entry-copy:hover{color:#536447}
.entry-privacy{margin:10px 0 0;color:#a5a995;font-size:10px;line-height:1.8}
.entry-card .form-message,.entry-card .copy-message{font-size:11px;line-height:1.8}
.entry-copy-fallback{margin-top:13px}
.game-shell[data-stage="welcome"] .actions{margin-bottom:6px}
@media(max-width:360px){.simple-entry{padding:18px}.entry-card{padding:28px 22px 21px}}

.file-warning{position:fixed;top:calc(12px + env(safe-area-inset-top,0px));left:12px;right:12px;max-width:460px;margin:0 auto;z-index:40;display:flex;align-items:flex-start;gap:12px;padding:13px 15px;border:1px solid #a84552;border-radius:19px;background:#360c18f5;color:#f0bdc3;box-shadow:0 12px 34px #17030c40,0 2px 5px #17030c26;text-align:left;pointer-events:none;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:fileNoticeDrop .48s cubic-bezier(.18,.8,.22,1) both}
.file-warning-icon{flex:none;width:31px;height:31px;margin-top:3px;display:grid;place-items:center;border:1px solid #e96876;border-radius:9px;background:#7a2335;color:#ffe3e7;font-weight:900;font-size:21px;line-height:1}
.file-warning-content{flex:1;min-width:0}
.file-warning-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:5px;font-size:10px;line-height:1.4;color:#d698a6;letter-spacing:.04em}
.file-warning-meta span:last-child{font-size:9px;color:#b98391;letter-spacing:0}
.file-warning strong{display:block;font-size:14px;color:#ff8291;letter-spacing:.06em;line-height:1.5}
.file-warning p{font-size:11px;line-height:1.5;margin:2px 0 0;letter-spacing:.025em}
.file-warning code{display:block;font-size:9px;line-height:1.5;color:#b98b99;overflow-wrap:anywhere}
@keyframes fileNoticeDrop{from{transform:translateY(calc(-100% - 24px - env(safe-area-inset-top,0px)));opacity:0}to{transform:translateY(0);opacity:1}}
.file-warning.is-leaving{animation:fileNoticeLeave .32s ease-in both}
@keyframes fileNoticeLeave{from{transform:translateY(0);opacity:1}to{transform:translateY(calc(-100% - 24px - env(safe-area-inset-top,0px)));opacity:0}}
#dialogue.name-reveal{font-size:18px!important;font-weight:600;line-height:1.65;letter-spacing:.015em!important}
#dialogue.name-reveal .name-text{font-size:clamp(38px,11vw,50px);font-weight:900;line-height:1.4;vertical-align:middle;letter-spacing:.03em}
#dialogue.name-reveal.long-name{font-size:16px!important}
#dialogue.name-reveal.long-name .name-text{font-size:22px;letter-spacing:0}
.is-shaking .speech-bubble{animation:dialogueTremor .9s linear infinite}
body.distortion-mode{background:#111a16}
.distortion-mode .game-card{background:rgb(calc(201 - 72 * var(--dread,0)),calc(206 - 62 * var(--dread,0)),calc(192 - 69 * var(--dread,0)));border-color:#75836f;transition:none}
.distortion-mode .game-card:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:3;opacity:var(--dread,0);background:radial-gradient(ellipse at 50% 43%,transparent 20%,#111e194a 70%,#07110c8c 100%);transform:none}
.distortion-mode .card-topline,.distortion-mode .game-card h1,.distortion-mode .stage-doodle{opacity:calc(1 - .6 * var(--dread,0));transition:opacity .46s ease}
.distortion-mode .speech-bubble,.distortion-mode .speech-bubble:before{background:#aab79f;border-color:#788c71}
#dialogue.found-message{font-size:clamp(34px,10.4vw,48px);font-weight:900;line-height:1.4;letter-spacing:.025em;color:#b0092c;text-align:center;white-space:nowrap;text-shadow:0 2px 10px #82021a2e;min-height:1.4em}
.found-letter{display:inline-block;animation:letterStamp .15s ease-out 1}
.letter-impact .game-card{animation:letterShock .2s ease-out 1}
@keyframes dialogueTremor{0%,100%{transform:translate(0,0)}25%{transform:translate(-1.5px,1px)}50%{transform:translate(1px,-1px)}75%{transform:translate(-.5px,-1px)}}
@keyframes letterStamp{from{opacity:.5;transform:translateY(1px)}to{opacity:1;transform:translateY(0)}}
@keyframes letterShock{0%,100%{transform:translate(0,0)}20%{transform:translate(-5px,2px)}45%{transform:translate(4px,-2px)}70%{transform:translate(-2px,1px)}}
@media(max-height:590px) and (max-width:600px){.file-warning{padding:10px 12px;gap:10px;border-radius:16px}.file-warning strong{font-size:13px}.file-warning p{font-size:10px}.file-warning code{font-size:8px}.file-warning-icon{width:28px;height:28px;font-size:19px}.file-warning-meta{margin-bottom:3px}}
/* Do not allow explicitly visible SVG children to survive the scene cut. */
body.horror-mode .game-card{display:none}
.scare-overlay>img,.scare-overlay .scare-fallback{animation-duration:var(--jump-duration,.491s)}
