: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-login{background:var(--primary);border-radius:var(--radius-sm);color:#fff!important}.nav-link-login:hover{background:var(--primary-dark)!important}.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}.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}.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}@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-radius:var(--radius);overflow:hidden}.preview-placeholder{border-radius:var(--radius);background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;gap:16px;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}.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}.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}.text-danger{color:var(--danger)}.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-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}@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}.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-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)}.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{margin-bottom:6px;font-size:14px;font-weight:500;display:block}.login-card 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}.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}.login-divider{color:var(--text-light);align-items:center;gap:12px;margin:20px 0;font-size:13px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--border);flex:1;height:1px}.btn-google{background:var(--bg-white);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:10px;width:100%;padding:12px;font-size:14px;font-weight:500;transition:background .2s,border-color .2s;display:flex}.btn-google:hover{background:var(--border-light);border-color:var(--text-light)}.btn-login:disabled,.btn-google:disabled{opacity:.6;cursor:not-allowed}.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:28px;padding:16px 20px;display:flex}.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)}.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%}}.app{flex-direction:column;min-height:100vh;display:flex}
