:root{--color-primary: #3b82f6;--color-primary-light: #60a5fa;--color-primary-dark: #2563eb;--color-bg: #0f172a;--color-bg-light: #1e293b;--color-bg-card: #334155;--color-text: #f1f5f9;--color-text-secondary: #cbd5e1;--color-text-muted: #94a3b8;--color-border: #475569;--color-border-light: #64748b;--color-accent: #8b5cf6;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--font-family-base: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif;--font-family-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--border-radius-sm: .25rem;--border-radius-md: .5rem;--border-radius-lg: .75rem;--border-radius-xl: 1rem;--border-radius-full: 9999px;--border-width: 1px;--border-width-thick: 2px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--transition-fast: .15s ease-in-out;--transition-base: .3s ease-in-out;--transition-slow: .5s ease-in-out;--z-index-background: -1;--z-index-base: 0;--z-index-dropdown: 100;--z-index-sticky: 200;--z-index-modal: 300;--z-index-tooltip: 400;--max-width-container: 1280px;--header-height: 80px;--breakpoint-mobile: 375px;--breakpoint-tablet: 768px;--breakpoint-desktop: 1280px}@media(prefers-color-scheme:light){:root{--color-bg: #ffffff;--color-bg-light: #f8fafc;--color-bg-card: #f1f5f9;--color-text: #0f172a;--color-text-secondary: #475569;--color-text-muted: #64748b;--color-border: #cbd5e1;--color-border-light: #e2e8f0}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-bg);overflow-x:hidden}#three-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--z-index-background);pointer-events:none}.container{max-width:var(--max-width-container);margin:0 auto;padding:0 var(--spacing-md)}.header{height:var(--header-height);display:flex;align-items:center;justify-content:center;padding:var(--spacing-md)}.header__logo{display:inline-flex;align-items:center;text-decoration:none;transition:opacity var(--transition-fast)}.header__logo:hover{opacity:.8}.header__logo img{height:80px;width:auto;margin-top:var(--spacing-xl)}.main{min-height:calc(100vh - var(--header-height));padding:var(--spacing-2xl) 0}.search-bar{position:relative;display:flex;align-items:center;max-width:600px;margin:0 auto var(--spacing-2xl);background-color:var(--color-bg-card);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-lg);padding:var(--spacing-sm) var(--spacing-md);transition:border-color var(--transition-fast)}.search-bar:focus-within{border-color:var(--color-primary)}.search-bar__icon{margin-right:var(--spacing-sm);color:var(--color-text-muted)}.search-bar__input{flex:1;background:none;border:none;outline:none;color:var(--color-text);font-size:var(--font-size-base);font-family:var(--font-family-base)}.search-bar__input::placeholder{color:var(--color-text-muted)}.search-bar__clear{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-xl);cursor:pointer;padding:var(--spacing-xs);line-height:1;transition:color var(--transition-fast)}.search-bar__clear:hover{color:var(--color-text)}.tag-cloud{display:flex;flex-wrap:wrap;gap:var(--spacing-sm);justify-content:center;margin-bottom:var(--spacing-2xl);padding:0 var(--spacing-md)}.tag-cloud__item{background-color:var(--color-bg-card);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-full);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);display:inline-flex;align-items:center;gap:var(--spacing-xs)}.tag-cloud__item:hover{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text);transform:translateY(-2px)}.tag-cloud__item.active{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-text)}.tag-cloud__item.disabled{opacity:.5;cursor:not-allowed}.tag-cloud__item .count{font-size:var(--font-size-xs);opacity:.8}.app-cards-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--spacing-lg);padding:0 var(--spacing-md)}.app-card{display:block;background-color:var(--color-bg-card);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-lg);overflow:hidden;text-decoration:none;color:inherit;transition:all var(--transition-base)}.app-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.app-card article{display:flex;flex-direction:column;height:100%;padding:var(--spacing-md)}.app-card__thumbnail{width:100%;height:200px;object-fit:cover;border-radius:var(--border-radius-md);margin-bottom:var(--spacing-md)}.app-card__title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-sm);color:var(--color-text)}.app-card__description{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-md);line-height:var(--line-height-relaxed);flex:1}.app-card__tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);margin-bottom:var(--spacing-sm)}.app-card__tags .tag{background-color:var(--color-bg);color:var(--color-text-muted);font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm)}.app-card__status{display:inline-block;font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--border-radius-sm);margin-bottom:var(--spacing-xs);font-weight:var(--font-weight-medium)}.app-card__status[data-status=published]{background-color:var(--color-success);color:#fff}.app-card__status[data-status=development]{background-color:var(--color-warning);color:#fff}.app-card__status[data-status=maintenance]{background-color:var(--color-error);color:#fff}.app-card__date{font-size:var(--font-size-xs);color:var(--color-text-muted)}.app-card__actions{display:flex;gap:var(--spacing-sm);margin-top:var(--spacing-md)}.app-card__like{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-full);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);position:relative;z-index:1}.app-card__like:hover{background-color:#ef44441a;border-color:#ef4444;color:#ef4444;transform:scale(1.05)}.app-card__like.liked{background-color:#ef4444;border-color:#ef4444;color:#fff}.app-card__like .like-icon{width:18px;height:18px;transition:transform var(--transition-fast)}.app-card__like:hover .like-icon,.app-card__like.liked .like-icon{transform:scale(1.2)}.app-card__like.liked .like-icon{animation:heartbeat .3s ease-in-out}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.app-card__like .like-count{font-weight:var(--font-weight-medium);min-width:20px;text-align:center}.app-card__comment{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-bg);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-full);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);position:relative;z-index:1}.app-card__comment:hover{background-color:#3b82f61a;border-color:var(--color-primary);color:var(--color-primary);transform:scale(1.05)}.app-card__comment .comment-icon{width:18px;height:18px;transition:transform var(--transition-fast)}.app-card__comment:hover .comment-icon{transform:scale(1.2)}.app-card__comment .comment-count{font-weight:var(--font-weight-medium);min-width:20px;text-align:center}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md);animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-container{background-color:var(--color-bg-card);border-radius:var(--border-radius-lg);max-width:600px;width:100%;max-height:80vh;display:flex;flex-direction:column;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:var(--border-width) solid var(--color-border)}.modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.modal-close{background:none;border:none;font-size:2rem;color:var(--color-text-muted);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--border-radius-sm);transition:all var(--transition-fast)}.modal-close:hover{background-color:var(--color-bg);color:var(--color-text)}.modal-body{padding:var(--spacing-lg);overflow-y:auto;flex:1}.comments-list{margin-bottom:var(--spacing-lg);max-height:300px;overflow-y:auto}.comment-item{padding:var(--spacing-sm) 0;border-bottom:1px solid var(--color-border)}.comment-item:last-child{border-bottom:none}.comment-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:2px}.comment-author{font-weight:var(--font-weight-semibold);color:var(--color-primary);font-size:var(--font-size-xs)}.comment-date{font-size:var(--font-size-xs);color:var(--color-text-muted)}.comment-content{color:var(--color-text-secondary);line-height:1.4;font-size:var(--font-size-xs);word-wrap:break-word;white-space:pre-wrap}.no-comments{text-align:center;color:var(--color-text-muted);padding:var(--spacing-xl);font-size:var(--font-size-sm)}.loading{text-align:center;color:var(--color-text-muted);padding:var(--spacing-xl)}.error{text-align:center;color:var(--color-error);padding:var(--spacing-xl)}.comment-form{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-top:var(--spacing-md);border-top:var(--border-width) solid var(--color-border)}.comment-form label{font-weight:var(--font-weight-medium);color:var(--color-text);font-size:var(--font-size-xs);margin-bottom:2px}.comment-input,.comment-textarea{width:100%;padding:var(--spacing-xs) var(--spacing-sm);background-color:var(--color-bg);border:var(--border-width) solid var(--color-border);border-radius:var(--border-radius-sm);color:var(--color-text);font-family:var(--font-family-base);font-size:var(--font-size-xs);transition:border-color var(--transition-fast)}.comment-input:focus,.comment-textarea:focus{outline:none;border-color:var(--color-primary)}.comment-textarea{resize:vertical;min-height:60px}.comment-submit{align-self:center;padding:var(--spacing-sm) var(--spacing-xl);background-color:var(--color-primary);color:#fff;border:none;border-radius:var(--border-radius-md);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);min-width:120px}.comment-submit:hover:not(:disabled){background-color:#2563eb;transform:translateY(-2px);box-shadow:var(--shadow-md)}.comment-submit:disabled{opacity:.5;cursor:not-allowed}.no-results{text-align:center;padding:var(--spacing-3xl);color:var(--color-text-muted);font-size:var(--font-size-lg)}.footer{text-align:center;padding:var(--spacing-xl);color:var(--color-text-muted);font-size:var(--font-size-sm);border-top:var(--border-width) solid var(--color-border);margin-top:var(--spacing-3xl)}.footer a{color:var(--color-primary);text-decoration:none;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);padding:2px var(--spacing-sm);border:2px solid var(--color-primary);border-radius:var(--border-radius-full);display:inline-block;transition:all var(--transition-base);background:transparent;line-height:1.2;vertical-align:baseline}.footer a:hover{color:#fff;background:linear-gradient(135deg,var(--color-primary),#8b5cf6);border-color:#8b5cf6;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f666}@media(max-width:767px){.container{padding:0 var(--spacing-sm)}.header{height:60px}.header__logo{font-size:var(--font-size-2xl)}.main{padding:var(--spacing-lg) 0}.search-bar{margin-bottom:var(--spacing-lg)}.tag-cloud{margin-bottom:var(--spacing-lg);padding:0 var(--spacing-sm)}.tag-cloud__item{font-size:var(--font-size-xs);padding:var(--spacing-xs) var(--spacing-sm)}.app-cards-container{grid-template-columns:1fr;gap:var(--spacing-md);padding:0 var(--spacing-sm)}.app-card__thumbnail{height:150px}.app-card__title{font-size:var(--font-size-lg)}.app-card__description{font-size:var(--font-size-xs)}.no-results{padding:var(--spacing-2xl);font-size:var(--font-size-base)}.footer{padding:var(--spacing-lg)}}@media(min-width:768px)and (max-width:1279px){.container{padding:0 var(--spacing-md)}.app-cards-container{grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg)}.app-card__thumbnail{height:180px}}@media(min-width:1280px){.container{padding:0 var(--spacing-xl)}.app-cards-container{grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl)}.app-card__thumbnail{height:200px}.app-card:hover{transform:translateY(-8px)}.tag-cloud__item:hover{transform:translateY(-4px)}}@media(min-width:1536px){.app-cards-container{grid-template-columns:repeat(4,1fr)}}@media print{body{background-color:#fff;color:#000}#three-canvas,.search-bar,.tag-cloud,.footer{display:none}.app-card{page-break-inside:avoid}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}#three-canvas{display:none}}@media(prefers-contrast:high){:root{--color-border: #ffffff;--color-text: #ffffff;--color-bg: #000000}.app-card,.tag-cloud__item{border-width:var(--border-width-thick)}}
