@import "https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@500;600;700;900&family=Noto+Sans+SC:wght@400;500;600&display=swap";:root{color:#f7eee8;font-synthesis:none;text-rendering:optimizelegibility;background:#110a10;font-family:Noto Sans SC,system-ui,sans-serif}*{box-sizing:border-box}html{background:#110a10;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}.landing{background:radial-gradient(circle at 50% 22%,#8b323d57,#0000 32%),linear-gradient(155deg,#1b0d15 0%,#0c090d 60%,#1a0b12 100%);min-height:100svh;position:relative;overflow:hidden}.grain{opacity:.09;pointer-events:none;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='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");position:fixed;inset:0}.landing-glow{border:1px solid #d8ae7e17;border-radius:50%;width:480px;height:480px;position:absolute;top:110px;left:50%;transform:translate(-50%);box-shadow:0 0 120px #74192833,inset 0 0 100px #7419281f}.landing-nav{z-index:2;width:min(100% - 40px,760px);padding-top:max(24px, env(safe-area-inset-top));color:#a99a92;letter-spacing:2px;align-items:center;gap:12px;margin:0 auto;font-size:12px;display:flex;position:relative}.logo-seal{color:#e4b7a3;border:1px solid #9e5360;place-items:center;width:30px;height:30px;font-family:Noto Serif SC,serif;display:grid}.hero{z-index:2;text-align:center;width:min(100% - 40px,580px);margin:0 auto;padding:9vh 0 54px;position:relative}.rebirth-badge{color:#d6a59d;letter-spacing:1.5px;background:#531b2747;border:1px solid #c47c7459;padding:7px 13px;font-size:11px;display:inline-flex}.hero h1{letter-spacing:-3px;margin:22px 0 18px;font-family:Noto Serif SC,serif;font-size:clamp(46px,12vw,72px);font-weight:900;line-height:1.18}.hero h1 em{color:#d7a982;text-shadow:0 4px 32px #c06e4d38;font-style:normal}.hero-copy{color:#b5a8a2;margin:0 0 32px;font-family:Noto Serif SC,serif;font-size:15px;line-height:1.9}.identity-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);text-align:left;background:linear-gradient(120deg,#ffffff0e,#ffffff05);border:1px solid #cba78b2b;align-items:center;gap:16px;margin:0 auto 18px;padding:18px;display:flex;position:relative;box-shadow:0 24px 80px #00000047}.portrait{color:#ffe8d6;background:linear-gradient(145deg,#ae6e66,#4e2434);border-radius:50%;flex:0 0 68px;place-items:center;height:68px;font-family:Noto Serif SC,serif;font-size:28px;display:grid;position:relative}.portrait-ring{border:1px solid #daac8547;border-radius:50%;position:absolute;inset:-5px}.identity-content{min-width:0}.card-label{color:#9e7e77;letter-spacing:2px;font-size:10px}.identity-content h2{margin:4px 0 3px;font-family:Noto Serif SC,serif;font-size:21px}.identity-content h2 small{color:#897b77;font-family:Noto Sans SC,sans-serif;font-size:11px;font-weight:400}.identity-content p{color:#a99b95;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:11px;overflow:hidden}.memory-tag{color:#ba777e;letter-spacing:1px;font-size:9px;position:absolute;top:12px;right:12px}.start-button{color:#fff4e9;cursor:pointer;background:linear-gradient(100deg,#772e3e,#a14a50);border:0;justify-content:space-between;align-items:center;width:100%;padding:17px 20px;transition:all .2s;display:flex;box-shadow:0 12px 40px #74243247}.start-button:hover{filter:brightness(1.08);transform:translateY(-2px)}.start-button:disabled{opacity:.7;cursor:wait}.start-button span{font-family:Noto Serif SC,serif;font-size:16px}.start-button b{letter-spacing:1px;opacity:.65;font-size:10px}.game-facts{color:#70656a;justify-content:center;align-items:center;gap:12px;margin-top:20px;font-size:10px;display:flex}.game-facts i{background:#765f65;border-radius:50%;width:2px;height:2px}.game-shell{min-height:100svh;padding-bottom:max(40px, env(safe-area-inset-bottom));background:linear-gradient(155deg,#160d14,#0b0a0d 48%,#160c12);position:relative;overflow:hidden}.ambient{pointer-events:none;filter:blur(2px);border-radius:50%;position:fixed}.ambient-one{background:radial-gradient(circle,#842c3a40,#0000 67%);width:420px;height:420px;top:-180px;right:-210px}.ambient-two{background:radial-gradient(circle,#67453433,#0000 68%);width:360px;height:360px;bottom:-210px;left:-180px}.game-header{z-index:2;width:min(100% - 32px,720px);padding-top:max(20px, env(safe-area-inset-top));grid-template-columns:60px 1fr 60px;align-items:center;min-height:76px;margin:0 auto;display:grid;position:relative}.wordmark{color:#b87579;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-family:Noto Serif SC,serif;font-weight:700}.chapter-meta{text-align:center}.chapter-meta span{color:#8f7e7a;letter-spacing:1px;font-size:10px;display:block}.chapter-meta strong{color:#d6c9c1;margin-top:3px;font-family:Noto Serif SC,serif;font-size:12px;display:block}.evidence-chip{color:#8b7a76;justify-self:end;align-items:baseline;gap:5px;font-size:9px;display:flex}.evidence-chip strong{color:#d6a47d;font-size:17px}.progress-track{z-index:2;background:#ffffff12;width:min(100% - 32px,720px);height:1px;margin:0 auto;position:relative}.progress-track span{background:linear-gradient(90deg,#7a3443,#d29a73);height:100%;transition:width .45s;display:block}.story-card{z-index:1;background:linear-gradient(145deg,#ffffff0b,#ffffff03);border:1px solid #d5bba41f;width:min(100% - 32px,680px);min-height:300px;margin:26px auto 18px;padding:clamp(24px,6vw,42px);animation:.48s both scene-in;position:relative;box-shadow:0 30px 90px #00000047}@keyframes scene-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.scene-kicker{color:#9c8580;letter-spacing:1.2px;align-items:center;gap:8px;margin-bottom:26px;font-size:10px;display:flex}.pulse-dot{background:#b5545e;border-radius:50%;width:5px;height:5px;box-shadow:0 0 0 5px #b5545e1a}.narrative{letter-spacing:.2px;font-family:Noto Serif SC,serif;font-size:clamp(16px,4.2vw,19px);line-height:2}.narrative p{margin:0 0 16px}.narrative p:last-child{margin-bottom:0}.ai-mark{color:#756b69;letter-spacing:.5px;border-top:1px solid #ffffff0f;margin-top:26px;padding-top:14px;font-size:9px}.action-panel{z-index:2;width:min(100% - 32px,680px);margin:0 auto;position:relative}.action-title{justify-content:space-between;align-items:baseline;margin:24px 2px 12px;display:flex}.action-title span{color:#e5d8d0;font-family:Noto Serif SC,serif;font-weight:600}.action-title small{color:#665e5f;font-size:9px}.choice-list{gap:9px;display:grid}.choice-button{color:#d8cbc4;text-align:left;cursor:pointer;background:#ffffff06;border:1px solid #caae991f;grid-template-columns:32px 1fr 20px;align-items:center;gap:10px;width:100%;padding:14px;transition:all .18s;display:grid}.choice-button:hover{background:#812f3a1f;border-color:#c7706f61;transform:translate(3px)}.choice-button:disabled{opacity:.55;cursor:wait}.choice-index{color:#ba8379;border:1px solid #be877a33;place-items:center;width:28px;height:28px;font-family:serif;font-size:11px;display:grid}.choice-arrow{color:#745a5d}.or-line{color:#675f60;align-items:center;gap:12px;margin:18px 0 10px;font-size:9px;display:flex}.or-line:before,.or-line:after{content:"";background:#ffffff0e;flex:1;height:1px}.free-action{background:#00000024;border:1px solid #c9af9d1c;grid-template-columns:1fr 46px;display:grid}.free-action input{color:#e6d9d1;background:0 0;border:0;outline:0;min-width:0;height:48px;padding:0 14px;font-size:12px}.free-action input::placeholder{color:#5f5759}.free-action button{color:#e5b99e;cursor:pointer;background:#8639424d;border:0}.free-action button:disabled{color:#5e5052;background:0 0}.error-message{color:#db8b8f;text-align:center;margin:12px 0 0;font-size:11px}.loading-overlay{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0a070ad1;place-items:center;display:grid;position:fixed;inset:0}.loading-overlay>div{text-align:center}.loading-overlay p{margin:18px 0 4px;font-family:Noto Serif SC,serif}.loading-overlay small{color:#776c6a;font-size:10px}.loader-ring{border:1px solid #d7a88226;border-top-color:#bd766c;border-radius:50%;width:36px;height:36px;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.loading-screen{color:#9a8984;text-align:center;background:#110a10;place-content:center;min-height:100svh;display:grid}.loading-screen p{font-family:Noto Serif SC,serif;font-size:13px}.ending-page{background:radial-gradient(circle at 50% 15%,#3a1721,#100a0f 58%);place-items:center;min-height:100svh;padding:34px 20px;display:grid;position:relative;overflow:hidden}.ending-light{filter:blur(40px);background:#b95e5326;border-radius:50%;width:520px;height:520px;position:absolute;top:-280px}.ending-card{z-index:2;text-align:center;background:#140c11bf;border:1px solid #d6b2942e;width:min(100%,570px);padding:clamp(28px,8vw,52px);position:relative;box-shadow:0 35px 100px #00000061}.ending-unlocked{color:#ab7069;letter-spacing:4px;font-size:9px}.ending-subtitle{color:#c89c7e;letter-spacing:3px;margin:24px 0 6px;font-size:11px;display:block}.ending-card h1{margin:0;font-family:Noto Serif SC,serif;font-size:clamp(29px,8vw,42px)}.ending-divider{color:#70424a;margin:24px 0;font-size:8px}.ending-card>p{color:#c1b2aa;text-align:left;font-family:Noto Serif SC,serif;line-height:2}.ending-stats{border-block:1px solid #ffffff12;grid-template-columns:repeat(3,1fr);margin:30px 0;display:grid}.ending-stats div{padding:15px 4px}.ending-stats div+div{border-left:1px solid #ffffff12}.ending-stats strong,.ending-stats span{display:block}.ending-stats strong{color:#e2b28e;font-family:Noto Serif SC,serif;font-size:17px}.ending-stats span{color:#756b68;margin-top:4px;font-size:9px}.restart-button{color:#fff0e2;cursor:pointer;background:linear-gradient(90deg,#783140,#a04c4d);border:0;width:100%;padding:15px}.feedback-row{color:#766c6a;justify-content:center;align-items:center;gap:8px;margin-top:18px;font-size:10px;display:flex}.feedback-row button{color:#998a85;cursor:pointer;background:0 0;border:1px solid #ffffff14;padding:5px 9px}.feedback-row button.active{color:#e2b28e;border-color:#89545a}.ending-hidden{background:radial-gradient(circle at 50% 15%,#19263b,#080b10 58%)}@media (width>=720px){.hero{padding-top:10vh}.story-card{margin-top:40px}.choice-list{grid-template-columns:repeat(2,1fr)}.choice-button{min-height:68px}}@media (width<=390px){.hero{padding-top:6vh}.hero h1{font-size:42px}.identity-card{padding:15px}.portrait{flex-basis:58px;height:58px}.identity-content p{max-width:205px}.story-card{min-height:270px}}
