:root{--ink:#182536;--ink-deep:#0e1723;--limestone:#d6c9a9;--limestone-dim:#b8ab8d;--teal:#477a78;--teal-bright:#7fb0ae;--clay:#ad6650;--amber:#d6a14c;--amber-soft:#e7c98b;--paper:#efe4c8;--paper-2:#e3d5b2;--shadow:0 18px 50px #060a108c;--display:"Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, "Times New Roman", serif;--body:"Charter", "Iowan Old Style", Georgia, "Times New Roman", serif;--hebrew:"Noto Serif Hebrew", "Frank Ruehl Libre", "David Libre", "DejaVu Serif", "Times New Roman", serif}*{box-sizing:border-box}html,body{background:radial-gradient(120% 120% at 50% 0%, #223247 0%, var(--ink-deep) 70%);height:100%;color:var(--paper);font-family:var(--body);-webkit-font-smoothing:antialiased;overscroll-behavior:none;margin:0;padding:0}body{overflow:hidden}button{cursor:pointer;font-family:inherit}.app{justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.stage{width:100%;max-width:1600px;height:100%;max-height:100%;position:relative;overflow:hidden}#game-root{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#game-root canvas{border-radius:4px;max-width:100%;max-height:100%;display:block;box-shadow:0 0 0 1px #d6a14c40,0 30px 80px #0009}.overlay{pointer-events:none;justify-content:center;align-items:center;padding:clamp(10px,2vw,28px);display:flex;position:absolute;inset:0}.overlay>*{pointer-events:auto}.panel{background:linear-gradient(180deg, var(--paper) 0%, var(--paper-2) 100%);color:var(--ink);box-shadow:var(--shadow), inset 0 0 0 6px #d6c9a959;border:2px solid #182536d9;border-radius:10px;position:relative}.panel:before{content:"";pointer-events:none;border:1px solid #ad665066;border-radius:6px;position:absolute;inset:6px}.panel h1,.panel h2,.panel h3{font-family:var(--display);letter-spacing:.01em;margin:0;font-weight:600}.hud{pointer-events:none;font-family:var(--display);justify-content:space-between;align-items:flex-start;padding:clamp(10px,2vw,22px);display:flex;position:absolute;inset:0}.hud__room{color:var(--amber-soft);letter-spacing:.14em;text-transform:uppercase;background:#0e1723b8;border:1px solid #d6a14c80;border-radius:8px;padding:8px 14px;font-size:clamp(11px,1.4vw,14px)}.hud__right{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.hud__hearts{background:#0e1723b8;border:1px solid #d6a14c80;border-radius:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;max-width:min(64vw,430px);padding:8px 12px;display:flex}.heart{background:var(--clay);clip-path:polygon(50% 100%,4% 46%,4% 24%,24% 8%,50% 26%,76% 8%,96% 24%,96% 46%);width:15px;height:15px}.heart--empty{background:#d6c9a947}.hud__inv{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.chip{color:var(--teal-bright);letter-spacing:.04em;background:#0e1723b8;border:1px solid #7fb0ae8c;border-radius:999px;align-items:center;gap:7px;padding:5px 12px;font-size:12px;display:inline-flex}.chip__icon{object-fit:contain;border-radius:4px;flex:none;width:24px;height:24px}.chip--tokens .chip__icon{filter:drop-shadow(0 1px #00000059)}.dialogue{cursor:pointer;gap:16px;width:min(940px,100% - 24px);padding:18px 20px;display:flex;position:absolute;bottom:clamp(12px,3vh,34px);left:50%;transform:translate(-50%)}.dialogue__portrait{background:linear-gradient(180deg, var(--teal), var(--ink));border:2px solid #182536b3;border-radius:6px;flex:none;width:clamp(72px,11vw,116px);height:clamp(88px,13vw,132px);position:relative;overflow:hidden}.dialogue__portrait img{object-fit:cover;width:100%;height:100%;display:block}.dialogue__body{flex:auto;min-width:0}.dialogue__speaker{font-family:var(--display);text-transform:uppercase;letter-spacing:.18em;color:var(--clay);margin-bottom:6px;font-size:12px}.dialogue__text{color:#1d2a3c;margin:0 0 12px;font-size:clamp(15px,1.9vw,19px);line-height:1.55}.dialogue__hint{color:#1825368c;letter-spacing:.05em;font-size:12px}.choices{flex-direction:column;gap:8px;display:flex}.choice{text-align:left;border:1px solid #18253666;border-left:4px solid var(--amber);color:var(--ink);background:#1825360f;border-radius:6px;padding:10px 14px;font-size:clamp(14px,1.7vw,17px);transition:background .15s,transform .12s}.choice:hover,.choice:focus-visible{background:#d6a14c38;outline:none;transform:translate(3px)}.encounter{flex-direction:column;gap:10px;width:min(900px,100% - 20px);padding:14px 18px;display:flex;position:absolute;bottom:clamp(10px,2vh,26px);left:50%;transform:translate(-50%)}.encounter__bars{font-family:var(--display);letter-spacing:.06em;justify-content:space-between;align-items:center;gap:16px;font-size:13px;display:flex}.bar{background:#18253638;border:1px solid #18253680;border-radius:999px;flex:auto;height:12px;overflow:hidden}.bar>span{background:linear-gradient(90deg, var(--teal), var(--teal-bright));height:100%;transition:width .2s;display:block}.bar--enemy>span{background:linear-gradient(90deg, var(--clay), var(--amber))}.encounter__actions{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.encounter__actions button,.puzzle button,.modal button{font-family:var(--display);letter-spacing:.05em;color:var(--ink);background:linear-gradient(#f6ecd2,#e6d7b3);border:1px solid #1825368c;border-radius:6px;padding:12px 8px;font-size:clamp(13px,1.6vw,16px);transition:transform .1s,background .15s}.encounter__actions button:hover:not(:disabled),.puzzle button:hover:not(:disabled),.modal button:hover:not(:disabled){background:linear-gradient(#fdf3da,#ecdcb6);transform:translateY(-1px)}button:disabled{opacity:.42;cursor:not-allowed}.btn--primary{background:linear-gradient(180deg, var(--amber), #b9822f)!important;color:#2a1c08!important;border-color:#8a5f1f!important}.btn--ghost{color:var(--ink)!important;background:#1825360f!important;border-color:#1825368c!important}.btn--ghost:hover:not(:disabled){background:#1825361f!important}.encounter__log{color:#182536b3;min-height:18px;font-size:12.5px;font-style:italic}.modal{width:min(720px,100% - 24px);max-height:min(86vh,760px);padding:26px 28px;overflow:auto}.modal--wide{width:min(920px,100% - 20px)}.modal h2{margin-bottom:4px;font-size:clamp(22px,3vw,30px)}.modal__eyebrow{text-transform:uppercase;letter-spacing:.24em;color:var(--clay);margin-bottom:8px;font-size:11px}.modal__body{color:#22304a;font-size:15.5px;line-height:1.6}.modal__actions{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.modal__actions button{font-family:var(--display);color:var(--ink);letter-spacing:.05em;background:linear-gradient(#f6ecd2,#e6d7b3);border:1px solid #1825368c;border-radius:6px;padding:11px 18px}.title{text-align:left;width:min(760px,100% - 24px);padding:40px 44px}.title__mark{font-family:var(--display);text-transform:uppercase;letter-spacing:.34em;color:var(--clay);font-size:12px}.title h1{color:var(--ink);margin:10px 0 6px;font-size:clamp(34px,6vw,58px);line-height:1.02}.title__sub{color:#3a4660;max-width:46ch;font-size:clamp(15px,2vw,18px);line-height:1.6}.title__poc{letter-spacing:.16em;text-transform:uppercase;color:var(--teal);border:1px solid #477a7899;border-radius:999px;margin-top:14px;padding:5px 12px;font-size:11px;display:inline-block}.title__controls{color:#4a556e;margin-top:22px;font-size:13px;line-height:1.8}kbd{color:var(--ink);background:#1825361a;border:1px solid #18253659;border-bottom-width:2px;border-radius:4px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px}.journal__list{flex-direction:column;gap:12px;margin-top:16px;display:flex}.bubble{border:1px solid #1825364d;border-left:4px solid var(--teal);background:#ffffff47;border-radius:6px;padding:12px 14px}.bubble h3{margin-bottom:2px;font-size:16px}.bubble__meta{letter-spacing:.08em;text-transform:uppercase;color:var(--clay);margin-bottom:6px;font-size:11px}.bubble p{color:#2a3852;margin:0;font-size:14px;line-height:1.55}.questline{margin-top:16px;font-size:14px}.questline li{color:#2a3852;margin:3px 0}.questline li.done{color:var(--teal);list-style:"✓ "}.puzzle__row{flex-wrap:wrap;justify-content:center;gap:14px;margin:18px 0;display:flex}.valve{text-align:center;background:#ffffff4d;border:1px solid #18253659;border-radius:8px;flex:160px;max-width:200px;padding:12px}.valve__name{font-family:var(--display);text-transform:uppercase;letter-spacing:.12em;color:var(--clay);font-size:12px}.valve__dial{font-family:var(--display);color:var(--teal);margin:6px 0;font-size:40px;line-height:1.1}.valve__steps{justify-content:center;gap:6px;display:flex}.valve__steps button{padding:6px 12px;font-size:14px}.hebrew-slots{direction:rtl;flex-direction:row-reverse;justify-content:center;gap:12px;margin:18px 0;display:flex}.hebrew-slot{width:74px;height:92px;font-family:var(--hebrew);color:var(--ink);background:#ffffff59;border:2px dashed #18253673;border-radius:8px;justify-content:center;align-items:center;font-size:46px;display:flex}.hebrew-slot--filled{border-style:solid;border-color:var(--amber);background:#d6a14c2e}.hebrew-slot--active{border-color:var(--teal);box-shadow:0 0 0 3px #477a784d}.hebrew-tiles{direction:rtl;flex-direction:row-reverse;justify-content:center;gap:12px;margin-bottom:8px;display:flex}.hebrew-tile{width:66px;height:82px;font-family:var(--hebrew);color:var(--ink);background:linear-gradient(#f6ecd2,#e6d7b3);border:1px solid #18253680;border-radius:8px;justify-content:center;align-items:center;font-size:42px;display:flex}.hebrew-tile:disabled{opacity:.35}.hebrew-note{text-align:center;color:#4a556e;font-size:13px}.rtl-note{font-family:var(--hebrew);direction:rtl;font-size:18px}.touch{pointer-events:none;z-index:40;position:absolute;inset:0}.touch__dpad{pointer-events:none;grid-template-rows:repeat(3,1fr);grid-template-columns:repeat(3,1fr);width:168px;height:168px;display:grid;position:absolute;bottom:clamp(12px,3vh,30px);left:clamp(12px,3vw,30px)}.touch__dpad button{pointer-events:auto;color:var(--amber-soft);background:#0e17238c;border:1px solid #d6a14c80;border-radius:10px;margin:3px;font-size:20px}.touch__dpad button:active{background:#d6a14c66}.touch__up{grid-area:1/2}.touch__left{grid-area:2/1}.touch__right{grid-area:2/3}.touch__down{grid-area:3/2}.touch__actions{pointer-events:none;flex-direction:column;gap:10px;display:flex;position:absolute;bottom:clamp(12px,3vh,30px);right:clamp(12px,3vw,30px)}.touch__actions button{pointer-events:auto;width:74px;height:74px;color:var(--paper);font-family:var(--display);letter-spacing:.04em;background:#477a78bf;border:1px solid #d6a14c99;border-radius:50%;font-size:15px}.touch__actions button:active{color:var(--ink);background:#d6a14ccc}.loading{color:var(--limestone);font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;flex-direction:column;justify-content:center;align-items:center;gap:14px;font-size:12px;display:flex;position:absolute;inset:0}.loading__bar{background:#d6c9a933;border-radius:999px;width:220px;height:4px;overflow:hidden}.loading__bar>span{background:var(--amber);width:40%;height:100%;animation:1.1s ease-in-out infinite slide;display:block}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media (max-width:720px){.dialogue{flex-direction:column}.dialogue__portrait{border-radius:50%;width:64px;height:64px}.encounter__actions{grid-template-columns:repeat(2,1fr)}.title{padding:26px 22px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.overlay{z-index:10}.overlay--modal{z-index:30;background:radial-gradient(120% 120% at 50% 30%,#060a1059,#060a10b8);overflow:auto}.overlay--title{z-index:50;background:radial-gradient(120% 120% at 50% 20%,#060a1026,#060a109e)}.dialogue__monogram{color:var(--paper);background:linear-gradient(#d6a14c59,#182536e6);justify-content:center;align-items:center;font-size:clamp(28px,5vw,44px);display:flex;position:absolute;inset:0}.dialogue__monogram[data-speaker=BLOSSOM]{background:linear-gradient(#a05a78,#3a2230)}.dialogue__monogram[data-speaker=SPIDER]{background:linear-gradient(#586b3a,#232c18)}.dialogue__monogram[data-speaker=SIGN]{background:linear-gradient(#6b7a8a,#22303c)}.dialogue__monogram[data-speaker=TRAVELER]{background:linear-gradient(#ad6650,#3a211a)}.dialogue__monogram[data-speaker=N]{color:var(--amber-soft);background:linear-gradient(#6a5230,#241d13)}.dialogue__monogram[data-speaker=UI]{background:linear-gradient(#477a78,#1a2a2a)}.dialogue__bubble{color:#182536b8;border-left:3px solid var(--teal);margin:0 0 10px;padding-left:10px;font-size:13px}.dialogue__bubble-tag{text-transform:uppercase;letter-spacing:.12em;color:var(--clay);margin-right:6px;font-size:10.5px}.speaker-ui .dialogue__speaker{color:var(--teal)}.speaker-sign .dialogue__text{color:#3b3222;font-style:italic}.speaker-narr .dialogue__text{color:#2b353f}.hud__left{flex-direction:column;align-items:flex-start;gap:6px;display:flex}.hud__quest{font-family:var(--body);color:#d6c9a9b8;flex-direction:column;gap:2px;max-width:40ch;font-size:12px;display:flex}.hud__quest-item:before{content:"• ";color:var(--amber)}.hud__quest-item.done{color:var(--teal-bright);-webkit-text-decoration:line-through #7fb0ae80;text-decoration:line-through #7fb0ae80}.hud__quest-item.done:before{content:"✓ "}.encounter__header{justify-content:space-between;align-items:baseline;display:flex}.encounter__name{font-family:var(--display);color:var(--ink);letter-spacing:.03em;font-size:18px}.encounter__turn{letter-spacing:.14em;text-transform:uppercase;color:var(--clay);font-size:12px}.encounter__barlabels{color:#182536a6;justify-content:space-between;margin-top:-2px;font-size:11.5px;display:flex}.encounter__dodge{flex-direction:column;gap:6px;display:flex}.encounter__dodge-label{color:#2b3a52;font-size:14px}.encounter__dodge-bar{background:#18253633;border-radius:999px;height:8px;overflow:hidden}.encounter__dodge-bar>span{background:linear-gradient(90deg, var(--clay), var(--amber));height:100%;display:block}.encounter__submenu{flex-direction:column;gap:8px;display:flex}.encounter__submenu-label{color:#182536b3;font-size:13px;font-style:italic}.encounter__submenu-row{flex-wrap:wrap;gap:8px;display:flex}.encounter__submenu-row button,.encounter__submenu button{font-family:var(--display);color:var(--ink);background:linear-gradient(#f6ecd2,#e6d7b3);border:1px solid #1825368c;border-radius:6px;align-items:center;gap:8px;padding:10px 16px;font-size:clamp(13px,1.6vw,16px);display:inline-flex}.encounter__fight{flex-direction:column;align-items:center;gap:10px;display:flex}.encounter__fight-label{color:#182536b8;text-align:center;font-size:13px}.fightbar{cursor:pointer;background:#182536d9;border:1px solid #d6a14c99;border-radius:999px;width:100%;max-width:420px;height:26px;position:relative;overflow:hidden}.fightbar__zone{background:#d6a14c8c;position:absolute;top:0;bottom:0}.fightbar__marker{background:var(--paper);border-radius:3px;width:6px;margin-left:-3px;position:absolute;top:-3px;bottom:-3px;box-shadow:0 0 10px #f2e6c8e6}.encounter__resolve{flex-direction:column;gap:12px;display:flex}.encounter__resolve-text{color:#26344c;margin:0;font-size:15px;line-height:1.5}.ending{text-align:left}.ending__body p:first-child{margin-top:8px}.ending__tags{flex-wrap:wrap;gap:8px;margin:18px 0 6px;display:flex}.tag{letter-spacing:.04em;color:#3a4660;border:1px solid #18253666;border-radius:999px;padding:5px 12px;font-size:12px}.tag--good{color:var(--teal);background:#477a781a;border-color:#477a78b3}.tag--bad{color:var(--clay);background:#ad66501a;border-color:#ad6650b3}.ending__actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.ending__actions button{font-family:var(--display);color:var(--ink);letter-spacing:.05em;background:linear-gradient(#f6ecd2,#e6d7b3);border:1px solid #1825368c;border-radius:6px;padding:11px 18px}.pause__stats{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:20px 0 0;display:grid}.pause__stats div{border-top:1px solid #18253633;padding-top:8px}.pause__stats dt{text-transform:uppercase;letter-spacing:.1em;color:var(--clay);font-size:11px}.pause__stats dd{font-family:var(--display);color:var(--ink);margin:2px 0 0;font-size:16px}.modal__hint{color:#18253699;margin-top:18px;font-size:12px}.modal__warn{color:var(--clay);align-self:center;font-size:13px}.modal__actions--danger{border-top:1px solid #18253626;margin-top:16px;padding-top:14px}.section__title{font-family:var(--display);text-transform:uppercase;letter-spacing:.14em;color:var(--clay);margin:22px 0 8px;font-size:14px}.valve__dots{align-items:center;gap:5px;display:inline-flex}.dot{background:#18253640;border-radius:50%;width:9px;height:9px}.dot--on{background:var(--teal);box-shadow:0 0 6px #477a78b3}.puzzle__hint{text-align:center;color:var(--teal);background:#477a781a;border-radius:8px;padding:10px 14px;font-size:15px}.puzzle__warn{text-align:center;color:var(--clay);font-size:14px}.puzzle__win{text-align:center;color:#2b3a52;background:#d6a14c29;border-radius:8px;padding:12px 16px;font-size:15px;line-height:1.55}.hebrew-tile--selected{border-color:var(--amber);transform:translateY(-3px);box-shadow:0 0 0 3px #d6a14c59}.rtl-inline{font-family:var(--hebrew);direction:rtl;unicode-bidi:isolate}.title__actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.title__actions button{font-family:var(--display);letter-spacing:.06em;color:var(--ink);background:linear-gradient(#f6ecd2,#e6d7b3);border:1px solid #1825368c;border-radius:6px;padding:13px 26px;font-size:16px}.title__touch-note{color:var(--teal);margin-top:6px}.asset-notice{z-index:25;pointer-events:none;letter-spacing:.14em;text-transform:uppercase;color:#d6c9a9b3;background:#0e172399;border:1px solid #ad665066;border-radius:999px;padding:4px 12px;font-size:10.5px;position:absolute;top:10px;left:50%;transform:translate(-50%)}.asset-failure__list{color:#3a2430;white-space:pre-wrap;background:#ad66501a;border:1px solid #ad665066;border-radius:6px;max-height:40vh;margin:10px 0 0;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11.5px;line-height:1.5;overflow:auto}@media (max-width:720px){.overlay{padding:8px}.dialogue,.encounter{bottom:8px}.touch__dpad{width:150px;height:150px}.touch__actions button{width:64px;height:64px}}@media (max-width:820px) and (orientation:portrait){.app{align-items:stretch}.hud{height:auto;padding:8px 10px;inset:0 0 auto}.hud__room{letter-spacing:.1em;white-space:nowrap;text-overflow:ellipsis;max-width:36vw;padding:5px 9px;font-size:10.5px;overflow:hidden}.hud__quest{display:none}.hud__hearts{gap:3px;max-width:56vw;padding:5px 8px}.heart{width:11px;height:11px}.hud__inv{gap:5px}.chip{padding:3px 8px;font-size:10.5px}#game-root{justify-content:center;align-items:flex-start;width:100%;height:calc(66.6667vw + 54px);padding-top:54px;inset:0 auto auto 0}#game-root canvas{max-width:100%;max-height:none;box-shadow:none;border-radius:0;margin:0!important}.dialogue,.encounter{width:auto;inset:calc(66.6667vw + 62px) 10px auto;transform:none}.dialogue{gap:12px;padding:12px 14px}.dialogue__text{margin-bottom:8px;font-size:15px}.encounter{padding:12px 14px}.touch__dpad{width:156px;height:156px;bottom:max(12px, env(safe-area-inset-bottom))}.touch__actions{bottom:max(12px, env(safe-area-inset-bottom))}.touch__actions button{width:66px;height:66px}.asset-notice{padding:3px 10px;font-size:9.5px;top:auto;bottom:calc(100vh - 46px)}}@media (orientation:landscape) and (max-height:480px){.dialogue,.encounter{width:min(520px,100% - 340px);padding:10px 12px;bottom:8px}.dialogue{gap:10px}.dialogue__portrait{width:72px;height:92px}.dialogue__text{margin-bottom:8px;font-size:14px}.encounter{gap:7px}.encounter__name{font-size:16px}.encounter__actions button,.encounter__submenu-row button,.encounter__submenu button{padding:9px 6px;font-size:13px}.encounter__dodge-label{font-size:13px}.encounter__log{font-size:11.5px}.touch__dpad{width:140px;height:140px;bottom:clamp(8px,2vh,16px);left:clamp(8px,2vw,18px)}.touch__actions{gap:8px;bottom:clamp(8px,2vh,16px);right:clamp(8px,2vw,18px)}.touch__actions button{width:62px;height:62px;font-size:13px}}
