body{margin:0;padding:0;font-family:Raleway,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:linear-gradient(135deg,#667eea,#764ba2);color:#333}*{box-sizing:border-box}a{color:inherit;text-decoration:none}button{font-family:inherit}:root{--primary:#667eea;--secondary:#764ba2;--accent:#f093fb;--text-dark:#2d3748;--text-light:#ffffff;--bg-light:#ffffff;--bg-dark:#1a202c;--shadow:0 10px 40px rgba(0,0,0,0.1)}.container{max-width:1200px;margin:0 auto;padding:0 20px}.nav{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow);position:-webkit-sticky;position:sticky;top:0;z-index:100}.nav-content{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;max-width:1200px;margin:0 auto}.nav-logo{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-links{display:flex;gap:2rem;list-style:none;margin:0;padding:0}.nav-link{color:var(--text-dark);font-weight:500;transition:color .3s}.nav-link:hover{color:var(--primary)}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-light);padding:2rem}.hero-content h1{font-size:4rem;margin-bottom:1rem;font-weight:700;text-shadow:0 2px 10px rgba(0,0,0,.2)}.hero-content p{font-size:1.5rem;margin-bottom:2rem;opacity:.9}.btn{display:inline-block;padding:1rem 2rem;background:white;color:var(--primary);border-radius:50px;font-weight:600;transition:transform .3s,box-shadow .3s;cursor:pointer;border:none;font-size:1rem}.btn:hover{transform:translateY(-2px);box-shadow:0 10px 25px rgba(0,0,0,.2)}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--secondary));color:white}.section{padding:5rem 2rem;background:white}.section-dark{background:var(--bg-dark);color:var(--text-light)}.section-title{text-align:center;font-size:2.5rem;margin-bottom:3rem;font-weight:700}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));grid-gap:2rem;gap:2rem}.card{background:white;border-radius:15px;padding:2rem;box-shadow:var(--shadow);transition:transform .3s}.card:hover{transform:translateY(-5px)}.card-image{width:100%;height:200px;object-fit:cover;border-radius:10px;margin-bottom:1rem}.card-title{font-size:1.5rem;margin-bottom:1rem;font-weight:600}.card-content{color:#666;line-height:1.6}.form-group{margin-bottom:1.5rem}.form-label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--text-dark)}.form-input,.form-select,.form-textarea{width:100%;padding:.75rem;border:2px solid #e2e8f0;border-radius:8px;font-size:1rem;transition:border-color .3s}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--primary)}.form-textarea{min-height:120px;resize:vertical}.chat-container{background:white;border-radius:15px;box-shadow:var(--shadow);overflow:hidden;height:600px;display:flex;flex-direction:column}.chat-messages{flex:1 1;overflow-y:auto;padding:1.5rem;background:#f7fafc}.chat-message{background:white;padding:1rem;border-radius:10px;margin-bottom:1rem;box-shadow:0 2px 5px rgba(0,0,0,.05)}.chat-message-author{font-weight:600;color:var(--primary);margin-bottom:.5rem}.chat-message-time{font-size:.75rem;color:#999}.chat-input-container{padding:1rem;background:white;border-top:1px solid #e2e8f0;display:flex;gap:1rem}.chat-input{flex:1 1;padding:.75rem;border:2px solid #e2e8f0;border-radius:25px;font-size:1rem}.timeline{position:relative;padding-left:3rem}.timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--primary),var(--secondary))}.timeline-item{position:relative;margin-bottom:2rem}.timeline-item:before{content:"";position:absolute;left:-3.5rem;top:0;width:16px;height:16px;border-radius:50%;background:var(--primary);border:3px solid white;box-shadow:0 0 0 3px var(--primary)}.prep-page{min-height:100vh;background:#f5f7fb;padding:2rem 0 3rem}.prep-header{background:rgba(255,255,255,.96);border-radius:16px;padding:1.5rem 2rem;box-shadow:var(--shadow);margin-bottom:1.25rem}.prep-title-row{display:flex;flex-direction:column;gap:.75rem}.prep-title{margin:0;font-size:2rem;font-weight:700;color:var(--text-dark)}.prep-stats{flex-wrap:wrap;gap:.75rem}.prep-stat-card,.prep-stats{display:flex;align-items:center}.prep-stat-card{flex-direction:column;justify-content:center;padding:.75rem 1.25rem;border-radius:12px;background:white;box-shadow:0 2px 8px rgba(0,0,0,.08);border:2px solid;transition:transform .2s,box-shadow .2s;min-width:80px}.prep-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.12)}.prep-stat-number{font-size:1.5rem;font-weight:700;line-height:1;margin-bottom:.25rem}.prep-stat-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;opacity:.8}.prep-stat-total{border-color:#667eea;color:#667eea;background:linear-gradient(135deg,#ffffff,#f3f4ff)}.prep-stat-todo{border-color:#f59e0b;color:#f59e0b;background:linear-gradient(135deg,#ffffff,#fffbeb)}.prep-stat-inprogress{border-color:#3b82f6;color:#3b82f6;background:linear-gradient(135deg,#ffffff,#eff6ff)}.prep-stat-done{border-color:#10b981;color:#10b981;background:linear-gradient(135deg,#ffffff,#f0fdf4)}.prep-stat-overdue{border-color:#ef4444;color:#ef4444;background:linear-gradient(135deg,#ffffff,#fef2f2);animation:pulse-overdue 2s ease-in-out infinite}@keyframes pulse-overdue{0%,to{box-shadow:0 2px 8px rgba(239,68,68,.2)}50%{box-shadow:0 4px 16px rgba(239,68,68,.4)}}.prep-overdue{color:#e53e3e;font-weight:700}.prep-toolbar{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;background:white;border-radius:16px;padding:1rem 1.25rem;box-shadow:var(--shadow);margin-bottom:1.5rem}.toggle-group{display:flex;border:2px solid #e2e8f0;border-radius:999px;overflow:hidden}.toggle-button{padding:.5rem 1.25rem;background:white;border:0;font-weight:600;color:#4a5568;cursor:pointer;transition:background .2s,color .2s}.toggle-button.is-active{background:linear-gradient(135deg,var(--primary),var(--secondary));color:white}.prep-content{margin-top:1rem}.prep-table{background:white;border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.prep-table-head,.prep-table-row{display:grid;grid-template-columns:40px 3fr 2fr 2fr 1.5fr 2fr 2.5fr 1fr;align-items:center;grid-gap:1rem;gap:1rem;padding:1rem 1.25rem}.prep-table-head{background:#f8fafc;font-weight:700;color:#2d3748;border-bottom:1px solid #e2e8f0}.prep-table-row{border-bottom:1px solid #edf2f7}.prep-table-row:last-child{border-bottom:none}.prep-subtask-row{background-color:#fafbfc;border-left:3px solid #cbd5e0}.prep-subtask-row:hover{background-color:#f4f6f8}.prep-task-title{font-weight:600;color:#2d3748}.prep-muted{color:#718096;font-weight:500}.prep-select{max-width:160px}.prep-empty{padding:2rem;text-align:center;color:#718096}.icon-button{background:transparent;border:0;cursor:pointer;font-size:1rem}.prep-table-row>div[style*="cursor: pointer"]:not([style*="cursor: default"]):hover{background-color:#f7fafc;border-radius:6px;outline:2px solid #e2e8f0;outline-offset:-2px}.prep-table-row>div[style*="cursor: pointer"]:not([style*="cursor: default"]):after{content:"✎";opacity:0;margin-left:8px;font-size:.85em;color:#a0aec0;transition:opacity .2s}.prep-table-row>div[style*="cursor: pointer"]:not([style*="cursor: default"]):hover:after{opacity:1}.prep-kanban{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1.5rem;gap:1.5rem}.kanban-column{background:rgba(255,255,255,.95);border-radius:16px;padding:1rem;box-shadow:var(--shadow)}.kanban-column.is-drop-target{outline:2px dashed var(--primary);outline-offset:4px;background:#f8f9ff}.kanban-header{font-weight:700;color:#2d3748;margin-bottom:1rem}.kanban-list{display:grid;grid-gap:.75rem;gap:.75rem}.kanban-quick{margin-bottom:1rem}.kanban-quick-button{width:100%;border:2px dashed #cbd5f5;background:#f8f9ff;color:#4a5568;padding:.6rem .8rem;border-radius:12px;font-weight:600;cursor:pointer;transition:all .2s}.kanban-quick-button:hover{border-color:var(--primary);color:var(--primary)}.kanban-quick-form{display:grid;grid-gap:.6rem;gap:.6rem}.kanban-quick-actions{display:flex;gap:.5rem;justify-content:flex-end}.kanban-card{background:white;border-radius:12px;padding:1rem 1.25rem;box-shadow:0 6px 16px rgba(0,0,0,.08);border:1px solid #edf2f7;transition:transform .2s,box-shadow .2s}.kanban-card:hover{box-shadow:0 8px 20px rgba(0,0,0,.12);transform:translateY(-2px)}.kanban-card.is-dragging{opacity:.6;border-color:var(--primary)}.kanban-title{font-weight:600;color:#2d3748;font-size:1rem;line-height:1.4}.kanban-card input[type=checkbox]{width:16px;height:16px;accent-color:#6366f1;flex-shrink:0}.kanban-card input[type=text].form-input{border:1px solid #d1d5db;border-radius:6px;outline:none}.kanban-card input[type=text].form-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px rgba(99,102,241,.1)}.prep-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.5);display:flex;align-items:center;justify-content:center;z-index:1000}.prep-modal{background:white;border-radius:16px;padding:1.5rem;width:min(520px,92vw);box-shadow:var(--shadow)}.prep-modal h2{margin-top:0}.prep-modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem}.prep-loading{background:white;border-radius:16px;padding:2.5rem;box-shadow:var(--shadow);text-align:center}.prep-spinner{width:48px;height:48px;border-radius:50%;border:4px solid #e2e8f0;border-top:4px solid var(--primary);margin:0 auto 1rem;animation:spin .8s linear infinite}.prep-access-card{background:white;border-radius:16px;padding:2rem;box-shadow:var(--shadow);text-align:center}.prep-access-icon{width:48px;height:48px;margin:0 auto 1rem;border-radius:50%;background:#fed7d7;color:#c53030;display:flex;align-items:center;justify-content:center;font-weight:700}@media (max-width:900px){.prep-table-head,.prep-table-row{grid-template-columns:40px 2.5fr 1.5fr 1.5fr 1fr 1.5fr 2fr 1fr}.prep-kanban{grid-template-columns:1fr}.prep-stat-card{min-width:70px;padding:.6rem 1rem}.prep-stat-number{font-size:1.25rem}.prep-stat-label{font-size:.7rem}}@media (max-width:640px){.prep-table-head{display:none}.prep-table-row{grid-template-columns:1fr;gap:.5rem}.prep-table-row>div{display:flex;justify-content:space-between}.prep-stat-card{min-width:60px;padding:.5rem .75rem}.prep-stat-number{font-size:1.1rem}.prep-stat-label{font-size:.65rem}.prep-stats{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.5rem}.prep-stats::-webkit-scrollbar{height:4px}.prep-stats::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:4px}.prep-title{font-size:1.5rem}}.timeline-date{color:var(--primary)}.timeline-date,.timeline-title{font-weight:600;margin-bottom:.5rem}.timeline-title{font-size:1.25rem}.post-actions{display:flex;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #e2e8f0}.action-btn{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;background:#f7fafc;border-radius:20px;cursor:pointer;transition:all .3s;font-size:.9rem}.action-btn:hover{background:#e2e8f0}.action-btn.liked{background:#fee;color:#e53e3e}.comments-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e2e8f0}.comment{background:#f7fafc;padding:1rem;border-radius:8px;margin-bottom:.75rem}.comment-author{font-weight:600;color:var(--primary);margin-bottom:.5rem}.comment-time{font-size:.75rem;color:#999}.loading{display:inline-block;width:20px;height:20px;border:3px solid #f3f3f3;border-top:3px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width:768px){.hero-content h1{font-size:2.5rem}.nav-links{gap:1rem;font-size:.9rem}.grid{grid-template-columns:1fr}.container{padding:0 1rem}.section{padding:3rem 1rem}.section-title{font-size:1.75rem}.card{padding:1.5rem}.nav-content{padding:1rem}.chat-container{height:calc(100vh - 180px);border-radius:8px}.chat-messages{padding:1rem}.chat-input-container{padding:.75rem;gap:.5rem}.prep-page{padding:1rem 0 2rem}.prep-header{padding:1rem;border-radius:12px}.prep-title{font-size:1.5rem}.prep-stats{gap:.5rem}.prep-stat-card{padding:.5rem 1rem;min-width:70px}.prep-stat-number{font-size:1.25rem}.prep-stat-label{font-size:.65rem}.timeline{padding-left:2rem}.timeline-item:before{left:-2.375rem}}@media (max-width:640px){.hero-content h1{font-size:2rem}.hero-content p{font-size:1.25rem}.btn{padding:.875rem 1.5rem;font-size:.9rem}.card-title{font-size:1.25rem}.form-input,.form-select,.form-textarea{font-size:16px}.chat-container{height:calc(100vh - 150px)}.prep-title{font-size:1.25rem}.prep-stat-card{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 0.25rem);min-width:60px}}@media (max-width:480px){.hero-content h1{font-size:1.75rem}.section-title{font-size:1.5rem}.card{padding:1rem}.prep-stats{flex-direction:column;width:100%}.prep-stat-card{width:100%;flex-direction:row;justify-content:flex-start;gap:1rem}}