.ppi-page{min-height:100vh}.hero-container{padding-top:var(--spacing-3xl);padding-bottom:var(--spacing-xl);position:relative;z-index:1}.page-header{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.page-title{margin:0;text-align:center}.page-subtitle{margin:0;max-width:680px;text-align:center}.workspace-section{padding-bottom:var(--spacing-xl)}.workspace-grid{display:grid;grid-template-columns:minmax(0,800px);justify-content:center}.calculator-card{display:flex;flex-direction:column;gap:var(--spacing-lg)}.ppi-toolbar{margin:-8px;overflow-x:auto}.mode-toggle{display:flex;background:var(--theme-canvas-soft-2);border-radius:100px;padding:3px;border:1px solid var(--theme-hairline);width:100%;min-width:fit-content}.mode-btn{flex:1;padding:10px 16px;border:none;border-radius:100px;background:transparent;color:var(--theme-body);font-family:var(--font-sans);font-size:13px;font-weight:500;cursor:pointer;transition:all .25s ease;white-space:nowrap}.mode-btn.is-active{background:var(--theme-canvas);color:var(--theme-ink);box-shadow:var(--shadow-level-2)}.mode-btn:hover:not(.is-active){color:var(--theme-ink)}.mode-panel{display:flex;flex-direction:column;gap:var(--spacing-md);animation:fade-in .25s ease}.input-label{font-size:12px;font-weight:600;color:var(--theme-mute);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;display:block}.input-wrap{position:relative;width:100%}.input-wrap .form-input{width:100%;height:48px;padding:0 var(--spacing-md);padding-right:52px;border:1px solid var(--theme-hairline);border-radius:var(--radius-md);background:var(--theme-canvas-soft);color:var(--theme-ink);font-family:var(--font-sans);font-size:18px;font-weight:500;outline:none;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease;-moz-appearance:textfield}.input-wrap .form-input::-webkit-outer-spin-button,.input-wrap .form-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-wrap .form-input:focus{border-color:var(--color-link);box-shadow:0 0 0 3px var(--color-link-bg-soft);background:var(--theme-canvas)}.input-unit{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:13px;font-weight:500;color:var(--theme-mute);pointer-events:none}.auto-detect-area{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xl) var(--spacing-md);text-align:center}.auto-detect-area:hover .auto-icon{background:var(--theme-canvas);border-color:var(--theme-hairline-strong);color:var(--color-link);box-shadow:var(--shadow-level-3)}.auto-icon{width:72px;height:72px;display:flex;align-items:center;justify-content:center;background:var(--theme-canvas-soft-2);border:1px solid var(--theme-hairline);border-radius:20px;color:var(--theme-ink);box-shadow:var(--shadow-level-2);transition:all .25s ease}.auto-detect-label{color:var(--theme-mute);margin:0}.auto-result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-sm);width:100%;max-width:480px}.auto-stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:var(--spacing-sm);background:var(--theme-canvas-soft-2);border-radius:var(--radius-md);border:1px solid var(--theme-hairline)}.auto-stat-value{font-size:20px;font-weight:700;color:var(--theme-ink);font-family:var(--font-mono)}.auto-stat-label{font-size:10px;font-weight:500;color:var(--theme-mute);text-transform:uppercase;letter-spacing:.3px}.auto-verdict{display:flex;flex-direction:column;align-items:center;gap:4px}.verdict-tier{font-size:16px;font-weight:700;padding:4px 14px;border-radius:var(--radius-pill)}.verdict-label{margin:0;color:var(--theme-mute)}.resolution-row{display:flex;align-items:center;gap:var(--spacing-sm)}.resolution-row .input-wrap{flex:1}.resolution-x{font-size:18px;font-weight:500;color:var(--theme-mute);flex-shrink:0;padding-bottom:2px}.preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.preset-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 8px;border:1px solid var(--theme-hairline);border-radius:var(--radius-md);background:var(--theme-canvas-soft);color:var(--theme-body);font-family:var(--font-sans);cursor:pointer;transition:all .2s ease}.preset-btn:hover{border-color:var(--theme-hairline-strong);background:var(--theme-canvas);color:var(--theme-ink)}.preset-btn.is-active{border-color:var(--color-link);background:var(--color-link-bg-soft);color:var(--color-link)}.preset-value{font-size:13px;font-weight:600;line-height:18px}.preset-label{font-size:10px;font-weight:400;opacity:.7;line-height:14px}.distance-section{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-top:var(--spacing-sm);border-top:1px solid var(--theme-hairline)}.distance-control{display:flex;flex-direction:column;gap:6px}.distance-slider{-webkit-appearance:none;appearance:none;width:100%;height:6px;border-radius:3px;background:var(--theme-canvas-soft-2);outline:none;border:1px solid var(--theme-hairline);transition:background .15s ease}.distance-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--color-link);cursor:pointer;border:2px solid var(--theme-canvas);box-shadow:0 2px 6px #00000026;transition:transform .15s ease}.distance-slider::-webkit-slider-thumb:hover{transform:scale(1.15)}.distance-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--color-link);cursor:pointer;border:2px solid var(--theme-canvas);box-shadow:0 2px 6px #00000026}.distance-labels{display:flex;justify-content:space-between;padding:0 2px}.distance-labels span{font-size:11px;color:var(--theme-mute);text-align:center;line-height:14px;margin:0}.distance-value-wrap{display:flex;align-items:center;justify-content:center;gap:4px;padding:var(--spacing-xs) var(--spacing-sm);background:var(--theme-canvas-soft-2);border-radius:var(--radius-pill);border:1px solid var(--theme-hairline);align-self:center}.distance-value{font-size:18px;font-weight:700;color:var(--theme-ink);font-family:var(--font-mono)}.distance-unit{font-size:12px;font-weight:500;color:var(--theme-mute)}.dpi-presets{display:flex;gap:6px;align-items:center}.dpi-preset-btn{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 14px;border:1px solid var(--theme-hairline);border-radius:var(--radius-md);background:var(--theme-canvas-soft);color:var(--theme-body);font-family:var(--font-sans);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;line-height:18px}.dpi-preset-btn:hover{border-color:var(--theme-hairline-strong);background:var(--theme-canvas);color:var(--theme-ink)}.dpi-preset-btn.is-active{border-color:var(--color-link);background:var(--color-link-bg-soft);color:var(--color-link)}.dpi-preset-label{font-size:9px;font-weight:400;opacity:.6}.dpi-custom-wrap{flex:1;min-width:80px}.dpi-custom-wrap .form-input{height:44px;font-size:15px;text-align:center;padding-right:var(--spacing-sm)}.print-size-presets{display:flex;flex-direction:column;gap:var(--spacing-sm)}.print-preset-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.compare-hint{color:var(--theme-mute);margin:0;text-align:center}.compare-devices{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.compare-device-card{flex:1;min-width:200px;display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--theme-canvas-soft);border:1px solid var(--theme-hairline);border-radius:var(--radius-lg);transition:border-color .2s ease}.compare-device-card:hover{border-color:var(--theme-hairline-strong)}.compare-device-header{display:flex;align-items:center;justify-content:space-between}.compare-device-label{font-size:12px;font-weight:600;color:var(--theme-mute);text-transform:uppercase;letter-spacing:.3px}.compare-remove-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:none;border-radius:50%;background:var(--theme-canvas-soft-2);color:var(--theme-mute);cursor:pointer;transition:all .15s ease}.compare-remove-btn:hover{background:var(--color-error-soft);color:var(--color-error)}.compare-res-row{display:flex;align-items:center;gap:6px}.compare-res-row .input-wrap{flex:1}.compare-res-row .form-input{height:40px;font-size:14px;padding-right:36px}.compare-result{display:flex;align-items:baseline;justify-content:center;gap:4px;padding:var(--spacing-sm);background:var(--theme-canvas-soft-2);border-radius:var(--radius-md);border:1px solid var(--theme-hairline)}.compare-ppi-value{font-size:24px;font-weight:700;color:var(--theme-ink);font-family:var(--font-mono)}.compare-ppi-label{font-size:12px;font-weight:500;color:var(--theme-mute);text-transform:uppercase}.results-section{margin-top:var(--spacing-sm);padding:var(--spacing-lg);background:linear-gradient(135deg,var(--theme-canvas-soft-2),var(--theme-canvas-soft));border-radius:var(--radius-lg);border:1px solid var(--theme-hairline)}.results-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.results-display,.results-print{display:flex;flex-direction:column;gap:var(--spacing-md);animation:fade-in .25s ease}.result-primary{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.ppi-gauge{width:100%;max-width:400px;height:8px;background:var(--theme-canvas-soft-2);border-radius:4px;overflow:hidden;border:1px solid var(--theme-hairline)}.ppi-gauge-fill{height:100%;width:0%;border-radius:4px;background:linear-gradient(90deg,var(--color-gradient-develop-start),var(--color-gradient-develop-end),var(--color-gradient-preview-start),var(--color-gradient-preview-end));transition:width .4s cubic-bezier(.16,1,.3,1)}.ppi-value-group{display:flex;align-items:baseline;gap:6px}.ppi-value{font-size:56px;font-weight:700;letter-spacing:-2.24px;color:var(--theme-ink);font-family:var(--font-sans);line-height:1}.ppi-unit{font-size:18px;font-weight:500;color:var(--theme-mute)}.ppi-tier{display:flex;justify-content:center}.tier-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 18px;border-radius:var(--radius-pill);font-size:14px;font-weight:600}.tier-standard{background:var(--theme-canvas-soft-2);color:var(--theme-body);border:1px solid var(--theme-hairline)}.tier-retina{background:var(--color-link-bg-soft);color:var(--color-link);border:1px solid transparent}.tier-super{background:var(--color-violet-soft);color:var(--color-violet);border:1px solid transparent}.tier-ultra{background:var(--color-highlight-pink);color:#fff;border:1px solid transparent}.result-details{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-sm)}.result-item{display:flex;flex-direction:column;gap:2px;padding:var(--spacing-sm);background:var(--theme-canvas);border-radius:var(--radius-sm);border:1px solid var(--theme-hairline)}.result-item.highlight-item{background:linear-gradient(135deg,var(--color-link-bg-soft),transparent);border-color:var(--color-link)}.result-item-label{font-size:11px;font-weight:500;color:var(--theme-mute);text-transform:uppercase;letter-spacing:.3px}.result-item-value{font-size:16px;font-weight:600;color:var(--theme-ink)}.result-item-value.mono{font-family:var(--font-mono)}.results-meta{display:grid;grid-template-columns:1fr}.print-result-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-sm)}.results-print .result-item-value{font-family:var(--font-mono);font-size:18px}.ppi-table{display:flex;flex-direction:column;border:1px solid var(--theme-hairline);border-radius:var(--radius-md);overflow:hidden;margin:var(--spacing-lg) 0;font-size:14px}.ppi-table-header{display:grid;grid-template-columns:80px 1fr 80px 120px;gap:var(--spacing-sm);padding:10px var(--spacing-md);background:var(--theme-canvas-soft-2);font-weight:600;color:var(--theme-body);border-bottom:1px solid var(--theme-hairline)}.ppi-table-row{display:grid;grid-template-columns:80px 1fr 80px 120px;gap:var(--spacing-sm);padding:10px var(--spacing-md);background:var(--theme-canvas);color:var(--theme-body);align-items:center}.ppi-table-row:not(:last-child){border-bottom:1px solid var(--theme-hairline)}.ppi-table-row span:nth-child(3){font-weight:600;color:var(--theme-ink);font-family:var(--font-mono)}.ppi-table-row span:first-child{font-weight:600;color:var(--theme-ink)}.ppi-table-row span:nth-child(4){font-size:12px;font-weight:600;padding:2px 10px;border-radius:var(--radius-pill);text-align:center;justify-self:start}.tier-ultra{background:var(--color-highlight-pink);color:#fff}.tier-super{background:var(--color-violet-soft);color:var(--color-violet)}.tier-retina{background:var(--color-link-bg-soft);color:var(--color-link)}.tier-standard{background:var(--theme-canvas-soft-2);color:var(--theme-body)}.article-section{background:var(--theme-canvas);border-top:1px solid var(--theme-hairline);padding-block:var(--spacing-3xl)}.article-inner{max-width:800px}.article-main-title{margin-top:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.article-lead{font-weight:400}.prose h3{margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-sm)}.guide-list{display:flex;flex-direction:column;gap:var(--spacing-sm);padding-left:20px}.guide-list li strong{color:var(--theme-ink)}.faq-mini-list{display:flex;flex-direction:column;margin-top:var(--spacing-lg)}.faq-mini-item{border-bottom:1px solid var(--theme-hairline);overflow:hidden}.faq-mini-q{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) 0;cursor:pointer;font-size:15px;font-weight:500;line-height:22px;color:var(--theme-ink);list-style:none;user-select:none;transition:color .15s ease}.faq-mini-q::-webkit-details-marker{display:none}.faq-mini-q:hover{color:var(--color-link)}.faq-chevron{flex-shrink:0;transition:transform .25s ease;color:var(--theme-mute)}.faq-mini-item[open] .faq-chevron{transform:rotate(180deg)}.faq-mini-a{padding-bottom:var(--spacing-md);animation:fade-in .3s ease}.hidden{display:none!important}@media(max-width:768px){.auto-result-grid,.preset-grid,.print-preset-grid,.result-details,.print-result-grid{grid-template-columns:repeat(2,1fr)}.ppi-table-header,.ppi-table-row{grid-template-columns:60px 1fr 60px 100px;font-size:12px}.dpi-presets{flex-wrap:wrap}.ppi-value{font-size:40px}.compare-device-card{min-width:100%}}@media(max-width:600px){.mode-btn{font-size:12px;padding:8px 12px}.resolution-row{flex-direction:column}.resolution-x{transform:rotate(90deg);padding:4px 0}.auto-result-grid{grid-template-columns:repeat(2,1fr)}.preset-grid{grid-template-columns:1fr 1fr}.preset-btn{padding:8px 6px}.result-details{grid-template-columns:1fr}.print-result-grid{grid-template-columns:1fr 1fr}.ppi-table-header,.ppi-table-row{grid-template-columns:50px 1fr 50px 80px;font-size:11px;gap:4px;padding:8px var(--spacing-sm)}.ppi-value{font-size:32px}.dpi-presets{flex-direction:column}.dpi-custom-wrap{width:100%}.distance-labels span{font-size:10px}}
