:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background-color:#f5f5f5;overflow-x:hidden}#root{width:100%;text-align:left}h1{font-size:2em;line-height:1.1}button{border-radius:4px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer;transition:opacity .25s}button:hover{opacity:.9}a{font-weight:500;color:#10a37f;text-decoration:inherit}a:hover{color:#0d8a6a}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center;width:100%;box-sizing:border-box;overflow-x:hidden}.auth-container{background-color:#f9f9f9;padding:2rem;border-radius:8px;box-shadow:0 2px 10px #0000001a;max-width:400px;width:90%;margin:0 auto;color:#333;box-sizing:border-box}@media(max-width:600px){#root{padding:2rem 1rem 1rem}.auth-container{padding:1.5rem;width:100%;box-shadow:none;background:transparent}h1{font-size:1.8rem;margin-bottom:1.5rem}.form-group input{padding:.8rem;font-size:1rem;margin-bottom:.5rem}button{width:100%;padding:.8rem;margin-bottom:.5rem}.role-selection-buttons{flex-direction:column;gap:1rem}}.role-selection-buttons{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.role-btn{padding:2rem;font-size:1.2rem;flex:1}.student-btn{background-color:#4caf50}.teacher-btn{background-color:#2196f3}.form-group{margin-bottom:1rem;text-align:left}.form-group label{display:block;margin-bottom:.5rem}.form-group input{width:100%;padding:.5rem;border:1px solid #ccc;border-radius:4px;box-sizing:border-box}button{cursor:pointer;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;color:#fff;border:1px solid transparent;border-radius:8px;transition:border-color .25s}button:hover{border-color:#646cff}button.link-btn{background:none;border:none;color:#646cff;text-decoration:underline;padding:0;margin-left:5px}.error{color:red;margin-bottom:1rem}:root{--primary-teal: #00cd97;--secondary-blue: #2196F3;--accent-orange: #FF9800;--text-dark: #333;--bg-light: #f5f5f5;--card-bg: #ffffff}.dashboard-container{min-height:100vh;background-color:#f5f5f5;display:flex;flex-direction:column}.dashboard-header{background-color:#00cd97;color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.dashboard-header img{mix-blend-mode:multiply;filter:brightness(1.1);height:100px!important;margin-right:1rem}.dashboard-header h1{margin:0;font-size:1.5rem;font-weight:600;letter-spacing:normal}.user-info{display:flex;align-items:center;gap:1.5rem}.user-details{display:flex;flex-direction:column;align-items:flex-end}.user-name{font-weight:700;font-size:1.1rem;display:flex;align-items:center;gap:8px}.owner-badge{background-color:gold;color:#333;font-size:.65rem;padding:2px 6px;border-radius:4px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 1px 2px #0000001a}.owner-card{border:2px solid #0000FF!important;background:#000!important;box-shadow:0 4px 12px #00f6!important;position:relative;overflow:hidden}.owner-card h4{color:#fff!important}.owner-card p{color:#ccc!important}.owner-card>*{position:relative;z-index:1}.user-email{font-size:.9rem;opacity:.9}.user-actions{display:flex;flex-direction:column;gap:.5rem}.edit-profile-btn{background-color:transparent;border:1px solid white;color:#fff;padding:.3rem 1rem;font-size:.85rem;cursor:pointer;border-radius:4px}.edit-profile-btn:hover{background-color:#ffffff1a}.logout-btn{background-color:transparent;border:1px solid white;color:#fff;padding:.3rem 1rem;font-size:.85rem;border-radius:4px}.modal-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:2rem;border-radius:8px;width:90%;max-width:400px;box-shadow:0 4px 6px #0000001a}.modal-content h3{margin-top:0;margin-bottom:1.5rem;color:#333}.modal-actions button{padding:.8rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-weight:500}.cancel-btn{background-color:#f5f5f5;color:#333}.save-btn{background-color:#00cd97;color:#fff}.logout-btn:hover{background-color:#ffffff1a}.dashboard-content{max-width:1200px;margin:0 auto;width:100%;padding:0 2rem;box-sizing:border-box}.create-section{background:#fff;padding:1.5rem;border-radius:8px;margin-bottom:2rem;box-shadow:0 1px 3px #0000001a;border-top:none}.create-section h3{margin-top:0;color:#333}.create-form{display:flex;gap:1rem;margin-top:1rem}.create-form input{flex:1;padding:.8rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.join-class-input{text-align:center;font-size:1.5rem;letter-spacing:2px;text-transform:uppercase}.create-btn{background-color:#00cd97;color:#fff;font-weight:600;border-radius:4px;transition:none}.create-btn:hover{background-color:#00b383;transform:none}.section-title{color:#555;margin-bottom:1rem;border-bottom:2px solid #ddd;padding-bottom:.5rem;font-weight:400;text-transform:none;letter-spacing:normal;font-size:1.17em}.grid-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.assignment-card{background:#fff;border:1px solid #e0e0e0;border-radius:8px;padding:1.5rem;display:flex;flex-direction:column;justify-content:space-between;min-height:150px;box-shadow:0 2px 5px #0000000d;transition:transform .2s,box-shadow .2s;border-left:none}.assignment-card:hover{transform:translateY(-4px);box-shadow:0 5px 15px #0000001a}.assignment-card h4{margin:0 0 .5rem;color:#333;font-size:1.2rem;font-weight:600}.assignment-card p{color:#777;font-size:.9rem;margin:0}.card-actions{display:flex;gap:.5rem;margin-top:1.5rem}.card-actions button{flex:1;padding:.5rem;font-size:.85rem;border-radius:4px}.edit-btn{background-color:#2196f3;color:#fff}.view-btn{background-color:#ff9800;color:#fff}.delete-btn{background-color:#fff;border:1px solid #f44336;color:#f44336}.delete-btn:hover{background-color:#f44336;color:#fff}.start-btn{background-color:#00cd97;color:#fff;width:100%;margin-top:1.5rem;padding:.8rem;font-size:1rem;border-radius:4px;font-weight:400;box-shadow:none}.start-btn:hover{background-color:#00b383;box-shadow:none}.empty-state{text-align:center;padding:3rem;background:#fff;border-radius:8px;color:#888;border:2px dashed #eee}@media(max-width:768px)and (orientation:landscape){.dashboard-header{padding:.5rem 1rem;margin-bottom:1rem;flex-wrap:wrap;gap:.5rem}.dashboard-header h1{font-size:1.2rem}.user-info{gap:.75rem}.dashboard-content{padding:0 1rem}.create-form{flex-wrap:wrap}.grid-container{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.assignment-card{padding:1rem}}@media(max-width:480px){.dashboard-header{padding:.5rem;flex-direction:column;gap:.5rem;text-align:center}.dashboard-header img{height:60px!important}.user-info{width:100%;justify-content:center;gap:.5rem;flex-direction:column}.dashboard-content{padding:0 .5rem;overflow-x:hidden}.create-section{padding:1rem;margin-bottom:1rem}.join-class-input{font-size:1.2rem;letter-spacing:1px;padding:.6rem;width:100%;box-sizing:border-box}.grid-container{grid-template-columns:1fr;gap:1rem}.assignment-card{padding:1rem}}.owner-card-bg{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;pointer-events:none;z-index:0}.matrix-column{position:absolute;top:-50%;display:flex;flex-direction:column;align-items:center;color:#8b0000;text-shadow:0 0 2px #ff0000;font-family:Courier New,Courier,monospace;font-weight:700;font-size:14px;line-height:14px;white-space:nowrap;animation:matrix-fall linear infinite;opacity:.7}@keyframes matrix-fall{0%{transform:translateY(-100%)}to{transform:translateY(1000%)}}.admin-panel-overlay{position:fixed;inset:0;background-color:#000c;z-index:2000;display:flex;justify-content:center;align-items:center}.admin-panel-container{background:#fff;width:90%;max-width:1000px;height:85vh;border-radius:8px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 30px #0000004d}.admin-header{background-color:#333;color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.admin-header h2{margin:0;font-size:1.5rem}.close-admin-btn{background:transparent;border:1px solid #666;color:#ccc;padding:.5rem 1rem;cursor:pointer;border-radius:4px}.close-admin-btn:hover{background:#444;color:#fff}.admin-tabs{display:flex;border-bottom:1px solid #ddd;background:#f9f9f9}.admin-tabs button{padding:1rem 2rem;background:transparent;border:none;cursor:pointer;font-size:1rem;font-weight:500;color:#666;border-bottom:3px solid transparent}.admin-tabs button.active{color:#00cd97;border-bottom:3px solid #00cd97;background:#fff}.admin-content{padding:2rem;overflow-y:auto;flex:1}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:1rem;text-align:left;border-bottom:1px solid #eee}.admin-table th{background-color:#f5f5f5;font-weight:600;color:#333}.role-badge{padding:4px 8px;border-radius:4px;font-size:.8rem;text-transform:uppercase;font-weight:700}.role-badge.teacher{background-color:#e3f2fd;color:#2196f3}.role-badge.student{background-color:#e8f5e9;color:#4caf50}.action-btn{padding:.4rem .8rem;margin-right:.5rem;border:none;border-radius:4px;cursor:pointer;font-size:.8rem}.make-teacher{background-color:#2196f3;color:#fff}.make-student{background-color:#4caf50;color:#fff}.create-ticket-form{background:#f9f9f9;padding:1.5rem;border-radius:8px;margin-bottom:2rem}.create-ticket-form h4{margin-top:0}.create-ticket-form input,.create-ticket-form textarea{display:block;width:100%;margin-bottom:1rem;padding:.8rem;border:1px solid #ddd;border-radius:4px;box-sizing:border-box}.create-ticket-form button{background-color:#00cd97;color:#fff;border:none;padding:.8rem 1.5rem;border-radius:4px;cursor:pointer;font-weight:700}.ticket-item{border:1px solid #eee;padding:1.5rem;border-radius:8px;margin-bottom:1rem;position:relative}.ticket-header{display:flex;justify-content:space-between;margin-bottom:.5rem;font-size:.85rem;color:#888}.ticket-status{background:#eee;padding:2px 6px;border-radius:4px;text-transform:uppercase;font-weight:700;font-size:.7rem}.ticket-item h5{margin:0 0 .5rem;font-size:1.1rem;color:#333}.delete-ticket-btn{background:#ffebee;color:#f44336;border:none;padding:.4rem .8rem;border-radius:4px;cursor:pointer;font-size:.8rem;margin-top:1rem}.public-share-container{background-color:#f1f5f9;min-height:100vh;padding:3rem 1rem;font-family:Inter,sans-serif;color:#334155;display:flex;justify-content:center;align-items:flex-start;box-sizing:border-box;overflow-x:hidden}.public-share-card{max-width:850px;width:100%;background:#fff;position:relative;box-shadow:0 25px 50px -12px #00000040;overflow:hidden;box-sizing:border-box}.share-frame-border{position:absolute;inset:15px;border:2px solid #e2e8f0;pointer-events:none;z-index:10}.share-corner{position:absolute;width:40px;height:40px;border-color:#6366f1;border-style:solid;z-index:11}.share-corner.tl{top:15px;left:15px;border-width:4px 0 0 4px;border-top-color:#6366f1;border-left-color:#6366f1;border-right-color:transparent;border-bottom-color:transparent}.share-corner.tr{top:15px;right:15px;border-width:4px 4px 0 0;border-top-color:#6366f1;border-right-color:#6366f1;border-left-color:transparent;border-bottom-color:transparent}.share-corner.bl{bottom:15px;left:15px;border-width:0 0 4px 4px;border-bottom-color:#6366f1;border-left-color:#6366f1;border-top-color:transparent;border-right-color:transparent}.share-corner.br{bottom:15px;right:15px;border-width:0 4px 4px 0;border-bottom-color:#6366f1;border-right-color:#6366f1;border-top-color:transparent;border-left-color:transparent}.share-content{padding:4rem 5rem}.share-header{text-align:center;margin-bottom:3rem}.share-logo{height:70px}.share-title{font-size:2.5rem;font-weight:800;color:#1e293b;margin:0 0 .5rem;text-transform:uppercase;letter-spacing:.05em}.share-subtitle{font-size:1.1rem;color:#64748b;margin:0;font-style:italic}.share-meta{margin-top:2.5rem;border-top:2px solid #f1f5f9;border-bottom:2px solid #f1f5f9;padding:1rem 0;display:flex;justify-content:space-between;color:#475569;font-size:1rem}.share-list-title{font-size:1rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.share-list{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:4rem}.share-item-card{padding:1.25rem 1.5rem;border-radius:4px;display:flex;align-items:center;font-size:1.1rem;color:#334155;box-shadow:0 1px 2px #0000000d}.share-item-card.correct{border:2px solid #10b981;background:#f0fdf4}.share-item-card.incorrect{border:2px solid #ef4444;background:#fef2f2}.share-item-card.neutral{border:1px solid #e2e8f0;background:#fff}.share-item-number{font-weight:700;color:#64748b;margin-right:1rem;min-width:25px}.share-item-text{flex:1;font-family:serif}.share-item-icon{font-size:1.5rem;margin-left:1rem}.share-teacher-comment{margin-top:.5rem;margin-left:3rem;font-size:.95rem;color:#6366f1;font-style:italic;display:flex;align-items:center;gap:.5rem}.teacher-note-section{text-align:center;margin-top:2rem}.teacher-note-container{background:#fffbeb;border:1px dashed #f59e0b;padding:2rem;position:relative;max-width:100%;margin:0 auto;transform:rotate(-1deg)}.teacher-note-title{font-size:.9rem;text-transform:uppercase;letter-spacing:.05em;color:#b45309;margin-bottom:1rem;margin-top:0}.teacher-note-text{font-size:1.3rem;font-family:cursive;color:#1e293b;margin:0;line-height:1.6}.sticker{position:absolute;top:-25px;right:-25px;font-size:5rem;filter:drop-shadow(0 4px 4px rgba(0,0,0,.15));transform:rotate(15deg);z-index:20}.grade-badge{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);background:#059669;color:#fff;padding:.5rem 2rem;border-radius:9999px;font-weight:700;font-size:1.1rem;box-shadow:0 4px 6px -1px #0000001a}.share-footer{text-align:center;margin-top:4rem;color:#cbd5e1;font-size:.8rem}@media(max-width:640px){.public-share-container{padding:0;background:#fff}.public-share-card{box-shadow:none}.share-frame-border,.share-corner{display:none}.share-content{padding:1.5rem 1rem}.share-logo{height:50px}.share-title{font-size:1.75rem;margin-bottom:.25rem}.share-subtitle{font-size:1rem}.share-meta{margin-top:1.5rem;flex-direction:column;gap:.5rem;text-align:center;font-size:.9rem}.share-list{gap:1rem;margin-bottom:2.5rem}.share-item-card{padding:1rem;font-size:1rem;align-items:flex-start}.share-item-number{margin-right:.5rem;min-width:20px}.share-item-icon{font-size:1.2rem;margin-left:.5rem}.share-teacher-comment{margin-left:1rem;font-size:.9rem}.teacher-note-container{transform:none;padding:1.5rem 1rem;margin-top:1rem;box-sizing:border-box}.teacher-note-text{font-size:1.1rem}.sticker{font-size:3rem;top:-15px;right:-5px}.grade-badge{padding:.4rem 1.5rem;font-size:1rem;bottom:-15px;width:max-content}}@media(max-height:500px)and (orientation:landscape){.public-share-container{padding:0;height:auto;min-height:100vh;background:#fff;align-items:stretch}.public-share-card{max-width:none;box-shadow:none;border-radius:0}.share-content{padding:1rem 2rem;display:grid;grid-template-columns:240px 1fr;gap:1.5rem;align-items:start;min-height:100vh}.share-header{grid-column:1;margin-bottom:1rem;text-align:center;border-right:1px solid #f1f5f9;padding-right:1rem;display:flex;flex-direction:column;justify-content:center}.share-logo{height:40px;margin:0 auto .5rem}.share-title{font-size:1.2rem;margin:0}.share-subtitle{font-size:.75rem;display:block;margin-bottom:.5rem}.share-meta{margin-top:.5rem;border:none;padding:.5rem 0;flex-direction:column;gap:.25rem;font-size:.75rem;background:#f8fafc;border-radius:4px}.teacher-note-section{grid-column:1;margin-top:1rem}.teacher-note-container{padding:1rem;margin:0;transform:none;border:1px dashed #f59e0b;background:#fffbeb;text-align:center}.teacher-note-title{margin-bottom:.25rem;font-size:.7rem}.teacher-note-text{font-size:.9rem;line-height:1.4}.sticker{font-size:2.5rem;top:-10px;right:-10px;opacity:.9}.grade-badge{position:static;transform:none;display:inline-block;margin-top:.5rem;padding:.2rem .8rem;font-size:.8rem}.share-list{grid-column:2;display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem;margin-bottom:2rem;align-content:start}.share-list-title{grid-column:1 / -1;margin-bottom:.5rem;font-size:.9rem;border-bottom:1px solid #e2e8f0;padding-bottom:.25rem}.share-item-card{padding:.5rem .75rem;font-size:.85rem;min-height:auto}.share-item-number{min-width:18px;margin-right:.25rem;font-size:.85rem}.share-item-icon{font-size:1rem}.share-teacher-comment{margin-left:.5rem;font-size:.75rem}.share-footer{display:none}}.editor-container{display:flex;flex-direction:column;height:100vh;background-color:#f0f0f0}.editor-header{background:#fff;padding:1rem;display:flex;align-items:center;justify-content:space-between;box-shadow:0 2px 4px #0000001a;z-index:10}.tools{display:flex;gap:1rem;align-items:center}.canvas-wrapper{flex:1;display:flex;justify-content:center;align-items:center;overflow:auto;padding:2rem}.canvas-wrapper>div{box-shadow:0 4px 12px #00000026;background-color:#fff}@media(max-width:600px){.editor-header{flex-direction:column;gap:.5rem;padding:.5rem;height:auto;width:100%;box-sizing:border-box}.tools{width:100%;justify-content:center;flex-wrap:wrap;gap:.5rem}.tools button{flex:1;padding:.5rem;font-size:.8rem;min-width:80px}.canvas-wrapper{padding:.5rem;align-items:flex-start;width:100%;box-sizing:border-box;overflow-x:hidden}}@media(max-width:768px)and (orientation:landscape){.editor-header{padding:.5rem .75rem;gap:.5rem;flex-wrap:wrap;justify-content:space-between}.editor-header>div{display:flex;align-items:center;gap:.5rem}.tools{gap:.5rem;flex-wrap:wrap}.canvas-wrapper{padding:.5rem}}.exit-ticket-container{min-height:100vh;background-color:#fff;display:flex;flex-direction:column}.ticket-content{max-width:800px;width:100%;margin:0 auto;padding:2rem;text-align:center}.ticket-title{font-size:4rem;color:#333;margin-bottom:.5rem;font-weight:800;letter-spacing:2px;text-transform:uppercase}.assignment-title-body{font-size:2rem;color:#00cd97;margin-top:0;margin-bottom:2rem;font-weight:600}.ticket-question{font-size:1.5rem;color:#555;margin-bottom:3rem;font-weight:500}.learning-list{display:flex;flex-direction:column;gap:1rem}.learning-item{display:flex;align-items:center;gap:1rem;background:#f9f9f9;padding:.5rem 1rem;border-radius:8px;border:1px solid #eee;transition:all .2s}.learning-item:focus-within{border-color:#00cd97;box-shadow:0 0 0 3px #00cd971a}.item-number{font-size:1.5rem;font-weight:700;color:#00cd97;min-width:30px}.learning-item input{flex:1;border:none;background:transparent;font-size:1.2rem;padding:.5rem;outline:none;color:#333}.remove-btn{background:none;border:none;color:#f44;font-size:1.5rem;cursor:pointer;padding:0 .5rem}.remove-btn:hover{background:#ff00001a}.add-more-btn{margin-top:2rem;background-color:transparent;border:2px dashed #00cd97;color:#00cd97;font-size:1.1rem;padding:1rem 2rem;width:100%;border-radius:8px;cursor:pointer;transition:all .2s}.add-more-btn:hover{background-color:#00cd970d}.learning-list-view{display:flex;flex-direction:column;gap:1rem;text-align:left}.learning-item-view{display:flex;gap:1rem;background:#f0f8ff;padding:1.5rem;border-radius:8px;font-size:1.2rem}@media(max-width:600px){.ticket-content{padding:1rem .5rem;width:100%;box-sizing:border-box;overflow-x:hidden}.ticket-title{font-size:1.8rem;letter-spacing:.5px;margin-bottom:.5rem}.assignment-title-body{font-size:1.2rem;margin-bottom:1rem}.ticket-question{font-size:1rem;margin-bottom:1rem}.learning-item{padding:.5rem;gap:.5rem}.learning-item input{font-size:1rem;min-width:0}.item-number{font-size:1rem;min-width:20px}.remove-btn{font-size:1.2rem}.add-more-btn{padding:.8rem 1rem;font-size:1rem}.learning-item-view{padding:1rem;font-size:1rem;flex-direction:column;gap:.5rem}.item-feedback-controls{margin-left:0!important;margin-top:.5rem;flex-wrap:wrap}.item-feedback-controls input{width:100%;margin-top:.5rem}}.learning-item-container{width:100%}@media(max-width:768px)and (orientation:landscape){.ticket-content{padding:1rem;max-width:100%}.ticket-title{font-size:2rem;letter-spacing:1px;margin-bottom:.25rem}.assignment-title-body{font-size:1.25rem;margin-bottom:.5rem}.ticket-question{font-size:1rem;margin-bottom:1rem}.learning-list{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.learning-item-view{padding:.5rem 1rem;font-size:1rem}.item-number{font-size:1rem;min-width:20px}}
