body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background-color:#f5f5f5;display:flex;justify-content:center;min-height:100vh}.login-form{background:#fff;border-radius:8px;box-shadow:0 4px 10px #0000001a;max-width:400px;padding:30px;width:100%}.login-form h1{color:#333;margin-bottom:30px;text-align:center}.form-group{margin-bottom:20px}.form-group label{color:#555;display:block;font-weight:700;margin-bottom:8px}.form-group input{border:1px solid #ddd;border-radius:4px}.form-group input,button{font-size:16px;padding:12px;width:100%}button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;transition:background-color .3s}button:hover{background-color:#0056b3}button:disabled{background-color:#ccc;cursor:not-allowed}.error-message{background-color:#ffebee;border-radius:4px;color:#c62828;margin-bottom:20px;padding:12px;text-align:center}.directory-container{font-family:Arial,sans-serif;margin:0;padding:0;width:100%}.directory-header{background-color:#000;box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;height:2rem;padding:10px 15px;position:-webkit-sticky;position:sticky;top:0;transition:opacity .3s;vertical-align:middle;z-index:100}.directory-header h1{color:#e4e2e7;flex-grow:1;font-size:1.2rem;font-weight:100;margin:.5rem}.logout-button{background-color:#00008b;border:none;border-radius:4px;cursor:pointer;font-size:16px;margin-right:15px;padding:8px 16px;transition:background-color .3s;width:30%}.logout-button:hover{background-color:#e0e0e0}.directory-list{display:flex;flex-wrap:wrap;padding-left:8px}.directory-item{background-color:#f1f1f1;border-radius:4px;box-shadow:0 8px 8px #00000080;color:#333;flex:1 1 100%;float:left;font-size:1.5em;margin:10px 0;text-decoration:none;transition:background-color .3s ease}.directory-item:hover{background-color:#ddd}.directory-item img{border-radius:4px;height:auto;object-fit:cover;width:45%}.thumb{background-color:#a9a9a9;display:flex;gap:8px}.thumb img{flex:1 1;height:auto;object-fit:cover}.directory-info{color:#777;float:right;font-size:.9em;padding:0 10px;text-align:right}.text{padding:5px;width:100%}.loading{font-size:18px}.error{color:red;padding:20px;text-align:center}@media (min-width:1000px){.thumb img{max-width:90%}.directory-item{flex:1 1 50%;margin-right:20px}}.confirmation-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.confirmation-dialog{animation:slideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;margin:20px;max-width:400px;min-width:320px;overflow:hidden}.confirmation-header{border-bottom:1px solid #f0f0f0;padding:20px 24px 16px}.confirmation-header h3{color:#333;font-size:18px;font-weight:600;margin:0}.confirmation-body{padding:16px 24px 20px}.confirmation-body p{color:#666;font-size:14px;line-height:1.5;margin:0}.confirmation-actions{display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 20px}.confirmation-button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:10px 20px;transition:all .2s ease}.confirm-btn{background:linear-gradient(135deg,#ff6b6b,#ee5a52);box-shadow:0 2px 8px #ff6b6b4d;color:#fff}.confirm-btn:hover{background:linear-gradient(135deg,#ff5252,#d32f2f);box-shadow:0 4px 12px #ff6b6b66;transform:translateY(-1px)}.cancel-btn{background:#f5f5f5;border:1px solid #e0e0e0;color:#666}.cancel-btn:hover{background:#eee;color:#333;transform:translateY(-1px)}.confirmation-button:active{transform:translateY(0)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width:480px){.confirmation-dialog{margin:20px;min-width:280px}.confirmation-actions{flex-direction:column}.confirmation-button{width:100%}}.image-comment-marker{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:3px solid #fff;border-radius:50%;box-shadow:0 4px 12px #667eea66;cursor:pointer;display:flex;font-size:16px;height:32px;justify-content:center;position:absolute;transform:translate(-50%,-50%);transition:all .3s ease;white-space:pre-line;width:32px;z-index:100}.image-comment-marker:hover{background:linear-gradient(135deg,#764ba2,#667eea);box-shadow:0 6px 20px #667eea99;transform:translate(-50%,-50%) scale(1.15)}.image-comment-marker:active{transform:translate(-50%,-50%) scale(.95)}@media (hover:none) and (pointer:coarse){.image-comment-marker{font-size:18px;height:36px;width:36px}.image-comment-marker:active{background:linear-gradient(135deg,#764ba2,#667eea);transform:translate(-50%,-50%) scale(.9)}}.image-comment-input{background:#fff;border:2px solid #667eea;border-radius:8px;box-shadow:0 8px 24px #00000026;max-width:350px;min-width:250px;padding:12px;position:absolute;transform:translateZ(0);z-index:1000}.image-comment-input.bubble-below{margin-top:0;transform:translate(-50%,10px)}.image-comment-input.bubble-below:before{border-bottom:8px solid #fff;border-top:none;bottom:auto;top:-8px}.image-comment-input:before{border-left:8px solid #0000;border-right:8px solid #0000;border-top:8px solid #fff;bottom:-8px;content:"";filter:drop-shadow(0 2px 2px rgba(0,0,0,.1));height:0;left:50%;position:absolute;transform:translateX(-50%);width:0}.image-comment-input textarea{background:#fafbfc;border:2px solid #e1e5e9;border-radius:8px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5;outline:none;padding:12px;resize:none;transition:all .2s ease;width:100%}.image-comment-input textarea:focus{background:#fff;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.image-comment-input textarea::placeholder{color:#8892a3;font-style:italic}.comment-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.comment-actions button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:13px;font-weight:600;justify-content:center;min-height:36px;padding:8px 16px;transition:all .2s ease}.comment-actions button:first-child{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.comment-actions button:first-child:hover:not(:disabled){background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 4px 12px #667eea4d;transform:translateY(-1px)}.comment-actions button:first-child:active{transform:translateY(0)}.comment-actions button:first-child:disabled{background:#c5c9d1;box-shadow:none;cursor:not-allowed;transform:none}.comment-actions button:nth-child(2){background:#f8f9fa;border:1px solid #dee2e6;color:#495057}.comment-actions button:nth-child(2):hover{background:#e9ecef;border-color:#adb5bd;transform:translateY(-1px)}.comment-actions button:nth-child(2):active{transform:translateY(0)}.comment-actions .delete-btn{background:linear-gradient(135deg,#ff6b6b,#ee5a52);color:#fff}.comment-actions .delete-btn:hover{background:linear-gradient(135deg,#ff5252,#e53e3e);box-shadow:0 4px 12px #ff6b6b4d;transform:translateY(-1px)}.comment-actions .delete-btn:active{transform:translateY(0)}.comment-header{align-items:center;border-bottom:1px solid #e1e5e9;display:flex;font-size:12px;justify-content:space-between;margin-bottom:8px;padding-bottom:6px}.comment-user{color:#667eea;font-weight:600}.comment-timestamp{color:#8892a3;font-size:11px}@media (max-width:768px){.image-comment-input{max-width:300px;padding:14px;width:calc(100vw - 20px)}.image-comment-input textarea{font-size:16px;padding:10px}.comment-actions{gap:8px}.comment-actions button{flex:1 1;font-size:14px;min-height:40px;padding:10px 14px}}@keyframes commentAppear{0%{opacity:0;transform:translate(-50%,-100%) scale(.8)}to{opacity:1;transform:translate(-50%,-100%) scale(1)}}.image-comment-input{animation:commentAppear .2s ease-out}.image-comment-input.bubble-below{animation:commentAppearBelow .2s ease-out}@keyframes commentAppearBelow{0%{opacity:0;transform:translate(-50%,10px) scale(.8)}to{opacity:1;transform:translate(-50%,10px) scale(1)}}.image-viewer-container{background-color:#333;font-family:Arial,sans-serif;margin:0;min-height:100vh;padding:0}.header.hidden{top:-50px}.header.visible{top:0}.home-link{background-color:#007bff;border:1px solid #0000;border-radius:5px;color:#fff;display:inline-block;font-size:1em;margin-right:15px;padding:10px 20px;text-decoration:none;transition:background-color .3s ease}.home-link:hover{background-color:#0056b3}.image-viewer{margin:0 auto;max-width:800px;padding-top:0;width:100%}.image-viewer img{display:block;margin-bottom:20px;pointer-events:none;width:100%}.loading{color:#fff;padding:20px;text-align:center}.no-right-click{pointer-events:none}.back-button{background-color:#00008b;margin-left:2px}.back-button,.clear-cache-button{border:none;border-radius:4px;cursor:pointer;padding:8px 2px;transition:background-color .3s;width:25%}.clear-cache-button{background-color:#483d8b;color:#fff;margin-right:2px}.header{align-items:center;background-color:#000;border-bottom:1px solid #2f4f4f;box-shadow:0 2px 4px #0000001a;display:flex;height:1.5em;padding:10px 15px;position:-webkit-sticky;position:sticky;top:0;transition:opacity .3s;z-index:100}.header h1{color:#e4e2e7;flex-grow:1;font-size:.8em;margin:0;text-align:center}.floating-button{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:50%;box-shadow:0 4px 12px #00000026;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:50px;justify-content:center;position:fixed;right:20px;transition:all .3s ease;width:50px;z-index:999}.floating-button:hover{background:linear-gradient(135deg,#5a6fd8,#6a4190);box-shadow:0 6px 20px #00000040;transform:scale(1.05)}.floating-button:active{transform:scale(.95)}.floating-button.next-image{bottom:20px}.floating-button.next-comment{bottom:80px;font-size:20px}.image-container img{-webkit-tap-highlight-color:transparent!important;user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important}.image-container,.image-container img{-webkit-touch-callout:none!important;touch-action:manipulation!important}.image-container{background-color:dimgray;-webkit-user-select:none!important;user-select:none!important}@media (max-width:768px){.floating-button{font-size:14px;height:45px;right:15px;width:45px}.floating-button.next-comment{bottom:75px;font-size:18px}}.App{width:100%}.App,.loading{min-height:100vh}.loading{align-items:center;color:#333;display:flex;font-size:1.5rem;justify-content:center}
/*# sourceMappingURL=main.a734e048.css.map*/