:root,.theme-coral{--brand:#ff6b3d;--dark:#d8431b;--soft:#ffede3;--ring:#ffd9c7;--on:#fff}.theme-violet{--brand:#7c5cfc;--dark:#5436d6;--soft:#efebff;--ring:#dcd3ff;--on:#fff}.theme-green{--brand:#19a974;--dark:#0e7a52;--soft:#dff5ec;--ring:#bdebd9;--on:#fff}.theme-blue{--brand:#2d7ff9;--dark:#1860cf;--soft:#e4efff;--ring:#cadfff;--on:#fff}:root{--bg:#fff8f4;--panel:#fff;--ink:#2b1a12;--ink2:#8a7264;--ink3:#b8a799;--line:#f0decf;--line2:#f7eae0;--heart:#e5484d;--heart-soft:#ffe1e1;--gold:#c98a1e;--gold-soft:#fff0d6;--good:#1fa86b;--good-ink:#0e7a52;--good-soft:#ddf5ea;--font-display:"Baloo 2", cursive;--font-ui:"Nunito", system-ui, sans-serif}html,body,#root{height:100%;margin:0}body{background:var(--bg);overscroll-behavior:none}.lt{font-family:var(--font-ui);color:var(--ink)}.lt *{box-sizing:border-box}:where(.lt button){cursor:pointer;background:0 0;border:none;font-family:inherit}.lt-display{font-family:var(--font-display)}.lt-btn{font-family:var(--font-display);letter-spacing:.01em;color:var(--on);background:var(--brand);width:100%;box-shadow:0 5px 0 var(--dark);-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:14px 20px;font-size:17px;font-weight:700;line-height:1;transition:transform 60ms,box-shadow 60ms,filter .12s;display:inline-flex}.lt-btn:active{box-shadow:0 1px 0 var(--dark);transform:translateY(4px)}.lt-btn[disabled]{color:#bca899;cursor:default;background:#ebddd0;box-shadow:0 5px #dbc9ba}.lt-btn[disabled]:active{transform:none;box-shadow:0 5px #dbc9ba}.lt-btn.sec{color:var(--brand);background:#fff;box-shadow:0 5px #f0decf}.lt-btn.sec:active{box-shadow:0 1px #f0decf}.lt-btn.ghost{color:#8a7264;box-shadow:none;background:0 0;font-weight:700}.lt-btn.ghost:active{transform:none}.lt-btn.danger{color:#e5484d;background:#fff;box-shadow:0 5px #f2cdcd}.lt-btn.good{--dark:#0e7a52;color:#fff;background:#1fa86b;box-shadow:0 5px #0e7a52}.lt-btn.good:active{box-shadow:0 1px #0e7a52}.lt-btn.sm{box-shadow:0 4px 0 var(--dark);border-radius:12px;padding:10px 14px;font-size:14px}.lt-btn.sm:active{box-shadow:0 1px 0 var(--dark)}.lt-iconbtn{color:#8a7264;background:#fff;border-radius:13px;flex:none;place-items:center;width:42px;height:42px;transition:transform 60ms,box-shadow 60ms;display:grid;box-shadow:0 3px #f0decf}.lt-iconbtn:active{transform:translateY(3px);box-shadow:0 0 #f0decf}.lt-chip{white-space:nowrap;border-radius:20px;align-items:center;gap:6px;padding:6px 12px;font-size:14px;font-weight:800;line-height:1;display:inline-flex}.lt-card{background:#fff;border-radius:22px;box-shadow:0 2px #f0decf,0 14px 30px -20px #2b1a1259}.lt-tile{font-family:var(--font-ui);color:#2b1a12;-webkit-user-select:none;user-select:none;touch-action:none;background:#fff;border-radius:14px;padding:11px 15px;font-size:17px;font-weight:800;line-height:1;transition:transform 70ms,box-shadow 70ms,opacity .12s;box-shadow:0 4px #ead8c9}.lt-tile:active{transform:translateY(3px);box-shadow:0 1px #ead8c9}.lt-tile.ghosted{opacity:0;pointer-events:none}.lt-tile.placed{background:var(--soft);color:var(--dark);box-shadow:0 4px 0 var(--ring)}.lt-tile.dragging{z-index:50;transform:scale(1.05);box-shadow:0 10px 22px -6px #2b1a1266,0 4px #ead8c9}.lt-slot{border-bottom:3px solid #ead8c9;border-radius:3px;min-height:42px;transition:border-color .15s}.lt-slot.active{border-color:var(--brand)}.lt-wave{align-items:center;gap:3px;width:100%;display:flex}.lt-wave i{transform-origin:50%;border-radius:4px;flex:1}@keyframes lt-eq{0%,to{transform:scaleY(.55)}50%{transform:scaleY(1.12)}}@keyframes lt-pop{0%{opacity:0;transform:scale(.6)}60%{transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@keyframes lt-rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes lt-confetti{to{transform:translateY(var(--fy)) translateX(var(--fx)) rotate(var(--fr));opacity:0}}@keyframes lt-spin{to{transform:rotate(360deg)}}@keyframes lt-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes lt-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.lt-rise{animation:.32s cubic-bezier(.2,.8,.3,1) both lt-rise}.lt-pop{animation:.34s cubic-bezier(.2,.9,.3,1.2) both lt-pop}.lt-scrolly{scrollbar-width:none;overflow-y:auto}.lt-scrolly::-webkit-scrollbar{display:none}@media (prefers-reduced-motion:reduce){.lt-rise,.lt-pop{animation:none}.lt-wave i{animation:none!important}}
