:root{--primary:#4f46e5;--primary-light:#818cf8;--primary-dark:#3730a3;--bg:#f9fafb;--bg-white:#fff;--text:#111827;--text-secondary:#6b7280;--text-light:#9ca3af;--border:#e5e7eb;--border-light:#f3f4f6;--success:#059669;--warning:#d97706;--danger:#dc2626;--radius:12px;--radius-sm:8px;--shadow:0 1px 3px #0000001a, 0 1px 2px #0000000f;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--max-width:1200px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;font-family:inherit}input,select,textarea{font-family:inherit}.navbar{background:var(--bg-white);border-bottom:1px solid var(--border);z-index:100;position:sticky;top:0}.navbar-inner{max-width:var(--max-width);align-items:center;gap:24px;height:64px;margin:0 auto;padding:0 24px;display:flex}.logo{flex-shrink:0;align-items:center;gap:8px;display:flex}.logo-icon{background:var(--primary);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;font-weight:700;display:flex}.logo-text{color:var(--text);font-size:18px;font-weight:700}.search-bar{flex:1;max-width:480px;position:relative}.search-bar input{border:1px solid var(--border);background:var(--bg);border-radius:10px;outline:none;width:100%;padding:10px 16px 10px 42px;font-size:14px;transition:border-color .2s,box-shadow .2s}.search-bar input:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px #4f46e51a}.search-icon{color:var(--text-light);position:absolute;top:50%;left:14px;transform:translateY(-50%)}.nav-links{flex-shrink:0;align-items:center;gap:8px;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--text-secondary);padding:8px 16px;font-size:14px;font-weight:500;transition:color .2s,background .2s}.nav-link:hover{color:var(--text);background:var(--border-light)}.nav-link-sell{color:var(--primary);font-weight:600}.nav-link-sell:hover{color:var(--primary-dark);background:#4f46e514}.nav-link-admin{font-weight:600;color:var(--danger)!important}.nav-link-admin:hover{background:#dc262614}.nav-link-login{background:var(--primary);border-radius:var(--radius-sm);color:#fff!important}.nav-link-login:hover{background:var(--primary-dark)!important}.nav-cart{color:var(--text-secondary);border-radius:var(--radius-sm);align-items:center;padding:8px;transition:color .2s,background .2s;display:flex;position:relative}.nav-cart:hover{color:var(--primary);background:#4f46e514}.cart-badge{text-align:center;color:#fff;background:var(--danger);border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:2px;right:0}.nav-points{color:var(--primary);background:#4f46e514;border-radius:20px;padding:6px 14px;font-size:14px;font-weight:700;transition:background .2s}.nav-points:hover{background:#4f46e526}.nav-user-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:120px;padding:8px 4px;font-size:14px;font-weight:500;overflow:hidden}@media (width<=768px){.navbar-inner{gap:12px;padding:0 16px}.logo-text{display:none}.search-bar{max-width:none}.nav-link:not(.nav-link-login):not(.nav-link-sell){display:none}}.footer{background:var(--bg-white);border-top:1px solid var(--border);margin-top:auto}.footer-inner{max-width:var(--max-width);margin:0 auto;padding:48px 24px 24px}.footer-brand{margin-bottom:32px}.footer-logo{background:var(--primary);color:#fff;vertical-align:middle;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;margin-right:8px;font-size:16px;font-weight:700;display:inline-flex}.footer-name{vertical-align:middle;font-size:16px;font-weight:700}.footer-desc{color:var(--text-secondary);margin-top:8px;font-size:14px}.footer-links{border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);gap:32px;padding-bottom:32px;display:grid}.footer-col h4{color:var(--text);margin-bottom:12px;font-size:14px;font-weight:600}.footer-col a{color:var(--text-secondary);padding:4px 0;font-size:14px;transition:color .2s;display:block}.footer-col a:hover{color:var(--primary)}.footer-bottom{text-align:center;padding-top:24px}.footer-bottom p{color:var(--text-light);font-size:13px}@media (width<=640px){.footer-links{grid-template-columns:1fr;gap:24px}}.material-card{background:var(--bg-white);border-radius:var(--radius);border:1px solid var(--border);flex-direction:column;transition:transform .2s,box-shadow .2s;display:flex;overflow:hidden}.material-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-thumbnail{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:space-between;align-items:flex-start;height:140px;padding:12px;display:flex;position:relative;overflow:hidden}.card-thumbnail-img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.material-card:nth-child(2) .card-thumbnail{background:linear-gradient(135deg,#f093fb 0%,#f5576c 100%)}.material-card:nth-child(3) .card-thumbnail{background:linear-gradient(135deg,#4facfe 0%,#00f2fe 100%)}.material-card:nth-child(4) .card-thumbnail{background:linear-gradient(135deg,#43e97b 0%,#38f9d7 100%)}.material-card:nth-child(5) .card-thumbnail{background:linear-gradient(135deg,#fa709a 0%,#fee140 100%)}.material-card:nth-child(6) .card-thumbnail{background:linear-gradient(135deg,#a18cd1 0%,#fbc2eb 100%)}.material-card:nth-child(7) .card-thumbnail{background:linear-gradient(135deg,#fccb90 0%,#d57eeb 100%)}.material-card:nth-child(8) .card-thumbnail{background:linear-gradient(135deg,#96fbc4 0%,#f9f586 100%)}.card-category{color:var(--text);background:#ffffffe6;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:600}.card-filetype{color:#fff;background:#0000004d;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:600}.card-body{flex-direction:column;flex:1;gap:8px;padding:16px;display:flex}.card-title{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:15px;font-weight:600;line-height:1.4;display:-webkit-box;overflow:hidden}.card-meta{color:var(--text-secondary);font-size:13px}.card-stats{color:var(--text-secondary);align-items:center;gap:12px;font-size:13px;display:flex}.card-stat{align-items:center;gap:4px;display:flex}.star{color:#fbbf24}.card-footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;margin-top:auto;padding-top:8px;display:flex}.card-price{color:var(--primary);font-size:16px;font-weight:700}.hero{color:#fff;text-align:center;background:linear-gradient(135deg,#4f46e5 0%,#7c3aed 100%);padding:80px 24px}.hero-inner{max-width:680px;margin:0 auto}.hero-title{letter-spacing:-1px;margin-bottom:20px;font-size:48px;font-weight:700;line-height:1.2}.highlight{background:linear-gradient(120deg,#fbbf24,#f59e0b);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-subtitle{opacity:.9;margin-bottom:32px;font-size:18px;line-height:1.6}.hero-actions{justify-content:center;gap:12px;margin-bottom:48px;display:flex}.btn{border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn-lg{border-radius:var(--radius);padding:14px 28px;font-size:16px}.btn-primary{color:var(--primary);background:#fff}.btn-primary:hover{background:#f3f4f6}.btn-outline{color:#fff;background:0 0;border:2px solid #fff6}.btn-outline:hover{background:#ffffff1a;border-color:#fff}.hero-stats{justify-content:center;gap:48px;display:flex}.stat{flex-direction:column;display:flex}.stat-value{font-size:28px;font-weight:700}.stat-label{opacity:.8;font-size:14px}.section{padding:48px 0}.section-inner{max-width:var(--max-width);margin:0 auto;padding:0 24px}.section-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.section-title{margin-bottom:24px;font-size:24px;font-weight:700}.section-header .section-title{margin-bottom:0}.section-link{color:var(--primary);font-size:14px;font-weight:500}.section-link:hover{text-decoration:underline}.category-grid{grid-template-columns:repeat(6,1fr);gap:12px;display:grid}.category-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:center;gap:8px;padding:20px 12px;transition:all .2s;display:flex}.category-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-md)}.category-icon{font-size:28px}.category-name{color:var(--text);font-size:14px;font-weight:600}.category-examples{color:var(--text-secondary);text-align:center;font-size:11px;line-height:1.4}.material-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.cta-section{padding:64px 24px}.cta-inner{text-align:center;background:var(--bg-white);border:1px solid var(--border);border-radius:20px;max-width:600px;margin:0 auto;padding:48px}.cta-inner h2{margin-bottom:8px;font-size:24px;font-weight:700}.cta-inner p{color:var(--text-secondary);margin-bottom:24px}.cta-inner .btn-primary{background:var(--primary);color:#fff}.cta-inner .btn-primary:hover{background:var(--primary-dark)}@media (width<=1024px){.material-grid{grid-template-columns:repeat(2,1fr)}.category-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=640px){.hero{padding:48px 16px}.hero-title{font-size:32px}.hero-subtitle{font-size:15px}.hero-stats{gap:24px}.stat-value{font-size:22px}.hero-actions{flex-direction:column;align-items:center}.material-grid{grid-template-columns:1fr}.category-grid{grid-template-columns:repeat(3,1fr)}}.browse{padding:32px 0 64px}.browse-inner{max-width:var(--max-width);margin:0 auto;padding:0 24px}.browse-title{margin-bottom:24px;font-size:28px;font-weight:700}.browse-filters{flex-direction:column;gap:16px;margin-bottom:24px;display:flex}.filter-search input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-white);outline:none;width:100%;padding:12px 16px;font-size:15px;transition:border-color .2s}.filter-search input:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px #4f46e51a}.filter-categories{flex-wrap:wrap;gap:8px;display:flex}.filter-chip{background:var(--bg-white);border:1px solid var(--border);color:var(--text-secondary);border-radius:20px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .2s}.filter-chip:hover{border-color:var(--primary-light);color:var(--primary)}.filter-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.filter-sort select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-white);cursor:pointer;outline:none;padding:8px 12px;font-size:14px}.browse-count{color:var(--text-secondary);margin-bottom:20px;font-size:14px}.browse-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.browse-empty{text-align:center;color:var(--text-secondary);padding:64px 0}.browse-empty p{font-size:15px}.pagination{justify-content:center;align-items:center;gap:6px;margin-top:32px;display:flex}.pagination-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-white);min-width:36px;height:36px;color:var(--text-secondary);cursor:pointer;padding:0 10px;font-size:14px;font-weight:500;transition:all .2s}.pagination-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.pagination-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-ellipsis{min-width:36px;height:36px;color:var(--text-secondary);justify-content:center;align-items:center;font-size:14px;display:flex}@media (width<=1024px){.browse-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.browse-grid{grid-template-columns:1fr}}.detail{padding:32px 0 64px}.detail-inner{max-width:var(--max-width);grid-template-columns:1fr 320px;align-items:start;gap:32px;margin:0 auto;padding:0 24px;display:grid}.detail-main{flex-direction:column;gap:24px;display:flex}.detail-preview{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-white);overflow:hidden}.preview-heading{border-bottom:1px solid var(--border);margin:0;padding:16px 20px;font-size:16px;font-weight:600}.preview-page{background:#f1f1f4;flex-direction:column;align-items:center;padding:20px;display:flex;position:relative}.preview-image{object-fit:contain;background:#fff;border-radius:4px;width:100%;max-height:600px;box-shadow:0 2px 12px #0000001f}.preview-page-label{color:var(--text-secondary);margin-top:12px;font-size:13px;font-weight:500}.preview-nav{justify-content:center;align-items:center;gap:16px;margin-top:12px;display:flex}.preview-nav-btn{border:1px solid var(--border);background:var(--bg-white);width:32px;height:32px;color:var(--text);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;font-size:18px;transition:all .2s;display:flex}.preview-nav-btn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.preview-nav-btn:disabled{opacity:.3;cursor:not-allowed}.preview-nav-label{color:var(--text-secondary);font-size:14px;font-weight:600}.preview-placeholder{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);flex-direction:column;justify-content:center;align-items:center;gap:12px;height:300px;display:flex}.preview-filetype{background:#ffffffe6;border-radius:8px;padding:8px 16px;font-size:18px;font-weight:700}.preview-pages{color:#fff;font-size:16px;font-weight:500}.preview-no-thumb{color:#ffffffb3;font-size:13px}.detail-badges{gap:8px;display:flex}.badge{border-radius:6px;padding:4px 12px;font-size:13px;font-weight:600}.badge-category{color:var(--primary);background:#4f46e51a}.badge-filetype{background:var(--border-light);color:var(--text-secondary)}.detail-title{font-size:28px;font-weight:700;line-height:1.3}.detail-meta{color:var(--text-secondary);align-items:center;gap:8px;font-size:14px;display:flex}.detail-rating{color:#fbbf24}.detail-author{background:var(--border-light);border-radius:var(--radius-sm);align-items:center;gap:12px;margin-bottom:24px;padding:16px;display:flex}.author-avatar{background:var(--primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:700;display:flex}.author-name{font-size:14px;font-weight:600;display:block}.author-sales{color:var(--text-secondary);font-size:13px}.detail-description{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:24px;padding:24px}.detail-description h3{margin-bottom:12px;font-size:16px;font-weight:600}.detail-description p{color:var(--text-secondary);font-size:15px;line-height:1.7}.detail-specs{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.spec{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px}.spec-label{color:var(--text-light);margin-bottom:4px;font-size:12px;display:block}.spec-value{font-size:15px;font-weight:600}.sidebar-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);padding:24px;position:sticky;top:88px}.sidebar-price{color:var(--text);margin-bottom:20px;font-size:32px;font-weight:700}.price-unit{color:var(--text-secondary);font-size:18px;font-weight:500}.btn-buy{background:var(--primary);color:#fff;border-radius:var(--radius-sm);width:100%;margin-bottom:10px;padding:14px;font-size:16px;font-weight:600;transition:background .2s}.btn-buy:hover{background:var(--primary-dark)}.btn-cart{background:var(--bg);width:100%;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:16px;padding:14px;font-size:16px;font-weight:600;transition:all .2s}.btn-cart:hover{border-color:var(--primary-light);color:var(--primary)}.sidebar-info{border-top:1px solid var(--border);padding-top:16px}.sidebar-info p{color:var(--text-light);padding:4px 0;font-size:13px}.btn-report-copyright{text-align:center;color:var(--text-light);margin-top:12px;padding:8px;font-size:13px;transition:color .2s;display:block}.btn-report-copyright:hover{color:var(--danger)}.detail-not-found{text-align:center;padding:100px 24px}.detail-not-found h2{margin-bottom:12px;font-size:20px}.detail-not-found a{color:var(--primary);font-weight:500}.sidebar-balance{color:var(--text-secondary);margin-bottom:16px;font-size:14px}.btn-owned{background:var(--success)!important;cursor:default!important}.btn-download-main{cursor:pointer!important;background:#059669!important}.btn-download-main:hover{background:#047857!important}.btn-download-main:disabled{opacity:.6;cursor:not-allowed!important}.sidebar-owned-label{text-align:center;color:#059669;margin-bottom:10px;font-size:13px;font-weight:500}.modal-overlay{z-index:200;background:#00000080;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{background:var(--bg-white);border-radius:16px;width:100%;max-width:420px;padding:32px}.modal-card h2{margin-bottom:20px;font-size:20px;font-weight:700}.modal-title{margin-bottom:16px;font-size:15px;font-weight:600}.modal-row{color:var(--text-secondary);justify-content:space-between;padding:8px 0;font-size:14px;display:flex}.modal-row-after{color:var(--text);border-top:1px solid var(--border);margin-top:4px;padding-top:12px;font-weight:600}.modal-error{border-radius:var(--radius-sm);text-align:center;background:#fef2f2;border:1px solid #fecaca;margin:16px 0;padding:16px}.modal-error p{color:var(--danger);margin-bottom:12px;font-size:14px}.btn-to-charge{background:var(--primary);border-radius:var(--radius-sm);padding:8px 20px;font-size:14px;font-weight:600;display:inline-block;color:#fff!important}.modal-error-text{color:var(--danger);margin:12px 0;font-size:14px}.modal-actions{gap:10px;margin-top:20px;display:flex}.btn-modal-cancel{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);flex:1;padding:12px;font-size:15px;font-weight:600}.btn-modal-confirm{background:var(--primary);color:#fff;border-radius:var(--radius-sm);flex:1;padding:12px;font-size:15px;font-weight:600}.btn-modal-confirm:disabled{opacity:.5;cursor:not-allowed}.reviews-section{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);margin-top:24px;padding:24px}.reviews-title{margin-bottom:20px;font-size:18px;font-weight:700}.review-form{border-bottom:1px solid var(--border);margin-bottom:24px;padding-bottom:24px}.review-rating-input{align-items:center;gap:12px;margin-bottom:12px;display:flex}.review-rating-label{color:var(--text-secondary);font-size:14px;font-weight:600}.review-stars-input{gap:4px;display:flex}.review-star-btn{color:var(--border);cursor:pointer;background:0 0;border:none;padding:0;font-size:24px;transition:color .15s}.review-star-btn.active{color:#fbbf24}.review-star-btn:hover{color:#f59e0b}.review-textarea{border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical;box-sizing:border-box;width:100%;margin-bottom:12px;padding:12px;font-family:inherit;font-size:14px}.review-textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e51a}.review-form-actions{justify-content:flex-end;gap:8px;display:flex}.btn-review-submit{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:8px 20px;font-size:14px;font-weight:600}.btn-review-submit:disabled{opacity:.5;cursor:not-allowed}.btn-review-cancel{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:8px 20px;font-size:14px;font-weight:600}.review-list{flex-direction:column;gap:16px;display:flex}.review-item{border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px}.review-mine{border-color:var(--primary-light);background:#4f46e508;margin-bottom:16px}.review-item-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.review-item-user{align-items:center;gap:10px;display:flex}.review-avatar{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:700;display:flex}.review-user-name{font-size:14px;font-weight:600;display:block}.review-stars{color:#fbbf24;letter-spacing:1px;font-size:13px}.review-date{color:var(--text-light);letter-spacing:0;margin-left:8px;font-size:12px}.review-item-actions{gap:8px;display:flex}.btn-review-edit,.btn-review-delete{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:13px}.btn-review-edit{color:var(--primary)}.btn-review-edit:hover{background:#4f46e51a}.btn-review-delete{color:var(--danger,#ef4444)}.btn-review-delete:hover{background:#ef44441a}.review-content{color:var(--text-secondary);margin:0;font-size:14px;line-height:1.6}.rating-summary{background:var(--border-light);border-radius:var(--radius-sm);gap:32px;margin-bottom:24px;padding:20px;display:flex}.rating-summary-left{flex-direction:column;justify-content:center;align-items:center;min-width:100px;display:flex}.rating-big{color:var(--text);font-size:40px;font-weight:700;line-height:1}.rating-big-stars{color:#fbbf24;letter-spacing:2px;margin:6px 0;font-size:16px}.rating-total{color:var(--text-secondary);font-size:13px}.rating-bars{flex-direction:column;flex:1;justify-content:center;gap:6px;display:flex}.rating-bar-row{align-items:center;gap:8px;display:flex}.rating-bar-label{color:var(--text-secondary);text-align:right;width:28px;font-size:13px}.rating-bar-track{background:var(--border);border-radius:4px;flex:1;height:8px;overflow:hidden}.rating-bar-fill{background:#fbbf24;border-radius:4px;height:100%;transition:width .3s}.rating-bar-count{color:var(--text-secondary);width:24px;font-size:13px}.review-sort-bar{gap:8px;margin-bottom:16px;display:flex}.review-sort-btn{color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:20px;padding:6px 14px;font-size:13px;font-weight:600;transition:all .2s}.review-sort-btn.active{color:var(--primary);border-color:var(--primary);background:#4f46e50d}.review-sort-btn:hover{border-color:var(--primary-light)}.review-mine-badge{color:var(--primary);vertical-align:middle;background:#4f46e51a;border-radius:10px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-block}.reviews-empty{text-align:center;color:var(--text-light);padding:24px;font-size:14px}.sidebar-author-actions{gap:8px;margin-top:10px;margin-bottom:10px;display:flex}.btn-edit-material,.btn-delete-material{border-radius:var(--radius-sm);cursor:pointer;flex:1;padding:10px;font-size:14px;font-weight:600;transition:all .2s}.btn-edit-material{background:var(--bg);color:var(--primary);border:1px solid var(--primary)}.btn-edit-material:hover:not(:disabled){background:#4f46e50d}.btn-edit-material:disabled{opacity:.5;cursor:not-allowed}.btn-delete-material{background:var(--bg);color:var(--danger,#ef4444);border:1px solid var(--danger,#ef4444)}.btn-delete-material:hover:not(:disabled){background:#ef44440d}.btn-delete-material:disabled{opacity:.5;cursor:not-allowed}.edit-form{background:var(--bg-white);border:1px solid var(--primary-light,#c7d2fe);border-radius:var(--radius);padding:24px}.edit-form-title{color:var(--text);margin-bottom:20px;font-size:18px;font-weight:700}.edit-form-field{margin-bottom:16px}.edit-form-label{color:var(--text-secondary);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.edit-form-input{border:1px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .2s}.edit-form-input:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e51a}.edit-form-textarea{border:1px solid var(--border);border-radius:var(--radius-sm);resize:vertical;box-sizing:border-box;width:100%;padding:10px 12px;font-family:inherit;font-size:14px;transition:border-color .2s}.edit-form-textarea:focus{border-color:var(--primary);outline:none;box-shadow:0 0 0 3px #4f46e51a}.edit-form-actions{justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.btn-edit-cancel{background:var(--bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:10px 24px;font-size:14px;font-weight:600}.btn-edit-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-edit-save{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:10px 24px;font-size:14px;font-weight:600;transition:background .2s}.btn-edit-save:hover:not(:disabled){background:var(--primary-dark)}.btn-edit-save:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.detail-inner{grid-template-columns:1fr}.sidebar-card{position:static}.detail-specs{grid-template-columns:repeat(2,1fr)}}.upload{padding:32px 0 64px}.upload-inner{max-width:720px;margin:0 auto;padding:0 24px}.upload-title{margin-bottom:8px;font-size:28px;font-weight:700}.upload-subtitle{color:var(--text-secondary);margin-bottom:32px}.upload-form{flex-direction:column;gap:32px;display:flex}.form-section{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.form-section h2{border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:12px;font-size:18px;font-weight:600}.form-group{margin-bottom:16px}.form-group:last-child{margin-bottom:0}.form-group label{color:var(--text);margin-bottom:6px;font-size:14px;font-weight:600;display:block}.label-row{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.label-row label{margin-bottom:0}.btn-ai-generate{color:#7c3aed;cursor:pointer;background:#7c3aed14;border:1px solid #7c3aed40;border-radius:6px;align-items:center;gap:5px;padding:5px 12px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.btn-ai-generate:hover{background:#7c3aed26;border-color:#7c3aed66}.btn-ai-generate:disabled{opacity:.6;cursor:not-allowed}.form-group input,.form-group textarea,.form-group select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);outline:none;width:100%;padding:10px 14px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px #4f46e51a}.form-group textarea{resize:vertical}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.file-upload-area{border:2px dashed var(--border);border-radius:var(--radius-sm);text-align:center;cursor:pointer;padding:40px 20px;transition:border-color .2s,background .2s}.file-upload-area:hover{border-color:var(--primary-light);background:#4f46e505}.file-upload-area.drag-active{border-color:var(--primary);background:#4f46e50f}.file-upload-area.has-file{border-style:solid;border-color:var(--success);background:#f0fdf4}.file-icon{color:var(--text-light);margin-bottom:8px;display:block}.file-upload-area p{color:var(--text-secondary);font-size:14px}.file-hint{margin-top:4px;color:var(--text-light)!important;font-size:12px!important}.file-selected{flex-direction:column;align-items:center;gap:6px;display:flex}.file-selected-icon{width:40px;height:40px;color:var(--success);background:#d1fae5;border-radius:50%;justify-content:center;align-items:center;margin-bottom:4px;font-size:20px;font-weight:700;display:flex}.file-thumbnail-preview{border:1px solid var(--border);object-fit:contain;border-radius:8px;max-width:200px;max-height:260px;margin-bottom:8px;box-shadow:0 2px 8px #0000001a}.file-selected-name{word-break:break-all;font-weight:600;color:var(--text)!important;font-size:15px!important}.file-selected-info{color:var(--text-secondary)!important;font-size:13px!important}.file-remove{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);margin-top:8px;padding:6px 16px;font-size:13px;transition:all .2s}.file-remove:hover{border-color:var(--primary-light);color:var(--primary)}.preview-image-list{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.preview-image-item{border:1px solid var(--border);border-radius:8px;width:120px;height:150px;position:relative;overflow:hidden}.preview-image-item img{object-fit:cover;width:100%;height:100%}.preview-image-badge{color:#fff;background:var(--primary);border-radius:4px;padding:2px 8px;font-size:10px;font-weight:700;position:absolute;top:6px;left:6px}.preview-image-remove{color:#fff;cursor:pointer;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:background .2s;display:flex;position:absolute;top:6px;right:6px}.preview-image-remove:hover{background:#dc2626e6}.preview-upload-hint{color:var(--text-secondary);margin-bottom:10px;font-size:13px;line-height:1.5}.preview-upload-area{border:2px dashed var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:border-color .2s,background .2s;overflow:hidden}.preview-upload-area:hover{border-color:var(--primary-light);background:#4f46e505}.preview-upload-empty{color:var(--text-light);flex-direction:column;align-items:center;gap:6px;padding:28px 20px;font-size:14px;display:flex}.preview-upload-sub{color:var(--text-light);font-size:12px}.preview-upload-selected{flex-direction:column;align-items:center;gap:10px;padding:16px;display:flex}.preview-upload-img{border:1px solid var(--border);object-fit:contain;border-radius:6px;max-width:240px;max-height:300px;box-shadow:0 2px 8px #0000001a}.preview-upload-change{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;padding:6px 16px;font-size:13px;transition:all .2s}.preview-upload-change:hover{border-color:var(--primary-light);color:var(--primary)}.copyright-banner{border-radius:var(--radius);background:#fffbeb;border:1px solid #fde68a;gap:12px;padding:16px;display:flex}.copyright-banner-icon{color:#d97706;flex-shrink:0;margin-top:2px}.copyright-banner-content{color:#92400e;font-size:13px;line-height:1.5}.copyright-banner-content strong{color:#78350f;margin-bottom:6px;font-size:14px;display:block}.copyright-banner-content ul{margin:0;padding-left:18px}.copyright-banner-content li{margin-bottom:2px}.upload-error{color:var(--danger);border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fecaca;padding:10px 14px;font-size:14px}.btn-submit:disabled{opacity:.5;cursor:not-allowed}.btn-submit{background:var(--primary);color:#fff;border-radius:var(--radius);width:100%;padding:16px;font-size:16px;font-weight:600;transition:background .2s}.btn-submit:hover{background:var(--primary-dark)}@media (width<=640px){.form-row{grid-template-columns:1fr}}.login-page{justify-content:center;align-items:center;min-height:calc(100vh - 64px);padding:48px 24px;display:flex}.login-card{background:var(--bg-white);border:1px solid var(--border);border-radius:16px;width:100%;max-width:420px;padding:40px}.login-logo{align-items:center;gap:8px;margin-bottom:32px;font-size:18px;font-weight:700;display:flex}.login-logo-icon{background:var(--primary);color:#fff;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-weight:700;display:flex}.login-card h1{margin-bottom:8px;font-size:24px;font-weight:700}.login-subtitle{color:var(--text-secondary);margin-bottom:28px;font-size:14px}.login-card .form-group{margin-bottom:16px}.login-card label:not(.remember-me){margin-bottom:6px;font-size:14px;font-weight:500;display:block}.login-card input:not([type=checkbox]){border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);outline:none;width:100%;padding:10px 14px;font-size:14px;transition:border-color .2s}.login-card input:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px #4f46e51a}.btn-login{background:var(--primary);color:#fff;border-radius:var(--radius-sm);width:100%;margin-top:8px;padding:12px;font-size:15px;font-weight:600;transition:background .2s}.btn-login:hover{background:var(--primary-dark)}.login-toggle{text-align:center;color:var(--text-secondary);margin-top:20px;font-size:14px}.login-toggle button{color:var(--primary);background:0 0;font-size:14px;font-weight:600}.login-toggle button:hover{text-decoration:underline}.login-error{color:var(--danger);border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fecaca;margin-bottom:16px;padding:10px 14px;font-size:14px}.btn-login:disabled{opacity:.6;cursor:not-allowed}.login-success{color:#166534;border-radius:var(--radius-sm);background:#f0fdf4;border:1px solid #bbf7d0;margin-bottom:16px;padding:14px 16px;font-size:14px;line-height:1.5}.login-success p:first-child{margin-bottom:4px;font-weight:600}.login-options{justify-content:space-between;align-items:center;margin-top:-4px;margin-bottom:8px;display:flex}.remember-me{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:14px;line-height:1;display:inline-flex}.remember-me span{vertical-align:middle;font-family:Noto Sans KR,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:500;line-height:16px}.remember-me input{height:16px;accent-color:var(--primary);flex-shrink:0;width:16px!important;margin:0 4px 0 0!important;padding:0!important}.btn-forgot{color:var(--primary);background:0 0;padding:0;font-size:13px;font-weight:500}.btn-forgot:hover{text-decoration:underline}.btn-back-login{text-align:center;width:100%;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;margin-top:12px;padding:10px;font-size:14px;font-weight:500;display:block}.btn-back-login:hover{color:var(--primary)}.btn-resend{width:100%;color:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;margin-bottom:16px;padding:10px;font-size:14px;font-weight:600;transition:background .2s}.btn-resend:hover{background:#4f46e50d}.campus-selector{grid-template-columns:1fr 1fr;gap:10px;display:grid}.campus-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-secondary);cursor:pointer;padding:10px 12px;font-size:14px;font-weight:600;transition:all .2s}.campus-btn.active{background:var(--primary);color:#fff;border-color:var(--primary)}.campus-btn:not(.active):hover{border-color:var(--primary-light);color:var(--text)}.email-input-row{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);align-items:center;transition:border-color .2s;display:flex;overflow:hidden}.email-input-row:focus-within{border-color:var(--primary-light);box-shadow:0 0 0 3px #4f46e51a}.email-id-wrapper{flex:1;align-items:center;padding-left:12px;display:flex}.email-icon{color:var(--text-light);flex-shrink:0}.email-id-wrapper input{flex:1;min-width:0;box-shadow:none!important;background:0 0!important;border:none!important;padding:10px 8px!important}.email-id-wrapper input:focus{box-shadow:none!important}.email-domain{color:var(--text-secondary);background:var(--border-light);border-left:1px solid var(--border);flex-shrink:0;padding:10px 14px;font-size:14px;font-weight:500}.email-hint{color:var(--text-light);margin-top:6px;font-size:12px}.charge-page{justify-content:center;align-items:flex-start;min-height:calc(100vh - 64px);padding:48px 24px;display:flex}.charge-card{background:var(--bg-white);border:1px solid var(--border);border-radius:16px;width:100%;max-width:520px;padding:40px}.charge-card h1{margin-bottom:24px;font-size:24px;font-weight:700}.charge-login-msg{color:var(--text-secondary);font-size:14px}.charge-login-msg a{color:var(--primary);font-weight:600}.charge-balance{background:var(--border-light);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;margin-bottom:12px;padding:16px 20px;display:flex}.charge-tx-link{text-align:center;color:var(--primary);margin-bottom:28px;font-size:14px;font-weight:600;text-decoration:none;transition:opacity .2s;display:block}.charge-tx-link:hover{opacity:.8;text-decoration:underline}.balance-label{color:var(--text-secondary);font-size:14px}.balance-value{color:var(--primary);font-size:22px;font-weight:700}.charge-amounts h3{margin-bottom:12px;font-size:15px;font-weight:600}.amount-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;display:grid}.amount-btn{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);padding:14px;font-size:15px;font-weight:600;transition:all .2s}.amount-btn:hover{border-color:var(--primary-light);color:var(--primary)}.amount-btn.active{border-color:var(--primary);color:var(--primary);background:#4f46e514}.custom-amount{margin-bottom:24px}.custom-amount label{margin-bottom:6px;font-size:14px;font-weight:500;display:block}.custom-amount input{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);outline:none;width:100%;padding:10px 14px;font-size:14px;transition:border-color .2s}.custom-amount input:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px #4f46e51a}.payment-methods{margin-bottom:24px}.payment-methods h3{margin-bottom:12px;font-size:15px;font-weight:600}.method-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.method-btn{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text);justify-content:center;align-items:center;gap:10px;padding:16px;font-size:15px;font-weight:600;transition:all .2s;display:flex}.method-btn:hover{border-color:var(--primary-light)}.method-btn.active{border-color:var(--primary);color:var(--primary);background:#4f46e50d}.method-icon{border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:800;display:flex}.method-kakao{color:#191919;background:#fee500}.method-toss{color:#fff;background:#0064ff}.charge-error{color:var(--danger);border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fecaca;margin-bottom:16px;padding:10px 14px;font-size:14px}.charge-summary{border-top:1px solid var(--border);margin-bottom:20px;padding-top:16px}.summary-row{justify-content:space-between;padding:8px 0;font-size:14px;display:flex}.summary-row:last-child{font-size:16px;font-weight:600}.btn-charge{color:#191919;border-radius:var(--radius-sm);background:#fee500;width:100%;padding:14px;font-size:16px;font-weight:700;transition:background .2s}.btn-charge:hover{background:#f5dc00}.btn-charge-toss{color:#fff;background:#0064ff}.btn-charge-toss:hover{background:#05d}.btn-charge:disabled{opacity:.5;cursor:not-allowed}.charge-success{justify-content:center;align-items:center;min-height:calc(100vh - 64px);padding:48px 24px;display:flex}.success-card{text-align:center;background:var(--bg-white);border:1px solid var(--border);border-radius:16px;max-width:420px;padding:48px 40px}.success-icon{width:64px;height:64px;color:var(--success);background:#d1fae5;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 20px;font-size:32px;display:flex}.success-card h1{margin-bottom:8px;font-size:22px}.success-amount{color:var(--primary);margin:16px 0;font-size:28px;font-weight:700}.success-card p{color:var(--text-secondary);margin-bottom:24px;font-size:14px}.success-links{justify-content:center;gap:12px;display:flex}.success-links a{border-radius:var(--radius-sm);padding:10px 20px;font-size:14px;font-weight:600}.success-links a:first-child{background:var(--primary);color:#fff}.success-links a:last-child{background:var(--bg);border:1px solid var(--border);color:var(--text)}.cart-page{min-height:calc(100vh - 64px);padding:32px 0 64px}.cart-inner{max-width:var(--max-width);margin:0 auto;padding:0 24px}.cart-title{margin-bottom:24px;font-size:24px;font-weight:700}.cart-loading{text-align:center;color:var(--text-secondary);padding:48px 0}.cart-empty{text-align:center;padding:80px 24px}.cart-empty p{color:var(--text-secondary);margin-bottom:20px;font-size:16px}.cart-empty h2{margin-bottom:16px;font-size:20px}.btn-cart-browse,.btn-cart-login{background:var(--primary);color:#fff;border-radius:var(--radius-sm);padding:10px 24px;font-size:14px;font-weight:600;display:inline-block}.cart-layout{grid-template-columns:1fr 320px;align-items:start;gap:24px;display:grid}.cart-list-header{background:var(--border-light);border-radius:var(--radius-sm);margin-bottom:12px;padding:12px 16px}.cart-check-all{color:var(--text-secondary);cursor:pointer;align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.cart-check-all input{width:18px;height:18px;accent-color:var(--primary)}.cart-item{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:12px;margin-bottom:8px;padding:16px;transition:border-color .2s;display:flex}.cart-item.selected{border-color:var(--primary-light)}.cart-item-check{width:18px;height:18px;accent-color:var(--primary);flex-shrink:0}.cart-item-info{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.cart-item-thumb{object-fit:cover;border-radius:8px;flex-shrink:0;width:56px;height:56px}.cart-item-thumb-placeholder{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.cart-item-thumb-placeholder span{color:#fff;font-size:10px;font-weight:600}.cart-item-text{min-width:0}.cart-item-title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;display:block;overflow:hidden}.cart-item-author{color:var(--text-secondary);font-size:13px;display:block}.cart-item-price{white-space:nowrap;flex-shrink:0;font-size:15px;font-weight:700}.cart-item-remove{color:var(--text-light);background:0 0;border-radius:6px;flex-shrink:0;padding:6px;transition:color .2s,background .2s}.cart-item-remove:hover{color:var(--danger);background:#dc262614}.cart-summary-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);padding:24px;position:sticky;top:88px}.cart-summary-card h3{margin-bottom:20px;font-size:16px;font-weight:700}.cart-summary-row{color:var(--text-secondary);justify-content:space-between;padding:8px 0;font-size:14px;display:flex}.cart-summary-total{color:var(--text);font-weight:700}.cart-summary-after{color:var(--text);border-top:1px solid var(--border);margin-top:4px;padding-top:12px;font-weight:600}.text-danger{color:var(--danger)}.cart-success{color:#166534;border-radius:var(--radius-sm);text-align:center;background:#f0fdf4;border:1px solid #bbf7d0;margin-top:12px;padding:10px 14px;font-size:14px;font-weight:600}.cart-error{color:var(--danger);border-radius:var(--radius-sm);text-align:center;background:#fef2f2;border:1px solid #fecaca;margin-top:12px;padding:10px 14px;font-size:14px}.cart-insufficient{border-radius:var(--radius-sm);text-align:center;background:#fef3c7;border:1px solid #fde68a;margin-top:12px;padding:12px 14px}.cart-insufficient p{color:#92400e;margin-bottom:6px;font-size:14px;font-weight:600}.btn-cart-charge{text-align:center;color:var(--primary);margin-top:4px;padding:8px;font-size:13px;font-weight:600;display:block}.btn-cart-buy{background:var(--primary);color:#fff;border-radius:var(--radius-sm);width:100%;margin-top:16px;padding:14px;font-size:16px;font-weight:600;transition:background .2s}.btn-cart-buy:hover{background:var(--primary-dark)}.btn-cart-buy:disabled{opacity:.5;cursor:not-allowed}@media (width<=768px){.cart-layout{grid-template-columns:1fr}.cart-summary-card{position:static}}.mypage{padding:40px 20px}.mypage-inner{max-width:var(--max-width);margin:0 auto}.mypage-header{background:var(--bg-white);border-radius:var(--radius);border:1px solid var(--border);align-items:center;gap:24px;margin-bottom:32px;padding:32px;display:flex}.mypage-avatar{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:72px;height:72px;font-size:28px;font-weight:700;display:flex}.mypage-user-info{flex:1}.mypage-name{color:var(--text);margin:0 0 4px;font-size:22px;font-weight:700}.mypage-university{color:var(--text-secondary);margin:0;font-size:14px}.mypage-stats{gap:32px;display:flex}.mypage-stat{flex-direction:column;align-items:center;gap:4px;display:flex}.mypage-stat-value{color:var(--primary);font-size:20px;font-weight:700}.mypage-stat-label{color:var(--text-secondary);font-size:13px}.mypage-tabs{border-bottom:2px solid var(--border);gap:0;margin-bottom:24px;display:flex}.mypage-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:12px 24px;font-size:15px;font-weight:600;transition:all .2s}.mypage-tab:hover{color:var(--text)}.mypage-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.mypage-list{flex-direction:column;gap:12px;display:flex}.mypage-item{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;padding:16px 20px;transition:all .2s;display:flex}.mypage-item:hover{border-color:var(--primary-light);box-shadow:0 2px 8px #4f46e514}.mypage-item-info{color:inherit;flex:1;align-items:center;gap:16px;min-width:0;text-decoration:none;display:flex}.mypage-item-icon{border-radius:var(--radius-sm);color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:12px;font-weight:700;display:flex}.mypage-item-detail{flex:1;min-width:0}.mypage-item-title{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:15px;font-weight:600;overflow:hidden}.mypage-item-meta{color:var(--text-secondary);margin:0;font-size:13px}.mypage-item-actions{flex-shrink:0;align-items:center;gap:12px;margin-left:16px;display:flex}.btn-download{color:#fff;background:var(--primary);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:8px 20px;font-size:14px;font-weight:600;transition:all .2s}.btn-download:hover{background:var(--primary-dark,#4338ca)}.btn-download:disabled{opacity:.6;cursor:not-allowed}.mypage-item-sales{color:var(--text-secondary);white-space:nowrap;font-size:13px}.mypage-empty{text-align:center;color:var(--text-secondary);padding:60px 20px;font-size:15px}.mypage-loading{text-align:center;color:var(--text-secondary);padding:40px}@media (width<=1024px){.mypage-header{flex-wrap:wrap}.mypage-stats{border-top:1px solid var(--border);justify-content:center;width:100%;padding-top:16px}}@media (width<=640px){.mypage-header{text-align:center;flex-direction:column}.mypage-tab{text-align:center;flex:1}.mypage-item{flex-direction:column;align-items:flex-start;gap:12px}.mypage-item-actions{width:100%;margin-left:0}.btn-download{width:100%}}.report-page{padding:32px 0 64px}.report-inner{max-width:720px;margin:0 auto;padding:0 24px}.report-title{margin-bottom:8px;font-size:28px;font-weight:700}.report-subtitle{color:var(--text-secondary);margin-bottom:24px}.report-notice{border-radius:var(--radius);background:#fffbeb;border:1px solid #fde68a;gap:12px;margin-bottom:32px;padding:16px;display:flex}.report-notice-icon{color:#d97706;flex-shrink:0;margin-top:2px}.report-notice-content{color:#92400e;font-size:13px;line-height:1.5}.report-notice-content strong{color:#78350f;margin-bottom:6px;font-size:14px;display:block}.report-notice-content ul{margin:0;padding-left:18px}.report-notice-content li{margin-bottom:2px}.report-form{flex-direction:column;gap:32px;display:flex}.report-form .form-section{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);padding:24px}.report-form .form-section h2{border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:12px;font-size:18px;font-weight:600}.report-form .form-group{margin-bottom:16px}.report-form .form-group:last-child{margin-bottom:0}.report-form .form-group label{color:var(--text);margin-bottom:6px;font-size:14px;font-weight:600;display:block}.report-form .form-group input[type=text],.report-form .form-group input[type=email],.report-form .form-group textarea,.report-form .form-group select{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);outline:none;width:100%;padding:10px 14px;font-size:14px;transition:border-color .2s}.report-form .form-group input[type=text]:focus,.report-form .form-group input[type=email]:focus,.report-form .form-group textarea:focus,.report-form .form-group select:focus{border-color:var(--primary-light);box-shadow:0 0 0 3px #4f46e51a}.report-form .form-group textarea{resize:vertical}.form-hint{color:var(--text-light);margin-top:4px;font-size:12px;display:block}.checkbox-label{cursor:pointer;align-items:center;gap:8px;font-weight:500!important;display:flex!important}.checkbox-label input[type=checkbox]{height:18px;accent-color:var(--primary);cursor:pointer;width:18px!important}.checkbox-label span{color:var(--text);font-size:14px}.report-target{background:var(--bg);border-radius:var(--radius-sm);align-items:baseline;gap:12px;padding:12px 16px;display:flex}.report-target-label{color:var(--text-secondary);white-space:nowrap;font-size:13px;font-weight:600}.report-target-value{color:var(--text);word-break:break-all;font-size:15px;font-weight:600}.report-error{color:var(--danger);border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fecaca;padding:10px 14px;font-size:14px}.btn-report-submit{background:var(--danger);color:#fff;border-radius:var(--radius);width:100%;padding:16px;font-size:16px;font-weight:600;transition:background .2s}.btn-report-submit:hover{background:#b91c1c}.btn-report-submit:disabled{opacity:.5;cursor:not-allowed}.report-success-card{background:var(--bg-white);border:1px solid var(--border);text-align:center;border-radius:16px;max-width:480px;margin:60px auto;padding:48px 40px}.report-success-icon{color:var(--success);margin-bottom:20px}.report-success-card h2{margin-bottom:8px;font-size:22px;font-weight:700}.report-success-card>p{color:var(--text-secondary);font-size:15px}.report-success-sub{margin-top:4px;color:var(--text-light)!important;font-size:13px!important}.report-success-actions{justify-content:center;gap:12px;margin-top:28px;display:flex}.btn-report-back{background:var(--primary);color:#fff;border-radius:var(--radius-sm);padding:10px 20px;font-size:14px;font-weight:600;transition:background .2s}.btn-report-back:hover{background:var(--primary-dark)}.btn-report-home{background:var(--bg-white);color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.btn-report-home:hover{border-color:var(--text-light);color:var(--text)}@media (width<=640px){.report-success-actions{flex-direction:column}}.legal-page{padding:32px 0 64px}.legal-inner{max-width:800px;margin:0 auto;padding:0 24px}.legal-title{margin-bottom:4px;font-size:28px;font-weight:700}.legal-updated{color:var(--text-light);margin-bottom:32px;font-size:14px}.legal-content{flex-direction:column;gap:0;display:flex}.legal-intro{color:var(--text-secondary);font-size:15px;line-height:1.7}.legal-chapter{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:28px}.legal-chapter h2{border-bottom:1px solid var(--border);color:var(--text);margin-bottom:20px;padding-bottom:12px;font-size:18px;font-weight:700}.legal-chapter article{margin-bottom:24px}.legal-chapter article:last-child{margin-bottom:0}.legal-chapter h3{color:var(--text);margin-bottom:10px;font-size:15px;font-weight:600}.legal-chapter p{color:var(--text-secondary);margin-bottom:8px;font-size:14px;line-height:1.7}.legal-chapter p:last-child{margin-bottom:0}.legal-chapter ol,.legal-chapter ul{margin-bottom:8px;padding-left:20px}.legal-chapter ol:last-child,.legal-chapter ul:last-child{margin-bottom:0}.legal-chapter li{color:var(--text-secondary);margin-bottom:6px;font-size:14px;line-height:1.7}.legal-chapter li:last-child{margin-bottom:0}.legal-chapter li strong{color:var(--text)}.legal-sub-list{margin-top:6px;list-style-type:lower-alpha}.legal-table-wrap{margin:12px 0;overflow-x:auto}.legal-table{border-collapse:collapse;width:100%;font-size:13px}.legal-table th,.legal-table td{border:1px solid var(--border);text-align:left;padding:10px 14px;line-height:1.5}.legal-table th{background:var(--bg);color:var(--text);white-space:nowrap;font-weight:600}.legal-table td{color:var(--text-secondary)}.legal-contact-box{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);margin:12px 0;padding:16px 20px}.legal-contact-box p{margin-bottom:4px;font-size:14px}.legal-contact-box p:last-child{margin-bottom:0}.legal-resources{list-style:none;padding-left:0!important}.legal-resources li{border-bottom:1px solid var(--border-light);padding:6px 0}.legal-resources li:last-child{border-bottom:none}.legal-footer-links{border-top:1px solid var(--border);justify-content:center;gap:24px;margin-top:32px;padding-top:24px;display:flex}.legal-footer-links a{color:var(--primary);font-size:14px;font-weight:500}.legal-footer-links a:hover{text-decoration:underline}@media (width<=640px){.legal-chapter{padding:20px}.legal-table th,.legal-table td{padding:8px 10px;font-size:12px}}.tx-page{padding:40px 20px}.tx-inner{max-width:var(--max-width);margin:0 auto}.tx-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.tx-title{color:var(--text);margin:0;font-size:24px;font-weight:700}.tx-charge-link{color:var(--primary);border:1px solid var(--primary);border-radius:var(--radius-sm);padding:8px 16px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s}.tx-charge-link:hover{background:var(--primary);color:#fff}.tx-tabs{border-bottom:2px solid var(--border);gap:0;margin-bottom:24px;display:flex}.tx-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:12px 24px;font-size:15px;font-weight:600;transition:all .2s}.tx-tab:hover{color:var(--text)}.tx-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.tx-list{flex-direction:column;gap:12px;display:flex}.tx-item{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);justify-content:space-between;align-items:center;padding:16px 20px;transition:all .2s;display:flex}.tx-item:hover{border-color:var(--primary-light);box-shadow:0 2px 8px #4f46e514}.tx-item-left{flex:1;align-items:center;gap:14px;min-width:0;display:flex}.tx-type-badge{border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0;justify-content:center;align-items:center;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.tx-type-badge.charge{color:#1d4ed8;background:#dbeafe}.tx-type-badge.purchase{color:#b91c1c;background:#fee2e2}.tx-type-badge.sale{color:#15803d;background:#dcfce7}.tx-type-badge.refund{color:#92400e;background:#fef3c7}.tx-item-detail{flex:1;min-width:0}.tx-item-desc{color:var(--text);white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:15px;font-weight:500;overflow:hidden}.tx-item-date{color:var(--text-secondary);margin:0;font-size:13px}.tx-item-right{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:4px;margin-left:16px;display:flex}.tx-amount{font-size:16px;font-weight:700}.tx-amount.income{color:#15803d}.tx-amount.expense{color:#b91c1c}.tx-balance{color:var(--text-secondary);font-size:12px}.tx-empty{text-align:center;color:var(--text-secondary);padding:60px 20px;font-size:15px}.tx-loading{text-align:center;color:var(--text-secondary);padding:40px}@media (width<=640px){.tx-tab{text-align:center;flex:1;padding:12px}.tx-item{flex-direction:column;align-items:flex-start;gap:12px}.tx-item-right{flex-direction:row;justify-content:space-between;align-items:center;gap:12px;width:100%;margin-left:0}}.admin-page{padding:32px 0 64px}.admin-inner{max-width:900px;margin:0 auto;padding:0 24px}.admin-header{margin-bottom:28px}.admin-header h1{margin-bottom:8px;font-size:28px;font-weight:700}.admin-header p{color:var(--text-secondary);font-size:15px}.admin-tabs{border-bottom:1px solid var(--border);gap:8px;margin-bottom:24px;padding-bottom:0;display:flex}.admin-tab{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 20px;font-size:14px;font-weight:600;transition:all .2s}.admin-tab.active{color:var(--primary);border-bottom-color:var(--primary)}.admin-tab:hover{color:var(--text)}.admin-loading,.admin-error{text-align:center;color:var(--text-secondary);padding:48px;font-size:15px}.admin-error{color:var(--danger)}.admin-empty{text-align:center;color:var(--text-light);padding:64px 24px;font-size:15px}.admin-denied{text-align:center;padding:100px 24px}.admin-denied h2{margin-bottom:8px;font-size:22px}.admin-denied p{color:var(--text-secondary);margin-bottom:20px}.admin-denied a{color:var(--primary);font-weight:600}.admin-report-list{flex-direction:column;gap:16px;display:flex}.admin-report-card{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.admin-report-card.pending{border-left:3px solid var(--warning)}.admin-report-card.resolved{border-left:3px solid var(--success);opacity:.8}.admin-report-card.dismissed{border-left:3px solid var(--text-light);opacity:.7}.report-card-header{background:var(--border-light);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.report-card-meta{align-items:center;gap:12px;display:flex}.report-status-badge{border-radius:12px;padding:3px 10px;font-size:12px;font-weight:600}.report-status-badge.pending{color:#92400e;background:#fef3c7}.report-status-badge.resolved{color:#065f46;background:#d1fae5}.report-status-badge.dismissed{background:var(--border);color:var(--text-secondary)}.report-date{color:var(--text-light);font-size:13px}.report-reason-badge{color:var(--danger);background:#dc262614;border-radius:12px;padding:3px 10px;font-size:13px;font-weight:600}.report-card-body{flex-direction:column;gap:14px;padding:20px;display:flex}.report-field{flex-direction:column;gap:4px;display:flex}.report-field-label{color:var(--text-light);text-transform:uppercase;letter-spacing:.3px;font-size:12px;font-weight:600}.report-material-link{color:var(--primary);font-size:15px;font-weight:600}.report-material-link:hover{text-decoration:underline}.report-description{color:var(--text-secondary);background:var(--border-light);border-radius:var(--radius-sm);margin:0;padding:12px;font-size:14px;line-height:1.6}.report-field-row{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.report-field-row .report-field span:last-child{font-size:14px}.report-card-actions{border-top:1px solid var(--border);background:var(--border-light);gap:10px;padding:14px 20px;display:flex}.btn-admin-delete{color:#fff;background:var(--danger);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:8px 18px;font-size:13px;font-weight:600;transition:opacity .2s}.btn-admin-delete:hover{opacity:.9}.btn-admin-suspend{color:var(--warning);border:1px solid var(--warning);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:8px 18px;font-size:13px;font-weight:600;transition:all .2s}.btn-admin-suspend:hover{background:#d977060d}.btn-admin-suspend:disabled{opacity:.4;cursor:not-allowed}.btn-admin-ban{color:var(--danger);border:1px solid var(--danger);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:8px 18px;font-size:13px;font-weight:600;transition:all .2s}.btn-admin-ban:hover{background:#dc26260d}.btn-admin-ban:disabled{opacity:.4;cursor:not-allowed}.btn-admin-dismiss{color:var(--text-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;background:0 0;margin-left:auto;padding:8px 18px;font-size:13px;font-weight:600;transition:all .2s}.btn-admin-dismiss:hover{border-color:var(--text-light);color:var(--text)}.btn-admin-delete:disabled,.btn-admin-dismiss:disabled{opacity:.5;cursor:not-allowed}.ban-modal-desc{color:var(--text-secondary);margin-bottom:16px;font-size:14px;line-height:1.5}.btn-admin-ban-confirm{background:var(--danger);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;flex:1;padding:12px;font-size:15px;font-weight:600}.btn-admin-ban-confirm:disabled{opacity:.5;cursor:not-allowed}.suspend-days-row{gap:8px;display:flex}.suspend-day-btn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-secondary);cursor:pointer;flex:1;padding:8px;font-size:14px;font-weight:600;transition:all .2s}.suspend-day-btn.active{background:var(--warning);color:#fff;border-color:var(--warning)}.suspend-day-btn:not(.active):hover{border-color:var(--warning);color:var(--warning)}.btn-admin-suspend-confirm{background:var(--warning);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;flex:1;padding:12px;font-size:15px;font-weight:600}.btn-admin-suspend-confirm:disabled{opacity:.5;cursor:not-allowed}@media (width<=640px){.report-field-row{grid-template-columns:1fr}.report-card-actions{flex-wrap:wrap}.btn-admin-dismiss{text-align:center;width:100%;margin-left:0}}.not-found{text-align:center;max-width:480px;margin:0 auto;padding:120px 24px}.not-found-heading{color:var(--text);margin-bottom:12px;font-size:28px;font-weight:700}.not-found-desc{color:var(--text-secondary);margin-bottom:32px;font-size:15px;line-height:1.6}.not-found-link{background:var(--primary);color:#fff;border-radius:var(--radius-sm);padding:12px 28px;font-size:15px;font-weight:600;transition:background .2s;display:inline-block}.not-found-link:hover{background:var(--primary-dark)}.app{flex-direction:column;min-height:100vh;display:flex}
