*{
    margin: 0;
    font-size: 1vw;
}


img {
    position: fixed;
    z-index: 1;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.container{
    display: flex;
}

.A{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 60vw;
    height: 100vh;
    margin-left: 5vw;
    margin-right: 2.5vw;
}

.time {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 40%;
    margin-top: 6.666vh;
    margin-bottom: 6.666vh;
    border: none;
    border-radius: 30px;
    background-color: rgba(200,200,200,0.6);
    backdrop-filter: blur(15px);
    box-shadow: 0.1vw 0.1vw 0.2vw rgba(0, 0, 0, 0.3);
    display: flex;
    justify-content: center;
    align-items: center;
}

.thetime{
    font-size: 10vw;
    font-weight: bolder;
}

.attention{
    position: relative;
    z-index: 2;
    width: 100%;
    height: 40%;
    margin-bottom: 6.666vh;
    border: none;
    border-radius: 30px;
    background-color: rgba(200,200,200,0.6);
    backdrop-filter: blur(15px);
    box-shadow: 0.1vw 0.1vw 0.2vw rgba(0, 0, 0, 0.3);
    display: flex;
    justify-content: center;
    align-items: center;
    
}

.attentiontext{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.text{
    font-size: 3vw;
    font-weight: bolder;
}

.B{
    display: flex;
    justify-content: center;
    width: 30vw;
    height: 100vh;
    margin-left: 2.5vw;
    margin-right: 5vw;
}

.schedule {
    position: relative;
    z-index: 2;
    width: 100%;
    height: 83.333vh;
    margin-top: 6.666vh;
    border: none;
    border-radius: 30px;
    background-color: rgba(200,200,200,0.6);
    backdrop-filter: blur(15px);
    box-shadow: 0.1vw 0.1vw 0.2vw rgba(0, 0, 0, 0.3);
    padding-top: 3.333vh;
    padding-left: 10%;
    overflow-y: auto;
}

.date{
    font-size: 2vw;
    font-weight: bold;
}

.subject{
    position: relative;
    width: 86%;
    height: 5vh;
    margin: 0.5% 5%;
    padding-left: 2%;
    padding-right: 2%;
    display: flex;
    align-items: center;
    justify-content: space-between;

}

.subjectname{
    font-size: 1.25vw;
    font-weight: lighter;
    margin-right: 5%;
}

.subjecttime{
    font-size: 1.25vw;
    font-weight: lighter;
    color: rgba(75, 75, 75, 1);
}

.subjectstate{
    font-size: 1.25vw;
    font-weight: lighter;
    color: rgba(75, 75, 75, 1);
}

.now{
    border: none;
    border-radius: 1vw;
    background-color: rgba(255,255,0,0.6);
    backdrop-filter: blur(15px);
    box-shadow: 0.1vw 0.1vw 0.2vw rgba(0, 0, 0, 0.3);
}

.prepare{
    border: none;
    border-radius: 1vw;
    background-color: rgba(0,255,255,0.6);
    backdrop-filter: blur(15px);
    box-shadow: 0.1vw 0.1vw 0.2vw rgba(0, 0, 0, 0.3);
}

.last{
    border: none;
    border-radius: 1vw;
    background-color: rgba(255,0,0,0.6);
    backdrop-filter: blur(15px);
    box-shadow: 0.1vw 0.1vw 0.2vw rgba(0, 0, 0, 0.3);
}

.editor-link{
    position: fixed;
    z-index: 3;
    top: 1rem;
    right: 1rem;
    padding: 0.65rem 1rem;
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 8px;
    background-color: rgba(24, 24, 24, 0.68);
    color: #fff;
    font-size: max(14px, 1vw);
    font-weight: bold;
    line-height: 1;
    text-decoration: none;
    backdrop-filter: blur(12px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.24);
    transition: background-color 160ms ease, transform 160ms ease;
}

.editor-link:hover{
    background-color: rgba(24, 24, 24, 0.88);
    transform: translateY(-1px);
}

.editor-link:focus-visible{
    outline: 3px solid #ffe44d;
    outline-offset: 3px;
}

.copyright{
    position: fixed;
    z-index: 3;
    right: 3px;
    bottom: 3px;
}

/*===== 编辑页 =====*/
.editor-card {
    position: relative;
    z-index: 2;
    width: 60vw;
    margin: 2vh auto;
    padding: 2vh 2vw;
    border-radius: 20px;
    background-color: rgba(200,200,200,0.85);
    box-shadow: 0.1vw 0.1vw 0.2vw rgba(0, 0, 0, 0.3);
}

.editor-day {
    display: flex;
    gap: 1vw;
    align-items: center;
    margin-bottom: 1vh;
}

.editor-date {
    flex: 1;
    min-width: 0;
    padding: 0.5vh 0.5vw;
    border: none;
    border-radius: 6px;
    font-size: 2vw;
    font-weight: bold;
}

.editor-row {
    display: flex;
    gap: 1vw;
    align-items: center;
    margin: 0.8vh 0;
}

.editor-row input {
    flex: 1;
    min-width: 0;
    padding: 0.5vh 0.5vw;
    border: none;
    border-radius: 6px;
}

.editor-row.editor-invalid {
    outline: 2px solid red;
}

.editor-add-sub, .editor-del-day, .editor-del-row {
    border: none;
    border-radius: 6px;
    padding: 0.5vh 1vw;
    cursor: pointer;
}

#banner, #message {
    position: relative;
    z-index: 2;
    width: 60vw;
    margin: 1vh auto 0;
}

.banner {
    padding: 1vh 1.5vw;
    border-radius: 10px;
    font-size: 1.5vw;
    margin-bottom: 1vh;
}

.banner.warn { background-color: rgba(255,200,0,0.9); }
.banner.error { background-color: rgba(255,80,80,0.9); }
.banner.ok { background-color: rgba(120,220,120,0.9); }

.editor-actions {
    position: relative;
    z-index: 2;
    width: 60vw;
    margin: 2vh auto;
    display: flex;
    gap: 1vw;
    align-items: center;
}

.editor-actions button, .editor-import-label {
    padding: 1vh 1.5vw;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    font-size: 1.5vw;
}

.editor-import-label input { display: none; }