:root{--paper:#ead7b9;--wood:#3c2417;--red:#9d1f23;--gold:#d7b361;--cream:#f5ead5;--safe:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;min-height:100%;background:#090705;color:var(--cream);font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP",serif;overscroll-behavior:none}button{font:inherit;color:inherit}button:focus-visible{outline:2px solid #f2d68b;outline-offset:2px}body{display:flex;justify-content:center}.app{position:relative;width:min(100%,520px);min-height:100dvh;background:#0b0806;overflow:hidden;box-shadow:0 0 80px #000}
.hud{height:66px;padding:10px 12px 8px;display:grid;grid-template-columns:78px 1fr 108px;gap:8px;align-items:stretch;background:#0d0a08;border-bottom:1px solid rgba(235,215,177,.12);position:relative;z-index:20}.hud-block,.curse-meter{border:1px solid rgba(235,215,177,.12);background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(0,0,0,.08));border-radius:10px;padding:7px 9px;min-width:0}.hud-label{display:block;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;font-size:8px;letter-spacing:.18em;color:#9f917e}.hud-block strong{font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;font-size:19px;letter-spacing:-.03em}.hud-small{font:700 9px sans-serif;color:#746c60;margin-left:3px}.money-block{text-align:center}.curse-meter{appearance:none;cursor:pointer;text-align:left}.curse-head{display:flex;justify-content:space-between;font:700 9px -apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;color:#b29a93}.curse-head b{font-size:11px;color:#d78a8d}.curse-track{height:4px;margin-top:7px;background:#24171a;display:block;border-radius:8px;overflow:hidden}.curse-track i{display:block;width:0;height:100%;background:linear-gradient(90deg,#68424e,#c52c43);box-shadow:0 0 10px #a32438;transition:width .3s}
.game-shell{min-height:calc(100dvh - 66px);display:flex;flex-direction:column}.shop{position:relative;height:57dvh;min-height:410px;max-height:610px;overflow:hidden;background:radial-gradient(circle at 50% 18%,rgba(229,181,95,.13),transparent 25%),linear-gradient(180deg,#3a281c 0 36%,#1c120d 36% 100%);transition:background 1s,filter .7s}.shop.night-phase{background:radial-gradient(circle at 50% 14%,rgba(72,121,112,.09),transparent 26%),linear-gradient(180deg,#102020 0 36%,#071010 36% 100%)}.ceiling-shadow{position:absolute;inset:0 0 auto;height:70px;background:linear-gradient(#050403,transparent);z-index:2}.lamp{position:absolute;left:50%;top:-5px;transform:translateX(-50%);width:110px;height:105px;z-index:7;pointer-events:none}.lamp:before{content:"";position:absolute;left:53px;width:4px;height:42px;background:#17100c}.lamp i{position:absolute;left:28px;top:39px;width:56px;height:25px;border-radius:55px 55px 8px 8px;background:#1b120d;border:1px solid #6d523a}.lamp b{position:absolute;left:47px;top:57px;width:18px;height:10px;border-radius:50%;background:#ffd98f;box-shadow:0 0 38px 18px rgba(255,202,114,.18);transition:.6s}.night-phase .lamp b{background:#7e9b90;box-shadow:0 0 30px 12px rgba(83,146,132,.09)}
.back-wall{position:absolute;inset:0 0 auto;height:39%;background:linear-gradient(90deg,transparent 49.4%,rgba(65,44,30,.25) 49.5% 50.3%,transparent 50.4%),linear-gradient(#493423,#322319);border-bottom:7px solid #1a100b;box-shadow:0 12px 25px rgba(0,0,0,.4)}.night-phase .back-wall{filter:saturate(.5) brightness(.55)}.shop-sign{position:absolute;left:18px;top:72px;width:64px;height:82px;background:#d8c39d;border:5px solid #2a180f;box-shadow:4px 5px 0 rgba(0,0,0,.24);transform:rotate(-1.5deg);color:#351f16;text-align:center}.shop-sign span{display:block;font-size:42px;line-height:48px;font-weight:900}.shop-sign small{font:700 7px sans-serif;letter-spacing:.08em;border-top:1px solid #594535;padding-top:4px}.wall-clock{position:absolute;right:23px;top:78px;width:55px;height:55px;border:6px solid #251711;border-radius:50%;background:#d9c9a6;box-shadow:3px 5px 0 rgba(0,0,0,.25)}.wall-clock b{position:absolute;left:50%;top:50%;width:5px;height:5px;background:#241710;border-radius:50%;transform:translate(-50%,-50%)}.hand{position:absolute;left:50%;top:50%;display:block;width:2px;background:#241710;transform-origin:50% 100%;border-radius:3px}.hand.hour{height:14px;transform:translate(-50%,-100%) rotate(40deg)}.hand.minute{height:19px;transform:translate(-50%,-100%) rotate(145deg)}.night-phase .hand.hour{animation:clockSpin 4s linear infinite}.night-phase .hand.minute{animation:clockSpin 1.5s linear infinite reverse}@keyframes clockSpin{to{transform:translate(-50%,-100%) rotate(400deg)}}
.window{position:absolute;right:95px;top:73px;width:82px;height:79px;border:7px solid #261710;background:linear-gradient(#263033,#101b1d);overflow:hidden;box-shadow:inset 0 0 20px #000}.window:before,.window:after{content:"";position:absolute;background:#2f2017;z-index:3}.window:before{left:35px;top:0;width:5px;height:100%}.window:after{top:33px;left:0;height:5px;width:100%}.rain{position:absolute;width:1px;height:23px;background:rgba(181,211,211,.35);transform:rotate(13deg);animation:rain 1.4s linear infinite}.r1{left:18px;top:2px}.r2{left:52px;top:21px;animation-delay:.4s}.r3{left:70px;top:5px;animation-delay:.8s}@keyframes rain{from{transform:translateY(-28px) rotate(13deg)}to{transform:translateY(90px) rotate(13deg)}}.outside-shape{position:absolute;left:12px;bottom:-31px;width:21px;height:45px;border-radius:50% 50% 8px 8px;background:#090e0f;opacity:0;transition:opacity 1s,bottom 2s}.shop.anomaly-2 .outside-shape{opacity:.55;bottom:-18px}.shop.anomaly-3 .outside-shape{opacity:.86;bottom:-2px}.wall-stain{position:absolute;left:112px;top:89px;width:50px;height:55px;border-radius:45% 55% 35% 60%;background:radial-gradient(ellipse,rgba(24,14,13,.34),transparent 68%);opacity:0;transition:opacity 1s}.shop.anomaly-2 .wall-stain,.shop.anomaly-3 .wall-stain{opacity:1}
.shelf-wrap{position:absolute;left:0;right:0;bottom:0;height:71%;z-index:5;padding:12px 14px 11px;background:linear-gradient(180deg,transparent 0 4%,rgba(8,5,4,.2) 5%,rgba(8,5,4,.68) 100%)}.shelf-title-row{height:55px;display:flex;justify-content:space-between;align-items:end;margin:0 3px 7px}.phase-kicker{font:900 8px -apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;letter-spacing:.22em;color:#c79a58}.shelf-title-row h1{font-size:20px;line-height:1.05;margin:3px 0 0;letter-spacing:.01em}.debt-chip{text-align:right;min-width:100px;background:rgba(12,8,6,.74);border:1px solid rgba(230,207,169,.13);padding:6px 8px;border-radius:8px}.debt-chip span{display:block;font:700 8px sans-serif;color:#9f8f7c}.debt-chip strong{font:800 15px sans-serif;color:#e7d1a7}.night-phase .phase-kicker{color:#88b2aa}.night-phase .debt-chip{border-color:rgba(111,178,165,.17)}
.shelf{position:relative;width:min(100%,364px);height:calc(100% - 92px);min-height:268px;max-height:330px;margin:0 auto;padding:11px 11px 14px;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);gap:7px;background:linear-gradient(90deg,#1a0e09,#5a3520 3%,#3a2114 97%,#160c08),linear-gradient(#51301d,#28170f);border:8px solid #21120b;border-radius:4px;box-shadow:0 18px 35px rgba(0,0,0,.55),inset 0 0 0 2px #6a4329}.shelf:before{content:"";position:absolute;inset:-9px;pointer-events:none;border:1px solid rgba(210,160,91,.22);box-shadow:inset 0 0 20px #000}.cell{position:relative;border:1px solid rgba(205,161,104,.15);background:linear-gradient(180deg,rgba(8,5,4,.56),rgba(27,14,9,.32));min-width:0;min-height:0;display:flex;align-items:center;justify-content:center;cursor:pointer;overflow:hidden}.cell:after{content:"";position:absolute;bottom:0;left:0;right:0;height:5px;background:linear-gradient(#4d2d1a,#201008);box-shadow:0 -2px 4px rgba(0,0,0,.5)}.cell.target{border-color:rgba(232,194,108,.75);background:rgba(225,181,88,.08);box-shadow:inset 0 0 16px rgba(225,181,88,.13)}.cell.target:before{content:"＋";position:absolute;color:rgba(242,208,137,.55);font:300 24px sans-serif}.cell.selected{outline:2px solid #e8c36f;outline-offset:-3px}.cell.triggering{animation:cellPulse .22s alternate 2;z-index:5}@keyframes cellPulse{to{box-shadow:inset 0 0 20px rgba(150,228,211,.28),0 0 14px rgba(136,226,210,.34);border-color:#83c7ba}}
.relic{position:relative;width:90%;height:90%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:2;transition:transform .2s,filter .2s}.relic svg{width:66%;height:66%;overflow:visible;filter:drop-shadow(2px 4px 3px rgba(0,0,0,.42))}.relic-name{position:absolute;left:3px;right:3px;bottom:6px;text-align:center;font:700 7px -apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#dac7a7;text-shadow:0 1px 2px #000}.relic.triggering{transform:scale(1.14);filter:brightness(1.45)}.relic.cursed svg{filter:drop-shadow(0 0 4px rgba(158,47,74,.7)) drop-shadow(2px 4px 3px #000)}
.night-ticker{position:absolute;left:18px;right:18px;bottom:14px;height:31px;display:flex;align-items:center;gap:9px;padding:0 10px;background:rgba(4,9,9,.88);border:1px solid rgba(112,165,155,.18);border-radius:6px;transform:translateY(60px);opacity:0;transition:.35s;z-index:12;font:600 9px -apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;color:#a8bdb9}.night-ticker.show{transform:none;opacity:1}.ticker-time{color:#7eb4aa;font-weight:900;letter-spacing:.08em}.night-ticker.combo{border-color:rgba(226,174,83,.45);color:#f0d59d}.night-ticker.combo .ticker-time{color:#e0ae58}.float-layer{position:absolute;inset:0;pointer-events:none;z-index:30}.money-float{position:absolute;color:#f2ce73;font:900 15px -apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;text-shadow:0 2px 8px #000;animation:moneyFloat .75s ease-out forwards}@keyframes moneyFloat{from{transform:translate(-50%,0) scale(.7);opacity:0}20%{opacity:1}to{transform:translate(-50%,-38px) scale(1.05);opacity:0}}.anomaly-flash{position:absolute;inset:0;z-index:40;display:grid;place-items:center;pointer-events:none;opacity:0;background:rgba(6,14,14,.06)}.anomaly-flash.show{animation:anomalyFlash 1.1s ease}.anomaly-flash span{width:8px;height:8px;border-radius:50%;background:#e6f3ee;box-shadow:0 0 100px 40px rgba(170,222,210,.12)}@keyframes anomalyFlash{0%,100%{opacity:0}48%{opacity:1}53%{opacity:.1}60%{opacity:.7}}
.control-panel{position:relative;z-index:15;flex:1;background:linear-gradient(#16100c,#0d0a08);border-top:1px solid rgba(230,207,169,.12);padding:10px 12px calc(13px + var(--safe));min-height:300px}.instruction{height:28px;display:flex;align-items:center;justify-content:center;gap:7px;color:#bca98d;font:700 10px -apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;letter-spacing:.02em}.instruction b{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#d7b15e;color:#1b120c;font-size:9px}.instruction.done{color:#73827f}.instruction.done b{background:#45625c;color:#cfe2dc}.panel-head{display:flex;justify-content:space-between;align-items:end;margin:3px 2px 7px}.panel-head>div{display:flex;gap:8px;align-items:baseline}.panel-head span{font-size:12px;font-weight:800}.panel-head small{font:600 8px sans-serif;color:#766d61}.text-button{border:0;background:none;padding:6px;font:700 9px sans-serif;color:#8e8274;cursor:pointer}.offers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.offer{position:relative;height:111px;border:1px solid rgba(220,196,157,.14);border-radius:10px;background:linear-gradient(165deg,#261b14,#14100c);padding:6px 6px 7px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;cursor:pointer;overflow:hidden;transition:transform .15s,border-color .15s,background .15s}.offer:active{transform:scale(.97)}.offer.selected{border-color:#d7b25f;background:linear-gradient(165deg,#3b2b1b,#16100c);box-shadow:0 0 0 1px rgba(215,178,95,.2)}.offer.disabled{opacity:.35;filter:saturate(.5);pointer-events:none}.offer-art{width:62px;height:62px;display:grid;place-items:center}.offer-art svg{width:90%;height:90%;filter:drop-shadow(2px 5px 4px rgba(0,0,0,.5))}.offer-copy{width:100%;display:flex;justify-content:space-between;gap:4px;align-items:center}.offer-copy b{font:800 8px -apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.offer-copy span{font:800 8px sans-serif;color:#e5c77f;white-space:nowrap}.rarity{position:absolute;top:5px;left:5px;font:900 6px sans-serif;letter-spacing:.08em;color:#8e8170}.rarity.strange{color:#9dcabb}.rarity.cursed{color:#d06e77}.rarity.unknown{color:#c9a8d8}
.selected-panel{position:relative;min-height:70px;border:1px solid rgba(220,196,157,.15);background:#17110d;border-radius:10px;padding:7px 34px 7px 74px;margin-top:7px}.selected-panel.hidden{display:none}.selected-icon{position:absolute;left:7px;top:5px;width:59px;height:59px;display:grid;place-items:center}.selected-icon svg{width:90%;height:90%}.selected-copy{min-width:0}.selected-name-row{display:flex;justify-content:space-between;gap:8px;align-items:center}.selected-name-row strong{font-size:11px}.selected-name-row span{font:800 9px sans-serif;color:#dcb967}.selected-copy p{margin:4px 0 2px;font:650 9px/1.45 -apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;color:#c8baa4}.selected-copy small{font:600 8px sans-serif;color:#746c62}.icon-button{position:absolute;right:5px;top:5px;width:27px;height:27px;border:0;background:none;color:#7d7367;font:300 19px sans-serif;cursor:pointer}.close-button{margin-top:9px;width:100%;height:56px;border:1px solid #7f5f33;border-radius:10px;background:linear-gradient(180deg,#a06c32,#70451f);display:flex;justify-content:space-between;align-items:center;padding:0 16px;box-shadow:inset 0 1px rgba(255,255,255,.15),0 8px 22px rgba(0,0,0,.28);cursor:pointer}.close-button:active{transform:translateY(1px)}.close-button:disabled{opacity:.35;filter:grayscale(.4);cursor:default}.close-button span{text-align:left}.close-button small{display:block;font:600 8px sans-serif;color:#e5c999}.close-button b{display:block;font-size:17px;letter-spacing:.16em}.close-button i{font:300 24px sans-serif}.night-phase~.control-panel .close-button{pointer-events:none}
.toast{position:fixed;z-index:80;left:50%;bottom:calc(18px + var(--safe));transform:translate(-50%,20px);width:min(calc(100% - 28px),470px);padding:11px 14px;background:rgba(18,14,11,.94);border:1px solid rgba(228,201,156,.2);border-radius:9px;text-align:center;font:700 10px/1.45 -apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;color:#e7d7bd;opacity:0;pointer-events:none;transition:.25s}.toast.show{opacity:1;transform:translate(-50%,0)}.modal{position:fixed;inset:0;z-index:100;background:rgba(4,3,3,.83);backdrop-filter:blur(8px);display:grid;place-items:center;padding:18px}.modal.hidden{display:none}.modal-card{width:min(100%,410px);max-height:88dvh;overflow:auto;background:linear-gradient(170deg,#251a13,#100c09);border:1px solid rgba(226,202,164,.18);box-shadow:0 30px 70px #000;border-radius:14px;padding:24px;text-align:center}.modal-eyebrow{font:900 8px sans-serif;letter-spacing:.22em;color:#aa8c60}.modal-art{height:110px;display:grid;place-items:center;margin:6px auto}.modal-art svg{width:105px;height:105px}.modal-card h2{font-size:26px;margin:3px 0 10px}.modal-card>p{font:600 12px/1.8 -apple-system,BlinkMacSystemFont,"Hiragino Sans",sans-serif;color:#c6b9a6;white-space:pre-line}.modal-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin:17px 0}.stat{background:rgba(255,255,255,.025);border:1px solid rgba(226,202,164,.1);padding:9px;border-radius:7px}.stat span{display:block;font:600 7px sans-serif;color:#7f7467}.stat b{font:800 13px sans-serif}.modal-button,.modal-sub{width:100%;height:48px;border-radius:9px;border:1px solid #99703b;background:#8f5e28;font-weight:900;cursor:pointer}.modal-sub{margin-top:7px;background:transparent;border-color:rgba(226,202,164,.14);color:#a99a88}.modal-sub.hidden{display:none}
.start-screen{position:fixed;inset:0;z-index:150;background:radial-gradient(circle at 50% 30%,#39291f 0,#130e0b 42%,#070605 80%);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center}.start-screen.hide{animation:startOut .7s ease forwards;pointer-events:none}@keyframes startOut{to{opacity:0;transform:scale(1.05);visibility:hidden}}.start-shop-mark{width:78px;height:97px;background:#dbc59f;border:7px solid #342117;color:#382217;display:grid;place-items:center;box-shadow:6px 8px 0 #050403;transform:rotate(-2deg)}.start-shop-mark span{font-size:53px;font-weight:900}.start-kicker{margin:25px 0 8px;font:900 8px sans-serif;letter-spacing:.28em;color:#a78451}.start-screen h1{font-size:43px;line-height:1.06;letter-spacing:.03em;margin:0}.start-copy{margin:14px 0 22px;font:600 11px sans-serif;color:#a99b89}.start-rule{width:min(100%,380px);display:flex;align-items:center;justify-content:center;gap:7px;color:#9b8f80;font:700 9px sans-serif}.start-rule span{border:1px solid rgba(229,203,163,.12);padding:8px 9px;border-radius:8px}.start-rule b{color:#d5b465}.start-rule i{font-style:normal;color:#5d554d}.start-button{width:min(100%,330px);height:58px;margin-top:22px;border:1px solid #aa7d42;border-radius:10px;background:linear-gradient(#a97433,#74491f);font-size:17px;font-weight:900;letter-spacing:.16em;box-shadow:0 10px 35px #000;cursor:pointer}.start-screen>small{margin-top:12px;font:600 8px sans-serif;color:#5e5750}body.shake .app{animation:shake .3s linear}@keyframes shake{0%,100%{transform:none}25%{transform:translateX(-3px)}50%{transform:translateX(4px)}75%{transform:translateX(-2px)}}.shop.anomaly-3 .shop-sign{animation:signTwitch 4.5s steps(1) infinite}@keyframes signTwitch{0%,93%,100%{transform:rotate(-1.5deg)}94%{transform:rotate(3deg) translateY(2px)}95%{transform:rotate(-4deg)}}
@media(max-height:720px){.shop{height:55dvh;min-height:365px}.shelf{min-height:240px}.control-panel{min-height:285px}.offer{height:101px}.offer-art{height:54px}.close-button{height:51px}}@media(min-width:521px){body{padding:18px 0;background:radial-gradient(circle,#211711,#060504 60%)}.app{min-height:calc(100dvh - 36px);border-radius:18px}.start-screen{width:520px;left:50%;transform:translateX(-50%)}.start-screen.hide{animation:startOutWide .7s ease forwards}@keyframes startOutWide{to{opacity:0;transform:translateX(-50%) scale(1.05);visibility:hidden}}}@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;transition:none!important}}
