:root{--color-primary: #2563eb;--color-primary-dark: #1e40af;--color-primary-light: #3b82f6;--color-secondary: #64748b;--color-success: #10b981;--color-error: #ef4444;--color-warning: #f59e0b;--color-bg: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f1f5f9;--color-text: #1e293b;--color-text-secondary: #64748b;--color-text-muted: #94a3b8;--color-border: #e2e8f0;--color-border-light: #f1f5f9;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;--font-mono: "Fira Code", "Consolas", "Monaco", "Courier New", monospace}html.dark-theme,.layout.dark-theme{--color-primary: #60a5fa;--color-primary-dark: #3b82f6;--color-primary-light: #93c5fd;--color-bg: #0f172a;--color-bg-secondary: #1e293b;--color-bg-tertiary: #334155;--color-text: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-muted: #94a3b8;--color-border: #475569;--color-border-light: #334155;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -1px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .3), 0 4px 6px -2px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .3), 0 10px 10px -5px rgba(0, 0, 0, .2)}html.dark-theme,html.dark-theme body{background-color:var(--color-bg)}html.dark-theme .main-content h1,html.dark-theme .main-content h2,html.dark-theme .articles-page h1,html.dark-theme .flashcard-practice h1,html.dark-theme .flashcard-practice h2,html.dark-theme .topic-request-page h1,html.dark-theme .admin-page h1,html.dark-theme .admin-page h2,html.dark-theme .admin-page h3{color:var(--color-text)}html.dark-theme .hero h1{background:linear-gradient(135deg,var(--color-primary-light) 0%,#93c5fd 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}html.dark-theme button,html.dark-theme .btn-primary,html.dark-theme .btn-secondary,html.dark-theme .btn-cancel,html.dark-theme .btn-danger,html.dark-theme .navigation button,html.dark-theme .flashcard-navigation button,html.dark-theme .flashcard-front button,html.dark-theme .flashcard-back button,html.dark-theme .flashcard-actions button,html.dark-theme .pagination button,html.dark-theme .admin-tabs button{color:#fff}html.dark-theme .btn-secondary,html.dark-theme .btn-cancel,html.dark-theme .navigation button,html.dark-theme .flashcard-navigation .btn-prev,html.dark-theme .pagination button:not(.pagination-next){background-color:var(--color-bg-tertiary);border-color:var(--color-border);color:var(--color-text)}html.dark-theme .admin-tabs button{color:var(--color-text-secondary)}html.dark-theme .admin-tabs button:hover,html.dark-theme .admin-tabs button.active{color:var(--color-primary-light)}html.dark-theme .article-card h3,html.dark-theme .article-card .excerpt,html.dark-theme .article-card .meta,html.dark-theme .deck-card h3,html.dark-theme .deck-card p,html.dark-theme .cheatsheet-item-card h3,html.dark-theme .cheatsheet-item-preview,html.dark-theme .cheatsheet-card h3,html.dark-theme .admin-list-item,html.dark-theme .admin-list-item *{color:var(--color-text)}html.dark-theme .article-card .meta,html.dark-theme .deck-card p,html.dark-theme .cheatsheet-item-preview{color:var(--color-text-secondary)}html.dark-theme .flashcard-front h2,html.dark-theme .flashcard-front p,html.dark-theme .flashcard-back h2,html.dark-theme .flashcard-back p{color:var(--color-text)}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:16px;line-height:1.7;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layout{min-height:100vh;display:flex;flex-direction:column}.header{border-bottom:1px solid var(--color-border);padding:1.25rem 0;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:var(--color-bg)}.nav{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.5rem;font-weight:700;color:var(--color-text);text-decoration:none;transition:color .2s}.logo:hover{color:var(--color-primary)}.nav-links{display:flex;gap:2rem;align-items:center}.nav-links a{color:var(--color-text-secondary);text-decoration:none;font-weight:500;font-size:.95rem;transition:color .2s;position:relative}.nav-links a:hover{color:var(--color-primary)}.nav-links a:after{content:"";position:absolute;bottom:-.5rem;left:0;width:0;height:2px;background-color:var(--color-primary);transition:width .2s}.nav-links a:hover:after{width:100%}.theme-toggle{background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);padding:.35rem .6rem;font-size:1.1rem;cursor:pointer;transition:background .2s,border-color .2s}.theme-toggle:hover{background:var(--color-bg-secondary);border-color:var(--color-primary)}html.dark-theme .header{background-color:var(--color-bg)}.main-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:3rem 2rem}.footer{background-color:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:2.5rem 2rem;text-align:center;color:var(--color-text-secondary);margin-top:4rem}.footer-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1rem 1.5rem}.footer-copyright{margin:0}.footer-version{font-size:.85rem;opacity:.9;margin-left:.5rem}.support-link{margin:0}.support-button{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.25rem;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border-radius:var(--radius-md);text-decoration:none;font-weight:600;font-size:.9rem;transition:transform .2s,box-shadow .2s;box-shadow:var(--shadow-sm)}.support-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);text-decoration:none;color:#fff;background:linear-gradient(135deg,#16a34a,#15803d)}.home{max-width:1200px;margin:0 auto}.hero{text-align:center;padding:4rem 0 3rem;margin-bottom:4rem}.hero h1{font-size:3.5rem;font-weight:800;margin-bottom:1rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.hero p{font-size:1.25rem;color:var(--color-text-secondary);max-width:600px;margin:0 auto}.article-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;margin:3rem 0}.articles-page .article-grid{grid-template-columns:repeat(3,1fr)}@media (max-width: 900px){.articles-page .article-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 600px){.articles-page .article-grid{grid-template-columns:1fr}}.article-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;transition:all .3s ease;text-decoration:none;display:block;box-shadow:var(--shadow-sm)}.article-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:var(--color-primary-light);text-decoration:none}.article-card h3{margin:0 0 .75rem;color:var(--color-text);font-size:1.5rem;font-weight:700;line-height:1.3}.article-card .excerpt{color:var(--color-text-secondary);margin-bottom:1.25rem;line-height:1.6}.article-card .meta{display:flex;gap:1rem;align-items:center;font-size:.875rem;color:var(--color-text-muted);flex-wrap:wrap}.technology{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:#fff;padding:.375rem .75rem;border-radius:var(--radius-sm);font-weight:600;font-size:.8rem}.view-all{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-primary);text-decoration:none;font-weight:600;margin-top:2rem;transition:gap .2s}.view-all:hover{gap:.75rem;text-decoration:none}.article-detail{max-width:800px;margin:0 auto}.article-detail header{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--color-border)}.article-detail h1{font-size:3rem;font-weight:800;margin-bottom:1.5rem;line-height:1.2;color:var(--color-text)}.article-meta{display:flex;gap:1.5rem;margin-bottom:1.5rem;color:var(--color-text-secondary);font-size:.9rem;flex-wrap:wrap;align-items:center}.tags{display:flex;gap:.75rem;flex-wrap:wrap}.tag{background-color:var(--color-bg-tertiary);color:var(--color-text);padding:.375rem .875rem;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;border:1px solid var(--color-border);transition:all .2s}.tag:hover{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.article-content{line-height:1.9;margin-bottom:4rem;font-size:1.1rem;color:var(--color-text);overflow-wrap:break-word;word-break:break-word;max-width:100%}.article-detail{overflow-x:hidden;max-width:100%}.article-content h2{margin-top:3rem;margin-bottom:1.5rem;font-size:2rem;font-weight:700;color:var(--color-text);padding-bottom:.5rem;border-bottom:2px solid var(--color-border)}.article-content h3{margin-top:2.5rem;margin-bottom:1rem;font-size:1.5rem;font-weight:600;color:var(--color-text)}.article-content h4{margin-top:2rem;margin-bottom:.75rem;font-size:1.25rem;font-weight:600;color:var(--color-text)}.article-content p{margin-bottom:1.5rem}.article-content ul,.article-content ol{margin-bottom:1.5rem;padding-left:2rem}.article-content li{margin-bottom:.5rem}.article-content code{background-color:var(--color-bg-tertiary);padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:.9em;font-family:var(--font-mono);color:var(--color-primary-dark);border:1px solid var(--color-border)}.article-content pre{background-color:#1e293b;padding:1.5rem;border-radius:var(--radius-md);overflow-x:auto;margin:2rem 0;box-shadow:var(--shadow-md)}.article-content pre code{background:none;padding:0;border:none;color:#e2e8f0;font-size:.9rem}.article-content blockquote{border-left:4px solid var(--color-primary);padding-left:1.5rem;margin:2rem 0;color:var(--color-text-secondary);font-style:italic}.article-content a{color:var(--color-primary);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .2s}.article-content a:hover{border-bottom-color:var(--color-primary)}.article-content table{width:100%;border-collapse:collapse;margin:2rem 0;box-shadow:var(--shadow-sm);border-radius:var(--radius-md);overflow:hidden}.article-content table th,.article-content table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--color-border)}.article-content table th{background-color:var(--color-bg-tertiary);font-weight:600;color:var(--color-text)}.article-content table tr:hover{background-color:var(--color-bg-secondary)}.cheatsheet-detail .article-content{font-size:.95rem}.cheatsheet-detail .article-content h2{font-size:1.25rem;margin-top:2.5rem;margin-bottom:.75rem;padding-bottom:.25rem;border-bottom:1px solid var(--color-border)}.cheatsheet-detail .article-content h3{font-size:1.1rem;margin-top:1.5rem}.cheatsheet-detail .article-content table{margin:.5rem 0 1.5rem;font-size:.9rem}.cheatsheet-detail .article-content table th,.cheatsheet-detail .article-content table td{padding:.5rem 1rem;vertical-align:top}.cheatsheet-detail .article-content table td:first-child,.cheatsheet-detail .article-content table th:first-child{font-family:var(--font-mono);font-size:.85rem;white-space:nowrap;width:1%;background-color:var(--color-bg-tertiary);color:var(--color-text);border-right:1px solid var(--color-border)}.cheatsheet-detail .article-content table td:last-child,.cheatsheet-detail .article-content table th:last-child{min-width:50%}.cheatsheet-detail .article-content pre{margin:.5rem 0 1.5rem}.related-flashcards{margin-top:4rem;padding:2.5rem;background:linear-gradient(135deg,var(--color-bg-secondary) 0%,var(--color-bg-tertiary) 100%);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.flashcard-preview{display:grid;gap:1.25rem;margin:1.5rem 0}.flashcard-mini{padding:1.5rem;background-color:var(--color-bg);border-radius:var(--radius-md);border-left:4px solid var(--color-primary);box-shadow:var(--shadow-sm)}.practice-link{display:inline-flex;align-items:center;gap:.5rem;margin-top:1.5rem;color:var(--color-primary);font-weight:600;text-decoration:none}.practice-link:hover{text-decoration:none;gap:.75rem}.flashcard-practice{max-width:800px;margin:0 auto;text-align:center}.progress{margin-bottom:3rem;color:var(--color-text-secondary);font-size:1.1rem}.flashcard-container{perspective:1000px;margin:3rem 0}.flashcard{width:100%;height:450px;position:relative;transform-style:preserve-3d;transition:transform .6s}.flashcard.flipped{transform:rotateY(180deg)}.flashcard-front,.flashcard-back{position:absolute;width:100%;height:100%;backface-visibility:hidden;border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:3rem;display:flex;flex-direction:column;justify-content:center;background-color:var(--color-bg);box-shadow:var(--shadow-xl);overflow-wrap:break-word;word-break:break-word;overflow:auto}.flashcard-front p,.flashcard-back p{overflow-wrap:break-word;word-break:break-word}.flashcard-back{transform:rotateY(180deg)}.deck-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;margin-top:1.5rem;text-align:left}.deck-card{display:block;padding:1.5rem;border:2px solid var(--color-border);border-radius:var(--radius-lg);text-decoration:none;color:var(--color-text);transition:transform .2s,box-shadow .2s,border-color .2s}.deck-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.deck-card-all{border-color:var(--color-primary-light);background:linear-gradient(135deg,rgba(37,99,235,.06),transparent)}.deck-card-all:hover{border-color:var(--color-primary)}.deck-icon{font-size:2rem;display:block;margin-bottom:.5rem}.deck-card h3{margin:0 0 .5rem;font-size:1.25rem}.deck-card p{margin:0;font-size:.9rem;color:var(--color-text-secondary)}.flashcard-front button,.flashcard-back button{margin-top:1.5rem;padding:.875rem 1.75rem;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;background-color:var(--color-primary);color:#fff;transition:all .2s;box-shadow:var(--shadow-md)}.flashcard-front button:hover,.flashcard-back button:hover{background-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.flashcard-back button{margin-top:1rem;background-color:var(--color-secondary)}.flashcard-back button:hover{background-color:var(--color-text-secondary)}.flashcard-actions{display:flex;gap:1.5rem;justify-content:center;margin:3rem 0}.flashcard-actions button{padding:1rem 2.5rem;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-md)}.dont-know{background-color:var(--color-error);color:#fff}.dont-know:hover{background-color:#dc2626;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.know{background-color:var(--color-success);color:#fff}.know:hover{background-color:#059669;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.navigation{display:flex;gap:1rem;justify-content:center}.navigation button{padding:.75rem 1.5rem;border:1px solid var(--color-border);background-color:var(--color-bg);border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all .2s}.navigation button:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px)}.navigation button:disabled{opacity:.5;cursor:not-allowed}.flashcard-navigation{display:flex;gap:1rem;justify-content:center;margin-top:2rem}.flashcard-navigation .btn-prev{padding:.75rem 1.5rem;border:1px solid var(--color-border);background-color:var(--color-bg-secondary);color:var(--color-text);border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all .2s}.flashcard-navigation .btn-prev:hover:not(:disabled){border-color:var(--color-secondary);background-color:var(--color-bg-tertiary)}.flashcard-navigation .btn-next{padding:.75rem 1.5rem;border:none;background-color:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all .2s}.flashcard-navigation .btn-next:hover:not(:disabled){background-color:var(--color-primary-dark);transform:translateY(-2px);box-shadow:var(--shadow-md)}.flashcard-navigation button:disabled{opacity:.5;cursor:not-allowed}.filters{display:flex;gap:1rem;margin-bottom:2.5rem;flex-wrap:wrap;padding:1.5rem;background-color:var(--color-bg-secondary);border-radius:var(--radius-md);border:1px solid var(--color-border)}.filters input,.filters select{padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.95rem;background-color:var(--color-bg);color:var(--color-text);transition:border-color .2s}.filters input:focus,.filters select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.cheatsheets-page{max-width:900px;margin:0 auto}.cheatsheets-title{text-align:center;font-size:2rem;font-weight:700;margin-bottom:.5rem}.cheatsheets-intro{text-align:center;color:var(--color-text-secondary);margin-bottom:2rem}.cheatsheet-tech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}.cheatsheet-tech-card{display:flex;align-items:center;justify-content:center;min-height:100px;padding:1.5rem;border-radius:var(--radius-lg);color:#fff;font-weight:700;font-size:1.1rem;text-decoration:none;transition:transform .2s,box-shadow .2s;box-shadow:var(--shadow-md)}.cheatsheet-tech-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl);color:#fff;text-decoration:none}.cheatsheet-back{margin-bottom:1rem}.cheatsheet-back a{color:var(--color-text-secondary);text-decoration:none;font-size:.95rem}.cheatsheet-back a:hover{color:var(--color-primary)}.cheatsheet-tech-heading{font-size:1.75rem;margin-bottom:1rem}.cheatsheet-search-wrap{margin-bottom:1.5rem}.cheatsheet-search{width:100%;max-width:400px;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem}.cheatsheet-item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.cheatsheet-item-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;background:var(--color-bg);box-shadow:var(--shadow-sm)}.cheatsheet-item-card h3{margin:0 0 .75rem;font-size:1.15rem}.cheatsheet-item-preview{font-size:.9rem;color:var(--color-text-secondary);margin-bottom:1rem;line-height:1.4}.cheatsheet-item-link{font-weight:600;color:var(--color-primary);text-decoration:none}.cheatsheet-item-link:hover{text-decoration:underline}.cheatsheet-item-grid-full{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.5rem}@media (min-width: 900px){.cheatsheet-item-grid-full{grid-template-columns:repeat(3,1fr)}}@media (max-width: 600px){.cheatsheet-item-grid-full{grid-template-columns:1fr}}.cheatsheet-item-card-full{padding:1.25rem 1.5rem;display:flex;flex-direction:column}.cheatsheet-item-card-full .cheatsheet-item-card-title{margin:0 0 1rem;font-size:1.1rem;font-weight:700;color:var(--color-text);border-bottom:none}.cheatsheet-item-card-content{font-size:.9rem;line-height:1.5;color:var(--color-text);flex:1;overflow:hidden}.cheatsheet-item-card-content p{margin:0 0 .5rem}.cheatsheet-item-card-content p:last-child{margin-bottom:0}.cheatsheet-item-card-content pre{margin:.5rem 0;border-radius:var(--radius-md);overflow-x:auto;font-size:.85rem}.cheatsheet-item-card-content code{font-family:var(--font-mono);font-size:.85rem}.cheatsheet-item-card-content pre code{padding:0;background:transparent}.cheatsheet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1.5rem}.cheatsheet-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:2rem;text-align:center;transition:all .3s;background-color:var(--color-bg);box-shadow:var(--shadow-sm);text-decoration:none;display:block}.cheatsheet-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);border-color:var(--color-primary-light);text-decoration:none}.cheatsheet-card h3{margin-bottom:.75rem;color:var(--color-text);font-weight:700}.admin-page{max-width:1000px;margin:0 auto}.admin-message{padding:1rem 1.5rem;border-radius:var(--radius-md);margin-bottom:2rem;font-weight:500;animation:slideIn .3s ease}.admin-message-success{background-color:#d1fae5;color:#065f46;border:1px solid #10b981}.admin-message-error{background-color:#fee2e2;color:#991b1b;border:1px solid #ef4444}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.admin-tabs{display:flex;gap:.5rem;margin-bottom:3rem;border-bottom:2px solid var(--color-border);overflow-x:auto}.admin-tabs button{padding:1rem 2rem;border:none;background:none;cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;font-weight:600;color:var(--color-text-secondary);transition:all .2s;white-space:nowrap}.admin-tabs button:hover{color:var(--color-primary);background-color:var(--color-bg-secondary)}.admin-tabs button.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.admin-content{padding:2rem 0}.admin-form{background-color:var(--color-bg);padding:2.5rem;border-radius:var(--radius-lg);border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.admin-form h2{margin-top:0;margin-bottom:2rem;font-size:2rem;font-weight:700;color:var(--color-text)}.form-group{margin-bottom:2rem}.form-group label{display:block;margin-bottom:.75rem;font-weight:600;color:var(--color-text);font-size:.95rem}.form-group input[type=text],.form-group input[type=url],.form-group input[type=password],.form-group select,.form-group textarea{width:100%;padding:.875rem 1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:1rem;font-family:var(--font-sans);background-color:var(--color-bg);color:var(--color-text);transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1a}.form-group textarea{resize:vertical;min-height:120px}.markdown-editor{font-family:var(--font-mono);font-size:.9rem;line-height:1.6}.form-group small{display:block;margin-top:.5rem;color:var(--color-text-muted);font-size:.875rem}.tag-selector{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.5rem}.tag-button{padding:.5rem 1rem;border:2px solid var(--color-border);background-color:var(--color-bg);border-radius:var(--radius-md);cursor:pointer;font-size:.875rem;font-weight:500;color:var(--color-text);transition:all .2s}.tag-button:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px)}.tag-button.selected{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary{padding:1rem 2rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:#fff;border:none;border-radius:var(--radius-md);font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary,.btn-cancel{padding:.625rem 1.25rem;background-color:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-secondary:hover,.btn-cancel:hover{border-color:var(--color-primary);color:var(--color-primary);background-color:var(--color-bg-secondary)}.pagination{display:flex;justify-content:center;align-items:center;gap:1.25rem;margin-top:3rem;padding:1rem 0}.pagination button{padding:.75rem 1.5rem;border:1px solid var(--color-border);background-color:var(--color-bg);border-radius:var(--radius-md);cursor:pointer;font-weight:500;transition:all .2s}.pagination-next{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%)!important;color:#fff!important;border:none!important;font-weight:600;padding:.875rem 2rem!important;box-shadow:var(--shadow-md)}.pagination-next:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg);filter:brightness(1.05)}.pagination-prev:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px)}.pagination-info{font-weight:500;color:var(--color-text-secondary);min-width:10ch;text-align:center}.pagination button:disabled{opacity:.5;cursor:not-allowed}.admin-list{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}.admin-list-item{display:flex;justify-content:space-between;align-items:center;padding:1.25rem;background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md)}.btn-danger{padding:.625rem 1.25rem;background-color:var(--color-error);color:#fff;border:none;border-radius:var(--radius-md);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s}.btn-danger:hover{background-color:#dc2626;transform:translateY(-2px);box-shadow:var(--shadow-md)}.pomodoro-fab{position:fixed;bottom:1.5rem;right:1.5rem;min-width:56px;height:56px;padding:0 .75rem;border-radius:28px;border:none;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-light) 100%);color:#fff;font-size:1.75rem;cursor:pointer;box-shadow:var(--shadow-lg);z-index:1000;transition:transform .2s,box-shadow .2s,background .2s}.pomodoro-fab--focus{background:linear-gradient(135deg,var(--color-primary-dark) 0%,var(--color-primary) 100%)}.pomodoro-fab--break{background:linear-gradient(135deg,#059669 0%,var(--color-success) 100%)}.pomodoro-fab-icon{font-size:1.5rem}.pomodoro-fab-status{font-size:.85rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.pomodoro-fab:hover{transform:scale(1.05);box-shadow:var(--shadow-xl)}.pomodoro-panel{position:fixed;bottom:5rem;right:1.5rem;width:280px;padding:1rem;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);z-index:1001}.pomodoro-panel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;font-weight:700}.pomodoro-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-secondary);line-height:1;padding:0 .25rem}.pomodoro-settings{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;font-size:.9rem}.pomodoro-settings input{width:4rem;padding:.25rem .5rem;margin-left:.25rem}.pomodoro-actions{display:flex;flex-direction:column;gap:.5rem}.pomodoro-timer{font-size:2.5rem;font-weight:700;text-align:center;margin:.5rem 0;font-variant-numeric:tabular-nums}.pomodoro-timer[data-phase=focus]{color:var(--color-primary)}.pomodoro-timer[data-phase=break]{color:var(--color-success)}.pomodoro-phase-label{text-align:center;font-size:.9rem;color:var(--color-text-secondary);margin-bottom:.5rem}.nav-burger{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;padding:0;background:none;border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}.nav-burger span{display:block;width:22px;height:2px;background:var(--color-text);margin:0 auto;transition:transform .2s,opacity .2s}@media (max-width: 768px){.nav-burger{display:flex}.nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;gap:0;padding:1rem;background:var(--color-bg);border-bottom:1px solid var(--color-border);box-shadow:var(--shadow-lg);display:none}.nav-links-open{display:flex!important}.nav-links a,.nav-links .theme-toggle{padding:.75rem 1rem;border-radius:var(--radius-sm)}.nav-links a:hover{background:var(--color-bg-secondary)}.nav{position:relative}}@media (max-width: 768px){.nav{flex-wrap:wrap}.main-content{padding:2rem 1rem}.hero h1{font-size:2rem}.hero p{font-size:1rem}.article-detail h1{font-size:1.75rem}.article-grid,.articles-page .article-grid{grid-template-columns:1fr}.admin-form{padding:1rem}.filters{flex-direction:column;align-items:stretch}.pomodoro-fab{bottom:1rem;right:1rem;min-width:48px;height:48px;padding:0 .5rem;border-radius:24px;font-size:1.35rem}.pomodoro-fab-status{font-size:.75rem}.pomodoro-panel{right:1rem;left:1rem;width:auto;max-width:320px;margin-left:auto}}@media (max-width: 480px){.nav{padding:0 1rem}.logo{font-size:1.25rem}}.topic-request-page{max-width:600px;margin:0 auto;padding:2rem 1rem}.topic-request-page .success-message{color:var(--color-success);font-weight:500}*{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;line-height:1.6;color:#333;background-color:#fff}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}a{color:#06c;text-decoration:none}a:hover{text-decoration:underline}
