[hidden]{display:none!important}.member-shortcut{position:fixed;right:20px;bottom:20px;z-index:12;border:1px solid #e4b975;background:#411629;color:#ffe0ae;border-radius:50px;padding:14px 22px;box-shadow:0 5px 25px #0008;font-size:15px;cursor:pointer}
.member-layer{position:fixed;inset:0;z-index:25;background:#100812e8;backdrop-filter:blur(10px);padding:24px;display:grid;place-items:center}.member-window{max-width:1120px;width:100%;max-height:calc(100dvh - 48px);overflow:auto;border:1px solid #b98262;border-radius:22px;background:linear-gradient(140deg,#46172b,#1c0d1d);color:#fff1da;box-shadow:0 20px 80px #0009}.member-header{padding:24px 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #93684755;gap:12px}.member-header h2{font:600 26px var(--serif);margin:0}.member-header p{color:#d6b4a4;font-size:14px;margin:8px 0 0}.member-header button{border:0;background:transparent;color:#e6c39a;font-size:32px;cursor:pointer}.member-content{padding:28px 30px}.mode-banner{padding:12px 16px;background:#75502455;border:1px solid #b08b54;border-radius:10px;font-size:14px;line-height:1.7;margin-bottom:20px}.account-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}.account-tabs button,.subtle-btn{border:1px solid #9c6572;background:#301025;color:#edcfb3;border-radius:9px;padding:10px 16px;cursor:pointer;font-size:14px}.account-tabs button.selected{background:#925244;border-color:#edc485;color:#fff}.account-form{display:grid;gap:18px;max-width:460px;margin:0 auto}.account-form label,.profile-form label,.verify-form label{display:grid;gap:8px;color:#dec3b4;font-size:14px}.member-window input,.member-window select,.member-window textarea{width:100%;border:1px solid #895268;background:#200e1d;color:#fff3dd;padding:12px;border-radius:9px;font:inherit;font-size:16px}.member-window input[type=checkbox]{width:auto}.check-label{display:flex!important;align-items:flex-start;gap:10px!important;line-height:1.6}.profile-form{display:grid;grid-template-columns:1fr 1fr;gap:20px}.wide{grid-column:1/-1}.profile-form textarea{min-height:105px;resize:vertical}.photo-list{display:flex;gap:14px;flex-wrap:wrap}.photo-slot{width:120px;position:relative;border:1px solid #ba8865;border-radius:14px;padding:5px;background:#341729}.photo-slot img{width:108px;height:125px;object-fit:cover;border-radius:10px}.photo-slot button{font-size:12px;padding:6px 8px;margin-top:4px}.photo-slot p{font-size:12px;color:#eac08c;margin:5px}.upload-label{border:1px dashed #b88b69;padding:18px;border-radius:12px}.verify-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.verify-card{padding:22px;background:#5e2b3d55;border:1px solid #9d6670;border-radius:16px}.verify-card h3{font:600 21px var(--serif);margin:0 0 12px}.verify-card p{font-size:14px;line-height:1.8;color:#e0c4b6}.badge{display:inline-block;padding:5px 10px;border-radius:50px;font-size:13px;background:#674334;color:#ffe2ad;margin:4px}.badge.pending{background:#553643;color:#e6c3b6}.verify-form{display:grid;gap:12px;margin-top:20px}.member-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.person-card{background:#48203699;border:1px solid #af7d71;border-radius:16px;overflow:hidden}.portrait{height:180px;display:grid;place-items:center;background:radial-gradient(circle at 65% 30%,#a16453,#30102a);font:600 44px var(--serif);color:#f1cc99}.portrait img{width:100%;height:100%;object-fit:cover}.person-body{padding:20px}.person-body h3{margin:0 0 10px;font:600 23px var(--serif)}.person-body p{color:#e1c3b3;font-size:14px;line-height:1.8}.person-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px}.empty-state{padding:35px;text-align:center;border:1px dashed #966065;border-radius:12px;color:#e5c3b7;line-height:1.9}.account-message{padding:12px 15px;background:#5d2434;color:#ffe0c3;border-radius:8px;line-height:1.7;margin-bottom:18px}.member-window h3{font-family:var(--serif)}.member-window .primary-button{font-size:15px}.filter-line{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}.filter-line label{font-size:14px;color:#ddbba8;display:grid;gap:7px}.detail-photo{max-width:220px;max-height:260px;border-radius:16px;object-fit:cover}.small-note{font-size:14px;color:#d2aa9d;line-height:1.8}.member-window button:focus-visible{outline:2px solid #ffda96;outline-offset:3px}.mobile-member-menu{display:none}
@media(max-width:800px){.member-layer{padding:10px}.member-window{max-height:calc(100dvh - 20px)}.member-header,.member-content{padding:20px}.verify-grid{grid-template-columns:1fr}.member-cards{grid-template-columns:1fr 1fr}.filter-line{grid-template-columns:1fr 1fr}.profile-form{grid-template-columns:1fr}.wide{grid-column:auto}}
@media(max-width:560px){.member-cards{grid-template-columns:1fr}.member-header h2{font-size:22px}.account-tabs{gap:6px}.account-tabs button{padding:9px 11px}.mobile-member-menu{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;background:#2c1022;padding:14px}.mobile-member-menu button{padding:10px 14px;border-radius:9px;background:#6e3342;color:#ffe2b1;border:1px solid #bb855c}.member-shortcut{right:12px;bottom:12px;padding:12px 16px}.member-window .primary-button{padding:12px 17px}}
.chat-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.chat-history{min-height:180px;max-height:400px;overflow:auto;padding:20px;background:linear-gradient(160deg,#2b0b20,#442032);border:1px solid #805466;border-radius:16px;margin:20px 0;display:flex;flex-direction:column;gap:14px}.chat-bubble{align-self:flex-start;max-width:85%;padding:14px 18px;background:#57313f;border:1px solid #b9807055;border-radius:16px 16px 16px 3px;overflow-wrap:anywhere}.chat-bubble.mine{align-self:flex-end;background:#764e3b;border-radius:16px 16px 3px 16px}.chat-bubble p{margin:0 0 8px;white-space:pre-wrap;line-height:1.7;font-size:16px}.chat-bubble small{color:#e7c1a7;font-size:12px}.chat-compose{display:grid;grid-template-columns:1fr auto;align-items:end;gap:15px}.chat-compose label{display:grid;gap:8px}.chat-compose textarea{resize:vertical;min-height:90px}.safety-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px;border:1px solid #9c6572;border-radius:12px;margin:12px 0;overflow-wrap:anywhere}.safety-row p{line-height:1.8;white-space:pre-wrap}.admin-item{padding:22px;background:#542337;border:1px solid #a67c70;border-radius:14px;margin:14px 0;overflow-wrap:anywhere}.admin-item p{white-space:pre-wrap;line-height:1.8}.account-form textarea{min-height:120px}.person-card .portrait{overflow:hidden}.person-actions .subtle-btn{padding:9px 12px}button:disabled{opacity:.5;cursor:wait}
@media(max-width:560px){.chat-compose{grid-template-columns:1fr}.chat-compose .primary-button{width:100%;justify-content:center}.chat-bubble{max-width:95%}.safety-row{align-items:flex-start;flex-wrap:wrap}.chat-history{padding:12px}.admin-item{padding:17px}}
.member-header{position:sticky;top:0;z-index:8;background:linear-gradient(110deg,#46172bf7,#271022f7);backdrop-filter:blur(12px)}.member-window textarea{font-size:16px}.concept-hotspot{touch-action:manipulation}.member-window input,.member-window select,.member-window textarea{min-width:0}.member-content{overflow-wrap:anywhere}.profile-form>label{min-width:0}
@media(max-width:560px){.hotspot-login{min-height:44px}.account-tabs{gap:8px}.account-tabs button{min-height:44px}.member-header button{min-width:44px;min-height:44px}.member-window{max-height:calc(100dvh - 20px)}.verify-card p{font-size:16px}.member-window .small-note{font-size:14px}.member-shortcut{bottom:max(12px,env(safe-area-inset-bottom))}}
/* Live interface text covers the old image-based service claims while retaining the artwork. */
.concept-lock .guide-nav-label{left:47.5%;top:3.4%;width:7%;height:4.7%;background:linear-gradient(95deg,#301724,#392433);font:500 1.12vw var(--serif);color:#e4d0c0;display:grid;place-items:center;z-index:6}
/* The two replacement cards use the same fine frame and warm glow as the locked artwork. */
.concept-lock .guide-card-cover{left:50.419%;top:61.424%;width:23.086%;height:19.13%;z-index:6}
.concept-lock .card-two{left:26.495%;top:61.424%;width:23.145%;height:19.13%}
.concept-lock .atelier-card{container-type:inline-size;color:#f5d7a0;border:1px solid #c4a18a;border-radius:1.05vw;background:radial-gradient(ellipse at 14% 20%,#8f625d80,transparent 65%),radial-gradient(ellipse at 95% 92%,#80404577,transparent 62%),linear-gradient(125deg,#55323f,#37212f 65%,#472c38);box-shadow:inset 0 1px 0 #fff0d42b,inset 0 -1.5vw 3vw #180e232e,0 .45vw 1.2vw #1b071b33;display:flex;align-items:center;gap:1vw;padding:1.5vw 1.25vw;text-align:left;overflow:hidden;isolation:isolate;transition:border-color .25s,box-shadow .25s}
.analysis-cover{position:absolute;inset:0}
.atelier-card::before{content:"";position:absolute;inset:1.22vw .95vw;border:1px solid #efd5b32b;border-radius:.8vw;background:linear-gradient(125deg,#f0b99d12,#edb39103 65%,#e8c2a90a);box-shadow:inset 0 1px 1.1vw #f0b39d08;z-index:-1;pointer-events:none}
.atelier-card::after{content:"";position:absolute;width:14vw;height:4.3vw;left:-2.2vw;bottom:-2.1vw;border-top:1px solid #cf766c45;border-radius:50%;transform:rotate(-17deg);z-index:-1;pointer-events:none}
.atelier-icon{display:grid;place-items:center;flex:0 0 5.6vw;height:6vw;color:#ebc48b;filter:drop-shadow(0 0 .7vw #edb57866)}
.atelier-icon svg{width:100%;height:100%;overflow:visible}
.atelier-copy{min-width:0;display:block;padding-bottom:.05vw}
.atelier-copy strong{display:block;color:#ffedca;font:600 1.5vw/1.5 var(--serif);letter-spacing:.07em;white-space:nowrap;text-shadow:0 1px .55vw #eac18640}
.atelier-copy small{display:block;color:#ead2c3;font:400 1.02vw/1.8 var(--serif);letter-spacing:.055em;margin-top:.35vw;white-space:nowrap}
.atelier-arrow{position:absolute;right:1.45vw;bottom:2.05vw;width:2.25vw;height:2.25vw;border:1px solid #d3ac8977;border-radius:50%;display:grid;place-items:center;color:#f2cfab;font:300 2.05vw/1 var(--serif);background:#d28f7021;box-shadow:inset 0 1px 4px #ffe1bc15;transition:background .25s}
.concept-lock .affinity-card:hover .atelier-card,.concept-lock .guide-card-cover:hover{border-color:#efd0a2;box-shadow:inset 0 1px 0 #ffe8c33b,0 0 1.5vw #e5ac6444}
.concept-lock .affinity-card:hover .atelier-arrow,.concept-lock .guide-card-cover:hover .atelier-arrow{background:#dba56a3b}
.concept-lock .affinity-card:focus-visible,.concept-lock .guide-card-cover:focus-visible{outline:2px solid #ffe0a3;outline-offset:3px}
.service-card .atelier-service-icon{width:76px;height:76px;border:0;background:transparent;box-shadow:none;color:#ebc48b;filter:drop-shadow(0 0 12px #e5ae6b55)}
.atelier-service-icon svg{width:76px;height:76px;display:block}
.service-card:has(.atelier-service-icon){border-color:#c6a18480;background:radial-gradient(ellipse at 15% 10%,#9e685233,transparent 65%),linear-gradient(145deg,#643a426e,#301626eb);box-shadow:inset 0 1px 0 #ffe9c514,0 18px 35px #13071377}
@media(prefers-reduced-motion:reduce){.concept-lock .atelier-card,.atelier-arrow{transition:none}}
.guide-trust-cover{position:absolute;z-index:5;left:62.1%;top:83.6%;width:16.7%;height:7.6%;display:flex;align-items:center;gap:1.3vw;padding:.4vw 1vw;background:linear-gradient(95deg,#3c1b24,#451d26);border-radius:.5vw}.guide-trust-cover>span:first-child{font-size:3vw;color:#e4c797}.guide-trust-cover strong,.guide-verification-cover strong{font:500 1.25vw var(--serif);display:block;color:#fae5c6}.guide-trust-cover small,.guide-verification-cover small{font:400 .9vw var(--serif);display:block;color:#e9cdbc;margin-top:.3vw}.guide-verification-cover{position:absolute;z-index:5;left:26.9%;top:84.1%;width:10.8%;height:6.6%;padding:.2vw .5vw;background:#391a22;border-radius:.4vw}
.guide-intro{padding:22px;border:1px solid #b28067;background:linear-gradient(130deg,#71374677,#411328);border-radius:16px;margin-bottom:24px}.guide-intro h3{font-size:26px;margin:8px 0 12px}.guide-intro>p:last-child{font-size:16px;line-height:1.8;color:#edd1c0}.guide-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:22px}.guide-panel{padding:22px;border:1px solid #9c6871;border-radius:16px;background:#3d1b2c}.guide-panel>h3{font-size:22px;color:#f5d2a1}.guide-panel progress{width:100%;height:10px;accent-color:#d8ab72;margin:10px 0 18px}.guide-check{display:flex;align-items:flex-start;gap:10px;padding:15px 0;border-bottom:1px solid #9e6a6c55}.guide-check>div{flex:1;min-width:0}.guide-check p{font-size:14px;line-height:1.8;color:#dcb9aa;margin:6px 0}.guide-check .subtle-btn{padding:8px;flex-shrink:0}.guide-check:last-of-type{margin-bottom:18px}.guide-person{padding:20px;border:1px solid #a5776d;border-radius:12px;margin-bottom:18px;background:#512537}.guide-person h3{margin:0 0 12px;font-size:22px}.guide-person ul{padding-left:20px;line-height:1.8;color:#e8c9b5;font-size:16px}.guide-person h4{color:#f3cc98;font-size:17px}.guide-opener{padding:15px;background:#2c1327;border-left:2px solid #d6a65f;margin:12px 0;border-radius:8px}.guide-opener p{font-size:16px;line-height:1.8;margin:0 0 12px}.opener-suggestions{margin:24px 0}.opener-suggestions button{display:block;margin:12px 0;text-align:left;line-height:1.7;max-width:100%}
@media(max-width:800px){.guide-grid{grid-template-columns:1fr}.guide-panel{padding:18px}.guide-intro h3{font-size:23px}.guide-check{flex-wrap:wrap}.guide-check>div{min-width:150px}}

/* A real image element keeps the locked artwork independent of oversized CSS variables. */
.concept-lock{background-image:none}
.concept-lock>.concept-artwork{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;max-width:none;object-fit:fill;pointer-events:none;user-select:none}

/* V0.6.2: matching dusk glass, restrained lighting and interaction feedback. */
.concept-lock .atelier-card{border-color:#c9b0a27d;background:linear-gradient(115deg,#4c2932eb,#32212bed 58%,#532f39e8),url('assets/garden.png') center 68%/cover;box-shadow:inset 0 1px 0 #fff0d415,inset 0 -1.8vw 3vw #190e2226,0 .35vw 1vw #18081622}
.atelier-card::before{border-color:#e8c7b32b;background:linear-gradient(120deg,#d8b1a61c,#e8b29c07 60%,#d7908921);box-shadow:inset 0 1px .8vw #ffe1c009}
.atelier-card::after{opacity:.3}
.atelier-copy strong{font-size:1.45vw;font-weight:500;letter-spacing:.07em;text-shadow:0 1px .4vw #d4ae8122}
.atelier-copy small{color:#dfc9c0;font-size:1.02vw;letter-spacing:.06em}
.atelier-icon{color:#e5bd83;flex-basis:5.8vw;filter:drop-shadow(0 0 .55vw #eab77540);transition:transform .35s ease,filter .35s ease}
.atelier-copy{transition:transform .35s ease}
.atelier-arrow{border-color:#d3ac8970;background:#8d514d36;transition:background .3s,box-shadow .3s,transform .3s}
.concept-lock .guide-nav-label{background:linear-gradient(110deg,#27131deb,#2e1b25ef);border-radius:3px;transition:color .25s,box-shadow .25s}
.concept-hotspot{--light-x:50%;--light-y:50%;border-radius:.95vw;transition:box-shadow .3s,background-color .3s;outline-offset:4px}
.concept-lock .hotspot-card{overflow:hidden}
.concept-lock .card-one{left:2.572%;top:61.424%;width:23.086%;height:19.13%}
.concept-lock .card-four{left:74.282%;top:61.424%;width:23.086%;height:19.13%}
.concept-lock .hotspot-match,.concept-lock .hotspot-login,.concept-lock .hotspot-how{border-radius:999px}
.concept-lock .hotspot-card:focus-visible,.concept-lock .hotspot-match:focus-visible,.concept-lock .hotspot-login:focus-visible,.concept-lock .hotspot-how:focus-visible{outline:2px solid #ffe0a3;box-shadow:0 0 20px #edb76f66}
.primary-button,.outline-button,.subtle-btn,.account-tabs button,.mobile-member-menu button,.member-shortcut,.text-button,.service-card,.person-actions button{position:relative;isolation:isolate;transition:transform .25s,box-shadow .3s,border-color .3s,background-color .3s;touch-action:manipulation}
.primary-button,.outline-button,.subtle-btn,.account-tabs button,.mobile-member-menu button,.member-shortcut{overflow:hidden}
.fx-wave{position:absolute;left:var(--wave-x);top:var(--wave-y);width:var(--wave-size);height:var(--wave-size);border-radius:50%;background:radial-gradient(circle,#ffe5b04d,#e4a47624 50%,transparent 70%);transform:translate(-50%,-50%) scale(.08);pointer-events:none;z-index:7;animation:moon-wave .7s ease-out forwards}
@keyframes moon-wave{to{transform:translate(-50%,-50%) scale(1);opacity:0}}
@keyframes moon-breathe{0%,100%{box-shadow:0 0 9px #e7b96b0a}50%{box-shadow:0 0 20px #e7b96b45,inset 0 0 12px #efc58b12}}
.concept-lock .hotspot-match{animation:moon-breathe 3.8s ease-in-out infinite}
@media(hover:hover) and (pointer:fine){
 .concept-lock .hotspot-card:hover{box-shadow:0 0 1.1vw #e0b48050,inset 0 0 1.2vw #ffe1ab14}
 .concept-lock .card-one:hover,.concept-lock .card-four:hover{background:radial-gradient(circle at var(--light-x) var(--light-y),#ffe7c018,transparent 70%)}
 .concept-lock .affinity-card:hover .atelier-card,.concept-lock .guide-card-cover:hover{border-color:#dfc0a78c;box-shadow:inset 0 1px 0 #ffe8c328,0 0 1.2vw #e0b48050}
 .concept-lock .hotspot-card:hover .atelier-icon{transform:translateY(-.25vw);filter:drop-shadow(0 .25vw .7vw #edbf8177)}
 .concept-lock .hotspot-card:hover .atelier-copy{transform:translateY(-.12vw)}
 .concept-lock .hotspot-card:hover .atelier-arrow{transform:translateX(.12vw);background:#c4886345;box-shadow:0 0 .5vw #e9bb7040}
 .concept-lock .hotspot-match:hover,.concept-lock .hotspot-login:hover,.concept-lock .hotspot-how:hover{box-shadow:0 0 24px #f1c38b80,inset 0 0 20px #efc28d26;background-color:#e8b8720f}
 .concept-lock .guide-nav-label:hover{color:#ffe2b0;box-shadow:inset 0 -2px 0 #d8a767,0 5px 20px #ddb97a20}
 .primary-button:hover,.outline-button:hover,.member-shortcut:hover{transform:translateY(-3px);box-shadow:0 8px 25px #d99e5b40,0 0 16px #e9bd7740}
 .subtle-btn:hover,.account-tabs button:hover,.mobile-member-menu button:hover{border-color:#d4ac81;transform:translateY(-2px);box-shadow:0 5px 16px #efba7028,inset 0 0 14px #edc0940e}
 .service-card:hover{transform:translateY(-6px);border-color:#d0ae8cb3;box-shadow:0 16px 32px #14061166,0 0 25px #dfb37530}
 .text-button:hover{transform:translateY(-2px);color:#ffe0a9;text-shadow:0 0 12px #e4b87288}
}
.primary-button:active,.outline-button:active,.subtle-btn:active,.service-card:active,.account-tabs button:active,.member-shortcut:active{transform:translateY(1px);box-shadow:inset 0 2px 12px #10051255,0 0 14px #e9bf7733}
.concept-lock .hotspot-card:active,.concept-lock .hotspot-match:active,.concept-lock .hotspot-login:active{box-shadow:inset 0 0 20px #ecc99833,0 0 16px #e4b78055}
button:disabled{transform:none!important;animation:none!important;box-shadow:none!important}
@media(prefers-reduced-motion:reduce){.concept-hotspot,.atelier-icon,.atelier-copy,.atelier-arrow,.primary-button,.outline-button,.subtle-btn,.account-tabs button,.member-shortcut,.text-button,.service-card{transition:none!important;animation:none!important}.fx-wave{display:none}.service-card:hover,.primary-button:hover,.subtle-btn:hover,.atelier-icon,.atelier-copy{transform:none!important}}

/* V0.6.3: header lighting aligns with the original artwork; the click targets stay fixed. */
.concept-lock .header-nav-effect{border-radius:.35vw;overflow:hidden;isolation:isolate;transition:box-shadow .3s,background-color .3s}
.header-nav-effect::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 80%,#f2c88730,transparent 72%);opacity:0;transform:translateY(3px);transition:opacity .3s,transform .3s;pointer-events:none}
.header-nav-effect::after{content:"";position:absolute;left:18%;right:18%;bottom:8%;height:1px;border-radius:99px;background:linear-gradient(90deg,transparent,#e9be7c,#fff0c5,#e9be7c,transparent);box-shadow:0 0 8px #e8b671aa;transform:translateY(3px) scaleX(.3);opacity:0;transition:opacity .3s,transform .3s;pointer-events:none}
.concept-lock .header-nav-effect:focus-visible{outline:1px solid #edc78c;box-shadow:0 0 18px #e5bd7540}
.concept-lock .header-nav-effect:focus-visible::before,.concept-lock .header-nav-effect:focus-visible::after{opacity:1;transform:translateY(0) scaleX(1)}
.concept-lock .header-nav-effect:active{box-shadow:inset 0 0 18px #e4b97b33,0 0 14px #e7bc7733}
.concept-lock .header-nav-effect:active::after{opacity:1;transform:translateY(0) scaleX(1)}
.concept-lock .header-login-effect{overflow:hidden;animation:header-halo 5s ease-in-out infinite;transition:box-shadow .3s,background-color .3s}
.header-login-effect::before{content:"";position:absolute;inset:2%;border-radius:999px;background:linear-gradient(115deg,transparent 25%,#ffe8be22 48%,transparent 72%);opacity:0;transform:translateX(-55%);transition:opacity .3s,transform .65s;pointer-events:none}
@keyframes header-halo{0%,100%{box-shadow:0 0 6px #eac1800a}50%{box-shadow:0 0 18px #ecc5853b}}
@media(hover:hover) and (pointer:fine){
 .concept-lock .header-nav-effect:hover{box-shadow:0 4px 20px #e4b77c26}
 .concept-lock .header-nav-effect:hover::before{opacity:1;transform:translateY(-2px)}
 .concept-lock .header-nav-effect:hover::after{opacity:1;transform:translateY(-1px) scaleX(1)}
 .concept-lock .header-login-effect:hover{animation:none;box-shadow:0 0 24px #edc78677,inset 0 0 14px #e8ba7833;background-color:#edc79112}
 .concept-lock .header-login-effect:hover::before{opacity:1;transform:translateX(55%)}
}
@media(prefers-reduced-motion:reduce){.concept-lock .header-nav-effect,.concept-lock .header-login-effect,.header-nav-effect::before,.header-nav-effect::after,.header-login-effect::before{animation:none!important;transition:none!important}.header-nav-effect::before,.header-nav-effect::after,.header-login-effect::before{transform:none!important}}

/* Responsibility notices inherit the same wine and gold visual language. */
.responsibility-section{padding-top:35px;padding-bottom:40px;border-top:1px solid #d6af7650;scroll-margin-top:25px}
.responsibility-section h2{font:500 28px/1.6 var(--serif);color:#f5d6a4;margin:0 0 14px}
.responsibility-summary{font-size:16px;line-height:1.9;color:#ddbeb0;max-width:950px}
.responsibility-details{border:1px solid #b38e6855;border-radius:13px;background:linear-gradient(125deg,#5c2a3b66,#241020c9);color:#f3dec6;overflow:hidden;margin:18px 0}
.responsibility-details summary{padding:17px 20px;cursor:pointer;font-size:16px;color:#f1d1a0;transition:background .25s;min-height:48px}
.responsibility-details summary:hover{background:#d6a15d18}.responsibility-details summary:focus-visible{outline:2px solid #edc78c;outline-offset:-3px}
.responsibility-copy{padding:0 22px 22px;line-height:1.9;font-size:16px;color:#e1c9be}.responsibility-copy section{border-top:1px solid #c5946740;padding-top:12px;margin-top:15px}
.responsibility-copy h3,.member-window .responsibility-copy h3{font:500 19px/1.7 var(--serif);color:#f0cd99;margin:0 0 8px}.responsibility-copy p{margin:0 0 12px;overflow-wrap:anywhere}
.meeting-notice{padding:18px 20px;background:#63354340;border:1px solid #bd93625e;border-radius:14px;margin-bottom:24px}.meeting-notice>strong{font:500 19px var(--serif);color:#f2cd98}.meeting-notice>p{font-size:15px;line-height:1.9;color:#e0c5b7}.meeting-notice details{margin-bottom:0}
.member-responsibility .responsibility-copy{font-size:15px}.footer-policy-link{color:#e9c48e;white-space:nowrap}.site-footer{flex-wrap:wrap}.footer-policy-link:hover{text-shadow:0 0 10px #e7b36c88}
@media(max-width:560px){.responsibility-section h2{font-size:23px}.responsibility-copy{padding:0 17px 17px}.responsibility-details summary{padding:15px 17px}.meeting-notice{padding:16px}.footer-policy-link{display:inline-block;margin:12px 0}}

/* V0.8 public release: no white fallback, accessible navigation and honest service labels. */
.guide-service-cover{position:absolute;z-index:5;left:42%;top:83.5%;width:14.5%;height:7.7%;padding:.4vw 1vw;background:linear-gradient(90deg,#3a1a23,#401d26);border-radius:.4vw;color:#f4dcc0}.guide-service-cover strong{display:block;font:500 1.25vw var(--serif)}.guide-service-cover small{display:block;font:400 .9vw var(--serif);margin-top:.3vw}
.responsive-nav{display:none}.member-window .primary-button:disabled{opacity:.55}.account-message{overflow-wrap:anywhere}.meeting-notice{scroll-margin-top:85px}
@media(max-width:900px){.responsive-nav{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:10px 12px;background:#2d1020;border-bottom:1px solid #ad82594d}.responsive-nav a,.responsive-nav button{display:flex;align-items:center;justify-content:center;min-height:44px;border:1px solid #ae82594d;border-radius:8px;padding:8px 12px;background:#492035;color:#f5d5ab;font:500 14px var(--serif)}.concept-lock .header-nav-effect,.concept-lock .hotspot-login{pointer-events:none;visibility:hidden}.member-layer{padding:0}.member-window{border-radius:0;max-height:100dvh;height:100dvh}.account-tabs{overflow:auto;flex-wrap:nowrap;padding-bottom:6px}.account-tabs button{flex-shrink:0}.guide-panel,.verify-card{padding:16px}#privacy-policy{padding-top:25px}.member-content{padding-bottom:max(24px,env(safe-area-inset-bottom))}}

.concept-lock>.hero-copy{position:absolute!important;visibility:visible!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);pointer-events:none;padding:0}
.concept-lock>.hero-visual{position:absolute;visibility:hidden;pointer-events:none}
@media(max-width:900px){.concept-lock{aspect-ratio:1672/800}.concept-lock>.concept-artwork{height:117.625%;top:-17.625%;bottom:auto}.concept-lock .hotspot-card,.concept-lock .card-two,.concept-lock .guide-card-cover,.concept-lock .card-one,.concept-lock .card-four{top:54.625%;height:22.5%}.concept-lock .hotspot-match{top:38.84%;height:10.59%}.concept-lock .hotspot-how{top:38.84%;height:9.41%}.guide-verification-cover{top:81.3%;height:7.76%}.guide-trust-cover{top:80.71%;height:8.94%}.guide-service-cover{top:80.59%;height:9.06%}}

/* Compact authentication dialog; member workspaces keep their wider layout. */
.member-window:has(#authForm){width:min(600px,100%);height:auto;max-height:calc(100dvh - 32px);border-radius:22px}
.member-window:has(#authForm) .member-header{padding:16px 24px}
.member-window:has(#authForm) .member-header h2{font-size:23px;line-height:1.4}
.member-window:has(#authForm) .member-header p{margin-top:4px;font-size:13px}
.member-window:has(#authForm) .member-content{padding:18px 24px 22px}
.member-window:has(#authForm) .mode-banner{padding:8px 12px;margin-bottom:12px;font-size:13px}
.member-window:has(#authForm) .account-tabs{justify-content:center;margin-bottom:16px;padding-bottom:0}
#authForm{width:100%;max-width:460px;min-width:0;gap:12px}
#authForm h3{margin:0 0 2px;text-align:center;font-size:21px;line-height:1.4}
#authForm input:not([type=checkbox]){min-width:0;min-height:44px;padding:10px 12px}
#authForm .primary-button{width:100%;min-height:46px;padding:11px 20px}
#authForm>.small-note{margin:0;text-align:center;font-size:13px}
@media(max-width:600px){.member-layer:has(#authForm){padding:12px}.member-window:has(#authForm){max-height:calc(100dvh - 24px);border-radius:16px}.member-window:has(#authForm) .member-header{padding:14px 18px}.member-window:has(#authForm) .member-content{padding:16px 18px 20px}.member-window:has(#authForm) .member-header h2{font-size:21px}}
@media(max-height:500px){.member-layer:has(#authForm){padding:8px}.member-window:has(#authForm){max-height:calc(100dvh - 16px)}}

.member-window button:disabled{cursor:not-allowed;transform:none;box-shadow:none}
.member-window:has(#policyForm){width:min(760px,100%);height:auto;max-height:calc(100dvh - 24px);border-radius:18px}

/* V0.8.6: consistent member workspace proportions, independent of the homepage. */
.member-layer:has(.member-page){padding:16px}
.member-window:has(.member-page){width:min(1000px,100%);height:auto;max-height:calc(100dvh - 32px);border-radius:20px;scrollbar-gutter:stable;scroll-padding-top:90px;overscroll-behavior:contain}
.member-window:has(.member-page) .member-header{padding:16px 24px;gap:12px}
.member-window:has(.member-page) .member-header h2{font-size:23px;line-height:1.35}
.member-window:has(.member-page) .member-header p{font-size:13px;margin:4px 0 0;line-height:1.5}
.member-window:has(.member-page) .member-header button{width:44px;height:44px;flex:0 0 44px;line-height:1}
.member-window:has(.member-page) .member-content{padding:18px 24px 24px}
.member-window:has(.member-page) .mode-banner{font-size:13px;padding:9px 12px;margin:0 0 14px}
.member-window:has(.member-page) .account-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:0 0 22px;padding:0;overflow:visible;white-space:normal}
.member-window:has(.member-page) .account-tabs button{padding:9px 8px;min-width:0;min-height:40px;font-size:13px;line-height:1.5;border-radius:9px}
.member-window:has(.member-page) .account-tabs button.selected{box-shadow:inset 0 1px 0 #ffe1ae33,0 3px 12px #e9b97519}
.member-page{width:100%;max-width:900px;margin:0 auto;min-width:0;font-size:15px;line-height:1.7}
.member-page>h3{font-size:22px;line-height:1.45;margin:0 0 12px;color:#f7d8ab}
.member-page>h3:not(:first-child){margin-top:24px}
.member-page>.small-note{margin:0 0 18px;line-height:1.8}
.member-page input:not([type=checkbox]),.member-page select{min-height:44px;padding:10px 12px;font-size:15px}
.member-page textarea{padding:12px;font-size:15px;line-height:1.8}
.member-page label{font-size:14px;line-height:1.6;gap:6px}
.member-page input:focus-visible,.member-page select:focus-visible,.member-page textarea:focus-visible{outline:2px solid #e9be7c;outline-offset:2px}
.member-page .profile-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 20px}
.member-page .wide{grid-column:1/-1}
.member-page .profile-form h3{font-size:19px;margin:10px 0 0}
.member-page .profile-form textarea{min-height:112px;max-height:280px}
.member-page .profile-form>.primary-button{width:min(100%,360px);justify-self:center;margin-top:6px}
.member-page .check-label input{flex:0 0 auto;margin-top:5px;accent-color:#d9a56c}
.member-page .upload-label{padding:14px;border-radius:12px;background:#b0775810}
.member-page .photo-list{gap:12px;margin:6px 0 12px}
.member-page .photo-slot{width:124px;padding:6px}
.member-page .photo-slot img{width:110px;height:126px}
.member-page .photo-slot button{min-height:36px;font-size:12px}
.member-page .primary-button,.member-page .subtle-btn{min-height:42px;font-size:14px;line-height:1.6;padding:10px 16px;max-width:100%}
.member-page .account-form{width:100%;max-width:560px;gap:14px;margin:18px auto}
.member-page .verify-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;align-items:start;margin-bottom:20px}
.member-page .verify-card{padding:18px;min-width:0}
.member-page .verify-card h3{font-size:20px;line-height:1.5;margin-bottom:10px}
.member-page .verify-card p{font-size:14px;line-height:1.8}
.member-page .verify-card .subtle-btn{width:100%;padding:10px 8px}
.member-page .verify-form{gap:10px;margin-top:16px}
.member-page .filter-line{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:16px;background:#6c354025;border:1px solid #ba8b6855;border-radius:13px;margin:16px 0}
.member-page .filter-line>.subtle-btn{grid-column:1/-1;justify-self:end}
.member-page .member-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.member-page .person-body{padding:16px;min-width:0}
.member-page .person-body h3{font-size:21px}
.member-page .person-actions{gap:8px;margin-top:14px}
.member-page .empty-state{padding:24px 18px;font-size:15px;margin:16px 0}
.member-page .guide-intro{padding:18px 20px;margin-bottom:18px}
.member-page .guide-intro h3{font-size:24px;margin:6px 0 10px;line-height:1.5}
.member-page .guide-intro>p:last-child{font-size:15px;margin-bottom:0}
.member-page .guide-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start}
.member-page .guide-panel{padding:18px;min-width:0}
.member-page .guide-panel>h3{font-size:21px;margin:0 0 12px}
.member-page .guide-check{gap:8px;padding:12px 0;flex-wrap:wrap}
.member-page .guide-check>div{flex:1 1 150px;min-width:0}
.member-page .guide-person{padding:16px;margin-bottom:14px}
.member-page .guide-person h3{font-size:20px}
.member-page .guide-person ul,.member-page .guide-opener p{font-size:15px}
.member-page .guide-opener{padding:12px}
.member-page[data-page=chat]{max-width:800px}
.member-page .chat-history{height:clamp(180px,35dvh,360px);min-height:180px;max-height:360px;padding:16px;margin:16px 0;overscroll-behavior:contain;scrollbar-gutter:stable}
.member-page .chat-bubble{max-width:min(88%,560px);padding:12px 15px}
.member-page .chat-bubble p{font-size:15px;line-height:1.8}
.member-page .chat-compose{grid-template-columns:minmax(0,1fr) auto;gap:12px}
.member-page .chat-compose textarea{min-height:88px;max-height:200px}
.member-page .meeting-notice{padding:14px 16px;margin-bottom:18px}
.member-page .meeting-notice>p{font-size:14px;margin:8px 0}
.member-page .safety-row,.member-page .admin-item{padding:16px;margin:12px 0;min-width:0}
.member-page .safety-row>div{min-width:0;flex:1}
.member-page .responsibility-copy{font-size:15px;line-height:1.9}
.member-page[data-page=privacy],.member-page[data-page=safety]{max-width:780px}
.member-page[data-page=report],.member-page[data-page=blockConfirm],.member-page[data-page=suspendConfirm]{max-width:640px}
.member-page[data-page=detail]{max-width:700px}
.member-page[data-page=detail]>.portrait{width:min(100%,300px);height:340px;border:1px solid #b78b69;border-radius:16px;margin:16px auto 22px}
@media(max-width:760px){
 .member-layer:has(.member-page){padding:10px}
 .member-window:has(.member-page){max-height:calc(100dvh - 20px);border-radius:16px}
 .member-window:has(.member-page) .member-header{padding:13px 18px}
 .member-window:has(.member-page) .member-header h2{font-size:21px}
 .member-window:has(.member-page) .member-content{padding:16px 18px 22px}
 .member-window:has(.member-page) .account-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:18px}
 .member-page .guide-grid{grid-template-columns:1fr}
 .member-page .verify-grid{grid-template-columns:1fr}
 .member-page .member-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
 .member-page .verify-card{padding:16px}
 .member-page .verify-card .subtle-btn{width:auto;min-width:120px}
}
@media(max-width:560px){
 .member-layer:has(.member-page){padding:6px}
 .member-window:has(.member-page){max-height:calc(100dvh - 12px);border-radius:14px;scroll-padding-top:80px}
 .member-window:has(.member-page) .member-header{padding:12px 14px}
 .member-window:has(.member-page) .member-header p{font-size:12px}
 .member-window:has(.member-page) .member-content{padding:14px 14px max(20px,env(safe-area-inset-bottom))}
 .member-window:has(.member-page) .account-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
 .member-window:has(.member-page) .account-tabs button{min-height:42px;font-size:13px;padding:9px 4px}
 .member-window:has(.member-page) .mode-banner{font-size:12px;padding:8px 10px}
 .member-page .profile-form,.member-page .member-cards{grid-template-columns:minmax(0,1fr)}
 .member-page .profile-form{gap:14px}
 .member-page .wide{grid-column:1/-1}
 .member-page input:not([type=checkbox]),.member-page select,.member-page textarea{font-size:16px}
 .member-page .filter-line{grid-template-columns:repeat(2,minmax(0,1fr));padding:12px;gap:12px 10px}
 .member-page .filter-line>.subtle-btn{justify-self:stretch}
 .member-page .primary-button,.member-page .subtle-btn{min-height:44px}
 .member-page .chat-compose{grid-template-columns:minmax(0,1fr)}
 .member-page .chat-compose>.primary-button{width:100%}
 .member-page .chat-history{height:clamp(180px,32dvh,300px);padding:12px}
 .member-page .safety-row{align-items:flex-start;flex-wrap:wrap;gap:10px}
 .member-page .guide-intro,.member-page .guide-panel{padding:15px}
 .member-page .guide-intro h3{font-size:22px}
 .member-page .guide-check>div{flex-basis:130px}
 .member-page .person-body .person-actions>.subtle-btn{flex:1 1 40%}
 .member-page .responsibility-details summary{padding:13px 14px;font-size:15px}
 .member-page[data-page=detail]>.portrait{height:300px}
}
@media(max-height:500px){.member-layer:has(.member-page){padding:6px}.member-window:has(.member-page){max-height:calc(100dvh - 12px)}.member-window:has(.member-page) .member-header{padding-top:8px;padding-bottom:8px}}
