:root,html.a,html.b,html.y,html.z {
 --vf-teal:#7FA6A1;--vf-rose:#D8A3A4;--vf-cream:#F4EBDD;--vf-coral:#C97B72;--vf-navy:#2F3A4A;--vf-gold:#C9A56A;
 --font-main:'Inter',sans-serif;--font-serif:'Playfair Display',Georgia,serif;
 --bg:#F4EBDD;--fg:#2F3A4A;--link:#406963;--link-hover:#9a504b;--input-bg:#fffaf3;--input-fg:#2F3A4A;
 --btn-bg:#D8A3A4;--btn-fg:#2F3A4A;--b:#dfcdbb;
}
body {font-family:'Inter',sans-serif;color:var(--vf-navy);background:var(--vf-cream)}
.vf-brand {text-align:center;color:var(--vf-cream)}
.vf-wordmark {font-family:'Playfair Display',Georgia,serif;font-weight:400;letter-spacing:-.045em;line-height:1.05;margin:0;font-size:clamp(64px,7.5vw,112px);color:inherit;text-shadow:0 2px 18px #172b2840}
.vf-wordmark .vf-vali {color:#5B7874}
.vf-wordmark .vf-flix {color:#B4796F}
.vf-flourish {display:flex;align-items:center;justify-content:center;gap:10px;color:var(--vf-rose);font-size:30px;line-height:1;margin:8px 0 12px}
.vf-flourish::before,.vf-flourish::after {content:'';width:65px;height:10px;border-top:1px solid currentColor;border-radius:50%}
.vf-flourish::before {transform:rotate(-8deg)}.vf-flourish::after {transform:rotate(8deg)}
.vf-subtitle {font-family:'Playfair Display',Georgia,serif;font-weight:400;font-size:clamp(18px,2vw,26px);line-height:1.4;margin:0;text-shadow:0 2px 14px #13262280}
/* All artwork and licensed fonts are embedded from private local assets by build-theme.py. */
body.vf-login {margin:0!important;min-height:100svh;box-sizing:border-box;background-color:#b5a185;background-image:linear-gradient(90deg,#17282008,#17282010 44%,#17282004),var(--vf-scene);background-size:cover;background-position:center center;background-attachment:fixed;padding:1px 0 40px}
.vf-login #wrap {margin:0!important;padding:0!important;background:none!important;border:0!important;width:100%!important;max-width:none!important;min-width:0!important}
.vf-login #wrap > :not(.vf-stage),.vf-login #repl,.vf-login #pb {display:none!important}
.vf-stage {width:min(460px,calc(100% - 40px));margin:clamp(64px,11.5vh,138px) auto 20px;text-align:center;position:relative}
.vf-card {box-sizing:border-box;margin-top:34px;padding:28px 32px 25px;background:rgba(244,235,221,.94);border:1px solid #fff9ed99;border-radius:22px;box-shadow:0 14px 65px #302e2826;backdrop-filter:blur(12px);color:var(--vf-navy)}
.vf-popcorn {display:flex;align-items:center;justify-content:center;width:72px;height:72px;margin:0 auto 11px;background:#bd817d;border-radius:50%;color:#fff6e8}
.vf-popcorn svg {width:38px;height:43px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.vf-card #l {display:block;margin:0 0 6px;padding:0;font-family:'Playfair Display',Georgia,serif;font-size:29px;font-weight:400;line-height:1.3;color:var(--vf-navy);border:0;background:none}
.vf-support {font-size:15px;line-height:1.6;margin:0 0 20px;color:#675e59}
.vf-card #lf {display:flex;flex-direction:column;gap:14px;margin:0;padding:0;background:none;border:0;box-shadow:none}
.vf-card #lp {box-sizing:border-box;display:block;min-width:0;width:100%;height:52px;margin:0;padding:12px 18px;border-radius:15px;border:1px solid #d8c6b4;background:#fffaf2c9;color:var(--vf-navy);font:400 15px 'Inter',sans-serif;box-shadow:none;text-align:left;outline-offset:3px}
.vf-card #lp::placeholder {color:#756f68;opacity:1;font:400 15px Inter,sans-serif;font-style:normal}
.vf-card #ls {box-sizing:border-box;display:block;width:100%;height:52px;margin:0;padding:10px;border:1px solid #b37270;border-radius:15px;background:#C97B72;color:#fffaf3;font:700 20px 'Inter',sans-serif;cursor:pointer;box-shadow:none;transition:background-color .15s}
.vf-card #ls:hover {background:#ad635f}.vf-card #ls:active {transform:translateY(1px)}
.vf-card #lp:focus-visible,.vf-card #ls:focus-visible {outline:3px solid #406963}
.vf-card #w,.vf-card #wb {display:none}
.vf-card #lm:empty {display:none}
.vf-card #lm,.vf-card #msg {font-family:'Inter',sans-serif;color:#8d3537;font-size:14px;line-height:1.6;overflow-wrap:anywhere;max-width:100%;margin:0}
.vf-card #msg {margin:12px 0;padding:10px;background:#f9dad7;border-radius:8px}
.vf-card #msg a {color:#843d3a}
.vf-private-note {font-family:'Playfair Display',Georgia,serif;font-size:14px;font-style:italic;margin:17px 0 0;color:#65594b}
/* Keep the same native file table, breadcrumbs, sort behavior and links. */
body.vf-library {margin:0!important;padding:0 32px 36px;background:#F4EBDD!important;color:#2F3A4A!important;min-width:0!important}
.vf-library-header {display:flex;align-items:center;justify-content:space-between;gap:24px;padding:26px 0 22px;border-bottom:1px solid #d8c6b4;max-width:1240px;margin:auto}
.vf-library-header .vf-brand {text-align:left;color:#406963}
.vf-library-header .vf-wordmark {font-size:42px;text-shadow:none;letter-spacing:-2px}
.vf-library-header .vf-subtitle {font:400 12px 'Inter',sans-serif;text-shadow:none;margin-top:7px;color:#70685e}
.vf-library-header .vf-flourish {display:none}
.vf-library-header nav {display:flex;align-items:center;gap:12px;font-size:13px}
.vf-library-header nav a {padding:10px 14px;border:1px solid #d5c2ae;border-radius:10px;text-decoration:none;color:#315b55;background:#fff9ef}
.vf-library-header nav a:first-child {background:#dce5da;border-color:#b9cbc3}
.vf-library-intro {max-width:1240px;margin:32px auto 25px}
.vf-library-intro h1 {font:400 34px 'Playfair Display',Georgia,serif;color:#406963;margin:0 0 8px}
.vf-library-intro p {font-size:14px;color:#70685e;margin:0;line-height:1.6}
.vf-library #ops {max-width:1240px;margin:0 auto 18px!important;float:none;min-width:0;position:static!important;border:0!important;background:transparent!important;box-shadow:none!important;font-size:13px}
.vf-library #ops a,.vf-library #ops button,.vf-library .btns>a {border-radius:7px;background:#f9f2e8;color:#406963;border-color:#d9c7b5;box-shadow:none}
.vf-library #ops a:hover {background:#e2e9df}
.vf-library #tree,.vf-library #entree,.vf-library #srv_info,.vf-library #repl {display:none!important}
.vf-library #path {box-sizing:border-box;max-width:1240px;margin:12px auto 0!important;padding:16px 20px!important;border-radius:14px 14px 0 0;background:#fffaf2!important;color:#406963!important;border:1px solid #decebb;border-bottom:0;font:500 14px 'Inter',sans-serif;float:none;position:static;line-height:1.7;overflow-wrap:anywhere}
.vf-library #path a {color:#406963}
.vf-library #wrap {box-sizing:border-box;max-width:1240px;min-width:0!important;width:100%!important;margin:0 auto!important;padding:12px 20px 22px!important;border:1px solid #decebb;border-top:0;border-radius:0 0 14px 14px;background:#fffaf2!important;box-shadow:0 10px 35px #765d3c09}
.vf-library #files {border-collapse:collapse;width:100%!important;margin:0!important;font-size:14px;table-layout:fixed}
.vf-library #files th {color:#74685a!important;font-weight:500;font-size:11px;letter-spacing:.06em;text-transform:uppercase;border:0!important;border-bottom:1px solid #dfd0bf!important;background:none!important;padding:13px 12px!important}
.vf-library #files td {padding:16px 12px!important;line-height:1.5!important;border:0!important;border-bottom:1px solid #e9dfd1!important;background:transparent!important;color:#655f58;vertical-align:middle;white-space:normal!important}
.vf-library #files tr:hover td {background:#f3ede2!important}
.vf-library #files th:nth-child(1),.vf-library #files td:nth-child(1),.vf-library #files th[name='ext'],.vf-library #files td:nth-child(4) {display:none}
.vf-library #files th:nth-child(2) {width:auto;text-align:left}
.vf-library #files th:nth-child(3) {width:100px}
.vf-library #files th[name='ts'] {width:150px}
.vf-library #files .vf-action-heading {width:140px;text-align:right}
.vf-library #files td:nth-child(2) a {font-size:14px;font-weight:500;color:#315e58!important;overflow-wrap:anywhere;white-space:normal!important;text-decoration:none}
.vf-library #files td:nth-child(2) a:hover {text-decoration:underline}
.vf-library #files .vf-file-action {text-align:right}
.vf-library .vf-file-action a {display:inline-block;box-sizing:border-box;min-width:108px;padding:9px 12px;border-radius:9px;background:#efdbd2;color:#753f3c!important;font-size:12px;font-weight:600;white-space:nowrap;text-decoration:none}
.vf-library .vf-file-action a:hover {background:#e5c6bb}
.vf-library #wfp {font:400 12px 'Inter',sans-serif;text-align:right;margin:20px 0 0;border:0;background:none}
.vf-library #wfp a {color:#71665b}
.vf-library .opview {box-sizing:border-box;max-width:1240px;margin:16px auto;border-radius:12px;background:#fffaf2;border-color:#dfd0bf;color:#2F3A4A}
.vf-library input,.vf-library select,.vf-library button {font-family:'Inter',sans-serif}
.vf-library a:focus-visible {outline:3px solid #406963;outline-offset:3px}
.vf-account {margin:0;padding:35px 20px;background:#F4EBDD}
.vf-account-brand .vf-brand {color:#406963;margin-bottom:25px}
.vf-account-brand .vf-wordmark {font-size:58px;text-shadow:none}
.vf-account-brand .vf-subtitle {font-size:18px;text-shadow:none}
.vf-account #wrap {box-sizing:border-box;width:min(660px,100%);margin:0 auto;padding:28px;background:#fffaf2;border-radius:18px;border:1px solid #decebb}
.vf-account a {color:#406963}
@media(max-width:900px) {
 .vf-stage {margin-top:12vh;width:430px;max-width:calc(100% - 40px)}
 .vf-wordmark {font-size:86px}
 .vf-card {margin-top:28px}
 body.vf-login {background-position:15% center}
 .vf-stage {margin-left:auto;margin-right:30px}
 .vf-library-header {align-items:flex-start}
 .vf-library-header .vf-subtitle {max-width:185px;line-height:1.5}
 .vf-library #files th[name='ts'],.vf-library #files td:nth-child(5) {display:none}
}
@media(max-width:520px) {
 body.vf-login {background-color:#ded0bb;background-image:linear-gradient(180deg,#152a2b30 0,#172b2800 26%,#e7d9c000 40%,#e7d9c0 70%),var(--vf-scene);background-size:auto 670px;background-position:18% top;background-repeat:no-repeat;background-attachment:scroll;padding-bottom:28px;min-height:100svh}
 .vf-stage {width:calc(100% - 36px);max-width:380px;margin:40px auto 0}
 .vf-wordmark {font-size:72px;letter-spacing:-3px}
 .vf-subtitle {font-size:18px}
 .vf-flourish {font-size:23px;margin:5px 0 8px}
 .vf-flourish::before,.vf-flourish::after {width:46px}
 .vf-card {margin-top:138px;padding:24px 23px 22px;border-radius:20px;background:rgba(244,235,221,.97);backdrop-filter:blur(8px)}
 .vf-popcorn {width:59px;height:59px;margin-bottom:10px}
 .vf-popcorn svg {width:31px;height:36px}
 .vf-card #l {font-size:27px}
 .vf-support {font-size:14px;margin-bottom:19px}
 .vf-card #lp {font-size:16px;height:52px}
 .vf-card #ls {font-size:18px;height:52px}
 .vf-private-note {font-size:13px}
 body.vf-library {padding:0 15px 24px}
 .vf-library-header {gap:12px;padding-top:20px;align-items:center}
 .vf-library-header .vf-wordmark {font-size:34px}
 .vf-library-header .vf-subtitle {display:none}
 .vf-library-header nav {gap:7px;font-size:11px}
 .vf-library-header nav a {padding:9px}
 .vf-library-header nav a:first-child {display:none}
 .vf-library-intro {margin:25px auto 19px}
 .vf-library-intro h1 {font-size:28px}
 .vf-library-intro p {font-size:12px}
 .vf-library #ops {font-size:11px;line-height:2}
 .vf-library #path {padding:12px!important;font-size:12px}
 .vf-library #wrap {padding:6px 9px 16px!important}
 .vf-library #files th,.vf-library #files td {padding:14px 5px!important;font-size:11px}
 .vf-library #files td:nth-child(2) a {font-size:12px}
 .vf-library #files th:nth-child(3) {width:54px}
 .vf-library #files .vf-action-heading {width:94px}
 .vf-library .vf-file-action a {min-width:0;font-size:10px;padding:10px 7px;white-space:normal}
}
@media(prefers-reduced-motion:reduce) {*,*::before,*::after {transition:none!important;scroll-behavior:auto!important}}

/* The native player/settings remain available underneath; this sharing UI presents downloads. */
.vf-library #widget,.vf-library #ops,.vf-library #acc_info {display:none!important}
.vf-library #files td {box-shadow:none!important}
.vf-library #files td:nth-child(3) {font-variant-numeric:tabular-nums;font-size:12px}
#ht_msg {background:#F4EBDD!important}
body.vf-message {box-sizing:border-box;min-height:100svh;padding:12vh 20px 40px;margin:0;background:linear-gradient(#1e302c25,#1e302c25),var(--vf-scene) center/cover fixed;text-align:center}
.vf-message #box {box-sizing:border-box;width:min(460px,100%);margin:30px auto 0;padding:28px;border-radius:20px;background:#F4EBDD;color:#2F3A4A}
.vf-message #box h1 {font:400 26px 'Playfair Display',Georgia,serif;line-height:1.4;color:#2F3A4A;margin:0 0 20px}
.vf-message #box h2 {font:600 16px Inter,sans-serif;margin:0}
.vf-message #box a {color:#315e58;background:none}
/* Brand plate: keeps the exact two-colour wordmark legible over photographic scenes. */
.vf-stage .vf-wordmark,.vf-message .vf-wordmark {display:inline-block;padding:.06em .34em .14em;background:#F4EBDD;border-radius:.22em;text-shadow:none;box-shadow:0 10px 36px #172b2845}
