/*
Theme Name: Semiconductor Club
Theme URI: https://semiconductorclub.com
Author: Semiconductor Club
Description: A playful, hand-drawn "doodle" theme for Semiconductor Club: daily quiz, mock AI interviews, games and calculators. Includes Chippy, a mascot that follows your cursor and shares chip facts. The home page builds itself from the pages you publish.
Version: 2.0.0
Requires at least: 5.8
Requires PHP: 7.3
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: semiconductor-club
*/

:root{
 --ink:#14213d;--blue:#0b6fe0;--blue-d:#0a5bb5;--navy:#00396f;--paper:#fffdf7;--grid:#e3e8f2;
 --yellow:#ffe97a;--pink:#ffb3c1;--mint:#a8ecd2;--orange:#ffc785;--sky:#bfe0ff;--mut:#4a5877;
 --head:"Caveat Brush","Comic Sans MS",cursive;--body:"Nunito",system-ui,-apple-system,"Segoe UI",sans-serif;
 --wob:18px 6px 22px 8px / 8px 22px 6px 18px;--wob-s:12px 5px 14px 6px / 6px 14px 5px 12px;
 --shadow:5px 5px 0 var(--ink);--shadow-s:3px 3px 0 var(--ink)
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--body);color:var(--ink);font-size:17px;line-height:1.6;
 background-color:var(--paper);background-image:radial-gradient(var(--grid) 1.3px,transparent 1.3px);background-size:24px 24px}
img{max-width:100%;height:auto}
a{color:var(--blue-d);font-weight:700}
a:hover{color:var(--navy)}
:focus-visible{outline:3px dashed var(--blue);outline-offset:3px}
.wrap{max-width:1100px;margin:0 auto;padding:0 22px}
.screen-reader-text{position:absolute;left:-9999px}
.skip{position:absolute;left:-9999px;top:8px;background:#fff;padding:8px 14px;z-index:99;border:2px solid var(--ink)}
.skip:focus{left:8px}

/* doodle buttons */
.btn-doodle,.cta,.chip .btn{display:inline-block;background:var(--blue);color:#fff!important;border:3px solid var(--ink);border-radius:var(--wob-s);
 padding:10px 20px;font-family:var(--head);font-size:21px;line-height:1.1;text-decoration:none;box-shadow:var(--shadow-s);cursor:pointer;transition:transform .12s,box-shadow .12s}
.btn-doodle:hover,.cta:hover,.chip .btn:hover{transform:translate(-2px,-2px) rotate(-1deg);box-shadow:5px 5px 0 var(--ink);color:#fff}
.btn-doodle:active,.cta:active,.chip .btn:active{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--ink)}

/* header */
.site-header{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:3px solid var(--ink)}
.bar{display:flex;align-items:center;gap:18px;min-height:70px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-family:var(--head);font-size:28px;line-height:1}
.brand svg{width:44px;height:44px;flex:0 0 44px;transition:transform .3s}
.brand:hover svg{transform:rotate(-12deg) scale(1.08)}
.brand .lt{color:var(--blue)}
.custom-logo{max-height:48px;width:auto}
.nav{margin-left:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;align-items:center}
.nav a{position:relative;display:block;padding:8px 14px;text-decoration:none;color:var(--ink);font-family:var(--head);font-size:21px}
.nav a::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:8px;opacity:0;transition:opacity .15s;
 background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='8'%3E%3Cpath d='M0 4Q6 0 12 4T24 4' fill='none' stroke='%23ff6b8a' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x 0 0/24px 8px}
.nav a:hover::after,.nav .current-menu-item>a::after{opacity:1}
.menu-btn{display:none;margin-left:auto;background:var(--yellow);border:3px solid var(--ink);border-radius:var(--wob-s);padding:6px 14px;font-family:var(--head);font-size:20px;color:var(--ink);cursor:pointer;box-shadow:var(--shadow-s)}

/* hero */
.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:36px;align-items:center;padding:44px 0 10px}
.hero h1{margin:0 0 14px;font-family:var(--head);font-weight:400;font-size:clamp(40px,6.4vw,72px);line-height:1.02;color:var(--ink)}
.scribble{background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='8'%3E%3Cpath d='M0 4Q6 0 12 4T24 4' fill='none' stroke='%23ff6b8a' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x 0 100%/24px 8px;padding-bottom:8px;color:var(--blue)}
.hero .lede{margin:0 0 26px;font-size:19px;color:var(--mut);max-width:30em}

/* sticky note = today's quiz */
.chip{position:relative;display:block;max-width:400px;background:var(--yellow);border:3px solid var(--ink);border-radius:var(--wob);padding:30px 24px 22px;box-shadow:var(--shadow);transform:rotate(-1.6deg);transition:transform .2s}
.chip:hover{transform:rotate(0deg) translateY(-3px)}
.chip::before{content:"";position:absolute;top:-16px;left:50%;width:90px;height:28px;margin-left:-45px;background:rgba(191,224,255,.85);border:2px solid var(--ink);transform:rotate(3deg)}
.chip .date{margin:0;font-weight:800;font-size:14px;color:var(--mut)}
.chip h2{margin:2px 0 4px;font-family:var(--head);font-weight:400;font-size:32px;line-height:1.1}
.chip .sub{margin:0 0 16px;font-size:15px;color:#3b4660}
.chip .btn{display:block;text-align:center;background:var(--blue);padding:12px 18px;font-size:23px}
.chip .streak{margin:12px 0 0;font-size:14px;font-weight:700;text-align:center}
.chip .streak b{color:var(--blue-d);font-size:17px}

/* mascot */
.mascot-wrap{position:relative;display:flex;flex-direction:column;align-items:center;min-height:380px;justify-content:flex-end}
.bubble{position:relative;max-width:300px;min-height:84px;background:#fff;border:3px solid var(--ink);border-radius:var(--wob);padding:14px 18px;font-size:16px;font-weight:700;line-height:1.4;box-shadow:var(--shadow-s);margin-bottom:22px}
.bubble::after{content:"";position:absolute;bottom:-17px;left:50%;margin-left:-14px;width:24px;height:24px;background:#fff;border-right:3px solid var(--ink);border-bottom:3px solid var(--ink);transform:rotate(45deg) skew(8deg,8deg)}
.chippy{width:min(280px,70vw);cursor:pointer;animation:bob 3.2s ease-in-out infinite;-webkit-tap-highlight-color:transparent}
.chippy.hop{animation:hop .5s ease}
.hint{position:absolute;right:2%;bottom:34%;font-family:var(--head);font-size:21px;color:var(--blue-d);transform:rotate(8deg);pointer-events:none}
@keyframes bob{0%,100%{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-8px) rotate(1.5deg)}}
@keyframes hop{0%{transform:translateY(0) scale(1)}30%{transform:translateY(-34px) scale(1.06,.94)}60%{transform:translateY(0) scale(.96,1.05)}100%{transform:translateY(0) scale(1)}}

/* areas */
.areas-sec{padding:60px 0 0}
.areas-sec h2.t{margin:0 0 4px;font-family:var(--head);font-weight:400;font-size:clamp(34px,4.6vw,48px)}
.lead{margin:0 0 30px;color:var(--mut);font-size:18px}
.areas{display:grid;grid-template-columns:1fr 1fr;gap:30px 28px}
.area{--c:var(--yellow);background:#fff;border:3px solid var(--ink);border-radius:var(--wob);box-shadow:var(--shadow);transition:transform .18s,box-shadow .18s;overflow:hidden}
.area:nth-child(1){--c:var(--yellow);transform:rotate(-.7deg)}
.area:nth-child(2){--c:var(--pink);transform:rotate(.6deg)}
.area:nth-child(3){--c:var(--mint);transform:rotate(.5deg)}
.area:nth-child(4){--c:var(--orange);transform:rotate(-.6deg)}
.area:hover{transform:rotate(0) translate(-3px,-4px);box-shadow:9px 9px 0 var(--ink)}
.area-head{display:flex;align-items:center;gap:14px;background:var(--c);border-bottom:3px solid var(--ink);padding:16px 20px}
.area-head svg{width:58px;height:58px;flex:0 0 58px}
.area:hover .area-head svg{animation:wig .5s ease}
@keyframes wig{0%,100%{transform:rotate(0)}25%{transform:rotate(-12deg) scale(1.1)}75%{transform:rotate(10deg) scale(1.1)}}
.area-head h3{margin:0;font-family:var(--head);font-weight:400;font-size:30px;line-height:1.05}
.area-body{padding:16px 20px 20px}
.area-body p{margin:0 0 12px;font-size:15px;color:var(--mut)}
.area ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.area li{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:16px}
.area li a{flex:1;display:block;text-decoration:none;color:var(--ink);background:var(--c);border:2px solid var(--ink);border-radius:var(--wob-s);padding:7px 12px;box-shadow:2px 2px 0 var(--ink);transition:transform .12s,box-shadow .12s}
.area li a:hover{transform:translate(-2px,-2px);box-shadow:4px 4px 0 var(--ink)}
.area li .n{flex:1;color:var(--mut);border:2px dashed #aab3c8;border-radius:var(--wob-s);padding:7px 12px}
.soon,.live{font-family:var(--head);font-size:16px;border:2px solid var(--ink);border-radius:20px;padding:0 10px;white-space:nowrap;line-height:1.5}
.soon{background:#fff;transform:rotate(3deg)}
.live{background:var(--mint);transform:rotate(-3deg)}
.pop{opacity:0;transform:translateY(24px)}
.pop.in{opacity:1;transition:opacity .5s,transform .5s}

/* social */
.social{margin:56px 0 0;background:var(--sky);border:3px solid var(--ink);border-radius:var(--wob);box-shadow:var(--shadow);padding:26px 30px;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center;transform:rotate(.5deg)}
.social h2{margin:0 0 2px;font-family:var(--head);font-weight:400;font-size:32px}
.social p{margin:0;font-weight:600}

/* pages */
.page-main{padding:40px 0 20px}
.narrow{max-width:820px;margin:0 auto}
.page-main h1.title{display:inline-block;margin:0 0 22px;font-family:var(--head);font-weight:400;font-size:clamp(36px,5vw,56px);line-height:1.05;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='8'%3E%3Cpath d='M0 4Q6 0 12 4T24 4' fill='none' stroke='%23ff6b8a' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x 0 100%/24px 8px;padding-bottom:10px}
.entry img{border:3px solid var(--ink);border-radius:var(--wob-s)}
.entry h2,.entry h3{font-family:var(--head);font-weight:400;line-height:1.15}
.entry h2{font-size:36px}.entry h3{font-size:28px}
.meta{color:var(--mut);font-size:14px;font-weight:700;margin:0 0 18px}
.post-card{background:#fff;border:3px solid var(--ink);border-radius:var(--wob);box-shadow:var(--shadow-s);padding:18px 22px;margin-bottom:22px}
.post-card h2{margin:0 0 4px;font-family:var(--head);font-weight:400;font-size:30px}
.post-card h2 a{text-decoration:none;color:var(--ink)}
.pager{display:flex;justify-content:space-between;padding:20px 0;font-family:var(--head);font-size:22px}
.notfound{text-align:center;padding:50px 0}
.notfound h1{font-family:var(--head);font-weight:400;font-size:110px;margin:0;color:var(--blue)}

/* footer */
.site-footer{margin-top:70px;background:var(--navy);color:#d6e6fb;border-top:3px solid var(--ink);padding:34px 0 26px;font-size:14px;position:relative}
.site-footer::before{content:"";position:absolute;left:0;right:0;top:-14px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='12'%3E%3Cpath d='M0 12L6 2 12 12 18 2 24 12Z' fill='%2300396f'/%3E%3C/svg%3E") repeat-x 0 0/24px 12px}
.site-footer a{color:#fff}
.foot-top{display:flex;flex-wrap:wrap;gap:16px 40px;justify-content:space-between;align-items:center;margin-bottom:16px}
.site-footer ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:6px 22px}
.site-footer .brand{color:#fff;font-size:30px}
.disc{opacity:.85;margin:0}

/* ===== make the pasted tools (quiz, daily quiz, calculators) match the doodle look ===== */
body #sc-daily,body #sc-quiz,body #sc-tools{font-family:var(--body)!important;background:#fff;border:3px solid var(--ink)!important;border-radius:var(--wob)!important;box-shadow:var(--shadow);overflow:hidden;margin-top:6px}
body #sc-daily .top,body #sc-quiz .top{background:var(--blue)!important;border-radius:0!important;border-bottom:3px solid var(--ink)}
body #sc-daily .top h1,body #sc-quiz .top h1{font-family:var(--head)!important;font-weight:400!important;font-size:clamp(34px,6vw,46px)!important}
body #sc-daily .stats div{background:var(--yellow)!important;border:2px solid var(--ink);border-radius:var(--wob-s);color:var(--ink)}
body #sc-daily .stats span{color:var(--ink)!important;font-weight:700}
body #sc-daily .body,body #sc-quiz .body{border:0!important;border-radius:0!important;background:transparent!important}
body #sc-daily .opt,body #sc-quiz .opt{border:3px solid var(--ink)!important;border-radius:var(--wob-s)!important;box-shadow:var(--shadow-s);font-family:var(--body);font-weight:700;transition:transform .12s,box-shadow .12s}
body #sc-daily .opt:hover:not(:disabled),body #sc-quiz .opt:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink);background:var(--sky)!important}
body #sc-daily .opt.ok,body #sc-quiz .opt.ok{background:var(--mint)!important}
body #sc-daily .opt.no,body #sc-quiz .opt.no{background:var(--pink)!important}
body #sc-daily .q,body #sc-quiz .q{font-family:var(--head);font-weight:400!important;font-size:30px!important;line-height:1.15}
body #sc-daily .fb,body #sc-quiz .fb{border:3px dashed var(--ink);border-radius:var(--wob-s)}
body #sc-daily .btn,body #sc-quiz .btn{background:var(--blue)!important;color:#fff!important;border:3px solid var(--ink)!important;border-radius:var(--wob-s)!important;font-family:var(--head);font-size:22px!important;font-weight:400!important;box-shadow:var(--shadow-s)}
body #sc-daily .btn.alt,body #sc-quiz .btn.alt{background:#fff!important;color:var(--ink)!important}
body #sc-daily .btn:hover,body #sc-quiz .btn:hover{transform:translate(-2px,-2px);box-shadow:5px 5px 0 var(--ink)}
body #sc-daily .big,body #sc-quiz .score{font-family:var(--head);font-weight:400!important}
body #sc-daily .next{background:var(--yellow)!important;border:2px solid var(--ink);border-radius:var(--wob-s)}
body #sc-daily .topic,body #sc-quiz .topic{background:var(--yellow)!important;border:3px solid var(--ink)!important;border-radius:var(--wob-s)!important;box-shadow:var(--shadow-s)}
body #sc-quiz .topic b{font-family:var(--head);font-weight:400;font-size:24px}
body #sc-tools .tabs{background:var(--yellow)!important;border-bottom:3px solid var(--ink)!important}
body #sc-tools .tabs button{font-family:var(--head)!important;font-weight:400!important;font-size:20px!important}
body #sc-tools .tabs button[aria-selected=true]{color:var(--ink)!important;border-bottom:5px solid var(--blue)!important}
body #sc-tools h3{font-family:var(--head)!important;font-weight:400!important;font-size:32px!important}
body #sc-tools .out{border:3px solid var(--ink)!important;border-left-width:3px!important;border-radius:var(--wob-s)!important;box-shadow:var(--shadow-s)}
body #sc-tools input,body #sc-tools select{border:2px solid var(--ink)!important;border-radius:var(--wob-s)!important}

@media (max-width:820px){
 .menu-btn{display:block}
 .nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--paper);border-bottom:3px solid var(--ink);padding:10px 22px 16px}
 .nav.open{display:block}
 .nav ul{flex-direction:column;align-items:stretch}
 .bar>.cta{display:none}
 .hero{grid-template-columns:1fr;padding-top:30px}
 .mascot-wrap{min-height:0}
 .areas{grid-template-columns:1fr}
 .area,.area:nth-child(n){transform:none}
}
@media (prefers-reduced-motion:reduce){
 *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .pop{opacity:1;transform:none}
}
.site-footer .brand .lt{color:var(--yellow)}
