:root { --primary:#5a67d8;--primary-dark:#4c51bf;--success:#48bb78;--danger:#f56565;--bg:#f7fafc;--surface:#ffffff;--shadow-light:rgba(0,0,0,0.05);--shadow-dark:rgba(0,0,0,0.15);--toast-bg:rgba(45,55,72,0.9);--animate-duration:0.35s; }
    *{box-sizing:border-box;margin:0;padding:0;}body{font-family:'Montserrat',sans-serif;background:var(--bg);color:#2d3748;line-height:1.4;padding:0 10px;}
    @keyframes fadeIn{from{opacity:0;}to{opacity:1;}}@keyframes fadeInUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}@keyframes slideDown{from{transform:translateY(-40px);opacity:0;}to{transform:translateY(0);opacity:1;}}
    ::-webkit-scrollbar{width:8px;}::-webkit-scrollbar-track{background:var(--bg);}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:4px;}
    body.dragging .question-item{animation:none!important;transition:none!important;}
    .app-container{max-width:800px;margin:40px auto;background:var(--surface);border-radius:12px;overflow:visible;box-shadow:0 8px 24px var(--shadow-light);animation:fadeIn 0.5s ease;}
    .tabs{display:flex;background:linear-gradient(90deg,#667eea,#764ba2);padding:8px 0;box-shadow:0 4px 12px var(--shadow-light);position:sticky;top:0;z-index:10;border-top-left-radius:12px;border-top-right-radius:12px;}
    .tab{flex:1;text-align:center;padding:16px;font-weight:500;color:rgba(255,255,255,0.7);cursor:pointer;position:relative;transition:color var(--animate-duration);}
    .tab.active,.tab:hover{color:#fff;}
    .tab.active::after{content:'';position:absolute;bottom:0;left:20%;width:60%;height:3px;background:#fff;border-radius:3px;}
    .content{display:none;padding:20px;}
    .content.active{display:block;}
    ul{list-style:none;margin:0;padding:0;}
    .number-icon{margin-right:12px;color:var(--primary-dark);font-size:1.2em;font-weight:600;}
    .question-item{display:flex;align-items:center;justify-content:space-between;background:var(--surface);padding:12px 16px;margin-bottom:12px;border-radius:8px;box-shadow:0 4px 12px var(--shadow-light);transition:transform 0.2s,box-shadow 0.2s;animation:fadeInUp var(--animate-duration) ease both;}
    .question-item:hover{transform:translateY(-2px);box-shadow:0 8px 16px var(--shadow-light);}
    .drag-handle{display:none;margin-right:8px;cursor:grab;color:#cbd5e0;transition:color 0.3s;}
    #favorites .drag-handle{display:inline-flex;}
    #favorites .question-item:hover .drag-handle{color:#718096;}
    .drag-over-top{border-top:3px solid var(--primary);margin-top:-2px;}
    .drag-over-bottom{border-bottom:3px solid var(--primary);margin-bottom:-2px;}
    .start-icon{margin-right:12px;color:var(--primary-dark);font-size:1.2em;}
    .text{flex:1;cursor:pointer;font-weight:500;}
    .action{margin-left:12px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;position:relative;overflow:hidden;transition:transform 0.1s,box-shadow 0.2s;}
    .action:hover{transform:scale(1.1);box-shadow:0 4px 12px var(--shadow-light);}
    .action::after{content:'';position:absolute;width:100%;height:100%;top:0;left:0;background:rgba(255,255,255,0.2);opacity:0;transition:opacity 0.3s;border-radius:50%;}
    .action:active::after{opacity:1;}
    .complete-toggle.fa-toggle-on{background:linear-gradient(145deg,var(--success) 0%,#2f855a 100%);color:#fff;box-shadow:0 4px 8px var(--shadow-dark);}
    .complete-toggle.fa-toggle-off{background:#edf2f7;color:#a0aec0;}
    .complete-toggle.fa-toggle-off:active{background:linear-gradient(145deg,var(--success) 0%,#2f855a 100%);color:#fff;}
    .fav-toggle.fas{background:linear-gradient(145deg,var(--danger) 0%,#c53030 100%);color:#fff;box-shadow:0 4px 8px var(--shadow-dark);}
    .fav-toggle.far{background:#edf2f7;color:#a0aec0;}
    .fav-toggle:active:not(.fas){background:linear-gradient(145deg,var(--danger) 0%,#c53030 100%);color:#fff;}
    #lightbox{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);backdrop-filter:blur(4px);align-items:center;justify-content:center;z-index:1000;opacity:0;transition:opacity 0.3s;}
    #lightbox.active{display:flex;opacity:1;animation:fadeIn var(--animate-duration) both;}
    #lightbox .inner{position:relative;width:90%;max-width:800px;border-radius:10px;overflow:hidden;box-shadow:0 8px 24px var(--shadow-dark);animation:slideDown var(--animate-duration) cubic-bezier(0.4,0,0.2,1) both;}
    #lightbox iframe{width:100%;height:450px;border:none;}
    #lightbox .close{position:absolute;top:10px;right:10px;background:#fff;border-radius:50%;width:32px;height:32px;font-size:1.2em;line-height:32px;text-align:center;cursor:pointer;box-shadow:0 2px 8px var(--shadow-dark);transition:transform 0.1s;}
    #lightbox .close:hover{transform:scale(1.1);}
    #toast{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:var(--toast-bg);color:#fff;padding:12px 24px;border-radius:24px;opacity:0;pointer-events:none;transition:opacity 0.3s;z-index:1001;display:inline-block;white-space:nowrap;}
    #toast.show{opacity:1;}
    #app-logo{position:fixed;bottom:16px;right:16px;background:var(--primary);color:#fff;padding:4px 8px;border-radius:4px;font-size:0.9em;font-weight:600;opacity:0.8;pointer-events:none;z-index:1002;}
    @media(max-width:600px){#app-logo{bottom:8px;right:8px;font-size:0.8em;padding:3px 6px;}}
    /* Demo overlay & blocker */
    #demo-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.8);display:none;align-items:center;justify-content:center;z-index:2000;}
    #demo-overlay.active{display:flex;}
    #demo-overlay .demo-message{position:relative;background:var(--surface);color:#2d3748;padding:24px;border-radius:12px;max-width:400px;text-align:center;box-shadow:0 8px 24px var(--shadow-dark);animation:fadeInUp var(--animate-duration) ease both;}
    #demo-overlay .overlay-close{position:absolute;top:12px;right:12px;font-size:1.2em;color:#a0aec0;cursor:pointer;transition:color var(--animate-duration);}
    #demo-overlay .overlay-close:hover{color:#718096;}
    #demo-overlay .demo-message h2{margin-bottom:16px;font-size:1.5em;color:var(--primary-dark);}
    #demo-overlay .demo-message p{margin-bottom:12px;line-height:1.4;}
    #demo-overlay .demo-button{display:inline-block;margin-top:16px;padding:12px 24px;background:var(--primary);color:#fff;border-radius:24px;text-decoration:none;font-weight:600;transition:background var(--animate-duration);}
    #demo-overlay .demo-button i{margin-right:8px;}
    #demo-overlay .demo-button:hover{background:var(--primary-dark);}
    #demo-blocker{position:fixed;top:0;left:0;width:100%;height:100%;background:transparent;display:none;z-index:1999;cursor:not-allowed;}