*{margin:0;padding:0;box-sizing:border-box;font-family:EB Garamond,serif}html{scroll-behavior:smooth}body{font-family:EB Garamond,serif;background:#fafaf8;color:#2c2c2c;-webkit-font-smoothing:antialiased}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:#fafaf8}.auth-box{width:100%;max-width:400px;background:#fff;padding:48px 32px;border-radius:8px;box-shadow:0 2px 8px #0000001a}.auth-box h1{font-size:36px;font-weight:400;margin-bottom:8px;color:#1a1a1a}.auth-subtitle{color:#666;margin-bottom:32px;font-size:16px}.auth-input{width:100%;padding:14px 16px;margin-bottom:16px;border:1px solid #ddd;border-radius:6px;font-family:EB Garamond,serif;font-size:16px;background:#fff;color:#1a1a1a;transition:border-color .2s}.auth-input:focus{outline:none;border-color:#8b7355;background:#fff}.auth-error{color:#d32f2f;font-size:14px;margin-bottom:16px;padding:12px;background:#ffebee;border-radius:4px}.auth-btn{width:100%;padding:14px;background:#ce796b;color:#fff;border:none;border-radius:6px;font-family:EB Garamond,serif;font-size:16px;font-weight:400;cursor:pointer;transition:background .2s}.auth-btn:hover{background:#b86a5e}.auth-btn:disabled{background:#e7b2a9;cursor:not-allowed}.user-orange{color:#ce796b!important;font-weight:500}.greeting-text{display:inline-block;animation:greetingSlide .2s ease-out}@keyframes greetingSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.google-btn{width:100%;padding:14px;background:#fff;color:#444;border:1px solid #ddd;border-radius:6px;font-family:EB Garamond,serif;font-size:16px;font-weight:400;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:20px}.google-btn:hover{background:#f8f8f8;border-color:#bbb;box-shadow:0 1px 3px #0000001a}.divider{text-align:center;margin:24px 0;position:relative;color:#999;font-size:14px}.divider:before,.divider:after{content:"";position:absolute;top:50%;width:45%;height:1px;background:#ddd}.divider:before{left:0}.divider:after{right:0}.divider span{background:#fff;padding:0 12px;position:relative}.auth-toggle{margin-top:24px;text-align:center;color:#666;font-size:15px}.toggle-btn{background:none;border:none;color:#8b7355;font-family:EB Garamond,serif;font-size:15px;font-weight:400;cursor:pointer;margin-left:8px;text-decoration:underline}.verification-step{text-align:center}.verification-step h2{font-size:24px;font-weight:400;margin-bottom:16px;color:#1a1a1a}.verification-step p{color:#666;margin-bottom:12px;font-size:15px;line-height:1.5}.verification-step strong{color:#1a1a1a}.app{min-height:100vh}.app-header{background:#fff;border-bottom:1px solid #e0e0e0;padding:20px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:50}.app-header h1{font-size:28px;font-weight:400;color:#1a1a1a}.header-actions{display:flex;gap:12px;align-items:center}.header-icon{background:none;border:none;color:#666;cursor:pointer;padding:8px;border-radius:6px;transition:all .2s;display:flex;align-items:center;justify-content:center}.header-icon:hover{background:#f5f5f5;color:#1a1a1a}.logout-btn{background:none;border:1px solid #ddd;color:#666;padding:8px 16px;border-radius:6px;font-family:EB Garamond,serif;font-size:14px;cursor:pointer;transition:all .2s}.logout-btn:hover:not(:disabled){background:#f5f5f5;border-color:#bbb}.logout-btn:disabled{opacity:.6;cursor:not-allowed}.app-main{max-width:800px;margin:0 auto;padding:32px 20px}.word-entry{margin-bottom:48px}.entry-date{font-size:52px;color:#333;font-weight:400;margin-bottom:16px;padding-bottom:8px;border-bottom:2px solid #e0e0e0}.words-container{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.word-item{background:transparent;border:none;border-bottom:1px solid #e0e0e0;border-radius:0;padding:16px 0;transition:all .2s}.word-item:hover{box-shadow:none;background:transparent}.word-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.word-text{font-size:22px;font-weight:400;color:#1a1a1a;flex:1}.word-actions{display:flex;gap:8px}.input-container{position:relative;margin-top:12px;margin-bottom:16px}.word-input{width:100%;border:none;border-bottom:2px solid #e0e0e0;font-family:EB Garamond,serif;font-size:20px;color:#1a1a1a;padding:12px 0;background:transparent;transition:all .2s}.word-input:focus{outline:none;border-bottom-color:#8b7355;box-shadow:none}.word-input::placeholder{color:#bbb}.suggestions-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #e0e0e0;border-radius:6px;margin-top:4px;box-shadow:0 4px 12px #0000001a;z-index:10;overflow:hidden}.suggestion-item{padding:14px 16px;cursor:pointer;font-size:18px;transition:background .2s;text-transform:capitalize}.suggestion-item:hover{background:#f5f5f5}.icon-btn{background:none;border:none;color:#666;cursor:pointer;padding:6px;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.icon-btn:hover{background:#f5f5f5;color:#1a1a1a}.delete-btn:hover{background:#ffebee;color:#d32f2f}.word-details{margin-top:16px;padding:16px;background:#f9f9f8;border-radius:6px;border-left:3px solid #8b7355}.detail-row{margin-bottom:12px;font-size:15px;line-height:1.6}.detail-row:last-child{margin-bottom:0}.detail-label{font-weight:400;color:#666;display:block;margin-bottom:4px;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.example-text{font-style:italic;color:#555}.description-input{width:100%;margin-top:12px;padding:12px;border:1px dashed #ddd;border-radius:6px;font-family:EB Garamond,serif;font-size:15px;color:#666;background:#fafaf8;transition:all .2s}.description-input:focus{outline:none;border-color:#8b7355;border-style:solid;background:#fff}.description-input::placeholder{color:#bbb}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:#fafaf8}.spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#8b7355;border-radius:50%;animation:spin .8s linear infinite}.words-loading{display:flex;align-items:center;justify-content:center;gap:12px;padding:20px;color:#888;font-size:1em}.spinner-small{width:20px;height:20px;border:2px solid #e0e0e0;border-top-color:#ce796b;border-radius:50%;animation:spin .8s linear infinite}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#888;text-align:center}.empty-state p{font-size:1.1em;margin-bottom:20px}.btn-reset-filter{padding:12px 24px;background:#ce796b;color:#fff;border:none;border-radius:8px;font-family:EB Garamond,serif;font-size:1em;cursor:pointer;transition:background .2s}.btn-reset-filter:hover{background:#b8695c}@keyframes spin{to{transform:rotate(360deg)}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;animation:fadeIn .2s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:12px;padding:32px;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.modal-header h2{font-size:28px;font-weight:400;color:#1a1a1a}.close-btn{background:none;border:none;font-size:32px;color:#999;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1}.close-btn:hover{color:#666}.filter-options{display:flex;flex-direction:column;gap:12px}.filter-option{padding:16px 20px;background:#f9f9f8;border:2px solid transparent;border-radius:8px;font-family:EB Garamond,serif;font-size:18px;cursor:pointer;transition:all .2s;text-align:left;color:#1a1a1a;font-weight:400}.filter-option:hover{background:#f0f0ee;border-color:#e0e0e0}.filter-option.active{background:#8b7355;color:#fff;border-color:#8b7355}.calendar-modal{max-width:1000px}.calendar-container{position:relative}.calendar-months{display:flex;margin-bottom:8px;height:20px;position:relative}.month-label{position:ab3px;color:#999;font-weight:4}.calendar-grid{display:flex;gap:4px;overflow-x:auto;padding:8px 0}.calendar-week{display:flex;flex-direction:column;gap:4px}.calendar-day{width:16px;height:16px;border-radius:3px;transition:all .2s;cursor:pointer}.calendar-day:hover{transform:scale(1.2);box-shadow:0 0 0 2px #8b7355}@media (max-width: 768px){.app-header{padding:16px}.app-header h1{font-size:20px}.app-main{padding:20px 16px}.word-item{padding:14px}.word-text{font-size:18px}.word-header{flex-wrap:wrap}.word-actions{width:100%;justify-content:flex-end;margin-top:8px}.modal-content{padding:24px;max-width:100%}.calendar-day{width:14px;height:14px}}@media (max-width: 480px){.auth-box{padding:32px 24px}.app-header h1{font-size:18px}.header-actions{gap:8px}.logout-btn{padding:6px 12px;font-size:13px}.word-input{font-size:16px}.modal-content{padding:20px}.modal-header h2{font-size:20px}.calendar-day{width:12px;height:12px}.month-label{font-size:11px}}@media print{.app-header,.entry-actions,.description-input{display:none}.word-entry{page-break-inside:avoid;border:none;box-shadow:none}}[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #2a2a2a;--text-primary: #f0f0f0;--text-secondary: #a0a0a0;--border-color: #444;--input-bg: #1a1a1a}[data-theme=dark] body{background:#1a1a1a;color:#f0f0f0}[data-theme=dark] .app-header{background:#2a2a2a;border-bottom-color:#444}[data-theme=dark] .app-header h1{color:#f0f0f0}[data-theme=dark] .header-icon{color:#a0a0a0}[data-theme=dark] .header-icon:hover{background:#333;color:#f0f0f0}[data-theme=dark] .logout-btn{color:#a0a0a0;border-color:#444}[data-theme=dark] .logout-btn:hover:not(:disabled){background:#333;border-color:#666}[data-theme=dark] .logout-btn:disabled{opacity:.6;cursor:not-allowed}[data-theme=dark] .app-main{background:#1a1a1a}[data-theme=dark] .entry-date{color:#666}[data-theme=dark] .entry-date{color:#bbb;border-bottom-color:#444}[data-theme=dark] .word-item{border-bottom-color:#444}[data-theme=dark] .word-text{color:#f0f0f0}[data-theme=dark] .word-input{background:transparent;border-bottom-color:#444;color:#f0f0f0}[data-theme=dark] .word-input:focus{border-bottom-color:#d4a574}[data-theme=dark] .word-input::placeholder{color:#666}[data-theme=dark] .suggestions-dropdown{background:#2a2a2a;border-color:#444}[data-theme=dark] .suggestion-item{color:#f0f0f0;text-transform:capitalize}[data-theme=dark] .suggestion-item:hover{background:#333}[data-theme=dark] .icon-btn{color:#a0a0a0}[data-theme=dark] .icon-btn:hover{background:#333;color:#f0f0f0}[data-theme=dark] .word-details{background:#2a2a2a;border-left-color:#d4a574}[data-theme=dark] .detail-row{color:#e0e0e0}[data-theme=dark] .detail-label{color:#a0a0a0}[data-theme=dark] .example-text{color:#b0b0b0}[data-theme=dark] .description-input{background:transparent;border-color:#444;color:#f0f0f0}[data-theme=dark] .description-input:focus{background:transparent;border-color:#d4a574;border-style:solid}[data-theme=dark] .description-input::placeholder{color:#666}[data-theme=dark] .modal-overlay{background:#000c}[data-theme=dark] .modal-content{background:#2a2a2a}[data-theme=dark] .modal-header h2{color:#f0f0f0}[data-theme=dark] .close-btn{color:#a0a0a0}[data-theme=dark] .close-btn:hover{color:#f0f0f0}[data-theme=dark] .filter-option{background:#1a1a1a;border-color:transparent;color:#f0f0f0}[data-theme=dark] .filter-option:hover{background:#333;border-color:#444}[data-theme=dark] .filter-option.active{background:#d4a574;color:#1a1a1a;border-color:#d4a574}.word-modal{background:#fff;border-radius:12px;padding:0;max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease-out;box-shadow:0 10px 40px #0003}.word-modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e0e0e0;position:sticky;top:0;background:#fff}.close-btn-modal{background:none;border:none;font-size:24px;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-btn-modal:hover{color:#1a1a1a;background:#f5f5f5;border-radius:6px}.word-modal-actions{display:flex;gap:8px}.word-modal-content{padding:24px}.word-modal-title{font-size:32px;font-weight:400;color:#1a1a1a;margin-bottom:8px;font-family:EB Garamond,serif}.word-modal-pos{font-size:14px;color:#999;font-style:italic;margin-bottom:24px}.word-modal-section{margin-bottom:20px}.word-modal-label{font-size:12px;color:#666;text-transform:uppercase;letter-spacing:.5px;font-weight:400;display:block;margin-bottom:8px}.word-modal-text{font-size:16px;color:#333;line-height:1.6}.word-modal-example{font-size:15px;color:#666;font-style:italic;line-height:1.6}.word-modal-description{font-size:15px;color:#555;line-height:1.6;padding:12px;background:#f9f9f8;border-radius:6px;border-left:2px solid #d4a574}.description-edit{display:flex;flex-direction:column;gap:12px}.description-textarea{width:100%;padding:12px;border:1px solid #e0e0e0;border-radius:6px;font-family:EB Garamond,serif;font-size:15px;color:#333;resize:vertical}.description-textarea:focus{outline:none;border-color:#d4a574;box-shadow:0 0 0 3px #d4a5741a}.description-buttons{display:flex;gap:12px}.btn-save,.btn-cancel{flex:1;padding:10px;border:none;border-radius:6px;font-family:EB Garamond,serif;font-size:14px;cursor:pointer;transition:all .2s}.btn-save{background:#d4a574;color:#fff}.btn-save:hover{background:#c49464}.btn-cancel{background:#e0e0e0;color:#333}.btn-cancel:hover{background:#d0d0d0}.btn-apply{width:100%;padding:12px;background:#d4a574;color:#fff;border:none;border-radius:6px;font-family:EB Garamond,serif;font-size:16px;cursor:pointer;transition:all .2s;margin-top:12px}.btn-apply:hover{background:#c49464}.custom-filter{margin-top:24px;padding-top:24px;border-top:1px solid #e0e0e0}.filter-label{display:block;font-size:14px;color:#666;margin-bottom:8px;font-weight:400}.filter-input{width:100%;padding:10px 12px;border:1px solid #e0e0e0;border-radius:6px;font-size:14px;font-family:EB Garamond,serif;margin-bottom:16px;color:#333}.filter-input:focus{outline:none;border-color:#d4a574;box-shadow:0 0 0 3px #d4a5741a}.calendar-modal-content{background:#fff;border-radius:12px;padding:32px;max-width:900px;width:100%;max-height:80vh;overflow:auto}.calendar-legend{display:flex;align-items:center;gap:8px;margin:24px 0;font-size:12px;color:#666}.legend-box{width:12px;height:12px;border-radius:2px}.github-calendar{margin-top:24px}.calendar-row-labels{display:flex;flex-direction:column;gap:24px;position:absolute;left:-40px;top:80px;font-size:12px;color:#666;height:fit-content}.day-label{height:16px;display:flex;align-items:center}.calendar-grid-github{display:flex;gap:4px;overflow-x:auto;position:relative;margin-left:20px}.calendar-week-github{display:flex;flex-direction:column;gap:4px}.calendar-day-github{width:13px;height:13px;border-radius:2px;transition:all .2s}.calendar-day-github:hover{transform:scale(1.3);box-shadow:0 0 0 2px #d4a574}.word-item{cursor:pointer;transition:all .2s;padding:12px 0}.word-item:hover{background:transparent;transform:translate(4px)}[data-theme=dark] .word-modal{background:#2a2a2a}[data-theme=dark] .word-modal-header{border-bottom-color:#444;background:#2a2a2a}[data-theme=dark] .close-btn-modal{color:#a0a0a0}[data-theme=dark] .close-btn-modal:hover{color:#f0f0f0;background:#333}[data-theme=dark] .word-modal-title{color:#f0f0f0}[data-theme=dark] .word-modal-pos{color:#a0a0a0}[data-theme=dark] .word-modal-text{color:#e0e0e0}[data-theme=dark] .word-modal-example{color:#b0b0b0}[data-theme=dark] .word-modal-description{background:transparent;border-left-color:#d4a574;color:#e0e0e0}[data-theme=dark] .word-modal-label{color:#a0a0a0}[data-theme=dark] .description-textarea{background:#1a1a1a;border-color:#444;color:#f0f0f0}[data-theme=dark] .description-textarea:focus{border-color:#d4a574}[data-theme=dark] .btn-cancel{background:#444;color:#f0f0f0}[data-theme=dark] .btn-cancel:hover{background:#555}[data-theme=dark] .filter-label{color:#a0a0a0}[data-theme=dark] .filter-input{background:#1a1a1a;border-color:#444;color:#f0f0f0}[data-theme=dark] .filter-input:focus{border-color:#d4a574}[data-theme=dark] .calendar-modal-content{background:#2a2a2a}[data-theme=dark] .calendar-legend,[data-theme=dark] .day-label{color:#a0a0a0}@media (max-width: 768px){.word-modal{max-width:100%;border-radius:12px 12px 0 0}.calendar-modal-content{padding:20px;max-width:100%}.calendar-row-labels{display:none}.calendar-grid-github{margin-left:0}}.word-dropdown{border-bottom:1px solid #e0e0e0;background:transparent;transition:background .2s ease}.word-dropdown-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.word-dropdown-header-left{display:flex;align-items:center;gap:8px;flex:1}.word-dropdown-header:hover{padding-left:8px;color:#8b7355}.word-dropdown-text{font-size:22px;font-weight:400;color:#1a1a1a;flex:1}.dropdown-toggle{color:#999;font-size:12px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:inline-block}.word-dropdown.expanded .dropdown-toggle{transform:rotate(0)}.word-dropdown-content{padding:8px 0 12px;animation:dropdownSlideDown .4s cubic-bezier(.34,1.56,.64,1);overflow:hidden;max-height:1000px}.word-dropdown:not(.expanded) .word-dropdown-content{animation:dropdownSlideUp .35s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes dropdownSlideDown{0%{opacity:0;max-height:0;transform:translateY(-15px)}to{opacity:1;max-height:1000px;transform:translateY(0)}}@keyframes dropdownSlideUp{0%{opacity:1;max-height:1000px;transform:translateY(0)}to{opacity:0;max-height:0;transform:translateY(-15px)}}.word-dropdown-pos{color:#8b7355;font-size:14px;font-style:italic;margin:6px 0 4px;letter-spacing:.5px}.word-dropdown-section{margin-bottom:0;padding-bottom:0;border-bottom:none}.word-dropdown-section:last-of-type{border-bottom:none}.word-dropdown-label{font-size:11px;font-weight:600;text-transform:uppercase;color:#999;letter-spacing:.8px;margin-bottom:3px;display:block}.word-dropdown-text-content{font-size:18px;line-height:1.5;color:#1a1a1a;margin:0 0 6px}.word-dropdown-example{font-style:italic;color:#333;font-size:17px;line-height:1.5;margin:0 0 6px}.word-dropdown-description{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.word-dropdown-empty{color:#bbb;font-style:italic;font-size:16px;margin:0;flex:1}.edit-btn{background:none;border:none;cursor:pointer;padding:2px 6px;font-size:14px;transition:transform .2s;flex-shrink:0;margin-top:-2px}.edit-btn:hover{transform:scale(1.2)}.word-dropdown-edit-mode{display:flex;flex-direction:column;gap:8px}.word-dropdown-textarea{width:100%;padding:8px;border:1px dashed #ddd;border-radius:6px;font-family:EB Garamond,serif;font-size:16px;color:#1a1a1a;background:#fafaf8;transition:all .2s;min-height:80px;resize:vertical}.word-dropdown-textarea:focus{outline:none;border-color:#8b7355;border-style:solid;background:#fff;box-shadow:0 0 0 3px #8b73551a}.word-dropdown-textarea::placeholder{color:#bbb}.word-dropdown-edit-buttons{display:flex;gap:8px}.save-btn,.cancel-btn{flex:1;padding:8px 12px;border:none;border-radius:6px;font-family:EB Garamond,serif;font-size:13px;cursor:pointer;transition:all .2s}.save-btn{background:#8b7355;color:#fff}.save-btn:hover{background:#725d47}.cancel-btn{background:#f0f0f0;color:#666}.cancel-btn:hover{background:#e0e0e0}.word-dropdown-actions{margin-top:8px;padding-top:8px;border-top:none;display:flex;justify-content:flex-end}.delete-btn-dropdown{background:#ffebee;color:#d32f2f;border:none;padding:6px 12px;border-radius:6px;cursor:pointer;font-family:EB Garamond,serif;font-size:13px;transition:all .2s}.delete-btn-dropdown:hover{background:#ffcdd2;transform:translateY(-1px)}[data-theme=dark] .word-dropdown{border-bottom-color:#333}[data-theme=dark] .word-dropdown-header:hover{color:#d4a574}[data-theme=dark] .word-dropdown-text{color:#f0ebe0}[data-theme=dark] .dropdown-toggle{color:#666}[data-theme=dark] .word-dropdown-pos{color:#d4a574}[data-theme=dark] .word-dropdown-section{border-bottom-color:#2a2a2a}[data-theme=dark] .word-dropdown-label{color:#888}[data-theme=dark] .word-dropdown-text-content{color:#e0e0e0}[data-theme=dark] .word-dropdown-example{color:#aaa}[data-theme=dark] .word-dropdown-empty{color:#666}[data-theme=dark] .word-dropdown-textarea{background:#1a1a1a;color:#e0e0e0;border-color:#333}[data-theme=dark] .word-dropdown-textarea:focus{background:#222;border-color:#d4a574;box-shadow:0 0 0 3px #d4a5741a}[data-theme=dark] .word-dropdown-textarea::placeholder{color:#666}[data-theme=dark] .save-btn{background:#8b7355;color:#fff}[data-theme=dark] .save-btn:hover{background:#9d8567}[data-theme=dark] .cancel-btn{background:#2a2a2a;color:#ccc}[data-theme=dark] .cancel-btn:hover{background:#333}[data-theme=dark] .delete-btn-dropdown{background:#d32f2f33;color:#ff6b6b}[data-theme=dark] .delete-btn-dropdown:hover{background:#d32f2f4d}.word-adding-indicator{display:flex;align-items:center;justify-content:center;margin:12px 0;height:20px}.adding-line{width:100%;height:2px;background:linear-gradient(90deg,transparent 0%,#8b7355 25%,#8b7355 75%,transparent 100%);animation:loadingPulse 1.5s ease-in-out infinite;border-radius:1px}@keyframes loadingPulse{0%{opacity:.3;transform:scaleX(.8)}50%{opacity:1;transform:scaleX(1)}to{opacity:.3;transform:scaleX(.8)}}[data-theme=dark] .adding-line{background:linear-gradient(90deg,transparent 0%,#d4a574 25%,#d4a574 75%,transparent 100%)}.monthly-calendar-container{max-width:600px!important;padding:28px!important}.monthly-calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px;gap:16px}.calendar-title{display:flex;justify-content:center;align-items:center;gap:16px;flex:1}.calendar-title h2{font-size:24px;font-weight:400;color:#1a1a1a;margin:0;min-width:200px;text-align:center}.calendar-nav-btn{background:none;border:none;font-size:20px;color:#8b7355;cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s;display:flex;align-items:center;justify-content:center}.calendar-nav-btn:hover{background:#f5f5f5;color:#725d47}.calendar-actions{display:flex;gap:8px;align-items:center}.share-btn{background:#8b7355;color:#fff;border:none;padding:8px 14px;border-radius:6px;font-family:EB Garamond,serif;font-size:13px;cursor:pointer;transition:all .2s}.share-btn:hover:not(:disabled){background:#725d47}.share-btn:disabled{opacity:.6;cursor:not-allowed}.monthly-calendar{margin-bottom:20px;padding:16px;background:#fafaf8;border-radius:8px}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:12px}.weekday-name{text-align:center;font-size:12px;font-weight:600;color:#999;text-transform:uppercase;letter-spacing:.5px;padding:8px 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-cell{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:6px;font-size:13px;font-weight:500;cursor:default;transition:all .2s;border:1px solid rgba(0,0,0,.05)}.calendar-cell:hover{transform:scale(1.05);box-shadow:0 2px 8px #8b735526}.calendar-legend{display:flex;align-items:center;gap:12px;font-size:12px;color:#999;padding-top:16px;border-top:1px solid #e0e0e0;justify-content:center}.legend-label{font-weight:500;color:#666}.legend-text{font-size:11px}.legend-box{width:14px;height:14px;border-radius:3px;border:1px solid rgba(0,0,0,.1)}[data-theme=dark] .monthly-calendar-container{background:#2a2a2a!important}[data-theme=dark] .calendar-title h2{color:#f0ebe0}[data-theme=dark] .calendar-nav-btn{color:#d4a574}[data-theme=dark] .calendar-nav-btn:hover{background:#333;color:#e8c597}[data-theme=dark] .share-btn{background:#8b7355;color:#fff}[data-theme=dark] .share-btn:hover:not(:disabled){background:#9d8567}[data-theme=dark] .monthly-calendar{background:#1a1a1a}[data-theme=dark] .weekday-name{color:#777}[data-theme=dark] .calendar-cell{border-color:#ffffff0d}[data-theme=dark] .calendar-cell:hover{box-shadow:0 2px 8px #d4a57426}[data-theme=dark] .calendar-legend{border-top-color:#444;color:#999}[data-theme=dark] .legend-label{color:#aaa}[data-theme=dark] .legend-box{border-color:#ffffff1a}.legal-agreement{margin-top:20px;text-align:center;font-size:13px;color:#888;line-height:1.6}.legal-link{background:none;border:none;color:#ce796b;font-family:EB Garamond,serif;font-size:13px;cursor:pointer;text-decoration:underline;padding:0}.legal-link:hover{color:#b86a5e}.auth-footer{margin-top:32px;padding-top:20px;border-top:1px solid #eee;text-align:center;display:flex;justify-content:center;align-items:center;gap:12px}.footer-link{background:none;border:none;color:#999;font-family:EB Garamond,serif;font-size:13px;cursor:pointer;padding:0;transition:color .2s}.footer-link:hover{color:#ce796b;text-decoration:underline}.footer-divider{color:#ddd;font-size:10px}.legal-page{position:fixed;top:0;left:0;right:0;bottom:0;background:#fafaf8;z-index:1000;overflow-y:auto}.legal-container{max-width:800px;margin:0 auto;padding:40px 24px 80px}.legal-back-btn{background:none;border:1px solid #ddd;color:#666;font-family:EB Garamond,serif;font-size:15px;padding:10px 20px;border-radius:6px;cursor:pointer;margin-bottom:32px;transition:all .2s}.legal-back-btn:hover{background:#f5f5f5;border-color:#ccc;color:#333}.legal-container h1{font-size:36px;font-weight:400;color:#1a1a1a;margin-bottom:8px}.legal-updated{color:#888;font-size:14px;margin-bottom:40px}.legal-container section{margin-bottom:36px}.legal-container h2{font-size:22px;font-weight:500;color:#2c2c2c;margin-bottom:16px;padding-bottom:8px;border-bottom:1px solid #eee}.legal-container h3{font-size:17px;font-weight:500;color:#444;margin:20px 0 12px}.legal-container p{font-size:16px;line-height:1.7;color:#444;margin-bottom:12px}.legal-container ul{margin:12px 0 16px 24px}.legal-container li{font-size:16px;line-height:1.7;color:#444;margin-bottom:8px}.legal-container a{color:#ce796b;text-decoration:underline}.legal-container a:hover{color:#b86a5e}.legal-contact{background:#f8f8f8;padding:16px 20px;border-radius:8px;border-left:3px solid #ce796b}[data-theme=dark] .legal-page{background:#121212}[data-theme=dark] .legal-back-btn{background:#2a2a2a;border-color:#444;color:#ccc}[data-theme=dark] .legal-back-btn:hover{background:#333;border-color:#555;color:#fff}[data-theme=dark] .legal-container h1{color:#f5f5f5}[data-theme=dark] .legal-updated{color:#888}[data-theme=dark] .legal-container h2{color:#e0e0e0;border-bottom-color:#333}[data-theme=dark] .legal-container h3{color:#ccc}[data-theme=dark] .legal-container p,[data-theme=dark] .legal-container li{color:#bbb}[data-theme=dark] .legal-contact{background:#1e1e1e;border-left-color:#ce796b}[data-theme=dark] .auth-footer{border-top-color:#333}[data-theme=dark] .footer-link{color:#777}[data-theme=dark] .footer-link:hover{color:#ce796b}[data-theme=dark] .footer-divider{color:#444}[data-theme=dark] .legal-agreement{color:#777}.language-filter-wrapper{position:relative}.language-filter-btn{display:flex;align-items:center;justify-content:center}.language-flag{font-size:1.2em}.language-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#fff;border-radius:12px;box-shadow:0 4px 20px #00000026;min-width:180px;max-height:300px;overflow-y:auto;z-index:1000;padding:8px 0}.language-option{display:flex;align-items:center;gap:10px;padding:10px 16px;cursor:pointer;transition:background .15s}.language-option:hover{background:#f7d6d0}.language-option.selected{background:#f7d6d0;color:#ce796b;font-weight:500}.lang-flag{font-size:1.1em}.lang-name{font-size:.95em}.input-with-language{display:flex;gap:8px;align-items:center}.language-selector-inline{padding:10px 12px;border:1px solid #e0e0e0;border-radius:8px;background:#fff;font-family:EB Garamond,serif;font-size:.95em;cursor:pointer;min-width:130px;color:#333}.language-selector-inline:focus{outline:none;border-color:#ce796b}.input-with-language .word-input{flex:1}.language-badge{font-size:.9em;opacity:.8}.audio-btn{background:none;border:none;padding:4px 8px;cursor:pointer;font-size:1em;opacity:.7;transition:opacity .2s,transform .2s;border-radius:4px}.audio-btn:hover{opacity:1;background:#f7d6d0}.audio-btn:disabled{cursor:default}.audio-playing{animation:pulse .5s ease-in-out}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.calendar-lang-filter{position:relative;margin-right:8px}.calendar-lang-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f7d6d0;border:none;border-radius:8px;cursor:pointer;font-family:EB Garamond,serif;font-size:.9em;color:#ce796b;transition:background .2s}.calendar-lang-btn:hover{background:#e7b2a9}.lang-btn-text{max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-arrow{font-size:.7em;opacity:.7}.calendar-lang-dropdown{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border-radius:10px;box-shadow:0 4px 16px #00000026;min-width:160px;max-height:250px;overflow-y:auto;z-index:1001;padding:6px 0}.calendar-lang-option{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;font-size:.9em;transition:background .15s}.calendar-lang-option:hover{background:#f7d6d0}.calendar-lang-option.selected{background:#f7d6d0;color:#ce796b;font-weight:500}[data-theme=dark] .language-dropdown{background:#2a2a2a;box-shadow:0 4px 20px #0006}[data-theme=dark] .language-option:hover{background:#3a3a3a}[data-theme=dark] .language-option.selected{background:#3a3a3a;color:#ce796b}[data-theme=dark] .language-selector-inline{background:#2a2a2a;border-color:#444;color:#e0e0e0}[data-theme=dark] .language-selector-inline:focus{border-color:#ce796b}[data-theme=dark] .audio-btn:hover{background:#3a3a3a}[data-theme=dark] .calendar-lang-btn{background:#3a3a3a;color:#ce796b}[data-theme=dark] .calendar-lang-btn:hover{background:#4a4a4a}[data-theme=dark] .calendar-lang-dropdown{background:#2a2a2a;box-shadow:0 4px 16px #00000080}[data-theme=dark] .calendar-lang-option:hover{background:#3a3a3a}[data-theme=dark] .calendar-lang-option.selected{background:#3a3a3a;color:#ce796b}
