@import"https://fonts.googleapis.com/css2?family=Indie+Flower&family=Montserrat:wght@400;600&display=swap";:root{font-family:Indie Flower,cursive;line-height:1.5;font-weight:400}body{margin:0;padding:0;overflow:hidden;width:100vw;height:100vh}#root{width:100%;height:100%}.board{width:100%;height:100%;position:relative;overflow:hidden;transition:background .8s ease-in-out,opacity .3s ease}.bg-wood{background-color:#deb887;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 20h20v20H20V20zM0 0h20v20H0V0z' fill='%23cd853f' fill-opacity='0.4' fill-rule='evenodd'/%3E")}.bg-blank{background-color:#f0f0f0}.bg-cork{background-color:#704214;background-image:radial-gradient(#8b4513 15%,transparent 16%),radial-gradient(#8b4513 15%,transparent 16%);background-size:10px 10px;background-position:0 0,5px 5px}.bg-grid{background-color:#fff;background-image:linear-gradient(rgba(100,100,100,.15) 1px,transparent 1px),linear-gradient(90deg,rgba(100,100,100,.15) 1px,transparent 1px);background-size:20px 20px}.bg-dots{background-color:#ffc0e5;background-image:radial-gradient(circle,#fff 20%,transparent 20%);background-size:30px 30px;background-position:0 0,15px 15px}.bg-retro{background:linear-gradient(135deg,#667eea 0%,#764ba2 25%,#f093fb 50%,#4facfe 75%,#00f2fe 100%);background-size:400% 400%;animation:retro-gradient 15s ease infinite}@keyframes retro-gradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.sticky-note{width:200px;height:200px;box-shadow:5px 5px 15px #0003;display:flex;flex-direction:column;transition:transform .1s;cursor:grab}.sticky-note.size-small{width:150px;height:150px}.sticky-note.size-medium{width:200px;height:200px}.sticky-note.size-large{width:280px;height:280px}.sticky-note.border-solid{border:2px solid rgba(0,0,0,.1)}.sticky-note.border-dashed{border:2px dashed rgba(0,0,0,.2)}.sticky-note.border-dotted{border:3px dotted rgba(0,0,0,.2)}.sticky-note.border-thick{border:4px solid rgba(0,0,0,.15)}.sticky-note:active{cursor:grabbing}.sticky-note.dragging{box-shadow:0 15px 35px #0006;transform:scale(1.05) rotate(2deg);transition:box-shadow .2s ease,transform .2s ease}.sticky-note.wiggle{animation:wiggle .4s cubic-bezier(.25,.1,.25,1)}@keyframes wiggle{0%{transform:rotate(0)}30%{transform:rotate(-1.5deg) scale(1.01)}60%{transform:rotate(1deg) scale(1.01)}to{transform:rotate(0)}}.note-header{display:flex;justify-content:space-between;align-items:center;height:30px;background:rgba(0,0,0,.06);border-bottom:1px solid rgba(0,0,0,.05);padding:0 5px;gap:5px}.note-title{flex:0 1 auto;max-width:140px;font-size:.85rem;font-weight:600;color:#000000b3;overflow-x:auto;overflow-y:hidden;white-space:nowrap;font-family:Montserrat,sans-serif;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.3) transparent}.note-title::-webkit-scrollbar{height:3px}.note-title::-webkit-scrollbar-thumb{background:rgba(0,0,0,.3);border-radius:2px}.note-title-input{flex:0 1 auto;min-width:60px;max-width:140px;background:rgba(255,255,255,.5);border:1px solid rgba(0,0,0,.2);border-radius:3px;padding:2px 5px;font-size:.85rem;font-weight:600;font-family:Montserrat,sans-serif;outline:none;color:#000c}.note-title-input:focus{background:rgba(255,255,255,.8);border-color:#0006}.note-actions{display:flex;gap:4px;align-items:center;flex-shrink:0}.pin-btn{background:transparent;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s;color:#0006}.pin-btn:hover{background:rgba(0,0,0,.1);color:#000000b3}.pin-btn.pinned{color:#4a90e2;transform:rotate(45deg)}.pin-btn.pinned:hover{color:#357abd}.sticky-note.pinned{opacity:.95}.delete-btn{background:none;border:none;cursor:pointer;opacity:.4;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.delete-btn:hover{opacity:1;background:rgba(0,0,0,.1)}.note-content{flex-grow:1;outline:none;font-size:var(--note-font-size, 1.2rem);overflow-y:auto;padding:10px;position:relative}.board.font-handwriting .note-content{font-family:Indie Flower,cursive}.board.font-montserrat .note-content{font-family:Montserrat,sans-serif}.sticker:hover .sticker-content{transform:scale(1.1)}.sticker.dragging .sticker-content{transform:scale(1.2);filter:drop-shadow(0 15px 30px rgba(0,0,0,.3))}.controls{position:fixed;top:20px;left:20px;background:white;padding:15px;border-radius:10px;box-shadow:0 4px 6px #0000001a;z-index:10000;display:flex;flex-direction:column;gap:10px;max-width:200px;font-family:Montserrat,sans-serif;overflow:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);max-height:calc(100vh - 40px)}.controls.open{max-height:calc(100vh - 40px);padding:15px}.controls.open .controls-content{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent;scrollbar-gutter:stable}.controls.open .controls-content::-webkit-scrollbar{width:6px;height:6px}.controls.open .controls-content::-webkit-scrollbar-track{background:transparent;margin:2px 0}.controls.open .controls-content::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px}.controls.open .controls-content::-webkit-scrollbar-thumb:hover{background-color:#0000004d}.controls.dark .controls.open .controls-content{scrollbar-color:rgba(255,255,255,.2) transparent}.controls.dark .controls.open .controls-content::-webkit-scrollbar-thumb{background-color:#fff3}.controls.dark .controls.open .controls-content::-webkit-scrollbar-thumb:hover{background-color:#ffffff4d}.controls.collapsed{max-height:60px;padding:10px 15px;gap:0}.controls-content{transition:opacity .3s ease,max-height .4s cubic-bezier(.4,0,.2,1);overflow:hidden;flex:1;display:flex;flex-direction:column;gap:10px}.controls-content.visible{opacity:1;max-height:calc(100vh - 100px)}.controls-content.hidden{opacity:0;pointer-events:none;max-height:0;overflow:hidden;margin:0;padding:0}.toggle-btn{display:flex;align-items:center;gap:5px;background:none;border:none;cursor:pointer;font-family:inherit;font-weight:600;font-size:.85rem;color:#333;padding:5px;width:100%;justify-content:center}.toggle-btn:hover{background-color:#f0f0f0;border-radius:5px}.control-group{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.control-group h3{margin:0 0 8px;font-size:.9rem;border-bottom:2px solid #eee;font-weight:600;transition:background .2s;border-radius:4px;padding:4px}.control-group h3:hover{background:rgba(0,0,0,.05)}.controls.dark .control-group h3:hover{background:rgba(255,255,255,.05)}.collapsible-content{overflow:hidden;transition:max-height .3s cubic-bezier(.4,0,.2,1),opacity .3s ease}.collapsible-content.open{max-height:2000px;opacity:1}.collapsible-content.closed{max-height:0;opacity:0}.controls.dark{background:#333;color:#fff}.controls.dark .toggle-btn{color:#fff}.controls.dark .toggle-btn:hover{background-color:#444}.controls.dark .control-group h3{border-bottom-color:#555}.controls.dark .bg-btn{background:#444;border-color:#555;color:#fff}.controls.dark .bg-btn:hover{background:#555}.board.dark-mode:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.4);pointer-events:none;z-index:0}.theme-toggle-container{display:flex;align-items:center;justify-content:space-between;width:100%}.theme-label{font-size:.85rem}.theme-switch{width:50px;height:26px;border-radius:13px;border:none;position:relative;cursor:pointer;transition:background .3s;padding:0}.theme-switch.light{background:#e0e0e0}.theme-switch.dark{background:#4a4a4a}.switch-handle{width:22px;height:22px;background:white;border-radius:50%;position:absolute;top:2px;left:2px;transition:transform .3s;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0003}.theme-switch.dark .switch-handle{transform:translate(24px);color:#333}.theme-switch.light .switch-handle{color:#f59e0b}.controls.dark .theme-label{color:#fff}.font-size-controls{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px}.font-size-btn{width:28px;height:28px;border-radius:6px;border:2px solid #ddd;background:#f0f0f0;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;color:#333;flex-shrink:0}.font-size-btn:hover:not(:disabled){background:#e0e0e0;border-color:#ccc;transform:scale(1.05)}.font-size-btn:disabled{opacity:.4;cursor:not-allowed}.font-size-label{flex:1;text-align:center;font-weight:600;font-family:Montserrat,sans-serif;font-size:.85rem;color:#333}.controls.dark .font-size-btn{background:#444;border-color:#555;color:#fff}.controls.dark .font-size-btn:hover:not(:disabled){background:#555;border-color:#666}.controls.dark .font-size-label{color:#fff}.color-picker{display:flex;flex-wrap:wrap;gap:8px;padding:4px}.sticker-picker{display:grid;grid-template-rows:repeat(2,auto);grid-auto-flow:column;gap:8px;overflow-x:auto;padding:10px;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}.bg-picker{display:grid;grid-template-rows:repeat(2,auto);grid-auto-flow:column;gap:8px;overflow-x:auto;padding:4px 0;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}.sticker-content{transition:transform .2s cubic-bezier(.34,1.56,.64,1),filter .2s;display:inline-block}.sticker-picker::-webkit-scrollbar,.bg-picker::-webkit-scrollbar{height:6px}.sticker-picker::-webkit-scrollbar-thumb,.bg-picker::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px}.controls.dark .sticker-picker,.controls.dark .bg-picker{scrollbar-color:rgba(255,255,255,.4) transparent}.controls.dark .sticker-picker::-webkit-scrollbar-thumb,.controls.dark .bg-picker::-webkit-scrollbar-thumb{background-color:#fff6}.bg-stars{background-color:#0f172a;background-image:radial-gradient(white,rgba(255,255,255,.2) 2px,transparent 3px),radial-gradient(white,rgba(255,255,255,.15) 1px,transparent 2px),radial-gradient(white,rgba(255,255,255,.1) 2px,transparent 3px);background-size:550px 550px,350px 350px,250px 250px;background-position:0 0,40px 60px,130px 270px}.bg-paper{background-color:#f4f1ea;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.05'/%3E%3C/svg%3E")}.bg-blueprint{background-color:#264de4;background-image:linear-gradient(rgba(255,255,255,.3) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.3) 1px,transparent 1px);background-size:20px 20px}.bg-mint{background-color:#e0f2f1;background-image:radial-gradient(#b2dfdb 20%,transparent 20%);background-size:20px 20px;background-position:0 0,10px 10px}.size-picker{display:flex;gap:6px;margin-top:10px}.size-btn{flex:1;padding:5px 10px;background:#f0f0f0;border:2px solid #ddd;border-radius:5px;font-family:Montserrat,sans-serif;font-weight:600;font-size:.85rem;cursor:pointer;transition:all .2s}.size-btn:hover{background:#e0e0e0;border-color:#ccc}.size-btn.active{background:#4a90e2;color:#fff;border-color:#357abd}.controls.dark .size-btn{background:#444;border-color:#555;color:#fff}.controls.dark .size-btn:hover{background:#555}.controls.dark .size-btn.active{background:#5a9ff2;border-color:#4a8fd2}.border-picker{display:flex;gap:6px}.border-btn{flex:1;padding:8px;background:#f0f0f0;border:2px solid #ddd;border-radius:5px;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.border-btn:hover{background:#e0e0e0;border-color:#ccc}.border-btn.active{background:#4a90e2;border-color:#357abd}.border-preview{width:100%;height:20px;background:white;border-radius:3px}.border-preview.border-solid{border:2px solid #333}.border-preview.border-dashed{border:2px dashed #333}.border-preview.border-dotted{border:3px dotted #333}.border-preview.border-thick{border:4px solid #333}.controls.dark .border-btn{background:#444;border-color:#555}.controls.dark .border-btn:hover{background:#555}.controls.dark .border-btn.active{background:#5a9ff2;border-color:#4a8fd2}.controls.dark .border-preview{background:#333}.controls.dark .border-preview.border-solid,.controls.dark .border-preview.border-dashed,.controls.dark .border-preview.border-dotted,.controls.dark .border-preview.border-thick{border-color:#fff}.opacity-slider{width:98%;height:6px;border-radius:3px;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:linear-gradient(to right,rgba(74,144,226,.3),rgba(74,144,226,1));cursor:pointer}.opacity-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#4a90e2;cursor:pointer;border:2px solid white;box-shadow:0 2px 4px #0003}.opacity-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#4a90e2;cursor:pointer;border:2px solid white;box-shadow:0 2px 4px #0003}.reset-btn{background:none;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;color:#666}.reset-btn:hover{background:rgba(0,0,0,.05);color:#333}.controls.dark .reset-btn{color:#aaa}.controls.dark .reset-btn:hover{background:rgba(255,255,255,.1);color:#fff}.reset-btn-icon{margin-top:10px;padding:0 10px;background:#f0f0f0;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;height:38px;width:38px;color:#666;font-family:Montserrat,sans-serif;font-weight:600;font-size:.85rem}.reset-btn-icon:hover{background:#e0e0e0;color:#333}.controls.dark .reset-btn-icon{background:#444;color:#aaa}.controls.dark .reset-btn-icon:hover{background:#555;color:#fff}.color-btn{width:25px;height:25px;border-radius:50%;border:2px solid rgba(0,0,0,.2);cursor:pointer;transition:transform .2s}.color-btn:hover{transform:scale(1.15)}.color-btn.selected{border:3px solid #4a90e2;box-shadow:0 0 0 2px #4a90e24d}.add-note-btn{width:100%;margin-top:10px;padding:8px 14px;background:#4a90e2;color:#fff;border:none;border-radius:8px;font-family:Montserrat,sans-serif;font-weight:600;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;height:38px}.add-note-btn:hover{background:#357abd;transform:translateY(-1px);box-shadow:0 4px 12px #4a90e266}.controls.dark .add-note-btn{background:#5a9ff2}.controls.dark .add-note-btn:hover{background:#4a8fd2}.custom-color-btn{width:25px;height:25px;border-radius:50%;border:2px solid rgba(0,0,0,.2);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0;position:relative;transition:transform .2s}.custom-color-btn:hover{transform:scale(1.15)}.custom-color-btn.selected{border:3px solid #4a90e2;box-shadow:0 0 0 2px #4a90e24d}.custom-color-plus{font-size:16px;font-weight:700;color:#0009;pointer-events:none;position:relative;z-index:1;text-shadow:0 0 2px rgba(255,255,255,.8)}.controls.dark .custom-color-plus{color:#fffc;text-shadow:0 0 2px rgba(0,0,0,.8)}.controls.dark .custom-color-btn{border-color:#ffffff4d}.controls.dark .custom-color-btn.selected{border-color:#5a9ff2;box-shadow:0 0 0 2px #5a9ff24d}.color-input{position:absolute;width:100%;height:100%;opacity:0;cursor:pointer}.bg-btn{padding:4px 8px;border:1px solid #ccc;border-radius:5px;background:#f9f9f9;cursor:pointer;font-family:inherit;font-size:.85rem;transition:all .2s;white-space:nowrap}.bg-btn:hover{background:#eee;transform:translateY(-1px)}.bg-btn.active{background:#4a90e2;color:#fff;border-color:#357abd}.controls.dark .bg-btn.active{background:#5a9ff2;border-color:#4a8fd2}.sticker-btn{background:none;border:2px solid transparent;border-radius:8px;font-size:1.5rem;cursor:pointer;padding:4px;transition:transform .1s,background .2s}.sticker-btn:hover{transform:scale(1.2);background:rgba(0,0,0,.05)}.sticker-btn.selected{background:rgba(74,144,226,.1);border-color:#4a90e2}.controls.dark .sticker-btn:hover{background:rgba(255,255,255,.1)}.controls.dark .sticker-btn.selected{background:rgba(90,159,242,.2);border-color:#5a9ff2}.sticker.size-small{font-size:2rem!important}.sticker.size-medium{font-size:3rem!important}.sticker.size-large{font-size:4.5rem!important}.sticker-content{transition:transform .2s;display:inline-block}.sticker-content.poof{animation:poof .4s ease-out forwards}@keyframes poof{0%{transform:scale(1);opacity:1}40%{transform:scale(1.4);opacity:.8}to{transform:scale(0);opacity:0}}.deleting{transition:all .5s ease!important;transform:scale(0) rotate(720deg)!important;opacity:0}.clear-btn{width:100%;padding:8px 12px;background:#ff4444;color:#fff;border:none;border-radius:5px;font-family:Montserrat,sans-serif;font-weight:600;font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.clear-btn:hover{background:#cc0000}.controls.dark .clear-btn{background:#ff6666}.controls.dark .clear-btn:hover{background:#ff4444}.dialog-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn .2s ease}.dialog{background:white;padding:30px;border-radius:15px;box-shadow:0 10px 40px #0000004d;max-width:400px;width:90%;font-family:Montserrat,sans-serif;animation:slideIn .3s ease}.dialog.dark{background:#333;color:#fff}.dialog h2{margin:0 0 15px;font-size:1.5rem;color:#333}.dialog.dark h2{color:#fff}.dialog p{margin:0 0 25px;color:#666;line-height:1.5}.dialog.dark p{color:#ccc}.dialog-buttons{display:flex;gap:10px;justify-content:flex-end}.dialog-btn{padding:10px 20px;border:none;border-radius:8px;font-family:Montserrat,sans-serif;font-weight:600;cursor:pointer;transition:all .2s}.dialog-btn.cancel{background:#e0e0e0;color:#333}.dialog-btn.cancel:hover{background:#d0d0d0}.dialog.dark .dialog-btn.cancel{background:#555;color:#fff}.dialog.dark .dialog-btn.cancel:hover{background:#666}.dialog-btn.confirm{background:#ff4444;color:#fff}.dialog-btn.confirm:hover{background:#cc0000}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.credit-widget{position:fixed;bottom:20px;right:20px;display:flex;align-items:center;gap:8px;padding:8px 12px;background:rgba(255,255,255,.9);border-radius:20px;box-shadow:0 2px 8px #00000026;z-index:1000;font-family:Montserrat,sans-serif;font-size:14px;color:#333;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;text-decoration:none;cursor:pointer}.credit-widget:hover{background:rgba(255,255,255,.95);box-shadow:0 4px 12px #0003;transform:translateY(-2px)}.credit-favicon{width:20px;height:20px;flex-shrink:0}.credit-text{white-space:nowrap}
