/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}}:root{--ink:#2c2340;--cream:#fff3cf;--plum:#5c446f;--gold:#f3c85a}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);background:#17142b;margin:0}body{font-family:var(--font-geist-mono),"Courier New",monospace;background-image:radial-gradient(circle at 50% -10%,#5b527c 0,#26203e 43%,#151225 100%)}button{font:inherit}.game-page{place-items:center;min-height:100vh;padding:24px;display:grid;position:relative;overflow:hidden}.game-page:before{content:"";pointer-events:none;opacity:.12;background-image:linear-gradient(#ffffff26 1px,#0000 1px),linear-gradient(90deg,#ffffff26 1px,#0000 1px);background-size:32px 32px;position:fixed;inset:0}.game-frame{border:5px solid var(--ink);background:var(--cream);width:min(1100px,100%);position:relative;box-shadow:0 0 0 4px #c89d58,15px 18px #00000047}.game-header{border-bottom:5px solid var(--ink);background:#fff0c7;grid-template-columns:1fr auto 1fr;align-items:center;height:78px;padding:0 22px;display:grid}.logo{width:max-content;line-height:.82;transform:rotate(-2deg)}.logo span{letter-spacing:.3em;color:#825a6e;margin-left:3px;font-size:11px;font-weight:900;display:block}.logo strong{color:#5d4abb;letter-spacing:-.08em;text-shadow:2px 2px #fff,4px 4px #d6aa51;font-size:29px;font-weight:1000;display:block}.location{letter-spacing:.08em;color:#745f72;font-size:13px;font-weight:900}.location i{background:#71b866;border:2px solid #395a48;width:10px;height:10px;margin-right:8px;display:inline-block}.sound-button{border:3px solid var(--ink);cursor:pointer;background:#fffaf0;justify-self:end;padding:8px 10px;font-size:11px;font-weight:900;box-shadow:3px 3px #b88b59}.stage{aspect-ratio:5/3;background:#8fc77c;position:relative;overflow:hidden}canvas{width:100%;height:100%;image-rendering:pixelated;display:block}.title-screen{color:#fff;text-align:center;text-shadow:3px 3px #2c2340;background:linear-gradient(#261f4254,#1d1936ad);flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.title-screen:before,.title-screen:after{content:"";background:#ffe98a;width:18px;height:18px;position:absolute;transform:rotate(45deg);box-shadow:50px 50px #fff6b8,-72px 93px #ffcde4}.title-screen:before{top:18%;left:13%}.title-screen:after{top:28%;right:14%}.title-screen .moon{color:#e0a84d;width:88px;height:88px;text-shadow:none;background:#fff0a4;border-radius:50%;place-items:center;font-size:35px;display:grid;position:absolute;top:42px;right:25%;box-shadow:-10px 8px #d6a959}.title-screen>p{letter-spacing:.16em;background:#e66791;border:3px solid #fff3cf;margin:0 0 10px;padding:7px 13px;font-size:11px;font-weight:900;transform:rotate(-2deg)}.title-screen h1{letter-spacing:-.12em;margin:0;font-size:clamp(42px,7.2vw,78px);font-weight:1000;line-height:.88}.title-screen h1 em{color:#ffe16b;font-style:normal}.title-screen button{color:#302443;cursor:pointer;background:#ffe16b;border:4px solid #fff9df;margin-top:28px;padding:13px 25px;font-weight:1000;box-shadow:0 0 0 4px #302443,6px 7px #302443}.title-screen button:hover{transform:translateY(-3px)}.title-screen button span{color:#b24f75;margin-left:13px}.title-screen small{opacity:.82;margin-top:17px;font-size:10px}.title-creature{background:#71c875;border:5px solid #2d4350;border-radius:42% 42% 35% 35%;width:82px;height:62px;position:absolute;bottom:17%;left:17%;transform:rotate(-5deg)}.title-creature .sprout{background:#a9e67e;border:5px solid #2d4350;width:30px;height:22px;position:absolute;top:-24px;left:22px;transform:rotate(22deg)}.title-creature .face{color:#2d4350;text-shadow:none;margin-top:18px;font:900 17px Arial}.dialog-box{background:#fff8dc;border:5px solid #342a48;min-height:126px;padding:23px 27px;position:absolute;bottom:5%;left:5%;right:5%;box-shadow:0 0 0 4px #e8b859,8px 9px #2c234059}.dialog-box strong{color:#fff;background:#6850a2;border:4px solid #342a48;padding:7px 18px;font-size:15px;position:absolute;top:-24px;left:20px}.dialog-box p{word-break:keep-all;margin:10px 105px 0 0;font-size:14px;font-weight:800;line-height:1.8}.dialog-box button{color:#795a7c;cursor:pointer;background:0 0;border:0;font-weight:900;position:absolute;bottom:17px;right:20px}.toast{white-space:nowrap;color:#fff;background:#2c2340e6;border:3px solid #fff1c9;padding:9px 15px;font-size:11px;font-weight:900;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.battle-screen{background:#96d7db;position:absolute;inset:0}.battle-sky{background:linear-gradient(#7fc9e8,#d5efd1);border-bottom:7px solid #4f895e;position:absolute;inset:0 0 36%}.battle-sky:after{content:"";background:#77b66b;border-radius:50%;height:38px;position:absolute;bottom:28px;left:8%;right:8%;box-shadow:0 14px #5e9458}.enemy-card,.player-card{z-index:3;background:#fff9db;border:4px solid #352b49;width:260px;padding:13px 16px;position:absolute;box-shadow:5px 5px #352b4947}.enemy-card{top:36px;left:48px}.player-card{top:54%;right:40px}.enemy-card span,.player-card span{margin-bottom:8px;font-size:13px;font-weight:900;display:block}.hp{background:#d5c9ae;border:3px solid #3d354b;height:12px}.hp i{background:#65c96d;height:100%;transition:width .25s;display:block}.player-card b{text-align:right;margin-top:6px;font-size:10px;display:block}.battle-monster{z-index:2;width:125px;height:110px;position:absolute;bottom:30px;right:17%}.battle-monster:before{content:"";background:#61bb67;border:7px solid #2a4b46;border-radius:45% 45% 38% 38%;position:absolute;inset:28px 12px 8px;box-shadow:inset 0 15px #8bdd75}.battle-monster:after{content:"•  •";color:#273d40;font:900 25px Arial;position:absolute;top:58px;left:42px}.battle-menu{z-index:4;background:#fff1c9;border-top:6px solid #352b49;grid-template-columns:1fr 1.2fr;gap:16px;min-height:35%;padding:18px 22px;display:grid;position:absolute;bottom:0;left:0;right:0}.battle-menu p{background:#fffaf0;border:3px solid #8d6f6d;margin:0;padding:16px;font-size:13px;font-weight:900;line-height:1.6}.battle-menu div{grid-template-columns:1fr 1fr;gap:9px;display:grid}.battle-menu button{color:#3d304d;cursor:pointer;background:#fffaf0;border:3px solid #3d304d;font-size:12px;font-weight:900;box-shadow:3px 3px #b98d5e}.battle-menu button:last-child{grid-column:1/-1}.game-footer{border-top:5px solid var(--ink);background:#fff0c7;align-items:center;gap:30px;min-height:72px;padding:10px 20px;display:flex}.game-footer>div{align-items:center;gap:11px;display:flex}kbd{color:#fff;background:#685580;border:2px solid #342a48;place-items:center;min-width:28px;height:27px;padding:0 6px;font-size:11px;font-weight:900;display:inline-grid;box-shadow:2px 2px #c69b5a}.keyset{flex-direction:column;align-items:center;gap:2px;display:flex}.keyset>span{gap:2px;display:flex}.game-footer b{white-space:nowrap;font-size:11px}.game-footer p{color:#745f72;margin-left:auto;font-size:10px;font-weight:900}.mobile-pad{display:none}@media (width<=720px){.game-page{align-content:start;padding:10px;overflow:auto}.game-frame{box-shadow:7px 8px #00000047}.game-header{grid-template-columns:1fr auto;height:58px;padding:0 10px}.logo strong{font-size:21px}.logo span{font-size:8px}.location{display:none}.sound-button{padding:6px}.game-footer{display:none}.title-screen .moon{width:50px;height:50px;top:20px}.title-creature{display:none}.title-screen h1{font-size:clamp(31px,10vw,55px)}.title-screen>p{font-size:8px}.title-screen button{margin-top:16px;padding:9px 15px}.title-screen small{display:none}.dialog-box{min-height:110px;padding:18px 17px}.dialog-box p{margin-right:10px;font-size:11px;line-height:1.55}.dialog-box button{font-size:10px;bottom:6px}.toast{padding:6px;font-size:8px;bottom:8px}.mobile-pad{touch-action:none;-webkit-user-select:none;user-select:none;grid-template:repeat(3,45px)/repeat(4,55px);gap:3px;width:250px;height:142px;margin:18px auto 0;display:grid}.mobile-pad button{color:#fff;background:#5d5274;border:3px solid #fff2c9;font-weight:900;box-shadow:3px 3px #151225}.mobile-pad .up{grid-area:1/2}.mobile-pad .left{grid-area:2/1}.mobile-pad .down{grid-area:2/2}.mobile-pad .right{grid-area:2/3}.mobile-pad .action{background:#d86288;grid-area:1/4/3/5;font-size:22px}.battle-menu{gap:7px;padding:8px}.battle-menu p,.battle-menu button{font-size:8px}.enemy-card,.player-card{width:170px;padding:8px}.enemy-card{top:13px;left:14px}.player-card{right:12px}.battle-monster{right:10%;transform:scale(.7)}}
