.admin-main{padding-bottom:30px}.admin-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:48px 0 40px;border-bottom:1px solid var(--line);margin-bottom:36px}.admin-intro h1{font-size:36px;letter-spacing:-.025em;margin:10px 0 14px}.admin-intro p{color:var(--muted);font-size:15px}.session-state{font-size:12px;color:var(--muted);white-space:nowrap}.editor-layout{display:grid;grid-template-columns:minmax(0,700px) minmax(210px,1fr);gap:70px}.entry-editor h2,.admin-aside h2,.admin-login h2,.admin-success h2{font-size:24px}.entry-editor form{margin-top:28px}.kind-options{padding:0;border:0;margin:0 0 30px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.kind-options legend{margin-bottom:12px;font-size:14px;font-weight:700}.kind-options label{position:relative;display:grid;grid-template-columns:16px 1fr;align-items:center;gap:7px 8px;padding:16px 14px;border:1px solid var(--line);border-radius:12px;cursor:pointer;color:var(--muted)}.kind-options label:has(:checked){background:#38202e;border-color:#bd7695;color:var(--paper)}.kind-options input{accent-color:var(--rose);margin:0;width:16px;height:16px}.kind-options span{font-size:15px;font-weight:700}.kind-options small{font-size:11px;grid-column:1/-1}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-field{margin-bottom:22px}.form-field>label,.admin-login label{display:block;font-size:14px;font-weight:700;margin-bottom:8px}.form-field>label span{color:var(--muted);font-size:12px;font-weight:400;margin-left:6px}.form-field input:not([type=file]),.form-field textarea,.admin-login input{width:100%;min-height:48px;background:#21141c;color:var(--paper);border:1px solid #755466;border-radius:8px;padding:11px 13px;font:inherit;caret-color:var(--rose-light);color-scheme:dark}.form-field textarea{resize:vertical;min-height:100px;line-height:1.7}.form-field input::placeholder,.form-field textarea::placeholder{color:#b6a0ac}.field-hint{color:var(--muted);font-size:12px;margin-top:9px}.memory-upload input{font-size:14px;width:100%;padding:10px 0;color:var(--muted)}.memory-upload input::file-selector-button{margin-right:12px;background:#38202e;color:var(--paper);border:1px solid #755466;border-radius:8px;padding:12px 15px;cursor:pointer;font:inherit}.memory-upload input:focus-visible{outline-offset:3px}.publish-rule{padding:18px 0;margin:8px 0 22px;border-block:1px solid var(--line);font-size:13px;line-height:1.8;color:var(--muted)}.publish-rule p:first-child{color:var(--rose-light);font-weight:700;margin-bottom:5px}.publish-button{margin-top:10px;min-width:220px}.admin-aside{padding-top:2px}.admin-aside h2{font-size:20px}.admin-steps{padding:0;list-style:none;margin:24px 0 0}.admin-steps li{margin-bottom:26px}.admin-steps strong{font-size:14px;font-weight:700}.admin-steps p,.semester-guide p{font-size:13px;color:var(--muted);line-height:1.9;margin-top:7px}.semester-guide{padding-top:22px;border-top:1px solid var(--line);margin-top:30px}.semester-guide h3{font-size:15px}.admin-login{max-width:460px;padding:10px 0 30px}.admin-login>p{color:var(--muted);margin:14px 0 26px}.admin-login .button{margin-top:22px}.admin-success{padding:24px 28px;background:#2e1b26;border:1px solid #85556c;border-radius:14px;margin-bottom:36px}.admin-success p{margin-top:12px;color:var(--muted)}.success-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:20px}.recent-section{margin-top:65px}.recent-entry{display:grid;grid-template-columns:100px 60px 1fr auto;gap:20px;align-items:center;padding:18px 0;border-bottom:1px solid var(--line);font-size:13px}.recent-entry time,.recent-entry .recent-kind{color:var(--muted);font-size:12px}.recent-entry strong{font-size:14px;font-weight:600}.recent-entry .text-link{justify-self:end}.recent-entry p{font-size:12px;color:var(--muted);margin-top:4px}#memory-preview{display:flex;gap:14px;align-items:center;margin-top:15px;font-size:12px;color:var(--muted)}#memory-preview img{width:160px;height:110px;object-fit:contain;border-radius:8px;background:#21141c}.admin-main .error-text{margin:14px 0}.admin-main a,.admin-main button{transition:background .2s,color .2s}.admin-main button:disabled{cursor:wait}
@media(max-width:1000px){.editor-layout{gap:35px;grid-template-columns:minmax(0,1fr) 235px}.header-inner{gap:15px}.site-header nav{gap:15px}}
@media(max-width:760px){.admin-intro{padding:30px 0;align-items:flex-start;flex-direction:column;gap:15px}.admin-intro h1{font-size:29px}.editor-layout{grid-template-columns:1fr;gap:45px}.admin-aside{border-top:1px solid var(--line);padding-top:28px}.admin-aside h2{font-size:22px}.kind-options{gap:8px}.kind-options label{padding:13px 10px;gap:6px}.kind-options small{font-size:11px;line-height:1.6}.field-pair{gap:14px}.form-field input:not([type=file]),.form-field textarea,.admin-login input{font-size:16px;min-width:0}.header-inner{width:calc(100% - 32px);min-height:76px;flex-wrap:wrap;gap:6px 14px;padding:12px 0}.site-header nav{display:flex;gap:18px;order:3;width:100%;justify-content:flex-start;border-top:1px solid var(--line);padding-top:4px}.brand{gap:8px}.brand strong{font-size:13px}.brand img{width:36px;height:36px}.brand small{font-size:10px}.header-inner>.button{padding:8px 12px;margin-left:auto}.recent-entry{grid-template-columns:1fr auto;gap:7px 14px}.recent-entry time{grid-column:1}.recent-entry .recent-kind{grid-column:2;grid-row:1}.recent-entry>div{grid-column:1}.recent-entry .text-link{grid-column:2;grid-row:2}.admin-success{padding:22px 18px}.success-actions{gap:8px 16px}.publish-button{width:100%}.admin-steps{display:grid;gap:18px}.admin-steps li{margin:0}.semester-guide{margin-top:24px}}
@media(max-width:760px){.site-header nav{position:static;inset:auto;background:transparent;box-shadow:none;border:0;border-top:1px solid var(--line);border-radius:0;padding:4px 0 0}}
.editor-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.editor-actions .button{margin-top:10px}.editing-notice{font-size:14px;line-height:1.7;color:var(--rose-light);margin-top:14px;overflow-wrap:anywhere}.kind-options:disabled label{cursor:default}.kind-options:disabled input{opacity:.7}.entry-editor,.recent-section,.admin-success{scroll-margin-top:150px}
.management-tabs{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap}.management-tabs button{min-height:44px;border:1px solid #755466;border-radius:24px;padding:9px 20px;font:inherit;font-size:13px;color:var(--muted)}.management-tabs button[aria-pressed=true]{background:var(--paper);border-color:var(--paper);color:var(--wine);font-weight:700}.management-tabs button:hover{border-color:var(--rose-light)}.management-tabs span{margin-left:6px}
.management-tools{display:flex;gap:18px;align-items:flex-end;flex-wrap:wrap;margin-bottom:15px}.management-tools label{display:flex;flex-direction:column;gap:8px;font-size:13px;color:var(--muted)}.management-tools .manage-search{flex:1;min-width:220px}.management-tools input,.management-tools select{width:100%;min-height:46px;border:1px solid #755466;background:var(--surface);border-radius:8px;padding:10px 13px;color:var(--paper);font:inherit;caret-color:var(--rose-light);color-scheme:dark}.management-tools select{min-width:125px}.management-tools input::placeholder{color:#b6a0ac}.management-notice{padding:16px 0;color:var(--rose-light);line-height:1.8;font-size:14px}.management-empty{padding:32px 0;color:var(--muted);font-size:14px}
.recent-entry{grid-template-columns:100px 50px minmax(0,1fr) auto;gap:16px}.record-details{min-width:0}.record-details strong{overflow-wrap:anywhere}.record-details small{display:block;color:var(--muted);font-size:12px;line-height:1.7;margin-top:6px}.recent-entry.is-editing{background:#24141e;padding-inline:16px;border-radius:10px;border-bottom-color:transparent}.record-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.record-actions .text-link{margin-right:6px}.record-action{min-height:44px;padding:8px 12px;font:inherit;font-size:13px;border:1px solid #755466;border-radius:8px;color:var(--paper);white-space:nowrap}.record-action:hover{background:#38202e}.record-action-delete{color:#ffc5d8}.trash-photo-count{font-size:12px;color:var(--muted)}
.management-dialog{padding:28px}.management-dialog .delete-entry-name{font-size:16px;color:var(--paper);font-weight:700;margin:22px 0 14px}.management-dialog .delete-actions{margin-top:26px}.management-dialog .error-text{color:#ffc5d8}.management-dialog:focus{outline-offset:4px}
@media(max-width:1000px){.recent-entry{grid-template-columns:95px 45px minmax(0,1fr)}.record-actions{grid-column:3;justify-content:flex-start}}
@media(max-width:760px){.management-tools{gap:14px}.management-tools .manage-search{flex-basis:100%;min-width:0}.management-tools input,.management-tools select{font-size:16px}.management-tools label:not(.manage-search){flex:1}.management-tools>.button{flex:0 0 auto}.recent-entry{grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;padding-block:20px}.recent-entry time{grid-column:1;grid-row:auto}.recent-entry .recent-kind{grid-column:2;grid-row:1}.recent-entry .record-details{grid-column:1/-1}.recent-entry .record-actions{grid-column:1/-1;grid-row:auto;justify-content:flex-start;gap:12px;margin-top:4px}.recent-entry .record-actions .text-link{grid-column:auto;grid-row:auto;justify-self:auto}.recent-entry.is-editing{padding-inline:14px}.management-dialog{padding:24px 20px}.editor-actions{gap:8px}.editor-actions .publish-button{flex:1;min-width:180px}.editor-actions #cancel-edit{width:100%}.entry-editor,.recent-section,.admin-success{scroll-margin-top:155px}}
@media(prefers-reduced-motion:reduce){.admin-main *, .admin-main *:before,.admin-main *:after{transition:none!important;scroll-behavior:auto!important}}
