@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@500;700&family=Newsreader:opsz,wght@6..72,400;6..72,500;6..72,700&display=swap');
:root{--red:#b5121b;--red2:#e52231;--red-dark:#7f0911;--ink:#12100e;--muted:#756a60;--paper:#f6efe3;--surface:#fffaf0;--line:#decbb2;--soft:#eedbc1;--white:#fff;--gold:#c89a45;--mono:'JetBrains Mono',monospace;--sans:'DM Sans',system-ui,sans-serif;--serif:'Newsreader',Georgia,serif;--shadow:0 24px 70px rgba(65,32,16,.13)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);overflow-x:hidden}body:before{content:"";position:fixed;inset:0;pointer-events:none;z-index:-2;background:linear-gradient(rgba(181,18,27,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(181,18,27,.035) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(#000,transparent 78%)}body:after{content:"";position:fixed;width:420px;height:420px;border:80px solid rgba(181,18,27,.08);border-radius:50%;right:-210px;top:18vh;z-index:-1;pointer-events:none}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}.site{min-height:100vh;display:flex;flex-direction:column}.wrap{width:min(1160px,calc(100% - 40px));margin-inline:auto}.nav{position:sticky;top:12px;z-index:50;margin:12px auto 0;width:min(1160px,calc(100% - 24px));background:rgba(255,250,240,.78);border:1px solid rgba(20,17,15,.14);backdrop-filter:blur(20px);border-radius:999px;padding:8px 10px;display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand img{height:36px;width:auto}.brand span{font-family:var(--mono);font-size:11px;font-weight:900;letter-spacing:.08em;white-space:nowrap}.links{display:flex;gap:3px;background:rgba(20,17,15,.055);border-radius:999px;padding:3px}.links a{border-radius:999px;padding:8px 10px;font-size:12px;font-weight:900;color:#51473f}.links a:hover,.links a.active{background:var(--red);color:white}.nav-cta{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 13px;border-radius:999px;background:var(--ink);color:white;font-size:12px;font-weight:900}.nav-cta[data-nav="cta"]{display:none}.nav-toggle{display:none;width:36px;height:36px;border:1px solid rgba(20,17,15,.18);border-radius:999px;background:transparent;align-items:center;justify-content:center;font-size:18px;padding:0;line-height:1;flex-shrink:0}.hero{margin-top:-66px;min-height:100svh;color:white;background:linear-gradient(180deg,rgba(20,17,15,.14),rgba(20,17,15,.58) 42%,rgba(20,17,15,.94)),url('hero-smansa01.jpg') center 36%/cover;display:grid;align-items:end;padding:132px 0 30px;position:relative}.hero:after{content:"2001";position:absolute;right:2vw;bottom:2vh;font-family:var(--serif);font-size:min(24vw,360px);line-height:.82;color:rgba(255,255,255,.115);pointer-events:none;z-index:0}.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(330px,.88fr);gap:18px;align-items:end}.eyebrow,.label{font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--red)}.hero .eyebrow{color:#ffd4d8;border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.08);width:max-content;max-width:100%;border-radius:999px;padding:7px 10px}.hero h1{font-family:var(--serif);font-size:clamp(58px,8.2vw,106px);line-height:.88;font-weight:500;margin:18px 0 16px;max-width:760px}.hero h1 span{color:#e52231;text-shadow:0 2px 18px rgba(20,17,15,.28)}.hero-copy{max-width:620px;color:rgba(255,255,255,.82);font-size:20px;line-height:1.58;font-weight:300;margin:0}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}.btn{min-height:46px;border:0;border-radius:999px;padding:0 16px;display:inline-flex;align-items:center;justify-content:center;font-weight:900;transition:transform .18s ease, filter .18s ease}.btn:hover{transform:translateY(-2px)}.btn.red{background:var(--red);color:white}.btn.light{background:white;color:var(--ink)}.btn.ghost{border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:white}.hero-panel{background:rgba(255,250,241,.96);border:1px solid rgba(255,255,255,.45);border-radius:12px;color:var(--ink);padding:18px;box-shadow:var(--shadow);transform:none}.panel-head{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:14px}.panel-title{font-family:var(--serif);font-size:31px;line-height:1;font-weight:500;margin-top:5px}.live{font-family:var(--mono);font-size:10px;font-weight:900;color:white;background:var(--red);border-radius:999px;padding:8px 10px;height:max-content}.stat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:14px}.stat{background:white;border:1px solid var(--line);border-radius:9px;padding:12px;min-height:92px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .18s ease}.stat:hover{transform:translateY(-3px)}.stat b{font-family:var(--serif);font-size:38px;line-height:.9;font-weight:500;color:var(--red)}.stat span{font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:900}.section{padding:72px 0}.head{display:grid;grid-template-columns:minmax(0,.85fr) minmax(280px,.45fr);gap:24px;align-items:end;margin-bottom:24px}.title{font-family:var(--serif);font-size:clamp(44px,6.2vw,78px);line-height:.92;font-weight:500;margin:0}.copy{color:var(--muted);font-size:17px;line-height:1.65;margin:0}.feature-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.feature{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;min-height:250px;display:flex;flex-direction:column;justify-content:space-between;transition:transform .18s ease,border-color .18s ease}.feature:nth-child(even){transform:translateY(18px)}.feature:hover{border-color:var(--red);transform:translateY(-4px)}.feature:nth-child(even):hover{transform:translateY(10px)}.feature-num{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--red);color:white;font-family:var(--serif);font-size:18px}.feature h3{font-family:var(--serif);font-size:32px;line-height:1;font-weight:500;margin:0}.feature p{color:var(--muted);line-height:1.5;margin:8px 0 0}.feature small{font-family:var(--mono);font-size:10px;color:var(--red);font-weight:900;text-transform:uppercase;letter-spacing:.1em}.page-hero{padding:86px 0 28px;position:relative}.page-hero:before{content:attr(data-watermark);position:absolute;right:4vw;top:20px;font-family:var(--serif);font-size:min(22vw,240px);line-height:1;color:rgba(181,18,27,.07);pointer-events:none}.page-hero .wrap{position:relative}.page-hero .title{max-width:850px}.command-strip{margin-top:22px;display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ink);border:1px solid var(--ink);border-radius:12px;overflow:hidden}.command-cell{background:var(--surface);padding:14px}.command-cell b{display:block;font-family:var(--serif);font-size:32px;color:var(--red);line-height:.95}.command-cell span{display:block;margin-top:6px;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}.toolbar{background:var(--ink);color:white;border-radius:14px;padding:16px;display:grid;grid-template-columns:minmax(220px,1fr) repeat(4,minmax(130px,.35fr));gap:10px;margin-bottom:14px;box-shadow:var(--shadow)}.field label{display:block;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.52);font-weight:900;margin-bottom:6px}.field input,.field select{width:100%;min-height:44px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:#26211e;color:white;padding:0 12px;outline:0}.field input:focus,.field select:focus{border-color:var(--red2);box-shadow:0 0 0 3px rgba(229,34,49,.18)}.meta{font-family:var(--mono);font-size:11px;color:var(--muted);font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin:12px 3px}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}.person-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px;min-height:178px;display:flex;flex-direction:column;justify-content:flex-start;gap:12px;transition:transform .18s ease,border-color .18s ease,background .18s ease}.person-card:hover{transform:translateY(-4px) rotate(-.4deg);border-color:var(--red);background:white}.person-card h3{font-family:var(--serif);font-size:26px;line-height:1.04;font-weight:500;margin:0;min-height:58px;display:flex;align-items:flex-start}.initial{width:40px;height:40px;border-radius:50%;background:var(--red);color:white;display:grid;place-items:center;font-family:var(--serif);font-size:17px}.tags{display:flex;gap:6px;flex-wrap:wrap;align-content:flex-start}.tag{background:#f2e4d1;color:#5f5147;border-radius:999px;padding:5px 8px;font-family:var(--mono);font-size:10px;font-weight:900;line-height:1.15}.tag.red{background:var(--red);color:white}.spotlight{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;background:var(--red);color:white;border-radius:14px;padding:16px;margin-bottom:14px}.spotlight h2{font-family:var(--serif);font-size:36px;line-height:1;margin:0}.spotlight p{margin:4px 0 0;color:rgba(255,255,255,.76)}.spotlight button{border:1px solid rgba(255,255,255,.4);background:white;color:var(--red);border-radius:999px;min-height:40px;padding:0 14px;font-weight:900}.rank-layout{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rank-col{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px}.rank-col h2{font-family:var(--serif);font-size:36px;font-weight:500;line-height:1;margin:0 0 12px}.rank-list{display:grid;gap:8px}.rank-item,.group-card{width:100%;border:1px solid var(--line);background:white;border-radius:9px;text-align:left;padding:12px;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;transition:transform .18s ease,border-color .18s ease}.rank-item:hover,.group-card:hover{transform:translateX(4px);border-color:var(--red)}.rank-item strong,.group-card strong{font-size:16px}.rank-item small,.group-card small{display:block;color:var(--muted);margin-top:3px}.rank-item b,.group-card b{font-family:var(--serif);font-size:34px;color:var(--red);font-weight:500;line-height:.9}.class-layout{display:grid;grid-template-columns:260px 1fr;gap:14px}.class-tabs{position:sticky;top:96px;display:grid;gap:7px;background:var(--ink);border-radius:12px;padding:10px}.class-tab{border:1px solid rgba(255,255,255,.16);background:transparent;color:white;border-radius:999px;min-height:38px;text-align:left;padding:0 12px;font-weight:900}.class-tab.active{background:var(--red);border-color:var(--red)}.class-view{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px}.class-view h2{font-family:var(--serif);font-size:62px;font-weight:500;line-height:.9;margin:0 0 14px}.class-members{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.mini{background:white;border:1px solid var(--line);border-radius:9px;padding:10px}.mini b{display:block}.mini small{display:block;color:var(--muted);margin-top:3px}.cms-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.cms-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px;min-height:224px;transition:transform .18s ease}.cms-card:hover{transform:translateY(-3px)}.cms-card h3{font-family:var(--serif);font-size:34px;font-weight:500;line-height:1;margin:0 0 10px}.cms-card p{color:var(--muted);line-height:1.55}.cms-list{display:grid;gap:8px;margin-top:14px}.cms-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:8px;font-family:var(--mono);font-size:11px;text-transform:uppercase;font-weight:900}.story{display:grid;grid-template-columns:1.15fr .85fr;gap:14px}.story-main{min-height:560px;border-radius:12px;background:linear-gradient(180deg,rgba(20,17,15,.06),rgba(20,17,15,.82)),url('https://images.unsplash.com/photo-1511795409834-ef04bbd61622?auto=format&fit=crop&w=1400&q=82') center/cover;color:white;padding:28px;display:flex;flex-direction:column;justify-content:flex-end}.story-main h1{font-family:var(--serif);font-size:clamp(52px,7vw,90px);font-weight:500;line-height:.9;margin:10px 0}.story-main p{color:rgba(255,255,255,.74);font-size:18px;line-height:1.6}.agenda{display:grid;gap:10px}.agenda-card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px;display:grid;grid-template-columns:82px 1fr;gap:12px}.agenda-time{font-family:var(--mono);font-size:11px;color:var(--red);font-weight:900;text-transform:uppercase}.agenda-card h3{margin:0 0 5px}.agenda-card p{margin:0;color:var(--muted);line-height:1.5}.drawer{position:fixed;inset:0;z-index:80;display:none}.drawer.open{display:block}.shade{position:absolute;inset:0;background:rgba(20,17,15,.46);backdrop-filter:blur(8px)}.drawer-panel{position:absolute;right:0;top:0;bottom:0;width:min(540px,100%);background:var(--paper);padding:20px;overflow:auto;border-left:6px solid var(--red)}.drawer-head{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:14px}.drawer-head h2{font-family:var(--serif);font-size:44px;font-weight:500;line-height:1;margin:0}.close{width:40px;height:40px;border:0;border-radius:50%;background:var(--red);color:white;font-size:22px}.empty{background:var(--surface);border:1px dashed var(--line);border-radius:10px;padding:24px;text-align:center;color:var(--muted);font-weight:800}.footer{margin-top:auto;border-top:1px solid var(--line);padding:28px 0;color:var(--muted);font-family:var(--mono);font-size:11px;text-transform:uppercase;font-weight:800}.footer .wrap{display:flex;justify-content:space-between;gap:14px}
.map-stage{position:relative;min-height:520px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,rgba(255,250,240,.86),rgba(255,250,240,.96)),radial-gradient(circle at 62% 55%,rgba(181,18,27,.13),transparent 34%),radial-gradient(circle at 35% 40%,rgba(200,154,69,.14),transparent 28%);overflow:hidden;box-shadow:var(--shadow);margin-bottom:18px}.map-stage:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(181,18,27,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(181,18,27,.055) 1px,transparent 1px);background-size:36px 36px;mask-image:linear-gradient(#000,rgba(0,0,0,.52));pointer-events:none}.map-art{position:absolute;inset:0;color:rgba(181,18,27,.15);pointer-events:none}.map-art svg{width:100%;height:100%}.map-art path{fill:currentColor}.map-copy{position:absolute;left:22px;top:22px;z-index:2;max-width:360px}.map-copy h2{font-family:var(--serif);font-size:48px;line-height:.95;font-weight:500;margin:8px 0 10px}.map-copy p{margin:0;color:var(--muted);line-height:1.52}.map-legend{position:absolute;left:22px;bottom:22px;z-index:2;display:flex;gap:8px;flex-wrap:wrap}.legend-pill{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:900;border:1px solid var(--line);background:rgba(255,255,255,.72);border-radius:999px;padding:7px 9px}.map-marker{position:absolute;z-index:3;transform:translate(-50%,-50%);border:0;background:transparent;padding:0;color:var(--red)}.map-marker .dot{width:var(--size);height:var(--size);min-width:18px;min-height:18px;border-radius:999px;background:var(--red);border:3px solid white;box-shadow:0 0 0 1px rgba(20,17,15,.18),0 12px 30px rgba(181,18,27,.32);display:grid;place-items:center;transition:transform .18s ease,background .18s ease}.map-marker:hover .dot{transform:scale(1.18);background:var(--ink)}.map-marker .caption{position:absolute;left:50%;top:calc(100% + 8px);transform:translateX(-50%);display:grid;gap:1px;white-space:nowrap;text-align:center;background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:10px;padding:6px 8px;box-shadow:0 8px 22px rgba(65,32,16,.12)}.map-marker .caption strong{font-size:12px;line-height:1}.map-marker .caption small{font-family:var(--mono);font-size:9px;color:var(--red);font-weight:900}.map-marker.is-abroad{color:var(--ink)}.map-marker.is-abroad .dot{background:var(--ink)}.map-marker.is-abroad:hover .dot{background:var(--red)}.map-empty{position:absolute;right:22px;bottom:22px;z-index:2;width:min(340px,42%);border:1px solid var(--line);background:rgba(255,255,255,.72);border-radius:12px;padding:14px}.map-empty b{display:block;font-family:var(--serif);font-size:30px;line-height:1;color:var(--red);font-weight:500}.map-empty span{display:block;margin-top:5px;color:var(--muted);line-height:1.45}.map-focus{position:absolute;right:22px;top:22px;z-index:2;width:260px;border:1px solid rgba(20,17,15,.12);background:var(--red);color:white;border-radius:12px;padding:14px;box-shadow:var(--shadow)}.map-focus .label{color:rgba(255,255,255,.62)}.map-focus h3{font-family:var(--serif);font-size:34px;line-height:1;margin:8px 0 6px;font-weight:500}.map-focus p{margin:0;color:rgba(255,255,255,.76);line-height:1.45}.map-focus button{margin-top:12px;border:1px solid rgba(255,255,255,.38);background:white;color:var(--red);border-radius:999px;min-height:34px;padding:0 12px;font-weight:900}
@media(max-width:940px){.map-stage{min-height:620px}.map-copy{position:relative;left:auto;top:auto;padding:18px;max-width:none}.map-focus{position:relative;right:auto;top:auto;margin:0 18px 12px;width:auto}.map-empty{display:none}.map-marker .caption{font-size:11px}.map-legend{left:18px;bottom:18px}.map-art{top:110px}}
@media(max-width:560px){.map-stage{min-height:680px}.map-marker .caption{display:none}.map-marker .dot{border-width:2px}.map-copy h2{font-size:40px}.map-art{transform:scale(1.18);transform-origin:center}.map-legend{right:18px}.legend-pill{font-size:9px}}
@media(max-width:560px){
  body[data-page="sebaran"] .map-stage-real{display:flex;flex-direction:column;min-height:auto;overflow:visible}
  body[data-page="sebaran"] .map-stage-real .map-copy{order:1;padding:14px 16px}
  body[data-page="sebaran"] .map-stage-real #real-map{order:2;position:relative;height:260px}
  body[data-page="sebaran"] .map-stage-real .map-focus{order:3;position:relative;top:auto;right:auto;margin:12px 0 0;width:auto}
  body[data-page="sebaran"] .map-stage-real .map-legend{order:4;position:relative;bottom:auto;left:auto;padding:10px 0;background:none;border:0;box-shadow:none}
}

@media(max-width:940px){.nav{top:8px;grid-template-columns:1fr auto auto;position:relative}.nav-toggle{display:flex}.nav-cta[data-nav="cta"]{display:inline-flex}.links{display:none;position:absolute;left:8px;right:8px;top:calc(100% + 8px);flex-direction:column;gap:4px;background:rgba(255,250,240,.98);border:1px solid rgba(20,17,15,.12);border-radius:16px;padding:8px;box-shadow:0 8px 32px rgba(20,17,15,.14);backdrop-filter:blur(20px);z-index:10}.links a{border-radius:10px;padding:11px 14px;font-size:13px;justify-content:flex-start}.nav.is-open .links{display:flex}.brand span{display:none}.hero{margin-top:-62px;padding-top:112px}.hero-grid,.head,.rank-layout,.class-layout,.story,.cms-grid{grid-template-columns:1fr}.feature-grid{grid-template-columns:repeat(2,1fr)}.feature:nth-child(even),.feature:nth-child(even):hover{transform:none}.toolbar{grid-template-columns:1fr 1fr}.toolbar .field:first-child{grid-column:1/-1}.class-tabs{position:static}.story-main{min-height:480px}.footer .wrap{display:grid}.command-strip{grid-template-columns:repeat(2,1fr)}}
.feature-tabs{display:none;gap:6px;margin-bottom:14px;background:rgba(20,17,15,.06);border-radius:999px;padding:4px}.feature-tab{flex:1;border:0;border-radius:999px;padding:9px 8px;font-size:12px;font-weight:900;background:transparent;color:var(--muted);cursor:pointer;transition:background .18s,color .18s}.feature-tab.is-active{background:var(--red);color:white}
@media(max-width:560px){.feature-tabs{display:flex}.home-feature-grid .feature{display:none}.home-feature-grid .feature.tab-visible{display:flex}}
@media(max-width:560px){.wrap{width:min(100% - 28px,1120px)}.hero h1{font-size:60px}.hero-copy,.copy{font-size:15.5px}.hero-panel{padding:14px;transform:none}.stat-grid,.feature-grid{grid-template-columns:1fr}.toolbar{grid-template-columns:1fr 1fr}.toolbar .field:first-child{grid-column:1/-1}.command-strip{grid-template-columns:1fr 1fr}.command-cell{padding:10px}.command-cell b{font-size:24px}.command-cell span{font-size:9px}.section{padding:48px 0}.title{font-size:45px}.cards{grid-template-columns:1fr}.page-hero{padding-top:94px}.hero{min-height:auto;padding-bottom:36px}.home-panel{display:none}body[data-page="directory"] .command-strip,body[data-page="sebaran"] .command-strip{display:none}.spotlight{grid-template-columns:1fr}.agenda-card{grid-template-columns:1fr}.drawer-panel{padding:16px}.class-view h2{font-size:46px}.hero:after{display:none}}


.map-stage-real{min-height:640px;padding:0;background:var(--surface);overflow:hidden}.map-stage-real:before,.map-stage-real .map-art,.map-stage-real .map-empty{display:none}.map-stage-real #real-map{position:absolute;inset:0;z-index:1;background:#efe3d1}.map-stage-real .map-copy{z-index:4;background:rgba(255,250,241,.88);border:1px solid var(--line);border-radius:12px;padding:14px;backdrop-filter:blur(14px);box-shadow:0 14px 34px rgba(65,32,16,.10)}.map-stage-real .map-focus{z-index:4}.map-stage-real .map-legend{z-index:4}.leaflet-container{font-family:var(--sans);background:#efe3d1}.leaflet-control-zoom a{color:var(--red)!important}.leaflet-popup-content-wrapper{border-radius:12px;border:1px solid var(--line);box-shadow:0 14px 34px rgba(65,32,16,.18)}.leaflet-popup-content{font-family:var(--sans);margin:12px 14px}.map-popup-title{font-family:var(--serif);font-size:24px;line-height:1;color:var(--red);margin-bottom:4px}.map-popup-meta{color:var(--muted);font-weight:800}.map-popup-btn{margin-top:10px;border:0;background:var(--red);color:white;border-radius:999px;min-height:32px;padding:0 12px;font-weight:900}.city-dot{background:var(--red);border:3px solid #fff;border-radius:999px;box-shadow:0 0 0 1px rgba(20,17,15,.18),0 12px 30px rgba(181,18,27,.32)}
@media(max-width:940px){.map-stage-real{min-height:720px}.map-stage-real #real-map{top:126px}.map-stage-real .map-copy{position:relative;margin:18px;left:auto;top:auto}.map-stage-real .map-focus{position:relative;margin:0 18px 12px;right:auto;top:auto;width:auto}.map-stage-real .map-legend{left:18px;bottom:18px}}
@media(max-width:560px){.map-stage-real{min-height:760px}.map-stage-real #real-map{top:210px}.map-stage-real .map-copy h2{font-size:36px}.map-stage-real .map-legend{right:18px}}


/* Session + verification polish */
.links a[data-nav="akun"].is-user{background:var(--ink);color:white;border:1px solid rgba(255,255,255,.18);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.links a[data-nav="akun"].is-user:before{content:"";width:7px;height:7px;border-radius:999px;background:var(--red2);display:inline-block;margin-right:7px;box-shadow:0 0 0 3px rgba(229,34,49,.18)}
.links a[data-nav="akun"].is-user.active{background:var(--red);color:white}
.hero .eyebrow{color:white;border-color:rgba(181,18,27,.72);background:rgba(181,18,27,.86);box-shadow:0 12px 34px rgba(181,18,27,.22)}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.person-card.is-verified{border-color:rgba(181,18,27,.45);background:linear-gradient(180deg,#fffaf0,#fff7ec)}.person-card.is-memoriam{background:linear-gradient(180deg,#fffaf4,#f9f1e5);border-color:rgba(20,17,15,.1)}.person-card.is-memoriam:hover{background:#fffdf9;transform:translateY(-3px)}.memoriam-mark{background:#8a6f55!important;font-size:18px;line-height:40px}.memoriam-tag{background:#efe4d4;color:#6b5848}.tag.verified{background:#d7f9df;color:#087335}.person-card.is-verified .initial{box-shadow:0 0 0 3px rgba(181,18,27,.13)}.initial.has-photo{background:var(--line);overflow:hidden;padding:0}.initial.has-photo img{width:100%;height:100%;object-fit:cover;display:block}
.card-badges{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end;align-items:center;min-width:0}.player-patch{display:inline-flex;align-items:center;justify-content:center;min-height:24px;border-radius:6px;padding:0 7px;border:1px solid rgba(20,17,15,.16);font-family:var(--mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;font-weight:900;line-height:1;white-space:nowrap;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12)}.player-patch.candidate{background:var(--red);border-color:var(--red);color:white}.player-patch.sc{background:#fffaf0;border-color:#b8955d;color:#7c581f}.player-patch.chair{background:var(--ink);border-color:var(--ink);color:#f7d18a}.person-card.has-election-patch{border-color:rgba(181,18,27,.52);box-shadow:0 18px 44px rgba(65,32,16,.10)}.profile-patches,.mini-patches{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.profile-patches{margin:8px 0 10px}.mini-patches{margin-bottom:7px}.mini .player-patch{min-height:20px;border-radius:5px;padding:0 6px;font-size:8px}.mini.has-election-patch{border-color:rgba(181,18,27,.36);background:linear-gradient(180deg,#fffdf8,#fff7ec)}
.candidate-vision-card{margin-top:16px;border:1px solid var(--line);border-radius:12px;background:#fffaf5;padding:14px;display:grid;gap:12px}.candidate-vision-card .label{margin:0;width:max-content}.candidate-vision-row{display:grid;gap:5px}.candidate-vision-row b{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--red)}.candidate-vision-row p{margin:0;color:var(--muted);font-weight:800;line-height:1.55}.candidate-doc-link{width:max-content;max-width:100%;display:inline-flex;align-items:center;justify-content:center;min-height:36px;border-radius:999px;background:var(--red);color:white;padding:0 13px;font-size:12px;font-weight:900}


/* Home page rework */
body[data-page="home"] .hero:after{display:none}
.home-panel{padding:20px;border-radius:14px}.home-panel-head{align-items:flex-start}.home-panel .panel-title{font-size:38px;line-height:.94;margin-top:7px}.home-statline{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;border-bottom:1px solid var(--line);padding:14px 0}.home-statline span{display:grid;gap:3px;color:var(--muted);font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:900}.home-statline b{font-family:var(--serif);font-size:30px;line-height:.9;color:var(--red);font-weight:500}.home-routes{display:grid;gap:8px;margin-top:14px}.home-routes a{display:grid;gap:4px;border:1px solid var(--line);background:white;border-radius:10px;padding:12px;transition:transform .18s ease,border-color .18s ease}.home-routes a:hover{transform:translateX(4px);border-color:var(--red)}.home-routes strong{font-size:15px}.home-routes span{color:var(--muted);font-size:13px;line-height:1.38}.home-head{align-items:start}.home-head .label{display:inline-flex;width:max-content;margin-bottom:12px;border-radius:999px;background:rgba(181,18,27,.1);padding:7px 10px}.home-feature-grid{grid-template-columns:repeat(3,1fr)}.home-feature-grid .feature:nth-child(even),.home-feature-grid .feature:nth-child(even):hover{transform:none}.home-feature-grid .feature{min-height:236px}.mubes-strip{margin-top:12px;border:1px solid var(--line);background:rgba(255,250,240,.72);border-radius:12px;padding:14px 16px;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center}.mubes-strip span{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;font-weight:900;color:var(--red)}.mubes-strip strong{font-size:15px;color:var(--ink)}.mubes-strip em{font-style:normal;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:var(--red)}
@media(max-width:940px){.home-feature-grid{grid-template-columns:1fr}.mubes-strip{grid-template-columns:1fr}.home-statline{grid-template-columns:1fr 1fr 1fr}}
@media(max-width:560px){.home-panel .panel-title{font-size:31px}.home-statline{grid-template-columns:1fr}.home-head .label{margin-bottom:10px}}


/* Page hero spacing fix */
.page-hero .label{display:inline-flex;width:max-content;max-width:100%;margin:0 0 14px;border-radius:999px;background:rgba(181,18,27,.1);padding:7px 10px;position:relative;z-index:2}.page-hero .title{line-height:.94;margin-top:0;position:relative;z-index:1}.page-hero .copy{max-width:1040px}
@media(max-width:560px){.page-hero .label{margin-bottom:10px}.page-hero .title{line-height:.98}}


/* SMANSA satu word mark */
.satu-mark{color:var(--red);font-weight:inherit}
.footer .satu-mark{color:var(--red)}


/* Hero Satu Cerita accent */
.hero h1 .hero-red{color:var(--red2);text-shadow:0 2px 18px rgba(20,17,15,.28)}


/* Sebaran page refinement */
body[data-page="sebaran"] .page-hero{padding-bottom:18px}
body[data-page="sebaran"] .page-hero .title{font-size:clamp(44px,5.1vw,76px);max-width:1040px}
body[data-page="sebaran"] .page-hero .copy{max-width:980px}
body[data-page="sebaran"] .map-stage-real{min-height:560px}
body[data-page="sebaran"] .map-stage-real .map-copy{max-width:365px;padding:16px}
body[data-page="sebaran"] .map-stage-real .map-copy h2{font-size:clamp(32px,3.25vw,46px);line-height:.98;margin-bottom:12px}
body[data-page="sebaran"] .map-stage-real .map-copy p{font-size:15px;line-height:1.55}
.rank-more{width:100%;border:1px solid var(--line);background:rgba(181,18,27,.08);color:var(--red);border-radius:999px;min-height:40px;padding:0 14px;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:900}
.rank-more:hover{background:var(--red);color:white}
body[data-page="sebaran"] .rank-col{align-self:start}
@media(max-width:940px){body[data-page="sebaran"] .page-hero .title{font-size:clamp(42px,10vw,64px)}body[data-page="sebaran"] .map-stage-real{min-height:660px}body[data-page="sebaran"] .map-stage-real #real-map{top:162px}body[data-page="sebaran"] .rank-layout{gap:10px}}
@media(max-width:560px){body[data-page="sebaran"] .page-hero{padding-top:18px;padding-bottom:12px}body[data-page="sebaran"] .page-hero .title{font-size:38px}body[data-page="sebaran"] .map-stage-real{min-height:720px}body[data-page="sebaran"] .map-stage-real #real-map{top:218px}body[data-page="sebaran"] .map-stage-real .map-copy{margin:12px;padding:14px}body[data-page="sebaran"] .map-stage-real .map-copy h2{font-size:34px}.rank-col h2{font-size:31px}.rank-item b{font-size:28px}}

/* Sebaran map usability: keep controls and markers unobstructed */
body[data-page="sebaran"] .map-stage-real{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,320px);
  gap:12px;
  padding:12px;
  min-height:0;
  overflow:hidden;
}
body[data-page="sebaran"] .map-stage-real .map-copy,
body[data-page="sebaran"] .map-stage-real .map-focus{
  position:relative;
  left:auto;
  right:auto;
  top:auto;
  bottom:auto;
  width:auto;
  margin:0;
  z-index:3;
}
body[data-page="sebaran"] .map-stage-real .map-copy h2{
  font-size:clamp(28px,2.4vw,38px);
}
body[data-page="sebaran"] .map-stage-real .map-focus h3{
  font-size:30px;
}
body[data-page="sebaran"] .map-stage-real #real-map{
  position:relative !important;
  inset:auto !important;
  grid-column:1 / -1;
  height:min(58vh,560px);
  min-height:430px;
  border-radius:12px;
  overflow:hidden;
  z-index:1;
}
body[data-page="sebaran"] .map-stage-real .map-legend{
  left:24px;
  bottom:24px;
}
@media(max-width:940px){
  body[data-page="sebaran"] .map-stage-real{grid-template-columns:1fr;padding:10px}
  body[data-page="sebaran"] .map-stage-real #real-map{height:520px;min-height:420px;top:auto !important}
}
@media(max-width:560px){
  body[data-page="sebaran"] .map-stage-real #real-map{height:460px;min-height:380px;top:auto !important}
  body[data-page="sebaran"] .map-stage-real .map-legend{left:18px;right:18px;bottom:18px}
}

/* Sebaran map: restore immersive overlay without blocking controls */
body[data-page="sebaran"] .map-stage-real{
  display:block;
  padding:0;
  min-height:640px;
  overflow:hidden;
}
body[data-page="sebaran"] .map-stage-real #real-map{
  position:absolute !important;
  inset:0 !important;
  height:auto;
  min-height:0;
  border-radius:0;
}
body[data-page="sebaran"] .map-stage-real .map-copy{
  position:absolute;
  left:22px;
  bottom:62px;
  top:auto;
  width:min(360px,calc(100% - 44px));
  max-width:360px;
  padding:14px 16px;
  pointer-events:none;
}
body[data-page="sebaran"] .map-stage-real .map-copy h2{
  font-size:clamp(29px,2.55vw,42px);
  line-height:.98;
}
body[data-page="sebaran"] .map-stage-real .map-focus{
  position:absolute;
  right:22px;
  top:22px;
  width:min(310px,calc(100% - 44px));
  min-height:auto;
  padding:15px;
  pointer-events:none;
}
body[data-page="sebaran"] .map-stage-real .map-focus button,
body[data-page="sebaran"] .map-stage-real .map-focus a{
  pointer-events:auto;
}
body[data-page="sebaran"] .map-stage-real .map-focus h3{
  font-size:30px;
}
body[data-page="sebaran"] .map-stage-real .map-focus p{
  font-size:15px;
}
body[data-page="sebaran"] .map-stage-real .map-legend{
  left:22px;
  bottom:18px;
  right:auto;
}
body[data-page="sebaran"] .leaflet-bottom.leaflet-right{
  bottom:20px;
  right:18px;
}
@media(max-width:940px){
  body[data-page="sebaran"] .map-stage-real{min-height:660px}
  body[data-page="sebaran"] .map-stage-real #real-map{top:0 !important}
  body[data-page="sebaran"] .map-stage-real .map-copy{left:14px;right:14px;bottom:72px;width:auto;max-width:330px;margin:0}
  body[data-page="sebaran"] .map-stage-real .map-focus{right:14px;top:14px;width:min(292px,calc(100% - 28px));margin:0}
}
@media(max-width:560px){
  body[data-page="sebaran"] .map-stage-real{min-height:600px}
  body[data-page="sebaran"] .map-stage-real .map-copy{display:none}
  body[data-page="sebaran"] .map-stage-real .map-focus{left:14px;right:14px;top:14px;width:auto}
  body[data-page="sebaran"] .map-stage-real .map-legend{left:14px;right:14px;bottom:14px}
}


/* Sebaran rank tabs */
.rank-tab-bar{display:none;gap:6px;margin-bottom:14px;background:rgba(20,17,15,.06);border-radius:999px;padding:4px}
.rank-tab{flex:1;border:0;border-radius:999px;padding:9px 8px;font-size:12px;font-weight:900;background:transparent;color:var(--muted);cursor:pointer;transition:background .18s,color .18s}
.rank-tab.is-active{background:var(--red);color:white}
@media(max-width:940px){.rank-tab-bar{display:flex}.rank-col{display:none}.rank-col.tab-visible{display:block}}

/* Sebaran mobile: clean override — beats all conflicting immersive/grid/flex rules above */
@media(max-width:560px){
  body[data-page="sebaran"] .map-stage-real{display:flex !important;flex-direction:column !important;min-height:0 !important;overflow:visible !important;position:static !important;padding:0 !important;background:none !important;border-radius:0 !important}
  body[data-page="sebaran"] .map-stage-real .map-copy{display:none !important}
  body[data-page="sebaran"] .map-stage-real #real-map{position:relative !important;inset:auto !important;order:1;height:300px !important;min-height:0 !important;width:100% !important;border-radius:10px !important;overflow:hidden !important}
  body[data-page="sebaran"] .map-stage-real .map-focus{position:relative !important;inset:auto !important;order:2;width:100% !important;margin:10px 0 0 !important;pointer-events:auto !important;top:auto !important;right:auto !important;left:auto !important;bottom:auto !important}
  body[data-page="sebaran"] .map-stage-real .map-legend{display:none !important}
}

/* Centered drawer — mobile */
@media(max-width:760px){
  .drawer-panel{
    position:absolute;
    left:50%;top:50%;
    transform:translate(-50%,-50%);
    right:auto;bottom:auto;
    width:calc(100% - 24px);
    max-height:90svh;
    border-left:6px solid var(--red);
    border-radius:16px;
    padding:0;
    display:flex;
    flex-direction:column;
    box-shadow:0 24px 70px rgba(20,17,15,.28);
  }
  .drawer-panel::before{display:none}
  .drawer-head{padding:16px 16px 12px;flex-shrink:0;margin-bottom:0}
  .drawer-head h2{font-size:34px}
  .class-members{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 16px 32px;flex:1;min-height:0}
  #drawer-list{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 16px 20px;flex:1;min-height:0}
  .close{width:34px;height:34px;font-size:17px;flex-shrink:0}
}

/* Upload kenangan */
body[data-page="upload"]{background:#f5ecdf}
.upload-hero{padding:86px 0 74px;position:relative;overflow:hidden}.upload-hero:before{content:"ARSIP";position:absolute;right:-.02em;top:20px;font:500 min(20vw,290px)/1 var(--serif);color:rgba(181,18,27,.055);pointer-events:none}.upload-hero-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.62fr);gap:7vw;align-items:center;position:relative}.upload-intro .eyebrow{display:inline-flex;border-radius:999px;background:rgba(181,18,27,.1);padding:7px 10px}.upload-intro h1{font:500 clamp(64px,8.6vw,116px)/.81 var(--serif);letter-spacing:-.035em;margin:22px 0 25px}.upload-intro h1 span{color:var(--red);font-style:italic}.upload-intro>p{max-width:620px;font-size:20px;line-height:1.6;color:var(--muted);margin:0}.upload-actions{margin-top:28px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}.upload-primary{display:inline-flex;align-items:center;gap:28px;justify-content:space-between;min-height:58px;padding:0 12px 0 22px;border-radius:999px;background:var(--red);color:white;font-weight:900;box-shadow:0 16px 34px rgba(181,18,27,.2);transition:.2s transform,.2s background}.upload-primary:hover{transform:translateY(-3px);background:var(--red-dark)}.upload-primary b{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:white;color:var(--red);font-size:19px}.upload-action-note{max-width:210px;color:var(--muted);font-size:12px;line-height:1.45;font-weight:700}.upload-memory-card{background:var(--ink);color:white;border-radius:16px;padding:18px;position:relative;transform:rotate(1.4deg);box-shadow:0 30px 80px rgba(65,32,16,.22)}.film-strip{display:flex;justify-content:space-between;margin:-7px 0 10px}.film-strip i{width:20px;height:13px;border-radius:2px;background:#f5ecdf}.memory-frame{background:white;padding:9px 9px 13px;color:var(--ink)}.memory-frame img{display:block;width:100%;height:280px;object-fit:cover;filter:sepia(.25) saturate(.8)}.memory-caption{display:flex;justify-content:space-between;gap:10px;align-items:end;margin-top:9px}.memory-caption span{font:italic 20px/1 var(--serif)}.memory-caption b{font:900 9px/1 var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--red)}.upload-memory-card blockquote{font:400 24px/1.28 var(--serif);margin:21px 55px 7px 4px;color:rgba(255,255,255,.86)}.memory-seal{position:absolute;right:15px;bottom:13px;width:66px;height:66px;border:1px solid rgba(255,255,255,.3);border-radius:50%;display:grid;place-content:center;text-align:center;font:700 18px/1 var(--serif);transform:rotate(-9deg);color:#ffd2d5}.memory-seal small{font:700 8px/1 var(--mono);letter-spacing:.07em}.upload-section{padding:80px 0;background:var(--surface);border-block:1px solid var(--line)}.upload-section-head{display:grid;grid-template-columns:1fr .55fr;gap:40px;align-items:end;margin-bottom:34px}.upload-section-head h2,.upload-guide h2{font:500 clamp(45px,5vw,68px)/.92 var(--serif);margin:10px 0 0}.upload-section-head p{font-size:17px;line-height:1.6;color:var(--muted);margin:0}.upload-types{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.upload-types article{min-height:265px;border:1px solid var(--line);border-radius:12px;padding:16px;display:flex;flex-direction:column;background:#fffdf8;transition:.2s transform,.2s border-color}.upload-types article:hover{transform:translateY(-4px);border-color:var(--red)}.upload-types article>span{font:900 10px var(--mono);color:var(--red)}.upload-icon{font:400 34px var(--serif);margin:auto 0;color:var(--red)}.upload-types h3{font:500 29px/1 var(--serif);margin:0 0 8px}.upload-types p{color:var(--muted);font-size:14px;line-height:1.5;margin:0}.upload-guide-section{padding:88px 0}.upload-guide-grid{display:grid;grid-template-columns:1fr .72fr;gap:18px;align-items:start}.upload-guide{background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:32px}.upload-guide ol{list-style:none;padding:0;margin:28px 0 0;counter-reset:tips}.upload-guide li{counter-increment:tips;display:grid;grid-template-columns:40px 1fr;column-gap:12px;padding:17px 0;border-top:1px solid var(--line)}.upload-guide li:before{content:"0" counter(tips);grid-row:1/3;font:900 10px var(--mono);color:var(--red);padding-top:4px}.upload-guide li b{font-size:16px}.upload-guide li span{color:var(--muted);line-height:1.5;font-size:14px;margin-top:4px}.filename-example{margin-top:8px;background:var(--ink);color:white;border-radius:10px;padding:14px 16px;display:grid;gap:7px}.filename-example small{font:900 9px var(--mono);color:#d1bca6;text-transform:uppercase;letter-spacing:.1em}.filename-example code{font:500 12px var(--mono);overflow-wrap:anywhere}.upload-purpose{background:var(--red);color:white;border-radius:15px;padding:32px;box-shadow:var(--shadow)}.upload-purpose .label{color:#ffd1d4}.upload-purpose h3{font:500 42px/1 var(--serif);margin:12px 0 25px}.upload-purpose ul{list-style:none;padding:0;margin:0}.upload-purpose li{border-top:1px solid rgba(255,255,255,.24);padding:13px 0;font-weight:800}.upload-purpose li:before{content:"✓";display:inline-grid;place-items:center;width:22px;height:22px;background:white;color:var(--red);border-radius:50%;margin-right:10px;font-size:12px}.upload-privacy{border-top:1px solid rgba(255,255,255,.3);margin-top:20px;padding-top:18px}.upload-privacy b{font:900 9px var(--mono);text-transform:uppercase;letter-spacing:.1em}.upload-privacy p{font-size:12px;line-height:1.55;color:rgba(255,255,255,.72);margin:7px 0 0}.upload-final{padding:0 0 88px}.upload-final-card{background:var(--ink);color:white;border-radius:18px;padding:42px;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center;position:relative;overflow:hidden}.upload-final-card:before{content:"2001";position:absolute;left:40%;bottom:-.22em;font:500 160px/1 var(--serif);color:rgba(255,255,255,.035)}.upload-final-card>div{position:relative}.upload-final .label{color:#ffb8bd}.upload-final h2{font:500 clamp(43px,5vw,66px)/.93 var(--serif);max-width:720px;margin:12px 0}.upload-final p{color:rgba(255,255,255,.65);margin:0 0 24px}.upload-primary.light{background:white;color:var(--ink);box-shadow:none}.upload-primary.light b{background:var(--red);color:white}.upload-qr{background:var(--surface);color:var(--ink);padding:12px;border-radius:12px;display:grid;text-align:center}.upload-qr img{width:160px;height:160px;display:block}.upload-qr span{font:900 8px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:6px}.upload-qr b{font-size:11px;margin-top:2px}
@media(max-width:940px){.upload-hero-grid,.upload-section-head,.upload-guide-grid{grid-template-columns:1fr}.upload-memory-card{max-width:540px;margin-inline:auto}.upload-types{grid-template-columns:1fr 1fr}.upload-final-card{grid-template-columns:1fr auto}.upload-intro h1{font-size:clamp(70px,13vw,102px)}}
@media(max-width:560px){.upload-hero{padding:30px 0 52px}.upload-intro h1{font-size:60px;margin:18px 0}.upload-intro>p{font-size:16px}.upload-actions{align-items:flex-start;flex-direction:column}.upload-primary{width:100%}.upload-memory-card{padding:12px}.memory-frame img{height:210px}.upload-memory-card blockquote{font-size:20px}.upload-section{padding:52px 0}.upload-section-head{gap:16px;margin-bottom:22px}.upload-section-head h2,.upload-guide h2{font-size:43px}.upload-types{grid-template-columns:1fr 1fr}.upload-types article{min-height:220px;padding:13px}.upload-icon{font-size:27px}.upload-types h3{font-size:24px}.upload-guide-section{padding:52px 0}.upload-guide,.upload-purpose{padding:22px}.upload-purpose h3{font-size:36px}.upload-final{padding-bottom:52px}.upload-final-card{padding:28px 22px;grid-template-columns:1fr}.upload-qr{width:max-content}.upload-final h2{font-size:43px}}
@media(max-width:390px){.upload-types{grid-template-columns:1fr}.upload-types article{min-height:205px}.upload-intro h1{font-size:54px}}

/* Add to Home Screen banner */
#a2hs-banner{position:fixed;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom) + var(--a2hs-lift,0px));z-index:999;background:rgba(20,17,15,.94);color:white;border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:10px 10px 10px 12px;display:flex;align-items:center;gap:10px;box-shadow:0 14px 38px rgba(20,17,15,.26);transform:translateY(calc(100% + 28px));opacity:0;transition:transform .32s cubic-bezier(.32,.72,0,1),opacity .24s ease;max-width:520px;margin:0 auto;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
#a2hs-banner.visible{transform:translateY(0);opacity:1}
#a2hs-banner .a2hs-icon{width:34px;height:34px;border-radius:12px;background:var(--red);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;line-height:1;flex-shrink:0}
#a2hs-banner .a2hs-text{flex:1;min-width:0}
#a2hs-banner strong{display:block;font-size:13px;font-weight:900;line-height:1.18}
#a2hs-banner span{display:block;font-size:11px;color:rgba(255,255,255,.72);margin-top:2px;line-height:1.35}
#a2hs-ok{flex-shrink:0;border:0;border-radius:999px;background:white;color:var(--red);font-weight:900;font-size:12px;padding:8px 12px;min-height:34px;cursor:pointer;white-space:nowrap}
#a2hs-close{flex-shrink:0;border:0;background:transparent;color:rgba(255,255,255,.62);font-size:22px;line-height:1;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:999px}
#a2hs-close:hover{background:rgba(255,255,255,.08);color:white}
@media(max-width:380px){#a2hs-banner{left:10px;right:10px;gap:8px}#a2hs-ok{padding:8px 10px}#a2hs-banner span{display:none}}

/* Nickname display polish */
.person-nick{display:block;margin-top:-7px;color:var(--muted);font-size:13px;font-weight:800;line-height:1.25}
.person-nick:before{content:"• ";color:var(--muted)}
.person-card h3 + .person-nick + .tags{margin-top:2px}
.mini-nick{display:block;color:var(--muted);font-weight:800;margin-top:2px;line-height:1.25}
.mini[data-alumni-index]{transition:transform .15s ease,border-color .15s ease,background .15s ease}
.mini[data-alumni-index]:hover{transform:translateY(-2px);border-color:var(--red);background:white}
.mini[data-alumni-index]:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(181,18,27,.22);border-color:var(--red)}



/* Kelas mini card consistency */
body[data-page="kelas"] .class-members{grid-auto-rows:minmax(74px,auto)}
body[data-page="kelas"] .mini{min-height:74px;display:grid;grid-template-rows:auto 18px auto;align-content:start;padding:10px 12px;overflow:hidden}
body[data-page="kelas"] .mini b{font-size:15px;line-height:1.16;min-height:18px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
body[data-page="kelas"] .mini-nick{height:18px;margin-top:1px;color:var(--muted);font-size:12px;font-weight:800;line-height:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-page="kelas"] .mini-meta{margin-top:0;color:var(--muted);font-size:13px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(max-width:560px){body[data-page="kelas"] .class-members{grid-auto-rows:minmax(70px,auto)}body[data-page="kelas"] .mini{min-height:70px}}

/* Upload kenangan */
body[data-page="upload"]:after{border-color:rgba(181,18,27,.055);top:42vh}
.upload-hero{padding:78px 0 66px;position:relative;overflow:hidden}
.upload-hero:before{content:"ARSIP";position:absolute;right:-.02em;bottom:-.18em;font-family:var(--serif);font-size:min(21vw,280px);line-height:1;color:rgba(181,18,27,.055);pointer-events:none}
.upload-hero-grid{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(340px,.64fr);gap:70px;align-items:center;position:relative;z-index:1}
.upload-intro .eyebrow{display:inline-flex;width:max-content;max-width:100%;border-radius:999px;padding:7px 10px;color:var(--red);background:rgba(181,18,27,.1)}
.upload-intro h1{font-family:var(--serif);font-size:clamp(64px,8.5vw,112px);font-weight:500;line-height:.82;letter-spacing:-.035em;margin:25px 0 24px;max-width:800px}
.upload-intro h1 span{color:var(--red)}
.upload-intro>p{font-size:19px;line-height:1.65;color:var(--muted);max-width:670px;margin:0}
.upload-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:28px}
.upload-primary{min-height:58px;padding:0 21px;border-radius:999px;background:var(--red);color:white;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-weight:900;box-shadow:0 14px 34px rgba(181,18,27,.24);transition:transform .18s ease,background .18s ease}
.upload-primary:hover{transform:translateY(-3px);background:var(--red-dark)}
.upload-primary svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.upload-actions>span{font-family:var(--mono);font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:900}
.upload-intro .upload-trust{font-size:12px;margin-top:18px;display:flex;align-items:center;gap:7px;color:#675a50;font-weight:800}
.upload-trust svg{width:20px;height:20px;padding:3px;border-radius:50%;background:rgba(181,18,27,.1);stroke:var(--red);fill:none;stroke-width:2.5}
.memory-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:15px;padding:13px 13px 20px;box-shadow:var(--shadow);transform:rotate(2.2deg)}
.memory-photo{height:330px;border-radius:9px;background:linear-gradient(180deg,rgba(20,17,15,.03),rgba(20,17,15,.3)),url('hero-smansa01.jpg') center/cover;filter:saturate(.72) sepia(.08)}
.memory-caption{padding:18px 9px 2px;display:grid;gap:8px}.memory-caption span{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--red);font-weight:900}.memory-caption strong{font-family:var(--serif);font-size:23px;line-height:1.15;font-weight:500}
.film-edge{position:absolute;left:-32px;bottom:52px;width:72px;height:26px;background:rgba(181,18,27,.78);transform:rotate(-9deg);opacity:.65}
.upload-section{background:var(--ink);color:white;position:relative}
.upload-section-head{display:grid;grid-template-columns:1fr .62fr;gap:40px;align-items:end;margin-bottom:30px}.upload-section-head h2,.upload-guide-card h2,.upload-use-card h2{font-family:var(--serif);font-size:clamp(44px,5.3vw,70px);line-height:.93;font-weight:500;margin:10px 0 0}.upload-section-head p{color:rgba(255,255,255,.62);font-size:17px;line-height:1.65;margin:0}.upload-section .label{color:#ff838b}
.upload-types{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.upload-types article{position:relative;min-height:280px;padding:20px;border:1px solid rgba(255,255,255,.15);border-radius:13px;background:rgba(255,255,255,.045);display:flex;flex-direction:column}.upload-types article>span{position:absolute;right:18px;top:18px;font-family:var(--mono);font-size:10px;color:rgba(255,255,255,.4)}.upload-types svg{width:42px;height:42px;margin-bottom:auto;fill:none;stroke:#ff6771;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}.upload-types h3{font-family:var(--serif);font-size:30px;line-height:1;margin:26px 0 9px;font-weight:500}.upload-types p{margin:0;color:rgba(255,255,255,.58);line-height:1.52}
.upload-guide-section{padding-top:80px}.upload-guide-grid{display:grid;grid-template-columns:1.08fr .72fr;gap:12px;align-items:stretch}.upload-guide-card,.upload-use-card{border:1px solid var(--line);border-radius:15px;padding:28px;background:var(--surface)}.upload-guide-card h2{font-size:clamp(42px,4.8vw,64px);max-width:680px}.upload-guide-card ol{list-style:none;padding:0;margin:28px 0 0;display:grid}.upload-guide-card li{display:grid;grid-template-columns:42px 1fr;gap:12px;border-top:1px solid var(--line);padding:16px 0}.upload-guide-card li>b{font-family:var(--mono);font-size:10px;color:var(--red);padding-top:4px}.upload-guide-card li span{display:grid;gap:3px;color:var(--muted);line-height:1.5}.upload-guide-card li strong{color:var(--ink);font-size:16px}.filename-example{background:var(--ink);color:white;border-radius:10px;padding:13px 15px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.filename-example span{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.52);font-weight:900}.filename-example code{font-family:var(--mono);font-size:11px;color:#ff9da3;word-break:break-all}
.upload-use-card{background:var(--red);color:white;display:flex;flex-direction:column;justify-content:space-between}.upload-use-card .label{color:rgba(255,255,255,.65)}.upload-use-card h2{font-size:clamp(40px,4.3vw,59px)}.upload-use-card ul{list-style:none;margin:28px 0;padding:0;display:grid;gap:0}.upload-use-card li{border-top:1px solid rgba(255,255,255,.22);padding:13px 0 13px 28px;position:relative;font-weight:800}.upload-use-card li:before{content:"✓";position:absolute;left:2px;color:white}.upload-qr{display:flex;align-items:center;gap:15px;border-radius:12px;background:white;color:var(--ink);padding:12px}.upload-qr img{width:100px;height:100px;display:block;border-radius:4px}.upload-qr div{display:grid;gap:5px}.upload-qr strong{font-family:var(--serif);font-size:22px;line-height:1}.upload-qr span{font-size:12px;line-height:1.5;color:var(--muted)}.upload-qr b{color:var(--red)}
.upload-closing{text-align:center;padding:90px 0 96px}.upload-closing .wrap{max-width:880px}.closing-mark{font-family:var(--serif);font-size:90px;line-height:.4;color:var(--red);display:block}.upload-closing h2{font-family:var(--serif);font-size:clamp(44px,6vw,72px);line-height:.98;font-weight:500;margin:18px 0}.upload-closing p{color:var(--muted);font-size:17px}.upload-closing .btn{margin-top:10px;min-height:50px;padding-inline:22px}
@media(max-width:940px){.upload-hero-grid{grid-template-columns:1fr .65fr;gap:28px}.upload-intro h1{font-size:70px}.memory-photo{height:290px}.upload-section-head,.upload-guide-grid{grid-template-columns:1fr}.upload-types{grid-template-columns:1fr 1fr}.upload-types article:last-child{grid-column:1/-1}.upload-use-card{gap:20px}.upload-qr{max-width:390px}}
@media(max-width:560px){.upload-hero{padding:32px 0 46px}.upload-hero-grid{grid-template-columns:1fr}.upload-intro h1{font-size:59px;line-height:.86;margin:20px 0}.upload-intro>p{font-size:16px}.upload-actions{align-items:flex-start;flex-direction:column}.upload-primary{width:100%}.memory-card{margin:12px 7px 0;transform:rotate(1deg)}.memory-photo{height:245px}.memory-caption strong{font-size:21px}.upload-section-head{gap:14px}.upload-section-head h2{font-size:45px}.upload-section-head p{font-size:15px}.upload-types{grid-template-columns:1fr}.upload-types article,.upload-types article:last-child{grid-column:auto;min-height:225px}.upload-guide-section{padding-top:48px}.upload-guide-card,.upload-use-card{padding:20px}.upload-guide-card h2,.upload-use-card h2{font-size:42px}.filename-example{align-items:flex-start;flex-direction:column}.upload-qr{padding:10px;gap:10px}.upload-qr img{width:86px;height:86px}.upload-qr strong{font-size:19px}.upload-closing{padding:68px 0}.upload-closing h2{font-size:43px}.upload-closing .btn{width:100%}}





/* Kelas yearbook direction */
body[data-page="kelas"] .page-hero{
  padding:56px 0 18px;
}
body[data-page="kelas"] .page-hero:before{
  font-size:min(18vw,180px);
  top:12px;
}
body[data-page="kelas"] .page-hero .label{
  margin-bottom:10px;
}
body[data-page="kelas"] .page-hero .title{
  font-size:clamp(48px,5.5vw,76px);
  max-width:760px;
  line-height:.94;
}
body[data-page="kelas"] .page-hero .copy{
  max-width:760px;
  font-size:16px;
  line-height:1.6;
}
body[data-page="kelas"] .command-strip{
  display:none;
}
body[data-page="kelas"] .section{
  padding-top:28px;
}
body[data-page="kelas"] .class-layout{
  grid-template-columns:1fr;
  gap:14px;
}
body[data-page="kelas"] .class-tabs{
  position:static;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  background:transparent;
  border:0;
  border-radius:0;
  padding:0 0 14px;
  border-bottom:1px solid var(--line);
}
body[data-page="kelas"] .class-tab,
body[data-page="kelas"] .class-tab.active{
  width:auto;
  min-width:82px;
  height:38px;
  min-height:38px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid var(--line);
  background:rgba(255,250,240,.72);
  color:var(--ink);
  font-size:13px;
  font-weight:900;
  line-height:1;
  box-shadow:none;
  transform:none;
  margin:0;
}
body[data-page="kelas"] .class-tab::before,
body[data-page="kelas"] .class-tab.active::before{
  display:none;
  content:none;
}
body[data-page="kelas"] .class-tab:hover{
  border-color:var(--red);
  color:var(--red);
  transform:none;
}
body[data-page="kelas"] .class-tab.active{
  background:var(--red);
  color:white;
  border-color:var(--red);
}
body[data-page="kelas"] .year-switcher{width:100%;display:flex;gap:8px;padding-bottom:10px;margin-bottom:4px;border-bottom:1px solid var(--line)}
body[data-page="kelas"] .year-tab{min-height:34px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:rgba(20,17,15,.06);color:var(--muted);font-size:12px;font-weight:900;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
body[data-page="kelas"] .year-tab:hover{border-color:var(--red);color:var(--red)}
body[data-page="kelas"] .year-tab.active{background:var(--ink);color:white;border-color:var(--ink)}
body[data-page="kelas"] #class-btn-list{width:100%;display:flex;flex-wrap:wrap;gap:8px}
.kelas-selects-mobile{display:none}
@media(max-width:760px){
  body[data-page="kelas"] .class-tabs{display:flex!important;flex-direction:column!important;overflow-x:visible!important;flex-wrap:nowrap!important;gap:8px;padding-bottom:14px;border-bottom:1px solid var(--line)}
  body[data-page="kelas"] .year-switcher,body[data-page="kelas"] #class-btn-list{display:none!important}
  .kelas-selects-mobile{display:flex;flex-direction:row;gap:8px;width:100%}
  .kelas-selects-mobile select{flex:1;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);padding:0 16px;font:inherit;font-weight:900;font-size:14px;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23756a60' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px;cursor:pointer}
  .kelas-selects-mobile select:focus{outline:none;border-color:var(--red);box-shadow:0 0 0 3px rgba(181,18,27,.14)}
}
body[data-page="kelas"] .class-view{
  background:rgba(255,250,240,.74);
  border:1px solid var(--line);
  border-radius:14px;
  padding:18px;
  box-shadow:none;
}
body[data-page="kelas"] .class-view h2{
  font-size:clamp(52px,6vw,78px);
  margin-bottom:10px;
}
body[data-page="kelas"] .class-view .meta{
  margin:0 0 16px;
}
body[data-page="kelas"] .class-members{
  gap:8px;
  grid-template-columns:repeat(auto-fill,minmax(245px,1fr));
  grid-auto-rows:minmax(78px,auto);
}
body[data-page="kelas"] .mini{
  min-height:78px;
  background:white;
  border-color:var(--line);
  border-radius:10px;
  padding:12px;
  display:grid;
  grid-template-rows:auto 18px auto;
  align-content:start;
}
body[data-page="kelas"] .mini b{
  font-size:15px;
  line-height:1.18;
}
@media(max-width:940px){
  body[data-page="kelas"] .page-hero{padding-top:86px}
  body[data-page="kelas"] .class-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
  body[data-page="kelas"] .class-tab,
  body[data-page="kelas"] .class-tab.active{width:100%;min-width:0;height:38px;min-height:38px;padding:0 8px}
}
@media(max-width:560px){
  body[data-page="kelas"] .page-hero .title{font-size:43px}
  body[data-page="kelas"] .class-tabs{
    display:flex;
    flex-wrap:nowrap;
    overflow-x:auto;
    gap:6px;
    padding-bottom:10px;
    padding-right:40px;
    scrollbar-width:none;
    -ms-overflow-style:none;
  }
  body[data-page="kelas"] .class-tabs::-webkit-scrollbar{display:none}
  body[data-page="kelas"] .class-tabs.can-scroll-right{-webkit-mask-image:linear-gradient(to right,black calc(100% - 48px),transparent 100%);mask-image:linear-gradient(to right,black calc(100% - 48px),transparent 100%)}
  body[data-page="kelas"] .class-tabs.can-scroll-left{-webkit-mask-image:linear-gradient(to left,black calc(100% - 48px),transparent 100%);mask-image:linear-gradient(to left,black calc(100% - 48px),transparent 100%)}
  body[data-page="kelas"] .class-tabs.can-scroll-left.can-scroll-right{-webkit-mask-image:linear-gradient(to right,transparent 0,black 40px,black calc(100% - 48px),transparent 100%);mask-image:linear-gradient(to right,transparent 0,black 40px,black calc(100% - 48px),transparent 100%)}
  body[data-page="kelas"] .class-tab,
  body[data-page="kelas"] .class-tab.active{
    flex-shrink:0;
    width:auto;
    min-width:0;
    height:36px;
    min-height:36px;
    padding:0 14px;
    font-size:12px;
  }
  body[data-page="kelas"] .class-view{padding:14px}
  body[data-page="kelas"] .class-view h2{font-size:48px}
}

.spotlight:empty{display:none}
@media(max-width:760px){
  body[data-page="directory"] .page-hero,
  body[data-page="kelas"] .page-hero{padding-top:36px;padding-bottom:14px}
  body[data-page="directory"] .page-hero .title,
  body[data-page="kelas"] .page-hero .title{font-size:43px;line-height:.98}
  body[data-page="directory"] .page-hero .copy,
  body[data-page="kelas"] .page-hero .copy{font-size:15.5px;line-height:1.55}
  body[data-page="directory"] .section,
  body[data-page="kelas"] .section{padding-top:22px}
  body[data-page="directory"] .toolbar{margin-bottom:14px}
}
@media(max-width:560px){
  body[data-page="directory"] .page-hero,
  body[data-page="kelas"] .page-hero{padding-top:28px}
  body[data-page="directory"] .page-hero .label,
  body[data-page="kelas"] .page-hero .label{margin-bottom:9px}
  body[data-page="directory"] .toolbar{padding:14px;border-radius:12px}
}


/* Home reunion countdown */
.reunion-panel{padding:18px}.reunion-panel .panel-title{font-size:34px}.compact-statline{padding:12px 0}.compact-statline b{font-size:27px}.reunion-countdown{margin-top:14px;border:1px solid var(--line);background:var(--red);color:white;border-radius:12px;padding:14px;display:grid;gap:12px}.reunion-countdown .label{color:rgba(255,255,255,.72);background:transparent;padding:0;margin:0 0 7px}.reunion-countdown strong{display:block;font-family:var(--serif);font-size:29px;line-height:.98;font-weight:500}.reunion-countdown small{display:block;margin-top:7px;color:rgba(255,255,255,.72);font-weight:800}.countdown-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.countdown-grid span{border:1px solid rgba(255,255,255,.26);border-radius:9px;padding:10px 8px;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:rgba(255,255,255,.74)}.countdown-grid b{display:block;font-family:var(--serif);font-size:30px;line-height:.88;color:white;font-weight:500;letter-spacing:0}.home-primary-route{margin-top:12px;border:1px solid var(--line);background:white;border-radius:10px;padding:13px;display:grid;gap:4px;transition:transform .18s ease,border-color .18s ease}.home-primary-route:hover{transform:translateX(4px);border-color:var(--red)}.home-primary-route strong{font-size:16px}.home-primary-route span{color:var(--muted);font-size:13.5px;line-height:1.42}.home-routes{display:none}@media(max-width:560px){.reunion-panel .panel-title{font-size:30px}.countdown-grid{grid-template-columns:1fr 1fr 1fr}.countdown-grid b{font-size:25px}.reunion-countdown strong{font-size:25px}}


/* Split reunion countdown from home index card */
.hero-side{display:grid;gap:10px;align-self:end}.reunion-panel{padding:18px}.reunion-panel .panel-title{font-size:34px}.compact-statline{padding:12px 0}.compact-statline b{font-size:27px}.hero-side>.reunion-countdown{margin:0;border:1px solid rgba(255,255,255,.2);background:var(--red);color:white;border-radius:14px;padding:15px 16px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end;box-shadow:0 18px 48px rgba(20,17,15,.25)}.hero-side>.reunion-countdown .label{color:rgba(255,255,255,.72);background:transparent;padding:0;margin:0 0 7px}.hero-side>.reunion-countdown strong{display:block;font-family:var(--serif);font-size:27px;line-height:.98;font-weight:500}.hero-side>.reunion-countdown small{display:block;margin-top:7px;color:rgba(255,255,255,.74);font-weight:900}.hero-side .countdown-grid{display:grid;grid-template-columns:repeat(3,76px);gap:6px}.hero-side .countdown-grid span{border:1px solid rgba(255,255,255,.26);border-radius:9px;padding:9px 8px;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;font-weight:900;color:rgba(255,255,255,.74)}.hero-side .countdown-grid b{display:block;font-family:var(--serif);font-size:27px;line-height:.88;color:white;font-weight:500;letter-spacing:0}.home-primary-route{margin-top:12px;border:1px solid var(--line);background:white;border-radius:10px;padding:13px;display:grid;gap:4px;transition:transform .18s ease,border-color .18s ease}.home-primary-route:hover{transform:translateX(4px);border-color:var(--red)}.home-primary-route strong{font-size:16px}.home-primary-route span{color:var(--muted);font-size:13.5px;line-height:1.42}.home-routes{display:none}@media(max-width:940px){.hero-side>.reunion-countdown{grid-template-columns:1fr}.hero-side .countdown-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:560px){.reunion-panel .panel-title{font-size:30px}.hero-side>.reunion-countdown strong{font-size:25px}.hero-side .countdown-grid b{font-size:24px}}


/* Private data locked states */
.locked-state{width:min(100%,980px);margin:0 auto;background:rgba(255,250,240,.9);border:1px solid var(--line);border-radius:14px;padding:22px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;box-shadow:none}.locked-icon{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:var(--ink);color:white;font-size:25px}.locked-state h2{font-family:var(--serif);font-size:clamp(34px,4.8vw,58px);line-height:.96;font-weight:500;margin:7px 0 8px;color:var(--ink)}.locked-state p{max-width:680px;margin:0;color:var(--muted);line-height:1.55;font-weight:800}.cards.is-locked{display:block}.cards.is-locked .locked-state{margin-top:10px}body[data-page="directory"] .cards.is-locked{min-height:280px;display:grid;place-items:start center}.class-view .locked-state{width:100%;min-height:260px}.drawer-lock{background:rgba(255,250,240,.9);border:1px solid var(--line);border-radius:14px;padding:22px;display:grid;gap:12px;align-content:start}.drawer-lock .locked-icon{background:var(--red)}.drawer-lock h3{font-family:var(--serif);font-size:38px;line-height:.98;font-weight:500;margin:0;color:var(--ink)}.drawer-lock p{margin:0;color:var(--muted);line-height:1.55;font-weight:800}.drawer-lock .btn{width:max-content;margin-top:4px}@media(max-width:700px){.locked-state{grid-template-columns:1fr;text-align:left}.locked-state .btn{width:max-content}.locked-icon{width:52px;height:52px}.locked-state h2{font-size:38px}}


/* Locked state compact correction */
.locked-state{width:100%;max-width:980px;min-height:unset;margin:0 auto;padding:24px 28px;grid-template-columns:58px minmax(0,1fr) auto;justify-items:stretch;text-align:left}.locked-state h2{font-size:clamp(32px,3.6vw,46px);line-height:1.02;max-width:none}.locked-state p{font-size:15px;line-height:1.45;font-weight:800;max-width:620px}.cards.is-locked{width:100%;display:block}.cards.is-locked .locked-state{margin:0 auto}.class-view .locked-state{min-height:unset}.drawer-lock{max-width:420px;padding:20px}.drawer-lock h3{font-size:32px;line-height:1}.drawer-lock p{font-size:15px;line-height:1.45}.drawer-head h2{font-size:clamp(38px,4.6vw,52px)}.drawer-head{margin-bottom:12px}@media(max-width:700px){.locked-state{grid-template-columns:1fr;padding:22px}.locked-state .btn{width:max-content}.drawer-lock{max-width:none}}


/* Locked state final compact pass */
.locked-wrap{display:block!important;width:100%!important;max-width:920px!important;margin:0 auto!important}
.locked-state{width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:18px 20px!important;display:grid!important;grid-template-columns:42px minmax(0,1fr) auto!important;gap:14px!important;align-items:center!important;justify-items:stretch!important;text-align:left!important;background:rgba(255,250,240,.94)!important;border:1px solid var(--line)!important;border-radius:12px!important;box-shadow:none!important}
.locked-mark{width:42px;height:42px;border-radius:999px;display:grid;place-items:center;background:var(--ink);color:white;font-size:18px;line-height:1;flex:none}
.locked-state .locked-icon{display:none!important}
.locked-copy{min-width:0!important}.locked-copy .label{margin:0 0 5px!important;padding:0!important;background:transparent!important;color:var(--red)!important;font-size:11px!important;line-height:1!important}
.locked-state h2{font-family:var(--sans)!important;font-size:20px!important;line-height:1.15!important;font-weight:900!important;margin:0 0 4px!important;color:var(--ink)!important;letter-spacing:0!important;max-width:none!important}
.locked-state p{font-family:var(--sans)!important;max-width:none!important;margin:0!important;color:var(--muted)!important;font-size:14px!important;line-height:1.35!important;font-weight:800!important}
.locked-state .btn{min-height:38px!important;padding:0 14px!important;white-space:nowrap!important;border-radius:999px!important;align-self:center!important}
body[data-page="directory"] .locked-wrap{margin-top:10px!important}
body[data-page="kelas"] .class-view.is-locked-view{padding:14px!important;background:transparent!important;border:0!important;min-height:0!important}
body[data-page="kelas"] .class-view.is-locked-view .locked-state{max-width:820px!important;margin:0 auto!important}
.drawer-lock{max-width:360px!important;padding:18px!important;border-radius:12px!important;background:rgba(255,250,240,.94)!important;border:1px solid var(--line)!important;display:grid!important;gap:10px!important}
.drawer-lock .locked-icon{display:none!important}.drawer-lock h3{font-family:var(--sans)!important;font-size:20px!important;line-height:1.15!important;font-weight:900!important;margin:0!important;color:var(--ink)!important}.drawer-lock p{font-family:var(--sans)!important;font-size:14px!important;line-height:1.35!important;font-weight:800!important;margin:0!important;color:var(--muted)!important}.drawer-lock .btn{min-height:38px!important;padding:0 14px!important;width:max-content!important;margin-top:4px!important}
@media(max-width:760px){.locked-wrap{max-width:none!important}.locked-state{grid-template-columns:34px 1fr!important;padding:16px!important}.locked-mark{width:34px;height:34px;font-size:15px}.locked-state .btn{grid-column:2;width:max-content!important}.locked-state h2{font-size:18px!important}.locked-state p{font-size:13px!important}body[data-page="kelas"] .class-view.is-locked-view{padding:10px!important}.drawer-lock{max-width:none!important}}


/* Locked grid escape */
.cards.is-locked{display:block!important;width:100%!important;max-width:920px!important;margin:0 auto!important;min-height:0!important}
body[data-page="directory"] #roster.locked-wrap{display:block!important;width:100%!important;max-width:920px!important;margin:0 auto!important}
body[data-page="kelas"] .class-layout:has(.is-locked-view){display:block!important}
body[data-page="kelas"] .class-view.is-locked-view{width:100%!important;max-width:900px!important;margin:0 auto!important}

/* Public feature visibility */
.site-mubes-hidden [data-nav="mubes"],
.site-mubes-hidden .mubes-strip{display:none!important}

/* Kabar page */
body[data-page="kabar"]{background:#f8f1e7}
body[data-page="kabar"] .page-hero{padding-bottom:32px}
.kabar-masthead{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:28px;align-items:end;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0 26px}
.kabar-masthead .title{margin-bottom:0}
.kabar-masthead .copy{margin:0;max-width:540px;font-size:clamp(18px,2.1vw,25px);line-height:1.42;color:var(--ink);font-weight:700}
.kabar-topics{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.kabar-topics span{border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.58);padding:8px 12px;font-family:var(--mono);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.kabar-section{padding-top:34px}
.kabar-board,.kabar-detail-card{scroll-margin-top:124px}
.kabar-board{border:1px solid var(--line);border-radius:8px;background:#fffdf8;padding:22px;box-shadow:0 18px 60px rgba(55,41,26,.08)}
.kabar-board-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,420px);gap:24px;align-items:end;border-bottom:2px solid var(--ink);padding-bottom:18px;margin-bottom:20px}
.kabar-board-head h2{font-family:var(--serif);font-size:clamp(38px,4.6vw,64px);line-height:.96;font-weight:500;margin:5px 0 0;max-width:760px}
.kabar-board-head p{margin:0;color:var(--muted);font-weight:800;line-height:1.55}
.kabar-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:24px;align-items:start}
.kabar-index{position:sticky;top:82px;align-self:start;border-right:1px solid var(--line);padding-right:18px}
.kabar-index-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;font-family:var(--mono);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.kabar-index-head a{color:var(--red);text-decoration:none}
.kabar-grid{display:grid;gap:8px}
.kabar-card{width:100%;border:0;border-top:1px solid var(--line);border-radius:0;background:transparent;padding:14px 2px 16px;display:grid;gap:10px;text-decoration:none;color:var(--ink);text-align:left;cursor:pointer;transition:background .18s ease,padding .18s ease,border-color .18s ease}
.kabar-card:hover,.kabar-card.is-selected{background:#fff6ec;padding-left:12px;padding-right:12px;border-top-color:rgba(181,18,27,.42)}
.kabar-card.is-selected{box-shadow:inset 3px 0 0 var(--red)}
.kabar-card-meta{display:flex;justify-content:space-between;gap:10px;align-items:center}
.kabar-card span,.kabar-card time{font-family:var(--mono);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.kabar-card span{color:var(--red)}
.kabar-card time{color:var(--muted);white-space:nowrap}
.kabar-card h3{font-size:20px;line-height:1.12;margin:0;letter-spacing:0}
.kabar-card p{font-size:14px;line-height:1.5;color:var(--muted);font-weight:800;margin:0}
.kabar-card small{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:var(--mono);font-weight:900;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-size:10px}
.kabar-card small i{font-style:normal;color:var(--red)}
.kabar-reader{min-width:0}
.kabar-detail-card{background:white;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.kabar-detail-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:start;padding:32px 36px 28px;border-bottom:1px solid var(--line);background:#fffaf3}
.kabar-kicker{grid-column:1/-1;display:flex;align-items:center;gap:9px;font-family:var(--mono);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.kabar-kicker span{width:26px;height:1px;background:var(--line);display:inline-block}
.kabar-detail-head h2{font-family:var(--serif);font-size:clamp(40px,4.15vw,64px);line-height:1;font-weight:500;margin:0;max-width:850px}
.kabar-detail-head p{max-width:720px;margin:14px 0 0;color:var(--muted);font-size:18px;line-height:1.55;font-weight:800}
.kabar-detail-head time{align-self:start;justify-self:end;font-family:var(--mono);font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);white-space:nowrap;border:1px solid var(--line);border-radius:999px;padding:8px 10px;background:white}
.kabar-detail-shell{display:grid;grid-template-columns:118px minmax(0,1fr);gap:22px;padding:30px 38px 34px}
.kabar-detail-body{display:grid;gap:18px;max-width:760px}
.kabar-detail-body p{font-size:18px;line-height:1.82;color:var(--ink);margin:0}
.kabar-detail-body p.is-lede{font-size:22px;line-height:1.62;color:#2c231d}
.kabar-candidates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:8px 0}
.kabar-candidate{border:1px solid var(--line);border-radius:8px;background:#fffaf3;padding:14px;display:grid;gap:9px}
.kabar-candidate b{width:34px;height:34px;border-radius:999px;background:var(--ink);color:white;display:grid;place-items:center;font-family:var(--serif);font-size:20px;font-weight:500}
.kabar-candidate span{font-size:17px;font-weight:900;line-height:1.16}
.kabar-candidate a{width:max-content;max-width:100%;border:1px solid var(--red);color:var(--red);border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900}
.kabar-candidate a:hover{background:var(--red);color:white}
.kabar-closing{display:block;width:max-content;max-width:100%;border-radius:999px;background:var(--ink);color:white;padding:10px 14px;font-size:13px}
.kabar-share{position:sticky;top:92px;align-self:start;display:grid;gap:10px}
.kabar-share-head span{display:block;font-family:var(--mono);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-align:center}
.kabar-share-actions{display:grid;gap:8px}
.kabar-share-btn{border:1px solid var(--line);border-radius:999px;background:white;color:var(--ink);min-height:44px;padding:5px 10px;display:grid;grid-template-columns:34px minmax(0,1fr);gap:8px;align-items:center;font-size:12px;font-weight:900;text-decoration:none;cursor:pointer;text-align:left;box-shadow:0 8px 22px rgba(55,41,26,.05)}
.kabar-share-btn b{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;background:#f3e7d8;color:var(--ink);font-family:var(--mono);font-size:11px}
.kabar-share-btn span{white-space:nowrap}
.kabar-share-btn.is-wa b{background:#d9f8e2;color:#0c6b2d}
.kabar-share-btn.is-fb b{background:#e2edff;color:#2458a8;font-size:16px}
.kabar-share-btn.is-x b{background:#151515;color:white}
.kabar-share-btn.is-copy{font-family:inherit}
.kabar-share-status{min-height:16px;color:var(--red);font-size:12px;font-weight:800;text-align:center}
.kabar-comments{border-top:1px solid var(--line);padding:26px 38px 34px;background:#fffdf8}
.kabar-comments-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:14px}
.kabar-comments-head b{display:block;font-family:var(--serif);font-size:32px;line-height:1;font-weight:500;color:var(--ink)}
.kabar-comments-head span{display:block;margin-top:4px;font-size:13px;color:var(--muted);font-weight:800}
.kabar-comment-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:start;margin-bottom:16px;border:1px solid var(--line);border-radius:8px;background:white;padding:12px}
.kabar-comment-as{grid-column:1/-1;font-size:13px;color:var(--muted);font-weight:800}
.kabar-comment-as b{color:var(--ink)}
.kabar-comment-form textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#fffaf3;padding:12px 13px;font:inherit;color:var(--ink);resize:vertical;min-height:72px}
.kabar-comment-form .btn{min-height:44px}
.kabar-comment-gate{border:1px solid var(--line);border-radius:8px;background:white;padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px;align-items:center;margin-bottom:16px}
.kabar-comment-gate b{display:block;color:var(--ink);font-size:15px;margin-bottom:4px}
.kabar-comment-gate span{color:var(--muted);font-size:14px;line-height:1.45;font-weight:800}
.kabar-comment-list{display:grid;gap:10px}
.kabar-comment{border:1px solid var(--line);border-radius:8px;background:white;padding:14px;display:grid;gap:8px}
.kabar-comment-meta{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.kabar-comment-meta b{font-size:14px;color:var(--ink)}
.kabar-comment-meta time{font-family:var(--mono);font-size:10px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.kabar-comment p{margin:0;color:var(--ink);line-height:1.58}
.kabar-comment-empty{border:1px dashed var(--line);border-radius:8px;background:white;color:var(--muted);padding:14px;font-size:14px;font-weight:800}
.kabar-submit{margin-top:18px;border:1px solid var(--line);border-radius:8px;background:#fffdf8;padding:22px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:stretch}
.kabar-submit h2{font-family:var(--serif);font-size:42px;line-height:1;font-weight:500;margin:6px 0 10px}
.kabar-submit p{max-width:660px;color:var(--muted);line-height:1.6;font-weight:800;margin:0}
.kabar-submit-card{border:1px solid var(--line);border-radius:8px;background:white;padding:16px;display:grid;gap:14px}
.kabar-submit-card span{font-family:var(--mono);font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
.kabar-submit-card ul{margin:0;padding-left:18px;color:var(--muted);font-weight:800;line-height:1.7}
.kabar-submit-card .btn{width:max-content}
.kabar-admin-note{margin-top:18px;border:1px solid var(--line);border-radius:8px;background:#fffdf8;padding:22px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.kabar-admin-note-text .label{display:inline-block;margin-bottom:8px}
.kabar-admin-note-text p{max-width:600px;color:var(--muted);line-height:1.6;font-weight:800;margin:0}
.kabar-admin-cta{white-space:nowrap;flex-shrink:0}
.kabar-push-banner{display:flex;align-items:center;gap:12px;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:12px 14px;margin-bottom:12px}
.kabar-push-text{flex:1;min-width:0}
.kabar-push-text b{display:block;font-size:13px;font-weight:900;margin-bottom:2px}
.kabar-push-text span{font-size:12px;color:var(--muted);font-weight:700}
.kabar-push-banner .btn{white-space:nowrap;font-size:12px;padding:6px 14px;min-height:32px;flex-shrink:0}
.kabar-push-dismiss{background:none;border:none;cursor:pointer;color:var(--muted);font-size:18px;padding:0 4px;line-height:1;flex-shrink:0}
@media(max-width:760px){.kabar-admin-note{flex-direction:column;align-items:flex-start;padding:16px}}
@media(max-width:1040px){.kabar-layout{grid-template-columns:1fr}.kabar-index{position:relative;top:auto;border-right:0;border-bottom:1px solid var(--line);padding:0 0 18px}.kabar-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.kabar-card{border:1px solid var(--line);border-radius:8px;padding:14px;background:white}.kabar-card:hover,.kabar-card.is-selected{padding:14px}.kabar-detail-shell{grid-template-columns:1fr}.kabar-share{position:relative;top:auto}.kabar-share-head span{text-align:left}.kabar-share-actions{grid-template-columns:repeat(4,minmax(0,1fr))}.kabar-share-btn{grid-template-columns:1fr;justify-items:center;text-align:center}.kabar-submit{grid-template-columns:1fr}}
@media(max-width:760px){body[data-page="kabar"] .page-hero{padding-top:86px}.kabar-board,.kabar-detail-card{scroll-margin-top:96px}.kabar-masthead{grid-template-columns:1fr;gap:16px;padding:16px 0 20px}.kabar-topics{gap:6px}.kabar-topics span{font-size:10px;padding:8px 10px}.kabar-board{padding:14px;border-radius:8px}.kabar-board-head{grid-template-columns:1fr;gap:10px;padding-bottom:14px;margin-bottom:14px}.kabar-board-head h2{font-size:36px}.kabar-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:4px}.kabar-card{min-width:260px;scroll-snap-align:start}.kabar-card h3{font-size:19px}.kabar-detail-head{grid-template-columns:1fr;padding:24px 18px}.kabar-detail-head h2{font-size:38px;line-height:1.02}.kabar-detail-head p{font-size:16px}.kabar-detail-head time{width:max-content;justify-self:start}.kabar-detail-shell{padding:20px 18px 26px;gap:18px}.kabar-detail-body{max-width:none}.kabar-detail-body p{font-size:16px;line-height:1.76}.kabar-detail-body p.is-lede{font-size:18px;line-height:1.62}.kabar-candidates{display:grid;grid-template-columns:1fr}.kabar-candidate:last-child:nth-child(odd){max-width:none}.kabar-share-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.kabar-share-btn{min-height:72px}.kabar-comments{padding:22px 18px 26px}.kabar-comments-head{display:grid}.kabar-comment-form{grid-template-columns:1fr}.kabar-comment-form .btn{width:100%}.kabar-comment-gate{grid-template-columns:1fr}.kabar-comment-gate .btn{width:max-content}.kabar-submit{padding:18px}.kabar-submit h2{font-size:34px}.kabar-submit-card .btn{width:100%}}

/* Kabar modern compact pass */
body[data-page="kabar"]{background:#f6f1ea}
body[data-page="kabar"]:after{display:none}
body[data-page="kabar"] .page-hero{padding:54px 0 18px}
body[data-page="kabar"] .page-hero:before{display:none}
.kabar-masthead{border:0;border-radius:8px;background:#15120f;color:white;padding:30px;grid-template-columns:minmax(0,1fr) minmax(220px,340px);box-shadow:0 18px 52px rgba(20,17,15,.16)}
.kabar-masthead .label{background:rgba(255,255,255,.1);color:#ffdfe1;margin-bottom:12px}
.kabar-masthead .title{font-family:var(--serif);font-size:clamp(48px,6.4vw,82px);line-height:.92;font-weight:500;letter-spacing:0;max-width:760px}
.kabar-masthead .copy{align-self:end;color:rgba(255,255,255,.78);font-size:18px;line-height:1.45;font-weight:700}
.kabar-topics{margin-top:12px}
.kabar-topics span{background:white;color:var(--ink);border-color:rgba(20,17,15,.1);box-shadow:0 8px 24px rgba(20,17,15,.04)}
.kabar-section{padding-top:18px}
.kabar-board{border:0;background:transparent;padding:0;box-shadow:none}
.kabar-board-head{grid-template-columns:1fr auto;border:0;margin-bottom:14px;padding:0;align-items:center}
.kabar-board-head .label{display:none}
.kabar-board-head h2{font-family:var(--serif);font-size:38px;line-height:1;font-weight:500;margin:0;letter-spacing:0}
.kabar-board-head p{max-width:none;font-size:14px;line-height:1.35;color:var(--muted)}
.kabar-layout{grid-template-columns:1fr;gap:16px}
.kabar-index{position:relative;top:auto;border:0;padding:0}
.kabar-index-head{margin-bottom:10px}
.kabar-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.kabar-card{border:1px solid rgba(20,17,15,.1);border-radius:8px;background:white;padding:15px;min-height:150px;box-shadow:0 10px 26px rgba(20,17,15,.05);gap:12px}
.kabar-card:hover,.kabar-card.is-selected{padding:15px;transform:translateY(-2px);border-color:rgba(181,18,27,.45);background:white}
.kabar-card.is-selected{background:#17130f;color:white;box-shadow:0 16px 40px rgba(20,17,15,.18)}
.kabar-card.is-selected span,.kabar-card.is-selected time,.kabar-card.is-selected small,.kabar-card.is-selected small i{color:rgba(255,255,255,.76)}
.kabar-card p{display:none}
.kabar-card h3{font-size:20px;line-height:1.16}
.kabar-card small{margin-top:auto;padding-top:10px}
.kabar-detail-card{border:1px solid rgba(20,17,15,.1);border-radius:8px;background:white;box-shadow:0 18px 52px rgba(20,17,15,.08)}
.kabar-detail-head{background:white;border-bottom:1px solid rgba(20,17,15,.08);padding:28px 32px 22px}
.kabar-kicker{color:var(--red)}
.kabar-detail-head h2{font-family:var(--serif);font-size:clamp(38px,4.35vw,60px);line-height:.98;font-weight:500;letter-spacing:0;max-width:820px}
.kabar-detail-head p{font-size:17px;line-height:1.5;margin-top:12px;max-width:760px}
.kabar-detail-head time{border-color:rgba(20,17,15,.12);background:#f6f1ea}
.kabar-detail-shell{grid-template-columns:1fr;padding:22px 32px 18px;gap:18px}
.kabar-share{position:relative;top:auto;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;border:1px solid rgba(20,17,15,.08);border-radius:8px;background:linear-gradient(135deg,#fffdf9,#f7efe5);padding:14px 16px;margin:0 32px 24px;box-shadow:0 14px 34px rgba(20,17,15,.06)}
.kabar-share-head{display:grid;gap:2px}
.kabar-share-head b{font-size:15px;font-weight:900;color:var(--ink)}
.kabar-share-head span{text-align:left;color:var(--muted);font-size:13px;font-weight:800}
.kabar-share-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.kabar-share-btn{min-height:44px;border:1px solid rgba(20,17,15,.08);border-radius:999px;background:white;color:var(--ink);padding:5px 12px 5px 5px;display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:900;text-decoration:none;cursor:pointer;box-shadow:0 10px 24px rgba(20,17,15,.06);transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease}
.kabar-share-btn:hover{transform:translateY(-2px);box-shadow:0 16px 30px rgba(20,17,15,.10);border-color:rgba(181,18,27,.25)}
.kabar-share-btn b{width:34px;height:34px;border-radius:999px;display:grid;place-items:center;font-family:var(--mono);font-size:10px;font-weight:900;line-height:1}
.kabar-share-btn span{white-space:nowrap}
.kabar-share-btn.is-wa b{background:#daf8e4;color:#0b6b2e}
.kabar-share-btn.is-fb b{background:#e5efff;color:#2458a8;font-family:var(--sans);font-size:17px}
.kabar-share-btn.is-x b{background:#111;color:white}
.kabar-share-btn.is-copy b{background:#f1e5d6;color:#5c4d40}
.kabar-share-status{grid-column:1/-1;text-align:right;min-height:0;color:var(--red);font-size:12px;font-weight:900}
.kabar-detail-body{max-width:820px;margin:0 auto;gap:16px}
.kabar-detail-body p{font-size:18px;line-height:1.72}
.kabar-detail-body p.is-lede{font-size:19px;line-height:1.62;font-weight:800;color:#2a2520}
.kabar-candidates{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;align-items:stretch}
.kabar-candidate{background:#fbf7f1;border-color:rgba(20,17,15,.1);min-width:0}
.kabar-candidate:last-child:nth-child(odd){grid-column:auto;max-width:none}
.kabar-candidate b{width:max-content;min-width:34px;padding:0 10px;font-family:var(--mono);font-size:12px}
.kabar-comments{padding:24px 32px 30px;background:#fbf7f1}
.kabar-comments-head b{font-family:var(--serif);font-size:31px;font-weight:500}
.kabar-submit{background:white;border-color:rgba(20,17,15,.1);box-shadow:0 14px 40px rgba(20,17,15,.05)}
.kabar-submit h2{font-family:var(--serif);font-size:38px;font-weight:500;letter-spacing:0}
body[data-page="kabar"]:not(.kabar-article-mode) .kabar-reader{display:none}
body[data-page="kabar"].kabar-article-mode .kabar-hero,
body[data-page="kabar"].kabar-article-mode .kabar-board-head,
body[data-page="kabar"].kabar-article-mode .kabar-index,
body[data-page="kabar"].kabar-article-mode .kabar-submit{display:none}
body[data-page="kabar"].kabar-article-mode .kabar-section{padding-top:18px}
body[data-page="kabar"].kabar-article-mode .kabar-layout{display:block}
body[data-page="kabar"].kabar-article-mode .kabar-reader{display:block}
.kabar-back{appearance:none;border:0;background:transparent;color:var(--red);font:900 11px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:18px 32px 0;cursor:pointer}
.kabar-back:hover{text-decoration:underline}
@media(max-width:900px){.kabar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kabar-masthead{grid-template-columns:1fr}}
@media(max-width:760px){body[data-page="kabar"] .page-hero{padding-top:86px}.kabar-masthead{padding:22px}.kabar-masthead .title{font-size:42px}.kabar-masthead .copy{font-size:15px}.kabar-board-head{grid-template-columns:1fr;gap:5px}.kabar-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px;gap:10px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.kabar-grid::-webkit-scrollbar{display:none}.kabar-card{min-width:calc(100vw - 52px);scroll-snap-align:start;flex-shrink:0}.kabar-detail-head{padding:22px 18px}.kabar-detail-head h2{font-size:34px}.kabar-detail-shell{padding:18px}.kabar-share{grid-template-columns:1fr;margin:0 18px 20px;padding:14px}.kabar-share-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));justify-content:stretch}.kabar-share-btn{min-height:48px;justify-content:flex-start}.kabar-share-status{text-align:left}.kabar-comments{padding:22px 18px}.kabar-submit h2{font-size:28px}}

/* Directory alumni detail modal */
.person-card[role="button"]{cursor:pointer;outline:0}
.person-card[role="button"]:focus-visible{box-shadow:0 0 0 3px rgba(181,18,27,.22);border-color:var(--red)}
body.modal-open{overflow:hidden}
.alumni-modal{position:fixed;inset:0;z-index:120;display:none}
.alumni-modal.open{display:block}
.alumni-modal-backdrop{position:absolute;inset:0;background:rgba(20,17,15,.58);backdrop-filter:blur(10px)}
.alumni-modal-card{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(920px,calc(100% - 32px));max-height:min(760px,calc(100svh - 36px));overflow:auto;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow)}
.alumni-modal-close{position:absolute;right:14px;top:14px;width:40px;height:40px;border:0;border-radius:999px;background:var(--red);color:#fff;font-size:25px;line-height:1;z-index:2;cursor:pointer}
.alumni-modal-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1fr);gap:18px;align-items:stretch}
.alumni-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}
.alumni-memoriam-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px solid var(--line);border-radius:8px;background:#f7f3ef;padding:28px 16px;text-align:center;min-height:140px}
.alumni-memoriam-panel span{font-size:32px;line-height:1}
.alumni-memoriam-panel p{margin:0;font-size:13px;color:var(--muted);font-weight:800;line-height:1.6}
.alumni-photo-slot{margin:0;border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff;display:grid;grid-template-rows:auto min-content}
.alumni-photo-slot .photo-placeholder,.alumni-photo-slot img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block}
.alumni-photo-slot figcaption{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--muted);padding:9px 11px;border-top:1px solid var(--line)}
.photo-placeholder{display:grid!important;place-items:center;color:var(--muted);font-weight:900;background:linear-gradient(135deg,rgba(181,18,27,.06),rgba(255,250,240,.95));text-align:center;padding:16px}
.alumni-modal-info{border:1px solid var(--line);border-radius:13px;background:rgba(255,250,240,.76);padding:22px;display:flex;flex-direction:column;justify-content:center}
.alumni-modal-info.is-memoriam{background:linear-gradient(180deg,#fffdf9,#f8f0e5)}
.alumni-memoriam-kicker{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#8a6f55;font-weight:900;margin-top:8px}
.alumni-modal-info h2{font-family:var(--serif);font-size:clamp(42px,5vw,70px);line-height:.92;font-weight:500;margin:8px 0 0;color:var(--ink)}
.alumni-modal-nick{margin:10px 0 0;color:var(--muted);font-weight:900;font-size:18px}
.alumni-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.alumni-meta span,.alumni-verify{display:inline-flex;align-items:center;min-height:32px;border-radius:999px;padding:0 11px;background:#f2e4d1;color:#5f5147;font-family:var(--mono);font-size:10px;font-weight:900}
.alumni-meta span:first-child{background:var(--red);color:#fff}
.alumni-verify{background:#d7f9df!important;color:#087335!important}
.alumni-socials{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px;padding-top:18px;border-top:1px solid var(--line)}
.social-pill{width:36px;height:36px;min-width:36px;min-height:36px;padding:0!important;border-radius:999px!important;display:inline-flex!important;align-items:center;justify-content:center;line-height:1;text-decoration:none;flex:0 0 36px;transition:transform .18s ease,filter .18s ease}
.social-pill svg{width:15px;height:15px;display:block;flex:0 0 auto}
.social-pill:hover{transform:translateY(-1px);filter:brightness(.96)}
.alumni-socials .social-pill,.account-socials .social-pill{flex:0 0 36px}
.alumni-social{display:inline-flex;align-items:center;justify-content:center;min-height:38px;border-radius:999px;padding:0 12px;background:var(--ink);color:#fff;font-weight:900;font-size:12px;text-decoration:none}
.alumni-social:hover{background:var(--red);color:#fff}
.alumni-kelas-history{display:flex}
.alumni-kelas-pill{display:none!important;background:var(--red)!important;color:#fff!important}
@media(max-width:720px){
  .alumni-modal-card{left:50%;top:50%;transform:translate(-50%,-50%);width:calc(100% - 24px);max-height:90svh;border-radius:16px;padding:16px}
  .alumni-modal-grid{grid-template-columns:1fr}
  .alumni-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .alumni-modal-info{padding:18px}
  .alumni-modal-info h2{font-size:40px}
  .alumni-kelas-history{display:none!important}
  .alumni-kelas-pill{display:inline-flex!important}
}
@media(max-width:460px){
  .alumni-photo-grid{gap:8px}
  .alumni-photo-slot figcaption{padding:8px 9px;font-size:9px}
  .alumni-social{flex:1}
  .alumni-socials .social-pill{flex:0 0 36px}
}

/* Account photo upload */
.account-photos{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 18px}
.account-photo-slot{appearance:none;border:1px solid var(--line);background:#fff;border-radius:12px;padding:8px;cursor:pointer;text-align:left;color:var(--ink);position:relative;overflow:hidden;transition:border-color .18s ease,transform .18s ease,background .18s ease}
.account-photo-slot:hover{border-color:var(--red);background:#fffaf7;transform:translateY(-1px)}
.account-photo-wrap{position:relative}
.account-photo-delete{position:absolute;top:4px;right:4px;z-index:2;width:22px;height:22px;border-radius:999px;background:rgba(20,14,12,.65);color:#fff;border:0;font-size:14px;line-height:1;cursor:pointer;display:grid;place-items:center}
.account-photo-delete:hover{background:var(--red)}
.account-photo-slot:disabled{cursor:wait;opacity:.78;transform:none}
.account-photo-media{display:block;aspect-ratio:1;border-radius:10px;overflow:hidden;background:#f2eadf;margin-bottom:8px}
.account-photo-media img{width:100%;height:100%;display:block;object-fit:cover}
.account-photo-empty{width:100%;height:100%;display:grid;place-items:center;font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:900;color:var(--red)}
.account-photo-copy{display:flex;flex-direction:column;gap:2px;line-height:1.15}
.account-photo-copy span{font-weight:900;font-size:12px}
.account-photo-copy small{color:var(--muted);font-weight:800;font-size:10px}
.account-photo-slot.is-loading::after{content:"Mengunggah...";position:absolute;inset:0;display:grid;place-items:center;background:rgba(18,14,12,.72);color:#fff;font-weight:900;font-size:12px}
.photo-crop-modal{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:22px;background:rgba(18,14,12,.56);backdrop-filter:blur(12px)}
.photo-crop-modal.open{display:flex}
.photo-crop-card{width:min(560px,100%);background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 28px 90px rgba(18,14,12,.25);padding:24px}
.photo-crop-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:14px}
.photo-crop-head h2{font-family:var(--serif);font-weight:500;font-size:42px;line-height:.95;letter-spacing:0;margin:0}
.photo-crop-close{width:42px;height:42px;border:0;border-radius:999px;background:var(--red);color:#fff;font-size:24px;line-height:1;cursor:pointer;font-weight:700}
.photo-crop-frame{height:min(58vh,420px);min-height:260px;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#111}
.photo-crop-frame img{display:block;max-width:100%}
.photo-crop-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.photo-crop-actions .btn-sm{min-height:46px;border-radius:12px}
.photo-crop-actions #photo-crop-save{background:var(--red);color:#fff}
@media(max-width:680px){
  .account-photos{gap:8px}
  #page-profile .account-photos{grid-template-columns:repeat(2,minmax(0,116px));justify-content:space-between;gap:10px;margin:10px 0 12px}
  #page-profile .account-photo-slot{padding:6px;border-radius:10px}
  #page-profile .account-photo-media{height:88px;aspect-ratio:auto;border-radius:8px;margin-bottom:6px}
  #page-profile .account-photo-copy span{font-size:11px}
  #page-profile .account-photo-copy small{font-size:9.5px}
  #page-profile .account-photo-delete{top:2px;right:2px;width:20px;height:20px;font-size:13px}
  .photo-crop-card{padding:18px;border-radius:16px}
  .photo-crop-head h2{font-size:32px}
  .photo-crop-frame{height:360px;min-height:220px}
  .photo-crop-actions{grid-template-columns:1fr}
}

/* Kabar mobile-first layout */
@media(max-width:760px){
  body[data-page="kabar"]{background:#f7f2eb}
  body[data-page="kabar"] .wrap{width:min(100% - 28px,1120px)}
  body[data-page="kabar"] .page-hero{padding:20px 0 10px}
  body[data-page="kabar"] .page-hero:before{display:none}
  body[data-page="kabar"] .kabar-masthead{display:grid;grid-template-columns:1fr;gap:14px;border-radius:16px;padding:20px;background:#161310;box-shadow:0 16px 38px rgba(20,17,15,.16)}
  body[data-page="kabar"] .kabar-masthead .label{margin:0;width:max-content;font-size:10px;padding:7px 9px}
  body[data-page="kabar"] .kabar-masthead .title{font-size:42px;line-height:.94;margin:0}
  body[data-page="kabar"] .kabar-masthead .copy{font-size:15px;line-height:1.45;max-width:280px;color:rgba(255,255,255,.76)}
  body[data-page="kabar"] .kabar-topics{display:flex;gap:7px;overflow-x:auto;margin:10px -14px 0;padding:0 14px 4px;scrollbar-width:none}
  body[data-page="kabar"] .kabar-topics::-webkit-scrollbar{display:none}
  body[data-page="kabar"] .kabar-topics span{flex:0 0 auto;font-size:9px;padding:8px 10px;box-shadow:none}
  body[data-page="kabar"] .kabar-section{padding:14px 0 42px}
  body[data-page="kabar"] .kabar-board-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 10px}
  body[data-page="kabar"] .kabar-board-head h2{font-size:30px;line-height:1;margin:0}
  body[data-page="kabar"] .kabar-board-head p{font-size:12px;line-height:1.35;max-width:145px;text-align:right}
  body[data-page="kabar"] .kabar-layout{display:grid;gap:14px}
  body[data-page="kabar"] .kabar-index-head{margin:0 0 8px;font-size:9px}
  body[data-page="kabar"] .kabar-grid{display:grid;grid-template-columns:1fr;gap:8px;overflow:visible;padding:0}
  body[data-page="kabar"] .kabar-card{min-width:0;min-height:0;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;border-radius:14px;padding:13px 14px;box-shadow:0 8px 22px rgba(20,17,15,.05);scroll-snap-align:unset}
  body[data-page="kabar"] .kabar-card:hover,body[data-page="kabar"] .kabar-card.is-selected{transform:none;padding:13px 14px}
  body[data-page="kabar"] .kabar-card-meta{display:contents}
  body[data-page="kabar"] .kabar-card-meta span{grid-column:1;grid-row:1;font-size:9px}
  body[data-page="kabar"] .kabar-card-meta time{grid-column:2;grid-row:1;font-size:9px;align-self:start}
  body[data-page="kabar"] .kabar-card h3{grid-column:1/-1;font-size:18px;line-height:1.15;margin:0}
  body[data-page="kabar"] .kabar-card small{grid-column:1/-1;display:flex;padding:0;margin:2px 0 0;font-size:9px}
  body[data-page="kabar"] .kabar-card.is-selected{background:#17130f;color:white;border-color:#17130f}
  body[data-page="kabar"] .kabar-detail-card{border-radius:16px;box-shadow:0 14px 36px rgba(20,17,15,.07);overflow:hidden}
  body[data-page="kabar"] .kabar-detail-head{display:grid;grid-template-columns:1fr;gap:12px;padding:18px 16px;border-bottom:1px solid rgba(20,17,15,.08)}
  body[data-page="kabar"] .kabar-kicker{font-size:9px;gap:7px;line-height:1.2}
  body[data-page="kabar"] .kabar-kicker span{width:16px}
  body[data-page="kabar"] .kabar-detail-head h2{font-size:32px;line-height:1.02;margin:0}
  body[data-page="kabar"] .kabar-detail-head p{font-size:14px;line-height:1.45;margin-top:8px}
  body[data-page="kabar"] .kabar-detail-head time{justify-self:start;width:max-content;font-size:9px;padding:7px 9px}
  body[data-page="kabar"] .kabar-detail-shell{padding:16px}
  body[data-page="kabar"] .kabar-detail-body{gap:14px;max-width:none}
  body[data-page="kabar"] .kabar-detail-body p,body[data-page="kabar"] .kabar-detail-body p.is-lede{font-size:16px;line-height:1.68;font-weight:500;color:var(--ink)}
  body[data-page="kabar"] .kabar-candidates{grid-template-columns:1fr;gap:8px}
  body[data-page="kabar"] .kabar-candidate{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;border-radius:13px;padding:12px}
  body[data-page="kabar"] .kabar-candidate b{width:auto;min-width:36px;height:32px;padding:0 10px;font-size:11px}
  body[data-page="kabar"] .kabar-candidate span{font-size:17px;line-height:1.18}
  body[data-page="kabar"] .kabar-share{margin:0 16px 16px;border-radius:14px;padding:13px;display:grid;gap:12px}
  body[data-page="kabar"] .kabar-share-head b{font-size:14px}
  body[data-page="kabar"] .kabar-share-head span{font-size:12px;line-height:1.3}
  body[data-page="kabar"] .kabar-share-actions{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
  body[data-page="kabar"] .kabar-share-btn{min-height:58px;padding:8px 6px;display:grid;grid-template-columns:1fr;justify-items:center;gap:5px;border-radius:14px;text-align:center;font-size:11px}
  body[data-page="kabar"] .kabar-share-btn b{width:30px;height:30px}
  body[data-page="kabar"] .kabar-share-btn span{white-space:normal}
  body[data-page="kabar"] .kabar-share-status{text-align:left;font-size:11px}
  body[data-page="kabar"] .kabar-comments{padding:18px 16px 22px}
  body[data-page="kabar"] .kabar-comments-head b{font-size:28px}
  body[data-page="kabar"] .kabar-comments-head span{font-size:12px}
  body[data-page="kabar"] .kabar-comment-gate{grid-template-columns:1fr;gap:12px;border-radius:14px;padding:14px}
  body[data-page="kabar"] .kabar-comment-gate .btn{width:100%}
  body[data-page="kabar"] .kabar-comment-form{grid-template-columns:1fr;border-radius:14px}
  body[data-page="kabar"] .kabar-comment-form .btn{width:100%}
  body[data-page="kabar"] .kabar-comment{border-radius:13px}
  body[data-page="kabar"] .kabar-submit{grid-template-columns:1fr;margin-top:14px;border-radius:16px;padding:16px}
  body[data-page="kabar"] .kabar-submit h2{font-size:30px}
  body[data-page="kabar"] .kabar-submit p{font-size:14px;line-height:1.5}
  body[data-page="kabar"] .kabar-submit-card{border-radius:14px}
}

body[data-page="kabar"]:not(.kabar-article-mode) .kabar-reader{display:none}
body[data-page="kabar"].kabar-article-mode .kabar-hero,
body[data-page="kabar"].kabar-article-mode .kabar-board-head,
body[data-page="kabar"].kabar-article-mode .kabar-index,
body[data-page="kabar"].kabar-article-mode .kabar-submit{display:none}
body[data-page="kabar"].kabar-article-mode .kabar-layout{display:block}
body[data-page="kabar"].kabar-article-mode .kabar-reader{display:block}

@media(max-width:760px){
  body[data-page="kabar"]:not(.kabar-article-mode) .kabar-section{padding-top:12px}
  body[data-page="kabar"]:not(.kabar-article-mode) .kabar-board-head{display:flex}
  body[data-page="kabar"]:not(.kabar-article-mode) .kabar-grid{display:grid;grid-template-columns:1fr;gap:8px;overflow:visible;padding:0}
  body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card{min-width:0;width:100%;grid-template-columns:minmax(0,1fr) auto}
  body[data-page="kabar"].kabar-article-mode .page-hero{display:none}
  body[data-page="kabar"].kabar-article-mode .kabar-section{padding:10px 0 34px}
  body[data-page="kabar"].kabar-article-mode .kabar-detail-card{border-radius:0;border-left:0;border-right:0;margin:0 -14px;box-shadow:none}
  body[data-page="kabar"].kabar-article-mode .kabar-back{display:block;width:100%;padding:16px 18px;text-align:left;background:#fbf7f1;border-bottom:1px solid rgba(20,17,15,.08)}
  body[data-page="kabar"].kabar-article-mode .kabar-detail-head{padding:18px}
  body[data-page="kabar"].kabar-article-mode .kabar-detail-head h2{font-size:31px;line-height:1.04}
  body[data-page="kabar"].kabar-article-mode .kabar-share{margin:0 18px 18px}
}

/* Kabar hierarchy polish */
body[data-page="kabar"]:not(.kabar-article-mode) .kabar-grid{align-items:stretch}
body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-latest,
body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-featured{grid-column:1/-1;min-height:230px;background:linear-gradient(135deg,#fffaf4 0%,#f8eadc 100%);color:var(--ink);border-color:rgba(181,18,27,.22);box-shadow:0 20px 54px rgba(90,62,34,.12);padding:22px;position:relative;overflow:hidden}
body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-latest:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--red),rgba(181,18,27,.2));pointer-events:none}
body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-latest:after{content:"Terbaru";position:absolute;right:18px;bottom:16px;border:1px solid rgba(181,18,27,.18);border-radius:999px;padding:8px 11px;background:white;color:var(--red);font-family:var(--mono);font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 8px 22px rgba(90,62,34,.08)}
body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-latest .kabar-card-meta span,
body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-featured .kabar-card-meta span,
body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-latest .kabar-card-meta time,
body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-featured .kabar-card-meta time,
body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-latest small,
body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-featured small,
body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-latest small i,
body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-featured small i{color:var(--red)}
body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-latest h3,
body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-featured h3{font-family:var(--serif);font-size:clamp(32px,4vw,52px);line-height:1;font-weight:500;max-width:760px}
body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-latest p,
body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-featured p{display:block;color:var(--muted);font-size:16px;line-height:1.5;max-width:560px}
body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-latest small,
body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-featured small{padding-top:18px;margin-top:auto;width:max-content;max-width:calc(100% - 96px)}
.kabar-more-label{grid-column:1/-1;margin:8px 0 -2px;font-family:var(--mono);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:10px}
.kabar-more-label:after{content:"";height:1px;background:rgba(20,17,15,.12);flex:1}

@media(max-width:760px){
  body[data-page="kabar"] .kabar-hero .wrap{width:100%;padding:0 14px}
  body[data-page="kabar"] .kabar-masthead{border-radius:0 0 22px 22px;margin:0 -14px;padding:22px 18px 20px}
  body[data-page="kabar"] .kabar-masthead .title{font-size:38px;line-height:.95}
  body[data-page="kabar"] .kabar-masthead .copy{max-width:310px;font-size:14px}
  body[data-page="kabar"] .kabar-topics{margin:10px 0 0;padding:0 0 4px}
  body[data-page="kabar"]:not(.kabar-article-mode) .kabar-board-head{margin:2px 0 12px;align-items:center}
  body[data-page="kabar"]:not(.kabar-article-mode) .kabar-board-head h2{font-size:28px}
  body[data-page="kabar"]:not(.kabar-article-mode) .kabar-board-head p{font-size:11px;max-width:132px}
  body[data-page="kabar"]:not(.kabar-article-mode) .kabar-index-head{display:none}
  body[data-page="kabar"]:not(.kabar-article-mode) .kabar-grid{gap:10px}
  body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card{border-radius:16px;padding:14px 15px;background:rgba(255,255,255,.86);border-color:rgba(20,17,15,.09);box-shadow:0 10px 28px rgba(20,17,15,.06)}
  body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card h3{font-size:18px;line-height:1.17}
  body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card small i{border:1px solid rgba(181,18,27,.18);border-radius:999px;padding:6px 9px;background:#fff7f1}
  body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-latest,
  body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-featured{grid-column:1;min-height:278px;border-radius:22px;padding:20px;background:linear-gradient(135deg,#fffaf4 0%,#f8eadc 100%);box-shadow:0 18px 44px rgba(90,62,34,.13)}
  body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-latest:after{right:16px;bottom:16px;font-size:9px;padding:7px 10px}
  body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-latest h3,
  body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-featured h3{font-size:32px;line-height:1.02;margin-top:8px}
  body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-latest p,
  body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-featured p{display:block;grid-column:1/-1;color:var(--muted);font-size:14px;line-height:1.5;margin:0 0 4px}
  body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-latest small,
  body[data-page="kabar"]:not(.kabar-article-mode) .kabar-card.is-featured small{grid-column:1/-1;max-width:calc(100% - 92px);padding-top:8px}
  .kabar-more-label{margin:4px 0 -2px;font-size:9px}
  body[data-page="kabar"]:not(.kabar-article-mode) .kabar-submit{margin-top:18px;background:#fffdf9}
}

/* Kabar submit panel should support, not dominate */
body[data-page="kabar"] .kabar-submit{margin-top:18px;padding:18px 20px;grid-template-columns:minmax(0,1fr) minmax(260px,360px);align-items:center;border-radius:14px;box-shadow:0 10px 28px rgba(20,17,15,.045);background:rgba(255,253,249,.82)}
body[data-page="kabar"] .kabar-submit .label{font-size:10px;margin-bottom:6px}
body[data-page="kabar"] .kabar-submit h2{font-family:var(--sans);font-size:24px;line-height:1.1;font-weight:900;margin:0 0 8px;letter-spacing:0}
body[data-page="kabar"] .kabar-submit p{font-size:14px;line-height:1.48;max-width:720px;font-weight:800}
body[data-page="kabar"] .kabar-submit-card{padding:14px;gap:10px;border-radius:12px;background:white}
body[data-page="kabar"] .kabar-submit-card ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px;line-height:1.35;font-size:13px}
body[data-page="kabar"] .kabar-submit-card .btn{min-height:42px;padding:0 18px;border-radius:999px}

@media(max-width:760px){
  body[data-page="kabar"] .kabar-submit{display:grid;grid-template-columns:1fr!important;padding:14px;gap:12px;border-radius:16px;align-items:start}
  body[data-page="kabar"] .kabar-submit>div{min-width:0;width:100%}
  body[data-page="kabar"] .kabar-submit .label{display:block;width:max-content}
  body[data-page="kabar"] .kabar-submit h2{font-size:21px}
  body[data-page="kabar"] .kabar-submit p{font-size:13px;max-width:none;width:100%;overflow-wrap:normal;word-break:normal}
  body[data-page="kabar"] .kabar-submit-card{width:100%;min-width:0}
  body[data-page="kabar"] .kabar-submit-card ul{grid-template-columns:1fr;font-size:13px}
  body[data-page="kabar"] .kabar-submit-card .btn{width:100%;min-height:44px}
}
