/*! tailwindcss v4.0.8 | MIT License | https://tailwindcss.com */@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-500:oklch(.637 .237 25.331);--color-gray-300:oklch(.872 .01 258.338);--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-font-feature-settings:var(--font-sans--font-feature-settings);--default-font-variation-settings:var(--font-sans--font-variation-settings);--default-mono-font-family:var(--font-mono);--default-mono-font-feature-settings:var(--font-mono--font-feature-settings);--default-mono-font-variation-settings:var(--font-mono--font-variation-settings)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}body{line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1;color:color-mix(in oklab,currentColor 50%,transparent)}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;-moz-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.mb-1{margin-bottom:calc(var(--spacing)*1)}.flex{display:flex}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-10{height:calc(var(--spacing)*10)}.w-8{width:calc(var(--spacing)*8)}.w-10{width:calc(var(--spacing)*10)}.w-24{width:calc(var(--spacing)*24)}.animate-pulse{animation:var(--animate-pulse)}.items-center{align-items:center}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-2{gap:calc(var(--spacing)*2)}.gap-y-1{row-gap:calc(var(--spacing)*1)}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.bg-gray-300{background-color:var(--color-gray-300)}.bg-white{background-color:var(--color-white)}.bg-white\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}.p-4{padding:calc(var(--spacing)*4)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-red-500{color:var(--color-red-500)}.text-white{color:var(--color-white)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}}@font-face{font-family:Giest;src:url(/assets/GeistMono-Regular-DLqb_3QR.ttf)}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0}body{background-color:#f5f5f5;margin:0;font-family:Giest,monospace}.bg-pattern{background-color:#f1f1f1;background-image:linear-gradient(90deg,#0000 50px,#ffb4b8 50px,#ffb4b8 52px,#0000 52px),linear-gradient(#e1e1e1 .1em,#0000 .1em);background-position:0 0;background-repeat:repeat;background-size:100% 30px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;width:100%;height:100%}#headerUserItems{margin-left:.6rem}#username{padding-left:.5rem;padding-right:1rem}#usernameFirstChar{color:#244720}.header{background:linear-gradient(90deg,#94b5a0,#244720);flex-direction:row;justify-content:start;align-items:center;padding:.4rem;display:flex}.divider{background-color:#ccc;width:100%;height:1px;margin:1rem 0}.close{cursor:pointer;color:#aaa;font-size:24px;position:absolute;top:10px;right:15px}.add-card{color:#aaa;cursor:pointer;background-color:#fff;border:2px dashed #ccc;border-radius:10px;justify-content:center;align-items:center;margin-top:1rem;margin-left:1rem;margin-right:1rem;font-size:3rem;transition:all .3s;display:flex}.book-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;padding:1rem;display:grid}@media (width<=600px){.book-list{grid-template-columns:1fr}}.book-card{text-align:center;cursor:pointer;background-color:#fff;border-radius:10px;padding:1rem;transition:transform .2s;overflow:hidden;box-shadow:0 2px 6px #0000001a}.book-card:hover{transform:scale(1.03)}.book-image{object-fit:cover;border-radius:5px;width:100%;height:auto;max-height:220px}.book-title{margin:.5rem 0 .2rem;font-size:1.1rem;font-weight:700}.book-author{color:#777;margin-bottom:1rem;font-size:.9rem}.modal{z-index:999;background-color:#00000080;width:100%;height:100%;position:fixed;top:0;left:0;overflow:auto}.modal-content{background-color:#fff;border:1px solid #888;border-radius:10px;width:90%;max-width:400px;margin:5% auto;padding:2rem;position:relative}.modal-book-image{object-fit:cover;border-radius:10px;width:100%;height:auto;max-height:300px;margin-bottom:1rem}.modal-actions{justify-content:space-between;margin-top:1.5rem;display:flex}.modal-actions button{cursor:pointer;border:none;border-radius:5px;padding:.5rem 1rem;font-weight:700}#editBookBtn{color:#000;background-color:#86a0b9;border:1px solid #2c3e50}#editBookBtn:hover{color:#fff;background-color:#193552;transition:all .2s}#deleteBookBtn{color:#000;background-color:#ffeaea;border:1px solid #e74c3c}#deleteBookBtn:hover{color:#fff;background-color:#c0392b;transition:all .2s}.form-container{background-color:#e5e5e5;border-radius:10px;align-items:center;max-width:500px;margin:2rem auto;padding:2rem;box-shadow:0 2px 8px #0000001a}#previewImage{object-fit:cover;border-radius:5px;width:100%;height:auto;max-height:200px;margin-bottom:1rem}.upload-label{text-align:center;cursor:pointer;background-color:#ecf0f1;border-radius:5px;margin-bottom:1rem;padding:.5rem 1rem;display:inline-block}.upload-label input{display:none}.preview-image{border-radius:5px;max-width:100%;max-height:200px;margin:1rem auto;display:block}.btn-content{justify-content:space-between;margin-top:5px;display:flex}.submit-btn{color:#fff;cursor:pointer;background-color:#2ecc71;border:none;border-radius:5px;margin-top:1rem;padding:.7rem 1.5rem}.submit-btn:hover{background-color:#27ae60;transition:all .2s}.cancel-btn{color:#fff;cursor:pointer;background-color:#cc2e2e;border:none;border-radius:5px;margin-top:1rem;padding:.7rem 1.5rem}.cancel-btn:hover{background-color:#e74c3c;transition:all .2s}.input-wrapper{gap:1rem;justify-content:inherit;width:100%;margin-top:1.5rem;margin-bottom:0;padding:.5rem;display:grid}.input-wrapper textarea{color:#244720;cursor:pointer;resize:none;background-color:#fff;border:1px solid #acacac;border-radius:1rem;width:100%;padding:.7rem;font-size:1rem;overflow:hidden;box-shadow:.5rem .5rem .4rem #dfd9d9}.input-wrapper textarea:focus{outline-color:#80f083;transition:all .2s}.rating{--stroke:darkolivegreen;--fill:#ffc73a;flex-direction:row-reverse;justify-content:center;gap:2px;padding-top:5px;display:flex}.rating input{-webkit-appearance:unset;-moz-appearance:unset;appearance:unset}.rating label{cursor:pointer}.rating svg{fill:#0000;width:2rem;height:2rem;stroke:var(--stroke);stroke-linejoin:bevel;stroke-dasharray:12;transition:stroke .2s,fill .5s;animation:4s linear infinite idle;overflow:visible}@keyframes idle{0%{stroke-dashoffset:24px}}.rating label:hover svg{stroke:var(--fill)}.rating input:checked~label svg{fill:var(--fill);stroke:var(--fill);stroke-opacity:0;stroke-dasharray:0;stroke-linejoin:miter;stroke-width:8px;transition:all;animation:4s linear infinite idle,.75s backwards yippee}@keyframes yippee{0%{fill:var(--fill);fill-opacity:0;stroke-opacity:1;stroke:var(--stroke);stroke-dasharray:10;stroke-width:1px;stroke-linejoin:bevel;transform:scale(1)}30%{fill:var(--fill);fill-opacity:0;stroke-opacity:1;stroke:var(--stroke);stroke-dasharray:10;stroke-width:1px;stroke-linejoin:bevel;transform:scale(0)}30.1%{stroke:var(--fill);stroke-dasharray:0;stroke-linejoin:miter;stroke-width:8px}60%{fill:var(--fill);transform:scale(1.2)}}.file-uploader-container{--transition:.35s;--folder-W:120px;--folder-H:80px;height:calc(var(--folder-H)*1.7);background:linear-gradient(90deg,#3e5746,#244720);border-radius:15px;flex-direction:column;justify-content:flex-end;align-items:center;padding:10px;display:flex;position:relative;box-shadow:0 15px 30px #0003}.file-uploader-folder{transition:transform var(--transition)ease;animation:2.5s ease-in-out infinite float;position:absolute;top:-20px;left:calc(50% - 60px)}.file-uploader-folder:hover{transform:scale(1.05)}.file-uploader-folder .front-side,.file-uploader-folder .back-side{transition:transform var(--transition);transform-origin:bottom;position:absolute}.file-uploader-folder .back-side:before,.file-uploader-folder .back-side:after{content:"";opacity:.5;width:var(--folder-W);height:var(--folder-H);transform-origin:bottom;z-index:0;background-color:#fff;border-radius:15px;transition:transform .35s;display:block;position:absolute}.file-uploader-container:hover .back-side:before{transform:rotateX(-5deg)skew(5deg)}.file-uploader-container:hover .back-side:after{transform:rotateX(-15deg)skew(12deg)}.file-uploader-folder .front-side{z-index:1}.file-uploader-container:hover .front-side{transform:rotateX(-40deg)skew(15deg)}.file-uploader-folder .tip{z-index:2;background:linear-gradient(135deg,#ff9a56,#ff6f56);border-radius:12px 12px 0 0;width:80px;height:20px;position:absolute;top:-10px;box-shadow:0 5px 15px #0003}.file-uploader-folder .file-uploader-cover{width:var(--folder-W);height:var(--folder-H);background:linear-gradient(135deg,#ffe563,#ffc663);border-radius:10px;box-shadow:0 15px 30px #0000004d}.custom-file-upload{color:#fff;text-align:center;cursor:pointer;transition:background var(--transition)ease;background:#fff3;border:none;border-radius:10px;width:100%;padding:10px 35px;font-size:1.1em;display:inline-block;position:relative;box-shadow:0 10px 20px #0000001a}.custom-file-upload:hover{background:#fff6}.custom-file-upload input[type=file]{display:none}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-20px)}to{transform:translateY(0)}}.static-rating{justify-content:center;gap:2px;padding-top:5px;display:flex}.static-rating label{cursor:default}.static-rating .active svg{fill:var(--fill)}@keyframes pulse{50%{opacity:.5}}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
