:root{font-family:Inter,ui-rounded,Segoe UI,sans-serif;color:#453b37;background:#d9c8b8}*{box-sizing:border-box}html,body,#game{width:100%;height:100%;margin:0;overflow:hidden}#game{display:block;touch-action:none;outline:none}button,input,textarea,select{font:inherit}.panel{position:fixed;z-index:5;border:1px solid #fff8;background:#fffdf6e8;box-shadow:0 12px 40px #4b302c33;backdrop-filter:blur(12px);border-radius:18px}.login{inset:50% auto auto 50%;width:min(430px,calc(100% - 32px));padding:30px;transform:translate(-50%,-50%);text-align:center}.login h1{margin:0;color:#9c5e52;font-family:Georgia,serif;font-size:2.6rem}.login p{line-height:1.5}.login input{width:100%;margin:8px 0;padding:13px;border:1px solid #cdb9aa;border-radius:12px;background:#fff}.login select{margin:8px;padding:8px;border:1px solid #cdb9aa;border-radius:9px;background:#fff}.primary,.soft{border:0;border-radius:12px;cursor:pointer;padding:11px 16px}.primary{width:100%;margin-top:10px;color:#fff;background:#c97968}.soft{color:#674f46;background:#f0ddd2}.hud{top:16px;left:16px;right:16px;padding:10px 14px;display:flex;align-items:center;gap:12px;pointer-events:none}.hud button{pointer-events:auto}.brand{font-family:Georgia,serif;font-size:1.25rem;color:#9c5e52}.status{margin-left:auto;font-size:.86rem}.online{color:#56835d}.offline{color:#a04e47}.help{bottom:16px;left:50%;transform:translate(-50%);padding:9px 14px;font-size:.82rem;text-align:center;pointer-events:none}.modal{inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(560px,calc(100% - 28px));max-height:78vh;overflow:auto;padding:22px}.modal h2{margin-top:0;font-family:Georgia,serif;color:#8d584d}.modal textarea{width:100%;min-height:90px;padding:10px;border:1px solid #cfbfb4;border-radius:10px;resize:vertical}.modal-actions{display:flex;gap:8px;margin-top:12px;justify-content:flex-end}.destination-grid,.memory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:10px}.memory-upload{padding:12px;margin-bottom:14px;border-radius:12px;background:#f6e9df}.memory-upload input{width:100%;margin:5px 0;padding:9px;border:1px solid #cfbfb4;border-radius:9px;background:#fff}.memory-card{min-width:0;padding:9px;border-radius:12px;background:#f5e9df}.memory-card img,.memory-card video,.media-placeholder{display:block;width:100%;aspect-ratio:4 / 3;margin-bottom:7px;border-radius:9px;object-fit:cover;background:#d8c9c0}.media-placeholder{display:grid;place-items:center;font-size:2rem}.memory-card small{display:block;color:#8b746b;margin-top:4px}.ai-history{display:grid;gap:8px;margin-top:14px}.ai-message{max-width:88%;padding:10px 12px;border-radius:13px;background:#eee1d8}.ai-message.user{justify-self:end;background:#dceae5}.ai-message p{margin:5px 0;line-height:1.45}.ai-message small{color:#846f65}.checker-board{display:grid;grid-template-columns:repeat(8,minmax(30px,1fr));width:min(440px,100%);aspect-ratio:1;margin:12px auto;border:6px solid #745341}.checker-cell{display:grid;place-items:center;padding:0;border:0}.checker-cell.light{background:#ead9bf}.checker-cell.dark{background:#8f684f;cursor:pointer}.checker-cell.selected{box-shadow:inset 0 0 0 4px #f0d65c}.checker-piece{display:grid;place-items:center;width:70%;aspect-ratio:1;border-radius:50%;font-size:clamp(1rem,4vw,2rem);box-shadow:inset 0 4px 5px #fff4,0 3px 4px #0005}.checker-piece.red{color:#fff2e7;background:#b94f4f}.checker-piece.black{color:#f4e8cf;background:#2f3135}.tarot-cards{display:flex;gap:10px;overflow-x:auto;padding:8px 2px}.tarot-card{flex:0 0 125px;min-height:190px;display:flex;flex-direction:column;justify-content:space-around;align-items:center;padding:12px;border:3px double #d8b567;border-radius:10px;color:#f5e5bb;text-align:center;background:linear-gradient(145deg,#312342,#6b486f)}.tarot-card span{font-size:2rem}.call-videos{position:relative;min-height:280px;border-radius:14px;overflow:hidden;background:#29272b}.call-videos video{width:100%;max-height:55vh;object-fit:cover;background:#29272b}.call-videos #local-video{position:absolute;right:12px;bottom:12px;width:28%;max-height:32%;border:2px solid white;border-radius:10px}.destination{min-height:80px;border:0;border-radius:14px;color:#fff;cursor:pointer;background:linear-gradient(135deg,#84a7a1,#c68774)}.note{padding:10px 12px;margin:9px 0;border-radius:10px;background:#f5e9df}.note small{display:block;color:#8b746b;margin-top:4px}.close{float:right;border:0;background:transparent;cursor:pointer;font-size:1.3rem}@media(max-width:760px){.help{width:calc(100% - 24px)}.hud .scene-name,.hud .brand{display:none}.hud{gap:6px}.hud .soft{padding:8px}}.modal.wide{width:min(1180px,calc(100% - 20px));max-height:96vh;padding:16px 18px}.puzzle-status{margin:0 0 8px;font-size:.92rem}.puzzle-area{position:relative;width:min(100%,calc((96vh - 150px)*1.45));aspect-ratio:1.45;margin:0 auto;border-radius:14px;overflow:hidden;touch-action:none;user-select:none;background:radial-gradient(circle at 50% 40%,#8b6248,#5c3d2b);box-shadow:inset 0 0 40px #0006}.puzzle-board{position:absolute;border-radius:4px;background-size:cover;opacity:.9;outline:2px solid #e9d6aa66}.puzzle-board:after{content:"";position:absolute;inset:0;background:#2e231bdd}.puzzle-area.complete .puzzle-board:after{background:transparent}.puzzle-loading{position:absolute;inset:45% 0 auto;text-align:center;color:#f6ead6}.puzzle-piece{position:absolute;z-index:2;cursor:grab;filter:drop-shadow(0 2px 2px #0007);transition:left .18s ease,top .18s ease}.puzzle-piece.dragging{cursor:grabbing;transition:none;filter:drop-shadow(0 8px 8px #0008)}.puzzle-piece.placed{cursor:default;filter:none;z-index:1!important}.puzzle-credit{margin-right:auto;align-self:center;color:#8b746b}.hover-label{position:fixed;z-index:4;transform:translate(14px,-130%);padding:5px 10px;border-radius:9px;background:#3d302cdd;color:#fff8ee;font-size:.85rem;white-space:nowrap;pointer-events:none;box-shadow:0 4px 14px #0003}.hover-label[hidden],.hud[hidden],.help[hidden]{display:none}.clock{left:16px;bottom:16px;padding:8px 12px;display:flex;flex-direction:column;gap:2px;font-size:.8rem;pointer-events:none;max-width:min(400px,calc(100% - 32px))}.clock[hidden],.place-banner[hidden]{display:none}.clock-now{color:#6b5249}.clock-together{color:#9c5e52;font-weight:600}.float-bubble{position:fixed;z-index:4;transform:translate(-50%,-100%);pointer-events:none;white-space:nowrap;font-size:1.1rem}.float-bubble.meow{padding:6px 12px;border-radius:14px;background:#fffdf6;color:#6b4a3a;font-weight:700;box-shadow:0 4px 14px #0003;font-size:.95rem}.float-bubble.hearts{font-size:1.6rem}.float-bubble.snore{font-size:1.3rem}.toast{left:50%;top:84px;transform:translate(-50%);padding:10px 16px;z-index:6;font-size:.9rem}.place-banner{left:50%;top:84px;transform:translate(-50%);padding:8px 10px 8px 16px;display:flex;gap:12px;align-items:center;z-index:6}.modal h3{margin:14px 0 8px;font-family:Georgia,serif;color:#8d584d;font-size:1.05rem}.movie-form input{width:100%;margin-bottom:6px;padding:9px;border:1px solid #cfbfb4;border-radius:9px}.movie-form textarea,.movie textarea{min-height:60px}.movie-list{list-style:none;padding:0;margin:12px 0;display:grid;gap:8px}.movie{position:relative;padding:10px 12px;border-radius:12px;background:#f5e9df}.movie p{margin:4px 0;white-space:pre-wrap}.movie small{color:#8a7268}.movie [data-edit]{position:absolute;top:8px;right:8px}.movie input{width:100%;margin-bottom:6px;padding:8px;border:1px solid #cfbfb4;border-radius:9px}.small{padding:6px 10px;font-size:.82rem;width:auto;margin-top:0}@media(max-width:760px){.clock{bottom:64px;font-size:.72rem}}.chat{left:50%;bottom:14px;transform:translate(-50%);width:min(500px,calc(100% - 32px));padding:8px;display:flex;flex-direction:column;gap:6px}.chat[hidden]{display:none}.chat-log{list-style:none;margin:0;padding:0 4px;max-height:92px;overflow-y:auto;font-size:.84rem;line-height:1.35}.chat-log:empty{display:none}.chat-log li.mine strong{color:#9c5e52}.chat-log small{color:#a08e86;font-size:.72rem}.chat-form{display:flex;gap:6px}.chat-form input{flex:1;min-width:0;padding:9px 12px;border:1px solid #cdb9aa;border-radius:10px;background:#fff}@media(max-width:1100px){.clock{bottom:auto;top:84px}}
