*{box-sizing:border-box;margin:0;padding:0}body,html{height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;color:var(--color-dark-gray, #4A4947);background-color:var(--color-cream, #FAF7F0)}#root{height:100%;color:var(--color-dark-gray, #4A4947);background-color:var(--color-cream, #FAF7F0)}.app-container{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden;position:fixed;top:0;left:0;right:0;bottom:0;color:var(--color-dark-gray, #4A4947);background-color:var(--color-cream, #FAF7F0)}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:var(--color-cream, #FAF7F0);border-bottom:1px solid var(--color-beige, #D8D2C2);box-shadow:0 2px 4px #4a49470d;height:70px;flex-shrink:0;width:100%}.app-header h1{font-size:1.5rem;color:var(--color-dark-gray, #4A4947);font-weight:600}.header-actions{display:flex;gap:1rem}.app-main{display:flex;flex:1;overflow:hidden;width:100%;height:100vh;position:relative}.main-content{display:flex;flex-direction:column;flex:1;width:calc(100% - 350px);height:100%;overflow:hidden}.canvas-section{flex:1;height:calc(100% - 70px);width:100%;overflow:hidden;position:relative;background-color:var(--color-beige, #D8D2C2);color:var(--color-dark-gray, #4A4947);display:flex;justify-content:center;align-items:center}.info-section{width:350px;height:100%;overflow-y:auto;background-color:#1f1f1f;color:#fff;border-left:1px solid #2a2a2a;padding:1.5rem;display:flex;flex-direction:column;flex-shrink:0}.annotation-table-section{flex:1;display:flex;flex-direction:column;gap:2rem;overflow-y:auto}.sidebar-footer{margin-top:auto;padding-top:1rem}.canvas-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center;overflow:hidden}.canvas-placeholder{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;color:var(--color-dark-gray, #4A4947);background-color:var(--color-beige, #D8D2C2);text-align:center;padding:2rem}.canvas-placeholder p{margin-bottom:.5rem}.file-upload-area{width:100%;height:100%;display:flex;justify-content:center;align-items:center;background-color:var(--color-cream, #FAF7F0);cursor:pointer;transition:all .3s ease}.file-upload-area:hover,.file-upload-area.drag-over{border-color:var(--color-terracotta, #B17457);background-color:#b174570d}.upload-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:2rem;color:var(--color-dark-gray, #4A4947)}.upload-content svg{color:var(--color-terracotta, #B17457);margin-bottom:1rem}.upload-content h3{margin-bottom:.5rem;font-weight:600}.file-types{font-size:.85rem;color:var(--color-dark-gray, #4A4947);opacity:.7;margin-top:.5rem}.instructions{background-color:var(--color-beige, #D8D2C2);color:var(--color-dark-gray, #4A4947);border-radius:8px;padding:1.5rem}.instructions h3{margin-bottom:1rem;font-size:1.1rem;color:var(--color-terracotta, #B17457)}.instructions ul{list-style-position:inside;margin-left:.5rem}.instructions li{margin-bottom:.5rem;font-size:.9rem;color:var(--color-dark-gray, #4A4947)}.annotation-table-section{flex:1;overflow-y:auto}.annotation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding:0 .75rem}.annotation-header h3{margin-bottom:0;font-size:1.1rem;color:#d1cfc0}.annotation-card-container{display:flex;flex-direction:column;gap:.75rem;padding:0 .75rem 1rem}.annotation-card{display:flex;background-color:#363636;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow:hidden;cursor:pointer;transition:all .2s ease;border:1px solid #454545}.annotation-card:hover{box-shadow:0 3px 6px #00000026;transform:translateY(-2px)}.annotation-card.selected{border-color:#a06941;box-shadow:0 0 0 1px #a06941,0 3px 6px #00000026}.annotation-number{display:flex;align-items:center;justify-content:center;padding:.75rem;background-color:#d1cfc0}.annotation-circle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background-color:#f76f53;color:#fff;border-radius:50%;font-weight:700;font-size:16px}.annotation-details{flex:1;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.annotation-color{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.annotation-color .color-swatch{width:24px;height:24px;border-radius:4px;border:1px solid #ddd;flex-shrink:0}.annotation-color .color-code{font-family:monospace;font-size:.9rem}.annotation-description,.annotation-font,.annotation-specs{display:flex;flex-direction:column;gap:.25rem;font-size:.9rem}.label{font-weight:600;color:#555;font-size:.8rem}.annotation-table-empty{display:flex;justify-content:center;align-items:center;height:100px;color:#ccc;background-color:#2a2a2a;font-size:.9rem;text-align:center;border:1px dashed #444444;border-radius:8px;padding:1rem}.editor-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.annotation-editor{background-color:#fff;color:#333;border-radius:8px;box-shadow:0 4px 20px #00000026;width:400px;max-width:90%;overflow:hidden}.editor-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:#f5f5f5;border-bottom:1px solid #e0e0e0}.editor-header h3{font-size:1.1rem;font-weight:600;color:#333}.close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666}.color-preview{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid #e0e0e0;background-color:#f9f9f9}.color-swatch{flex-shrink:0;width:40px;height:40px;border-radius:4px;border:1px solid #ddd;box-shadow:0 0 4px #00000026;display:block}.color-code{font-family:monospace;font-size:1rem;font-weight:600;color:#333;background-color:#fff;padding:4px 8px;border-radius:3px;border:1px solid #e0e0e0}.color-code-input{flex:1;margin:0}.color-code-input input{font-family:monospace;font-weight:600;text-transform:uppercase}.annotation-editor form{padding:1.5rem}.form-group{margin-bottom:1.25rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#333}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:.95rem;color:#333;background-color:#fff}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#a06941;box-shadow:0 0 0 2px #a0694133}.button-group{display:flex;justify-content:space-between;margin-top:1.5rem}button{padding:.75rem 1.5rem;border:none;border-radius:4px;font-weight:500;cursor:pointer;transition:all .2s;color:#333;background-color:#e0e0e0}button:disabled{opacity:.6;cursor:not-allowed}.delete-button{background-color:#f76f53;color:#fff}.delete-button:hover{background-color:#cb5b45}.save-button{background-color:#a06941;color:#fff}.save-button:hover{background-color:#8a5835}.generate-button{background-color:#d1cfc0;color:#1f1f1f;padding:.4rem .8rem;font-size:.8rem;border-radius:4px;display:flex;align-items:center;gap:.4rem}.generate-button svg{flex-shrink:0}.generate-button:hover:not(:disabled){background-color:#8a5835}@media (max-width: 768px){.app-main{flex-direction:column}.info-section{width:100%;height:40%;border-left:none;border-top:1px solid #e0e0e0}.canvas-section{height:60%}}.badge-footer{display:flex;align-items:center;gap:.5rem;background-color:#2a2a2a;color:#a0a0a0;border-radius:4px;padding:.5rem .75rem;font-size:.75rem;width:fit-content;margin-left:auto;margin-right:auto}.badge-footer svg{opacity:.7}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#4a4947;background-color:#faf7f0;--color-cream: #FAF7F0;--color-beige: #D8D2C2;--color-terracotta: #B17457;--color-dark-gray: #4A4947;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%}a{font-weight:500;color:#b17457;text-decoration:inherit}a:hover{color:#4a4947}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#d8d2c2;color:#4a4947;cursor:pointer;transition:all .25s}button:hover{border-color:#b17457;background-color:#b17457;color:#faf7f0}button:focus,button:focus-visible{outline:3px solid rgba(177,116,87,.5)}@media (prefers-color-scheme: light){:root{color:#4a4947;background-color:#faf7f0}a:hover{color:#b17457}button{background-color:#d8d2c2}}
