:root{--bg:#000;--fg:#fff;--accent:#ff0;--accent-dim:#c0c000;--danger:red;--muted:gray;--button-border:#ff8000;--battle-box-border:#fff;--pixel:2px;--font-dialog:"DTM-Mono", "Courier New", monospace;--font-title:"Monster Friend", "DTM-Mono", monospace}@font-face{font-family:DTM-Mono;src:url(/portifolio/assets/fonts/DTM-Mono.woff2)format("woff2"),url(/portifolio/assets/fonts/DTM-Mono.ttf)format("truetype");font-display:swap}@font-face{font-family:Monster Friend;src:url(/portifolio/assets/fonts/MonsterFriendFore.woff2)format("woff2"),url(/portifolio/assets/fonts/MonsterFriendFore.ttf)format("truetype");font-display:swap}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg);width:100%;height:100%;color:var(--fg);font-family:var(--font-dialog);overflow:hidden}img{image-rendering:pixelated;image-rendering:-moz-crisp-edges}button{color:inherit;cursor:pointer;background:0 0;border:none;font-family:inherit}a{color:var(--accent);text-decoration:none}a:hover,a:focus{text-decoration:underline}#root{justify-content:center;align-items:center;display:flex}.screen{aspect-ratio:4/3;background:var(--bg);width:min(100vw,133.333vh);max-height:100vh;font-size:clamp(14px,2.2vh,22px);position:relative;overflow:hidden}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-1px,1px)}50%{transform:translate(1px,-1px)}75%{transform:translate(-1px,-1px)}}@keyframes flash{0%{opacity:0}10%,40%{opacity:1}to{opacity:0}}@keyframes idleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.mute-toggle{z-index:100;color:var(--fg);background:var(--bg);border:var(--pixel) solid var(--fg);opacity:.7;padding:4px 8px;font-size:1.2em;position:absolute;top:10px;right:10px}.mute-toggle:hover{opacity:1}.splash-scene{background:var(--bg);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;justify-content:center;align-items:center;gap:.8em;display:flex;position:absolute;inset:0}.splash-title{font-family:var(--font-title);letter-spacing:.12em;color:var(--fg);text-shadow:2px 2px 0 var(--accent-dim);margin:0;font-size:3em;line-height:1}.splash-title-lower{margin-top:-.1em}.splash-prompt{font-family:var(--font-dialog);color:var(--accent);margin-top:2em;font-size:1em;animation:1.2s ease-in-out infinite pulse}.splash-hint{color:var(--muted);font-size:.8em;position:absolute;bottom:1.5em}.battle-box{background:var(--bg);border:calc(var(--pixel) * 2) solid var(--fg);color:var(--fg);box-shadow:0 0 0 var(--pixel) var(--bg);padding:1em 1.2em;position:relative}.dialog-box{width:100%;min-height:5em}.dialog-text{white-space:pre-wrap;letter-spacing:.02em;font-size:1em;line-height:1.4}.dialog-asterisk{color:var(--fg);font-weight:700}.dialog-cursor{width:.5em;display:inline-block}.enemy{justify-content:center;align-items:center;animation:2s ease-in-out infinite idleFloat;display:flex}.enemy img{width:auto;max-height:30vh}.enemy-shake{animation:.2s linear infinite shake}.enemy-placeholder{background:var(--fg);width:8em;height:8em;image-rendering:pixelated;position:relative}.enemy-face{position:absolute;inset:0}.enemy-eye{background:var(--bg);width:1em;height:1em;position:absolute;top:2.5em}.enemy-eye-l{left:1.5em}.enemy-eye-r{right:1.5em}.enemy-mouth{background:var(--bg);width:3em;height:.5em;position:absolute;bottom:1.5em;left:50%;transform:translate(-50%)}.encounter-scene{flex-direction:column;justify-content:space-between;align-items:center;padding:2em 1.5em;display:flex;position:absolute;inset:0}.encounter-flash{background:var(--fg);z-index:50;pointer-events:none;animation:.9s steps(6,end) flash;position:absolute;inset:0}.encounter-enemy{margin-top:3em}.encounter-dialog{width:100%}.heart-cursor{vertical-align:middle;justify-content:center;align-items:center;width:1em;height:1em;margin-right:.4em;display:inline-flex}.heart-cursor svg{display:block}.action-buttons{grid-template-columns:repeat(4,1fr);gap:.6em;padding:.5em 0;display:grid}.action-button{color:var(--button-border);border:calc(var(--pixel) * 2) solid var(--button-border);background:var(--bg);font-family:var(--font-title);letter-spacing:.1em;justify-content:center;align-items:center;min-height:2.2em;padding:.4em .6em;font-size:1.1em;display:flex;position:relative}.action-button.is-selected{background:var(--button-border);color:var(--bg)}.action-cursor{width:1em;margin-right:.1em;display:inline-flex}.action-label{line-height:1}.stats-bar{color:var(--fg);-webkit-user-select:none;user-select:none;align-items:center;gap:.8em;padding:.4em 0;font-size:.9em;display:flex}.stats-name{letter-spacing:.05em;font-weight:700}.stats-lv,.stats-hp-label,.stats-hp-num{letter-spacing:.05em}.stats-hp-label{color:var(--accent)}.stats-hp-bar{width:6em;height:1em;display:inline-block;position:relative}.stats-hp-bg,.stats-hp-fill{height:100%;position:absolute;top:0;left:0}.stats-hp-bg{background:var(--danger);width:100%}.stats-hp-fill{background:var(--accent);transition:width .12s steps(8,end)}.battle-scene{flex-direction:column;gap:.8em;padding:1.5em 1.2em;display:flex;position:absolute;inset:0}.battle-enemy{flex:1;justify-content:center;align-items:center;min-height:0;display:flex}.battle-dialog{width:100%}.battle-stats{justify-content:center;display:flex}.menu-list{gap:.4em 1.2em;padding:.2em 0;list-style:none;display:grid}.menu-item{color:var(--fg);cursor:pointer;letter-spacing:.03em;align-items:center;padding:.2em .4em;font-size:1em;display:flex}.menu-item.is-selected{color:var(--accent)}.menu-item.is-disabled{color:var(--muted);cursor:not-allowed}.menu-cursor{width:1.3em;display:inline-flex}.menu-label{line-height:1.2}.sub-scene{flex-direction:column;justify-content:center;gap:.8em;padding:1.5em 1.2em;display:flex;position:absolute;inset:0}.sub-scene-box{width:100%;max-height:60vh;overflow:auto}.sub-title{font-family:var(--font-title);color:var(--accent);letter-spacing:.06em;margin-bottom:.4em;font-size:1.4em}.sub-stats{color:var(--fg);letter-spacing:.05em;margin-bottom:.6em;font-size:.95em}.sub-flavor{color:var(--fg);margin-bottom:.6em;font-style:normal}.sub-body{color:var(--fg);margin-bottom:.6em;line-height:1.5}.sub-tech{color:var(--muted);margin-bottom:.6em;font-size:.9em}.sub-link{color:var(--accent);font-size:.9em}.sub-footer{color:var(--muted);text-align:center;font-size:.8em}.mercy-contacts{border-top:var(--pixel) dashed var(--muted);margin-top:.8em;padding-top:.6em}.mercy-row{color:var(--fg);margin:.2em 0;font-size:.9em;line-height:1.4}.mercy-row.is-active{color:var(--accent)}.mercy-label{color:var(--muted);min-width:4em;display:inline-block}.mercy-copied{color:var(--accent);margin-top:.6em;font-size:.9em;animation:.8s ease-in-out infinite pulse}
