@media (max-width: 900px) {
    h1 {
        font-size: 1.6em;
        padding: 12px;
    }

    a {
        font-size: 1.3em;
    }

    .container {
        margin: 20px auto;
        padding: 15px;
    }

    footer {
        font-size: 1em;
        padding: 12px;
    }
}


html, body {
    height: 100%;
    margin: 0;
}

.container { width: 90%; max-width:1200px; margin:-30px auto; padding:20px; flex: 1; }
h1 { background:#4a90e2; color:#fff; padding:15px; border-radius:5px; text-align:center; }
ul { list-style:none; padding:0; }
li { margin:10px 0; }

footer {
    text-align:center; 
    padding:15px; 
    margin-top:40px; 
    background:#eee; 
    color:#000;
}

body.dark footer {
    background:#1e1e1e;
    color:#eee;
}

/* top-right buttons and old user-panel removed; using left drawer */

.greeting span{
    text-decoration: none;
    color: #fff;
    top: 20px;
}

/* --- Flex для ПК --- */
.homework-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-top: -50px;
}
.homework-calendar { flex: 1 1 300px; max-width: 350px; }
.homework-details { flex: 2 1 400px; display: flex; flex-direction: column; gap: 15px; }

/* --- Календарь --- */
.calendar {
    display:grid;
    grid-template-columns: repeat(7, 1fr);
    gap:3px;
    margin-top:10px;
}

.calendar-day {
    padding:6px;
    background:#fff;
    text-align:center;
    border-radius:4px;
    cursor:pointer;
    position:relative;
    font-size:0.9em;
}

.calendar-day.today { border:2px solid #4a90e2; }
.calendar-day.selected { background:#4a90e2; color:#fff; }
.calendar-day.has-homework::after {
    content:"•";
    color:#e74c3c;
    position:absolute;
    bottom:2px;
    right:2px;
}

body.dark .calendar-day { background:#2a2a2a; color:#eee; }
body.dark .calendar-day.has-homework::after { color:#ff6666; }
body.dark .calendar-day.selected { background:#2a6cb0; color:#fff; }

/* --- Блоки домашек --- */
.homework-list, .upcoming-homework {
    padding:12px;
    border-radius:5px;
    background:#f0f7ff;
    box-shadow:0 1px 3px rgba(0,0,0,0.1);
}
body.dark .homework-list, body.dark .upcoming-homework { background:#2a2a2a; color:#eee; }

.homework-item {
    padding:6px 10px;
    border-left:4px solid #4a90e2;
    margin-bottom:6px;
    border-radius:3px;
}

.homework-item h4 { margin:0 0 3px 0; font-size:0.95em; }
.homework-item p { margin:0; font-size:0.85em; color:#333; }
body.dark .homework-item p { color:#ccc; }

.homework-links {
    font-size: 0.75em;
}
.homework-links a { margin-right:6px; text-decoration:none; color:#005cc5;}
body.dark .homework-links a { color:#81c7ff; }
.homework-links a:hover { text-decoration:underline; }

h3 { margin-top:0; font-size:1em; }

/* --- Мобильные экраны --- */
@media(max-width:900px){
    .homework-wrapper { flex-direction: column; }
    .homework-calendar, .homework-details { max-width:100%; }
}

.month-navigation button {
    padding:4px 8px;
    border:none;
    border-radius:4px;
    background:#4a90e2;
    color:#fff;
    cursor:pointer;
}
.month-navigation button:hover { background:#357ABD; }

body.dark .month-navigation button { background:#2a6cb0; }
body.dark .month-navigation button:hover { background:#1f4f80; }

.separator {
    border: none;
    border-top: 2px solid #ccc;
    margin: 20px 0;
}
body.dark .separator {
    border-top: 2px solid #444;
}

.homework-item p {
    white-space: pre-wrap; /* переносы \n работают */
}

.homework-links {
    display: flex;
    flex-direction: column; /* ссылки по колонке */
    gap: 3px; /* расстояние между ссылками */
}


/* Новый CSS */
.semester-header {
    text-align: center;
    margin-bottom: 25px;
}

.current-semester-btn {
    background: linear-gradient(90deg, #4a90e2, #357ABD);
    color: white;
    border: none;
    padding: 12px 20px;
    border-radius: 6px;
    font-size: 1.2em;
    cursor: pointer;
    transition: 0.2s;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
}
.current-semester-btn:hover {
    transform: translateY(-2px);
    background: linear-gradient(90deg, #357ABD, #2d6bb5);
}

.subtext {
    color: #777;
    font-size: 0.9em;
    margin-top: 8px;
}

body.dark .subtext { color: #aaa; }

.semester-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
}

.semester-card {
    background: #fff;
    border-radius: 8px;
    padding: 15px;
    width: 220px;
    cursor: pointer;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0,0,0,0.1);
    transition: transform 0.2s, box-shadow 0.2s;
}
.semester-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 3px 6px rgba(0,0,0,0.15);
}

body.dark .semester-card {
    background: #1f1f1f;
    color: #eee;
    box-shadow: 0 1px 3px rgba(255,255,255,0.05);
}

/* GO TO SEMESTERS */
.select-semester {
    display: inline-block;
    margin-top: 0px;
    text-decoration: none;
    color: #555;
}

body.dark .select-semester {
    color: #999;      /* светлый цвет ссылки в темной теме */
}

body.dark .select-semester:hover {
    color: #fff;      /* при наведении */
}
.select-semester:hover { color: #000; }

/* Left drawer / avatar styles */
.drawer-toggle { position: fixed; left: 12px; top: 12px; width:48px; height:48px; border-radius:50%; background:#e0e0e0; color:#222; border:none; display:flex; align-items:center; justify-content:center; z-index:1002; box-shadow:0 2px 6px rgba(0,0,0,0.15); cursor:pointer; }
body.dark .drawer-toggle { background:#2a2a2a; color:#fff; border:1px solid #333; }
.left-avatar { font-weight:700; font-size:1.1em; }

.left-drawer { position: fixed; left: 0; top: 0; height: 100vh; width: 320px; background: #fff; color: #111; box-shadow: 2px 0 8px rgba(0,0,0,0.15); z-index:1003; transform: translateX(-120%); opacity:0; visibility:hidden; transition: transform .28s ease, opacity .2s ease; display:flex; flex-direction:column; padding:16px; }
body.dark .left-drawer { background:#111; color:#eee; box-shadow: 2px 0 12px rgba(0,0,0,0.6); }
.left-drawer.open { transform: translateX(0); opacity:1; visibility:visible; pointer-events:auto; }
.left-drawer:not(.open){ pointer-events:none; }
.drawer-header { display:flex; gap:12px; align-items:center; margin-bottom:12px; }
.drawer-avatar { width:56px; height:56px; border-radius:50%; background:#e0e0e0; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:1.2em; }
body.dark .drawer-avatar { background:#222; color:#fff; border:1px solid #333; }
.drawer-name { font-weight:700; }
.drawer-sub { font-size:0.9em; color:#666; }
body.dark .drawer-sub { color:#aaa; }
.drawer-nav { display:flex; flex-direction:column; gap:6px; margin-top:8px; }
.drawer-nav a { padding:10px; border-radius:6px; color:inherit; text-decoration:none; }
.drawer-nav a:hover { background: rgba(0,0,0,0.05); }
body.dark .drawer-nav a:hover { background: rgba(255,255,255,0.03); }
.drawer-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.35); z-index:1001; opacity:0; transition: opacity .2s ease; }
.drawer-overlay.visible { opacity:1; }
@media(max-width:900px){ .left-drawer{ width:80%; } .left-drawer.open{ left:0; } }

/* NEW BLOCK - GREETINGS */
.top-bar {
    position: relative; /* база для absolute внутри */
    width: 100%;
    height: 60px; /* или под размер аватара */
}

.drawer-toggle {
    position: absolute;
    left: 12px;
    top: 50%;
    transform: translateY(-37%);
    /* align-items:center; justify-content:center; */
}

.greeting {
    position: absolute;
    left: 72px;
    top: 50%;
    margin-top: 5px;
    transform: translateY(-50%);
    font-size: 1.1em;
    font-weight: 600;
}

body.dark .greeting span {
    color: #ffffff;
    transition: transform 0.2s;
}

.greeting span {
    color: #000;
    transition: transform 0.2s;
}

@media(max-width:900px){
    .top-bar {
        margin: 30px auto;
    }
}
