*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 50% 30%,#0b3542,#061d2a 35%,#020d14 75%,#01060a);color:#e8e5dc;font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif}body:before{content:"";position:fixed;inset:-25%;background:repeating-radial-gradient(circle at 50% 38%,transparent 0 72px,rgba(83,174,170,.09) 73px 74px);animation:r 18s ease-in-out infinite;pointer-events:none}body:after{content:"";position:fixed;inset:0;background-image:radial-gradient(circle,rgba(235,208,148,.55) 0 1px,transparent 1.5px);background-size:97px 83px;opacity:.18;pointer-events:none}@keyframes r{50%{transform:scale(1.04);opacity:.9}}.page{position:relative;max-width:1180px;margin:auto;padding:65px 28px 100px}.hero{max-width:780px;margin-bottom:42px}.session-hero{text-align:center;margin:auto auto 38px}.eyebrow{letter-spacing:.35em;color:#d7b878;font-size:11px}.hero h1,.confirm-page h1,.admin-wide h1,.admin-page h1{font:400 clamp(40px,6vw,72px) Georgia,serif;color:#ead8b2;line-height:1.25}.lead{font:18px Georgia,serif;color:#b8d2cf;line-height:1.9}.intro,.muted{color:#9cb1b3;line-height:2}.sigil{width:120px;height:120px;border:1px solid #d7b87877;border-radius:50%;margin-bottom:22px;position:relative}.sigil:before,.sigil:after{content:"";position:absolute;inset:16px;border:1px solid #d7b87866;transform:rotate(45deg)}.sigil:after{inset:28px;border-radius:50%;transform:none}.session-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.session-card{position:relative;padding:28px 30px;min-height:190px;background:#071f2ccc;border:1px solid #69aba833;color:#fff;text-decoration:none}.session-card h2{font:400 26px Georgia,serif;color:#ead8b2}.session-card b{position:absolute;right:25px;bottom:22px;color:#d7b878}.layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:28px}.form-panel,.summary,.confirm-card,.admin-card{background:#071f2eed;border:1px solid #69aba844;box-shadow:0 30px 90px #0005}.form-panel{padding:34px 38px}.form-panel section{padding-bottom:26px;margin-bottom:26px;border-bottom:1px solid #9ab4b326}.section-title{display:flex;gap:13px;align-items:center;margin-bottom:14px}.section-title b{color:#d7b878;font-size:11px}.section-title span{font:18px Georgia,serif}.section-title small{color:#809496;font:10px sans-serif}input,textarea,select{width:100%;background:#000a0f66;border:1px solid #82a2a555;color:#eee;padding:13px 14px;border-radius:2px;font:inherit}input::placeholder,textarea::placeholder{color:#657c80}.date-row{display:grid;grid-template-columns:130px 1fr;gap:12px;align-items:center;margin-bottom:10px}.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.time-option,.choice{position:relative}.time-option input,.choice input{position:absolute;opacity:0}.time-option span,.choice span{display:block;border:1px solid #82a2a555;padding:12px;text-align:center;cursor:pointer}.time-option input:checked+span,.choice input:checked+span{border-color:#d7b878;background:#68928e2e;color:#f0dfbb}.time-option.disabled{opacity:.35}.time-option small{position:absolute;right:6px;top:4px;font-size:9px}.choices{display:flex;gap:10px;max-width:360px}.choice{flex:1}.conditional{display:none;margin-top:12px}.conditional.show{display:block}.main-button{width:100%;padding:16px;border:1px solid #d7b878aa;background:linear-gradient(90deg,#174c53,#0b303b);color:#f2dfb8;letter-spacing:.12em;cursor:pointer}.summary{padding:28px;position:sticky;top:28px}.summary-inner{border:1px solid #d7b8783b;padding:25px}.summary-title{font:19px Georgia,serif;color:#ead8b2}.summary-line{height:1px;background:#d7b87888;margin:20px 0}.summary p{line-height:2;color:#b4c2c0}.mini-ripple{width:115px;height:115px;margin:35px auto;border-radius:50%;border:1px solid #d7b87888;box-shadow:0 0 0 15px #d7b87814,0 0 0 30px #d7b8780a}.confirm-page,.admin-page{position:relative;max-width:700px;margin:auto;padding:80px 24px}.confirm-card{padding:30px;margin:30px 0}.confirm-card>div{padding:17px 0;border-bottom:1px solid #9ab4b326}.confirm-card strong{font-weight:400}.back{display:block;color:#9db4b2;margin:18px 0;text-decoration:none}.complete-page{text-align:center;max-width:700px;margin:auto;padding:100px 24px}.complete-page p{line-height:2;color:#a9bfbd}.admin-wide{position:relative;max-width:1200px;margin:auto;padding:40px 24px 80px}.admin-head{display:flex;justify-content:space-between;align-items:end}.admin-head a{color:#a7b9b7}.admin-card{padding:25px;margin:22px 0}.admin-form{display:grid;gap:12px}.admin-card table{width:100%;border-collapse:collapse;font-size:12px}.admin-card th,.admin-card td{border-bottom:1px solid #9ab4b326;padding:12px 8px;text-align:left;vertical-align:top}.admin-card th{color:#cbb98f}.success{padding:12px;color:#9ed4ce;background:#61b7b112;border:1px solid #61b7b166}@media(max-width:850px){.layout,.session-grid{grid-template-columns:1fr}.summary{position:static}.admin-card{overflow-x:auto}.admin-card table{min-width:800px}}@media(max-width:620px){.page{padding:40px 16px 70px}.form-panel{padding:25px 18px}.date-row{grid-template-columns:1fr}.hero h1{font-size:42px}}.admin-card h2,.admin-card h3{color:#ead8b2;font-weight:400}.field-line{padding:12px 0;border-bottom:1px solid #9ab4b326;color:#b8c9c7}.inline-form{display:inline;margin-left:12px}.inline-form button{background:transparent;border:1px solid #8aa19f55;color:#9db4b2;padding:4px 8px}.compact{margin-top:16px}

/* v3 management / stable-form improvements */
.admin-session-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;margin-top:14px}
.admin-session-card{display:block;text-decoration:none;color:inherit;background:#061b25;border:1px solid #69aba844;padding:20px;transition:.2s}
.admin-session-card:hover{border-color:#d7b878aa;transform:translateY(-2px)}
.admin-session-card h3{margin:7px 0;color:#ead8b2;font:400 24px Georgia,serif}
.admin-session-card .slug{font-size:11px;color:#7f9b9d;word-break:break-all}
.admin-session-card .edit-label{margin-top:14px;color:#d7b878;font-size:12px}
.edit-anchor{scroll-margin-top:20px}
.day-edit{border:1px solid #9ab4b326;padding:16px;margin:12px 0;background:#0004}
.day-head{display:flex;justify-content:space-between;align-items:center;gap:12px}
.day-head strong{font:400 18px Georgia,serif;color:#ead8b2}
.slot-list{display:grid;gap:8px;margin-top:10px}
.slot-row{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:12px;border:1px solid #9ab4b326;background:#0007}
.slot-row span{color:#b9c7c5}
.inline{display:inline}
.small-button{padding:6px 9px;background:transparent;border:1px solid #9ab4b255;color:#b9c7c5;cursor:pointer}
.url-row{display:grid;gap:8px;padding:14px 0;border-bottom:1px solid #9ab4b326}
.url-row code{display:block;overflow:auto;color:#d7b878;background:#0008;padding:10px}
.notice{padding:13px 15px;border:1px solid #d7b87855;background:#d7b8780b;color:#b9c7c5;line-height:1.8}
@media(max-width:620px){.day-head{align-items:flex-start;flex-direction:column}}
