/* Shared control language. Image arrows and scene/map hotspots retain their geometry. */
:root{--ui-gothic:"Yu Gothic",Meiryo,system-ui,sans-serif;--ui-ink:#29382f;--ui-paper:#fffaf2;--ui-border:#807463;--ui-accent:#385342;--ui-focus:#966c23;--ui-radius:8px;--ui-shadow:0 2px 5px #17201c12}
body button:where(:not(.map-marker):not(.map-hotspot):not(.spot-pin)),body :is(.postbox-dialog a,.postbox-dialog button,.resident-dialog a,.resident-dialog button,.resident-entry button,.postbox-section button,.spots-section a,.spots-section button,.cms-sources a,.member-detail-link,.topic-grid a){box-sizing:border-box;min-height:44px;padding:.7rem 1rem;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-paper);color:var(--ui-ink);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:600;line-height:1.5;letter-spacing:.02em;box-shadow:var(--ui-shadow);cursor:pointer;overflow-wrap:anywhere;max-width:100%;transition:background-color .15s,border-color .15s,box-shadow .15s}
body :is(.postbox-dialog form>button,.postbox-dialog a.postbox-email,.resident-entry button,.postbox-section button[data-post-entry]){background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-paper)}
body :is(.postbox-close,.resident-close){background:transparent;box-shadow:none;border-color:transparent;text-decoration:underline;text-underline-offset:.25em}
body :is(button[aria-pressed=true],button[aria-selected=true]){background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-paper)}
body :is(input:not([type=radio]):not([type=checkbox]):not([type=range]):not([type=hidden]),textarea,select){box-sizing:border-box;min-height:44px;min-width:0;max-width:100%;padding:.75rem;border:1px solid var(--ui-border);border-radius:var(--ui-radius);background:#fff;color:var(--ui-ink);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:1rem;font-weight:600;line-height:1.6;box-shadow:inset 0 1px 2px #17201c08;color-scheme:light}
body :is(input[readonly],textarea[readonly]){background:#f4eee2;border-style:dashed}
body :is(.postbox-notice,.resident-notice,.review-note,.cms-question,.cms-empty){box-sizing:border-box;padding:1rem;border:1px solid #c7bdaa;border-left:3px solid #788c6d;border-radius:var(--ui-radius);background:#f2eddf;color:var(--ui-ink);line-height:1.85;overflow-wrap:anywhere}
body :is(.postbox-preview,.cms-card,.member-card){border-radius:var(--ui-radius);border-color:#c7bdaa;box-shadow:var(--ui-shadow)}
body :is(.scene-link,.town-return,.member-header a,.member-footer a,.member-related a,.resident-guide a,.page-next a,.commons-section nav a){min-height:44px;text-underline-offset:.3em;transition:color .15s,border-color .15s}
body :is(button,a,input,textarea,select,summary):focus-visible{outline:3px solid var(--ui-focus);outline-offset:3px}
body :is(.scene,.commons-section,.b01-header,.site-header) :is(a,button,summary):focus-visible{outline-color:#f4d894}
body :is(button:disabled,[aria-disabled=true]){cursor:default;opacity:.55;box-shadow:none;filter:none}
@media(hover:hover){body button:not(:disabled):not(.map-marker):not(.map-hotspot):not(.spot-pin):hover,body :is(.postbox-dialog a,.resident-dialog a,.spots-section a,.cms-sources a,.member-detail-link,.topic-grid a):hover{border-color:var(--ui-accent);box-shadow:0 3px 9px #17201c25}body :is(input,textarea,select):not(:disabled):hover{border-color:var(--ui-accent)}}
/* Supplied bubbles remain transparent PNGs; only their live text changes. */
body .mahoroba-dialogue :is(.mahoroba-dialogue-main,.mahoroba-dialogue-sub),body .rack-bubble>span{font-family:var(--ui-gothic);font-weight:800;line-height:1.45;letter-spacing:.02em;color:#17201c;text-shadow:none}
body .mahoroba-dialogue-main{font-size:16px}body .mahoroba-dialogue-sub{font-size:12px}body .rack-bubble>span{font-size:clamp(11px,1.2vw,17px);padding:4px 9px;text-align:center}
@media(max-width:600px){body .mahoroba-dialogue-main{font-size:15px}body .mahoroba-dialogue-sub{font-size:11px}body .rack-bubble>span{font-size:11px;line-height:1.4;padding:3px 6px}body :is(.postbox-dialog,.resident-dialog) button{min-height:46px}}
@media(prefers-reduced-motion:reduce){body :is(button,a,input,textarea,select){transition:none!important;animation:none!important}}

/* Immersive controls use the scene's quiet, translucent surface. */
body #experience button{background:#17201c8f;color:#fffaf2;border-color:#f3ecd980;box-shadow:none;text-shadow:none;padding:10px 14px;font-weight:600}
body #experience #fullscreen{display:grid;place-items:center;padding:0;font-size:25px;line-height:1;width:44px;height:44px;border-radius:8px;top:24px;right:24px}
body #experience #enter{padding:10px 14px;text-align:left}
body #experience button[aria-pressed=true]{background:#385342cc;color:#fffaf2}
body #experience .tools{gap:12px;flex-wrap:wrap}
body #experience #help-panel button{background:transparent;color:#fffaf2}
body:has(#experience) .site-header{padding-right:92px}
body .policy-links{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:11px;line-height:1.6;letter-spacing:.02em}
body .policy-links a{display:inline-flex;align-items:center;min-height:44px;padding:6px 0;text-decoration:underline;text-underline-offset:.25em;overflow-wrap:anywhere}
body :is(.site-footer,.company-footer)>.policy-links{grid-column:1/-1;flex-basis:100%}
body .company-footer{flex-wrap:wrap}
body .company-contact p{max-width:780px;line-height:2;overflow-wrap:anywhere}
body .company-facts :is(dt,dd){overflow-wrap:anywhere}
@media(max-width:800px){body:has(#experience) .site-header{display:block;padding:20px}body .site-nav{margin-top:10px;max-width:100%;flex-wrap:nowrap;overflow-x:auto;gap:18px;padding-bottom:6px}body .site-nav a{flex:none;white-space:nowrap;min-height:36px}body #experience #fullscreen{top:16px;right:14px}body #experience .controls{align-items:flex-end}body #experience .tools{max-width:65%;gap:8px}body #experience .location{gap:10px}body #experience .tools button{padding:9px 10px}body #experience .tools button span{margin-left:4px}body #experience #help-panel{bottom:110px}}

body .policy-review{margin-top:48px;padding:24px;border:1px dashed #a69883;background:#f2eddf;border-radius:8px}body .policy-review h2{font-size:19px}body .policy-review li{margin:12px 0;line-height:1.9}body main#main>ul{line-height:2}
/* The fixed header must not intercept the fullscreen button beneath its empty area. */
body:has(#experience) .site-header{pointer-events:none}body:has(#experience) .site-header a{pointer-events:auto}
body .page-policy-footer{position:relative;padding:18px max(22px,5vw);background:#17201c;color:#eee8d9;border-top:1px solid #eee8d933}
@media(max-width:800px){body .site-nav{margin-top:20px}}
body:has(#experience) .site-brand{width:max-content;max-width:calc(100% - 60px)}

body .policy-review{margin-top:48px;padding:24px;border:1px dashed #a69883;background:#f2eddf;border-radius:8px}body .policy-review h2{font-size:19px}body .policy-review li{margin:12px 0;line-height:1.9}body main#main>ul{line-height:2}

body .real-estate-team{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;max-width:1120px;margin:40px auto}
body .real-estate-person{min-width:0;display:grid;grid-template-columns:minmax(0,1fr);gap:22px}
body .real-estate-person .people-portrait{margin:0;background:#e8e2d4}
body .real-estate-person .people-portrait img{display:block;width:100%;height:auto;max-height:480px;object-fit:contain}
body .real-estate-person .people-copy{padding:0;overflow-wrap:anywhere}
@media(max-width:760px){body .real-estate-team{grid-template-columns:minmax(0,1fr);gap:52px}body .real-estate-person .people-portrait img{max-height:390px}}

/* Confirmed local redlines: personal mail labels and a standalone public search action. */
body .profile-text dl :is(dt,dd){min-width:0;overflow-wrap:anywhere}
body .profile-text dl dt{white-space:nowrap}
body .property-search-action{display:flex;justify-content:center;margin:40px 0 16px}
body .property-search-action a{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:48px;max-width:100%;padding:12px 24px;border:1px solid #807463;border-radius:8px;background:#fffaf2;color:#29382f;font-size:14px;line-height:1.7;text-align:center;overflow-wrap:anywhere}
@media(max-width:410px){body .profile-text dl div{grid-template-columns:60px minmax(0,1fr)}body .profile-text dl dt{font-size:11px}}

/* One live-text face; existing size declarations remain authoritative. */
:root{--ui-mincho:"Yu Mincho","Hiragino Mincho ProN",serif}
body,body :where(button,input,textarea,select,option,optgroup,h1,h2,h3,h4,h5,h6,strong,b,th){font-family:var(--ui-mincho);font-weight:600;font-synthesis:none}
body :where(pre,code,kbd,samp){font-family:monospace;font-weight:400}
