        @import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@1,400;1,700&family=Inter:wght@400;600&display=swap');
        
        @font-face {
            font-family: 'IBM Plex Mono';
            src: url('IBM-Plex-Mono.woff') format('woff');
        }

        @font-face {
            font-family: 'Figue';
            src: url('Figue.woff') format('woff');
        }

        @font-face {
            font-family: 'Signature';
            src: url('Signature.woff2') format('woff2');
        }

        @font-face {
            font-family: 'MazzyTM-Regular';
            src: url('MazzyTM-Regular.woff2') format('woff2');
        }

        @font-face {
            font-family: 'ThePoetRegular';
            src: url('ThePoetRegular.woff2') format('woff2');
        }

        @font-face {
            font-family: 'DandelionRegular';
            src: url('DandelionRegular.woff2') format('woff2');
        }

        @font-face {
            font-family: 'Finidrel';
            src: url('Finidrel.woff2') format('woff2');
        }

        body {
            background-color: #f5f5f0;
            color: #1a1a1a;
            font-family: 'Inter', sans-serif;
            overflow-x: hidden;
            overflow-y: hidden;
        }
        ::selection {
            background-color: #ff3399;
            color: white;
        }
        
        .font-cursive { font-family: 'Signature', cursive; }
        .font-figue { font-family: 'Figue', serif; }
        .font-year { font-family: 'IBM Plex Mono', monospace; }
        .font-cormorant { font-family: 'Cormorant Garamond', serif; }
        .font-mazzy { font-family: 'MazzyTM-Regular', sans-serif; }
        .font-poet { font-family: 'ThePoetRegular', serif; }
        .font-dandelion { font-family: 'DandelionRegular', serif; }
        .font-finidrel { font-family: 'Finidrel', serif; }

        .writing-vertical { writing-mode: vertical-rl; }
        
        ::-webkit-scrollbar {
            display: none;
            width: 0;
            height: 0;
        }
        * {
            -ms-overflow-style: none;
            scrollbar-width: none;
        }

        /* 100% Fluid & Responsive Photo Frame */
        .photo-frame-container {
            position: relative;
            width: 85%;
            max-width: 240px; /* Prevents it from getting too massive */
            aspect-ratio: 3 / 4;
            margin: 0 auto;
            margin-top: -12%;
            margin-bottom: -8%;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .inner-photo {
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -46%); /* Nudged up slightly for the exact oval center */
            width: 50%;
            aspect-ratio: 3 / 4; /* Maintains oval shape */
            object-fit: cover;
            border-radius: 50%; /* Prevents corners poking out */
            z-index: 0;
        }

        .frame-overlay {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            object-fit: contain;
            z-index: 10;
            pointer-events: none;
        }
        
        .ledger-input {
            background: transparent;
            outline: none;
            width: 100%;
            font-family: 'Finidrel', serif;
            color: #1a1a1a;
        }
        .ledger-input::placeholder {
            opacity: 0.3;
        }