:root{--font-heading: "Outfit", -apple-system, system-ui, sans-serif;--font-body: "Inter", -apple-system, system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", monospace;--s-1: 4px;--s-2: 8px;--s-3: 16px;--s-4: 24px;--s-6: 32px;--s-8: 48px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--max-width: 1100px;--ease-elastic: cubic-bezier(.68, -.6, .32, 1.6);--ease-out: cubic-bezier(.19, 1, .22, 1);--transition-fast: .2s var(--ease-out);--transition-bouncy: .4s var(--ease-elastic)}[data-theme=light]{--bg-app: #ffffff;--bg-card: #ffffff;--text-primary: #333333;--text-secondary: #777777;--accent-color: #333333;--border-color: #dddddd;--shadow-sm: 0 2px 4px rgba(51, 51, 51, .06);--shadow-md: 0 8px 24px rgba(51, 51, 51, .1);--selection-bg: #e0e0e0;--color-view: #ec4899;--color-download: #3ea8ff}[data-theme=dark]{--bg-app: #333333;--bg-card: #3f3f3f;--bg-sidebar: #333333;--text-primary: #f0f0f0;--text-secondary: #999999;--accent-color: #aaaaaa;--border-color: #4a4a4a;--shadow-sm: 0 2px 4px rgba(0, 0, 0, .2);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--selection-bg: #555555;--color-view: #f472b6;--color-download: #38bdf8}*{margin:0;padding:0;box-sizing:border-box}::selection{background:var(--selection-bg);color:inherit}body{font-family:var(--font-body);background-color:var(--bg-app);color:var(--text-primary);line-height:1.6;-webkit-font-smoothing:antialiased;transition:background-color var(--transition-fast),color var(--transition-fast)}.site-header{height:80px;background:var(--bg-app);backdrop-filter:blur(10px);border-bottom:1px solid var(--border-color);display:flex;align-items:center;position:sticky;top:0;z-index:100}.header-container .back-button{margin-bottom:0}.header-container{max-width:var(--max-width);width:100%;margin:0 auto;padding:0 var(--s-4);display:flex;justify-content:space-between;align-items:center}.header-logo{font-family:var(--font-heading);font-size:1.25rem;font-weight:700;text-decoration:none;color:var(--text-primary)}.header-logo span{color:#3ea8ff}.main-layout{max-width:var(--max-width);margin:0 auto;padding:var(--s-6) var(--s-4);display:flex;gap:var(--s-8)}.content-area{flex:1;min-width:0}.sidebar{width:280px;flex-shrink:0}@media(max-width:900px){.main-layout{flex-direction:column;gap:var(--s-6)}.sidebar{width:100%}}.app-grid{display:grid;grid-template-columns:1fr;gap:var(--s-4)}.app-card{display:flex;align-items:center;padding:24px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);text-decoration:none;color:inherit;box-shadow:var(--shadow-sm);transition:transform var(--transition-bouncy),border-color var(--transition-fast),box-shadow var(--transition-fast)}.app-card:hover{transform:scale(1.02) translateY(-4px);border-color:var(--accent-color);box-shadow:var(--shadow-md)}.app-card-icon{width:80px;height:80px;border-radius:20px;margin-right:24px;object-fit:cover;box-shadow:0 4px 12px #0000001a}.app-card-content{flex:1}.app-card-title{font-size:1.125rem;font-weight:700;margin-bottom:var(--s-1)}.app-card-description{font-size:.875rem;color:var(--text-secondary)}.back-button{display:inline-flex;align-items:center;gap:var(--s-2);color:var(--text-secondary);text-decoration:none;font-size:.875rem;margin-bottom:var(--s-6);background:none;border:none;cursor:pointer;transition:color var(--transition-fast)}.back-button:hover{color:var(--accent-color)}.detail-header{display:flex;gap:var(--s-6);margin-bottom:var(--s-8);align-items:center}.detail-image-wrapper{width:120px;height:120px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border-color)}.detail-image-wrapper img{width:100%;height:100%;object-fit:cover}.detail-title{font-size:2rem;font-weight:800;margin-bottom:var(--s-2)}.os-icons{display:flex;gap:var(--s-3);margin-top:var(--s-2)}.os-icons i{font-size:1.25rem;color:var(--text-secondary)}.section-block{margin-bottom:var(--s-8)}.subsection-title{font-size:1.1rem;font-weight:700;margin-bottom:var(--s-4);display:flex;align-items:center;gap:var(--s-2)}.detail-desc{font-size:1.2rem;color:var(--text-primary);line-height:1.8;padding:var(--s-6);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md)}.download-section{padding:var(--s-6);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:1.5rem}.option-group{display:flex;gap:var(--s-2);margin-bottom:var(--s-4)}.os-button{padding:var(--s-2) var(--s-4);border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-app);color:var(--text-secondary);font-family:var(--font-body);font-weight:500;font-size:.875rem;cursor:pointer;display:flex;align-items:center;gap:var(--s-2);transition:all var(--transition-fast)}.os-button.active{background:#fff;color:#333;border-color:#333}.select-wrapper{position:relative;margin-bottom:var(--s-4)}.select-trigger{width:100%;padding:var(--s-3);background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-mono);font-size:.875rem;text-align:left;display:flex;justify-content:space-between;align-items:center;gap:var(--s-2);cursor:pointer;box-shadow:var(--shadow-sm);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),color var(--transition-fast)}.select-trigger:hover{border-color:var(--accent-color);color:var(--accent-color)}.select-trigger:focus-visible{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #00000026}.select-trigger:disabled{cursor:not-allowed;opacity:.6}.select-trigger i{font-size:.75rem;color:var(--text-secondary);transition:transform var(--transition-fast)}.select-wrapper:has(.select-dropdown.visible) .select-trigger{border-color:var(--accent-color);color:var(--accent-color)}.select-wrapper:has(.select-dropdown.visible) .select-trigger i{transform:rotate(180deg);color:var(--accent-color)}.select-dropdown{position:absolute;top:calc(100% + 6px);left:0;width:100%;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-md);backdrop-filter:blur(10px);z-index:20;padding:var(--s-1);max-height:264px;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(-4px) scale(.98);transform-origin:top center;pointer-events:none;transition:opacity .15s var(--ease-out),transform var(--transition-fast),visibility var(--transition-fast)}.select-dropdown.visible{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}.custom-select-option{width:100%;padding:var(--s-2) var(--s-3);cursor:pointer;font-family:var(--font-mono);font-size:.875rem;color:var(--text-primary);background:none;border:none;border-radius:var(--radius-sm);display:flex;justify-content:space-between;align-items:center;gap:var(--s-2);transition:background var(--transition-fast),color var(--transition-fast)}.custom-select-option:hover,.custom-select-option:focus-visible{background:var(--selection-bg);color:var(--accent-color);outline:none}.custom-select-option.selected{color:var(--accent-color);font-weight:700}.custom-select-option .option-meta{font-size:.75rem;color:var(--text-secondary)}.custom-select-option.selected .option-meta{color:var(--accent-color)}.primary-button{width:100%;padding:16px;background:#fff;color:#333;border:1px solid #333333;border-radius:50px;font-weight:700;font-size:1rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;box-shadow:0 10px 20px -8px #00000073;transition:transform var(--transition-bouncy),box-shadow var(--transition-fast)}.primary-button:hover{transform:scale(1.05);box-shadow:0 16px 32px -10px #0000008c;filter:contrast(1.05)}.file-info-text{text-align:center;margin-top:var(--s-3);font-family:var(--font-mono);font-size:.75rem;color:var(--text-secondary)}.app-stats{display:flex;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--s-4);gap:var(--s-4)}.stat-item{flex:1;text-align:center;padding:var(--s-2)}.stat-item .icon{font-size:1.25rem;color:var(--accent-color);margin-bottom:var(--s-1)}.stat-value{font-size:1.25rem;font-weight:800;font-family:var(--font-heading)}.detail-gallery{margin-top:var(--s-8);margin-bottom:var(--s-8)}.gallery-main-image-wrapper{width:100%;aspect-ratio:16/9;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border-color);background:var(--bg-app);margin-bottom:var(--s-2)}.gallery-main-image-wrapper img{width:100%;height:100%;object-fit:contain}.gallery-thumbnails-grid{display:flex;gap:var(--s-2);overflow-x:auto;padding:var(--s-1)}.thumbnail-image{width:80px;height:45px;object-fit:cover;border-radius:var(--radius-sm);cursor:pointer;border:2px solid transparent;transition:all var(--transition-fast)}.thumbnail-image:hover{border-color:var(--accent-color)}.detail-chart{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--s-6)}#stats-chart-container{height:200px}.site-footer{text-align:center;padding:var(--s-8) 0;color:var(--text-secondary);font-size:.875rem;border-top:1px solid var(--border-color)}.center-text{text-align:center}.full-width{width:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-app)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.app-card{transform-style:preserve-3d;perspective:1000px}.app-card:hover{transform:scale(1.03) translateY(-6px)}.app-card:active{transform:scale(.98) translateY(-2px);transition:transform .1s ease}.app-card-icon{transition:transform var(--transition-bouncy)}.app-card:hover .app-card-icon{transform:scale(1.1) rotate(-3deg)}.primary-button{position:relative;overflow:hidden}.primary-button:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(255,255,255,.3) 0%,transparent 70%);opacity:0;transition:opacity .3s ease}.primary-button:active:after{opacity:1}.primary-button:active{transform:scale(.95);transition:transform .1s ease}.kofi-btn{background:linear-gradient(135deg,#ff5e5e,#ff8f70)!important;box-shadow:0 8px 20px -5px #ff5e5e66!important;font-size:.875rem;padding:.75rem}.kofi-btn:hover{box-shadow:0 12px 28px -5px #ff5e5e80!important}.os-button{transition:all var(--transition-bouncy)}.os-button:hover:not(.active){transform:translateY(-2px);border-color:var(--accent-color)}.os-button:active{transform:scale(.95)}.thumbnail-image{transition:transform var(--transition-bouncy),border-color var(--transition-fast)}.thumbnail-image:hover{transform:scale(1.08);z-index:2}.detail-image-wrapper{transition:transform .15s ease-out}.detail-image-wrapper.tilt{transform:rotateX(var(--tilt-x, 0deg)) rotateY(var(--tilt-y, 0deg))}.subsection-title{transition:transform var(--transition-fast),color var(--transition-fast)}.section-block:hover .subsection-title,.download-section:hover .subsection-title{transform:translate(4px);color:var(--accent-color)}.stat-item{transition:transform var(--transition-bouncy)}.stat-item:hover{transform:translateY(-4px)}.stat-item:hover .icon{animation:pulse-icon .5s ease}@keyframes pulse-icon{0%,to{transform:scale(1)}50%{transform:scale(1.3)}}.legend-item{transition:transform var(--transition-fast);cursor:default}.header-logo{transition:transform var(--transition-bouncy)}.header-logo:hover{transform:scale(1.05)}.header-logo:hover span{animation:dot-bounce .4s ease}@keyframes dot-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}#theme-switch{transition:transform var(--transition-bouncy)}#theme-switch:hover{transform:rotate(15deg)}#theme-switch:active{transform:rotate(-15deg) scale(.9)}.back-button{transition:transform var(--transition-fast),color var(--transition-fast)}.back-button:hover{transform:translate(-4px)}.stagger-in{opacity:0;transform:translateY(20px)}.stagger-in.visible{opacity:1;transform:translateY(0);transition:opacity .5s ease,transform .5s var(--ease-elastic)}.magnetic{transition:transform .2s ease-out}.gallery-main-image-wrapper img{transition:transform .4s ease}.gallery-main-image-wrapper:hover img{transform:scale(1.02)}.changelog-item{position:relative;padding-bottom:24px;margin-bottom:24px;border-bottom:1px solid var(--border-color)}.changelog-item:last-child{margin-bottom:0;border-bottom:none}.changelog-version{font-family:var(--font-heading);font-size:1.6rem;font-weight:800;color:var(--text-primary);margin-bottom:12px;display:inline-block;border-bottom:3px solid var(--accent-color);padding-bottom:4px}.changelog-text{font-size:1.3rem;color:var(--text-primary);line-height:1.8;white-space:normal;padding-left:1rem}.changelog-text ul,.changelog-text ol{padding-left:20px;margin-bottom:8px}.changelog-text li{margin-bottom:4px}.changelog-text strong{color:var(--text-primary);font-weight:700}.section-title{font-family:var(--font-heading);font-size:2rem;margin-bottom:var(--s-6)}.app-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);gap:var(--s-8)}.detail-info-col,.detail-extra-col{min-width:0}.detail-desc p,.changelog-text p{white-space:pre-wrap}.chart-legend{display:flex;justify-content:space-between;color:var(--text-secondary);font-size:.8rem;margin-top:var(--s-2)}.legend-item,.legend-color-box{display:inline-flex;align-items:center;gap:.35rem}.legend-color-box{width:28px}.mascot-area{text-align:center;padding:var(--s-8) 0;color:var(--text-secondary)}.mascot-char{font-size:2rem;margin-bottom:var(--s-2)}.mascot-speech{font-weight:600}@media(max-width:700px){.app-detail-layout{grid-template-columns:1fr}.detail-header{gap:var(--s-3)}.detail-title{font-size:1.6rem}}.version-label{color:var(--text-secondary);margin-top:.2rem}.notice{margin-bottom:var(--s-4);color:var(--text-secondary)}.kofi-button{background:linear-gradient(135deg,#ff5e5e,#ff8f70)!important;box-shadow:0 8px 20px -5px #ff5e5e66!important;color:#fff!important;border-color:transparent!important}.detail-desc p,.changelog-text p{margin-bottom:var(--s-2)}.detail-desc ul,.changelog-text ul{padding-left:1.5rem;margin-bottom:var(--s-2)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
