#main-header {
position: fixed;
top: 0;
z-index: 1000;
background-color: var(--bg-card);
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
height: 70px;
display: flex;
align-items: center;
left: 50%;
right: auto;
transform: translateX(-50%);
max-width: 1600px;
width: 100%;
}
#main-header .container {
max-width: 1600px;
width: 100%;
margin: 0 auto;
padding: 0 20px;
}
@media (min-width: 769px) {
.container:not(#main-header .container) {
padding-top: 105px !important;
}
}
@media (max-width: 768px) {
.container:not(#main-header .container) {
padding-top: 85px !important;
}
}
@media (min-width: 769px) {
#main-header {
visibility: visible !important;
opacity: 1 !important;
}
#main-header .container,
#main-header .navbar {
display: flex !important;
align-items: center !important;
width: 100% !important;
height: 100% !important;
}
.logo,
.logo a {
display: flex !important;
visibility: visible !important;
opacity: 1 !important;
min-width: 250px !important;
}
.logo-img {
display: block !important;
height: 40px !important;
width: auto !important;
object-fit: contain !important;
flex-shrink: 0 !important;
visibility: visible !important;
}
.logo a {
color: #333 !important;
}
}
#main-header {
background-color: #ffffff;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
height: 60px;
display: flex;
align-items: center;
}
#main-header .container {
width: 100%;
max-width: 1200px;
margin: 0 auto;
padding: 0 20px;
}
#main-header .navbar {
display: flex;
justify-content: center;
align-items: center;
height: 100%;
}
#main-header .logo {
display: flex;
align-items: center;
}
#main-header .logo a {
display: flex;
align-items: center;
text-decoration: none;
color: #333;
font-size: 1.5rem;
font-weight: 600;
gap: 0;
white-space: nowrap;
}
#main-header .logo-img {
height: 40px;
width: auto;
margin-right: 10px;
object-fit: contain;
flex-shrink: 0;
}
#main-header .logo span {
color: #0056b3;
}
.h-24 {
height: 60px;
}
@media (max-width: 768px) {
#main-header { height: 50px; }
#main-header .logo a { font-size: 1.2rem; }
#main-header .logo-img { height: 32px; }
.h-24 { height: 50px; }
}
.kpi-page-header {
text-align: center;
color: white;
margin-bottom: 40px;
margin-top: 20px;
}
.kpi-page-header h1 {
font-size: 2.5rem;
margin-bottom: 10px;
text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}
.kpi-page-header p {
font-size: 1.2rem;
opacity: 0.9;
}
.container {
padding-top: 75px;
}
@media (max-width: 768px) {
.container {
padding-top: 60px;
}
}
* { box-sizing: border-box; }
#interactive-checklist .question-row {
flex-direction: column !important;
align-items: flex-start !important;
gap: 10px !important;
padding: 15px 0 !important;
}
#interactive-checklist .question-options {
display: flex !important;
flex-direction: row !important;
flex-wrap: wrap !important;
margin-top: 5px !important;
margin-left: 0 !important;
width: 100% !important;
justify-content: flex-start;
}
#interactive-checklist .question-options label {
font-size: 0.9rem !important;
margin-right: 15px !important;
margin-left: 0 !important;
white-space: nowrap !important;
flex-shrink: 0;
}
.accordion-content-box {
box-sizing: border-box !important;
width: 100% !important;
max-width: 100% !important;
padding-right: 15px !important;
padding-left: 15px !important;
word-wrap: break-word !important;
overflow-wrap: break-word !important;
overflow-x: hidden !important;
}
.accordion-content-box ul {
padding-right: 0 !important;
padding-left: 0 !important;
margin-left: 0 !important;
list-style-position: inside !important;
}
#bolum-4 strong,
#bolum-4 b,
#bolum-4 .accordion-content-box strong,
#bolum-4 .accordion-content-box b,
#bolum-4 p strong,
#bolum-4 h4 strong,
#bolum-4 .accordion-content-box h4 {
font-weight: 400 !important;
}
#bolum-4 .solution-list strong {
font-weight: 400 !important;
}
#bolum-4 .accordion-header .accordion-title {
font-weight: 600 !important;
}
.accordion-item-content-grid {
grid-template-columns: 1fr !important;
display: grid !important;
gap: 15px !important;
margin-top: 15px !important;
}
.accordion-content-box {
width: 100% !important;
max-width: 100% !important;
box-sizing: border-box !important;
word-wrap: break-word !important;
overflow-wrap: break-word !important;
overflow-x: hidden !important;
}
.accordion-content-box ul,
.accordion-content-box li {
width: 100% !important;
box-sizing: border-box !important;
overflow-wrap: break-word !important;
word-wrap: break-word !important;
}
@media (min-width: 581px) {
.section-8-2-wrapper {
overflow-x: visible !important;
padding-bottom: 0 !important;
display: block !important;
width: 100% !important;
}
.section-8-2.concept-item-grid {
display: flex !important;
justify-content: space-between !important;
align-items: stretch !important;
gap: 20px !important;
flex-direction: row !important;
flex-wrap: wrap !important;
min-width: unset !important;
width: 100% !important;
margin-top: 20px !important;
}
.section-8-2 .concept-item-card {
flex: 1 1 calc(50% - 10px) !important;
min-width: 250px !important;
max-width: unset !important;
width: auto !important;
flex-shrink: 1 !important;
margin-bottom: 0 !important;
}
}
.mobile-stack-wrapper {
display: flex;
flex-direction: column;
gap: 15px;
}
.stack-opt-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 20px;
box-shadow: 0 4px 12px rgba(0,0,0,0.03);
transition: all 0.2s ease;
border-left: 4px solid var(--primary);
width: 100%;
box-sizing: border-box;
}
.stack-opt-card h4 {
margin-top: 0;
font-size: 1.1rem;
color: var(--text-main);
margin-bottom: 10px;
display: flex;
align-items: center;
gap: 10px;
}
.stack-opt-card h4 i {
font-size: 1.3rem;
color: var(--warning);
}
.stack-opt-card.priority-critical { border-left-color: var(--danger); }
.stack-opt-card.priority-critical h4 i { color: var(--danger); }
.stack-opt-card.priority-important { border-left-color: var(--warning); }
.stack-opt-card.priority-important h4 i { color: var(--warning); }
.stack-opt-card.priority-optional { border-left-color: var(--success); }
.stack-opt-card.priority-optional h4 i { color: var(--success); }
@media (max-width: 580px) {
.section-5-3 {
width: 100% !important;
max-width: 100% !important;
overflow-x: auto !important;
box-sizing: border-box !important;
padding-bottom: 10px !important;
}
.section-5-3 .code-snippet {
width: 100% !important;
max-width: 100% !important;
min-width: 100% !important;
overflow-x: auto !important;
overflow-y: hidden !important;
white-space: pre !important;
-webkit-overflow-scrolling: touch !important;
display: block !important;
box-sizing: border-box !important;
}
.section-5-3 .code-snippet code {
white-space: pre !important;
display: inline-block !important;
min-width: max-content !important;
overflow-x: auto !important;
}
.section-5-3 .tool-section-card,
.section-5-3 .technical-table-card {
width: 100% !important;
max-width: 100% !important;
overflow-x: auto !important;
box-sizing: border-box !important;
}
.section-8-2-wrapper {
width: 100% !important;
max-width: 100% !important;
box-sizing: border-box !important;
overflow-x: auto !important;
overflow-y: hidden !important;
-webkit-overflow-scrolling: touch;
padding-bottom: 10px;
}
.section-8-2.concept-item-grid {
display: flex !important;
flex-direction: row !important;
flex-wrap: nowrap !important;
gap: 20px !important;
min-width: max-content;
margin-top: 0 !important;
padding: 0 !important;
}
.section-8-2 .concept-item-card {
min-width: 300px !important;
max-width: none !important;
width: 300px !important;
flex-shrink: 0 !important;
box-sizing: border-box !important;
overflow-wrap: break-word !important;
word-wrap: break-word !important;
}
#bolum-9 h3.subsection-title:nth-of-type(2) ~ .summary-card-grid {
justify-items: flex-start !important;
justify-content: flex-start !important;
width: calc(100% - 20px) !important;
max-width: calc(100% - 20px) !important;
margin-left: 20px !important;
padding-right: 20px !important;
box-sizing: border-box !important;
}
#bolum-9 h3.subsection-title:nth-of-type(2) ~ .summary-card-grid .summary-card {
width: 100% !important;
max-width: 100% !important;
box-sizing: border-box !important;
}
.section-11-4 .technical-table-card {
width: 100% !important;
max-width: 100% !important;
min-width: 100% !important;
overflow-x: auto !important;
-webkit-overflow-scrolling: touch;
scrollbar-width: thin;
scrollbar-color: var(--primary) var(--border);
box-sizing: border-box !important;
padding-bottom: 10px !important;
}
.section-11-4 .technical-grid-table {
min-width: max-content !important;
width: auto !important;
overflow-x: auto !important;
}
.section-11-4 .technical-row {
min-width: max-content !important;
}
.section-11-4 .technical-row-item {
white-space: normal !important;
word-wrap: break-word !important;
overflow-wrap: break-word !important;
}
.section-11-4 .tool-section-card h5 {
width: 100% !important;
max-width: 100% !important;
box-sizing: border-box !important;
}
.section-11-4 .tool-section-card h5 ~ ul {
display: block !important;
overflow-x: auto !important;
-webkit-overflow-scrolling: touch;
scrollbar-width: thin;
scrollbar-color: var(--primary) var(--border);
width: 100% !important;
min-width: min-content !important;
max-width: none !important;
padding: 20px !important;
background: var(--bg-card) !important;
border: 1px solid var(--border) !important;
border-radius: var(--radius) !important;
margin: 15px 0 !important;
box-sizing: border-box !important;
}
.section-11-4 .tool-section-card h5 ~ ul li {
white-space: normal !important;
word-wrap: break-word !important;
overflow-wrap: break-word !important;
min-width: max-content !important;
}
.concept-item-card,
.conclusion-summary-box,
.technical-table-card,
.tool-section-card,
.summary-card,
.detail-info-card {
width: 100% !important;
max-width: 100% !important;
overflow-x: visible !important;
overflow-y: visible !important;
box-sizing: border-box !important;
word-wrap: break-word !important;
overflow-wrap: break-word !important;
}
.code-snippet {
width: 100% !important;
max-width: 100% !important;
overflow-x: auto !important;
white-space: pre !important;
word-wrap: normal !important;
box-sizing: border-box !important;
}
.concept-item-grid,
.summary-card-grid,
.detail-info-grid {
grid-template-columns: 1fr !important;
gap: 15px !important;
}
.section-5-3::-webkit-scrollbar,
.section-8-2-wrapper::-webkit-scrollbar,
.section-11-4 .technical-table-card::-webkit-scrollbar,
.section-11-4 .tool-section-card h5 ~ ul::-webkit-scrollbar {
height: 8px;
}
.section-5-3::-webkit-scrollbar-track,
.section-8-2-wrapper::-webkit-scrollbar-track,
.section-11-4 .technical-table-card::-webkit-scrollbar-track,
.section-11-4 .tool-section-card h5 ~ ul::-webkit-scrollbar-track {
background: var(--border);
border-radius: 4px;
}
.section-5-3::-webkit-scrollbar-thumb,
.section-8-2-wrapper::-webkit-scrollbar-thumb,
.section-11-4 .technical-table-card::-webkit-scrollbar-thumb,
.section-11-4 .tool-section-card h5 ~ ul::-webkit-scrollbar-thumb {
background: var(--primary);
border-radius: 4px;
}
.section-5-3::-webkit-scrollbar-thumb:hover,
.section-8-2-wrapper::-webkit-scrollbar-thumb:hover,
.section-11-4 .technical-table-card::-webkit-scrollbar-thumb:hover,
.section-11-4 .tool-section-card h5 ~ ul::-webkit-scrollbar-thumb:hover {
background: var(--success);
}
}
:root {
--primary: #2563eb;
--primary-light: #eff6ff;
--secondary: #475569;
--success: #10b981;
--success-bg: #d1fae5;
--warning: #f59e0b;
--warning-bg: #fef3c7;
--danger: #ef4444;
--danger-bg: #fee2e2;
--bg-body: #f8fafc;
--bg-card: #ffffff;
--border: #e2e8f0;
--purple: #7c3aed;
--purple-light: #ede9fe;
--brown: #b45309;
--brown-light: #fff7ed;
--text-main: #0f172a;
--text-muted: #64748b;
--radius: 12px;
--font-main: 'Inter', system-ui, sans-serif;
}
html {
scroll-behavior: smooth;
min-height: 100%;
max-width: 100%;
overflow-x: clip;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
}
body {
font-family: var(--font-main);
background-color: var(--bg-body);
color: var(--text-main);
margin: 0;
line-height: 1.6;
min-height: 100%;
overflow-x: clip;
overflow-y: visible;
touch-action: pan-y pinch-zoom;
}
.container {
max-width: 1600px;
width: 100%;
box-sizing: border-box;
overflow: visible;
padding: 0 20px;
margin: 0 auto;
min-height: 0;
}
.main-content {
padding: 40px 60px;
min-width: 0;
background-color: var(--bg-card);
overflow: visible;
touch-action: pan-y pinch-zoom;
}
.hero-section {
background: transparent;
border-radius: 0;
padding: 0;
margin-bottom: 50px;
box-shadow: none;
position: relative;
overflow: visible;
display: flex;
align-items: center;
gap: 50px;
max-width: 1400px;
margin-left: auto;
margin-right: auto;
touch-action: pan-y pinch-zoom;
}
.hero-banner-wrapper,
.hero-content,
.hero-banner,
.hero-title,
.hero-description,
.hero-features,
.hero-feature-item {
touch-action: pan-y pinch-zoom;
}
.hero-banner-wrapper {
flex: 0 0 auto;
position: relative;
z-index: 1;
display: flex;
justify-content: flex-start;
align-items: center;
background: transparent;
padding: 0;
}
.hero-banner {
width: 100%;
max-width: 500px;
height: auto;
max-height: 400px;
object-fit: contain;
border-radius: 0;
box-shadow: none;
background: transparent;
padding: 0;
transition: transform 0.3s ease;
display: block;
filter: none;
}
.hero-banner:hover {
transform: scale(1.05);
}
.hero-content {
flex: 1;
text-align: left;
position: relative;
z-index: 1;
padding-top: 0;
margin-top: 0;
}
.hero-badge {
display: inline-flex;
align-items: center;
gap: 8px;
background: var(--primary);
color: white;
padding: 10px 20px;
border-radius: 50px;
font-size: 0.9rem;
font-weight: 600;
margin-bottom: 25px;
box-shadow: 0 4px 12px rgba(37, 99, 235, 0.3);
animation: fadeInDown 0.6s ease;
}
.hero-badge i {
font-size: 1rem;
}
.hero-title {
margin: 0 0 20px 0;
line-height: 1.2;
}
.hero-title-main {
display: block;
font-size: 2.8rem;
font-weight: 800;
background: linear-gradient(135deg, var(--primary) 0%, var(--success) 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
background-clip: text;
margin-bottom: 10px;
animation: fadeInUp 0.6s ease 0.2s both;
}
.hero-title-sub {
display: block;
font-size: 2rem;
font-weight: 700;
color: var(--text-main);
animation: fadeInUp 0.6s ease 0.4s both;
}
.hero-description {
font-size: 1.15rem;
color: var(--text-muted);
line-height: 1.8;
max-width: 100%;
margin: 0 0 30px 0;
animation: fadeInUp 0.6s ease 0.6s both;
}
.hero-features {
display: flex;
justify-content: center;
gap: 30px;
flex-wrap: wrap;
animation: fadeInUp 0.6s ease 0.8s both;
}
.hero-feature-item {
display: flex;
align-items: center;
gap: 10px;
color: var(--text-main);
font-weight: 500;
font-size: 1rem;
}
.hero-feature-item i {
color: var(--success);
font-size: 1.2rem;
}
@keyframes fadeInDown {
from {
opacity: 0;
transform: translateY(-20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translateY(20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
@media (max-width: 768px) {
.hero-section {
flex-direction: column;
gap: 30px;
padding: 0;
margin-bottom: 35px;
}
.hero-banner-wrapper {
width: 100%;
justify-content: center;
}
.hero-banner {
max-width: 100%;
max-height: 280px;
padding: 0;
}
.hero-content {
text-align: center;
}
.hero-features {
justify-content: center;
}
.hero-title-main {
font-size: 2rem;
}
.hero-title-sub {
font-size: 1.5rem;
}
.hero-description {
font-size: 1rem;
}
.hero-features {
gap: 20px;
flex-direction: column;
align-items: center;
}
}
@media (max-width: 480px) {
.hero-section {
padding: 25px 20px;
margin-bottom: 25px;
}
.hero-banner {
max-height: 200px;
padding: 0;
}
.hero-title-main {
font-size: 1.6rem;
}
.hero-title-sub {
font-size: 1.2rem;
}
.hero-description {
font-size: 0.95rem;
}
.hero-badge {
padding: 8px 16px;
font-size: 0.85rem;
}
}
.content-section {
border-radius: var(--radius);
background: var(--bg-card);
box-shadow: 0 10px 25px rgba(15, 23, 42, 0.08);
margin-bottom: 32px;
overflow: visible;
transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.content-section.expanded {
box-shadow: 0 16px 40px rgba(15, 23, 42, 0.18);
transform: translateY(-2px);
}
.content-section .section-title {
position: relative;
}
.content-section .section-title.collapsible-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
cursor: pointer;
user-select: none;
padding-right: 16px;
transition: color 0.2s ease, background 0.2s ease, padding-left 0.2s ease;
}
.content-section .section-title.collapsible-header:focus-visible {
outline: 2px solid var(--primary);
outline-offset: 3px;
}
.content-section .section-title.collapsible-header:hover {
background: rgba(59, 130, 246, 0.04);
padding-left: 8px;
}
.section-toggle-icon {
flex-shrink: 0;
width: 24px;
height: 24px;
border-radius: 999px;
border: 1px solid rgba(148, 163, 184, 0.6);
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 0.75rem;
color: var(--secondary);
background: #f9fafb;
box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.content-section.expanded .section-toggle-icon {
transform: rotate(180deg);
background: var(--primary);
color: #fff;
border-color: transparent;
box-shadow: 0 4px 10px rgba(37, 99, 235, 0.4);
}
.section-collapsible {
overflow: hidden;
max-height: 0;
opacity: 0;
transform: translateY(-4px);
padding: 0 25px;
transition:
max-height 0.5s cubic-bezier(0.22, 1, 0.36, 1),
opacity 0.4s ease,
transform 0.4s ease,
padding 0.4s ease;
}
.content-section.expanded .section-collapsible {
max-height: none !important;
opacity: 1;
transform: translateY(0);
padding: 0 25px 25px 25px;
overflow: visible;
}
.content-section.collapsed .section-collapsible {
pointer-events: none;
}
.opt-detail-block:not(.active),
.accordion-content:not([data-visible="true"]),
.subsection-content:not(.subsection-content-expanded) {
pointer-events: none !important;
}
.opt-detail-block.active,
.accordion-content[data-visible="true"],
.subsection-content.subsection-content-expanded {
pointer-events: auto;
}
#bolum-6 .opt-detail-block:not(.active) {
margin: 0 !important;
padding: 0 !important;
border: none !important;
}
.component-card.opt-card-collapsible {
position: relative;
z-index: 2;
}
.component-card.opt-card-collapsible > i,
.component-card.opt-card-collapsible > h4,
.component-card.opt-card-collapsible > p,
.accordion-header .accordion-title,
.accordion-header .accordion-icon,
.section-toggle-icon {
pointer-events: none;
}
.code-snippet,
.section-5-3,
.section-8-2-wrapper,
.section-11-4 .technical-table-card,
.section-11-4 .tool-section-card h5 ~ ul,
.nav-scroll-area {
touch-action: pan-x pan-y;
-webkit-overflow-scrolling: touch;
}
.color-semantics span { padding: 5px 10px; border-radius: 6px; font-weight: 500; margin-right: 8px; display: inline-flex; align-items: center; gap: 5px; }
.tool-card-no-bg { padding: 25px; background: var(--bg-card); border-left: 5px solid var(--primary); border-radius: var(--radius); box-shadow: 0 4px 10px rgba(0,0,0,0.05); margin-bottom: 25px; }
.code-snippet {
background-color: #2d2d2d;
color: #f8f8f2;
border-radius: var(--radius);
padding: 25px 20px 15px 20px;
margin: 25px 0;
overflow-x: auto;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
font-family: 'Fira Code', 'Consolas', 'Monaco', monospace;
font-size: 0.9rem;
line-height: 1.5;
box-shadow: 0 4px 15px rgba(0,0,0,0.2);
position: relative;
word-wrap: normal;
white-space: pre;
max-width: 100%;
}
.code-snippet::before {
content: 'Code Example';
position: absolute;
top: 0px;
left: 20px;
font-size: 0.75rem;
color: #bbb;
background-color: #2d2d2d;
padding: 2px 8px;
border-bottom-left-radius: 5px;
border-bottom-right-radius: 5px;
}
.code-snippet code {
display: block;
white-space: pre;
word-wrap: normal;
overflow-x: auto;
max-width: 100%;
}
.opt-step-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
margin-top: 30px;
}
.opt-step-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 25px;
border-left: 5px solid var(--primary);
transition: transform 0.2s, box-shadow 0.2s;
position: relative;
overflow: hidden;
}
.opt-step-card:hover { transform: translateY(-5px); box-shadow: 0 10px 20px rgba(0,0,0,0.08); }
.opt-step-card .step-number {
position: absolute;
top: 25px;
right: 25px;
font-size: 2.2rem;
font-weight: 800;
color: var(--primary-light);
opacity: 0.6;
line-height: 1;
}
.opt-step-card h4 {
margin-top: 0;
margin-bottom: 15px;
color: var(--primary);
font-size: 1.3rem;
position: relative;
z-index: 1;
}
.opt-step-card ul {
padding-left: 20px;
margin-bottom: 0;
}
.opt-step-card li {
margin-bottom: 8px;
font-size: 0.9rem;
color: var(--text-muted);
}
.calc-btn {
display: inline-block;
background-color: var(--primary);
color: white;
padding: 14px 30px;
border-radius: var(--radius);
text-decoration: none;
font-weight: 600;
font-size: 1.1rem;
border: none;
cursor: pointer;
transition: background-color 0.3s ease, transform 0.2s ease;
box-shadow: 0 5px 15px rgba(37, 99, 235, 0.3);
margin-top: 30px;
}
.calc-btn:hover {
background-color: #1e40af;
transform: translateY(-2px);
box-shadow: 0 8px 20px rgba(37, 99, 235, 0.4);
}
.carousel-container {
position: relative;
width: 100%;
max-width: 900px;
height: 600px;
margin: 20px auto 40px;
overflow: hidden;
border-radius: var(--radius);
box-shadow: 0 8px 25px rgba(0,0,0,0.1);
background: var(--bg-body);
}
.carousel-slide-wrapper {
display: flex;
width: 100%;
height: 100%;
transition: transform 0.5s ease-in-out;
cursor: grab;
}
.carousel-slide {
min-width: 100%;
width: 100%;
height: 100%;
flex-shrink: 0;
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
padding: 10px;
}
.carousel-slide img {
width: 100%;
height: 100%;
max-width: 100%;
max-height: 100%;
object-fit: contain;
display: block;
border-radius: var(--radius);
}
img {
max-width: 100%;
height: auto;
display: block;
}
.carousel-slide img {
max-width: 100%;
max-height: 100%;
}
@media (max-width: 768px) {
.carousel-container {
height: 450px;
max-width: 100%;
}
}
@media (max-width: 480px) {
.carousel-container {
height: 350px;
}
}
.carousel-nav-btn {
position: absolute;
top: 50%;
transform: translateY(-50%);
background: rgba(0, 0, 0, 0.6);
color: white;
border: none;
padding: 12px 15px;
cursor: pointer;
z-index: 10;
font-size: 1.5rem;
border-radius: 5px;
opacity: 0.8;
transition: opacity 0.3s, background 0.3s;
}
.carousel-nav-btn:hover {
opacity: 1;
background: rgba(0, 0, 0, 0.8);
}
.prev-btn { left: 10px; }
.next-btn { right: 10px; }
.carousel-container.dragging .carousel-slide-wrapper {
cursor: grabbing;
transition: none;
}
.technical-table-card {
border: 1px solid var(--border);
border-radius: var(--radius);
margin-top: 15px;
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
overflow: hidden;
}
.technical-grid-table {
display: grid;
grid-template-columns: 1.5fr 3fr 1.5fr;
align-items: center;
}
.technical-row {
padding: 15px;
border-bottom: 1px solid var(--border);
background: var(--bg-card);
}
.technical-row:nth-child(even) {
background-color: var(--bg-body);
}
.technical-header .technical-row {
font-weight: 600;
color: white;
background-color: var(--secondary);
border-bottom: none;
padding: 10px 15px;
}
.technical-row-item {
font-size: 0.95rem;
padding: 5px 10px;
box-sizing: border-box;
}
.metric-v { font-weight: 700; text-align: center; }
.result-v { font-weight: 500; text-align: right; }
.metric-col.lcp { color: var(--danger); }
.metric-col.inp { color: var(--warning); }
.metric-col.cls { color: var(--success); }
.interactive-test-wrapper {
background: #fff;
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 30px;
box-shadow: 0 4px 15px rgba(0,0,0,0.05);
margin-top: 40px;
border-top: 5px solid var(--primary);
}
.question-row {
display: flex;
justify-content: space-between;
align-items: flex-start;
padding: 15px 0;
border-bottom: 1px dashed var(--border);
}
.question-row:last-child { border-bottom: none; }
.question-options label {
margin-left: 18px;
cursor: pointer;
font-size: 0.9rem;
color: var(--secondary);
transition: color 0.2s;
}
.question-options label:hover { color: var(--primary); }
.question-options input[type="radio"] {
margin-right: 5px;
accent-color: var(--primary);
}
.results-box {
margin-top: 25px;
padding: 30px;
background: #f0fdf4;
border: 2px solid var(--success);
border-radius: var(--radius);
text-align: center;
box-shadow: 0 6px 20px rgba(34, 197, 94, 0.2);
}
.results-box h4 {
margin: 0;
font-size: 1.8rem;
color: var(--success);
}
.results-box #final-score {
font-weight: 800;
color: var(--success);
}
.results-box .score-progress-bar {
height: 12px;
background: var(--border);
margin: 20px 0;
border-radius: 6px;
overflow: hidden;
}
.results-box #score-bar-fill {
height: 100%;
width: 0%;
background: var(--success);
transition: width 1.5s cubic-bezier(0.22, 1, 0.36, 1);
}
.results-box #score-status {
font-weight: 700;
font-size: 1.1rem;
color: var(--text-muted);
margin-bottom: 0;
}
.checklist-table .priority-critical {
background-color: var(--danger-bg);
color: var(--danger);
}
.checklist-table .priority-important {
background-color: var(--warning-bg);
color: var(--warning);
}
.checklist-table .priority-optional {
background-color: var(--success-bg);
color: var(--success);
}
.page-speed-table .score-bad td { color: #dc2626; background-color: #fef2f2; }
.page-speed-table .score-mid td { color: #d97706; background-color: #fffbeb; }
.page-speed-table .score-good td { color: #16a34a; background-color: #f0fdf4; }
.gtmetrix-waterfall-table th {
background: var(--secondary);
}
.gtmetrix-waterfall-table td {
font-size: 0.9rem;
}
@media (max-width: 600px) {
.main-content { padding: 20px; }
h1 { font-size: 1.8rem; }
h2.section-title { font-size: 1.5rem; }
h3 { font-size: 1.2rem; }
.question-row { flex-direction: column; align-items: flex-start; }
.question-options { margin-top: 10px; margin-left: 0; }
.question-options label { margin-left: 0; margin-right: 15px; }
.calc-btn { width: 100%; padding: 12px 20px; font-size: 1rem; }
.results-box { padding: 20px; }
.results-box h4 { font-size: 1.5rem; }
}
.accordion-container {
margin-top: 30px;
border-radius: var(--radius);
overflow: hidden;
border: 1px solid var(--border);
box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.accordion-item {
border-bottom: 1px solid var(--border);
}
.accordion-item:last-child {
border-bottom: none;
}
.accordion-header {
width: 100%;
background-color: var(--bg-card);
padding: 20px 25px;
text-align: left;
border: none;
cursor: pointer;
font-size: 1.1rem;
font-weight: 600;
color: var(--text-main);
display: flex;
justify-content: space-between;
align-items: center;
transition: background-color 0.3s ease;
}
.accordion-header:hover {
background-color: var(--primary-light);
color: var(--primary);
}
.accordion-header .accordion-title {
display: flex;
align-items: center;
gap: 15px;
}
.accordion-header .accordion-title i {
font-size: 1.4rem;
color: var(--primary);
transition: color 0.3s ease;
}
.accordion-header:hover .accordion-title i {
color: var(--primary);
}
.accordion-icon {
font-size: 1rem;
transition: transform 0.3s ease;
color: var(--secondary);
}
.accordion-header[aria-expanded="true"] .accordion-icon {
transform: rotate(180deg);
color: var(--primary);
}
.accordion-content {
max-height: 0;
overflow: hidden;
transition: max-height 0.4s ease-out, padding 0.4s ease-out;
background-color: var(--bg-body);
padding: 0 25px;
}
.accordion-content[data-visible="true"] {
padding: 25px;
}
.accordion-item-content-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
margin-top: 15px;
}
.accordion-content-box {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 20px;
box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}
.accordion-content-box h4 {
margin-top: 0;
font-size: 1.1rem;
color: var(--primary);
border-bottom: 2px solid var(--primary-light);
padding-bottom: 10px;
margin-bottom: 15px;
}
.accordion-content-box ul {
list-style: none;
padding-left: 0;
}
.accordion-content-box li {
margin-bottom: 8px;
font-size: 0.9rem;
color: var(--text-muted);
display: flex;
align-items: flex-start;
gap: 10px;
}
.accordion-content-box li::before {
content: "•";
color: var(--primary);
font-weight: 700;
flex-shrink: 0;
vertical-align: top;
}
.summary-card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 25px;
margin-top: 30px;
margin-bottom: 40px;
}
.summary-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 30px;
box-shadow: 0 8px 20px rgba(0,0,0,0.04);
display: flex;
flex-direction: column;
align-items: flex-start;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.summary-card:hover {
transform: translateY(-5px);
box-shadow: 0 12px 25px rgba(0,0,0,0.08);
}
.summary-card .icon-large {
font-size: 3rem;
color: var(--primary);
margin-bottom: 20px;
}
.summary-card h3 {
font-size: 1.4rem;
color: var(--text-main);
margin-top: 0;
margin-bottom: 15px;
line-height: 1.3;
}
.summary-card p {
font-size: 0.95rem;
color: var(--text-muted);
line-height: 1.7;
}
.summary-card ul {
list-style: none;
padding-left: 0;
margin-top: 15px;
}
.summary-card ul li {
font-size: 0.9rem;
color: var(--secondary);
margin-bottom: 8px;
display: flex;
align-items: center;
gap: 10px;
}
.summary-card ul li i {
color: var(--success);
font-size: 1rem;
}
.highlight-box.warning {
background-color: var(--warning-bg);
border-left: 4px solid var(--warning);
padding: 15px 20px;
border-radius: var(--radius);
margin-top: 20px;
color: var(--warning);
}
.highlight-box.warning strong { color: var(--warning); }
.highlight-box.warning ul { list-style: disc; padding-left: 20px; margin-top: 10px; }
.highlight-box.warning li { color: var(--warning); }
.team-card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 20px;
margin-top: 25px;
margin-bottom: 30px;
}
.team-card {
background: var(--primary-light);
border-radius: var(--radius);
padding: 20px;
text-align: center;
box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}
.team-card i {
font-size: 2.5rem;
color: var(--primary);
margin-bottom: 10px;
}
.team-card h5 {
margin: 0;
font-size: 0.95rem;
color: var(--primary);
font-weight: 600;
}
.guide-feature-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 20px;
margin-top: 25px;
margin-bottom: 30px;
}
.guide-feature-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 20px;
display: flex;
align-items: flex-start;
gap: 15px;
box-shadow: 0 2px 8px rgba(0,0,0,0.03);
transition: transform 0.2s ease;
}
.guide-feature-card:hover {
transform: translateY(-3px);
box-shadow: 0 6px 15px rgba(0,0,0,0.06);
}
.guide-feature-card i {
font-size: 1.8rem;
color: var(--success);
flex-shrink: 0;
}
.guide-feature-card p {
margin: 0;
font-size: 0.95rem;
color: var(--text-main);
font-weight: 500;
}
.conclusion-summary-box {
background: var(--primary-light);
border-left: 5px solid var(--primary);
border-radius: var(--radius);
padding: 25px;
margin-top: 40px;
box-shadow: 0 6px 15px rgba(37, 99, 235, 0.1);
}
.conclusion-summary-box p {
margin-top: 0;
font-size: 1rem;
color: var(--text-main);
font-weight: 600;
}
.conclusion-summary-box ul {
list-style: none;
padding-left: 0;
margin-bottom: 0;
}
.conclusion-summary-box ul li {
font-size: 0.95rem;
color: var(--secondary);
margin-bottom: 8px;
display: flex;
align-items: center;
gap: 10px;
}
.conclusion-summary-box ul li i {
color: var(--primary);
font-size: 1.1rem;
flex-shrink: 0;
}
.component-card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 20px;
margin-top: 30px;
margin-bottom: 30px;
}
.component-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 25px 25px 20px 25px;
box-shadow: 0 4px 12px rgba(0,0,0,0.03);
text-align: center;
transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease, background 0.2s ease;
position: relative;
cursor: pointer;
}
.component-card:hover {
transform: translateY(-5px);
box-shadow: 0 8px 18px rgba(0,0,0,0.08);
}
.component-card i {
font-size: 2.5rem;
color: var(--primary);
margin-bottom: 15px;
}
.component-card h4 {
margin-top: 0;
margin-bottom: 10px;
font-size: 1.1rem;
color: var(--text-main);
}
.component-card p {
font-size: 0.85rem;
color: var(--text-muted);
}
#bolum-6 .component-card-grid {
display: block !important;
margin-top: 25px;
}
#bolum-6 .component-card {
width: 100%;
margin-bottom: 18px;
cursor: pointer;
position: relative;
padding-right: 50px;
}
#bolum-6 .opt-detail-block {
width: 100%;
display: block;
margin-left: 0;
margin-right: 0;
transition: background-color 0.2s;
}
.subsection-title {
position: relative;
cursor: pointer;
user-select: none;
padding: 15px 20px;
margin: 20px 0 0 0;
border-radius: var(--radius);
background: var(--bg-card);
border: 1px solid var(--border);
transition: all 0.3s ease;
display: flex;
align-items: center;
justify-content: space-between;
gap: 15px;
width: 100%;
box-sizing: border-box;
-webkit-tap-highlight-color: rgba(37, 99, 235, 0.12);
}
.subsection-title:hover {
background: var(--primary-light);
border-color: var(--primary);
transform: translateX(4px);
}
.subsection-title.subsection-expanded {
border-bottom-left-radius: 0;
border-bottom-right-radius: 0;
border-bottom: none;
margin-bottom: 0;
}
.subsection-toggle-icon {
flex-shrink: 0;
width: 24px;
height: 24px;
border-radius: 999px;
border: 1px solid rgba(148, 163, 184, 0.6);
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 0.75rem;
color: var(--secondary);
background: #f9fafb;
box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.subsection-title.subsection-expanded .subsection-toggle-icon {
transform: rotate(180deg);
background: var(--primary);
color: #fff;
border-color: transparent;
box-shadow: 0 4px 10px rgba(37, 99, 235, 0.4);
}
.subsection-content {
max-height: 0;
overflow: hidden;
opacity: 0;
padding: 0 20px;
margin: 0;
border: 1px solid var(--border);
border-top: none;
border-radius: 0 0 var(--radius) var(--radius);
background: var(--bg-card);
transition: max-height 0.4s cubic-bezier(0.22, 1, 0.36, 1),
opacity 0.3s ease,
padding 0.4s ease;
}
.subsection-content.subsection-content-expanded {
max-height: none !important;
opacity: 1;
padding: 25px 20px;
margin-bottom: 20px;
overflow: visible;
}
.subsection-content {
transition: max-height 0.5s cubic-bezier(0.22, 1, 0.36, 1),
opacity 0.4s ease,
padding 0.4s ease;
}
.section-hero-image {
width: 100%;
max-width: 750px;
height: auto;
max-height: 450px;
display: block;
margin: 25px auto;
border-radius: 16px;
overflow: hidden;
box-shadow: 0 10px 30px rgba(0,0,0,0.1), 0 4px 12px rgba(0,0,0,0.06);
background: var(--bg-card);
border: 1px solid var(--border);
padding: 12px;
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
position: relative;
text-align: center;
}
.section-hero-image::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, var(--primary), var(--success), var(--warning));
border-radius: 16px 16px 0 0;
}
.section-hero-image:hover {
transform: translateY(-4px);
box-shadow: 0 16px 40px rgba(0,0,0,0.15), 0 6px 16px rgba(0,0,0,0.1);
}
.section-hero-image img,
.subsection-hero-image img {
width: 100%;
height: auto;
border-radius: 12px;
display: block;
margin: 0 auto;
object-fit: contain;
}
.subsection-hero-image {
width: 100%;
max-width: 680px;
height: auto;
max-height: 400px;
display: block;
margin: 20px auto;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 6px 20px rgba(0,0,0,0.08), 0 2px 8px rgba(0,0,0,0.04);
background: var(--bg-card);
border: 1px solid var(--border);
padding: 10px;
transition: all 0.3s ease;
position: relative;
text-align: center;
}
.subsection-hero-image::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg, transparent, var(--primary), transparent);
opacity: 0;
transition: opacity 0.3s ease;
}
.subsection-hero-image:hover {
transform: translateY(-3px);
box-shadow: 0 10px 28px rgba(0,0,0,0.12), 0 4px 12px rgba(0,0,0,0.06);
border-color: var(--primary);
}
.subsection-hero-image:hover::after {
opacity: 1;
}
.subsection-hero-image img {
width: 100%;
height: auto;
border-radius: 8px;
display: block;
margin: 0 auto;
object-fit: contain;
}
.subsection-image-container {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 20px;
margin: 25px auto;
padding: 0;
max-width: 1000px;
justify-items: center;
}
.subsection-image-container .image-wrapper {
position: relative;
border-radius: 12px;
overflow: hidden;
box-shadow: 0 6px 20px rgba(0,0,0,0.08), 0 2px 8px rgba(0,0,0,0.04);
background: var(--bg-card);
border: 1px solid var(--border);
padding: 10px;
transition: all 0.3s ease;
}
.subsection-image-container .image-wrapper:hover {
transform: translateY(-3px);
box-shadow: 0 10px 28px rgba(0,0,0,0.12), 0 4px 12px rgba(0,0,0,0.06);
border-color: var(--primary);
}
.subsection-image-container img {
width: 100%;
height: auto;
max-height: 350px;
border-radius: 8px;
display: block;
margin: 0 auto;
object-fit: contain;
}
.content-section .section-hero-image {
margin: 30px auto;
}
.subsection-title + .subsection-hero-image,
.subsection-title + .subsection-image-container {
margin-top: 20px;
margin-bottom: 25px;
}
.subsection-content .subsection-hero-image,
.subsection-content .subsection-image-container {
margin: 20px 0;
}
.tool-section-card {
position: relative;
}
.tool-section-card .subsection-hero-image,
.tool-section-card .subsection-image-container {
margin-top: 20px;
margin-bottom: 20px;
}
#bolum-1 .section-hero-image {
margin: 20px auto 30px auto;
}
@media (max-width: 768px) {
.subsection-image-container {
grid-template-columns: 1fr;
gap: 15px;
}
.section-hero-image {
margin: 20px auto;
max-width: 100%;
max-height: 280px;
padding: 10px;
}
.subsection-hero-image {
margin: 15px auto;
max-width: 100%;
max-height: 250px;
padding: 8px;
}
.subsection-image-container img {
max-height: 220px;
}
.page-banner {
max-height: 140px;
margin-bottom: 20px;
padding: 8px;
}
#bolum-1 .section-hero-image {
margin: 15px auto 25px auto;
}
}
@media (max-width: 480px) {
.section-hero-image {
max-height: 220px;
padding: 8px;
}
.subsection-hero-image {
max-height: 200px;
padding: 6px;
}
.subsection-image-container img {
max-height: 180px;
}
.page-banner {
max-height: 100px;
}
}
.main-footer {
margin-top: 80px;
margin-bottom: 40px;
padding: 50px 40px;
background: linear-gradient(135deg, var(--text-main) 0%, #1e293b 50%, var(--text-main) 100%);
border-radius: 24px;
box-shadow: 0 20px 60px rgba(0,0,0,0.15), 0 8px 24px rgba(0,0,0,0.1);
border-top: 4px solid var(--primary);
position: relative;
overflow: hidden;
color: var(--bg-card);
}
.main-footer::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
height: 4px;
background: linear-gradient(90deg, var(--primary), var(--success), var(--warning));
border-radius: 24px 24px 0 0;
}
.main-footer::after {
content: '';
position: absolute;
top: -50%;
right: -10%;
width: 500px;
height: 500px;
background: radial-gradient(circle, rgba(37, 99, 235, 0.15) 0%, transparent 70%);
border-radius: 50%;
pointer-events: none;
z-index: 0;
}
.footer-content {
display: flex;
justify-content: space-between;
align-items: center;
gap: 50px;
max-width: 1400px;
margin: 0 auto;
position: relative;
z-index: 1;
}
.footer-text {
flex: 1;
text-align: left;
}
.footer-description {
font-size: 1.05rem;
color: rgba(255, 255, 255, 0.95);
line-height: 1.8;
margin: 0 0 20px 0;
font-weight: 400;
}
.footer-credit {
font-size: 1rem;
color: rgba(255, 255, 255, 0.85);
margin: 0;
display: flex;
align-items: center;
gap: 10px;
flex-wrap: wrap;
}
.footer-credit i {
color: var(--primary);
font-size: 1.1rem;
filter: brightness(1.2);
}
.footer-credit strong {
color: rgba(255, 255, 255, 1);
font-weight: 700;
}
.footer-credit a {
color: var(--primary);
text-decoration: none;
font-weight: 600;
transition: all 0.3s ease;
filter: brightness(1.3);
border-bottom: 2px solid transparent;
}
.footer-credit a:hover {
color: var(--success);
filter: brightness(1.5);
border-bottom-color: var(--success);
}
.footer-action {
flex-shrink: 0;
}
.footer-cta-button {
display: inline-flex;
align-items: center;
gap: 12px;
background: linear-gradient(135deg, var(--primary) 0%, var(--success) 100%);
color: white;
padding: 18px 36px;
border-radius: 50px;
font-size: 1.1rem;
font-weight: 700;
text-decoration: none;
box-shadow: 0 10px 30px rgba(37, 99, 235, 0.4), 0 6px 16px rgba(16, 185, 129, 0.3);
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
border: 2px solid rgba(255, 255, 255, 0.2);
cursor: pointer;
position: relative;
overflow: hidden;
white-space: nowrap;
}
.footer-cta-button::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent);
transition: left 0.5s ease;
}
.footer-cta-button:hover::before {
left: 100%;
}
.footer-cta-button:hover {
transform: translateY(-4px) scale(1.06);
box-shadow: 0 16px 40px rgba(37, 99, 235, 0.5), 0 8px 20px rgba(16, 185, 129, 0.4);
border-color: rgba(255, 255, 255, 0.4);
}
.footer-cta-button:active {
transform: translateY(-1px) scale(1.02);
}
.footer-cta-button i {
font-size: 1.2rem;
}
@media (max-width: 768px) {
.main-footer {
margin-top: 50px;
margin-bottom: 30px;
padding: 35px 25px;
border-radius: 20px;
}
.footer-content {
flex-direction: column;
text-align: center;
gap: 35px;
}
.footer-text {
text-align: center;
}
.footer-description {
font-size: 0.95rem;
}
.footer-credit {
justify-content: center;
font-size: 0.9rem;
}
.footer-cta-button {
width: 100%;
justify-content: center;
padding: 16px 28px;
font-size: 1rem;
}
}
.opt-detail-block {
margin-top: 18px;
border-top: 1px dashed rgba(148, 163, 184, 0.5);
padding-top: 14px;
max-height: 0;
overflow: hidden;
opacity: 0;
transform: translateY(-4px);
transition:
max-height 0.45s cubic-bezier(0.22, 1, 0.36, 1),
opacity 0.3s ease,
transform 0.3s ease;
}
.opt-detail-block.active {
max-height: 3000px;
opacity: 1;
transform: translateY(0);
}
.opt-card-collapsible.expanded .opt-card-chevron {
transform: rotate(180deg) translateY(1px);
}
#bolum-5 .component-card-grid {
display: block !important;
}
#bolum-5 .component-card {
width: 100%;
margin-bottom: 18px;
}
#bolum-5 .component-card:last-child {
margin-bottom: 0;
}
.opt-card-chevron {
position: absolute;
top: 14px;
right: 16px;
width: 22px;
height: 22px;
border-radius: 999px;
border: 1px solid rgba(148, 163, 184, 0.7);
display: inline-flex;
align-items: center;
justify-content: center;
font-size: 0.7rem;
color: var(--secondary);
background: #f9fafb;
box-shadow: 0 1px 3px rgba(15, 23, 42, 0.12);
transition: transform 0.25s ease, background 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}
.opt-card-collapsible.expanded .opt-card-chevron {
transform: rotate(180deg) translateY(1px);
background: var(--primary);
color: #fff;
border-color: transparent;
box-shadow: 0 4px 10px rgba(37, 99, 235, 0.4);
}
.opt-detail-block {
margin-top: 18px;
border-top: 1px dashed rgba(148, 163, 184, 0.5);
padding-top: 14px;
text-align: left;
max-height: 0;
overflow: hidden;
opacity: 0;
transform: translateY(-4px);
transition:
max-height 0.45s cubic-bezier(0.22, 1, 0.36, 1),
opacity 0.3s ease,
transform 0.3s ease;
}
.opt-detail-block.active {
max-height: 3000px;
opacity: 1;
transform: translateY(0);
}
.iso-quote-card {
background: var(--primary-light);
border-left: 5px solid var(--primary);
border-radius: var(--radius);
padding: 25px;
margin: 30px 0;
box-shadow: 0 4px 15px rgba(37, 99, 235, 0.1);
}
.iso-quote-card strong {
color: var(--primary);
font-size: 1.1rem;
}
.iso-quote-card p {
margin: 15px 0 0 0;
font-size: 0.95rem;
color: var(--secondary);
}
.concept-item-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
margin-top: 30px;
margin-bottom: 30px;
}
.concept-item-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 25px;
box-shadow: 0 4px 10px rgba(0,0,0,0.03);
position: relative;
overflow: hidden;
}
.concept-item-card h4 {
margin-top: 0;
font-size: 1.2rem;
color: var(--text-main);
display: flex;
align-items: center;
gap: 10px;
}
.concept-item-card h4 i {
color: var(--success);
font-size: 1.3rem;
}
.concept-item-card ul {
list-style: none;
padding-left: 0;
margin-top: 15px;
}
.concept-item-card ul li {
font-size: 0.9rem;
color: var(--text-muted);
margin-bottom: 8px;
display: flex;
align-items: flex-start;
gap: 10px;
}
.concept-item-card ul li::before {
content: "•";
color: var(--primary);
font-weight: 700;
flex-shrink: 0;
}
.detail-info-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
margin-top: 30px;
}
.detail-info-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 25px;
box-shadow: 0 4px 10px rgba(0,0,0,0.03);
position: relative;
}
.detail-info-card h4 {
margin-top: 0;
font-size: 1.2rem;
color: var(--primary);
margin-bottom: 15px;
border-bottom: 1px solid var(--border);
padding-bottom: 10px;
}
.detail-info-card p {
font-size: 0.95rem;
color: var(--text-muted);
margin-bottom: 15px;
}
.detail-info-card .tip-badge {
display: inline-block;
background-color: var(--primary-light);
color: var(--primary);
padding: 5px 12px;
border-radius: 20px;
font-size: 0.8rem;
font-weight: 500;
margin-top: 10px;
}
.color-semantic-grid {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-top: 15px;
}
.color-semantic-item {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 15px;
border-radius: 20px;
font-weight: 500;
font-size: 0.9rem;
}
.color-semantic-item i {
font-size: 1rem;
}
.color-semantic-item.success {
background-color: var(--success-bg);
color: var(--success);
}
.color-semantic-item.danger {
background-color: var(--danger-bg);
color: var(--danger);
}
.color-semantic-item.warning {
background-color: var(--warning-bg);
color: var(--warning);
}
.color-semantic-item.info {
background-color: var(--primary-light);
color: var(--primary);
}
.core-vitals-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 25px;
margin-top: 30px;
margin-bottom: 40px;
}
.vital-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 25px;
box-shadow: 0 4px 12px rgba(0,0,0,0.03);
position: relative;
overflow: hidden;
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.vital-card:hover {
transform: translateY(-5px);
box-shadow: 0 8px 18px rgba(0,0,0,0.08);
}
.vital-card.lcp {
border-top: 4px solid var(--danger);
}
.vital-card.inp {
border-top: 4px solid var(--warning);
}
.vital-card.cls {
border-top: 4px solid var(--success);
}
.vital-card .vital-title {
font-size: 1.3rem;
color: var(--text-main);
margin-top: 0;
margin-bottom: 15px;
font-weight: 600;
}
.vital-card p {
font-size: 0.95rem;
color: var(--text-muted);
line-height: 1.6;
}
.additional-metrics-box {
background: var(--primary-light);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 18px 25px;
margin-top: 30px;
font-size: 0.95rem;
color: var(--primary);
font-weight: 500;
box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.additional-metrics-box strong {
color: var(--primary);
}
.mobile-factor-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
margin-top: 30px;
margin-bottom: 40px;
}
.mobile-factor-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 25px;
box-shadow: 0 4px 12px rgba(0,0,0,0.03);
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.mobile-factor-card:hover {
transform: translateY(-5px);
box-shadow: 0 8px 18px rgba(0,0,0,0.08);
}
.mobile-factor-card h5 {
font-size: 1.2rem;
color: var(--text-main);
margin-top: 0;
margin-bottom: 10px;
display: flex;
align-items: center;
gap: 10px;
}
.mobile-factor-card h5 i {
font-size: 1.5rem;
color: var(--purple);
}
.mobile-factor-card p {
font-size: 0.95rem;
color: var(--text-muted);
line-height: 1.6;
}
.case-study-summary {
display: flex;
align-items: flex-start;
gap: 20px;
padding: 25px;
background: var(--bg-card);
border-radius: var(--radius);
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
margin-bottom: 20px;
transition: all 0.3s ease;
border: 1px solid var(--border);
}
.case-study-summary:hover {
transform: translateY(-3px);
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
}
.case-study-summary .icon-col {
flex-shrink: 0;
font-size: 2.5rem;
padding-top: 5px;
}
.case-study-summary h4 {
margin-top: 0;
font-size: 1.3rem;
color: var(--text-main);
border-bottom: 2px dashed var(--primary-light);
padding-bottom: 10px;
margin-bottom: 10px;
}
.hero-case-card {
background: linear-gradient(135deg, var(--primary-light) 0%, #f8fafc 100%);
border: 1px solid var(--primary);
border-radius: var(--radius);
padding: 35px;
margin-top: 30px;
box-shadow: 0 10px 30px rgba(37, 99, 235, 0.15);
position: relative;
overflow: hidden;
}
.hero-case-card::before {
content: 'AS BILIM CASE STUDY';
position: absolute;
top: 0;
right: 0;
background: var(--primary);
color: white;
padding: 5px 15px;
font-size: 0.8rem;
font-weight: 700;
border-bottom-left-radius: var(--radius);
}
.technical-grid-table {
display: grid;
grid-template-columns: 1fr 2.5fr 1.5fr;
gap: 10px;
margin-top: 15px;
font-size: 0.9rem;
}
.technical-grid-header {
font-weight: 700;
color: var(--primary);
border-bottom: 2px solid var(--border);
padding-bottom: 5px;
margin-bottom: 5px;
}
.technical-row-item {
padding: 8px 0;
border-bottom: 1px dashed var(--border);
}
.metric-v { color: var(--danger); font-weight: 600; }
.result-v { color: var(--success); font-weight: 600; text-align: right; }
.chip-grid {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-top: 15px;
}
.chip {
padding: 8px 15px;
border-radius: 20px;
font-size: 0.85rem;
font-weight: 600;
display: flex;
align-items: center;
gap: 8px;
}
.chip.purple { background-color: #e9d5ff; color: var(--purple); }
@media (max-width: 768px) {
.technical-grid-table {
grid-template-columns: 1fr;
gap: 0;
}
.technical-row-item {
border-bottom: 1px dashed var(--border);
}
.technical-grid-table .result-col {
text-align: left;
margin-top: 5px;
}
}
@media (max-width: 600px) {
.main-content { padding: 20px; }
h1 { font-size: 1.8rem; }
h2.section-title { font-size: 1.5rem; }
h3 { font-size: 1.2rem; }
.question-row { flex-direction: column; align-items: flex-start; }
.question-options { margin-top: 10px; margin-left: 0; }
.question-options label { margin-left: 0; margin-right: 15px; }
.calc-btn { width: 100%; padding: 12px 20px; font-size: 1rem; }
.results-box { padding: 20px; }
.results-box h4 { font-size: 1.5rem; }
}
.accordion-container {
margin-top: 30px;
border-radius: var(--radius);
overflow: hidden;
border: 1px solid var(--border);
box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.accordion-item {
border-bottom: 1px solid var(--border);
}
.accordion-item:last-child {
border-bottom: none;
}
.accordion-header {
width: 100%;
background-color: var(--bg-card);
padding: 20px 25px;
text-align: left;
border: none;
cursor: pointer;
font-size: 1.1rem;
font-weight: 600;
color: var(--text-main);
display: flex;
justify-content: space-between;
align-items: center;
transition: background-color 0.3s ease;
}
.accordion-header:hover {
background-color: var(--primary-light);
color: var(--primary);
}
.accordion-header .accordion-title {
display: flex;
align-items: center;
gap: 15px;
}
.accordion-header .accordion-title i {
font-size: 1.4rem;
color: var(--primary);
transition: color 0.3s ease;
}
.accordion-header:hover .accordion-title i {
color: var(--primary);
}
.accordion-icon {
font-size: 1rem;
transition: transform 0.3s ease;
color: var(--secondary);
}
.accordion-header[aria-expanded="true"] .accordion-icon {
transform: rotate(180deg);
color: var(--primary);
}
.accordion-content {
max-height: 0;
overflow: hidden;
transition: max-height 0.4s ease-out, padding 0.4s ease-out;
background-color: var(--bg-body);
padding: 0 25px;
}
.accordion-content[data-visible="true"] {
padding: 25px;
}
.accordion-item-content-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
margin-top: 15px;
}
.accordion-content-box {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 20px;
box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}
.accordion-content-box h4 {
margin-top: 0;
font-size: 1.1rem;
color: var(--primary);
border-bottom: 2px solid var(--primary-light);
padding-bottom: 10px;
margin-bottom: 15px;
}
.accordion-content-box ul {
list-style: none;
padding-left: 0;
}
.accordion-content-box li {
margin-bottom: 8px;
font-size: 0.9rem;
color: var(--text-muted);
display: flex;
align-items: flex-start;
gap: 10px;
}
.accordion-content-box li::before {
content: "•";
color: var(--primary);
font-weight: 700;
flex-shrink: 0;
vertical-align: top;
}
.summary-card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 25px;
margin-top: 30px;
margin-bottom: 40px;
}
.summary-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 30px;
box-shadow: 0 8px 20px rgba(0,0,0,0.04);
display: flex;
flex-direction: column;
align-items: flex-start;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.summary-card:hover {
transform: translateY(-5px);
box-shadow: 0 12px 25px rgba(0,0,0,0.08);
}
.summary-card .icon-large {
font-size: 3rem;
color: var(--primary);
margin-bottom: 20px;
}
.summary-card h3 {
font-size: 1.4rem;
color: var(--text-main);
margin-top: 0;
margin-bottom: 15px;
line-height: 1.3;
}
.summary-card p {
font-size: 0.95rem;
color: var(--text-muted);
line-height: 1.7;
}
.summary-card ul {
list-style: none;
padding-left: 0;
margin-top: 15px;
}
.summary-card ul li {
font-size: 0.9rem;
color: var(--secondary);
margin-bottom: 8px;
display: flex;
align-items: center;
gap: 10px;
}
.summary-card ul li i {
color: var(--success);
font-size: 1rem;
}
.highlight-box.warning {
background-color: var(--warning-bg);
border-left: 4px solid var(--warning);
padding: 15px 20px;
border-radius: var(--radius);
margin-top: 20px;
color: var(--warning);
}
.highlight-box.warning strong { color: var(--warning); }
.highlight-box.warning ul { list-style: disc; padding-left: 20px; margin-top: 10px; }
.highlight-box.warning li { color: var(--warning); }
.team-card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 20px;
margin-top: 25px;
margin-bottom: 30px;
}
.team-card {
background: var(--primary-light);
border-radius: var(--radius);
padding: 20px;
text-align: center;
box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}
.team-card i {
font-size: 2.5rem;
color: var(--primary);
margin-bottom: 10px;
}
.team-card h5 {
margin: 0;
font-size: 0.95rem;
color: var(--primary);
font-weight: 600;
}
.guide-feature-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 20px;
margin-top: 25px;
margin-bottom: 30px;
}
.guide-feature-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 20px;
display: flex;
align-items: flex-start;
gap: 15px;
box-shadow: 0 2px 8px rgba(0,0,0,0.03);
transition: transform 0.2s ease;
}
.guide-feature-card:hover {
transform: translateY(-3px);
box-shadow: 0 6px 15px rgba(0,0,0,0.06);
}
.guide-feature-card i {
font-size: 1.8rem;
color: var(--success);
flex-shrink: 0;
}
.guide-feature-card p {
margin: 0;
font-size: 0.95rem;
color: var(--text-main);
font-weight: 500;
}
.conclusion-summary-box {
background: var(--primary-light);
border-left: 5px solid var(--primary);
border-radius: var(--radius);
padding: 25px;
margin-top: 40px;
box-shadow: 0 6px 15px rgba(37, 99, 235, 0.1);
}
.conclusion-summary-box p {
margin-top: 0;
font-size: 1rem;
color: var(--text-main);
font-weight: 600;
}
.conclusion-summary-box ul {
list-style: none;
padding-left: 0;
margin-bottom: 0;
}
.conclusion-summary-box ul li {
font-size: 0.95rem;
color: var(--secondary);
margin-bottom: 8px;
display: flex;
align-items: center;
gap: 10px;
}
.conclusion-summary-box ul li i {
color: var(--primary);
font-size: 1.1rem;
flex-shrink: 0;
}
.component-card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 20px;
margin-top: 30px;
margin-bottom: 30px;
}
.component-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 25px;
box-shadow: 0 4px 12px rgba(0,0,0,0.03);
text-align: center;
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.component-card:hover {
transform: translateY(-5px);
box-shadow: 0 8px 18px rgba(0,0,0,0.08);
}
.component-card i {
font-size: 2.5rem;
color: var(--primary);
margin-bottom: 15px;
}
.component-card h4 {
margin-top: 0;
margin-bottom: 10px;
font-size: 1.1rem;
color: var(--text-main);
}
.component-card p {
font-size: 0.85rem;
color: var(--text-muted);
}
.iso-quote-card {
background: var(--primary-light);
border-left: 5px solid var(--primary);
border-radius: var(--radius);
padding: 25px;
margin: 30px 0;
box-shadow: 0 4px 15px rgba(37, 99, 235, 0.1);
}
.iso-quote-card strong {
color: var(--primary);
font-size: 1.1rem;
}
.iso-quote-card p {
margin: 15px 0 0 0;
font-size: 0.95rem;
color: var(--secondary);
}
.concept-item-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
margin-top: 30px;
margin-bottom: 30px;
}
.concept-item-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 25px;
box-shadow: 0 4px 10px rgba(0,0,0,0.03);
position: relative;
overflow: hidden;
}
.concept-item-card h4 {
margin-top: 0;
font-size: 1.2rem;
color: var(--text-main);
display: flex;
align-items: center;
gap: 10px;
}
.concept-item-card h4 i {
color: var(--success);
font-size: 1.3rem;
}
.concept-item-card ul {
list-style: none;
padding-left: 0;
margin-top: 15px;
}
.concept-item-card ul li {
font-size: 0.9rem;
color: var(--text-muted);
margin-bottom: 8px;
display: flex;
align-items: flex-start;
gap: 10px;
}
.concept-item-card ul li::before {
content: "•";
color: var(--primary);
font-weight: 700;
flex-shrink: 0;
}
.detail-info-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
margin-top: 30px;
}
.detail-info-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 25px;
box-shadow: 0 4px 10px rgba(0,0,0,0.03);
position: relative;
}
.detail-info-card h4 {
margin-top: 0;
font-size: 1.2rem;
color: var(--primary);
margin-bottom: 15px;
border-bottom: 1px solid var(--border);
padding-bottom: 10px;
}
.detail-info-card p {
font-size: 0.95rem;
color: var(--text-muted);
margin-bottom: 15px;
}
.detail-info-card .tip-badge {
display: inline-block;
background-color: var(--primary-light);
color: var(--primary);
padding: 5px 12px;
border-radius: 20px;
font-size: 0.8rem;
font-weight: 500;
margin-top: 10px;
}
.color-semantic-grid {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-top: 15px;
}
.color-semantic-item {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 15px;
border-radius: 20px;
font-weight: 500;
font-size: 0.9rem;
}
.color-semantic-item i {
font-size: 1rem;
}
.color-semantic-item.success {
background-color: var(--success-bg);
color: var(--success);
}
.color-semantic-item.danger {
background-color: var(--danger-bg);
color: var(--danger);
}
.color-semantic-item.warning {
background-color: var(--warning-bg);
color: var(--warning);
}
.color-semantic-item.info {
background-color: var(--primary-light);
color: var(--primary);
}
.core-vitals-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 25px;
margin-top: 30px;
margin-bottom: 40px;
}
.vital-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 25px;
box-shadow: 0 4px 12px rgba(0,0,0,0.03);
position: relative;
overflow: hidden;
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.vital-card:hover {
transform: translateY(-5px);
box-shadow: 0 8px 18px rgba(0,0,0,0.08);
}
.vital-card.lcp {
border-top: 4px solid var(--danger);
}
.vital-card.inp {
border-top: 4px solid var(--warning);
}
.vital-card.cls {
border-top: 4px solid var(--success);
}
.vital-card .vital-title {
font-size: 1.3rem;
color: var(--text-main);
margin-top: 0;
margin-bottom: 15px;
font-weight: 600;
}
.vital-card p {
font-size: 0.95rem;
color: var(--text-muted);
line-height: 1.6;
}
.additional-metrics-box {
background: var(--primary-light);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 18px 25px;
margin-top: 30px;
font-size: 0.95rem;
color: var(--primary);
font-weight: 500;
box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.additional-metrics-box strong {
color: var(--primary);
}
.mobile-factor-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
margin-top: 30px;
margin-bottom: 40px;
}
.mobile-factor-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 25px;
box-shadow: 0 4px 12px rgba(0,0,0,0.03);
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.mobile-factor-card:hover {
transform: translateY(-5px);
box-shadow: 0 8px 18px rgba(0,0,0,0.08);
}
.mobile-factor-card h5 {
font-size: 1.2rem;
color: var(--text-main);
margin-top: 0;
margin-bottom: 10px;
display: flex;
align-items: center;
gap: 10px;
}
.mobile-factor-card h5 i {
font-size: 1.5rem;
color: var(--red);
}
.mobile-factor-card p {
font-size: 0.95rem;
color: var(--text-muted);
line-height: 1.6;
}
@media (max-width: 600px) {
.main-content { padding: 20px; }
h1 { font-size: 1.8rem; }
h2.section-title { font-size: 1.5rem; }
h3 { font-size: 1.2rem; }
.question-row { flex-direction: column; align-items: flex-start; }
.question-options { margin-top: 10px; margin-left: 0; }
.question-options label { margin-left: 0; margin-right: 15px; }
.calc-btn { width: 100%; padding: 12px 20px; font-size: 1rem; }
.results-box { padding: 20px; }
.results-box h4 { font-size: 1.5rem; }
}
.accordion-container {
margin-top: 30px;
border-radius: var(--radius);
overflow: hidden;
border: 1px solid var(--border);
box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.accordion-item {
border-bottom: 1px solid var(--border);
}
.accordion-item:last-child {
border-bottom: none;
}
.accordion-header {
width: 100%;
background-color: var(--bg-card);
padding: 20px 25px;
text-align: left;
border: none;
cursor: pointer;
font-size: 1.1rem;
font-weight: 600;
color: var(--text-main);
display: flex;
justify-content: space-between;
align-items: center;
transition: background-color 0.3s ease;
}
.accordion-header:hover {
background-color: var(--primary-light);
color: var(--primary);
}
.accordion-header .accordion-title {
display: flex;
align-items: center;
gap: 15px;
}
.accordion-header .accordion-title i {
font-size: 1.4rem;
color: var(--primary);
transition: color 0.3s ease;
}
.accordion-header:hover .accordion-title i {
color: var(--primary);
}
.accordion-icon {
font-size: 1rem;
transition: transform 0.3s ease;
color: var(--secondary);
}
.accordion-header[aria-expanded="true"] .accordion-icon {
transform: rotate(180deg);
color: var(--primary);
}
.accordion-content {
max-height: 0;
overflow: hidden;
transition: max-height 0.4s ease-out, padding 0.4s ease-out;
background-color: var(--bg-body);
padding: 0 25px;
}
.accordion-content[data-visible="true"] {
padding: 25px;
}
.accordion-item-content-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
margin-top: 15px;
}
.accordion-content-box {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 20px;
box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}
.accordion-content-box h4 {
margin-top: 0;
font-size: 1.1rem;
color: var(--primary);
border-bottom: 2px solid var(--primary-light);
padding-bottom: 10px;
margin-bottom: 15px;
}
.accordion-content-box ul {
list-style: none;
padding-left: 0;
}
.accordion-content-box li {
margin-bottom: 8px;
font-size: 0.9rem;
color: var(--text-muted);
display: flex;
align-items: flex-start;
gap: 10px;
}
.accordion-content-box li::before {
content: "•";
color: var(--primary);
font-weight: 700;
flex-shrink: 0;
vertical-align: top;
}
.summary-card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 25px;
margin-top: 30px;
margin-bottom: 40px;
}
.summary-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 30px;
box-shadow: 0 8px 20px rgba(0,0,0,0.04);
display: flex;
flex-direction: column;
align-items: flex-start;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.summary-card:hover {
transform: translateY(-5px);
box-shadow: 0 12px 25px rgba(0,0,0,0.08);
}
.summary-card .icon-large {
font-size: 3rem;
color: var(--primary);
margin-bottom: 20px;
}
.summary-card h3 {
font-size: 1.4rem;
color: var(--text-main);
margin-top: 0;
margin-bottom: 15px;
line-height: 1.3;
}
.summary-card p {
font-size: 0.95rem;
color: var(--text-muted);
line-height: 1.7;
}
.summary-card ul {
list-style: none;
padding-left: 0;
margin-top: 15px;
}
.summary-card ul li {
font-size: 0.9rem;
color: var(--secondary);
margin-bottom: 8px;
display: flex;
align-items: center;
gap: 10px;
}
.summary-card ul li i {
color: var(--success);
font-size: 1rem;
}
.highlight-box.warning {
background-color: var(--warning-bg);
border-left: 4px solid var(--warning);
padding: 15px 20px;
border-radius: var(--radius);
margin-top: 20px;
color: var(--warning);
}
.highlight-box.warning strong { color: var(--warning); }
.highlight-box.warning ul { list-style: disc; padding-left: 20px; margin-top: 10px; }
.highlight-box.warning li { color: var(--warning); }
.team-card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 20px;
margin-top: 25px;
margin-bottom: 30px;
}
.team-card {
background: var(--primary-light);
border-radius: var(--radius);
padding: 20px;
text-align: center;
box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}
.team-card i {
font-size: 2.5rem;
color: var(--primary);
margin-bottom: 10px;
}
.team-card h5 {
margin: 0;
font-size: 0.95rem;
color: var(--primary);
font-weight: 600;
}
.guide-feature-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 20px;
margin-top: 25px;
margin-bottom: 30px;
}
.guide-feature-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 20px;
display: flex;
align-items: flex-start;
gap: 15px;
box-shadow: 0 2px 8px rgba(0,0,0,0.03);
transition: transform 0.2s ease;
}
.guide-feature-card:hover {
transform: translateY(-3px);
box-shadow: 0 6px 15px rgba(0,0,0,0.06);
}
.guide-feature-card i {
font-size: 1.8rem;
color: var(--success);
flex-shrink: 0;
}
.guide-feature-card p {
margin: 0;
font-size: 0.95rem;
color: var(--text-main);
font-weight: 500;
}
.conclusion-summary-box {
background: var(--primary-light);
border-left: 5px solid var(--primary);
border-radius: var(--radius);
padding: 25px;
margin-top: 40px;
box-shadow: 0 6px 15px rgba(37, 99, 235, 0.1);
}
.conclusion-summary-box p {
margin-top: 0;
font-size: 1rem;
color: var(--text-main);
font-weight: 600;
}
.conclusion-summary-box ul {
list-style: none;
padding-left: 0;
margin-bottom: 0;
}
.conclusion-summary-box ul li {
font-size: 0.95rem;
color: var(--secondary);
margin-bottom: 8px;
display: flex;
align-items: center;
gap: 10px;
}
.conclusion-summary-box ul li i {
color: var(--primary);
font-size: 1.1rem;
flex-shrink: 0;
}
.component-card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 20px;
margin-top: 30px;
margin-bottom: 30px;
}
.component-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 25px;
box-shadow: 0 4px 12px rgba(0,0,0,0.03);
text-align: center;
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.component-card:hover {
transform: translateY(-5px);
box-shadow: 0 8px 18px rgba(0,0,0,0.08);
}
.component-card i {
font-size: 2.5rem;
color: var(--primary);
margin-bottom: 15px;
}
.component-card h4 {
margin-top: 0;
margin-bottom: 10px;
font-size: 1.1rem;
color: var(--text-main);
}
.component-card p {
font-size: 0.85rem;
color: var(--text-muted);
}
.iso-quote-card {
background: var(--primary-light);
border-left: 5px solid var(--primary);
border-radius: var(--radius);
padding: 25px;
margin: 30px 0;
box-shadow: 0 4px 15px rgba(37, 99, 235, 0.1);
}
.iso-quote-card strong {
color: var(--primary);
font-size: 1.1rem;
}
.iso-quote-card p {
margin: 15px 0 0 0;
font-size: 0.95rem;
color: var(--secondary);
}
.concept-item-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
margin-top: 30px;
margin-bottom: 30px;
}
.concept-item-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 25px;
box-shadow: 0 4px 10px rgba(0,0,0,0.03);
position: relative;
overflow: hidden;
}
.concept-item-card h4 {
margin-top: 0;
font-size: 1.2rem;
color: var(--text-main);
display: flex;
align-items: center;
gap: 10px;
}
.concept-item-card h4 i {
color: var(--success);
font-size: 1.3rem;
}
.concept-item-card ul {
list-style: none;
padding-left: 0;
margin-top: 15px;
}
.concept-item-card ul li {
font-size: 0.9rem;
color: var(--text-muted);
margin-bottom: 8px;
display: flex;
align-items: flex-start;
gap: 10px;
}
.concept-item-card ul li::before {
content: "•";
color: var(--primary);
font-weight: 700;
flex-shrink: 0;
}
.detail-info-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
margin-top: 30px;
}
.detail-info-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 25px;
box-shadow: 0 4px 10px rgba(0,0,0,0.03);
position: relative;
}
.detail-info-card h4 {
margin-top: 0;
font-size: 1.2rem;
color: var(--primary);
margin-bottom: 15px;
border-bottom: 1px solid var(--border);
padding-bottom: 10px;
}
.detail-info-card p {
font-size: 0.95rem;
color: var(--text-muted);
margin-bottom: 15px;
}
.detail-info-card .tip-badge {
display: inline-block;
background-color: var(--primary-light);
color: var(--primary);
padding: 5px 12px;
border-radius: 20px;
font-size: 0.8rem;
font-weight: 500;
margin-top: 10px;
}
.color-semantic-grid {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-top: 15px;
}
.color-semantic-item {
display: inline-flex;
align-items: center;
gap: 8px;
padding: 8px 15px;
border-radius: 20px;
font-weight: 500;
font-size: 0.9rem;
}
.color-semantic-item i {
font-size: 1rem;
}
.color-semantic-item.success {
background-color: var(--success-bg);
color: var(--success);
}
.color-semantic-item.danger {
background-color: var(--danger-bg);
color: var(--danger);
}
.color-semantic-item.warning {
background-color: var(--warning-bg);
color: var(--warning);
}
.color-semantic-item.info {
background-color: var(--primary-light);
color: var(--primary);
}
.core-vitals-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 25px;
margin-top: 30px;
margin-bottom: 40px;
}
.vital-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 25px;
box-shadow: 0 4px 12px rgba(0,0,0,0.03);
position: relative;
overflow: hidden;
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.vital-card:hover {
transform: translateY(-5px);
box-shadow: 0 8px 18px rgba(0,0,0,0.08);
}
.vital-card.lcp {
border-top: 4px solid var(--danger);
}
.vital-card.inp {
border-top: 4px solid var(--warning);
}
.vital-card.cls {
border-top: 4px solid var(--success);
}
.vital-card .vital-title {
font-size: 1.3rem;
color: var(--text-main);
margin-top: 0;
margin-bottom: 15px;
font-weight: 600;
}
.vital-card p {
font-size: 0.95rem;
color: var(--text-muted);
line-height: 1.6;
}
.additional-metrics-box {
background: var(--primary-light);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 18px 25px;
margin-top: 30px;
font-size: 0.95rem;
color: var(--primary);
font-weight: 500;
box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.additional-metrics-box strong {
color: var(--primary);
}
.mobile-factor-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
margin-top: 30px;
margin-bottom: 40px;
}
.mobile-factor-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 25px;
box-shadow: 0 4px 12px rgba(0,0,0,0.03);
transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.mobile-factor-card:hover {
transform: translateY(-5px);
box-shadow: 0 8px 18px rgba(0,0,0,0.08);
}
.mobile-factor-card h5 {
font-size: 1.2rem;
color: var(--text-main);
margin-top: 0;
margin-bottom: 10px;
display: flex;
align-items: center;
gap: 10px;
}
.mobile-factor-card h5 i {
font-size: 1.5rem;
color: var(--red);
}
.mobile-factor-card p {
font-size: 0.95rem;
color: var(--text-muted);
line-height: 1.6;
}
@media (max-width: 600px) {
.main-content { padding: 20px; }
h1 { font-size: 1.8rem; }
h2.section-title { font-size: 1.5rem; }
h3 { font-size: 1.2rem; }
.question-row { flex-direction: column; align-items: flex-start; }
.question-options { margin-top: 10px; margin-left: 0; }
.question-options label { margin-left: 0; margin-right: 15px; }
.calc-btn { width: 100%; padding: 12px 20px; font-size: 1rem; }
.results-box { padding: 20px; }
.results-box h4 { font-size: 1.5rem; }
}
.accordion-container {
margin-top: 30px;
border-radius: var(--radius);
overflow: hidden;
border: 1px solid var(--border);
box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.accordion-item {
border-bottom: 1px solid var(--border);
}
.accordion-item:last-child {
border-bottom: none;
}
.accordion-header {
width: 100%;
background-color: var(--bg-card);
padding: 20px 25px;
text-align: left;
border: none;
cursor: pointer;
font-size: 1.1rem;
font-weight: 600;
color: var(--text-main);
display: flex;
justify-content: space-between;
align-items: center;
transition: background-color 0.3s ease;
}
.accordion-header:hover {
background-color: var(--primary-light);
color: var(--primary);
}
.accordion-header .accordion-title {
display: flex;
align-items: center;
gap: 15px;
}
.accordion-header .accordion-title i {
font-size: 1.4rem;
color: var(--primary);
transition: color 0.3s ease;
}
.accordion-header:hover .accordion-title i {
color: var(--primary);
}
.accordion-icon {
font-size: 1rem;
transition: transform 0.3s ease;
color: var(--secondary);
}
.accordion-header[aria-expanded="true"] .accordion-icon {
transform: rotate(180deg);
color: var(--primary);
}
.accordion-content {
max-height: 0;
overflow: hidden;
transition: max-height 0.4s ease-out, padding 0.4s ease-out;
background-color: var(--bg-body);
padding: 0 25px;
}
.accordion-content[data-visible="true"] {
padding: 25px;
}
.accordion-item-content-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 20px;
margin-top: 15px;
}
.accordion-content-box {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 20px;
box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}
.accordion-content-box h4 {
margin-top: 0;
font-size: 1.1rem;
color: var(--primary);
border-bottom: 2px solid var(--primary-light);
padding-bottom: 10px;
margin-bottom: 15px;
}
.accordion-content-box ul {
list-style: none;
padding-left: 0;
}
.accordion-content-box li {
margin-bottom: 8px;
font-size: 0.9rem;
color: var(--text-muted);
display: flex;
align-items: flex-start;
gap: 10px;
}
.accordion-content-box li::before {
content: "•";
color: var(--primary);
font-weight: 700;
flex-shrink: 0;
vertical-align: top;
}
.summary-card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
gap: 25px;
margin-top: 30px;
margin-bottom: 40px;
}
.summary-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 30px;
box-shadow: 0 8px 20px rgba(0,0,0,0.04);
display: flex;
flex-direction: column;
align-items: flex-start;
transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.summary-card:hover {
transform: translateY(-5px);
box-shadow: 0 12px 25px rgba(0,0,0,0.08);
}
.summary-card .icon-large {
font-size: 3rem;
color: var(--primary);
margin-bottom: 20px;
}
.summary-card h3 {
font-size: 1.4rem;
color: var(--text-main);
margin-top: 0;
margin-bottom: 15px;
line-height: 1.3;
}
.summary-card p {
font-size: 0.95rem;
color: var(--text-muted);
line-height: 1.7;
}
.summary-card ul {
list-style: none;
padding-left: 0;
margin-top: 15px;
}
.summary-card ul li {
font-size: 0.9rem;
color: var(--secondary);
margin-bottom: 8px;
display: flex;
align-items: center;
gap: 10px;
}
.summary-card ul li i {
color: var(--success);
font-size: 1rem;
}
.highlight-box.warning {
background-color: var(--warning-bg);
border-left: 4px solid var(--warning);
padding: 15px 20px;
border-radius: var(--radius);
margin-top: 20px;
color: var(--warning);
}
.highlight-box.warning strong { color: var(--warning); }
.highlight-box.warning ul { list-style: disc; padding-left: 20px; margin-top: 10px; }
.highlight-box.warning li { color: var(--warning); }
.team-card-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: 20px;
margin-top: 25px;
margin-bottom: 30px;
}
.team-card {
background: var(--primary-light);
border-radius: var(--radius);
padding: 20px;
text-align: center;
box-shadow: 0 4px 10px rgba(0,0,0,0.05);
}
.team-card i {
font-size: 2.5rem;
color: var(--primary);
margin-bottom: 10px;
}
.team-card h5 {
margin: 0;
font-size: 0.95rem;
color: var(--primary);
font-weight: 600;
}
.guide-feature-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 20px;
margin-top: 25px;
margin-bottom: 30px;
}
.guide-feature-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 20px;
display: flex;
align-items: flex-start;
gap: 15px;
box-shadow: 0 2px 8px rgba(0,0,0,0.03);
transition: transform 0.2s ease;
}
.guide-feature-card:hover {
transform: translateY(-3px);
box-shadow: 0 6px 15px rgba(0,0,0,0.06);
}
.guide-feature-card i {
font-size: 1.8rem;
color: var(--success);
flex-shrink: 0;
}
.guide-feature-card p {
margin: 0;
font-size: 0.95rem;
color: var(--text-main);
font-weight: 500;
}
.conclusion-summary-box {
background: var(--primary-light);
border-left: 5px solid var(--primary);
border-radius: var(--radius);
padding: 25px;
margin-top: 40px;
box-shadow: 0 6px 15px rgba(37, 99, 235, 0.1);
}
.conclusion-summary-box p {
margin-top: 0;
font-size: 1rem;
color: var(--text-main);
font-weight: 600;
}
.conclusion-summary-box ul {
list-style: none;
padding-left: 0;
margin-bottom: 0;
}
.conclusion-summary-box ul li {
font-size: 0.95rem;
color: var(--secondary);
margin-bottom: 8px;
display: flex;
align-items: center;
gap: 10px;
}
.conclusion-summary-box ul li i {
color: var(--primary);
font-size: 1.1rem;
flex-shrink: 0;
}
.tool-section-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 30px;
box-shadow: 0 6px 15px rgba(0,0,0,0.05);
margin-bottom: 30px;
}
.tool-section-card p.lead-small {
font-size: 0.95rem;
color: var(--secondary);
margin-bottom: 20px;
}
.tool-section-card h4 {
margin-top: 0;
font-size: 1.25rem;
color: var(--text-main);
margin-bottom: 15px;
}
.tool-section-card ul {
list-style: none;
padding-left: 0;
}
.tool-section-card ul li {
font-size: 0.95rem;
color: var(--text-muted);
margin-bottom: 10px;
display: flex;
align-items: flex-start;
gap: 10px;
}
.tool-section-card ul li i {
color: var(--primary);
font-size: 1.1rem;
flex-shrink: 0;
}
.measurement-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 20px;
margin-top: 20px;
margin-bottom: 20px;
}
.measurement-item {
background: var(--primary-light);
border-radius: var(--radius);
padding: 15px 20px;
text-align: center;
font-size: 0.9rem;
font-weight: 500;
color: var(--primary);
box-shadow: 0 2px 8px rgba(37, 99, 235, 0.1);
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
}
.score-table-modern {
width: 100%;
border-collapse: collapse;
margin: 25px 0;
border-radius: var(--radius);
overflow: hidden;
box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.score-table-modern th,
.score-table-modern td {
padding: 15px;
text-align: left;
border-bottom: 1px solid var(--border);
}
.score-table-modern th {
background-color: var(--secondary);
color: white;
font-weight: 600;
font-size: 0.9rem;
}
.score-table-modern tbody tr:nth-child(even) {
background-color: var(--bg-body);
}
.score-table-modern tbody tr:hover {
background-color: var(--primary-light);
color: var(--primary);
}
.score-table-modern .score-bad {
background-color: var(--danger-bg);
color: var(--danger);
}
.score-table-modern .score-mid {
background-color: var(--warning-bg);
color: var(--warning);
}
.score-table-modern .score-good {
background-color: var(--success-bg);
color: var(--success);
}
.note-card {
background: var(--warning-bg);
border-left: 5px solid var(--warning);
border-radius: var(--radius);
padding: 20px 25px;
margin-top: 30px;
box-shadow: 0 4px 12px rgba(245, 158, 11, 0.1);
}
.note-card strong {
color: var(--warning);
}
.note-card p {
margin-top: 10px;
font-size: 0.95rem;
color: var(--secondary);
}
.lighthouse-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
gap: 15px;
margin-top: 20px;
}
.lighthouse-item {
background: var(--success-bg);
color: var(--success);
padding: 12px 15px;
border-radius: 8px;
font-size: 0.85rem;
font-weight: 500;
display: flex;
align-items: center;
gap: 8px;
}
.lighthouse-item i {
font-size: 1rem;
}
.gtmetrix-table-modern {
width: 100%;
border-collapse: collapse;
margin: 25px 0;
border-radius: var(--radius);
overflow: hidden;
box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.gtmetrix-table-modern th,
.gtmetrix-table-modern td {
padding: 15px;
text-align: left;
border-bottom: 1px solid var(--border);
}
.gtmetrix-table-modern th {
background-color: var(--secondary);
color: white;
font-weight: 600;
font-size: 0.9rem;
}
.gtmetrix-table-modern tbody tr:nth-child(even) {
background-color: var(--bg-body);
}
.gtmetrix-table-modern tbody tr:hover {
background-color: var(--primary-light);
color: var(--primary);
}
.wpt-features-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 20px;
margin-top: 20px;
margin-bottom: 30px;
}
.wpt-feature-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 20px;
box-shadow: 0 2px 8px rgba(0,0,0,0.03);
display: flex;
align-items: flex-start;
gap: 15px;
}
.wpt-feature-card i {
font-size: 1.8rem;
color: var(--danger);
flex-shrink: 0;
}
.wpt-feature-card h5 {
margin: 0;
font-size: 1.1rem;
color: var(--text-main);
font-weight: 600;
}
.devtools-insights-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 25px;
margin-top: 30px;
box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}
.devtools-insights-card p {
font-size: 0.95rem;
color: var(--text-muted);
margin-bottom: 15px;
}
.devtools-insights-card ul {
list-style: none;
padding-left: 0;
}
.devtools-insights-card ul li {
font-size: 0.9rem;
color: var(--secondary);
margin-bottom: 8px;
display: flex;
align-items: center;
gap: 10px;
}
.devtools-insights-card ul li i {
color: var(--purple);
font-size: 1rem;
}
.crux-data-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 25px;
margin-top: 30px;
box-shadow: 0 4px 12px rgba(0,0,0,0.03);
}
.crux-data-card ul {
list-style: none;
padding-left: 0;
}
.crux-data-card ul li {
font-size: 0.95rem;
color: var(--secondary);
margin-bottom: 8px;
display: flex;
align-items: center;
gap: 10px;
}
.crux-data-card ul li i {
color: var(--brown);
font-size: 1.1rem;
}
.analysis-steps-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
gap: 20px;
margin-top: 30px;
}
.analysis-step-card {
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 20px;
box-shadow: 0 4px 10px rgba(0,0,0,0.03);
display: flex;
align-items: flex-start;
gap: 15px;
transition: transform 0.2s ease;
}
.analysis-step-card:hover {
transform: translateY(-3px);
box-shadow: 0 6px 15px rgba(0,0,0,0.06);
}
.analysis-step-card .step-number-circle {
width: 35px;
height: 35px;
background-color: var(--primary);
color: white;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
font-weight: 600;
flex-shrink: 0;
}
.analysis-step-card h4 {
margin: 0;
font-size: 1.1rem;
color: var(--text-main);
line-height: 1.4;
}
.analysis-step-card p {
font-size: 0.9rem;
color: var(--text-muted);
margin-top: 5px;
margin-bottom: 0;
}
.section-complete-indicator {
margin-top: 40px;
margin-bottom: 20px;
text-align: center;
}
.status-badge {
display: inline-flex;
align-items: center;
gap: 10px;
padding: 15px 30px;
background: var(--success-bg);
color: var(--success);
border-radius: 50px;
font-weight: 600;
font-size: 1rem;
border: 2px solid var(--success);
cursor: pointer;
transition: all 0.3s ease;
position: relative;
overflow: hidden;
}
.status-badge::before {
content: '';
position: absolute;
top: 50%;
left: 50%;
width: 0;
height: 0;
border-radius: 50%;
background: rgba(16, 185, 129, 0.2);
transform: translate(-50%, -50%);
transition: width 0.6s, height 0.6s;
}
.status-badge:hover::before {
width: 300px;
height: 300px;
}
.status-badge:hover {
transform: translateY(-2px);
box-shadow: 0 8px 20px rgba(16, 185, 129, 0.3);
background: var(--success);
color: white;
}
.status-badge.completed {
background: var(--success);
color: white;
border-color: var(--success);
}
.status-badge.shimmer {
animation: shimmer 2s infinite;
}
@keyframes shimmer {
0% {
box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
}
50% {
box-shadow: 0 0 0 10px rgba(16, 185, 129, 0);
}
100% {
box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
}
}
.status-badge i {
font-size: 1.2rem;
transition: transform 0.3s ease;
}
.status-badge:hover i {
transform: scale(1.2) rotate(10deg);
}
.status-badge.pulse {
animation: pulse 1.5s ease-in-out 3;
}
@keyframes pulse {
0%, 100% {
transform: scale(1);
}
50% {
transform: scale(1.05);
}
}
@media (max-width: 768px) {
.status-badge {
padding: 12px 20px;
font-size: 0.9rem;
}
}
@media (max-width: 768px) {
.container {
flex-direction: column;
max-width: 100%;
padding: 0 15px;
min-height: auto;
}
.main-content {
padding: 15px 10px;
width: 100%;
}
h1 {
font-size: 1.75rem;
line-height: 1.3;
}
h2.section-title {
font-size: 1.5rem;
margin-top: 20px;
margin-bottom: 15px;
}
h3 {
font-size: 1.25rem;
}
h4 {
font-size: 1.1rem;
}
p {
font-size: 0.95rem;
line-height: 1.6;
}
.core-vitals-grid,
.detail-info-grid,
.mobile-factor-grid,
.measurement-grid,
.lighthouse-grid,
.wpt-features-grid,
.concept-item-grid,
.opt-step-grid,
.accordion-item-content-grid,
.analysis-steps-grid,
.component-card-grid {
grid-template-columns: 1fr !important;
gap: 15px;
margin-top: 20px;
}
.component-card-grid {
grid-template-columns: 1fr !important;
}
.accordion-item-content-grid {
grid-template-columns: 1fr !important;
gap: 15px;
}
.analysis-steps-grid {
grid-template-columns: 1fr !important;
gap: 15px;
}
.vital-card,
.detail-info-card,
.mobile-factor-card,
.tool-section-card,
.concept-item-card,
.opt-step-card,
.note-card,
.accordion-content-box,
.analysis-step-card,
.component-card {
padding: 20px;
margin-bottom: 15px;
width: 100%;
box-sizing: border-box;
}
.component-card {
min-width: 0;
word-wrap: break-word;
overflow-wrap: break-word;
}
.subsection-title {
padding: 12px 15px;
font-size: 1.1rem;
word-wrap: break-word;
overflow-wrap: break-word;
}
.subsection-image-container {
display: flex;
flex-direction: column;
gap: 15px;
margin: 20px 0;
width: 100%;
max-width: 100%;
box-sizing: border-box;
overflow-x: hidden;
}
.subsection-image-container .image-wrapper {
width: 100%;
max-width: 100%;
box-sizing: border-box;
}
.subsection-image-container img {
max-width: 100%;
height: auto;
display: block;
}
.section-hero-image {
width: 100%;
max-width: 100%;
box-sizing: border-box;
margin: 20px 0;
padding: 0;
overflow: hidden;
}
.section-hero-image img {
max-width: 100%;
height: auto;
display: block;
}
.technical-grid-table {
grid-template-columns: 1fr !important;
gap: 0;
}
.technical-row-item {
border-bottom: 1px dashed var(--border);
padding: 15px;
}
.technical-grid-table .result-col {
text-align: left;
margin-top: 10px;
}
.score-table-modern,
.gtmetrix-table-modern,
.checklist-table {
display: block;
overflow-x: auto;
-webkit-overflow-scrolling: touch;
}
.score-table-modern thead,
.gtmetrix-table-modern thead,
.checklist-table thead {
display: none;
}
.score-table-modern tbody,
.gtmetrix-table-modern tbody,
.checklist-table tbody {
display: block;
width: 100%;
}
.score-table-modern tr,
.gtmetrix-table-modern tr,
.checklist-table tr {
display: block;
margin-bottom: 15px;
border: 1px solid var(--border);
border-radius: var(--radius);
padding: 15px;
background: var(--bg-card);
}
.score-table-modern td,
.gtmetrix-table-modern td,
.checklist-table td {
display: block;
text-align: left !important;
padding: 8px 0;
border: none;
border-bottom: 1px solid var(--border);
}
.score-table-modern td:last-child,
.gtmetrix-table-modern td:last-child,
.checklist-table td:last-child {
border-bottom: none;
}
.score-table-modern td::before,
.gtmetrix-table-modern td::before,
.checklist-table td::before {
content: attr(data-label) ": ";
font-weight: 600;
color: var(--primary);
display: inline-block;
min-width: 120px;
margin-right: 10px;
}
.score-table-modern td:not([data-label])::before,
.gtmetrix-table-modern td:not([data-label])::before,
.checklist-table td:not([data-label])::before {
display: none;
}
.carousel-container {
height: 400px;
max-width: 100%;
margin: 15px auto 25px;
}
.accordion-header {
padding: 15px 20px;
font-size: 1rem;
}
.accordion-content {
padding: 0 20px 15px;
}
.code-snippet {
padding: 12px 15px;
font-size: 0.8rem;
margin: 20px 0;
overflow-x: auto;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
word-wrap: normal;
white-space: pre;
}
.code-snippet code {
white-space: pre;
word-wrap: normal;
display: block;
overflow-x: auto;
max-width: 100%;
}
.code-snippet {
padding: 20px 12px 10px 12px;
}
.code-snippet::before {
font-size: 0.65rem;
left: 12px;
padding: 2px 5px;
}
.calc-btn {
width: 100%;
padding: 12px 20px;
font-size: 1rem;
margin: 10px 0;
}
.section-header {
padding: 20px 10px;
}
.reading-progress {
height: 4px;
}
.opt-detail-block {
width: 100%;
max-width: 100%;
box-sizing: border-box;
padding-left: 0;
padding-right: 0;
}
.iso-quote-card {
width: 100%;
max-width: 100%;
box-sizing: border-box;
word-wrap: break-word;
overflow-wrap: break-word;
}
.color-semantic-grid {
display: flex;
flex-direction: column;
gap: 10px;
flex-wrap: wrap;
}
.color-semantic-item {
width: 100%;
box-sizing: border-box;
word-wrap: break-word;
overflow-wrap: break-word;
}
.main-content {
overflow: visible;
word-wrap: break-word;
overflow-wrap: break-word;
touch-action: pan-y pinch-zoom;
}
.content-section {
width: 100%;
max-width: 100%;
box-sizing: border-box;
overflow: visible;
}
.accordion-container {
width: 100%;
max-width: 100%;
box-sizing: border-box;
overflow: visible;
}
.accordion-header {
word-wrap: break-word;
overflow-wrap: break-word;
white-space: normal;
}
.accordion-title {
word-wrap: break-word;
overflow-wrap: break-word;
white-space: normal;
}
#bolum-5 .component-card-grid {
grid-template-columns: 1fr !important;
}
#bolum-6 .component-card-grid {
grid-template-columns: 1fr !important;
}
.analysis-steps-grid[style*="grid-template-columns"] {
grid-template-columns: 1fr !important;
}
}
@media (max-width: 480px) {
.container {
padding: 0 10px;
}
.main-content {
padding: 10px 5px;
}
h1 {
font-size: 1.5rem;
line-height: 1.2;
margin-bottom: 15px;
}
h2.section-title {
font-size: 1.3rem;
margin-top: 15px;
margin-bottom: 12px;
}
h3 {
font-size: 1.15rem;
}
h4 {
font-size: 1rem;
}
p, li {
font-size: 0.9rem;
line-height: 1.5;
}
.sidebar-header {
padding: 15px;
}
.sidebar h2 {
font-size: 1rem;
}
.nav-scroll-area {
padding: 8px 10px;
overflow-x: auto;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
}
.sidebar {
overflow-x: auto;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
}
.vital-card,
.detail-info-card,
.mobile-factor-card,
.tool-section-card,
.concept-item-card,
.opt-step-card,
.accordion-content-box,
.analysis-step-card,
.component-card {
padding: 15px;
margin-bottom: 12px;
width: 100%;
box-sizing: border-box;
min-width: 0;
word-wrap: break-word;
overflow-wrap: break-word;
}
.subsection-title {
padding: 10px 12px;
font-size: 1rem;
}
.subsection-image-container {
gap: 12px;
margin: 15px 0;
}
.section-hero-image {
margin: 15px 0;
}
.code-snippet {
padding: 15px 10px 8px 10px;
font-size: 0.75rem;
}
.code-snippet::before {
font-size: 0.6rem;
left: 10px;
}
.accordion-container {
margin-top: 20px;
}
.accordion-header {
padding: 12px 15px;
font-size: 0.95rem;
}
.accordion-content {
padding: 0 15px 12px;
}
#bolum-5 .component-card-grid,
#bolum-6 .component-card-grid {
grid-template-columns: 1fr !important;
gap: 12px;
}
.analysis-steps-grid[style*="grid-template-columns"] {
grid-template-columns: 1fr !important;
gap: 12px;
}
}
@media (max-width: 580px) {
.section-5-2, .section-5-3, .section-5-5,
.section-7-1, .section-7-4, .section-7-5,
.section-8-2, .section-8-5,
.section-9-1, .section-9-3,
.section-10-2,
.section-11-2, .section-11-3, .section-11-4 {
width: 100% !important;
max-width: 100% !important;
box-sizing: border-box !important;
overflow-x: auto !important;
overflow-wrap: break-word !important;
word-wrap: break-word !important;
white-space: normal !important;
display: block !important;
}
.section-5-2 *, .section-5-3 *, .section-5-5 *,
.section-7-1 *, .section-7-4 *, .section-7-5 *,
.section-8-2 *, .section-8-5 *,
.section-9-1 *, .section-9-3 *,
.section-10-2 *,
.section-11-2 *, .section-11-3 *, .section-11-4 * {
max-width: 100% !important;
overflow-wrap: break-word !important;
word-wrap: break-word !important;
box-sizing: border-box !important;
}
.section-5-2.concept-item-grid,
.section-8-2.concept-item-grid,
.section-9-3.concept-item-grid {
grid-template-columns: 1fr !important;
display: grid !important;
}
.section-5-2[style*="display: flex"],
.section-5-3[style*="display: flex"],
.section-5-5[style*="display: flex"],
.section-7-1[style*="display: flex"],
.section-7-4[style*="display: flex"],
.section-7-5[style*="display: flex"],
.section-8-2[style*="display: flex"],
.section-8-5[style*="display: flex"],
.section-9-1[style*="display: flex"],
.section-9-3[style*="display: flex"],
.section-10-2[style*="display: flex"],
.section-11-2[style*="display: flex"],
.section-11-3[style*="display: flex"],
.section-11-4[style*="display: flex"] {
flex-wrap: wrap !important;
}
.section-5-5 .guide-feature-grid {
grid-template-columns: 1fr !important;
display: grid !important;
}
@media (max-width: 580px) {
.section-5-3 {
width: 100% !important;
max-width: 100% !important;
overflow-x: auto !important;
box-sizing: border-box !important;
padding-bottom: 10px !important;
}
.section-5-3 .code-snippet {
width: 100% !important;
max-width: 100% !important;
min-width: 100% !important;
overflow-x: auto !important;
overflow-y: hidden !important;
white-space: pre !important;
-webkit-overflow-scrolling: touch !important;
display: block !important;
box-sizing: border-box !important;
}
.section-5-3 .code-snippet code {
white-space: pre !important;
display: inline-block !important;
min-width: max-content !important;
overflow-x: auto !important;
}
}
@media (max-width: 580px) {
.section-8-2.concept-item-grid {
display: flex !important;
flex-wrap: nowrap !important;
overflow-x: auto !important;
gap: 20px !important;
padding-bottom: 10px !important;
-webkit-overflow-scrolling: touch !important;
width: 100% !important;
max-width: 100% !important;
box-sizing: border-box !important;
}
.section-8-2 .concept-item-card {
flex: 0 0 300px !important;
min-width: 300px !important;
max-width: 300px !important;
box-sizing: border-box !important;
overflow-wrap: break-word !important;
word-break: break-word !important;
}
}
@media (max-width: 580px) {
.section-11-4 .technical-table-card {
width: 100% !important;
max-width: 100% !important;
min-width: 100% !important;
overflow-x: auto !important;
-webkit-overflow-scrolling: touch !important;
box-sizing: border-box !important;
padding-bottom: 10px !important;
}
.section-11-4 .technical-grid-table {
min-width: max-content !important;
width: auto !important;
overflow-x: auto !important;
}
.section-11-4 .tool-section-card h5 ~ ul {
min-width: 100% !important;
max-width: 100% !important;
overflow-x: auto !important;
white-space: normal !important;
box-sizing: border-box !important;
}
.section-11-4 .tool-section-card h5 ~ ul li {
min-width: max-content !important;
white-space: normal !important;
word-break: break-word !important;
}
}
.section-5-2.concept-item-grid {
display: grid !important;
grid-template-columns: repeat(2, minmax(280px, 1fr)) !important;
overflow-x: auto !important;
-webkit-overflow-scrolling: touch;
scrollbar-width: thin;
scrollbar-color: var(--primary) var(--border);
}
.section-5-2 .concept-item-card {
min-width: 280px !important;
flex-shrink: 0;
}
.section-5-3 {
min-width: min-content !important;
overflow-x: auto !important;
-webkit-overflow-scrolling: touch;
}
.section-5-3 .code-snippet {
min-width: 400px !important;
max-width: 100% !important;
overflow-x: auto !important;
-webkit-overflow-scrolling: touch;
word-wrap: break-word !important;
white-space: pre !important;
}
.section-5-3 .code-snippet code {
white-space: pre !important;
word-wrap: normal !important;
}
.section-8-2.concept-item-grid {
display: grid !important;
grid-template-columns: repeat(2, minmax(300px, 1fr)) !important;
overflow-x: auto !important;
-webkit-overflow-scrolling: touch;
scrollbar-width: thin;
scrollbar-color: var(--primary) var(--border);
gap: 20px !important;
min-width: min-content !important;
}
.section-8-2 .concept-item-card {
min-width: 300px !important;
flex-shrink: 0 !important;
width: auto !important;
max-width: none !important;
box-sizing: border-box !important;
overflow-wrap: break-word !important;
word-wrap: break-word !important;
}
.section-8-2.concept-item-grid::-webkit-scrollbar {
height: 8px;
}
.section-8-2.concept-item-grid::-webkit-scrollbar-track {
background: var(--border);
border-radius: 4px;
}
.section-8-2.concept-item-grid::-webkit-scrollbar-thumb {
background: var(--primary);
border-radius: 4px;
}
.section-8-2.concept-item-grid::-webkit-scrollbar-thumb:hover {
background: var(--success);
}
#bolum-9 h3.subsection-title:nth-of-type(2) ~ .summary-card-grid {
justify-items: flex-start !important;
justify-content: flex-start !important;
width: calc(100% - 20px) !important;
max-width: calc(100% - 20px) !important;
margin-left: 20px !important;
padding-right: 20px !important;
}
#bolum-9 h3.subsection-title:nth-of-type(2) ~ .summary-card-grid .summary-card {
width: 100% !important;
max-width: 100% !important;
box-sizing: border-box !important;
}
#bolum-9 .highlight-box.warning {
width: 100% !important;
max-width: 100% !important;
box-sizing: border-box !important;
overflow-x: auto !important;
overflow-wrap: break-word !important;
word-wrap: break-word !important;
white-space: normal !important;
}
#bolum-9 .highlight-box.warning p {
white-space: normal !important;
word-wrap: break-word !important;
overflow-wrap: break-word !important;
}
.section-11-4 .technical-table-card {
overflow-x: auto !important;
-webkit-overflow-scrolling: touch;
scrollbar-width: thin;
scrollbar-color: var(--primary) var(--border);
width: 100% !important;
min-width: min-content !important;
max-width: none !important;
}
.section-11-4 .technical-grid-table {
overflow-x: auto !important;
-webkit-overflow-scrolling: touch;
min-width: min-content !important;
}
.section-11-4 .technical-row {
min-width: max-content !important;
}
.section-11-4 .technical-row-item {
white-space: normal !important;
word-wrap: break-word !important;
overflow-wrap: break-word !important;
}
.section-11-4 .tool-section-card h5 {
width: 100% !important;
max-width: 100% !important;
box-sizing: border-box !important;
}
.section-11-4 .tool-section-card h5 ~ ul {
display: block !important;
overflow-x: auto !important;
-webkit-overflow-scrolling: touch;
scrollbar-width: thin;
scrollbar-color: var(--primary) var(--border);
width: 100% !important;
min-width: min-content !important;
max-width: none !important;
padding: 20px !important;
background: var(--bg-card) !important;
border: 1px solid var(--border) !important;
border-radius: var(--radius) !important;
margin: 15px 0 !important;
box-sizing: border-box !important;
}
.section-11-4 .tool-section-card h5 ~ ul li {
white-space: normal !important;
word-wrap: break-word !important;
overflow-wrap: break-word !important;
min-width: max-content !important;
}
.section-5-2.concept-item-grid::-webkit-scrollbar,
.section-8-2.concept-item-grid::-webkit-scrollbar,
.section-11-4 .technical-table-card::-webkit-scrollbar,
.section-11-4 .technical-grid-table::-webkit-scrollbar,
.section-11-4 .tool-section-card h5 ~ ul::-webkit-scrollbar {
height: 8px;
}
.section-5-2.concept-item-grid::-webkit-scrollbar-track,
.section-8-2.concept-item-grid::-webkit-scrollbar-track,
.section-11-4 .technical-table-card::-webkit-scrollbar-track,
.section-11-4 .technical-grid-table::-webkit-scrollbar-track,
.section-11-4 .tool-section-card h5 ~ ul::-webkit-scrollbar-track {
background: var(--border);
border-radius: 4px;
}
.section-5-2.concept-item-grid::-webkit-scrollbar-thumb,
.section-8-2.concept-item-grid::-webkit-scrollbar-thumb,
.section-11-4 .technical-table-card::-webkit-scrollbar-thumb,
.section-11-4 .technical-grid-table::-webkit-scrollbar-thumb,
.section-11-4 .tool-section-card h5 ~ ul::-webkit-scrollbar-thumb {
background: var(--primary);
border-radius: 4px;
}
.section-5-2.concept-item-grid::-webkit-scrollbar-thumb:hover,
.section-8-2.concept-item-grid::-webkit-scrollbar-thumb:hover,
.section-11-4 .technical-table-card::-webkit-scrollbar-thumb:hover,
.section-11-4 .technical-grid-table::-webkit-scrollbar-thumb:hover,
.section-11-4 .tool-section-card h5 ~ ul::-webkit-scrollbar-thumb:hover {
background: var(--success);
}
}
@media (max-width: 580px) {
.section-8-2-wrapper {
width: 100% !important;
max-width: 100% !important;
box-sizing: border-box !important;
overflow-x: auto !important;
overflow-y: hidden !important;
-webkit-overflow-scrolling: touch;
padding-bottom: 10px;
}
.section-8-2.concept-item-grid {
display: flex !important;
flex-direction: row !important;
flex-wrap: nowrap !important;
gap: 20px !important;
min-width: max-content;
margin-top: 0 !important;
padding: 0 !important;
}
}
.section-8-2 .concept-item-card {
min-width: 300px !important;
max-width: none !important;
width: 300px !important;
flex-shrink: 0 !important;
box-sizing: border-box !important;
overflow-wrap: break-word !important;
word-wrap: break-word !important;
}
.vital-card .vital-title,
.detail-info-card h4,
.mobile-factor-card h5,
.tool-section-card h4 {
font-size: 1rem;
margin-bottom: 10px;
}
.core-vitals-grid,
.detail-info-grid,
.mobile-factor-grid,
.measurement-grid,
.lighthouse-grid,
.wpt-features-grid,
.concept-item-grid,
.opt-step-grid,
.accordion-item-content-grid,
.analysis-steps-grid,
.component-card-grid {
grid-template-columns: 1fr !important;
gap: 12px;
margin-top: 15px;
}
.component-card-grid {
grid-template-columns: 1fr !important;
}
.carousel-container {
height: 300px;
margin: 10px auto 20px;
}
.carousel-nav-btn {
padding: 8px 10px;
font-size: 1.2rem;
}
.prev-btn {
left: 5px;
}
.next-btn {
right: 5px;
}
.score-table-modern tr,
.gtmetrix-table-modern tr,
.checklist-table tr {
padding: 12px;
margin-bottom: 12px;
}
.score-table-modern td,
.gtmetrix-table-modern td,
.checklist-table td {
padding: 6px 0;
font-size: 0.85rem;
}
.code-snippet {
padding: 18px 12px 10px 12px;
font-size: 0.75rem;
margin: 15px 0;
overflow-x: auto;
overflow-y: hidden;
-webkit-overflow-scrolling: touch;
word-wrap: normal;
white-space: pre;
max-width: 100%;
}
.code-snippet code {
white-space: pre;
word-wrap: normal;
display: block;
overflow-x: auto;
max-width: 100%;
font-size: 0.75rem;
}
.code-snippet::before {
font-size: 0.65rem;
left: 12px;
padding: 2px 5px;
}
.accordion-header {
padding: 12px 15px;
font-size: 0.95rem;
}
.accordion-header .accordion-title i {
font-size: 1.2rem;
}
.accordion-content {
padding: 0 15px 12px;
font-size: 0.9rem;
}
.calc-btn {
padding: 10px 15px;
font-size: 0.95rem;
}
.section-header {
padding: 15px 5px;
}
.section-header p {
font-size: 0.9rem;
}
.chip-grid,
.color-semantic-grid {
gap: 8px;
}
.chip,
.color-semantic-item {
padding: 6px 12px;
font-size: 0.8rem;
}
.detail-info-grid {
gap: 12px;
}
.measurement-item {
padding: 12px 15px;
font-size: 0.85rem;
}
.lighthouse-item {
padding: 10px 12px;
font-size: 0.8rem;
}
.question-row {
flex-direction: column;
align-items: flex-start;
gap: 10px;
}
.question-options {
margin-top: 10px;
margin-left: 0;
flex-wrap: wrap;
}
.question-options label {
margin-left: 0;
margin-right: 15px;
font-size: 0.9rem;
}
.results-box {
padding: 15px;
}
.results-box h4 {
font-size: 1.3rem;
}
.status-badge {
padding: 10px 15px;
font-size: 0.85rem;
}
.tool-card-no-bg {
padding: 15px;
}
.note-card {
padding: 15px;
margin-top: 20px;
}
.additional-metrics-box {
padding: 15px;
font-size: 0.9rem;
margin-top: 20px;
}
.code-snippet,
pre code {
display: block;
max-width: 100%;
overflow-x: auto;
white-space: pre;
padding: 12px;
border-radius: 8px;
}
.concept-item-card,
.conclusion-summary-box,
.technical-table-card,
.table-card,
.generic-card {
width: 100%;
max-width: 100%;
overflow-x: auto;
box-sizing: border-box;
}
.horizontal-scroll {
overflow-x: auto;
white-space: nowrap;
padding-bottom: 8px;
}
.horizontal-scroll .card {
display: inline-block;
vertical-align: top;
width: 320px;
min-width: 280px;
margin-right: 12px;
}
.section-9-2 .card {
margin-left: 0 !important;
padding-left: 10px;
}
@media (max-width: 580px) {
.concept-item-card,
.conclusion-summary-box,
.technical-table-card,
.table-card {
width: 100%;
overflow-x: auto;
}
.horizontal-scroll .card {
width: 260px;
min-width: 250px;
}
h5, h4 {
white-space: normal !important;
word-break: break-word;
}
}
@media (min-width: 481px) and (max-width: 768px) {
.core-vitals-grid,
.detail-info-grid,
.mobile-factor-grid {
grid-template-columns: repeat(2, 1fr);
gap: 20px;
}
.measurement-grid {
grid-template-columns: repeat(2, 1fr);
}
.lighthouse-grid {
grid-template-columns: repeat(3, 1fr);
}
.carousel-container {
height: 450px;
}
}
@media (min-width: 769px) and (max-width: 1024px) {
.container {
max-width: 100%;
padding: 0 20px;
}
.sidebar {
width: 240px;
}
.main-content {
padding: 25px 20px;
}
.core-vitals-grid,
.detail-info-grid,
.mobile-factor-grid {
grid-template-columns: repeat(2, 1fr);
gap: 20px;
}
.measurement-grid {
grid-template-columns: repeat(3, 1fr);
}
.lighthouse-grid {
grid-template-columns: repeat(4, 1fr);
}
h1 {
font-size: 2rem;
}
h2.section-title {
font-size: 1.6rem;
}
}
@media (min-width: 1025px) and (max-width: 1440px) {
.container {
max-width: 1400px;
}
.sidebar {
width: 260px;
}
.main-content {
padding: 30px 25px;
}
}
@media (min-width: 1441px) {
.container {
max-width: 1600px;
}
.main-content {
padding: 40px 30px;
}
}
@media (orientation: landscape) and (max-height: 500px) {
.sidebar {
max-height: 100vh;
overflow-y: auto;
}
.carousel-container {
height: 300px;
}
}
@media print {
.sidebar,
.reading-progress,
.carousel-nav-btn,
.calc-btn {
display: none;
}
.container {
flex-direction: column;
}
.main-content {
width: 100%;
padding: 0;
}
.vital-card,
.detail-info-card,
.mobile-factor-card {
page-break-inside: avoid;
}
}
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
.code-snippet {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
}
@media (prefers-reduced-motion: reduce) {
*,
*::before,
*::after {
animation-duration: 0.01ms !important;
animation-iteration-count: 1 !important;
transition-duration: 0.01ms !important;
}
.carousel-slide-wrapper {
transition: none;
}
}
html {
-webkit-overflow-scrolling: touch;
}
body {
overflow-x: clip;
touch-action: pan-y pinch-zoom;
}
.container,
.main-content,
.hero-section,
.content-section,
.section-collapsible,
.subsection-content,
.accordion-container {
touch-action: pan-y pinch-zoom;
}
.content-section .section-title.collapsible-header {
width: 100%;
box-sizing: border-box;
}
.subsection-title,
.accordion-header,
.component-card.opt-card-collapsible {
-webkit-tap-highlight-color: rgba(37, 99, 235, 0.12);
}
.reading-progress {
position: fixed;
top: 0;
left: 0;
height: 4px;
width: 0;
background: linear-gradient(90deg, var(--primary), var(--success));
z-index: 1001;
pointer-events: none;
}
.carousel-container {
touch-action: pan-y pinch-zoom;
}
.carousel-container.dragging {
touch-action: none;
}
.scroll-x-target,
.code-snippet,
.section-5-3,
.section-8-2-wrapper,
.section-11-4 .technical-table-card,
.section-11-4 .tool-section-card h5 ~ ul {
touch-action: pan-x pan-y;
-webkit-overflow-scrolling: touch;
}