:root{--font-sans:"Outfit", "Noto Sans JP", system-ui, -apple-system, sans-serif;--primary:#d97706;--primary-hover:#b55d00;--secondary:#a16207;--accent:#f43f5e;--accent-light:#ffe4e6;--bg-gradient:linear-gradient(135deg, #fffbeb 0%, #fef3c7 50%, #fde68a 100%);--card-bg:#ffffffa6;--card-border:#fff6;--card-shadow:0 8px 32px 0 #8b5c1a1a;--text-main:#451a03;--text-muted:#78350f;--radius-lg:24px;--radius-md:16px;--radius-sm:8px;font-family:var(--font-sans);color:var(--text-main);background:var(--bg-gradient);box-sizing:border-box;min-height:100vh;margin:0;padding:0}@media (prefers-color-scheme:dark){:root{--primary:#fbbf24;--primary-hover:#f59e0b;--secondary:#d97706;--accent:#fb7185;--accent-light:#fb718526;--bg-gradient:linear-gradient(135deg, #1c1917 0%, #0c0a09 100%);--card-bg:#1c1917bf;--card-border:#78716c26;--card-shadow:0 8px 32px 0 #00000080;--text-main:#fafaf9;--text-muted:#d6d3d1}}*{box-sizing:border-box;margin:0;padding:0;transition:background-color .3s,border-color .3s,color .3s}body{background:var(--bg-gradient);color:var(--text-main);line-height:1.5;overflow-x:hidden}#root{flex-direction:column;justify-content:flex-start;align-items:center;min-height:100vh;padding:2rem 1rem;display:flex}.app-container{flex-direction:column;gap:2rem;width:100%;max-width:800px;display:flex}.glass-card{background:var(--card-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--card-shadow);flex-direction:column;gap:1.5rem;padding:2rem;display:flex}h1{text-align:center;background:linear-gradient(45deg, var(--secondary), var(--primary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;justify-content:center;align-items:center;gap:.75rem;margin-bottom:.5rem;font-size:2.5rem;font-weight:800;display:flex}p.subtitle{text-align:center;color:var(--text-muted);margin-top:-1rem;margin-bottom:1.5rem;font-size:1.1rem}.btn{font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 4px 6px -1px #0000001a}.btn-primary{background-color:var(--primary);color:#fff}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 10px 15px -3px #d977064d}.btn-primary:active{transform:translateY(0)}.btn-secondary{border:2px solid var(--primary);color:var(--primary);background-color:#0000}.btn-secondary:hover{background-color:var(--primary);color:#fff;transform:translateY(-2px)}.btn-secondary:active{transform:translateY(0)}.btn-icon-only{background:var(--card-bg);border:1px solid var(--card-border);width:48px;height:48px;color:var(--text-main);border-radius:50%;padding:0}.btn-icon-only:hover{background:var(--primary);color:#fff;border-color:var(--primary);transform:scale(1.05)}.timer-svg-ring{transform-origin:50%;transform:rotate(-90deg)}.timer-ring-bg{stroke:var(--card-border)}.timer-ring-progress{stroke:var(--primary);stroke-linecap:round;transition:stroke-dashoffset .35s}@keyframes tailWag{0%,to{transform:rotate(0)}50%{transform:rotate(-15deg)}}@keyframes headBob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes earTwitchL{0%,90%,to{transform:rotate(0)}93%,97%{transform:rotate(-8deg)}}@keyframes earTwitchR{0%,85%,to{transform:rotate(0)}88%,92%{transform:rotate(8deg)}}@keyframes catTypeL{0%,to{transform:translate(0)}50%{transform:translate(-2px,3px)}}@keyframes catTypeR{0%,to{transform:translate(0)}50%{transform:translate(2px,3px)}}@keyframes catSleep{0%,to{transform:scale(1)}50%{transform:scale(.97)translateY(1px)}}@keyframes pawPinkPulse{0%,to{opacity:.3}50%{opacity:.8}}.cat-tail{transform-origin:100px 180px;animation:3s ease-in-out infinite tailWag}.cat-head{transform-origin:100px 110px;animation:4s ease-in-out infinite headBob}.cat-ear-l{transform-origin:80px 80px;animation:6s ease-in-out infinite earTwitchL}.cat-ear-r{transform-origin:120px 80px;animation:7s ease-in-out infinite earTwitchR}.cat-paw-l{transform-origin:75px 150px;animation:.25s ease-in-out infinite alternate catTypeL}.cat-paw-r{transform-origin:125px 150px;animation:.25s ease-in-out .12s infinite alternate catTypeR}.cat-sleeping{transform-origin:100px 140px;animation:4s ease-in-out infinite catSleep}.paw-pulse{animation:2s ease-in-out infinite pawPinkPulse}.tooltip{display:inline-block;position:relative}.tooltip .tooltiptext{visibility:hidden;background-color:var(--text-main);width:140px;color:var(--card-bg);text-align:center;border-radius:var(--radius-sm);z-index:10;opacity:0;margin-left:-70px;padding:5px;font-size:.8rem;transition:opacity .3s;position:absolute;bottom:125%;left:50%;box-shadow:0 4px 6px #0000001a}.tooltip:hover .tooltiptext{visibility:visible;opacity:1}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--card-border);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--primary)}@keyframes fadeIn{0%{opacity:0;-webkit-backdrop-filter:blur();backdrop-filter:blur()}to{opacity:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}}@keyframes scaleUp{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.animate-fade-in{animation:.25s ease-out forwards fadeIn}.animate-fade-in>div{animation:.3s cubic-bezier(.34,1.56,.64,1) forwards scaleUp}.modal-overlay{z-index:9999;background-color:#000000a6;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--card-bg);-webkit-backdrop-filter:blur(24px);border:1px solid var(--card-border);border-radius:var(--radius-lg);text-align:center;flex-direction:column;align-items:center;gap:1.25rem;width:100%;max-width:440px;padding:2.5rem 2rem;display:flex;position:relative;box-shadow:0 20px 25px -5px #0000004d}.modal-badge-unlocked{text-transform:uppercase;letter-spacing:.05em;color:var(--primary);font-size:.75rem;font-weight:800}.modal-badge-locked{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.75rem;font-weight:800}.modal-badge-description{color:var(--text-main);border-radius:var(--radius-md);border:1px solid var(--card-border);text-align:left;background:#ffffff4d;padding:1rem;font-size:.9rem;line-height:1.6}.modal-close-btn{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:all .2s;display:flex;position:absolute;top:1rem;right:1rem}.modal-close-btn:hover{color:var(--text-main);background:#0000000d}
