*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,Segoe UI,Roboto,sans-serif;background:#1a1d24;overflow:hidden;overscroll-behavior:none}body.reduce-motion *,body.reduce-motion *:before,body.reduce-motion *:after{animation-duration:.001ms!important;transition-duration:.001ms!important}body.high-contrast{filter:contrast(1.18) saturate(1.08)}#game{touch-action:none}#app,#game{position:fixed;inset:0;width:100%;height:100%}.hidden{display:none!important}.overlay{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#0f121ad1;z-index:10}.title-card{background:#f5f3ee;color:#2a2d34;border-radius:8px;padding:36px 44px;max-width:540px;width:calc(100% - 40px);text-align:center;box-shadow:0 24px 60px #00000080}.title-card h1{font-size:1.9rem;margin-bottom:4px}.title-card h2{font-size:1.1rem;color:#5a7d9a;margin-bottom:16px;letter-spacing:2px}.title-card p{line-height:1.5;margin-bottom:14px}.mission-list{list-style:none;text-align:left;margin:0 auto 18px;max-width:320px;line-height:1.9}.controls-hint{font-size:.85rem;color:#888}button{background:#2dd4bf;border:none;color:#0f3d38;font-size:1.05rem;font-weight:700;padding:13px 30px;border-radius:6px;cursor:pointer;transition:transform .1s,background .2s}button:hover{background:#5eead4;transform:translateY(-1px)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #0ea5e9;outline-offset:2px}button.secondary{background:#dbe3ea;color:#263543}button.danger{background:#dc5a5a;color:#fff}select{width:100%;padding:10px 12px;margin:4px 0 14px;border:2px solid #cbd5e1;border-radius:6px;background:#fff;font:inherit}.field-label{display:block;text-align:left;font-weight:700}.compact-card{max-width:360px;display:grid;gap:10px}.compact-card h1{margin-bottom:8px}.loading-screen{z-index:30;background:#11141b}.loading-panel{width:min(420px,calc(100% - 40px));color:#eef2f7;text-align:center}.loading-panel strong{display:block;margin-bottom:14px;font-size:1.1rem}.loading-track{height:8px;background:#303641;border-radius:4px;overflow:hidden;margin-bottom:10px}#loading-bar{height:100%;width:8%;background:#2dd4bf;transition:width .2s}#loading-label{color:#aeb7c5;font-size:.85rem}#hud{position:fixed;inset:0;pointer-events:none;z-index:5}#hud:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 62%,rgba(10,12,18,.32) 100%)}#clock{position:absolute;top:18px;right:22px;font-size:2rem;font-weight:800;color:#fff;background:#141820bf;padding:8px 18px;border-radius:12px;font-variant-numeric:tabular-nums}#clock.late{color:#f87171;animation:pulse .8s infinite}@keyframes pulse{50%{opacity:.5}}#checklist{position:absolute;top:18px;left:22px;background:#141820bf;color:#e7e9ee;padding:14px 18px;border-radius:12px;font-size:.95rem;line-height:1.8}#checklist .done{color:#4ade80;text-decoration:line-through}#interact-prompt{position:absolute;bottom:18%;left:50%;transform:translate(-50%);background:#141820d9;color:#fff;padding:10px 22px;border-radius:10px;font-size:1.05rem}#interact-prompt b{color:#2dd4bf}#toast{position:absolute;top:90px;left:50%;transform:translate(-50%);background:#2dd4bff2;color:#0f3d38;font-weight:700;padding:12px 26px;border-radius:12px;font-size:1.05rem}#toast.bad{background:#f87171f2;color:#4c0d0d}#crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:28px;opacity:.8}#hud-actions{position:absolute;right:22px;bottom:22px;display:flex;gap:8px;pointer-events:auto}.icon-btn{width:42px;height:42px;padding:0;display:grid;place-items:center;border-radius:6px;background:#141820d1;color:#fff;font-size:1rem}#minimap{position:absolute;right:22px;top:82px;width:190px;height:150px;background:#10141bd1;border:1px solid rgba(255,255,255,.2);border-radius:6px}.settings-card{width:min(460px,calc(100% - 32px));max-height:90vh;overflow:auto;background:#f5f3ee;color:#2a2d34;border-radius:8px;padding:24px}.settings-card label{display:grid;gap:6px;margin:12px 0;font-weight:650}.settings-card .toggle-row{display:flex;align-items:center;gap:10px}.settings-card input[type=range]{width:100%}.panel-header{display:flex;align-items:center;justify-content:space-between}.panel-header .icon-btn{background:#dbe3ea;color:#263543}.tutorial{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:12;display:flex;align-items:center;gap:14px;max-width:min(620px,calc(100% - 32px));padding:12px 14px;background:#10141bf0;color:#fff;border-radius:6px;box-shadow:0 8px 28px #00000059}.tutorial button{padding:8px 14px;font-size:.9rem}.alert-card{width:min(560px,calc(100% - 32px));padding:30px;text-align:center;background:#fff3d6;color:#321d18;border:5px solid #d9293f;border-radius:8px;box-shadow:0 0 0 10px #d9293f38,0 28px 70px #000000a6;animation:alert-shake .16s linear infinite alternate}.alert-card h1{font-size:2.5rem;margin-bottom:12px;color:#b20f28}.alert-card p{margin:10px 0;line-height:1.45}.alert-time{font-size:1.3rem;font-weight:900;letter-spacing:.18em}@keyframes alert-shake{0%{transform:rotate(-.25deg)}to{transform:rotate(.25deg)}}#chase-hud{position:absolute;top:18px;left:50%;transform:translate(-50%);width:min(600px,calc(100% - 32px));padding:10px 14px;text-align:center;background:#5a0012e6;color:#fff;border:2px solid #ff4961;border-radius:6px;display:grid;gap:3px;animation:chase-pulse .65s infinite alternate}#chase-hud strong{color:#ffcf4b;letter-spacing:.12em}#chase-distance{font-size:.82rem;color:#ffd3d9}@keyframes chase-pulse{0%{box-shadow:0 0 8px #ff002833}to{box-shadow:0 0 28px #ff0028a6}}body.chase-mode #checklist,body.chase-mode #clock,body.chase-mode #minimap,body.chase-mode #map-btn{display:none!important}body.chase-danger #hud:before{content:"";position:absolute;inset:0;border:18px solid rgba(190,0,28,.42);pointer-events:none}#minigame-card{max-width:600px}#minigame-card h2{color:#2a2d34;margin-bottom:14px;font-size:1.4rem}.kawa-real{background:linear-gradient(180deg,#54575c,#3e4146);border-radius:14px;padding:18px 14px;display:flex;gap:10px;align-items:stretch;justify-content:center;margin-bottom:14px;border:6px solid #26282c}.kawa-side{display:flex;flex-direction:column;justify-content:space-around}.kawa-side button{width:54px;height:26px;margin:4px 0;background:linear-gradient(180deg,#e3e6ea,#b9bdc3);border-radius:5px;padding:0;box-shadow:0 2px 3px #00000073,inset 0 1px #fff;font-size:.7rem;color:#555}.kawa-side button:hover{background:linear-gradient(180deg,#f2f4f7,#c9cdd3);transform:none}.kawa-lcd{background:#0c0f14;border-radius:8px;padding:14px 12px;width:280px;color:#d6dde8;display:grid;grid-template-columns:1fr 1fr;gap:8px 16px;align-content:space-around;font-size:.95rem;border:3px solid #1a1d22}.kawa-lcd .drink{text-align:left;display:flex;align-items:center;gap:6px;min-height:30px}.kawa-lcd .drink.right{text-align:right;justify-content:flex-end}.kawa-lcd .kawa-status{grid-column:span 2;font-size:.8rem;color:#8b96a5;border-top:1px solid #232a33;padding-top:6px;display:flex;justify-content:space-between}.kawa-alert{color:#f87171!important;font-weight:700;animation:pulse 1s infinite}.kawa-marc-btn{width:100%;background:#2563c4!important;color:#fff!important;margin-bottom:12px}.daikin-real{background:linear-gradient(180deg,#efe8d2,#ddd3b8);border-radius:10px;padding:16px 18px 10px;max-width:340px;margin:0 auto 14px;box-shadow:0 6px 18px #0000004d,inset 0 1px #fbf6e8;color:#3a3a35}.daikin-brand{text-align:left;font-weight:900;font-style:italic;letter-spacing:1px;color:#2a2a26;margin-bottom:8px;font-size:.95rem}.daikin-lcd{background:#aebfa5;border-radius:4px;padding:10px 14px;font-family:Courier New,monospace;font-weight:700;display:flex;justify-content:space-between;align-items:center;box-shadow:inset 0 2px 6px #00000040;margin-bottom:12px;color:#3c423a}.daikin-lcd .temp{font-size:2.4rem;letter-spacing:2px}.daikin-lcd .side{font-size:.8rem;text-align:right;line-height:1.5}.daikin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:12px}.daikin-grid button{background:linear-gradient(180deg,#e8e0c8,#cfc6aa);color:#3a3a35;font-size:.85rem;padding:8px 4px;border-radius:4px;box-shadow:0 2px 2px #00000040,inset 0 1px #f6efdc}.daikin-grid button:hover{background:linear-gradient(180deg,#f2ecd8,#d9d0b6);transform:none}.daikin-grid button.orange{background:linear-gradient(180deg,#ecb54e,#d99b2b)}.daikin-grid button.dark{background:linear-gradient(180deg,#5a5a52,#44443e);color:#e8e0c8}.daikin-lid{background:linear-gradient(180deg,#e4dcc4,#d4cab0);border-radius:0 0 8px 8px;padding:8px 12px;font-size:.55rem;color:#6b6b60;text-align:left;transform:perspective(300px) rotateX(28deg);transform-origin:top center;box-shadow:0 4px 8px #0003;line-height:1.5}.daikin-lid b{color:#50504a}.fountain-real{background:linear-gradient(180deg,#cfd3d8,#aeb3b9);border-radius:50px 50px 14px 14px;padding:22px 20px 18px;max-width:360px;margin:0 auto 14px;box-shadow:0 6px 18px #0000004d}.fountain-controls{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,#e9ebee,#c8ccd1);border-radius:40px;padding:10px 16px;margin-bottom:14px}.fountain-btn{width:52px;height:52px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f4f5f7,#b9bdc3);position:relative;padding:0;box-shadow:0 3px 6px #00000059}.fountain-btn:after{content:"";position:absolute;inset:8px;border-radius:50%;border:4px solid #d8dadd}.fountain-btn.green:after{border-color:#2ee6a8;box-shadow:0 0 12px #2ee6a8}.fountain-btn.blue:after{border-color:#3b82f6;box-shadow:0 0 12px #3b82f6}.fountain-btn .dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background:#6b7077}.fountain-btn.green .dot{background:#0f7a55}.fountain-btn.blue .dot{background:#1d4ed8}.fountain-oval{background:#f4f6f8;border-radius:50%;padding:8px 14px;font-size:.62rem;color:#1d4ed8;line-height:1.4;font-weight:700}.fountain-oval small{color:#555;font-weight:400}.fountain-cavity{background:#1c1e22;border-radius:8px;height:70px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:6px}.fountain-cavity .glass{width:34px;height:44px;border-radius:3px 3px 6px 6px;border:2px solid #9db8c8;border-top:none;position:relative;overflow:hidden}.fountain-cavity .glass .water{position:absolute;bottom:0;left:0;right:0;height:0%;background:#7cc4ec}.printer-steps{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.printer-steps button{background:#e8e7e3;color:#2a2d34;font-size:.92rem;padding:14px 10px;border:2px solid #cfcdc7}.printer-steps button:hover{background:#f2f1ed;transform:none}.printer-steps button.done{background:#4ade80;border-color:#16a34a;color:#064e23;pointer-events:none}.badge-track{position:relative;height:38px;border-radius:10px;background:#2a2d34;margin-bottom:16px;overflow:hidden}.badge-zone{position:absolute;top:0;bottom:0;background:#2ee6a873;border-left:2px solid #2ee6a8;border-right:2px solid #2ee6a8}.badge-cursor{position:absolute;top:2px;bottom:2px;width:3%;background:#fff;border-radius:4px;box-shadow:0 0 10px #fffc}.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.room-grid button{background:#fff;color:#2a2d34;border:2px solid #cbd5e1;display:flex;flex-direction:column;gap:4px;padding:14px}.room-grid button span{font-size:.8rem;color:#888;font-weight:400}.room-grid button.busy{background:#fecaca;border-color:#dc2626;opacity:.7}.room-grid button.free{background:#bbf7d0;border-color:#16a34a}#touch-ui{position:fixed;inset:0;pointer-events:none;z-index:6}#look-area{position:absolute;top:0;right:0;bottom:0;width:55%;pointer-events:auto;touch-action:none}#joystick{position:absolute;bottom:26px;left:22px;width:130px;height:130px;border-radius:50%;background:#14182059;border:2px solid rgba(255,255,255,.25);pointer-events:auto;touch-action:none}#stick{position:absolute;top:50%;left:50%;width:56px;height:56px;margin:-28px 0 0 -28px;border-radius:50%;background:#ffffff8c;box-shadow:0 2px 10px #0006}#interact-btn{position:absolute;bottom:46px;right:22px;pointer-events:auto;background:#2dd4bf;font-size:1rem;padding:16px 22px;border-radius:40px;box-shadow:0 6px 18px #00000073;max-width:52vw}.touch #interact-prompt,.touch #crosshair{display:none}.mg-close{position:absolute;top:16px;right:16px;background:#ffffff26;color:#fff;width:44px;height:44px;padding:0;border-radius:50%;font-size:1.2rem;z-index:11}@media(max-width:760px){#checklist{font-size:.72rem;line-height:1.6;padding:10px 12px;max-width:60vw}#clock{font-size:1.4rem;padding:6px 12px;top:12px;right:12px}.title-card,.dialogue-card{padding:22px 20px;max-height:88vh;overflow-y:auto}.title-card h1{font-size:1.4rem}.mission-list{line-height:1.6;font-size:.9rem}#toast{font-size:.9rem;width:max-content;max-width:86vw}.kawa-lcd{width:200px;font-size:.8rem}.kawa-side button{width:42px}#minimap{width:132px;height:104px;right:12px;top:64px}#hud-actions{right:12px;bottom:12px}#hud-actions .icon-btn{width:38px;height:38px}.tutorial{bottom:168px;font-size:.86rem}#joystick{left:max(14px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom))}#interact-btn{right:max(14px,env(safe-area-inset-right));bottom:max(34px,env(safe-area-inset-bottom))}}#gate .pw-input{max-width:300px;margin-top:12px}#gate-err{min-height:22px}.pc-lock{background:linear-gradient(135deg,#1a4a7a,#2d6aa3);border-radius:12px;padding:26px 20px;margin-bottom:14px;color:#fff}.pc-lock .pc-time{font-size:2.4rem;font-weight:800;margin-bottom:4px}.pc-lock .pc-date{font-size:.85rem;opacity:.8;margin-bottom:16px}.pc-lock .pw-input{max-width:280px}.gauge-wrap{background:#dde3ea;border-radius:10px;height:34px;margin-bottom:16px;overflow:hidden;position:relative}.gauge-fill{background:linear-gradient(90deg,#38bdf8,#0ea5e9);height:100%;width:0%;transition:width .05s linear}.gauge-target{position:absolute;top:0;bottom:0;border-left:3px dashed #16a34a;border-right:3px dashed #16a34a}.pw-input{font-size:1.3rem;padding:10px 16px;border-radius:8px;border:2px solid #cbd5e1;width:100%;margin-bottom:14px;text-align:center;letter-spacing:2px}.postit{background:#fef08a;display:inline-block;padding:10px 16px;transform:rotate(-2deg);font-family:Comic Sans MS,cursive;margin-bottom:14px;box-shadow:2px 3px 8px #0003}.minigame-status{min-height:24px;font-weight:700;margin-bottom:10px}.minigame-status.ok{color:#16a34a}.minigame-status.ko{color:#dc2626}.dialogue-card{background:#f5f3ee;color:#2a2d34;border-radius:8px;padding:26px 30px;max-width:520px;width:calc(100% - 40px);box-shadow:0 24px 60px #00000080}.dialogue-header{display:flex;align-items:center;gap:14px;margin-bottom:16px}#dlg-avatar{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid #d6679a;background:#cbd5e1}#dlg-name{font-size:1.2rem;font-weight:800}#dlg-role{font-size:.85rem;color:#888}#dlg-line{background:#fff;padding:16px 18px;font-size:1.05rem;line-height:1.5;margin-bottom:18px;border-radius:12px 12px 12px 2px}.dialogue-actions{display:flex;flex-direction:column;gap:8px}.dialogue-actions button{width:100%}.cat-frame{background:#14181f;border-radius:16px;padding:20px;text-align:center;max-width:480px;width:calc(100% - 40px)}#cat-photo{width:100%;max-height:65vh;object-fit:contain;border-radius:10px;margin-bottom:12px}.cat-frame p{color:#e7e9ee;font-style:italic;margin-bottom:14px}
