.student-display[data-v-6dfef595]{align-items:center;display:flex}.student-id[data-v-6dfef595]{font-family:var(--font-family-serif);color:var(--color-text-secondary);font-size:var(--font-size-small);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-small);align-items:center;gap:var(--spacing-xs);transition:all .2s;display:inline-flex}.student-id[data-v-6dfef595]:hover{background-color:var(--color-placeholder);color:var(--color-primary)}.id-text[data-v-6dfef595]{color:var(--color-text)}.name-text[data-v-6dfef595]{color:var(--color-border);font-weight:var(--font-weight-semibold)}.edit-text[data-v-6dfef595]{color:var(--color-text-secondary);font-size:var(--font-size-small)}.modal-overlay[data-v-6dfef595]{z-index:1000;padding:var(--spacing-md);background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content[data-v-6dfef595]{background:var(--color-white);padding:var(--spacing-lg);border-radius:var(--radius-card);width:100%;min-width:280px;max-width:400px;box-shadow:var(--shadow-card)}.modal-content h3[data-v-6dfef595]{margin-bottom:var(--spacing-md);color:var(--color-text);font-family:var(--font-family-serif);font-size:var(--font-size-subheading);font-weight:var(--font-weight-semibold);text-align:center}.input-group[data-v-6dfef595]{margin-bottom:var(--spacing-xs)}.input-label[data-v-6dfef595]{font-family:var(--font-family-serif);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);color:var(--color-text);margin-bottom:var(--spacing-sm);display:block}.input-group input[data-v-6dfef595]{width:100%;padding:var(--spacing-sm);border:var(--border-width-hairline) solid var(--color-placeholder);border-radius:var(--radius-small);font-family:var(--font-family-serif);font-size:var(--font-size-body);text-align:center;box-sizing:border-box;transition:all .2s}.input-group input[data-v-6dfef595]:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #851e0e1a}.input-group input.error[data-v-6dfef595]{border-color:var(--color-primary)}.input-group input[data-v-6dfef595]::placeholder{color:var(--color-placeholder)}.input-group input[data-v-6dfef595]:disabled{background-color:var(--color-bg-highlight);cursor:not-allowed}.name-display[data-v-6dfef595]{padding:var(--spacing-sm);background-color:var(--color-bg-highlight);border-radius:var(--radius-small);margin-bottom:var(--spacing-xs);border:var(--border-width-hairline) solid var(--color-border);align-items:center;display:flex}.name-label[data-v-6dfef595]{font-family:var(--font-family-serif);font-size:var(--font-size-small);color:var(--color-border);font-weight:var(--font-weight-semibold)}.name-value[data-v-6dfef595]{font-family:var(--font-family-serif);font-size:var(--font-size-small);color:var(--color-text);font-weight:var(--font-weight-semibold)}.error-message[data-v-6dfef595]{color:var(--color-primary);font-family:var(--font-family-serif);font-size:var(--font-size-small);margin-bottom:var(--spacing-xs);text-align:center}.modal-buttons[data-v-6dfef595]{gap:var(--spacing-xs);margin-top:var(--spacing-md);display:flex}.modal-buttons button[data-v-6dfef595]{padding:var(--spacing-xs) var(--spacing-sm);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-button);box-sizing:border-box;cursor:pointer;font-family:var(--font-family-serif);font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);justify-content:center;align-items:center;gap:var(--spacing-sm);flex:1;transition:all .2s;display:flex}.cancel-btn[data-v-6dfef595]{background-color:var(--color-white);color:var(--color-primary);border-color:var(--color-primary)}.cancel-btn[data-v-6dfef595]:hover:not(:disabled){background-color:var(--color-bg-highlight)}.save-btn[data-v-6dfef595]{background-color:var(--color-primary);color:var(--color-white)}.save-btn[data-v-6dfef595]:hover:not(:disabled){background-color:var(--color-primary-hover)}.save-btn[data-v-6dfef595]:active:not(:disabled){transform:scale(.98)}.save-btn[data-v-6dfef595]:disabled{background-color:var(--color-text-secondary);border-color:var(--color-text-secondary);cursor:not-allowed}.logout-btn[data-v-6dfef595]{background-color:var(--color-primary);color:var(--color-white)}.logout-btn[data-v-6dfef595]:hover:not(:disabled){background-color:var(--color-primary-hover)}.logout-btn[data-v-6dfef595]:active:not(:disabled){transform:scale(.98)}.logout-btn[data-v-6dfef595]:disabled{background-color:var(--color-text-secondary);border-color:var(--color-text-secondary);cursor:not-allowed}.loading-spinner[data-v-6dfef595]{width:var(--spacing-sm);height:var(--spacing-sm);border:1.5px solid #ffffff4d;border-top-color:var(--color-white);border-radius:50%;animation:.8s linear infinite spin-6dfef595}@keyframes spin-6dfef595{to{transform:rotate(360deg)}}@media (width<=480px){.student-id[data-v-6dfef595]{font-size:var(--font-size-small);padding:.125rem .375rem}.edit-text[data-v-6dfef595]{display:none}.modal-content[data-v-6dfef595]{padding:var(--spacing-md);border-radius:var(--radius-small)}.modal-content h3[data-v-6dfef595]{font-size:var(--font-size-body-lg)}.modal-buttons[data-v-6dfef595]{flex-direction:column}}#app{min-height:100vh;position:relative}.top-bar{padding:var(--spacing-md);z-index:100;position:fixed;top:0;right:0}.poetry-menu[data-v-517ca407]{background-color:var(--color-placeholder);border-right:var(--border-width-hairline) solid var(--color-border);width:16.666%;height:100vh;padding:var(--spacing-md);box-sizing:border-box;position:fixed;top:0;left:0}.menu-trigger[data-v-517ca407]{font-family:var(--font-family-serif);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-bg-highlight);color:var(--color-text);cursor:default;border-radius:var(--radius-small);text-align:center}.dropdown[data-v-517ca407]{padding:var(--spacing-xs) 0;background-color:var(--color-white);border:var(--border-width-hairline) solid var(--color-border);border-radius:var(--radius-small);box-shadow:var(--shadow-small);margin:0;margin-top:var(--spacing-xs);list-style:none}.dropdown li[data-v-517ca407]{padding:var(--spacing-xs) var(--spacing-md);cursor:pointer;color:var(--color-text);transition:background-color .2s}.dropdown li[data-v-517ca407]:hover{background-color:var(--color-bg-highlight)}.student-login[data-v-8c94290e]{padding:var(--spacing-xl);flex-direction:column;align-items:center;display:flex}.student-login h2[data-v-8c94290e]{font-size:var(--font-size-heading);font-weight:var(--font-weight-heavy);color:var(--color-text);margin-bottom:var(--spacing-sm)}.subtitle[data-v-8c94290e]{color:var(--color-text-secondary);font-size:var(--font-size-small);margin-bottom:var(--spacing-xl)}.input-group[data-v-8c94290e]{gap:var(--spacing-sm);display:flex}.input-group input[data-v-8c94290e]{padding:var(--spacing-sm) var(--spacing-md);border:none;border-bottom:2px solid var(--color-text);font-family:var(--font-family-serif);font-size:var(--font-size-body);text-align:center;width:10rem;color:var(--color-text);background:0 0;border-radius:0}.input-group input[data-v-8c94290e]::placeholder{color:var(--color-text-secondary)}.input-group input[data-v-8c94290e]:focus{border-bottom-color:var(--color-primary);outline:none}.input-group input.error[data-v-8c94290e]{border-bottom-color:var(--color-primary)}.input-group button[data-v-8c94290e]{padding:var(--spacing-sm) var(--spacing-xl);background-color:var(--color-primary);color:var(--color-white);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-button);font-family:var(--font-family-serif);font-weight:var(--font-weight-semibold);font-size:var(--font-size-body);cursor:pointer;white-space:nowrap;transition:background-color .2s,transform .1s}.input-group button[data-v-8c94290e]:hover:not(:disabled){background-color:var(--color-primary-hover)}.input-group button[data-v-8c94290e]:active:not(:disabled){transform:scale(.98)}.input-group button[data-v-8c94290e]:disabled{opacity:.5;cursor:not-allowed}.error-message[data-v-8c94290e]{color:var(--color-primary);font-size:var(--font-size-small);margin-top:var(--spacing-sm)}.home[data-v-b5fe5147]{background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;min-height:100vh;display:flex}.main-content[data-v-b5fe5147]{padding:var(--spacing-2xl);flex-direction:column;flex:1;justify-content:center;align-items:center;margin-left:16.666%;display:flex}.main-content h1[data-v-b5fe5147]{font-size:var(--font-size-display);font-weight:var(--font-weight-heavy);color:var(--color-primary);margin-bottom:var(--spacing-sm);text-shadow:0 2px 8px #fff9}.main-content p[data-v-b5fe5147]{color:var(--color-text);font-size:var(--font-size-body);margin-bottom:var(--spacing-xl);text-shadow:0 1px 4px #fff9}.login-card[data-v-b5fe5147]{border-radius:var(--radius-card);box-shadow:var(--shadow-card);background:#fffffff2;width:100%;max-width:500px}:root{--color-primary:#851e0e;--color-primary-hover:#a44232;--color-border:#687857;--color-white:#fff;--color-text:#000;--color-text-secondary:#9c9999;--color-accent:#c99471;--color-bg-highlight:#e2cdaa7a;--color-placeholder:#d9d9d9;--font-family-serif:"Source Han Serif CN", "Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;--font-weight-semibold:600;--font-weight-heavy:900;--font-size-display:clamp(2rem, 5vw, 3.5rem);--font-size-heading:clamp(1.5rem, 4vw, 2.5rem);--font-size-subheading:clamp(1.25rem, 3vw, 2rem);--font-size-section:clamp(1.1rem, 2.5vw, 1.75rem);--font-size-body-lg:clamp(1rem, 2.2vw, 1.5rem);--font-size-body:clamp(.95rem, 1.8vw, 1.25rem);--font-size-small:clamp(.85rem, 1.5vw, 1.1rem);--radius-button:50px;--radius-card:30px;--radius-small:.5rem;--border-width:8px;--border-width-thin:3px;--border-width-hairline:1px;--shadow-card:18px 15px 66px 0px #00000040;--shadow-small:0px 4px 4px 0px #00000040;--spacing-xs:.5rem;--spacing-sm:.75rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family-serif);color:var(--color-text);background-color:var(--color-white);font-weight:var(--font-weight-semibold);line-height:1.6}.btn-primary{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-xl);background-color:var(--color-primary);color:var(--color-white);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-button);font-family:var(--font-family-serif);font-weight:var(--font-weight-semibold);font-size:var(--font-size-body);cursor:pointer;transition:background-color .2s,transform .1s;display:inline-flex}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-hover)}.btn-primary:active:not(:disabled){transform:scale(.98)}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-xl);background-color:var(--color-white);color:var(--color-primary);border:var(--border-width) solid var(--color-primary);border-radius:var(--radius-button);font-family:var(--font-family-serif);font-weight:var(--font-weight-semibold);font-size:var(--font-size-body);cursor:pointer;transition:background-color .2s,transform .1s;display:inline-flex}.btn-secondary:hover:not(:disabled){background-color:var(--color-bg-highlight)}.btn-secondary:active:not(:disabled){transform:scale(.98)}.card{background-color:var(--color-white);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:var(--spacing-xl)}.highlight-bar{background-color:var(--color-bg-highlight);border-radius:var(--radius-card);padding:var(--spacing-sm) var(--spacing-lg)}.divider-with-text{align-items:center;gap:var(--spacing-md);display:flex}.divider-with-text:before,.divider-with-text:after{content:"";background-color:var(--color-border);opacity:.3;flex:1;height:1px}.divider-with-text .divider-text{color:var(--color-text);font-size:var(--font-size-body);font-weight:var(--font-weight-semibold);white-space:nowrap}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-white{color:var(--color-white)}.font-heavy{font-weight:var(--font-weight-heavy)}.font-semibold{font-weight:var(--font-weight-semibold)}
