body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,PingFang SC,Microsoft YaHei,Arial,sans-serif;background:#f6f6f6;min-height:100vh;color:#121212}a{color:#0084ff;text-decoration:none;transition:color .2s}a:hover{color:#06c;text-decoration:underline}button{cursor:pointer;border:none;font-size:1rem;font-weight:500;transition:all .2s;font-family:inherit}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1rem;background:#f6f6f6}.auth-card{background:#fff;border-radius:4px;padding:2rem;width:100%;max-width:400px;box-shadow:0 1px 2px #0000001a;border:1px solid #E7E7E7}.auth-card h1{text-align:center;margin-bottom:.5rem;color:#121212;font-size:1.5rem;font-weight:600}.auth-card .subtitle{text-align:center;color:#646464;font-size:.9rem;margin-bottom:1.5rem}.auth-card form{display:flex;flex-direction:column;gap:1rem}.auth-card .form-group{display:flex;flex-direction:column;gap:.375rem}.auth-card label{font-size:.85rem;font-weight:500;color:#646464}.auth-card input{padding:.625rem .75rem;border:1px solid #E7E7E7;border-radius:4px;font-size:1rem;background:#fff;transition:all .2s;color:#121212;height:44px}.auth-card input::placeholder{color:#b2b2b2}.auth-card input:focus{outline:none;border-color:#0084ff;box-shadow:0 0 0 2px #0084ff1a}.auth-card button[type=submit]{background:#0084ff;color:#fff;padding:.625rem 1.5rem;border-radius:4px;font-weight:500;font-size:1rem;height:44px;transition:all .2s}.auth-card button[type=submit]:hover{background:#06c}.auth-card button[type=submit]:active{transform:scale(.98)}.auth-card p{text-align:center;margin-top:1.25rem;color:#646464;font-size:.9rem}.auth-card p a{font-weight:500}.error{background:#fef2f2;color:#dc2626;padding:.625rem .75rem;border-radius:4px;font-size:.85rem;border-left:2px solid #DC2626}.agreement-text{text-align:center;font-size:.8rem;color:#646464;margin-top:1rem;line-height:1.5}.agreement-text a{color:#0084ff;font-weight:500}.step-indicator{display:flex;justify-content:center;gap:.5rem;margin-bottom:1.5rem}.step{width:8px;height:8px;border-radius:50%;background:#e7e7e7;transition:all .3s}.step.active{background:#0084ff;width:24px;border-radius:4px}.step.completed{background:#0084ff}.code-input-group{display:flex;gap:.5rem}.code-input-group input{flex:1}.code-input-group button{padding:.625rem 1rem;background:#0084ff;color:#fff;border-radius:4px;font-weight:500;white-space:nowrap;transition:all .2s;height:44px;font-size:.9rem}.code-input-group button:disabled{background:#b2b2b2;cursor:not-allowed}.code-input-group button:hover:not(:disabled){background:#06c}.role-selector{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:.5rem 0}.role-option{padding:.75rem .5rem;border:1px solid #E7E7E7;border-radius:4px;text-align:center;cursor:pointer;transition:all .2s;background:#fff}.role-option:hover{border-color:#0084ff;background:#f0f8ff}.role-option.selected{border-color:#0084ff;background:#e6f4ff;color:#0084ff;font-weight:500;border-width:2px}.role-option .emoji{font-size:1.5rem;display:block;margin-bottom:.25rem}.role-option .label{font-size:.85rem}.home-page{min-height:100vh;background:#f6f6f6}.header{background:#fff;border-bottom:1px solid #E7E7E7;position:sticky;top:0;z-index:100;box-shadow:0 1px 2px #0000000d}.header-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 1rem}.header-left{display:flex;align-items:center;gap:1.5rem}.logo-container{display:flex;align-items:center;gap:.5rem}.logo{width:32px;height:32px}.logo-text{font-size:1.1rem;font-weight:600;color:#121212}.nav-links{display:flex;gap:.25rem}.nav-links a{padding:.5rem 1rem;color:#646464;font-size:.95rem;font-weight:500;border-radius:4px;transition:all .2s}.nav-links a:hover{background:#f6f6f6;color:#121212;text-decoration:none}.nav-links a.active{color:#0084ff;background:#e6f4ff}.header-right{display:flex;align-items:center;gap:.75rem}.btn-primary{background:#0084ff;color:#fff;padding:.5rem 1rem;border-radius:4px;font-weight:500;font-size:.9rem;transition:all .2s;border:none}.btn-primary:hover{background:#06c;text-decoration:none}.btn-secondary{background:#fff;color:#646464;padding:.5rem 1rem;border:1px solid #E7E7E7;border-radius:4px;font-weight:500;font-size:.9rem;transition:all .2s}.btn-secondary:hover{border-color:#0084ff;color:#0084ff}.main-container{max-width:1200px;margin:0 auto;padding:1rem;display:grid;grid-template-columns:240px 1fr 300px;gap:1rem}.left-sidebar{position:sticky;top:68px;height:fit-content}.sidebar-menu{background:#fff;border-radius:4px;border:1px solid #E7E7E7;padding:.5rem 0}.sidebar-menu a{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:#646464;font-size:.95rem;transition:all .2s}.sidebar-menu a:hover{background:#f6f6f6;color:#121212;text-decoration:none}.sidebar-menu a.active{color:#0084ff;background:#e6f4ff}.sidebar-menu a .icon{font-size:1.1rem}.main-content{min-height:calc(100vh - 100px)}.right-sidebar{position:sticky;top:68px;height:fit-content}.sidebar-card{background:#fff;border-radius:4px;border:1px solid #E7E7E7;padding:1rem;margin-bottom:1rem}.sidebar-card h3{font-size:.95rem;font-weight:600;color:#121212;margin-bottom:.75rem}.sidebar-card p{font-size:.9rem;color:#646464;line-height:1.6}.user-card{text-align:center;padding:1.25rem 1rem}.user-avatar{width:64px;height:64px;border-radius:50%;margin-bottom:.75rem}.user-name{font-size:1rem;font-weight:600;color:#121212;margin-bottom:.25rem}.user-title{font-size:.85rem;color:#0084ff;margin-bottom:1rem}.user-stats{display:flex;justify-content:center;gap:1.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid #F0F0F0}.stat-item{text-align:center}.stat-value{font-size:1rem;font-weight:600;color:#121212}.stat-label{font-size:.75rem;color:#646464}.rant-card{background:#fff;border-radius:4px;border:1px solid #E7E7E7;padding:1.25rem;margin-bottom:1rem;transition:all .2s}.rant-card:hover{box-shadow:0 2px 8px #00000014}.rant-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.875rem}.author-avatar{width:36px;height:36px;border-radius:50%;background:#f0f0f0;object-fit:cover}.author-info{flex:1}.author-name{font-size:.95rem;font-weight:600;color:#121212;display:flex;align-items:center;gap:.5rem}.author-meta{font-size:.8rem;color:#999;margin-top:.125rem}.role-badge{display:inline-flex;align-items:center;padding:.125rem .5rem;border-radius:3px;font-size:.75rem;font-weight:500}.role-badge.student{background:#e6f4ff;color:#0084ff}.role-badge.parent{background:#fff4e6;color:#f80}.role-badge.expert{background:#f0e6ff;color:#84f}.rant-content{font-size:1rem;line-height:1.8;color:#121212;white-space:pre-wrap;word-break:break-word;margin-bottom:1rem}.rant-footer{display:flex;gap:.25rem;padding-top:.75rem;border-top:1px solid #F0F0F0}.action-btn{display:flex;align-items:center;gap:.375rem;padding:.5rem .75rem;background:transparent;color:#646464;border:none;border-radius:4px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.action-btn:hover{background:#f6f6f6;color:#0084ff}.action-btn.liked{color:#0084ff}.action-btn .icon{font-size:1rem}.action-btn .count{font-size:.85rem}.empty-state{text-align:center;padding:3rem 2rem;background:#fff;border-radius:4px;border:1px solid #E7E7E7}.empty-icon{font-size:3rem;margin-bottom:1rem}.empty-state h3{font-size:1.1rem;color:#121212;margin-bottom:.5rem}.empty-state p{color:#646464;margin-bottom:1.5rem}.footer{background:#fff;border-top:1px solid #E7E7E7;padding:2rem 1rem;margin-top:2rem}.footer-content{max-width:1200px;margin:0 auto}.footer-links{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;margin-bottom:1rem}.footer-links a{color:#646464;font-size:.85rem}.footer-links a:hover{color:#0084ff}.footer-text{text-align:center;color:#999;font-size:.8rem;line-height:1.8}.create-page{min-height:100vh;background:#f6f6f6}.create-form{background:#fff;border-radius:4px;border:1px solid #E7E7E7;padding:1.5rem}.create-form textarea{width:100%;padding:1rem;border:1px solid #E7E7E7;border-radius:4px;font-size:1rem;font-family:inherit;resize:vertical;min-height:200px;transition:all .2s}.create-form textarea:focus{outline:none;border-color:#0084ff;box-shadow:0 0 0 2px #0084ff1a}.create-form .form-actions{display:flex;justify-content:space-between;align-items:center;margin-top:1rem}.comments-panel{margin-top:1rem;padding-top:1rem;border-top:1px solid #F0F0F0}.comments-list{max-height:400px;overflow-y:auto;margin-bottom:1rem}.comment-item{padding:.75rem 0;border-bottom:1px solid #F6F6F6}.comment-item:last-child{border-bottom:none}.comment-author{font-size:.9rem;font-weight:500;color:#121212;margin-bottom:.25rem}.comment-content{font-size:.9rem;color:#646464;line-height:1.6}.comment-time{font-size:.8rem;color:#999;margin-top:.25rem}.comment-input-area{display:flex;flex-direction:column;gap:.5rem}.comment-input-area textarea{width:100%;padding:.75rem;border:1px solid #E7E7E7;border-radius:4px;font-size:.9rem;font-family:inherit;resize:vertical;min-height:80px}.comment-input-area textarea:focus{outline:none;border-color:#0084ff;box-shadow:0 0 0 2px #0084ff1a}.comment-input-actions{display:flex;justify-content:space-between;align-items:center}.char-count{font-size:.8rem;color:#999}.btn-sm{padding:.5rem 1rem;font-size:.85rem}.loading{text-align:center;padding:2rem;color:#646464}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #E7E7E7}.section-header h3{font-size:1.1rem;font-weight:600;color:#121212}.tab-group{display:flex;gap:.25rem}.tab-btn{padding:.5rem 1rem;background:transparent;color:#646464;border:1px solid transparent;border-radius:4px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s}.tab-btn:hover{background:#f6f6f6}.tab-btn.active{color:#0084ff;background:#e6f4ff}.badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 .375rem;background:#ff4d4f;color:#fff;font-size:.75rem;font-weight:600;border-radius:9px}.divider{height:1px;background:#e7e7e7;margin:1rem 0}@media (max-width: 1024px){.main-container{grid-template-columns:1fr 300px}.left-sidebar{display:none}}@media (max-width: 768px){.main-container{grid-template-columns:1fr}.right-sidebar{display:none}.header-content{gap:.5rem}.nav-links{display:none}.role-selector{grid-template-columns:1fr}.auth-card{padding:1.5rem}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
