:root{--blue:#1689ff;--cyan:#66d7ff;--green:#53c95c;--pink:#ff3f88;--orange:#ff8a1f;--purple:#7b42df;--ink:#24324a;--soft:#f4fbff;--border:#dcecf7;--shadow:0 12px 32px rgba(40,94,140,.13)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Trebuchet MS","Segoe UI",Arial,sans-serif;color:var(--ink);background:linear-gradient(#ecfaff 0,#f9fdff 280px,#fff 100%);min-height:100vh}button,a,input{font:inherit}button,a{touch-action:manipulation}.kid-hero{height:104px;position:relative;overflow:hidden;background:linear-gradient(180deg,#5dd3ff 0%,#8fe5ff 75%,#d9f8ff 100%);border-bottom:4px solid #fff;box-shadow:0 3px 13px rgba(29,124,180,.12)}.sun{position:absolute;left:18px;top:12px;font-size:48px;filter:drop-shadow(0 4px 4px rgba(255,174,0,.18))}.cloud{position:absolute;color:#fff;font-size:58px;opacity:.95;filter:drop-shadow(0 5px 4px rgba(92,155,188,.15))}.c1{left:31%;top:34px}.c2{right:8%;top:15px}.rainbow{position:absolute;width:240px;height:120px;left:45%;top:8px;transform:translateX(-50%);overflow:hidden}.rainbow i{position:absolute;left:50%;transform:translateX(-50%);border-radius:180px 180px 0 0;border-style:solid;border-bottom:0}.rainbow i:nth-child(1){width:220px;height:110px;border-width:14px;border-color:#ff6d70}.rainbow i:nth-child(2){width:192px;height:96px;top:14px;border-width:14px;border-color:#ffb72e}.rainbow i:nth-child(3){width:164px;height:82px;top:28px;border-width:14px;border-color:#54cf71}.rainbow i:nth-child(4){width:136px;height:68px;top:42px;border-width:14px;border-color:#59a8ff}.brand-kids{position:absolute;left:105px;top:10px;text-decoration:none;z-index:3;transform:rotate(-2deg)}.brand-kids strong{display:block;font-size:37px;line-height:1;font-weight:1000;letter-spacing:-2px;text-shadow:-2px -2px #fff,2px -2px #fff,-2px 2px #fff,2px 2px #fff,0 5px 0 rgba(32,85,134,.10)}.brand-kids strong span:nth-child(1){color:#ff355e}.brand-kids strong span:nth-child(2){color:#ffbd16}.brand-kids strong span:nth-child(3){color:#2fc56e}.brand-kids strong span:nth-child(4){color:#9160e9}.brand-kids small{display:inline-block;margin-left:27px;margin-top:6px;padding:3px 12px;border-radius:999px;background:#fff;color:#315c91;font-weight:900;font-size:13px}.kid-characters{position:absolute;right:55px;bottom:-17px;z-index:3}.kid-characters span{font-size:76px;display:inline-block;margin-left:-8px;filter:drop-shadow(0 5px 2px rgba(46,109,151,.12))}.admin-mini{position:absolute;right:10px;top:8px;background:rgba(255,255,255,.92);color:#506174;border:1px solid #cfe8f5;border-radius:12px;padding:7px 10px;font-size:11px;font-weight:900;text-decoration:none;z-index:6}.main-tabs{height:62px;background:#fff;display:flex;align-items:center;gap:7px;padding:7px 12px;border-bottom:1px solid #dfeaf3;box-shadow:0 2px 10px rgba(49,90,126,.06);position:sticky;top:0;z-index:30}.main-tabs>a{height:46px;padding:0 16px;display:flex;align-items:center;gap:8px;border-radius:12px;background:#f4f9fd;color:#3a4d6b;text-decoration:none;font-size:12px;white-space:nowrap;border:1px solid transparent}.main-tabs>a span{font-size:21px}.main-tabs>a:hover,.main-tabs>a.active{background:#edf7ff;border-color:#cbe6fb;color:#196ac9}.main-tabs .home-tab{background:linear-gradient(135deg,#ff9b29,#ff7316);color:#fff;border-color:#ff8b22;box-shadow:0 6px 14px rgba(255,125,32,.2)}.top-search{margin-left:auto;height:43px;min-width:250px;display:flex;border:1px solid #cfe0ed;border-radius:12px;overflow:hidden;background:#fff}.top-search input{border:0;outline:0;padding:0 13px;min-width:0;flex:1;color:#627089}.top-search button{width:46px;border:0;background:linear-gradient(135deg,#ff477d,#f72585);color:#fff;font-size:18px}.studio-shell{width:calc(100% - 24px);max-width:1780px;margin:10px auto 24px;display:grid;grid-template-columns:320px minmax(520px,1fr) 305px;gap:14px;align-items:start}.library-panel,.canvas-panel,.tool-card{background:rgba(255,255,255,.97);border:1px solid var(--border);box-shadow:var(--shadow)}.library-panel{border-radius:20px;padding:10px;min-height:760px;overflow:hidden}.panel-title{height:52px;display:flex;align-items:center;gap:8px;border-radius:15px;padding:0 12px;color:#fff}.panel-title.green{background:linear-gradient(135deg,#55c95c,#43b84e)}.panel-title span{font-size:24px}.panel-title h2{font-size:18px;margin:0;flex:1}.panel-title em{font-size:11px;font-style:normal;font-weight:900;background:rgba(255,255,255,.22);padding:6px 10px;border-radius:999px}.mini-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:11px 0 8px}.pic-card{background:#fff;border:1px solid #e4edf4;border-radius:12px;padding:5px;text-align:center;cursor:pointer;transition:.17s;min-width:0}.pic-card:hover{transform:translateY(-2px);box-shadow:0 7px 17px rgba(52,98,139,.12)}.pic-card.selected{border:2px solid #2d9cff;box-shadow:0 0 0 3px #dff3ff}.thumb-wrap{height:84px;border-radius:9px;background:#fff;overflow:hidden;display:grid;place-items:center}.thumb-wrap img{width:100%;height:100%;object-fit:contain}.pic-card strong{display:block;font-size:10px;line-height:1.2;margin:4px 1px 1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pagination{display:flex;justify-content:center;gap:5px;margin:5px 0 10px}.pagination a,.pagination span{width:31px;height:31px;border-radius:10px;border:1px solid #dce8f1;display:grid;place-items:center;text-decoration:none;color:#60718a;font-size:11px;font-weight:900}.pagination a.on{background:#1288ff;color:#fff;border-color:#1288ff}.category-drawer{border-top:1px dashed #dbe7ef;padding-top:9px}.category-drawer summary{cursor:pointer;font-weight:900;font-size:11px;color:#58708d}.category-drawer div{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:8px}.category-drawer a{font-size:9px;text-decoration:none;color:#536984;background:#f6fbff;border-radius:8px;padding:7px}.category-drawer small{float:right;color:#8fa0b2}.canvas-panel{border-radius:19px;overflow:hidden;min-width:0}.canvas-topline{height:46px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 12px;border-bottom:1px solid #e6eef5;background:#fff}.canvas-topline>div:first-child{display:flex;gap:5px}.dot{width:9px;height:9px;border-radius:50%;display:block}.dot.pink{background:#ff6b93}.dot.yellow{background:#ffcc38}.dot.blue{background:#53b8ff}.canvas-topline strong{font-size:13px;color:#4f627c}.zoom-group{justify-self:end;display:flex;align-items:center;overflow:hidden;border:1px solid #dbe7ef;border-radius:10px}.zoom-group button{width:34px;height:31px;border:0;background:#fff;color:#56708d;font-weight:1000}.zoom-group span{font-size:10px;font-weight:900;min-width:45px;text-align:center}.canvas-wrap{height:690px;min-height:520px;padding:13px;background:linear-gradient(135deg,#f7fcff,#eef9ff);overflow:auto;display:flex;justify-content:center;align-items:flex-start}.canvas-stage{width:100%;max-width:900px;display:flex;justify-content:center;transform-origin:top center}.canvas-stack{position:relative;width:100%;height:auto;background:#fff;overflow:hidden;border-radius:10px;border:1px solid #dfe8ef;box-shadow:0 5px 17px rgba(56,94,125,.07);touch-action:none}.canvas-stack canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.canvas-stack #paintCanvas{z-index:1}.canvas-stack #previewCanvas{z-index:2;pointer-events:none}.canvas-stack #lineCanvas{z-index:3}.tap-spark{position:absolute;z-index:6;display:none;pointer-events:none;font-size:30px;transform:translate(-50%,-50%)}.tap-spark.show{display:block;animation:spark .55s ease-out forwards}@keyframes spark{0%{opacity:0;transform:translate(-50%,-50%) scale(.3)}40%{opacity:1}100%{opacity:0;transform:translate(-50%,-90%) scale(1.7)}}.magic-status{height:36px;display:flex;align-items:center;justify-content:center;gap:5px;background:linear-gradient(90deg,#effaff,#fff8e9,#fff0f7);border-top:1px solid #e2edf4;color:#60738a;font-size:10px}.magic-status b{color:#7d4fc5}.canvas-bottom-actions{display:grid;grid-template-columns:1.15fr 1fr 1fr 1fr .45fr;gap:8px;padding:10px;background:#f7fbfe}.canvas-bottom-actions button{height:46px;border:0;border-radius:11px;color:#fff;font-weight:1000;box-shadow:0 5px 12px rgba(51,89,120,.12);cursor:pointer}.print-btn{background:linear-gradient(135deg,#2196f3,#1184dc)}.save-btn{background:linear-gradient(135deg,#62c75f,#3bb34a)}.reset-btn{background:linear-gradient(135deg,#ff8a24,#ff6e1a)}.undo-btn{background:linear-gradient(135deg,#ff4786,#f72d73)}.redo-btn{background:linear-gradient(135deg,#8a66f0,#6c4bd9)}.right-tools{display:grid;gap:11px}.tool-card{border-radius:18px;padding:10px}.card-head{font-weight:1000;font-size:13px;margin:-3px -3px 9px;padding:9px 10px;border-radius:12px}.card-head.orange{color:#9a5010;background:linear-gradient(135deg,#fff4d8,#ffe9c9)}.card-head.purple{color:#6b33ba;background:linear-gradient(135deg,#f1eaff,#f9efff)}.card-head.pinkish{color:#cf3f6b;background:linear-gradient(135deg,#ffe8ef,#fff3f7)}.colors{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;padding:4px}.swatch{aspect-ratio:1;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #d7e3ec,0 4px 8px rgba(45,72,101,.10);cursor:pointer;transition:.15s}.swatch:hover{transform:scale(1.08)}.swatch.active{transform:scale(1.12);box-shadow:0 0 0 3px #fff,0 0 0 6px #2d9cff,0 5px 12px rgba(45,156,255,.24)}.custom-color-row{display:grid;grid-template-columns:50px 1fr;gap:7px;margin-top:9px}.custom-color-row input{width:50px;height:38px;border:1px solid #d9e4ec;border-radius:10px;padding:3px;background:#fff}.custom-color-row button{border:1px solid #dae6ef;background:#f8fcff;border-radius:10px;color:#5a6e87;font-size:10px;font-weight:900}.big-tools{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.tool{border:1px solid #e0e8ef;background:#fff;border-radius:12px;min-height:82px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;color:#4f6179;cursor:pointer}.tool span{font-size:30px}.tool b{font-size:10px}.tool.active{border:2px solid #298fff;background:#eef8ff;box-shadow:0 0 0 3px #dff2ff;color:#156dcb}.range-label{display:flex;justify-content:space-between;margin-top:12px;font-size:10px;font-weight:900;color:#50647e}.tools-card input[type=range]{width:100%;accent-color:#248fff}.brush-dots{display:flex;align-items:center;justify-content:space-between;padding:4px 7px 1px}.brush-dots i{display:block;border-radius:50%;background:#222}.brush-dots i:nth-child(1){width:5px;height:5px}.brush-dots i:nth-child(2){width:8px;height:8px}.brush-dots i:nth-child(3){width:11px;height:11px}.brush-dots i:nth-child(4){width:15px;height:15px}.brush-dots i:nth-child(5){width:21px;height:21px}.advanced{margin-top:10px;border-top:1px dashed #d8e4ed;padding-top:7px}.advanced summary{cursor:pointer;font-size:10px;font-weight:900;color:#6f7f95}.advanced-body label{display:flex;justify-content:space-between;margin-top:8px;font-size:9px;font-weight:900;color:#66788e}.style-row{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:5px}.fill-style{border:1px solid #dfe8ef;background:#fff;border-radius:8px;padding:5px;font-size:9px;font-weight:900}.fill-style.active{background:#eaf5ff;border-color:#8cc8ff;color:#1472cc}.check-row{justify-content:flex-start!important;gap:5px}.related-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.related-item{border:1px solid #e2eaf0;background:#fff;border-radius:9px;padding:3px;cursor:pointer;height:68px}.related-item img{width:100%;height:100%;object-fit:contain}.mobile-kidbar{display:none}.empty-state{grid-column:1/-1;padding:28px 8px;text-align:center;color:#8a9aab;font-size:11px}
@media(max-width:1300px){.studio-shell{grid-template-columns:270px minmax(470px,1fr) 280px}.kid-characters{right:20px}.brand-kids{left:85px}.main-tabs>a{padding:0 11px}}
@media(max-width:1040px){.kid-hero{height:82px}.brand-kids{left:70px}.brand-kids strong{font-size:29px}.brand-kids small{font-size:10px}.kid-characters span{font-size:60px}.rainbow{transform:translateX(-50%) scale(.75);transform-origin:top center}.main-tabs{overflow-x:auto}.top-search{min-width:210px}.studio-shell{grid-template-columns:220px minmax(430px,1fr) 250px;gap:8px;width:calc(100% - 12px)}.mini-gallery{grid-template-columns:repeat(2,1fr)}.colors{gap:6px}.canvas-wrap{height:610px}}
@media(max-width:820px){body{padding-bottom:72px}.kid-hero{height:72px}.sun,.rainbow,.cloud{display:none}.brand-kids{left:12px;top:8px}.brand-kids strong{font-size:25px}.brand-kids small{margin-left:9px}.kid-characters{right:4px;bottom:-15px}.kid-characters span{font-size:52px}.admin-mini{display:none}.main-tabs{height:54px;padding:5px 7px}.main-tabs>a{height:42px;padding:0 11px}.main-tabs>a b{font-size:10px}.top-search{display:none}.studio-shell{display:flex;flex-direction:column;width:calc(100% - 10px);margin-top:6px}.canvas-panel{order:1;width:100%}.right-tools{order:2;width:100%;grid-template-columns:1fr 1fr}.library-panel{order:3;width:100%;min-height:0}.palette-card{grid-column:1}.tools-card{grid-column:2}.related-card{grid-column:1/-1}.canvas-wrap{height:auto;min-height:0;padding:7px}.canvas-stage{width:100%!important}.canvas-topline{grid-template-columns:auto 1fr auto}.canvas-topline>div:first-child{display:none}.canvas-topline strong{justify-self:start;margin-left:6px;max-width:45vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.canvas-bottom-actions{grid-template-columns:repeat(4,1fr);padding:7px}.canvas-bottom-actions .redo-btn{display:none}.colors{grid-template-columns:repeat(8,1fr)}.mini-gallery{grid-template-columns:repeat(4,1fr)}.thumb-wrap{height:88px}.mobile-kidbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:7px;right:7px;bottom:max(7px,env(safe-area-inset-bottom));z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(13px);border:1px solid #d9e8f2;box-shadow:0 13px 30px rgba(38,82,116,.22);border-radius:18px;padding:5px}.mobile-kidbar button{border:0;background:transparent;min-height:52px;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#52657e;font-size:9px;font-weight:1000}.mobile-kidbar button span{font-size:19px}.mobile-kidbar button.main{background:linear-gradient(135deg,#1da0ff,#7b67ef);color:#fff}}
@media(max-width:560px){.kid-hero{height:64px}.brand-kids strong{font-size:21px}.brand-kids small{font-size:8px;padding:2px 7px}.kid-characters span{font-size:45px}.main-tabs>a{padding:0 9px}.main-tabs>a span{font-size:17px}.studio-shell{width:100%;margin:4px 0 18px;gap:5px}.canvas-panel,.tool-card,.library-panel{border-radius:13px}.canvas-topline{height:41px}.zoom-group button{width:29px;height:28px}.zoom-group span{min-width:38px}.canvas-wrap{padding:4px}.canvas-stack{border-radius:6px}.magic-status{font-size:9px}.canvas-bottom-actions button{height:42px;font-size:10px;padding:0 4px}.canvas-bottom-actions button span{display:none}.right-tools{grid-template-columns:1fr}.palette-card,.tools-card,.related-card{grid-column:1}.right-tools{gap:5px}.tool-card{padding:8px}.card-head{margin:-1px -1px 7px;padding:7px 8px}.colors{grid-template-columns:repeat(8,1fr);gap:7px}.big-tools{gap:6px}.tool{min-height:68px}.tool span{font-size:24px}.mini-gallery{grid-template-columns:repeat(3,1fr)}.library-panel{padding:7px}.panel-title{height:44px}.panel-title h2{font-size:15px}.thumb-wrap{height:84px}.related-item{height:58px}}
@media print{.kid-hero,.main-tabs,.library-panel,.right-tools,.canvas-topline,.magic-status,.canvas-bottom-actions,.mobile-kidbar{display:none!important}.studio-shell,.canvas-panel{display:block!important;width:100%!important;margin:0!important;border:0!important;box-shadow:none!important}.canvas-wrap{height:auto!important;background:#fff!important;padding:0!important}.canvas-stack{border:0!important;box-shadow:none!important}}

/* ===== V4.5 MEMBER / LOGIN ===== */
.user-mini{position:absolute;right:16px;top:11px;z-index:8;display:flex;gap:6px;align-items:center}.user-mini a{background:rgba(255,255,255,.92);border:1px solid rgba(70,150,205,.22);border-radius:999px;padding:7px 11px;color:#31536d;text-decoration:none;font-size:11px;font-weight:900;box-shadow:0 4px 12px rgba(52,119,163,.10)}.user-mini a.register{background:linear-gradient(135deg,#ff7ab0,#ffae45);color:#fff;border:0}.user-mini a.admin-link{padding:7px 9px}
.auth-kid-body{min-height:100vh;margin:0;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 15% 15%,#fff5bd 0 11%,transparent 12%),radial-gradient(circle at 85% 20%,#dff6ff 0 13%,transparent 14%),linear-gradient(135deg,#ecfbff,#fff4fb 50%,#fff9dc);font-family:system-ui,-apple-system,Segoe UI,sans-serif}.auth-kid-card{width:min(480px,100%);background:rgba(255,255,255,.95);border:2px solid #fff;border-radius:28px;padding:28px;box-shadow:0 24px 60px rgba(71,112,153,.18)}.auth-logo{display:inline-block;text-decoration:none;color:#1869c9;font-size:20px}.auth-kid-card h1{margin:15px 0 4px;color:#253f61}.auth-kid-card>p{color:#708199;margin:0 0 18px}.auth-kid-card form{display:grid;gap:9px}.auth-kid-card label{font-size:12px;font-weight:900;color:#50647b}.auth-kid-card input{height:46px;border:1px solid #dce8f2;border-radius:13px;padding:0 13px;font:inherit;outline:none}.auth-kid-card input:focus{border-color:#55a9ff;box-shadow:0 0 0 4px #e4f3ff}.auth-submit{height:50px;margin-top:8px;border:0;border-radius:14px;background:linear-gradient(135deg,#258ef4,#7e6bef);color:#fff;font-size:15px;font-weight:1000;cursor:pointer}.auth-foot{text-align:center;margin-top:15px;font-size:12px;color:#72839a}.auth-foot a{color:#1478df;font-weight:900}.auth-alert{background:#fff0f3;color:#b91c46;border:1px solid #ffc9d6;padding:10px 12px;border-radius:12px;margin-bottom:13px;font-size:12px}
.member-page{margin:0;background:#f4f8fd;font-family:system-ui,-apple-system,Segoe UI,sans-serif;color:#243c5a}.member-head{height:68px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,calc((100% - 1200px)/2));box-shadow:0 2px 12px rgba(61,92,123,.08)}.member-head a{text-decoration:none;color:#176dcb}.member-head div{display:flex;gap:13px;align-items:center;font-size:12px}.member-wrap{max-width:1200px;margin:24px auto;padding:0 15px}.member-profile{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(135deg,#fff,#f0f8ff);border:1px solid #e0ebf5;border-radius:20px;padding:20px;box-shadow:0 10px 30px rgba(56,89,124,.08)}.member-profile h1{margin:0 0 8px}.member-profile p{margin:0;color:#75859a}.member-dates{display:flex;gap:10px;flex-wrap:wrap}.member-dates span{background:#fff;border:1px solid #e1eaf3;border-radius:12px;padding:10px 12px;font-size:12px;display:grid;gap:3px}.member-works{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.member-works article{background:#fff;border:1px solid #e2eaf2;border-radius:16px;padding:10px;display:grid;gap:5px}.member-works img{width:100%;height:220px;object-fit:contain;background:#fafcff;border-radius:10px}.member-works small{color:#8290a3}.member-pages{display:flex;gap:7px;justify-content:center;margin:20px}.member-pages a{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:#fff;border:1px solid #dbe5ef;text-decoration:none;color:#33516e;font-weight:900}.member-pages a.on{background:#2a86ef;color:#fff}.empty-member{background:#fff;padding:35px;text-align:center;border-radius:16px;color:#74869b}
.canvas-wrap{height:min(64vh,640px);min-height:480px}.canvas-stage{max-width:760px}.canvas-stack{max-height:610px}
@media(max-width:820px){.user-mini{right:7px;top:7px}.user-mini a{padding:6px 8px;font-size:9px}.user-mini a.admin-link{display:none}.member-profile{align-items:flex-start;flex-direction:column}.member-works{grid-template-columns:repeat(2,1fr)}.canvas-wrap{height:auto;min-height:0}.canvas-stage{max-width:100%}.canvas-stack{max-height:none}}
@media(max-width:520px){.member-head{padding:0 12px}.member-head div span{display:none}.member-works{grid-template-columns:1fr}.member-works img{height:280px}.auth-kid-card{padding:20px;border-radius:22px}.user-mini a.register{display:none}}

/* ===== V4.6: ảnh đúng tỉ lệ + user upload + member download ===== */
.canvas-wrap{display:flex;align-items:center;justify-content:center;overflow:auto}
.canvas-stage{flex:0 0 auto;max-width:none!important;max-height:none!important;display:flex;align-items:stretch;justify-content:stretch;transform:none!important}
.canvas-stack{width:100%;height:100%;max-height:none!important;aspect-ratio:auto!important;flex:0 0 auto}
.canvas-stack canvas{width:100%!important;height:100%!important;object-fit:fill}
.user-mini .upload-own{background:linear-gradient(135deg,#4bcf72,#26a95b);color:#fff!important;border-color:transparent!important}
.pagination{flex-wrap:wrap}.pagination .nav{background:#f2f8ff;color:#1677d8}.pagination span{border:0;background:transparent}
.narrow-upload{max-width:860px}.member-upload-card{background:#fff;border:1px solid #dce9f3;border-radius:24px;padding:28px;box-shadow:0 18px 45px rgba(42,92,134,.12)}
.member-upload-card h1{text-align:center;margin:5px 0 8px}.member-upload-card>p{text-align:center;color:#73849b;line-height:1.6;max-width:650px;margin:0 auto 22px}.upload-hero-icon{text-align:center;font-size:48px}.member-upload-form{display:grid;gap:16px}.member-upload-form>label:not(.upload-drop){display:grid;gap:7px;font-weight:900;color:#485e78}.member-upload-form input[type=text],.member-upload-form select{height:48px;border:1px solid #d5e3ef;border-radius:13px;padding:0 14px;background:#fff;outline:none}.upload-drop{min-height:300px;border:2px dashed #9cccf1;border-radius:20px;background:linear-gradient(135deg,#f4fbff,#fff9fd);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;cursor:pointer;overflow:hidden;position:relative}.upload-drop input{position:absolute;opacity:0;inset:0;cursor:pointer}.upload-drop-icon{font-size:52px}.upload-drop b{font-size:20px;color:#2377c9}.upload-drop small{color:#8192a7}.upload-drop img{display:none;max-width:100%;max-height:420px;object-fit:contain;background:#fff;padding:8px;border-radius:16px}.upload-drop img.show{display:block}.upload-drop:has(img.show) .upload-drop-icon,.upload-drop:has(img.show) b,.upload-drop:has(img.show) small{display:none}.upload-actions{display:flex;gap:12px;justify-content:flex-end;align-items:center}.upload-actions a,.upload-actions button{min-height:48px;border-radius:13px;padding:0 18px;font-weight:1000}.upload-actions a{display:flex;align-items:center;text-decoration:none;color:#52657c;background:#f3f7fa}.upload-actions button{border:0;background:linear-gradient(135deg,#2a92ff,#765ce8);color:#fff;box-shadow:0 10px 20px rgba(58,114,219,.2)}
.member-alert{padding:12px 14px;border-radius:12px}.member-alert.bad{background:#fff1f0;color:#b42318;border:1px solid #ffd1cc}.member-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:20px 0 12px}.member-section-head h2{margin:0}.member-section-head h2 small{color:#8191a3}.member-section-head>div{display:flex;gap:8px}.member-action,.member-download{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:11px;font-weight:900}.member-action{min-height:40px;padding:0 13px;background:#eef5fb;color:#41617e}.member-action.primary{background:#2588f4;color:#fff}.member-work-img{position:relative;border:0;background:#f8fbfe;padding:0;width:100%;height:190px;border-radius:13px;overflow:hidden;cursor:pointer}.member-work-img img{width:100%;height:100%;object-fit:contain!important;background:#fff}.member-work-img span{position:absolute;left:50%;bottom:9px;transform:translateX(-50%);background:rgba(15,40,68,.78);color:#fff;padding:5px 10px;border-radius:999px;font-size:11px;opacity:0;transition:.18s}.member-work-img:hover span{opacity:1}.member-download{min-height:38px;background:#eaf8ef;color:#18753c;margin-top:8px}.member-works article{display:flex;flex-direction:column}.member-work-modal{position:fixed;inset:0;background:rgba(14,30,48,.72);z-index:999;display:none;align-items:center;justify-content:center;padding:18px}.member-work-modal.show{display:flex}.member-work-modal>div{position:relative;width:min(920px,96vw);max-height:94vh;background:#fff;border-radius:20px;padding:18px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:10px;box-shadow:0 30px 80px rgba(0,0,0,.28)}.member-work-modal button{position:absolute;right:10px;top:8px;width:40px;height:40px;border:0;border-radius:50%;font-size:24px;background:#f1f5f8;cursor:pointer}.member-work-modal h3{margin:0;padding-right:45px}.member-work-modal img{max-width:100%;max-height:75vh;object-fit:contain;margin:auto}.member-work-modal a{justify-self:center;text-decoration:none;background:#2187f2;color:#fff;border-radius:12px;padding:11px 18px;font-weight:1000}.head-upload{background:#31b866!important;color:#fff!important;border-radius:10px;padding:7px 10px!important}
@media(max-width:820px){.canvas-wrap{min-height:58vh;height:58vh}.member-section-head{align-items:flex-start;flex-direction:column}.member-section-head>div{width:100%;display:grid;grid-template-columns:1fr 1fr}.member-action{padding:0 8px;font-size:12px}.member-head .head-upload{display:none}.upload-actions{display:grid;grid-template-columns:1fr}.upload-actions a,.upload-actions button{justify-content:center;width:100%}.member-upload-card{padding:18px 13px;border-radius:17px}.upload-drop{min-height:230px}}
@media(max-width:560px){.canvas-wrap{height:52vh;min-height:390px}.member-work-img{height:165px}.member-section-head>div{grid-template-columns:1fr}.member-work-modal>div{padding:12px;border-radius:15px}}
.pagination .page-note{width:auto;min-width:70px;padding:0 8px;background:#f5f9fc;color:#73849a}

/* ===== V4.7: bút khóa vùng + cổng đăng ký sau 5 tranh ===== */
.safe-brush-toggle{margin-top:12px;padding:11px 12px;border:1px solid #ccebd9;background:linear-gradient(135deg,#f1fff6,#effaff);border-radius:14px;display:grid;grid-template-columns:auto auto 1fr;gap:3px 8px;align-items:center;cursor:pointer;color:#24584a}.safe-brush-toggle input{width:18px;height:18px;accent-color:#20b86b}.safe-brush-toggle>span{font-size:20px}.safe-brush-toggle b{font-size:12px}.safe-brush-toggle small{grid-column:2/4;color:#6c8790;font-size:10px;line-height:1.4}.guest-quota{margin-top:10px;border-radius:14px;padding:10px 12px;background:linear-gradient(135deg,#fff8d9,#fff1f7);border:1px solid #ffe09b;display:flex;gap:9px;align-items:center}.guest-quota>span{font-size:25px}.guest-quota div{display:grid}.guest-quota b{font-size:11px;color:#86551c}.guest-quota small{font-size:10px;color:#8a7180}.guest-quota.full{background:linear-gradient(135deg,#fff0f0,#fff5dd);border-color:#ffb9b9}.guest-quota.full small{color:#bb3c4c;font-weight:900}
.signup-gate{position:fixed;inset:0;z-index:5000;background:rgba(18,39,66,.72);backdrop-filter:blur(7px);display:none;align-items:center;justify-content:center;padding:18px}.signup-gate.show{display:flex}.signup-gate-card{position:relative;width:min(700px,96vw);max-height:94vh;overflow:auto;background:linear-gradient(180deg,#fff 0%,#fffdf4 100%);border:3px solid #fff;border-radius:30px;padding:27px;box-shadow:0 35px 90px rgba(0,0,0,.28);text-align:center}.signup-gate-close{position:absolute;right:13px;top:13px;width:42px;height:42px;border:0;border-radius:50%;background:#f2f6fa;color:#39516b;font-size:27px;cursor:pointer}.signup-gate-art{font-size:42px;letter-spacing:8px;margin:2px 0 4px}.signup-gate-badge{display:inline-flex;background:linear-gradient(135deg,#ff8b43,#ff4d8d);color:#fff;font-size:10px;font-weight:1000;padding:7px 12px;border-radius:999px;letter-spacing:.5px}.signup-gate-card h2{font-size:27px;color:#243f66;margin:13px 0 6px}.signup-gate-lead{max-width:570px;margin:0 auto 18px;color:#657a92;line-height:1.6;font-size:13px}.signup-benefits{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;text-align:left}.signup-benefits>div{border:1px solid #e4edf5;border-radius:16px;padding:12px;background:#fff;display:grid;grid-template-columns:36px 1fr;column-gap:8px;align-items:center}.signup-benefits span{grid-row:1/3;font-size:27px}.signup-benefits b{font-size:12px;color:#2d4a68}.signup-benefits small{font-size:10px;color:#7a8da1;line-height:1.45}.signup-gate-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.signup-gate-actions a{min-height:50px;border-radius:14px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-weight:1000;font-size:13px}.signup-primary{background:linear-gradient(135deg,#ff5d8f,#ff9a3d);color:#fff;box-shadow:0 12px 25px rgba(255,101,108,.24)}.signup-secondary{background:#edf6ff;color:#176dc2}.signup-gate-note{display:block;color:#8796a8;margin-top:12px;line-height:1.5}
@media(max-width:620px){.signup-gate{padding:10px}.signup-gate-card{padding:22px 14px 18px;border-radius:22px}.signup-gate-card h2{font-size:21px}.signup-benefits{grid-template-columns:1fr}.signup-gate-actions{grid-template-columns:1fr}.signup-gate-art{font-size:34px}}

.auth-success{margin:12px 0;padding:13px 14px;border-radius:14px;background:#eafff0;border:1px solid #a8e4bc;color:#146b34;font-weight:700;line-height:1.5}

/* ===== V4.9: VIDEO TỰ ĐỘNG + KHUNG 9:16 ===== */
.video-card{overflow:hidden}.video-head{background:linear-gradient(135deg,#eaf4ff,#f2ecff)!important;color:#4d47a8!important}.video-maker-mini{padding:12px;display:grid;gap:10px}.video-maker-mini label{display:grid;gap:5px;font-size:11px;font-weight:900;color:#49617c}.video-maker-mini select{width:100%;height:38px;border:1px solid #d8e5f0;border-radius:11px;background:#fff;padding:0 9px;color:#294761;font-weight:800}.video-maker-mini .video-check{display:flex;grid-template-columns:none;align-items:center;gap:7px;font-weight:800}.video-maker-mini .video-check input{width:16px;height:16px}.video-open-btn{height:44px;border:0;border-radius:13px;background:linear-gradient(135deg,#7657e8,#248cf4);color:#fff;font-weight:1000;cursor:pointer;box-shadow:0 9px 19px rgba(61,102,219,.22)}.video-maker-mini small{color:#7b8da2;line-height:1.45}
.portrait-video-modal{position:fixed;inset:0;z-index:8000;background:rgba(14,29,50,.78);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:16px}.portrait-video-modal.show{display:flex}.portrait-video-dialog{width:min(1120px,98vw);max-height:96vh;background:#f7fbff;border-radius:24px;overflow:hidden;box-shadow:0 35px 100px rgba(0,0,0,.35);display:grid;grid-template-rows:auto minmax(0,1fr)}.portrait-video-toolbar{height:68px;background:#fff;border-bottom:1px solid #dce8f2;display:flex;align-items:center;justify-content:space-between;padding:0 18px}.portrait-video-toolbar>div{display:grid;gap:3px;color:#294761}.portrait-video-toolbar small{color:#7a8ea4;font-size:11px}.portrait-video-toolbar button{width:40px;height:40px;border:0;border-radius:50%;background:#edf3f8;font-size:25px;cursor:pointer}.portrait-video-workspace{overflow:auto;padding:18px;display:grid;grid-template-columns:minmax(320px,560px) minmax(280px,1fr);gap:22px;align-items:start}.portrait-device-wrap{display:flex;justify-content:center}.portrait-device{width:min(430px,100%);aspect-ratio:9/16;background:#fff;border:8px solid #182333;border-radius:30px;box-shadow:0 20px 50px rgba(27,55,86,.24);padding:10px;display:grid;grid-template-rows:36px 32px minmax(0,1fr) 8px 28px 26px;gap:6px;transition:.2s}.portrait-mini-header{display:flex;align-items:center;justify-content:space-between;padding:0 8px;border-radius:10px;background:linear-gradient(90deg,#eefaff,#fff2f7);color:#1d6bc1;font-size:11px}.portrait-mini-title{text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#58708b;font-size:10px;font-weight:900}.portrait-canvas-box{min-height:0;border-radius:14px;overflow:hidden;background:#eef8ff;display:flex;align-items:center;justify-content:center}.portrait-canvas-box canvas{width:100%;height:100%;object-fit:contain;display:block}.portrait-progress{height:8px;background:#dceaf6;border-radius:99px;overflow:hidden}.portrait-progress>div{height:100%;width:0;background:linear-gradient(90deg,#2a92ff,#765ce8);transition:width .18s}.portrait-caption{text-align:center;color:#49617b;font-size:10px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portrait-mini-palette{display:flex;gap:5px;justify-content:center;align-items:center}.portrait-mini-palette i{display:block;width:13px;height:13px;border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,.08)}
.portrait-video-controls{background:#fff;border:1px solid #dce8f2;border-radius:20px;padding:20px;display:grid;gap:14px}.portrait-video-controls h3{margin:0 0 2px;color:#294761}.portrait-video-controls>label{display:grid;gap:6px;color:#516b86;font-size:12px;font-weight:900}.portrait-video-controls select{height:44px;border:1px solid #d5e4ef;border-radius:12px;padding:0 11px;background:#fff;color:#28445f;font-weight:800}.portrait-video-controls>label:has(input[type=checkbox]){display:flex;align-items:center;gap:8px}.portrait-video-controls input[type=checkbox]{width:18px;height:18px;accent-color:#248cf4}.portrait-video-actions{display:grid;grid-template-columns:1fr auto;gap:9px}.portrait-video-actions button{min-height:48px;border:0;border-radius:13px;font-weight:1000;cursor:pointer}.portrait-video-actions #startAutoVideo{background:linear-gradient(135deg,#20b66b,#1499e7);color:#fff}.portrait-video-actions #stopAutoVideo{background:#edf1f5;color:#52677d;padding:0 17px}.portrait-video-actions button:disabled{opacity:.5;cursor:not-allowed}.video-result{display:grid;gap:7px}.video-result a{display:flex;align-items:center;justify-content:center;min-height:46px;border-radius:12px;background:#eef8ff;color:#126cc5;text-decoration:none;font-weight:1000;border:1px solid #cce5f8}.video-result small,.video-note{color:#84672f;font-size:11px}.video-error{padding:10px;border-radius:10px;background:#fff1f0;color:#b42318;font-size:11px}.video-help{margin:0;padding:11px;border-radius:12px;background:#f7fafc;color:#75879a;font-size:10px;line-height:1.55}.video-studio-open{overflow:hidden}
@media(max-width:800px){.portrait-video-modal{padding:6px}.portrait-video-dialog{max-height:99vh;border-radius:16px}.portrait-video-toolbar{height:58px}.portrait-video-workspace{grid-template-columns:1fr;padding:10px;gap:12px}.portrait-device{width:min(360px,95vw)}.portrait-video-controls{padding:14px}.portrait-video-actions{grid-template-columns:1fr}}


/* ===== V4.10 VIDEO HÀNG LOẠT ===== */
.batch-video-box{border:1px solid #dbe8f5;background:linear-gradient(145deg,#f8fcff,#fff8fc);border-radius:16px;padding:13px;display:grid;gap:10px}
.batch-video-title{display:flex;gap:9px;align-items:flex-start}.batch-video-title>span{font-size:24px}.batch-video-title div{display:grid;gap:2px}.batch-video-title b{color:#254966;font-size:13px}.batch-video-title small{color:#7890a5;font-size:10px;line-height:1.35}
.batch-video-box>label{display:grid;gap:6px;color:#516b86;font-size:11px;font-weight:900}.batch-video-box>label:has(input){display:flex;align-items:center;gap:8px}.batch-video-box select{height:40px;border:1px solid #d5e4ef;border-radius:11px;padding:0 10px;background:#fff;color:#28445f;font-weight:800}.batch-video-box input[type=checkbox]{width:17px;height:17px;accent-color:#248cf4}
.batch-summary{min-height:34px;padding:9px 10px;border-radius:10px;background:#fff;color:#526b82;font-size:11px;font-weight:800;border:1px dashed #cfe0ee}
.batch-progress{height:9px;border-radius:999px;background:#e4eef6;overflow:hidden}.batch-progress>div{height:100%;width:0;background:linear-gradient(90deg,#20b66b,#248cf4);transition:width .2s ease}
.batch-actions{display:grid;grid-template-columns:1fr auto;gap:8px}.batch-actions button{min-height:43px;border:0;border-radius:11px;font-weight:1000;cursor:pointer}.batch-actions #startBatchVideo{background:linear-gradient(135deg,#ff8a24,#f04c88);color:#fff}.batch-actions #stopBatchVideo{background:#eef2f6;color:#50677d;padding:0 13px}.batch-actions button:disabled{opacity:.5;cursor:not-allowed}
.batch-results{max-height:190px;overflow:auto;display:grid;gap:6px}.batch-result-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 9px;border-radius:9px;background:#fff;border:1px solid #e2ebf3;font-size:10px}.batch-result-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#456079;font-weight:800}.batch-result-row a{color:#0f7acb;font-weight:1000;text-decoration:none}.batch-result-row.bad{grid-template-columns:1fr}.batch-result-row.bad small{color:#b42318}
@media(max-width:800px){.batch-actions{grid-template-columns:1fr}.batch-actions #stopBatchVideo{min-height:40px}}

.batch-download-box{display:grid;gap:8px;padding:10px;border:1px solid #cfe8d8;background:#f3fff7;border-radius:12px}.batch-download-box[hidden]{display:none!important}.batch-download-info{font-size:10px;line-height:1.45;color:#4b6a58;font-weight:800}.batch-download-box button{min-height:42px;border:0;border-radius:11px;background:linear-gradient(135deg,#16a563,#1594d2);color:#fff;font-weight:1000;cursor:pointer}.batch-download-box button:disabled{opacity:.55;cursor:not-allowed}

/* ===== V5.0 AI COLORING VIDEO STUDIO ===== */
.v5-story-box,.v5-audio-box,.v5-queue-box{margin-top:14px;border:1px solid #dceafb;border-radius:16px;background:#f9fcff;padding:13px;box-shadow:0 6px 18px rgba(47,104,165,.07)}
.v5-section-title{display:flex;gap:10px;align-items:center;margin-bottom:10px}.v5-section-title>span{font-size:24px}.v5-section-title div{display:flex;flex-direction:column}.v5-section-title small{color:#6d7e92;font-weight:600;margin-top:2px}
.v5-story-box label,.v5-audio-inner label{display:flex;flex-direction:column;gap:6px;font-weight:800;color:#294b70;margin:8px 0}.v5-story-box textarea,.v5-story-box select,.v5-audio-inner input,.v5-audio-inner select{width:100%;box-sizing:border-box;border:1px solid #cfe0f3;border-radius:11px;padding:9px 10px;background:#fff;color:#183b61;outline:none}.v5-story-box textarea:focus,.v5-audio-inner input:focus{border-color:#2b8df3;box-shadow:0 0 0 3px rgba(43,141,243,.10)}
.v5-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}.v5-check{flex-direction:row!important;align-items:center!important;font-weight:700!important}.v5-check input{width:auto!important}.v5-secondary-btn,.v5-queue-actions button{border:0;border-radius:11px;padding:10px 12px;font-weight:900;cursor:pointer;background:#e8f3ff;color:#1264b5}.v5-secondary-btn:hover,.v5-queue-actions button:hover{filter:brightness(.97)}
.v5-status{display:block;color:#66788e;line-height:1.45;margin-top:7px}.v5-audio-box summary{font-weight:900;color:#173e68;cursor:pointer}.v5-audio-inner{padding-top:8px}.v5-queue-actions{display:flex;gap:7px;flex-wrap:wrap}.v5-queue-list{max-height:160px;overflow:auto;margin-top:8px;display:flex;flex-direction:column;gap:6px}.v5-queue-row{padding:9px 10px;border-radius:10px;background:#fff;border:1px solid #e1edf8;display:flex;flex-direction:column}.v5-queue-row b{color:#244a70}.v5-queue-row small{color:#718196;margin-top:3px}
.video-result{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.video-result small{flex-basis:100%}
@media(max-width:720px){.v5-grid-2{grid-template-columns:1fr}.v5-story-box,.v5-audio-box,.v5-queue-box{padding:10px}.portrait-video-controls{max-height:72vh;overflow:auto}}
.v5-variant-btn{align-self:end;min-height:39px}.video-result>a{display:inline-flex;padding:9px 11px;border-radius:10px;background:#e9f5ff;color:#1264b5;text-decoration:none;font-weight:900}
