/* 
    PORTFOLIO CHRONICLE: RESUME PAGE DESIGN SYSTEM
    A Maximalist Brutalist Magazine Theme
*/

@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Space+Grotesk:wght@300;400;700&family=Playfair+Display:ital,wght@0,900;1,900&family=UnifrakturMaguntia&display=swap');

:root {
    --bg: #ffffff;
    --text: #000000;
    --accent: #007BFF;
    --gray: #666666;
    --border: 3px solid #000;
    --border-thin: 1px solid #000;
    --font-heading: 'Archivo Black', sans-serif;
    --font-body: 'Space Grotesk', sans-serif;
    --font-serif: 'Playfair Display', serif;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body#resume-page {
    background-color: #eee;
    background-image: 
        radial-gradient(#aaa 1px, transparent 1px),
        linear-gradient(to right, rgba(0,0,0,0.05) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(0,0,0,0.05) 1px, transparent 1px);
    background-size: 20px 20px, 60px 60px, 60px 60px;
    font-family: var(--font-body);
    color: var(--text);
    padding: 40px 20px;
    position: relative;
    overflow-x: hidden;
}

/* Floating Stickers (Background Only) */
.floating-stickers {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; pointer-events: none; z-index: -1;
}

.sticker-icon {
    position: absolute; font-size: 3.5rem; color: rgba(0,0,0,0.1); transform: rotate(-15deg);
    filter: drop-shadow(4px 4px 0 rgba(0,0,0,0.05));
    opacity: 0.35;
}
.sticker-icon.react { top: 12%; left: 4%; transform: rotate(15deg); color: #61dafb; }
.sticker-icon.vue { top: 32%; right: 6%; transform: rotate(-10deg); color: #42b883; }
.sticker-icon.js { bottom: 22%; left: 7%; transform: rotate(8deg); color: #f7df1e; }
.sticker-icon.python { bottom: 12%; right: 5%; transform: rotate(-12deg); color: #3776ab; }
.sticker-icon.html { top: 5%; left: 25%; transform: rotate(-8deg); color: #e34f26; }
.sticker-icon.css { top: 60%; left: 2%; transform: rotate(12deg); color: #1572b6; }
.sticker-icon.php { top: 50%; right: 2%; transform: rotate(15deg); color: #777bb4; }
.sticker-icon.node { bottom: 45%; left: 3%; transform: rotate(-10deg); color: #339933; }
.sticker-icon.git { bottom: 5%; right: 25%; transform: rotate(10deg); color: #f05032; }
.sticker-icon.db { top: 20%; right: 25%; transform: rotate(-15deg); color: #00758f; }


.magazine-wrapper {
    max-width: 1200px; margin: 0 auto; background: var(--bg); border: var(--border);
    box-shadow: 20px 20px 0 rgba(0,0,0,0.1); position: relative; z-index: 1;
}

/* Header */
.mag-header {
    display: grid; grid-template-columns: 180px 1fr 180px; border-bottom: var(--border);
    padding: 15px 20px; background: #fafafa; align-items: center; gap: 20px;
}
.badge-wrap { display: flex; align-items: center; }
.for-hire { background: #000; color: #fff; padding: 5px 12px; font-family: var(--font-heading); font-size: 0.65rem; transform: rotate(-3deg); }
.title-wrap { text-align: center; }
.main-title { font-family: var(--font-heading); font-size: 2.2rem; line-height: 0.9; letter-spacing: -2px; }
.edition { font-size: 0.5rem; font-weight: 700; letter-spacing: 2px; margin-top: 5px; }
.meta-wrap { text-align: right; font-size: 0.65rem; font-weight: 700; font-family: var(--font-heading); }

/* Main Grid */
.mag-grid { display: grid; grid-template-columns: minmax(0, 1fr) 300px; }

/* Technical Strengths Box */
.strengths-matrix {
    display: grid; grid-template-columns: repeat(2, 1fr); gap: 25px;
    background: #000; color: #fff; padding: 30px; margin: 30px 0;
    border: 5px double #fff; outline: 2px solid #000;
    position: relative;
}
.strengths-matrix::before {
    content: 'TECHNICAL STRENGTHS'; position: absolute; top: -12px; left: 20px;
    background: #000; color: var(--accent); font-family: var(--font-heading);
    font-size: 0.65rem; padding: 2px 10px; border: 1px solid var(--accent);
}
.strength-item { display: flex; flex-direction: column; gap: 4px; }
.strength-label { font-family: var(--font-heading); font-size: 0.55rem; color: #888; letter-spacing: 1.5px; }
.strength-val { font-family: var(--font-heading); font-size: 1.6rem; line-height: 1; letter-spacing: -1px; color: #fff; }

/* Tool Logos Section */
.tool-logos-wrap {
    display: flex; flex-wrap: wrap; gap: 20px; padding: 20px; background: #fafafa; border: var(--border-thin);
    margin-top: 30px; justify-content: center;
}
.tool-logo-item {
    display: flex; flex-direction: column; align-items: center; gap: 8px; width: 80px; transition: 0.3s;
}
.tool-logo-item i, .tool-logo-item svg { font-size: 2rem; width: 2rem; height: 2rem; fill: #333; color: #333; transition: 0.3s; }
.tool-logo-item span { font-family: var(--font-heading); font-size: 0.5rem; letter-spacing: 1px; opacity: 0.6; }
.tool-logo-item:hover { transform: scale(1.1); }
.tool-logo-item:hover i { color: var(--accent); }
.tool-logo-item:hover svg { fill: var(--accent); }


/* Left Content */
.left-content-block { border-right: var(--border); padding: 0; }

.resume-hero { padding: 60px 40px; border-bottom: var(--border); background: #fff; }
.mag-headline-large { font-family: var(--font-heading); font-size: 5rem; line-height: 0.8; letter-spacing: -4px; margin-bottom: 20px; text-transform: uppercase; }
.mag-sub-headline { font-family: var(--font-serif); font-size: 1.8rem; font-style: italic; color: var(--gray); }

/* Resume Content Sections */
.res-section { padding: 60px 40px; border-bottom: var(--border); }
.res-sec-title { font-family: var(--font-heading); font-size: 2rem; margin-bottom: 40px; border-left: 10px solid #000; padding-left: 20px; text-transform: uppercase; }

/* Timeline */
.timeline-mag { display: flex; flex-direction: column; gap: 40px; }
.time-item-mag { display: grid; grid-template-columns: 150px 1fr; gap: 40px; }
.time-date { font-family: var(--font-heading); font-size: 0.8rem; color: var(--accent); }
.time-content h4 { font-family: var(--font-heading); font-size: 1.4rem; margin-bottom: 10px; }
.time-inst { font-family: var(--font-serif); font-weight: 900; font-style: italic; margin-bottom: 15px; }
.time-list { list-style: none; }
.time-list li { margin-bottom: 8px; position: relative; padding-left: 20px; font-size: 0.9rem; }
.time-list li::before { content: '→'; position: absolute; left: 0; color: var(--accent); }

/* Skills Grid (Magazine Style) */
.skills-mag-wrap { display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px; }
.skill-cat-mag h4 { font-family: var(--font-heading); font-size: 0.9rem; margin-bottom: 20px; background: #000; color: #fff; padding: 5px 15px; display: inline-block; }
.skill-tags-mag { display: flex; flex-wrap: wrap; gap: 10px; }
.skill-tag-mag { border: var(--border-thin); padding: 5px 12px; font-size: 0.8rem; font-weight: 700; transition: 0.3s; }
.skill-tag-mag:hover { background: var(--accent); color: #fff; border-color: var(--accent); transform: scale(1.05); }

/* Sidebar */
.side-block { 
    display: flex; flex-direction: column; background: #fafafa; 
    position: sticky; top: 20px; height: fit-content; align-self: start;
}
.side-sec { padding: 35px 25px; border-bottom: var(--border-thin); }
.side-label { font-family: var(--font-heading); font-size: 0.6rem; background: #000; color: #fff; padding: 3px 12px; display: inline-block; margin-bottom: 20px; }

/* Navigation */
.nav-cluster { display: flex; flex-direction: column; gap: 10px; }
.mag-link {
    display: flex; align-items: center; padding: 12px 15px; 
    border: 2px solid #000; text-decoration: none; color: var(--text); transition: all 0.3s ease; position: relative; z-index: 1;
    background: #fff; box-shadow: 4px 4px 0 #000;
}
.mag-link::before { content: ''; position: absolute; left: 0; top: 0; width: 0%; height: 100%; background: var(--accent); z-index: -1; transition: 0.3s; }
.mag-link:hover { color: #fff; border-color: var(--accent); box-shadow: 4px 4px 0 var(--accent); transform: translate(-2px, -2px); }
.mag-link:hover::before { width: 100%; }
.l-num { font-family: var(--font-heading); font-size: 0.9rem; margin-right: 15px; opacity: 0.3; }
.l-text { font-family: var(--font-heading); font-size: 0.7rem; flex: 1; letter-spacing: 0.5px; }

/* Footer */
.mag-footer { padding: 40px; background: #000; color: #fff; text-align: center; }
.footer-text { font-size: 0.7rem; font-family: var(--font-heading); letter-spacing: 2px; }

/* Responsive */
@media (max-width: 1024px) {
    body#resume-page { padding: 10px; }
    .magazine-wrapper { border-width: 2px; }
    .mag-header { grid-template-columns: 1fr; text-align: center; gap: 15px; }
    .meta-wrap { text-align: center; }
    
    .mag-grid { grid-template-columns: 1fr; }
    .side-block { position: static; border-top: var(--border); }
    .left-content-block { border-right: none; }
    
    .mag-headline-large { font-size: 3.5rem; }
    .time-item-mag { grid-template-columns: 1fr; gap: 10px; }
    
    .floating-stickers { display: none; }
    .mag-footer { padding: 30px 20px; }
}

@media (max-width: 600px) {
    .skills-mag-wrap { grid-template-columns: 1fr; gap: 30px; }
    .mag-headline-large { font-size: 2.2rem; }
    .mag-sub-headline { font-size: 1rem; }
    .res-sec-title { font-size: 1.5rem; }
    .tool-logos-wrap { gap: 10px; padding: 15px; }
    .tool-logo-item { width: 60px; }
    .tool-logo-item i { font-size: 1.5rem; }
    .strengths-matrix { grid-template-columns: 1fr; padding: 20px; gap: 15px; }
}