@font-face{font-family:Vietnam;src:url(assets/BeVietnamPro-Regular.ttf)}@font-face{font-family:Vietnam;src:url(assets/BeVietnamPro-Bold.ttf);font-weight:700}
:root{--navy:#0a3145;--blue:#1477b6;--sky:#c8e9f8;--red:#bf2437;--line:#dce5e7;--muted:#466575}
*{box-sizing:border-box}body{margin:0;color:var(--navy);background:#f9fbfb;font:14px/1.55 Vietnam,system-ui,sans-serif}a{color:inherit;text-decoration:none}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.wrap{width:min(1240px,calc(100% - 64px));margin:auto}
.top{background:white;border-bottom:1px solid var(--line)}.top-inner{height:72px;display:flex;gap:20px;align-items:center}.top img{width:73px;height:46px;object-fit:contain;display:block}.brand{font-weight:700;border-left:1px solid var(--line);padding-left:20px}.upload{border:0;background:var(--navy);color:white;padding:10px 15px;border-radius:6px;font-weight:700}.top .upload{margin-left:auto}
.title{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:31px 0 22px}.kicker{color:var(--blue);font-size:11px;font-weight:700;letter-spacing:.12em;margin:0}h1{font-size:clamp(34px,5vw,66px);line-height:1.08;letter-spacing:-.065em;margin:4px 0 0}h1 span{color:var(--red)}.search{display:flex;gap:10px;align-items:center;background:white;border:1px solid var(--line);padding:7px 12px;border-radius:5px}.search span{font-size:23px;line-height:1}.search input{width:180px;border:0;background:none}
.paths{display:flex;gap:6px;border-bottom:1px solid var(--line);overflow:auto}.paths button,.types button{border:0;background:none;white-space:nowrap}.paths button{padding:12px 13px;border-bottom:3px solid transparent}.paths button[aria-pressed=true]{border-color:var(--red);font-weight:700}.tools{display:flex;justify-content:space-between;gap:12px;margin-top:14px;align-items:center}.types{display:flex;gap:5px;flex-wrap:wrap}.types button{padding:6px 10px;border-radius:4px;color:var(--muted)}.types button[aria-pressed=true]{background:#e5f2f8;color:var(--navy);font-weight:700}.grade{font-size:12px;white-space:nowrap}.grade select{border:1px solid var(--line);background:white;padding:5px;border-radius:4px}#count{font-size:11px;color:var(--muted);margin:12px 0}
.catalog{display:grid;grid-template-columns:1.28fr 1fr 1fr;gap:16px;align-items:stretch}.card{display:flex;flex-direction:column;background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden;min-width:0}.art{height:205px;display:grid;place-items:center;overflow:hidden;background:#deeff7}.art img{height:173px;width:auto;max-width:90%;object-fit:contain;filter:drop-shadow(9px 10px 8px #0a314539);transform:rotate(-7deg)}.card:first-child .art{background:linear-gradient(135deg,#0a3145 45%,#177bb9 45% 71%,#c8e9f8 71%)}.card:nth-child(2) .art{background:#e8f2ea}.card:nth-child(2) .art img{transform:rotate(6deg)}.card:nth-child(3) .art{background:#f7e7e8}.art span{font-size:35px;font-weight:700;letter-spacing:-.05em;color:var(--navy);background:white;padding:15px 24px;box-shadow:8px 8px 0 #88c4e3}.info{padding:16px;display:flex;flex-direction:column;flex:1}.meta{margin:0;color:var(--blue);font-weight:700;font-size:11px}.info h2{font-size:20px;letter-spacing:-.03em;line-height:1.35;margin:8px 0 4px}.description,.muted{color:var(--muted);margin:4px 0 15px;font-size:13px}.open{align-self:start;margin-top:auto;color:#075587;font-weight:700;cursor:pointer;font-size:13px}.open:hover{text-decoration:underline}.empty{grid-column:1/-1;padding:24px;background:#edf6fa}footer.wrap{border-top:1px solid var(--line);margin-top:35px;padding:17px 0;display:flex;justify-content:space-between;gap:15px;color:var(--muted);font-size:12px}
dialog{border:1px solid var(--line);border-radius:10px;color:var(--navy);width:min(510px,calc(100% - 24px));padding:20px}dialog::backdrop{background:#0a314578}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-head h2{margin:0;font-size:20px}.dialog-head button{border:0;background:#edf5f9;border-radius:5px;font-size:22px}.pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}form label{display:grid;gap:4px;margin:12px 0;font-size:13px;font-weight:700}form input,form select{min-width:0;width:100%;padding:8px;border:1px solid var(--line);border-radius:4px;background:white}#reader{width:min(1080px,calc(100% - 20px))}iframe{width:100%;height:75vh;border:0;margin-top:10px}
@media(max-width:780px){.wrap{width:calc(100% - 28px)}.catalog{grid-template-columns:1fr 1fr}.title{align-items:start;flex-direction:column;gap:13px}.search,.search input{width:100%}}
@media(max-width:500px){.catalog{grid-template-columns:1fr}.art{height:168px}.art img{height:140px}.tools{align-items:start;flex-direction:column}.top-inner{gap:8px;height:62px}.brand{padding-left:8px}.top img{width:52px}.top .upload{font-size:11px;padding:8px}.title{margin-top:21px}.paths button{padding:9px 10px}}

/* Folder tabs */
.paths {
  gap: 3px;
  padding: 6px 4px 0;
  scrollbar-width: thin;
  border-bottom: 1px solid #c8dce6;
}
.paths button {
  --tab: #e8f2f8;
  position: relative;
  flex: 0 0 auto;
  margin-right: -3px;
  padding: 10px 17px 9px;
  border: 1px solid #ccdee8;
  border-bottom: 0;
  border-radius: 15px 15px 0 0;
  background: var(--tab);
}
.paths button:nth-child(odd) { margin-top: 5px; }
.paths button:nth-child(2n) { --tab: #eaf3ef; }
.paths button:nth-child(3n) { --tab: #f7ebed; }
.paths button[aria-pressed=true] {
  z-index: 1;
  margin-top: 0;
  background: var(--navy);
  color: white;
  border-color: var(--navy);
  box-shadow: inset 0 3px 0 #dd4254;
}
.paths button:focus-visible { outline-offset: -4px; }
.tools {
  margin-top: 0;
  padding: 10px 12px;
  background: white;
  border: 1px solid var(--line);
  border-top: 0;
  border-radius: 0 0 10px 10px;
}
.card { border-radius: 13px; box-shadow: 0 4px 14px #0a314508; }
.card:nth-child(3) .art img { transform: rotate(-4deg); }
.info { padding: 17px 18px; }
.open { padding: 7px 10px; border-radius: 6px; background: #edf6fa; }
@media(max-width:500px) {
  .paths button { padding-inline: 12px; }
  .brand { font-size: 12px; }
}
[hidden] { display: none !important; }
#account { margin-left:auto; border:1px solid var(--line); background:white; border-radius:7px; padding:8px 12px; font-weight:700; }
.top .upload:not([hidden]) + #account { margin-left:0; }
