@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&family=Noto+Sans+Bali&display=swap";*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}body{font-family:Inter,sans-serif;background:#0a0a0f;color:#e0d5c8;overflow:hidden;height:100vh;height:100dvh;width:100vw;width:100dvw;padding:env(safe-area-inset-top,0px) 0 env(safe-area-inset-bottom,0px) 0}#tap-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,#1a1a2e,#0a0a0f);display:flex;align-items:center;justify-content:center;z-index:9999;cursor:pointer;animation:tapFadeIn 1.5s ease-out}@keyframes tapFadeIn{0%{opacity:0}to{opacity:1}}.tap-content{text-align:center;animation:tapPulse 2s ease-in-out infinite;padding:1.5rem}@keyframes tapPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.02);opacity:.9}}.tap-title{font-size:clamp(1.8rem,6vw,3.5rem);font-weight:700;color:#f0e6d0;letter-spacing:.15em;text-shadow:0 0 30px rgba(255,200,100,.3)}.tap-sub{font-size:clamp(.85rem,3vw,1.5rem);color:#c4a882;letter-spacing:.3em;margin-top:.5em;font-style:italic}.tap-hint{margin-top:clamp(1.5rem,5vh,3rem);font-size:clamp(.7rem,2vw,.9rem);color:#a08060;letter-spacing:.3em;text-transform:uppercase;animation:tapBlink 1.5s ease-in-out infinite}#audio-status{margin-top:.75rem;font-size:clamp(.6rem,1.5vw,.8rem);color:#6a9080}@keyframes tapBlink{0%,to{opacity:.4}50%{opacity:1}}#app{width:100%;height:100vh;height:100dvh;position:relative}.screen{display:none;width:100%;height:100%}.screen.active{display:flex}#title-screen{flex-direction:column;align-items:center;justify-content:center;position:relative;background:linear-gradient(180deg,#0a0a0f,#1a1520,#0d0a12)}.title-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 30%,rgba(200,160,100,.05) 0%,transparent 60%)}.title-content{text-align:center;z-index:1;padding:0 1rem}.title-main{font-family:Noto Sans Bali,serif;font-size:clamp(2.5rem,7vw,5rem);color:#d4a853;letter-spacing:.3em;text-shadow:0 0 30px rgba(212,168,83,.3);margin-bottom:.2em;word-break:break-word}.title-sub{font-size:clamp(1rem,3vw,1.8rem);color:#a09080;letter-spacing:.2em;margin-bottom:1.5em}.title-tagline{font-size:clamp(.75rem,1.8vw,.95rem);color:#6a6050;font-style:italic;margin-bottom:clamp(1.5em,4vh,4em);max-width:min(280px,80vw);padding:0 1rem}.title-buttons{display:flex;flex-direction:column;gap:1em;align-items:center;width:100%}.btn-primary,.btn-secondary{padding:.8em 2em;border:none;border-radius:6px;font-family:Inter,sans-serif;font-size:clamp(.85rem,2.2vw,1.05rem);cursor:pointer;transition:all .3s;width:min(280px,85vw);min-height:48px;touch-action:manipulation}.btn-primary{background:linear-gradient(135deg,#d4a853,#b8923a);color:#0a0a0f;font-weight:600}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 20px #d4a8534d}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:transparent;color:#8a7a6a;border:1px solid #3a3028}.btn-secondary:hover{color:#d4a853;border-color:#d4a853}#game-screen{flex-direction:column;background:#0d0a12}#top-bar{display:flex;align-items:center;justify-content:space-between;padding:.5em clamp(.5em,2vw,1em);background:#12101a;border-bottom:1px solid #1e1828;min-height:40px;gap:.4em;flex-shrink:0}#chapter-indicator{font-size:clamp(.65rem,1.8vw,.85rem);color:#c8a050;font-weight:600;white-space:nowrap}#alignment-bar{display:flex;align-items:center;gap:.3em}#align-label{font-size:clamp(.5rem,1.4vw,.65rem);color:#6a9080;text-transform:uppercase;letter-spacing:.1em}#align-label:last-child{color:#906a6a}#align-track{width:clamp(40px,8vw,70px);height:4px;background:#1e1828;border-radius:2px;overflow:hidden}#align-fill{height:100%;width:50%;background:linear-gradient(90deg,#6a9080,#907a50,#906a6a);border-radius:2px;transition:width .5s ease}#top-right-group{display:flex;align-items:center;gap:6px;margin-left:auto}.sound-btn{background:#0006;border:1px solid rgba(255,255,255,.15);border-radius:6px;padding:4px 8px;font-size:clamp(.85rem,2.2vw,1.1rem);cursor:pointer;color:#e0d5c8;transition:all .2s;line-height:1;min-height:36px;min-width:36px;touch-action:manipulation}.sound-btn:hover{background:#ffffff26;border-color:#ffc86480}#fragment-count{font-size:clamp(.6rem,1.5vw,.75rem);color:#7ab0d0;white-space:nowrap}#scene-area{position:relative;flex:1;overflow:hidden;min-height:40px}#scene-image{position:absolute;top:0;right:0;bottom:0;left:0}#scene-bg{width:100%;height:100%;object-fit:cover;opacity:.92;image-rendering:auto}#scene-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(0deg,#0a0a0fb3,#0a0a0f1a,#0a0a0f4d)}#npc-portrait{position:absolute;top:clamp(4px,1.5vh,16px);left:clamp(4px,1.5vw,16px);display:flex;align-items:center;gap:4px;z-index:10}#npc-img{width:clamp(26px,5vw,48px);height:clamp(26px,5vw,48px);border-radius:6px;border:1px solid rgba(212,168,83,.4);object-fit:cover;background:#0a0a0f99;flex-shrink:0}#npc-name{font-size:clamp(.5rem,1.4vw,.85rem);color:#d4a853;font-weight:600;text-shadow:0 1px 3px rgba(0,0,0,.8);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:clamp(60px,30vw,150px)}#dialog-area{flex-shrink:0;padding:clamp(.6em,1.5vh,1em) clamp(.8em,2.5vw,1.5em);background:linear-gradient(0deg,#1a1522,#1a1522f2);max-height:min(30vh,180px);overflow-y:auto;border-top:1px solid #2a2030}#dialog-text{font-size:clamp(.82rem,2.2vw,1rem);line-height:1.6;color:#d0c8b8}#dialog-text .typing-cursor:after{content:"▊";animation:blink .8s step-end infinite;color:#d4a853}@keyframes blink{50%{opacity:0}}#dialog-text .italic{font-style:italic;color:#a09080}#dialog-text .narrator{color:#b0a090;font-size:clamp(.78rem,2vw,.92rem)}#choices-area{flex-shrink:0;padding:.5em clamp(.8em,2.5vw,1.5em) clamp(.6em,1.5vh,1em);display:flex;flex-direction:column;gap:.5em}.choice-btn{background:#282032cc;border:1px solid #3a3048;color:#d0c8b8;padding:clamp(.65em,1.8vh,.9em) 1em;border-radius:6px;font-family:Inter,sans-serif;font-size:clamp(.8rem,2.2vw,.95rem);cursor:pointer;transition:all .3s;text-align:left;line-height:1.4;min-height:44px;touch-action:manipulation}.choice-btn:hover{border-color:#d4a853;background:#3c3046cc;transform:translate(2px)}.choice-btn:active{transform:translate(0)}.choice-btn.alignment-dharma{border-left:3px solid #6a9080}.choice-btn.alignment-adharma{border-left:3px solid #906a6a}.choice-btn:disabled{opacity:.4;cursor:default}#fragment-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);padding:clamp(1.5em,4vw,2.5em);border-radius:12px;background:linear-gradient(135deg,#1a2040,#0d1a30);border:1px solid rgba(100,160,200,.3);text-align:center;z-index:100;min-width:min(200px,70vw);max-width:90vw;animation:fragmentAppear .5s ease}#fragment-popup.hidden{display:none}@keyframes fragmentAppear{0%{transform:translate(-50%,-50%) scale(.8);opacity:0}to{transform:translate(-50%,-50%) scale(1);opacity:1}}.fragment-glow{width:clamp(40px,10vw,70px);height:clamp(40px,10vw,70px);margin:0 auto 1em;border-radius:50%;background:radial-gradient(circle,rgba(100,160,200,.4),transparent);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.2);opacity:1}}#fragment-text{color:#7ab0d0;font-weight:600;font-size:clamp(.85rem,2.5vw,1rem)}#load-screen{flex-direction:column;align-items:center;justify-content:center;padding:clamp(1em,3vw,2em);background:#0a0a0f}#load-screen h2{color:#d4a853;margin-bottom:1.5em;font-size:clamp(1.2rem,3.5vw,1.8rem)}.save-slot{background:#12101a;border:1px solid #2a2030;border-radius:8px;padding:1em;margin-bottom:.8em;min-width:min(280px,85vw);max-width:400px;width:100%;cursor:pointer;transition:all .3s;text-align:left}.save-slot:hover{border-color:#d4a853;background:#1a1522}.save-slot .slot-title{color:#c8a050;font-weight:600;font-size:clamp(.8rem,2vw,.95rem)}.save-slot .slot-detail{color:#6a6050;font-size:clamp(.65rem,1.6vw,.8rem);margin-top:.3em}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#1a1522}::-webkit-scrollbar-thumb{background:#3a3048;border-radius:2px}@media(max-width:480px){#top-bar{min-height:32px;padding:.2em .4em;gap:.2em}#npc-img{width:26px;height:26px}#npc-portrait{top:4px;left:4px;gap:3px}#npc-name{font-size:.55rem;max-width:80px}#dialog-area{max-height:38vh;padding:.4em .6em calc(.6em + env(safe-area-inset-bottom,0px));min-height:50px}#dialog-text{line-height:1.4;font-size:.78rem}#choices-area{padding-bottom:calc(.5em + env(safe-area-inset-bottom,0px))}#fragment-popup{min-width:unset;width:90vw}.sound-btn{min-height:30px;min-width:30px;padding:2px 5px;font-size:.8rem}#chapter-indicator{font-size:.55rem}#fragment-count{font-size:.5rem}#align-track{width:36px}#align-label{font-size:.45rem}}@media(max-width:900px)and (orientation:landscape){#game-screen{flex-direction:row;flex-wrap:wrap}#top-bar{width:100%;min-height:34px;padding:.3em .5em}#scene-area{flex:1 1 100%;height:0;min-height:auto}#dialog-area{max-height:none;min-height:50px;max-height:25vh;padding:.4em .7em;border-top:1px solid #2a2030}#choices-area{flex-direction:row;flex-wrap:wrap;padding:.3em .5em .5em}.choice-btn{flex:1 1 calc(50% - .3em);min-width:140px;padding:.5em .8em;font-size:.78rem;min-height:38px}#npc-img{width:24px;height:24px}#npc-portrait{top:2px;left:4px;gap:3px}#npc-name{font-size:.5rem;max-width:80px}}@media(min-width:481px)and (max-width:1024px){.title-main{font-size:clamp(3rem,5vw,4.5rem);letter-spacing:.3em}.btn-primary,.btn-secondary{min-height:52px;padding:.9em 2.5em}#dialog-area{max-height:max(25vh,140px)}.save-slot{min-width:320px}}@media(min-width:1025px){#game-screen{max-width:100vw;margin:0 auto}#scene-area{max-height:75vh}#dialog-area{max-height:200px;padding:1em 2em}#choices-area{flex-direction:row;flex-wrap:wrap;gap:.6em;padding:.6em 2em 1em}.choice-btn{flex:0 1 calc(50% - .3em);max-width:500px}}#continue-overlay{position:absolute;bottom:8px;left:50%;transform:translate(-50%);z-index:20;cursor:pointer;min-width:80px;min-height:40px;display:flex;align-items:center;justify-content:center;gap:6px;flex-direction:row;padding:6px 14px;border-radius:8px;background:#0a0a0f8c;border:1px solid rgba(212,168,83,.25);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:contFadeIn .5s ease,contPulse 2s ease-in-out infinite;touch-action:manipulation}#continue-overlay.hidden{display:none}@keyframes contFadeIn{0%{opacity:0;transform:translate(-50%) translateY(8px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes contPulse{0%,to{opacity:.7}50%{opacity:1}}#continue-overlay .continue-bg{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:8px;opacity:.15;background-image:radial-gradient(circle at 25% 25%,#d4a853 1px,transparent 1px),radial-gradient(circle at 75% 75%,#d4a853 1px,transparent 1px),radial-gradient(circle at 50% 50%,#c08040 1.2px,transparent 1.2px),radial-gradient(circle at 0% 50%,#d4a853 .8px,transparent .8px),radial-gradient(circle at 100% 50%,#d4a853 .8px,transparent .8px),radial-gradient(circle at 50% 0%,#d4a853 .8px,transparent .8px),radial-gradient(circle at 50% 100%,#d4a853 .8px,transparent .8px);background-size:12px 12px;pointer-events:none}#continue-overlay .continue-arrow{font-size:.8rem;color:#d4a853;line-height:1;position:relative;z-index:1;animation:contArrow 1s ease-in-out infinite}@keyframes contArrow{0%,to{transform:translateY(0)}50%{transform:translateY(2px)}}#continue-overlay .continue-label{font-size:.7rem;color:#e0d5c8;letter-spacing:.15em;font-weight:600;position:relative;z-index:1}@media(max-width:480px){#continue-overlay{min-height:34px;min-width:70px;padding:4px 10px;bottom:4px}#continue-overlay .continue-arrow{font-size:.7rem}#continue-overlay .continue-label{font-size:.6rem}}@media(max-width:900px)and (orientation:landscape){#continue-overlay{min-height:30px;min-width:60px;padding:3px 8px;bottom:4px}}.scene-ch01{background:linear-gradient(180deg,#0a1018,#0d1a2a 30%,#1a2a3a,#152030 70%,#0a0d15);position:relative}.scene-ch01:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 40%,rgba(200,150,80,.06) 0%,transparent 50%);pointer-events:none}.scene-ch02{background:linear-gradient(180deg,#1a0a1a,#2a1020,#3a1a30 40%,#4a2030 50%,#3a1828 65%,#1a0a10)}.scene-ch03{background:radial-gradient(ellipse at 50% 60%,#3a2040,#1a0a20 40%,#0a0510)}.scene-ch03:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 80%,rgba(200,150,50,.1) 0%,transparent 30%);animation:flicker 4s ease-in-out infinite;pointer-events:none}@keyframes flicker{0%,to{opacity:.3}25%{opacity:.6}50%{opacity:.2}75%{opacity:.5}}.scene-ch04{background:linear-gradient(180deg,#0a0a1a,#1a1020 30%,#2a1a30,#1a1028 70%,#0a0a14)}.scene-ch05{background:linear-gradient(180deg,#0a1a0a,#0d2a15 25%,#1a3a20 45%,#2a4a30,#1a3a28 75%,#0d1a10)}.scene-ch05:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 80% 30%,rgba(150,200,100,.08) 0%,transparent 40%);pointer-events:none}.scene-ch06{background:linear-gradient(180deg,#2a1000,#3a1a00,#4a2000 40%,#5a2a00 55%,#3a1800 75%,#1a0800)}.scene-ch06:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 50%,rgba(255,100,0,.05) 0%,transparent 50%);animation:pulse 3s ease-in-out infinite;pointer-events:none}.scene-ch07{background:linear-gradient(180deg,#0a0520,#1a0a30,#2a1040,#1a0a30,#0d0520,#0a0418)}.scene-ch07:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 40%,rgba(200,150,255,.05) 0%,transparent 50%);pointer-events:none}.scene-ch08{background:linear-gradient(180deg,#001020,#0a1a30,#102040,#0a1a38,#001028,#000a18)}.scene-ch09{background:linear-gradient(135deg,#0a2010,#1a3020,#2a1a30,#302020,#200a10)}.scene-ch10{background:linear-gradient(180deg,#0a0a0f,#1a1520 30%,#2a1a30,#1a1020 70%,#0a0a0f)}.scene-ch10:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 30%,rgba(212,168,83,.08) 0%,transparent 40%);animation:pulse 4s ease-in-out infinite;pointer-events:none}#npc-img.portrait-pak-made{border-color:#6a5a3a!important;box-shadow:0 0 8px #6450284d}#npc-img.portrait-peni{border-color:#d4a853!important;box-shadow:0 0 8px #d4a8534d}#npc-img.portrait-mama-ratu{border-color:#c4985a!important;box-shadow:0 0 8px #c4985a4d}.scene-transition{animation:sceneFadeIn .8s ease}@keyframes sceneFadeIn{0%{opacity:0;filter:brightness(.5) blur(2px)}to{opacity:1;filter:brightness(1) blur(0)}}.particles-rain:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(2px 2px at 10% 10%,rgba(200,200,255,.15) 0%,transparent 100%),radial-gradient(2px 2px at 30% 20%,rgba(200,200,255,.1) 0%,transparent 100%),radial-gradient(2px 2px at 50% 5%,rgba(200,200,255,.12) 0%,transparent 100%),radial-gradient(2px 2px at 70% 15%,rgba(200,200,255,.08) 0%,transparent 100%),radial-gradient(2px 2px at 90% 8%,rgba(200,200,255,.1) 0%,transparent 100%);animation:rain 3s linear infinite;pointer-events:none}@keyframes rain{0%{transform:translateY(-10px);opacity:.3}to{transform:translateY(10px);opacity:.8}}.fragment-glow-scene{position:absolute;width:100%;height:100%;top:0;left:0;background:radial-gradient(circle at 50% 50%,rgba(100,160,255,.06) 0%,transparent 50%);animation:breath 3s ease-in-out infinite;pointer-events:none}@keyframes breath{0%,to{opacity:.3}50%{opacity:.7}}
