:root{--bg-color:#f7f4ef;--text-color:#2c2c2c;--accent-color:#555;--paper-shadow:0 4px 15px #0000000d}*{box-sizing:border-box}body{background-color:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0;font-family:Jua,sans-serif;overflow:hidden}body:before{content:"";pointer-events:none;opacity:.04;z-index:9999;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");width:100%;height:100%;position:fixed;top:0;left:0}button,input,textarea{font-family:Jua,sans-serif}#root{width:100%;height:100vh}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ddd;border-radius:2px}:root{--bg-color:#fffdf9;--text-color:#5c4a4d;--primary-color:#ffb7b2;--secondary-color:#9cb4ff;--paper-shadow:0 8px 24px #5c4a4d14}.app-container{width:100vw;height:100vh;color:var(--text-color);font-family:Jua,sans-serif;position:relative;overflow:hidden}.loading-screen{background-color:var(--bg-color);flex-direction:column;justify-content:center;align-items:center;height:100vh;display:flex}.loading-pin{margin-bottom:40px;transform:scale(2)}.loading-text{color:var(--primary-color);letter-spacing:1px;font-size:1.4rem;font-weight:400}.pin-modal{background-color:var(--bg-color);box-shadow:var(--paper-shadow);z-index:1000;border-top-left-radius:40px;border-top-right-radius:40px;padding:30px 24px;transition:transform .4s cubic-bezier(.34,1.56,.64,1);position:absolute;bottom:0;left:0;right:0}.modal-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-title{color:var(--text-color);margin:0;font-size:1.5rem;font-weight:400}.close-button{cursor:pointer;width:36px;height:36px;color:var(--text-color);background:#fff1e6;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;transition:transform .2s;display:flex}.close-button:hover{background:#ffe4d6;transform:scale(1.1)}.modal-content{color:var(--text-color);white-space:pre-wrap;margin-bottom:16px;font-size:1.2rem;line-height:1.6}.modal-footer{color:#a39193;font-size:.9rem}.locked-message{text-align:center;color:#a39193;padding:30px 10px}.locked-message p:first-child{margin-bottom:10px;font-size:1.2rem}.fab{z-index:500;position:absolute;top:24px;right:24px}.fab-button{background-color:var(--primary-color);color:#fff;cursor:pointer;border:3px solid #fff;border-radius:50px;align-items:center;gap:8px;padding:12px 24px;font-family:Jua,sans-serif;font-size:1.1rem;transition:transform .2s,background-color .2s;display:flex;box-shadow:0 6px 15px #ffb7b266}.fab-button:hover{background-color:#ffa5a5;transform:scale(1.05)}.fab-button:active{transform:scale(.95)}.error-overlay{color:#e57373;z-index:2000;text-align:center;background-color:#fff0f0;border-radius:20px;width:90%;max-width:400px;padding:12px 24px;font-family:Jua,sans-serif;position:absolute;top:20px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #e5737333}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}@keyframes pulse-cute{0%{opacity:.8;transform:scale(1)}50%{opacity:0;transform:scale(1.5)}to{opacity:0;transform:scale(1)}}.cute-button{border:2px solid var(--primary-color);color:var(--text-color);cursor:pointer;background-color:#fff;border-radius:20px;padding:10px 20px;font-family:Jua,sans-serif;font-size:1rem;transition:transform .2s,background-color .2s;box-shadow:0 4px 10px #ffb7b233}.cute-button:hover{background-color:#fff5f5;transform:translateY(-2px)}.primary-button{background-color:var(--primary-color);color:#fff;border:none;font-weight:700}.primary-button:hover{background-color:#ffa5a5}.input-cute{text-align:center;width:100%;color:var(--text-color);background:0 0;border:none;border-bottom:2px solid #ffe4d6;outline:none;margin-bottom:20px;padding:10px 0;font-family:Jua,sans-serif;font-size:1.1rem;transition:border-color .3s}.input-cute:focus{border-bottom-color:var(--primary-color)}
