@import url('https://fonts.googleapis.com/css2?family=Chakra+Petch:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{font-family:'DM Sans',sans-serif;color:#fff5db;background:#101c25;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:2px solid #b88743;background:#243c46;color:#fff1cd;border-radius:5px;padding:11px 17px;box-shadow:0 4px 0 #0b171e;font-weight:700}button:hover:not(:disabled){background:#3d5960;transform:translateY(-1px)}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ffde75;outline-offset:4px}h1,h2,h3,.pixel{font-family:'Chakra Petch',sans-serif}h1{font-size:clamp(35px,6vw,78px);line-height:1.02;text-transform:uppercase;text-shadow:0 5px #2a1921;margin:15px 0 22px}h2{margin:0 0 10px;font-size:26px}p{line-height:1.6}.game{min-height:100svh;position:relative;background:#142930}.world{position:fixed;inset:0;background:linear-gradient(#10232b35,#0a192057),url('workshop.png') center/cover no-repeat;image-rendering:auto}.world:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 180px #071820a8;pointer-events:none}.hud{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:18px 25px;background:linear-gradient(#0b1d2ef2,#0b1d2e50)}.logo{font:700 17px 'Chakra Petch';text-transform:uppercase;letter-spacing:1px;color:#f9d490}.hudstats{display:flex;gap:12px}.hudstat{background:#102c36e8;border:1px solid #638286;padding:9px 16px;border-radius:5px;font-weight:700}.hudstat small{font-size:11px;color:#b5c6bd;display:block;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}.hudbuttons{display:flex;gap:8px}.hudbuttons button{padding:9px 12px}.quest{position:relative;z-index:1;margin:15px 25px;padding:13px 18px;background:#0d2635e8;border-left:4px solid #efc06a;width:fit-content;max-width:calc(100% - 50px);font-size:14px;box-shadow:0 5px 20px #0003}.quest b{color:#ffd078}.stage{position:relative;min-height:calc(100svh - 210px);display:flex;align-items:flex-end;justify-content:center;padding:200px 25px 30px}.visitor{position:absolute;right:10%;top:11%;text-align:center;animation:arrive .55s ease-out}.person{font-size:clamp(65px,8vw,110px);filter:drop-shadow(0 7px 2px #0007);display:block;animation:breathe 2.5s infinite ease-in-out}.speech{background:#fff3d6;color:#38403a;border:3px solid #916a42;padding:13px 18px;max-width:270px;border-radius:8px;font-size:14px;box-shadow:4px 5px #11263180}.speech strong{display:block;margin-bottom:4px}.counter{display:flex;gap:13px;align-items:center;position:absolute;left:5%;top:13%;background:#17323bd9;padding:12px 15px;border:1px solid #778477;border-radius:5px}.counter span{font-size:28px}.counter small{color:#bad0c8;display:block;font-size:12px;margin-top:3px}.console{width:min(780px,100%);border:3px solid #b48a50;background:#142d39f5;border-radius:9px;box-shadow:0 9px 0 #0c1b24,0 25px 70px #0008;padding:22px;position:relative}.ribbon{font:600 12px 'Chakra Petch';text-transform:uppercase;letter-spacing:2px;color:#e5ba73;margin-bottom:10px}.consolehead{display:flex;justify-content:space-between;gap:15px;align-items:center}.consolehead p{font-size:14px;color:#b5c9c8;margin:0}.object{font-size:65px;line-height:1.1;filter:drop-shadow(0 4px #0006)}.choicegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0}.choice{text-align:left;border-color:#577078;background:#203b46;padding:13px}.choice.chosen{border-color:#ffcd72;background:#455445}.choice strong{display:block;font-size:15px}.choice small{display:block;color:#b9ceca;font-weight:400;font-size:12px;margin-top:6px;line-height:1.5}.quotecontrol{display:flex;align-items:center;gap:15px;flex-wrap:wrap;border-top:1px solid #49636a;padding-top:17px}.quotecontrol label{font-size:14px}.quotecontrol input{flex:1;min-width:100px;accent-color:#f7c36b}.quotecontrol output{font:700 27px 'Chakra Petch';color:#ffd582}.deal{font-size:13px;color:#d3dfc8;margin:12px 0}.actions{display:flex;gap:10px;align-items:center;margin-top:15px}.primary{background:#edb856;color:#273231;border-color:#ffda88;flex:1}.primary:hover:not(:disabled){background:#ffcf75}.secondary{background:transparent;border-color:#577078;font-size:13px}.stepdots{display:flex;gap:8px;margin:20px 0 15px}.stepdots span{padding:7px 12px;background:#263f49;border:1px solid #5a747c;font-size:13px;border-radius:4px}.stepdots span.done{background:#476650;color:#dbf1c6}.stepdots span.current{border-color:#f6c677;color:#f6c677}.repairarea{height:175px;background:#0b222c;border:2px solid #536e70;border-radius:5px;position:relative;display:flex;align-items:center;justify-content:center;overflow:hidden}.repairarea .object{font-size:100px}.screw{position:absolute;width:48px;height:48px;border-radius:50%;padding:0;background:#77929a;border:3px solid #bacbcc;color:#263947;font-size:26px;box-shadow:0 4px #0007}.screw:nth-of-type(1){left:20%;top:16px}.screw:nth-of-type(2){right:20%;top:16px}.screw:nth-of-type(3){left:20%;bottom:16px}.screw:nth-of-type(4){right:20%;bottom:16px}.screw.removed{visibility:hidden}.parts{display:flex;gap:15px;justify-content:center;flex-wrap:wrap;padding:16px}.part{font-size:35px;min-width:100px}.part small{display:block;font-size:13px;margin-top:5px}.meter{height:45px;background:#6e3e3a;width:85%;position:relative;border:3px solid #789391;border-radius:4px;overflow:hidden}.sweet{position:absolute;left:38%;width:24%;height:100%;background:repeating-linear-gradient(135deg,#80ae70 0 8px,#669454 8px 16px)}.needle{position:absolute;left:50%;height:100%;width:5px;background:#fff5c6;box-shadow:0 0 10px #fff}.repairhint{text-align:center;color:#bfd2cf;font-size:14px;margin:13px 0 0}.success{text-align:center;padding:20px}.success .big{font-size:58px;color:#ffd179}.success h2{font-size:32px}.success p{color:#c4d8cf}.earned{display:flex;gap:20px;justify-content:center;margin:20px 0}.earned span{font-size:25px;color:#ffe1a0}.earned small{font-size:12px;display:block;color:#b5cac6}.start{position:relative;z-index:2;min-height:100svh;display:flex;align-items:center;padding:6% 9%;background:linear-gradient(90deg,#0a1e32eb,#0a1e3255 65%,transparent)}.startcontent{max-width:610px}.start .eyebrow{color:#facd84;font-size:13px;letter-spacing:4px;font-weight:700}.start p{max-width:440px;color:#d9e4d6;font-size:17px}.start button{font-size:18px;padding:16px 28px;margin:15px 10px 0 0}.start .sub{font-size:12px;color:#a3b7b8;margin-top:25px}.overlay{position:fixed;z-index:20;inset:0;display:grid;place-items:center;background:#061421c9;backdrop-filter:blur(6px);padding:20px}.dialog{max-width:570px;width:100%;max-height:90svh;overflow:auto;border:3px solid #bc9456;background:#152f3c;padding:27px;border-radius:8px;box-shadow:0 10px #0a1a24}.dialog p,.dialog li{color:#c8d7cf;font-size:15px;line-height:1.7}.dialog label{display:flex;justify-content:space-between;gap:20px;margin:20px 0}.dialog select{background:#29434b;color:#fff;padding:6px}.dialog button{margin-top:10px}.journal{border-bottom:1px solid #46636b;padding:12px 0;font-size:14px;line-height:1.6}.journal small{display:block;color:#e8bb72}.forecast{display:flex;gap:12px}.forecast div{flex:1;background:#243f49;padding:15px;text-align:center}.forecast strong{display:block;color:#f6ce83;font-size:23px}.forecast small{font-size:12px;color:#bdd1cb}.toast{position:fixed;z-index:12;top:105px;left:50%;transform:translateX(-50%);padding:13px 20px;background:#fff0cd;color:#384a40;border:2px solid #cc9c53;box-shadow:0 5px 20px #0005;border-radius:6px;max-width:90%;font-size:14px;pointer-events:none}.large{font-size:20px}.large button,.large .deal,.large .speech,.large .consolehead p{font-size:1rem}.large .console{width:min(920px,100%)}@keyframes arrive{from{transform:translateX(100px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes breathe{50%{transform:translateY(-5px)}}@media(max-width:700px){.hud{padding:12px;flex-wrap:wrap;gap:10px}.logo{font-size:13px}.hudstats{order:3;width:100%;justify-content:space-between;gap:6px}.hudstat{padding:7px 10px;flex:1;font-size:14px}.hudstat small{font-size:9px}.hudbuttons button{font-size:12px;padding:7px 10px}.quest{margin:8px 12px;font-size:12px;max-width:calc(100% - 24px)}.stage{min-height:calc(100svh - 180px);padding:205px 12px 22px}.visitor{top:0;right:8%}.person{font-size:65px}.speech{max-width:210px;font-size:12px;padding:9px 12px}.counter{left:4%;top:65px;max-width:115px;padding:8px;display:block;font-size:12px}.counter span{font-size:24px}.console{padding:16px}.console h2{font-size:22px}.choicegrid{gap:6px}.choice{padding:10px 7px}.choice strong{font-size:12px}.choice small{font-size:11px}.object{font-size:47px}.start{padding:10% 7%}.start h1{font-size:49px}.start p{font-size:16px}.stepdots span{font-size:11px;padding:6px 8px}.part{min-width:75px;padding:10px}.screw:nth-of-type(odd){left:10%}.screw:nth-of-type(even){right:10%}.large .choicegrid{grid-template-columns:1fr}.large .stage{padding-top:250px}.actions{flex-wrap:wrap}.actions .primary{min-width:150px}.toast{top:160px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important}}
