:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.6;font-weight:400;--color-primary: #007bff;--color-primary-dark: #0056b3;--color-text: #212529;--color-text-muted: #6c757d;--color-background: #f4f7f6;--color-widget-bg: #ffffff;--color-border: #dee2e6;--color-success: #28a745;--color-danger: #dc3545;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--color-background);color:var(--color-text);min-height:100vh}#app{display:flex;flex-direction:column;min-height:100vh}.app-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;background-color:var(--color-widget-bg);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100;height:65px;width:100%;max-width:1300px;margin:0 auto}.logo-container{display:flex;align-items:center;gap:1rem}.hamburger-icon{width:24px;height:24px;cursor:pointer;fill:var(--color-text)}.logo-text{font-size:1.5rem;font-weight:700;color:var(--color-text)}.nav-button{font-size:1rem;font-weight:500;padding:.5rem 1rem;border:2px solid transparent;background-color:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:8px;transition:all .2s ease}.nav-button:hover{background-color:var(--color-background);color:var(--color-text)}.nav-button.active{background-color:var(--color-primary);color:#fff}#page-header-container{padding:0 1.5rem;max-width:1300px;width:100%;margin:0 auto;position:sticky;top:65px;background-color:var(--color-background);z-index:99;border-bottom:1px solid var(--color-border)}.page-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;padding:1.5rem 0;min-height:90px}.page-header h2{font-size:1.75rem;font-weight:600;color:#343a40}.container{display:grid;grid-template-columns:1fr 400px;gap:1.5rem;padding:1.5rem;flex:1;max-width:1300px;width:100%;margin:0 auto}main{display:flex;flex-direction:column;gap:1.5rem}aside{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:calc(155px + 1.5rem);height:calc(100vh - (155px + 3rem));overflow-y:auto;align-self:start}.widget{background-color:var(--color-widget-bg);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000000d}.widget h3{font-size:1.25rem;margin-bottom:1rem}.quick-stats .stat-item{display:flex;flex-direction:column;align-items:center;padding:1rem 0;border-bottom:1px solid var(--color-border)}.quick-stats .stat-item:last-child{border-bottom:none}.quick-stats .stat-value{font-size:2.5rem;font-weight:700;color:var(--color-primary);margin-bottom:.25rem;line-height:1.2}.quick-stats .stat-label{font-size:1.1rem;font-weight:500;color:var(--color-text-muted)}#search-notebook{padding:.75rem 1rem .75rem 2.5rem;border:1px solid var(--color-border);border-radius:8px;font-size:.95rem;width:100%;max-width:350px;transition:border-color .2s,box-shadow .2s;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236c757d' viewBox='0 0 16 16'%3E%3Cpath d='M11.742 10.344a6.5 6.5 0 1 0-1.397 1.398h-.001c.03.04.062.078.098.115l3.85 3.85a1 1 0 0 0 1.415-1.414l-3.85-3.85a1.007 1.007 0 0 0-.115-.1zM12 6.5a5.5 5.5 0 1 1-11 0 5.5 5.5 0 0 1 11 0z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:1rem center}#search-notebook:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007bff26}.notebook-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.notebook-card{background-color:var(--color-widget-bg);border:1px solid var(--color-border);border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #0000000d;cursor:pointer;transition:all .2s ease}.notebook-card:hover{transform:translateY(-4px);box-shadow:0 6px 16px #00000014;border-color:var(--color-primary)}.notebook-title{font-size:1.25rem;font-weight:600;color:var(--color-primary);margin-bottom:.5rem}.notebook-desc{font-size:.95rem;color:var(--color-text-muted);margin-bottom:1rem;min-height:20px}.notebook-count{font-size:.9rem;font-weight:500;color:var(--color-text)}form{display:flex;flex-direction:column;gap:1rem}form label{font-size:.9rem;font-weight:600;margin-bottom:-.5rem}form input[type=text],form input[type=url],form input[type=number],form select{width:100%;padding:.75rem 1rem;border:1px solid var(--color-border);border-radius:8px;font-size:.95rem;background-color:#fff;transition:border-color .2s,box-shadow .2s}form input:focus,form select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #007bff26}select[multiple]{padding:.5rem;height:120px;background-color:#fff}select[multiple] option{padding:.5rem;border-radius:4px}select[multiple] option:checked{background-color:var(--color-primary);color:#fff}.btn{font-size:1rem;font-weight:600;padding:.75rem 1rem;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease;background-color:var(--color-background);color:var(--color-text);border:1px solid var(--color-border)}.btn-primary{background-color:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn:hover{filter:brightness(.95);transform:translateY(-2px)}.btn-primary:hover{background-color:var(--color-primary-dark);border-color:var(--color-primary-dark);filter:brightness(1)}.modal-backdrop{position:fixed;inset:0;background-color:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;opacity:1;transition:opacity .2s ease}.modal-backdrop.hidden{opacity:0;pointer-events:none}.modal-content{background-color:var(--color-widget-bg);border-radius:12px;padding:1.5rem;width:100%;max-width:600px;box-shadow:0 10px 30px #0000001a;transform:scale(1);transition:transform .2s ease}.modal-backdrop.hidden .modal-content{transform:scale(.95)}.modal-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--color-border);padding-bottom:1rem;margin-bottom:1rem}.modal-header h3{font-size:1.5rem;color:var(--color-primary)}.modal-close{font-size:1.75rem;font-weight:700;color:var(--color-text-muted);background:none;border:none;cursor:pointer;line-height:1;transition:color .2s}.modal-close:hover{color:var(--color-danger)}.problem-list{list-style:none;display:flex;flex-direction:column;gap:1rem;max-height:50vh;overflow-y:auto;padding-right:.5rem}.problem-list-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--color-border)}.problem-list-item:last-child{border-bottom:none}.problem-list-item a{font-size:1.1rem;font-weight:600;color:var(--color-text);text-decoration:none;transition:color .2s}.problem-list-item a:hover{color:var(--color-primary);text-decoration:underline}.problem-tags{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:flex-end;max-width:50%}.tag{font-size:.8rem;font-weight:500;background-color:var(--color-background);color:var(--color-text-muted);padding:.25rem .5rem;border-radius:6px;white-space:nowrap}.chart-container{position:relative;width:100%;max-width:900px;height:450px;margin:1.5rem auto 0}@media(max-width:900px){.container{grid-template-columns:1fr;padding-left:1rem;padding-right:1rem}aside{position:static;height:auto;overflow-y:visible;top:auto}.app-header{flex-direction:column;height:auto;gap:.5rem;padding:1rem;max-width:100%}.nav-links{width:100%;display:flex;justify-content:space-around;border-top:1px solid var(--color-border);padding-top:.5rem}.nav-button{flex:1;text-align:center}#page-header-container{position:static;max-width:100%;padding:0 1rem}.page-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem 0;min-height:auto}.page-header h2{font-size:1.5rem}#search-notebook{max-width:100%}.chart-container{height:300px}.modal-content{max-width:95%;max-height:90vh}}
