/* Large 2026 refinement: calmer framing, real blackboard, member/payment UI. */
@font-face{
	font-family:"Entrance Chalk JP";
	src:url("../fonts/yomogi/Yomogi-Regular.ttf") format("truetype");
	font-display:swap;
	font-style:normal;
	font-weight:400;
}

/* v4.3 wider pages, deliberate Japanese wrapping, lighter mobile framing. */
:where(.build-section,.entrance-content-page,.single-build-page){width:min(94vw,1600px)!important;max-width:1600px!important;margin-inline:auto!important}
.calendar-section{
	width:100%!important;
	max-width:none!important;
	margin-top:100px!important;
	padding:0!important;
	border:0!important;
	background:transparent!important;
	box-shadow:none!important;
	transform:none!important;
	overflow:visible!important;
	content-visibility:visible!important;
	contain:none!important;
	contain-intrinsic-size:none!important;
}
.calendar-section::before{display:none!important}
.entrance-build-site{overflow:visible!important}
:where(.entrance-member-intro__copy h2,.entrance-member-intro__copy h3){word-break:keep-all;overflow-wrap:normal;line-break:strict}
.entrance-member-intro__copy h2{font-size:clamp(38px,4.2vw,70px)!important;line-height:1.16!important}
.entrance-member-intro__copy h2 .keep-together{white-space:nowrap}
.entrance-member-progress-inline{display:grid;gap:3px;margin-top:12px}.entrance-member-progress-inline>*{display:block}.entrance-member-progress-inline strong,.entrance-member-progress-inline span{white-space:nowrap}.entrance-member-progress-inline em{font-style:normal}
.blackboard-v2{width:100%!important;max-width:none!important;margin-inline:0!important}
/* Defer off-screen sections and their expensive paint work until scrolling near them. */
@supports(content-visibility:auto){.build-section:not(:first-of-type){content-visibility:auto;contain-intrinsic-size:auto 850px}}
@media(max-width:700px){
	body{background-color:#f3efe4}
	:where(.build-section,.entrance-content-page,.single-build-page){width:100%!important;max-width:none!important;padding-inline:10px!important;border:0!important;box-shadow:none!important}
	:where(.entrance-content-card,.entrance-member-intro,.build-panel,.build-chat-entry){border-left:0!important;border-right:0!important;box-shadow:none!important}
	.entrance-member-intro__copy h2{font-size:clamp(34px,10vw,48px)!important}
	.blackboard-v2{padding:14px 10px!important}
}
.entrance-reception__counter img{background:transparent!important;mix-blend-mode:multiply}.entrance-reception__staff{display:inline-block;white-space:nowrap}.entrance-reception__counter small{display:block}.entrance-reception__form{max-width:720px}.entrance-reception__form>p,.entrance-reception__form label{line-height:1.8}
.entrance-member-ranks{grid-column:1/-1;padding:18px;border:1px solid #222;background:#fff}.entrance-member-ranks ol{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:14px 0;padding:0;list-style:none}.entrance-member-ranks li{padding:12px;border:1px solid #aaa}.entrance-member-ranks b,.entrance-member-ranks span{display:block}.entrance-member-ranks span{margin-top:5px;font-size:12px;color:#555}
.entrance-member-payment{display:flex!important;gap:10px;border:0;padding:0}.entrance-member-payment legend{font-weight:900}.entrance-member-payment label{flex:1;display:flex!important;align-items:center;justify-content:center;gap:8px;padding:14px;border:2px solid #171717;background:#fff;cursor:pointer}.entrance-member-payment input{width:auto!important}.entrance-payment-dialog{position:fixed;inset:0;z-index:99999;width:min(680px,calc(100% - 24px));max-height:90vh;margin:auto;padding:0;border:0;background:transparent}.entrance-payment-dialog::backdrop{background:#000b}.entrance-payment-action{display:inline-block;padding:13px 18px;background:#ffd400;color:#111!important;font-weight:900}.entrance-bank-details{padding:15px;background:#fff;border:2px solid #222}
.weekend-calendar--classroom{position:relative;padding:clamp(20px,4vw,44px);border:14px solid #765137;border-radius:3px;background-color:#173d32;background-image:linear-gradient(90deg,#ffffff05 1px,transparent 1px),linear-gradient(#ffffff04 1px,transparent 1px),radial-gradient(ellipse at 30% 20%,#fff1,transparent 45%),radial-gradient(ellipse at 70% 80%,#0004,transparent 60%);background-size:37px 37px,31px 31px,100% 100%,100% 100%;box-shadow:inset 0 0 45px #0009,0 10px 20px #0004;color:#f7f2df;font-family:"Klee One","Yuji Syuku","Hiragino Mincho ProN",cursive}.weekend-calendar--classroom:after{content:"";position:absolute;left:5%;right:5%;bottom:-18px;height:12px;border-radius:2px;background:#8a6245;box-shadow:0 5px 6px #0005}.weekend-calendar__header{display:grid;grid-template-columns:1fr auto;gap:18px;border:0!important}.weekend-calendar__header h3,.weekend-calendar__header p,.classroom-now-status,.classroom-duty{color:#fff;text-shadow:1px 1px 0 #ffffff55,-1px -1px 0 #0008;letter-spacing:.05em}.classroom-now-status{display:block;margin-top:8px;font-size:clamp(18px,3vw,28px)}.weekend-calendar__weekends{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.weekend-day{display:grid!important;grid-template-columns:1fr!important;gap:5px!important;padding:9px!important;border:1px dashed #ffffff55!important;border-radius:0!important;background:transparent!important;color:#fff!important;box-shadow:none!important}.weekend-day__date strong{font-size:20px!important}.weekend-day__date:after{display:none!important}.weekend-day__detail b{color:#fff!important}.weekend-day.is-open .weekend-day__date strong{display:inline-block;border-bottom:4px solid #ffe35a}.weekend-day.is-closed{opacity:.75}.weekend-day.is-closed .weekend-day__date strong{color:#ff9a9a;text-decoration:line-through}.visit-plans{grid-column:1/-1;margin-top:6px;padding:8px;border:1px dashed #fff8;background:#0002}.visit-plans>strong{color:#ffe35a}.visit-plans ul{margin:6px 0;padding:0;list-style:none}.visit-plans li{display:flex;justify-content:space-between;gap:8px}.visit-plans form{display:grid;gap:5px}.visit-plans input{width:100%;box-sizing:border-box}.visit-plans button,.visit-plans a{padding:7px;border:1px solid #fff;background:#f7f2df;color:#173d32;font-weight:900}.visit-plans .is-cancel{background:transparent;color:#fff}.store-events,.weekday-expeditions{margin-top:24px;padding-top:15px;border-top:2px dashed #ffffff88}.store-events>div,.weekday-expeditions__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.store-events article,.expedition-card{display:grid;padding:10px!important;border:1px dashed #ffffff66!important;background:#0002!important;color:#fff!important;box-shadow:none!important}
.s-card__guide{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:16px 0;padding:15px;border:3px solid #aaa;background:#111;color:#fff}.s-card__guide>b,.s-card__guide small{grid-column:1/-1}.s-card__guide span{padding:7px;border-left:4px solid #b71c1c;background:#ffffff10}.s-card__face{position:relative!important;width:150px;height:220px;padding:0!important;overflow:hidden;border:6px solid #aaa!important;border-radius:10px!important;background:#111!important;color:#fff!important;box-shadow:inset 0 0 0 4px #4b1212,5px 6px 0 #17130c!important}.s-card__face i{display:block;height:170px;background-position:center;background-repeat:no-repeat;background-size:contain}.s-card__face span{display:block;padding:9px;background:#111}.s-card__face--tencho i{background-color:#ffd522;background-image:url('../images/tencho-chat-icon-final.png')}.s-card__face--web i{background-color:#8fd9df;background-image:url('../images/webtencho-chat-icon.png')}.s-card__face--mashiro i{background-color:#f6e9ca;background-image:url('../images/mashiron-papillon-awake-preview.png')}.s-card__face--korotan i{background:#ef8d84}.s-card__face--korotan i:after{content:"ころたん";display:grid;place-items:center;height:100%;font-weight:900}.s-card__opponent i{background:radial-gradient(circle at center,#ddd 0 8%,#111 9% 18%,transparent 19%),repeating-conic-gradient(from 0deg,#6d1111 0 10deg,#111 10deg 20deg)!important}.s-card__opponent i:after{content:"S";display:grid;place-items:center;height:100%;color:#eee;font:1000 86px Georgia;text-shadow:4px 4px 0 #300}
@media(max-width:700px){.build-section{border:0!important;box-shadow:none!important;padding-inline:12px!important}.entrance-reception{display:block!important}.entrance-reception__counter{padding:12px!important}.entrance-reception__counter img{max-width:150px!important}.entrance-reception__form{padding:18px 8px!important}.entrance-reception__form h2{font-size:clamp(27px,9vw,42px)!important}.entrance-reception__form p,.entrance-reception__form label{font-size:15px!important}.entrance-member-ranks ol{grid-template-columns:1fr}.entrance-member-payment{display:grid!important}.weekend-calendar--classroom{border-width:8px;padding:16px 12px}.weekend-calendar__header{grid-template-columns:1fr}.weekend-calendar__header>div:first-child{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:6px 14px}.weekend-calendar__header h3{grid-column:1/-1}.classroom-today,.classroom-duty b,.classroom-duty>span{writing-mode:vertical-rl;text-orientation:upright}.weekend-calendar__weekends{grid-template-columns:repeat(4,1fr)}.weekend-day{min-width:0}.weekend-day__detail span{display:none}.visit-plans{font-family:sans-serif}.store-events>div,.weekday-expeditions__list{grid-template-columns:1fr}.s-card__guide{grid-template-columns:1fr}.s-card__guide>b,.s-card__guide small{grid-column:auto}.s-card__face{width:125px;height:188px}.s-card__face i{height:143px}}

/* Blackboard legibility pass: real Japanese chalk lettering without sacrificing readability. */
.weekend-calendar--classroom,
.weekend-calendar--classroom button,
.weekend-calendar--classroom input{
	font-family:"Entrance Chalk JP","Yuji Syuku","Klee One",sans-serif!important;
}
.weekend-calendar--classroom{
	background-color:#123d32;
	background-image:
		radial-gradient(ellipse at 28% 14%,rgba(255,255,255,.07),transparent 38%),
		radial-gradient(ellipse at 72% 82%,rgba(0,0,0,.28),transparent 58%),
		repeating-linear-gradient(1deg,rgba(255,255,255,.018) 0 1px,transparent 1px 17px);
	color:#fffdf1;
}
.weekend-calendar--classroom :where(h3,h4,p,span,strong,b,small,time,blockquote,label){
	line-height:1.55;
	text-shadow:
		1px 0 rgba(255,255,255,.18),
		-1px 0 rgba(255,255,255,.12),
		0 1px rgba(255,255,255,.12),
		1px 2px 1px rgba(0,0,0,.75);
}
.weekend-calendar--classroom .weekend-calendar__header h3{
	margin:.15em 0;
	color:#fffef4;
	font-size:clamp(34px,5.5vw,62px);
	font-weight:400;
	letter-spacing:.08em;
}
.weekend-calendar--classroom .weekend-calendar__header small,
.weekend-calendar--classroom .weekend-calendar__note{
	color:#e7e1cc;
	font-size:clamp(13px,1.6vw,17px)!important;
	letter-spacing:.08em;
}
.weekend-calendar--classroom .classroom-today{
	color:#9ce8f0;
	font-size:clamp(20px,3vw,31px);
	font-weight:400;
}
.weekend-calendar--classroom .classroom-now-status{
	color:#fff4a8;
	font-size:clamp(22px,3vw,34px);
	font-weight:400;
}
.weekend-calendar--classroom .classroom-duty,
.weekend-calendar--classroom .weekend-calendar__next,
.weekend-calendar--classroom .weekend-day,
.weekend-calendar--classroom .store-events article,
.weekend-calendar--classroom .expedition-card,
.weekend-calendar--classroom .weekday-expeditions__empty{
	color:#fffdf1!important;
	font-size:clamp(16px,1.8vw,20px);
}
.weekend-calendar--classroom :where(.classroom-duty,.weekend-calendar__next,.weekend-day,.store-events article,.expedition-card){
	background:rgba(3,22,17,.28)!important;
	border-color:rgba(255,253,235,.72)!important;
}
.weekend-calendar--classroom :where(h4,.weekday-expeditions__heading h4,.store-events>h4){
	color:#fffef4;
	font-size:clamp(25px,3.5vw,40px);
	font-weight:400;
	letter-spacing:.07em;
}
.weekend-calendar--classroom .weekend-day__date{
	border:0!important;
	border-radius:0!important;
	color:#ffe77d;
}
.weekend-calendar--classroom .weekend-day__date strong{
	font-size:clamp(24px,3vw,34px)!important;
	font-weight:400;
}
.weekend-calendar--classroom .weekend-day__detail b,
.weekend-calendar--classroom .weekend-calendar__next strong,
.weekend-calendar--classroom .expedition-card time{
	color:#fff2a0!important;
	font-weight:400;
}
.weekend-calendar--classroom .weekend-day__detail span,
.weekend-calendar--classroom .expedition-card span,
.weekend-calendar--classroom .store-events span{
	font-size:.95em;
}

@media(max-width:700px){
	.weekend-calendar--classroom{
		padding:18px 14px 24px;
		border-width:8px;
	}
	.weekend-calendar--classroom .weekend-calendar__header{
		gap:12px;
	}
	.weekend-calendar--classroom .weekend-calendar__header>div:first-child{
		display:block;
	}
	.weekend-calendar--classroom .weekend-calendar__header h3{
		font-size:clamp(30px,10vw,43px);
		line-height:1.25;
	}
	.weekend-calendar--classroom .classroom-today,
	.weekend-calendar--classroom .classroom-duty b,
	.weekend-calendar--classroom .classroom-duty>span{
		writing-mode:horizontal-tb;
		text-orientation:mixed;
	}
	.weekend-calendar--classroom .classroom-today{
		font-size:22px;
	}
	.weekend-calendar--classroom .classroom-now-status{
		font-size:24px;
	}
	.weekend-calendar--classroom .classroom-duty{
		grid-template-columns:auto 1fr;
		gap:7px 10px;
		padding:14px 12px;
	}
	.weekend-calendar--classroom .classroom-duty b{
		grid-row:auto;
		font-size:18px;
	}
	.weekend-calendar--classroom .classroom-duty span{
		font-size:21px;
	}
	.weekend-calendar--classroom .weekend-calendar__weekends{
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:8px;
	}
	.weekend-calendar--classroom .weekend-day{
		padding:12px 9px!important;
	}
	.weekend-calendar--classroom .weekend-day__detail span{
		display:block;
	}
	.weekend-calendar--classroom .weekend-calendar__note{
		text-align:left;
	}
}

/* v6.6.3 — blackboard follows content scale/width */
.blackboard-v2{
 width:min(100%, 1180px)!important;
 max-width:1180px!important;
 margin-left:auto!important;
 margin-right:auto!important;
 box-sizing:border-box!important;
}
