.login-container{display:flex;justify-content:center;align-items:center;padding:2rem}.login-form{background:var(--card-bg);padding:2.5rem;border-radius:15px;box-shadow:var(--shadow);width:100%;max-width:400px;border:1px solid var(--footer-border)}.login-form h2{text-align:center;color:var(--primary);margin-bottom:2rem}.form-group input{width:100%;padding:.75rem;border:1px solid var(--footer-border);border-radius:8px;background-color:var(--light);color:var(--dark);font-size:1rem;transition:border-color .3s,box-shadow .3s}.form-group input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #ff4c4c33}.error-message{color:var(--primary);text-align:center;margin-bottom:1rem;font-weight:600}.login-button,.back-button{flex:1;padding:.8rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.login-button{background-color:var(--primary);color:#fff}.login-button:hover{opacity:.9}.add-drama-container{display:flex;justify-content:center;padding:2rem 0}.add-drama-form{background:var(--card-bg);padding:2.5rem;border-radius:15px;box-shadow:var(--shadow);width:100%;max-width:600px;border:1px solid var(--footer-border)}.add-drama-form h2{text-align:center;color:var(--primary);margin-bottom:2rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--dark)}.form-group input,.form-group textarea,.form-group select{width:100%;padding:.75rem;border:1px solid var(--footer-border);border-radius:8px;background-color:var(--light);color:var(--dark);font-size:1rem;transition:border-color .3s,box-shadow .3s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #ff4c4c33}.form-group textarea{resize:vertical}.rating-input{display:flex;align-items:center;gap:1rem}.rating-input input[type=range]{flex-grow:1}.rating-input span{font-weight:600;color:var(--star-filled);min-width:40px}.form-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem}.add-button,.back-button{flex:1;padding:.8rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.add-button{background-color:var(--primary);color:#fff}.add-button:hover{opacity:.9}.back-button{background-color:var(--footer-border);color:var(--dark)}.back-button:hover{background-color:var(--star-empty)}#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}:root{--primary: #ff4c4c;--secondary: #ff9a9a;--dark: #333;--light: #f8f8f8;--card-bg: white;--button-text: var(--dark);--shadow: 0 4px 6px rgba(0, 0, 0, .1);--genre-tag-bg: var(--secondary);--genre-tag-text: white;--star-filled: gold;--star-empty: #ddd;--footer-text: #666;--footer-border: #eee}body:not(.dark){--card-bg: white;--button-text: #333}body.dark{--primary: #ff6b6b;--secondary: #ff8787;--dark: #e0e0e0;--light: #1e1e1e;--card-bg: #2a2a2a;--button-text: #e0e0e0;--shadow: 0 4px 8px rgba(0, 0, 0, .3);--genre-tag-bg: #444;--genre-tag-text: #e0e0e0;--star-filled: gold;--star-empty: #555;--footer-text: #aaa;--footer-border: #444}body.dark .filter-buttons{background:linear-gradient(135deg,#ffffff0d,#ffffff05);border:1px solid rgba(255,255,255,.1)}body.dark .filter-buttons button{background:linear-gradient(145deg,var(--card-bg),rgba(255,255,255,.05));box-shadow:0 4px 15px #0000004d,0 2px 8px #0003,inset 0 1px #ffffff1a}body.dark .filter-buttons button:hover{box-shadow:0 8px 25px #0006,0 4px 12px #0000004d,inset 0 1px #ffffff26;border-color:#ff6b6b66}body.dark .filter-buttons button.active{background:linear-gradient(145deg,var(--primary),#ff5252);box-shadow:0 6px 20px #ff6b6b80,0 3px 10px #ff6b6b4d,inset 0 1px #fff3}body.dark .filter-buttons button.active:hover{background:linear-gradient(145deg,#ff5252,var(--primary));box-shadow:0 8px 25px #ff6b6b99,0 4px 12px #ff6b6b66,inset 0 1px #ffffff40}body.dark .latest-watched-badge{background:linear-gradient(135deg,var(--primary),#ff5252);box-shadow:0 2px 8px #ff6b6b66}body.dark .first-kdrama-badge{background:linear-gradient(135deg,#66bb6a,#4caf50);box-shadow:0 2px 8px #4caf5066}body.dark .favorite-kdrama-badge{background:linear-gradient(135deg,#ffb74d,#ff9800);box-shadow:0 2px 8px #ff980066}body.dark .tutorial-modal{background:var(--card-bg);border:1px solid rgba(255,255,255,.1)}body.dark .tutorial-header{border-bottom:1px solid rgba(255,255,255,.1)}body.dark .step-dot{background-color:#fff3}body.dark .step-dot.active{background-color:var(--primary)}body.dark .tutorial-nav-btn{background:linear-gradient(145deg,var(--card-bg),rgba(255,255,255,.05));box-shadow:0 4px 15px #0000004d,0 2px 8px #0003}body.dark .tutorial-nav-btn:hover:not(:disabled){box-shadow:0 8px 25px #0006,0 4px 12px #0000004d;border-color:#ff6b6b66}body.dark .drama-counter{background:linear-gradient(135deg,#ff6b6b26,#ff4c4c14);border:1px solid rgba(255,107,107,.3)}body.dark .counter-number{text-shadow:0 2px 4px rgba(255,107,107,.4)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:var(--light);color:var(--dark);line-height:1.6;transition:background-color .3s ease,color .3s ease}.app{max-width:1200px;margin:0 auto;padding:2rem;display:flex;flex-direction:column;min-height:100vh}header{margin-bottom:3rem}.header-content-wrapper{display:flex;justify-content:space-between;align-items:center}.header-text-content{text-align:left}.theme-toggle-button{background-color:transparent;border:1px solid var(--dark);color:var(--dark);padding:.5rem;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background-color .3s ease,color .3s ease,border-color .3s ease}.theme-toggle-button:hover{background-color:var(--secondary);color:var(--genre-tag-text);border-color:var(--secondary)}header h1{font-size:2.5rem;color:var(--primary);margin-bottom:.5rem}.drama-counter{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#ff4c4c1a,#ff6b6b0d);border-radius:25px;border:1px solid rgba(255,76,76,.2);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.counter-number{font-size:2rem;font-weight:800;color:var(--primary);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;text-shadow:0 2px 4px rgba(255,76,76,.3)}.counter-text{font-size:1rem;font-weight:600;color:var(--button-text);opacity:.8}.filter-buttons{display:flex;justify-content:center;gap:.75rem;margin-bottom:2rem;padding:.5rem;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.filter-buttons button{padding:.75rem 1.75rem;border:2px solid transparent;border-radius:25px;background:linear-gradient(145deg,var(--card-bg),rgba(255,255,255,.8));color:var(--button-text);cursor:pointer;font-weight:600;font-size:.95rem;letter-spacing:.5px;box-shadow:0 4px 15px #0000001a,0 2px 8px #0000000d,inset 0 1px #fff3;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.filter-buttons button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.filter-buttons button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #00000026,0 4px 12px #0000001a,inset 0 1px #ffffff4d;border-color:#ff4c4c4d}.filter-buttons button:hover:before{left:100%}.filter-buttons button:active{transform:translateY(0);box-shadow:0 2px 8px #0000001a,inset 0 1px 3px #0000001a}.filter-buttons button.active{background:linear-gradient(145deg,var(--primary),#ff6b6b);color:#fff;border-color:var(--primary);box-shadow:0 6px 20px #ff4c4c66,0 3px 10px #ff4c4c33,inset 0 1px #fff3;transform:translateY(-1px)}.filter-buttons button.active:hover{background:linear-gradient(145deg,#ff6b6b,var(--primary));box-shadow:0 8px 25px #ff4c4c80,0 4px 12px #ff4c4c4d,inset 0 1px #ffffff4d;transform:translateY(-3px)}.drama-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2rem;flex-grow:1}.tutorial-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000c;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:2rem}.tutorial-modal{background:var(--card-bg);border-radius:20px;box-shadow:0 20px 40px #0000004d,0 10px 20px #0003;max-width:500px;width:100%;max-height:80vh;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.tutorial-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem 1rem;border-bottom:1px solid rgba(255,255,255,.1)}.tutorial-step-indicator{display:flex;gap:.5rem}.step-dot{width:8px;height:8px;border-radius:50%;background-color:#ffffff4d;transition:all .3s ease}.step-dot.active{background-color:var(--primary);transform:scale(1.2)}.tutorial-content{padding:2rem;text-align:center}.tutorial-icon{color:var(--primary);margin-bottom:1.5rem;display:flex;justify-content:center}.tutorial-title{font-size:1.5rem;font-weight:700;color:var(--dark);margin-bottom:1rem;line-height:1.3}.tutorial-description{font-size:1rem;color:var(--button-text);opacity:.8;line-height:1.6;margin-bottom:2rem}.desktop-recommendation{margin-top:1.5rem}.recommendation-card{background:linear-gradient(135deg,var(--primary),#ff6b6b);color:#fff;padding:1rem 1.5rem;border-radius:15px;display:flex;align-items:center;gap:.75rem;font-weight:600;box-shadow:0 4px 15px #ff4c4c4d}.tutorial-navigation{display:flex;justify-content:space-between;padding:1rem 2rem 2rem;gap:1rem}.tutorial-nav-btn{background:linear-gradient(145deg,var(--card-bg),rgba(255,255,255,.8));border:2px solid transparent;border-radius:25px;padding:.75rem 1.5rem;color:var(--button-text);cursor:pointer;font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:.5rem;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 15px #0000001a,0 2px 8px #0000000d}.tutorial-nav-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #00000026,0 4px 12px #0000001a;border-color:#ff4c4c4d}.tutorial-nav-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.next-btn{background:linear-gradient(145deg,var(--primary),#ff6b6b);color:#fff}.next-btn:hover:not(:disabled){background:linear-gradient(145deg,#ff6b6b,var(--primary));border-color:var(--primary)}.drama-card{background-color:transparent;min-height:500px;perspective:1500px;cursor:pointer}.drama-card-flipper{position:relative;width:100%;height:100%;transform-style:preserve-3d}.drama-card-front,.drama-card-back{position:absolute;width:100%;height:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;flex-direction:column;background:var(--card-bg);border-radius:10px;box-shadow:var(--shadow);overflow:hidden;transition:all .3s ease;will-change:transform}.drama-card-back{transform:rotateY(180deg);justify-content:flex-start;align-items:center;padding:1.5rem}.card-image-container{position:relative;height:300px;overflow:hidden;width:100%}.card-image-container img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.card-image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#0009;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease-in-out;color:#fff;text-decoration:none}.card-image-container:hover .card-image-overlay{opacity:1}.trailer-link-content{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:2px solid white;border-radius:8px;font-size:1rem;font-weight:600;background-color:#0000004d;transition:background-color .2s ease,color .2s ease}.card-image-overlay:hover .trailer-link-content{background-color:#fff;color:var(--primary)}.card-content{padding:1.5rem;flex-grow:1;display:flex;flex-direction:column}.card-content h3{margin-bottom:.5rem;font-size:1.2rem;line-height:1.3;min-height:2.6em;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis;color:var(--dark)}.drama-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;color:var(--dark);opacity:.8}.rating{display:flex;gap:.2rem}.rating .filled{color:var(--star-filled);filter:drop-shadow(0 0 2px rgba(255,215,0,.7))}.rating .empty{color:var(--star-empty)}.rating span{display:inline-block;margin:0 2px}.genre-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.genre-tag{background-color:var(--genre-tag-bg);color:var(--genre-tag-text);padding:.3rem .8rem;border-radius:50px;font-size:.8rem;font-weight:600;display:inline-block;transform-origin:center;transition:background-color .3s ease,color .3s ease}.latest-watched-badge{background:linear-gradient(135deg,var(--primary),#ff6b6b);color:#fff;padding:.4rem 1rem;border-radius:20px;font-size:.75rem;font-weight:700;text-align:center;margin-top:.75rem;box-shadow:0 2px 8px #ff4c4c4d;letter-spacing:.5px;text-transform:uppercase}.first-kdrama-badge{background:linear-gradient(135deg,#4caf50,#45a049);color:#fff;padding:.4rem 1rem;border-radius:20px;font-size:.75rem;font-weight:700;text-align:center;margin-top:.75rem;box-shadow:0 2px 8px #4caf504d;letter-spacing:.5px;text-transform:uppercase}.favorite-kdrama-badge{background:linear-gradient(135deg,#ff9800,#f57c00);color:#fff;padding:.4rem 1rem;border-radius:20px;font-size:.75rem;font-weight:700;text-align:center;margin-top:.75rem;box-shadow:0 2px 8px #ff98004d;letter-spacing:.5px;text-transform:uppercase}.card-content-back{width:100%;height:100%;overflow-y:auto;text-align:left;color:var(--dark)}.card-content-back h3{color:var(--primary);text-align:center;margin-bottom:1rem}.synopsis{font-size:.9rem;margin-bottom:1rem;max-height:120px;overflow-y:auto}.details-section{margin-bottom:1rem}.details-section h4{font-size:1rem;color:var(--primary);border-bottom:1px solid var(--footer-border);padding-bottom:.25rem;margin-bottom:.5rem}.details-section p{font-size:.85rem;line-height:1.4}.cast-list{list-style-type:none;padding:0;font-size:.85rem;columns:2;column-gap:1rem}.app-footer{text-align:center;padding:2rem 0 1rem;margin-top:4rem;border-top:1px solid var(--footer-border);font-size:.9rem;color:var(--footer-text);transition:border-color .3s ease,color .3s ease}.app-footer p{margin-bottom:.5rem}.scroll-to-top-button{position:fixed;bottom:20px;right:20px;background-color:var(--primary);color:#fff;border:none;border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow);z-index:1000;transition:background-color .3s ease}@media (max-width: 768px){.drama-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}header h1{font-size:2rem}.header-content-wrapper{flex-direction:column;gap:1rem}.header-text-content{text-align:center}.theme-toggle-button{align-self:center}.filter-buttons{gap:.5rem;padding:.25rem;margin-bottom:1.5rem}.filter-buttons button{padding:.6rem 1.2rem;font-size:.9rem;letter-spacing:.3px}.tutorial-overlay{padding:1rem}.tutorial-modal{max-width:100%;max-height:90vh}.tutorial-header{padding:1rem 1.5rem .75rem}.tutorial-content{padding:1.5rem}.tutorial-title{font-size:1.25rem}.tutorial-description{font-size:.9rem}.tutorial-navigation{padding:.75rem 1.5rem 1.5rem;flex-direction:column}.tutorial-nav-btn{width:100%;justify-content:center}.drama-counter{margin-top:.75rem;padding:.6rem 1.2rem}.counter-number{font-size:1.5rem}.counter-text{font-size:.9rem}}@media (max-width: 480px){.filter-buttons{flex-wrap:wrap;justify-content:center;gap:.4rem}.filter-buttons button{padding:.5rem 1rem;font-size:.85rem;min-width:80px}}
