@import"https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Oswald:wght@400;500;700&display=swap";:root{--p5-red: #d10b1a;--p5-red-dark: #8a0612;--p5-black: #0c0c0c;--p5-off-black: #1a1010;--p5-white: #f5f1ea;--p5-cream: #ece7dc;--p5-gold: #f4c430;--p5-silver: #c8c2b6;--p5-mute: #6a6258}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--p5-black);color:var(--p5-white);font-family:Oswald,Helvetica Neue,sans-serif;font-weight:400;letter-spacing:.02em;min-height:100vh}body{background:repeating-linear-gradient(135deg,rgba(209,11,26,.04) 0,rgba(209,11,26,.04) 2px,transparent 2px,transparent 14px),var(--p5-black)}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.site-header{background:var(--p5-red);color:var(--p5-white);padding:1.2rem 2rem;position:relative;border-bottom:6px solid var(--p5-black)}.site-header:after{content:"";position:absolute;inset:auto 0 -14px;height:14px;background:var(--p5-black);clip-path:polygon(0 0,100% 0,100% 100%,96% 0,92% 100%,88% 0,84% 100%,80% 0,76% 100%,72% 0,68% 100%,64% 0,60% 100%,56% 0,52% 100%,48% 0,44% 100%,40% 0,36% 100%,32% 0,28% 100%,24% 0,20% 100%,16% 0,12% 100%,8% 0,4% 100%,0 0)}.site-header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.site-title{font-family:Bebas Neue,Oswald,sans-serif;font-size:clamp(1.6rem,3vw,2.4rem);letter-spacing:.08em;text-transform:uppercase;color:var(--p5-white);text-shadow:3px 3px 0 var(--p5-black)}.site-title small{display:block;font-size:.42em;letter-spacing:.3em;margin-top:-.2em;opacity:.85}.site-nav{display:flex;gap:.5rem;flex-wrap:wrap}.site-nav a{background:var(--p5-black);color:var(--p5-white);font-family:Bebas Neue,sans-serif;font-size:1rem;letter-spacing:.15em;padding:.45rem 1rem;text-transform:uppercase;transform:skew(-12deg);display:inline-block;border:2px solid var(--p5-white);transition:background .15s ease,color .15s ease}.site-nav a>span{display:inline-block;transform:skew(12deg)}.site-nav a:hover,.site-nav a.active{background:var(--p5-white);color:var(--p5-red)}.site-main{max-width:1200px;margin:0 auto;padding:3rem 1.5rem 5rem}.page-title{font-family:Bebas Neue,sans-serif;font-size:clamp(2.2rem,6vw,4rem);line-height:1;letter-spacing:.04em;text-transform:uppercase;color:var(--p5-white);margin-bottom:.4rem;text-shadow:5px 5px 0 var(--p5-red),8px 8px 0 var(--p5-black)}.page-sub{font-size:.9rem;letter-spacing:.25em;text-transform:uppercase;color:var(--p5-silver);margin-bottom:2.5rem}.home-cta{display:inline-block;background:var(--p5-red);color:var(--p5-white);font-family:Bebas Neue,sans-serif;font-size:1.4rem;letter-spacing:.18em;padding:.9rem 1.8rem;text-transform:uppercase;border:3px solid var(--p5-white);outline:3px solid var(--p5-black);transform:skew(-10deg);margin-bottom:3rem;transition:background .15s ease,color .15s ease}.home-cta>span{display:inline-block;transform:skew(10deg)}.home-cta:hover{background:var(--p5-white);color:var(--p5-red)}.section-heading{font-family:Bebas Neue,sans-serif;font-size:1.8rem;letter-spacing:.1em;text-transform:uppercase;margin:2rem 0 1.2rem;padding-left:1rem;border-left:8px solid var(--p5-red)}.confidant-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.confidant-card{background:var(--p5-black);border:3px solid var(--p5-white);outline:3px solid var(--p5-red);padding:.6rem;position:relative;transition:transform .15s ease,outline-color .15s ease}.confidant-card:hover{transform:translate(-2px,-2px);outline-color:var(--p5-gold)}.confidant-card .portrait{width:100%;aspect-ratio:1;object-fit:cover;background:var(--p5-red-dark);display:block}.confidant-card .name{font-family:Bebas Neue,sans-serif;font-size:1.05rem;letter-spacing:.06em;text-transform:uppercase;color:var(--p5-white);margin-top:.5rem;line-height:1.1}.confidant-card .arcana{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--p5-red);margin-top:.15rem}.confidant-card .royal-tag{position:absolute;top:-8px;right:-8px;background:var(--p5-gold);color:var(--p5-black);font-family:Bebas Neue,sans-serif;font-size:.7rem;letter-spacing:.15em;padding:2px 7px;transform:rotate(6deg);border:2px solid var(--p5-black)}.confidant-header{display:grid;grid-template-columns:minmax(140px,200px) 1fr;gap:1.5rem;align-items:end;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:4px solid var(--p5-red)}.confidant-header .portrait-frame{background:var(--p5-red);padding:.6rem;border:3px solid var(--p5-white);outline:3px solid var(--p5-black);transform:rotate(-2deg)}.confidant-header .portrait-frame img{width:100%;display:block;background:var(--p5-black)}.confidant-header .meta{display:flex;flex-direction:column;gap:.3rem}.confidant-header .arcana-line{font-size:.85rem;letter-spacing:.3em;text-transform:uppercase;color:var(--p5-red)}.confidant-header .name-large{font-family:Bebas Neue,sans-serif;font-size:clamp(2rem,5vw,3.5rem);line-height:1;text-transform:uppercase;letter-spacing:.04em;text-shadow:4px 4px 0 var(--p5-red)}.confidant-header .tags{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.tag-chip{display:inline-block;background:var(--p5-white);color:var(--p5-black);font-family:Bebas Neue,sans-serif;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;padding:.2rem .6rem;transform:skew(-10deg)}.tag-chip>span{display:inline-block;transform:skew(10deg)}.tag-chip.romance{background:var(--p5-gold)}.tag-chip.royal{background:var(--p5-red);color:var(--p5-white)}.rank-section{background:var(--p5-off-black);border-left:6px solid var(--p5-red);margin-bottom:1.4rem;padding:1.2rem 1.4rem 1.4rem;position:relative}.rank-header{display:flex;align-items:baseline;gap:.8rem;flex-wrap:wrap;margin-bottom:1rem}.rank-title{font-family:Bebas Neue,sans-serif;font-size:1.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--p5-white)}.rank-title.exam{color:var(--p5-gold)}.rank-meta{font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--p5-silver)}.rank-route-note{background:var(--p5-gold);color:var(--p5-black);font-family:Bebas Neue,sans-serif;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;padding:2px 8px}.question-block{margin-bottom:1.2rem}.question-block:last-child{margin-bottom:0}.question-label{font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--p5-red);margin-bottom:.3rem}.question-text{font-family:Oswald,sans-serif;font-size:1rem;color:var(--p5-cream);margin-bottom:.5rem;line-height:1.4;font-style:italic}.options-list{list-style:none;display:flex;flex-direction:column;gap:.3rem}.option{display:flex;align-items:center;gap:.6rem;padding:.45rem .7rem;background:#ffffff06;border-left:3px solid var(--p5-mute)}.option .pts{font-family:Bebas Neue,sans-serif;font-size:.85rem;letter-spacing:.05em;width:2.4rem;text-align:center;flex-shrink:0;padding:1px 4px;background:var(--p5-mute);color:var(--p5-black)}.option .text{flex:1;font-size:.95rem;color:var(--p5-cream)}.option .route{font-family:Bebas Neue,sans-serif;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;padding:1px 6px;background:var(--p5-black);border:1px solid var(--p5-white);color:var(--p5-white);flex-shrink:0}.option .route.romance{background:var(--p5-gold);color:var(--p5-black);border-color:var(--p5-gold)}.option.points-3{background:#f4c4301f;border-left-color:var(--p5-gold)}.option.points-3 .pts{background:var(--p5-gold);color:var(--p5-black)}.option.points-3 .text{color:var(--p5-white);font-weight:500}.option.points-2{border-left-color:var(--p5-silver)}.option.points-2 .pts{background:var(--p5-silver);color:var(--p5-black)}.option.points-1{border-left-color:var(--p5-red-dark)}.option.points-1 .pts{background:var(--p5-red-dark);color:var(--p5-white)}.option.points-0 .text{color:var(--p5-mute)}.followup-divider{font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--p5-red);margin:.7rem 0 .4rem}.classroom-list{display:flex;flex-direction:column;gap:.9rem}.classroom-entry{background:var(--p5-off-black);border-left:6px solid var(--p5-red);padding:1rem 1.2rem;display:grid;grid-template-columns:minmax(80px,110px) 1fr;gap:1rem;align-items:start}.classroom-entry.exam{border-left-color:var(--p5-gold);background:linear-gradient(90deg,rgba(244,196,48,.1),transparent 40%)}.classroom-date{font-family:Bebas Neue,sans-serif;font-size:1.6rem;letter-spacing:.05em;color:var(--p5-white)}.classroom-entry.exam .classroom-date{color:var(--p5-gold)}.classroom-tag{display:inline-block;background:var(--p5-gold);color:var(--p5-black);font-family:Bebas Neue,sans-serif;font-size:.7rem;letter-spacing:.18em;padding:1px 6px;margin-top:.2rem}.classroom-qa{display:flex;flex-direction:column;gap:.4rem}.classroom-qa .q{font-style:italic;color:var(--p5-cream);font-size:.95rem}.classroom-qa .a{display:flex;align-items:baseline;gap:.5rem;color:var(--p5-gold);font-weight:500}.classroom-qa .a:before{content:"►";font-size:.7em;color:var(--p5-red)}.site-footer{text-align:center;padding:2rem 1rem 1.5rem;font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--p5-mute)}@media(max-width:600px){.confidant-header{grid-template-columns:1fr;text-align:center}.confidant-header .portrait-frame{max-width:200px;margin:0 auto}.confidant-header .meta{align-items:center}.classroom-entry{grid-template-columns:1fr}.option{flex-wrap:wrap}.option .text{flex:1 1 100%;order:3}}
