:root{--ink:#3d2838;--paper:#fffaf3;--red:#e8475a;--red-deep:#b8303f;--green:#2f9e63;--gold:#ffd34d;--pink:#ff8fb0;--sky:#b9b2f2;--shadow:0 4px 0 #3d2838e6;color:var(--ink);font-family:Nunito,system-ui,sans-serif}*{box-sizing:border-box}html,body{touch-action:none;-webkit-user-select:none;user-select:none;background:#b9b2f2;height:100%;margin:0;overflow:hidden}#view{width:100%;height:100%;display:block;position:fixed;inset:0}#labels{pointer-events:none;position:fixed;inset:0}[hidden]{display:none!important}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}h1,h2,.btn,.pill b{font-family:"Baloo 2",system-ui,sans-serif}.btn{border:3px solid var(--ink);box-shadow:var(--shadow);background:#fff;border-radius:18px;padding:10px 18px;font-size:18px;font-weight:800;transition:transform .12s ease-out,box-shadow .12s ease-out}.btn:active{transform:translateY(3px);box-shadow:0 1px #3d2838e6}.btn.primary{background:var(--red);color:#fff}.btn.ghost{background:var(--paper)}.btn.big{padding:12px 22px;font-size:20px}.tag{text-align:center;white-space:nowrap;pointer-events:none;transform:translateY(-4px)}.tag b{border:2px solid var(--ink);background:#fffaf3eb;border-radius:10px;padding:4px 9px 2px;font:800 13px/1 "Baloo 2",sans-serif;display:inline-block}.tag.me b{background:var(--gold)}.tag.far small{display:none}.tag small{color:#fff;background:#3d2838b8;border-radius:8px;width:-moz-fit-content;width:fit-content;margin:3px auto 0;padding:2px 7px;font:800 11px/1.2 Nunito,sans-serif;display:block}.panel{background:var(--paper);border:3px solid var(--ink);border-radius:26px;flex-direction:column;width:380px;display:flex;position:fixed;top:20px;bottom:20px;right:20px;overflow:hidden;box-shadow:0 6px #3d2838e6}.panel header{padding:18px 20px 8px}.panel h1{color:var(--red);margin:0;font-size:30px;line-height:1}.panel header p{opacity:.75;margin:6px 0 0;font-size:14px}.panel .scroll{touch-action:pan-y;flex:1;padding:4px 20px 12px;overflow-y:auto}.panel footer{border-top:2px dashed #3d283833;gap:10px;padding:12px 20px 18px;display:flex}.panel footer .primary{flex:1}.field{margin:12px 0;display:block}.field>span{margin-bottom:6px;font-size:14px;font-weight:800;display:block}.field input{border:3px solid var(--ink);width:100%;color:var(--ink);-webkit-user-select:text;user-select:text;background:#fff;border-radius:14px;outline:none;padding:9px 12px;font:700 18px Nunito,sans-serif}.field input:focus{border-color:var(--red)}.row{flex-wrap:wrap;gap:8px;display:flex}.sw{border:3px solid var(--ink);border-radius:50%;width:36px;height:36px;padding:0;transition:transform .12s ease-out;position:relative}.sw:active{transform:scale(.92)}.sw.on{box-shadow:0 0 0 3px var(--paper), 0 0 0 6px var(--red)}.sw.none{background:repeating-linear-gradient(45deg,#fff 0 5px,#f1e6ee 5px 10px)}.chip{border:2.5px solid var(--ink);background:#fff;border-radius:12px;padding:5px 11px;font-size:14px;font-weight:800;transition:transform .12s ease-out}.chip:active{transform:scale(.95)}.chip.on{background:var(--red);color:#fff}#hud{pointer-events:none;position:fixed;inset:0}#hud .top{left:14px;right:14px;top:max(14px, env(safe-area-inset-top));justify-content:space-between;align-items:flex-start;gap:10px;display:flex;position:absolute}.pill{pointer-events:auto;background:var(--paper);border:3px solid var(--ink);box-shadow:var(--shadow);border-radius:18px;padding:8px 14px;font-weight:800}.pill.me{text-align:left;flex-direction:column;max-width:60vw;display:flex}.pill.me b{font-size:18px;line-height:1.1}.pill.me b:after{content:" ✏️";font-size:13px}.pill.me small{opacity:.8;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.pill.count{font-size:14px}#hud .side{flex-direction:column;align-items:flex-end;gap:10px;display:flex}#map{pointer-events:auto;cursor:pointer;width:132px;height:132px;box-shadow:var(--shadow);border-radius:50%;transition:width .2s cubic-bezier(.23,1,.32,1),height .2s cubic-bezier(.23,1,.32,1)}#map.big{width:240px;height:240px}.btn.gold{background:var(--gold)}.btn.wide{width:100%}.mine-wish{background:#fff;border:3px dashed #3d28384d;border-radius:18px;flex-direction:column;align-items:center;gap:4px;margin:12px 0 16px;padding:14px;display:flex}.mine-wish i{font-size:40px;font-style:normal;line-height:1}.mine-wish b{overflow-wrap:anywhere;font-size:20px;line-height:1.25}.mine-wish small{opacity:.75;font-weight:700}.mine-row{gap:10px;margin-top:10px;display:flex}.mine-row .btn{flex:1}.muted{opacity:.7;margin:14px 0 0!important;font-size:13px!important}.muted:empty{display:none}.grid button.on{background:var(--gold)}.pill.count b{color:var(--green);font-size:18px}#hud .bottom{left:14px;right:14px;bottom:max(16px, env(safe-area-inset-bottom));justify-content:space-between;align-items:flex-end;gap:10px;display:flex;position:absolute}#hud .bottom>*{pointer-events:auto}.emotes{grid-template-columns:repeat(2,54px);gap:10px;margin-left:auto;display:grid}.emotes button{border:3px solid var(--ink);background:var(--paper);width:54px;height:54px;box-shadow:var(--shadow);border-radius:50%;font-size:24px;transition:transform .12s ease-out}.emotes button:active{transform:translateY(3px);box-shadow:0 1px #3d2838e6}.emotes .jump{background:var(--gold)}.hint{color:#fff;white-space:nowrap;background:#3d2838cc;border-radius:14px;padding:7px 14px;font-size:14px;font-weight:800;position:absolute;bottom:150px;left:50%;transform:translate(-50%)}#joy{pointer-events:none;background:#fffaf359;border:3px solid #3d283880;border-radius:50%;width:120px;height:120px;margin:-60px 0 0 -60px;position:fixed}#joy i{background:var(--paper);border:3px solid var(--ink);border-radius:50%;width:52px;height:52px;margin:-26px;position:absolute;top:50%;left:50%}.modal{background:#3d283859;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.card{background:var(--paper);border:3px solid var(--ink);text-align:center;border-radius:26px;width:min(460px,100%);padding:22px;animation:.26s cubic-bezier(.23,1,.32,1) pop;box-shadow:0 6px #3d2838e6}@keyframes pop{0%{opacity:0;transform:scale(.94)}}.card h2{color:var(--red);margin:0;font-size:28px;line-height:1.1}.card p{margin:8px 0 16px;font-size:15px}.grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.grid button{text-align:left;border:3px solid var(--ink);background:#fff;border-radius:16px;align-items:center;gap:8px;padding:10px 12px;font-size:15px;font-weight:800;transition:transform .12s ease-out;display:flex;box-shadow:0 3px #3d2838e6}.grid button:active{transform:translateY(2px)}.grid button i{font-size:24px;font-style:normal}.own{text-align:left;background:#fff;border:3px dashed #3d283859;border-radius:18px;margin:0 0 16px;padding:12px}.own>span{margin-bottom:8px;font-size:15px;font-weight:800;display:block}.own textarea{resize:none;width:100%;color:var(--ink);border:3px solid var(--ink);background:var(--paper);-webkit-user-select:text;user-select:text;touch-action:auto;border-radius:14px;outline:none;padding:9px 11px;font:700 16px/1.35 Nunito,sans-serif}.own textarea:focus{border-color:var(--red)}.own-row{align-items:center;gap:10px;margin-top:8px;display:flex}.own-row small{opacity:.8;flex:1;font-size:12px;line-height:1.3}.own-row .btn{white-space:nowrap;padding:8px 14px;font-size:16px}.btn:disabled{opacity:.45;cursor:default}.card{max-height:calc(100dvh - 32px);overflow-y:auto}.sheet{background:var(--paper);border:3px solid var(--ink);border-radius:24px;width:300px;max-height:calc(100dvh - 330px);padding:14px 14px 16px;animation:.24s cubic-bezier(.23,1,.32,1) slide;position:fixed;top:236px;right:14px;overflow-y:auto;box-shadow:0 6px #3d2838e6}@keyframes slide{0%{opacity:0;transform:translate(24px)}}.sheet .x{border:2.5px solid var(--ink);background:#fff;border-radius:50%;width:32px;height:32px;font-weight:800;position:absolute;top:10px;right:10px}.pf-head{align-items:center;gap:10px;padding-right:30px;display:flex}.pf-head img{border:3px solid var(--ink);object-fit:cover;background:radial-gradient(circle at 50% 40%,#fff3c9,#f6cde4);border-radius:50%;flex:none;width:72px;height:72px}.pf-head h3{margin:0;font:800 22px/1.1 "Baloo 2",sans-serif}.pf-head p{opacity:.75;margin:2px 0 0;font-size:12px;font-weight:700}.pf-wish{background:#fff;border:2.5px dashed #3d28384d;border-radius:16px;align-items:center;gap:8px;margin:12px 0;padding:9px 10px;display:flex}.pf-wish i{font-size:26px;font-style:normal}.pf-wish div{flex:1;min-width:0}.pf-wish b{font-size:15px;line-height:1.2;display:block}.pf-wish small{opacity:.7;font-size:12px;font-weight:700}.pf-hide{color:var(--ink);opacity:.6;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin:-6px 0 10px auto;padding:0;font:800 12px Nunito,sans-serif;text-decoration:underline;display:block}.pf-hide[hidden]{display:none}#wish-note.bad{color:var(--red-deep);opacity:1;font-weight:800}.pf-wish span{color:#c98a00;white-space:nowrap;font-weight:800}.pf-actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pf-actions button{border:2.5px solid var(--ink);text-align:left;background:#fff;border-radius:14px;align-items:center;gap:8px;padding:8px 10px;font-size:14px;font-weight:800;transition:transform .12s ease-out;display:flex;box-shadow:0 3px #3d2838e6}.pf-actions button:active{transform:translateY(2px);box-shadow:0 1px #3d2838e6}.pf-actions button i{font-size:22px;font-style:normal;line-height:1}.pf-actions .hot{background:var(--gold);grid-column:1/-1;justify-content:center}.pf-actions button.on{background:#cdeccf}.pf-actions button:disabled{opacity:.5}.share-card{width:min(440px,100%)}.share-frame{border:3px solid var(--ink);aspect-ratio:4/5;margin:12px 0 14px;background:linear-gradient(#b6aef0,#f6cde4);border-radius:18px;max-height:56dvh;margin-inline:auto;position:relative;overflow:hidden}.share-frame img{object-fit:contain;width:100%;height:100%;display:block}#share-wait{color:#fff;text-shadow:0 2px 0 var(--ink);place-items:center;font-weight:800;display:grid;position:absolute;inset:0}#mine-share{margin-bottom:10px}.share-card .mine-row .btn{white-space:nowrap;padding:9px 8px;font-size:15px}#toast{background:var(--ink);color:#fff;text-align:center;border-radius:16px;max-width:calc(100% - 32px);padding:10px 16px;font-weight:800;animation:.22s cubic-bezier(.23,1,.32,1) pop;position:fixed;top:84px;left:50%;transform:translate(-50%)}.head-row{justify-content:space-between;align-items:center;gap:10px;display:flex}select.lang{color:var(--ink);border:2.5px solid var(--ink);cursor:pointer;background:#fff;border-radius:12px;max-width:150px;padding:5px 8px;font:800 13px Nunito,sans-serif}.small-links{flex-wrap:wrap;justify-content:center;gap:4px 16px;margin:18px 0 4px;font-size:13px;font-weight:800;display:flex}.small-links a,.small-links .link{color:var(--ink);opacity:.7;text-underline-offset:3px;font:inherit;background:0 0;border:0;padding:0;text-decoration:underline}.small-links .link{text-align:center;opacity:1;width:100%;color:var(--red)}.me-row{align-items:flex-start;gap:8px;min-width:0;display:flex}.pill.round{border-radius:50%;flex:none;width:48px;height:48px;padding:0;font-size:20px}.rounds{gap:8px;display:flex}.lang-pill{cursor:pointer;pointer-events:auto;flex-direction:column;justify-content:center;align-items:center;gap:0;line-height:1;display:flex;position:relative}.lang-pill span{font-size:18px}.lang-pill small{margin-top:1px;font-size:10px;font-weight:900}.lang-pill select.lang{opacity:0;cursor:pointer;border:0;width:100%;max-width:none;height:100%;padding:0;position:absolute;inset:0}.lang-pill:focus-within{outline:3px solid var(--pink);outline-offset:2px}.menu-card{flex-direction:column;gap:12px;width:min(380px,100%);display:flex}.menu-card h2{margin-bottom:4px}.menu-lang{background:#fff;border:3px dashed #3d28384d;border-radius:16px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;font-weight:800;display:flex}.menu-lang span{white-space:nowrap}.menu-lang select.lang{min-width:0;max-width:180px;font-size:15px}.menu-card .small-links{margin:0}.link-card{width:min(400px,100%)}.qr{border:3px solid var(--ink);background:#fff;border-radius:18px;width:min(240px,70vw);margin:4px auto 10px;padding:10px}.qr svg{width:100%;height:auto;display:block}.card p.warn{color:var(--red-deep);margin:0 0 6px;font-size:13px;font-weight:800}#link-close{margin-top:12px}.link.danger{color:var(--red-deep);text-underline-offset:3px;background:0 0;border:0;margin:12px auto 0;font-size:13px;font-weight:800;text-decoration:underline;display:block}.adopt-img{border:3px solid var(--ink);background:radial-gradient(circle at 50% 40%,#fff3c9,#f6cde4);border-radius:50%;width:110px;height:110px;margin-bottom:8px}@media (max-width:760px){.panel{border-bottom:0;border-radius:26px 26px 0 0;width:auto;height:52vh;inset:auto 0 0}.panel header{padding:14px 16px 4px}.panel h1{min-width:0;font-size:22px;line-height:1.1}.head-row select.lang{flex:none;max-width:118px}.panel header p{display:none}.panel .scroll{padding:0 16px 8px}.panel footer{padding:10px 16px max(14px, env(safe-area-inset-bottom))}.btn.big{padding:10px 16px;font-size:17px}.pill.count{padding:7px 10px;font-size:12px}#hud .top{left:10px;right:10px;top:max(10px, env(safe-area-inset-top));align-items:center;gap:6px}.me-row,.rounds,#hud .side{display:contents}.pill.me{border-radius:14px;flex:1;order:1;justify-content:center;min-width:0;max-width:none;height:40px;padding:0 12px}.pill.me b{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.pill.me small{display:none}.pill.count{white-space:nowrap;border-radius:14px;order:2;align-items:center;height:40px;padding:0 10px;font-size:13px;display:flex}.pill.count .long{display:none}#count .short{display:inline}.pill.count b{font-size:15px}.lang-pill{order:3}#menu-btn{order:4}.fold{order:5}.pill.round{width:40px;height:40px;min-height:0;font-size:17px}.lang-pill small{font-size:9px}#map{position:absolute;top:50px;right:0}.emotes{grid-template-columns:repeat(2,48px);gap:8px}.emotes button{width:48px;height:48px;font-size:21px}#hud .bottom{left:10px;right:10px;bottom:max(12px, env(safe-area-inset-bottom))}#hud .bottom .btn.big{padding:10px 14px;font-size:16px}.lang-pill span{font-size:16px}#map{width:80px;height:80px}.sheet{left:10px;right:10px;top:calc(max(10px, env(safe-area-inset-top)) + 48px);border-radius:20px;width:auto;max-height:none;padding:10px 10px 12px}@keyframes slide{0%{opacity:0;transform:translateY(-12px)}}.pf-head img{width:52px;height:52px}.pf-head h3{font-size:19px}.pf-wish{margin:8px 0;padding:6px 9px}.pf-wish i{font-size:22px}.pf-actions{grid-template-columns:repeat(4,1fr);gap:6px}.pf-actions button{text-align:center;flex-direction:column;justify-content:center;gap:2px;min-width:0;padding:6px 2px 5px;font-size:11px;line-height:1.15}.pf-actions .hot{grid-column:auto}.card{padding:18px 16px}.card h2{font-size:24px}.card p{margin:6px 0 12px;font-size:14px}.own-row{flex-direction:column;align-items:stretch;gap:8px}.own-row .btn{width:100%}body.picking #map{visibility:hidden}body.picking #toast{top:auto;bottom:calc(max(16px, env(safe-area-inset-bottom)) + 140px)}#map.big{width:200px;height:200px}}#loading{z-index:20;background:linear-gradient(#7d8de0,#b6aef0 45%,#f6cde4 75%,#ffe6e0);place-content:center;justify-items:center;gap:14px;transition:opacity .4s ease-out;display:grid;position:fixed;inset:0}#loading img{border:3px solid var(--ink);box-shadow:var(--shadow);border-radius:24px;animation:.9s ease-in-out infinite alternate bob}#loading p{color:#fff;text-shadow:0 2px 0 var(--ink);min-height:1.2em;margin:0;font:800 18px "Baloo 2",sans-serif}#loading.done{opacity:0;pointer-events:none}@keyframes bob{0%{transform:translateY(0)rotate(-4deg)}to{transform:translateY(-14px)rotate(4deg)}}.pill.count .short{display:none}.fold i{font-style:normal;font-weight:900;transition:transform .2s cubic-bezier(.23,1,.32,1);display:inline-block}body.folded .fold i{transform:rotate(180deg)}body.folded #me,body.folded .lang-pill,body.folded #menu-btn,body.folded #count,body.folded #map,body.folded .emotes button:not(.jump){display:none}body.folded .emotes{grid-template-columns:auto}body.folded #hud .bottom .btn.big{border-radius:50%;width:54px;height:54px;padding:0;font-size:0}body.folded #wish-btn:before{content:"🎄";font-size:24px}body.folded #mine-btn:before{content:"🌟";font-size:24px}body.folded #hud .top{justify-content:flex-end}.pill.count small{opacity:.75;font-size:11px;font-weight:800;display:block}.noscript{text-align:center;background:var(--paper);place-content:center;gap:8px;padding:24px;display:grid;position:fixed;inset:0}
