.entrance-member-login,
.entrance-member-card {
	box-sizing: border-box;
	max-width: 860px;
	margin: 42px auto;
	padding: clamp(24px, 5vw, 46px);
	border: 5px solid #171717;
	background: linear-gradient(rgba(23,23,23,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(23,23,23,.045) 1px,transparent 1px),#fffdf4;
	background-size: 24px 24px;
	box-shadow: 12px 12px 0 #171717;
}

.entrance-member-login { min-height: 420px; display: grid; align-content: center; text-align: center; }
.entrance-member-login > span,
.entrance-member-card header small { font-family: ui-monospace,Consolas,monospace; font-weight: 900; letter-spacing: .14em; }
.entrance-member-login h2 { margin: 20px 0 8px; font-size: clamp(30px,6vw,56px); }
.entrance-member-login div,
.entrance-member-card footer { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.entrance-member-login a,
.entrance-member-card footer a { padding: 11px 17px; border: 3px solid #171717; background: #f6c900; box-shadow: 4px 4px 0 #171717; color: #171717; font-weight: 900; text-decoration: none; }

.entrance-member-card header { position: relative; margin: -46px -46px 30px; padding: 32px 46px 28px; background: #171717; color: white; }
.entrance-member-card header h2 { margin: 4px 0; color: #f6c900; font-size: clamp(42px,8vw,76px); line-height: 1; }
.entrance-member-card header p { margin: 8px 0 0; font-weight: 800; }
.entrance-member-card--regular header h2 { color: #8ee8a7; }
.entrance-member-card--premium header h2 { color: #ffd839; text-shadow: 3px 3px 0 #8a5c00; }
.entrance-member-card--lapsed header h2 { color: #c5c0b3; }
.entrance-member-card--banned header h2 { color: #ff4b3b; }
.entrance-member-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.entrance-member-grid dl { margin: 0; padding: 16px; border: 3px solid #171717; background: white; }
.entrance-member-grid dt { font-size: 12px; font-weight: 900; }
.entrance-member-grid dd { margin: 5px 0 0; font-size: clamp(18px,3vw,28px); font-weight: 1000; }
.entrance-member-progress,
.entrance-member-notice { margin: 22px 0; padding: 16px; border: 3px dashed #171717; background: #fff0a8; font-weight: 900; }
.entrance-member-notice { border-style: solid; background: #bdf1c8; }
.entrance-member-history { display: grid; gap: 7px; padding: 0; list-style: none; }
.entrance-member-history li { display: flex; gap: 16px; justify-content: space-between; padding: 10px 13px; background: rgba(23,23,23,.07); }
.entrance-member-history time { font-family: ui-monospace,Consolas,monospace; font-weight: 800; }

.member-section { padding-block: clamp(34px,6vw,76px); }
.entrance-member-intro { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr); max-width:1100px; margin:auto; border:5px solid #171717; background:#fffdf4; box-shadow:12px 12px 0 #171717; }
.entrance-member-intro__copy { padding:clamp(24px,5vw,52px); background:linear-gradient(rgba(23,23,23,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(23,23,23,.045) 1px,transparent 1px),#fffdf4; background-size:22px 22px; }
.entrance-member-intro__copy > span,.entrance-member-benefits > span,.entrance-premium-apply > span,.entrance-premium-pending > span,.entrance-premium-active > span { display:inline-block; padding:6px 10px; border:3px solid #171717; background:#f6c900; font-family:ui-monospace,Consolas,monospace; font-weight:1000; letter-spacing:.08em; transform:rotate(-1.5deg); }
.entrance-member-intro h2 { margin:22px 0 14px; font-size:clamp(34px,5vw,62px); line-height:1.02; }
.entrance-member-intro__status { padding:14px; border-left:7px solid #f6c900; background:white; line-height:1.7; }
.entrance-member-intro__actions { display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:24px; }
.entrance-member-intro__button { padding:14px 20px; border:4px solid #171717; background:#f6c900; box-shadow:6px 6px 0 #171717; color:#171717; font-size:18px; font-weight:1000; text-decoration:none; }
.entrance-member-intro__login { padding:13px 18px; border:4px solid #171717; background:#fffdf4; box-shadow:6px 6px 0 #171717; color:#171717; font-weight:1000; text-decoration:none; }
.entrance-member-intro__login:hover,.entrance-member-intro__login:focus-visible { transform:translate(-1px,-1px); box-shadow:8px 8px 0 #171717; }
.entrance-member-benefits { padding:clamp(24px,4vw,42px); background:#171717; color:white; }
.entrance-member-benefits > b { display:block; margin:22px 0 16px; color:#f6c900; font-size:clamp(22px,3vw,34px); }
.entrance-member-benefits ul { display:grid; gap:11px; margin:0 0 22px; padding:0; list-style:none; }
.entrance-member-benefits li { padding:12px 14px 12px 42px; border:2px solid #777; background:#292929; font-weight:900; }
.entrance-member-benefits li::before { content:"✓"; margin-left:-27px; margin-right:10px; color:#f6c900; }
.entrance-member-benefits small { color:#ccc; line-height:1.65; }

.entrance-premium-apply,.entrance-premium-pending,.entrance-premium-active { box-sizing:border-box; max-width:860px; margin:38px auto; padding:clamp(24px,5vw,44px); border:5px solid #171717; background:#fffdf4; box-shadow:12px 12px 0 #171717; }
.entrance-premium-apply h3,.entrance-premium-pending h3,.entrance-premium-active h3 { margin:20px 0 8px; font-size:clamp(28px,5vw,48px); line-height:1.08; }
.entrance-premium-pending { background:#fff0a8; }
.entrance-premium-active { background:#c8f0ce; }
.entrance-member-apply-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:17px; margin-top:28px; }
.entrance-member-apply-form label { display:grid; gap:7px; font-size:14px; font-weight:900; }
.entrance-member-apply-form em { color:#bd3124; font-size:11px; font-style:normal; }
.entrance-member-apply-form input,.entrance-member-apply-form select { box-sizing:border-box; width:100%; min-height:48px; padding:9px 11px; border:3px solid #171717; border-radius:0; background:white; font:inherit; }
.entrance-member-payment,.entrance-member-terms,.entrance-member-consent,.entrance-member-apply-form button { grid-column:1/-1; }
.entrance-member-terms { padding:18px; border:3px dashed #171717; background:#f0ede3; font-size:13px; line-height:1.7; }
.entrance-member-terms p:last-child { margin-bottom:0; }
.entrance-member-consent { display:flex!important; grid-template-columns:none!important; align-items:center; gap:10px!important; padding:14px; border:3px solid #171717; background:#fff0a8; }
.entrance-member-consent input { width:21px; min-height:21px; height:21px; }
.entrance-member-apply-form button { min-height:58px; border:4px solid #171717; background:#f6c900; box-shadow:6px 6px 0 #171717; font-size:18px; font-weight:1000; cursor:pointer; }
.entrance-member-form-error { padding:13px; border:3px solid #171717; background:#ffd5ce; font-weight:900; }
.entrance-member-profile { box-sizing:border-box; max-width:860px; margin:32px auto; border:4px solid #171717; background:#f0ede3; box-shadow:8px 8px 0 #171717; }
.entrance-member-profile summary { padding:18px 22px; background:#171717; color:white; font-size:18px; font-weight:1000; cursor:pointer; }
.entrance-member-profile form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; padding:24px; }
.entrance-member-profile label { display:grid; gap:6px; font-size:13px; font-weight:900; }
.entrance-member-profile input { box-sizing:border-box; width:100%; min-height:46px; padding:8px 10px; border:3px solid #171717; background:white; font:inherit; }
.entrance-member-profile button { grid-column:1/-1; min-height:50px; border:3px solid #171717; background:#f6c900; box-shadow:4px 4px 0 #171717; font-weight:1000; cursor:pointer; }
.entrance-member-intro__copy h2 span{display:block}
.s-card__admin{margin:16px 0;padding:12px;border:3px dashed #17130c;background:#ffd40055}.s-card__admin form{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}.s-card__admin button:last-of-type{background:#fff}
.entrance-reception{width:min(1100px,calc(100% - 28px));margin:36px auto 80px;display:grid;grid-template-columns:minmax(270px,.8fr) minmax(0,1.3fr);border:10px solid #2b1a10;background:#3b2415;box-shadow:0 18px 35px #0006,inset 0 0 0 3px #7a4a28}.entrance-reception__counter{display:grid;align-content:center;justify-items:center;padding:30px 20px;background:repeating-linear-gradient(0deg,#382116 0 24px,#492b1b 25px 48px);color:#fff;text-align:center}.entrance-reception__counter h1{padding:10px 16px;border:3px solid #160e09;background:#d9b681;color:#17130c;box-shadow:4px 5px 0 #160e09;font-size:clamp(26px,4vw,48px);transform:rotate(-2deg)}.entrance-reception__counter img{width:min(100%,330px);height:300px;object-fit:contain;filter:drop-shadow(0 10px 8px #0008)}.entrance-reception__counter p{font-weight:900}.entrance-reception__form{padding:clamp(24px,5vw,55px);background:linear-gradient(#00000008 1px,transparent 1px),linear-gradient(90deg,#00000008 1px,transparent 1px),#fffdf5;background-size:24px 24px}.entrance-reception__form>span{font:900 12px monospace;letter-spacing:.15em}.entrance-reception__form h2{font-size:clamp(30px,5vw,54px);margin:.25em 0}.entrance-reception__form form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.entrance-reception__form label{display:grid;gap:5px;font-weight:900}.entrance-reception__form input{padding:13px;border:3px solid #17130c;background:#fff;font:inherit}.entrance-reception__form button,.entrance-reception__button{grid-column:1/-1;padding:15px;border:4px solid #17130c;background:#ffd400;color:#17130c;box-shadow:5px 5px 0 #17130c;text-align:center;font-weight:1000}.entrance-reception__login{display:block;margin-top:18px;padding:13px;border:3px solid #3d7f83;color:#205f64;text-align:center;font-weight:900}.entrance-member-rules{grid-column:1/-1;padding:16px;border:3px solid #17130c;background:#fffaf0}.entrance-member-rules h3{margin:0 0 8px;font-size:22px}.entrance-member-rules ul{display:grid;gap:7px;padding-left:1.3em}.entrance-member-rules details{margin-top:12px;border-top:2px dashed #17130c;padding-top:10px}.entrance-member-rules summary{cursor:pointer;font-weight:1000}.entrance-member-rules ol{max-height:280px;overflow:auto;padding:12px 12px 12px 2.2em;background:#f1eee5}.entrance-member-rules li p{margin:.3em 0 .9em;line-height:1.65}.entrance-reception .entrance-member-consent{grid-column:1/-1;display:flex;grid-template-columns:none;align-items:flex-start;gap:8px}.entrance-reception .entrance-member-consent input{width:auto;margin-top:3px}.entrance-member-form-error{grid-column:1/-1;padding:12px;border:3px solid #a62218;background:#ffe1dc;color:#79160f;font-weight:900}@media(max-width:720px){.entrance-reception{grid-template-columns:1fr;border-width:6px}.entrance-reception__counter{grid-template-columns:100px 1fr;gap:10px;padding:14px}.entrance-reception__counter h1{grid-column:1/-1}.entrance-reception__counter img{height:120px}.entrance-reception__form form{grid-template-columns:1fr}}
.entrance-member-profile .entrance-member-notice,.entrance-member-profile .entrance-member-form-error { margin:20px 24px 0; }

@media (max-width: 700px) {
	.entrance-member-card,.entrance-member-login { margin-inline: 4px; padding: 22px 15px; box-shadow: 7px 7px 0 #171717; }
	.entrance-member-card header { margin: -22px -15px 24px; padding: 24px 18px; }
	.entrance-member-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.entrance-member-history li { display: grid; gap: 2px; }
	.entrance-member-intro { grid-template-columns:1fr; margin-inline:4px; box-shadow:7px 7px 0 #171717; }
	.entrance-member-intro__copy,.entrance-member-benefits { padding:23px 17px; }
	.entrance-premium-apply,.entrance-premium-pending,.entrance-premium-active { margin-inline:4px; padding:22px 15px; box-shadow:7px 7px 0 #171717; }
	.entrance-member-apply-form { grid-template-columns:1fr; }
	.entrance-member-apply-form > * { grid-column:1; }
	.entrance-member-profile { margin-inline:4px; box-shadow:6px 6px 0 #171717; }
	.entrance-member-profile form { grid-template-columns:1fr; padding:17px; }
	.entrance-member-profile button { grid-column:1; }
}
.entrance-premium-apply>summary{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:18px 20px;border:4px solid #171717;background:#f6c900;box-shadow:6px 6px 0 #171717;cursor:pointer;list-style:none}.entrance-premium-apply>summary::-webkit-details-marker{display:none}.entrance-premium-apply>summary strong{font-size:clamp(20px,3vw,28px)}.entrance-premium-apply>summary small{font-weight:900}.entrance-premium-apply>summary:after{content:"＋";font-size:28px;font-weight:1000}.entrance-premium-apply[open]>summary:after{content:"－"}.entrance-premium-apply__body{padding:clamp(18px,4vw,34px);border:4px solid #171717;border-top:0;background:#fffdf4}.entrance-member-progress{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:16px;border:3px solid #171717;background:#fffdf4}.entrance-member-progress>strong{grid-column:1/-1}.entrance-member-progress>span{padding:10px;background:#f6c900;text-align:center}.entrance-member-progress>em{font-style:normal;font-weight:1000;text-align:center}@media(max-width:720px){.entrance-premium-apply>summary{grid-template-columns:1fr auto}.entrance-premium-apply>summary span,.entrance-premium-apply>summary small{grid-column:1/-1}.entrance-member-progress{grid-template-columns:1fr}.entrance-member-progress>strong{grid-column:auto}}
.entrance-checkin-confirm{margin:0 0 22px;padding:22px;border:4px solid #171717;background:#fff3b6}.entrance-checkin-confirm form{display:flex;flex-wrap:wrap;gap:12px}.entrance-checkin-confirm button{padding:13px 18px;border:3px solid #171717;background:#f6c900;box-shadow:4px 4px 0 #171717;font-weight:1000;cursor:pointer}.entrance-checkin-confirm button+button{background:#fff}
.entrance-member-inline-rules{grid-column:1/-1;border:3px solid #171717;background:#fff}.entrance-member-inline-rules>summary{padding:14px;background:#eee;font-weight:1000;cursor:pointer}.entrance-member-inline-rules>.entrance-member-rules{border:0;max-height:360px;overflow:auto}

/* v6.6.4 manager-only direct visit */
.entrance-manager-visit{margin:22px 0;padding:16px;border:3px solid #171717;background:#fff3b6;text-align:center}
.entrance-manager-visit form{margin:0}
.entrance-manager-visit button{padding:13px 22px;border:3px solid #171717;background:#f6c900;box-shadow:4px 4px 0 #171717;font-weight:1000;cursor:pointer}
.entrance-manager-visit button:disabled{background:#ddd;color:#666;box-shadow:none;cursor:default}
.entrance-manager-visit small{display:block;margin-top:9px}
